Storage medium, application program, control method for information processing apparatus, and information processing apparatus
By editing and sending intermediate image data and managing print setting values, the existing universal printer drivers have solved the limitations on print settings, and the vendor-specific print setting user interface and editing functions are implemented.
Patent Information
- Application Number
- CN202411053888.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-08
- Filing Date
- 2024-08-02
- Publication Date
- 2025-02-18
AI Technical Summary
Existing universal printer drivers have limitations on items and functions that can be configured as print settings, making it difficult to implement the print settings user interface and print job editing functions for each vendor specific.
By printing the settings application, the intermediate image data provided by the operating system is obtained and the data is edited according to the settings items on the printing settings screen. Meanwhile, the edited intermediate image data and specific setting item values are sent differently from the values set by the print setting screen.
The extended print setting function is implemented, providing each vendor-specific print setting user interface and print job editing functions, avoiding processing overlap between the print setting extension application and the printing device.
Smart Images

Figure CN119473175A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a storage medium, an application program, a control method for an information processing device, and the information processing device. Background Art
[0002] There is a concept of a universal printer driver (native printer driver) that directly communicates with an image forming device using an industry-standard protocol such as the Internet Printing Protocol (IPP). A local printer driver is a driver provided by the operating system (OS) vendor (manufacturer) on a 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.
[0003] Thus, using a native printer driver allows a user to send a print job to an image forming device without installing a vendor-specific printer driver.
[0004] Additionally, there is the concept of printing using a cloud print service. In a cloud print service, a printer driver (cloud printer driver) for each cloud print service is installed on the information processing device. The cloud printer driver is also a driver provided by the OS vendor that provides the OS on the client, and is a printer driver that generates print data that can be interpreted by printers from multiple printer vendors. In each 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 the image forming device to perform printing.
[0005] Since the above-mentioned local printer driver and cloud printer driver process print jobs to be printed by image forming devices from various vendors, there are limitations on the items and functions that can be configured as print settings. Therefore, it is conceivable to expand the print settings associated with the printer driver by utilizing the identification information of the printer associated with the printer driver (see Japanese Patent Publication No. 2020-126370). This makes it possible to implement a print setting user interface (UI) and print job editing function specific to each vendor.
[0006] A print settings extension application, which extends the functionality of a universal printer driver, can receive and edit intermediate image data from the universal printer driver. For example, editing intermediate image data on the print settings extension application enables a preview display reflecting the print settings. Among printing-related settings, some can be processed by both the print settings extension application and the printing device. For such settings, it is necessary to prevent any overlap in processing between the print settings extension application and the printing device. Summary of the Invention
[0007] The application described in the present application is a print setting application, which displays a print setting screen, which is used to set print setting values provided to a printer driver, and the printer driver generates print setting information according to an Internet printing protocol. The application enables an information processing device to perform the following operations: obtaining intermediate image data to be printed provided by an operating system of the information processing device; editing the obtained intermediate image data according to the setting values of specific setting items set on the print setting screen; first sending print data based on the edited intermediate image data; and secondly sending a specific value different from the value set via the print setting screen as the setting value of the specific setting item corresponding to the print data.
[0008] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a diagram illustrating an example of a system configuration.
[0010] Figures 2A to 2E is a diagram illustrating an example of a hardware configuration.
[0011] Figures 3A to 3C is a diagram illustrating an example of a sequence according to the first embodiment.
[0012] Figures 4A to 4C is a diagram illustrating an example of an application function table according to the first embodiment.
[0013] Figures 5A to 5C is a diagram illustrating an example of an attribute value table according to the first embodiment.
[0014] Figure 6A and Figure 6B ] is a diagram illustrating an example of attribute value table generation processing and print setting determination processing according to the first embodiment.
[0015] Figure 7 is a diagram illustrating an example of a table for correcting printing attribute information in the first embodiment.
[0016] Figures 8A to 8Cis a diagram illustrating an example of a sequence according to the second embodiment.
[0017] Figure 9A and Figure 9B is a diagram illustrating an example of a function table according to the third embodiment.
[0018] Figures 10A to 10C is a diagram illustrating an example of an attribute value table according to the third embodiment.
[0019] Figure 11 is a flowchart illustrating an example of attribute value table generation processing according to the third embodiment.
[0020] Figure 12A Included are diagrams illustrating examples of a first print setting UI according to the present embodiment.
[0021] Figure 12B Included are parts (a) and (b) as drawings each illustrating an example of a first print setting UI according to the present embodiment.
[0022] Figure 13A and Figure 13B are diagrams each illustrating an example of a preview UI according to the present embodiment.
[0023] Figure 14A and Figure 14B are diagrams each illustrating an example of preview UI internal processing according to the present embodiment.
[0024] Figure 15 is a flowchart illustrating an example of printing attribute information setting processing according to the present embodiment. DETAILED DESCRIPTION
[0025] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
[0026] First embodiment
[0027] Figure 1 A client terminal 101 , a cloud print server 102 , an application management server 103 , a cloud print-enabled printer 104 (hereinafter referred to as printer 104 ), and an online support server 105 are connected via a network 107 .
[0028] although Figure 1 One client terminal 101 and one cloud print-enabled printer 104 are depicted, but multiple client terminals 101 and printers 104 may exist.
[0029] The cloud print server 102, the application management server 103, and the online support server 105 may also be a server system composed of multiple information processing devices. By configuring each server as a server system composed of multiple information processing devices, the load can be distributed across these information processing devices.
[0030] Additionally, the cloud print server 102 , the application management server 103 , and the online support server 105 may be virtually configured within a single physical information processing apparatus.
[0031] The network 107 is assumed to establish a connection to the cloud service via a wide area network (WAN) such as the Internet, but may also be a closed environment such as an internal local area network (LAN).
[0032] The client terminal 101 is an information processing device such as a personal computer (PC), a tablet computer, a smartphone, etc., and is a terminal directly operated by a user. Any application software can be executed on the client terminal 101.
[0033] The local printer driver 113 and the cloud printer driver 111 are printer drivers provided by an OS vendor (manufacturer) that provides an operating system (OS) 114 on the client terminal 101. The local printer driver 113 and the cloud printer driver 111 are printer drivers that generate print data that can be interpreted by printers from multiple printer vendors. The local printer driver 113 is a printer driver used when connecting the printer 104 and the client terminal 101 without going through a server. The cloud printer driver 111 is a printer driver used when utilizing the cloud print service 121 provided by the OS vendor. Information about the printer 104 is pre-registered in the cloud print service 121. The client terminal 101 specifies the printer 104 as the output destination of the print data generated by the cloud printer driver 111 and sends the print data to the cloud print service 121. When the cloud print service 121 sends the print data to the printer 104 specified from the client terminal 101, printing is performed.
[0034] Note that the local printer driver 113 and the cloud printer driver 111 are already stored in the storage unit 214 of the client terminal 101 when the client terminal 101 is shipped.
[0035] The print spooler 116 is a print-related function provided by the OS 114. The print spooler 116 has a function for storing intermediate data and print data received from the local printer driver 113 and the cloud printer driver 111 in a temporary storage area. The print data stored in the temporary storage area can be retrieved by the print settings extension application 112 or sent to the cloud print server 102 and printer 104.
[0036] The print settings extension application 112 is a print settings application provided by one of the aforementioned printer vendors that provides the printer used for printing. The print settings extension application 112 is an application that was not stored in the storage unit 214 when the client terminal 101 was shipped. When a user performs a specific operation on the client terminal 101, the print settings extension application 112 is downloaded from the application management server 103. The specific operation may be, for example, an operation to connect the client terminal 101 to the printer 104, an operation to send print data from the client terminal 101 to the printer 104 via the cloud print service 121, or the like. Alternatively, the specific operation may involve the user acquiring the print settings extension application 112 from an application store provided by the application management service 131. The print settings extension application 112 extends the print settings functionality of the local printer driver 113 and the cloud printer driver 111 via the print spooler 116 of the operating system 114.
[0037] The cloud print-enabled printer 104 is a device that actually performs printing on a recording medium such as paper, and is an image forming device that converts print data received via the network 107 into image data and prints it.
[0038] The print setting UI unit 112 a is a print setting UI that a printer vendor extends in the print setting extension application 112 , and provides the print setting UI to the user.
[0039] The print setting UI unit 112 a generates and displays a print setting UI based on capability information acquired from the local printer 104 and the cloud print service 121 by the OS 114 and the print setting extension application 112 .
[0040] The print workflow processing unit 112b receives intermediate image data of images and graphics expressed in an extensible markup language (XML) format (such as XML Paper Specification (XPS)) from the print spooler 116. The print workflow processing unit 112b performs page description language (PDL) conversion processing to convert the received XPS format data into PDL data that can be processed by the printer. In this embodiment, the print workflow processing unit 112b displays a print preview. By utilizing the print workflow processing unit 112b, the image to be printed can be displayed as a preview. Additionally, by utilizing the print workflow processing unit 112b, a preview image reflecting the color mode and imposition can be provided.
[0041] The device capability acquisition processing unit 112 c 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.
[0042] The document generation application 115 is a general-purpose application such as a document file generation application, a spreadsheet application, a presentation application, etc. These applications may be pre-installed on the OS 114 or may be downloaded and installed by the user.
[0043] The cloud print server 102 is a server device for providing a cloud print service 121 provided by an OS provider. In this embodiment, the cloud print server 102 receives print instructions and print data from the client terminal 101. The cloud print server 102 then provides services to the user by sending the received print data to the printer 104.
[0044] The application management server 103 stores and manages various applications.
[0045] The application management server 103 receives identification information of the application and a download request from the client terminal 101 , and transmits the application identified based on the received identification information to the client terminal 101 .
[0046] The online support server 105 is a server device that provides an online support service 151. The online support service 151 is a service for providing a file containing information for expanding the functions of the client terminal 101 to the client terminal 101.
[0047] Next, we will use Figures 2A to 2E The hardware configuration in the system in this embodiment is described.
[0048] Figure 2A is a block diagram illustrating the hardware configuration of the client terminal 101 .
[0049] 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 .
[0050] The storage unit 214 refers to a nonvolatile storage device capable of storing and rewriting digital data, such as a hard disk drive (HDD) or a solid state drive (SSD).
[0051] The control unit 211 includes a central processing unit (CPU) 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 deploys computer programs stored in the storage unit 214 to the memory 213 and executes them. The memory 213 is the main memory of the CPU 212 and is used as a temporary storage area or work area for various programs to be deployed.
[0052] The network communication unit 215 is a device that communicates with the external network 107 , and performs input and output of digital data with an external server, a client terminal, and the like via the network 107 .
[0053] The display unit 216 is a device for displaying visual information to the user in real time, such as a liquid crystal display. The operation unit 217 is a device for accepting user input entered using a keyboard, mouse, etc. It is also possible to use a device that has the functions of both the display unit 216 and the operation unit 217, such as a touch screen.
[0054] Figure 2B 22 is a block diagram illustrating the hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225.
[0055] The storage unit 224 , the control unit 221 , and the network communication unit 225 are identical to those of the client terminal 101 , and thus descriptions thereof are omitted.
[0056] Although the cloud print server 102 is described as being comprised of a Figure 2B The cloud print server 102 may be composed of multiple information processing devices of the hardware configuration shown in FIG. Figure 2B The information processing device shown in .
[0057] Figure 2C 23 is a block diagram illustrating a 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.
[0058] The display unit 236 , the operation unit 237 , the storage unit 234 , the control unit 231 , and the network communication unit 235 are identical to those of the client terminal 101 , and thus descriptions thereof are omitted.
[0059] Although the application management server 103 is described as being composed of a Figure 2C The application management server 103 is composed of an information processing device of the hardware configuration shown in , but the application management server 103 may be composed of a plurality of information processing devices.
[0060] Figure 2D 24 is a block diagram illustrating the hardware configuration of the cloud print-enabled printer 104. The cloud print-enabled 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.
[0061] The display unit 246 is a device for displaying information to the user in real time, and includes a touch screen or LED that the cloud print-enabled printer 104 is equipped with.
[0062] The operation unit 247 is a device for accepting user input, which may include hardware keys such as a numeric keypad in addition to a touch screen. The storage unit 244 and the control unit 241 are identical to those of the client terminal 101, so their description is omitted.
[0063] The network communication unit 245 is a device that communicates with the external network 107 and is primarily responsible for receiving print data and sending information about the status of the cloud print-enabled printer 104 (such as errors) to an external server or the like.
[0064] The printing unit 248 is a device configured to perform a printing process by performing a series of operations including feeding, printing, and ejecting sheets prepared in the cassette and tray. The printing method is not particularly limited and may include methods such as electrophotography and inkjet. The printing unit 248 also includes finishing equipment such as a puncher used during paper ejection, a stapler, and a duplex unit.
[0065] Although the present embodiment describes a single function printer that performs only a printing function as an example of the cloud print-enabled printer 104 in the present embodiment, a multifunction printer (multifunction machine) additionally having a scanner function and a fax function may also be used.
[0066] Figure 2E is a hardware block diagram illustrating details of the online support server 105. Although the online support server 105 is described in this embodiment as consisting of a single information processing device, the online support server 105 may be composed of multiple information processing devices. The online support server 105 includes 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 identical or similar to the display unit 216 and the operation unit 217 of the client terminal 101, and therefore their description is omitted. The storage unit 254 is a storage device such as an HDD or SSD. The storage unit 254 stores files containing information used to expand the functions provided by the client terminal 101.
[0067] 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 communication between the online support server 105 and the client terminal 101. The online support server 105 receives a request for a file stored in the storage unit 254 via the network communication unit 255 and transmits the corresponding file to the client terminal 101.
[0068] Next, use Figures 3A to 3C, an example of a process in which a user performs printing in this embodiment and a sequence between each item of software and the print service will be described.
[0069] Notice, Figures 3A to 3C The process is illustrated as being performed after information on the printer 104 is registered in the cloud print service 121 and generation of a print queue is completed. Here, it is assumed that a print queue is generated for sending print data generated by the cloud printer driver 111 to the printer 104 via the cloud print service 121 .
[0070] The print spooler 116 of the OS 114 accepts a user's selection of a print queue via the UI provided by the document generation application 115 (S301). Note that a print queue can be selected even through a print setting UI provided by the OS 114 that is different from the UI provided by the document generation application 115.
[0071] Here, it is described that the print queue corresponding to the printer 104 has been selected. When the print queue is selected, the print spooler 116 reads the Print Ticket.
[0072] A Print Ticket is a file indicating print setting information describing current print settings in XML format and is managed individually for each print queue. A Print Ticket describes print settings in a format interpretable by the OS 114. Print settings are described as a set of setting items and setting values.
[0073] Next, the print spooler 116 sends a request to the cloud print service 121 for obtaining capability information of the printer 104 corresponding to the selected print queue (S302). In S302, the print spooler 116 sends a request to the cloud print service 121 for obtaining capability information about print setting items supported by the OS 114. The print spooler 116 sends a "Get-Printer-Attributes" command defined in a standard protocol (such as IPP) as a request to obtain capability information. At this time, by setting the attribute information corresponding to each setting item as a parameter of the command, the capability information of the setting item specified by the print spooler 116 can be obtained. Note that in this embodiment, the attribute information and the attribute value are information exchanged according to the IPP.
[0074] The cloud print service 121 responds to the print spooler 116 of the OS 114 with the capability information of the printer 104 (S303). In S302 and S303, the capability information is exchanged in the form of attribute information and attribute values defined in the IPP. Attribute information is information indicating setting items. Attribute values are values corresponding to the setting values and value ranges of each setting item.
[0075] 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 the OS 114 can interpret, and stores them as the device capability information. If the 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.
[0076] The print spooler 116 of the OS 114 notifies the device capability acquisition processing unit 112 c of the print settings extension application 112 of an event indicating that the device capability information can be edited ( S305 ).
[0077] Upon receiving this event, the device capability acquisition processing unit 112c may utilize an application programming interface (API) of the OS 114. This API is used to edit device capability information. At this point, the print settings extension application 112 may add attribute information and attribute values corresponding to setting items and setting values not supported by the OS 114 to the device capability information.
[0078] Having received this event, the device capability acquisition processing unit 112 c of the print settings extension application 112 acquires capability information about setting items and setting values not supported by the OS 114 from the cloud print service 121 and edits the device capability information.
[0079] After receiving the device capability information edit event from the OS 114, the device capability acquisition processing unit 112c of the print settings extension application 112 requests the capability information of the printer 104 from the cloud print service 121 (S306). Note that although the print settings extension application 112 sends a request to the cloud print service 121 here, it is also acceptable to use the function provided by the OS 114 to acquire the capability information.
[0080] The print settings extension 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 settings extension application 112 transmits a request to acquire capability information, excluding attribute information corresponding to setting items for which capability information has already been acquired by the OS 114 from the attribute information stored by the print settings extension application 112. This avoids redundant requests to acquire capability information for attribute information for which capability information has already been acquired. Note that the print settings extension application 112 can also acquire capability information for attribute information for which capability information has already been acquired by the OS 114.
[0081] Then, the device capability acquisition processing unit 112 c of the print settings extension application 112 inquires the cloud print service 121 about the attribute information selected as the request target using “Get-Printer-Attributes” in a standard protocol such as IPP.
[0082] In this way, the print settings extension application 112 can also obtain capability information for attribute information not supported by the OS 114. Note that attribute information not defined in the IPP can also be included as a target for which capability information is requested. Printer vendor-specific attribute information is set as a parameter of "Get-Printer-Attributes." In this way, capability information can be obtained even for attribute information not defined in the IPP.
[0083] S306 is similar to S302, except that the attribute information to be queried is different. The print settings extension application 112 queries the capability information of the vendor-specific setting items by setting the attribute information corresponding to the printer vendor-specific setting items as parameters of a command such as "Get-Printer-Attributes" in a standard protocol (such as IPP). The vendor-specific setting items include "stapleless binding", "saddle fold", and "booklet binding".
[0084] Parameters corresponding to the respective setting values can be described, for example, as follows.
[0085] For example, for "stapleless binding", a custom attribute "ext_stitching" indicating "stapleless binding" is specified in the "Get-print-Attributes" protocol.
[0086] Additionally, for the “saddle fold”, a custom attribute “ext_folding” representing the “saddle fold” is specified in the “Get-print-Attributes” protocol.
[0087] Furthermore, for "Booklet Binding", the custom attribute "ext_booklet_printing" indicating "Booklet Binding" is specified in the "Get-print-Attributes" protocol.
[0088] Having received the request for capability information, the cloud print service 121 requests capability information from the printer 104 using IPP (S307). The cloud print service 121 uses "Get-Printer-Attributes" to query the capability information of the printer 104. At this time, the cloud print service 121 queries the printer 104 using the parameters reported from the client terminal 101.
[0089] The printer 104 responds to the cloud print service 121 with the requested capability information ( S308 ).
[0090] The cloud print service 121 responds to the print settings extension application 112 with the requested capability information (S309). In this implementation, when the print settings extension application 112 on the client terminal 101 requests the cloud print service 121 to obtain capability information, the cloud print service 121 obtains the capability information from the printer 104. The printer 104 is allowed to pre-register all capability information with the cloud print service 121 (regardless of whether the OS 114 supports it or not). The cloud print service 121 can then receive the request for capability information in S306 and send the previously stored capability information to the print settings extension application 112.
[0091] Once the print settings extension application 112 acquires vendor-specific capability information from the cloud print-enabled printer 104, it edits the device capability information held by the OS 114 through the configuration information object (S310). The process in S310 adds capability information of printer vendor-specific setting items not supported by the OS 114 to the device capability information.
[0092] The configuration information object is a collection of data required to edit device capability information. Since the print setting extension application 112 cannot directly edit the device capability information held by the OS 114, this configuration information object is used to change the device capability information held by the OS 114.
[0093] At this time, the print settings extension application 112 copies and stores the capability information acquired by itself and the capability information acquired by the OS 114 into the data storage area of the application as its own device capability information data ( S311 ).
[0094] Next, the print settings extension application 112 passes the edited configuration information object to the OS 114 (S312). After receiving the configuration information object from the print settings extension application 112, the OS 114 merges the device capability information it has with the device capability information added to the configuration information object and updates it to the new device capability information.
[0095] After generating the new device capability information, OS 114 enables the print queue, which then activates print settings UI unit 112a of print settings extension application 112 (S313). Once the print queue is enabled, OS 114 notifies document generation application 115, for example, that the print queue is available. Upon receiving the notification, document generation application 115 displays a detailed settings button and a print button as selectable on the currently displayed print settings screen. Alternatively, if document generation application 115 does not have the function of displaying a print settings screen, the detailed settings button and the print button are displayed as selectable on a modern print dialog box serving as the print settings screen displayed by OS 114.
[0096] Assume that the user has selected the detailed setting button after the print queue has been enabled. The operation of activating the print setting UI unit 112a may be an operation other than the above-described operation on the detailed setting button.
[0097] The print spooler 116 of the OS 114 instructs the print setting UI unit 112 a of the print setting extension application 112 to be activated ( S314 ).
[0098] 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 the Print Ticket indicating the current print setting, and displays the print setting screen on the display unit 216 (S315). The print setting UI unit 112a of the print setting extension application 112 is activated from the OS 114 to display information such as Figure 12A and Figure 12B The print setting screen is the print setting screen shown in parts (a) and (b) of the .
[0099] Figure 12A and Figure 12B Parts (a) and (b) of FIG. 1 illustrate examples of a graphical user interface (GUI) for print settings displayed by the print setting UI unit 112 a based on capability information extended by the print setting extension application 112 . Figure 12A The screen 1201 shown in FIG is a print setting screen provided by the print setting UI unit 112a when activated from the document generation application 115. This screen can be scrolled, and the scrolling changes the setting items displayed. On the print setting screen provided by the print setting extension application 112, you can set the settings written in Figures 4A to 4C The settings items in the application menu are depicted in .
[0100] Screen 1202 is provided with an area for setting the setting value of the "staple" function. As an option 1212 of the "staple" function, in addition to options such as "none" and "top left" supported by OS 114, "stapleless binding" which is not supported by OS 114 is also a selectable option.
[0101] Additionally, screen 1202 is provided with an area for setting the setting value of the "folding setting" function. As options for the "folding setting" function, in addition to options such as "none", "half fold", and "C-fold" supported by OS 114, an option "saddle fold" is also provided.
[0102] also, Figure 12B Part (a) of FIG. 1 illustrates the setting item 1203 of “single-sided / double-sided / booklet binding”.
[0103] In this setting item, “Single-Sided”, “Duplex-Sided” or “Booklet Binding” is selectable. “Single-Sided” and “Duplex-Sided” are setting values supported by the OS 114, but “Booklet Binding” is a setting value not supported by the OS 114. Figure 12B Part (b) of FIG. 120 shows a screen displayed when "Booklet Binding" is selected in setting item 1203. Here, setting item 1204 for specifying how the book is opened when booklet printing is performed is displayed. Setting item 1204 allows the opening direction to be set to, for example, "right opening" or "left opening".
[0104] although Figure 12A and Figure 12B The examples shown in parts (a) and (b) depict the addition of options for functions, but setting items can also be added.
[0105] This print setting screen does not depend on the type of the document generation application 115 to be used, and can display print setting information supported by the print setting extension application 112 .
[0106] The print setting UI unit 112 a of the print setting extension application 112 provides a function for changing print settings by the user in any manner, and stores the changed setting values if the setting values are changed.
[0107] 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.”
[0108] Then, when the user selects Figure 12AWhen the "OK" button 1211 in the print setting screen is clicked, the print setting UI unit 112a terminates the display of the print setting screen. At this time, the print setting UI unit 112a writes the setting values configured via the UI to the Print Ticket.
[0109] After closing the print setting UI unit 112 a and completing the print setting operation, the user's operation screen returns to the print setting screen provided by the document generation application 115 .
[0110] The print setting UI unit 112 a sends the Print Ticket and a UI termination notification to the print spooler 116 of the OS 114 , completing the processing on the print setting screen of the print setting extension application 112 ( S316 ).
[0111] Next, the document generation application 115 accepts an instruction to start printing from the user via the print setting screen displayed by the document generation application 115 .
[0112] The document generation application 115 notifies the cloud printer driver 111 of a print execution instruction according to the print start instruction ( S317 ). The cloud printer driver 111 of the OS 114 receives the print execution instruction from the document generation application 115 .
[0113] Upon receiving the print execution instruction, the cloud printer driver 111 converts the data received from the document generation application 115 into intermediate image data (S318). The cloud printer driver 111 obtains the image data to be printed from the document generation application 115. The image data obtained from the document generation application 115 is, for example, image data in a graphics device interface (GDI) format. The cloud printer driver 111 converts the obtained image data into intermediate image data. Intermediate image data is data generated before being converted into print data such as PDL, and XPS data corresponds to an example of intermediate image data. Note that in the case where the document generation application 115 outputs the image data to be printed as XPS data, the conversion process corresponding to S318 is not performed.
[0114] The cloud printer driver 111 causes the print spooler 116 to store the generated intermediate image data ( S319 ).
[0115] After receiving the intermediate image data, the print spooler 116 of the OS 114 notifies the print workflow processing unit 112b of 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 PDL data processable by the printer can be executed.
[0116] At this time, the print workflow processing unit 112 b receives a Print Ticket describing the intermediate image data and current print setting values, and an event notification from the print spooler 116 of the OS 114 .
[0117] The print workflow processing unit 112b stores the intermediate image data received in S320 as “original intermediate image data” together with the Print Ticket in the data storage area of the application (S321).
[0118] The print workflow processing unit 112 b sends a print workflow processing request to the print spooler 116 of the OS 114 ( S322 ).
[0119] The print spooler 116 of the OS 114 receives the print workflow processing request, and in response to the request content, requests the print workflow processing unit 112 b to activate the preview UI ( S323 ).
[0120] The print workflow processing unit 112b receives a request to activate the preview UI ( Figure 13A and Figure 13B ), a preview UI is displayed, and the print workflow process is started (S324). S324 will be described in detail later.
[0121] Figure 13A and Figure 13B Each illustrates an example of a preview UI screen provided by the print workflow processing unit 112 b .
[0122] Figure 13A The diagram shows an example of a preview UI screen 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. The preview image reflects that the page aggregation setting has been set to 2-in-1 by the print setting UI unit 112a, and that the staple setting has been set at a location in the upper left corner. Object 1310 indicates the staple position. Button 1308 is used to display a preview image of the previous page.
[0123] If the displayed preview image corresponds to the first page, button 1308 may be hidden or grayed out to prevent any operation. Button 1309 is a button for displaying a preview image of the next page. If the displayed preview image corresponds to the last page, button 1309 may be hidden or grayed out to prevent any operation. Setting item 1306 is an area for setting the setting value of page aggregation. The value indicated in the Print Ticket is displayed as the initial value.
[0124] In this embodiment, the print settings can be changed after the preview image is displayed. Figure 13A and Figure 13B Setting items other than those described in the Figures 5A to 5C Change the setting value of any setting item depicted in .
[0125] Figure 13B An example of a screen after print settings have been edited with the preview UI of the print workflow processing unit 112 b is illustrated.
[0126] Here, assuming the user operates Figure 13A 1306 in the area and 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.
[0127] Whether a request for preview UI display is included in the print workflow processing request is determined by the print workflow processing unit 112 b .
[0128] For example, whether or not to display a preview on the print settings screen provided by the print settings UI unit 112a is preset, and the setting value for this setting is written to the Print Ticket. The print workflow processing unit 112b determines whether preview display is enabled in the Print Ticket provided by the OS 114. If it is determined that preview display is enabled, the print workflow processing unit 112b sends a print workflow processing request described in S322 to the print spooler 116. Conversely, if it is determined that preview display is disabled, the print workflow processing unit 112b executes the processing in S327, which will be described later. In this way, the user can set whether or not to display the preview UI.
[0129] Alternatively, it is acceptable for the print workflow processing unit 112 b to unconditionally include a request for preview UI display in a print workflow processing request to the print spooler 116 of the OS 114 after receiving the PDL conversion event.
[0130] 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 termination of the preview UI (S325). At this time, the print workflow processing unit 112b stores the setting values set in the preview UI as confirmed print setting information in the storage area of the application.
[0131] The print spooler 116 of the OS 114 requests the print workflow processing unit 112 b to execute print workflow termination processing ( S326 ).
[0132] The print workflow processing unit 112b determines the print setting information to be reported to the print spooler 116 as print workflow termination processing (S327). The print workflow processing unit 112b determines the attribute information corresponding to the setting item whose setting value was changed from the Print Ticket and the changed attribute value. S327 is described as print setting information determination processing. S327 will be described in detail later.
[0133] 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.
[0134] In response to the request, the print spooler 116 of the OS 114 generates print attribute information (S329). For the attribute information reported in S328, the print spooler 116 sets the changed attribute values as the print attribute information. For setting items other than the setting values corresponding to the attribute information reported in S328, the setting items and setting values described in the Print Ticket are converted into the attribute information and attribute values defined in the IPP and set in the IPP print setting information. Note that printer vendor-specific setting items and setting values are not converted and are set as-is in the print attribute information.
[0135] The print spooler 116 of the OS 114 transmits the printing attribute information set in S329 to the cloud print service 121 ( S330 ).
[0136] 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 of the completion of reception of the print attribute information. The cloud print service 121 notifies the print spooler 116 of the notification received from the printer 104 .
[0137] The print spooler 116 of the OS 114 notifies the print workflow processing unit 112b that the reception of the printing attribute information has been completed (S332).
[0138] Next, the print workflow processing unit 112b generates intermediate image data for printing to be sent to the cloud print service 121 (S333). The print workflow processing unit 112b reads the stored original intermediate image data and the confirmed print setting information from the data storage area of the application. The print workflow processing unit 112b performs editing processing on the original intermediate image data to generate intermediate image data for printing.
[0139] For example, if in the preview UI ( Figure 13A and Figure 13B If the page aggregation setting has been changed from "2 in 1" to "4 in 1" (setting item 1306 in the print settings), the setting "4 in 1" is retained in the confirmed print setting information. The print workflow processing unit 112b loads the confirmed print setting information and generates intermediate image data for printing by laying out the image data of four pages on a single page.
[0140] The print workflow processing unit 112b converts the edited intermediate image data for printing into PDL data (S334). In S334, the print 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 data is generated as PDL data. Note that the print workflow processing unit 112b can generate PDL data using a function provided by the OS 114.
[0141] The print workflow processing unit 112 b passes the generated PDL data to the print spooler 116 of the OS 114 ( S335 ).
[0142] The print spooler 116 of the OS 114 generates print data based on the PDL data passed from the print workflow processing unit 112 b ( S336 ).
[0143] The print spooler 116 of the OS 114 sends the generated print data to the cloud print service 121 via the print queue ( S337 ).
[0144] The cloud print service 121 sends the print data passed from the print spooler 116 of the OS 114 to the cloud print-enabled printer 104 ( S338 ).
[0145] Although this process has been described using Cloud Print as an example, it is also applicable to local printing in which a client terminal communicates directly with a printer without going through the Cloud Print service.
[0146] The above is a description of the flow of a series of actions from the document generation application 115 displaying the print setting screen to sending print data to the printer 104 .
[0147] Next, we will use Figure 13A 、 Figure 13B 、 Figure 14A and Figure 14B The print workflow process (S324) is described in detail. Figure 14B Pictured Figure 14A An alternative to the process shown in , and only needs to be performed Figure 14A or Figure 14B Any of the processes described in .
[0148] Figure 14A 1 is a flowchart illustrating processing from when the print workflow processing unit 112 b generates a preview image to be displayed on the preview display UI to when a print instruction is accepted to complete the processing.
[0149] The program for executing the flowchart is stored in the storage unit 214 of the client terminal 101 and executed by the CPU 212 .
[0150] exist Figure 14A In the description of FIG. 1 , the processing executed by the print workflow processing unit 112 b is described using, for example, a case where the original intermediate image data has 100 pages and the setting 2 in 1 is recorded in the Print Ticket.
[0151] First, the print workflow processing unit 112b reads out the original intermediate image data and PrintTicket stored in S321 (S14001).
[0152] Next, the print workflow processing unit 112b temporarily stores the print setting information extracted from the Print Ticket and the original intermediate image data in the data storage area of the application as temporary print setting information (S14002).
[0153] 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).
[0154] Now we will use Figure 6A The processing in S14003 will be described in detail. Figure 6A The processing shown in is realized by the CPU 212 executing the program of the print setting extension application 112.
[0155] The print workflow processing unit 112b reads out the application function table 401 from the data storage area of the application (S601). Figures 4A to 4Cis a diagram illustrating an example of an application function table 401. The application function table 401 describes information about functions that can be set using the print setting extension application 112. An "item name" column 402 indicates the name of each setting item. A "processing on the print setting application side" column 404 indicates whether processing corresponding to the function can be performed by the print setting extension application 112 when the function of interest is enabled. For example, if the page aggregation setting is enabled, the print setting extension application 112 performs processing to layout multiple pages of intermediate image data acquired from the print spooler 116 onto a single page. Additionally, for functions such as the print setting extension application 112 editing intermediate image data, the "processing on the print setting application side" column 404 is set to "Yes". A "processing on the printer side" column 405 indicates setting items that can be processed by the printer 104 when the function of interest is enabled.
[0156] For example, stapling is a setting item that can be processed by the printer 104 based on the received print setting information even if the print setting extension application 112 does not process it. As described here, for setting items that can be processed even if the print setting extension application 112 does not, the "Processing on the printer side" column 405 is set to "Yes". The "Overlap of processing between the print setting extension application and the printer" column 406 indicates whether a function can be processed by both the print setting extension application 112 and the printer 104. When both columns 404 and 405 are set to "Yes", the "Overlap of processing between the print setting extension application and the printer" column 406 is marked as "Yes". For example, with respect to page aggregation, the process of laying out a multi-page image onto a single page is a process that can be processed by both the print setting extension application 112 and the printer 104, so column 406 is marked as "Yes".
[0157] "Type" column 407 is the type set according to the settings in columns 404 to 406. If column 404 is marked as "No" and column 405 is marked as "Yes," Type 1 is set. If column 404 is marked as "Yes" and column 405 is marked as "Yes," Type 2 is set. If column 404 is marked as "Yes" and column 405 is marked as "No," Type 3 is set. The above is a description of application function table 401.
[0158] 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. Columns 502 to 507 in the attribute value table 501 are the same as columns 402 to 407 in the application function table 401, and their descriptions are omitted. The "Edit Flag" column 508 corresponds to a flag indicating that the print setting extension application 112 has edited the intermediate image data or changed the print settings after the preview UI is displayed. The initial value is "FALSE", and when the original intermediate image data is edited or the setting value is changed while the preview UI is displayed, "TRUE" is set. The "Attribute Information" column 509 corresponds to the attribute information defined for each setting item in the IPP. Note that for setting items not defined in the IPP, attribute information defined by the printer vendor is described. The "Attribute Value" column 510 describes information about the attribute values defined in the IPP that the print workflow processing unit 112b reports to the print spooler 116. The initial values of the "attribute information" column 509 and the "attribute value" column 510 are empty, and the attribute information and the attribute value are set according to the processing described below. The above is a description of the processing related to generating the attribute value table 501.
[0159] Description now returns to Figure 14A 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 are stored as the number of pages of the original intermediate data in the data storage area of the application.
[0160] Next, the print workflow processing unit 112b acquires the setting value of 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.
[0161] Next, the print workflow processing unit 112b calculates the number of pages after page aggregation (S14006). The number of pages is obtained by dividing the number of pages in the original intermediate image data by the number of pages to be aggregated. Here, the value "50" is stored in the application's storage area as the number of pages after page aggregation. Note that the number of pages after aggregation will be rounded to a decimal point.
[0162] 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 that layouts two pages of data in the original intermediate image data onto a single page. Note that in S14008, the print workflow processing unit 112b sets the "Edit Flag" column 508 in the attribute value table 501. Among the settings included in the temporary print setting information, the print workflow processing unit 112b performs the following processing for the setting items whose "Type" column 507 in the attribute value table 501 is "Type2". The print workflow processing unit 112b determines whether the setting value of each setting item is consistent with the setting value of the temporary print setting information. Figure 7 The "attribute value" column 705 in the table 701 depicted in FIG. Figure 7 The diagram shows a table used to correct the print attribute information generated by the print spooler 116 in step S329. If the values match, the print workflow processing unit 112b terminates processing. If there are discrepancies, the print workflow processing unit 112b sets the "Edit Flag" column 508 of the corresponding setting item in the attribute value table 501 to TRUE. For example, if the page aggregation is set to 2-in-1, the edit flag corresponding to the page aggregation in the attribute value table is set to TRUE. This allows the attribute value table 501 to record that the print settings extension application 112 has edited the original intermediate image data.
[0163] Next, the print workflow processing unit 112b causes the edited and processed intermediate image data to be displayed on the preview UI ( Figure 13A and Figure 13B ) on (S14009).
[0164] Then, the print workflow processing unit 112b accepts changes to the print settings via the preview UI (S14010). Figure 13A and Figure 13B ) can be used with the print settings accepted in the first print setting UI ( Figure 12A and Figure 12B The print settings specified in parts (a) and (b)) are different. For example, setting items such as "Paper Feed Tray" and "Paper Eject Tray" whose default values are marked as "Auto" can be changed from the preview UI ( Figure 13A and Figure 13B ) is omitted from the display.
[0165] Next, the print workflow processing unit 112b determines whether the user operation is accepted (S14011). Until the user operation is accepted, the print workflow processing unit 112b continues the preview display (S14009) and the acceptance of the print setting change (S14010).
[0166] If the 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. If the "edit flag" 508 is already set to TRUE, the print workflow processing unit 112b does not change the flag.
[0167] Next, the print workflow processing unit 112b determines whether the operation accepted from the user is for setting the number of pages to be aggregated (S14013).
[0168] If it is determined in S14013 that the operation accepted from the user is for setting the number of pages to be aggregated, the print workflow processing unit 112b returns the process to S14006. Using the changed number of pages to be aggregated, the print workflow processing unit 112b recalculates the number of pages to be aggregated and executes the process from S14008.
[0169] If it is determined in S14013 that the operation accepted from the user is not for setting the number of pages to be aggregated, the print workflow processing unit 112b determines whether the operation accepted from the user is for selecting an OK button (S14014).
[0170] If it is determined in S14014 that the accepted user operation is not for selecting the OK button, the print workflow processing unit 112b returns the process to S14008. Thereafter, a preview image is generated and displayed according to the user operation.
[0171] If it is determined in S14014 that the accepted user operation is for selecting the OK button, the print workflow processing unit 112b terminates the preview display and acceptance of the print setting change, and executes the following processing.
[0172] The print workflow processing unit 112b stores the original intermediate image data and the temporary print setting information as confirmed print setting information in the data storage area of the application (S14015). S14015 is described as confirmed data storage processing.
[0173] Next, we will describe Figure 14B As mentioned above, Figure 14B Pictured Figure 14A An alternative treatment to that shown in . Figure 14A In the process of generating preview images for all pages of the original intermediate image data, the preview images are then displayed. However, if the number of pages of the original intermediate image data is large, it takes time to generate preview images for all pages. Therefore, in Figure 14B In the embodiment, the number of pages of preview images to be generated is set to a certain number of pages, and if there is an instruction to switch displayed pages from a user, preview images are generated as needed.
[0174] Note that the processing from steps S14101 to S14106 is the same as the processing from S14001 to S14006, so the description thereof is omitted.
[0175] The print workflow processing unit 112b obtains 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 predetermined by the print workflow processing unit 112b, and this number of pages is stored in the data storage area of the application. This is an example of storing a value of five pages as the number of pages required for preview display. Note that as another method of obtaining the number of pages required for preview display, the number can be set using another UI of the print setting extension application 112 (such as the UI of the print setting UI unit 112a or the application preference UI (not shown)).
[0176] 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 required for preview display stored in the data storage area of the application (S14108).
[0177] If the number of pages after page aggregation is less than or equal to the number of pages required for preview display, the print workflow processing unit 112 b generates intermediate image data for preview display for all pages at once.
[0178] The processing from steps S14110 to S14114 is the same as the processing from S14008 to S14012, so the description thereof is omitted.
[0179] If it is determined that the number of pages after page aggregation is greater than the number of pages required for preview display, the print workflow processing unit 112b executes the processing described in S14119.
[0180] The print workflow processing unit 112b sets the first page of the original intermediate image data as the start page (S14119). For example, the first page is set as the start page.
[0181] Next, the print workflow processing unit 112b generates the required number of pages of intermediate image data for preview, starting from the start page (S14120). Here, since the required number of pages is five and the page aggregation setting value is "2", the intermediate image data of ten pages starting from the start page of the original intermediate image data is processed into 2-in-1 to generate the intermediate image data for preview display.
[0182] Next, the print workflow processing unit 112b causes the edited and processed intermediate image data to be displayed on the preview UI ( Figure 13A and Figure 13B ) (S14111). Then, the print workflow processing unit 112b displays the preview UI ( Figure 13A and Figure 13B )Accept changes to print settings (S14112).
[0183] Next, the print workflow processing unit 112b accepts a user operation (S14113).
[0184] The print workflow processing unit 112b continues the preview display (S14111) and the acceptance of the print setting change (S14112) until the user operation is accepted.
[0185] If the 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 to have determined that there has been a change to the print setting (S14114).
[0186] Next, the print workflow processing unit 112b determines whether the operation accepted from the user is an instruction for changing the displayed page (S14115). Figure 13A If the button 1308 or the button 1309 shown in FIG is selected, the print workflow processing unit 112b advances the process to S14121 as a process of accepting the change of the displayed page. Otherwise, the print workflow processing unit 112b advances the process to S14116.
[0187] If it is determined in S14115 that the operation accepted from the user is an instruction to change the displayed page, the print workflow processing unit 112b changes the starting page (S14121). For example, if the display of the next page is instructed while the preview image of the first page in the 2-in-1 layout is displayed, the third page of the original intermediate image data is set as the starting page.
[0188] Next, the print workflow processing unit 112b generates the required number of pages of intermediate image data for preview, starting from the starting page (S14120). Here, ten pages of intermediate image data for preview display are generated, starting from the third page of the original intermediate image data. Note that the generation process can be skipped for pages for which intermediate image data for display has already been generated.
[0189] If it is determined in S14115 that the operation accepted from the user is not an instruction to change the displayed page, the print workflow processing unit 112b determines whether the operation accepted from the user is an aggregate number for aggregate printing (S14116).
[0190] If it is determined in S14116 that the operation accepted from the user is the aggregate number for aggregate printing, the process returns to step S14106, where the number of pages after page aggregation is recalculated using the changed aggregate number for aggregation, and the process continues from S14107.
[0191] If it is determined in S14116 that the operation accepted from the user is not an aggregate number for aggregate printing, it is determined whether the operation accepted from the user is to select the OK button (S14117). If the user operation is not to select the OK button, the print workflow processing unit 112b returns the process to S14110. In S14110, the print workflow processing unit 112b changes the displayed preview image in response to the accepted change in print settings. For example, if the binding position is changed, the object 1310 indicating the binding position of the preview image is also changed. Additionally, if punching or folding is set, the preview display is changed so that the punching or folding position becomes visible.
[0192] If the OK button is selected in step S14117, the print workflow processing unit 112b terminates the preview display and the acceptance of the print setting change. The print workflow processing unit 112b then stores the original intermediate image data and the temporary print setting information as confirmed print setting information in the application's data storage area (step S14118). Here, step S14118 is described as the confirmed data storage process.
[0193] Next, we will use Figure 6B The print setting determination process (S327) is described in detail.
[0194] Figure 6B The processing shown in is implemented by the CPU 212 executing the program of the print setting extension application 112.
[0195] In the print setting determination process, the print setting extension application 112 determines the setting information to be reported to the print spooler 116. An example will be described in which a Print Ticket reported from the print spooler 116 specifies "Paper size: A4, Page aggregation: 2-in-1, Date printing: Off," and the settings are changed to "Paper size: A3, Page aggregation: 4-in-1, Date printing: On" using the preview UI.
[0196] The print workflow processing unit 112b reads out the attribute value table 501 from the data storage area of the application (S611). For the setting items in the attribute value table 501, the processes described in S612 to S616 are executed.
[0197] The print workflow processing unit 112b determines whether the "Edit Flag" column 508 of each setting item recorded in the attribute value table 501 is "TRUE" (S612). If the "Edit Flag" column 508 is "FALSE", the print workflow processing unit 112b performs the processing described later in S618. If the "Edit Flag" column 508 is "TRUE", the print workflow processing unit 112b performs the processing described in S613.
[0198] The print workflow processing unit 112b determines that the "Edit Flag" column 508 is set to "TRUE" in the "Type" column 507 of the setting item (S613). In the case of Type 1, the print workflow processing unit 112b performs the processing described in S614. The print workflow processing unit 112b sets the attribute information corresponding to this setting item and the attribute value indicated in the confirmed print setting information to the attribute value table 501 (S614). For example, in the previous example, "Paper Size" corresponds to the Type 1 setting item. Therefore, the print workflow processing unit 112b sets the "Edit Flag" column 508 corresponding to "Paper Size" in the attribute value table 501 to "TRUE". Then, the print workflow processing unit 112b sets "media-size" to the "Attribute Information" column 509 of "Paper Size" and sets "A3" to the "Attribute Value" column 510.
[0199] If it is determined in S613 that the "Type" column 507 of the setting item in which the "Edit Flag" column 508 is set to "TRUE" is Type 2, the print workflow processing unit 112b executes the processing described in S615. The print workflow processing unit 112b refers to Figure 7 701 depicted in the table 501, and sets the "attribute information" column 704 and the "attribute value" column 705 corresponding to this setting item to the "attribute" column 509 and the "attribute value" column 510 in the attribute value table 501 (S615). Figure 7Table 701 depicted in FIG. 4 is a table indicating attribute values for suppressing the printer 104 from executing the same processing as that executed by the print setting extension application 112. The "Item Name" column 702 indicates the item name of the item set to Type 2 in the "Type" column 407 of the application function table 401. The "Setting Value" column 703 indicates the setting value that can be set for each setting item. The "Attribute Information" column 704 indicates attribute information corresponding to each setting item. The "Attribute Value" column 705 indicates the attribute value for controlling the printer 104 not to execute additional processing.
[0200] Type 2 setting items include, for example, the following.
[0201] In the case of the setting item "placement order", the IPP attribute is indicated as "next_page_arrange_order", and the attribute value assigned to the printer is "none".
[0202] In the case of the setting item "scaling", the IPP attribute is indicated as "print-scaling", and the attribute value assigned to the printer is "none".
[0203] In the case where the setting item is "180-degree rotation", the indicated IPP attribute is "ext_page_rotation", and the attribute value assigned to the printer is "none".
[0204] In the case of the setting item "booklet printing", the IPP attribute is indicated as "ext_booklet_printing", and the attribute value assigned to the printer is "none".
[0205] In the case of the setting item "poster printing", the IPP attribute is indicated as "ext_poster_printing", and the attribute value assigned to the printer is "none".
[0206] For example, in the previous example, "page aggregation" corresponds to the Type 2 setting item. The print workflow processing unit 112b sets "number-up" to the "attribute information" column 509 corresponding to "page aggregation" in the attribute value table 501, and sets "1" to the "attribute value" column 510.
[0207] In S615, the print workflow processing unit 112b causes the printer to set the attribute value of not executing additional processing as the setting value to be reported to the printer for the setting item to be processed by the print settings extension application 112. This makes it possible to suppress any overlap of the same processing to be executed by the print settings extension application 112 and the printer 104.
[0208] If it is determined in S613 that the "Type" column 507 of the setting item for which the edit flag 508 is set to "TRUE" is Type 3, the print workflow processing unit 112b determines not to change the attribute value (S616). In the previous example, "Date Print" corresponds to a Type 3 setting item. Since the attribute value table has not been updated for Type 3, the print workflow processing unit 112b continues processing as is. Note that for Type 3, the print workflow processing unit 112b can skip the processing in S616 and execute the processing in S618.
[0209] The print workflow processing unit 112b determines whether any unchecked setting items remain (S618). If unchecked setting items remain, the print workflow processing unit 112b returns the process to S612. On the other hand, if the check is complete, the print workflow processing unit 112b terminates the process. Figure 6B The processing shown in .
[0210] exist Figure 3C In the print setting information generation request shown in , the print workflow processing unit 112b notifies the print spooler 116 of the Print Ticket and the "attribute information" column 509 and "attribute value" column 510 of the setting item(s) in which the "edit flag" column 508 in the attribute value table 501 is set to "TRUE".
[0211] Now we will use Figure 15 The processing executed by the print spooler 116 in S329 is described.
[0212] Figure 15 The processing shown in FIG is realized by the CPU 212 executing a program provided by the OS 114 .
[0213] The print spooler 116 selects one setting item from the Print Ticket reported by the print setting extension application 112 ( S1501 ).
[0214] The print spooler 116 determines whether 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 selected "Page Aggregation" in S1501. The print spooler 116 determines whether the attribute information "number-up" corresponding to "Page Aggregation" has been reported from the print setting extension application 112. The print spooler 116 has received "1" as the attribute value for "number-up." Therefore, the print spooler 116 sets "number-up: 1" as the attribute value to be reported to the printer, rather than "number-up: 2" which is the attribute value corresponding to 2-in-1 set in the Print Ticket.
[0215] The print spooler 116 determines whether or not unprocessed setting items remain in the Print Ticket (S1506). If unprocessed setting items remain, the print spooler 116 returns the process to S1501.
[0216] If it is determined in S1502 that the same attribute information as that corresponding to the selected setting item has not been received from the print setting extension application 112 , the print spooler 116 advances the process to S1504 .
[0217] The print spooler 116 converts the setting items and setting values described in the Print Ticket into attribute information and attribute values defined in the IPP (S1504). Note that if the setting items and setting values described in the Print Ticket are attribute information and attribute values not defined in the IPP, the print spooler 116 advances the process to S1505 without converting the setting items and setting values.
[0218] The print spooler 116 sets the converted attribute information and attribute values as the attribute information and attribute values to be reported to the printer (S1505). Note that if conversion is 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 reported to the printer.
[0219] In completion Figure 15 After the processing shown in , the print spooler 116 sends the attribute information and attribute values to be reported to the set printer to the cloud print service 121 ( S330 ).
[0220] Thus, for setting items set using Type 1 in the attribute value table 501, attribute values corresponding to the setting values changed using the preview UI are reported to the printer. For setting items set using Type 2, attribute values that allow the print settings extension application 112 to execute the corresponding processing and prevent the printer from executing additional processing are reported to the printer. Since Type 3 corresponds to setting items referenced only by the print settings extension application 112, attribute values corresponding to setting values that have not been changed from the Print Ticket are reported to the printer.
[0221] Therefore, in this embodiment, in addition to the Print Ticket, the print settings extension application 112 also notifies the OS 114 of attribute information and attribute values corresponding to the settings set using the preview display UI. This allows the printer to be notified of the setting values set using the preview display UI. Furthermore, setting items that can be processed by both the print settings extension application 112 and the printer 104 are set by the print settings extension application 112, and the printer 104 is notified of values that differ from those set on the print settings screen or preview display UI. This prevents any overlap in the same processing to be executed by both the print settings extension application 112 and the printer 104.
[0222] Second embodiment
[0223] The first embodiment has described the example of changing the attribute value using the API of the OS for a print setting item for which editing and processing of intermediate image data have occurred during preview display or a print setting item that has changed during preview.
[0224] Second Embodiment An example in which the print settings extension application 112 changes attribute values without using an API will now be described.
[0225] Will use Figures 8A to 8C The specific processing according to this embodiment is described. Note that only the differences from the first embodiment will be described here. The system configuration and hardware configuration are the same as those in the first embodiment except for some exceptions, and their descriptions are omitted.
[0226] Figure 8A 、 Figure 8B 、 Figure 8C S801 to S827 in FIG. 3 are the same as the processing from S301 to S327 in FIG. 3 , and description thereof is omitted.
[0227] The print workflow processing unit 112b sends a print attribute information generation request (S828) to the print spooler 116. The print workflow processing unit 112b sends the Print Ticket and a request for conversion into print attribute information.
[0228] The print spooler 116 converts the print settings and setting values written in the received Print Ticket into attribute information and attribute values defined in the IPP. Note that for items not defined in the IPP, the setting items and setting values reported from the print workflow processing unit 112b are set as attribute information and attribute values.
[0229] The print spooler 116 notifies the print workflow processing unit 112b of the print attribute information (S830).
[0230] The print workflow processing unit 112b edits the received print attribute information to generate print attribute information to be reported to the printer (S831). The print workflow processing unit 112b performs the following processing on the attribute information of the setting items included in the print attribute information received from the print spooler 116 and for which the "Edit Flag" column in the attribute value table in the print attribute information is set to "TRUE". If the type of the attribute information is Type1, the attribute value of the print attribute information is overwritten with the attribute value corresponding to the setting value set in the print confirmation information. If the type of the setting item for which the "Edit Flag" column in the attribute value table is set to "TRUE" is Type2, the attribute value is overwritten with the attribute value corresponding to the setting value set in the print confirmation information. Figure 7 The attribute value indicated by the "attribute value" column 705 in the table 701 depicted in FIG overrides the attribute value of the printing attribute information. If the type of the setting item whose "edit flag" column in the attribute value table is set to "TRUE" is Type 3, the attribute value of the printing attribute information remains unchanged.
[0231] The print workflow processing unit 112b generates intermediate image data for printing (S832).
[0232] The print workflow processing unit 112b generates intermediate image data for printing based on the print confirmation information. For example, if page aggregation is set to 2-in-1 in the print confirmation information, the print workflow processing unit 112b generates intermediate image data by laying out two pages of original image data onto a single page.
[0233] 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 S833 is data in the PDF or PWG-Raster format.
[0234] 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 sends the print data to the cloud print service 121 (S836). The cloud print service 121 sends the print data to the printer 104 (S837).
[0235] Note that in this embodiment, it is assumed that in S834 the PDL data and the print attribute information are sent to the print spooler 116. Alternatively, after S831, the print attribute information may be sent to the print spooler 116 first, and in S834 the print workflow processing unit 112b may send the PDL data to the print spooler 116.
[0236] According to the present embodiment described above, the print workflow processing unit 112 b of the print setting extension application 112 can change attribute values without using the API of the OS, and can obtain expected printing results without depending on the type of OS.
[0237] Third embodiment
[0238] The first embodiment has described the example in which the entire image processing is performed on the client PC side for a print setting item in which editing and processing of intermediate image data have occurred during preview display.
[0239] Third Embodiment An example of switching between executing image processing on the client PC side and executing image processing on the printer side according to the type and capability of the printer will now be described.
[0240] We will use Figure 3, Figure 6B 、 Figure 9A 、 Figure 9B 、 Figures 10A to 10C 、 Figure 11 、 Figure 14A and Figure 14B Specific processing according to this embodiment is described.
[0241] Note that only the differences from the first embodiment will be described here. The system configuration and hardware configuration are the same as those in the first embodiment except for some exceptions, and description thereof will be omitted.
[0242] Additionally, the preview display according to this embodiment is Figures 3A to 3C The sequences shown in are the same as those shown in , and their descriptions are omitted.
[0243] Unlike the earlier described embodiments, Figure 11 and Figure 6B Describe in detail the generation of attribute value table ( Figure 14A S14003 in) and attribute value change determination processing ( Figure 3C S327 in ).
[0244] This example will discuss a case where, when the printer 104 has the same function as the print setting extension application 112 , execution of image processing on the client PC side and execution of image processing on the printer side are switched according to the type and capability of the printer.
[0245] First, use Figure 11 The attribute value table generation (S14003) is described in detail. Figure 11 The processing shown in FIG. 1 is realized by the CPU 212 executing a program of the print setting extension application 112 .
[0246] The print workflow processing unit 112 b loads the application function table stored in the program of the print setting extension application 112 ( S1101 ). Figure 9A and Figure 9B The application function table 901 stored by the print setting extension application 112 in the third embodiment is illustrated.
[0247] The application function table 901 predefines an “information on print setting items” column 902 , a “setting value information for each print setting item” column 903 , and a “processing on the print setting extension application side for each print setting item” column 904 .
[0248] Next, the print workflow processing unit 112b loads the configuration information of the printer (S1102).
[0249] Next, the print workflow processing unit 112b generates an attribute value table 1001 (S1103) based on the loaded application function table 901. The attribute value table 1001 is provided with an area for information inherited from the application function table 901 and an area for new information.
[0250] The information inherited from the application function table 901 includes an “information on print setting items” column 1002 , a “setting value information for each print setting item” column 1003 , and a “processing on the print setting extension application side for each print setting item” column 1004 .
[0251] Furthermore, as areas for new information, there are a “processing on the printer side for each print setting item” column 1005 , a “type” column 1006 , a “preview edit flag” column 1007 , a “attribute information” column 1008 , and a “attribute value” column 1009 .
[0252] The information in columns 1005 to 1009 is blank in the initial state at the time of generation. Columns 1005 and 1006 are set when the print workflow processing unit 112b executes the processing in S1104 to S1112.
[0253] In addition, the print workflow processing unit 112b sets information according to the editing status during preview for the information in column 1007. Note that the method of setting the edit flag, attribute information, and attribute value is the same as that in the first embodiment, so description thereof will be omitted.
[0254] The print workflow processing unit 112b enters information based on the capability information loaded in S1102 into the "Processing on the Printer Side" column 1005 of 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 containing setting items and setting values in the capability information, "Yes" is set in column 1005 as a function that the printer can perform processing.
[0255] Thereafter, the print workflow processing unit 112 b executes the processing described in S1105 to S1110 for each setting item.
[0256] The print workflow processing unit 112b determines whether processing can be performed by the printer when information is entered based on the capability information (S1105).
[0257] If the processing cannot be performed by the printer, 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 are unprocessed setting items (S1112). If there are unprocessed setting items, the print workflow processing unit 112b returns the process to S1104. On the other hand, if there are no unprocessed setting items, the print workflow processing unit 112b terminates the process shown in this flowchart.
[0258] If the processing can be performed by the printer, the print workflow processing unit 112b determines whether this setting item can be processed by the print setting extension application 112 (S1107).
[0259] If the process cannot be performed by the print settings extension application 112, the print workflow processing unit 112b advances the process to S1110. If the print settings extension application 112 can perform the process, the print workflow processing unit 112b determines whether the processing speed of the printer 104 is high (S1108). S1108 is a determination of whether the printer 104 meets specific conditions. Specific conditions include, for example, the number of sheets printed per unit time being greater than or equal to a specific number of sheets, the image forming method being a specific method, and the like.
[0260] For example, a threshold of 20 sheets per minute for the monochrome print processing capability is set as the print processing speed, and if the count is 20 sheets or more, it is determined to be high speed, and if the count is less than 20 sheets, it is determined to be low speed.
[0261] In the case of determining the print processing speed from the model name acquired from the model information, the print setting extension application 112 holds comparison information between the model name and the print processing speed.
[0262] Alternatively, it is acceptable to have a determination standard, rather than a threshold value, that determines high speed if the printer is an electrophotographic printer and low speed if the printer is an inkjet printer. This can be determined based on the model name obtained from the model information or information about whether ink or toner is used obtained from the configuration information.
[0263] In the case of determining the printing method of the printer from the model name acquired from the model information, the print setting extension application 112 holds comparison information between the model name and the printing method of the printer.
[0264] Additionally, in the case of determining the image forming method from information about whether ink or toner is used acquired from the configuration information, the image forming method is determined as follows: If "ink" exists in the IPP attribute marker_type, the print workflow processing unit 112b determines that the printer is an inkjet printer, and if "electrophotographic" or "toner" exists, the printer is determined to be an electrophotographic printer.
[0265] The determination of whether to use ink or toner from the information acquired from the configuration information can be performed as follows: If "ink" exists in the type of the IPP attribute printer_supply, the print workflow processing unit 112b determines that the printer is an inkjet printer, and if "toner" exists, determines that the printer is an electrophotographic printer.
[0266] If the print processing speed of the printer is high, the print workflow processing unit 112 b sets the type of the corresponding print setting item to Type 1 ( S1110 ).
[0267] Additionally, if the print processing speed of the printer is less than the threshold, the print workflow processing unit 112b sets the type of the corresponding setting item to Type2 (S1109).
[0268] For example, when there is processing on the printer side and the printing processing speed of the printer is greater than or equal to a threshold, Type 1 is recorded as the type of the attribute value changing method, such as the “page aggregation” setting item in the attribute value table 1001 .
[0269] Next, we will use Figure 6B The IPP attribute value change determination process (S327) in the third embodiment will be described in detail. Note that the flowchart is the same as that in the first embodiment. Here, an example will be described: a Print Ticket specifies "Paper Size: A4, Page Aggregation: 2-in-1, Date Printing: Off," and using the preview UI, the settings are changed to "Paper Size: A3, Page Aggregation: 4-in-1, Date Printing: On."
[0270] The print workflow processing unit 112b reads out the attribute value table 1001 from the data storage area of the application (S611).
[0271] The print workflow processing unit 112b checks the "preview edit flag" column 1007 of each setting item recorded in the attribute value table 1001 (S612).
[0272] Here, if the “preview edit flag” column 1007 is “TRUE”, the print workflow processing unit 112 b similarly checks the “type” column 1006 recorded in the attribute value table 1001 ( S613 ).
[0273] If the type of the setting item of interest is "Type 1", the print workflow processing unit 112b sets the attribute information and the attribute value based on the confirmed print setting information (S614). In the previous example, "paper size" and "page aggregation" correspond to Type 1. For "paper size" and "page aggregation", the "attribute information" column 1008 and the "attribute value" column 1009 are set based on the confirmed print setting information. The point different from the first embodiment is that "page aggregation" is classified as Type 1. Since "page aggregation" is Type 1, the attribute value is set to "4" corresponding to 4-in-1 after the setting has been changed in the preview UI.
[0274] If the type is "Type 2", the print workflow processing unit 112b determines to change the attribute value to prevent the printer from editing the image (S615).
[0275] If the type is "Type 3", the print workflow processing unit 112b determines not to change the IPP attribute value (S616).
[0276] If there is any unchecked setting item, the print workflow processing unit 112b repeats from S612.
[0277] According to the present embodiment described above, the print workflow processing unit 112 b in the print settings extension application 112 can switch between executing image processing on the client PC side and executing image processing on the printer side according to the type and capability of the printer.
[0278] Other embodiments
[0279] The present invention may also be implemented by supplying a program implementing one or more functions of the above-described embodiments to a system or device via a network or storage medium, so that one or more processors in a computer of the system or device read and execute the program. Alternatively, the present invention may be implemented by a circuit (e.g., an application-specific integrated circuit (ASIC)) that implements one or more functions.
[0280] The present invention is not limited to the above embodiments, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, the appended claims are intended to disclose the scope of the present invention.
[0281] The implementation of the present invention makes it possible to obtain appropriate output results for functions that can be processed by both the print setting extension application and the printing device.
[0282] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. A non-transitory computer-readable storage medium storing a print setting application, the print setting application causing a display of an information processing device to display a print setting screen, the print setting screen being used to set print setting values provided to a printer driver, the printer driver generating print setting information according to an Internet printing protocol, the print setting application causing the information processing device to execute a control method, the control method comprising: Acquiring intermediate image data to be printed provided by an operating system of the information processing device; editing the acquired intermediate image data according to the setting values of the specific setting items set on the print setting screen; First, the print data based on the edited intermediate image data is sent; as well as Next, a specific value different from the value set via the print setting screen is transmitted as a setting value of the specific setting item corresponding to the print data. 2 . The non-transitory computer-readable storage medium according to claim 1 , wherein the specific setting item is a setting item corresponding to a function of laying out intermediate image data of a plurality of pages onto a single page. 3 . The non-transitory computer-readable storage medium according to claim 1 , wherein the printer driver is a printer driver provided by an operating system of the information processing device. 4 . The non-transitory computer-readable storage medium according to claim 1 , wherein the printer driver is a printer driver that generates print data that can be printed by a plurality of models of printers from a plurality of printer vendors. 5 . The non-transitory computer-readable storage medium of claim 1 , wherein the specific value is a property value defined in an Internet Printing Protocol.
6. A non-transitory computer-readable storage medium storing a print setting application, the print setting application causing a display of an information processing device to display a first print setting screen, the first print setting screen being used to set a setting value provided to a printer driver, the printer driver generating print setting information according to an Internet printing protocol, the print setting application causing the information processing device to execute a control method, the control method comprising: displaying a preview image based on a setting value set via the first print setting screen and intermediate image data to be printed provided by an operating system of the information processing apparatus; accepting a change to the setting value after the preview image is displayed; Firstly, sending the printing data based on the intermediate image data; as well as Next, the setting value received in the receiving is sent.
7. A control method for an information processing device, the information processing device storing a print setting application, the print setting application displaying a print setting screen, the print setting screen being used to set print setting values provided to a printer driver, the printer driver generating print setting information according to an Internet printing protocol, the control method comprising: Acquiring intermediate image data to be printed provided by an operating system of the information processing device; editing the acquired intermediate image data according to the setting values of the specific setting items set on the print setting screen; First, the print data based on the edited intermediate image data is sent; as well as Next, a specific value different from the value set via the print setting screen is transmitted as a setting value of the specific setting item corresponding to the print data. 8 . The control method according to claim 7 , wherein the specific setting item is a setting item corresponding to a function of laying out a plurality of pages of intermediate image data onto a single page.
9. The control method according to claim 7, wherein the printer driver is a printer driver provided by an operating system of the information processing apparatus.
10. The control method according to any one of claims 7 to 9, wherein the printer driver is a printer driver that generates print data that can be printed by a plurality of models of printers from a plurality of printer vendors.
11. The control method according to claim 7, wherein the specific value is an attribute value defined in an Internet printing protocol.
12. An information processing device, the information processing device storing a print setting application, the print setting application displaying a print setting screen, the print setting screen being used to set print setting values provided to a printer driver, the printer driver generating print setting information according to an Internet printing protocol, the information processing device comprising: An acquisition component, used for acquiring intermediate image data to be printed provided by an operating system of the information processing device; an editing means for editing the acquired intermediate image data according to a setting value of a specific setting item set on the print setting screen; A first sending component, configured to send print data based on the edited intermediate image data; as well as and a second sending means for sending a specific value different from a value set via the print setting screen as a setting value of the specific setting item corresponding to the print data.
Citation Information
Patent Citations
Application program, information processor, and printing method
JP2020126370A