Information processing apparatus, control method, and program
Patent Information
- Application Number
- JP2022165310
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-10-14
- Publication Date
- 2025-10-17
AI Technical Summary
Existing print setting applications display combinations of setting values that cannot be executed by the printing device, leading to potential printing failures and resource wastage.
A print setting application that acquires print settings, determines prohibited combinations, and changes or resolves conflicts to ensure valid settings are displayed, using a notification system to inform users of changes.
Prevents printing failures by ensuring only valid settings are displayed, reducing resource wastage and improving user convenience.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, a control method, and a program. [Background technology]
[0002] There is a known configuration in which a printer driver installed on a host computer is used as software for controlling the printing device to issue print instructions to a printing device connected to the host computer. An operating system (OS), which is the basic software, is installed on the host computer, and the printer driver is configured according to the specifications defined by the OS and runs when called by the OS. By providing a printer driver that conforms to the OS specifications, a vendor that provides a printing device can provide a means of issuing print instructions to the printing device using the OS.
[0003] In recent years, Windows (registered trademark) has provided standard class drivers (hereinafter also referred to as "standard drivers") that can be commonly used by printing devices provided by multiple vendors. Such standard drivers are included in the OS package and can be easily used by connecting any printing device to the host computer. This makes it unnecessary to separately install a model-specific printer driver suitable for the printing device, which is highly convenient. In addition, the standard driver is configured to be able to specify printing functions according to PrintCapabilities generated based on information obtained from the connected printing device. This allows a user who uses the standard driver to specify printing functions according to the capabilities of the connected printing device, even though the user is using one standard driver.
[0004] A standard driver can be associated with an application for function extension (hereinafter also referred to as an "extension application"). The extension application can be provided by a vendor that supplies a printing device. The extension application can provide a function (extension function) that cannot be realized by the standard driver alone by editing the PDC generated by the standard driver. Patent Document 1 discloses a technology for extending functions such as a stamp function by an extension application. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2019-74906 A Summary of the Invention [Problem to be solved by the invention]
[0006] The extended application of Patent Document 1 can edit a spool file. The extended application can realize a layout printing function by editing the spool file. The extended application is called based on a user operation on a print setting screen displayed by an application or an OS installed on an information processing device, and displays an extended print setting screen. At this time, it is considered that a combination of setting values that the printing device cannot execute for one print job is set in the print settings set via the print setting screen displayed by the application or the OS. If such settings are left as they are, the extended print setting screen will display a combination of setting values that cannot be set originally.
[0007] In consideration of the above problems, the application described in this specification aims to prevent the print setting screen displayed by the extended application from being displayed with a combination of setting values that cannot be set for a single print job. [Means for solving the problem]
[0008] The application described in the present application is a print setting application that is installed on an information processing device and stored in association with a standard printer driver provided by the information processing device, and is characterized in that it has an acquisition means for acquiring print settings set via a print setting screen based on a notification from an operating system of the information processing device, a determination means for determining whether the print settings acquired by the acquisition means include a combination of setting values that match prohibition information, a change means for changing at least one of the setting values that match the prohibition information to another setting value when it is determined by the determination that the setting values that match the prohibition information are included, and a display control means for displaying another print setting screen on the information processing device based on the changed setting values. Effect of the Invention
[0009] According to the present invention, it is possible to prevent the print setting screen displayed by the extended application from being displayed with a combination of setting values that cannot be set for a single print job. [Brief description of the drawings]
[0010] [Figure 1] FIG. 2 is a block diagram showing an example of a hardware configuration of a printing system according to the present embodiment. [Diagram 2] FIG. 1 illustrates an example of a configuration of a printing system according to an embodiment of the present invention. [Diagram 3] 11A and 11B are diagrams illustrating an example of a screen displayed by a print setting screen expansion unit in the embodiment. [Figure 4] 11 is a flowchart showing a process of obtaining and editing prohibition information in the present embodiment. [Diagram 5] 5 is a flowchart of a model type determination process in the present embodiment. [Figure 6] 11 is a flowchart of a conflict list generation process in the present embodiment. [Figure 7]FIG. 11 is a diagram showing an example of a media-col-database acquired from an inkjet printing device in this embodiment. [Figure 8] FIG. 4 is a diagram showing an example of a conflict list of an inkjet printing device in the embodiment. [Figure 9] 11 is a flowchart of a conflict process when a print setting screen is started in the present embodiment. [Figure 10] 11 is a flowchart of a conflict process when a print setting screen is launched in the embodiment when the printing device is an inkjet printer. [Figure 11] 11 is a flowchart of a conflict process when a print setting screen is launched in the case where the printing device is a laser beam printer in this embodiment. [Figure 12] 11 is a flowchart of a process for editing PDC prohibition information when the printing device is an inkjet printer in this embodiment. [Figure 13] 11 is a flowchart of a process for editing PDC prohibition information when the printing device is a laser beam printer in this embodiment. [Figure 14] 11 is a diagram showing an example of a PDC generated by print data generation software when the printing device is an inkjet printer in this embodiment. FIG. [Figure 15] 11 is a diagram showing an example of a PDC generated by an extension application when the printing device is an inkjet printer in this embodiment. FIG. [Figure 16] 11 is a diagram showing an example of a PDC generated by print data generation software when the printing device is a laser beam printer in this embodiment. FIG. [Figure 17] 11 is a diagram showing an example of a PDC generated by an extension application when the printing device is a laser beam printer in this embodiment. FIG. [Figure 18] FIG. 4 is a diagram showing an example of a screen displayed by a drawing application in the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are essential to the solution of the present invention. Note that the same components are given the same reference numbers and descriptions are omitted.
[0012] <<Embodiment 1>> <Printing system hardware configuration> 1 is a block diagram showing the hardware configuration of a printing system. In this diagram, an information processing device 101 is an example of an information processing device, and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115. A NETIF 120 is a network interface, and performs control for transferring data between external devices via a network.
[0013] An initialization program is stored in the ROM 112. Application programs, an operating system (OS), print data generation software, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory or the like when the various programs stored in the external storage device 114 are executed, and the various programs can run within the information processing device 101.
[0014] In this embodiment, the CPU 111 executes processes according to the procedures of a program stored in the ROM 112, thereby executing functions of the information processing device 101 described below and processes related to flowcharts described below. The printing device 102, which is a device, is connected to the information processing device 101 via an input / output interface 116. Here, the information processing device 101 and the printing device 102 are configured separately, but they may be configured as one information processing device. The printing device will be described as an inkjet printer that prints by ejecting ink onto a paper surface, but printing may be performed by other methods (for example, electrophotography). The information processing device 101 may be a desktop personal computer, a smartphone, or a notebook computer.
[0015] <Software-centric printing system configuration> 2 is a diagram showing a schematic configuration of a software-based printing system. Here, the printing system is described on the premise that an information processing apparatus 101 is equipped with Microsoft Windows 11 as the OS.
[0016] FIG. 2A illustrates a typical configuration when an extension application 204 is not associated with the print data generation software 202 and the printing device 102. As shown in FIG.
[0017] The drawing application 201 is software that creates content (drawing data) to be printed. For example, this corresponds to a word processing application or a spreadsheet application. When the drawing application 201 receives a print request from a user, it notifies the OS of a print instruction. The print instruction includes print setting information for instructing the operation of the print data generation software 202 and the printing device 102. The print setting information is also called a PrintTicket (hereinafter, "PT").
[0018] The drawing application 201 can display a print setting screen provided by the print data generation software 202, the OS, or the drawing application 201. The print setting screen includes setting items (hereinafter also referred to as "control items") indicating configurable print functions and control items indicating their setting values according to capability information (information that can be set as print settings) acquired from the print data generation software 202. The capability information is also referred to as PrintCapabilities (hereinafter "PC").
[0019] The print data generation software 202 determines the PC based on the print capability information 203. The print capability information 203 is data indicating all configurable print functions, their setting values, and the print capabilities in which the exclusive relationships between the setting values are described. The print capability information 203 is also called PDC (Print Device Capabilities). The PDC 203 is included in a configuration file of the print data generation software 202, and is arranged in the external storage device 114. The print data generation software 202 or the OS acquires attribute data of the printing device from the printing device 102, and updates the PDC 203 according to attribute information in the acquired attribute data. Note that the PDC 203 can be edited using the print data generation software 202 or the OS, but cannot be directly edited by the drawing application 201 or an extension application 204 described later.
[0020] The attribute data of the printing device obtained from the printing device 102 is obtained as a response by issuing a Get-Printer-Attributes operation of IPP (Internet Print Protocol) to the printing device. The response includes attribute information indicating functions (capabilities of the printing device) that can be specified by the printing device 102 and setting values related to the attribute information. This response is saved in the RAM 113. The print data generation software 202 and the OS edit the PDC 203 based on the attribute information indicating the capabilities of the printing device obtained as a response. The PDC 203 is generated for each printing device. By configuring in this way, the print data generation software 202 can be configured so that the user can specify print functions available on each printing device 102 according to the connected printing device 102. In other words, the print data generation software 202 can be configured so that the user can specify print functions available on the connected printing device even when printing devices with different functions or printing devices developed by different vendors are connected.
[0021] Here, a configuration using an IPP Class Driver installed in Windows (registered trademark) 10 will be described as the print data generation software 202. The IPP Class Driver is a printer driver that executes print processing according to the specifications of a standard print protocol called IPP (Internet Print Protocol), and is included in the OS package. The IPP Class Driver is a printer driver that generates image data in a predetermined format, such as PDF or PWG-Raster, that is transmitted according to IPP. The IPP Class Driver is not a specific printer driver according to the model of the printing device 102, but a standard class driver that can be commonly used by multiple printing devices of multiple vendors, and functions as a standard printer driver. The IPP Class Driver acquires attribute information indicating the capabilities of the connected printing device 102 so that the user can specify the print functions supported by the connected printing device 102, and generates a PDC 203 based on the information.
[0022] The OS generates intermediate data (also called input data) based on the print instruction output from the drawing application 201, and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is data in Graphic Device Interface format (GDI format data) or data in XML Paper Specification format (XPS format data). When an IPP Class Driver is used as the print data generation software 202, the GDI format data output by the drawing application 201 is converted to XPS format by the OS and input to the print data generation software 202. If the data output by the drawing application 201 is XPS format data, the OS passes the XPS format data to the print data generation software 202 as intermediate data. The intermediate data includes drawing data, which is information on a picture to be formed on paper, and print setting information set by the user.
[0023] The print data generation software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102, and transmits it to the printing device 102. In this embodiment, the print data generation software 202 converts the input intermediate data into print data in PDF or PWG-Raster format, and transmits it to the printing device 102.
[0024] The print data includes drawing data, which is information about a picture to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on print setting information set by the user. The print setting attribute information includes attribute information indicating functions that can be specified by the printing device 102 (capabilities of the printing device) and setting values related to the attribute information.
[0025] The printing device 102 prints on paper based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data included in the print data on paper in accordance with the print setting attribute information included in the print data. The print setting attribute information includes attribute information and its setting value for specifying print quality (priority on image quality, priority on speed, etc.) and double-sided printing. For example, if the print setting attribute information includes attribute information specifying double-sided printing, the printing device 102 executes double-sided printing.
[0026] 2B is a diagram showing a configuration when the extension application 204 is associated with the print data generation software 202 and the printing device 102. Note that configurations and processes not specifically mentioned below are the same as those in FIG. 2A.
[0027] The extension application 204 is software for extending the functions of the print data generation software 202, and is software that is not included (bundled) in advance in the OS. By using the extension application 204, it is possible to set the setting values of setting items that cannot be set by the print data generation software 202 alone, and to perform layout processing of drawing data. The print data generation software 202 only supports general-purpose setting items, and may not support stapleless binding, bookbinding printing, or special types of paper. By making settings via an extended print setting screen displayed by the extension application 204, it is possible to write them into the print setting information.
[0028] The extension application 204 needs to be downloaded by the user from a server via the Internet and installed in the information processing device 101. Alternatively, the extension application 204 may be automatically installed based on the connection of the printing device 102 to the information processing device 101. Specifically, when the printing device 102 is connected to the information processing device 101, the OS acquires device identification information from the printing device 102. The OS may download and install the extension application 204 corresponding to the acquired device identification information from a server via the Internet. That is, the print data generation software 202 and the extension application 204 are held in the information processing device 101 as separate files. In this embodiment, the print data generation software 202 is software included in the OS and is provided by the same vendor as the OS. The extension application 204 is an application provided by the vendor that provides the printing device 102, and is not applied to printing devices of different vendors.
[0029] The print data generation software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. In other words, the timing at which the information processing device 101 acquires the print data generation software 202 is different from the timing at which the information processing device 101 acquires the extension application 204.
[0030] In addition, the trigger for the information processing device 101 to acquire the print data generation software 202 is different from the trigger for the information processing device 101 to acquire the extension application 204. When the extension application 204 is installed, the OS associates the extension application 204 with the print data generation software 202 and the printing device 102.
[0031] The extension application 204 described in this embodiment includes a print setting screen extension unit 205, a skip control unit 206, a print function extension unit 207, a print data editing unit 208, and a notification unit 209. The extension application 204 also includes shared information 210 that can be commonly accessed by each unit. The shared information 210 is actually a file saved in the external storage device 114, or information stored in the RAM 113. The extension application 204 can write and read information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS. The shared information 210 is also allocated as an area in which information specific to the application can be stored, and can also store information other than the attribute data of the printing device 102. The shared information 210 is information different from the PDC 203 generated by the print data generation software 202 or the OS to specify print functions available in the connected printing device 102.
[0032] The extension application 204 is started each time a request to use each unit is notified from the OS. In this case, operation is terminated each time processing of each unit is completed. In that case, the OS will start the extension application 204 each time a request to use each unit is received. Other configurations are also possible. For example, when processing of the print setting screen extension unit 205 is completed, the OS will terminate the operation of the extension application 204, but the OS may leave the extension application 204 running even after processing of the skip control unit 206 is completed.
[0033] Furthermore, the extension application 204 may cancel processing during the processing of each unit. When the processing is canceled, the job being processed in the print queue is deleted by the OS.
[0034] When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. In this configuration, the drawing application 201 can display a print setting screen, as in the configuration of Fig. 2(a). When the user selects the "Property Settings" button displayed on the print setting screen provided by the drawing application 201, an extended print setting screen is displayed by the extended application.
[0035] In this configuration, the extended print setting screen provided by the extended application 204 is displayed. Specifically, the print setting screen provided by the print setting screen extension unit 205 included in the extended application 204 is displayed. Note that whether or not the print setting screen provided by the print setting screen extension unit 205 is displayed depends on the user's operation. Details of the print setting screen extension unit 205 will be described later with reference to FIG. 4. In this way, the extended application 204 having the print setting extension unit functions as a print setting application.
[0036] When the drawing application 201 receives a print request from a user and issues a print instruction to the OS, the OS starts the skip control unit 206. The skip control unit 206 controls whether or not to skip the processing of the print data generation software 202. The skip control unit 206 cannot acquire intermediate data or print setting information. After the skip control processing of the skip control unit 206, the OS generates intermediate data based on the print instruction output from the drawing application 201, and the intermediate data is passed to the print data generation software 202. Here, if the skip control is not performed by the skip control unit 206, the intermediate data is processed by the print data generation software 202 into print data that can be interpreted by the printing device 102, and is passed to the print data editing unit 208. This makes it possible to process the intermediate data in the print data editing unit 208.
[0037] On the other hand, when the print data generation software 202 is skipped, the intermediate data is not processed by the print data generation software 202 but is passed to the print data editing unit 208. This allows the intermediate data to be processed by the print data editing unit 208. An example in which it is preferable to skip the print data generation software 202 is when it is desired to perform a scaling process by the print data editing unit 208. The intermediate data can be held in a vector format, and degradation during scaling is small. Therefore, in a form in which the print data generation software 202 outputs an image in a raster format, it is generally preferable to skip the processing by the print data generation software 202 and process the intermediate data by the print data editing unit 208. Note that whether or not the skip control unit 206 instructs the print data generation software 202 to skip the processing may be fixed, or may be switched based on a setting value set in the print setting information. For example, if a setting value that requires processing by the print data editing unit 208 is included, the skip processing may be enabled, and if a setting value that requires processing by the print data editing unit 208 is not included, the skip processing may be disabled.
[0038] The print data editing unit 208 edits the intermediate data passed from the print data generation software 202 or the print data processed by the print data generation software 202. Taking layout printing as an example of the editing content, the print data editing unit 208 changes the layout of the intermediate data or print data based on the print setting information for layout printing received from the OS. The print data editing unit 208 can also display a UI screen on the display unit 119, and can display the layout result of the intermediate data or print data as a preview screen. Note that in the print data editing unit 208, print data is not sent to the printing device 102 while the UI screen is open, and the print data sending process is performed by closing the UI screen.
[0039] After the print data editing unit 208 edits the print data, the print data is passed to the printing device 102 via the OS. The printing device 102 prints on paper based on the accepted print data. If the print data generation software 202 is skipped by the skip control unit 206, the print data editing unit 208 may convert the received intermediate data into print data that can be interpreted by the printing device 102. Also, a function provided by the OS may be used to convert the intermediate data into print data.
[0040] The extension application 204 has a print function extension unit 207. The print function extension unit 207 can edit the PDC 203 generated by the print data generation software 202 or the OS. The print function extension unit 207 edits the PDC 203 by writing information to be written to the PDC 203 using the API of the OS. In this way, the print function extension unit 207 adds functions provided by the extension application 204. In addition, by editing the PDC, it is possible to add functions that are supported by the printing device 102 but not supported by the print data generation software 202, add exclusive relationships between setting values of print functions, etc.
[0041] The OS starts the print function extension unit 207 when the extension application 204 is first associated with the printing device 102 and the print data generation software 202. Furthermore, the OS may start the print function extension unit 207 at other times, such as when the OS starts up. In this way, in cases where an optional device (e.g., a finisher, etc.) is later added to the printing device 102 and printing-related functions are extended, the print function extension unit 207 can detect the extended function and add it to the PDC 203.
[0042] The extension application 204 also has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurring in the printing device 102. For example, when an out-of-paper error occurs in the printing device 102, the print data generation software 202 detects it, and the OS uses a notification function of the OS called a toast notification to display a message on the display unit 119. When the user presses this toast notification, the notification unit 209 of the extension application 204 is called by the OS, and a UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message of the out-of-paper error, a method for loading paper, and the like.
[0043] It should be noted that once the extension application 204 has sent print data to the printing device 102, it is no longer possible to display on the screen any guides or other information associated with the print data during the processing of each unit.
[0044] The configuration of the extension application 204 for realizing this embodiment is not limited to having all of the above-mentioned functions (units), and may have only some of the functions or other functions. The extension application 204 may also be simply called printing software.
[0045] <Example of the screen displayed by the print setting screen expansion unit> Next, the extended print setting screen displayed by the print setting screen extension unit 205 will be described with reference to FIG. 3. As described above, when the "Property Settings" button is selected on the print setting screen displayed by the drawing application 201 or the OS, the OS calls the print function extension unit 207. The called print function extension unit 207 displays the extended print setting screen. FIG. 18(b) described below is an example of the print setting screen displayed by the drawing application 201. In addition to FIG. 18(b), a screen on which the printer used for printing, the number of copies to be printed, and print settings related to general setting items can be used.
[0046] A PC is generated based on the PDC 203 edited by the print function extension unit 207. An extended print setting screen 301 in Fig. 3(a) is an example of a screen displayed by the print setting screen extension unit 205 based on the generated PC. The print setting screen extension unit 205 is called by the OS when the user selects the "Property Settings" button on the drawing application 201 to instruct display of the extended print setting screen. The print setting screen extension unit 205 displays a screen on which the user can specify setting values of print functions that can be specified by the print data generation software 202, based on the PC that can be obtained from the OS.
[0047] Control item 302 is a control item that allows the user to set the type of paper to be used for printing, and for example, items such as plain paper and photo paper can be set. Control item 303 is a control item that allows the user to set the paper size to be used for printing, and for example, items such as A4 and letter can be set. List 310 shown in Fig. 3(b) shows the display state when control item 303 is expanded, and the user can select a paper size from the expanded list.
[0048] A control item 304 is a control that can set the paper feed inlet of the printing device 102, and can set items such as a main tray and a rear tray, for example.
[0049] Control item 305 is a control item that can set the print orientation, and can be set to either portrait or landscape. Control item 306 is a control item that can switch between enabling and disabling double-sided printing. Control item 307 is a control item that can set the binding direction when printing double-sided, and can be set to, for example, long edge binding or short edge binding. Control item 309 is a cancel button that closes the screen without reflecting the settings. Control item 308 is an OK button that reflects the settings and closes the screen.
[0050] When the OK button is selected, the print setting screen expansion unit 205 instructs the OS to update the PT with the setting value set via the expanded print setting screen. The OS updates the PT based on the setting value received from the print setting screen expansion unit. The drawing application 201 or the OS displays the print setting screen based on the updated PT. In response to a print instruction given via the print setting screen, processing for printing is started. Note that when the Cancel button is selected, the print setting screen expansion unit 205 ends the display without updating the PT.
[0051] <Expansion of prohibited characters information using the print function expansion unit> Inkjet printers and laser beam printers have conflicts in settings that cannot be set for a single print job. The conflict information is expressed as a combination of the attribute (Feature) and setting value (Option) of the setting value for each of the multiple setting values that are conflicts.
[0052] When you select a feature or option that corresponds to a prohibited character and execute printing, a printing error may occur, or the setting value that corresponds to the prohibited character may be changed, and printing may be executed with a different setting value than the intended setting value. If the PT contains a setting value that matches the prohibited character information, the user may need to change the setting and resubmit the print job, which may result in wasting ink or toner.
[0053] In the IPP Class Driver, by issuing an IPP Get-Printer-Attributes operation, it is possible to obtain a combination of attribute information and setting values indicating functions that can be combined and used from the printing device 102. Hereinafter, attributes that are functions obtained from the printing device are referred to as Features, and setting values that are options for each function are referred to as Options. From the obtained combination information, it is possible to determine whether the print settings made on the print setting screen displayed by the drawing application 201 or the OS are usable.
[0054] However, the IPP Class Driver only assumes generic attribute information and settings that can be used by any printer. Specifically, the conflict control processing that the IPP Class Driver performs independently is only the control processing performed with some features and options when borderless printing is applied.
[0055] On the other hand, it is possible to set printer vendor-specific attribute information and setting values by using the extension application 204. However, since the IPP Class Driver does not acquire usable combination information for the attribute information and setting values, it is not possible to determine whether the setting includes a setting that matches the prohibited character information.
[0056] In this embodiment, the print function extension unit 207 of the extension application 204 acquires and stores conflicts in the printing device 102, and performs conflict control processing when the print setting screen provided by the print setting screen extension unit 205 is started up in response to a print instruction from the drawing application 201, the print setting screen extension unit 205 displays a print setting screen in which the conflicts have been resolved, thereby preventing printing failures.
[0057] Hereinafter, the print function extension unit 207 or the print setting screen extension unit 205 of the extension application 204 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.
[0058] First, the process in which the print function extension unit 207 of the extension application 204 obtains a combination of a feature and an option that causes a conflict from the printing device 102 and stores the combination in its own shared information 210 will be described with reference to FIG.
[0059] The processing flow of FIG. 4 also includes processing for editing prohibition information (prohibition information) generated by the OS for PDC 203 after the print function extension unit 207 has saved the prohibition information in the shared information 210; however, editing of the prohibition information for PDC 203 will be described later.
[0060] 4 starts when a user selects a print queue associated with the extended application 204 after the OS is associated with the extended application 204 for the first time. The print queue is selected via a printer selection object displayed by the drawing application 201 or the OS.
[0061] First, in S401, the print function extension unit 207 of the extension application 204 acquires capability information from the printing device 102. The print function extension unit 207 acquires the capability information as a response from the printing device 102 by issuing a Get-Printer-Attributes operation of the Internet Print Protocol (IPP) to the printing device. Having acquired the capability information of the printing device 102, the print function extension unit 207 advances the process to S402.
[0062] Next, in S402, the print function extension unit 207 acquires device type identification information for determining the device type of the printing device 102 from the printing device 102, and the process proceeds to S403.
[0063] In S403, the print function extension unit 207 determines the device type of the printing device based on the device type identification information of the printing device 102 acquired from the printing device 102. The device type is a type based on the printing method of the printing device. In this embodiment, it is assumed that the extension application 204 supports two device types, an inkjet method and an electrophotographic (laser beam) method.
[0064] A specific method for determining the device type using the device type identification information will be described with reference to Fig. 5. Fig. 5 starts after the print function extension unit 207 issues the Get-Printer-Attributes operation of the above-mentioned IPP (Internet Print Protocol) and receives a response from the printing device 102.
[0065] In S501, the print function extension unit 207 checks whether the response to Get-Printer-Attributes from the printing device 102 includes a marker-types attribute, and proceeds with the process.
[0066] If the answer is Yes in S501, the print function extension unit 207 advances the process to S502.
[0067] In S502, it is confirmed whether the marker-types attribute value in the response to the IPP Get-Printer-Attribute operation of the printing device 102 is ink-cartridge. If the determination in S502 is Yes, the printing function extension unit 207 advances the process to S503 and determines that the device type is an inkjet printer.
[0068] Note that, although the printing device 102 in this embodiment is an example of a locally connected inkjet printer, the printing device 102 may be connected via a cloud. In that case, a value indicating a cloud connection may be added to the printer-device-id attribute value in the response to the IPP Get-Printer-Attribute operation.
[0069] Alternatively, when the printing device 102 and the information processing device 101 are connected via a cloud, print data generation software 202 for cloud connection is used in the information processing device 101. The print function extension unit 207 may determine whether the printing device 102 is connected via the cloud or not via the cloud by determining the name and type of the print data generation software 202. When the print function extension unit 207 determines that the printing device 102 and the information processing device 101 are connected via a cloud service, it makes a request to the cloud service to obtain information such as capability information of the printing device 102. In this case, the information processing device 101 obtains information about the printing device 102 registered in the cloud service from the cloud service.
[0070] The process returns to S501. If the determination in S501 is No, the print function extension unit 207 advances the process to S504.
[0071] In S504, the print function extension unit 207 checks whether the printer-supply attribute is included in the response to the IPP Get-Printer-Attribute operation of the printing device 102. If the answer is Yes in S504, the print function extension unit 207 proceeds to S505. In S505, the print function extension unit 207 checks whether the printer-supply attribute value in the response to the IPP Get-Printer-Attribute operation of the printing device 102 includes type=toner. If the answer is Yes in S505, the print function extension unit 207 moves the process to S506 and determines that the device type of the printing device 102 is a laser beam printer.
[0072] If the print function extension unit 207 judges No in S502, S504, and S505, it advances the process to S507 and judges that the device type of the printing device 102 is "other."
[0073] 5, the print function extension unit 207 determines the device type based on information obtained in response to the IPP Get-Printer-Attribute operation of the printing device 102, but the print function extension unit 207 may determine the device type based on other information. For example, the print function extension unit 207 may determine the device type based on information obtained from the printing device 102 by another method. The print function extension unit 207 may also determine the device type based on information such as the name of the printing device 102 obtained from the printing device 102 and table information held by the extension application 204. The table information may also be configured to be obtained from a server (not shown).
[0074] The process described with reference to FIG. 5 enables the extension application 204 to perform the most suitable prohibition information processing depending on the connected printing device 102 and its device type.
[0075] Returning to the description of the processing flow of FIG. 4, in S404, the print function extension unit 207 stores the device type of the printing device 102 determined in S403 in the shared information 210. In this embodiment, the print setting screen extension unit 205 uses the stored device type information of the printing device 102 to control conflicts when displaying the print setting screen provided. However, other units of the extension application 204 may use it for other purposes. Also, if the device type information of the printing device is already included in the shared information 210, the print function extension unit 207 may be configured to skip the processing of S401 to S404 when the extension application 204 is subsequently started. In S404, the print function extension unit 207 stores the device type in the shared information 210 and moves the processing to S405.
[0076] In S405, the print function extension unit 207 determines whether the device type of the printing device 102 stored in the shared information 210 is an inkjet printer. If the device type acquired by the print function extension unit 207 is an inkjet printer, the process determines the result of S405 as Yes, and proceeds to S406.
[0077] In S406, the print extension unit 207 obtains the value of the media-col-database attribute.
[0078] The generation of prohibition information unique to the inkjet printer will now be described. In S407, in order to obtain the prohibition information, the print function extension unit 207 obtains the value of the media-col-database attribute in the response value of IPP Get-Printer-Attribute from the printing device 102. The media-col-database attribute value includes information on a list of combinations that can be printed on the printing device 102, from a list of combinations of Option values that can be set as print settings on the printing device 102.
[0079] 7 is a table 701 that shows a schematic example of combination information included in the media-col-database attribute. The values in each column of 701 indicate the option values belonging to each feature, and each row represents one combination. For example, the first row of table 701 indicates that printing is possible on the printing device 102 when a combination of size: A4, paper feed: automatic, and media: plain paper is specified. Table 701 lists three features: size, paper feed, and media, but other features may also be listed.
[0080] Returning to the explanation of Fig. 4, in S407, the print function extension unit 207 analyzes the media-col-database attribute value acquired in S406, and creates a conflict list to be used by the print setting screen extension unit 205.
[0081] The creation of a conflict list will be specifically described with reference to FIG.
[0082] In step S601, the print function extension unit 207 acquires a combination of Option values that can be printed by the printing device 102 from the media-col-database attribute value acquired as a response to Get-Printer-Attribute of the printing device 102.
[0083] In S602, the print function extension unit 207 generates combination information of Features and Options between two items based on the combination of Options of the media-col-database acquired in S601. For example, assume that combination information is generated for the first row of the media-col-database 701 shown in FIG. 7. The print function extension unit 207 generates three combination information items: "Size: A4 and Media: Plain Paper", "Size: A4 and Paper Feed: Automatic", and "Paper Feed: Automatic and Media: Plain Paper". Note that size, paper feed, and media are given as examples of Features, and A4, automatic, and plain paper are given as examples of Options, but other combinations of Features and Options may be used. The print function extension unit 207 generates printable combination information between two items from the media-col-database attribute value, and proceeds to S603.
[0084] In S603, the print function extension unit 207 acquires information indicating whether the printing device 102 supports a specific Feature. In S603, the print function extension unit 207 references a value previously acquired in a response to the IPP Get-Printer-Attribute operation of the printing device 102. In this embodiment, the print function extension unit 207 acquires information indicating whether the printing device 102 supports borderless printing or double-sided printing. Borderless printing is a function for printing without leaving margins at the edges of the paper.
[0085] Information that the printing device 102 can return in the media-col-database attribute value is defined as the IPP printing specifications, but double-sided printing is a feature that is not included in this definition. For this reason, the printing device 102 does not return combination information that includes information about double-sided printing in the media-col-database attribute value in accordance with the specifications. Also, with regard to borderless printing, the information returned by the printing device 102 only includes margin information as part of the size information in the media-col-database attribute value, and the printing device 102 does not return combination information that includes information about borderless printing. Therefore, in this embodiment, the Features that the printing device 102 does not return are organized as printable combinations between two items based on information held by the extension application itself. Note that the information that the printing device 102 does not return in the media-col-database attribute is not limited to the above-mentioned Features, and may be other Features or Options.
[0086] In steps S604 to S606, the printing function extension unit 207 performs a process of adding prohibition information to the conflict list. For a feature that appears in the media-col-database, the printing function extension unit 207 identifies prohibition information based on the combination information between two items generated in step S602, and adds the prohibition information to the conflict list.
[0087] First, in S604, the print function extension unit 207 determines whether the printing device 102 supports a specific feature. Specifically, the print function extension unit 207 switches processing based on the information acquired in S603 as to whether the printing device 102 supports borderless printing and double-sided printing. If it is determined that the printing device 102 supports either borderless printing or double-sided printing, the print function extension unit 207 proceeds to S605. On the other hand, if it is determined that the printing device 102 does not support both borderless printing and double-sided printing, the print function extension unit 207 proceeds to S606.
[0088] In S605, the print function extension unit 207 adds features and options that cannot be set simultaneously for borderless printing and double-sided printing to the conflict list as prohibited information. Note that if the printing device 102 supports only borderless printing or double-sided printing, the print function extension unit 207 adds information about options that cannot be used with the supported functions to the conflict list.
[0089] FIG. 8 is an example of a conflict list created by the print function extension unit 207. The conflict list is a list 801 that diagrammatically represents information indicating a combination of two functions that cannot be set for one print job by the printing device 102. Each of function 1 and function 2 in list 801 consists of a combination of a feature name and an option name. Each line in the conflict list represents prohibited information. For example, the first line of list 801, "Function 1: Media, Envelope Function 2: Borderless printing, On," means that if the media used for printing is an envelope, borderless printing cannot be enabled.
[0090] Furthermore, between function 1 and function 2, function 1 has a higher priority. Priority is a parameter that the print function expansion unit 207 references when changing the setting value to resolve the prohibition. When resolving the prohibition, function 2, which has a lower priority, is changed rather than function 1, which has a higher priority. Taking the first line of list 801 as an example, if the first line of list 801, "Function 1: Media, Envelope Function 2: Borderless Printing, On," is selected, function 1, Media: Envelope, is retained and borderless printing is changed from On to Off.
[0091] Returning to the description of FIG. 6, in S606, the print function extension unit 207 adds a combination not included in the combination information as prohibition information to the conflict list based on the combination information between two items generated in S602 for each Feature. In S606, the print function extension unit 207 identifies a combination of setting values corresponding to the prohibition information for each Feature described in the media-col-database. The print function extension unit 207 adds the identified combination of setting values to the conflict list as prohibition information. A row 802 in a list 801 in FIG. 8 is an example of prohibition information added to the conflict list in S606. The print function extension unit 207 determines that the combination information generated in S602 did not include "media: glossy gold, paper feed slot: main tray" and adds the combination to the conflict list. In this way, prohibition information based on information acquired using the media-col-database and prohibition information related to attribute information that cannot be acquired by the media-col-database can be collected into one conflict list.
[0092] In steps S604 to S606, the print function extension unit 207 adds prohibition information, which is a combination of a feature and an option that cannot be set simultaneously, to the conflict list for each feature. After performing the above-mentioned processing for all features supported by the printing device 102, the process proceeds to step S607.
[0093] In S607, the print function extension unit 207 adds prohibition information common to all models of inkjet printers to the conflict list. For example, in the part of row 803 in the list 801 of FIG. 8, when the feature borderless printing and the option are on, the feature double-sided printing and the option double-sided (long edge binding) cannot be selected. In S607, the prohibition information common to all models is added to the conflict list, and the print function extension unit 207 proceeds to S608. If the printing device is of a certain type, the extension application 204 stores the prohibition information common to all models of printing devices in advance. The print function extension unit 207 adds the prohibition information stored in advance to the conflict list. In this way, the amount of data regarding conflicts acquired from the printing device 102 can be reduced, and the processing related to creating the conflict list can be reduced.
[0094] In S608, the print function extension unit 207 stores the conflict list created and organized in S607 in the shared information 210 of the extension application 204. From the next time onwards, when the extension application 204 is started, the print function extension unit 207 may inquire about the conflict list from the shared information 210 and load the information into RAM for use. The above is the details of the conflict processing when the device type of the printing device 102 is an inkjet printer.
[0095] Returning to Fig. 4 for the explanation, the processing up to S407 is performed, and the print function expansion unit 207 advances the processing to S408. In S408, a prohibition information editing process is performed in the PDC 203 of the inkjet printer. The prohibition information editing process in the PDC 203 of the inkjet printer will be described later. By updating the PDC 203 in S408, the updated PDC 203 can be used when the drawing application 201 or the OS of the information processing device 101 determines whether the PT includes a combination of setting values that match the prohibition information.
[0096] If the result is No in S405 of FIG. 4, the print function extension unit 207 advances the process to S409.
[0097] In S409, the print function extension unit 207 acquires the device type of the printing device 102 stored in the shared information 210. If the device type acquired by the print function extension unit 207 is a laser beam printer, the print function extension unit 207 determines the processing result of S409 as Yes, and proceeds to S410. If the processing result of S409 is No, the print function extension unit 207 determines the device type as Other, and proceeds to the above-mentioned S406 and subsequent steps.
[0098] If the device type acquired by the print function extension unit 207 in S409 is a laser beam printer, the print function extension unit skips creating a conflict list. If the device type is a laser beam printer, information on a list of combinations of option values that can be set as print settings in the printing device 102 is not returned as the media-col-database attribute value. Because the printing device 102 does not return option values that can be set as print settings, the extension application 204 uses prohibition information previously stored in the shared information 210 to execute conflict control processing.
[0099] In S410, the print function expansion unit 207 performs a PDC prohibition information editing process for the laser beam printer, which will be described later.
[0100] In the above embodiment, it has been described that the process of S410 and S406 is switched depending on whether the device type in S409 is a laser beam printer. The print function extension unit 207 may switch between the process of S410 and the processes of S406 to S408 depending on whether the media-col-database attribute value has been acquired from the printing device 102. In this case, if the media-col-database attribute value has been acquired from the printing device 102, the print function extension unit 207 executes the processes described in S406 to S409. On the other hand, if the media-col-database attribute value has not been acquired, the print function extension unit 207 executes the process of S410.
[0101] In this way, when the printing apparatus 102 responds to the information processing apparatus 101 with information regarding a combination of available setting values, a conflict list can be created.
[0102] <Conflict control when starting the print setting screen using the print setting screen extension unit> Next, conflict control by the print setting screen expansion unit 205 when the print setting screen is started will be described with reference to FIG.
[0103] 9 is started when the "Property Settings" button is selected on the print setting screen displayed by the drawing application 201 or the OS, and the print setting screen extension unit 205 is called by the OS. Note that the print setting screen extension unit 205 may be called by another object or instruction.
[0104] In S901, the print setting screen expansion unit 205 acquires the device type from the shared information 210, and the process proceeds to S902.
[0105] In S902, the print setting screen expansion unit 205 determines whether the device type of the printing device 102 is an inkjet printer based on the device type acquired in S901. If the device type of the printing device 102 is an inkjet printer, the print function expansion unit 207 advances the process to S903. If the device type of the printing device 102 is not an inkjet printer, the print setting screen expansion unit 205 advances the process to S904. Note that if the device type is determined to be "other" in S507 of FIG. 5, the print setting screen expansion unit 205 advances the process to S903 in S902.
[0106] In S903, the print setting screen expansion unit 205 performs a conflict control process for the inkjet printer, which will be described with reference to the process flow of FIG.
[0107] In S1001 of FIG. 10, the print setting screen extension unit 205 acquires combinations of each Feature and Option set by the user on the drawing application 201 from the OS in the form of a PrintTicket.
[0108] In S1002, the print setting screen expansion unit 205 acquires the conflict list created by the process flow of FIG.
[0109] From S1003 to S1006, the print setting screen expansion unit 205 repeatedly performs the process described below for each line of the acquired conflict list.
[0110] In S1003, the print setting screen expansion unit 205 determines, based on the PrintTicket and the conflict list, whether an Option of the Feature corresponding to function 1 is set in the acquired PrintTicket. If the Option of the Feature corresponding to function 1 is included in the PrintTicket, the print setting screen expansion unit 205 proceeds to S1004. If the Option of the Feature corresponding to function 1 is not included in the PrintTicket, the print setting screen expansion unit 205 ends processing for the corresponding row in the conflict list.
[0111] Next, in S1004, the print setting screen expansion unit 205 determines whether an option for a feature corresponding to function 2 in the conflict list in Fig. 8 is set in the PrintTicket. If an option for a feature corresponding to function 2 is included in the PrintTicket, the print setting screen expansion unit 205 advances processing to S1005. If an option for the corresponding feature is not included in the PrintTicket, the print setting screen expansion unit 205 ends processing for the corresponding row in the conflict list. If both S1003 and S1004 are Yes, the PrintTicket contains a combination of setting values that match the conflict. Therefore, the processes of S1005 and S1006 are performed, and the setting values are changed to resolve the conflict.
[0112] In S1005, the print setting screen expansion unit 205 changes the Option of the Feature set in function 2 to a value that does not cause a conflict with the Option of the Feature set in function 1. This resolves the conflict that exists in the PrintTicket. If there are two Options for function 2, the print setting screen expansion unit 205 changes the Option to the other Option that does not cause a conflict. If the Option for function 2 consists of multiple values, the print setting screen expansion unit 205 changes the Option to the default Option.
[0113] By performing the above process for every line in the conflict list, the PrintTicket conflicts are resolved.
[0114] The above is an example of the conflict control process executed by the print setting screen expansion unit 205 when the device type of the printing apparatus 102 is an inkjet printer.
[0115] Returning to the description of Fig. 9, when the inkjet conflict control process of S903 ends, the print setting screen expansion unit 205 advances the process to S905.
[0116] In S905, the print setting screen expansion unit 205 acquires each Feature and Option to be displayed on the print setting screen, and displays the print setting screen based on the acquired values. In this way, even if a conflicting combination of setting values is set on the print setting screen displayed by the drawing application 201 or the OS, it is possible to display the expanded print setting screen in a state where the conflict is resolved.
[0117] 9, if the print setting screen expansion unit 205 determines No in S902 and advances the process to S904, the print setting screen expansion unit 205 performs conflict control of the laser beam printer in S904. The conflict control process of the laser beam printer will be described with reference to FIG.
[0118] In S1101 of FIG. 11, the print setting screen extension unit 205 acquires combinations of each Feature and Option set by the user on the drawing application 201 from the OS in the form of a PrintTicket.
[0119] In S1102, the print setting screen expansion unit 205 acquires prohibition information for a laser beam printer that has been stored in advance in the shared information 210. The prohibition information for a laser beam printer is, for example, a combination of setting values such as "paper type: photo paper, staple: enabled." It is assumed that the extension application 204 is distributed with the prohibition information for a laser beam printer set in advance in the extension application 204.
[0120] In this embodiment, the prohibition information for the laser beam printer is downloaded to the information processing device 101 together with the extension application 204. When the extension application 204 is installed, the prohibition information is expanded in memory as shared information 210 and becomes available for reference. In this embodiment, it is assumed that the prohibition information for the laser beam printer is included in the extension application 204 and downloaded as described above. However, the prohibition information may be placed on a server (not shown), and the extension application 204 may access the server to obtain the prohibition information. In S1102, the print setting screen extension unit 205 obtains the prohibition information from the shared information 210, and the process proceeds to S1103.
[0121] In S1103, the print setting screen expansion unit 205 determines whether a specified Feature and Option are selected in the PrintTicket acquired in S1101. In this embodiment, it determines whether a stapling or punching option is selected as the specified Feature. If a stapling or punching option is set in the PrintTicket, the print setting screen expansion unit 205 proceeds to S1104. If neither stapling nor punching is set in the PrintTicket, the print setting screen expansion unit 205 ends the flow in FIG.
[0122] In S1104, it is determined whether the PrintTicket contains a combination of Feature and Option that conflicts with the Option value selected for stapling or punching obtained in S1103. The processing in S1104 is performed based on the obtained prohibition information.
[0123] If it is determined that the PrintTicket contains a combination of Features and Options that conflict with the staple or punch settings, the print setting screen expansion unit 205 advances the process to S1105. If it is determined No in S1104, the print setting screen expansion unit 205 ends the flow of FIG.
[0124] In S1105, the print setting screen expansion unit 205 changes the value of the Option selected for stapling or punching to a value that does not conflict with the prohibition information, and proceeds to the process of S1106.
[0125] In S1106, the print setting screen expansion unit 205 reflects the changed stapling or punching option in the PrintTicket.
[0126] The above is an example of the conflict control process executed by the print setting screen expansion unit 205 in the laser beam printer. Note that in this embodiment, it is assumed that the conflict control process is executed when options are set for stapling and punching as features. The print setting screen expansion unit 205 may sequentially check whether a conflict occurs between each feature of the connected printing device 102 and the option of the feature. Then, if a conflict occurs, the print setting screen expansion unit 205 may resolve the conflict based on the priority order of each feature.
[0127] Returning to the description of Fig. 9, in S905, the print setting screen expansion unit 205 acquires each Feature and Option to be displayed on the print setting screen based on the conflict-resolved PrintTicket, and displays the print setting screen based on the acquired values.
[0128] With the above configuration, the print setting screen expansion unit 205 performs conflict control processing when displaying the print setting screen provided, making it possible to display the print setting screen in a state where conflicts have been resolved in advance. This makes it possible for the user to prevent printing failure or the printing device 102 from changing options to resolve conflicts, resulting in unintended print results. For the user, this can be expected to improve printing convenience, and it can also prevent waste of ink and toner.
[0129] In addition, in this embodiment, the print function extension unit 207 determines the device type and switches the creation process of the conflict list to be created depending on the device type. This enables conflict prohibition processing depending on the device type of the printing device 102 connected to the information processing device 101. In addition, by switching the conflict control processing performed by the print setting screen extension unit 205 depending on the device type, it becomes possible to resolve conflicts in an appropriate manner depending on the type of device that returns different information. That is, in this embodiment, a single extension application 204 can provide the optimal print function extension and print setting screen for the connected printing device 102.
[0130] In the present embodiment, the process shown in FIG. 9 is executed when the print setting screen extension unit 205 starts displaying the extended print setting screen. The process shown in FIG. 9 may be executed at other times. For example, the process shown in FIG. 9 may be executed every time the user changes the setting value on the extended print setting screen. In this case, after the change of the setting value is accepted from the user, the process shown in FIG. 9 is executed for the changed setting value. Note that while the extended print setting screen is open, the setting value set on the extended print setting screen is not immediately written to the PrintTicket, but is stored in a memory area that the extension application 204 can refer to. In S1001 of FIG. 10 or S1101 of FIG. 11, the print setting screen extension unit 205 acquires the changed setting value from the memory area instead of the PrintTicket. The subsequent processes are the same as those in FIG. 10 and FIG. 11. If the changed settings include a combination of conflicting setting values, the setting value of the setting item with the lower priority is changed to resolve the conflict. At this time, a display may be provided on the extended print setting screen so that the user can know which setting item has been changed.
[0131] FIG. 3(c) shows a screen that is displayed when the printing device 102 is an inkjet printer and the user attempts to set "Paper type: photo paper, double-sided printing: enabled (long edge binding)" on the extended print settings screen. The double-sided printing setting is changed from enabled to disabled, and a message stating "Settings have been changed" is displayed. In this manner, the user can be informed that the setting values have been changed. Note that when the print settings screen extension unit 205 starts displaying the extended print settings screen, if the conflict is resolved, this message may or may not be displayed.
[0132] Next, the operation when a print instruction is given on the print setting screen provided by the drawing application 201 or the OS will be described below.
[0133] When a print instruction is given on the drawing application 201 or the print setting screen of the OS, the drawing application 201 generates drawing data, and the drawing data and print settings are input to the print data generation software 202. The print data generation software 202 determines whether or not a conflicting combination of setting values is set in the print settings received from the drawing application 201. This determination is made by comparing prohibition information described in a PDC 203 (described later) with the print settings received from the drawing application 201. If a conflicting combination of setting values is included in the print settings received from the drawing application 201, the conflict is resolved by changing at least one setting value included in the combination.
[0134] The print data generation software 202 generates PDL data based on the drawing data. In this embodiment, the print data generation software 202 generates PDF data or raster image data in a predetermined format.
[0135] The generated PDL data and print settings are sent to the printing device 102 via the print data editing unit 208 .
[0136] In the above description, the print data generation software 202 generates PDL data and determines whether the print settings include a setting value that matches the prohibition information. The print data editing unit 208 may generate PDL data and determine whether the print settings include a setting value that matches the prohibition information. In this case, when the drawing application 201 accepts a print instruction, a notification is input to the skip control unit 206. The skip control unit 206 instructs the print data generation software 202 to skip the generation process of PDL data. The drawing application 201 transmits the drawing data and the print settings to the print data editing unit 208 without converting the drawing data and the print settings received by the print data generation software 202. The print data editing unit 208 generates PDF data or raster image data of a predetermined format based on the received drawing data and the print settings. At this time, the print data editing unit 208 refers to a conflict list stored in the shared information 210 and determines whether the print settings received from the print data generation software 202 include a combination of setting values that match the prohibition information. If the prohibition information includes a combination of setting values that match, the setting value of the function with the lower priority specified in the prohibition information is changed to resolve the conflict. The PDL data and print settings are sent to the printing device 102.
[0137] <Conflict handling at PDC level by the printing function expansion unit> Next, a description will be given of the conflict editing process performed by the print function extension unit 207 on the PDC 203. Note that configurations not described in this embodiment are the same as those in the first embodiment, and descriptions thereof will be omitted.
[0138] As described above in the first embodiment, there are multiple combinations of Feature and Option values between two items that cannot be set simultaneously in the printing device 102. However, the prohibition information written in the PDC 203 of the printing device 102 generated by the print data generation software 202 is limited. If a combination of Option values that should not be set is specified and printing is performed on the printing device 102, there is a possibility that the printing device 102 will perform an unexpected operation. For this reason, it is desirable to write, as prohibition information, combinations of Option values that should not be set in the PDC 203 of the printing device 102.
[0139] Here, an explanation will be given with reference to Fig. 14. Fig. 14 shows a PDC 1401 generated by the print data generation software 202. The print data generation software 202 acquires configuration information from the printing device 102. At this time, it is possible to inquire of the printing device 102 about the combination of setting values that conflict. The print data generation software 202 acquires configuration information including the combination of setting values that conflict from the printing device 102, and updates the PDC based on the acquired configuration information. Fig. 14 shows the PDC 1401 after the update.
[0140] PDC1401 describes Features and Options that can be used by the printing device 102. Information 1402 therein is prohibition information for causing the OS to control the OS to prohibit printing that specifies the two described items at the same time. The example of PDC1401 indicates that printing that specifies Photographic (photo paper) as the media and Main (main tray) as the paper feed slot is prohibited by the OS. Note that the information described in PDC1401 is merely an example, and other prohibition information may actually be described.
[0141] By writing prohibition information onto the PDC 1401, the OS performs conflict control in accordance with the PDC. Therefore, it is expected that the OS will resolve the conflict and generate a PrintTicket before the print setting screen extension unit 205 described above is started.
[0142] Next, a flow in which the extension application 204 edits the PDC prohibition information of an inkjet printer will be described with reference to Fig. 12. The editing flow in Fig. 12 begins with the print function extension unit 207 determining the device type in S405 and S406 in the overall configuration of the PDC prohibition information editing flow in Fig. 4. After conflict processing according to the device type is executed, the process starts when PDC conflict editing processing is executed in S408 or S410.
[0143] The PDC conflict editing process differs between inkjet printers and laser beam printers for reasons that will be described later. Here, the PDC editing process of inkjet printers will be first described.
[0144] In S1201 of the process flow in FIG. 12, the print function extension unit 207 acquires a conflict list from the shared information 210, and the process proceeds to S1202.
[0145] In steps S1202 and S1203, the print function extension unit 207 executes processing for each line of the acquired conflict list.
[0146] In S1202, the print function extension unit 207 determines whether the information on one line of the acquired conflict list matches the prohibition information already written in the PDC 1401 in Fig. 14. If S1202 is Yes, the print function extension unit 207 proceeds to S1203. If No, the print function extension unit 207 determines that there is no need to add the information on the corresponding line of the conflict list to the PDC 1401 as prohibition information, and ends the processing in Fig. 12.
[0147] In step S1203, the print function extension unit 207 edits the PDC 1401 acquired from the OS. The print function extension unit 207 adds to the PDC 1401 prohibition information of a conflict list created based on the media-col-database attribute acquired from the printing device 102 or model-wide rules.
[0148] The print function extension unit 207 repeatedly executes the process from S1202 to S1203 for each line of the acquired conflict list, thereby adding the prohibition information held by the extension application 204 to the PDC 1401, making it possible to use it for conflict control of the OS.
[0149] 15 shows an example of a PDC 1501 after the print function extension unit 207 executes the process of FIG. 13 on the PDC 1401. It can be seen that additional prohibition information 1502 has been added to the PDC 1501 compared to the PDC 1401.
[0150] By the above process, when the device type is an inkjet printer, it is possible to realize the addition of prohibition information possessed by the extension application 204 to the PDC generated by the print data generation software 202.
[0151] Next, when the device type is a laser beam printer, printable combinations are determined between options of three or more features. In other words, the prohibition information is composed of combinations of options of three or more features. Therefore, the number of prohibition information is greater than that of an inkjet printer.
[0152] 16 shows an example 1601 of a PDC generated by the print data generation software 202 when the device type is a laser beam printer. A laser beam printer has more prohibition information than an inkjet printer, and this causes a problem of longer processing time.
[0153] FIG. 13 is a diagram showing a detailed flow of the PDC editing process performed by the print function extension unit 207 when the device type is a laser beam printer.
[0154] In step S1301, the print function extension unit 207 deletes the prohibition information 1602 written on the PDC 1601 of the printing device 102 acquired from the OS.
[0155] FIG. 17 shows the edited PDC 1701 after the printing function expansion unit 207 deletes the prohibited information 1602.
[0156] The above is the detail of the PDC conflict editing process of the laser beam printer of 410 in FIG. 4.
[0157] The extended application 204 switches and executes the PDC conflict editing process based on the device type determined in FIG. 5 described above. When the device type is an inkjet printer, the extended application 204 adds prohibited information to the PDC 203 in the process of FIG. 12. On the other hand, when the device type is a laser beam printer, the extended application 204 deletes the prohibited information from the PDC 203 in the process of FIG. 13. By this process, the extended application 204 can realize an optimal function expansion process according to the connected printing device 102 and its device type. Furthermore, when the printing device 102 is an inkjet printer, it is also possible to expand the conflict control process of the OS by adding prohibited information based on the information obtained from the printing device 102 to the PDC 203.
[0158] In this embodiment, the processing is switched between two types of device types, an inkjet printer and a laser beam printer. However, it is also possible to further determine a plurality of device types and switch the processing according to the determined device type. With the above configuration, the extended application 204 in this embodiment can realize an optimal function expansion process for the connected printing device 102 with one extended application 204.
[0159] <Example of Conflict Control by PDC> By editing the PDC as described above, the OS performs conflict control processing based on the prohibition information between two items described in the PDC. Therefore, even if the print settings set when drawing application 201 receives a print request from a user include a combination of two setting values that conflict, the conflict can be resolved by referring to PDC 203. In other words, the OS refers to the values of the Features and Options described in the PrintTicket and the prohibition information described in PDC 203, and determines whether a combination of setting values that causes a conflict has been set. In this way, a PrintTicket with conflicts resolved can be passed to extension application 204.
[0160] Furthermore, by editing the PDC in this way, depending on the drawing application 201, it is possible to refer to the PrintCapabilities generated based on the PDC 203 and to prevent combinations that would cause a conflict from being selected at the same time.
[0161] A screen displayed by the drawing application 201 will be described with reference to Fig. 18. In this embodiment, a screen 1801 in Fig. 18 is an example of a photo viewer provided as standard with Microsoft Windows.
[0162] Reference numeral 1802 in FIG. 18(a) is a control item for selecting a paper size, with A4 selected as the paper size. Reference numeral 1803 is a control item for selecting a paper type, with photo paper selected as the paper type. FIG. 18(a) shows an example of a case where no conflict occurs. When control item 1804 in FIG. 18 is selected, a dialog 1805 relating to print settings is displayed, as shown in FIG. 18(b). When a user selects control item 1806 arranged in the dialog 1805, the OS calls up the extension application 204, and an extended print setting screen provided by the print setting screen extension unit 205 included in the extension application 204 is displayed.
[0163] On the other hand, the screen 1807 in FIG. 18C shows a screen when a conflict occurs. In the control item 1808 of the screen 1807, the paper size: multi-purpose tray is selected. At this time, the control item 1809 of the screen 1807 shows the display state when the control is expanded. The user can select the paper type from the expanded list. In the control 1809 of the screen 1807, the multi-purpose tray is selected as the paper size, so the paper type that may cause a conflict with the paper size: multi-purpose tray is not displayed in the options of the expanded control. In this way, it is possible to prevent the user from unintentionally selecting a combination that causes a conflict at the stage of issuing a print request in the drawing application. This control method will be described. The drawing application 201 selects a Feature corresponding to the selected setting item based on the user's selection of a setting item whose setting value is to be changed. The drawing application 201 reads out prohibition information of the PDC 203. From the read prohibition information, prohibition information including a Feature corresponding to the setting item selected by the user is identified. Among the identified prohibition information, options of the features different from the feature selected by the user are referenced, and prohibition information of the option that matches the currently set option is identified. Based on the identified prohibition information, the drawing application 201 removes options that conflict with the current setting from the options that can be selected in the feature corresponding to the setting item selected by the user. The drawing application 201 displays the remaining options on the print setting screen as choices for the setting item selected by the user.
[0164] In this way, even if the user operates the print setting screen to change the settings, it is possible to control so that a conflict does not occur.
[0165] In addition to the above, the prohibition information described in the PDC may be used in the following manner. For example, when a user sets a combination of setting values that matches the prohibition information on a print setting screen displayed by the drawing application 201 or the OS, the prohibition may be eliminated by changing one of the setting values to a default value. Also, a message may be displayed to notify the user that a prohibition has occurred.
[0166] <Other embodiments> In this embodiment, when creating a conflict list for an inkjet printer, a media-col-database, which is a combination of setting values that can be used by the inkjet printer, is acquired. Then, a combination of setting values that is not included in the acquired media-col-database is regarded as prohibited information. However, prohibited information may also be acquired from the inkjet printer. In that case, the prohibited information acquired from the inkjet printer is added directly to the conflict list.
[0167] In the above embodiment, the process of creating the conflict list is different for the inkjet printer and the laser beam printer. The conflict list may be generated in a similar manner regardless of the printing method of the printing device. The prohibition information described in the PDC may also be edited in a similar manner regardless of the printing method.
[0168] The present invention can also be realized by executing the following process. That is, software (programs) that realize the functions of the above-described embodiments are supplied to a system or device via a network or various storage media, and the computer (or CPU, MPU, etc.) of the system or device reads and executes the program code. In this case, the computer program and the storage medium on which the computer program is stored constitute the present invention.
Claims
1. An application that cooperates with an IPP class driver, The information processing device an acquisition step of acquiring print setting information from an operating system of the information processing device; a determining step of determining whether the print setting information includes a combination of setting values that cannot be set simultaneously; a changing step of changing at least one of the setting values corresponding to the combination to another setting value when it is determined in the determining step that the setting value corresponding to the combination is included in the print setting information; and a control step of causing the information processing device to display a print setting screen based on the print setting information changed in the change step.
2. 2. The application according to claim 1, wherein the obtaining step is executed in response to a notification from an operating system of the information processing device.
3. The application described in Claim 2, characterized in that the notification is issued in response to a user giving an instruction to display another print setting screen displayed by a drawing application that displays the data to be printed.
4. The application described in Claim 1, characterized in that the print setting information is a PrintTicket.
5. The application described in Claim 1, characterized in that the print setting information includes information on setting values set on another print setting screen displayed by a drawing application that displays the data to be printed.
6. The application of claim 1 , wherein the combination is identified based on information obtained from a printing device.
7. The application of claim 6, wherein the information obtained from the printing device includes a media-col-database.
8. The application described in Claim 6, characterized in that the information obtained from the printing device is information that can identify whether the printing device is an inkjet device or a laser beam device.
9. The application described in Claim 8, characterized in that, when the printing device is an inkjet device, the combination is identified based on capability information obtained from the printing device.
10. The application described in Claim 8, characterized in that when the printing device is a laser beam device, the information processing device is caused to execute the modification process using information about the combination that has been pre-stored in a memory area allocated as an area in which information specific to the application can be stored.
11. The information processing device further comprises: determining whether a plurality of setting values set via the print setting screen includes a setting value corresponding to the combination; The application according to claim 1, characterized in that, if the plurality of setting values set via the print setting screen includes a setting value that corresponds to the combination, at least one value of the setting values that matches the combination is changed.
12. The information processing device further comprises:
12. The application according to claim 11, wherein a setting item whose setting value has been changed is notified.
13. 2. The application according to claim 1, wherein the combination is a combination related to a borderless printing function for printing an image up to the edge of a paper.
14. An information processing device in which an IPP class driver and an application that cooperates with the IPP class driver are installed, an acquisition unit that acquires print setting information from an operating system of the information processing device; a determining means for determining whether the print setting information includes a combination of setting values that cannot be set simultaneously; a change unit that changes at least one of the setting values corresponding to the combination to another setting value when it is determined that the setting values corresponding to the combination are included in the print setting information; and a control means for causing the information processing device to display a print setting screen based on the changed print setting information.
15. A method for controlling an information processing device in which an IPP class driver and an application that cooperates with the IPP class driver are installed, comprising: an acquisition step of acquiring print setting information from an operating system of the information processing device; a determining step of determining whether the print setting information includes a combination of setting values that cannot be set simultaneously; a changing step of changing at least one of the setting values corresponding to the combination to another setting value when it is determined in the determining step that the setting value corresponding to the combination is included in the print setting information; a control step of causing the information processing device to display a print setting screen based on the print setting information changed in the change step.