1. Field of the Invention
The present invention relates to processing for setting destination information for use in facsimile transmission to print setting information associated with print data by using a printer driver.
2. Description of the Related Art
When a printer driver is installed in an operating system (hereinafter referred to as “OS”), the OS implements a print function by generating an object called a “print queue” and associating the object with a device. A user changes print queue settings and selects a desired print queue from an application to thereby perform printing. The name of the print queue (hereinafter referred to as “print queue name”) used is often, for example, the name of a printer driver or the model name of a printer.
A facsimile (hereinafter referred to as “FAX”) system is widely available in offices. An electronic document generated by a personal computer (PC) is printed by FAX printing using a FAX printer driver, so that the FAX transmission is performed from a device. In the system, when the user provides a FAX print instruction, the UI (user interface) is displayed in a pop-up format by a FAX printer driver and the transmission destination is set at the timing for preventing erroneous transmission. As a system for inputting information upon printing, there is a printer driver that performs UI display on a PC and then executes printing using a value input by a user operation (see Japanese Patent Laid-Open No. 2001-318779).
In the conventional technique, the transmission destination needs to be input on the UI screen displayed in a pop-up format each time the user performs FAX printing, resulting in a considerable time and labor.
The present invention enables a FAX transmission without performing a destination setting operation each time printing is designated.
According to an aspect of the present invention, an information processing apparatus for processing and outputting print setting information and print data is provided that includes a setting unit configured to acquire destination information for use in facsimile transmission and to set a name including the destination information to a print queue which has been generated; a specifying unit configured to specify the print queue upon printing; and an output unit configured to acquire the destination information included in the name of the print queue designated by the specifying unit, set the destination information to the print setting information, and output the print setting information together with the print data.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, a description will be given of an information processing apparatus and an image forming apparatus according to embodiments of the present invention with reference to the attached drawings.
A CPU (Central Processing Unit) 101 reads and executes a program stored in a ROM (Read Only Memory) 1021 or a RAM (Random Access Memory) 1022 of a main storage device 102 or a program stored in an auxiliary storage device 105 to control the entire apparatus. The RAM 1022 may also be used as a work area for the CPU 101 when the CPU 101 executes various types of processing. The auxiliary storage device 105 stores programs such as an application 1051, a printer driver 1052, an OS 1053, and the like. The printer driver 1052 can provide a FAX transmission instruction to a device having a FAX transmission function. An input device such as a keyboard 1031 or a pointing device 1032 represented by a mouse, a touch panel, or the like is a device which is used by a user to provide various types of instructions to a computer via an input I/F (interface) unit 103. An output I/F unit 104 is an interface unit configured to output data to an external device and outputs data to an output device such as a monitor 1041 or a printer 1042. The output I/F unit 104 is not limited to a local I/O which is directly connected to the printer 1042 but may also be connected to an external device via a network 1061 which is connected by a communication I/F unit 106. A common data system bus 107 exchanges data between I/F units or between modules.
The print processing is executed by sequentially performing three processes, namely, selection of a printer, creation of print setting information, and conversion of rendering data. First, the selection processing for selecting the printer 1042 on which the data is to be printed is performed. When viewed from the user, selection of the printer 1042 means the same as selection of the printer driver 1052 corresponding to the printer 1042 which executes printing. A print queue is used for selecting the printer driver 1052.
Next, the processing for creating print setting information is executed. In the print setting, the application 1051 firstly secures a memory area for storing print setting on the RAM 1022. Then, the application 1051 calls a configuration module 308 of the printer driver 1052 and then creates print setting data for storage. The GDI print application 301 uses a binary DEVMODE structure 303 as print setting data. The XPS print application 302 uses a print ticket 304 described in a markup language XML. The DEVMODE structure 303 has a standard region defined by the OS and an extended region uniquely defined by the printer driver.
The print ticket 304 has print setting data described in XML format shown in
The printer driver 1052 changes the printer 1042-dependent setting data of the DEVMODE structure 303 or the print ticket 304 in accordance with the settings of the user interface. More specifically, the print setting data refers to data required for printing such as the setting of the output sheet size to “A4 size”, the change of the orientation of printing to “landscape”, transmission of a page called as a “cover sheet” on which information about an originator upon FAX transmission is printed, and the like. In the print ticket 304, the print setting data is described in XML format, and thus, the XPS print application 302 may readily rewrites all set values by directly changing them. The settings may also be changed by using the user interface of the printer extension 310. The print setting data is created each time the document print processing is performed. When data such as an environment setting for each option device of the printer 1042 or for each user is desired to be held, such data is stored in a registry database 305 of the OS via the user interface. When the registry database 305 cannot be used, setting information is stored as application data 320 via the user interface. The print manager 318 of the OS stores the default value of a print setting in the registry database 305. The registry database 305 and the application data 320 are stored in the auxiliary storage device 105.
Finally, rendering data conversion is executed. When the print settings are confirmed, the user causes the application 1051 to execute print processing. When printing is performed from the GDI print application 301, rendering data is sent to the GDI to XPS conversion module 307 which is in the form of a printer driver to create an XPS spool file 306. At this time, the GDI to XPS conversion module 307 calls the configuration module 308, and then causes the configuration module 308 to convert print setting data from the DEVMODE structure 303 to the print ticket 304. Upon conversion, a DEVMODE-print ticket conversion module 3081 is used. When printing is performed from the XPS print application 302, there are two methods: one method for generating an XPS file via the XPS application itself and the other method for generating an XPS file by the OS in response to the rendering command from the XPS application. The XPS spool file 306 is generated by either method in the course of printing.
After generation of the XPS spool file 306, the processing is passed to a print filter pipeline 311. The print filter pipeline 311 has a mechanism for performing processing by passing data through a plurality of filters and controls the number or the order of filters using a filter configuration module 316. The filter pipeline manager 312 which runs on the print filter pipeline 311 executes the processing in accordance with the filter configuration module 316. In the present embodiment, the processing is executed in the order of a setting filter 313, a layout filter 314, and a renderer filter 315. The number or the type of filters may vary depending on the configuration of the printer driver 1052. The print processing is performed by passing the XPS spool file 306 to a filter. The filter processes the XPS spool file 306 and then passes the processed XPS spool file 306 to the next filter to proceed the print processing. Finally, the output of a printer control language (Page Description Language: hereinafter abbreviated as “PDL”) which is a data language interpretable by a printer is obtained. Of course, if the printer 1042 is an XPS direct printer which can perform printing by directly reading the XPS spool file 306, the printer 1042 may perform printing without passing data through all the filters. The filters may store data in a property bag 317. Information about the OS 1053 and data of other filters may also be acquired from the property bag 317.
The setting filter 313 performs processing for reading the print ticket 304 and writing data required for printing to the print ticket 304. The layout filter 314 performs processing relating to layout such as magnification change, an imposition layout of bookbinding, and a stamp layout. The layout filter 314 operates according to the print ticket 304 included in the XPS spool file 306. Thus, when an imposition setting is not present in the print ticket 304, the layout filter 314 transmits the XPS spool file 306 to the next filter without any processing. The renderer filter 315 of final stage renders the XPS spool file 306 and converts the XPS spool file 306 into PDL data. Then, the print manager 318 for managing a schedule of print processing manages the converted PDL data, and registers print jobs in a queue (a waiting string) one after another. When the printer 1042 is ready for printing, the print manager 318 transmits the PDL data to the printer 1042 via a port monitor 319 in order of registration in the queue.
As described above, the main role of the printer driver is to convert print data from the application into PDL data to thereby perform the print processing. In the case of FAX printing, destination information is attached to the PDL data. Upon receiving PDL data and destination information, the printer 1042 performs FAX transmission using a public network.
Next, a description will be given of the processing of the present embodiment with reference to the flowcharts shown in
In step S600 shown in
In step S603, the installer 701 determines whether or not unacquired destination information is present in the address book accessed thereby. The installer 701 has a flag indicating whether or not destination information has been acquired each time an access is made, and determines unacquired destination information with reference to the flag. The address book may also have information about the flag. If it is determined in step S603 that unacquired destination information is present, the processing proceeds to step S604. If it is determined in step S603 that unacquired destination information is not present, the processing proceeds to step S607 and the processing performed by the installer 701 ends.
In step S604, a print queue is created, and the processing proceeds to step S605. In step S605, the destination information acquiring unit 702 acquires unacquired destination information from the address book, and the processing proceeds to step S606. In step S606, the destination information setting unit 703 sets the destination information acquired in step S605 as a print queue name to the print queue created in step S604. In general, a driver name or a model name is often described as a default value of a print queue name. Thus, in the present embodiment, destination information is described by adding it to the default driver name. For example, when the driver name is a “FAX Printer 000”, setting processing is performed by adding the acquired “destination name and destination number” to the driver name. Then, the processing returns to step S603. The processing from step S603 to step S606 is repeated until no unacquired destination information remains.
In step S606, information other than destination information may also be embedded in the field of the print queue object. For example, information indicating a region set on the OS 1053 may be set to the “location” item which is one of items to be held by the print queue or a parameter indicating the type of a cover sheet or the like may be set to the “comment” item. The printer driver 1052 may determine whether or not destination information is correct or incorrect using the items or may also determine the type of a cover sheet associated therewith.
Next, a description will be given of a FAX transmission operation performed by a user with reference to
When the user designates a print queue of the destination desired to be transmitted, the printer driver 1052 receives print data accompanying print setting information from the application. The print data reaches the setting filter 313 via the print filter pipeline 311. Then, the processing performed by the setting filter 313 starts from step S900.
In step S901, the setting filter 313 accepts print data accompanying print setting information. In step S902, the setting filter 313 determines whether or not destination information is included in the print setting information. In the present embodiment, although destination information is described in a print queue name, it is also contemplated that the XPS print application 302 sets destination information to print setting information. Thus, destination information is confirmed. Of course, a setting item for prioritizing destination information for the print queue name may be set. When no destination information is described in print setting information, the processing proceeds to step S903, whereas when destination information is described in print setting information, the processing proceeds to step S905.
In step S903, the print queue name is acquired, and the processing proceeds to step S904. In the present embodiment, the “driver name, destination name, and destination number” are set as a print queue name, information are sequentially acquired for the respective items so as to determine whether or not the designated information is correct. For example, confirmation processing for confirming whether or not destination number is described as a correct numerical value or the like is performed. Furthermore, various settings designated in the print queue may also be used as a unit for determining a destination number. For example, when “Japan” is designated in the field of “location” of the print queue object as shown in the property screen in
In step S904, the processing for setting destination information to print setting information is executed. For example, destination information and a destination number are described in the print ticket 304 as shown in
After completion of the destination setting processing, the processing for performing PDL conversion via other filters and transmitting the destination information and converted PDL to the printer 1042 is executed. The printer 1042 receives the destination information and PDL data, and then performs FAX transmission to the designated destination.
According to the present embodiment, the above processing enables a FAX transmission to be executed by acquiring destination information from a print queue name without the need for the user to perform a destination input operation each time printing is designated. Furthermore, FAX printing can be made in an environment where pop-up input is prohibited or unallowable.
The present embodiment may also be used in a point-and-print environment. The point-and-print is a function provided by Windows (registered trademark). The term “point-and-print” refers to a printer common function by which the client computer 201 can use the printer driver 1052 installed on the server computer 203 on the network. In the case of using the SSR (server side rendering) function which is the point-and-print function, the print filter pipeline 311 runs on the server computer 203. Thus, the print queue name acquired by the setting filter 313 is the print queue name of the server computer 203. Thus, even when the print queue name is changed by the client side, FAX printing is made to the destination designated by the server computer 203. Thus, since the destination can be fixed on the server computer 203 side in an environment where a FAX destination is managed at an office or the like, the administrator can readily manage FAX printing.
Next, a description will be given of a second embodiment of the present invention. Hereinafter, the same elements as those in the first embodiment are designated by the same reference numerals and detailed explanation thereof will be omitted. The description will be given below of differences from the first embodiment.
The first embodiment is not suitable for broadcast communication since a print queue and destination information are associated with each other on one by one basis. A plurality of designated destinations may also be included in the print queue name, but a too long print queue name is not readily recognizable by the user. In the present embodiment, broadcast communication can be established by using data of the property bag 3101 held by the printer extension 310 as shown in
Here, a description will be given of the relationship between the printer driver 1052 and the printer extension 310. Since the printer extension 310 operates as another application independently of the printer driver 1052, the printer extension 310 may not be included in the printer driver. In such a case, there are two methods: one is that the users download and install the printer extension 310 by themselves and the other one is that the mechanism for automatically downloading and installing the printer extension 310 by the function of the OS 1053 is used. In the present embodiment, a description will be given of the processing to be performed after the printer extension 310 is separately installed after installation of the printer driver 1052.
Hereinafter, a description will be given of the processing of the present embodiment with reference to the flowchart shown in
First, it is assumed that the printer driver 1052 and the printer extension 310 are installed and the printer driver 1052 is associated with the printer extension 310. Then, the printer extension 310 is activated, and the processing starts from step S1100.
In step S1101, the printer extension 310 accesses an address book. The address book has already been described in the first embodiment, and thus, explanation thereof will be omitted. It should be noted that it is assumed in the present embodiment that the field called “group” (group field) is added as an item described in the address book. The term “group” refers to a group segmented by grouping destination information registered in an address book. For example, when a person A and a person B belong to a company C, these two persons can be registered in the same group. In this case, the group field of destination information about the person A and the person B can be grouped by specifying the company C.
In step S1102, the printer extension 310 determines whether or not unacquired destination information is present. When unacquired destination information is present, the processing proceeds to step S1103. When unacquired destination information is not present, the processing proceeds to step S1113. After creation of the print queue in step S1103, in step S1104, the printer extension 310 acquires unacquired destination information from the address book, and the processing proceeds to step S1105. In step S1105, the “destination name” and “FAX number” of the acquired destination information are registered as a group in the property bag 3101. In step S1106, the destination name is set to the print queue name of the print queue created in step S1103. In step S1107, it is determined whether or not the destination information acquired in step S1104 is designated as a group. Whether or not group designation has been made can be determined whether or not the group field included in destination information has been designated. When group designation has not been made, the processing returns to step S1102. When group designation has been made, the processing proceeds to step S1108.
In step S1108, it is determined whether or not the group of the acquired destination information has already been registered in the property bag 3101. When the group of the acquired destination information has not been registered, the processing proceeds to step S1109. When the group of the acquired destination information has already been registered, the processing proceeds to step S1112.
In step S1109, the processing for registering the group name and the destination number as destination information in the property bag 3101 is executed, and a print queue is created in step S1100. In step S1111, the acquired group name is set to the print queue name of the print queue created in step S1100. Then, the processing returns to step S1102.
In step S1112, the processing for additionally registering the destination number belonging to the group in the target group of the property bag 3101 is executed, and the processing returns to step S1102. When unacquired destination information is not present in step S1102, the processing proceeds to step S1113, and the processing ends.
By the above processing, destination information for each individual and destination information for each group are registered in the property bag 3101, so that the print queue in which the group destination name is displayed in the print queue name is created.
A description will be given of the processing performed by the filter configuration module 316 according to the present embodiment with reference to the flowchart shown in
In step S1300, the filter configuration module 316 starts processing. In step S1301, print data accompanying print setting information is received. In step S1302, it is determined whether or not destination information is described in print setting information. When no destination information is set in print setting information, the processing proceeds to step S1303. When destination information is set in print setting information, the processing proceeds to step S1306.
In step S1303, the processing for acquiring a print queue name is executed. Next, in step S1304, the processing for accessing the property bag 3101 (
When all the destination information is set in step S1302, the processing proceeds to step S1306, and the processing ends.
According to the present embodiment, the above processing enables broadcast communication. The user can execute a FAX printing without the need for the user to perform a setting operation each time a destination is input, resulting in an increase in convenience to the user.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2013-265793, filed on Dec. 24, 2013, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2013-265793 | Dec 2013 | JP | national |