Application program, information processing apparatus and control method therefor
The application program extends printer driver functions to maintain original document sizes during mixed-size printing, addressing the limitations of existing drivers by allowing selective paper size settings and intermediate image data processing.
Patent Information
- Application Number
- JP2024001154
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-09
- Publication Date
- 2025-07-22
AI Technical Summary
Existing printer drivers, both local and cloud-based, lack the ability to maintain different document sizes when printing documents with mixed image sizes, resulting in uniform sizing of all documents.
An application program that extends printer driver functions using IPP, allowing users to select between single or mixed paper size printing, generates IPP setting information with priority indications, and maintains original document sizes through intermediate image data processing.
Enables print settings that preserve the original document sizes when printing documents with mixed sizes, enhancing printing flexibility and accuracy.
Smart Images

Figure 2025107754000001_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 for controlling printing of a document in which images of different document sizes are mixed.
Background Art
[0002] A general-purpose printer driver (local printer driver) that directly communicates with an image forming apparatus using an industry standard protocol, specifically IPP (Internet Printing Protocol), is widely used. The local printer driver is a driver provided by a vendor (manufacturer) that provides the OS (operating system) of the client terminal. The local printer driver is a printer driver that generates print data that can be interpreted by printers of multiple models from multiple printer vendors. The local printer driver can communicate with printers from multiple printer vendors. Therefore, by using the local printer driver, a user can send a print job to an image forming apparatus without installing a vendor-specific printer driver.
[0003] Furthermore, printing using a cloud print service has been considered. In a cloud print service, a printer driver for cloud print service (cloud printer driver) is installed in an information processing apparatus. The cloud printer driver is also a driver provided by an OS vendor that provides the OS of the client terminal, and is a printer driver that uses an industry standard protocol such as IPP to generate print data that can be interpreted by printers from multiple printer vendors. In a cloud print service, printing is executed by the information processing apparatus sending a print job to the cloud print service using the cloud printer driver, and the cloud print service sending the print job to the image forming apparatus.
[0004] Since the above local printer driver and cloud printer driver handle print jobs printed by image forming apparatuses of various vendors, there are limitations on the items and functions that can be set as print settings. For example, in the above local printer driver and cloud printer driver, when printing a document in which images of different document sizes are mixed, there was a problem that all the document sizes were unified to the same size and printing was performed.
[0005] In order to solve such problems, there is a technique of directly sending a PDF file of a document to a printer and executing printing of a document in which images of different document sizes are mixed while maintaining the document sizes (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0006]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0007] However, in the technique of Patent Document 1, since it does not go through a printer driver, it is necessary to provide a control unit for processing a PDF file on the printer side.
[0008] Therefore, an object of the present invention is to provide an application program, an information processing apparatus, and a control method thereof that can perform print settings while maintaining the document sizes when instructing printing of a document in which different document sizes are mixed via a printer driver using IPP.
Means for Solving the Problems
[0009] To solve the above problems, the application program according to claim 1 of the present invention is an application program that extends the functions related to the print settings of a printer driver using IPP (Internet Printing Protocol) possessed by an information processing device, and includes a first setting for printing with a single paper size selected by the user, or a second setting for performing mixed paper size printing in which printing is performed with a plurality of sizes mixed in the original document. A paper size setting step for providing the user with a first option for selection, an IPP setting information generation request step for requesting the print spooler to generate IPP setting information including IPP attributes for priority indication of the original document size for instructing the target printer, and an intermediate image data generation request step for requesting the printer driver via the print spooler to generate intermediate image data maintaining the original document size of each page of the image data to be printed, and a print data transmission request step for requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer, characterized in that the information processing device is caused to execute the above steps.
Effect of the Invention
[0010] When instructing printing of a document with different original document sizes mixed via a printer driver using IPP, print settings can be made while maintaining the original document size.
Brief Description of the Drawings
[0011]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7A
Figure 7B
Figure 8
Figure 9
Embodiments for Carrying Out the Invention
[0012] 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 explanations are omitted.
[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0014] 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.
[0015] In FIG. 1, in the printing system 1, a client terminal 101, a cloud print server 102, and a cloud print-compatible printer 104 (hereinafter referred to as printer 104) are connected via a network 107.
[0016] In FIG. 1, one client terminal 101 and one printer 104 are shown respectively, but there may be a plurality of client terminals 101 and printers 104 respectively.
[0017] Also, the cloud print server 102 may be a server system composed of a plurality of information processing devices. Thereby, the load can be distributed among a plurality of information processing devices. Also, the cloud print server 102 may be virtually configured inside a single physical information processing device.
[0018] The network 107 assumes a WAN such as the Internet, but all may be in a closed environment such as an in-house LAN.
[0019] The client terminal 101 is an information processing device such as a PC, a tablet, or a smartphone, and is a terminal directly operated by a user. Any application software can be executed on the client terminal 101.
[0020] The local printer driver 113 and the cloud printer driver 111 are printer drivers provided by the OS vendor (manufacturer) that provides the OS (Operating System) 114 of the client terminal 101. The local printer driver 113 and the cloud printer driver 111 are printer drivers using IPP that generate print data interpretable by printers of multiple printer vendors. The local printer driver 113 is a printer driver used when connecting the printer 104 and the client terminal 101 without going through a server. The cloud printer driver 111 is a printer driver used when utilizing the cloud print service 121 in the cloud print server 102 provided by the OS vendor. The information of the printer 104 is registered in the cloud print service 121 in advance. When the client terminal 101 designates the printer 104 as the output destination of the print data generated by the cloud printer driver 111 and transmits the print data to the cloud print service 121, printing is executed by the cloud print service 121 transmitting the print data to the printer 104 designated by the client terminal 101.
[0021] Note that the local printer driver 113 and the cloud printer driver 111 are already stored in the storage unit 214 of the client terminal 101 when the client terminal 101 is shipped.
[0022] The print spooler 116 is a print-related function provided by the OS 114 and has a 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 is called by the print settings extension app 112 or transmitted to the cloud print server 102 or the printer 104.
[0023] The print settings extension app 112 (application program) is a print settings application provided by one of the above-described plurality of printer vendors, i.e., a vendor that provides printers used for printing. In this embodiment, the print settings extension app 112 is stored in the storage unit 214 at the time of shipment of the client terminal 101, but is not limited thereto. If the print settings extension app 112 is not stored in the storage unit 214 at the time of shipment, it is downloaded from an application management server (not shown) via the network 107 by a predetermined user operation on the client terminal 101. The print settings extension app 112 extends the functions related to the print settings of the local printer driver 113 and the cloud printer driver 111 via the print spooler 116 of the OS 114.
[0024] The printer 104 is an image forming apparatus that actually performs printing on a recording medium such as paper, and converts the print data received from the client terminal 101 via the network 107 or directly into image data for printing.
[0025] The print settings UI unit 112a provides the user with a print settings UI 112d extended by the printer vendor in the print settings extension app 112.
[0026] Specifically, the print settings UI unit 112a generates and displays the print settings UI 112d based on the ability information obtained by the OS 114 and the print settings extension app 112 from the cloud print service 121. An example of the print settings UI 112d, i.e., the printer function settings screen, will be described later with reference to FIGS. 7 and 9.
[0027] The device ability collection processing unit 112b is a module that operates the OS 114 to collect the ability information of the printer 104 and update the device ability information managed by the OS 114 based on the collected ability information.
[0028] The document generation application 115 is a general application such as a document file generation application, a spreadsheet application, a presentation application, etc. These applications may be pre-installed in the OS 114, or the user may download and install them.
[0029] 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 a print instruction and print data from the client terminal 101. Then, the cloud print server 102 provides the service to the user by transmitting the received print data to the printer 104.
[0030] Next, with reference to FIG. 2, the hardware configuration of each module of the printing system 1 will be described.
[0031] FIG. 2(a) is a block diagram showing the hardware configuration of the client terminal 101.
[0032] 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.
[0033] The storage unit 214 refers to a non-volatile storage device such as a hard disk or an SSD, and can store and rewrite digital data.
[0034] The control unit 211 is composed of a CPU 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 expands the computer program stored in the storage unit 214 into the memory 213 and executes it. The memory 213 is the main memory of the CPU 212 and is used as a work area and a temporary storage area for expanding various programs.
[0035] The network communication unit 215 is a device that communicates with an external network 107, and performs input / output of digital data with an external server, a client terminal, etc. via the network 107.
[0036] The display unit 216 is a device for visually displaying 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 by means of a keyboard, a mouse, etc. A device having both functions of the display unit 216 and the operation unit 217, such as a touch panel, may be used.
[0037] FIG. 2(b) is a block diagram showing the hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225. Further, the control unit 211 is composed of a CPU 222 and a memory 223.
[0038] Since the storage unit 224, the control unit 221, the network communication unit 225, the CPU 222, and the memory 223 have functions equivalent to those of the devices having the same names provided in the client terminal 101, the description thereof is omitted.
[0039] In the present embodiment, the cloud print server 102 is configured by one information processing device having the hardware configuration shown in FIG. 2(b), but the cloud print server 102 may be configured by a plurality of information processing devices shown in FIG. 2(b).
[0040] FIG. 2(c) is a block diagram showing the hardware configuration of the application management server 103. The application management server 103 includes a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235. Further, the control unit 231 is composed of a CPU 232 and a memory 233.
[0041] The display unit 236, operation unit 237, memory unit 234, control unit 231, network communication unit 235, CPU 232, and memory 233 are omitted from description because they have functions equivalent to those of the devices with the same names provided in the client terminal 101.
[0042] In this embodiment, the application management server 103 is described as being configured by a single information processing device having the hardware configuration shown in FIG. 2(c), but the application management server 103 may be configured by a plurality of information processing devices.
[0043] FIG. 2(d) is a block diagram showing the hardware configuration of the printer 104. The printer 104 includes a display unit 246, operation unit 247, memory unit 244, control unit 241, network communication unit 245, and printing unit 248. The control unit 241 is composed of a CPU 242 and a memory 243.
[0044] The display unit 246 is a device for displaying information to the user in real time, such as a touch panel or LED provided in the printer 104.
[0045] The operation unit 247 is a device for receiving input from the user, and may include hard keys such as a numeric keypad in addition to the touch panel. The memory unit 244, control unit 241, CPU 242, and memory 243 are omitted from description because they have functions equivalent to those of the devices with the same names provided in the client terminal 101.
[0046] The network communication unit 245 is a device for communicating with an external network 107, and mainly has the role of receiving print data and transmitting the status of the printer 104, such as an error, to an external server or the like.
[0047] The printing unit 248 is a device that performs a printing process by performing a series of operations of paper feeding, printing, and paper discharging on the paper prepared in the cassette or tray. The printing method is not particularly limited, such as an electrophotographic method or an inkjet method. Finishing devices such as a duplex unit, stapler, and punching process used at the time of paper discharge are also included in the printing unit 248.
[0048] In this embodiment, as an example of the printer 104, a single-function printer that performs only a printing function is described. However, a multifunction printer (MFP) that also has a scanner function and a FAX function may be used.
[0049] Next, with reference to FIG. 3, an example of the sequence of processes executed between the modules of the printing system 1 started by user selection of the print queue on the client terminal 101 in this embodiment will be described.
[0050] Note that FIG. 3 shows a process that is executed after registering the information of the printer 104 in the cloud print service 121 and completing the generation of the print queue. Here, it is assumed that a print queue for transmitting the print data generated by the cloud printer driver 111 to the printer 104 via the cloud print service 121 has been generated in advance.
[0051] The print spooler 116 of the OS 114 receives a user's selection of a print queue via the print settings UI provided by the document generation app 115 (step S301). Specifically, the user first launches the document generation app 115 on the client terminal 101, opens the document to be printed with the document generation app 115, and instructs the printing. In response to this instruction, the document generation app 115 displays an app print settings UI on the display unit 216. In the app print settings UI, the printer names of the printers capable of printing the print data transmitted from the client terminal 101 are displayed so that the user can select them. When the user selects the printer name of the printer for printing the document to be printed on the app print settings UI, the print spooler 116 determines that the print queue corresponding to the selected printer name has been selected by the user. Also, in the app print settings UI, the user can perform print settings for the document to be printed among the limited items that can be set by the local printer driver 113 or the cloud printer driver 111. Among these limited print setting items, print settings such as mixing paper sizes described later are not included.
[0052] Note that the print queue may be selected in the OS print settings UI provided by the OS 114, which is different from the app print settings UI provided by the document generation app 115.
[0053] In this embodiment, the case where the printer name of the printer 104 as a cloud printer that prints print data via the cloud print service 121 is selected by the user in step S301 on the app print settings UI will be described.
[0054] When the print queue is selected, the print spooler 116 reads the Print Ticket. The Print Ticket is a file indicating print setting information in which the current print settings are described in XML format and is managed for each print queue. The print settings are described in the Print Ticket in a format interpretable by the OS 114. The print settings are described as a set of setting items and setting values.
[0055] Next, the print spooler 116 sends a request to the cloud print service 121 to acquire the capability information of the printer (here, printer 104) corresponding to the user-selected print queue received in step S301 (step S302). More specifically, the print spooler 116 sends a request to the cloud print service 121 to acquire the capability information regarding the print setting items supported by the OS 114 among the capability information of the printer 104. A Get-Printer-Attributes command defined by a standard protocol such as IPP (Internet Printing Protocol) is used for this acquisition request. At this time, by setting the attribute information corresponding to the setting item as an argument of the command, the capability information of the setting item specified by the print spooler 116 can be acquired. Note that in this embodiment, the attribute information and the attribute value are information exchanged according to IPP.
[0056] The cloud print service 121 responds to the print spooler 116 of the OS 114 with the capability information of the printer 104 (step S303). In steps S302 and S303, the capability information is exchanged in the form of attribute information and attribute values defined by IPP. The attribute information is information indicating a setting item. The attribute value is a value corresponding to the setting value or the value range of each setting item.
[0057] The print spooler 116 of the OS 114 edits the capability information acquired by 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). The print spooler 116 converts the obtained attribute information and the attribute value into setting items and setting values in a format interpretable by the OS 114 and stores them as device capability information. If device capability information already associated with the print queue is stored in the print spooler 116, the print spooler 116 adds device capability information based on the capability information acquired in step S303 to the stored device capability information.
[0058] The print spooler 116 of the OS 114 notifies an event (device capability information editing event) indicating that it is possible to edit device capability information to the device capability collection processing unit 112b of the print setting extension application 112 (step S305).
[0059] At the timing when the device capability collection processing unit 112b receives the device capability information editing event from the print spooler 116 in step S305, the API (Application Programming Interface) of the OS 114 becomes available. The said API is an API for editing device capability information. At this timing, the print setting extension application 112 can add attribute information and attribute values corresponding to setting items and setting values that the OS 114 does not support but the printer 104 supports to the device capability information.
[0060] The device capability collection processing unit 112b that has received the device capability information editing event acquires ability information regarding setting items and setting values of the printer 104 that the OS 114 does not support from the cloud print service 121, and edits the device capability information.
[0061] Specifically, when the device capability collection processing unit 112b receives the device capability information editing event from the print spooler 116 in step S305, it requests the cloud print service 121 for the capability information of the printer 104 (step S306). Here, although the print setting extension application 112 is transmitting the request to the cloud print service 121, this request may be made using the functions provided by the OS 114.
[0062] The printing setting extension app 112 stores the attribute information corresponding to the setting items for which ability information is to be requested. Therefore, in step S306, the device ability collection processing unit 112b sends a request for obtaining ability information, excluding the attribute information corresponding to the setting items for which the ability information acquisition by the OS 114 has been completed, from the attribute information stored by the printing setting extension app 112. By doing so, it is possible to avoid making duplicate requests for obtaining ability information for the attribute information for which the acquisition of ability information has already been completed. Note that even for the attribute information for which the OS 114 has acquired ability information, the printing setting extension app 112 may acquire the ability information.
[0063] Specifically, the device ability collection processing unit 112b makes the request in step S306 to the cloud print service 121 for the selected attribute information as the request target using an IPP standard protocol such as Get-printer-Attributes.
[0064] In this way, the printing setting extension app 112 can also acquire the ability information for the attribute information not supported by the OS 114. Note that the attribute information not defined by IPP may be included as the target for which ability information is to be requested. In the present embodiment, the attribute information specific to the printer vendor is set as the argument of Get-Printer-Attributes used for the request in step S306. By doing so, it is possible to acquire the ability information for the attribute information not defined by IPP.
[0065] Still, the process of step S306 is the same as the process of step S302 except that the attribute information to be inquired is different. The printing setting extension app 112 sets the attribute information corresponding to the printer vendor-specific setting items as the argument of the command of the IPP standard protocol such as Get-printer-Attributes, and inquires about the ability information of the vendor-specific setting items. The vendor-specific setting items are "mixed paper sizes", "stitchless binding", "saddle stitching", "bookbinding", etc.
[0066] The cloud print service 121 that has received the request for the capability information in step S306 requests the printer 104 for the capability information using IPP (step S307). Specifically, the cloud print service 121 inquires about the capability information of the printer 104 using Get-Printer-Attributes in step S307. At this time, the cloud print service 121 makes an inquiry to the printer 104 using the arguments notified from the client terminal 101.
[0067] The printer 104 responds with the capability information requested by the cloud print service 121 in step S307 (step S308).
[0068] When the cloud print service 121 receives the capability information from the printer 104 in step S308, based on the received response content, it responds to the print setting extension app 112 with the capability information requested in step S306 (step S309). Note that in this embodiment, the cloud print service 121 acquires the capability information from the printer 104 at the timing when the print setting extension app 112 of the client terminal 101 requests the cloud print service 121 to acquire the capability information, but it is not limited to this. For example, the printer 104 may register all the capability information with the cloud print service 121 in advance regardless of whether it is supported or not by the OS 114. In this case, when the cloud print service 121 receives the request for acquiring the capability information in step S306, it may transmit the pre-registered capability information to the print setting extension app 112.
[0069] When the print setting extension app 112 acquires the vendor-specific capability information from the cloud print service 121 in step S309, it edits the device capability information of the OS 114 via the configuration information object (step S310). That is, by the process in step S310, the capability information of the printer vendor-specific setting items that the OS 114 does not support is added to the device capability information of the OS 114.
[0070] A configuration information object is a set of data groups necessary for editing device capability information. Since the print settings extension app 112 cannot directly edit the device capability information of the OS 114, it changes the device capability information of the OS 114 by editing this configuration information object.
[0071] At this time, the print settings extension app 112 copies and stores the capability information acquired in steps S306 to S309 and the capability information acquired by the OS 114 in steps S302 and S303 as device capability information in its own data storage area (step S311).
[0072] Next, the print settings extension app 112 passes the configuration information object edited in step S310 to the print spooler 116 of the OS 114 (step S312).
[0073] When the print spooler 116 receives the edited configuration information object from the print settings extension app 112, it updates the device capability information of the OS 114 based on the device capability information that the OS 114 itself has and the received configuration information object (step S313). After the update of the device capability information in step S313, the OS 114 enables the print queue selected in step S301. As a result, the print settings UI part 112a of the print settings extension app 112 can be activated.
[0074] When the print queue becomes enabled in step S313, the OS 114 notifies the document generation app 115 that the use of the print queue has become available (step S314). When the document generation app 115 receives the notification, it enables the display of the detailed settings button and the print button in the app print settings UI being displayed. Also, when the document generation app 115 does not have the function of displaying the app print settings UI, the detailed settings button and the print button of the modern print dialog, which is the OS print settings UI displayed by the OS 114, are enabled for display.
[0075] After that, when the user selects the detailed settings button in the currently displayed app printing settings UI, the printing settings UI section 112a is launched. Note that the user operation for launching the printing settings UI section 112a may be a user operation other than the selection of the above-mentioned detailed settings button.
[0076] When the user presses the detailed settings button, the printing settings extension app 112 determines whether the printer 104 has a paper size mixing function based on the capability information saved in step S311 (step S315: determination step). The paper size mixing function is a function that enables printing while maintaining the size even when pages of different paper sizes are mixed in the document to be printed.
[0077] Here, the details of the determination process for the presence or absence of the paper size mixing function in step S315 will be described using the flowchart of FIG. 4.
[0078] The printing settings extension app 112 determines whether the printer 104 is capable of printing on papers of different sizes such as A3 and A4 from the capability information saved in step S311 (step S401).
[0079] The printing settings extension app 112 determines whether the printer 104 has multiple paper feed trays and whether those paper feed trays hold papers of different sizes such as A3 and A4 from the capability information saved in step S311 (step S402).
[0080] If it is possible to print on papers of different sizes and the paper feed trays hold papers of different sizes (YES in step S401 and YES in step S402), the printing settings extension app 112 determines that there is a paper size mixing function (step S403). In this case, the printing settings UI section 112a of the printing settings extension app 112 displays, as the printing settings UI 112d, a printer function settings screen 702 (FIG. 7A) including settings for paper size mixing printing. Then, this process (FIG. 4) ends.
[0081] The settings for mixed paper size printing indicate the ON / OFF setting of "original size priority" and the options for the mixed paper size pattern.
[0082] On the other hand, when printing is not possible for papers of different sizes (NO in step S401), the printing setting extension app 112 determines that there is no mixed paper size function (step S403). Also, when printing is possible for papers of different sizes but papers of different sizes are not held in the paper feed tray (YES in step S401, NO in step S402), the printing extension app 112 also determines that there is no mixed paper size function (step S403). In this case, the printing setting UI unit 112a of the printing setting extension app 112 does not display the printing function setting screen 702 (FIG. 7A), but instead displays the printing function setting screen 701 (FIG. 7A) that does not include the settings for mixed paper size printing. Then, this process (FIG. 4) ends.
[0083] Note that in the process of FIG. 4, two determinations are made in steps S401 and S402, but it is also possible to make only one of these determinations.
[0084] Returning to FIG. 3, the printing setting UI unit 112a of the printing setting extension app 112 accepts user input on the printing function setting screen displayed according to the determination result of step S315 (step S316).
[0085] Specifically, when it is determined in step S315 that the printer 104 does not have a mixed paper size function, the printing setting extension app 112 displays the printing function setting screen 701 (FIG. 7A). On the printing function setting screen 701, "original size priority" is Off, while the user can select a single paper size as the output paper size. Note that since the printer 104 does not have a mixed paper size function, the user cannot change "original size priority" to On on the printing function setting screen 701.
[0086] On the other hand, when it is determined in step S315 that the printer 104 has a paper size mixed loading function, the print setting extension app 112 displays a printer function setting screen 702 (FIG. 7A). On the printer function setting screen 702, "original size priority" is set to On, and the user can select one of a plurality of patterns preset as the "original size mixed loading pattern" (pattern setting step). On the other hand, on the printer function setting screen 702, the user cannot select the output paper size. Note that on the printer function setting screen 702, the user instruction to switch the On / Off (first setting / second setting) of "original size priority" using the On button 702a (second option) and the Off button 702b (first option) is accepted (paper size setting step).
[0087] Here, the "original size mixed loading pattern" is a pattern in which the finishing process such as stapling is determined for which side of the original when the original sizes are mixed, according to the original size and the print direction (portrait or landscape).
[0088] As shown in FIG. 7B, in this embodiment, patterns 1 to 4 are preset as the "original size mixed loading pattern", and the side 704 (the position of the binding edge) for performing the finishing process on the original, which is set according to the original size and the print direction, is different for each pattern.
[0089] However, the "original size mixed loading pattern" may be fixed to the default set pattern and may not be user-selectable.
[0090] Note that when it is determined in step S315 that the printer 104 has a paper size mixed loading function, the print setting UI unit 112a of the print setting extension app 112 may display the printer function setting screen shown in FIG. 9 as the print setting UI 112d.
[0091] The printer function setting screen 901 is a screen indicating that the tab "Print Settings" is selected.
[0092] Here, the paper size A4 is set.
[0093] The printer-capable setting screen 902 is a screen showing the state where the tab "Exception Settings" is selected.
[0094] On the printer-capable setting screen 902, the user inputs the page range to be set as an exception (here, pages 3 - 6) and the paper size (A3). That is, for the pages set as exceptions on the printer-capable setting screen 902, the user can give a print instruction with a paper size different from the paper size set on the printer-capable setting screen 901.
[0095] Incidentally, since the paper size mixed loading pattern on the printer-capable setting screen 902 is the same as the pattern shown in FIG. 7B, the description is omitted.
[0096] Returning to FIG. 3, when a setting value is set via the printer-capable setting screen, the print setting UI unit 112a writes the setting value into the Print Ticket. After that, when the user closes the printer-capable setting screen and completes the print setting operation, the user's operation screen returns to the app print setting UI provided by the document generation app 115. Then, it proceeds to step S317.
[0097] The print setting UI unit 112a sends the Print Ticket and the UI end notification to the print spooler 116 of the OS 114, and completes the processing on the print setting screen of the print setting extension app 112 (step S317). When receiving the UI end notification, the print spooler 116 saves the Print Ticket attached to the UI end notification.
[0098] When the document generation app 115 receives a print instruction from the user via the app print setting UI, it sends a print execution instruction including the image data to be printed to the cloud printer driver 111 of the OS 114 (step S318). When receiving the print execution instruction from the document generation app 115, the cloud printer driver 111 notifies the print spooler 116 that it has received the print execution instruction.
[0099] When the print spooler 116 receives a notification that it has received a print execution instruction from the cloud printer driver 111 in step S318, it notifies the print setting extension app 112 of a print workflow background processing event (step S319). The print workflow background processing event indicates a process that starts the print workflow background processing of the print setting extension app 112. Also, the print workflow background processing indicates a process of issuing an instruction from the print setting extension app 112 to the cloud printer driver 111 via the print spooler 116 of the OS 114.
[0100] The cloud printer driver 111 can generate intermediate image data from the data received from the document generation app 115 (e.g., GDI format image data) in step S318 and further convert it to PDL. Intermediate image data is data generated before being converted to print data such as PDL, and for example, XPS corresponds to this.
[0101] When the print setting extension app 112 receives the notification of step S319 from the print spooler 116, it issues a request for generating intermediate image data to the print spooler 116 (step S320: intermediate image data generation request step). The request for generating intermediate image data includes a request to skip the conversion from the intermediate image data generated by the cloud printer driver 111 in response to this request to PDL and a request to maintain the paper size of the original document.
[0102] In response to the request issued in step S320, the print spooler 116 issues an instruction to the cloud printer driver 111 to generate intermediate image data, skip the conversion from the intermediate image data to PDL, and maintain the paper size of the original document (step S321).
[0103] When the cloud printer driver 111 receives the two instructions in step S321 from the print spooler 116, it converts the image data to be printed received from the document generation application 115 in step S318 into intermediate image data (step S322). However, the cloud printer driver 111 skips the conversion of the intermediate image data to PDL. Also at this time, the cloud printer driver 111 maintains the paper size of the original document for the paper size of each page in the intermediate image data.
[0104] After that, the cloud printer driver 111 transmits the intermediate image data generated in step S322 to the print spooler 116 and stores it in the print spooler 116 (step S323).
[0105] When the print spooler 116 receives the intermediate image data from the cloud printer driver 111 in step S323, it notifies the print settings extension application 112 of the PDL conversion event (step S324). The PDL conversion event indicates the process of converting the intermediate image data into PDL that can be processed by the printer 104. When notifying this event, the print spooler 116 also transmits to the print settings extension application 112 the intermediate image data and the Print Ticket in which the intermediate image data and the print setting values set in the app print settings UI or the print settings UI section 112a are recorded.
[0106] The print settings extension application 112 regards the intermediate image data received from the print spooler 116 in step S324 as "original intermediate image data" and stores it together with the Print Ticket in the data holding area of the print settings extension application 112 (step S325).
[0107] The print settings extension application 112 determines whether "original size priority" is set to ON in the Print Ticket settings (step S326).
[0108] Here, the details of the determination process of the presence or absence of the "original size priority" setting in step S326 will be described using the flowchart of FIG. 5.
[0109] The print setting extension app 112 determines whether "original size priority" is ON or OFF based on the Print Ticket settings (step S501).
[0110] If "original size priority" is ON (YES in step S501), the print setting extension app 112 further determines whether the print setting for the paper size mixed loading pattern exists in the Print Ticket (step S502).
[0111] If the print setting for the paper size mixed loading pattern exists in the Print Ticket (YES in step S502), the print setting extension app 112 determines to additionally specify original size priority in IPP for IPP attribute generation (step S503).
[0112] The print setting extension app 112 determines to additionally specify the paper size mixed loading pattern set in the Print Ticket in IPP (step S504). Then, this process (Figure 5) ends.
[0113] If "original size priority" is OFF (NO in step S501), or if the print setting for the paper size mixed loading pattern does not exist in the Print Ticket (NO in step S502), the process proceeds to step S505.
[0114] In step S505, after the print setting extension app 112 determines that there is no additional instruction related to paper size mixed loading for IPP attribute generation, this process (Figure 5) ends.
[0115] Returning to FIG. 3, the print settings extension app 112 makes a request to generate IPP setting information to the print spooler 116 of the OS 114 using the API of the OS 114 (step S327: IPP setting information generation request step). The IPP setting information indicates print setting information defined by a combination of IPP attributes and IPP attribute values. Here, if it is determined in step S326 that "original size priority" is set, the "type of mixed paper loading" is read from the settings of the Print Ticket saved in step S325 and added to the request to generate the IPP setting information.
[0116] Here, an example of the request to generate the IPP setting information that the print settings extension app 112 makes to the print spooler 116 using the API of the OS 114 in step S327 will be described with reference to FIG. 8.
[0117] FIG. 8(a) shows an example of a case where a request to generate IPP setting information including IPP attributes representing "original size priority" and "mixed loading type" is sent to the print spooler 116 using the API of the OS 114.
[0118] In the example of FIG. 8(a), the print settings extension app 112 requests the print spooler 116 to generate IPP attributes for indicating original size priority and IPP attributes for indicating the mixed loading type in accordance with the settings made on the printer function setting screen 702 (FIG. 7A).
[0119] That is, in the case of FIG. 8(a), the IPP attribute for indicating original size priority is an extended attribute representing "original size priority", and the IPP attribute for indicating the mixed loading type is an extended attribute representing "mixed loading type".
[0120] FIG. 8(b) shows an example of a case where the print settings extension app 112 instructs the generation of an override of the IPP attribute in accordance with the exception settings made on the printer function setting screen 902 (FIG. 9). In this example, in accordance with the exception setting made on the printer function setting screen 902 to print pages 3 to 6 in the A4 paper size and with pattern 1, the print spooler 116 is requested to generate an override for overwriting the IPP attribute.
[0121] That is, in the example of FIG. 8(b), the IPP attribute for the manuscript size priority instruction is the Override attribute that represents the content of the exception setting configured on the printer function setting screen 902. Note that Override is an instruction to overwrite the processing instructions such as IPP attributes incorporated in the image data to be printed with the processing instructions specified from outside the image data.
[0122] Returning to FIG. 3, when the print spooler 116 of the OS 114 receives a generation request from the print setting extension application 112 in step S327, it generates IPP setting information (step S328). Here, the print spooler 116 generates IPP setting information corresponding to the received generation request based on the Print Ticket saved in step S317.
[0123] The print spooler 116 of the OS 114 transmits the IPP setting information generated in step S328 to the cloud print service 121 (step S329).
[0124] The cloud print service 121 transfers the IPP setting information transmitted in step S329 to the printer 104 (step S330).
[0125] The printer 104 notifies the print setting extension application 112 of the reception of the IPP setting information via the cloud print service 121 and the print spooler 116 of the OS 114 (step S331).
[0126] The print setting extension application 112 determines the PDL type supported by the printer 104 from the capability information of the printer 104 obtained in step S309 (step S332). Here, PWG-Raster or PDF is selected.
[0127] Here, the details of the determination process of the PDL type supported by the printer 104 in step S332 will be described with reference to the flowchart of FIG. 6.
[0128] The print settings extension app 112 determines whether the printing function of the printer 104 supports PDF from the capability information saved in step S311 (step S601).
[0129] If the printing function of the printer 104 supports PDF (YES in step S601), select PDF as the PDL to be sent to the printer (step S602). Then, this process (Fig. 6) ends.
[0130] On the other hand, if the printing function of the printer 104 does not support PDF (NO in step S601), select PWG-Raster as the PDL to be sent to the printer 104 (step S603). Then, this process (Fig. 6) ends.
[0131] Returning to Fig. 3, the print settings extension app 112 passes the intermediate print image data and PDL type information to the print spooler 116, and requests the conversion of the intermediate print image data to PDL and the transmission of the print data (step S333: print data transmission request step).
[0132] The print spooler 116 of the OS 114 converts the intermediate print image data into PDL of the specified PDL type using the intermediate print image data and PDL type information from the print settings extension app 112 in step S333 (step S334).
[0133] The print spooler 116 of the OS 114 generates print data for transmitting the PDL converted in step S334 to the printer 104 via IPP (step S335).
[0134] The print spooler 116 of the OS 114 transmits the print data generated in step S335 to the cloud print service 121 via the print queue received in step S301 (step S336).
[0135] The cloud print service 121 transmits the print data passed from the print spooler 116 of the OS 114 to the printer 104 at step S336 (step S337). Then, this process (FIG. 3) ends.
[0136] Note that although this process (FIG. 3) uses cloud printing as an example, the same process can be equally applied to local printing where the client terminal 101 and the printer 104 communicate directly without going through the cloud print service 121.
[0137] The above is the series of processes from when the document generation app 115 displays the print settings screen to when the print data is transmitted to the printer 104.
[0138] On the app print settings UI displayed by the document generation app 115, since the print instruction to the printer is executed via the printer driver using IPP, the user can only perform limited print settings that can be set with the IPP protocol for the image data to be printed. However, in this embodiment, when the user presses the detailed settings button on the app print settings UI, if the printer of the currently selected print queue has a paper size mixed loading function, the print settings extension app 112 displays the printer function settings screen 702. On this printer function settings screen 702, the user can perform settings for mixed loading printing of different original sizes on the image data to be printed, which cannot be set on the app print settings UI.
[0139] That is, by operating the printer function settings screen 702, the user can perform print settings while maintaining the original size when instructing the printer to print a manuscript with different original sizes mixed via the printer driver using IPP.
[0140] <Other Embodiments> The present invention can also be implemented by supplying a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and causing one or more processors in a computer of the system or apparatus to read and execute the program. It can also be implemented by a circuit (for example, ASIC) that realizes one or more functions.
[0141] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, the claims are appended to disclose the scope of the invention.
[0142] As described above, the preferred embodiments of the present invention have been described. However, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist thereof.
[0143] The disclosure of the present embodiment includes the following programs, configurations, and methods. (Program 1) An application program that extends the function related to the print settings of a printer driver using IPP (Internet Printing Protocol) possessed by an information processing apparatus, and includes a first setting for printing with a single paper size selected by a user, or a second setting for performing mixed paper size printing in which printing is performed with a plurality of sizes mixed in the original document. A paper size setting step for providing a user with a first option for selection, an IPP setting information generation request step for requesting the print spooler to generate IPP setting information including IPP attributes for priority indication of the original document size for instructing the target printer, and an intermediate image data generation request step for requesting the printer driver via the print spooler to generate intermediate image data while maintaining the original document size of each page of the image data to be printed. And a print data transmission request step for requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer. An application program characterized by causing the information processing apparatus to execute. (Program 2) The application program according to Program 1, further causing the information processing apparatus to execute a determination step of determining whether mixed-size printing is possible on the target printer. (Program 3) In the determination step, it is determined whether there are different sizes in the manuscript sizes of each page of the image data to be printed. When there are different sizes, it is determined whether the target printer has a plurality of paper feeding stages and whether papers of the different sizes are set in each paper feeding stage. The application program according to Program 2 is characterized by this. (Program 4) In the paper size setting step, for the second setting, a printing function setting screen having an On button for receiving a user instruction to turn on manuscript size priority and an Off button for receiving a user instruction to turn off manuscript size priority for the first setting is displayed as the first option. The application program according to any one of Programs 1 to 3 is characterized by this. (Program 5) When the On button is selected by the user, the information processing apparatus is further caused to execute a pattern setting step of providing the user with a second option of which mixed-size pattern of a plurality of paper sizes to use. The IPP setting information includes an IPP attribute for indicating the mixed-size pattern selected by the user in the second option. The application program according to Program 4 is characterized by this. (Program 6) When the Off button is selected by the user, a third option for the user to select the single paper size is displayed on the printing function setting screen. When the On button is selected by the user, the user cannot select the third option while the second option is displayed on the printing function setting screen. The application program according to Program 5 is characterized by this. (Program 7) The plurality of mixed-size patterns of paper sizes are determined according to the manuscript size and the printing direction. The application program according to Program 5 or 6 is characterized by this. (Program 8) In the IPP setting information generation request step, when the On button is selected by the user, it is determined to perform mixed-size printing, which is an application program according to any one of Programs 5 to 7. (Program 9) In the IPP setting information generation request step, when none of the plurality of mixed paper size patterns is selected by the user in the second option, it is determined not to perform mixed-size printing, which is an application program according to Program 8. (Program 10) The IPP attribute for the original size priority instruction is an extended attribute indicating the On / Off setting of the original size priority, which is an application program according to any one of Programs 4 to 9. (Program 11) The IPP attribute for the mixed type instruction is an extended attribute indicating the mixed paper size pattern selected by the user in the second option, which is an application program according to any one of Programs 5 to 9. (Program 12) In the paper size setting step, for the second setting, a printer function setting screen is displayed to receive user input of pages to be exception-set and their paper sizes among the image data to be printed, which is an application program according to any one of Programs 1 to. (Program 13) The IPP attribute for the original size priority instruction is an Override attribute representing the content of the exception setting, which is an application program according to Program 12. An information processing apparatus having a printer driver using IPP (Internet Printing Protocol) and extending functions related to print settings of the printer driver by an application program, wherein the application program provides a first option for the user to select whether to perform a first setting of printing with a single paper size selected by the user or a second setting of performing mixed paper size printing in which printing is performed with a plurality of sizes mixed in the original document, a paper size setting means for providing the user with a first option for selection, an IPP setting information generation request means for requesting the print spooler to generate IPP setting information including an IPP attribute for instructing the target printer with priority given to the original document size, an intermediate image data generation request means for requesting the printer driver via the print spooler to generate intermediate image data while maintaining the original document size of each page of the image data to be printed, and a print data transmission request means for requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer. The information processing apparatus is characterized by functioning as such. (Method 1) A control method for an information processing apparatus having a printer driver using IPP (Internet Printing Protocol) and extending functions related to print settings of the printer driver by an application program, the method comprising: a paper size setting step of providing a user with a first option for selecting, by the application program, a first setting for printing with a single paper size selected by the user or a second setting for performing paper size mixed printing for printing with a plurality of sizes mixed in a document; an IPP setting information generation request step of requesting a print spooler to generate IPP setting information including an IPP attribute for indicating priority of a document size for instructing a target printer; an intermediate image data generation request step of requesting the printer driver via the print spooler to generate intermediate image data while maintaining the document size of each page of image data to be printed; and a print data transmission request step of requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by the IPP, and transmit the print data to the target printer.
Explanation of Signs
[0144] 1 Printing system 101 Client terminal 102 Cloud print server 104 Cloud print-compatible printer 107 Network 111 Cloud printer driver 112 Print setting extension application 112a Print setting UI section 112b Device capability collection processing section 114 OS 115 Document generation application 116 Print spooler 121 Cloud print service
Claims
1. An application program that extends the functions related to the print settings of a printer driver using IPP (Internet Printing Protocol) possessed by an information processing apparatus, a paper size setting step of providing a user with a first option for selecting whether to perform a first setting of printing with a single paper size selected by the user or a second setting of performing mixed paper size printing in which printing is performed with a plurality of sizes mixed in the original document, an IPP setting information generation request step of requesting the print spooler to generate IPP setting information including IPP attributes for instructing the target printer with priority given to the original document size, an intermediate image data generation request step of requesting the printer driver via the print spooler to generate intermediate image data while maintaining the original document size of each page of the image data to be printed, a print data transmission request step of requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer, The application program is characterized in that it is executed on the information processing apparatus.
2. The application program according to claim 1, characterized in that the information processing apparatus is further caused to execute a determination step of determining whether mixed paper size printing is possible with the target printer.
3. The determination step is determining whether there are different sizes in the original document size of each page of the image data to be printed, The application program according to claim 2, characterized in that when there are different sizes, it is determined whether the target printer has a plurality of paper feed trays and whether papers of the different sizes are set in each paper feed tray.
4. In the paper size setting step, a print function setting screen having, as the first option, an On button for receiving a user instruction to turn on the original document size priority for the second setting and an Off button for receiving a user instruction to turn off the original document size priority for the first setting is displayed. The application program according to claim 1.
5. When the On button is selected by the user, the information processing apparatus is further caused to execute a pattern setting step of providing the user with a second option of which of a plurality of mixed paper size patterns to use. The application program according to claim 4, wherein the IPP setting information includes an IPP attribute for indicating a mixed loading type indicating a paper size mixed loading pattern selected by the user in the second option.
6. When the Off button is selected by the user, a third option for allowing the user to select the single paper size is displayed on the printing machine use setting screen. The application program according to claim 5, wherein when the On button is selected by the user, the user cannot select the third option, while the second option is displayed on the printing machine use setting screen.
7. The application program according to claim 5, wherein the plurality of paper size mixed loading patterns are determined according to the original manuscript size and the printing direction.
8. In the IPP setting information generation request step, the application program according to claim 5, wherein when the On button is selected by the user, it is determined that the paper size mixed loading printing is to be performed.
9. In the IPP setting information generation request step, the application program according to claim 8, wherein when none of the plurality of paper size mixed loading patterns is selected by the user in the second option, it is determined that the paper size mixed loading printing is not to be performed.
10. The application program according to claim 4, wherein the IPP attribute for indicating the original manuscript size priority is an extended attribute indicating the On / Off setting of the original manuscript size priority.
11. The application program according to claim 5, wherein the IPP attribute for indicating the mixed loading type is an extended attribute indicating the paper size mixed loading pattern selected by the user in the second option.
12. In the paper size setting step, in order to perform the second setting, the application program according to claim 1, wherein a printing machine use setting screen for receiving user input of pages to be set as exceptions and their paper sizes among the image data to be printed is displayed.
13. The application program according to claim 12, wherein the IPP attribute for indicating the original manuscript size priority is an Override attribute representing the content of the exception setting.
14. An information processing apparatus having a printer driver using IPP (Internet Printing Protocol), and expanding functions related to print settings of the printer driver by an application program, wherein the application program is a paper size setting means for providing a user with a first option for selecting whether to perform a first setting of printing with a single paper size selected by the user or a second setting of performing mixed paper size printing in which a plurality of sizes mixed in the original document are printed as they are, is an IPP setting information generation request means for requesting the print spooler to generate IPP setting information including IPP attributes for priority indication of the original document size for instructing the target printer, is an intermediate image data generation request means for requesting the printer driver via the print spooler to generate intermediate image data maintaining the original document size of each page of the image data to be printed, is a print data transmission request means for requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer, and is characterized by functioning as such.
15. A control method for an information processing apparatus having a printer driver using IPP (Internet Printing Protocol), and expanding functions related to print settings of the printer driver by an application program, wherein by the application program is a paper size setting step for providing a user with a first option for selecting whether to perform a first setting of printing with a single paper size selected by the user or a second setting of performing mixed paper size printing in which a plurality of sizes mixed in the original document are printed as they are, is an IPP setting information generation request step for requesting the print spooler to generate IPP setting information including IPP attributes for priority indication of the original document size for instructing the target printer, is an intermediate image data generation request step for requesting the printer driver via the print spooler to generate intermediate image data maintaining the original document size of each page of the image data to be printed, is a print data transmission request step for requesting the print spooler to convert the intermediate image data into PDL, generate print data for transmitting the PDL by IPP, and transmit the print data to the target printer, A control method characterized by executing
Citation Information
Patent Citations
Printing system
JP2017004549A
Cited By
Application program, information processing device, and control method thereof
JP2026127309A
Application program, information processing device, and control method thereof
JP7864876B1