Information processing device, control method and program for information processing device
By having the application program handle image rotations based on paper size, the issue of double rotations in OS and application programs is resolved, ensuring correct print orientation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
In printing systems, images are often rotated twice by the OS standard printer driver and the print setting extension application, leading to unintended upside-down printouts, particularly when printing on envelopes or papers with specific orientations.
The application program determines whether an image needs to be rotated based on paper size information and controls the rotation process, ensuring it is handled by the application program rather than the operating system.
Prevents overlapping image rotations, ensuring the intended print result is achieved by controlling both OS and application rotations during PDL conversion.
Smart Images

Figure 2026041111000001_ABST
Abstract
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, general-purpose printer drivers (local printer drivers) that communicate directly with image forming apparatuses using industry standard protocols such as IPP (Internet Printing Protocol) have been considered.
[0003] A local printer driver is a driver provided by the client terminal's OS provider that generates print data that can be interpreted by printers from multiple printer vendors. A local printer driver can communicate with printers from multiple manufacturers (manufacturers, vendors).
[0004] Therefore, by using a local printer driver, a user can send a print job to an image forming device without installing a vendor-specific printer driver.
[0005] Furthermore, printing using a cloud print service is being considered, in which a printer driver for the cloud print service (cloud printer driver) is installed on an information processing device.
[0006] A cloud printer driver is also provided by the provider of the OS of the client terminal, and is a printer driver that generates print data that can be interpreted by printers from multiple printer vendors. In a cloud print service, an information processing device uses a cloud printer driver to send a print job to the cloud print service, and the cloud print service then sends the print job to an image forming device, thereby executing printing.
[0007] Because the above-mentioned local printer drivers and cloud printer drivers handle print jobs to be printed by image forming devices from various vendors, there are limitations on the items and functions that can be set as print settings. Therefore, it is being considered to link the printer driver and expand the print settings using the printer identification information linked to the printer driver. This will enable vendor-specific print setting UIs and print job editing functions.
[0008] An application that extends such print settings (a print setting extension application) receives intermediate image data for editing and processing from the OS in an XML format such as XPS (XML Paper Specification), and then converts the edited data into PDL (Page Description Language) for printing.
[0009] The OS provides a PDL conversion API for converting intermediate image data into PDL, and the printer driver or print setting extension application uses the API to convert the intermediate image data into PDL. [Prior art documents] [Patent documents]
[0010] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-018742 [Patent Document 2] Japanese Patent Application Publication No. 2023-110778 [Non-patent literature]
[0011] [Non-Patent Document 1] “PWG5100.7—2023 IPP Job Extensions v2.1”, The Printer Working Group, 2023, p.39 Summary of the Invention [Problem to be solved by the invention]
[0012] In the past, in the case of pre-printed paper, where a logo or stamp is added to the paper for printing and the orientation of the specific paper is specified, there was a method in which the printer driver and the printer shared the responsibility for page rotation processing, as described in Patent Document 1.
[0013] Furthermore, when a sheet of paper has a flap at one end, such as envelope paper, the printer's paper feed structure may require the envelope to be fed in a specific direction so as not to interfere with the paper's transport. Furthermore, depending on the printer's type and structure, the paper feed direction may not always be the same. For example, as in Patent Document 2, there are printers that feed long envelopes from a rear tray, as shown in Figure 11(a), with the flap at the rear end of the envelope being fed into the printer.
[0014] On the other hand, there are printers that feed paper from the long side of a long envelope (without a flap). As in Patent Document 2, there is a method in which print settings including paper information and drawing data including margins are acquired using a print setting expansion application, so that the downstream side of the paper transport direction becomes the bottom of the drawing data. In this case, the orientation of the data is flipped 180 degrees from the portrait-oriented original image shown in Figure 11(a) before being sent to the printer.
[0015] Such printing systems are equipped with one of several PDLs and support formats such as PDF and PWG-Raster. When the PWG-Raster format is equipped, it is the responsibility of the client terminal to properly rotate the original image so that it matches the feeding direction of the paper tray (an example of a paper feed unit) for each supported paper size, then convert it into a raster image for printing and send it.
[0016] The non-patent document PWG5100.7-2023 defines a method for constructing database information as a capability response from a printing device using a combination of paper size, paper type, paper feed tray, paper orientation, and paper rotation angle, and then obtaining that database information from a terminal using IPP.
[0017] However, in the configurations described in Patent Documents 1 and 2, in both cases, in a printing environment that meets the following three conditions, there was a problem in which the image was rotated twice by the OS standard printer driver and the print setting extension application provided by the vendor. The OS standard printer driver has the function to automatically rotate images according to the IPP standard. - The printer has the IPP standard rotation attribute - Print settings extension app rotates images according to user-set paper size and paper orientation
[0018] As a result, in the case of printing vertically on an envelope as shown in Figure 11(a), the original image is rotated twice by 180 degrees, and is sent at the original angle relative to the original image, so the contents of the printout printed by the printer are output upside down.
[0019] In this way, overlapping image rotation processes by the OS and the application program occur, making it impossible to obtain the intended print results. [Means for solving the problem]
[0020] The application program of the present invention is characterized in that it causes an information processing device that is communicatively connected to a printing device to obtain paper size information for the paper to be printed by the printing device, determines based on the paper size information whether or not an image instructed to be printed by the information processing device needs to be rotated, and if it is determined that the image needs to be rotated, causes the application program to rotate the image rather than the operating system (OS) of the information processing device to rotate it. [Effects of the Invention]
[0021] By implementing the present invention, it is possible to prevent overlapping processes by controlling both rotation during PDL conversion by the OS and rotation by the print setting extension application, thereby obtaining the intended print result. [Brief explanation of the drawings]
[0022] [Figure 1] system configuration diagram [Figure 2] Hardware configuration diagram [Figure 3] FIG. 1 is a diagram showing an example of a sequence according to the first embodiment; [Figure 4] A diagram showing an example of a print workflow process. [Figure 5A] FIG. 10 is a diagram showing an example of rotation responsibility determination processing; [Figure 5B] FIG. 10 is a diagram showing an example of rotation responsibility determination processing; [Figure 5C] FIG. 10 is a diagram showing an example of rotation responsibility determination processing; [Figure 6] FIG. 10 is a diagram showing an example of a determination process using a rotation correspondence table. [Figure 7] FIG. 10 is a diagram illustrating an example of a PDL conversion flag determination process; [Figure 8] A diagram showing an example of criteria for determining whether rotation capability is present or absent. [Figure 9] FIG. 10 is a diagram illustrating an example of PDL conversion processing. [Figure 10A] An example of a printer capability response communication packet [Figure 10B] An example of a printer capability response communication packet [Figure 10C] An example of a printer capability response communication packet [Figure 11] Diagram showing an example of vertical and horizontal paper feed direction for long envelopes [Figure 12] An example of the print settings UI [Figure 13] A diagram showing an example of the preview screen of the print settings UI [Figure 14] An example of how to rotate an image for each paper size DETAILED DESCRIPTION OF THE INVENTION
[0023] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024] <Embodiment 1> In this embodiment, an example will be described in which, when the printer 104 does not have the ability to rotate an image, priority is given to determining that the print setting extension application 112 is responsible for rotation, and rotation by the OS (operating system) 114 is suppressed.
[0025] 1 shows the configuration of a printing system for cloud printing and local printing 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 to each other via a network 107 so that they can communicate with each other.
[0026] The cloud print compatible printer 104 also supports local printing.
[0027] 1 illustrates one client terminal 101 and one cloud print-compatible printer 104, there may be multiple client terminals 101 and multiple cloud print-compatible printers 104. The client terminal 101 is an example of an information processing device, and the cloud print-compatible printer 104 is an example of a printing device.
[0028] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may be a server system configured with a plurality of information processing devices. By configuring each server as a server system configured with a plurality of information processing devices, it is possible to distribute the load among the plurality of information processing devices.
[0029] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may be virtually configured within one physical information processing apparatus.
[0030] The network 107 is assumed to be a WAN such as the Internet for connection to cloud services, but may be a closed environment such as an in-house LAN.
[0031] The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is a terminal that is directly operated by a user. Any application software can be executed on the client terminal 101.
[0032] The local printer driver 113 and the cloud printer driver 111 are drivers provided by the provider of the OS 114 of the client terminal 101. The drivers 111 and 113 are printer drivers that generate print data that can be interpreted by printers from multiple different manufacturers (manufacturers, vendors).
[0033] The print setting expansion application 112 is an application program provided by one of the above-mentioned printer vendors, that is, a vendor that provides the printer used for printing.
[0034] The print setting extension application 112 is an application program that supports the local printer driver 113 and the cloud printer driver 111. 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.
[0035] Specifically (through the processing of S310 to S312), the print setting extension application 112 extends the functions related to the print settings of the local printer driver 113 and the cloud printer driver 111 via the print spooler 116 of the OS 114. Regarding the extension of the functions related to the print settings, the device capability information that the OS itself has is merged with the newly added device capability information, and is extended as new device capability information.
[0036] The cloud print compatible printer 104 is a device that actually prints on a recording medium such as paper, and is an image forming apparatus that converts print data received via a network 107 into image data and prints it.
[0037] The print setting UI unit 112a is a print setting UI in the print setting extension application 112 that is extended by the printer vendor, and provides the user with a print setting UI instead of the cloud printer driver 111 or the local printer driver 113.
[0038] The print setting UI unit 112a generates and displays a print setting UI based on capability information acquired by the OS 114 and the print setting extension application 112 from the local printer 104 and the cloud print service 121.
[0039] The print workflow processing unit 112b performs processing to correct the setting information set in the print setting UI, and also performs processing to correct intermediate image data of images and graphics expressed in XML format such as XPS, and PDL conversion processing to convert such intermediate image data into a PDL that can be processed by the printer.
[0040] In the print setting extension application 112, the print setting UI unit 112a 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.
[0041] The cloud print-compatible printer 104 can receive print data from the client terminal 101 via the cloud print server 102, or can receive print data directly from the client terminal 101 without going through the cloud print server 102.
[0042] The cloud print-compatible printer 104 receives print data generated by the cloud printer driver 111 of the client terminal 101 via the cloud print server 102. The cloud print-compatible printer 104 also receives print data generated by the local printer driver 113 of the client terminal 101 without going through the cloud print server 102.
[0043] The cloud print server 102 receives print instructions and print data from an external device, and then transmits the received print data to a predetermined cloud print-compatible printer 104.
[0044] 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 the application identified based on the received identification information.
[0045] 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 that describes information for expanding the functions of the client terminal 101.
[0046] Next, the hardware configuration of the system of this embodiment will be described with reference to FIG.
[0047] FIG. 2( a ) is a block diagram showing the hardware configuration of the client terminal 101 .
[0048] 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 .
[0049] The storage unit 214 refers to a non-volatile storage device such as a hard disk or SSD, which is capable of storing and rewriting digital data.
[0050] 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.
[0051] The network communication unit 215 is a device that communicates 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.
[0052] The display unit 216 is a device such as a liquid crystal display for displaying visual information to the user in real time. The operation unit 217 is a device for receiving input from the 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 also be used.
[0053] 2B is a block diagram showing the hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225.
[0054] 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.
[0055] 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).
[0056] 2(c) is a block diagram showing the hardware configuration of the application management server 103. The application management server 103 includes a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235.
[0057] The display unit 236, operation unit 237, storage unit 234, control unit 231, and network communication unit 235 are the same as those of the client terminal 101, and therefore will not be described here.
[0058] Although the application management server 103 will be described as being configured as one information processing device having the hardware configuration shown in FIG. 2(c), the application management server 103 may be configured as a plurality of information processing devices.
[0059] 2(d) is a block diagram showing the hardware configuration of the cloud print-compatible printer 104. The cloud print-compatible printer 104 includes a display unit 246, an operation unit 247, a storage unit 244, a control unit 241, a network communication unit 245, and a printing unit 248.
[0060] The display unit 246 is a device, such as a touch panel or LED, provided on the cloud print-compatible printer 104, for displaying information to the user in real time.
[0061] The operation unit 247 is a device for receiving input from the user, and may include hard keys such as a numeric keypad in addition to 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.
[0062] The network communication unit 245 is a device that communicates with the external network 107, and is mainly responsible for receiving print data and transmitting information about the status of the cloud print-compatible printer 104, such as errors, to an external server or the like.
[0063] The printing unit 248 is a device that performs printing processing by carrying out a series of operations, including paper feeding, printing, and paper ejection, on paper prepared in a cassette or tray. The printing method is not particularly limited, and may be electrophotographic or inkjet. Finishing devices, such as a duplex unit used during paper ejection, staples, and punching, are also included in the printing unit 248.
[0064] In this embodiment, a single-function printer that performs only a printing function is described as an example of the cloud print-compatible printer 104, but a multi-function printer (complex device) that also has a scanner function and a fax function may also be used.
[0065] 2(e) is a hardware block diagram showing 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.
[0066] The online support server is composed of 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 a description thereof will be omitted. The storage unit 254 is a memory device such as an HDD or SSD. The storage unit 254 stores files containing information for expanding 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 that enables 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.
[0068] Next, an example of a user procedure and a sequence between each piece of software and the print service in this embodiment will be described with reference to FIG.
[0069] The print spooler 116 of the OS 114 accepts the selection of a print queue by the user via the document generation application 115 and the cloud printer driver 111 (S301).
[0070] Next, the OS 114 requests capability information of the cloud print-compatible printer 104 from the cloud print service 121 via the print spooler 116 (S302). The capability information to be requested is determined by the OS 114 based on print setting items supported by the OS itself. In the case of cloud printing, the OS 114 requests the capability information determined as the requested target from the cloud print service 121 using a standard IPP protocol such as Get-Printer-Attributes.
[0071] In the case of cloud printing, the cloud print service 121 responds to the OS 114 with the capability information of the cloud print-compatible printer 104 (S303). In the case of local printing, the capability information is requested directly from the cloud print-compatible printer 104 using a standard IPP protocol such as Get-Printer-Attributes, without going through the cloud print service 121.
[0072] As one piece of capability information requested by the OS 114, attributes related to paper media held by the cloud print-compatible printer 104 are requested using Get-Printer-Attributes.
[0073] IPP defines a media database information (media-col-database) attribute and a media feeding completion information (media-col-ready) attribute. A media supply information attribute (media-source-properties) is defined within each of these attributes. If the cloud print-compatible printer 104 supports the media supply information attribute, the attribute is acquired.
[0074] If the loudprint-enabled printer 104 does not support the media supply information attribute, information without the attribute is acquired. The OS 114 acquires media database information or acquires the media supply completion information attribute.
[0075] FIG. 10A shows an example of a request / response packet for acquiring capability information including media supply information attributes from the capability information response of the printer in the communications between S302 and S303, and S307 and S308.
[0076] 10 is an example of an IPP protocol packet in which the cloud print-compatible printer 104 returns a Get-Printer-Attributes response in response to a Get-Printer-Attributes request issued by the OS 114.
[0077] The media supply information attribute is included in the information about the paper size (for example, a No. 4 long envelope) of the media database information attribute included in the printer's response packet. From the information for each paper size, the OS 114 acquires paper information including the media-source-feed-direction attribute value and the media-source-feed-orientation attribute value as member attributes of the media supply information attribute. In Figure 10A, as an example of a response from the printer, the paper orientation is returned as short-edge-first, and the paper rotation angle is returned as 6:reverse-portrait.
[0078] Note that instead of the media supply information attribute in the paper size of the media database information attribute included in the printer's response packet, the media supply information attribute in the media feed completion information (media-col-ready) may be acquired. An example of a printer's response packet is shown in Figure 10B.
[0079] The media feeding completion information has the advantage that it can obtain information about the paper media actually fed into the printer and has a smaller data size than media database information. Therefore, if the OS 114 does not obtain the media database information or media feeding completion information, the print setting extension application 112 may obtain and register the media feeding completion information.
[0080] The OS 114 adds the capability information acquired in S303 to its own device capability information (S304).
[0081] 3, the OS 114 notifies the print setting extension application 112 of an event that allows editing of device capability information via the print spooler 116 (S305). When the print setting extension application 112 receives this event, it can use an OS API that allows editing of device capability information.
[0082] Furthermore, this event enables the device capability collection processing unit 112c of the print setting extension application 112 to directly acquire capability information that is not supported by the OS 114 from the cloud print service 121.
[0083] When the device capability collection processing unit 112c of the print setting extension application 112 receives the device capability information editing event from the OS 114, it requests the cloud print service 121 for capability information of the cloud print-compatible printer 104 (S306).
[0084] At this time, the device capability collection processing unit 112c of the print setting extension application 112 selects a type of capability information to be requested that does not overlap with the type of capability information requested by the OS 114, based on the types of capability information held in the print setting extension application 112. Then, the device capability collection processing unit 112c of the print setting extension application 112 queries the cloud print service 121 about the capability information selected as the request target using an IPP standard protocol such as Get-Printer-Attributes.
[0085] In this way, the print setting extension application 112 can also acquire capability information not supported by the OS 114.
[0086] FIG. 12 shows an example of a print setting GUI displayed by the print setting UI unit 112a based on the capability information acquired by the print setting extension application 112. In FIG.
[0087] The acquired capability information is, for example, "rear tray" or "manual feed tray," which are the setting values (options) for the setting item "paper feed tray" on the setting screen 1201 in Fig. 12. For the setting item "paper type," vendor-specific setting values such as "glossy pro grade" or "T-shirt transfer paper" are applicable.
[0088] The method of S306 is the same as S302, and uses a standard IPP protocol such as Get-Printer-Attributes to specify "stapleless binding," "saddle fold," or "bookbinding" as an argument.
[0089] As one piece of capability information, the print setting extension application 112 requests attributes related to paper media held by the cloud print-compatible printer 104 using Get-Printer-Attributes. In the case of cloud print, the print setting extension application 112 obtains the attributes via the cloud print service 121, and in the case of local print, the print setting extension application 112 obtains the attributes directly from the cloud print-compatible printer 104 without going through the cloud print service 121.
[0090] The print setting extension application 112 acquires the media database information or acquires the media feeding completion information attribute.
[0091] If any of the attribute information includes a media supply information attribute and the cloud print-compatible printer 104 supports the attribute, the attribute is acquired. If the cloud print-compatible printer 104 does not support the media supply information attribute, information without the attribute is acquired.
[0092] In the case of cloud printing, the cloud print service 121 that has received the request for capability information requests the cloud print-compatible printer 104 for capability information using the IPP protocol (S307).
[0093] The cloud print-compatible printer 104 responds with the requested capability information to the cloud print service 112 (S308).
[0094] The cloud print service 112 returns the requested capability information to the device capability collection processing unit 112c of the print setting extension application 112 (S309).
[0095] When the device capability collection processing unit 112c of the print setting extension application 112 acquires the vendor-specific capability information from the cloud print-compatible printer 104, it edits the device capability information held by the OS 114 via the configuration information object (S310).
[0096] A configuration information object is a collection of data required to edit device capability information.
[0097] Because 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, it uses this configuration information object to change the device capability information held by the OS 114. At this time, the device capability collection processing unit 112c of the print setting extension application 112 copies and saves the capability information it has acquired and the capability information acquired by the OS 114 in the application's data storage area as its own device capability information data (S311).
[0098] However, when writing vertically on the address side of a No. 4 long envelope, when writing horizontally on the address side with the envelope flap on the right side, or when writing horizontally on the address side with the envelope flap on the left side, if the printer does not have the rotation capability, the PWG-Raster image must be rotated on the client terminal 101 side, as shown in Figures 11(a), 11(b), and 11(c), respectively.
[0099] As an example, if the cloud print-compatible printer 104 supports the two rotation directions shown in Figures 11(a) and 11(b), the IPP response packet will look like that shown in Figure 10C. If there are two rotation directions for a single No. 4 envelope paper size, the media supply information attribute will include two rotation directions (6: reverse-portrait, 4: landscape).
[0100] Depending on the OS, it may not be assumed that the rotation angles of multiple images will be obtained simultaneously for the capability information of one paper size, and the information regarding rotation in the device capability information edited by the print spooler 116 in S304 may become an undefined value.
[0101] Therefore, in order to accurately obtain the rotation angles of multiple images, the print setting extension application 112 may prioritize the rotation information obtained in S306 directly using an IPP command for the cloud print-compatible printer 104. In this case, the rotation information in the device capability information edited by the print spooler 116 in S304 is ignored.
[0102] Next, the device capability collection processing unit 112c of the print setting extension application 112 passes the edited configuration information object to the OS 114 (S312). Upon receiving the configuration information object from the device capability collection processing unit 112c of the print setting extension application 112, the OS 114 merges the device capability information that the OS itself has with the device capability information that has been added to the configuration information object, and updates it as new device capability information.
[0103] When the OS 114 generates the new device capability information, it enables the print queue and enables the print setting UI unit 112a of the print setting extension application 112 to be activated (S313).
[0104] The print setting UI unit 112a in the print setting extension application 112 is started by the OS 114 and displays a setting screen 1201 as shown in Fig. 12 (S314). This print setting screen does not depend on the type of document generation application 115 used, and can display print setting information supported by the print setting extension application 112.
[0105] The print setting extension application 112 receives print setting information generated based on print setting capability information generated by the OS 114 from the device capability information, and displays it as print settings on the setting screen 1201. At this time, the device capability information edited by the OS 114 in S304 and capability information based on the capability information edited by the print setting extension application 112 in S310 and passed to the OS 114 are passed to the print setting UI unit 112a. As a result, the user can select, specify, and set the functions extended and added by the print setting extension application 112.
[0106] The print setting UI unit 112a in the print setting extension application 112 provides a function that allows the user to change print settings as desired, and when a change is made, the setting value is saved. For example, suppose the user changes the setting value for "borderless" on the setting screen 1201 from "off" to "on." In this case, the print setting information held by the print setting extension application 112 changes from "bordered" to "borderless."
[0107] When the "OK" button is pressed on the setting screen 1201, the print setting UI unit 112a is closed and the print setting operation (S315) is completed. At this time, the print setting UI unit 112a writes the setting values set via the setting screen 1201 to the PrintTicket.
[0108] When the setting screen 1201 is closed and the print setting operation is completed, the user's operation screen returns to the print setting screen provided by the document generation application 115. Meanwhile, the print setting UI unit 112a in the print setting extension application 112 records the setting values set via the UI in a PrintTicket. A PrintTicket is a file that indicates print setting information written in XML format.
[0109] 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).
[0110] Next, the cloud printer driver 111 of the OS 114 receives a print execution instruction when the user issues a print instruction via the document generation application 115 (S317).
[0111] When the cloud printer driver 111 receives a print execution instruction, it converts the data received from the document generation application 115 into intermediate image data (S318). The intermediate image data is data that is generated before being converted into print data such as PDL, and for example, XPS is this.
[0112] The intermediate image data generated by the cloud printer driver 111 is stored in the print spooler 116 of the OS 114 (S319).
[0113] 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.
[0114] In S320, print workflow processing unit 112b receives from print spooler 116 of OS 114 an event notification along with a PrintTicket that records intermediate image data and print setting values set in print setting UI unit 112a.
[0115] 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 holding area of the application (S321).
[0116] 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 processing that performs, as necessary, at least one of correction processing of setting information set in the print setting UI and editing processing of intermediate image data.
[0117] The print spooler 116 of the OS 114 receives the request for print workflow processing, and requests the print workflow processing unit 112b to start up the preview UI 1301 shown in FIG. 13 according to the request content (S323).
[0118] Next, upon receiving the request to start the preview UI 1301, the print workflow processing unit 112b executes print workflow processing (S324). Details of the print workflow processing (S324) will be described later.
[0119] Next, the print workflow processing unit 112b notifies the print spooler 116 of the OS 114 of the end of the preview UI 1301 (S325).
[0120] The print spooler 116 of the OS 114 requests the print workflow processing unit 112b to perform print workflow termination processing (S326).
[0121] As part of the print workflow termination process, the print workflow processing unit 112b executes an IPP attribute value change determination process to determine which IPP attribute value should be changed (S327). The IPP attribute value change determination process (S327) will be described in detail later.
[0122] Once the print workflow processing unit 112b has determined which IPP attribute values to change, it uses the API of OS 114 to specify the IPP attributes and IPP attribute values to be changed and requests the print spooler 116 of OS 114 to generate IPP print setting information (S328).
[0123] IPP print setting information refers to print setting information defined by a combination of IPP attributes and IPP attribute values. For example, if the setting value "rear tray" is selected for the setting item "paper feed tray," the IPP attribute will be "media-source," and the IPP attribute value instructed to the printer will be "rear." Also, if the setting value "standard" is selected for the setting item "print quality," the IPP attribute will be "print-quality," and the IPP attribute value instructed to the printer will be "normal."
[0124] Returning to the explanation of Figure 3.
[0125] Next, print spooler 116 of OS 114 receives the request and generates IPP print setting information (S329). Here, print spooler 116 of OS 114 generates IPP print setting information based on the PrintTicket, and overwrites the IPP attribute values of the IPP print setting information according to the specification for the IPP attributes that have been specified to be changed.
[0126] The print spooler 116 of the OS 114 sends the IPP print setting information to the cloud print service 121 (S330), and the cloud print service 121 sends the IPP print setting information to the cloud print-compatible printer 104 (S331). In the case of local printing, the print spooler 116 of the OS 114 sends the IPP print setting information directly to the cloud print-compatible printer 104.
[0127] In the case of cloud printing, the cloud print-compatible printer 104 notifies the print workflow processing unit 112b of the receipt of the IPP print setting information via the cloud print service 121 and the print spooler 116 of the OS 114 (S332). In the case of local printing, the cloud print-compatible printer 104 notifies the print workflow processing unit 112b of the receipt of the IPP print setting information via the print spooler 116 of the OS 114.
[0128] Next, the print workflow processing unit 112b performs a PDL conversion flag determination process that determines 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.
[0129] Next, the print workflow processing unit 112b passes the edited intermediate image data for printing and the PDL conversion control flag to the print spooler 116 of the OS 114, and requests conversion to the final PDL (S334).
[0130] Next, the print spooler 116 of the OS 114 performs PDL conversion processing using the edited intermediate image data for printing and the PDL conversion control flag (S335). Note that the PDL conversion may be performed by the print setting extension application 112. Details of the PDL conversion processing (S335) will be described later.
[0131] After the PDL conversion process (S335), the print workflow processing unit 112b receives the final PDL as a result of the PDL conversion from the print spooler 116 of the OS 114 (S336).
[0132] Next, the print workflow processing unit 112b passes the final PDL to the print spooler 116 of the OS 114 and requests the generation of print data (S337).
[0133] 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).
[0134] The print spooler 116 of the OS 114 sends the print data in the final PDL to the cloud print service 121 via the print queue (S339). In the case of local printing, the print spooler 116 of the OS 114 sends the print data in the final PDL directly to the cloud print-compatible printer 104 via the print queue without going through the cloud print service 121.
[0135] The cloud print service 121 transmits the print data passed from the print spooler 116 of the OS 114 to the cloud print-compatible printer 104 (S340).
[0136] Although the flow shown in FIG. 3 takes cloud printing as an example, local printing can also be processed in the same way by directly communicating with the cloud print-compatible printer 104 without going through the cloud print service 121.
[0137] Next, the print workflow process (S324) will be described in detail with reference to FIG.
[0138] In this example, the print setting extension application 112, the OS 114, the cloud printer driver 111, and the local printer driver 113 support the PDF format and the PWG-Raster format as PDL formats. However, there are various other format types as PDLs, so the present invention is not limited to these.
[0139] First, the print workflow processing unit 112b reads out the original intermediate image data and PrintTicket saved in S321 (S401).
[0140] Next, the print workflow processing unit 112b temporarily stores the print setting information extracted from the PrintTicket together with the original intermediate image data in a storage area or the like as temporarily saved print setting information (S402).
[0141] Next, the print workflow processing unit 112b executes a rotation responsibility determination process (S403), which will be described in detail later.
[0142] After the rotation responsibility determination process, the print workflow processing unit 112b generates an attribute value table based on the information of the print setting items held in the program of the print setting extension application 112 (S404). The attribute value table includes a preview edit flag item and an IPP attribute item. The preview edit flag indicates whether or not editing or processing of the intermediate image data occurred during preview display. The IPP attribute column stores the IPP attribute corresponding to the target print setting.
[0143] The IPP attribute values to be instructed to the printer are the IPP attribute values determined in the IPP attribute value change determination process (S327), which will be described in detail later.
[0144] After the attribute value table generation process (S404), the print workflow processing unit 112b copies the original intermediate image data temporarily saved in S402, generates intermediate image data (XPS) for preview, and processes the preview intermediate image data based on the temporarily saved print setting information saved in S402 (S405).
[0145] Next, the print workflow processing unit 112b displays the edited intermediate image data on the preview UI 1301 (S406), and accepts changes to the print settings via the preview UI 1301 (S407).
[0146] The print settings accepted by the preview UI 1301 do not have to be the same as the print settings that can be specified in the print setting UI (FIG. 12). For example, it is possible to omit displaying settings that are primarily "automatic" settings, such as "paper feed tray" and "output tray," on the preview UI 1301.
[0147] For the preview UI 1301, the image rotation angle and paper orientation are drawn by referencing registration information such as the combination table for rotating images for each paper size shown in Fig. 14. The "image rotation angle" in Fig. 14 indicates the rotation angle according to the printer's paper orientation required when PDL converting the print data sent to the printer in S338 into a PWG-Raster image. Therefore, the "image rotation angle" is not used to rotate the intermediate image data for preview itself, but is used to reflect the paper orientation and the rotation angle of the image after printing in the preview display so that you can visually check the paper orientation and the rotation angle of the image after printing.
[0148] 14 shows only the paper sizes of No. 4 long, No. 2 square, and DL envelopes, but it is also possible to store information about various paper sizes with a fixed printing orientation, such as postcards and preprinted paper. The present invention is also considered useful when it is possible to select the orientation of plain paper, such as A4 size, to be set in the paper feed unit, either portrait or landscape.
[0149] For example, suppose you have set "Paper size" = No. 4 long, "Original image orientation" = Landscape, and "Paper feed tray" = Rear tray on the setting screen 1201. In that case, in accordance with the printer capability information shown in Fig. 14, the paper feed direction for a No. 4 long envelope paper size to the printer must be such that the bottom edge of the envelope's physical media is the leading edge, as shown in Fig. 11(a).
[0150] For example, consider the case where the "image rotation angle" corresponding to the "original image orientation" and "paper orientation" shown in Figure 14 is only 180° (reverse-portrait). In this case, it may be determined that the bottom edge of the physical media needs to be fed first, and a flap may be drawn at the rear edge of the media to be fed.
[0151] To assist in visual confirmation of the paper orientation and image rotation angle relative to the paper feed tray, the preview UI narrows down the paper orientations for the paper size selected in the "Paper Size" settings using the paper orientation and rotation angle information in the capability information. Visual auxiliary information is added to the preview screen based on the narrowed down paper orientation and rotation angle. The print setting UI unit 112a draws a portion of the paper feed tray and an arrow pointing from the preview image to the paper feed tray as auxiliary information, superimposed in the corner of the preview screen. The paper feed tray drawing as auxiliary information is displayed as an icon in the corner of the preview screen.
[0152] In the example of Fig. 13, part of the paper feed tray is drawn as an icon on the left side of the preview screen according to the paper orientation and rotation angle from the capability information. According to the paper orientation and rotation angle, the relative positional relationship between the paper feed tray and the orientation of the preview image is drawn as auxiliary information on either the left, right, bottom, or top of the preview screen.
[0153] In this way, an image showing how to arrange paper in the paper feed tray is displayed. Also, an image showing the print result is displayed. Therefore, even if the user does not understand the meaning of each item of print settings, the paper orientation and the rotation angle of the printed image can be visually confirmed in the relative positional relationship between the printing device and the intermediate image data for preview after editing and processing.
[0154] Next, the print workflow processing unit 112b detects a user operation (S408), and continues to display the preview (S406) and accept changes to the print settings (S407) until a user operation is detected.
[0155] If 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 (S409).
[0156] Then, the print workflow processing unit 112b returns to step (S405) and repeats the editing and processing of the intermediate image data, the preview display process, and the print setting change acceptance process until it detects in S409 that the OK button has been pressed.
[0157] In step S410, if the print workflow processing unit 112b detects that the "OK" button has been pressed, it saves the confirmed print setting information in the data holding area of the application (S411, confirmed data saving process). Here, the confirmed print setting information refers to the original intermediate image data saved in S402 and the temporarily saved print setting information updated in S409. Here, the attribute value table is also updated according to the editing status during preview and saved in the data holding area of the application.
[0158] Specifically, when updating the attribute value table, if editing of intermediate image data occurs during preview display, the preview edit flag of the attribute value table for the corresponding print setting is enabled, and the preview edit flag of the print setting for which editing of intermediate image data does not occur during preview display is disabled.
[0159] Next, the rotation responsibility determination process (S403) will be described in detail with reference to Fig. 5A. Details of the determination criteria used in the rotation responsibility determination process will be described in conjunction with Figs.
[0160] 5A shows processing in which rotation in the OS 114 is uniformly suppressed, prioritizing rotation according to the setting value selected on the setting screen 1201 of the print setting extension application 112. The print workflow processing unit 112b suppresses rotation control at the OS layer, and then executes rotation control in the print workflow processing unit 112b when it is determined on the client terminal 101 side that image rotation for the corresponding paper size is necessary.
[0161] Therefore, at the beginning of the rotation responsibility determination process (S403), it is uniformly determined that "rotation is not performed" during PDL conversion of the OS (S5101).
[0162] The print workflow processing unit 112b reads the capability information saved in S311 and determines whether the printer 104 or the client terminal 101 is responsible for rotation. Fig. 8 shows an example of criteria for determining the printer's rotation capability and rotation information for each paper size, among the capability information that can be acquired from the printer.
[0163] One of the capability information saved in S311 is the "format type" ("document-format-supported"), which is information about the PDL format. Examples of "possible values" are PDF (MIME type="application / pdf") and PWG-Raster (MIME type="image / pwg-raster").
[0164] First, the print workflow processing unit 112b determines whether the PDL format is a raster format by referencing the value of the capability information of the format type acquired from the cloud print-compatible printer 104. If the format type is "application / pdf", it is determined that the PDL format is one for which the printer is responsible for rotation.
[0165] Since the printer is responsible for rotation, the print workflow processing unit 112b determines that rotation will not be performed by the print setting extension application (S5103). Because the printer is responsible for rotation, it is also necessary to determine that rotation will not be performed during PDL conversion by the OS, but this determination has already been made uniformly in S5101.
[0166] If the format type is "image / pwg-raster," the print workflow processing unit 112b determines that the format is a PDL format for which the client terminal 101 is responsible for rotation (S5102: Yes).Then, the print workflow processing unit 112b appropriately rotates the original image to match the conveyance direction of each paper size supported by the paper feed tray, converts it into a raster image for printing, and transmits it.
[0167] Because the client terminal 101 is responsible for rotation, the print workflow processing unit 112b checks whether there is rotation information for each paper size to be referenced when rotating using the print setting extension application. To do this, it checks the media supply information attributes acquired from the cloud print-compatible printer 104 in the capability information request of S302. The print workflow processing unit 112b references the member attributes of the IPP media supply information attributes shown in FIG. 8.
[0168] Then, it is determined whether or not there is a "media-source-feed-orientation" attribute related to the "paper rotation angle" and an IPP attribute "media-source-feed-direction" attribute related to the "paper orientation" (S5104).
[0169] "Paper Orientation" indicates whether the paper is fed from the short edge (Short-Edge-First) or the long edge (Long-Edge-First) in the printer's paper tray. The value of the "Paper Orientation" field uses the IPP media-source-feed-direction attribute (possible values: long-edge-first, short-edge-first).
[0170] "Paper rotation angle" is a capability response that uses the media-source-feed-orientation attribute to indicate the angle by which the client terminal must rotate the image based on the combination of the original image orientation and the paper orientation. The possible values for this attribute are portrait, reverse-portrait, landscape, and reverse-landscape.
[0171] The rotation attribute in device capability information may support custom definitions that allow you to set rotation angles not defined in the IPP attribute. In such cases, you may want to be able to specify rotation angles other than 0 degrees, 90 degrees left, 90 degrees right, and 180 degrees. In this case, you can extend the IPP attribute in your own way, define your own rotation angle in advance, such as landscape-custom or printer-custom, and make it possible to obtain it in the printer capability information. This allows you to create a vendor-specific print setting UI or print job editing function.
[0172] For each paper size, the presence or absence of the "media-source-feed-orientation" attribute and the "media-source-feed-direction" attribute and attribute value is checked. If both the paper rotation angle attribute value and the paper orientation attribute value exist, it is determined that the print setting extension application will rotate the paper (S5105).
[0173] In the rotation responsibility determination process (S403), the print workflow processing unit 112b registers the "paper orientation" and "paper rotation angle" that can be taken for each paper size using the media supply information attributes and their member variables acquired from the printer 104 (S5106).
[0174] If the IPP media supply information attribute is mapped to the rotation attribute of the device capability information in the OS, the device capability information that the OS itself has is edited based on the acquired capability information in S304. Alternatively, based on the acquired capability information, the device capability information that the OS itself has is merged with the device capability information that was added to the configuration information object in S312, and the merged information is updated as new device capability information.
[0175] Therefore, the name of the defined value for the rotation angle may change before and after mapping, and the defined value registered in S5106 does not need to match exactly. For example, even if the IPP attribute is reverse-portrait, the rotation attribute in the device capability information within the OS may be mapped to a different definition such as PortraitFlipped. Even if the name of the IPP attribute differs from the definition of the converted device capability information within the OS, the print workflow processing unit 112b has an attribute mapping correspondence table for the rotation angle.
[0176] FIG. 14 shows an example of a method for rotating an image for each paper size by combining options for the setting items on the setting screen 1201 and the capability information of the cloud print-compatible printer 104.
[0177] As an example of a printer that supports No. 4, No. 2, and DL envelopes, the combinations of print settings that can feed paper from the rear tray of the cloud print-compatible printer 104 are indicated by "○".
[0178] The print workflow processing unit 112b refers to the image rotation angle ("media-source-feed-orientation" attribute) acquired from the media supply feed angle attribute for each printer paper size / paper feed tray in "image rotation angle." Then, it registers information equivalent to a "○" or "×" mark for each paper size in a table as shown in Figure 14.
[0179] For example, suppose that for a No. 4 rectangular paper, the print settings are "Original image orientation" = portrait and "Paper orientation" = paper fed from the short edge on the setting screen 1201. In this case, the "Image rotation angle" that can be printed with the "Paper size" = No. 4 rectangular paper is uniquely determined to be 180° (reverse-portrait).
[0180] However, Figure 8 shows that even if the "paper feed tray," "original image orientation," and "paper orientation" are determined for a particular printer, there is no single "image rotation angle," and there are cases where two possible combinations remain. For example, in the case of printing on No. 4 long paper size in the rear tray of a particular printer, even if the "original image orientation" is determined to be landscape and the "paper orientation" is determined to be fed from the short side, two combinations remain for the "image rotation angle": 90° left and 90° right.
[0181] In this case, the default setting is a 90° left rotation, and then the image rotation setting item can be displayed on the setting screen 1201 so that it can be changed to a 90° right rotation on the setting screen 1201, allowing the user to select "Envelope: Horizontal (90° left)" or "Envelope: Horizontal (90° right)."
[0182] Combinations of "original image orientation," "paper orientation," and "image rotation angle" that cannot be fed from the rear tray of the cloud print-compatible printer 104 are indicated by "x" marks in FIG.
[0183] As a result of checking the media supply information attributes acquired from the printer 104 in response to the capability information request in S302 in S5104, if the media supply information attributes cannot be acquired or there is no rotation specification, the rotation direction is registered without using the printer capability information (S5107).
[0184] Since capability information cannot be used to register the rotation direction, the print workflow processing unit 112b stores a rotation correspondence table such as that shown in FIG. 14 in advance in the storage unit 214 and references it in the determination process of S5107.
[0185] 6 shows an example of the process of making the determination in S5107 using the rotation correspondence table stored in the storage unit 214. However, if the rotation correspondence table is used without using the capability information of the cloud print-compatible printer 104, there is a concern that the printer may operate erroneously if the capability information of the cloud print-compatible printer 104 changes, so the capability information is referenced if the necessary capability information is obtained. However, some printers may not support the media supply information attributes, so using the rotation correspondence table allows for appropriate handling.
[0186] The print workflow processing unit 112b acquires the paper size and paper feed tray specified in the print setting information and determines whether image rotation is required by the print setting expansion application by referring to the rotation correspondence table (S601). Note that the manual changeover switch for rotation control in S602 is not used in this embodiment, so it is always determined that the print setting expansion application is valid.
[0187] If the result of the determination in S601 is that the image does not need to be rotated, it is determined that the print setting extension application will not rotate it (S605).If the result of the determination in S601 is that the image needs to be rotated, it is determined that the print setting extension application will rotate it (S603).
[0188] If it is determined that the image needs to be rotated, the rotation direction is registered by referring to the "image rotation angle" in the rotation correspondence table of Fig. 14 (S604). Note that if the rotation correspondence table stored in the storage unit 214 is used and capability information is not used, the "image rotation angle" is not the media supply information attribute acquired from the cloud print-compatible printer 104 but the "image rotation angle" stored in the storage unit 214.
[0189] Next, the PDL conversion flag determination process (S333) will be described in detail with reference to FIG.
[0190] The print workflow processing unit 112b reads the original intermediate image data saved in S321 and the finalized print setting information saved in S411 from the data storage area of the application.
[0191] The print workflow processing unit 112b refers to the result of the rotation responsibility determination process (S403) (S701).
[0192] As a result, if the print extension application determines that the image should be rotated, the image rotation direction determined in S5106 or S604 is acquired (S702). The image rotation direction here refers to the paper rotation angle corresponding to the paper size specified on the print settings screen 1201 and the designated value for the paper orientation.
[0193] Then, the original intermediate image data is edited and processed, the image is rotated using the rotation direction acquired in S702, and edited intermediate image data for printing is generated (S703, S704).
[0194] The rotation attribute in device capability information may support custom definitions that allow you to set rotation angles not defined in the IPP attribute. In such cases, you may want to be able to specify rotation angles other than 0 degrees, 90 degrees left, 90 degrees right, and 180 degrees. In such cases, you can extend the IPP attribute in your own way and define your own rotation angles in advance, such as landscape-custom or printer-custom, so that you can obtain them in the printer capability information.
[0195] Then, in S703, the image is edited according to the uniquely defined rotation angle. This makes it possible to realize a vendor-specific print setting UI and print job editing function. Here, the original intermediate image data refers to the intermediate image data generated by the cloud printer driver 111 in S318.
[0196] If the print setting extension application 112 determines in S701 that "rotation is not performed," the print setting extension application 112 does not perform rotation editing. Note that if there is any processing or editing to be performed by the print setting extension application 112 other than rotation, it is performed in S703.
[0197] If the OS determines in S705 that "rotation will be performed" during PDL conversion, it is determined that the PDL conversion control flag corresponding to "rotate" will be used as a parameter when executing the PDL conversion process of the OS (S706). If the OS determines in S705 that "rotation will not be performed" during PDL conversion, it is determined that the PDL conversion control flag corresponding to "no rotation" will be used as a parameter when executing the PDL conversion process of the OS (S707). The PDL conversion control flag is passed from the print extension application to the OS.
[0198] Next, details of the PDL conversion process (S335) will be explained using Fig. 9. Note that the PDL conversion shown in this example is just an example.
[0199] When printing in PWG-Raster format, it is the responsibility of the client terminal 101 to appropriately rotate the original image to match the transport orientation of each paper size supported by the paper feed tray, then convert it into a raster image for printing and send it. Therefore, when printing in PDF format, regardless of whether the media supply information attribute is present or not, the image is not rotated by the client terminal 101, but is rotated on the printer side.
[0200] First, the print spooler 116 of the OS 114 extracts page data from the intermediate data for printing received from the print workflow processing unit 112b in S334 (S901).
[0201] 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 (S902).
[0202] The print spooler 116 of the OS 114 refers to the PDL conversion control flag and determines whether there is a registration corresponding to "rotate" (S903). The print spooler 116 of the OS 114 determines whether there is a rotation specification in the media supply information attributes that match the paper feed tray / paper size set for printing.
[0203] The OS 114 edits the device capability information in S304 based on the media supply information attributes included in the capability information response in S303. Therefore, the print spooler 116 of the OS 114 determines whether rotation is specified for each paper size based on the rotation information in the device capability information (S905). The print spooler 116 of the OS 114 determines the image rotation angle using information including paper size, paper tray, and paper type from the print setting information and device capability information.
[0204] If the IPP media supply information attribute is mapped to the rotation attribute of the device capability information in the OS, the device capability information that the OS itself has is edited based on the acquired capability information in S304. Alternatively, based on the acquired capability information, the device capability information that the OS itself has is merged with the device capability information that was added to the configuration information object in S312, and the merged information is updated as new device capability information.
[0205] For this reason, the name of the rotation angle definition value may change before and after mapping, and the definition value registered in S5106 does not need to match exactly. For example, even if the IPP attribute is reverse-portrait, the rotation attribute in the device capability information within the OS may be mapped to a different definition such as PortraitFlipped. Even if the name of the IPP attribute and the definition of the converted device capability information within the OS differ, the OS itself has an attribute mapping correspondence table for rotation angles.
[0206] The OS 114 determines whether the rotation angle of the image to be specified is Reverse-Portrait based on the print setting information and device capability information (S906).
[0207] If the page data is determined to be Reverse-Portrait data in S906, the print spooler 116 of the OS 114 rotates the page data 180 degrees counterclockwise (S907).
[0208] If the page data is not Reverse-Portrait data in S906, the print spooler 116 of the OS 114 proceeds to the next step (S908): The OS 114 determines from the print setting information and device capability information whether the rotation angle of the image to be specified is Landscape or Reverse-Landscape (S908).
[0209] If Landscape is specified as the image rotation angle in S908, the print spooler 116 of the OS 114 rotates the page data 90 degrees counterclockwise (S909). If Reverse-Landscape is specified as the image rotation angle in S908, the print spooler 116 of the OS 114 rotates the page data 90 degrees clockwise (S909).
[0210] If rotation is specified in any of S906, S909, and S910, information on the rotation angle of the image specified in the Orientation attribute of the header information of the PWG-Raster data is written for each page.
[0211] If the image rotation angle is not Landscape or Reverse-Landscape in S908, the print spooler 116 of the OS 114 proceeds to the next step (S910): The print spooler 116 of the OS 114 references the print setting information received from the print workflow processing unit 112b in S329 and determines whether the paper feed transport direction of the specified paper feed tray is LongEdgeFeed (S910).
[0212] The print spooler 116 of the OS 114 determines whether a paper orientation is specified in the media supply information attributes that match the paper feed tray / paper size specified for printing. The OS 114 edits the device capability information in S304 based on the media supply information attributes included in the capability information response in S303. Therefore, the print spooler 116 of the OS 114 determines whether a paper orientation is specified for each paper size based on the paper orientation information in the device capability information (S910).
[0213] The print spooler 116 of the OS 114 determines the paper orientation using information including paper size, paper feed tray, and paper type based on the print setting information and device capability information. If the paper feed direction of the specified paper feed tray is LongEdgeFeed in S910, the print spooler 116 of the OS 114 further rotates the page data by 90 degrees counterclockwise (S911).
[0214] If it is determined in step S910 that the paper feed transport direction of the specified paper feed tray is not LongEdgeFeed, the print spooler 116 of the OS 114 proceeds to the next determination (step S904).
[0215] If a PDL conversion control flag has been received in S902, the print spooler 116 of the OS 114 determines whether the PDL conversion control flag corresponds to "rotate" (S903).
[0216] If the PDL conversion control flag corresponds to "rotate" in S903, the processes from S905 to S913 are executed. If the PDL conversion control flag does not correspond to "rotate" in S903, the print spooler 116 of the OS 114 checks whether all page data has been processed without performing any processing on the page data (S904).
[0217] If all page data has been determined in S904, the printing intermediate data is converted into PDL (S913). If undetermined page data remains in S904, the page to be determined moves to the next page and the processes of S901 to S904 are repeated.
[0218] Next, the IPP attribute value change determination process (S327) will be described in detail.
[0219] The print workflow processing unit 112b reads out an attribute value table from the application's data storage area. For example, if the setting item is the "rear tray" option in the "paper feed tray" item, the IPP attribute in the attribute value table will be "media-source," and the IPP attribute value instructed to the printer will be "rear" and sent via the IPP protocol. For example, if the setting item is the "standard" option in the "print quality" item, the IPP attribute in the attribute value table will be "print-quality," and the IPP attribute value instructed to the printer will be "normal" and sent via the IPP protocol.
[0220] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting extension application 112 controls the division of responsibilities between PDL conversion by the OS based on the printer capabilities and rotation by the print setting extension application. By suppressing unnecessary duplication of page rotation by the OS and the print setting extension application, it becomes possible to obtain the intended print results.
[0221] <Embodiment 2> In this embodiment, an example will be described in which, when the printer 104 does not have the ability to rotate an image, priority is given to determining that the OS 114 is responsible for rotation, and rotation in the print setting extension application 112 is suppressed. Specific processing according to this embodiment will be described using FIG. 5B. 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 their description will be omitted.
[0222] As a difference from the first embodiment, details of the rotation responsibility determination process (S403) will be described with reference to Fig. 5B. Details of the determination criteria used in the rotation responsibility determination process will be described with reference to Figs. 6, 8, and 14. Fig. 5B shows the process when rotation control by the OS 114 is prioritized and rotation control by the print setting extension application 112 is suppressed.
[0223] The print workflow processing unit 112b reads the capability information saved in S311 and determines whether the printer 104 or the client terminal 101 is responsible for rotation. Fig. 8 shows an example of criteria for determining the printer's rotation capability and rotation information for each paper size, among the capability information that can be acquired from the printer.
[0224] One of the capability information saved in S311 is the "format type" ("document-format-supported"), which is information about the PDL format. Examples of "possible values" are listed as PDF (MIME type="application / pdf") and PWG-Raster (MIME type="image / pwg-raster").
[0225] First, the print workflow processing unit 112b determines whether the PDL format is a raster format (S5201) by referring to the value of the capability information of the format type acquired from the cloud print-compatible printer 104. If the value of the capability information of the format type is "application / pdf", it determines that the PDL format is one for which the printer is responsible for rotation (S5201: No).
[0226] Since the printer is responsible for rotation, it is determined that rotation will not be performed during PDL conversion by the OS (S5202).Since the printer is responsible for rotation, the print workflow processing unit 112b determines that rotation will not be performed by the print setting extension application (S5203).
[0227] If the value of the format type capability information acquired from the printer 104 is "image / pwg-raster," the print workflow processing unit 112b determines that the PDL format is one for which the client terminal 101 is responsible for rotation (S5201: Yes). In this case, the original image is rotated appropriately to match the conveyance direction of each paper size supported by the paper feed tray, and then converted into a raster image for printing and sent.
[0228] Because the client terminal 101 is responsible for rotation, the print workflow processing unit 112b checks the media supply information attributes acquired in the capability information request of S302 to see if there is rotation information for each paper size that is referenced when rotating by the OS 114. The print workflow processing unit 112b references the member attributes of the media supply information attributes and determines whether there is a "media-source-feed-orientation" attribute related to the "paper rotation angle" shown in FIG. 8 and an IPP attribute "media-source-feed-direction" attribute related to the "paper orientation" (S5204).
[0229] Depending on the type and version of the OS, image rotation using media supply information attributes may not be supported during OS PDL conversion. Therefore, if it is determined that the OS is not compatible, it may be determined that no rotation will be performed during OS PDL conversion (S5208).
[0230] The explanation of "paper orientation" and "paper rotation angle" in FIG. 8 is the same as in the first embodiment.
[0231] For each paper size, the presence or absence of the "media-source-feed-orientation" attribute and the "media-source-feed-direction" attribute and attribute value is checked. If both the paper rotation angle attribute value and the paper orientation attribute value exist (S5204: Yes), it is determined that the OS 114 will rotate the paper (S5205).
[0232] Since the OS 114 has determined that rotation is to be performed, the print workflow processing unit 112b determines that rotation is not to be performed by the print setting extension application 112 (S5206).
[0233] In the rotation responsibility determination process (S403), the print workflow processing unit 112b registers (S5207) the "paper orientation" and "paper rotation angle" that can be taken for each paper size using the media supply information attributes and their member variables acquired from the printer 104. Specifically, this is the same as in the first embodiment (see FIGS. 6 and 14, etc.), so a detailed description will be omitted.
[0234] Next, details of the PDL conversion process (S335) will be explained using Fig. 9. Note that the PDL conversion shown in this example is just an example.
[0235] When printing in PWG-Raster format, it is the responsibility of the client terminal 101 to appropriately rotate the original image to match the transport direction of each paper size supported by the paper feed tray, then convert it into a raster image for printing and send it. Therefore, when printing in PDF format, regardless of the presence or absence of the media supply information attribute, the image is not rotated on the client terminal 101 side, but is rotated on the printer side.
[0236] First, the print spooler 116 of the OS 114 extracts page data from the intermediate data for printing received from the print workflow processing unit 112b in S334 (S901).
[0237] 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 (S902).
[0238] If the PDL conversion control flag has been received, the print spooler 116 of the OS 114 refers to the PDL conversion control flag and determines whether there is a registration corresponding to "rotate" (S903).
[0239] In this embodiment, rotation by OS114 is given priority, and the PDL conversion control flag is set to "rotate" in the control flow of Fig. 5B and in S707. Therefore, rotation control in S905 to S913 is performed in PDL conversion by OS114 according to each determination process.
[0240] The decision flow from S905 to S913 is the same as in the first embodiment, so a description thereof will be omitted.
[0241] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting extension application 112 controls the division of responsibilities between PDL conversion by the OS based on the printer capabilities and rotation by the print setting extension application. By suppressing unnecessary duplication of page rotation by the OS and the print setting extension application, it becomes possible to obtain the intended print results.
[0242] <Embodiment 3> In this embodiment, when the printer 104 does not have the ability to rotate images, an example is described in which the rotation responsibility is controlled to be performed by either the OS 114 or the print setting extension application 112, and the control is manually switched using the print setting UI provided in the print setting extension application 112.
[0243] Specific processing according to this embodiment will be described with reference to Fig. 5C. Only the differences from embodiment 1 will be described here. The system configuration and hardware configuration are the same as embodiment 1 except for some parts, so their description will be omitted.
[0244] As a difference from the first embodiment, the rotation responsibility determination process (S403) will be described in detail with reference to Fig. 5C. Details of the determination criteria used in the rotation responsibility determination process will be described in conjunction with Figs.
[0245] 12 shows a setting screen 1201 displayed by the print setting UI unit 112a of the print setting extension application 112. Pressing the "Advanced Settings..." button at the bottom left of the screen displays the "Image Rotation Settings" setting item. In the "Image Rotation Settings," a setting value is selected from either "Rotate by OS" or "Rotate by print extension application."
[0246] FIG. 5C shows an example of processing when manually switching whether the rotation is to be performed by the OS 114 or the print setting extension application 112 using a print setting UI provided in the print setting extension application 112.
[0247] The processes of S5301, S5302, and S5303 of the print workflow processing unit 112b are the same as S5201, S5202, and S5203 in the second embodiment, and therefore the description thereof will be omitted.
[0248] The print workflow processing unit 112b acquires the setting value of the "image rotation setting" setting item from the setting screen 1201 (print setting UI unit 112a) and determines whether the "rotate by OS" setting value is enabled (S5304).
[0249] If the "Rotate by OS" setting value is enabled in S5304, the print workflow processing unit 112b checks the media supply information attribute acquired in the capability information request in S302 to see if there is rotation information for each paper size to be referenced when rotating by the OS 114. The print workflow processing unit 112b references the member attributes of the media supply information attribute.
[0250] Then, it is determined whether or not there is a "media-source-feed-orientation" attribute for "paper rotation angle" and a "media-source-feed-direction" attribute for "paper orientation" (S5309) shown in Fig. 8. The explanation of "paper orientation" and "paper rotation angle" in Fig. 8 is the same as in the first embodiment.
[0251] For each paper size, the presence or absence of the "media-source-feed-orientation" attribute and the "media-source-feed-direction" attribute and attribute value is checked. If both the paper rotation angle attribute value and the paper orientation attribute value exist (S5309: Yes), it is determined that rotation will be performed during PDL conversion by the OS (S5310). Furthermore, the print workflow processing unit 112b determines that rotation will not be performed by the print setting extension application 112 (S5311).
[0252] If the paper rotation angle attribute value and paper orientation attribute value do not exist (S5309: No), it is determined that no rotation will be performed during PDL conversion by the OS (S5312).
[0253] If the setting value of "Rotate with print extension application" is enabled in S5304, it is determined that rotation will not be performed during PDL conversion by the OS (S5305).
[0254] Furthermore, the print workflow processing unit 112b, in the same manner as in the rotation designation presence / absence processing of S5309, references the member attributes of the media supply information attributes and determines whether or not a rotation designation attribute exists (S5306).
[0255] If rotation is specified (S5306: Yes), it is determined that rotation will be performed by the print setting extension application (S5307). Also, similar to S5106 in the first embodiment, rotation information is registered from the device capability information or capability information (S5308).
[0256] If rotation is not specified (S5306: No), it is determined that rotation will not be performed by the print setting extension application (S5311).
[0257] As described above, according to this embodiment, the print workflow processing unit 112b in the print setting extension application 112 can control the division of responsibilities for PDL conversion by the OS and rotation by the print setting extension application by manually switching via the print setting UI. By suppressing unnecessary duplication of page rotation by the OS and the print setting extension application, it becomes possible to obtain the intended print result.
Claims
1. An application program, an information processing device communicably connected to a printing device; acquiring information on the size of paper to be printed by the printing device; determining whether or not an image instructed to be printed by the information processing device needs to be rotated based on the information on the paper size; If it is determined that the image needs to be rotated, the image is rotated by the application program, rather than by an operating system (OS) of the information processing device. An application program characterized by:
2. 2. The application program according to claim 1, wherein when the rotation by the OS is to be prevented, a PDL conversion control flag for preventing the rotation by the OS is used.
3. 2. The application program according to claim 1, further comprising: displaying an image showing how to arrange the paper in a paper feed unit of the printing device in accordance with the paper size information.
4. 2. The application program according to claim 1, further comprising: displaying an image showing a print result on the paper.
5. 2. The application program according to claim 1, wherein the rotation is performed on intermediate image data, and after the rotation, the intermediate data is converted into print data.
6. 2. The application program according to claim 1, wherein the paper is at least one of an envelope, a postcard, and a preprinted paper.
7. 2. The application program according to claim 1, wherein if it is determined that the OS does not support an image rotation function, it determines not to cause the OS to perform rotation, and causes the application program to perform rotation.
8. 2. The application program according to claim 1, wherein, at the time of the determination, capability information for specifying an image rotation angle and a paper feed direction acquired from the printing device is referenced.
9. 1. A control method for an information processing device communicably connected to a printing device, the method comprising: acquiring information on the size of paper to be printed by the printing device; determining whether or not an image instructed to be printed by the information processing device needs to be rotated based on the information on the paper size; If it is determined that the image needs to be rotated, the image is rotated by the application program, rather than by an operating system (OS) of the information processing device. A control method comprising:
10. 10. The control method according to claim 9, wherein when the rotation by the OS is to be prevented, a PDL conversion control flag for preventing the rotation by the OS is used.
11. 10. The control method according to claim 9, further comprising the step of displaying an image showing how to arrange the paper in a paper feed unit of the printing device in accordance with the paper size information.
12. 10. The control method according to claim 9, further comprising displaying an image showing the print result on the paper.
13. 10. The control method according to claim 9, wherein the rotation is performed on intermediate image data, and after the rotation, the intermediate data is converted into print data.
14. 10. The control method according to claim 9, wherein the paper is at least one of an envelope, a postcard, and a preprinted paper.
15. 10. The control method according to claim 9, wherein if it is determined that the OS does not support an image rotation function, it is determined that the OS will not perform the rotation, and the application program is made to perform the rotation.
16. 10. The control method according to claim 9, wherein, at the time of the determination, capability information for specifying an image rotation angle and a paper feed direction acquired from the printing device is referenced.
17. An information processing device communicably connected to a printing device, wherein the information processing device executes an application program installed therein, Acquire information about the size of paper to be printed by the printing device; determining whether or not the image instructed to be printed by the information processing device needs to be rotated based on the paper size information; When it is determined that the image needs to be rotated, the information processing apparatus rotates the image by the application program, rather than by an operating system (OS) of the information processing apparatus.
Citation Information
Patent Citations
Printing system
JP2006018742A
Program, information processing device and control method
JP2023110778A