Information processing device, control method of the same, application program and recording medium

The information processing device updates device capability information to include unsupported paper sizes, addressing the limitations of generic printer drivers by integrating a print setting extension application, enabling the selection of unsupported sizes for printing.

JP2025129180APending Publication Date: 2025-09-04CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025105037
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-06-20
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

Generic printer drivers limit the paper sizes that can be selected for printing, as they only display sizes supported by the connected printer, preventing the selection of unsupported sizes even when using applications that reference printer capability information.

Method used

An information processing device updates device capability information with additional paper sizes not supported by the printer, allowing applications to create data for unsupported sizes by integrating a print setting extension application that expands the available paper size options.

Benefits of technology

Enables the creation of data in unsupported paper sizes by updating device capability information, enhancing the functionality of generic printer drivers to accommodate a wider range of paper sizes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025129180000001_ABST
    Figure 2025129180000001_ABST
Patent Text Reader

Abstract

To solve such problems that a desired size is not displayed and the sheet size cannot be selected even if a user wants to create a document or drawing data in a size not available in the sheet size of capability information of a printer in an application that creates a document or drawing when using a general-purpose printer driver.SOLUTION: An information processing device updates device capability information stored in advance in an operating system with capability information acquired from a printer, sets printing setting information on the basis of the updated device capability information, acquires intermediate data generated by the operating system on the basis of the set printing setting information, generates printing data on the basis of the intermediate data, adds the capability of the output sheet size to the device capability information on the basis of the capability of the sheet size in the capability information acquired from the printer in the update of the device capability information, and updates the device capability information with predetermined information that includes the sheet size not available in the capability information acquired from the printer for the capability of the sheet size.SELECTED DRAWING: Figure 15
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 thereof, an application program, and a storage medium. [Background technology]

[0002] In recent years, generic printer drivers using industry-standard protocols such as the Internet Printing Protocol (IPP) have been developed. These generic printer drivers include local printer drivers that connect directly to a printer and cloud printer drivers that send print data to a cloud print service.

[0003] A generic printer driver can communicate with printers from multiple different printer vendors, so by using a generic printer driver, users can send print data to general image forming devices, cloud print services, etc. without having to install a vendor-specific printer driver.

[0004] Because such generic printer drivers handle print jobs to be printed on printers from various vendors, the items and functions that can be set as print settings are limited, and the printer capability information that can be obtained from a generic printer driver is also similarly limited.

[0005] Therefore, as described in Patent Document 1, it has been considered to expand the print queue linked to the printer driver by using the identification information of the printer linked to that printer driver, which makes it possible to realize a vendor-specific print setting UI and print job editing function. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent Publication No. 2021-124791 Summary of the Invention [Problem to be solved by the invention]

[0007] Conventionally, a generic printer driver pre-installed in an operating system (OS) acquires printer capability information from settings predetermined by the OS for the printer selected by the user for printing. The printer capability information includes paper size, and the generic printer driver acquires the paper sizes supported by the printer.

[0008] Incidentally, some applications for creating documents, drawings, etc., refer to the printer capability information associated with the print queue selected by the application when setting the paper size of the data to be created, and display paper sizes in the printer capability information so that they can be selected.When using a generic printer driver with such applications, there is a problem that even if a user wants to create document or drawing data in a size that is not included in the paper sizes in the printer capability information, the desired size is not displayed and cannot be selected.

[0009] An object of the present invention is to solve at least one of the problems of the prior art.

[0010] The object of the present invention is to provide a technology that allows data to be created for a paper size that is not supported by a printer, even when using an application that uses a generic printer driver to obtain paper size by referencing the capability information of the printer linked to the print queue selected by the application. [Means for solving the problem]

[0011] In order to achieve the above object, an information processing device according to one aspect of the present invention has the following configuration: updating means for updating device capability information pre-stored in the operating system with capability information acquired from the printer; a setting unit for setting print setting information based on the device capability information updated by the update unit; an acquisition unit that acquires intermediate data generated by the operating system based on the print setting information; a generating unit that generates print data based on the intermediate data, The updating means adds output paper size capabilities to the device capability information based on the paper size capabilities of the capability information acquired from the printer, and updates the device capability information with predetermined information regarding paper size capabilities, including paper sizes not included in the capability information acquired from the printer. [Effects of the Invention]

[0012] According to the present invention, when a generic printer driver is used, an application that acquires a paper size from printer capability information has the advantage that data can be created by selecting a paper size that is not supported by the printer.

[0013] Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings, in which the same or similar elements are designated by the same reference numerals. [Brief explanation of the drawings]

[0014] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. [Figure 1] FIG. 1 is a diagram showing the configuration of a printing system that executes cloud printing according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating the hardware configuration of a client terminal, a server, and a cloud-compatible printer included in the printing system according to the first embodiment. [Figure 3]10 is a diagram illustrating an example of a sequence in which a client terminal installs a print setting extension app for a cloud print-compatible printer from an online support server in the printing system according to the first embodiment. FIG. [Figure 4] 10A and 10B are diagrams showing examples of screens related to printers registered in the client terminal, which are displayed by the OS of the client terminal according to the first embodiment. [Figure 5] FIG. 4 is a diagram showing an example of printer capability information according to the first embodiment. [Figure 6A] FIG. 4 is a diagram showing an example of device capability information in an initial state included in an OS in the first embodiment. [Figure 6B] FIG. 10 is a diagram showing an example of device capability information updated using capability information acquired from a cloud print service in the first embodiment. [Figure 7] FIG. 4 is a diagram showing an example of an extended setup information file according to the first embodiment. [Figure 8] FIG. 10 is a sequence diagram for explaining a process of performing print settings for a cloud print-compatible printer with a print setting extension app according to the first embodiment and transmitting print data. [Figure 9] FIG. 4 is a view showing an example of a print setting screen displayed by a document generation application according to the first embodiment. [Figure 10A] FIG. 10 is a diagram showing an example of device capability information edited by a print setting extension application in the first embodiment. [Figure 10B] FIG. 10 is a diagram showing an example of device capability information edited by a print setting extension application in the first embodiment. [Figure 11] FIG. 10 is a diagram showing an example of a standard print setting screen when a print setting extension application is not linked to a selected print queue in the first embodiment. [Figure 12] FIG. 10 is a diagram showing an example of a print setting screen when a print setting extension application 312 is linked to a selected print queue in the first embodiment. [Figure 13] 10 is a flowchart illustrating the process of the OS up to the installation of a print setting extension application on the client terminal in the first embodiment. [Figure 14] 10 is a flowchart illustrating a process in which a client terminal according to the first embodiment performs print settings using a print setting extension application to generate print data. [Figure 15] 15 is a flowchart for explaining the process of updating device capability information in S1404 of FIG. 14 according to the first embodiment. [Figure 16] 15 is a flowchart for describing the print data generation process in S1413 of FIG. 14 according to the first embodiment. [Figure 17] 17 is a diagram for explaining an example of intermediate data generated by the processing of S1603 to S1610 in FIG. 16 in the first embodiment. [Figure 18] FIG. 3 is a diagram showing an example of a screen displayed on the loud print-compatible printer according to the first embodiment. [Figure 19] 10 is a flowchart illustrating a print data generation process according to the second embodiment. [Figure 20] FIG. 10 is a diagram showing an example of a screen displayed by a print setting extending application according to the second embodiment. [Figure 21] 10 is a flowchart illustrating a print data generation process according to a third embodiment. [Figure 22] 10 is a flowchart illustrating a print data generation process according to a fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0015] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0016] [Embodiment 1] First, a first embodiment of the present invention will be described.

[0017] FIG. 1 is a diagram showing the configuration of a printing system that executes cloud printing according to the first embodiment.

[0018] In this printing system, 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. Note that while Fig. 1 shows 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.

[0019] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may each 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 in this way, the load can be distributed to the plurality of information processing devices.

[0020] Furthermore, the cloud print server 102, application management server 103, and online support server 105 may be virtually configured within a single physical information processing device. Although the network 107 is assumed to be a WAN such as the Internet for connection to cloud services, it may also be a closed environment such as an in-house LAN.

[0021] The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is an information terminal that is directly operated by a user. Any application software can be executed on the client terminal 101. The client terminal 101 includes, as basic software, an operating system (OS) 313, a cloud printer driver 311, a local printer driver 314, a print setting expansion application (print setting expansion application program) 312 (described later), and a document generation application 315.

[0022] 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 the network 107 into image data and prints the image data. This cloud print-compatible printer 104 can receive print data from the client terminal 101 via the cloud print server 102. It can also receive print data directly from the client terminal 101 without going through the cloud print server 102. The cloud print-compatible printer 104 receives print data generated by a cloud printer driver 311 of the client terminal 101 via the cloud print server 102. The cloud print-compatible printer 104 also receives print data generated by a local printer driver 314 of the client terminal 101 without going through the cloud print server 102.

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

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

[0025] The online support server 105 is a server device that provides an online support service 351. The online support service 351 is a server device that provides the client terminal 101 with an extended setup information file that describes information for extending the functions of the client terminal 101.

[0026] Next, the hardware configuration of the client terminal 101, servers 102, 103, and 105, and cloud-compatible printer 104 included in the printing system according to the first embodiment will be described with reference to FIG.

[0027] FIG. 2(a) is a block diagram illustrating the hardware configuration of the client terminal 101 according to the first embodiment.

[0028] 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. The storage unit 214 corresponds to a non-volatile storage device such as a hard disk or SSD, and is capable of saving and rewriting digital data. The control unit 211 includes 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 memory of the CPU 212 and is used as a work area and a temporary storage area for loading various programs. The network communication unit 215 communicates with the external network 107 and performs input and output of digital data with external servers, client terminals, etc. via the network 107. The display unit 216 displays visual information to the user, for example, on an LCD display. The operation unit 217 accepts input from the user via a keyboard, pointing device, 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.

[0029] FIG. 2B is a block diagram illustrating the hardware configuration of the cloud print server 102 according to the first embodiment.

[0030] The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225. The control unit 221 includes a CPU 222 and a memory 223. Explanations of the storage unit 224, the control unit 221, and the network communication unit 225 will be omitted as they are basically the same as the corresponding parts of the client terminal 101. Note that the cloud print server 102 will be explained as being configured with one information processing device having the hardware configuration shown in FIG. 2(b), but the cloud print server 102 may also be configured with multiple information processing devices shown in FIG. 2(b).

[0031] FIG. 2C is a block diagram illustrating the hardware configuration of the application management server 103 according to the first embodiment.

[0032] 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. The control unit 231 includes a CPU 232 and a memory 233. Descriptions of the display unit 236, the operation unit 237, the storage unit 234, the control unit 231, and the network communication unit 235 will be omitted as they are basically the same as the corresponding parts of the client terminal 101. Note that 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), but the application management server 103 may also be configured as multiple information processing devices.

[0033] FIG. 2D is a block diagram illustrating the hardware configuration of the cloud print-compatible printer 104 according to the first embodiment.

[0034] The cloud print-compatible printer 104 includes a display unit 246, an operation unit 247, a memory unit 244, a control unit 241, a network communication unit 245, and a printing unit 248. The display unit 246 displays information to the user using a touch panel or LEDs provided on the cloud print-compatible printer 104. The operation unit 247 accepts input from the user and may include hard keys such as a numeric keypad in addition to the touch panel. The control unit 241 includes a CPU 242 and memory 243. The memory unit 244 and the control unit 241 are basically the same as the corresponding parts of the client terminal 101, so a description thereof will be omitted. The network communication unit 245 communicates with the external network 107. The network communication unit 245 mainly serves to receive print data and transmit information about the status of the cloud print-compatible printer 104, such as errors, to an external server or the like.

[0035] The printing unit 248 performs printing processing by carrying out a series of operations, including feeding, printing, and discharging, on paper (sheets) prepared in a cassette or tray. The printing method used here is not limited to electrophotography or inkjet. Finishing devices, such as a duplex unit used during paper discharge, staples, and punching, are also included in the printing unit 248.

[0036] In the first 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.

[0037] 2(e) is a block diagram illustrating the hardware configuration of the online support server 105 according to embodiment 1. In embodiment 1, the online support server 105 is described as being configured with one information processing device, but it may be configured with multiple information processing devices.

[0038] The online support server 105 has a display unit 256, an operation unit 257, a memory unit 254, a control unit 251, and a network communication unit 255. The functions of the display unit 256 and the operation unit 257 are similar to those of the display unit 216 and the operation unit 217 of the client terminal 101, and therefore a description thereof will be omitted. The memory unit 254 is a memory device such as an HDD or SSD. The memory unit 254 stores an extended setup information file, which is a file that describes information for extending the functions provided by the client terminal 101.

[0039] The control unit 251 includes 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. When the online support server 105 receives a request to acquire a file stored in the memory unit 254 from the client terminal 101 via the network communication unit 255, it transmits the corresponding file to the client terminal 101.

[0040] Next, an example of a user procedure and a sequence between each piece of software and the print service in the first embodiment will be described with reference to FIG.

[0041] FIG. 3 is a diagram illustrating an example of a sequence in which the client terminal 101 installs the print setting extension application 312 for the cloud print-compatible printer 104 from the online support server 105 in the printing system according to the first embodiment.

[0042] First, the cloud print-compatible printer 104 receives from the user a printer registration operation for registering the cloud print-compatible printer 104 with the cloud print service 321. In response to this, in S301, the cloud print-compatible printer 104 transmits a printer registration request together with device identification information of the printer 104 to the cloud print service 321. Here, the device identification information transmitted to the cloud print service 321 is, for example, an HWID (hardware ID) assigned to each printer model. Note that the device identification information may be any information as long as it can identify the printer model.

[0043] When the cloud print service 321 receives this registration request, it sends the URL of the cloud print service 321 for printer registration to the cloud print-compatible printer 104. When the user accesses the URL from the cloud print-compatible printer 104 or an information processing device, an input screen for entering a user ID and password is displayed on the display unit of the terminal that accessed the URL. The user then enters the user ID and password for using the cloud print service 321 and logs in to the cloud print service 321. When the user's login is successful, the cloud print service 321 sends a request to the cloud print-compatible printer 104 to obtain information necessary for printer registration. In response to this request, the cloud print-compatible printer 104 sends printer information to the cloud print service 321.

[0044] Next, the cloud print service 321 that has received the printer registration request registers information about the cloud print-compatible printer 104 and generates a print queue for the cloud print-compatible printer 104. At this time, the cloud print service 321 acquires capability information about the cloud print-compatible printer 104 and links the capability information to the generated print queue. Here, capability information refers to information that indicates the functions installed in the printer 104, and refers to information necessary for the user to set as print settings when printing, such as information about whether double-sided printing is possible, whether color printing is possible, and whether stapling is possible.

[0045] FIG. 5 is a diagram showing an example of printer capability information according to the first embodiment.

[0046] Capability information consists of item names and attribute values. Item names correspond to the setting items in the print settings. Attribute values ​​correspond to the setting values, options, and value ranges that can be set for each setting item. In addition to the item names and attribute values ​​defined as industry standard specifications by IPP, the cloud print-compatible printer 104 also stores item names and attribute values ​​that are uniquely defined by printer vendors. Item names defined as industry standard specifications by IPP include, for example, "paper size," "paper type," and "color mode."

[0047] On the other hand, among the item names shown in FIG. 5 , “Handle mixed paper printing in a single job” 501 and its associated attribute values ​​according to the first embodiment are item names and attribute values ​​defined independently by the printer vendor. In the first embodiment, mixed paper printing refers to printing a document in which different paper sizes are specified for each page by the document generation application 315, exactly as specified. “Handle mixed paper printing in a single job” 501 is an item for setting whether to handle mixed paper printing processing in a single job. In the first embodiment, if the cloud print-compatible printer 104 has this item, the printer is assumed to have the capability to interpret the paper size of each page from the print data and print in a single job according to that setting. Furthermore, if the cloud print-compatible printer 104 does not have this capability or if this setting is off at the time of printing, the mixed paper printing processing is assumed to be divided into multiple jobs and executed. Details of this processing will be described later.

[0048] In addition to "Handle mixed paper printing in a single job" 501, "Save job in printer" 502, "Abbreviate job name" 503, "Stapleless binding" in the "Staple" item, and the attribute values ​​associated with them are item names and attribute values ​​that are uniquely defined by printer vendors.

[0049] In the first embodiment, the cloud print-compatible printer 104 communicates its capability information to the cloud print service 321 using IPP as a communication protocol. The cloud print-compatible printer 104 registers its capability information using a command provided for the cloud print-compatible printer 104 to register its capability information with the cloud print service 321. The cloud print-compatible printer 104 notifies the cloud print service 321 of the item names shown in FIG. 5 and the attribute values ​​and default values ​​corresponding to each item name. The capability information notified here is independent of whether each item and attribute value is defined in IPP. For example, the item names and attribute values ​​of "Handle mixed paper printing as a single job," "Save job in printer," "Shortened job name," and "Stapleless binding" shown in FIG. 5 are also notified to the cloud print service 321. In addition, "saddle fold," which is one of the attribute values ​​of the "folding settings" item and is unique to the printer vendor, is also registered with the cloud print service 321 as one of the attribute values ​​of "folding settings."

[0050] Next, a description will be given of installation of the print setting extension application 312 that is performed when the user performs a setup operation on the client terminal 101 to print with the cloud print-compatible printer 104. When registering the cloud print-compatible printer 104 on the client terminal 101, a standard print function, which is one of the functions of the OS 313 of the client terminal 101, is used.

[0051] In step S302, the OS 313 of the client terminal 101 accepts a printer addition operation, which is a user's setup operation for the cloud print-compatible printer 104. Next, the setup operation for the cloud print-compatible printer 104 will be described.

[0052] FIG. 4 is a diagram showing an example of a screen related to printers registered in the client terminal 101, which is displayed by the OS 313 of the client terminal 101 according to the first embodiment.

[0053] When the user selects an object 401 on this screen, a printer search instruction is input to the OS 313. Upon receiving this printer search instruction, the OS 313 determines whether it holds a token for the cloud print service 321. If the OS 313 does not hold a token, the OS 313 displays a screen for inputting user information (login name and password, not shown). Then, in step S303, the OS 313 of the client terminal 101 transmits the user information input via that screen to the cloud print service 321, and requests user authentication and an access token.

[0054] As a result, in S304, the cloud print service 321 performs authentication processing using the user information received from the client terminal 101. When the cloud print service 321 completes the authentication processing, it notifies the client terminal 101 of the result of the authentication processing. If the user authentication is successful, in S305, the OS 313 of the client terminal 101 acquires an access token from the cloud print service 321. On the other hand, if the user authentication fails in S304, the cloud print service 321 notifies the OS 313 of the client terminal 101 of an authentication error in S306. As a result, the OS 313 of the client terminal 101 stops processing in S307 based on the received authentication error information. If the access token cannot be acquired in this way, the OS 313 of the client terminal 101 ends the processing described in FIG. 3.

[0055] If the OS 313 holds an access token or if the token was acquired in S305, in S308 the OS 313 of the client terminal 101 searches for printers registered in the cloud print service 321 and printers connected to the network 107. At this time, the OS 313 of the client terminal 101 searches for printers by sending a request to acquire information about printers registered in the cloud print service 321. Specifically, the OS 313 of the client terminal 101 sends a request to acquire information about printers, with the access token attached, to the cloud print service 321.

[0056] As a result, in S309, the cloud print service 321 transmits information about the printer that the user identified by the access token attached to the acquisition request is permitted to use to the client terminal 101. Here, the printer information transmitted to the client terminal 101 includes the printer name assigned to the printer registered in the cloud print service 321 and the HWID of that printer.

[0057] In this way, the OS 313 of the client terminal 101 acquires the printer list and the device identification information of each printer sent by the cloud print service 321. In parallel with the processing of S308 and S309, the OS 313 of the client terminal 101 searches for printers connected to the same network as the client terminal 101. This is a device search using mDNS, Bonjour, or the like.

[0058] The OS 313 displays a printer list on the client terminal 101 based on printer information acquired from the cloud print service 321 and printer information detected by searching the network 107. Area 402 in FIG. 4 displays a list of printer information received from the cloud print service 321. Of the information displayed in area 402, "Cloud Printer 001 / 002 / 003" is printer information registered in the cloud print service 321. On the other hand, "Printer XX" with an icon 404 indicates a printer detected by the client terminal 101 by searching the network 107. In this way, printer information acquired from the cloud print service 321 and printer information detected by searching the network 107 are displayed in a list. In this list, icon 403 is added to printer information received from the cloud print service 321, and icon 404 is added to printer information detected by searching the network 107. In this way, it is possible to distinguish between and display information about printers received from the cloud print service 321 and information about printers detected by searching the network 107. Note that the client terminal 101 may be configured to display only information about printers registered in the cloud print service 321.

[0059] Next, the user selects the printer information corresponding to the printer that the user wants to register in the client terminal 101 from the printer information displayed in the area 402 .

[0060] As a result, in S310, the OS 313 of the client terminal 101 queries the cloud print service 321 for printer capability information corresponding to the information on the selected printer. The specifications of the OS 313 determine which setting items the OS 313 of the client terminal 101 queries for capability information, and this is set in the OS 313. The OS 313 of the client terminal 101 queries for capability information by specifying a setting item that has been stored in advance. The setting items that have been stored in advance in the OS 313 are setting items defined as standard specifications by the IPP, such as "paper size," "paper type," and "color mode," for example.

[0061] As a result, in step S311, the cloud print service 321 responds with the capability information of the cloud print-compatible printer 104 to the OS 313 of the client terminal 101.

[0062] In the first embodiment, the information registered in the cloud print service 321 in response to the registration request in S301 is described as being transmitted to the client terminal 101 in S311. However, the capability information registered in the cloud print service 321 may be transmitted to the client terminal 101 at a timing other than the above. For example, the capability information registered in the cloud print service 321 may be transmitted to the client terminal 101 in response to a change in the capability information of the cloud print-compatible printer 104. Furthermore, when a user instructs on a user interface provided by the cloud print service 321 to update the capability information, the updated capability information may be transmitted to the client terminal 101 in accordance with the instruction. Furthermore, the cloud print service 321 may acquire capability information from the cloud print-compatible printer 104 at the timing of S310 and notify the client terminal 101 of the acquired capability information.

[0063] Thus, in S311, the cloud print service 321 responds with attribute values ​​and default values ​​corresponding to the setting items specified by the client terminal 101. Here, the attribute values ​​responded are all attribute values ​​registered in the cloud print service 321, regardless of whether they are attribute values ​​defined as standard. The default values ​​are values ​​that are initially set when the client terminal 101 displays the print setting screen. Note that if the cloud print service 321 does not store a response to the attribute inquired by the OS 313 of the client terminal 101, the cloud print service 321 does not respond to the inquiry from the OS 313. In this way, the OS 313 starts installing the cloud printer driver 311 based on the device identification information and printer name of the printer selected by the user.

[0064] In step S312, the OS 313 generates a print queue for the cloud printer driver 311 that has basic device capability information included in the OS 313. The device capability information refers to definition information required to generate print setting capability information for the printer driver, for example, information written in XML such as PrintDeviceCapabilities.

[0065] FIG. 6A is a diagram showing an example of device capability information in the initial state included in the OS 313. As shown in FIG.

[0066] For example, as indicated by reference numeral 601, "Feature" indicates that "psk:PageMediaSize", which indicates the paper size, is a setting item. "Option" indicates the options corresponding to "psk:PageMediaSize". In the initial values ​​of the device capability information, as shown in FIG. 6A, there are only two options for paper size: "A4" (ISOA4) and "LETTER" (NorthAmericaLetter). This information is linked to the print queue when the print queue is created and stored, and is managed by the OS 313. Note that the initial device capability information is fixed device capability information regardless of the information of the connected printer.

[0067] Thereafter, in step S312, the OS 313 updates the device capability information constituting the cloud printer driver 311 using the capability information acquired from the cloud print service 321. FIG. 6B is a diagram illustrating an example of device capability information updated using the capability information acquired from the cloud print service 321.

[0068] For example, as indicated by reference numeral 602, "Option" other than "A4" and "LETTER" is added to "psk:PageMediaSize" indicating the paper size as a paper size that can be printed by the cloud print-compatible printer 104. Specifically, these include "A3" (ISOA3), "A5 (ISOA5)", and "B4" (JISB4).

[0069] In this way, the client terminal 101 first associates the cloud printer driver 311 with the device capability information included in the OS 313 and registers them in the print queue. The client terminal 101 then updates the device capability information associated with the print queue with capability information acquired from the cloud print service 321. At this time, the OS 313 updates the device capability information using only attribute values ​​defined in industry-standard specifications from the capability information acquired from the cloud print service 321. Therefore, for example, even if a vendor-specific attribute value is acquired as the paper type when acquiring the capability information, the vendor-specific attribute value is not added to the device capability information. This makes it possible to set print setting values ​​defined in industry-standard specifications that cannot be set in the device capability information included with the OS 313.

[0070] This completes the installation of the cloud printer driver 311. By performing the processes up to this point, it becomes possible to send print data from the client terminal 101 to the print queue for the cloud print-compatible printer 104 generated in the cloud print service 321.

[0071] Next, the OS 313 starts the installation process of an application that is linked to the registered printer and that extends the cloud print driver.

[0072] First, the OS 313 performs a process of adding additional identification information to the device identification information. This process is necessary when acquiring the extended setup information file 700 (FIG. 7), which will be described later, from the online support server 105, and this process simply generates a character string that is different from normal device identification information. In the case of the first embodiment, in order to distinguish the application from applications on other devices, the OS 313 adds the additional identification information "PrinterApp_" to the device identification information, indicating that the application is compatible with the printer. Note that "PrinterApp_" is just an example, and other character strings, numbers, or symbols may also be used. As a result of the above process, for example, if the device identification information of the cloud print-compatible printer 104 is "device001," the device identification information after the additional identification information is added becomes "PrinterApp_device001."

[0073] Next, in step S313, the OS 313 sends a search request for the extended setup information file 700 including the target device identification information with additional information to the online support service 351. As a result, the online support service 351 is notified of "PrinterApp_device001" with the additional identification information.

[0074] The online support service 351 stores an extended setup information file 700 shown in FIG.

[0075] FIG. 7 is a diagram showing an example of an extended setup information file 700 according to the first embodiment.

[0076] This extended setup information file is a file that is created by the vendor of the cloud print-compatible printer 104 and registered with the online support service 351.

[0077] The extended setup information file 700 describes an application identifier for identifying a print setting extension application used to set print data sent to the cloud print-compatible printer 104. In the extended setup information file 700 shown in Fig. 7, an item called "PackageFamilyName" 701 is identification information for the print setting extension application. Meanwhile, "PrinterHardwareId" 702 describes a character string in which additional identification information has been added to the identification information of the cloud print-compatible printer 104.

[0078] The online support service 351 stores extended setup information files that describe the identification information of print setting extension applications, as well as extended setup information files that describe the identification information of printer drivers. In the extended setup information files that describe the printer driver identifiers, the printer driver identifiers are described in "PackageFamilyName." Furthermore, the extended setup information files describe device identification information without additional identification information in "PrinterHardwareId."

[0079] In this way, both an extended setup information file describing the printer driver identifier and an extended setup information file describing the print setting application identifier are stored in the online support service 351. Therefore, the OS 313 adds additional identification information to the device identification information in order to acquire the necessary extended setup information file as needed.

[0080] The online support service 351 that receives the search request identifies an extended setup information file whose "PackageFamilyName" matches the device identification information with the additional identification information specified in the request.

[0081] If the search result shows that the online support service 351 stores an extended setup information file 700 containing the target device identification information, the extended setup information file 700 is returned to the OS 313 in S314. At this time, the contents of the extended setup information file 700 are written to the registry of the OS 313. Next, in S315, the OS 313 links the extended setup information written in the extended setup information file 700 obtained from the online support service 351 with the print queue generated in S312 and installs it. Next, in S316, the OS 313 extracts an application ID from the installed extended setup information. This application ID is an identifier specified by "PackageFamilyName" in the extended setup information file 700. The above is the processing when an extended setup file corresponding to the cloud print-compatible printer 104 is stored in the online support service 351.

[0082] On the other hand, as a result of this search, there are cases where the extension setup information file 700 containing the device identification information targeted by the online support service 351 is not found. In this case, the OS 313 completes the installation of the cloud print driver and cancels the application installation process in S317. The OS 313 executes the cancel process in S317 if it is unable to receive the extension setup file within a predetermined time from the search request in S313 or if it receives an error notification from the online support service 351.

[0083] Next, the process from S318 onwards will be described when the OS 313 is able to acquire the extended setup file and extract the application ID in S316.

[0084] In step S318, the OS 313 requests the application management service 331 to search for an application that matches the extracted application ID. The application management service 331 stores the application running on the client terminal 101 in association with the application ID, which is an identifier of the application. The application and application ID are registered in the application management service 331 by the vendor that provides the cloud print-compatible printer 104.

[0085] If the application management service 331 holds a print setting extension application that matches the requested application ID, in S319, the application management service 331 returns the print setting extension application 312 to the client terminal 101. The returned print setting extension application 312 is an application that has been assigned the same ID as the transmitted application ID. As a result, in S320, the OS 313 associates the acquired print setting extension application 312 with a print queue on the client side and installs it. At this time, the OS 313 stores the application ID in the registry as print queue information. The print setting extension application 312 also sets the OS 313 so that the print queue associated with the application sends an event notification at the timing set on the print setting screen. The print setting extension application 312 installed in this way is launched after the client terminal 101 is powered on and the OS 313 is launched, and then operates as a background task.

[0086] On the other hand, if the application management service 331 does not have a print setting extension app that matches the requested application ID, the OS 313 cancels the application installation process in step S321. In this case, the generated print queue and the cloud printer driver 311 are linked and installed, and the print setting extension app 312 is not linked to the print queue, and the process ends.

[0087] In the above description, the search for the extended setup file was performed by adding a predetermined character string to the device identification information of the cloud print-compatible printer 104. However, if the file for installing the printer driver can be distinguished, the search may be performed without adding the predetermined character string.

[0088] Next, an example of a user procedure and a sequence between each piece of software and the print service according to the first embodiment will be described with reference to FIG.

[0089] FIG. 8 is a diagram illustrating an example of a sequence for explaining a process from making print settings for the cloud print-compatible printer 104 in the print setting extending application 312 according to the first embodiment to transmitting print data.

[0090] The document generation application 315 is an application such as a document data creation application, a drawing data creation application, or a photo or image data display application. The document generation application 315 displays a print setting screen (FIG. 9) for selecting a print queue as an initial print setting screen. In the first embodiment, the document generation application 315 displays the initial print setting screen, but the OS 313 may also display a similar screen.

[0091] FIG. 9 is a diagram showing an example of a print setting screen displayed by the document generation application 315 according to the first embodiment.

[0092] This initial print setting screen displays an object 901 for selecting a print queue, an object group 902 for making various print settings including an object 906 for setting a paper size, and a print preview image 903. Each object included in the object group 902 will be described later.

[0093] First, in step S801, the OS 313 selects a print queue associated with the printer set as the default printer. In the first embodiment, it is assumed that the cloud print-compatible printer 104 is selected as the default printer. Note that the processing from step S801 onward is also executed when the user operates the object 901 to change the printer to be used.

[0094] Next, in step S802, the OS 313 queries the queue on the cloud corresponding to the cloud print-compatible printer 104 in the cloud print service 321 for capability information of the cloud print-compatible printer 104. The specifications of the OS 313 predetermine which setting item the capability information is queried for. Therefore, the capability information acquired at this time is the same as that acquired in step S311 in FIG. 3 described above. This query is made to the cloud print-compatible printer 104 using a standard protocol command defined by IPP, such as Get-printer-Attributes. When Get-printer-Attributes is used, the capability information determined by the OS 313 is queried in list format.

[0095] As a result, in S803, the cloud print service 321 responds to the OS 313 with the capability information of the cloud print-compatible printer 104 from the list of capability information sent in Get-printer-Attributes. For example, assume that a paper size attribute is specified in Get-printer-Attributes (IPP). If the cloud print service 321 has a paper size attribute, it responds with a value associated with that attribute (A4, B5, Letter, etc.). If the attribute specified in Get-printer-Attributes does not exist in the queue of the cloud print-compatible printer 104 of the cloud print service 321, the cloud print service 321 does not respond with the associated value. The capability information acquired in S803 is capability information that is queried regardless of the type or capability of the printer to which the OS 313 is connected.

[0096] Next, in S804, the OS 313 updates the device capability information using the capability information acquired from the cloud print service 321. At this time, the OS 313 adds the capability information acquired in S803 of Fig. 8 to the device capability information generated in S312 of Fig. 3. If there is an update to the device capability information, performing S803 makes it possible to update the device capability information managed by the client terminal 101. Note that when updating the device capability information in S804, only attribute values ​​defined by industry standard specifications are updated in the device capability information.

[0097] Next, the process proceeds to step S805, where the OS 313 notifies the print setting extension application 312 of an API (Application Programming Interface) used to edit the event and device capability information. The timing of this event notification is registered when the print setting extension application 312 is installed in the OS 313 of the client terminal 101.

[0098] Upon receiving this event, the print setting extension application 312 requests the cloud print service 321 to acquire capability information in step S806. The capability information acquired here is capability information for writing setting items and attribute values ​​uniquely defined by the printer vendor into device capability information. At this time, when the print setting extension application 312 receives the event from the OS 313 in step S805, it queries the cloud print service 321 for capability information about the cloud print-compatible printer 104 via the cloud print service 321 in step S806. At this time, the print setting extension application 312 queries the cloud print service 321 for capability information about setting items unique to the printer vendor and setting items including attribute values ​​unique to the printer vendor. This query is performed using Get-printer-Attributes, as in step S802 of FIG. 8, and capability information is acquired by specifying the item name of the setting item to be inquired about as the item name. Note that in the first embodiment, the description will be given assuming that capability information is acquired in step S806 for setting items uniquely defined by the printer vendor and setting items including attribute values ​​unique to the printer vendor. However, the OS 313 may also acquire capability information about setting items that have already been acquired through capability information acquisition.

[0099] When the cloud print service 321 receives an inquiry about unique capability information from the print setting extension application 312, it responds in S807 with the capability information of the cloud print-compatible printer 104 to the print setting extension application 312. The response method here is the same as S803 in FIG. 8 described above. In the first embodiment, in S807, the cloud print service 321 responds with the capability information of the cloud print-compatible printer 104 stored in the cloud print service 321. Note that, upon receiving the request in S806, the cloud print service 321 may reacquire the capability information from the cloud print-compatible printer 104 and respond to the client terminal 101. In the first embodiment, in S806 and S807, the print setting extension application 312 can acquire the capability information of "handle mixed paper printing in a single job," which is a setting item unique to the printer vendor.

[0100] Next, in step S808, the print setting extension application 312 acquires the capability information of the cloud print-compatible printer 104 and edits the device capability information managed by the OS 313 via the configuration information object. A configuration information object is a collection of data required to edit the device capability information. The print setting extension application 312 cannot directly edit the device capability information held by the OS 313. Therefore, the print setting extension application 312 uses this configuration information object to change the device capability information held by the OS 313.

[0101] For example, in step S807 of FIG. 8, when capability information such as "handle mixed paper printing in a single job" is acquired, the device capability information is converted into device capability information and added to the configuration information object, thereby editing the device capability information. At this time, the print setting extension application 312 also rewrites the content of "psk:PageMediaSize," which indicates the paper size in the device capability information, to information that includes paper sizes that the cloud print-compatible printer 104 does not support. This rewriting is performed to information predetermined by the print setting extension application 312, regardless of the information acquired in step S807. Furthermore, the print setting extension application 312 adds "ns0000:PageOutputMediaSize" as a printer vendor-specific setting item. The paper size included in "psk:PageMediaSize" acquired in step S807 is added as its attribute value. By performing the processes up to step S808 in this manner, the device capability information stores printer vendor-specific setting items and attribute values ​​in addition to capability information related to the standard setting items acquired in response to the query from the OS 313.

[0102] An example of the device capability information thus edited in S808 is shown in FIGS. 10A and 10B.

[0103] 10A and 10B, reference numeral 1001 indicates the setting item "psk:PageMediaSize." In addition to the paper sizes shown in FIG. 6B, A2, A1, A0, B5, and B3 have been added as setting values. Reference numeral 1002 indicates the setting item "ns0000:PageOutputMediaSize." The setting values ​​for this item are the paper sizes supported by the cloud print-compatible printer 104, and include A5, A4, A3, B5, B4, and Letter. A setting value of "same as original size" ("ns0000:MatchPageMediaSize") for mixed paper printing has also been added. Reference numeral 1003 ("ns0000:SingleJobMixedPageMediaSizePrint") indicates the setting item for "handle mixed paper printing in a single job." This setting item controls the handling of mixed paper printing, which is printing when different paper sizes are specified for different pages. In the example of FIG. 10B, there are two setting values: on ("ns0000:Enable") and off ("ns0000:None"). When this item can be set to on, the cloud print-compatible printer 104 can interpret the paper size setting for each page and print while switching the paper size. When this item does not exist or is set to off, the print setting extension application 312 generates print data by dividing the job by pages with changing paper sizes.

[0104] Next, in step S809, the print setting extension application 312 passes the edited device capability information to the OS 313. As a result, the OS 313 associates the device capability information acquired from the print setting extension application 312 with the print queue and stores it. After the OS 313 updates the device capability information in this way, in step S810, an object that triggers the display of the UI of the print setting extension application 312 is enabled. An example of the object that triggers the display of the UI of the print setting extension application 312 is the object (other settings) 904 in FIG. 9. Until the processing of step S810 is completed, the object 904 is grayed out, and the print setting screen of the print setting extension application 312 is not displayed even if the user clicks it. When the processing of step S810 is completed, the grayed-out state of the object 904 is removed, and the user can select the object 904. Furthermore, in the object 906 for setting the paper size in FIG. 9, the paper size added to "psk:PageMediaSize" by the print setting extension application 312 in step S808 can be selected.

[0105] Note that even when the document generation application 315 sets the paper size of the original document at a time other than printing, if the print queue selected by the document generation application 315 is linked to the print setting extension application 312, the processes of S801 to S809 are performed. At this time, the print queue to be selected may be a selection UI displayed by the document generation application 315 for the user to select, or if a print queue has already been selected on the screen of FIG. 9, that print queue may be the print queue of the default printer set by the OS 313. As a result, even when the document generation application 315 sets the paper size of the original document, the paper size added to "psk:PageMediaSize" by the print setting extension application 312 in S808 can be selected.

[0106] When the user selects the object 904 in this way, the print setting extension application 312 is started, and in step S811, a print setting screen such as that shown in Fig. 12 is displayed. This print setting screen does not depend on the type of document generation application 315 being used.

[0107] If the print setting extension application 312 is not linked to the selected print queue, a standard print setting screen pre-installed in the OS 313 is displayed, as shown in FIG. 11(a), for example.

[0108] FIG. 11 is a diagram showing an example of the standard print setting screen when the print setting extension application 312 is not linked to the selected print queue.

[0109] On this standard print screen, pressing the Advanced Settings button 1101 displays the advanced print screen shown in FIG. 11(b), which is used to set setting items that cannot be displayed in FIG. 11(a). The advanced print screen shown in FIG. 11(b) can be scrolled by operating the scroll bar, and print settings can be made for multiple setting items supported by the OS 313, as shown in FIGS. 11(c) and 11(d). Selecting the OK button 1102 in FIG. 11(b) saves the set print settings and returns to the screen shown in FIG. 11(a). The Apply button 1103 in FIG. 11(a) saves the print settings set on this screen, and the Cancel button 1104 is used to return to the screen shown in FIG. 9 without saving the print settings. Selecting the OK button 1105 in FIG. 11(a) saves the print settings and returns to the screen shown in FIG. 9. Print setting items and attribute values ​​uniquely defined by printer vendors cannot be set in FIGS. 11(a) to 11(d). Furthermore, since the print setting extension application 312 is not linked, the paper size added to "psk:PageMediaSize" by the print setting extension application 312 cannot be set.

[0110] Let us return to the print setting extension application 312.

[0111] FIG. 12 is a diagram showing an example of the print setting screen when the print setting extension application 312 is linked to the selected print queue.

[0112] The print setting extension application 312 receives print setting information generated by the OS 313 based on print setting capability information generated from device capability information, and displays, for example, the extended print setting screen shown in Fig. 12(a). This extended print setting screen can be scrolled by operating the scroll bar as shown in Figs. 12(a) to 12(d), and setting values ​​for various print setting items can be set.

[0113] For example, the "Original Size" setting item 1201 in FIG. 12 is print setting information corresponding to "psk:PageMediaSize" in FIG. 10A. In the following description, the original size refers to the paper size specified by "psk:PageMediaSize" in the print setting information. Furthermore, "A4," an option for the original size, is print setting information corresponding to "psk:ISOA4" in FIG. 10A. Similarly, the "Output Paper Size" setting item 1202 is print setting information corresponding to "ns0000:PageOutputMediaSize" in FIG. 10B. In the following description, the output paper size refers to the paper size specified by "ns0000:PageOutputMediaSize" in the print setting information, and the output paper size is determined according to this setting. Furthermore, the option for the output paper size, "Same as Original Size," is print setting information corresponding to "ns0000:MatchPageMediaSize" in FIG. 10B.

[0114] The paper size set in the document generation application 315 is specified as the manuscript size, but if the document generation application 315 does not specify a size, the print setting extension application 312 specifies a default size (e.g., A4). In the first embodiment, if the paper size differs depending on the page, the paper size of the first page is selected and displayed as the manuscript size. When the manuscript size is changed in the setting item 1201 and the setting is saved by pressing the object (OK) 1204 described later, the setting value of "psk:PageMediaSize" in the print setting information is changed. However, if the document generation application 315 newly specifies its own manuscript size as the print setting information when issuing a print instruction in step S813, the change in the setting item 1201 is not reflected in the print.

[0115] The output paper size is an item that specifies the size of the paper to be actually printed. The output paper size is a setting item unique to the printer vendor and is not specified by the document generation application 315. For this reason, "Same as original size" is displayed as an option in the initial state. When "Same as original size" is specified as the output paper size, the print setting extension application 312 generates print data according to the original size of each page specified by the document generation application 315. For example, if the original size of all pages is A4, print data is generated to print all pages on A4 paper. If the original size of the first page is A4 and the original size of the second page is A3, print data is generated to print the first page on A4 paper and the second page on A3 paper. Furthermore, if a specific paper size other than "Same as original size," for example, A5, is specified as the output paper size, the print setting extension application 312 generates print data to print all pages on the specified A5 paper. At this time, the print data is generated by enlarging or reducing the size as necessary. When the output paper size is changed in the setting item 1202 and the setting is saved by pressing the object (OK) 1204 described later, the setting value of "ns0000:PageOutputMediaSize" in the print setting information is changed. Since the output paper size setting is a setting item unique to the printer vendor, the value set in the print setting information is reflected in the print without being changed by the document generation application 315 when printing is executed, unlike the original size.

[0116] The setting item 1203 in Fig. 12(d) "Handle mixed paper printing as a single job" is print setting information corresponding to "ns0000:SingleJobMixedPageMediaSizePrint" in Fig. 10B. Also, "On" displayed as an option is print setting information corresponding to "ns0000:Enable" in Fig. 10B. The behavior of this setting will be explained in the print data generation flow of the print setting extension application 312 in Fig. 16.

[0117] In this way, the print setting extension application 312 can convert device capability information, including printer vendor-specific setting items, into setting values ​​and display the extended print setting screen. Furthermore, the print setting extension application 312 can also display printer vendor-specific print setting items on the extended print setting screen according to its own implementation. Therefore, on the extended print setting screen shown in Fig. 12, it is possible to set setting items and setting values ​​that cannot be set on the screen shown in Fig. 11 provided by the OS 313.

[0118] The user selects the object (OK) 1204 on the screen of FIG. 12 displayed by the print setting extension application 312. The object 1204 is an object for finalizing the print settings with the contents of that screen. The print setting extension application 312 provides a function that allows the user to change the print settings as desired, and saves the setting values ​​when changes are made. For example, suppose the user changes the output paper size from A4 to A3 on the UI. In that case, the print setting information held by the print setting extension application 312 changes from A4 to A3. When the object 1204 is selected, the print setting extension application 312 obtains the print setting information processed within the controls of the print setting screen from the print setting screen and passes the print setting information to the OS 313.

[0119] In this way, the print setting extension application 312 passes the print setting information to the OS 313, and then in S812 ends the display of the print setting screen shown in Fig. 12. When the processing of S812 is completed, the print setting screen shown in Fig. 9 is displayed. At this time, the displayed print setting screen is a screen on which the setting values ​​set by the print setting extension application 312 are set.

[0120] 9, the user selects the object (print) 905, and in step S813, a print instruction is input from the document generation application 315 to the OS 313. The OS 313 executes a process related to printing based on the print instruction input via the document generation application 315.

[0121] When a print execution instruction is received, in step S814 the OS 313 generates intermediate data based on the instruction from the document generation application 315 and passes the generated intermediate data and the print setting information edited on the print setting screen to the print setting extension application 312. Here, intermediate data refers to data generated before conversion into print data such as PDL (Page Description Language), such as XPS (XML Paper Specification) data. The print setting information is also included in this intermediate data.

[0122] When the print setting extension application 312 receives the intermediate data and print setting information from the OS 313, in S815 it generates printing capability information and print data based on the intermediate data and print setting information. The print data refers to a PDL such as a PDF (Portable Document Format) file, and the printing capability information is specifically information in which the print setting information is described using attribute values ​​defined by IPP. Then, in S816, the print setting extension application 312 passes the generated print data and printing capability information to the print queue of the OS 313.

[0123] Steps S814 to S816 are performed when the print setting extension application 312 associated with the print queue is installed in the client terminal 101. If print settings that can only be reflected by the print setting extension application 312 are not configured and it is determined that processing specific to the print setting extension application 312 is not required, the print setting extension application 312 may receive the intermediate data as a PDF. In this case, the received PDF may be passed directly to the OS as print data.

[0124] On the other hand, if the print setting extension application 312 is not installed on the client terminal 101, the client terminal 101 executes the process described below in S817. The OS 313 generates XPS data, edits the page layout, converts the XPS data into a predetermined format, and generates print data and printing capability information in S817. Here, the predetermined format is, for example, PDF or PWG-Raster. Then, in S818, the OS 313 transmits the print data and printing capability information passed from the print setting extension application 312 or the print data and printing capability information generated by the OS 313 to the cloud print service 321 via the print queue. Then, in S819, the cloud print service 321 transmits the print data and printing capability information passed from the client terminal 101 to the cloud print-compatible printer 104. Note that in the first embodiment, when the cloud print service 321 receives the print data and printing capability information, it transmits the received print data and capability information to the cloud print-compatible printer 104. However, the cloud print-compatible printer 104 may periodically make an inquiry to the cloud print service 321 to acquire unprinted print data and printing capability information corresponding to the print data.

[0125] By doing as described above, print data that reflects the print settings made using the print setting extension application 312 can be transmitted to the cloud print-compatible printer 104 via the cloud print service 321.

[0126] 13 is a flowchart illustrating the processing of the OS 313 up to the installation of the print setting extension application 312 in the client terminal 101 in the first embodiment. Note that a program for executing the processing shown in this flowchart is stored in the storage unit 214 of the client terminal 101, and the processing is realized by the CPU 212 executing the program.

[0127] First, in S1301, the CPU 212 displays the screen shown in FIG. 4 and accepts a printer search instruction. When the user selects object 401 in FIG. 4, the CPU 212 accepts the printer search instruction. Next, the process proceeds to S1302, where the CPU 212 determines whether or not an access token for the cloud print service 321 is stored. The client terminal 101 stores an access token for acquiring information from the cloud print service 321 for each user who logs in to the client terminal 101. The CPU 212 determines whether or not an access token associated with the user who is logged in to the client terminal 101 is stored. If an access token is stored, the CPU 212 proceeds to S1306. On the other hand, if an access token is not stored, the process proceeds to S1303, where the CPU 212 sends an authentication request to the cloud print service 321. The CPU 212 then receives a URL from the cloud print service 321 used to display a screen for entering information required for authentication. In step S1304, the CPU 212 accesses the received URL, displays a screen for entering information used for authentication, and receives authentication information entered via that screen. Here, authentication information is, for example, a user ID (user identifier) ​​and password. In step S1305, the CPU 212 transmits the entered authentication information to the cloud print service 321, acquires an access token, and proceeds to step S1306. If authentication to the cloud print service 321 fails, the CPU 212 cannot acquire an access token, and the process shown in FIG. 13 ends.

[0128] In S1306, the CPU 212 uses the access token to send to the cloud print service 321 a request to obtain information about the printers registered in the cloud print service 321. As a result, the cloud print service 321 selects information about printers that can be used by the user identified by the received access token and sends it to the client terminal 101. Here, the printer name and the HWID of the printer that are registered in association with the printer that can be used by the user identified by the access token received from the client terminal 101 are sent to the client terminal 101.

[0129] The process then proceeds to S1307, and the CPU 212 displays the printer information acquired from the cloud print service 321 on the display unit 216 of the client terminal 101. By performing the display in S1307, the printer information is displayed in a list, for example, as shown in the area 402 in FIG.

[0130] Next, in S1308, the CPU 212 determines whether printer information has been selected in the area 402 in Fig. 4. The CPU 212 repeats the process of S1308 until printer information has been selected. Once printer information has been selected, the process proceeds to S1309, in which the CPU 212 sends a request to the cloud print service 321 to obtain capability information about the selected printer. Here, the CPU 212 queries the cloud print service 321 about setting items pre-registered in the OS 313.

[0131] Next, the process proceeds to S1310, where the CPU 212 updates the device capability information stored in the client terminal 101 based on the printer capability information acquired from the cloud print service 321, and generates a print queue. Then, the process proceeds to S1311, where the CPU 212 sends an acquisition request for the extended setup information file 700 to the online support service 351. This acquisition request includes the printer's HWID. Then, the process proceeds to S1312, where the CPU 212 determines whether acquisition of the extended setup information file 700 was successful, and if acquisition of the extended setup information file 700 was successful, the CPU 212 proceeds to S1313. On the other hand, if acquisition of the extended setup information file 700 failed, the CPU 212 ends the process described in FIG. 13.

[0132] In S1313, the CPU 212 sends an acquisition request for the print setting extended application described in the acquired extended setup information file 700 to the application management service 331. The CPU 212 acquires the application identifier of the print setting extended application from the extended setup information file 700 and sends an acquisition request for the print setting extended application to the application management service 331 by specifying the acquired application identifier. The process then proceeds to S1314, where the CPU 212 determines whether acquisition of the print setting extended application was successful. If acquisition of the print setting extended application was unsuccessful, the CPU 212 terminates the processing illustrated in FIG. 13. If acquisition of the print setting extended application was successful, the process proceeds to S1315, where the CPU 212 installs the acquired print setting extended application and registers the application identifier of the print setting extended application in association with the print queue. Furthermore, an event indicating the timing of notification is registered in the OS 313. Here, registration is performed so that an event is notified to the print setting extended application when a print queue associated with the print setting extended application is selected on the print setting screen displayed by the document generation application 315. The above is the process up to registering the print setting extension application in the client terminal 101.

[0133] Next, with reference to FIG. 14, a process in which the client terminal 101 performs print settings using the installed print setting extension application 312 and generates print data will be described.

[0134] 14 is a flowchart illustrating a process in which the client terminal 101 according to the first embodiment performs print settings using the print setting extending application 312 and generates print data. The program for executing this process is stored in the print setting extending application 312, and the program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0135] First, in S1401, the CPU 212 determines whether or not an event notification has been received. Here, the event is an event issued by the OS 313, and is an event that notifies the print setting extension application 312 that the timing registered in S1315 of FIG. 13 has occurred. If the event notification has not been received in S1401, the CPU 212 repeats the process of S1401. If the event notification has been received in S1401, the CPU 212 proceeds to S1402 and transmits a capability information acquisition request to the cloud print service 321. Here, the CPU 212 transmits a capability information acquisition request to the cloud print service 321 for the setting items set in the print setting extension application 312. Here, capability information is also acquired for setting items that were not acquired in S1306 of FIG. 13. Then, the process proceeds to S1403, where the CPU 212 determines whether acquisition of capability information has been completed, and if acquisition of capability information has not been completed, repeats the process of S1403. If it is determined in S1403 that acquisition of capability information has been completed, the process proceeds to S1404, where the CPU 212 updates the device capability information with the acquired capability information. By performing the process of S1404, capability information for setting items that are not acquired by the OS 313 is also stored in the client terminal 101. Details of the process of S1404 will be described later with reference to the flowchart in FIG.

[0136] Next, the process proceeds to S1405, where the CPU 212 determines whether or not an instruction to display the print setting screen by the print setting extension application 312 has been accepted. An instruction to display the print setting screen by the print setting extension application 312 is an instruction issued based on a user operation such as selection of the object (other settings) 904 in FIG. 9. If it is determined in S1405 that an instruction to display the print setting screen has not been accepted, the process proceeds to S1412. On the other hand, if it is determined that an instruction to display the print setting screen has been accepted, the process proceeds to S1408.

[0137] In S1408, the CPU 212 displays the print setting screen shown in FIG. 12, for example, based on the device capability information updated in S1404. Then, the CPU 212 accepts a user operation to select a setting value via the displayed print setting screen. Then, the process proceeds to S1410, where the CPU 212 determines whether an OK object has been issued to end the display of the print setting screen by the print setting extension application 312. If it is determined that an instruction to end the display of the print setting screen has not been issued, the process proceeds to S1410. If it is determined that an instruction to end the display of the print setting screen has been issued, the process proceeds to S1411. In S1411, the CPU 212 edits the print setting information with the setting values ​​selected on the print setting screen displayed by the print setting extension application 312. Then, the CPU 212 ends the display of the print setting screen by the print setting extension application 312, and proceeds to S1412.

[0138] In S1412, the CPU 212 determines whether the print setting extension application 312 has received intermediate data from the OS 313. If intermediate data has not been received, the process proceeds to S1405. On the other hand, if it is determined in S1412 that intermediate data has been received, the process proceeds to S1413. In S1413, the CPU 212 generates print data and printing capability information based on the received intermediate data. The CPU 212 generates image data in a predetermined format based on the intermediate data and the print setting information. The CPU 212 also generates printing capability information described with attribute values ​​defined in IPP based on the print setting information. This printing capability information can be freely written in addition to attribute values ​​defined in IPP. Therefore, setting items and attribute values ​​uniquely defined by the printer vendor can also be written in the printing capability information. Details of the process of S1413 will be described later with reference to the flowchart of FIG. 16. The process then proceeds to S1414, where the CPU 212 provides the generated print data to the OS 313, and ends this process. As a result, the OS 313 transmits the data received via the print queue to the cloud print service 321 .

[0139] The above is a flowchart showing the process of making print settings using the print setting extension application 312 and generating print data and printing capability information.

[0140] Fig. 15 is a flowchart illustrating the process of updating device capability information in S1404 of Fig. 14. A program for executing the process described in Fig. 15 is stored in the print setting extension application 312, and the program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0141] In S1501, the CPU 212 adds a printer vendor-specific "ns0000:PageOutputMediaSize" item to the device capability information based on the paper size information in "psk:PageMediaSize" in the capability information acquired in S1402. At this time, if the device capability information already contains this item, the content of the item is updated. Note that if there is no difference in the content, updating is not necessary. Note that when adding or updating, the setting value "same as original size" is included regardless of the acquired capability information. For example, assume that the paper sizes supported by the printer acquired from the printer are as shown in "psk:PageMediaSize" in FIG. 6B. In this case, the "ns0000:PageOutputMediaSize" item, as shown by reference numeral 1002 in FIG. 10B, is added to the device capability information. The PageOutputMediaSize added at this time contains the same item as the PageMediaSize acquired from the printer. Furthermore, an Option is added to PageOutputMediaSize to enable the selection of "same as original size." It should be noted that if PageOutputMediaSize has been added to the device capability information, the process in S1501 may not be performed.

[0142] Next, the process proceeds to step S1502, where the CPU 212 updates the content of "psk:PageMediaSize" with predetermined content, regardless of the capability information acquired in step S1402. This is to enable the document generation application 315 to handle paper sizes that the printer does not support. For example, assume that the paper sizes that the printer supports, acquired from the printer, are as shown in "psk:PageMediaSize" in FIG. 6B. However, the device capability information is updated with the content of "psk:PageMediaSize" as shown in FIG. 10A and FIG. 10B, which is predetermined by the print setting extension application 312.

[0143] Next, the process proceeds to S1503, where the CPU 212 determines whether the capability information acquired in S1402 includes an "ns0000:SingleJobMixedPageMediaSizePrint" item. This is the "handle mixed paper printing in a single job" item. If this item is present, the process proceeds to S1504; if this item is not present, the process proceeds to S1505. In S1504, the CPU 212 adds or updates the "ns0000:SingleJobMixedPageMediaSizePrint" item along with the acquired attribute value to the device capability information. As a result, as shown by reference numeral 1003 in FIG. 10B, "ns0000:SingleJobMixedPageMediaSizePrint" is entered, and "ns0000:None" and "ns0000:Enable" are entered as its configurable values. In this way, the CPU 212 completes updating the device capability information.

[0144] Meanwhile, in S1505, the CPU 212 determines whether or not the device capability information includes an "ns0000:SingleJobMixedPageMediaSizePrint" item. If the item is present, the process proceeds to S1506; if the item is not present, the process ends updating the device capability information. In S1506, the CPU 212 deletes the "ns0000:SingleJobMixedPageMediaSizePrint" item from the device capability information and ends updating the device capability information. By performing S1506, it is possible to prevent a mixed paper setting object from being displayed even if the printer does not support mixed paper.

[0145] Fig. 16 is a flowchart illustrating the print data generation process of S1413 in Fig. 14 according to the first embodiment. A program for executing this process is stored in the print setting extension application 312, and this program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0146] In S1601, the CPU 212 refers to the print setting information of the intermediate data received from the OS 313, and determines whether the setting of the output paper size ("ns0000:PageOutputMediaSize") is "same as the original size." The setting value of the output paper size is the value set in the setting item (output paper size) 1202 in FIG. 12. If the setting value of the output paper size is "same as the original size," the process proceeds to S1602, and if the setting of the output paper size is other than "same as the original size," the process proceeds to S1611.

[0147] In S1602, the CPU 212 determines whether the setting for handling mixed paper printing as a single job ("ns0000:SingleJobMixedPageMediaSizePrint") is on or not, based on the print setting information of the intermediate data received from the OS 313. If this setting item is on, the process proceeds to S1613, and if the setting item is off or the item itself does not exist, the process proceeds to S1603.

[0148] In S1603, the CPU 212 references the intermediate data received from the OS 313 and stores the first page in the page printing order as the first page of the first job in the storage unit 214. The subsequent processing of S1603 to S1610 is processing for realizing mixed paper printing by having the print setting extension application 312 divide the job when the printer does not have the ability to handle mixed paper printing in a single job or when the setting for handling in a single job is turned off.

[0149] In S1604, the CPU 212 associates the manuscript size of the page stored in S1603 ("psk:PageMediaSize" of the print setting information for that page) with the job and stores it in the storage unit 214. The setting value for the manuscript size is the value set in the setting item (manuscript size) 1201 in FIG. 12 or the value specified by the document generation application 315 when issuing a print instruction. Next, the processing proceeds to S1605, where the CPU 212 references the intermediate data received from the OS 313 and determines whether or not there is a next page according to the page printing order.

[0150] In S1606, the CPU 212 acquires the document size of the next page. Next, the process proceeds to S1607, where the CPU 212 references the document size of the next page acquired in S1606 and determines whether the document size is the same as the document size associated with the job of the previous page and stored. If the document sizes are the same, the process proceeds to S1608, and if the document sizes are different, the process proceeds to S1609. In S1608, the CPU 212 stores the page whose document size was acquired in S1606 in the memory unit 214 as the next page of the job of the previous page, and returns the process to S1605.

[0151] Meanwhile, in S1609, the CPU 212 stores the page whose manuscript size was acquired in S1606 as the first page of a new job different from the job of the previous page in the storage unit 214. Then, the process proceeds to S1610, where the CPU 212 associates the manuscript size of the page stored in S1609 (i.e., the manuscript size acquired in S1606) with the new job in S1609 and stores it in the storage unit 214, and then the process proceeds to S1605.

[0152] FIG. 17 is a diagram illustrating an example of intermediate data generated by the processes in S1603 to S1610 of FIG.

[0153] 17(a), and the document size for pages 1 and 4 is specified as A4, and the document size for pages 2 and 3 is specified as A3 by the document generation application 315. In this case, the intermediate data that the print setting extension application 312 receives from the OS 313 is shown in FIG.

[0154] In FIG. 17(b), the output paper size setting in the print setting information is set to "same as original size," and the original size of each page is set to the information specified by the document generation application 315. When steps S1603 to S1610 are performed on this intermediate data, the print setting extension application 312 stores data divided into jobs as shown in FIG. 17(c). That is, the print document is divided into three jobs based on the original size starting from the first page, with the first job 1 containing the first page of the print document, the second job 2 containing pages 2 and 3 of the print document, and the third job 3 containing page 4 of the print document. Jobs 1 and 3 are associated with an original size of A4, and job 2 is associated with an original size of A3, and the data is stored. Note that FIG. 17(c) is a schematic diagram, and the stored data format may be the same as the data format of the received intermediate data, or may be a different data format.

[0155] In S1601, if the setting of the output paper size is other than "same as original size," the process proceeds to S1611, where the CPU 212 generates print data and printing capability information according to the intermediate data, and ends this process. At this time, if the original size of the print setting information for each page differs from the setting of the output paper size, the print setting extension application 312 generates print data enlarged or reduced to the paper size set in the output paper size as necessary. In addition, the information on the original size is changed as printing capability information to the paper size set in the output paper size.

[0156] If it is determined in S1605 that there is no next page, the process proceeds to S1612, where the CPU 212 generates print data and printing capability information for each job created in the processes of S1603 to S1610, and then ends this process. At this time, the document size associated with each job is set as the document size in the printing capability information of each job.

[0157] If S1602 determines that handling mixed paper printing in a single job is on, the process proceeds to S1613, where the CPU 212 generates print data and printing capability information for mixed paper printing in a single job according to the intermediate data received from the OS 313, and then ends this process. At this time, the printing capability information is assumed to include a setting for mixed paper printing. Furthermore, at least the print data generated at this time is assumed to be in a format that allows document sizes to be set on a page-by-page basis, such as PDF, and to have the document size set in the print setting information for each page. If the printing capability information includes a setting for mixed paper printing, the cloud print-compatible printer 104 interprets the document size of each page of the print data and prints at that size. This allows mixed paper printing to be achieved in a single job.

[0158] The above is the details of the print data generation process, including the case where mixed paper printing is performed.

[0159] The print data generated in this manner is then passed from the OS 313 to the cloud print-compatible printer 104 via the cloud service 321. At this time, even if the document sizes include sizes that the printer does not support, printing may be performed by specifying "same as document size" as the output paper size. In this case, if the cloud print-compatible printer 104 cannot process the received print data, the cloud print-compatible printer 104 will display a screen such as that shown in FIG. 18(a) on the display unit 246 and interrupt the processing with an error.

[0160] FIG. 18 is a diagram showing an example of a screen displayed on the loud print-compatible printer 104 according to the first embodiment.

[0161] Note that even if a similar print is executed, if the cloud print-compatible printer 104 determines that printing is possible if the output paper size is changed to a supported paper size, a screen such as that shown in Fig. 18(b) may be displayed to allow the user to select the paper size. Also, even if the cloud print-compatible printer 104 supports the paper size that was attempted to be output, if paper of that size is not loaded in the printer's paper feed unit, the screen shown in Fig. 18(b) may be displayed.

[0162] As described above, according to the first embodiment, when a print queue linked to a general-purpose cloud printer driver or a local printer driver is selected to generate a document, it becomes possible to select a paper size that the printer does not support and generate the document. Furthermore, by allowing the output paper size to be specified separately from the original size when printing, it becomes possible to specify printing on a paper size that the printer supports. Furthermore, when the output paper size is specified as "same as original size," even if the printer cannot process mixed paper printing in a single job, the print setting extension app can split the job to enable mixed paper printing.

[0163] In the first embodiment, the pages and paper sizes used when dividing a job are stored in the storage unit 214 of the client terminal 101 in step S1603, but they may be stored in the memory 213 of the control unit 211.

[0164] [Embodiment 2] Next, a second embodiment of the present invention will be described. In the second embodiment, if the document size includes a size that the printer does not support, but "same as document size" is specified as the output paper size, the print setting extending application 312 detects this when generating print data. Note that the difference between the second embodiment and the first embodiment is the print data generation process of the print setting extending application 312, and therefore this part will be described with reference to Figs. 19 and 20. Other parts common to the first embodiment will not be described.

[0165] 19 is a flowchart illustrating print data generation processing (corresponding to S1413 in FIG. 14) according to embodiment 2. A program for executing this processing is stored in the print setting extension application 312, and the program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0166] First, in S1901, the CPU 212 refers to the print setting information of the intermediate data received from the OS 313, and determines whether the setting of the output paper size ("ns0000:PageOutputMediaSize") is "same as the original size." If the setting of the output paper size is "same as the original size," the process proceeds to S1902, and if the setting of the output paper size is not "same as the original size," the process proceeds to S1919.

[0167] In S1902, the CPU 212 determines whether the setting for handling mixed paper printing in a single job ("ns0000:SingleJobMixedPageMediaSizePrint") is on, based on the print setting information of the intermediate data received from the OS 313. If this setting item is on, the process proceeds to S1918; if it is off or the setting itself does not exist, the process proceeds to S1903. In S1903, the CPU 212 references the intermediate data received from the OS 313 and stores the first page in the storage unit 214 as the first page of the first job in accordance with the page printing order. The processes in S1903 to S1912 are processes for the print setting extension application 312 to realize mixed paper printing by dividing the job when the printer does not have the ability to handle mixed paper printing in a single job or when the setting for handling in a single job is off.

[0168] Next, the process proceeds to S1904, where the CPU 212 determines whether the document size of the page held in S1903 (the paper size specified in “psk:PageMediaSize” of the print setting information of the page) is a paper size supported by the cloud print-compatible printer 104. If it is determined that the paper size is supported by the cloud print-compatible printer 104, the process proceeds to S1905. If it is determined that the paper size is not supported by the cloud print-compatible printer 104, the process proceeds to S1913. At S1905, the CPU 212 associates the document size of the page held in S1903 with the job and stores it in the storage unit 214. Then, the process proceeds to S1906, where the CPU 212 references the intermediate data received from the OS 313 and determines whether there is a next page according to the page printing order. If there is a next page, the process proceeds to S1907, and if there is not, the process proceeds to S1920. At S1920, the CPU 212 generates print data and printing capability information for each job generated by the processes of S1903 to S1912. At this time, the document size associated with each job is set as the document size in the printing capability information of each job, and this process ends.

[0169] In S1907, the CPU 212 acquires the document size of the next page. Next, the process proceeds to S1908, where the CPU 212 references the document size acquired in S1907 and determines whether the document size is the same as the document size associated with the job of the previous page and stored. If it is determined that the document sizes are the same, the process proceeds to S1909, and if it is determined that the document sizes are different, the process proceeds to S1910. In S1909, the CPU 212 stores the page whose document size was acquired in S1907 in the memory unit 214 as the next page of the job of the previous page, and returns the process to S1906.

[0170] Meanwhile, in S1910, the CPU 212 determines whether the document size acquired in S1907 is a paper size supported by the cloud print-compatible printer 104. If it is determined that the document size is supported by the cloud print-compatible printer 104, the process proceeds to S1911, and if it is determined that the document size is not supported by the cloud print-compatible printer 104, the process proceeds to S1913. In S1911, the CPU 212 stores the page whose document size was acquired in S1907 in the storage unit 214 as the first page of a new job that is different from the job of the previous page. Next, the process proceeds to S1912, where the CPU 212 associates the document size of the page stored in S1911 (i.e., the document size acquired in S1907) with the new job in S1911 and stores it in the storage unit 214, and then proceeds to S1906.

[0171] Also, in S1904, if the manuscript size of the stored page (the paper size specified in “psk:PageMediaSize” of the print setting information of the page) is not a paper size supported by the cloud print-compatible printer 104, the process proceeds to S1913, and the CPU 212 displays a dialog box shown in FIG. 20 for allowing the user to select the output paper size.

[0172] FIG. 20 is a diagram showing an example of a warning screen displayed by the print setting extending application 312 according to the second embodiment.

[0173] The "output paper size" setting item 2001 is the same setting item as the "output paper size" setting item 1202 in FIG. 12(a), but in FIG. 20, "same as original size" is not displayed as an option. Therefore, the options for the setting item 2001 are limited to paper sizes supported by the cloud print-compatible printer 104. The initial value of the option may be any paper size supported by the cloud print-compatible printer 104, but may be, for example, a default value for a paper size predetermined in the printer capability information. The object (OK) 2002 is a button for accepting an instruction to confirm the output paper size selected by the user operating the setting item 2001. The object (cancel printing) 2003 is a button for accepting an instruction to cancel printing.

[0174] In S1914, the CPU 212 determines whether or not an instruction to cancel printing has been received from the object 2003 in the dialog box of Fig. 20. If an instruction to cancel printing has been received, the process proceeds to S1915; if an instruction to cancel printing has not been received, the process proceeds to S1916. In S1915, the CPU 212 ends the print data generation process and cancels the printing execution. At this time, the print setting extension application 312 does not perform the process of S1414 in Fig. 14, and returns a message to the OS 313 that printing has been canceled.

[0175] On the other hand, if the instruction is not to cancel printing, the process proceeds to S1916, where the CPU 212 determines whether an instruction to confirm the output paper size (object 2002) has been received in the dialog of FIG. 20. If an instruction to confirm the output paper size has been received, the process proceeds to S1917. If an instruction to confirm the output paper size has not been received, the process proceeds to S1914. At S1917, the CPU 212 discards the page and document size information stored in S1903 or elsewhere, changes the output paper size of the print setting information in the received intermediate data to the output paper size selected in the dialog of FIG. 20, and then proceeds to S1919. At S1919, the CPU 212 generates print data and printing capability information according to the intermediate data. At this time, if the document size of the print setting information for each page differs from the output paper size setting, the print setting expansion application 312 generates print data enlarged or reduced to the paper size set in the output paper size as necessary. Furthermore, the document size information is changed as printing capability information to the paper size set in the output paper size, and this process ends.

[0176] If the setting for handling mixed paper printing as a single job is ON in S1902, the process proceeds to S1918. In S1918, the CPU 212 determines, based on the print setting information of the received intermediate data, whether the document sizes of all pages are compatible with the cloud print-compatible printer 104. If it is determined that the document sizes of all pages are compatible with the cloud print-compatible printer 104, the process proceeds to S1921. On the other hand, if there are pages whose document sizes are not compatible with the cloud print-compatible printer 104, the process proceeds to S1913, where a dialog box for selecting the output paper size shown in FIG. 20 is displayed, and the process described above is executed. In S1921, the CPU 212 generates print data and printing capability information for mixed paper printing in a single job according to the intermediate data received from the OS 313, as in S1613, and then ends this process. The above is the details of the print data generation process of the print setting extension application 312 in the second embodiment.

[0177] In the second embodiment, when the document size includes a size that the printer does not support, but the output paper size is specified as "same as document size," the print setting extension application 312 detects this when generating print data. The application then prompts the user to change the settings or cancel printing. This is expected to avoid situations like the first embodiment, where the user does not realize that they cannot print unless they perform an operation on the cloud print-compatible printer 104 or pick up the printed paper.

[0178] In the second embodiment, the pages and paper sizes used when dividing a job are stored in the storage unit 214 of the client terminal 101 in step S1903, but they may also be stored in the memory 213 of the control unit 211.

[0179] Alternatively, print data may be generated as is for the divided jobs that were held at the time when it was detected that the document size was incompatible (determined No in S1910). In this case, print data may be generated for the pages after the page where it was detected that the document size was incompatible, using the output paper size specified in the dialog displayed in S1913.

[0180] [Embodiment 3] Next, a third embodiment of the present invention will be described. In the third embodiment, even if the document sizes include a size that the printer does not support, when the output paper size is specified as "same as document size," the print setting extending application 312 detects this when generating print data. The print data is then automatically changed to be output to a paper size that the printer supports. The difference between the third embodiment and the first embodiment is the print data generation process of the print setting extending application 312, and this part will be described with reference to FIG. 21. Other parts common to the first embodiment will not be described.

[0181] 21 is a flowchart illustrating print data generation processing (corresponding to S1413 in FIG. 14) according to embodiment 3. A program for executing the processing shown in this flowchart is stored in the print setting extension application 312, and the program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0182] First, in S2101, the CPU 212 references the print setting information of the intermediate data received from the OS 313 and determines whether the setting of the output paper size ("ns0000:PageOutputMediaSize") is "same as the original size." If the setting of the output paper size is "same as the original size," the process proceeds to S2102; if the setting of the output paper size is not "same as the original size," the process proceeds to S2117. In S2117, the CPU 212 generates print data and printing capability information according to the intermediate data. At this time, if the original size in the print setting information for each page differs from the setting of the output paper size, the print setting extension application 312 generates print data that has been enlarged or reduced to the paper size set in the output paper size as necessary, and ends this process. In addition, the CPU 212 changes the original size information in the printing capability information to the paper size set in the output paper size.

[0183] In S2102, the CPU 212 determines whether the setting for handling mixed paper printing in a single job ("ns0000:SingleJobMixedPageMediaSizePrint") is on, based on the print setting information of the intermediate data received from the OS 313. If this setting item is on, the process proceeds to S2115, and if the setting item is off or does not exist, the process proceeds to S2103. In S2103, the CPU 212 references the intermediate data received from the OS 313 and stores the first page in the storage unit 214 as the first page of the first job in accordance with the page printing order. The processing of S2103 to S2114 is processing for realizing mixed paper printing by having the print setting extension application 312 divide the job when the printer does not have the ability to handle mixed paper printing in a single job or when the setting for handling in a single job is off.

[0184] In S2104, the CPU 212 determines whether the document size of the page held in S2103 (the paper size specified in "psk:PageMediaSize" of the print setting information of the page) is a paper size supported by the cloud print-compatible printer 104. If the paper size is supported by the cloud print-compatible printer 104, the process proceeds to S2105, and if the paper size is not supported by the cloud print-compatible printer 104, the process proceeds to S2113. In S2113, the CPU 212 changes the document size of the page held in S2103 to a paper size supported by the cloud print-compatible printer 104, and then proceeds to S2105. Specifically, the document size is changed to the supported paper size that is the smallest in difference from the original document size.

[0185] At S2105, the CPU 212 associates the document size of the page stored at S2103 with the job and stores it in the storage unit 214. Next, the process proceeds to S2106, where the CPU 212 references the intermediate data received from the OS 313 and determines whether or not there is a next page in accordance with the page printing order. If there is a next page, the process proceeds to S2107; if there is not, the process proceeds to S2118. At S2107, the CPU 212 acquires the document size of the next page and proceeds to S2108. At S2108, the CPU 212 references the document size acquired at S2107 and determines whether the document size is the same as the document size stored in association with the job of the previous page. If the document sizes are the same, the process proceeds to S2109; if the document sizes are different, the process proceeds to S2110. At S2118, the CPU 212 generates print data and printing capability information for each job created by the processes at S2103 to S2114, and ends this process. At this time, the document size associated with each job is set as the document size in the printing capability information of each job. Also, if there are pages whose document size has been changed in S2113 or S2114, print data for those pages is generated by enlarging or reducing them to the document size associated with each job.

[0186] In S2110, the CPU 212 determines whether the document size acquired in S2107 is a paper size supported by the cloud print-compatible printer 104. If the document size is supported by the cloud print-compatible printer 104, the process proceeds to S2111. If the document size is not supported by the cloud print-compatible printer 104, the process proceeds to S2114. In S2111, the CPU 212 stores the page whose document size was acquired in S2107 in the storage unit 214 as the first page of a new job different from the job of the previous page. Next, the process proceeds to S2112, where the CPU 212 associates the document size of the page stored in S2111 with the new job in S2111 and stores it in the storage unit 214, and the process returns to S2106. Also, in S2114, the CPU 212 changes the document size of the page whose document size was acquired in S2107 to a paper size supported by the cloud print-compatible printer 104, and the process proceeds to S2111. The method of changing the paper size here is the same as the processing in S2113.

[0187] If the setting for handling mixed paper printing as a single job is on in S2102, the process proceeds to S2115, where the CPU 212 determines, from the print setting information of the received intermediate data, whether the document sizes of all pages are paper sizes supported by the cloud print-compatible printer 104. If the document sizes of all pages are paper sizes supported by the cloud print-compatible printer 104, the process proceeds to S2119, and if there is a page whose document size is not supported by the cloud print-compatible printer 104, the process proceeds to S2116. In S2116, the CPU 212 changes the document size of any page whose document size is not supported by the cloud print-compatible printer 104 to a paper size supported by the cloud print-compatible printer 104, and then proceeds to S2119. The method for changing the paper size here is the same as the processing in S2113. In S2119, if there is a page whose manuscript size has been changed in S2116, the CPU 212 enlarges or reduces that page to the changed manuscript size, and generates print data and printing capability information for mixed paper printing in a single job, as in S1613, and then ends this process.

[0188] The above is the details of the print data generation process of the print setting extension application 312 in the third embodiment.

[0189] According to the third embodiment, if an instruction to output to a paper size that the printer does not support is issued, the print setting extension application 312 detects this when generating print data and automatically changes the document size so that the output is to be output to a paper size that the printer supports. This reduces the effort required to set the output paper size after issuing a print instruction, as in the first and second embodiments. In the third embodiment, the pages and paper sizes used when dividing a job are stored in the storage unit 214 of the client terminal 101 in step S2103, etc., but they may also be stored in the memory 213.

[0190] There are various possible methods for changing the document size in step S2113. For example, the print setting extension application 312 may identify whether the paper size specified as the original document size is A size (ISO A size) or B size (JIS B size). If A size paper size is specified, it may be changed to an A size paper size that is compatible with the printer, and if B size paper size is specified, it may be changed to a B size paper size that is compatible with the printer. Alternatively, for example, it may be changed to a default value for the paper size that is predetermined in the printer's capability information.

[0191] [Embodiment 4] Next, a fourth embodiment of the present invention will be described. In the fourth embodiment, a printing protocol is assumed to be capable of transmitting print data to a printer, in which print settings can be switched for each document included in a single job. If the printer has the ability to handle mixed paper printing in a single job, it is assumed to be capable of printing with print settings switched for each document included in a single job. Another difference from the first embodiment is the process in which the print setting extension application 312 receives intermediate data from the OS 313 and generates print data, which will be described with reference to FIG. 22.

[0192] 22 is a flowchart illustrating print data generation processing (corresponding to S1413 in FIG. 14) according to the fourth embodiment. A program for executing the processing shown in this flowchart is stored in the print setting extension application 312, and the program is loaded into the memory 213 of the client terminal 101 and executed by the CPU 212.

[0193] In S2201, the CPU 212 references the print setting information of the intermediate data received from the OS 313 and determines whether the setting of the output paper size ("ns0000:PageOutputMediaSize") is "same as the original size." If the setting of the output paper size is "same as the original size," the process proceeds to S2202, and if the setting of the output paper size is not "same as the original size," the process proceeds to S2219. In S2119, the CPU 212 generates print data and printing capability information according to the intermediate data, as in S1611, and ends this process.

[0194] In S2202, the CPU 212 determines whether the setting for handling mixed paper printing as a single job ("ns0000:SingleJobMixedPageMediaSizePrint") is on or not, based on the print setting information of the intermediate data received from the OS 313. If this setting item is on, the process proceeds to S2203, and if this setting item is off or does not exist, the process proceeds to S2211.

[0195] In S2203, the CPU 212 references the intermediate data received from the OS 313, acquires the manuscript size from the print setting information for the first page in accordance with the page printing order, stores this in the memory 213, and proceeds to S2204. In S2204, the CPU 212 generates print data for the page for which the manuscript size was acquired in S2203 as the first page of the first document in the job, and stores this in the storage unit 214. At this time, the manuscript size acquired in S2203 is set as the manuscript size in the printing capability information for that document. Next, the process proceeds to S2205, where the CPU 212 references the intermediate data received from the OS 313 and determines whether or not there is a next page in accordance with the page printing order. If there is a next page, the process proceeds to S2206; if there is not a next page, the process ends this print data generation process.

[0196] In S2206, the CPU 212 acquires the manuscript size of the page determined to exist in S2205, and proceeds to S2207. In S2207, the CPU 212 determines whether the manuscript size acquired in S2206 is the same as the retained manuscript size. If it is determined that the manuscript sizes are the same, the process proceeds to S2208, and if it is determined that the manuscript sizes are different, the process proceeds to S2209. In S2208, the CPU 212 updates the retained print data so that the page whose manuscript size was acquired in S2206 becomes the next page of the previous page of the document, and returns to S2205. As a result, if the manuscript sizes are the same, print data for a document with consecutive pages is generated. On the other hand, in S2209, the CPU 212 updates the retained print data so that the page whose manuscript size was acquired in S2206 becomes the first page of a new document different from the previous page of the document. At this time, the manuscript size acquired in S2206 is set as the manuscript size in the printing capability information of the new document. Next, the process proceeds to step S2210, in which the CPU 212 changes the document size that was held to the document size acquired in step S2206 and holds it anew, and the process returns to step S2205.

[0197] Also, if the setting for handling mixed paper printing in a single job is off in S2202, or if such a setting item does not exist, the process proceeds to S2211. In S2211, the CPU 212 references the intermediate data received from the OS 313, acquires the manuscript size from the print setting information for the first page in accordance with the page printing order, and stores the acquired print data in the memory 213. Next, the process proceeds to S2212, where the CPU 212 generates print data for the page for which the manuscript size was acquired in S2211 as the first page of the document of the first job, and stores the print data in the storage unit 214. At this time, the manuscript size acquired in S2211 is set as the manuscript size in the printing capability information of that job. Next, the process proceeds to S2213, where the CPU 212 references the intermediate data received from the OS 313, and determines whether or not there is a next page in accordance with the page printing order. Here, if there is a next page, the process proceeds to S2214; if there is not a next page, the process ends this print data generation process. In S2214, the CPU 212 acquires the manuscript size of the page determined to exist in S2213, and proceeds to S2215. In S2215, the CPU 212 determines whether the manuscript size acquired in S2214 is the same as the manuscript size it holds. If it determines that the manuscript sizes are the same, it proceeds to S2216, and if it determines that the manuscript sizes are different, it proceeds to S2217. In S2216, the CPU 212 updates the print data it holds so that the page whose manuscript size it acquired in S2214 becomes the next page of the document of the job that includes the previous page, and returns to S2213.

[0198] Meanwhile, in S2217, CPU 212 updates the retained print data so that the page whose manuscript size was acquired in S2214 becomes the first page of a document for a new job different from the job containing the previous page. At this time, the manuscript size acquired in S2214 is set as the manuscript size in the printing capability information for the new job. Next, the process proceeds to S2218, where CPU 212 re-stores the retained manuscript size as the manuscript size acquired in S2214, and then proceeds to S2213. The above is the details of the print data generation process for the mixed paper printing function in embodiment 4.

[0199] According to the fourth embodiment, if the printer has the ability to handle mixed paper printing in a single job, the printer does not need to interpret the document size of each page from the print data, as in the first embodiment, and the load on the printer can be reduced more than in the first embodiment. Also, as in the first embodiment, even if the printer does not have the ability to handle mixed paper printing in a single job, mixed paper printing can be achieved by dividing the job. Note that in the fourth embodiment, the document size is stored in the memory 213 of the client terminal 101 in S2203 etc., but it may also be stored in the storage unit 214. Also, although the print data is stored in the storage unit 214 of the client terminal 101 in S2204 etc., it may also be stored in the memory 213.

[0200] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0201] The present invention is not limited to the above-described embodiments, and various modifications and variations can be made without departing from the spirit and scope of the present invention. Therefore, the following claims are appended to apprise the public of the scope of the present invention. [Explanation of symbols]

[0202] 101...client terminal, 104...cloud print compatible printer, 212...CPU (client terminal), 213...memory, 214...storage unit, 311...cloud printer driver, 312...print setting extension application, 313...OS, 315...document generation application, 321...cloud print service

Claims

[Claim 1] updating means for updating device capability information pre-stored in the operating system with capability information acquired from the printer; a setting unit for setting print setting information based on the device capability information updated by the update unit; an acquisition unit that acquires intermediate data generated by the operating system based on the print setting information; generating means for generating print data based on the intermediate data; The information processing device is characterized in that the update means adds output paper size capabilities to the device capability information based on the paper size capabilities of the capability information acquired from the printer, and updates the device capability information with predetermined information regarding paper size capabilities, including paper sizes not included in the capability information acquired from the printer.

Citation Information

Patent Citations

  • Information processing device, control method for printing device and information processing device, and program

    JP2021124791A