Information processing device, control method thereof, and server system capable of communicating therewith
By generating printing data that complies with a specific printing device in the information processing device and sending these data directly to the printing device through the server system, the problem that the prior art cannot perform printing reflecting the supplier's unique settings is solved, and printing in cloud is realized Efficient printing in service.
Patent Information
- Application Number
- CN202110110816.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-14
- Filing Date
- 2021-01-27
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2041-01-27
AI Technical Summary
The prior art cannot generate print data reflecting vendor-only settings, resulting in the inability to perform printing based on these settings in the cloud printing service.
An information processing device is designed to generate print data that conforms to a particular printing device and send the data to the printing device through a server system without converting the data.
The printing that reflects the vendor's unique settings is implemented in the cloud printing service, and the problem that the prior art cannot generate print data compatible with the unique settings is solved.
Smart Images

Figure CN113282252B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing device, a control method and a program thereof, and a server system capable of communicating with the information processing device. Background Art
[0002] A printing system is known in which a user registers information about each printing device in a cloud printing service in advance, and sends print data to the printing device via the cloud printing service for printing. The user accesses the cloud printing service from an information processing device such as a personal computer (PC), selects a printing device to be used for printing from among the printing devices registered in the cloud printing service, and instructs the selected printing device to perform printing based on the print data.
[0003] The information processing device generates a print job and inputs the generated print job into a print queue on the cloud print service. The printing device accesses the cloud print service, acquires the print job spooled in the print queue generated on the cloud print service, and outputs the acquired print job.
[0004] Typical examples of cloud printing services include (Google Cloud ) (Japanese Patent Application Laid-Open No. 2013-238924), (Microsoft Hybrid Cloud )and (uniFLOW ).
[0005] The operating system (OS) of the client terminal provides a module for inputting a print job from the client terminal to the cloud print service as a standard printing system.
[0006] Hitherto, in printing using printer drivers created by various vendors, various vendors have allocated to client computers a module capable of generating print data compatible with functions unique to the vendor. In addition, the module is used to generate print data reflecting vendor-unique settings. However, the standard printing system provided by the above-mentioned OS or cloud printing service can only generate print data reflecting predetermined standard setting items. Therefore, the OS or cloud printing service cannot perform printing based on print data reflecting settings related to setting items unique to the vendor and different from the predetermined standard setting items. Summary of the invention
[0007] According to one aspect of the present invention, an information processing device communicates with a server system, the server system being configured to generate print data based on image data received from the information processing device, the information processing device comprising: a generating unit generating print data conforming to the printing device for printing; a sending unit configured to send the print data generated by the generating unit to the server system; and an instruction unit instructing the server system to send the received print data to the printing device without converting the received print data.
[0008] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a block diagram illustrating an example of a hardware configuration of a client computer according to the first exemplary embodiment.
[0010] Figure 2 is a schematic diagram showing an example of a network configuration according to the first exemplary embodiment.
[0011] Figure 3A An example of functional blocks in the printer driver distribution service according to the first exemplary embodiment is shown.
[0012] Figure 3B An example of functional blocks in the print extension application distribution server according to the present exemplary embodiment is shown.
[0013] Figure 3C An example of functional blocks in the cloud print service according to the present exemplary embodiment is shown.
[0014] Figure 4 An example of a sequence of registering a printer in the cloud print service according to the first exemplary embodiment is shown.
[0015] Figure 5A : is a table showing an example of a printer information database held in the cloud print service according to the first exemplary embodiment.
[0016] Figure 5B : is a table showing an example of a printer information database held in the printer driver distribution service according to the present exemplary embodiment.
[0017] Figure 5C : is a table showing a printer information database held in the print extension application distribution server according to the present embodiment.
[0018] Figure 6 An example of a sequence of print setting application in the client computer according to the first exemplary embodiment is shown.
[0019] Figure 7 An example of an operation panel displaying a list of printable jobs received from a cloud print service according to the first exemplary embodiment is shown.
[0020] Fig. 8A An example of a print common dialog box displayed on a client computer according to the first exemplary embodiment is shown.
[0021] Figure 8B An example of a print setting screen according to the present exemplary embodiment is shown.
[0022] Fig. 9 An example of the printer capability information according to the first exemplary embodiment is shown.
[0023] Fig.10 is a flowchart illustrating an example of printing processing in the cloud print service according to the first exemplary embodiment.
[0024] Fig.11 is a sequence diagram illustrating a process for generating page description language (PDL) data in a cloud print service according to the first exemplary embodiment.
[0025] Fig.12 : is a sequence diagram illustrating a process of generating PDL data by a print extension application according to the first exemplary embodiment.
[0026] Fig.13 is a sequence diagram illustrating a process of generating PDL data using a PDL conversion service according to the second exemplary embodiment.
[0027] Fig.14 is a block diagram showing an example of a network configuration according to the second exemplary embodiment.
[0028] Fig.15 is a block diagram schematically illustrating a printer driver distribution service according to the third exemplary embodiment.
[0029] Fig.16 is a sequence diagram illustrating a process of registering printer information in a cloud print service according to the third exemplary embodiment.
[0030] Fig.17A is a table showing an example of information on a driver package managed by the printer driver distribution service according to the third exemplary embodiment.
[0031] Fig. 17B is a table showing an example of information about printers registered in the cloud print service according to the third exemplary embodiment.
[0032] Fig.18An example of functional blocks according to the fourth exemplary embodiment is shown.
[0033] Fig.19 An example of a sequence of registering a printer in the cloud print service according to the fourth exemplary embodiment is shown.
[0034] Fig. 20 An example of a filter duct configuration according to a fourth exemplary embodiment is shown. DETAILED DESCRIPTION
[0035] Figure 1 1 is a block diagram showing an example of a hardware configuration of a client computer (information processing apparatus) using a cloud print service according to the first exemplary embodiment. The hardware configuration will now be described in detail.
[0036] A central processing unit (CPU) 101 controls the overall operation of the information processing apparatus based on a program stored in a read only memory (ROM) 1021 or a random access memory (RAM) 1022 of a main storage device 102 or stored in an auxiliary storage device 105 .
[0037] The RAM 1022 is also used as a work area for the CPU 101 to perform various processes. The auxiliary storage device 105 stores a cloud driver 1050, an operating system (OS) 1053, applications 1051, a print extension application 1052, and other data. The main storage device 102 and the auxiliary storage device 105 are collectively referred to as storage devices below.
[0038] An input device such as a pointing device 109 typified by a mouse and a touch panel and a keyboard 108 is connected to the system bus 107 via an input interface (I / F) 103 and is used for a user to provide various instructions to the computer.
[0039] The output I / F 104 is an interface for outputting data to the outside of the information processing apparatus and is used to output data to an output device such as a monitor 110 and a panel 111. The client computer 100 has an imaging function and is provided with a camera 112.
[0040] The client computer 100 is connected to the following reference 1 via the communication I / F 106 through the network 150. Figure 2 The system bus 107 is a common data system bus for exchanging data with each I / F or each module.
[0041] Figure 2 is a schematic diagram illustrating a printing system in which a network environment is simplified according to the present exemplary embodiment.
[0042] The client computer 100 and the printer 200 are each connected to the network 150. The client computer 100 and the printer 200 are connected to the same intranet network and are thus able to communicate with each other.
[0043] The printer 201 and the printer 202 are each connected to another intranet 204 . The network 150 is connected to the intranet 204 via the Internet 203 . The printer driver distribution service 300 , the print extension application distribution service 400 , and the cloud print service 500 are each connected to the Internet 203 .
[0044] The printer driver distribution service 300 is a server system composed of one or more information processing devices. The printer driver distribution service 300 performs a service for distributing a printer driver to the client computer 100 on a network basis. The client computer 100 searches for the printer 200 based on a protocol such as web services for devices (WSD) or Internet printing protocol (IPP). The client computer 100 acquires and installs a printer driver identified based on printer identification information and model information related to the discovered printer 200 from the printer driver distribution service 300. Each printer driver registered in the printer driver distribution service 300 is updated by a printer vendor. The client computer 100 automatically or manually acquires a new version of the printer driver from the printer driver distribution service 300, and updates the installed printer driver with the acquired printer driver.
[0045] The print extension application distribution service 400 is a server system composed of one or more information processing devices that execute a service for distributing applications to be executed by the client computer 100. The print extension application is an application for extending the print function provided by the cloud print service or OS. In the print function provided by the cloud print service or OS, only print settings for standard functions such as a color mode function and a double-sided print function that can be used in printers of any vendor can be made. The use of the print extension application makes it possible to use other print functions such as staple-free binding, poster printing, and saddle-stitch binding that cannot be set in the print function provided by the cloud print service or OS.
[0046] Upon receiving a user operation requesting installation of the print extension application 1052, the client computer 100 accesses the print extension application distribution service 400 and installs the print extension application 1052. If an application identifier is described in an information (Inf) file of a printer driver installed in the client computer 100, the print extension application 1052 is installed. The application identifier is information for identifying an application corresponding to a printer registered in the cloud print service 500 among applications registered in the print extension application distribution service 400. The client computer 100 accesses the print extension application distribution service 400 and installs the print extension application 1052 corresponding to the identifier described in the Inf file.
[0047] The cloud printing service 500 is a service built on a cloud system that is a server system composed of one or more information processing devices. In the present exemplary embodiment, the cloud printing service 500 is connectable to various intranets via the Internet 203 and is also connectable to the client computer 100, the printer 200, the printer 201, and the printer 202. In the cloud printing service 500, an account is managed using a user identification (ID) and a password. The client computer 100 accesses the cloud printing service 500 using the account information input by the user.
[0048] In the present exemplary embodiment, it is assumed that the client computer 100 pre-stores uniform resource locators (URLs) of the cloud print service 500 and the print extension application distribution service 400. The cloud print service 500 pre-stores the URL of the printer driver distribution service 300.
[0049] Figure 3A 2 shows an example of functional blocks in the printer driver distribution service 300. The printer driver distribution service 300 is a server system composed of one or more information processing devices having Figure 1 The printer driver registration unit 301 and the printer driver response unit 302 are implemented by the CPU of each information processing device constituting the printer driver distribution service 300 executing a program.
[0050] The printer driver distribution service 300 is a service existing on a cloud system via the Internet 203. The printer driver distribution service 300 can distribute a package of a printer driver to an external service and the client computer 100. Examples of the package of a printer driver include a printer driver and a driver expansion package.
[0051] Upon receiving an instruction to register a package of a printer driver from an external service and the client computer 100, the printer driver registration unit 301 registers the uploaded package in the printer driver database 310. The printer driver registration unit 301 registers, in the printer driver database 310, for example, a printer driver distributed by a printer vendor or the like and a driver extension package for extending the printer driver.
[0052] When a request for obtaining a printer driver and an extension package is received from an external service and the client computer 100, the printer driver response unit 302 obtains the corresponding package from the printer driver database 310 and responds. For example, it is assumed that a request for obtaining a printer driver corresponding to the printer 200 for which a print queue is generated is received from the client computer 100. The printer driver response unit 302 reads out the printer driver corresponding to the printer 200 from the printer driver database 310, and sends the printer driver to the client computer 100. The printer driver response unit 302 also receives a request for obtaining a driver extension package of a printer driver for extended installation from the client computer 100. In this case, the printer driver response unit 302 reads out the driver extension package corresponding to the requested printer driver from the printer driver database 310, and sends the driver extension package to the client computer 100.
[0053] The printer driver database 310 stores the following references Figure 5B The printer driver database 310 stores not only printer drivers corresponding to various printers but also a driver expansion package 303 .
[0054] The driver extension package 303 is an example of a package distributed from the printer driver distribution service 300. The driver extension package 303 includes a driver information unit 304 and a device capability information unit 305. The driver information unit 304 includes information such as a hardware ID (HWID) for identifying a printer, a compatible ID (COID), information indicating that the package is a driver extension package, and a version of the driver extension package 303. The device capability information unit 305 includes device capability information and conflict information related to the corresponding printer 200. The device capability information is, for example, information indicating whether the printer 200 supports color printing or duplex printing. The capability information included in the driver extension package 303 includes not only the above-mentioned capability information, but also includes information indicating, for example, whether vendor-unique stapleless binding can be performed, whether saddle stitch binding can be performed, and whether mixed sheet printing as printing using various types of sheets can be performed.
[0055] Figure 3B An example of functional blocks in the print extension application distribution service 400 is shown. The application registration unit 401 and the application response unit 402 are realized by CPUs of one or more information processing devices constituting the print extension application distribution service 400 executing programs.
[0056] The print extension application distribution service 400 is a service existing on a cloud system via the Internet 203. The print extension application distribution service 400 can distribute the print extension application 1052 to an external service and the client computer 100. The print extension application distribution service 400 distributes not only the print extension application 1052 but also any application other than the print extension application 1052.
[0057] Upon receiving an instruction to register the print extension application 1052 from the external service and the client computer 100 , the application registration unit 401 registers the uploaded application in the application database 410 .
[0058] Upon receiving a request for acquiring the print extension application 1052 from the external service and the client computer 100 , the application response unit 402 acquires the corresponding application from the application database 410 and sends the application to the external service or the client computer 100 that has transmitted the request.
[0059] The application database 410 is a database that registers information about the print setting application. The print setting application is distributed by a vendor or the like, and the print setting application receives a registration request from an external service or the client computer 100. Figure 5C The information registered in the application database 410 is described in detail.
[0060] The print extension application 1052 according to the present exemplary embodiment includes a setting file unit 10521 and an execution file unit 10522. The setting file unit 10521 has the following information, such as application identification information for identifying the print extension application 1052 and HWID and COID for identifying the corresponding printer 200. The execution file unit 10522 executes the print extension application 1052. The execution file unit 10522 can receive a print setting user interface (UI), processing of a print job when printing is performed, and a press notification from an external service, and display a print setting screen. In the present exemplary embodiment, the execution file unit 10522 in the print extension application 1052 includes a module for generating page description language (PDL) data based on print data. The execution file unit 10522 generates PDL data, which reflects the print settings made on the print setting screen provided by the print extension application 1052. The execution file unit 10522 then sends the generated PDL data to the cloud printing service 500.
[0061] The print extension application 1052 generates PDL data, which makes it possible to generate print data reflecting the print settings even when print settings are made for items such as IPP that correspond to functions other than standard functions and cannot be interpreted by the cloud print service 500 .
[0062] Figure 3C An example of functional blocks in the cloud print service 500 according to the present exemplary embodiment is shown. Each functional block is realized by the CPU of one or more information processing devices constituting the cloud print service 500 executing a program.
[0063] The cloud printing service 500 is a service that exists on the cloud system via the Internet 203, and the cloud printing service 500 can provide functions related to printing. In the present exemplary embodiment, the cloud printing service 500 includes the functions of a printer registration unit 501, a print queue generation unit 502, a printer list generation unit 503, a search response unit 504, and a printer database 510. The cloud printing service 500 also includes the functions of a print job management unit 505, a print job generation unit 506, and a print job storage area 511. These functions may be provided in other cloud printer services to be operated in cooperation with the cloud printing service 500.
[0064] The configuration of registering the printer 200 in the cloud print service 500 and executing printing using the printer 200 will be described below by way of example. However, even when the printer 200 is replaced with the printer 201 or the printer 202 connectable to the cloud print service 500, this configuration can be realized by similar processing.
[0065] When receiving a printer registration instruction from the printer 200, the printer registration unit 501 causes the print queue generation unit 502 to generate a print queue and register the generated print queue and printer identification information in association with each other in the printer database 510. The state in which the print queue corresponding to the printer and the printer identification information are registered in association with each other is described herein as "registering the printer". Various attributes can be added to the registered printer. Examples of the various attributes include the location where the printer is placed.
[0066] The print queue generation unit 502 generates a print queue on the cloud print service 500 under the control of the printer registration unit 501. When the client computer 100 sends a print instruction to the cloud print service 500, the print job is registered in the print queue generated by the print queue generation unit 502.
[0067] The printer list generation unit 503 generates a list of registered printers. For example, when a list of printers registered in the cloud print service 500 is requested from the client computer 100 , the printer list generation unit 503 generates the printer list.
[0068] The search response unit 504 returns information about registered printers to the client computer 100 based on a printer search for the cloud print service 500 from the client computer 100. The search response unit 504 passes the search result to the printer list generation unit 503 and causes the printer list generation unit 503 to generate a printer list. The search response unit 504 returns the printer list generated by the printer list generation unit 503 to the client computer 100.
[0069] The print job management unit 505 receives image data and print settings from the client computer 100 and sends the print job generated by the print job generation unit 506 to the printer 200. The print job management unit 505 stores the print job generated by the print job generation unit 506 in the print job storage area 511.
[0070] The printer database 510 is a database that stores information about printers registered in the cloud print service 500. Figure 5A The contents stored in the printer database 510 are described.
[0071] The process of registering the printer 200 in the cloud print service 500 will be described below.
[0072] Figure 4 is a sequence diagram illustrating a process for registering the printer 200 in the cloud print service 500 according to the present exemplary embodiment. In the present exemplary embodiment, the client computer 100 accesses the printer 200 and operates the printer 200 to send a request for registering the printer 200 to the cloud print service 500 .
[0073] The printer 200 supports a cloud printing function (a function for receiving a print job from a cloud printing service and performing printing) and a network UI function for operating the printer 200 from the client computer 100. The network UI function is a function for generating a UI and publishing the UI on a network. The client computer 100 supports a cloud printing client function (a function for sending a file to a cloud printing service) and a network UI client function (e.g., a web browser) for operating a network UI. The cloud printing service 500 represents a cloud printing service on the Internet 203.
[0074] The user opens the network UI of the printer 200 by using the network UI client function of the client computer 100, and selects a button for registering the printer 200 in the cloud print service 500 on the network UI. When the button is selected, the client computer 100 sends a request for registering the printer 200 in the cloud print service 500 to the printer 200 in step S410.
[0075] When a request for registering the printer 200 in the cloud print service 500 is received in step S410, the printer 200 transmits a request for registering the printer 200 in the cloud print service 500 to the cloud print service 500 in step S411. In the present exemplary embodiment, therefore, a request for registering the printer 200 in the cloud print service 500 is transmitted from the network UI client function of the client computer 100. This request may also be transmitted by operating an input device such as a panel included in the printer 200. In such a case, no request is transmitted from the client computer 100, and the printer 200 transmits a printer registration request to the cloud print service 500.
[0076] In step S411, the printer registration request sent to the cloud printing service 500 includes information about the printer 200. The information about the printer 200 includes the name of the printer 200, information (HWID) for identifying the model of the printer 200, and a COID for identifying the type of the printer 200 such as an inkjet printer or a laser printer. The information about the printer 200 also includes Internet Protocol (IP) address information and a capability information file related to standardized functions such as using IPP.
[0077] When a registration request is received in step S411, in step S412, the cloud printing service 500 causes the print queue generation unit 502 to create a print queue for sending a print job to the printer 200. The printer registration unit 501 registers printer information and capability information in the printer database 510, and generates a record about the printer for which the registration request is made. In addition, the print queue generation unit 502 generates a print queue. The print queue is created using the received information about the printer 200, such as: the name (device name) of the printer 200, the HWID and COID for identifying the model of the printer 200, and the IP address of the printer 200.
[0078] In step S413, the cloud printing service 500 sends a request for downloading the driver extension package 303 to the printer driver distribution service 300. The request is a request for receiving the driver extension package 303 corresponding to the printer registered in the cloud printing service 500. The cloud printing service 500 sends the request for downloading the driver extension package 303 and the HWID and COID for identifying the printer 200 to the printer driver distribution service 300.
[0079] In step S414, the printer driver distribution service 300 sends the corresponding driver extension package 303 to the cloud print service 500 based on the received HWID and COID. Figure 5B The printer driver database 310 shown in the figure identifies the driver extension package that matches the received HWID and the extension flag of the driver extension package indicates "true (TRUE)". If the driver extension package that matches the received HWID and the extension flag indicates "true" cannot be identified, the printer driver distribution service 300 identifies the driver extension package that matches the received COID and the extension flag indicates "true". Then, the printer driver distribution service 300 sends the identified driver extension package to the cloud printing service 500. If the driver extension package can be identified only based on the HWID, in step S413, only the HWID can be sent to the printer driver distribution service 300.
[0080] Now refer to Figure 5B Describes the printer database. Figure 5B An example of a printer driver database 310 maintained in the printer driver distribution service 300 is shown. The item "Package Name" represents the name of the package acquired from the driver information unit 304 during the registration process. The item "HWID" represents identification information for identifying the model of the printer 200 (identification information unique to the model of the printer). The item "COID" represents identification information for identifying the category of the printer using the driver. The item "Package" represents the name of the package including the driver extension package 303. In the item "Package", any information such as a file path can be used as long as the information can be used to identify the driver or driver extension package corresponding to the record. The item "Extension" indicates whether the driver extension package 303 is an extension file. If the extension indicates "FALSE", the package is not an extension package but a printer driver. On the contrary, if the extension indicates "True", the package is not a printer driver but a package for extending the driver. The item "Application Identifier" represents identification information related to an application for extending the print setting screen using the capability information stored in the driver extension package 303. In the present exemplary embodiment, only the driver expansion package 303 includes the application identifier, but the printer driver may also include the application identifier.
[0081] Updated by the printer driver registration unit 301 Figure 5B303. When registering a package in the printer driver database 310, the printer driver registration unit 301 analyzes the driver information unit 304. The printer driver registration unit 301 acquires the package name, HWID and COID, and information indicating whether the package is a driver extension package, and registers the acquired information in the printer driver database 310 together with the driver extension package 303.
[0082] In step S415, the cloud printing service 500 analyzes the device capability information unit 305 in the downloaded driver extension package 303, and expands the print queue. The cloud printing service 500 obtains the capability information about the printer 200 from the device capability information unit 305 in the driver extension package 303. Then, the cloud printing service 500 updates the printer capability information corresponding to the print queue of the printer information in the printer database 510. In step S415, the cloud printing service 500 rewrites the capability information associated with the print queue with the capability information obtained from the driver extension package 303. The cloud printing service 500 may add the capability information about the setting items not associated with the print queue in the capability information obtained from the driver extension package 303 to the capability information corresponding to the print queue. Alternatively, the cloud printing service 500 may obtain information indicating the hardware configuration of the printer 200 from the printer 200, and determine the capability information based on the capability information and the hardware configuration information included in the driver extension package 303.
[0083] By using the above process, the print queue is extended using the vendor-specific device capability information for the printer 200 registered in the cloud print service 500. In step S416, the printer database 510 is updated using the extended information related to the printer 200. Through the above process, the capability information extended by the driver extension package 303 is registered in the printer database 510 as capability information corresponding to the print queue.
[0084] Figure 5AAn example of a printer database 510 maintained in a cloud printing service 500 is shown. The item "Device Name" represents the name of a printer (device name) acquired from the printer 200 during the registration process. The item "HWID" represents an identifier for identifying the model of the printer 200 (an identifier unique to the model of the printer). The item "COID" represents identification information for identifying the category of the printer 200, such as an inkjet printer or a laser printer. The item "IP Address" represents the IP address of the printer to be connected. The item "Package" represents the package name of the driver extension package 303 for extending the print queue corresponding to the printer. If the print queue is not extended, the item "Package" indicates "null". Although not shown, device capability information, etc. are registered in the database in Javascript Object Notation (JSON) format. If the printer capability information is extended by the driver extension package 303, the extended capability information is stored. The data format for storing device capability information is not limited to JSON, but may be any other data format. Printer information and information about users who can use the printer can be stored in association with each other. Figure 5A The printer database 510 is shown.
[0085] Fig. 9 An example of capability information stored in association with a print queue is shown. For example, the capability information is registered in JSON format, and each setting represents a function. Each function includes options that can be set in a sequence format.
[0086] Defined by IPP etc. Fig. 9, and includes “One-Sided” indicating one-sided printing and “Color” indicating color printing as options. The setting item “Orientation” is related to the orientation of each sheet used for printing, and includes “Portrait” indicating the longitudinal orientation and “Landscape” indicating the transverse orientation as options. Capability information 901 is one of the standard setting items or options defined by IPP, etc. Capability information 901 can be provided from the printer 200 to the cloud printing service 500. The extension of the device capability information using the driver extension package 303 enables the standard setting items defined by IPP, etc. described in the capability information 901 to include vendor-unique options. For example, when the setting item "binding" for sheet stapling is expanded, not only "upper left binding" which indicates stapling at the upper left position, which is a standard option, but also "saddle stitching" which indicates saddle stitching can be performed.
[0087] Capability information 902 is capability information extended by the driver extension package 303, and is capability information related to, for example, vendor-unique setting items. Capability information 902 includes functions "Extension-Setting 1" and "Extension-Setting 2" and options "Extension-option 1" and "Extension-option 2" for each function. Examples of extended settings include settings for stapleless binding and settings for mixed sheet printing, which is printing using various types of sheets in one print job. If the mixed sheet printing function is set, a character string indicating mixed sheet printing is entered in "Extension-Setting 1". In this case, a character string indicating the option of using A3-size sheets and A4-size sheets is entered in "Extension-option 1", and a character string indicating the option of using B4-size sheets and B5-size sheets is entered in "Extension-option 2". By referring to Fig. 9 , the print extension application 1052 can provide a print setting screen capable of performing setting items unique to a vendor.
[0088] Refer again Figure 4When the registration in the printer database 510 is completed, in step S417, the cloud printing service 500 sends a cloud printing service registration request response including a registration URL for cloud printing registration and a registration URL prompt request to the printer 200.
[0089] In step S418, the printer 200 receives the cloud printing service registration request response and the registration URL prompt request, and the printer 200 outputs the registration URL information. In step S418, the printer 200 displays the URL on the monitor 110, or prints the registration URL information on the sheet, and notifies the user of the registration URL. The printer 200 also transmits the registration URL to the client computer 100 via the network UI.
[0090] In step S419, the user accesses the cloud printing service 500 located at the registration URL prompted by the printer 200. In this case, it may be necessary to log in to a cloud account that can access the cloud printing service 500. Therefore, the user may be required to input a user ID and a password.
[0091] The cloud printing service 500 associates the user with the printer 200 based on the registration URL including the cloud account and the printer information. An example of a method of associating the user with the printer 200 includes a method of associating the printer information with a user token. However, the method is not limited thereto. In step S420, the cloud printing service 500 sends the user token including the information about the cloud printing service 500 to the printer 200, and then terminates the process of registering the printer 200 in the cloud printing service 500. The printer 200 accesses the cloud printing service 500 using the user token.
[0092] Next, a process for generating a print queue of the printer 200 registered in the cloud print service 500 in the client computer 100 and installing the print extension application 1052 will be described.
[0093] Figure 6 1052 is a sequence diagram illustrating a process of installing the print extension application 1052 in the client computer 100 according to the present exemplary embodiment.
[0094] In the case of outputting data to the printer 200 using the cloud print service, the client computer 100 sends a print job to the cloud print service 500. Therefore, a print queue for sending the print job to the cloud print service 500 may need to be generated in the client computer 100.
[0095] In the present exemplary embodiment, a print queue of a printer registered in the cloud print service 500 is generated using a printer search function which is one of the standard functions of the OS 1053. In general, in the case of searching for a printer, a printer existing on the same intranet becomes a search target. Figure 2 When searching for a printer in the illustrated configuration, printer 200 can be found. However, printer 201 and printer 202 that do not exist on the intranet cannot be found. In the present exemplary embodiment, client computer 100 can access cloud print service 500. When a printer is registered in cloud print service 500, printers registered in cloud print service 500 can be found through printer search. In the present exemplary embodiment, not only printer 200 described above, but also printer 201 and printer 202 are registered in cloud print service 500, so printer 201 and printer 202 can also be found through the printer search function of OS 1053.
[0096] In step S610, the client computer 100 searches for a printer using a printer search function, which is one of the above-mentioned standard functions of the OS 1053. In step S610, the client computer 100 searches not only for printers existing on the same intranet as the intranet to which the client computer 100 belongs, but also for printers registered in the cloud print service 500. The client computer 100 accesses the cloud print service 500, and sends a request for acquiring a list of printers registered in the cloud print service 500 to the cloud print service 500.
[0097] The search response unit 504 in the cloud printing service 500, upon receiving the printer search information, presents the available printers to the client computer 100. Thus, in step S611, the cloud printing service 500 generates a printer list including printer information related to printers that can be used by the user accessing the cloud printing service 500 from the client computer 100. The printer information includes the name of the printer (device name), the HWID for identifying the model of the printer, and the IP address of the printer as described above. The printer list generation unit 503 in the cloud printing service 500 creates a printer list including printer information by using the information stored in the printer database 510.
[0098] In step S612, the cloud print service 500 returns the created printer list to the client computer 100. In this case, the cloud print service 500 also sends information such as HWID and COID as printer information included in the printer list. FIG. 5A to FIG. 5CThe printer identification information described in the table shown is shown. The client computer 100 causes the monitor 110 to display a printer selection screen that the user can use to select an available printer based on the printer list. The user selects a printer to be used from the presented printer list.
[0099] In step S613, the OS 1053 of the client computer 100 installs the cloud driver 1050 used by the cloud printing service 500, and generates a print queue for the selected printer. The client computer 100 obtains information about the printer selected by the user from the cloud printing service 500, and generates a print queue using the information. The client computer 100 generates a print queue based on the HWID, COID, IP address, and printer capability information obtained from the cloud printing service 500. If the cloud driver 1050 is already installed in the client computer 100, the client computer 100 does not install the cloud driver 1050. The client computer 100 generates a print queue using the installed cloud driver 1050 and the printer information obtained from the cloud printing service 500.
[0100] In step S614, the OS 1053 of the client computer 100, upon successfully generating the print queue, sends a request for downloading the driver extension package 303 to the printer driver distribution service 300. The client computer 100 sends a request for acquiring the HWID, COID, and driver extension package to the cloud printing service 500. The client computer 100 may send only one of the HWID and the COID to the cloud printing service 500.
[0101] In step S615, upon receiving the download request, the printer driver distribution service 300 performs download processing on the client computer 100. The printer driver distribution service 300 identifies a package matching the received HWID from the driver extension packages registered in the printer driver database 310, and sends the package to the client computer 100. If a package matching the received HWID cannot be identified from the driver extension packages, the printer driver distribution service 300 identifies a driver extension package matching the received COID. Then, the printer driver distribution service 300 sends the identified printer extension package to the client computer 100.
[0102] In step S616, the OS 1053 of the client computer 100 installs the driver extension package 303 and extends the capability information corresponding to the print queue generated based on the above-mentioned cloud driver 1050. The client computer 100 updates the capability information corresponding to the print queue using the device capability information included in the printer extension package. In other words, for the printer 200 registered in the cloud printing service 500, the print queue is extended using the vendor-specific device capabilities.
[0103] In step S617, the client computer 100 sends a download request to the print extension application distribution service 400. In this case, the OS 1053 sends a request for downloading the print extension application 1052 associated with the target printer based on the above-mentioned identifier information about the print extension application 1052. According to the present exemplary embodiment, in the print extension application distribution service 400, the identifier information about the print extension application 1052 in the driver extension package 303 and the print extension application 1052 are associated with each other in a one-to-one correspondence.
[0104] In the print extension application distribution service 400, metadata indicating identifier information related to the print extension application 1052 and information associated with the HWID included in the printer information may also be stored. In this case, the appropriate print extension application 1052 is downloaded using the metadata.
[0105] In step S618, upon receiving the download request, the print extension application distribution service 400 performs download processing on the client computer 100. Figure 5C The application response unit 402 identifies the application corresponding to the application identifier transmitted from the client computer 100 by referring to the application database 410 shown. The application response unit 402 sends the identified print extension application to the client computer 100. In step S619, the client computer 100 installs the print extension application 1052.
[0106] Figure 5C An example of the application database 410 maintained in the print extension application distribution service 400 is shown. The item "application name" represents the name of each application registered in the database including the print extension application 1052. The item "application identifier" represents information for identifying the application including the print extension application 1052. The item "application package" represents a file path in which the application including the print extension application 1052 is stored. In the item "application package", any information such as the name of a folder in which the application is stored can be used as long as the information can be used to identify the package of the registered print extension application.
[0107] The application database 410 is updated by the application registration unit 401. The application registration unit 401 analyzes the setting file unit 10521, and acquires the application name and the application identifier. In the application database 410, the application registration unit 401 registers the above-mentioned information and the print extension application 1052.
[0108] After installation, in the client computer 100, the print extension application 1052 is associated with the printer 200 in a one-to-one correspondence. The printer 200 maintains model information and print setting information related to the printer 200, and therefore, it is possible to prompt a suitable print setting UI to the customer. Alternatively, the print extension application 1052 can communicate with the cloud print service 500 to obtain target model information and print setting information related to the target printer, and provide a UI using the information. When the installation of the print extension application 1052 is completed, the user can use the advanced print setting change function.
[0109] In the present exemplary embodiment, after generating the print queue in the client computer 100, the client computer 100 accesses the printer driver distribution service 300 to acquire the driver extension package 303. The client computer 100 acquires information related to the extended print queue from the cloud print service 500 without extending the print queue on the client computer 100. In this case, the client computer 100 skips steps S614 to S616. Alternatively, after acquiring information related to the extended print queue from the cloud print service 500, the client computer 100 may perform the processing of steps S614 to S616.
[0110] Operations performed when the client computer 100 executes printing according to the present exemplary embodiment will be described below.
[0111] Fig. 8A An example of a print common dialog box displayed on the client computer 100 by the OS 1053 is shown. Area 801 is an area for selecting a print queue to be used in printing of a printer registered in the cloud print service 500. When the user selects area 801 in the print common dialog box, a list of print queues registered in the cloud print service 500 is displayed. The user selects a print queue to be used in printing from among the displayed print queues.
[0112] The advanced setting button 800 is a button for activating the print extension application 1052. When the user selects the advanced setting button 800, the following will be displayed. Figure 8B Describes the print settings screen.
[0113] The “Print” button 802 is a button used by the user to instruct the start of printing. When the user selects the “Print” button 802, the client computer 100 sends the image data and the current print settings to the cloud print service 500. When printing is instructed in the print common dialog box displayed by the OS 1053, the cloud driver 1050 sends the image data and the print settings to the cloud print service 500. The print job generation unit 506 in the cloud print service 500 generates PDL data based on the image data and print settings received from the client computer 100, and stores the job as a print job in the print job storage area 511.
[0114] Figure 8B Shows when the Fig. 8A 1053 is a screen displayed on the client computer 100 when the advanced setting button 800 shown in FIG. 1054 is selected. When the user selects the advanced setting button 800, the OS 1053 identifies the print extension application 1052 corresponding to the selected print queue. The OS 1053 activates the identified print extension application 1052. The activated print extension application 1052 displays Figure 8B The print settings screen shown in .
[0115] Area 803 is an area where print settings are displayed. In area 803, in addition to the predetermined standard functions defined by IPP, etc.: sheet direction, number of print sheets, and color mode, vendor-specific setting items can be set; the setting items include settings for book binding printing and settings for mixed sheet printing, which is printing using sheets of various sizes in one print job.
[0116] The extended setting 804 is an operation area generated based on the capability information extended by the driver extension package 303. An area 805 is an area for switching a displayed screen and changing a setting item.
[0117] The "OK" button 806 is used to enter Figure 8B The print settings made on the print settings screen shown in Fig. 8A When the "OK" button 806 is selected, the Figure 8B The print settings made on the print setting screen shown in FIG. 105 are transferred to the OS 1053 .
[0118] The "Print" button 807 is a button used by the print extension application 1052 to instruct the cloud print service 500 to execute printing. When the "Print" button 807 is selected, the print extension application 1052 executes the execution file unit 10522 in the print extension application 1052, and generates PDL data reflecting the current print settings. Then, the print extension application 1052 sends the generated PDL data and print settings to the cloud print service 500. In the case where the print extension application 1052 generates the PDL data, the cloud print service 500 sends the PDL data and the print settings to the printing device without generating the PDL data.
[0119] As described above, in the first exemplary embodiment, PDL data is generated in the print extension application 1052. With this configuration, even when the cloud print service 500 does not generate PDL data reflecting the settings made by the print extension application 1052, PDL data reflecting the settings made by the print extension application 1052 can be sent to the printing device.
[0120] Fig.11 According to this exemplary embodiment, Fig. 8A The print common dialog box shown indicates the processing performed when the cloud print service 500 executes printing. After the common dialog box is displayed by the OS 1053, the Fig.11 Processing shown.
[0121] In step S1301, the OS 1053 receives selection of the advanced setting button 800. In step S1302, the OS 1053 activates the print extension application 1052 corresponding to the print queue selected in the print common dialog box. In step S1303, the print extension application 1052 displays Figure 8B . The print extension application 1052 receives the print setting changes from the user. In step S1304, the print extension application 1052 receives the selection of the "OK" button 806. When the user selects the "OK" button 806, in step S1305, the print extension application 1052 sends the print settings made for the OS 1053. OS1053 receives the print settings from the print extension application 1052 and displays the print common dialog box. In step S1306, the user selects the "Print" button 802 in the print common dialog box. In step S1307, OS 1053 sends the print settings received from the print extension application 1052 and the image data to be printed as print data to the cloud printing service 500.
[0122] In step S1308, the cloud printing service 500 receives the image data and the print settings from the OS 1053 of the client computer 100, and generates PDL data based on the received image data and the print settings. In this case, the cloud printing service 500 generates PDL data that reflects only the print settings supported by the cloud printing service 500. In step S1309, the cloud printing service 500 stores the print job using the generated PDL data as print data in the print job storage area 511.
[0123] As described above, in the case where the cloud printing service 500 generates PDL data, only the print settings supported by the cloud printing service 500 can be reflected in the PDL data. Examples of the print settings supported by the cloud printing service 500 include settings for color printing or black and white printing and settings for double-sided printing. Regarding the print settings sent in step S1307, the print settings that are not supported by the cloud printing service 500 are not reflected in the PDL data, and therefore are not reflected in the data output from the printer. In the present exemplary embodiment, in the case of using the print extension application 1052 to perform print settings, such as Fig.12 As shown, printing is instructed by the print extension application 1052, and PDL data is generated by the print extension application 1052. With this configuration, even when print settings that are not supported by the cloud print service 500 are made in the print extension application 1052, printing can be performed using PDL data that reflects the print settings. In the present exemplary embodiment, examples of print settings that are not supported by the cloud print service include N-in-one print settings for printing multiple pages on one sheet, settings for a saving mode for saving recording materials to be used during printing, and settings for book binding or stamping.
[0124] In step S1010, the OS 1053 of the client computer 100 receives, from the user, a selection of the advanced setting button 800. In step S1011, the OS 1053 activates the print extension application 1052 corresponding to the selected print queue.
[0125] In step S1012, the print extension application 1052 receives the setting change from the user, and receives the selection of the "Print" button 807. In step S1013, the print extension application 1052 sends a request for obtaining the print data to be printed to the OS 1053. In step S1014, the OS 1053 sends the image data as the print data to the print extension application 1052. In step S1015, the print extension application 1052 converts the print settings and image data received as the print data into PDL data unique to the vendor. The PDL data generated by the print extension application 1052 has a data format that the printer 200 can analyze, and includes a print command that can implement all the functions included in the printer 200. Therefore, various functions of the above-mentioned print setting UI change can be converted into print commands, and the print commands can be generated as PDL data.
[0126] In step S1016, the print extension application 1052 sends the converted PDL data as print data to the cloud print service 500. The print extension application 1052 sends both the PDL data and print settings as print data to the cloud print service 500. The print extension application 1052 also sends the PDL data to the cloud print service 500 using a predetermined application programming interface (API).
[0127] In step S1017 , the cloud print service 500 receives print data including PDL data from the print extension application 1052 , and the print job management unit 505 registers the received print data including PDL data in the print job storage area 511 as a print job.
[0128] In the case where the cloud print service 500 receives the PDL data generated by the print extension application 1052, the print job generation unit 506 in the cloud print service 500 does not operate. The print job generation unit 506 performs processing in which, when data in a format that cannot be analyzed by the printer 200 is sent to the cloud print service 500, the data is converted into a suitable form. Therefore, in the present exemplary embodiment, there is no need to add conversion processing to the data obtained by converting the PDL data generated by the print extension application 1052 into the print job format. The cloud print service 500 performs control processing based on a predetermined API received from the print extension application 1052 so that the received PDL data is not converted.
[0129] The cloud printing service 500 may analyze the data and print settings received from the print extension application 1052, and may determine whether to perform processing for converting the received print data into PDL data. For example, if the print extension application 1052 has already sent the print data, the processing for converting the print data received by the cloud printing service 500 into PDL data may be omitted. On the contrary, if the OS 1053 has already sent the print data, the processing for converting the received print data into PDL data may be performed.
[0130] Therefore, the cloud print service 500 includes a process for determining whether to convert the received data. Alternatively, the print extension application 1052 may instruct the cloud print service 500 not to perform the job conversion process. According to the present exemplary embodiment, the cloud print service 500 may manage PDL data that can realize the functions included in the printer 200.
[0131] In the present exemplary embodiment, it is possible to issue a print start instruction using the cloud print service 500 on the screen of the print common dialog provided by the OS 1053 and on the print setting screen provided by the print extension application 1052. In addition, depending on whether printing is instructed from the print common dialog or from the print extension application 1052, generation of PDL data using the cloud print service 500 and generation of PDL data in the print extension application 1052 are switched.
[0132] When a “Print” button 802 in a print common dialog provided by the OS 1053 is selected, the print extension application 1052 may be automatically activated and image data may be transferred to the print extension application 1052, and then the image data may be displayed. Figure 8B If necessary, the user can use Figure 8B . When the user selects the “Print” button 807, PDL data is generated based on the image data and print settings acquired by the print extension application 1052, and the generated PDL data and print settings are sent to the cloud print service 500. In this case, the print extension application 1052 uses a predetermined API and controls the cloud print service 500 not to generate PDL data. In the above example, the Fig. 8A The advanced settings button 800 and Figure 8B The "OK" button 806 shown in FIG. Fig. 8A , and after the user selects the "Advanced Settings" button 800 and starts the print extension application 1052, printing can be instructed from the print extension application 1052. In this case, regardless of the content of the print setting, PDL data is generated by the print extension application 1052.
[0133] A process for executing printing based on a print job registered in the cloud print service 500 from the printer 200 will now be described.
[0134] When the user logs in to the printer 200, the printer 200 transmits a request for acquiring bibliographic information related to a print job registered in the print queue of the cloud print service 500 to the cloud print service 500. The bibliographic information to be acquired in this case is information for displaying a UI on the printer 200. Examples of the bibliographic information include a file name of image data, the number of printed sheets in a color mode, and a date and time when the print job was generated.
[0135] The cloud printing service 500 generates a printable job list based on the bibliographic information related to the print jobs stored in the print queue. The cloud printing service 500 then sends the generated printable job list to the printer 200. Upon receiving the printable job list sent by the cloud printing service 500, the printer 200 displays the printable job list on the operation panel. Figure 7 An example of an operation panel showing a list of printable jobs received from a cloud printing service 500 is shown. The cloud printing service includes print jobs "aaa.doc" to "jjj.pdf". The user selects a desired print job from the operation panel and presses a print button 701 to execute printing. The printer 200, which has received the print execution instruction, sends a request for acquiring the print job to the cloud printing service 500. This acquisition request includes an ID corresponding to the print job to be acquired, that is, a print job ID. By executing the following Fig.10 The shown process implements printing.
[0136] Fig.10 1 is a flowchart showing processing to be performed by the cloud print service 500 when a request for acquiring a print job is sent from the printer 200 to the cloud print service 500 according to the present exemplary embodiment. Unless otherwise specified, the processing is performed by each processing unit in the cloud print service 500. In step S1001, the print job management unit 505 receives a print job acquisition request (including a print job ID of a print job to be output) from the printer 200.
[0137] The print job management unit 505 having received the print job acquisition request identifies the designated print job from the print job storage area 511. In step S1002, the print job management unit 505 passes the identified print job to the print job generation unit 506, and the print job generation unit 506 generates a print job suitable for the printer 200 to which the print job is output.
[0138] In step S1003 , the print job management unit 505 acquires the generated print job from the print job generation unit 506 , and sends the print job to the printer 200 that has transmitted the print request.
[0139] In the present exemplary embodiment, the user operates printer 200, and printer 200 acquires a selected print job from cloud print service 500. Printer 200 may periodically access cloud print service 500 and acquire a print job managed in association with a print queue corresponding to printer 200 from cloud print service 500.
[0140] By using the above-described process, the print job registered in the cloud print service 500 is executed.
[0141] With the above configuration, even when print settings that are not supported by the cloud print service 500 are made in the client computer 100 , print data reflecting the print settings can be transmitted to the printing device.
[0142] In the first exemplary embodiment, the print extension application 1052 in the client computer 100 converts the print data into print data conforming to the printing device. According to the specification of the OS 1053, this processing cannot be realized in an environment where the print extension application 1052 cannot be installed. The second exemplary embodiment shows a method for realizing all functions included in the printer 200 even in the absence of the print extension application 1052.
[0143] The second exemplary embodiment shows a case where the cloud printing service 500 receives print data from the client computer 100 and the external server system generates PDL data corresponding to the printing device. According to this exemplary embodiment, even if the client computer 100 or the print extension application 1052 cannot generate print data that conforms to the printing device to which the print data is sent, print data that conforms to the printing device can be generated.
[0144] The hardware configuration of the client computer 100 is similar to that of the first exemplary embodiment, and thus a description thereof is omitted.
[0145] Reference Fig.14 An example of a network configuration according to the present exemplary embodiment will be described. Fig.14 Components similar to those of the first exemplary embodiment shown in FIG. 1 are denoted by the same reference numerals, and only components different from those of the first exemplary embodiment will be described.
[0146] The PDL conversion service 600 represents a service for converting data into PDL data including a print command capable of realizing all functions of the printer 200 that can be analyzed by the printer 200. The PDL conversion service 600 can be realized by a module registered in an extension area prepared in the cloud print service 500, or provided as other cloud services operating in cooperation with the cloud print service 500. The PDL conversion service 600 is set in the cloud print service 500 as a transmission destination, so that it is possible to transmit the data to the PDL conversion service 600 after the cloud print service 500 receives the print data.
[0147] In the present exemplary embodiment, registration of the printer 200 , generation of a print queue, and a print instruction made by a user are the same as those described in the first exemplary embodiment, and thus descriptions thereof are omitted. The following description will start from the point at which a user transmits a print instruction to send print data to the cloud print service 500 .
[0148] The first exemplary embodiment described above assumes that a print instruction is issued on both the screen of the print common dialog and the print setting screen provided by the print extension application. If a print instruction is issued on the print common dialog, the OS 1053 sends print data to the cloud print service 500. If a print instruction is issued on the screen provided by the print extension application, the print extension application 1052 sends print data to the cloud print service 500. In the present exemplary embodiment, regardless of which screen is used to issue the print instruction, the OS 1053 sends print data to the cloud print service 500.
[0149] Fig.13 : is a sequence diagram illustrating a process of transmitting print data to the cloud print service 500 and a PDL conversion process using the PDL conversion service 600 according to the present exemplary embodiment.
[0150] In step S1110 , the OS 1053 of the client computer 100 receives a print instruction from the user. In step S1111 , the OS 1053 transmits print data including image data and print settings to the cloud print service 500 .
[0151] In step S1112 , the cloud print service 500 , upon receiving the print data, transmits the print data to the PDL conversion service 600 set in advance as a transmission destination.
[0152] In step S1113, the PDL conversion service 600, upon receiving the print data from the cloud print service 500, converts the print data into PDL data capable of realizing all functions of the printer 200. In step S1114, the PDL conversion service 600 sends the converted PDL data to the cloud print service 500. In step S1114, the PDL conversion service 600 sends the PDL data in the print data format and the print settings to the cloud print service 500. In step S1115, the print job management unit 505 registers the received print data including the PDL data as a print job in the print job storage area 511. According to the present exemplary embodiment, the cloud print service 500 can manage PDL data capable of realizing the functions included in the printer 200.
[0153] The print job stored in the print job storage area 511 of the cloud print service 500 is read out from the printer by the above-described method, and printing is performed based on the print job in the same manner as in the first exemplary embodiment.
[0154] In the present exemplary embodiment, the cloud printing service 500 performs PDL conversion processing using the PDL conversion service 600. However, the PDL conversion processing can be implemented at other timings. For example, the client computer 100 can perform PDL conversion processing by sending print data to the PDL conversion service 600 without involving the cloud printing service 500. After the PDL conversion processing, the PDL conversion service 600 sends the print data including the PDL data and the print settings to the cloud printing service 500 and registers the print job.
[0155] The above-described method can realize all functions included in each printer in printing using a standard printing system provided by the OS even in an environment where the print extension application 1052 cannot be installed.
[0156] The third exemplary embodiment shows a method for installing a vendor-unique driver package in the cloud print service 500 and performing processing using a printer driver. The cloud print service 500 with the driver package installed converts the print data received from the client computer 100 by using the driver. With such a configuration, print data reflecting the vendor-unique print settings can be generated.
[0157] Now refer to Fig.15 An example of functional blocks in the printer driver distribution service 300 according to the present exemplary embodiment is described. Fig.15 is used to replace the one used in the description of the first exemplary embodiment. Figure 3A Components similar to those of the first exemplary embodiment are denoted by the same reference numerals. Fig.15, and only components different from those of the first exemplary embodiment will be described.
[0158] The driver package 306 is an example of a package distributed from the printer driver distribution service 300. The driver package 306 includes a driver information unit 307, a device capability information unit 308, and a rendering unit 309. Similar to the driver information unit 304, the driver information unit 307 includes HWID and COID for identifying each printer, information indicating that the package is a driver extension package, and the version of the driver extension package 303. Similar to the device capability information unit 305, the device capability information unit 308 includes device capability information and conflict information related to the corresponding printer 200. Examples of the device capability information include information indicating whether the printer 200 supports color printing or duplex printing. The capability information included in the driver extension package 303 includes not only the above-mentioned capability information, but also includes information indicating whether vendor-unique stapleless binding can be performed, information indicating whether saddle-stitch binding can be performed, and information indicating whether mixed sheet printing can be performed. Mixed sheet printing uses various types of sheets.
[0159] The rendering unit 309 can convert data such as Graphics Device Interface (GDI) data, Extensible Markup Language (XML) Paper Specification (XPS) data, Word, Excel or PowerPoint data into data such as PDF, PwgRaster, Printer Control Language (PCL) or PDL data unique to a printer vendor.
[0160] As described above, the printer driver distribution service 300 includes the driver package 306 and provides the driver package to the cloud print service 500 .
[0161] Fig.16 is a sequence diagram illustrating a method for installing a printer driver in a cloud service according to the third exemplary embodiment. Fig.16 A method for replacing the method performed in the first exemplary embodiment is shown. Figure 4 The processing shown in FIG. is similar to the processing of the first exemplary embodiment. Fig.16 The illustrated processes are denoted by the same step numbers as those of the first exemplary embodiment, and only the different processes will be described.
[0162] In the present exemplary embodiment, the client computer 100 accesses the printer 200 and operates the printer 200 . Therefore, the printer 200 transmits a request for registering the printer 200 to the cloud print service 500 .
[0163] The printer 200 supports a cloud printing function and a network UI function for operating the printer 200 from the client computer 100. The cloud printing function is a function of receiving a print job from a cloud printing service and performing printing. The network UI function is a function of generating a UI and publishing the UI on a network. The client computer 100 supports a cloud printing client function and a network UI client function for operating a network UI (e.g., a web browser). The cloud printing client function is a function of sending a file to a cloud printing service. The cloud printing service 500 represents a cloud printing service on the Internet 203.
[0164] In step S1512, the cloud print service 500 sends a request for downloading the driver package 306 to the printer driver distribution service 300. This request is a request for receiving the driver package 306 corresponding to the printer registered in the cloud print service 500. The cloud print service 500 sends the request for downloading the driver package 306 and the HWID and COID for identifying the printer 200 to the printer driver distribution service 300. The HWID and COID transmitted to the printer driver distribution service 300 in step S1512 are the HWID and COID acquired by the cloud print service 500 from the printer 200 in step S411.
[0165] In step S1512, the printer driver distribution service 300 sends the corresponding driver package 306 to the cloud print service 500 based on the received HWID and COID. Fig.17A The printer driver database 310 is shown receiving printer drivers and driver extension packages that match the HWID.
[0166] We will now describe Fig.17A and Fig. 17B The table shown in . Fig.17A is a table showing information related to the driver package managed by the printer driver distribution service 300 . Fig.17A The table shown in FIG. 1 is similar to that according to the first exemplary embodiment. Figure 5B The table shown in corresponds to . Fig. 17B is a table showing information about printers registered in the cloud print service 500 . Fig. 17B The table shown is similar to the one according to the first exemplary embodiment. Figure 5A The table shown corresponds to .
[0167] Assume that in step S410, Fig. 17B The printer indicated by iR-ADV CCCC shown in FIG. 1 is added to the cloud print service 500. The cloud print service 500 registers the data acquired from the printer 200 in the cloud print service 500. Fig. 17BThe cloud print service 500 transmits the HWID to the printer driver distribution service 300. The printer driver distribution service 300 identifies the driver package to be installed in the cloud print service 500 based on the received HWID. Fig.17A In the table shown, multiple packages matching the HWID of the device iR-ADV CCCC are included. One of the packages has a flag of "true", and the other packages have a flag of "false". These flags indicate that the driver is extended. The package whose flag indicates "true" is not a printer driver, but a package for extending printer information. In such a case, the printer driver allocation service 300 preferentially sends the printer driver whose flag indicating that the driver is extended indicates "false" to the cloud printing service 500.
[0168] If the printer driver and the driver extension package matching the HWID transmitted from the cloud print service 500 cannot be identified, the printer driver distribution service 300 performs the following processing. That is, the printer driver distribution service 300 sends the printer driver matching the COID received from the cloud print service 500 to the cloud print service 500. If there is a printer driver and a driver extension package matching the received COID, the printer driver distribution service 300 preferentially sends the printer driver to the cloud print service 500. If the driver extension package can be identified based on only the HWID, only the HWID may be sent to the printer driver distribution service 300 in step S413.
[0169] In step S1513, the cloud print service 500 downloads the driver package 306 from the printer driver distribution service 300. In step S1514, the downloaded driver package 306 is installed in the cloud print service 500.
[0170] In step S1515, the cloud printing service 500 causes the print queue generation unit 502 to create a print queue for sending print jobs to the printer 200. The printer registration unit 501 registers printer information and capability information in the printer database 510, and generates a record about the printer for which the registration request is made. The print queue generation unit 502 also generates a print queue. The print queue is created using information related to the received printer 200, such as the name of the printer (device name), the HWID and COID for identifying the model of the printer 200, and the IP address of the printer 200. By using the above-mentioned processing, Fig. 17B The IP address and packet are registered in the printer database shown in FIG.
[0171] Subsequent processing is similar to that of the first exemplary embodiment.
[0172] A method for printing using a printer driver installed in a cloud print service according to a third exemplary embodiment will now be described. In this exemplary embodiment, the printer driver installed in the cloud print service 500 generates PDL data. Therefore, the method described in the first exemplary embodiment above will be described with reference to FIG. Fig.11 The present exemplary embodiment is described with reference to the sequence diagram shown in . Description of processes similar to those of the first exemplary embodiment is omitted, and only processes different from those of the first exemplary embodiment are described.
[0173] In step S1308, the cloud print service 500 receives the image data and print settings from the OS 1053 of the client computer 100, and generates PDL data based on the received image data and print settings. The cloud print service 500 acquires the device name of the printer used for printing from the print settings received from the OS 1053. The cloud print service 500 refers to Fig. 17B The table shown is used to identify the driver corresponding to the printer indicated by the acquired device name. The cloud printing service 500 determines whether to install the identified driver. If the identified printer driver is installed in the cloud printing service 500 based on the determination described above, the rendering unit 309 of the identified printer driver generates PDL data. If it is determined that the printer driver corresponding to the acquired device name is not installed in the cloud printing service 500, the cloud printing service 500 performs the following processing. That is, the cloud printing service 500 uses a module pre-included in the cloud printing service 500 to generate PDL data without using the driver acquired from the printer driver allocation service 300. Even in the case where the driver cannot be identified based on the acquired printer name, the cloud printing service 500 generates PDL data using a module pre-included in the cloud printing service 500.
[0174] Therefore, in step S1309 , the cloud print service 500 passes the generated PDL data to the print job generation unit 506 , and the print job generation unit 506 generates a print job as print data and stores the print job in the print job storage area 511 .
[0175] As described above, PDL data can be generated using the driver distributed from the printer driver distribution service 300. The printer driver registered in the printer driver distribution service 300 is installed in the cloud print service 500, so that PDL data reflecting the print setting not supported by the cloud print service 500 can be generated.
[0176] In the third exemplary embodiment, a printer driver made by a vendor is installed in the cloud print service 500, thereby generating PDL data using the driver. In the fourth exemplary embodiment, a filter for generating PDL data from XPS data generated by an OS standard driver is installed in the cloud print service 500, thereby generating PDL data.
[0177] Now refer to Fig.18 An example of functional blocks of the printer driver distribution service 300 according to the fourth exemplary embodiment is described. Fig.18 The illustrated components are denoted by the same reference numerals, and only components different from those of the first exemplary embodiment will be described.
[0178] The driver package 306 is an example of a package distributed from the printer driver distribution service 300. In the present exemplary embodiment, it is assumed that a driver package to be operated in the V4 driver architecture is used as the driver package 306. The V4 driver architecture is a driver package in Microsoft Windows. A print structure that operates in the XML Paper Specification (XPS) print path included in NVIDIA and subsequent platforms.
[0179] The driver package 306 includes a driver information unit 307, a device capability information unit 308, a layout filter 311, and a renderer filter (rendering filter) 312. Similar to the driver information unit 304, the driver information unit 307 includes information such as HWID and COID for identifying each printer, information indicating that the package is a driver extension package, and the version of the driver extension package 303. The present exemplary embodiment is different from the third exemplary embodiment in that the driver package 306 includes a layout filter 311 and a renderer filter 312.
[0180] Similar to the device capability information unit 305 in the driver extension package 303, the device capability information unit 308 includes device capability information and conflict information related to the corresponding printer 200. The device capability information is, for example, information indicating whether the printer 200 supports color printing or duplex printing. The capability information included in the driver extension package 303 includes not only the above-mentioned capability information, but also information indicating whether stapleless binding unique to the vendor can be performed, information indicating whether saddle stitch binding can be performed, and information indicating whether mixed sheet printing can be performed. Mixed sheet printing uses various types of sheets. In addition, in the present exemplary embodiment, not only the device capability but also print setting information unique to the vendor and completed by processing performed by the driver is included.
[0181] The layout filter 311 performs processing regarding layout, such as changing the magnification and imprint or stamp in book binding.
[0182] The renderer filter 312 renders XPS data, which is a spool file for operating in the V4 driver architecture, and converts the XPS data into PDL data.
[0183] The layout filter 311 and the renderer filter 312 are filters used as filter pipeline plug-ins used in the V4 driver architecture.
[0184] Fig.19 is a sequence diagram showing a method for installing a printer driver in a cloud service according to a fourth exemplary embodiment. Fig.19 The processes in are denoted by the same reference numerals, and only components different from those of the first exemplary embodiment are described.
[0185] Fig.19 1 is a sequence diagram illustrating a process for registering the printer 200 in the cloud print service 500. In the present exemplary embodiment, the client computer 100 accesses the printer 200 and operates the printer 200, thereby sending a request for registering the printer 200 in the cloud print service 500.
[0186] The printer 200 supports a cloud printing function (a function for receiving a print job from a cloud printing service and performing printing) and a network UI function for operating the printer 200 from the client computer 100. The network UI function is a function for generating a UI and publishing the UI on a network. The client computer 100 supports a cloud printing client function (a function for sending a file to a cloud printing service) and a network UI client (e.g., a web browser) for operating the network UI. The cloud printing service 500 represents a cloud printing service on the Internet 203.
[0187] In step S1512, the cloud print service 500 sends a request for downloading the driver package 306 to the printer driver distribution service 300. This request is a request for receiving the driver package 306 corresponding to the printer registered in the cloud print service 500. The cloud print service 500 sends the request for downloading the driver package 306 and the HWID and COID for identifying the printer 200 to the printer driver distribution service 300.
[0188] In step S1512, the printer driver distribution service 300 sends the corresponding driver package 306 to the cloud print service 500 based on the received HWID and COID. Fig.17A The printer driver database 310 shown receives the printer driver and driver extension package that matches the HWID. Fig. 17B As indicated by the device iR-ADV CCCC shown, if both a printer driver matching the HWID (the extension flag indicates "false") and an extension package (the extension flag indicates "true") exist in the printer driver database, the printer driver is sent preferentially.
[0189] If no printer driver and driver extension package matching the HWID are identified, the printer driver distribution service 300 identifies a printer driver and driver extension package 306 matching the received COID. If there is a printer driver and an extension package matching the COID, the printer driver is sent first. The printer driver distribution service 300 then sends the identified printer driver and driver extension package 306 to the cloud printing service 500. If the driver extension package can be identified based only on the HWID, only the HWID is sent to the printer driver distribution service 300 in step S413.
[0190] In step S1513 , the cloud print service 500 downloads the driver package 306 from the printer driver distribution service 300 . In step S1610 , the cloud print service 500 acquires the driver information unit 307 , the device capability information unit 308 , the layout filter 311 , and the renderer filter 312 included in the driver package 306 .
[0191] In step S1611 , the cloud print service 500 registers the OS standard driver installed in the OS within the cloud service, the acquired driver package 306 , and the identification information about the printer 200 for which the registration request is made in association with each other.
[0192] Specifically, the cloud printing service 500 performs update processing to associate the device capability information unit 308 used in the V4 driver architecture with the filter used as the filter pipeline plug-in. The cloud printing service 500 adds the acquired information related to the device capability information unit 308 as added information to the basic settings included in the OS standard driver. Therefore, when printing using the cloud printing service 500, the user can add vendor-specific print setting information.
[0193] Then, the cloud printing service 500 will be able to use the print setting information extended by the device capability information unit 308 to add filter information for various processes and associate it with the identification information about the printer 200 and the OS standard driver. The filter pipeline plug-in is called a filter. In the present exemplary embodiment, by associating the layout filter 311 with the renderer filter 312, various extended processes can be performed based on the vendor-specific print setting information. The filter pipeline plug-in consists of a file in XML format, such as Fig. 20 The filter pipeline structure shown in the figure is defined. In the present exemplary embodiment, as described above, the layout filter definition unit 2001 and the renderer filter definition unit 2002 are described. The OS standard driver reads these definition files, thereby completing the associated processing. These processes make it possible to extend the OS standard driver and perform printing by appropriately processing the vendor-specific print setting information.
[0194] After the above-described processing, when the client computer 100 selects a print queue corresponding to the printer 200 generated in the cloud print service 500 and instructs printing, the following processing is performed.
[0195] The cloud printing service receives image data and print settings from the client computer 100. The OS standard driver in the cloud printing service 500 generates XPS data based on the received image data and print settings. The generated XPS data is input to the layout filter 311 associated with the printer 200. The layout filter 311 interprets the input XPS data and generates XPS data reflecting the layout set by the print settings. The layout filter 311 then passes the generated XPS data to the renderer filter 312. The renderer filter 312 generates data that can be interpreted by the printer 200 based on the XPS file. The above-mentioned construction can be printed using the driver package 306 obtained from the printer driver distribution service 300.
[0196] As described above in the fourth exemplary embodiment, some modules in the printer driver registered in the printer driver distribution service 300 are used and filters for the V4 driver architecture are used. Therefore, in the fourth exemplary embodiment, print data reflecting print settings that cannot be performed in the general cloud print service 500 can be sent to the printing device.
[0197] The present invention can also be implemented by performing the following processing. That is, the software (program) for implementing the functions according to the above exemplary embodiments is supplied to the system or device via a network or various storage media, and the computer (or CPU, microprocessing unit (MPU) etc.) of the system or device reads out and executes the program code. In such a case, the computer program and the storage medium storing the computer program constitute the present invention.
[0198] Even in a standard printing system provided by an OS, a function that is unique to a vendor and included in a printer can be realized by using a method for converting data into PDL data unique to the vendor.
[0199] Other embodiments
[0200] The embodiments of the present invention may also be implemented by reading and executing computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more completely referred to as a "non-transitory computer-readable storage medium") to perform one or more functions in the above-mentioned embodiments, and / or a computer of a system or device including one or more circuits (e.g., an application-specific integrated circuit (ASIC)) for performing one or more functions in the above-mentioned embodiments, and the embodiments of the present invention may be implemented by, for example, reading and executing the computer executable instructions from the storage medium by the computer of the system or device to perform one or more functions in the above-mentioned embodiments, and / or controlling the one or more circuits to perform one or more functions in the above-mentioned embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessing unit (MPU)), and may include a network of separate computers or separate processors to read and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, a hard disk, a random access memory (RAM), a read-only memory (ROM), a memory of a distributed computing system, an optical disk (such as a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray disc (BD) TM ), flash memory devices, memory cards, etc.
[0201] The embodiments of the present invention may also be implemented by providing software (program) for performing the functions of the above-described embodiments to a system or device via a network or various storage media, and a computer or a central processing unit (CPU) or a microprocessing unit (MPU) of the system or device reads and executes the program.
[0202] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. An information processing device that communicates with a server system, the server system converting received print data into print data that conforms to a printing device for printing the received print data and sending the converted print data to the printing device, the information processing device comprising: a processor and a storage medium including a print extension application capable of performing print settings not supported by the server system; Furthermore, when the processor executes the print extension application, the information processing device is caused to perform operations including: generating print data conforming to the print setting of the printing device when printing is instructed by the print extension application; sending the generated print data to the server system; and In a case where the generated print data is transmitted to the server system, the server system is instructed to transmit the received print data to the printing device without converting the received print data.
2. The information processing device according to claim 1, wherein: The generated print data is print data reflecting the print settings made by the user.
3. The information processing device according to claim 2, wherein: The generated print data is print data reflecting print settings that are not reflected in the print data converted by the server system.
4. The information processing device according to claim 2, further comprising: A display unit displays a print setting screen for setting print settings.
5. The information processing device according to claim 1, wherein: The generated print data includes PDL data.
6. The information processing device according to claim 1, wherein: The instruction instructs the server system to send the received print data without converting the received print data using an application programming interface.
7. The information processing device according to claim 1, wherein: The generated print data is transmitted based on a protocol different from a protocol used for the received print data converted by the server system.
8. A server system, comprising: a receiving unit that receives print data from an information processing device; a generating unit that generates print data that conforms to a printing device configured to perform printing based on the print data received by the receiving unit; as well as a sending unit that sends the print data generated by the generating unit to the printing device, wherein, when printing is instructed by a printing extension application capable of performing printing settings not supported by the server system, the information processing device generates printing data that conforms to the printing settings of the printing device; When the information processing device sends the generated print data to the receiving unit, the sending unit sends the received print data to the printing device based on a predetermined instruction received from the information processing device without the generating unit generating print data that conforms to the printing device.
9. The server system according to claim 8, wherein: The generating section generates PDL data reflecting at least one print setting made by a user.
10. The server system according to claim 8, wherein: The predetermined instruction is an instruction sent using an application programming interface.
11. Another server system in communication with a server system, the server system converting received print data into print data conforming to a printing device for printing the received print data and sending the converted print data to the printing device, the other server system comprising: a conversion unit that, when printing is instructed by a print extension application capable of performing print settings not supported by the server system, converts print data sent from the information processing device into print data that conforms to the print settings of the printing device; a sending unit that sends the print data converted by the converting unit to the server system; as well as An instruction unit instructs the server system to send the print data sent by the sending unit to a printing device without converting the sent print data.
12. A control method for an information processing device that communicates with a server system, the server system converting received print data into print data that conforms to a printing device for printing the received print data and sending the converted print data to the printing device, the control method comprising: generating print data conforming to the print setting of a printing device for printing when printing is instructed by a print extension application capable of performing print setting not supported by the server system; sending the generated print data to the server system; as well as The server system is instructed to send the received print data without converting the received print data.
Citation Information
Patent Citations
Information processing device, printing system, control method of information processing device and computer program
JP2013238924A
Information processing device, program, and printing system
JP2017173892A
Information processing device, control method and program
JP2020004254A