Application program, information processing device, and control method thereof
The printing system efficiently utilizes additional printer functions by requesting and displaying capability information, addressing the limitations of IPP-defined functions and enhancing user control over advanced printer settings.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2025-01-27
- Publication Date
- 2026-05-25
AI Technical Summary
Existing printing systems using IPP (Internet Printing Protocol) do not efficiently utilize numerous printing functions that are not defined in the protocol, limiting the utilization of advanced printer capabilities.
A printing system where an information processing device requests and displays capability information from a printing device, allowing users to select and utilize multiple printing attributes and settings beyond IPP-defined functions through a print settings extension application.
Enables efficient utilization of various printing functions not defined in IPP, providing a comprehensive and user-friendly interface for advanced printer settings.
Smart Images

Figure 0007864876000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an application program, an information processing apparatus, and a control method thereof, and more particularly to an application program, an information processing apparatus, and a control method thereof that communicate with a printing apparatus to generate print data.
Background Art
[0002] General-purpose printer drivers (local printer drivers) that directly communicate with a printing apparatus using industry-standard protocols, such as IPP (Internet Printing Protocol), are widely used. A local printer driver is provided by the provider of the OS (Operating System) of a client terminal, and is a printer driver that generates print data that can be interpreted by printers of a plurality of printer vendors (printer manufacturers).
[0003] A user can transmit print data to a printing apparatus by using a local printer driver without installing a printer driver specific to a printer vendor in an information processing apparatus.
[0004] Furthermore, there is printing using a cloud print service. In a cloud print service, a printer driver for a cloud print service (cloud printer driver) is installed in an information processing apparatus.
[0005] A cloud printer driver is also a driver provided by the provider of the OS of a client terminal, and is a printer driver using IPP that generates print data that can be interpreted by printers of a plurality of printer vendors. In a cloud print service, printing is executed by an information processing apparatus transmitting print data to a cloud print service using a cloud printer driver, and the cloud print service transmitting the print data to a printing apparatus.
[0006] Regarding printing using cloud printing services, there is a technology that generates print data from application data such as PDF (Portable Document Format) and Microsoft Word, which are handled by information processing devices, and sends it to the printing device.
[0007] For example, Patent Document 1 mentions a technique for enabling the use of printing functions of a printing device that are not defined in IPP. However, there are many printing functions of a printing device that are not defined in IPP, and it is not efficient to define attributes for each of these functions in order to use them. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Japanese Patent Publication No. 2021-33526 [Overview of the Initiative] [Problems that the invention aims to solve]
[0009] The present invention aims to efficiently utilize numerous printing functions that are not defined in IPP. [Means for solving the problem]
[0010] The printing system of the present invention is a printing system in which an information processing device and a printing device are connected in a communicative manner, wherein the information processing device is Internet Printing Not defined in Protocol (IPP) The printing device has a request means for requesting capability information indicating the functions available to the printing device by specifying predetermined attribute information, and a display means for displaying setting items corresponding to the capability information, and the printing device has a receiving means for receiving the request for capability information, and a response means for responding with information including a plurality of different printing attributes and the attribute values of each of the plurality of printing attributes when the receiving means receives a request specifying the predetermined attribute information. The display means displays multiple setting items corresponding to each of the multiple print attributes, and the setting values of the multiple setting items selected by the user are classified into predetermined groups and transmitted from the information processing device to the printing device. It is characterized by the following: [Effects of the Invention]
[0011] According to the present invention, it becomes possible to efficiently utilize numerous printing functions that are not defined in IPP. [Brief explanation of the drawing]
[0012] [Figure 1] This figure shows an example of the schematic configuration of a printing system including a client terminal as an information processing device according to an embodiment of the present invention. [Figure 2] A diagram showing an example of the hardware configuration of each module in a printing system. [Figure 3] A sequence diagram of the processes executed between each module of the printing system, initiated by the selection of a print queue on the client terminal. [Figure 4] A flowchart illustrating the process when a client terminal in this embodiment requests capability information. [Figure 5] A flowchart illustrating the process by which the printer in this embodiment responds with capability information. [Figure 6] A flowchart illustrating the process when a client terminal in this embodiment sends print data. [Figure 7] A flowchart illustrating the process by which the printer in this embodiment receives print data. [Figure 8] This diagram shows a table of various print attributes for the client terminal and printer in this embodiment. [Figure 9] This figure shows an example of the print settings screen of the client terminal in this embodiment. [Figure 10] A diagram showing an example of attribute values for IPP extended attributes in this embodiment. [Figure 11] This figure shows examples of IPP commands used by the client terminal and printer in this embodiment. [Modes for carrying out the invention]
[0013] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential for the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant descriptions are omitted.
[0014] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015] FIG. 1 is a diagram showing an example of the schematic configuration of a printing system including a client terminal as an information processing apparatus according to an embodiment of the present invention.
[0016] In a printing system 1, a client terminal 101, a cloud print server 102, an application management server 103, and a cloud print-compatible printer 104 (hereinafter referred to as printer 104) are communicably connected via a network 105.
[0017] In FIG. 1, one client terminal 101 and one printer 104 are shown, but there may be a plurality of client terminals 101 and printers 104, respectively.
[0018] Further, the cloud print server 102 may be a server system configured by a plurality of information processing apparatuses. Thereby, load distribution can be dispersed to a plurality of information processing apparatuses. Further, the cloud print server 102 may be virtually configured inside one physically information processing apparatus.
[0019] The network 105 assumes a WAN such as the Internet, but all may be a closed environment such as an in-house LAN.
[0020] The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is a terminal that is directly operated by the user. Any application software can be executed on the client terminal 101.
[0021] The local printer driver 113 and the cloud printer driver 111 are printer drivers provided by the provider of the OS (Operating System) 114 of the client terminal 101. Drivers 113 and 111 are IPP-compliant class drivers that generate print data that can be interpreted by printers from multiple different printer vendors and can send that print data to any of the printers from those multiple vendors. The local printer driver 113 and the cloud printer driver 111 are provided together with the OS 114 and can be considered as printing functions of the OS 114.
[0022] The local printer driver 113 is used when connecting the printer 104 and the client terminal 101 without going through a server. An example of a local printer driver 113 is the Windows® IPP Class Driver.
[0023] The cloud printer driver 111 is a printer driver used when utilizing the cloud print service 121 within the cloud print server 102 provided by the OS vendor. An example of a cloud printer driver 111 is the Windows® UP (Universal Print) Class Driver.
[0024] To use cloud printing, the printer information 104 must be registered with the cloud printing service 121 in advance. The client terminal 101 specifies printer 104 as the output destination for the print data generated by the cloud printer driver 111 and sends the print data to the cloud printing service 121. The cloud printing service 121 sends the print data from the client terminal 101 to the specified printer 104, and printing is executed.
[0025] Furthermore, the local printer driver 113 and the cloud printer driver 111 are already stored in the client terminal 101's storage unit 214 when the client terminal 101 is shipped.
[0026] The print spooler 116 is a printing function provided by the OS 114, and has the function of storing intermediate data and print data received from the local printer driver 113 and the cloud printer driver 111 in a temporary storage area. The print data stored in the temporary storage area can be called by the print settings extension application 112 or sent to the cloud print server 102 or the printer 104.
[0027] In this specification, the printing-related functions provided by the OS114, such as the cloud printer driver 111, the local printer driver 113, and the print spooler 116, are sometimes collectively referred to as "printing software." Furthermore, the subject of the operation of the printing software may sometimes be referred to as the OS114.
[0028] The print settings extension application 112 (application program) is a print settings application provided by one of the aforementioned printer vendors (manufacturers) that provides the printer used for printing.
[0029] The print settings extension application 112 works in conjunction with the local printer driver 113 and the cloud printer driver 111, and is an application that supports the local printer driver 113 and the cloud printer driver 111. The print settings extension application 112 is called a PSA (Print Support Application) in Windows®.
[0030] In this embodiment, the print settings extension application 112 is stored in the storage unit 214 when the client terminal 101 is shipped, but is not limited to this. If the print settings extension application 112 is not stored in the storage unit 214 when the client terminal 101 is shipped, it is downloaded from the application management server (103) via the network 105 by a predetermined user operation on the client terminal 101. The print settings extension application 112 extends the print settings functions of the local printer driver 113 and the cloud printer driver 111 via the print spooler 116 of the OS 114.
[0031] The printer 104 is a printing device that actually prints onto a recording medium such as paper. The device capability response processing unit 104a manages the device capability information of the printer 104 and notifies the client terminal of that capability information in response to a request. The print processing unit 104b converts the print data received from the client terminal 101 via the network 105 or directly into image data and prints it.
[0032] The print settings UI unit 112a provides the user with an extended print settings UI 112d provided by the printer vendor in the print settings extension application 112.
[0033] Specifically, the print settings UI unit 112a generates and displays the print settings UI 112d based on the capability information obtained from the cloud print service 121 by the OS 114 and the print settings extension application 112. An example of the print settings UI 112d, the print function settings screen, will be described later using Figure 5.
[0034] The device capability collection processing unit 112b is a module that operates the OS 114 to collect capability information of the printer 104 and updates the device capability information managed by the OS 114 based on the collected capability information.
[0035] Document generation applications 115 are common applications such as document file generation applications, spreadsheet applications, presentation applications, and web browsers. These applications may be pre-installed on OS 114, or users may download and install them.
[0036] The cloud print server 102 is a server device for providing the cloud print service 121 provided by the OS vendor. In this embodiment, the cloud print server 102 receives print instructions and print data from the client terminal 101. The cloud print server 102 then provides the service to the user by sending the received print data to the printer 104.
[0037] Next, we will describe the hardware configuration of each module of the printing system 1 using Figure 2.
[0038] Figure 2(a) is a block diagram showing the hardware configuration of client terminal 101.
[0039] The client terminal 101 includes a display unit 216, an operation unit 217, a storage unit 214, a control unit 211, and a network communication unit 215.
[0040] The memory unit 214 refers to a non-volatile storage device such as a hard disk or SSD, which is capable of storing and rewriting digital data.
[0041] The control unit 211 consists of a CPU 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 loads the computer programs stored in the storage unit 214 into the memory 213 and executes them. The memory 213 is the main memory of the CPU 212 and is used as a work area and a temporary storage area for loading various programs.
[0042] The network communication unit 215 is a device that communicates with the external network 105 and performs input and output of digital data with external servers, client terminals, etc. via the network 105.
[0043] The display unit 216 is a device for displaying visual information to the user in real time, such as a liquid crystal display. The operation unit 217 is a device for receiving input from the user via a keyboard, mouse, or the like. A device that combines the functions of both the display unit 216 and the operation unit 217, such as a touch panel, may also be used.
[0044] Figure 2(b) is a block diagram showing the hardware configuration of the cloud print server 102. The cloud print server 102 comprises a storage unit 224, a control unit 221, and a network communication unit 225. The control unit 221 consists of a CPU 222 and a memory 223.
[0045] The memory unit 224, control unit 221, network communication unit 225, CPU 222, and memory 223 have the same functions as the devices with the same names that are provided in the client terminal 101, so their descriptions are omitted.
[0046] In this embodiment, the cloud print server 102 is composed of a single information processing device having the hardware configuration shown in Figure 2(b), but the cloud print server 102 may be composed of multiple information processing devices as shown in Figure 2(b).
[0047] Figure 2(c) is a block diagram showing the hardware configuration of the application management server 103. The application management server 103 comprises a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235. The control unit 231 is composed of a CPU 232 and a memory 233.
[0048] The display unit 236, operation unit 237, storage unit 234, control unit 231, network communication unit 235, CPU 232, and memory 233 have the same functions as the devices with the same names that are provided in the client terminal 101, so they are omitted from this description.
[0049] In this embodiment, the application management server 103 is described as being composed of a single information processing device having the hardware configuration shown in Figure 2(c), but the application management server 103 may be composed of multiple information processing devices.
[0050] Figure 2(d) is a block diagram showing the hardware configuration of printer 104. Printer 104 comprises a display unit 246, an operation unit 247, a storage unit 244, a control unit 241, a network communication unit 245, and a printing unit 248. The control unit 241 is composed of a CPU 242 and a memory 243.
[0051] The display unit 246 is a device that displays information to the user in real time, such as a touch panel or LEDs attached to the printer 104.
[0052] The operation unit 247 is a device for receiving input from the user and may include a touch panel as well as hard keys such as a numeric keypad. The storage unit 244, control unit 241, CPU 242, and memory 243 have the same functions as the devices with the same names that are provided in the client terminal 101, so their description is omitted.
[0053] The network communication unit 245 is a device that communicates with the external network 105, and its main roles are to receive print data and to send information about the printer status 104, such as errors, to an external server.
[0054] The printing unit 248 is a device that performs a series of operations including paper feeding, printing, and paper ejection on paper prepared in a cassette or tray. The printing method is not particularly limited and can be electrophotographic or inkjet. Finishing devices such as a duplex unit, stapling, and punching used during paper ejection are also included in the printing unit 248.
[0055] In this embodiment, a single-function printer that only performs printing functions is described as an example of printer 104, but a multi-function printer (multifunction device) that also has scanning and faxing functions may also be used.
[0056] Next, using Figure 3, an example of the sequence of processes executed between each module of the printing system 1, which is initiated by the user selection of the print queue at the client terminal 101, will be explained.
[0057] Figure 3 shows the process that is executed after the printer 104 information is registered with the cloud print service 121 and the print queue has been created. Here, it is assumed that a print queue has already been created for sending the print data generated by the cloud printer driver 111 to the printer 104 via the cloud print service 121. Alternatively, the cloud printer driver 111 may be replaced with the local printer driver 113, and communication with the printer 104 may be made directly without going through the cloud print service 121.
[0058] The OS114's print spooler 116 accepts the user's selection of a print queue via the print settings UI provided by the document generation application 115 (step S301). Specifically, the user first launches the document generation application 115 on the client terminal 101, opens the document to be printed in the document generation application 115, and selects "Print" from the menu. Upon receiving this selection, the document generation application 115 displays the application print settings UI on the display unit 216.
[0059] The application print settings UI displays the printer names of printers capable of printing the print data sent from the client terminal 101. When the user selects the printer name of the printer to be used as the destination for the document to be printed on the application print settings UI, the print spooler 116 determines that the user has selected the print queue corresponding to the selected printer name. Note that the print queue may also be selected using the OS print settings UI provided by the OS 114, which is different from the application print settings UI provided by the document generation application 115.
[0060] In this embodiment, we will describe the case in step S301 where the printer name of printer 104, which is a cloud printer that prints print data via the cloud print service 121, is selected by the user on the application print settings UI.
[0061] When a print queue is selected, the print spooler 116 reads the Print Ticket. A Print Ticket is a file containing print settings information written in XML format, and is managed for each print queue. The Print Ticket contains print settings in a format that OS114 can interpret. Print settings are described as pairs of setting items and setting values.
[0062] Next, the print spooler 116 sends a request to the cloud print service 121 to obtain capability information for the printer (in this case, printer 104) corresponding to the user-selected print queue received in step S301 (step S302).
[0063] This acquisition request uses the Get-Printer-Attributes command defined in IPP (Internet Printing Protocol). By setting attribute information corresponding to the setting item as an argument to this command, the print spooler 116 can acquire the capability information of the setting item specified. In this embodiment, attribute information and attribute values are information exchanged according to IPP.
[0064] The cloud print service 121 responds to the OS 114's print spooler 116 with information about the capabilities of the printer 104 (step S303).
[0065] The OS114 print spooler 116 stores the capability information obtained from the response from the cloud print service 121 in step S303 as device capability information associated with the print queue of the printer 104 (step S304).
[0066] The print spooler 116 of OS114 notifies the device capability collection processing unit 112b of the print settings extension application 112 of an event (device capability information editing event) indicating that it is possible to edit the device capability information (step S305).
[0067] When the device capability acquisition processing unit 112b receives a device capability information editing event from the print spooler 116 in step S305, it makes the OS 114's API (Application Programming Interface) available. This API is used to edit device capability information.
[0068] When the device capability collection processing unit 112b receives a device capability information editing event from the print spooler 116 in step S305, it requests capability information for the printer 104 from the cloud print service 121 (step S306).
[0069] Specifically, the device capability collection processing unit 112b makes the request in step S306 to the cloud print service 121 using a standard protocol such as Get-printer-Attributes defined in IPP, which contains the attribute information selected as the target of the request.
[0070] The print settings extension application 112 can also obtain capability information for attribute information not supported by OS 114. In this embodiment, by setting printer vendor-specific attribute information as an argument to Get-Printer-Attributes used in the request in step S306, it becomes possible to obtain capability information even for attribute information not defined in IPP.
[0071] Upon receiving the request for capability information in step S306, the cloud print service 121 requests capability information from the printer 104 using IPP (step S307). Specifically, in step S307, the cloud print service 121 queries the printer 104 for capability information using Get-Printer-Attributes. At this time, the cloud print service 121 queries the printer 104 using the arguments notified from the client terminal 101.
[0072] Printer 104 responds with capability information requested by Cloud Print Service 121 in step S307 (step S308). When Cloud Print Service 121 receives capability information from Printer 104 in step S308, it responds to the print settings extension application 112 with capability information requested in step S306 based on the received response (step S309).
[0073] The print settings extension application 112 copies the capability information acquired by the OS 114 in steps S307-S308 and steps S302 and S303 to its own data storage area as device capability information data and stores it (step S310).
[0074] Next, the print settings extension application 112 notifies the OS 114's print spooler 116 of device capability information data (step S311).
[0075] When the print spooler 116 receives device capability information data from the print settings extension application 112, it enables the print queue selected in step S301 (step S312). This makes it possible to start the print settings UI section 112a of the print settings extension application 112.
[0076] When the print queue is enabled in step S313, the print spooler 116 notifies the print settings extension application 112, and the OS 114 notifies the document generation application 115, that the print queue is available (step S313).
[0077] When the document generation application 115 receives the notification, it makes the Advanced Settings button and Print button selectable in the currently displayed application print settings UI. If the user selects the Advanced Settings button, it displays the print settings UI of the print settings extension application 112 (step S315).
[0078] When the document generation application 115 receives a print command from the user (selection of the print button) via the application print settings UI, it sends a print execution command containing the image data to be printed to the cloud printer driver 111 of the OS 114 (step S316). When the cloud printer driver 111 receives the print execution command from the document generation application 115, it notifies the print spooler 116 that it has received the print execution command.
[0079] When the print spooler 116 receives notification in step S316 that it has received a print execution command from the cloud printer driver 111, it notifies the print settings extension application 112 of a print workflow background processing event (step S317).
[0080] The print workflow background processing event refers to the process of initiating the print workflow background processing of the print settings extension application 112. Furthermore, the print workflow background processing refers to the process of sending instructions from the print settings extension application 112 to the cloud printer driver 111 via the OS 114's print spooler 116.
[0081] The print spooler 116 can generate intermediate image data from data received from the document generation application 115 via the cloud printer driver 111 (for example, image data in GDI format), and then convert it to PDL. Intermediate image data is data generated before being converted to print data such as PDL (for example, XPS data).
[0082] The print settings extension application 112 uses the print spooler 116 to generate print data (step S318).
[0083] In step S319, the cloud print service 121 sends the print data received from the OS 114's print spooler 116 to the printer 104 (step S320). Then, in step S321, the printer 104, having received the print data, performs the printing process and completes this process (Figure 3).
[0084] • Client terminal capability information request and printer capability information response Here, we will explain in detail the processes performed by the client terminal 101 (and its print settings extension application 112) and the printer 104 from step S306 to S315, using Figures 4 and 5, respectively.
[0085] <Request for client terminal capability information> First, the print settings extension application 112 of the client terminal 101 has a mapping table in its data storage area that associates the OS standard print attributes defined in IPP with the print attributes that the printer 104 actually uses for printing.
[0086] An example of a mapping table is shown in Figure 8(801). The OS standard print attributes defined in IPP (801b) and the print attributes used by printer 104 for printer printing (801c) are basically associated one-to-one.
[0087] However, since printer 104 also has its own unique printing functions that are not defined in IPP, some of the printer's print attributes (801c) do not have corresponding OS standard print attributes (801b). In the mapping table in Figure 8, the relevant attributes are the attribute value of the pid_color_mode attribute, val_color_mode_2colors, and the pid_smoothing_mode attribute and its attribute value.
[0088] In this embodiment, the OS standard print attributes (801b) and the printer print attributes (801c) are classified into predetermined groups (801a) according to the target specified by the attribute.
[0089] Attributes that specify the entire print data (=job), such as the job name (job-name, pid_job_name), are classified under the JOB group.
[0090] Attributes that specify settings for printed documents, such as color / monochrome printing (print-color-mode, pid_color_mode), are classified under the DOC group.
[0091] Attributes that specify the finishing process for printed materials, such as the number of copies (copies, pid_copies) and finishing (punching, stapling, etc. (not shown)), are classified under the BIND group.
[0092] Furthermore, the print settings extension application 112 has UI display (801d) information that indicates how each of the OS standard print attributes (801b) and printer print attributes (801c) should be displayed on the UI. Therefore, the print settings extension application 112 can display the appropriate print settings UI (S315) according to the saved capability information (S310).
[0093] The details of the processing performed by the print settings extension application 112 will be explained below using Figure 4. The processing shown in Figure 4 starts when the user selects a print queue via the print settings UI provided by the document generation application 115.
[0094] In step S401, the print settings extension application 112 requests OS standard capability information using Get-printer-Attributes, which is defined in the IPP standard protocol.
[0095] Figure 11 shows an example of IPP command 1101, which requests OS standard capability information, and IPP command 1102, which responds with capability information in response to that request. IPP command 1101, which requests capability information, requests the following capability information for the printer specified by printer-uri. copies-supported (number of copies that can be specified) document-format-supported(supported document formats) Media-supported (support form) Sides-supported (single-sided / double-sided printing) print-color-mode-supported (monochrome / color printing)
[0096] IPP command 1102, which responds with capability information, contains information indicating the success of the response to the request (successful-ok), and responds to the requested capability information as follows: The number of copies that can be specified is 1 to 999. Support documents are available in PDF and JPEG formats. Support forms are available in A4, A5, and A6 sizes. Single-sided and double-sided printing are possible. Automatic, color, and monochrome printing are available.
[0097] If the print settings extension application 112 were to save only the OS standard capability information (S310) and display the UI (S315), the UI would look like the print settings 901 shown in Figure 9. However, because this embodiment includes processing from step S402 onwards, the UI will allow for a wider range of print settings than print settings 901.
[0098] In step S402, the print settings extension application 112 requests printer-specific capability information using Get-printer-Attributes, which is defined in the IPP standard protocol.
[0099] Figure 11 shows examples of IPP command 1103, which requests printer-specific capability information, and IPP command 1104, which responds with capability information in response to that request.
[0100] The IPP command 1103 introduces the printer-ope-supported attribute (1103a) as an IPP extension attribute to enable the request / response of printer-specific capability information for the printer specified by the printer-uri. IPP extension attributes are attributes defined by the vendor (manufacturer) of the printer 114.
[0101] The attribute value of printer-ope-supported is denoted as "binary code" (1103b) in Figure 11, but in reality it is binary 1001 with the structure shown in Figure 10. This binary 1001 contains requests for multiple printer-specific capability information (pid_color_mode, pid_smoothing_mode). The details of the structure of binary 1001 will be described later.
[0102] The IPP command 1104, which responds with capability information, includes information indicating the success of the response to the request (successful-ok). Furthermore, like the IPP command 1103 which requests capability information, the IPP command 1104 introduces an extended IPP attribute called printer-ope-supported (1104a) to enable printer-specific capability information requests / responses.
[0103] The attribute value of printer-ope-supported, like capability information request 1103, is set to "binary code," but in reality, it is attribute value 1002 of a binary with the structure shown in Figure 10. This attribute value contains responses of multiple printer-specific capability information (pid_color_mode, pid_smoothing_mode). Details of the structure of binary 1002 will be described later.
[0104] In step S403, the print settings extension application 112 checks whether it has been able to obtain all of the printer's unique capability information. If all of it has been obtained, it proceeds to step S404; otherwise, it returns to step S402 and continues processing.
[0105] In step S404, the print settings extension application 112 copies the acquired OS standard capability information and printer-specific capability information as device capability information data to its own data storage area and stores it. In step S405, the print settings extension application 112 displays the print settings UI by referring to the OS standard capability information and printer-specific capability information.
[0106] In this embodiment, the UI will look like the print settings 902 shown in Figure 9, and compared to the UI 901 which only refers to the OS standard capability information, a new option for two-color printing 902a and a smoothing item 902b and its option 902c will be displayed.
[0107] Step 402 provides a detailed explanation of the attribute values (binary 1001) and the response attribute values (binary 1002) when the print settings extension application 112 requests printer-specific capability information.
[0108] The contents of the attribute values (binary 1001, 1002) consist of print control commands that the printer 104 can interpret. In this embodiment, they consist of header information indicating the print control command, a control ID indicating the control content, an attribute ID indicating the print attribute and its attribute value size information, and the actual attribute value. The header information is a predetermined, arbitrary unique value. The control ID is also a predetermined ID; in this embodiment, the control ID "OPE_REQUEST" included in binary 1001 indicates that this print control command is a capability request.
[0109] On the other hand, the control ID "OPE_RESPONSE" included in binary 1002 indicates that this print control command is a capability response to a capability request. In other words, the print setting extension application 112, in binary 1001, queries the printer 104 to determine whether it is a color or monochrome printer (pid_color_mode) and whether it supports the smoothing function (pid_smoothing_mode).
[0110] In response to the inquiry, printer 104 notifies the print settings extension application 112 via binary 1002 that it is a printer that allows users to select "Automatic," "Color," "Monochrome," and "Two-Color Printing," and that it supports a "Smoothing" function with the options "Do not do" and "Do."
[0111] <Printer capability information response> Next, using Figure 5, we will explain in detail the processes performed by the printer 104 from step S307 to step S308.
[0112] In step S501, the device capability response processing unit 104a checks whether there is a request for capability information from the client terminal 101 or the cloud print service 121. If there is a request for capability information, the process proceeds to step S502; otherwise, the process continues to step S501.
[0113] In step S502, the device capability response processing unit 104a determines whether the request for capability information uses the extended attributes of the IPP or the printed attributes of the IPP. If the request uses the extended attributes of the IPP, the process proceeds to step S503; if the request uses the printed attributes of the IPP, the process proceeds to step S507.
[0114] In step S503, the device capability response processing unit 104a interprets several printer-specific print attributes included in the attribute value of the extended attribute of the IPP. In this embodiment, the attribute value 1103b (binary 1001) of the extended attribute 1103a includes at least the printer-specific print attributes pid_color_mode and id_smoothing_mode.
[0115] In step S504, the device capability response processing unit 104a refers to the capability information of the printer itself held by the printer and determines the capability information to respond to the client. An example of the capability information of the printer itself held by the printer 104 in this embodiment is shown in the printer capability information 802 in Figure 8.
[0116] Referring to printer capability information 802, the printer supports the function (color / monochrome) indicated by the print attribute pid_color_mode. Additionally, val_color_mode_auto (automatic), color (color), mono (monochrome), and 2colors (two colors) are selectable. Therefore, these will be used as capability information in the response to the client.
[0117] Furthermore, the printer 104 also supports the function (smoothing) indicated by the print attribute id_smoothing_mode, and it is possible to select val_smoothing_mode_0 (do not smooth) or 1 (smooth), so these will be used as capability information to respond to the client.
[0118] In step S505, the device capability response processing unit 104a checks whether it has determined all capability information for the multiple printer-specific print attributes that were requested. If all capability information has been determined, the process proceeds to step S506; otherwise, the process from step S503 is repeated.
[0119] In step S506, the device capability response processing unit 104a notifies the client of printer-specific capability information using the extended attributes of the IPP.
[0120] In this embodiment, the attribute value 1104b (binary 1002) of extended attribute 1104a includes the printer-specific print attribute pid_color_mode and its attribute value (val_color_mode_auto,color,mono,2colors). Additionally, the attribute value 1104b (binary 1002) includes the printer-specific print attribute id_smoothing_mode and its attribute value (val_smoothing_mode_0,1). It may include only one of these, or only other print attributes and attribute values.
[0121] The following describes the process when it is determined that a request for capability information using the IPP's print attributes has been made in step S502. In step S507, the device capability response processing unit 104a refers to the IPP's print attributes and the printer's own capability information held by the printer to determine the OS standard capability information to respond to the client.
[0122] In this embodiment, the IPP command 1101, which requests capability information, requests capability information regarding copies-supported (number of copies that can be specified), document-format-supported (supported document format), media-supported (supported paper), sides-supported (single-sided / double-sided printing), and print-color-mode-supported (monochrome / color printing).
[0123] In step S508, the device capability response processing unit 104a notifies the client of OS standard capability information using IPP print attributes. In this embodiment, the print attributes and their values shown in the IPP command 1102 that responds with capability information are notified. Details have already been explained in Figure 4 (step S401) and are therefore omitted here.
[0124] • Sending print data from the client terminal and the printer's printing process. Here, the details of the print data generation process performed by the print settings extension application 112 on the client terminal 101 in step S316 and the printing process performed by the printer 104 in step S321 will be explained using Figures 6 and 7, respectively.
[0125] <Sending print data from the client terminal> First, using Figure 6, we will explain the print data generation process performed by the print settings extension application 112 of the client terminal 101 in step S316.
[0126] In step S601, the print settings extension application 112 creates OS standard print settings information using the IPP print attributes according to the print settings at the time of printing. If the print settings in this embodiment are print settings 902 in Figure 9, the OS standard print settings information created will be as follows (see information 801b in Figure 8). media (output paper size) = iso_a4_210x297mm (A4) Number of copies = 2 sides (single-sided / double-sided) = two-sided (double-sided) print-color-mode(color / monochrome)=auto (automatic)
[0127] The color / monochrome setting in print setting 902 is "2 colors," but the only attribute values defined for print-color-mode in the OS standard print attribute 801b are "auto (automatic)," "color (color)," and "monochrome (monochrome)." Therefore, in this example, print-color-mode is set to auto (automatic) as the default value.
[0128] In step S602, the print settings extension application 112 creates printer-specific print settings information using IPP extension attributes according to the print settings at the time of printing. In this embodiment, in order to create printer-specific print settings information, extended IPP attributes as shown in Figure 11 are introduced. Specifically, the printer-ope-set-job attribute (1105a), printer-ope-set-bind attribute (1105b), and printer-ope-set-doc attribute (1105c) are introduced.
[0129] The `printer-ope-set-job` attribute (1105a) contains print setting information for the entire print data (=job), such as the job name. The `printer-ope-set-bind` attribute (1105b) contains print setting information for the finishing process of the printed material, such as the number of copies and finishing (punching, stapling, etc.). The `printer-ope-set-doc` attribute (1105c) contains print setting information for the printed document, such as color / monochrome printing.
[0130] Each attribute value of the extended attribute is denoted as “binary code” (1105d, 1105e, 1105f). However, the actual “binary code” is a binary with the same structure as the binaries of IPP command 1103, which requests capability information, and IPP command 1104, which responds with capability information (1103b, 1104b).
[0131] In this embodiment, if the print settings are print setting 902 in Figure 9, the printer-specific print setting information created will be as follows (see information 801c in Figure 8). pid_color_mode(color / monochrome) =val_color_mode_2colors(2 colors) pid_smoothing_mode(smoothing) =val_smoothing_mode_1(to do)
[0132] These are represented as attribute values for extended attributes in a binary structure, which is binary 1003 in Figure 10. The control ID is also a predetermined ID; in this embodiment, the control ID "OPE_DOC" included in binary 1003 indicates that this print control command is a print setting for the DOC group (see 801a).
[0133] In step S603, the print settings extension application 112 checks the target group of the print settings information to be created. If the target is the JOB group, it proceeds to step S604; if it is the BIND group, it proceeds to step S605; and if it is the DOC group, it proceeds to step S606.
[0134] In step S604, the print settings extension application 112 adds the print settings information created in step S602 to the attribute value of the printer-ope-set-job attribute (1105a).
[0135] In step S605, the print settings extension application 112 adds the print settings information created in step S602 to the attribute value of the printer-ope-set-bind attribute (1105b).
[0136] In step S606, the print settings extension application 112 adds the print settings information created in step S602 to the attribute value of the printer-ope-set-doc attribute (1105c). In this embodiment, the created printer-specific print settings information (binary 1003) is a print setting for the DOC group, and is therefore added as the attribute value of the printer-ope-set-doc attribute (1105c) in step S606.
[0137] By aligning the target groups of the attribute values (print setting information) of the extended attributes in this way, the load on the printer when it later interprets the attribute values of the extended attributes and performs the printing process can be reduced.
[0138] The print settings extension application 112 proceeds to step S607 after adding print settings information to the appropriate group in steps S604, S605, or S606. In step S607, the print settings extension application 112 checks whether all printer-specific print settings information has been created. If all has been created, it proceeds to step S608; otherwise, it repeats the process from step S602.
[0139] In step S608, the print settings extension application 112 sends the OS standard print settings information and the printer's own print settings information to the printer as print data along with the document to be printed. The creation of the print data is instructed to the OS using the Create-Job command defined in IPP. At this time, print settings information can be set as an argument to the command. The IPP command 1105 in Figure 11 is an example of the Create-Job command in this embodiment.
[0140] <Printer printing process> Next, the printing process performed by the printer 104 in step S321 will be explained using Figure 7.
[0141] In step S701, the print processing unit 104b of the printer 104 receives print data.
[0142] In step S702, if the print processing unit 104b confirms the IPP print attribute in the print data, it proceeds to step S703; otherwise, it proceeds to step S704.
[0143] In step S703, the print processing unit 104b converts the OS standard print attributes defined in IPP into the printer print settings used by the printer and sets them. Here, the printer 104 in this implementation, like the client terminal 101, has a mapping table 801 in its data storage area that associates the OS standard print attributes (801b) with the print attributes (801c) that the printer actually uses for printing.
[0144] In this embodiment, the client terminal 101 uses the OS standard print settings created in step S601 of Figure 6. media (output paper size) = iso_a4_210x297mm (A4) Number of copies = 2 sides (single-sided / double-sided) = two-sided (double-sided) print-color-mode(color / monochrome)=auto (automatic) This is then converted by mapping table 801 as follows and set as the printer's print settings: pid_media(output paper) = val_media_a4(A4) pid_copies(number of copies) = 2 pid_side(single-sided / double-sided) = val_two-sided(double-sided) pid_color_mode(color / monochrome) = val_color_mode_auto(automatic)
[0145] The target group for these print settings will be one of JOB, BIND, or DOC, but the target group is determined by group 801a in mapping table 801.
[0146] In step S704, if the print processing unit 104b confirms that the print data contains the extended IPP attribute, it proceeds to step S705; otherwise, it proceeds to step S706.
[0147] In step S705, the print processing unit 104b sets the printer-specific print settings included in the attribute value of the extended attribute as the printer's print settings. In this embodiment, the attribute value (binary 1003) created by the client terminal 101 in step S602 of Figure 6 is set as the printer's print settings. pid_color_mode(color / monochrome) = val_color_mode_auto(automatic) pid_smoothing_mode(smoothing) = val_smoothing_mode_1(do)
[0148] At this point, the pid_color_mode set to auto (automatic) in step S703 is overwritten by val_color_mode_2colors (2 colors) in step S705. This means that the printer's own print settings take precedence over the OS standard print settings.
[0149] The target group for these print settings is determined by the extended attribute. If the extended attribute is printer-ope-set-job, all print settings included in that attribute value are targeted as JOB. If the extended attribute is printer-ope-set-bind, all print settings included in that attribute value are targeted as BIND. If the extended attribute is printer-ope-set-doc, the multiple print settings included in that attribute value are targeted as DOC.
[0150] In step S706, if the print processing unit 104b finds a print document in the print data, it proceeds to step S707. If it cannot find a print document, it returns to step S702 and repeats the subsequent processing.
[0151] In step S707, the print processing unit 104b performs the printing process of the document according to the print settings set in steps S703 and S705.
[0152] Printer-specific print settings are print control commands used by traditional printer drivers. By using IPP extension attributes, these traditional printer control commands can be made available between the client (the print settings extension application) and the printer. This makes it possible to efficiently extend functionality to utilize printer printing features not defined in IPP.
[0153] Although the above has described printing using a cloud print service, the present invention may also be applied to printing using a local printer driver. In that case, the processing of the cloud print service 121 may be performed by the printer 104, or the processing may be performed between the client terminal 101 and the printer 104 without going through the cloud print service 121.
[0154] Furthermore, other functions may also be included in the extended attributes. For example, the following functions shown in Figures 8 and 10 can be included in the extended attributes.
[0155] Double punching is a function that punches holes in two pages that are imposed in a 2-in-1 format, for example, when cutting an A3 sheet of paper to A4 size.
[0156] The IPP attribute `finishings` allows specifying the punch position for single-page imposed paper (punch-left, punch-right), but it does not allow specifying the punch position for 2-in-1 imposed paper. Therefore, by including the printer's unique double-punch printing attribute (attribute value val_double_left / right / middle of pid_finishing_punch) in the IPP extended attribute, it becomes possible to use it on client terminal 101.
[0157] In the example of printer print attributes in Figure 8(801), val_double_left punches holes on the left side of both pages of an A3 sheet, val_double_right punches holes on the right side of both pages, and val_double_middle punches holes on the right side of the left page and the left side of the right page (resulting in two locations in the center of the A3 sheet).
[0158] In this case, the printer capability information in Figure 8(802) indicates that printer 104 does not support the double punch function. On the other hand, if printer 104 does support the double punch function, it will have information on the attribute values (val_double_left, right, middle) of the double punches it supports.
[0159] Figures 10, 1001 and 1102 show an example of the printer print attribute pid_finishing_punch included in the extended attributes of capability information requests and responses.
[0160] Color adjustment (pid_color_adjust), brightness (pid_color_blightness), and contrast (pid_color_contrast) are functions that allow for fine-tuning of color, brightness, and contrast during printing. Since none of these functions can be specified using IPP attributes, they can be made available from client 101 by including the printer's unique print attributes in the IPP extended attributes.
[0161] In the example of printer print attributes in Figure 8(801), the color adjustment (pid_color_adjust) allows for adjustments to make the cyan, magenta, and yellow colors stronger during printing. In the printer capability information in Figure 8(802), printer 104 supports the color adjustment function, and its strength can be set in steps from 0 to 10.
[0162] Brightness (pid_color_blightness) allows you to adjust the brightness of the colors during printing. In the case of the printer capability information shown in Figure 8 (802), the brightness can be set in steps from 0% (dark) to 100% (bright).
[0163] The contrast (pid_color_contrast) parameter allows you to adjust the color contrast during printing. In the case of the printer capability information in Figure 8(802), it indicates that printer 104 supports the contrast function and that the contrast can be set in steps from 0% (weak) to 100% (strong).
[0164] Figures 10, 1001 and 1102 show examples of printer print attributes pid_color_adjust, pid_color_blightness, and pid_color_contrast included in the extended attributes of capability information requests and responses.
[0165] The print start position (pid_print_start_position) is a function that adjusts the print position when the printing on the paper does not produce the expected result. Since this function cannot be specified in the IPP attribute, it can be used from client 101 by including the printer's unique print attribute in the IPP extended attribute.
[0166] In the example of printer print attributes in Figure 8(801), the print start position (pid_print_start_position) can be specified for both the front and back of the paper. In the case of printer capability information in Figure 8(802), it is shown that printer 104 can adjust the print start position for both the front and back of the paper within a range of -5.0 to +5.0 mm in the X and Y directions, with the top left corner of the paper as the origin. Figures 1001 and 1102 show examples of the printer print attribute pid_print_start_position included in the extended attributes of capability information requests and responses.
[0167] Gamma correction (pid_gamma_level) is a function that adjusts brightness to avoid damaging the brightest and darkest parts of the print data. Since this function cannot be specified in the IPP attribute, it can be used from client 101 by including the printer's unique print attribute in the IPP extended attribute.
[0168] In the example of printer print attributes in Figure 8(801), gamma correction (pid_gamma_level) can be specified for characters, graphics, and images included in the print data. In the printer capability information in Figure 8(802), printer 104 supports the gamma correction (pid_gamma_level) function and can specify four levels from 0 to 3 for characters, graphics, and images in the print data.
[0169] The blank page saving (pid_skip_blank_page) function saves paper by not printing blank pages if they are included in the print data. This function cannot be specified in the IPP attribute, so it can be used from client 101 by including the printer's unique print attribute in the IPP extended attribute.
[0170] In the example of printer print attributes in Figure 8(801), the blank page saving (pid_skip_blank_page) can be specified as "OFF" or "ON," and in the case of printer capability information in Figure 8(802), it indicates that printer 104 supports the blank page saving function. Figures 1001 and 1102 show examples of the printer print attribute pid_skip_blank_page included in the extended attributes of capability information requests and responses.
[0171] Barcode mode (pid_barcord_mode) is a dedicated printing mode for barcodes, making printed barcodes easier for barcode readers to recognize. Since this function cannot be specified in IPP attributes, it becomes available from client 101 by including the printer's unique printing attributes in the IPP extended attributes.
[0172] In the example of printer print attributes in Figure 8(801), the barcode mode (pid_barcord_mode) can be specified as "OFF" or "ON". Also, in the case of printer capability information in Figure 8(802), it indicates that printer 104 supports the barcode mode function. Figures 1001 and 1102 show examples of the printer print attribute pid_barcord_mode included in the extended attributes of the capability information request and response.
[0173] The special mode (pid_special_mode) is a function that suppresses toner splatter around characters, which can occur depending on the type of paper being printed on, by changing the printer engine's printing process. Since this function cannot be specified in the IPP attribute, it can be used from client 101 by including the printer's unique printing attribute in the IPP extended attribute.
[0174] In the example of printer print attributes in Figure 8(801), the special mode (pid_special_mode) can be specified as "OFF" or "ON". Also, in the case of printer capability information in Figure 8(802), it indicates that printer 104 supports the special mode function. Figures 1001 and 1102 show examples of the printer print attribute pid_special_mode included in the extended attributes of capability information requests and responses.
[0175] The white gap correction (pid_whitegap_adjust) is a function that improves the occurrence of "white gaps," where a thin white line appears on the halftone side near the boundary when a darker color of the same color immediately follows a halftone. Since this function cannot be specified in the IPP attribute, it can be used from client 101 by including the printer's unique print attribute in the IPP extended attribute.
[0176] In the example of printer print attributes in Figure 8(801), the whitegap adjustment (pid_whitegap_adjust) can be specified as "OFF" or "ON". Also, in the case of printer capability information in Figure 8(802), it indicates that printer 104 supports the whitegap adjustment function. Figures 1001 and 1102 show examples of the printer print attribute pid_special_mode included in the extended attributes of the capability information request and response.
[0177] <Other examples> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of symbols]
[0178] 101 Client terminals 104 Cloud Print Compatible Printers 111 Cloud printer driver 112 Print Settings Extension App
Claims
1. A printing system in which an information processing device and a printing device are connected in a communicative manner, The aforementioned information processing device is A request means for requesting capability information indicating the functions available to the printing device by specifying predetermined attribute information not defined in the Internet Printing Protocol (IPP), It has a display means for displaying setting items corresponding to the aforementioned capability information, The aforementioned printing apparatus, Receiving means for receiving the request for the aforementioned capability information, The receiving means has a response means that, upon receiving a request specifying the predetermined attribute information, responds with information including a plurality of different print attributes, including print attributes not defined in the IPP, and the attribute values of each of the plurality of print attributes, The display means displays multiple setting items corresponding to each of the multiple print attributes, The settings of the multiple settings selected by the user are classified into predetermined groups and transmitted from the information processing device to the printing device. A printing system characterized by the following features.
2. The aforementioned information processing device is Printing software capable of generating print data that can be interpreted by printing devices of multiple different manufacturers, and capable of transmitting said print data to any of the said printing devices of multiple different manufacturers, The application program includes the aforementioned printing software, The printing system according to claim 1, characterized in that the request means and the display means are realized by executing the application program.
3. A first receiving means that receives a request from an information processing device for capability information, which specifies predetermined attribute information not defined in the Internet Printing Protocol (IPP), When the first receiving means receives a request specifying the predetermined attribute information, the response means responds with information including a plurality of different print attributes, including print attributes not defined in the IPP, and the attribute values of each of the plurality of print attributes, A second receiving means that receives setting values for multiple setting items corresponding to each of the multiple print attributes, which are selected by the user in the information processing device and classified into predetermined groups. A printing apparatus characterized by having the following features.
4. The printing apparatus according to claim 3, characterized in that the plurality of printing attributes include printing attributes relating to at least one of the following functions: smoothing, punching, color adjustment, brightness, contrast, print start position, gamma correction, blank paper saving, and barcode mode.
5. A control method for an information processing device comprising: printing software capable of generating print data that can be interpreted by printing devices of multiple different manufacturers, and capable of transmitting said print data to any of the said printing devices of multiple different manufacturers; and an application program that supports said printing software, A request step that specifies predetermined attribute information not defined in the Internet Printing Protocol (IPP) and requests capability information indicating the functions available on the printing device selected as the printing destination for the print data, A receiving step in which, in response to a request specifying the predetermined attribute information, information is received that includes a plurality of different print attributes, including print attributes not defined in the IPP, and the attribute values of each of the plurality of print attributes. A display step that displays multiple setting items corresponding to each of the multiple print attributes, A transmission step which classifies the setting values of the multiple setting items selected by the user into predetermined groups and sends them to the printing device selected as the destination for printing the print data, A control method characterized by having the following features.
6. The control method according to claim 5, characterized in that the group is a JOB group, a BIND group, and a DOC group.
7. The control method according to claim 5, characterized in that the plurality of print attributes include print attributes relating to at least one of the following functions: smoothing, punching, color adjustment, brightness, contrast, print start position, gamma correction, blank paper saving, and barcode mode.
8. The control method according to claim 5, characterized in that the request step, the reception step, and the display step are performed by executing the application program.
9. The control method according to claim 5, characterized in that the printing software cannot display the plurality of setting items.
10. Printing software capable of generating print data that can be interpreted by printing devices of multiple different manufacturers, and an application program that supports the printing software capable of transmitting said print data to any of the said printing devices of multiple different manufacturers, wherein the information processing device, A request step that specifies predetermined attribute information not defined in the Internet Printing Protocol (IPP) and requests capability information indicating the functions available on the printing device selected as the printing destination for the print data, A receiving step in which, in response to a request specifying the predetermined attribute information, information is received that includes a plurality of different print attributes, including print attributes not defined in the IPP, and the attribute values of each of the plurality of print attributes. A display step that displays multiple setting items corresponding to each of the multiple print attributes, A transmission step which classifies the setting values of the multiple setting items selected by the user into predetermined groups and sends them to the printing device selected as the destination for printing the print data, An application program characterized by causing the execution of [a certain action].
11. The application program according to claim 10, characterized in that the aforementioned groups are a JOB group, a BIND group, and a DOC group.
12. The application program according to claim 10, characterized in that the plurality of print attributes include print attributes relating to at least one of the following functions: smoothing, punching, color adjustment, brightness, contrast, print start position, gamma correction, blank paper saving, and barcode mode.
13. The application program according to claim 10, characterized in that the printing software cannot display the plurality of setting items.
14. The application program according to claim 10, characterized in that the printing software is a class driver compliant with the IPP.