Application program, control method of information processing device and information processing device
Patent Information
- Application Number
- JP2023129009
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-08
- Publication Date
- 2025-02-21
AI Technical Summary
【0008】 本発明の実施により、印刷設定拡張アプリと印刷装置の両方で処理できる機能について、適切な出力結果を得ることが可能となる。
Smart Images

Figure 2025024764000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an application program, a control method for an information processing device, and an information processing device. [Background technology]
[0002] A generic printer driver (local printer driver) that communicates directly with an image forming device using an industry standard protocol such as IPP (Internet Printing Protocol) is being considered. A local printer driver is a driver provided by a vendor (manufacturer) that provides the OS (operating system) of the client terminal. A local printer driver is a printer driver that generates print data that can be interpreted by multiple printer models from multiple printer vendors. A local printer driver can communicate with printers from multiple printer vendors. Therefore, by using a local printer driver, a user can send a print job to an image forming device without having to install a vendor-specific printer driver.
[0003] Furthermore, printing using a cloud print service is being considered. In a cloud print service, a printer driver for the cloud print service (cloud printer driver) is installed on an information processing device. The cloud printer driver is also provided by the OS vendor that provides the OS for the client terminal, and is a printer driver that generates print data that can be interpreted by printers from multiple printer vendors. In the cloud print service, the information processing device uses the cloud printer driver to send a print job to the cloud print service, and the cloud print service sends the print job to an image forming device, thereby executing printing.
[0004] The above-mentioned local printer driver and cloud printer driver handle print jobs printed by image forming devices of various vendors, so there are limitations on the items and functions that can be set as print settings. Therefore, as in Patent Document 1, it has been considered to link the printer driver and expand the print settings using the identification information of the printer linked to the printer driver. This makes it possible to realize a vendor-specific print setting UI and print job editing function. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2020-126370 A Summary of the Invention [Problem to be solved by the invention]
[0006] A print setting extension application that extends the functionality of a generic printer driver can receive intermediate image data from the generic printer driver and edit the intermediate image data. Editing the intermediate image data on the print setting extension application side makes it possible, for example, to display a preview that reflects the print settings. Some setting items related to printing can be processed by both the print setting extension application and the printing device. For such setting items, it is necessary to prevent overlapping processing between the print setting extension application and the printing device. [Means for solving the problem]
[0007] The application described in the present application is a print setting application that displays a print setting screen for setting print setting values to be provided to a printer driver that generates print setting information in accordance with the Internet Printing Protocol, and is characterized in that it causes an information processing device to execute an acquisition step of acquiring intermediate image data to be printed that is provided from the application, an editing step of editing the acquired intermediate image data in accordance with setting values of specified setting items set on the print setting screen, a first transmission step of transmitting print data based on the edited intermediate image data, and a second transmission step of transmitting a specified value different from the value set via the print setting screen as the setting value of the specified setting item corresponding to the print data. Effect of the Invention
[0008] By implementing the present invention, it is possible to obtain appropriate output results for functions that can be processed by both the print setting extension application and the printing device. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an example of a system configuration. [Diagram 2] FIG. 2 illustrates an example of a hardware configuration. [Diagram 3] FIG. 4 is a diagram showing an example of a sequence according to the first embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of an application function table according to the first embodiment. [Diagram 5] FIG. 4 is a diagram showing an example of an attribute value table according to the first embodiment. [Figure 6] 6A to 6C are diagrams illustrating an example of an attribute value table generating process and a print setting determining process according to the first embodiment. [Figure 7] FIG. 4 is a diagram showing an example of a table for correcting print attribute information in the first embodiment. [Figure 8] FIG. 11 is a diagram showing an example of a sequence according to the second embodiment. [Figure 9]FIG. 13 is a diagram showing an example of a function table according to the third embodiment. [Figure 10] FIG. 13 is a diagram showing an example of an attribute value table according to the third embodiment. [Figure 11] 13 is a flowchart showing an example of an attribute value table generation process according to the third embodiment. [Figure 12A] FIG. 11 is a diagram illustrating an example of a first print setting UI according to the embodiment. [Figure 12B] FIG. 11 is a diagram illustrating an example of a first print setting UI according to the embodiment. [Figure 13] FIG. 11 is a diagram illustrating an example of a preview UI according to the embodiment. [Figure 14] 11A to 11C are diagrams illustrating an example of a preview UI internal process according to the embodiment. [Figure 15] 10 is a flowchart illustrating an example of a setting process of print attribute information according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0011] <Embodiment 1> 1 shows the configuration of a printing system for cloud printing in this embodiment. A client terminal 101, a cloud print server 102, an application management server 103, a cloud print-compatible printer 104 (hereinafter referred to as the printer 104), and an online support server 105 are connected via a network 107.
[0012] Although FIG. 1 illustrates one client terminal 101 and one cloud print-compatible printer 104, there may be a plurality of client terminals 101 and printers 104.
[0013] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may be a server system configured with a plurality of information processing devices. By configuring each server as a server system configured with a plurality of information processing devices, it is possible to distribute the load to a plurality of information processing devices.
[0014] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may be virtually configured within one physical information processing apparatus.
[0015] The network 107 is assumed to be a WAN such as the Internet for connecting to cloud services, but may be a closed environment such as an in-house LAN.
[0016] The client terminal 101 is an information processing device such as a PC, a tablet, or a smartphone, and is a terminal that is directly operated by a user. On the client terminal 101, any application software can be executed.
[0017] The local printer driver 113 and the cloud printer driver 111 are printer drivers provided by an OS vendor (manufacturer) that provides an OS (Operating System) 114 for the client terminal. The local printer driver 113 and the cloud printer driver 111 are printer drivers that generate print data that can be interpreted 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 using a cloud print service 121 provided by an OS vendor. Information about the printer 104 is registered in advance in the cloud print service 121. The client terminal 101 specifies the printer 104 as the output destination of print data generated by the cloud printer driver 111, and transmits the print data to the cloud print service 121. The cloud print service 121 transmits the print data to the printer 104 specified by the client terminal 101, thereby executing printing.
[0018] It should be noted 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.
[0019] The print spooler 116 is a function related to printing provided by the OS 114. It 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 up by the print setting extension application 112, or sent to the cloud print server 102 or the printer 104.
[0020] The print setting extension app 112 is a print setting application provided by one of the above-mentioned printer vendors, which is a vendor that provides the printer used for printing. The print setting extension app 112 is an application that is not stored in the storage unit 214 when the client terminal 101 is shipped. When the user performs a predetermined operation on the client terminal 101, the print setting extension app 112 is downloaded from the application management server 103. The predetermined operation is, for example, an operation for connecting the client terminal 101 and the printer 104, an operation for transmitting print data from the client terminal 101 to the printer 104 via the cloud print service 121, etc. Furthermore, the user may obtain the print setting extension app 112 from an app store provided by the application management service 131. The print setting extension app 112 extends functions related to print settings of the local printer driver 113 and the cloud printer driver 111 via the print spooler 116 of the OS 114.
[0021] The cloud print-compatible printer 104 is a device that actually prints on a recording medium such as paper, and is an image forming apparatus that converts print data received via a network 107 into image data and prints it.
[0022] The print setting UI unit 112a is a print setting UI extended by a printer vendor in the print setting extension application 112, and provides the user with a print setting UI.
[0023] The print setting UI unit 112a generates and displays a print setting UI based on capability information acquired by the OS 114 and the print setting extension application 112 from the local printer 104 and the cloud print service 121.
[0024] The print workflow processing unit 112b receives intermediate image data of images and graphics expressed in XML format such as XPS (XML Paper Specification) from the print spooler 116. The print workflow processing unit 112b performs PDL conversion processing to convert the received XPS format data into PDL (Page Description Language) that can be processed by the printer. In this embodiment, a print preview is displayed by the print workflow processing unit 112b. By using the print workflow processing unit 112b, it is possible to display a preview of the image to be printed. Furthermore, by using the print workflow processing unit 112b, it is possible to provide a preview image that reflects the color mode and imposition.
[0025] The device capability acquisition processing unit 112c is a module that operates the OS 114 to acquire capability information of the printer 104 and updates the device capability information managed by the OS 114 based on the acquired capability information.
[0026] 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 may be downloaded and installed by the user.
[0027] The cloud print server 102 is a server device for providing a cloud print service 121 provided by an OS vendor. In this embodiment, the cloud print server 102 accepts a print instruction and print data from the client terminal 101. The cloud print server 102 then transmits the received print data to the printer 104, thereby providing the service to the user.
[0028] The application management server 103 stores and manages various applications. The application management server 103 receives application identification information and a download request from the client terminal 101, and transmits to the client terminal 101 an application identified based on the received identification information.
[0029] The online support server 105 is a server device that provides an online support service 151. The online support service 151 is a server device that provides the client terminal 101 with a file in which information for expanding the functions of the client terminal 101 is described.
[0030] Next, the hardware configuration of the system of this embodiment will be described with reference to FIG.
[0031] FIG. 2A is a block diagram showing the hardware configuration of the client terminal 101. As shown in FIG.
[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 SSD, and is capable of storing and rewriting 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 loads computer programs stored in the storage unit 214 into the memory 213 and executes them. The memory 213 is the main storage memory of the CPU 212 and is used as a work area and a temporary storage area for loading various programs.
[0035] The network communication unit 215 is a device for communicating with the external network 107, and inputs and outputs digital data to and from external servers, client terminals, and the like via the network 107.
[0036] The display unit 216 is a device such as a liquid crystal display for displaying visual information to a user in real time. The operation unit 217 is a device for receiving input from a user via a keyboard, mouse, etc. A device having the functions of both the display unit 216 and the operation unit 217, such as a touch panel, may be used.
[0037] 2B is a block diagram showing a 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.
[0038] The description of the storage unit 224, the control unit 221, and the network communication unit 225 is omitted because they are the same as those of the client terminal 101.
[0039] Although the cloud print server 102 is described as being configured with one information processing device having the hardware configuration shown in FIG. 2(b), the cloud print server 102 may also be configured with multiple information processing devices as shown in FIG. 2(b).
[0040] 2C 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.
[0041] The display unit 236, operation unit 237, storage unit 234, control unit 231, and network communication unit 235 are the same as those in the client terminal 101, and therefore will not be described here.
[0042] Although the application management server 103 will be described as being configured from one information processing device having the hardware configuration shown in FIG. 2(c), the application management server 103 may be configured from a plurality of information processing devices.
[0043] 2D is a block diagram showing the hardware configuration of the cloud print-compatible printer 104. The cloud print-compatible printer 104 includes 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.
[0044] The display unit 246 is a device, such as a touch panel or LED, provided on the cloud print-compatible printer 104, for displaying information to the user in real time.
[0045] The operation unit 247 is a device for receiving input from a user, and may include hard keys such as a numeric keypad in addition to a touch panel. The storage unit 244 and the control unit 241 are the same as those in the client terminal 101, and therefore a description thereof will be omitted.
[0046] The network communication unit 245 is a device that communicates with the external network 107, and is mainly responsible for receiving print data and transmitting information about the status of the cloud print-compatible printer 104, such as errors, to an external server or the like.
[0047] The printing unit 248 is a device that performs printing processing by carrying out a series of operations such as paper feeding, printing, and paper ejection on paper prepared in a cassette or tray. The printing method is not particularly limited to electrophotographic or inkjet printing. Finishing devices such as a duplex unit, stapler, and puncher used when ejecting paper are also included in the printing unit 248.
[0048] In this embodiment, a single-function printer that performs only a printing function is described as an example of the cloud print-compatible printer 104, but a multifunction printer (multifunction device) that also has a scanner function and a FAX function may also be used.
[0049] FIG. 2(e) is a hardware block diagram showing the details of the online support server 105. In this embodiment, the online support server 105 is described as being configured with one information processing device, but may be configured with multiple information processing devices. The online support server 105 is configured with a display unit 256, an operation unit 257, a storage unit 254, a control unit 251, and a network communication unit 255. The display unit 256 and the operation unit 257 are similar to the display unit 216 and the operation unit 217 of the client terminal 101, and therefore will not be described. The storage unit 254 is a memory device such as an HDD or SSD. The storage unit 254 stores a file containing information for expanding the functions provided by the client terminal 101.
[0050] The control unit 251 is composed of a CPU 252 and a memory 253. The CPU 252 controls the entire online support server 105. The memory 253 is used for processing executed by the CPU 252. The network communication unit 255 is an interface for the online support server 105 to communicate with the client terminal 101. The online support server 105 receives a request to acquire a file stored in the memory unit 254 via the network communication unit 255, and transmits the corresponding file to the client terminal 101.
[0051] Next, an example of a procedure for a user to print in this embodiment and a sequence between each piece of software and the print service will be described with reference to FIG.
[0052] 3 shows a process that is executed after the information of the printer 104 is registered in the cloud print service 121 and the generation of a print queue is completed. Here, it is assumed that a print queue for transmitting print data generated by the cloud printer driver 111 to the printer 104 via the cloud print service 121 has been generated.
[0053] The print spooler 116 of the OS 114 accepts the selection of a print queue by the user via a UI provided by the document generation application 115 (S301). Note that the print queue may be selected in a print setting UI provided by the OS 114, which is different from the UI provided by the document generation application 115.
[0054] Here, it is assumed that a print queue corresponding to the printer 104 has been selected. When a print queue is selected, the print spooler 116 reads out a Print Ticket. A 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 Ticket describes the print settings in a format that can be interpreted by the OS 114. The print settings are described as a set of setting items and setting values.
[0055] Next, the print spooler 116 transmits a request to the cloud print service 121 to acquire capability information of the printer 104 corresponding to the selected print queue (S302). In S302, the print spooler 116 transmits a request to acquire capability information related to print setting items supported by the OS 114 to the cloud print service 121. The print spooler 116 transmits a Get-Printer-Attributes command defined in a standard protocol such as IPP (Internet Printing Protocol) as the request to acquire capability information. At this time, by setting attribute information corresponding to the setting item as an argument of the command, the print spooler 116 can acquire capability information of the setting item specified by the print spooler 116. Note that in this embodiment, the attribute information and attribute values are information exchanged according to the IPP.
[0056] The cloud print service 121 responds with the capability information of the printer 104 to the print spooler 116 of the OS 114 (S303). In 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 value range of each setting item.
[0057] The print spooler 116 of the OS 114 stores the acquired capability information as device capability information associated with the print queue of the printer 104 (S304). The print spooler 116 converts the acquired attribute information and attribute values into setting items and setting values in a format that can be interpreted by the OS 114, and stores them as device capability information. Note that if device capability information associated with the print queue has already been stored, the print spooler 116 adds the capability information acquired in S303 to the stored device capability information.
[0058] The print spooler 116 of the OS 114 notifies the device capability acquisition processing unit 112c of the print setting extension application 112 of an event indicating that the device capability information can be edited (S305).
[0059] Upon receiving this event, the device capability acquisition processing unit 112c can use an API (Application Programming Interface) of the OS 114. The API is an API for editing device capability information. At this time, the print setting extension application 112 can add attribute information or attribute values corresponding to setting items or setting values not supported by the OS 114 to the device capability information.
[0060] Upon receiving this event, the device capability acquisition processing unit 112c of the print setting extension application 112 acquires capability information related to setting items and setting values not supported by the OS 114 from the cloud print service 121, and edits the device capability information.
[0061] When the device capability acquisition processing unit 112c of the print setting extending application 112 receives the device capability information editing event from the OS 114, it requests the cloud print service 121 for capability information of the printer 104 (S306). Note that, although the print setting extending application 112 sends a request to the cloud print service 121 here, the capability information may be acquired using a function provided by the OS 114.
[0062] The print setting expanding application 112 stores attribute information corresponding to the setting items for which capability information is requested. The device capability acquisition processing unit 112c of the print setting expanding application 112 transmits a capability information acquisition request, excluding attribute information corresponding to the setting items for which capability information acquisition by the OS 114 has been completed from the attribute information stored in the print setting expanding application 112. In this manner, it is possible to prevent a duplicate capability information acquisition request from being made for attribute information for which capability information acquisition has already been completed. Note that the print setting expanding application 112 may also acquire capability information for attribute information for which the OS 114 has acquired capability information.
[0063] Then, the device capability acquisition processing unit 112c of the print setting extension application 112 inquires of the cloud print service 121 about the attribute information selected as the request target using a standard IPP protocol such as Get-printer-Attributes.
[0064] In this way, the print setting extension application 112 can obtain capability information for attribute information not supported by the OS 114. Note that the target of the capability information request may include attribute information that is not defined in IPP. Attribute information specific to the printer vendor is set as an argument of Get-Printer-Attributes. In this way, capability information can be obtained for attribute information that is not defined in IPP.
[0065] S306 is the same process as S302, except that the attribute information to be queried is different. The print setting extension application 112 queries the capability information of the vendor-specific setting items by setting attribute information corresponding to the printer vendor-specific setting items as an argument of a command of the IPP standard protocol such as Get-printer-Attributes. The vendor-specific setting items are "stapleless binding", "saddle folding", and "bookbinding".
[0066] The arguments corresponding to each setting value can be written, for example, as follows:
[0067] For example, for "staple-free binding," the custom attribute ext_stitching representing "staple-free binding" is specified in the Get-print-Attributes protocol.
[0068] In addition, for "saddle fold", a custom attribute ext_folding that represents "saddle fold" is specified in the Get-print-Attributes protocol.
[0069] In addition, for "booklet binding", the custom attribute ext_booklet_printing representing "booklet binding" is specified in the Get-print-Attributes protocol.
[0070] The cloud print service 121 that has received the request for capability information requests the printer 104 for the capability information using IPP (S307). The cloud print service 121 uses Get-Printer-Attributes to inquire about the capability information of the printer 104. At this time, the cloud print service 121 uses the argument notified by the client terminal 101 to inquire of the printer 104.
[0071] The printer 104 responds with the requested capability information to the cloud print service 121 (S308).
[0072] The cloud print service 121 responds with the requested capability information to the print setting extending application 112 (S309). In this embodiment, the cloud print service 121 acquires the capability information from the printer 104 at the timing when the print setting extending application 112 of the client terminal 101 requests the cloud print service 121 to acquire the capability information. The printer 104 may register all capability information in advance in the cloud print service 121 regardless of whether it is supported or not by the OS 114. Then, the cloud print service 121 may receive the capability information acquisition request in S306 and transmit the previously stored capability information to the print setting extending application 112.
[0073] When the print setting extension application 112 acquires vendor-specific capability information from the cloud print-compatible printer 104, it edits the device capability information held by the OS 114 via the configuration information object (S310). Through the processing of S310, capability information of a printer vendor-specific setting item that is not supported by the OS 114 is added to the device capability information.
[0074] The configuration information object is a collection of data necessary for editing device capability information. Since the print setting extension application 112 cannot directly edit the device capability information held by the OS 114, the print setting extension application 112 uses the configuration information object to change the device capability information held by the OS 114.
[0075] At this time, the print setting extension application 112 copies and stores the capability information acquired by itself and the capability information acquired by the OS 114 in the data storage area of the application as its own device capability information data (S311).
[0076] Next, the print setting extension application 112 passes the edited configuration information object to the OS 114 (S312). When the OS 114 receives the configuration information object from the print setting extension application 112, the OS 114 merges the device capability information that the OS itself has with the device capability information that has been added to the configuration information object, and updates it as new device capability information.
[0077] When the OS 114 generates new device capability information, it enables the print queue, and enables the print setting UI unit 112a of the print setting extension application 112 (S313). When the print queue is enabled, for example, the OS 114 notifies the document generation application 115 that the print queue is now available for use. In response to receiving this notification, the document generation application 115 displays a detailed settings button and a print button selectably on the print setting screen that it displays. Also, if the document generation application 115 does not have a function for displaying a print setting screen, the detailed settings button and print button of the modern print dialog, which is the print setting screen displayed by the OS 114, are displayed selectably.
[0078] It is assumed that the user selects the advanced settings button after the print queue is enabled. The operation for starting the print setting extension application 112a may be an operation other than the above-mentioned advanced settings button.
[0079] The print spooler 116 of the OS 114 instructs the print setting UI unit 112a of the print setting extension application 112 to start up (S314).
[0080] The print setting extension application 112 receives the print setting capability information (Print Capabilities) generated by the OS 114 from the device capability information and a Print Ticket indicating the current print settings, and displays a print setting screen on the display unit 216 (S315). The print setting UI unit 112a in the print setting extension application 112 is started by the OS 114, and displays a print setting screen such as that shown in FIGS. 12A and 12B.
[0081] 12A and 12B are examples of print setting GUIs displayed by the print setting UI unit 112a based on the capability information extended by the print setting extending application 112. A screen 1201 in FIG. 12A is a print setting screen provided by the print setting UI unit 112a when started from the document generation application 115. This screen can be scrolled, and the setting items displayed change by scrolling. On the print setting screen provided by the print setting extending application 112, the setting items written in the application function table shown in FIG. 4 can be set.
[0082] An area for setting the settings of the "stapler" function is provided on screen 1202. In addition to options 1212 for the "stapler" function such as "none" and "top left" that are supported by OS 114, "stapleless binding" that is not supported by OS 114 can also be selected.
[0083] Additionally, the screen 1202 is provided with an area for setting the settings of a "folding setting" function. The options for the "folding setting" function include "none", "bi-fold", and "C-fold" supported by the OS 114, as well as "saddle fold".
[0084] FIG. 12B(a) also has a setting item 1203 for "single-sided / double-sided / bookbinding." This setting item allows the user to select either "single-sided," "double-sided," or "bookbinding." "Single-sided" and "double-sided" are setting values supported by OS 114, while "bookbinding" is a setting value not supported by OS 114. FIG. 12B(b) is displayed when "bookbinding" is selected in setting item 1203. Here, a setting item 1204 is displayed for setting how the book will open when printed and bound. Setting item 1204 allows the user to set the opening direction, for example, from "right-opening" or "left-opening."
[0085] In the examples of FIGS. 12A and 12B, the addition of options for functions is illustrated, but it is also possible to add setting items.
[0086] This print setting screen is capable of displaying print setting information supported by the print setting extension application 112, regardless of the type of document generation application 115 used.
[0087] A print setting UI unit 112a in the print setting extending application 112 provides a function for the user to change print settings arbitrarily, and when a setting value is changed, stores the changed setting value.
[0088] For example, assume that the user changes the page aggregation setting on the UI from "OFF" to "2-in-1." In this case, the print setting information held by the print setting extension application 112 changes from "OFF" to "2-in-1."
[0089] Then, when the user selects the "OK" button (1211 in FIG. 12) in the print setting UI 112a of the print setting extension application 112, the print setting UI 112a ends the display of the print setting screen. At this time, the print setting UI 112a writes the setting values set via the UI to the Print Ticket.
[0090] When the print setting UI 112a is closed and the print setting operation is completed, the user's operation screen returns to the print setting screen provided by the document generation application 115.
[0091] The print setting UI unit 112a sends the Print Ticket and a 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 application 112 (S316).
[0092] Next, the document generation application 115 receives an instruction to start printing from the user via a print setting screen displayed by the application.
[0093] In accordance with the instruction to start printing, the document generation application 115 notifies the cloud printer driver 111 of a print execution instruction (S317). The cloud printer driver 111 of the OS 114 receives the print execution instruction from the document generation application 115.
[0094] When the cloud printer driver 111 receives a print execution instruction, it converts the data received from the document generation application 115 into intermediate image data (S318). The cloud printer driver 111 acquires image data to be printed from the document generation application. The image data acquired from the document generation application is, for example, image data in GDI format. The cloud printer driver 111 converts the acquired image data into intermediate image data. The intermediate image data is data that is generated before being converted into print data such as PDL, and is, for example, XPS data. Note that if the document generation application 115 outputs the image data to be printed as XPS data, the conversion process equivalent to S318 is not performed.
[0095] The cloud printer driver 111 stores the generated intermediate image data in the print spooler 116 (S319).
[0096] When the print spooler 116 of the OS 114 receives the intermediate image data, it notifies the print workflow processing unit 112b in the print setting extension application 112 of a PDL conversion event (S320). The PDL conversion event is an event for notifying that a process for converting the intermediate image data into a PDL that can be processed by the printer can be executed.
[0097] At this time, the print workflow processing unit 112b receives from the print spooler 116 of the OS 114 a notification of the event as well as a Print Ticket in which the intermediate image data and current print setting values are described.
[0098] The print workflow processing unit 112b regards the intermediate image data received in S320 as "original intermediate image data" and stores it together with the Print Ticket in the data storage area of the application (S321).
[0099] The workflow processing unit 112b transmits a print workflow processing request to the print spooler 116 of the OS 114 (S322).
[0100] The print spooler 116 of the OS 114 receives the request for print workflow processing, and requests the print workflow processing unit 112b to start up a preview UI in accordance with the request (S323).
[0101] The print workflow processing unit 112b receives the request to start the preview UI (FIG. 13), displays the preview UI, and starts the print workflow processing (S324). The details of S324 will be described later.
[0102] FIG. 13 shows an example of a preview UI screen provided by the print workflow processing unit 112b.
[0103] FIG. 13A shows an example of a screen of a UI for preview displaying a preview image 1307 generated based on intermediate image data and a Print Ticket received from the print spooler 116 of the OS 114. Here, the preview image reflects that the page aggregation setting is set to 2-in-1 in the print setting UI unit 112a and that the staple setting is set to one position at the upper left. An object 1310 indicates a staple position. A button 1308 is a button for displaying a preview image of the previous page. If the preview image being displayed is the first page, the button may be hidden or grayed out so that it cannot be operated. A button 1309 is a button for displaying a preview image of the next page. If the preview image being displayed is the preview image of the last page, the button may be hidden or grayed out so that it cannot be operated. A setting item 1306 is an area for setting a setting value for page aggregation. The value indicated by the Print Ticket is displayed as the initial value.
[0104] In this embodiment, after the preview image is displayed, it is possible to change the print settings. On the preview screen displayed by the print workflow unit 112b, the setting values of any of the setting items shown in FIG. 5 can be changed, even if the setting items are other than those shown in FIG. 13.
[0105] FIG. 13B shows an example of a screen after the print settings are edited in the preview UI of the print workflow processing unit 112b.
[0106] 13A, the user operates 1306 to change the page aggregation setting from 2-in-1 to 4-in-1. When the setting is changed, the print preview image displayed in area 1307 is updated.
[0107] Whether or not a request for displaying a preview UI is included in a request for print workflow processing is determined by the print workflow processing unit 112b.
[0108] For example, whether or not to display a preview is set in advance on a print setting screen provided by the print setting UI unit 112a, and the setting value of the setting is written in the Print Ticket. The workflow processing unit 112b determines whether or not the preview display is set to be enabled in the Print Ticket provided by the OS 114. If it is determined that the preview display is set to be enabled, the workflow processing unit 112b transmits a print workflow processing request described in S322 to the print spooler 116. On the other hand, if it is determined that the preview display is set to be disabled, the workflow processing unit 112b executes the process described later in S327. In this manner, the user can set whether or not to display a preview UI.
[0109] Alternatively, when print workflow processing unit 112b receives a PDL conversion event, the print workflow processing request to print spooler 116 of OS 114 may unconditionally include a request to display a preview UI.
[0110] When the user selects the "Print" button 1311 in the preview UI, the print workflow processing unit 112b notifies the print spooler 116 of the OS 114 of the end of the preview UI (S325). At this time, the workflow processing unit 112b stores the setting values set in the preview UI in the storage area of the application as finalized print setting information.
[0111] The print spooler 116 of the OS 114 requests the print workflow processing unit 112b to perform print workflow end processing (S326).
[0112] The print workflow processing unit 112b determines the print setting information to be notified to the print spooler 116 as print workflow end processing (S327). The print workflow processing unit 112b determines attribute information corresponding to the setting item whose setting value is to be changed from the Print Ticket, and the attribute value after the change. S327 is described as print setting information determination processing. Details of S327 will be described later.
[0113] The print workflow processing unit 112b instructs the OS 114 to generate print attribute information based on the print setting information (S328). The print workflow processing unit 112b notifies the OS 114 of the Print Ticket, the attribute information determined in S327, and the changed attribute value.
[0114] The print spooler 116 of the OS 114 receives the request and generates print attribute information (S329). For the attribute information notified in S328, the print spooler 116 sets the changed attribute values in the print attribute information. For setting items other than the setting items corresponding to the attribute information notified in S328, the print spooler 116 converts the setting items and setting values described in the Print Ticket to attribute information and attribute values defined in IPP and sets them in the IPP print setting information. Note that setting items and setting values specific to the printer vendor are not converted and are set as they are in the print attribute information.
[0115] The print spooler 116 of the OS 114 transmits the print attribute information set in S329 to the cloud print service 121 (S330).
[0116] The cloud print service 121 transmits the print attribute information received from the client terminal 101 to the printer 104 (S331). The printer 104 notifies the cloud print service 121 that it has completed receiving the print attribute information. The cloud print service 121 notifies the print spooler 116 of the notification received from the printer 104.
[0117] The print spooler 116 of the OS 114 notifies the print workflow processing unit 112b that reception of the print attribute information has been completed (S332).
[0118] Next, the print workflow processing unit 112b generates intermediate image data for printing to be sent to the cloud print service 121 (S333). The workflow processing unit 112b reads out the stored original intermediate image data and finalized print setting information from the data storage area of the application. The workflow processing unit 112b edits and processes the original intermediate image data to generate intermediate image data for printing.
[0119] For example, if the page aggregation setting is changed from "2-in-1" to "4-in-1" in the preview UI (FIG. 13, setting item 1301b), the setting "4-in-1" remains in the finalized print setting information. The print workflow processing unit 112b reads the finalized print setting information and generates printing intermediate image data in which image data for four pages is laid out on one page.
[0120] The print workflow processing unit 112b converts the edited and processed print intermediate image data into PDL data (S334). In S334, the workflow processing unit 112b generates PDL data in a format that can be interpreted by the printer 104. In this embodiment, for example, PDF or PWG-Raster is generated as the PDL data. Note that the workflow processing unit 112b may generate the PDL data by using a function provided by the OS 114.
[0121] The print workflow processing unit 112b passes the generated PDL data to the print spooler 116 of the OS 114 (S335).
[0122] The print spooler 116 of the OS 114 generates print data based on the PDL data passed from the print workflow processing unit 112b (S336).
[0123] The print spooler 116 of the OS 114 transmits the generated print data to the cloud print service 121 via the print queue (S337).
[0124] The cloud print service 121 transmits the print data passed from the print spooler 116 of the OS 114 to the cloud print-compatible printer 104 (S338).
[0125] Although this flow uses cloud printing as an example, the same processing can be applied to local printing, in which the client terminal and the printer communicate directly without going through the cloud printing service.
[0126] The above is a series of steps from when the print setting screen is displayed in document generation application 115 to when print data is sent to printer 104.
[0127] Next, the details of the print workflow process (S324) will be described with reference to Fig. 13, Fig. 14(a) and Fig. 14(b). Fig. 14(b) is an alternative process to Fig. 14(a), and it is sufficient to carry out either the process in Fig. 14(a) or Fig. 14(b).
[0128] 14A is a flowchart showing a process in which the workflow processing unit 112b generates a preview image to be displayed on the preview display UI, accepts a print instruction, and ends the process. A program for executing this flowchart is stored in the storage unit 214 of the client terminal 101, and is executed by the CPU 212.
[0129] In the explanation of FIG. 14(a), the processing executed by the workflow processing unit 112b will be explained taking as an example a case where the original intermediate image data has 100 pages and a setting of 2-in-1 is recorded in the Print Ticket.
[0130] First, the print workflow processing unit 112b reads out the original intermediate image data and the Print Ticket stored in S321 (S14001).
[0131] Next, the print workflow processing unit 112b temporarily stores the original intermediate image data and the print setting information extracted from the Print Ticket as temporary print setting information in the data storage area of the application (S14002).
[0132] The print workflow processing unit 112b generates an attribute value table based on information on setting items stored in the program of the print setting extension application 112 (S14003).
[0133] Here, the process of step S14003 will be described in detail with reference to Fig. 6A. The process of step S14003 is realized by the CPU 212 executing the program of the print setting extension application 112.
[0134] The print workflow processing unit 112b reads out the application function table 401 from the data storage area of the application (S601). FIG. 4 is a diagram showing an example of the application function table 401. The application function table describes information on functions that can be set using the print setting extension application 112. “Item name” 402 indicates the name of a setting item. “Processing on the print setting application side” 404 indicates whether or not the print setting extension application 112 can perform processing corresponding to the function when the function is set to be enabled. For example, when the page aggregation setting is enabled, the print setting extension application 112 performs processing to lay out multiple pages of intermediate image data acquired from the print spooler 116 on one page. In addition, “Processing on the print setting application side” 404 is set to “Yes” for a function in which the print setting extension application 112 edits intermediate image data. “Processing on the printer side” 405 indicates a setting item that can be processed by the printer 104 when the function is set to be enabled. For example, stapling is a setting item that can be processed by the printer 104 according to the print setting information received, even without processing by the print setting extending application 112. In this way, for setting items that can be processed without the print setting extending application 112, "processing on the printer side" is set to "Yes". "Duplication of processing between the print setting extending application and the printer" 406 indicates whether one function can be processed by both the print setting extending application 112 and the printer 104. "Yes" is added to items for which both 404 and 405 are "Yes". For example, for page aggregation, the process of laying out images from multiple pages on one page is a process that can be handled by both the print setting extending application 112 and the printer 104, so 406 is "Yes".
[0135] Type 407 is a type set according to the settings of 404 to 406. If 404 is "Not Available" and 405 is "Available", Type 1 is set. If 404 is "Available" and 405 is "Available", Type 2 is set. If 404 is "Available" and 405 is "Not Available", Type 3 is set. This concludes the description of the application function table.
[0136] Next, the print workflow processing unit 112b generates an attribute value table 501 based on the read application function table 401 (S602). The attribute value table 501 is a table generated for each print job. 502 to 507 of the attribute value table 501 are similar to 402 to 407 of the application function table 401, so a description thereof will be omitted. The “edit flag” 508 is a flag indicating that the print setting extension application 112 has edited the intermediate image data or that the print setting has been changed after the preview UI is displayed. The initial value is FALSE, and TRUE is set when the original intermediate image data has been edited or the setting value has been changed while the preview UI is displayed. The “attribute information” 509 is attribute information defined by the IPP corresponding to each setting item. For setting items not defined by the IPP, attribute information defined by the printer vendor is described. The “attribute value” 510 describes information on the attribute value defined by the IPP that the print workflow processing unit 112b notifies the print spooler 116 of. The initial values of "attribute information" 509 and "attribute value" 510 are null, and the attribute information and attribute value are set according to the process described below. The above is the process related to the generation of the attribute value table.
[0137] Returning to the explanation of Fig. 14(a), the print workflow processing unit 112b analyzes the original intermediate image data and calculates the number of pages of the original intermediate image data (S14004). Here, 100 pages is stored in the data storage area of the application as the number of pages of the original intermediate data.
[0138] Next, the print workflow processing unit 112b acquires the setting value for page aggregation from the Print Ticket (S14005). Since 2-in-1 is set in the Print Ticket, 2 is stored in the data storage area of the application as the number of pages to be aggregated.
[0139] Next, the print workflow processing unit 112b calculates the number of pages after the pages are aggregated (S14006). The number of pages is calculated by dividing the number of pages of the original intermediate image data by the number of pages to be aggregated. Here, the value 50 is stored in the storage area of the application as the number of pages after the pages are aggregated. Note that the number of pages after the aggregation is calculated by rounding up the number after the decimal point.
[0140] Next, the print workflow processing unit 112b processes the intermediate image data for preview display (S14008). The print workflow processing unit 112b edits the original intermediate image data acquired in S14001 to generate intermediate image data for preview display. In this example, since the page aggregation setting value acquired in S14005 is 2, the print workflow processing unit 112b generates intermediate image data for preview display in which data for two pages in the original intermediate image data is laid out on one page. Note that in S14008, the print workflow processing unit 112b sets the "edit flag" 508 in the attribute value table 501. The print workflow processing unit 112b executes the following processing for the setting items for which the "type" 508 in the attribute value table 501 is "Type2" among the settings included in the temporary print setting information. The print workflow processing unit 112b determines whether the setting value of each setting item matches the "attribute value" 705 in the table 701 in FIG. 7. 7 is a table for correcting the print attribute information generated by the print spooler 116 in S329. If they match, the print workflow processing unit 112b ends the process. If they do not match, the print workflow processing unit 112b sets the "edit flag" 508 of the attribute value table 501 of the corresponding setting item to TRUE. For example, if page aggregation is set to 2in1, the edit flag corresponding to page aggregation in the attribute value table is set to TRUE. In this way, it is possible to record in the attribute value table 501 that the print setting extension application 112 has edited the original intermediate image data.
[0141] Next, the print workflow processing unit 112b displays the edited intermediate image data on the preview UI (FIG. 13) (S14009).
[0142] Then, the print workflow unit 112b accepts changes to the print settings via the preview UI (S14010). The print settings accepted in the preview UI (FIG. 13) do not have to be the same as the print settings that can be specified in the first print setting UI (FIG. 12). For example, setting items such as "paper feed tray" and "paper output tray" whose default value is "automatic" may be omitted from display in the preview UI (FIG. 13).
[0143] Next, the print workflow processing unit 112b determines whether a user operation has been accepted (S14011). Until a user operation is accepted, the print workflow processing unit 112b continues displaying the preview (S14009) and accepting changes to the print settings (S14010).
[0144] When a user operation is accepted, the print workflow processing unit 112b updates the temporary print setting information stored in the data storage area of the application (S14012). At this time, the print workflow processing unit 112b sets the "edit flag" 508 to TRUE for the item whose setting in the attribute value table 501 has been changed. Note that if the "edit flag" 508 is already set to TRUE, the print workflow processing unit 112b does not change the flag.
[0145] Next, the print workflow processing unit 112b determines whether the operation received from the user is a setting of the number of pages to be aggregated (S14013).
[0146] If it is determined in S14013 that the operation received from the user is to set the number of pages to be aggregated, the print workflow processing unit 112b returns the process to step S14006. The print workflow processing unit 112b recalculates the number of pages after aggregation using the changed number of pages to be aggregated, and executes the processes from S14007 onward.
[0147] If it is determined in S14013 that the operation received from the user is not the setting of the number of pages to be aggregated, the print workflow processing unit 112b determines whether the operation received from the user is the selection of the OK button (S14014).
[0148] If it is determined in S14014 that the accepted user operation is not the selection of the OK button, the print workflow processing unit 112b returns the process to S14008. After that, a preview image is generated in accordance with the user operation, and the preview image is displayed.
[0149] If it is determined in S14014 that the accepted user operation is the selection of the OK button, the print workflow processing unit 112b ends the preview display and the acceptance of the print setting change, and executes the following processing.
[0150] The print workflow processing unit 112b stores the original intermediate image data and the temporary print setting information in the data storage area of the application as finalized print setting information (S14015). S14015 is referred to as finalized data storage processing.
[0151] Next, the process shown in FIG. 14(b) will be described. As mentioned above, FIG. 14(b) is an alternative process to FIG. 14(a). In FIG. 14(a), preview images were generated for all pages of the original intermediate image data, and then the preview images were displayed. However, if the original intermediate image data has a large number of pages, it takes time to generate preview images for all pages. Therefore, in FIG. 14(b), the number of pages of preview images to be generated is set to a predetermined number, and when an instruction to switch the page to be displayed is given by the user, additional preview images are generated as many as necessary.
[0152] Note that the processing from steps S14101 to S14106 is the same as the processing from steps S14001 to S14006, so the explanation will be omitted.
[0153] The print workflow processing unit 112b acquires the number of pages of the preview image to be generated from the data storage area of the application (S14107). The number of pages of the preview image to be prepared for preview display is determined in advance by the print workflow processing unit 112b, and the number of pages is stored in the data storage area of the application. Here, an example is shown in which a value of 5 pages is stored as the number of pages required for preview display. As another method for acquiring the number of pages required for preview display, it may be set in another UI of the print setting extension application 112 (such as the UI of the print setting UI unit 112a or an application environment setting UI (not shown)).
[0154] The print workflow processing unit 112b determines whether the number of pages after page aggregation calculated in S14106 is greater than the number of pages necessary for preview display stored in the data storage area of the application (S14108).
[0155] If the number of pages after page aggregation is equal to or less than the number of pages required for preview display, the print workflow processing unit 112b generates intermediate image data for preview display in an amount equal to the entire number of pages at one time.
[0156] The processing from steps S14110 to S14114 is equivalent to the processing from steps S14008 to S14012, and therefore the explanation will be omitted.
[0157] If it is determined that the number of pages after page aggregation is greater than the number of pages necessary for preview display, the print workflow processing unit 112b executes the process described in S14119.
[0158] The print workflow processing unit 112b sets the first page of the original intermediate image data as the starting page (S14119). For example, page 1 is set as the starting page.
[0159] Next, the print workflow processing unit 112b generates intermediate image data for preview for the required number of pages from the starting page (S14120). In this case, since the required number of pages is 5 and the page aggregation setting value is 2, intermediate image data for 10 pages from the starting page of the original intermediate image data is processed into 2-in-1 to generate intermediate image data for preview display.
[0160] Next, the print workflow processing unit 112b displays the edited intermediate image data on the preview UI (FIG. 13) (S14111). Then, the print workflow processing unit 112b accepts changes to the print settings via the preview UI (FIG. 13) (S14112).
[0161] Next, the print workflow processing unit 112b accepts a user operation (S14113).
[0162] The print workflow processing unit 112b continues displaying the preview (S14111) and accepting changes to the print settings (S14112) until a user operation is accepted.
[0163] When a user operation is received, the print workflow processing unit 112b determines that the print settings have been changed, and updates the temporary print setting information stored in the data storage area of the application (S14114).
[0164] Next, the print workflow processing unit 112b judges whether the operation received from the user is an instruction to change the displayed page (S14115). If the button 1308 or button 1309 in Fig. 13(a) is selected, the print workflow processing unit 112b advances the process to S14121 assuming that an instruction to change the displayed page has been received. If the instruction is anything other than the above, the print workflow processing unit 112b advances the process to S14116.
[0165] If the operation received from the user in S14115 is an instruction to change the displayed page, the print workflow processing unit 112b changes the starting page (S14121). For example, if an instruction to display the next page is given while a preview image of the first page laid out in 2in1 is being displayed, page 3 of the original intermediate image data is set as the starting page.
[0166] Then, the print workflow processing unit 112b generates preview intermediate image data for the required number of pages from the starting page (S14120). In this example, preview display intermediate image data for pages 3 to 10 of the original intermediate image data is generated. Note that the generation process may be skipped for pages for which generation of display intermediate image data has already been completed.
[0167] If the operation received from the user in S14115 is not an instruction to change the displayed page, the print workflow processing unit 112b determines whether the operation received from the user is an instruction to change the aggregate number for aggregate printing (S14116).
[0168] If the operation accepted from the user in S14116 is the aggregate number for aggregate printing, the flow returns to step S14106, where the number of pages after aggregate is calculated again using the changed aggregate number for aggregate printing, and processing from S14107 onwards continues.
[0169] If the operation received from the user in S14116 is not the aggregate number for aggregate printing, it is determined whether the operation received from the user is selection of the OK button (S14117). If the user operation is not selection of the OK button, the print workflow processing unit 112b returns the process to S14110. In S14110, the print workflow processing unit 112b changes the preview image to be displayed in accordance with the accepted change in print settings. For example, if the staple position is changed, the display 1310 of the staple position in the preview image is changed. Also, if punching or folding settings are made, the preview display is changed so that the punching position and folding position can be seen.
[0170] If the OK button is selected in S14117, the print workflow processing unit 112b ends the preview display and the acceptance of print setting changes. Then, the print workflow processing unit 112b stores the original intermediate image data and the temporary print setting information as finalized print setting information in the data storage area of the application (S14118). Here, S14118 is referred to as finalized data storage processing.
[0171] Next, the print setting determination process (S327) will be described in detail with reference to Fig. 6B. The process shown in Fig. 6B is realized by the CPU 212 executing the program of the print setting extension application 112.
[0172] In the print setting determination process, the print setting extension application 112 determines the setting information to be notified to the print spooler 116. An example will be described in which "Paper size: A4, Page aggregation: 2in1, Date printing: OFF" is specified in the Print Ticket notified from the print spooler 116, and the settings are changed to "Paper size: A3, Page aggregation: 4in1, Date printing: ON" in the preview UI.
[0173] The print workflow processing unit 112b reads out the attribute value table 501 from the data storage area of the application (S611). For each setting item in the attribute value table 501, the processing described in S612 to S616 is executed.
[0174] The print workflow processing unit 112b determines whether the edit flag 508 of each setting item recorded in the attribute value table is "TRUE" (S612). If the edit flag 508 is "FALSE", the print workflow processing unit 112b executes the process described below in S618. If the edit flag 508 is "TRUE", the print workflow processing unit 112b executes the process described in S613.
[0175] The print workflow processing unit 112b determines which type 507 of the setting item for which the edit flag 508 is set to TRUE (S613). If it is Type 1, the print workflow processing unit 112b executes the process described in S614. The print workflow processing unit 112b sets the attribute information corresponding to the setting item and the attribute value indicated by the finalized print setting information in the attribute value table 501 (S614). For example, in the previous example, "paper size" corresponds to the setting item of Type 1. Therefore, the print workflow processing unit 112b sets the "edit flag" 508 corresponding to the paper size in the attribute value table 501 to "TRUE". Then, the print workflow processing unit 112b sets "media-size" to "attribute information" 509 of the paper size, and sets "A3" to "attribute value" 510.
[0176] In S613, if the type 507 of the setting item for which the edit flag 508 is set to TRUE is Type 2, the print workflow processing unit 112b executes the process described in S615. The print workflow processing unit 112b refers to the table 701 in FIG. 7 and sets the attribute information 704 and attribute value 701 corresponding to the setting item to the attribute information 509 and attribute value 510 in the attribute table 501 (S615). The table 701 in FIG. 7 is a table showing attribute values for preventing the printer 104 from performing the same process as the process performed by the print setting extension application 112. The item name 702 is the item name of the item set to Type 2 in the type 407 of the application function table 401. The setting value 703 indicates a setting value that can be set for each setting item. The attribute information 704 is attribute information corresponding to each setting item. The attribute value 705 is an attribute value for controlling the printer 104 not to perform additional processing.
[0177] The Type 2 settings are, for example, as follows:
[0178] When the setting item is "arrangement order", the IPP attribute is "ext_page_arrange_order", and the attribute value instructed to the printer is "none".
[0179] When the setting item is "magnification", the IPP attribute is "print-scaling" and the attribute value instructed to the printer is "none".
[0180] When the setting item is "rotate 180 degrees", the IPP attribute is "ext_page_rotation", and the attribute value instructed to the printer is "none".
[0181] When the setting item is "booklet printing", the IPP attribute is "ext_booklet_printing", and the attribute value instructed to the printer is "none".
[0182] When the setting item is "poster printing", the IPP attribute is "ext_poster_printing", and the attribute value instructed to the printer is "none".
[0183] For example, in the previous example, “page aggregation” corresponds to the setting item of Type 2. The print workflow processing unit 112b sets “number-up” to “attribute information” 509 corresponding to page aggregation in the attribute value table, and sets “1” to “attribute value” 510.
[0184] In S615, the print workflow processing unit 112b sets attribute values that prevent the printer from performing additional processing as setting values to be notified to the printer for the setting items to be processed by the print setting extending application 112. This makes it possible to prevent the print setting extending application 112 and the printer 1-4 from performing the same processing redundantly.
[0185] In S613, if the type 507 of the setting item for which the edit flag 508 is set to TRUE is Type 3, the print workflow processing unit 112b decides not to change the attribute value (S616). In the previous example, "date printing" corresponds to the setting item of Type 3. Since the attribute value table is not updated for Type 3, the print workflow processing unit 112b continues the process as is. Note that in the case of Type 3, the process of S616 may be skipped and the process of S618 may be performed.
[0186] The print workflow processing unit 112b determines whether or not there are any setting items remaining that have not been checked (S618). If there are any setting items remaining that have not been checked, the print workflow processing unit 112b returns the process to S612. On the other hand, if the items have been checked, the print workflow processing unit 112b ends the process shown in FIG. 6B.
[0187] In response to the print setting information generation request in FIG. 3, print workflow processing unit 112b notifies print spooler 116 of the PrintTicket and “attribute information” 509 and “attribute value” 510 of the setting item whose “edit flag” in attribute value table 501 is set to “TRUE.”
[0188] The process executed by the print spooler 116 in S329 will be described with reference to Fig. 15. The process shown in Fig. 15 is realized by the CPU 212 executing a program provided by the OS 114.
[0189] The print spooler 116 selects one setting item from the Print Ticket notified by the print setting extension application 112 (S1501).
[0190] The print spooler 116 determines whether or not it has received the same attribute information as the attribute information corresponding to the selected setting item from the print setting extension application 112 (S1502). For example, assume that the print spooler 116 selects "page aggregation" in S1501. The print spooler 116 determines whether or not "number-up", which is attribute information corresponding to "page aggregation", has been notified from the print setting extension application 112. The print spooler 116 receives "1" as the attribute value of "number-up". Therefore, the print spooler 116 sets "number-up:1" as the attribute value to be notified to the printer, instead of "number-up:2", which is the attribute value corresponding to 2in1 set in the Print Ticket.
[0191] The print spooler 116 determines whether or not there are any unprocessed setting items remaining in the Print Ticket (S1506). If there are any unprocessed setting items remaining, the print spooler 116 returns the process to S1501.
[0192] In S1502, if the print spooler 116 has not received the same attribute information as the attribute information corresponding to the selected setting item from the print setting expansion application 112, the print spooler 116 advances the process to S1504.
[0193] The print spooler 116 converts the setting items and setting values described in the Print Ticket into attribute information and attribute values defined in IPP (S1504). Note that if the setting items and setting values described in the Print Ticket are attribute information and attribute values that are not defined in IPP, the print spooler 116 advances the process to S1505 without converting the setting items and setting values.
[0194] The print spooler 116 sets the converted attribute information and attribute values as the attribute information and attribute values to be notified to the printer (S1505). Note that if conversion was not performed in S1504, the setting items and setting values described in the Print Ticket are set as the attribute information and attribute values to be notified to the printer.
[0195] After completing the process shown in FIG. 15, the print spooler 116 transmits the attribute information and attribute values to be notified to the set printer to the cloud print service 121 (S330).
[0196] In this way, for setting items for which Type 1 is set in attribute value table 501, the printer is notified of the attribute value corresponding to the setting value after being changed in the preview UI. For setting items for which Type 2 is set, the print setting extension application 112 performs the corresponding processing, and the printer is notified of the attribute value for preventing additional processing. For Type 3, since this is a setting item referenced only by the print setting extension application 112, the printer is notified of the attribute value corresponding to the setting value that has not been changed from the Print Ticket.
[0197] As described above, in this embodiment, the print setting extending application 112 notifies the OS 116 of the attribute information and attribute values corresponding to the settings set in the preview display UI in addition to the Print Ticket. As a result, the setting values set in the preview display UI are notified to the printer. Also, for setting items that can be processed by both the print setting extending application 112 and the printer 104, the print setting extending application 112 sets the items, and notifies the printer of values different from the values set in the print setting screen or the preview display UI. In this way, it is possible to prevent the same processing from being performed by both the print setting extending application 112 and the printer 104.
[0198] <Embodiment 2> In the first embodiment, an example was described in which attribute values were changed using an OS API for print setting items in which editing processing of intermediate image data was performed during preview display, or for print setting items in which changes were made during preview.
[0199] In this embodiment, an example will be described in which the print setting extending application 112 changes the attribute value without using an API.
[0200] Specific processing according to this embodiment will be described with reference to Fig. 8. Note that only differences from the first embodiment will be described here. The system configuration and hardware configuration are the same as those of the first embodiment except for some parts, so descriptions thereof will be omitted.
[0201] 8. Steps S801 to S827 in FIG. 8 are the same as steps S301 to S327 in FIG. 3, and therefore will not be described.
[0202] The print workflow processing unit 112b transmits a print attribute information generation request to the print spooler 116 (S828). The print workflow processing unit 112b transmits a conversion request to a Print Ticket and print attribute information.
[0203] The print spooler 116 converts the print settings and setting values written in the received Print Ticket into attribute information and attribute values defined by IPP. For items not defined by IPP, the setting items and setting values notified by the print workflow processing unit 112b are set as attribute information and attribute values.
[0204] The print spooler 116 notifies the print workflow processing unit 112b of the print attribute information (S830).
[0205] The print workflow processing unit 112b edits the received print attribute information and generates print attribute information to be notified to the printer (S831). The print workflow processing unit 112b executes the following processing for attribute information of a setting item whose edit flag in the attribute value table is set to "TRUE" among the print attribute information included in the print attribute information received from the print spooler 116. If the type of the attribute information is Type1, the attribute value of the print attribute information is overwritten with an attribute value corresponding to the setting value set in the print confirmation information. If the type of the setting item whose edit flag in the attribute value table is set to "TRUE" is Type2, the attribute value of the print attribute information is overwritten with the attribute value indicated by the attribute value 704 in the table 701 in FIG. 7. If the type of the setting item whose edit flag in the attribute value table is set to "TRUE" is Type3, the attribute value of the print attribute information is not changed.
[0206] The print workflow processing unit 112b generates the printing intermediate image data (S832). The print workflow processing unit 112b generates the printing intermediate image data according to the print confirmation information. For example, if the page aggregation is set to 2in1 in the print confirmation information, the print workflow processing unit 112b lays out two pages of original intermediate image data on one page and generates intermediate image data.
[0207] The print workflow processing unit 112b generates PDL data for printing based on the intermediate image data for printing (S833). The PDL data generated in S835 is data in the PDF or PWG-Raster format.
[0208] The print workflow processing unit 112b notifies the print spooler 116 of the generated PDL data and print attribute information (S834). The print spooler 116 generates print data based on the received PDL data and print attribute information (S835). The print spooler 116 transmits the print data to the cloud print service 121 (S836). The cloud print service 121 transmits the print data to the printer 104 (S837).
[0209] In this embodiment, in S834, the PDL data and the print attribute information are transmitted to the print spooler 116. However, after S831, the print attribute information may be transmitted to the print spooler 116 first, and the print workflow processing unit 112b may transmit the PDL data to the print spooler 116 in S384.
[0210] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting extension application 112 can change attribute values without using the API of the OS, making it possible to obtain the intended print results regardless of the type of OS.
[0211] <Embodiment 3> In the first embodiment, an example has been described in which, for print setting items in which editing and processing of intermediate image data occurs during preview display, all image processing is executed on the client PC side.
[0212] In this embodiment, an example will be described in which image processing is switched between being performed on the client PC side and being performed on the printer depending on the type and capabilities of the printer.
[0213] Specific processing according to this embodiment will be described with reference to FIGS. 3, 6(b), 9, 10, 11, and 14. FIG.
[0214] Here, only the differences from the first embodiment will be described. The system configuration and hardware configuration are the same as the first embodiment except for some parts, so the description will be omitted.
[0215] Moreover, the preview display in this embodiment is also the same as the sequence in FIG. 3, so a description thereof will be omitted.
[0216] As differences from the embodiment, the details of the attribute value table generation (S14003) and attribute value change determination processing (S327) in the sequence of FIG. 3 will be described with reference to FIG. 11 and FIG. 6(b).
[0217] In this example, when the printer 104 has the same functions as the print setting extension application 112, the image processing is switched between being performed on the client PC side and being performed on the printer depending on the type and capabilities of the printer.
[0218] First, the attribute value table generation (S14003) will be described in detail with reference to Fig. 11. The process illustrated in Fig. 11 is realized by the CPU 212 executing the program of the print setting extension application 112.
[0219] The print workflow processing unit 112b reads an application function table stored in a program by the print setting extending application 112 (S1101). Fig. 9 shows an application function table 901 stored by the print setting extending application 112 in the third embodiment.
[0220] In the application function table 901, information 902 of print setting items, setting value information 903 for each print setting item, and presence / absence 904 of processing on the print setting extension application side for each print setting item are predefined.
[0221] Next, the print workflow processing unit 112b reads the configuration information of the printer (S1102).
[0222] Next, the print workflow processing unit 112b generates (S1103) an attribute value table 1001 based on the read application function table 901. The attribute value table 1001 has areas for information inherited from the application function table 901 and new information.
[0223] The information inherited from the application function table 901 includes information 1002 on print setting items, setting value information 1003 for each print setting item, and presence / absence 1004 of processing on the print setting extension application side for each print setting item.
[0224] Further, new information areas include a printer side processing presence / absence 1005 for each print setting item, a type 1006, a preview edit flag 1007, attribute information 1008, and an attribute value 1009.
[0225] The information 1005 to 1009 are blank in the initial state when the information is generated. The print workflow processing unit 112b executes the processes of S1104 to S1112 to set the information 1005 and 1006.
[0226] The print workflow processing unit 112b sets information in accordance with the editing status during preview in the information 1007. Note that the method of setting the editing flag, attribute information, and attribute value is the same as in the first embodiment, and therefore the description will be omitted.
[0227] The print workflow processing unit 112b inputs information based on the capability information read in S1102 into "Printer side processing availability" 1005 for each setting item in the attribute value table 1001 (S1104). The configuration information is the capability information of the printer 104 acquired from the cloud print service 121. For items whose capability information includes a setting item and a setting value, "Yes" is set in 1005 as a function that the printer can process.
[0228] Thereafter, the print workflow processing unit 112b executes the processes described in S1105 to S1110 for each setting item.
[0229] The print workflow processing unit 112b determines whether the printer can process the input data based on the capability information (S1105).
[0230] If the printer cannot process the setting item, the print workflow processing unit 112b sets the type of the setting item to Type 3 (S1106). The print workflow processing unit 112b determines whether there is an unprocessed setting item (S1112). If there is an unprocessed setting item, the print workflow processing unit 112b returns the process to S1104. On the other hand, if there is no unprocessed setting item, the print workflow processing unit 112b ends the process described in this flowchart.
[0231] If the printer can process the setting item, the print workflow processing unit 112b determines whether the print setting extension application 112 can process the setting item (S1107).
[0232] If the print setting extending application 112 cannot process the request, the print setting workflow processing unit 112b advances the process to S1110. If the print setting extending application 112 can process the request, the print setting workflow processing unit 112b determines whether the processing speed of the printer 104 is high (S1108). S1108 is a determination as to whether the printer 104 satisfies a predetermined condition. The predetermined condition is, for example, that the number of printed sheets per unit time is equal to or greater than a predetermined number, that the image forming method is a predetermined method, and the like.
[0233] For example, the print processing speed may be determined to have a threshold of 20 monochrome print pages per minute, with 20 pages or more being determined to be high speed and less than 20 pages being determined to be low speed.
[0234] When the print processing speed is determined from the model name obtained from the model information, the print setting expansion application 112 has information comparing the model name with the print processing speed.
[0235] Alternatively, a judgment criterion may be set instead of the threshold value, such as high speed for an electrophotographic printer and low speed for an inkjet printer. This can be determined from the model name obtained from the model information or information on whether ink or toner is used, obtained from the configuration information.
[0236] When determining the printing method of a printer from the model name obtained from the model information, the print setting expansion application 112 has information comparing the model name with the printing method of the printer.
[0237] In addition, in the case of a method for determining the image formation method based on information on whether ink or toner is used, obtained from the configuration information, the print workflow processing unit 112b determines that the printer is an inkjet printer if the marker_type of the IPP attribute is "ink," and determines that the printer is an electrophotographic printer if the marker_type is "electrophotographic" or "toner."
[0238] The determination as to whether ink or toner is to be used may be made based on information obtained from the configuration information in the following manner: If the type of the IPP attribute printer_supply is "ink", the print workflow processing unit 112b determines that the printer is an inkjet printer, and if it is "toner", it determines that the printer is an electrophotographic printer.
[0239] If the print processing speed of the printer is high, the print workflow processing unit 112b sets the type of the corresponding print setting item to Type 1 (S1110).
[0240] Furthermore, if the print processing speed of the printer is less than the threshold, the print workflow processing unit 112b sets the type of the setting item to Type 2 (S1109).
[0241] For example, when there is processing on the printer side and the print processing speed of the printer is equal to or greater than a threshold, Type 1 is recorded as the type of attribute value change method, as in the “page aggregation” setting item in the attribute value table 1001 .
[0242] Next, the details of the IPP attribute value change determination process (S327) in the third embodiment will be described with reference to Fig. 6(b). Note that the flowchart is the same as that in the first embodiment. Here, an example will be described in which "Paper size: A4, Page combination: 2in1, Date printing: OFF" is specified in the Print Ticket, and the settings are changed to "Paper size: A3, Page combination: 4in1, Date printing: ON" in the preview UI.
[0243] The print workflow processing unit 112b reads out the attribute value table 1001 from the data storage area of the application (S611).
[0244] The print workflow processing unit 112b checks the preview edit flag 1007 of each setting item recorded in the attribute value table (S612).
[0245] If the edit flag 1007 is "TRUE", the print workflow processing unit 112b similarly checks the type 1006 recorded in the attribute value table (S613).
[0246] If the type of the target setting item is "Type 1", the print workflow processing unit 112b sets attribute information and attribute value based on the finalized print setting information (S614). In the previous example, "paper size" and "page combination" correspond to Type 1. For "paper size" and "page combination", attribute information 1008 and attribute value 1009 are set based on the finalized print setting information. The difference from the first embodiment is that "page combination" is classified as Type 1. Because "page combination" is Type 1, the attribute value is set to "4", which corresponds to 4in1 after the setting change in the preview UI.
[0247] If the type is "Type2", the print workflow processing unit 112b determines to change the attribute value to one that does not cause the printer to process the image (S615).
[0248] If the type is "Type3", the print workflow processing unit 112b determines not to change the IPP attribute value (S616).
[0249] If there are any unchecked setting items, the print workflow processing unit 112b repeats S612 and subsequent steps.
[0250] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting extending application 112 can switch between image processing being performed on the client PC side and on the printer, depending on the type and capabilities of the printer.
[0251] <Other embodiments> The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0252] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention.
Claims
1. A print setting application that displays a print setting screen for setting print setting values provided to a printer driver that generates print setting information according to an Internet Printing Protocol, An acquisition step of acquiring intermediate image data of a print target provided by an application; an editing step of editing the acquired intermediate image data in accordance with setting values of predetermined setting items set on the print setting screen; a first transmission step of transmitting print data based on the edited intermediate image data; A print setting application characterized by having an information processing device execute a second transmission process of transmitting a specified value different from the value set via the print setting screen as a setting value of the specified setting item corresponding to the print data.
2. 2. The print setting application according to claim 1, wherein the predetermined setting item is a setting item corresponding to a function of laying out a plurality of pages of the intermediate image data on one page.
3. 2. The print setting application according to claim 1, wherein the printer driver is provided by an operating system of the information processing apparatus.
4. 2. The print setting application according to claim 1, wherein the printer driver generates print data that can be printed on a plurality of models of printing devices from a plurality of printer vendors.
5. 2. The print setting application according to claim 1, wherein the predetermined value is an attribute value defined by the Internet Printing Protocol.
6. A print setting application that displays a first print setting screen for setting a setting value to be provided to a printer driver that generates print setting information according to an Internet Printing Protocol, a first control step of displaying a preview image based on setting values set via the first print setting screen and intermediate image data of a print target provided by an application; a receiving step of receiving a change to the setting value after the preview image is displayed; a first transmission step of transmitting print data based on the intermediate image data; a second transmission step of transmitting the setting value accepted in the acceptance step; A print setting application comprising:
7. An information processing apparatus that stores a print setting application that displays a print setting screen for setting print setting values provided to a printer driver that generates print setting information according to an Internet Printing Protocol, An acquisition means for acquiring intermediate image data of a print target provided by an application; an editing means for editing the acquired intermediate image data in accordance with set values of predetermined setting items set on the print setting screen; a first transmission means for transmitting print data based on the edited intermediate image data; and a second transmission means for transmitting a predetermined value different from the value set via the print setting screen as a setting value of the predetermined setting item corresponding to the print data.
8. 8. The information processing apparatus according to claim 7, wherein the predetermined setting item is a setting item corresponding to a function of laying out a plurality of pages of the intermediate image data on one page.
9. 8. The information processing apparatus according to claim 7, wherein the printer driver is provided by an operating system of the information processing apparatus.
10. 8. The information processing apparatus according to claim 7, wherein the printer driver generates print data that can be printed by a plurality of models of printing devices from a plurality of printer vendors.
11. 8. The information processing apparatus according to claim 7, wherein the predetermined value is an attribute value defined by the Internet Printing Protocol.
12. A computer program causing a computer to execute each step according to any one of claims 1 to 6.
Citation Information
Patent Citations
Application program, information processor, and printing method
JP2020126370A