# Patent

## Title
Apparatus and method for printing file using toolbar button

## Abstract

An apparatus and method for printing by using a toolbar button is provided. The apparatus includes a user interface for receiving printing options to be selected by using the toolbar button, and a controller for creating the toolbar button to allow a user to print the file based on a selected printing option and inserting the created toolbar button into a host application. Accordingly, the user can print the file by setting a desired printer and printing option by using the toolbar button without using an additional user interface.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application claims the benefit under 35 U.S.C. §119(a) of a Korean patent application No. 10-2005-0056936, filed on Jun. 29, 2005, in the Korean Intellectual Property Office, the entire disclosure of which is hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an apparatus and method for printing a file using a toolbar button. More particularly, the present invention relates to an apparatus and method for printing a file, by allowing a user to make a toolbar button for selecting a printer and printing options and printing the file by using the created toolbar button.
2. Description of the Related Art
FIG. 1 is a diagram illustrating a method of printing a file by using a conventional toolbar button in a host application.
Referring to FIG. 1, for user convenience, the host application comprises toolbar buttons used for directly selecting functions, which are frequently used, without searching a menu. A printing toolbar button 100 represents a toolbar button used for printing a file in MS-Word.
When the user wants to print a file, the user activates a host application related to the file. The host application forms an application form including toolbar buttons, such as the printing toolbar button 100, by loading resources set therein, such as menus, caption functions, icons, and toolbar buttons.
When the user wants to print the file, in step 110, the user selects the printing toolbar button 100 among the toolbar buttons. When the host application detects that the user has clicked the printing toolbar button 100 among the toolbar buttons, in step 120, the host application calls a default printer driver by using a Windows® Graphic Device Interface (GDI) command. In step 130, the called printer driver generates an emulation command for a printing task in a printer and transmits the generated emulation command to the printer.
Most of host applications provide a toolbar so that a user can quickly and conveniently select frequently used functions, for instance, new file creation, file open, file storage, and file printing functions. A printing toolbar button for printing a file is generally provided in such a toolbar. However, since only a default printer among printers that the host can use at that moment is simply set to the printing toolbar button, it is not possible for a user to print the file by selecting another printer through the printing toolbar button.
In addition, since a printing task is activated as soon as the printing toolbar button is clicked, the user cannot know in advance the printing options set to a printer for performing the printing task and can know such options only after printing the file. Thus, if the user wants to set a printing option to a printer and print a file by using the printer, the user cannot use a printing toolbar button even if the printing toolbar button exists in a host application, and can print the file only after he/she opens a user interface for setting a printing environment and sets the printing option to the printer.
Accordingly, there is a need for an improved apparatus and method for setting a printing option and for selecting a printer through a printing toolbar button.
SUMMARY OF THE INVENTION
An aspect of exemplary embodiments of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of exemplary embodiments of the present invention is to provide an apparatus and method for printing a file, using a toolbar button by allowing a user to make a toolbar button for selecting a printer and printing options and printing the file by using the created toolbar button without using an additional user interface.
According to an aspect of the present invention, an apparatus for printing a file by using a toolbar button is provided. The apparatus comprises a first user interface for receiving printing options to be selected by using the toolbar button, and a controller for creating the toolbar button to allow a user to print the file based on a selected printing option and inserting the created toolbar button into a host application.
The apparatus may further comprise a second user interface for receiving available printers to be selected by using the toolbar button, and the controller creates the toolbar button based on a printing option selected from among the printing options of a printer selected from among the available printers.
The first user interface may comprise a display box for displaying the available printers, at least one push button for adding a printer selected from among the available printers displayed in the display box in a display portion or deleting a selected printer from the display portion, and the display portion for displaying finally added printers.
The second user interface may comprise a display box for displaying the printing options, at least one push button for adding a printing option from among the printing options displayed in the display box in a display portion or deleting a selected printing option from the display portion, and the display portion for displaying the finally added printing options.
The controller may control the host application to store the selected and added/deleted printers and printing options in a file or registry.
The apparatus may further comprise a driver core for printing the file created in the host application.
If a desired printer and a desired printing option are selected from the inserted toolbar button, the controller may control the driver core to print the file using the selected printing option in the selected printer.
The first or second user interface and the controller may operate in a printer driver or a host application.
The controller may detect an application message when the host application operates and insert the created toolbar button into the host application if the detected message relates to a toolbar button.
The controller may activate the inserted toolbar button by using a drop down list or an icon list.
According to another aspect of the present invention, a method of printing a file by using a toolbar button is provided. The method comprises receiving available printers to be selected by using the toolbar button, receiving printing options to be selected by using the toolbar button, creating the toolbar button allowing a user to print the file based on a printing option selected from among the printing options of a printer selected from among the available printers, and inserting the created toolbar button into a host application.
The method may further comprise printing the file by using the inserted toolbar button.
In the receiving of the available printers, the available printers or the printing options may be displayed in a display box.
In the receiving of the available printers, a selected printer from among the available printers displayed in the display box or a selected printing option from among the printing options displayed in the display box may be added in a display portion using at least one push button, or a selected printer or a selected printing option may be deleted from the display portion using the at least one push button.
In the receiving of the available printers, the finally added printers or printing options may be displayed in the display portion.
The inserting may comprise detecting an application message when the host application operates, inserting the created toolbar button into the host application if the detected message relates to a toolbar button, and activating the inserted toolbar button.
In the activation, the inserted toolbar button may be activated by using a drop down list or an icon list.
The method may further comprise if a printer and a printing option to be used for printing the file are selected from the drop down list or the icon list, printing the file based on the selected option in the selected printer.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a diagram illustrating a method of printing a file by using a conventional toolbar button in a host application;
FIG. 2 is a block diagram illustrating an apparatus for printing a file by using a toolbar button according to an exemplary embodiment of the present invention;
FIG. 3 is a diagram illustrating addition and deletion of a printing function into and from printing functions to be selected by using a toolbar button through a user interface according to an exemplary embodiment of the present invention;
FIGS. 4A through 4C are diagrams illustrating a case where a toolbar button is inserted and activated by using a drop down list according to exemplary embodiments of the present invention;
FIG. 5 is a flowchart illustrating a method of printing a file by using a toolbar button according to an exemplary embodiment of the present invention; and
FIG. 6 is a detailed flowchart illustrating step 520 illustrated in FIG. 5 according to an exemplary embodiment of the present invention.



Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of the embodiments of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness. An apparatus and method for printing a file using a toolbar button according to exemplary embodiments of the present invention will now be described more fully with reference to the accompanying drawings.
FIG. 2 is a block diagram illustrating an apparatus for printing a file by using a toolbar button according to an exemplary embodiment of the present invention. Referring to FIG. 2, the apparatus comprises a first user interface 200, a second user interface 201, a controller 210, and a driver core 230.
Printers to be selected by using the toolbar button are received by using the first user interface 200. Printer names, manufacturers or user settings, and model names can be displayed on a printer selection screen of the first user interface 200.
Printing options to be selected by using the toolbar button are received by using the second user interface 201. The first user interface 200 and the second user interface 201 can be implemented with a single interface.
Both the first user interface 200 and the second user interface 201 can be included in the apparatus, or one of them can be selectively included in the apparatus.
FIG. 3 is a diagram illustrating a second user interface 201 according to an exemplary embodiment of the present invention. Referring to FIG. 3, the second user interface 201 comprises a display box 300, an add button 310, a delete button 320, and a display portion 330.
The display box 300 displays printing options provided by the apparatus.
The add button 310 is used to add a selected printing option from among the printing options displayed in the display box 300 in the display portion 330, and the delete button 320 is used to delete a selected printing option from the display portion 330.
The display portion 330 displays the finally added printing options. Any printing option added by using the add button 310 and displayed in the display portion 330 can also be deleted from the display portion 330 using the delete button 320.
The controller 210 creates the toolbar button for allowing a user to print a file based on a selected printing option of a selected printer and inserts the created toolbar button into a host application.
FIGS. 4A through 4C are diagrams illustrating a case where the toolbar button is inserted and activated by using a drop down list according to exemplary embodiments of the present invention.
Referring to FIGS. 4A through 4C, the controller 210 detects an application message when the host application operates, and if the detected message relates to a toolbar button, the controller 210 inserts the created toolbar button into the host application as illustrated in FIG. 5.
A method of inserting a toolbar button into an application as described above is called hooking. A general host application has a unique number, which is a process ID, for example, a handle. In addition, the host application uses a common Windows® message in an operation thereof. Thus, the controller 210 determines a toolbar message for inserting a toolbar button into the host application among Windows® messages created with a handle of the host application. If a toolbar message for the host application is detected, the controller 210 inserts a created toolbar button into an appropriate location by obtaining Windows® information.
The controller 210 activates the inserted toolbar button by using a drop down list or an icon list. For example, to activate the toolbar button inserted into the host application, a TB_GETSTATE message is used.
By selecting the toolbar button inserted into the host application, a drop down list is activated, and the user can print a file by selecting a desired printer and printing option from the drop down list. Referring to FIG. 4A, when the toolbar button is clicked, printer drivers installed in a relevant host are shown, and if the user selects a driver such as Samsung® ML-2500 which is supported, according to an exemplary embodiment of the present invention, printing options to be selected are shown, and a Booklet option from among the printing options is selected.
Referring to FIG. 4B, if the user selects another driver such as Samsung® CLP-550 which is supported, according to an exemplary embodiment of the present invention, printing options to be selected for the driver are shown, and the user selects an All Text black option.
Referring to FIG. 4C, drivers which are not supported, according to an exemplary embodiment of the present invention, which are installed in the host, are also shown, and one of them can be selected and used for printing the file.
The controller 210 controls the host application to store the selected and added/deleted printers and printing options in a file or registry.
The driver core 230 prints a file created by using the host application. The driver core 230 is installed in the selected printer driver and generates an emulation command for allowing an emulation to be performed in the selected printer according to the selected printing option. Here, the driver core 230 prints the file by reading the selected printing option from the drop down list of the toolbar button and setting “Devmode” used to determine an option in the printer driver to the selected printing option.
When a desired printer and a desired printing option are selected from the inserted toolbar button, the controller 210 controls the driver core 230 to print the file by using the selected printing option in the selected printer.
In an exemplary implementation, the first user interface 200 and the controller 210 operate in a printer driver or a host application.
FIG. 5 is a flowchart illustrating a method of printing a file by using a toolbar button according to an exemplary embodiment of the present invention. The method of printing a file by using a toolbar button will now be described by referring to FIG. 2.
Referring to FIGS. 2 and 5, in step 500, printers are received by using the first user interface 200. In step 505, printing options are received by using the second user interface 201. Here, desired printers and desired printing options are determined from the display box 300, and printers and printing options to be added in a drop down list of a toolbar button using push buttons such as the add button 310 and the delete button 320.
After the printers and printing options are received using the first and second user interfaces 200 and 201, in step 510, the controller 210 creates the toolbar button allowing a user to print a file based on a selected printing option in a selected printer.
When a host application operates, in step 520, the controller 210 inserts the created toolbar button into the host application. FIG. 6 is a detailed flowchart of step 520 illustrated in FIG. 5 according to an exemplary embodiment of the present invention.
Referring to FIG. 6, when the host application operates, in step 600, the controller 210 detects an application message. In step 610, the created toolbar button is inserted into the host application if the detected message relates to a toolbar button. In step 620, the controller 210 activates the inserted toolbar button. Here, the inserted toolbar button is activated by using a drop down list or an icon list.
In step 530, when the drop down list or icon list appears by clicking the inserted toolbar button, the user prints the file by selecting a desired printer and a desired printing option from the drop down list or icon list.
An exemplary embodiment of the present invention may be embodied in a general-purpose computer by running a program from a computer-readable medium, including but not limited to storage media such as magnetic storage media (ROMs, floppy disks, hard disks, and the like), optically readable media (CD-ROMs, DVDs, and the like).
As described above, according to exemplary embodiments of the present invention, by receiving printers and printing options to be selected by using a toolbar button and creating the toolbar button for allowing a user to print a file by using a selected printing option of a selected printer, the user can print the file by setting a desired printer and printing option using the toolbar button without using an additional user interface.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention as defined by the following claims and the equivalents.

## Claims

1. A general purpose computer comprising a non-transitory computer readable medium including instructions for printing a file by using a toolbar button whose selection causes an invocation of a printing function, the general purpose computer comprising:
a first user interface to receive information on a subset of printers selected by a user from among a set of available printers,
wherein the information on the subset of printers is listed via a graphical user interface (GUI) control activated by a selection of the toolbar button so as to allow the user to select a printer from among the subset of the printers for printing when the selection of the toolbar button is on-going;
a second user interface to receive, for the printer from among the subset of printers, information on a subset of printing options selected by the user from among a set of available options corresponding to the printer,
wherein the second user interface comprises: a display box to display information on the set of available options corresponding to the printer from among the subset of printers; a display portion to display the subset of printing options corresponding to the printer; and at least one push button to add a printing option from among the set of available options to the subset of printing options corresponding to the printer or to delete a printing option selected from the subset of printing options, wherein the display portion is configured for displaying the added printing option, and
wherein, when the printer is being selected by the user via the GUI control during the on-going selection of the toolbar button, the on-going selection of the printer causes listing the information on the subset of printing options together with the information on the subset of printers via the GUI control so as to allow the user to select at least one printing option from among the subset of printing options; and
a controller to create the toolbar button and to insert the created toolbar button into a host application,
wherein, when the user, through selecting the toolbar button, selects the printer from among the subset of printers via the GUI control and selects at least one printing option from among the subset of printing options corresponding to the selected printer via the GUI control, the controller causes performing the printing function by the selected printer based on the selected at least one printing option.

2. The general purpose computer of claim 1, wherein the first user interface comprises: a display box to display information on the set of available printers; a display portion to display the information on the subset of printers; and at least one push button to add a printer from among the set of the available printers to the subset of printers or to delete a printer selected from the subset of printers, wherein the display portion is configured for displaying the added printer.

3. The general purpose computer of claim 1, wherein the second user interface comprises:
a display box to display the information on the set of available options corresponding to the printer from among the subset of printers;
a display portion to display the printing options corresponding to the printer; and
at least one push button to add a printing option from among the set of available options to the subset of printing options corresponding to the printer or to delete a printing option selected from the subset of printing options;
wherein the display portion is configured for displaying the added printing option.

4. The general purpose computer of claim 3, wherein the controller controls the host application to store at least one of an added printer, a deleted printer and printing options in a file or registry.

5. The general purpose computer of claim 1, further comprising a driver core for printing the file created in the host application.

6. The general purpose computer of claim 5, wherein if the printer and the at least one printing option are selected from the inserted toolbar button, the controller controls the driver core to print the file by using the selected printer based on the selected at least one printing option.

7. The general purpose computer of claim 1, wherein at least one of the first user interface, the second user interface and the controller operate in a printer driver or a host application.

8. The general purpose computer of claim 1, wherein the controller detects an application message when the host application operates and inserts the created toolbar button into the host application if the detected message relates to the toolbar button.

9. The general purpose computer of claim 8, wherein the controller activates the inserted toolbar button by using a drop down list or an icon list.

10. A method of printing a file by using a toolbar button whose selection causes an invocation of a printing function, the method comprising:
receiving information on a subset of printers selected by a user from among a set of available printers,
wherein the information on the subset of printers is listed via a graphical user interface (GUI) control activated by a selection of the toolbar button so as to allow the user to select a printer from among the subset of the printers for printing when the selection of the toolbar button is on-going;
receiving information on a subset of printing options selected by the user from among a set of available options associated with the printer from among the subset of printers,
wherein said receiving information on the subset of printing options further comprises: performing at least one of adding a printing option to a display portion and deleting a printing option from the display portion, using at least one push button; and displaying the subset of printing options in the display portion, and
wherein, when the printer is being selected by the user via the GUI control during the on-going selection of the toolbar button, the on-going selection of the printer causes listing the information on the subset of printing options together with the information on the subset of printers via the GUI control so as to allow the user to select at least one printing option from among the subset of printing options;
creating the toolbar button;
inserting the toolbar button into a host application;
selecting the toolbar button; and
selecting a printer from among the subset of printers via the GUI control and selecting at least one printing option from among the subset of printing options corresponding to the selected printer via the GUI control to cause generating a command to perform a printing function using the selected printer based on the selected at least one printing option.

11. The method of claim 10, further comprising:
performing at least one of adding a printing option to a display portion and deleting a printing option from the display portion, using at least one push button; and
displaying the subset of printing options in the display portion.

12. The method of claim 10, wherein said receiving information on the subset of printers further comprises: performing at least one of adding a printer to a display portion and deleting a printer from the display portion, using at least one push button; and displaying the subset of printers in the display portion.

13. The method of claim 10, wherein the inserting of the created toolbar button comprises:
detecting an application message when the host application operates;
inserting the toolbar button into the host application if the detected message relates to the toolbar button; and
activating the inserted toolbar button.

14. The method of claim 13, wherein the activating comprises activating the inserted toolbar button by using a drop down list or an icon list.