Information processing apparatus, control method for information processing apparatus, and program

The implementation of a print setting application that manages image rotation based on printer capabilities addresses the issue of unintentional image rotation during PDL conversion, ensuring accurate and intended printing outputs.

JP2025072820APending Publication Date: 2025-05-12CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023183181
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-25
Publication Date
2025-05-12

AI Technical Summary

Technical Problem

When using a general-purpose printer driver, the PDL conversion function provided by the OS rotates images unintentionally, leading to incorrect printing outputs due to the printer not being notified of the rotation and performing printing based on the received image direction.

Method used

A print setting application is implemented on an information processing device that stores a general-purpose printer driver, which acquires capacity information from the printer, sets whether the image is allowed to rotate based on this information, and provides this setting to the OS.

Benefits of technology

This solution prevents unintended output by controlling image rotation based on the printer's capabilities, ensuring that the printer performs printing operations as intended by the user.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025072820000001_ABST
    Figure 2025072820000001_ABST
Patent Text Reader

Abstract

To provide an information processing apparatus, a control method for the information processing apparatus, and a program for preventing unintended output due to image rotation by a PDL conversion function provided by an OS when a generic printer driver generates image data.SOLUTION: A print setting application program stored in an information processing apparatus for storing a generic printer driver, causes the information processing apparatus to execute: an acquisition process for acquiring capability information from the printer; a setting process for setting information indicating whether image rotation by an operating system of the information processing apparatus is permitted based on the capability information acquired from the printer; and a providing process for providing the information to the operating system.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, a control method for an information processing device, and a program. [Background technology]

[0002] In recent years, generic printer drivers that communicate directly with image forming devices using industry standard protocols such as IPP (Internet Printing Protocol) have been considered. A generic printer driver is a driver provided by an OS vendor that provides the OS (Operating System) for client terminals, and is a printer driver that generates print data that can be interpreted by printers from multiple printer vendors. A generic printer driver can communicate with printers from multiple printer vendors. Therefore, by using a generic printer driver, a user can send a print job to an image forming device without having to install a vendor-specific printer driver.

[0003] Furthermore, printing using a cloud print service is being considered. In the cloud print service, a printer driver for the cloud print service is installed on an information processing device. The cloud printer driver is also a generic printer driver provided by an OS vendor that provides the OS for the client terminal, and is a printer driver that generates print data that can be interpreted by printers from multiple printer vendors. In the cloud print service, the information processing device uses the cloud printer driver to send a print job to the cloud print service, and the cloud print service sends the print job to an image forming device, thereby executing printing.

[0004] The above-mentioned generic printer drivers handle print jobs to be printed by image forming devices from various vendors, so there are limitations to the items and functions that can be set as print settings. Therefore, it has been considered to link the printer driver and expand the print settings using the identification information of the printer linked to the printer driver. This makes it possible to realize a vendor-specific print setting UI and print job editing function.

[0005] An application that extends such print settings (a print setting extension application) receives intermediate image data for editing and processing from the OS, which is expressed in an XML format such as XPS (XML Paper Specification).The print setting extension application then converts the data into PDL (Page Description Language) for printing after editing and processing.

[0006] The OS provides a PDL conversion API for converting the intermediate image data into a PDL, and the printer driver and print setting extension application use the API to convert the intermediate image data into a PDL.

[0007] Cited Document 1 describes how, when printing using a generic printer driver, it is determined whether or not an image needs to be rotated, and the setting command is changed according to the image orientation before being sent to the printer. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] JP 2020-95535 A Summary of the Invention [Problem to be solved by the invention]

[0009] When a generic printer driver generates image data, it uses the PDL conversion function provided by the OS (Operating System), which rotates the image according to the orientation of the page data to be printed and the paper feed direction in the printer.

[0010] FIG. 14 shows an example of image rotation by the PDL conversion function provided by the OS. Page data 1401 is a schematic diagram of image data output from an application. Page data 1402 after rotation processing is a schematic diagram of image data output by the PDL conversion function provided by the OS. When the page data to be printed is a landscape image, the PDL conversion function provided by the OS generates portrait image data by rotating the image 90 degrees to the left. When the paper transport direction is long edge feed (long edge feed) in which the paper is transported with the long edge at the beginning, the PDL conversion function generates landscape image data by rotating the image 90 degrees. For example, when the page data is landscape and the paper transport direction is long edge feed as shown in 1400 of FIG. 14, the original page data is rotated 90 degrees to the left, and then the image is rotated 90 degrees to the left again. As a result, an image 1403 rotated 180 degrees from the original page data is sent to the printer. The printer is not notified that the image has been rotated when the PDL conversion function is used. Therefore, the printer performs printing processing in the orientation of the received image.

[0011] On the other hand, the position of post-processing sent to the printer is not affected by the image rotation by the PDL conversion function, and the position set by the user on the print setting screen is notified to the printer. As a result, the printer performs post-processing on the rotated image at the position specified on the print setting screen, resulting in an output different from the output intended by the user. For example, when a Landscape image is printed by feeding paper with LongEdgeFeed as shown in 1400 in FIG. 14 and the upper left corner of the paper is set to be stapled, the output shown in 1408 is obtained while the expected output shown in 1409 is obtained. FIG. 14 shows a schematic diagram of the image data output by the PDL conversion function for each image orientation and paper feed direction, and the output when the upper left corner is specified and the paper is stapled.

[0012] Also, in consolidation printing, where multiple page images are printed on one side of a sheet of paper, the intended layout may differ. For example, suppose a Landscape image is printed on one side of a sheet of paper with paper feed settings of LongEdgeFeed, as in 1404. The image data output by the PDL conversion function is as in 1407. If two page images are arranged on one side of a sheet of paper based on this image data, the expected output would be as in 1413, but the output would end up looking like 1412. In this way, it is expected that the image rotation provided by the PDL conversion function will result in an output that is different from the intended output.

[0013] In view of the above-mentioned problems, an object of the present invention is to prevent an output that is not intended by a user from being produced due to image rotation using a PDL conversion function. [Means for solving the problem]

[0014] A print setting application stored in an information processing device that stores a generic printer driver, An acquisition step of acquiring capability information from the printer; a setting step of setting information indicating whether image rotation by an operating system of the information processing device is permitted based on the capability information acquired from the printer; and providing the information to the operating system. Effect of the Invention

[0015] In view of the above-mentioned problems, the implementation of the present invention makes it possible to prevent unintended output due to image rotation using a PDL conversion function. [Brief description of the drawings]

[0016] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration in the present embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration in the present embodiment. [Diagram 3] FIG. 2 is a diagram showing an example of a sequence in the present embodiment. [Figure 4A] 5 is a flowchart illustrating an example of a print workflow process in the present embodiment. [Figure 4B] 5 is a flowchart illustrating an example of a print workflow process in the present embodiment. [Diagram 5] 11 is a flowchart showing an example of a PDL conversion flag determination process in the present embodiment. [Figure 6] 5 is a flowchart showing an example of a rotation suppression determination process in the present embodiment. [Figure 7] 11 is a flowchart showing an example of an IPP attribute value change determination process in the present embodiment. [Figure 8] FIG. 4 is a diagram showing an example of an attribute value table in the present embodiment. [Figure 9] 11 is a diagram showing an example of a combination of IPP attributes and IPP attribute values ​​in this embodiment. FIG. [Figure 10] 6 is a diagram showing an example of a criterion for determining whether or not rotation capability is present in the present embodiment; FIG. [Figure 11] FIG. 4 is a diagram illustrating an example of a print setting UI in the present embodiment. [Figure 12] FIG. 4 is a diagram illustrating an example of a preview UI in the present embodiment. [Figure 13] 11 is a flowchart showing an example of a PDL conversion process in the present embodiment. [Figure 14] 11A to 11C are diagrams illustrating the influence of rotation processing during PDL conversion in this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0018] <Embodiment 1> 1 shows a configuration diagram of a printing system for cloud print in this embodiment. A client terminal 101, a cloud print server 102, an application management server 103, a cloud print-compatible printer 104, and an online support server 105 are connected via a network 107. In the following, the cloud print-compatible printer 104 will be referred to as the printer 104.

[0019] 1 illustrates one each of the client terminal 101 and the printer 104, there may be a plurality of client terminals 101 and printers 104. In this embodiment, the printer 104 may receive print data directly from the client terminal 101, or may receive print data via the cloud print server 102. The printer 104 may not support the cloud print service 121, and may only support a system for receiving print data directly from the client terminal 101.

[0020] The cloud print server 102, the application management server 103, and the online support server 105 may be a server system configured with a plurality of information processing devices. By configuring each server as a server system configured with a plurality of information processing devices, it is possible to distribute the load to a plurality of information processing devices.

[0021] The cloud print server 102, the application management server 103, and the online support server 105 may be virtually configured within one physical information processing apparatus.

[0022] The network 107 is assumed to be a WAN such as the Internet for connecting to cloud services, but may be a closed environment such as an in-house LAN.

[0023] The client terminal 101 is an information processing device such as a PC, a tablet, or a smartphone, and is a terminal that is directly operated by a user. On the client terminal 101, any application software can be executed.

[0024] The cloud print server 102 receives a print instruction and print data from an external device. The cloud print server 102 then transmits the received print data to a cloud print-compatible printer 104.

[0025] The application management server 103 holds and manages various applications. The application management server 103 receives application identification information and a download request from the client terminal 101, and transmits to the client terminal 101 an application identified based on the received identification information.

[0026] The online support server 105 is a server device that provides an online support service 151. The online support service 151 is a server device that provides the client terminal 101 with a file in which information for expanding the functions of the client terminal 101 is described.

[0027] The client terminal 101 includes software modules 111 to 116 .

[0028] The cloud printer driver 111 is software that generates print data to be sent to the printer 104 via the cloud print server 102. The local printer driver 113 is a printer driver that generates print data to be sent to the printer 104 without going through the cloud print server 102. The local printer driver 113 and the cloud printer driver 111 are drivers provided by an OS vendor that provides an OS (operating system) 114 of the client terminal. The cloud printer driver 111 and the local printer driver 113 are printer drivers that generate print data that can be interpreted by printers of multiple printer vendors in accordance with IPP.

[0029] The print spooler 116 is a print processing management platform provided by the OS, which manages the processing order, events, and data related to print processing, and provides functions such as generating IPP attributes, converting intermediate image data to PDL, and sending jobs to the printer. The local printer driver 113, cloud printer driver 111, and print spooler 116 function as general-purpose print programs.

[0030] The document generation application 115 is an application that runs on the client terminal 101, such as a document file, a spreadsheet application, or a presentation application.

[0031] The print setting expansion application 112 is an application provided by one of the multiple printer vendors mentioned above, that is, a vendor that provides the printer 104 used for printing.

[0032] The print setting extension application 112 extends functions related to print settings of the local printer driver 113 and the cloud printer driver 111 via a print spooler 116 of the OS 114. The print setting extension application 112 functions as a print setting application program.

[0033] The printer 104 is a device that actually prints on a recording medium such as paper, and is an image forming apparatus that converts print data received via a network 107 into image data and prints it.

[0034] The print setting UI unit 112a is a print setting UI extended by a printer vendor in the print setting extending application 112, and provides a print setting UI to the user. The print setting UI unit 112a generates and displays a print setting UI based on capability information acquired by the OS 114 and the print setting extending application 112 from the printer 104 and the cloud print service 121.

[0035] The print workflow processing unit 112b performs processing to correct setting information set in the print setting UI, and processing to correct intermediate image data of images and graphics expressed in XML format such as XPS. Furthermore, the print workflow processing unit 112b performs processing such as PDL conversion to convert such intermediate image data into a PDL that can be processed by the printer.

[0036] In the print setting extension application 112, the device capability collection processing unit 112c performs processes such as collecting device capability information from the print spooler 116 and the printer 104, editing and saving configuration information objects, and passing the configuration information objects to the OS 114. A configuration information object is a collection of data required to edit device capability information.

[0037] Next, the hardware configuration of the system of this embodiment will be described with reference to FIG.

[0038] FIG. 2A is a block diagram showing the hardware configuration of the client terminal 101. As shown in FIG.

[0039] The client terminal 101 includes a display unit 216 , an operation unit 217 , a storage unit 214 , a control unit 211 , and a network communication unit 215 .

[0040] The storage unit 214 refers to a non-volatile storage device such as a hard disk or SSD, and is capable of storing and rewriting digital data.

[0041] The control unit 211 is composed of a CPU 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 loads programs stored in the storage unit 214 into the memory 213 and executes them. The memory 213 is the main storage memory of the CPU 212 and is used as a work area and a temporary storage area for loading various programs.

[0042] The network communication unit 215 is a device for communicating with the external network 107, and inputs and outputs digital data to and from external servers, client terminals, and the like via the network 107.

[0043] The display unit 216 is a device such as a liquid crystal display for displaying visual information to a user in real time. The operation unit 217 is a device for receiving input from a user via a keyboard, mouse, etc. A device having the functions of both the display unit 216 and the operation unit 217, such as a touch panel, may be used.

[0044] 2B is a block diagram showing a hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225.

[0045] The description of the storage unit 224, the control unit 221, and the network communication unit 225 is omitted because they are the same as those of the client terminal 101.

[0046] Although the cloud print server 102 is described as being configured with one information processing device having the hardware configuration shown in FIG. 2(b), the cloud print server 102 may also be configured with multiple information processing devices as shown in FIG. 2(b).

[0047] 2C is a block diagram showing the hardware configuration of the application management server 103. The application management server 103 includes a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235.

[0048] The display unit 236, operation unit 237, storage unit 234, control unit 231, and network communication unit 235 are the same as those in the client terminal 101, and therefore will not be described here.

[0049] Although the application management server 103 will be described as being configured from one information processing device having the hardware configuration shown in FIG. 2(c), the application management server 103 may be configured from a plurality of information processing devices.

[0050] 2D is a block diagram showing the hardware configuration of the printer 104. The 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.

[0051] A display unit 246 is a device, such as a touch panel or LED, attached to the printer 104, for displaying information to the user in real time.

[0052] The operation unit 247 is a device for receiving input from a user, and may include hard keys such as a numeric keypad in addition to a touch panel. The storage unit 244 and the control unit 241 are the same as those in the client terminal 101, and therefore a description thereof will be omitted.

[0053] The network communication unit 245 is a device that communicates with the external network 107, and mainly serves to receive print data and transmit information about the status of the printer 104, such as errors, to an external server or the like.

[0054] The printing unit 248 is a device that performs printing processing by carrying out a series of operations such as paper feeding, printing, and paper ejection on paper prepared in a cassette or tray. The printing method is not particularly limited to electrophotographic or inkjet printing. The printing unit 248 also includes a finishing device that performs post-processing such as a duplex unit, stapling, and punching, which are used when ejecting paper.

[0055] In this embodiment, a single-function printer that performs only a printing function is described as an example of the printer 104, but a multifunction printer (complex machine) that also has a scanner function and a FAX function may also be used.

[0056] FIG. 2(e) is a hardware block diagram showing the details of the online support server 105. In this embodiment, the online support server 105 is described as being configured with one information processing device, but may be configured with multiple information processing devices. The online support server is configured with a display unit 256, an operation unit 257, a storage unit 254, a control unit 251, and a network communication unit 255. The display unit 256 and the operation unit 257 are similar to the display unit 216 and the operation unit 217 of the client terminal 101, and therefore will not be described. The storage unit 254 is a memory device such as an HDD or SSD. The storage unit 254 stores a file containing information for expanding the functions provided by the client terminal 101.

[0057] The control unit 251 is composed of a CPU 252 and a memory 253. The CPU 252 controls the entire online support server 105. The memory 253 is used for processing executed by the CPU 252. The network communication unit 255 is an interface for the online support server 105 to communicate with the client terminal 101. The online support server 105 receives a request to acquire a file stored in the memory unit 254 via the network communication unit 255, and transmits the corresponding file to the client terminal 101.

[0058] Next, an example of a user procedure when printing in this embodiment and a sequence between each piece of software and print service will be described with reference to Fig. 3. Here, it is assumed that the process of registering the printer 104 in the cloud print service 121, the creation of a print queue for printing with the printer 104 in the client terminal 101, and the installation of the print setting extension application 112 have been completed in advance.

[0059] The print spooler 116 receives a user's selection of a print queue for the printer 104 from the document generation application 115 (S301).

[0060] Next, the print spooler 116 requests capability information of the printer 104 from the cloud print service 121 (S302). The setting items for which the print spooler 116 inquires about capability information are determined based on print setting items supported by the OS. The print spooler 116 queries the cloud print service 121 for capability information using a standard IPP protocol such as Get-printer-Attributes.

[0061] The cloud print service 121 responds with the capability information of the printer 104 to the print spooler 116 (S303). In S303, the cloud print service 121 transmits to the print spooler 116 the capability information acquired from the printer 104 and registered in advance.

[0062] The print spooler 116 adds the capability information acquired in S303 to the device capability information stored in advance (S304). The device capability information is information related to setting items and setting values ​​that can be set when printing using the printer 104. The OS 114 and the print setting extension application 112 display a print setting screen based on PrintCapabilities generated based on the device capability information. Note that in S304, the device capability information stored in advance by the print spooler 116 may be overwritten with the capability information acquired from the cloud print service 121.

[0063] Next, the print spooler 116 notifies the print setting extension application 112 of an event indicating that the device capability information can be edited (S305). When the print setting extension application 112 receives this event, it becomes possible to use the API of the OS that can edit the device capability information. As a result, the device capability collection processing unit 112c of the print setting extension application 112 that receives this event becomes possible to obtain capability information that is not supported by the OS 114 from the cloud print service 121.

[0064] The device capability collection processing unit 112c of the print setting extension application 112 requests capability information of the cloud print-compatible printer 104 from the cloud print service 121 (S306). The print setting extension application 112 stores in advance which setting item the capability information is to be inquired about. The print setting extension application 112 inquires about capability information of the cloud print service 121 using an IPP Get-Printer-Attributes command about the stored setting item. The capability information inquiry in S306 may be made about the same setting item as in S302, or about a setting item different from S302.

[0065] By the print setting extension application 112 acquiring capability information in S306 , the print setting extension application 112 can acquire information on setting items and setting values ​​that are not supported by the OS 114 .

[0066] The cloud print service 121 that has received the request for capability information requests the printer 104 for the capability information using the IPP protocol (S307). The printer 104 responds with the requested capability information to the cloud print service 121 (S308). The cloud print service 121 responds with the requested capability information to the device capability collection processing unit 112c of the print setting extension application 112 (S309). Note that in this embodiment, an inquiry is made to the printer 104 in S307 and S308 to obtain the capability information. It is also possible to respond to the device capability collection processing unit 112c with capability information that the cloud print service 121 has stored in advance without performing S307 and S308.

[0067] The device capability collection processing unit 112c of the print setting extension application 112 edits the device capability information held by the OS 114 based on the acquired capability information (S310). The device capability collection processing unit 112c edits the device capability information by using a configuration information object. Since the device capability collection processing unit 112c of the print setting extension application 112 cannot directly edit the device capability information held by the OS 114, the device capability collection processing unit 112c changes the device capability information held by the OS 114 by using the configuration information object.

[0068] The device capability collection processing unit 112c copies and stores the capability information acquired by itself and the capability information acquired by the OS 114 as its own device capability information data in the data storage area of ​​the application (S311).

[0069] Next, the device capability collection processing unit 112c of the print setting extension application 112 passes the edited device capability information to the OS 114 (S312).

[0070] The OS 114 uses the device capability information received from the device capability collection processing unit 112c of the print setting extension application 112 to update the device capability information managed by the OS 114.

[0071] When the detailed settings button is selected on the print settings screen provided by document generation application 115, a notification is sent to print spooler 116 (S313).

[0072] The print setting UI unit 112a is started by the OS 114 and displays a print setting screen as shown in Fig. 11 (S314). The print setting UI unit 112a receives PrintCapabilities based on device capability information and a Print Ticket indicating the current print settings from the print spooler 116. The print setting UI unit 112a displays a print setting UI based on the PrintCapabilities and the PrintTicket. The PrintTicket is a file indicating print setting information written in XML format.

[0073] 11 shows an example of a GUI for print settings displayed by the print setting extension application 112 based on PrintCapabilities and PrintTicket. The GUI for print settings displayed by the print setting extension application 112 includes setting items and setting values ​​unique to the printer vendor (manufacturer).

[0074] Examples of setting items and setting values ​​unique to a printer vendor include "stapleless binding," which is an option for the "staple" function in setting item 1102 in FIG. 11, "saddle fold," which is an option for the "fold settings" function, and "binding," which is setting item 1103 in FIG. 11.

[0075] In the example of FIG. 11, the addition of options for a function is illustrated, but it goes without saying that the function itself can also be added.

[0076] This print setting screen does not depend on the type of document generation application 115 used, and it is possible to display a print setting screen supported by the print setting extension application 112.

[0077] The print setting extension application 112 receives the PrintCapabilities and PrintTicket generated by the OS 114 from the device capability information, and displays them as print settings on the UI. The print setting UI unit 112a accepts input of print settings (S315).

[0078] Then, when the user selects the "OK" button (1111 in FIG. 11) on the print setting screen, print setting UI unit 112a ends display of the print setting screen. At this time, print setting UI unit 112a writes the setting values ​​set via the UI to the PrintTicket and updates the current print settings. When print setting UI unit 112a ends display of the print setting screen, the user's operation screen returns to the print setting screen provided by document generation application 115.

[0079] Then, print setting UI unit 112a sends a UI end notification together with the PrintTicket to print spooler 116 of OS 114, and completes the processing on the print setting screen of print setting extension application 112 (S316).

[0080] When the user instructs printing on the print setting screen displayed by document generation application 115, the process described in S317 is executed.

[0081] The document generation application 115 sends a print execution instruction to the cloud printer driver 111 (S317). The cloud printer driver 111 receives the PrintTicket and image data from the document generation application 115.

[0082] The cloud printer driver 111 converts the image data received from the document generation application 115 into intermediate image data (S318). The intermediate image data is data that is generated before being converted into print data such as PDL, and for example, data in XPS format corresponds to this.

[0083] The intermediate image data generated by the cloud printer driver 111 is stored in the print spooler 116 of the OS 114 (S319).

[0084] When the print spooler 116 of the OS 114 receives the intermediate image data, it notifies the print workflow processing unit 112b in the print setting extension application 112 of a PDL conversion event (S320). The PDL conversion event indicates a process of converting the intermediate image data into a PDL that can be processed by the printer. In S320, the print workflow processing unit 112b receives the intermediate image data and a PrintTicket from the print spooler 116 of the OS 114 together with the event notification.

[0085] The print workflow processing unit 112b stores the intermediate image data received in S320 as "original intermediate image data" together with the PrintTicket in the data storage area of ​​the application (S321). The original intermediate image data is intermediate image data before the print settings are reflected.

[0086] When the print workflow processing unit 112b receives the notification of the PDL conversion event, it requests the print spooler 116 of the OS 114 to perform print workflow processing (S322). Here, the print workflow processing refers to a process for changing the setting information set in the print setting UI and an editing and processing process of intermediate image data.

[0087] The print spooler 116 of the OS 114 receives a request for print workflow processing, and requests the print workflow processing unit 112b to start a preview UI (FIG. 12) according to the request (S323). FIG. 12(a) is an example of the preview UI described in this embodiment. A preview image reflecting the print settings is displayed in 1201. In this example, "2in1" is set as the page aggregation setting, and the preview image reflects that stapling will be performed in the upper left. In the preview UI, it is possible to change the print settings, and the preview image displayed in 1201 changes according to the change. A "Print" button 1202 is a button for instructing the start of printing. A "Cancel" button 1203 is a button for discarding the print settings and canceling the printing process.

[0088] When the print workflow processing unit 112b receives a request to start the preview UI (FIG. 12), it executes print workflow processing (S324). Details of the print workflow processing (S324) will be described later. In the preview UI shown in FIG. 10(a), the process described in S325 is executed in response to the selection of the "Print" button 1202.

[0089] The print workflow processing unit 112b notifies the print spooler 116 of the end of displaying the preview UI (FIG. 12) (S325). The print spooler 116 requests the print workflow processing unit 112b to perform print workflow end processing (S326).

[0090] The print workflow processing unit 112b executes an IPP attribute value change determination process as a print workflow end process (S327). The IPP attribute value change determination process (S327) will be described later in detail.

[0091] After determining which IPP attribute value to change, print workflow processing unit 112b uses the API of OS 114 to specify the IPP attribute and the IPP attribute value to be changed, and requests print spooler 116 to generate IPP print setting information (S328). The IPP print setting information refers to print setting information defined by a combination of the IPP attribute and the IPP attribute value.

[0092] Next, print spooler 116 receives the request and generates IPP print setting information (S329). Print spooler 116 converts the setting items and setting values ​​described in the PrintTicket into attribute information and attribute values ​​defined by IPP, and generates the IPP print setting information. For attribute information specified by print workflow processing unit 112b, print spooler 116 sets the specified attribute information and attribute values ​​in the IPP print setting information.

[0093] The print spooler 116 transmits the IPP print setting information to the cloud print service 121 (S330). The cloud print service 121 transmits the IPP print setting information to the cloud print-compatible printer 104 (S331).

[0094] The printer 104 notifies the print workflow processing unit 112b of the reception of the IPP print setting information via the cloud print service 121 and the print spooler 116 of the OS 114 (S332).

[0095] Next, the print workflow processing unit 112b performs a PDL conversion flag determination process for determining a processing flag for generating print intermediate data and for PDL conversion (S333). The PDL conversion flag determination process (S333) will be described in detail later.

[0096] Next, the print workflow processing unit 112b passes the edited and processed intermediate image data for printing and a PDL conversion control flag to the print spooler 116 of the OS 114, and transmits a conversion request to the final PDL (S334).

[0097] Next, the print spooler 116 of the OS 114 performs a PDL conversion process using the edited intermediate image data for printing and the PDL conversion control flag (S335). The PDL conversion process (S335) will be described in detail later.

[0098] After the PDL conversion process (S335), the print spooler 116 transmits the final PDL data to the print workflow processing unit 112b (S336).

[0099] Next, the print workflow processing unit 112b passes the PDL data to the print spooler 116 of the OS 114 and transmits a request to generate print data (S337).

[0100] The print spooler 116 of the OS 114 generates print data for transmitting the final PDL passed from the print workflow processing unit 112b to the printer using the IPP protocol (S338).

[0101] The print spooler 116 of the OS 114 transmits the print data in the final PDL to the cloud print service 121 via the print queue (S339).

[0102] The cloud print service 121 transmits the print data passed from the print spooler 116 of the OS 114 to the printer 104 (S340).

[0103] Although this flow uses cloud printing as an example, the same processing can be applied to local printing. In the case of local printing, the cloud printer driver 111 in Fig. 3 is replaced with a local printer driver 113. Furthermore, the cloud print service 121 in Fig. 3 is replaced with the printer 104.

[0104] Next, the print workflow process (S324) will be described in detail with reference to Fig. 4A(a) and Fig. 6(a). Here, an example is described in which the determination is made based on the image rotation capability, which is included in the capability information of the printer 104.

[0105] First, the print workflow processing unit 112b acquires the original intermediate image data and the PrintTicket, which is print setting information, stored in S321 (S4001).

[0106] Next, print workflow processing unit 112b temporarily stores the print setting information described in the PrintTicket together with the original intermediate image data in a storage area or the like as temporarily stored print setting information (S4002).

[0107] Next, the print workflow processing unit 112b executes a rotation suppression determination process (S4003).

[0108] The rotation suppression determination process (S4003) will be described later in detail.

[0109] After the above rotation suppression determination process, the print workflow processing unit 112b generates an attribute value table (FIG. 8) based on information on print setting items held in the program of the print setting extension application 112 (S4004). The attribute value table is a table for managing setting values ​​used when the print setting extension application edits the intermediate image data and setting values ​​changed in the preview UI.

[0110] The item name 801 corresponding to the print setting item is generated by the print workflow processing unit 112b based on information previously stored in the program. The item name 801 indicates the name of the setting item that can be set using the print setting extension application 112.

[0111] The setting value 802 is generated based on the device capability information saved in S311. The setting value 802 indicates a setting value that can be set for each print setting item.

[0112] The print setting expanding application side processing availability 803 is generated by the print workflow processing unit 112b based on information previously stored in the program. 803 indicates whether the print setting expanding application can perform processing according to the setting value of each setting item.

[0113] Printer side processing availability 804 is generated based on the capability information saved in S311. 804 indicates whether the printing device can perform processing according to the setting value of each setting item.

[0114] A process 805 in which the print setting extension application and the printer side overlap is generated based on the information of 803 and 804. If both 803 and 804 are "Yes", 805 is set to "Yes". On the other hand, if either 803 or 804 is "No", 805 is set to "No".

[0115] The IPP attribute value change method 806 is generated based on the information of 803 and 804. When 803 is "not included" and 804 is "included", "Type 1" is set to 806. Type 1 indicates that the print setting extended application 112 does not process the intermediate image data corresponding to the setting item. When 803 is "included" and 804 is "included", "Type 2" is set to 806. Type 2 indicates that the print setting extended application 112 or the printer 104 can process the intermediate image data corresponding to the setting item. When 803 is "included" and 804 is "not included", "Type 3" is set to 806. Type 3 indicates that the print setting extended application 112 does not process the intermediate image data corresponding to the setting item, but the printer 104 processes it.

[0116] The preview edit flag 807 is an area for storing a flag indicating whether or not editing of the intermediate image data has occurred when the preview is displayed. When the attribute value table is generated, "FALSE" is set for each setting item.

[0117] The IPP attributes 808 are IPP attributes that correspond to the target print settings. Here, the IPP attributes 808 are set only for the setting items that the print setting extended application 112 uses when generating a preview image. The IPP attributes 808 are also all blank at the stage when the attribute value table is generated.

[0118] The IPP attribute value determined in the IPP attribute value change determination process (S327) is stored as an IPP attribute value 809 to be instructed to the printer. The IPP attribute value change determination process (S327) will be described in detail later.

[0119] The information in 807 is set in the determined data save process in S4010, which will be described later, and the information in 808 and 809 is set in the attribute value table update process in S707, which will be described later.

[0120] Returning to the explanation of Fig. 4A(a), after the attribute value table generation process (S4004), the print workflow processing unit 112b copies the original intermediate image data temporarily saved in S4002 to generate intermediate image data (XPS) for preview (S4005). The intermediate image data for preview is intermediate image data reflecting at least one of the setting values ​​of the setting items Type 2 and Type 3 among the setting items shown in Fig. 8.

[0121] Next, the print workflow processing unit 112b displays the edited intermediate image data as a preview image on the preview UI (FIG. 12) (S4006).

[0122] Changes to print settings are accepted via the preview UI (FIG. 12) (S4007).

[0123] The print settings accepted by the preview UI (Fig. 12) do not have to be the same as the print settings that can be specified by the first print setting UI (Fig. 11). For example, settings that are mainly "automatic" settings, such as "feed tray" and "output tray", can be omitted from displaying in the preview UI (Fig. 12).

[0124] Next, the print workflow processing unit 112b determines whether a user operation has been accepted (S4008). The print workflow processing unit 112b continues displaying the preview (S4006) and accepting changes to the print settings (S4007) until a user operation is detected.

[0125] When the print workflow processing unit 112b detects a user operation, it determines that the print settings have been changed and updates the temporarily saved print setting information (S4009).

[0126] The print workflow processing unit 112b determines whether the OK button on the preview UI has been selected (S4010). Until the print workflow processing unit 112b detects in S4009 that the OK button has been pressed, it returns to step S4005 and repeats the editing and processing of the intermediate image data, the preview display process, and the print setting change acceptance process. In this way, the change in the setting value accepted in the preview UI can be reflected in the preview image displayed in the preview UI.

[0127] In step S4010, if the print workflow processing unit 112b detects pressing of the "OK" button, the print workflow processing unit 112b executes the process described in S4011. The workflow processing unit 112b saves the original intermediate image data saved in S4002 and the temporarily saved print setting information updated in S4009 in the data storage area of ​​the application (confirmed data saving process) (S4011).

[0128] The print workflow processing unit 112b also updates the attribute value table (FIG. 8) according to the editing status during preview. Based on the data saved in S4011, the preview edit flag 807 of the setting item that requires intermediate image data processing by the print setting extending application 112 is set to TRUE. Setting items that require intermediate image data processing by the print setting extending application 112 are items for which Type 2 or Type 3 is set in 807. For example, if the setting for combined printing is set to a setting other than OFF in the data saved in S4011, the preview edit flag 807 for combined printing is set to TRUE as shown in 811.

[0129] Next, the rotation suppression determination process (S4003) will be described in detail with reference to Fig. 6(a) and Fig. 10. Fig. 6(a) is realized by the CPU 212 executing a program stored in the print setting extending application 112.

[0130] The print workflow processing unit 112b reads the device capability information saved in S311 and determines whether the printer 104 has the capability of rotating one page of images (S601). Specifically, the print workflow processing unit 112b refers to the "rotation capability" (IPP attribute ext-media-rotation-supported) information in the device capability information saved in S311. If the attribute value is TRUE, the print workflow processing unit 112b determines that the printer 104 has the "rotation capability," and if the attribute value is FALSE, the printer 104 does not have the "rotation capability."

[0131] If it is determined that the printer 104 has the image rotation capability, the print workflow processing unit 112b stores "no rotation" during PDL conversion of the OS in a storage area that can be referenced by the print setting extension application 112 (S602).

[0132] If it is determined that the printer 104 does not have the ability to rotate an image, the print workflow processing unit 112b stores "rotation" during PDL conversion of the OS in a storage area that can be referenced by the print setting extension application 112 (S603).

[0133] In the present embodiment, the method of determining the presence or absence of rotation capability is described, referring to capability information called "rotation capability" acquired from the printer, and determining the presence or absence of rotation capability based on the attribute value. The determination may be made based on other capability information. FIG. 10 shows device capability information of the printer 104, and is a table relating to attributes that can be used to determine whether the printer 104 has the image rotation capability. The table shown in FIG. 10 is a table stored in advance in the print setting extension application 112.

[0134] In FIG. 10, "item name" 1003 is the item name corresponding to the setting item. "Value" 1004 indicates a value that can be selected for each item. "IPP attribute" 1005 is attribute information corresponding to each item name, and is attribute information used when communicating with the printer 104 by IPP. "Attribute value for determining 'rotation capability available'" 1006 indicates which value is included in the device capability information of the printer 104 based on which it is determined that the printer 104 has the image rotation capability. "Attribute value for determining 'no rotation capability'" 1007 determines that the printer 104 does not have the image rotation capability when the device capability information of the printer 104 only contains the described capability information. Note that, although both "attribute value for determining 'rotation capability available'" 1006 and "attribute value for determining 'no rotation capability'" 1007 are written in FIG. 10, it is also possible to store only one of them and make the determination described in S601 based on the stored information.

[0135] For example, in the determination in S601, it may be possible to determine whether or not the printer 104 has the ability to rotate an image by referring to the capability information of any one of the items shown in Fig. 10. Also, it may be determined that the printer 104 has the ability to rotate an image when the device capability information for at least one item includes an "attribute value that determines that the printer 104 has the rotation capability."

[0136] Next, the PDL conversion flag determination process (S333) will be described in detail with reference to Fig. 5. The process shown in Fig. 5 is realized by the CPU 212 executing a program stored in the print setting extending application 112.

[0137] The print workflow processing unit 112b reads the original intermediate image data saved in S321 and the finalized print setting information saved in S4011 from the data storage area of ​​the application, and performs editing and processing on the original intermediate image data. The print workflow processing unit 112b generates the edited and processed intermediate image data for printing (S501). Here, the original intermediate image data refers to the intermediate image data generated by the cloud printer driver 111 in S318.

[0138] Next, the print workflow processing unit 112b refers to the result of the rotation suppression determination process (S4003) (S502). In S502, the print workflow processing unit 112b makes a determination based on the information stored in S602 and S603 in FIG.

[0139] If it is determined in S502 that "rotation is not performed during PDL conversion of the OS," the print workflow processing unit 112b sets the PDL conversion control flag corresponding to "rotate" the image to FALSE (S503). The PDL conversion control flag is used as a parameter when executing the PDL conversion process of the OS.

[0140] Also, if it is determined in S502 that "rotation is performed during PDL conversion by the OS," the print workflow processing unit 112b sets the PDL conversion control flag corresponding to "rotate" to TRUE (S505). The PDL conversion control flag is used as a parameter for determining whether or not image rotation by the OS is permitted when executing the PDL conversion process of the OS.

[0141] 5, the PDL conversion control flag corresponding to "rotate" is set to TRUE or FALSE. There may be two types of flags: a PDL conversion control flag corresponding to "rotate" an image, and a PDL conversion control flag corresponding to "not rotate" an image.

[0142] Next, the details of the PDL conversion process (S335) will be described with reference to Fig. 13. Note that the PDL conversion shown in this example is just an example. The process shown in Fig. 13 is realized by the CPU 212 executing a program provided by the OS 114.

[0143] The print spooler 116 of the OS 114 extracts one page of data from the print intermediate data received from the print workflow processing unit 112b in S334 (S1301).

[0144] Next, the print spooler 116 of the OS 114 determines whether or not a PDL conversion control flag has been received from the print workflow processing unit 112b in S334 (S1302).

[0145] If the PDL conversion control flag has not been received in S1302, the print spooler 116 of the OS 114 determines whether the extracted data for one page is landscape image data (S1304).

[0146] If the extracted data for one page is Landscape data in S1304, the print spooler 116 of the OS 114 edits the data so that the image of that page is rotated 90 degrees counterclockwise (S1305). If the extracted data for one page is not Landscape image data in S1304, the print spooler 116 of the OS 114 advances the process to S1306.

[0147] Next, the print spooler 116 of the OS 114 refers to the print setting information received from the print workflow processing unit 112b in S329 and determines whether the paper transport direction of the specified paper feed tray is LongEdgeFeed (S1306). The paper transport direction of the paper feed tray is assumed to have been acquired in S309 of Fig. 3. LongEdgeFeed is a paper feeding method in which the long side of the paper is fed first.

[0148] If the paper transport direction of the specified paper feed tray is LongEdgeFeed in S1306, the print spooler 116 of the OS 114 edits the data so that the extracted image of one page is rotated 90 degrees counterclockwise (S1307). If the paper transport direction of the specified paper feed tray is not LongEdgeFeed in S1306, the print spooler 116 of the OS 114 advances the process to S1308.

[0149] Furthermore, if a PDL conversion control flag has been received in S1302, print spooler 116 of OS 114 determines whether the PDL conversion control flag corresponding to "rotate" is TRUE (S1303). That is, print spooler 116 determines whether image rotation by the OS is permitted. If the PDL conversion control flag corresponding to "rotate" is TRUE in S1303, print spooler 116 executes the processes described in S1304 to S1307.

[0150] If the PDL conversion control flag corresponding to "rotate" is FALSE in S1303, print spooler 116 of OS 114 advances the process to S1308. Print spooler 116 does not process the extracted data for one page, and determines whether processing has been completed for all pages (S1308). If it is determined in S1308 that processing has been completed for all pages, print spooler 116 performs PDL conversion on the print intermediate data (S1310).

[0151] If it is determined in S1308 that an unprocessed page remains, the print spooler 116 sets the page next to the page being processed as the page to be processed (S1309). After that, the print spooler 116 repeats the processes of S1301 to S1308.

[0152] The above is the process related to image rotation and PDL generation by the print spooler 116.

[0153] Next, the IPP attribute value change determination process (S327) will be described in detail with reference to Fig. 7 and Fig. 8. The process shown in Fig. 7 is realized by the CPU 212 executing a program provided by the print setting extension application 112.

[0154] The print workflow processing unit 112b reads out the attribute value table (FIG. 8) from the data storage area of ​​the print setting extension application (S701).

[0155] The print workflow processing unit 112b checks the preview edit flag 807 of each setting item recorded in the attribute value table (S702).

[0156] Here, if the preview edit flag 807 is "TRUE", the print workflow processing unit 112b similarly checks the IPP attribute value change method 806 recorded in the attribute value table (S703).

[0157] In this embodiment, the types of the method for changing the IPP attribute value are classified and defined as Type 1, Type 2, and Type 3. The print setting extension application 112 holds the type (Type 1, Type 2, and Type 3) of the method for changing the IPP attribute value for each function as a fixed value in the program.

[0158] Type 1 indicates a classification of the change method in which "the destination IPP attribute value is determined based on the data saved in S4011." Type 1 targets functions where there is "no" overlap in processing between the print setting extension app and the printer, where there is "no" processing on the print setting extension app side, and where there is "processing" on the printer side. In the case of Type 1, since processing is performed on the printer side, it is necessary to change the IPP attribute value to match the print settings saved in S4011.

[0159] Type 2 indicates a classification of the change method that "changes the IPP attribute value so that the printer does not process the corresponding print setting item." Type 2 targets functions where there is overlap in processing between the print setting extension app and the printer, and where processing is "present" on both the print setting extension app and the printer. With Type 2, consideration must be given to preventing overlap in processing between the print setting extension app and the printer.

[0160] For example, when the "Page Aggregation" setting is specified as "2-in-1" in the print setting UI unit 112a, the "2-in-1" setting is converted to an IPP attribute value by the OS 114. Meanwhile, in the print setting extension application, intermediate image data is generated that has been edited and processed to become "2-in-1". At this time, if the "2-in-1" setting is sent to the printer as an IPP attribute value together with the PDL generated from the intermediate image data that has become "2-in-1", the intended output result will not be obtained. Therefore, it is necessary to "change the IPP attribute value so that the printer does not process the corresponding print setting item."

[0161] Type 3 indicates a classification of the change method that "does not change the IPP attribute value." Type 3 targets functions where there is "no" overlap between the print setting extension application and the printer's processing, and where the print setting extension application has processing but the printer has no processing. With Type 3, there is no need to change the IPP attribute value to match the finalized print setting information.

[0162] When the type of the IPP attribute value change method is "Type 1", the processing is executed on the printer side, so it is necessary to change the IPP attribute value to match the print settings saved in S4011. The print workflow processing unit 112b determines the IPP attribute value based on the print settings saved in S4011 (S704). Specifically, the IPP attribute corresponding to the print settings saved in S4011 is set to 809 in FIG.

[0163] When the type of the IPP attribute value change method is “Type 2”, it is necessary to take care not to overlap the processing on the print setting extension application side and the printer side. The print workflow processing unit 112b decides to change the IPP attribute value so that the printer does not process the image (S705). In S705, the print workflow processing unit 112b sets the value written in column 902 in the table of FIG. 9 to 809 in FIG. 8. FIG. 9 is a table that stores settings for processing the setting items set to Type 2 in FIG. 8 by the print setting extension application 112 and not by the printer. “Item name” 903 indicates the item name of the print setting item. “Setting value” 904 indicates the print setting value that can be set for each setting item. “IPP attribute” 901 is an IPP attribute corresponding to the print setting item, and is attribute information notified to the cloud print service. “IPP attribute value for not processing image by printer” 902 is an IPP attribute value notified to the cloud print service 121 and the printer 104 when the print setting extension application 112 performs processing corresponding to the setting item.

[0164] If the type of the IPP attribute value change method is "Type 3", there is no need to change the IPP attribute value, so the print workflow processing unit 112b determines not to change the IPP attribute value (S706). In S706, the print workflow processing unit 112b proceeds to S707 without performing any particular processing.

[0165] Next, the information in 808 and 809 of the attribute value table is updated according to the results of S704 to S706 (S707).

[0166] If there are any unchecked setting items, the print workflow processing unit 112b repeats S702 and subsequent steps.

[0167] For example, in the attribute value table (FIG. 8), the preview edit flag 807 for the "Page Aggregation" setting item is set to "TRUE" (811). The type 806 of the IPP attribute value change method is set to Type 2, which means a change method classification of "changing the IPP attribute value so that the printer does not process the target function."

[0168] Therefore, it is decided to change the IPP attribute value to one that does not process the image in the printer (S705).

[0169] To prevent the printer from processing the images of page aggregation, you must set the IPP attribute "number-up" to "1", which means "1-in-1".

[0170] As a result, the attribute value table is updated by setting "1" meaning "1-in-1" to the IPP attribute value 809 instructing the printer for "number-up" (812) in the IPP attribute 808 of the page aggregation setting item (813).

[0171] Reference numeral 902 in FIG. 9 indicates an example of IPP attribute values ​​when no image processing is performed by the printer.

[0172] The print setting extension application 112 holds IPP attribute values ​​for when the printer does not process images as static information in advance in the program. When it becomes necessary to not process images in the printer in the Type 2 function, the IPP attribute values ​​are used to set the attribute value table 809 (FIG. 8).

[0173] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting expanding application 112 controls the rotation during PDL conversion by the OS based on the printer capabilities, and suppresses unnecessary page rotation in a printer with rotation capabilities. In this way, it is possible to obtain the intended print result.

[0174] <Embodiment 2> In the first embodiment, an example has been described in which, if the printer 104 does not have the page rotation capability, it is uniformly determined that the image is to be "rotated" during PDL conversion of the OS, and image rotation is not suppressed during PDL conversion of the OS.

[0175] However, it is possible to enable specific settings such as finishing settings such as punching and stapling for a printer 104 that does not have an image rotation function. In this case, if the image is rotated on the client terminal, the image orientation and the finishing position will not match.

[0176] Therefore, in the second embodiment, an example will be described in which, even if the printer 104 does not have the ability to rotate an image, if there are print settings related to finishing such as stapling or punching, unintended output is suppressed by canceling printing.

[0177] Specific processing according to the second embodiment will be described with reference to Fig. 4A(b) and Fig. 6(b). Note that only the differences from the first embodiment will be described here. The system configuration and hardware configuration are the same as those of the first embodiment except for some parts, so the description will be omitted.

[0178] As a difference from the embodiment, an example of workflow processing by the print workflow processing unit 112b will be described below with reference to Fig. 4A(b) and Fig. 6(b). Note that the main processing sequence in this embodiment is the same as that in Fig. 3, so the description will be omitted.

[0179] The process illustrated in FIG. 4B is realized by the CPU 212 executing a program provided by the print setting extension application 112.

[0180] When the print workflow processing unit 112b starts the print workflow processing (S323), it first executes an acquisition process (S4101) of original intermediate image data and print setting information. Note that the processes from S4101 to S4102 are the same as the processes from S4001 to S4002 in the first embodiment, and therefore the description thereof will be omitted.

[0181] Next, the print workflow processing unit 112b executes a rotation suppression determination process (S4103). The rotation suppression determination process (S4103) will be described in detail later.

[0182] After the rotation suppression determination process, if the determination result is "cancel" in S4104, the print workflow processing unit 112b displays an error message (not shown) on the preview UI (FIG. 12) (S4105). After that, the print workflow processing unit 112b cancels the printing (S4106).

[0183] If the determination result in S4104 is anything other than "cancel", an attribute value table (FIG. 8) is generated based on the information of the print setting items held in the program of the print setting extending application 112 (S4107).

[0184] Note that the processes from the preview intermediate image data processing process (S4107) to the finalized data saving process (S4114) are the same as the processes from S4004 to S4011 in FIG. 4A(a), and therefore will be omitted.

[0185] Next, the rotation suppression determination process (S4103) will be described in detail with reference to Fig. 6B. The process shown in Fig. 6B is realized by the CPU 212 executing the program of the print setting extension application 112.

[0186] The print workflow processing unit 112b reads the device capability information saved in S311 and determines whether the printer 104 has the image rotation capability (S611). The print workflow processing unit 112b determines whether the rotation capability (ext-media-rotation-support) in the device capability information of the printer 104 is TRUE.

[0187] If the printer 104 has the ability to rotate an image, the print workflow processing unit 112b determines that "rotation is not performed during PDL conversion of the OS" (S612). In S612, if the capability information for "rotation capability (ext-media-rotation-supported)" is "TRUE", the print workflow processing unit 112b determines that rotation is possible.

[0188] Furthermore, if the printer 104 does not have page rotation capability, the print workflow processing unit 112b uses print setting information extracted from the Print Ticket and stored in a storage area or the like as temporarily saved print setting information to determine whether or not specific print settings exist (S613). Examples of specific print settings include stapling (including saddle stitching and stapleless binding), punching, folding settings, bookbinding printing, page aggregation, etc. Note that the order of determining whether or not rotation capability exists (S611) and determining whether or not specific print settings exist (S613) can be reversed from that in this embodiment.

[0189] If it is determined in S613 that the specific print settings as described above exist, the print workflow processing unit 112b determines that the print job is to be "cancelled" due to an error (S614).

[0190] On the other hand, if it is determined in S613 that there is no specific print setting as described above, it is determined that "rotate during PDL conversion of the OS" (S615).

[0191] In addition, in S611 of Fig. 4A(b), it may be determined whether or not the printer has the image rotation capability by using the capability information of other setting items shown in Fig. 10. However, the "Finisher" in Fig. 10 is not included in the determination of whether or not the printer has the image rotation capability.

[0192] As described above, according to this embodiment, even if the printer 104 does not have the ability to rotate pages, it is possible to utilize the rotation function of the OS, and further, by canceling it only in the case of specific print settings, it is possible to prevent unintended print results from occurring.

[0193] <Embodiment 3> In the first embodiment, an example has been described in which if the printer 104 does not have the image rotation capability, it is uniformly determined that "rotation is performed" during PDL conversion of the OS, and page rotation is not suppressed during PDL conversion of the OS.

[0194] In addition, in the second embodiment, an example was described in which, when the printer 104 does not have the ability to rotate images but there are print settings for specific setting items, an error is generated and "cancelled," thereby avoiding unintended print results.

[0195] In this embodiment, an example will be described in which, even if the printer 104 does not have the ability to rotate images, if there are print settings related to finishing such as stapling and punching, specific print settings are cancelled to avoid unintended printing.

[0196] Specific processing according to this embodiment will be described with reference to Fig. 4B(c) and Fig. 6(c). Note that only differences from the first embodiment will be described here. The system configuration and hardware configuration are the same as those of the first embodiment except for some parts, so the description will be omitted.

[0197] As a difference from the embodiment, an example of workflow processing by the print workflow processing unit 112b will be described below with reference to FIG. 4B(c) and FIG. 6(c).

[0198] Incidentally, the main processing sequence in this embodiment is the same as that in FIG. 3, so the description thereof will be omitted.

[0199] When the print workflow processing unit 112b starts the print workflow processing (S323), it executes a process of acquiring original intermediate image data and print setting information (S4201).

[0200] The processing from S4201 to S4202 is the same as the processing from S4001 to S4002 in the first embodiment, so a description thereof will be omitted.

[0201] Next, the print workflow processing unit 112b executes a rotation suppression determination process (S4203). The rotation suppression determination process (S4203) will be described in detail later.

[0202] After the above rotation suppression determination process (S4203), the print workflow processing unit 112b determines whether or not the printer 104 has an image rotation function (S4204).

[0203] If the printer 104 has an image rotation function, the print workflow processing unit 112b generates an attribute value table (FIG. 8) based on information on print setting items held in the program of the print setting extension application 112 (S4206).

[0204] If the printer 104 does not have an image rotation function, the print workflow processing unit 112b generates an attribute value table (FIG. 8) in which a specific print setting item is canceled (S4205). Furthermore, the print workflow processing unit 112b changes the values ​​of the print settings temporarily saved in S4202. For example, the print workflow processing unit 112b disables both the finishing and combined printing settings included in the temporarily saved print settings.

[0205] An example of canceling a specific print setting is shown below. Here, "canceling a print setting" means that the printer will not execute processing for that function. For example, the specific print setting is stapling, punching, or folding, and the case where the printer is made to execute processing for that function is described below. The print workflow processing unit 112b instructs the printer to set IPP attribute values ​​such as "staple-top-left," "punch-dual-left," and "fold-half" for the IPP attribute "finishings."

[0206] Therefore, when the printer does not want to execute the processing of the function, the print workflow processing unit 112b sets the setting value "none" to the IPP attribute value (809 in FIG. 8) of staple, punch, or fold in the attribute value table (FIG. 8). This "none" essentially means that the printer will not execute the function, and the function is set to disabled.

[0207] Also, for example, if the specific print setting is page aggregation, and the printer is to execute the processing of that function, the IPP attribute "number-up" is set to "2" or the like to instruct the printer. This "2" refers to the 2 in "2-in-1." If the printer is not to execute the processing of that function, the print workflow processing unit 112b sets the IPP attribute value of page aggregation (809 in FIG. 8) in the attribute value table (FIG. 8) to "1." This "1" refers to the 1 in "1-in-1," which essentially means that the printer will not execute page aggregation, and that the page aggregation function is disabled.

[0208] When the print workflow processing unit 112b performs the process of S4205, it displays the preview UI shown in FIG. 12(b). FIG. 12(b) includes a notification 1204 indicating that the specific print setting has been released. The notification 1204 is hidden after a predetermined time has elapsed since it was displayed. In the third embodiment, the preview UI is controlled so that the print settings of the specific print cannot be changed. This control includes, for example, graying out the specific print setting or hiding an object for changing the setting value of the specific print setting. In this way, it is possible to prevent the specific setting from being set as valid in the preview UI.

[0209] The processes from the preview display intermediate image data editing and processing process (S4207) to the finalized data saving process (S4213) are the same as the processes from S4005 to S4011 in FIG. 4A(a), and therefore will not be described.

[0210] Next, the rotation suppression determination process (S4203) will be described in detail with reference to FIG.

[0211] The print workflow processing unit 112b reads the capability information saved in S311, and determines whether the printer 104 has the page rotation capability (S621). This determination is the same as in S611.

[0212] If the printer 104 has the image rotation capability, the print workflow processing unit 112b determines that the image is not to be rotated during the PDL conversion of the OS (S622).

[0213] Furthermore, if the printer 104 does not have the image rotation capability, the print workflow processing unit 112b uses the print setting information extracted from the Print Ticket and stored in a storage area or the like as temporarily saved print setting information to determine whether or not a specific print setting is present (S623). Examples of specific print settings include stapling (including saddle stitching and stapleless binding), punching, folding settings, bookbinding printing, page aggregation, and the like.

[0214] If the temporarily saved print settings include a specific print setting, the print workflow processing unit 112b determines that the specific print setting is to be cancelled and the image is to be 'rotated' during PDL conversion of the OS (S624).

[0215] On the other hand, if it is determined in S623 that the temporary save print settings do not include the specific print settings as described above, the print workflow processing unit 112b determines that "images are rotated during PDL conversion of the OS" (S625).

[0216] It should be noted that the order of judging the presence or absence of rotation capability (S621) and the presence or absence of specific print settings (S623) can be reversed from that in this embodiment.

[0217] As described above, according to this embodiment, it is possible to utilize the OS's rotation function even when the printer does not have rotation capability, and further, by canceling specific print settings, it is possible to continue printing as much as possible and prevent unintended print results from occurring.

[0218] <Embodiment 4> In the third embodiment, an example has been described in which, when the printer 104 does not have the image rotation capability and a specific print setting is included in the set print settings, the specific print setting is cancelled.

[0219] In the fourth embodiment, when the printer 104 does not have the ability to rotate images and the set print settings include a specific print setting, an example will be described in which unintended printing is avoided while switching from processing by the printer 104 to processing by the client terminal 101 for some of the specific print settings. Note that in this embodiment, it is assumed that processing is performed by the printer for setting items for which Type 2 is set in 806 in Fig. 8. In this embodiment, when the printer 104 does not have the ability to rotate images, the settings are changed so that processing corresponding to the setting item is performed by the print setting extension application 112 instead of the printer 104.

[0220] Specific processing according to this embodiment will be described with reference to FIG. 4B(d) and FIG. 6(d).

[0221] Here, only the differences from the first and third embodiments will be described. The system configuration and hardware configuration are the same as the first embodiment except for some parts, so the description will be omitted.

[0222] As a difference from the embodiment, an example of workflow processing by the print workflow processing unit 112b will be described below with reference to FIG. 4B(d) and FIG. 6(d).

[0223] Incidentally, the main processing sequence in this embodiment is the same as that in FIG. 3, so the description thereof will be omitted.

[0224] When the print workflow processing unit 112b starts the print workflow processing (S323), it first executes a process of acquiring original intermediate image data and print setting information (S4301).

[0225] The processing from S4301 to S4302 is the same as the processing from S4001 to S4002 in the first embodiment, so a description thereof will be omitted.

[0226] Next, the print workflow processing unit 112b executes a rotation suppression determination process (S4303). The rotation suppression determination process (S4303) will be described in detail later.

[0227] After the above rotation suppression determination process (S4303), the print workflow processing unit 112b determines whether or not the printer 104 has the ability to rotate an image (S4304).

[0228] If the printer 104 has the ability to rotate images, this means that the print settings before preview are print settings that will not cause problems with rotation during PDL conversion even if processed by the printer.

[0229] Specifically, this applies to print settings such as color mode and stamp printing, which do not require physical control by a device such as a stapler, can be achieved only by editing intermediate image data, and which do not cause problems with rotation during PDL conversion when processed by a printer.

[0230] Since there is no problem with such print settings being executed by the printer, the print workflow processing unit 112b generates an attribute value table (FIG. 8) based on the information of the print setting items held in the program of the print setting extension application 112 (S4308).

[0231] If the printer 104 does not have the ability to rotate an image, the print workflow processing unit 112b determines whether or not the setting items related to finishing are set to valid in the temporarily saved print settings (4305).

[0232] If finishing is set to enabled in the temporarily saved print settings, the print workflow processing unit 112b sets the corresponding print settings to disabled from the temporarily saved print setting information saved in S4302, and updates the temporarily saved print settings (S4306).

[0233] Then, the print workflow processing unit 112b generates an attribute value table in which the preview display flag is set to TRUE and the IPP attribute value is set to none for setting items related to finishing (S4307). At this time, Type 3 is set in the IPP attribute change method 806 in FIG. 8 where Type 2 is set. In this way, items that can be processed by both the print setting extension application and the printer are processed by the print setting extension application. This allows image processing corresponding to each setting item to be performed before the OS rotates the image, and the effects of image rotation by the OS can be suppressed.

[0234] In this embodiment, Type 3 is set for setting items that can be processed by either the print setting extension application or the printer, and control is performed so that the print setting extension application executes the processing. However, Type 3 may be set for at least one setting item that belongs to Type 2 in FIG. 8 and is affected by image rotation. Specifically, print settings that do not require physical control by a device such as a stapler and can be realized only by editing intermediate image data, such as color mode, stamp printing, and page aggregation, can be said to be print settings that can be switched to processing by the client terminal. However, since color mode, stamp printing, and the like do not cause problems with rotation during PDL conversion when processed by a printer, an attribute value table may be generated in S4307 as setting items that belong to Type 2.

[0235] As a result, the specific print settings are processed by the print workflow processing unit 112b of the client terminal instead of the printer, and are no longer executed by the printer.

[0236] The method for canceling the specific print settings is the same as in the third embodiment, so the explanation will be omitted.

[0237] Moreover, the processes from S4310 to S4316 are the same as the processes from S4005 to S4011 in the first embodiment, so the description thereof will be omitted.

[0238] Next, the rotation suppression determination process (S4303) will be described in detail with reference to FIG.

[0239] The print workflow processing unit 112b reads the capability information saved in S311, and determines whether the printer 104 has the page rotation capability (S631).

[0240] If the printer 104 has page rotation capability, it is determined that "rotation is not performed during PDL conversion of the OS" (S632).

[0241] Furthermore, if the printer 104 does not have page rotation capability, the print workflow processing unit 112b uses print setting information extracted from the Print Ticket and stored in a storage area or the like as temporarily saved print setting information to determine whether or not a specific print setting exists (S633). Examples of specific print settings include stapling (including saddle stitching and stapleless binding), punching, folding settings, bookbinding printing, page aggregation, etc. Note that the order of determining whether or not rotation capability exists (S631) and determining whether or not a specific print setting exists (S633) can be reversed from that in this embodiment.

[0242] If it is determined in S633 that there is no specific print setting, the print workflow processing unit 112b determines that "rotate" is to be performed during PDL conversion of the OS (S637).

[0243] The print workflow processing unit 112b determines whether or not the finishing function is enabled in the temporarily saved print settings (S634).

[0244] If the finishing setting is valid in the temporarily saved print setting, it is determined that the finishing setting is valid in the temporarily saved print setting and that "rotation is performed" during PDL conversion of the OS (S635). The print workflow processing unit 1112b performs the determination of S4305 in FIG. 4B(d) based on the information stored in S635.

[0245] If it is determined in S634 that finishing is not enabled in the temporarily saved print settings, the print workflow processing unit 112b advances the process to S637.

[0246] As described above, according to this embodiment, even if the printer 104 does not have the ability to rotate pages, by switching specific print settings to processing at the client terminal, it is possible to avoid unintended printing and print as close to the settings as possible.

[0247] <Other embodiments> Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which is recorded the program code of software for realizing the functions of the above-mentioned embodiments to a system / apparatus, and having a computer in the system / apparatus read and execute the program code. In this case, the program code itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0248] Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0249] Needless to say, this also includes cases where an Operating System (OS) running on a computer performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized through that processing.

[0250] Furthermore, the program code read from the storage medium may be written to a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then, based on the instructions of the program code, a CPU provided on the function expansion board or function expansion unit may perform part or all of the actual processing, and the functions of the above-mentioned embodiments may be realized by the processing.

Claims

1. A print setting application program stored in an information processing device that stores a generic printer driver, An acquisition step of acquiring capability information from the printer; a determining step of determining whether or not image rotation using a function provided by an operating system of the information processing device is permitted based on the capability information acquired from the printer; a providing step of providing information based on the determination in the determining step to the operating system, the application program causing the information processing device to execute the application program.

2. 2. The application program according to claim 1, further comprising: determining, in the determination step, that if the printer is capable of performing processing related to image rotation based on the image data received from the information processing device, that image rotation using a function provided by the operating system is not permitted.

3. The application program according to claim 1, characterized in that if, in the acquisition step, the capability information indicating that the information processing device is capable of performing processing related to image rotation is acquired, in the judgment step, it is determined that image rotation using a function provided by the operating system is not permitted.

4. The application program according to claim 1 , wherein the determination step determines whether to allow image rotation using the function provided by the operating system based on a setting value set via a print setting screen in addition to the capability information.

5. The application program according to claim 4, characterized in that the determination step determines that image rotation by the function provided by the operating system is permitted if the capability information does not include the capability of the printer to rotate the image of the image data received from the information processing device and if the setting values ​​do not include setting values ​​that cause the printer to perform post-processing.

6. The application program according to claim 5, further comprising a control step of canceling printing-related processing in the information processing device if the capability information does not include the capability of the printer to rotate an image of image data received from the information processing device and if the setting value includes a setting value that causes the printer to perform post-processing.

7. 7. The application program according to claim 6, further comprising a setting step of setting the setting value for executing post-processing to invalid when the capability information does not include the capability of the printer to rotate an image of the image data received from the information processing device and the setting value includes a setting value for executing post-processing by the printer.

8. A method for controlling an information processing device that stores a generic printer driver, comprising: An acquisition step of acquiring capability information from the printer; a determination step of determining whether or not image rotation by a function provided by an operating system of the information processing device is permitted based on the capability information acquired from the printer; a providing step of providing information based on the determination in the determining step to the operating system, the control method comprising causing the information processing device to execute the control step.

9. An information processing device that stores a general-purpose printing program, An acquisition means for acquiring capability information from a printer; a determining means for determining whether or not image rotation using a function provided by an operating system of the information processing device is permitted based on the capability information acquired from the printer; providing means for providing information based on the determination of said determining means to said operating system.

Citation Information

Patent Citations

  • Information processing device, control method therefor, and program

    JP2020095535A