1. Field of the Invention
The present invention relates to a handover technique of set values of printer drivers.
2. Description of the Related Art
Conventionally, some methods or inventions have been proposed in association with handling of print settings when the user switches printer drivers in an environment in which a plurality of printer drivers are installed in an information processing apparatus. When the user switches printer drivers on the information processing apparatus in which the plurality of printer drivers are installed, operations associated with print settings are different depending on operating systems (OSs). That is, for those operations multiple methods exist.
On certain OS's, printer drivers operate as independently. In this case, when the user switches a printer driver, print values of a printer driver set before switching are independent of those after switching. For this reason, when the user changes the print set values of the printer driver before switching, the altered print values are not reflected after the printer driver is switched. Japanese Patent Laid-Open No. 2003-131832 has proposed a method of handing over print settings upon switching printer drivers premised on the OS which performs such operation. In this invention, upon switching printer drivers, it is determined if the printer drivers before and after switching are of an identical type. If it is determined that these printer drivers are of the identical type, the print set values of the printer driver before switching are handed over intact to those after switching.
On another OS different from the aforementioned OS, once a printer driver is selected, the OS itself holds crossover print settings for a plurality of switchable printer drivers until a print job is complete or canceled later. When the user switches printer drivers, the OS intervenes to hand over the print settings of the printer drivers before and after switching, thus sharing the same settings.
A problem to be solved by the present invention is premised on a print system in which an OS (to be also referred to as a given OS hereinafter) holds crossover print set values for printer drivers, as described in the related arts.
In a scene in which after the user makes print settings on a certain printer driver, an output target printer is not a desired one of the user, and he or she switches printer drivers, there is a merit of this system. That is, in case of a print system in which an OS does not hold any crossover print settings for printer drivers (print settings of respective printer drivers are independent from each other), the user has to perform operations in order to set the same print settings again on a printer driver after switching. By contrast, in this system, since the print settings made on a certain printer driver are handed over to a printer driver after switching, there is a merit in that the user need not perform operations in order to set the same print settings again.
However, in this system, as for common print setting items to printer drivers before and after switching, when their default set values are different, this mechanism poses a problem in some cases. For example, a case will be examined below wherein in association with two printer drivers A and B which allow both monochrome and color settings, a default set value is “monochrome” for driver A, and “color” for driver B. At this time, the user does not change the monochrome/color setting before switching a printer driver. Under this precondition, when the user switches the printer driver from A to B, since the default set value of printer driver B is “color”, it is expected that the monochrome/color setting is also switched to “color”. However, since the print settings of printer driver A are handed over, the monochrome/color setting after switching to printer driver B is still “monochrome”.
The user can name and save a combination of setting items and set values of print settings in advance, and such a combination is called a preset. When the user sets a preset, he or she can easily perform an output operation using print settings which are defined in advance. However, when the user switches printer drivers after he or she sets a preset, some settings of the preset are invalidated in some cases. For example, a case will be examined below wherein a monochrome/color setting in a certain preset is “color”, printer driver A allows to select both monochrome and color settings, and printer driver B is exclusive for a monochrome setting. In this case, when the user applies that preset to printer driver A first, the monochrome/color setting is “color”, which follows the user's intention. In this situation, a case will be examined below wherein the user switches the printer driver to B, and then returns it to A later. When the user switches the printer driver to B, the monochrome/color setting is forcibly set to be “monochrome”, and even when the user returns the printer driver to A later, that monochrome setting is unwantedly handed over. For this reason, although the preset is intended to color printing, if the user executes a print operation in that state, a monochrome image is output.
That is, when the user repetitively switches printer drivers without changing settings, unexpected print settings may be made.
As described above, when print settings are handed over between different printer drivers according to the specification of the given OS, a print operation may be made to have settings against the user's intention or the user has to carefully confirm and reset set values of respective setting items, thus causing a disadvantageous situation. As a result, usability and efficiency are impaired.
The present invention solves the aforementioned problems in an environment in which a given OS holds crossover print settings for printer drivers.
According to one aspect of the present invention, there is provided a control method of an information processing apparatus in which a plurality of printer drivers for setting set values in setting items of print data to be output by a printing apparatus are installed, the method comprising: under the control of an operating system having a function of controlling the plurality of printer drivers to share set values set using the plurality of printer drivers, a setting item determination step of determining, upon switching of output target printing apparatuses between a plurality of printing apparatuses corresponding to the plurality of printer drivers, whether or not setting items according to a printing apparatus before switching and setting items according to a printing apparatus after switching include common setting items; a set value determination step of determining, in association with the common setting items determined in the setting item determination step, whether or not default set values in the printing apparatus before switching match set values set upon switching of the printing apparatuses; a handover step of handing over the set value set upon switching of the printing apparatuses in association with the setting item which is determined in the set value determination step that the set value of the setting item does not match the default set value; and a setting step of setting a default set value in the printing apparatus after switching in association with the setting item which is determined in the set value determination step that the set value of the setting item matches the default set value.
According to another aspect of the present invention, there is provided a control method of an information processing apparatus in which a plurality of printer drivers for setting set values in setting items of print data to be output by a printing apparatus are installed, the method comprising: under the control of an operating system having a function of controlling the plurality of printer drivers to share set values set using the plurality of printer drivers, a storage step of storing a preset which defines, in advance, print setting items and set values to be set in the print data; a preset setting item determination step of determining, upon switching of output target printing apparatuses between a plurality of printing apparatuses corresponding to the plurality of printer drivers, whether or not setting items according to a printing apparatus after switching and setting items included in the stored preset include common setting items; and an overwriting step of overwriting set values of the common setting items determined in the preset setting item determination step by the set values in the preset.
According to another aspect of the present invention, there is provided an information processing apparatus in which a plurality of printer drivers for setting set values in setting items of print data to be output by a printing apparatus are installed, the apparatus comprising: under the control of an operating system having a function of controlling the plurality of printer drivers to share set values set using the plurality of printer drivers, a setting item determination unit which determines, upon switching of output target printing apparatuses between a plurality of printing apparatuses corresponding to the plurality of printer drivers, whether or not setting items according to a printing apparatus before switching and setting items according to a printing apparatus after switching include common setting items; a set value determination unit which determines, in association with the common setting items determined by the setting item determination unit, whether or not default set values in the printing apparatus before switching match set values set upon switching of the printing apparatuses; a handover unit which hands over the set value set upon switching of the printing apparatuses in association with the setting item which is determined by the set value determination unit that the set value of the setting item does not match the default set value; and a setting unit which sets a default set value in the printing apparatus after switching in association with the setting item which is determined by the set value determination unit that the set value of the setting item matches the default set value.
According to another aspect of the present invention, there is provided an information processing apparatus in which a plurality of printer drivers for setting set values in setting items of print data to be output by a printing apparatus are installed, the apparatus comprising: under the control of an operating system having a function of controlling the plurality of printer drivers to share set values set using the plurality of printer drivers, a storage unit which stores a preset which defines, in advance, print setting items and set values to be set in the print data; a preset setting item determination unit which determiners, upon switching of output target printing apparatuses between a plurality of printing apparatuses corresponding to the plurality of printer drivers, whether or not setting items according to a printing apparatus after switching and setting items included in the stored preset include common setting items; and an overwriting unit which overwrites set values of the common setting items determined by the preset setting item determination unit by the set values in the preset.
According to the present invention, even in an environment in which the given OS is used, print settings can be flexibly handed over to reflect the user's intention associated with the print settings upon switching output target printers.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
The best mode for carrying out the present invention will be described hereinafter using the drawings.
[System Arrangement]
Normally, an initial program required to activate the client computer 201, and a basic program required to control respective modules of the client computer 201 are saved in the ROM 205. Also, the OS, applications, and printer drivers are saved in the external storage device 215. When the power switch of the client computer 201 is turned on, a program (boot loader) which is saved in the ROM 205 and is required to activate the computer is executed. That program loads the OS saved in the external storage device 215 onto the RAM 204, and then passes a control right to the OS. The OS further loads required modules and drivers from the external storage device 215 onto the RAM 204. Also, the OS loads a required application from the external storage device 215 onto the RAM 204 in response to a user instruction, and executes the loaded program. Printer drivers and their installers to be described in this embodiment are provided using external media such as CD-ROMs, each of which is set in the external media reader 216. Then, the CPU 203 loads such printer driver or installer into the RAM 204 or saves it in the external storage device 215 as needed. The OS used as a condition in the present invention includes, for example, “Mac OS X” (trademark) available from Apple.
[Printer Driver Installation and Print Queue Registration]
A printer driver will be described below with reference to
The printer driver has some generation methods. For example, in one method, in order to support a plurality of printers by a single printer driver, the graphic rendering module 302 and UI control module 303 are generated to be able to support the plurality of printers. The printer specification description file 304 is supplied with a printer driver in accordance with a printer to be supported. In this method, the UI control module 303 displays or controls a UI in correspondence with the printer specification description file 304. The graphic rendering module 302 is configured to issue a page description language and printer control commands in correspondence with each printer.
The sequence for installing the printer driver with the above configuration in the client computer 201 will be described below with reference to
/Library/Printers/
Furthermore, printer drivers can be stored in correspondence with their types under the directory for each vendor. For example, when different printer drivers PDL1 and PDL2 of vendor “ABC” are available, the following directories are created, and these printer drivers can be stored under these directories.
/Library/Printers/ABC/PDL2/
In step S402, the installer stores printer driver modules under the aforementioned directory in the external storage device 215. The installation of the printer driver is complete. However, in order to output data using a desired printer in practice, the user has to register a print queue corresponding to the desired printer using a program which is provided by, for example, the OS and is required to register a print queue.
In step S501, the user opens a printer registration dialog 601 required to register a print queue. In this step, the OS reads out a program code for printer registration from the external storage device 215 onto the RAM 204, and executes the readout program.
In step S502, the user clicks the print queue add button 604 on the printer registration dialog 601. In response to this user operation, the OS displays an add printer dialog 701 in step S503. The user enters required information in the add printer dialog 701 in step S504 to add a printer.
The example of
In step S505, the OS registers the print queue designated by the user and the printer specification description file in the system. This step will be described in detail below using
In step S505, an OS 802 acquires information input to the add printer dialog 701, and executes print queue registration processing. This registration is executed as follows. Descriptions 8a of
In step S505, the OS then registers the printer specification description file in the system. In
Prior to the description of the registration method of the printer specification description file 810, the printer specification description file will be explained. Descriptions 8b of
A line 1001 describes a comment. The comment includes “*%” at the line head. A line 1002 describes a vendor name. A line 1003 describes a printer name supported by this printer specification description file. A line 1004 describes a page description language supported by this printer specification description file. A line 1005 describes a version of the printer driver. A line 1006 and subsequent lines describe function specifications of this printer. In the function specifications, one function is defined in lines 1006 to 1010.
The line 1006 includes a function name with a prefix “*” after “*OpenUI”, and a type of a print set value used upon selecting the function, which is delimited by “:” after the function name. The type of the print set value includes “PickOne” and “Boolean”. “PickOne” expresses a function of selecting one from options. “Boolean” expresses that this function is controlled by On/Off.
The line 1006 expresses that a function “*PageSize” is available, and is to select one from options. A line 1007 describes a default set value (to be referred to as a default value hereinafter) of this function. This line starts with “*Default”, and the function name defined in the previous line 1006 is appended after “*Default”. This line indicates that the default value of the function “PageSize” is “A4”. From the line 1007 until “*CloseUI” in a line 1010, each of options of this function is described per line. For example, a line 1008 expresses that “A3” is available as one of options of “PageSize”. Note that these lines describe the function of selecting a page size, and since there are many options of the page size, descriptions of some options are not shown. A last description of this function is the line 1010, which describes the function name described in “*OpenUI” after “*CloseUI”. These lines express one function.
Subsequently, lines 1011 to 1016 include descriptions of another function. A repetitive description will be avoided. This block expresses that a function “Duplex” is available, and is to select one of options (PickOne), which include “None”, “Simplex”, and “Duplex”. In practice, this expresses a duplex print designation function: “None” follows a default setting of the printer without any designation; “Simplex” means simplex printing; and “Duplex” means duplex printing.
The method of registering this printer specification description file by the OS will be described below. The OS acquires this printer specification description file 806 corresponding to the printer from the UI control module 805, and stores it at a predetermined location of the system.
[Print Queue and Preset Settings]
The print queue and preset settings will be described below.
On a print setting dialog 1201, the system commonly provides setting fields 1202 to 1205. This dialog allows the user to select an output target printer (print queue) and a preset (to be described later), to set the number of copies, and to designate a paper size as basic functions. Also, the user can additionally set functions unique to each of various printers. When the printer includes many functions, all the functions are not displayed at the same time, but a function group is switched using a setting field 1206. This dialog shows a display state of functions related to “finishing”. The finishing related functions include a simplex/duplex designation in a setting field 1207, a staple designation in a setting field 1208, and a booklet print designation in a setting field 1209. Note that the present invention is not limited to the functions listed in this case, but various other functions are available and can be selectively displayed by designating another group using the setting field 1206. Also, the present invention is not limited to the configuration of the dialog shown in
When the user wants to switch an output destination printer on the print setting dialog 1201, he or she switches a printer using a print selection setting field 1202. On the print setting dialog 1201, a print queue “PrinterA” is currently selected. When the user selects, for example, “PrinterB” from this setting field 1202, a print queue “PrinterB” is selected on this dialog. When the user clicks a print button 1210 in this state, print data is output to “PrinterB”.
Default settings and a preset saved by the OS will be described below. Descriptions 11a of
/Users/USER_A/Library/Preferences/
Descriptions 11b of
In the descriptions 11b of
Descriptions 11c of
Descriptions 11d of
[Sequence of Print Processing]
The sequence when the user performs a print operation will be described below.
When the print processing starts, the system (OS) acquires a default print queue and default preset with reference to the file shown in the descriptions 11a of
On the other hand, if the default preset is not “Standard” (NO in step S1703), the system acquires values of the default preset with reference to the file shown in the descriptions lib of
After the print settings to be displayed first are built, the system displays the print setting dialog 1201 shown in
After that, the system determines based on a user instruction whether or not to execute print processing (S1710). If it is determined that the print processing is executed (YES in step S1710), the system executes the print processing based on the print settings (S1711). Then, the system updates the file shown in the descriptions 11c of
[Print Setting Handover Method]
How to hand over the print settings when the user switches the print queue on the print setting dialog 1201 in step S1709 in
Print queue related processing will be described first.
In step S1801, the system accepts a print queue switching instruction from the user via the print queue selection setting field 1202 in
After that, the system launches a printer driver of a print queue after switching in step S1803. At this time, the system updates information in the line 1603 indicating the print queue in the descriptions 11d of
In step S1804, the printer driver acquires setting items of the print queue after switching with reference to the printer specification description file (the descriptions 8b of
If it is determined that common setting items are included (YES in step S1805), the printer driver acquires default values of the print queue before switching with reference to the printer specification description file (the descriptions 8b of
Note that the “current set values” mean set values of respective setting items which are set in the print queue before switching at the time of switching. This process implements set value determination processing.
As a result of comparison of the set values, if a setting item whose default value does not match the current set value is included (NO in step S1807), the printer driver hands over the current set value intact in association with the setting item whose default value does not match the current set value in step S1808. Then, the printer driver updates, for the setting items other than that whose default value does not match the current set value, the corresponding fields of the print settings in the descriptions 11d of
If NO in step S1805, or if YES in step S1807, the printer driver updates the print settings by the default values of the print queue after switching in step S1809. After that, the process advances to step S1810.
Preset related processing will be described below. In step S1810, the printer driver acquires the current preset with reference to the line 1606 in the print settings shown in the descriptions 11d of
If it is determined that the current preset is not “Standard” (NO in step S1811), the printer driver acquires print settings of the current preset with reference to the preset description file shown in the descriptions 11c of
If common setting items are included (YES in step S1813), the printer driver overwrites and updates the corresponding fields of the print settings shown in the descriptions 11d of
In step S1815, the printer driver updates, by “NULL”, the line 1612 corresponding to the information of the print queue before switching in the print settings shown in the descriptions 11d of
[Practical Handover Example of Set Values]
The aforementioned handover method will be explained below using practical examples of print queues and presets.
Referring to
Note that
On the other hand, as for settings associated with presets, “Standard” and “Preset1” are registered, as shown in
On the other hand, “Preset1” as a preset 2002 includes ColorMode=“Color”, Duplex=“Simplex”, Resolution=“600”, and LastQueue=“NULL”.
A case will be examined below wherein the user opens the print setting dialog 1201 by selecting “print” from a menu of an application, and changes print settings for the purpose of processing of the following cases under the above preconditions. Note that the cases to be described below are merely examples, and do not limit setting items, set values, and description formats.
[Case 1]
The sequence for handing over set values of this case 1 will be described below along
In step S1801, the system accepts a switching instruction from “PrinterA” as a default setting of the print queue to “PrinterB” from the user. In step S1802, the printer driver describes the print queue “PrinterA” before switching in the corresponding line 1612 in the print settings shown in the descriptions 11d of
In step S1804, the printer driver acquires setting items of the print queue after switching with reference to the printer specification description file (the descriptions 8b of
In step S1805, the printer driver compares the setting items of the print queue “PrinterA” before switching with those of the print queue “PrinterB” after switching to determine if common setting items are included. In this case, since common setting items are included, YES is determined in step S1805, and the printer driver refers to the printer specification description file (the descriptions 8b of
In step S1807, the printer driver compares the default values of the print queue “PrinterA” before switching with the current set values in association with the common items. In this case, since no setting item whose default value does not match the current set value is included, the printer driver updates the print settings by the default values (respective set values of the print queue 1902 shown in
Subsequently, in step S1810, the printer driver acquires the current preset with reference to the corresponding line 1606 in the print settings shown in the descriptions 11d of
A case will be examined below wherein the user opens the print setting dialog 1201 by selecting “print” from a menu of an application, and changes print settings for the purpose of the following processing under the same preconditions (
[Case 2]
The sequence for handing over set values of this case 2 will be described below along
Print settings before the print queue is switched include ColorMode=“Mono”, Duplex=“Simplex”, Resolution=“1200”, and LastQueue=“NULL”.
In this state, in step S1801, the system accepts a switching instruction from “PrinterA” as a default setting of the print queue to “PrinterB” from the user. In step S1802, the printer driver describes information of the print queue “PrinterA” before switching in the corresponding line 1612 in the print settings shown in the descriptions 11d of
In step S1804, the printer driver acquires setting items of the print queue “PrinterB” after switching with reference to the printer specification description file (the descriptions 8b of
In step S1805, the printer driver compares the setting items of the print queue “PrinterA” before switching with those of the print queue “PrinterB” after switching to determine if common setting items are included. In this case, since common setting items are included, YES is determined in step S1805, and the printer driver refers to the printer specification description file (the descriptions 8b of
In step S1807, the printer driver compares the default values of the print queue “PrinterA” before switching with the current set values in association with the common items. In this case, since the setting item ColorMode whose default value does not match the current set value is included, the printer driver hands over the set value (Mono) intact in association with the ColorMode item in step S1808. Then, as for other setting items, the printer driver updates the print settings by the default values of the print queue “PrinterB” after switching with reference to the printer specification description file (the descriptions 8b of
Subsequently, in step S1810, the printer driver acquires the current preset with reference to the corresponding line 1606 in the print settings shown in the descriptions 11d of
As a result of the aforementioned processes, the print settings include ColorMode=“Mono”, Duplex=“Duplex”, Resolution=“600”, and LastQueue=“NULL”.
In this way, upon switching the print queues, the set value of the print setting, which is changed by the user, can be handed over, and set values of other print settings can be handed over while reflecting the default values of the print queue after switching.
Furthermore, a case will be examined below wherein the user opens the print setting dialog 1201 by selecting “print” from a menu of an application, and changes print settings for the purpose of the following processing under the same preconditions (
[Case 3]
The sequence for handing over set values of this case 3 will be described below along
Print settings upon switching the print queue from “PrinterA” to “PrinterC” include ColorMode=“Mono”, Duplex=“Simplex”, Resolution=“600”, and LastQueue=“NULL”. The reason why ColorMode=“Mono” is that the print queue “PrinterC” can select only “Mono” as the ColorMode item. In such case, the set value is forcibly set to be “Mono” which can be set.
In this state, in step S1801, the system accepts a print queue switching instruction from “PrinterC” to “PrinterA” from the user. In this case, as in case 1, the processes in steps S1802, S1803, S1804, S1805, and S1809 are executed in turn. As a result, print settings at that time include ColorMode=“Mono”, Duplex=“Simplex”, Resolution=“600”, and LastQueue=“PrinterC”.
Subsequently, in step S1810, the printer driver acquires the current preset with reference to the corresponding line 1606 in the print settings shown in the descriptions 11d of
In step S1813, the printer driver compares the setting items of the print queue “PrinterA” after switching with those of the current preset “Preset1” to determine if common setting items are included. In this case, common setting items are included. Hence, in step S1814, the printer driver updates the common print setting items by the set values (ColorMode=“Color”) of the current preset “Preset1” acquired in step S1812. Then, in step S1815, the printer driver updates the line 1612 corresponding to the information of the print queue “PrinterC” before switching in the print settings by “NULL”.
As a result of the aforementioned processes, the print settings include ColorMode=“Color”, Duplex=“Simplex”, Resolution=“600”, and LastQueue=“NULL”.
As described above, upon switching the print queues, when the preset is other than “Standard”, values can be handed over while reflecting the set values of that preset.
The sequences for handing over print settings have been explained using the practical cases. According to this embodiment, the set values of the print settings can be handed over as intended by the user in correspondence with situations of the set values of the respective setting items.
The second embodiment which adopts the same method as in the aforementioned first embodiment will be described below.
Since setting fields 2102 to 2106 and buttons 2110 and 2111 on a print setting dialog 2101 are the same as the setting fields 1202 to 1206 and buttons 1210 and 1211 on the print setting dialog 1201 shown in
In step S2201, the system accepts a print queue switching instruction from the user via the setting field 2102 in
If it is determined that this handover method is used (YES in step S2202), the system determines in step S2203 whether or not to use default values of the print queue in the set value handover processing. In this case, whether or not to use default value is determined with reference to the setting designated by the user via the setting field 2108. If it is determined that default values are used (YES in step S2203), the system executes the default value related processing in step S2204. Otherwise (NO in step S2203), the system skips the processing in step S2204, and the process jumps to step S2205.
The system determines in step S2205 whether or not to preferentially use the settings of a preset. In this case, whether or not to preferentially use the preset is determined with reference to the setting designated by the user via the setting field 2109. If it is determined that the preset is preferentially used (YES in step S2205), the system executes the preset related processing in step S2206. Otherwise (NO in step S2205), the system skips the processing in step S2206, and ends this sequence.
As described above, the setting handover processing in print settings can be set according to the user's intention, thus improving the usability in print processing.
The third embodiment which adopts the same method as in the first embodiment will be described below.
A printer driver determines in step S2307 if print setting items have changed before and after switching of print queues. If it is determined that the print settings have changed (YES in step S2307), the printer driver displays a change notification dialog shown in
In this way, even when setting changes which are not intended by the user have occurred upon switching of the print queues, the user can recognize these changes since he or she receives a message that advises accordingly. Thus, the usability in print processing can be improved.
The three embodiments have been described. The present invention is not limited to these embodiments, and various other embodiments may be made. For example, in the first embodiment, information of a print queue before switching is used as one of hidden parameters of print settings. Alternatively, equivalent information may be stored in an external file. In the second and third embodiments, the dialog is used as means for notifying the user of print setting changes. Alternatively, equivalent information may be displayed as one option of the setting field 1206 shown in
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
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. 2009-211027, filed Sep. 11, 2009, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2009-211027 | Sep 2009 | JP | national |