Embodiments of the present invention relates to printing of selective contents of a document.
Today, printing applications in computing devices provide customizable print options to users. The customizable print option includes, but is not limited to, printing specific pages or specific sections of a document. Hence, the user can print selected pages of the document and can omit printing of the remaining pages of the document. The printing applications also provide an option of selecting specific section of the document and thereby printing only the selected section. However, when a large data model (or architecture diagram) needs to be printed on a standard size paper or a predefined size paper, for example an A4 size paper, then the application cuts the content as per a print area size or may print the contents on multiple pages. Hence, the user have to copy different contents from one document and paste them in another document, if the user insists on getting only relevant content of the document printed.
As a result, it becomes very difficult to print large diagrams (data models) on a common A4 size paper, or a similar size paper. In a scenario, the printer applications generally separate the content based on printable area if the contents of the document is large and exceeds the maximum printable size. However, as the printer application tends to separate the contents, the logical meaning is not preserved because the pages are not separated in a logical way. In another scenario, the printer application can also shrink the contents of the diagram to the printable area. Hence, in such scenario, the content may become small and unreadable for the user.
Similarly, content trimming options are also available in the applications for adjusting and arranging the contents of the documents. However, the content trimming option only removes blank lines. Thus, the content trimming options is useful when minor overflows are to be accommodated by shrinking the overall content or by removing blank lines. Presently, for selective printing the contents are manually arranged by the user by copying, pasting and editing the contents of the document on other documents. The manual process is inefficient and time consuming.
According to one embodiment of the present invention, a method of printing selective contents of a document is provided. The method includes selecting a plurality of sections in the document based on a plurality of inputs received to select the plurality of sections. The method then arranges the contents associated with the plurality of selected sections in a template. Further, the method prints the template including the contents associated with the plurality of selected selections in a single printing job.
According to another embodiment of the present invention, a computer system for printing selective contents of a document is provided. The system includes one or more processors. The processor includes program instructions to select a plurality of sections in the document based on a plurality of inputs received to select the plurality of sections. The processor then arranges the contents associated with the plurality of selected sections in a template. Further, the processor is adapted to print the template including the contents associated with the plurality of selected selections in a single printing job.
According to yet another embodiment of the present invention, a computer program product for printing selective contents of a document is provided. The computer program product comprises one or more computer-readable tangible storage devices and program instructions stored on at least one or more storage devices, the program instructions comprising program instruction to select a plurality of sections in the document based on a plurality of inputs received to select the plurality of sections, a program instruction to arrange the contents associated with the plurality of selected sections in a template and a program instruction to print the template including the contents associated with the plurality of selected selections in a single printing job.
For a better understanding of exemplary embodiments of the invention, together with other and further features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the claimed embodiments of the invention will be pointed out in the appended claims.
It will be readily understood that the components of the embodiments of the invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations in addition to the described exemplary embodiments. Thus, the following more detailed description of the embodiments of the invention, as represented in the figures, is not intended to limit the scope of the embodiments of the invention, as claimed, but is merely representative of exemplary embodiments of the invention.
Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” or the like in various places throughout this specification are not necessarily all referring to the same embodiment.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the various embodiments of the invention can be practiced without one or more of the specific details, or with other methods, components, materials, et cetera. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The illustrated embodiments of the invention will be best understood by reference to the figures. The following description is intended only by way of example and simply illustrates certain selected exemplary embodiments of the invention as claimed herein.
It should be noted that the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, apparatuses, methods and computer program products according to various embodiments of the invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Referring to
In an embodiment, the multiple selection option is provided to the user prior to printing the document. Thus, if the user selects the multiple selection option, then the user is allowed to select one or more different sections of the document. The contents of the selected sections, for example the section 102, 104 and 106 are combined to form a single document and thereafter the selections are sent for printing. In the environment 100, the contents of the section 102, the section 104 and the section 106 are selected and the contents are collectively sent for printing in a single printing job while eliminating the non-selected portions of the block diagram.
In an embodiment, the contents of the selected sections are printed in a predefined number of pages. In an embodiment, the predefined number of pages is set as default for every printing job. In another embodiment, the predefined number of pages is provided by the user in run time prior to printing the job. In an embodiment, the contents associated with the selected sections are automatically adjusted in the predefined number of pages.
In an embodiment, the contents associated with the selected sections are arranged in a template. In an embodiment, the template is a predefined template that is stored in a memory of a system. In another embodiment, the template is created by a user in run time. The arranging of contents associated with the selected sections in the template is explained in conjunction with
Referring to
In another embodiment, the contents of the selected sections are automatically arranged in the divisions of the template 202 based on a predefined criteria. An example of predefined criteria includes associating the selection number with the division number of the template. For example, the first selection 102 is associated with the first division 204 of the template and likewise the selection 104 with the second division 206 and the selection 106 with the third division 208. Hence, a block diagram depicted in the selection 102 is arranged in the division 204, a block diagram depicted in the selection 104 is arranged in the division 206 and a block diagram depicted in the selection 106 is arranged in the division 208. In an embodiment, the area of the divisions is adjusted automatically to accommodate the contents of the selected sections associated with the division.
In an embodiment, the template 202 with the contents of the selected sections 102, 104 and 106 can also be previewed (pint preview) before printing and the user can modify the size of the selected selection. For example, the user can zoom-in or zoom-out any division to enlarge or reduce the size of the contents associated with the division. In an embodiment, the zoom level of a section can be automatically determined based on size of the selection and the size of the corresponding division in the template.
Referring to
In an embodiment, the user is allowed to select multiple sections of the document if the user enables multiple selection option. The multiple selections are performed using the multiple print selection module 314 and the application logic 306. In an embodiment, the multiple selected sections can be captured in a saved template 316. In an embodiment, a template can be created by the user in run time and the created template can then be saved in a memory. The saved template can be re-used by the user for printing another job. In an embodiment, the document selected for printing can also be saved in the memory, for example in a save printed document module 318.
The selected sections can then be previewed by the user using the print preview module 316, and thereafter the document with the multiple selected sections can be sent for printing using print module 312. The print job is then pooled in the print queue 320 and thereafter the print job is sent to a printing device 322 for printing based on the predefined printing method/algorithm.
Referring to
The plurality of the selected sections are arranged to form a single document. The plurality of selected sections can then be previewed by the user. The method 400 also allows the user to modify the size of sections from the selected sections. For example, size of one of the sections can be increased by zooming in the contents and similarly contents of one of the sections can be reduced.
At step 406, contents of the selected sections can be arranged in a template, for example the template 202. The contents of the selected sections are then automatically arranged in different divisions of the template based on the predefined criteria. At step 408, the method 400 prints the template including the contents associated with the plurality of selected selections of the document in a single printing job. At step 410, the method 400 is terminated.
Referring to
At step 510, the method 500 checks whether the multiple selections is associated with a template. Hence, if the multiple sections is associated with the template then a step 512 is performed otherwise a step 518 is performed. At step 512, the method logically associates the multiple selected sections with multiple predefined divisions of the template. For example, the sections 102, 104, and 106 are associated with the divisions 204, 206 and 208 respectively.
Referring to
At step 518, the user can preview the multiple selected sections of the document. At step 520, the method checks if a size modification is required for any selected sections. For example, after previewing the template 202, the method checks if any input is received by the user to modify any of the divisions, for example the division 204, 206, and 208.
Referring to
At step 524, a predefined number of pages are identified to print the plurality of selected sections. In an embodiment, the number of pages is defined by the user. In another embodiment, the number of pages is automatically identified by the method based on the contents of the selected sections. At step 526, the method prints the contents associated with the plurality of selected selections of the document in a single printing job in the predefined number of pages. For example, the template 202 with the selected sections 102, 104 and 106 can be printed using a single printing job in a single page. At step 528, the method 500 is terminated.
Various embodiments of the present invention described above may provide at least, but are not limited to, the following advantages. The present invention provides a method of printing selective contents of a document. The method allows the user to select plurality of sections in a document and the plurality of sections can then be printed using a single printing job.
The method also captures and arranges the contents of the plurality of selected sections in different divisions of a template. This allows the user to print the selected sections in predefined format. The template can also be created at run time while printing. The template can also be stored in a memory so that the template can be reused for other printing jobs. Further, the method allows the user to modify the size of contents of different sections independently. The contents of the selected sections are also adjusted automatically in different divisions of the template.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, et cetera) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied therewith.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, et cetera, or any suitable combination of the foregoing.
Computer program code for carrying out operations for various aspects may be written in any combination of one or more programming languages, including an object oriented programming language such as Java™, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on a single computer (device), partly on a single computer, as a stand-alone software package, partly on single computer and partly on a remote computer or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to another computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made for example through the Internet using an Internet Service Provider.
Aspects are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to example embodiments. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
This disclosure has been presented for purposes of illustration and description but is not intended to be exhaustive or limiting. Many modifications and variations will be apparent to those of ordinary skill in the art. The example embodiments were chosen and described in order to explain principles and practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Although illustrated example embodiments have been described herein with reference to the accompanying drawings, it is to be understood that embodiments are not limited to those precise example embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the disclosure.