Information processing apparatus capable of preventing lowering of operability when printing is performed, method of controlling information processing apparatus, and storage medium
12069213 ยท 2024-08-20
Assignee
Inventors
- Kazushige SHIMADA (Kanagawa, JP)
- Shinya Suzuki (Chiba, JP)
- KAZUYUKI SAITO (Kanagawa, JP)
- Akihiro Yasuda (Chiba, JP)
Cpc classification
H04N1/00503
ELECTRICITY
H04N1/00482
ELECTRICITY
H04N1/32539
ELECTRICITY
International classification
H04N1/00
ELECTRICITY
Abstract
An information processing apparatus that is capable of preventing lowering of operability when printing is performed. In a client terminal, an OS acquires capability information related to printing capability from a server that provides a cloud print service or a printer, and a controller displays a screen. The capability information has a hierarchical structure including at least one item name and a plurality of attribute values belonging to the item name. The controller can perform first display for collectively displaying the item name and the attribute values and second display for displaying the plurality of attribute values in a state sorted into groups of attribute values relevant to each other.
Claims
1. An information processing apparatus comprising: at least one processor; and a memory coupled to the at least one processor, the memory having instructions that, when executed by the processor, perform the operations as: an acquisition unit configured to acquire capability information related to print capability from a server that provides a cloud print service or from a printer; and a display control unit configured to display a screen, wherein the capability information has a hierarchical structure including at least one item of first information and a plurality of items of second information belonging to the item of the first information, and wherein the display control unit can perform first display for collectively displaying the item of the first information and the plurality of items of the second information, and second display for displaying the plurality of items of the second information in a state sorted into groups of items relevant to each other of the second information.
2. The information processing apparatus according to claim 1, wherein in the second display, each group of relevant items of the second information items is displayed separately from the first information.
3. The information processing apparatus according to claim 1, wherein among the plurality of items of the second information, the display control unit displays the remaining items of the second information, obtained by excluding the relevant items of the second information, together with the first information.
4. The information processing apparatus according to claim 3, wherein information representing relevant items of the second information and the remaining item of the second information are displayed in a first combo box displayed together the first information, in a selectable state, and wherein the relevant items of the second information are displayed in a second combo box arranged at a location different from the first combo box, in a selectable state.
5. The information processing apparatus according to claim 4, wherein in a case where the information representing the relevant items of the second information is selected in the first combo box, the display control unit enables selection from the relevant items of the second information in the second combo box, whereas in a case where the information representing the relevant items of the second information is not selected in the first combo box, the display control unit disables selection from the relevant items of the second information in the second combo box.
6. The information processing apparatus according to claim 4, wherein the display control unit collectively displays the first combo box and the second combo box.
7. The information processing apparatus according to claim 4, wherein the display control unit displays the first combo box and the second combo box by a scroll operation.
8. The information processing apparatus according to claim 1, wherein in a case where there are no relevant items of the second information in the plurality of items of the second information, the display control unit omits the second display.
9. The information processing apparatus according to claim 1, wherein the instructions, when executed by the processor, perform the operations further as an operation unit configured to perform an operation for changing a display state from a state in which the first display is performed to a state in which the second display is performed.
10. The information processing apparatus according to claim 1, wherein the acquisition unit determines whether or not to acquire the capability information according to a type of the first information.
11. The information processing apparatus according to claim 1, wherein the first information is items defined by an IPP (Internet Printing Protocol), and the second information is attribute values defined by the IPP.
12. The information processing apparatus according to claim 11, wherein the items include double-sided printing, and the attribute values include enabling/disabling of the double-sided printing, short-side binding in the double-sided printing, and long-side binding in the double-sided printing.
13. A method of controlling an information processing apparatus that processes information, comprising: acquiring capability information related to print capability from a server that provides a cloud print service or from a printer; and displaying a screen, wherein the capability information has a hierarchical structure including at least one item of first information and a plurality of items of second information items belonging to the item of the first information, and wherein the displaying of the screen can be executed by first display for collectively displaying the item of the first information and the plurality of items of the second information, and second display for displaying the plurality of items of the second information in a state sorted into groups of items relevant to each other of the second information.
14. A non-transitory computer-readable storage medium storing a print settings application installed in an information processing apparatus that processes information, the print settings application causing the information processing apparatus to: acquire capability information related to print capability from a server that provides a cloud print service or from a printer; and display a screen, wherein the capability information has a hierarchical structure including at least one item of first information and a plurality of items of second information belonging to the item of the first information, and wherein the displaying of the screen can be executed by first display for collectively displaying the item of the first information and the plurality of items of the second information, and second display for displaying the plurality of items of the second information in a state sorted into groups of items relevant to each other of the second information.
15. A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of controlling an information processing apparatus that processes information, wherein the method comprises: acquiring capability information related to print capability from a server that provides a cloud print service or from a printer; and displaying a screen, wherein the capability information has a hierarchical structure including at least one item of first information and a plurality of items of second information items belonging to the item of the first information, and wherein the displaying of the screen can be executed by first display for collectively displaying the item of the first information and the plurality of items of the second information, and second display for displaying the plurality of items of the second information in a state sorted into groups of items relevant to each other of the second information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11) FIGS. 6B1 and 6B2 are diagrams each showing an example of the device capability information updated by using capability information acquired from a cloud print service.
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
DESCRIPTION OF THE EMBODIMENTS
(22) The present invention will now be described in detail below with reference to the accompanying drawings showing embodiments thereof. However, the configuration of the following embodiment is given only by way of example, and is by no means intended to limit the scope of the present invention. For example, each component of the present invention can be replaced by a desired component which can perform the same function. Further, a desired component may be added.
(23)
(24) The cloud print-compatible printer 104 is an image forming apparatus that performs printing on a recording medium, such as a sheet. In the printing system 1000, the cloud print-compatible printer 104 converts print data received via the network 107 to image data and prints the image data on a recording medium. The cloud print-compatible printer 104 can receive print data from the client terminal 101 via the cloud print server 102 or directly receive print data from the client terminal 101 without using the cloud print server 102. With this, the cloud print-compatible printer 104 can receive print data generated by the cloud printer driver 311 of the client terminal 101 via the cloud print server 102. Further, the cloud print-compatible printer 104 can receive print data generated by the local printer driver 314 of the client terminal 101 without using the cloud print server 102.
(25) The cloud print server 102 is a server that provides a cloud print service 321. More specifically, the cloud print server 102 receives a print instruction and print data from an external apparatus, such as the client terminal 101. Then, the cloud print server 102 transmits the received print data to the cloud print-compatible printer 104 which is predetermined. The application management server 103 is a server that provides the application management service 331 and holds and manages a variety of applications. The application management server 103 receives identification information of an application and a download request for the application from the client terminal 101. Then, the application management server 103 transmits the application identified based on the received identification information to the client terminal 101. The online support server 105 is a server that provides an online support service 351. The online support service 351 can provide an extension setup information file 700 in which information for extending the functions of the client terminal 101 has been described, to the client terminal 101. As the network 107, there may be used, for example, a local area network (LAN) or a wide area network (WAN), depending on a use environment of the printing system 1000.
(26) Note that although the client terminal 101 and the cloud print-compatible printer 104 are each singly arranged in the present embodiment, this is not limitative, but they may be each arranged in plural. Further, the cloud print server 102, the application management server 103, and the online support server 105 may be each formed by one server or a plurality of servers. In a case where the cloud print server 102, the application management server 103, and the online support server 105 are each formed by a plurality of servers, the processing loads can be distributed. The cloud print server 102, the application management server 103, and the online support server 105 may be incorporated in a single server.
(27)
(28)
(29)
(30)
(31)
(32) A processing sequence executed between the application management service 331, the online support service 351, the OS 313 of the client terminal 101, the cloud print service 321, and the cloud print-compatible printer 104 will be described with reference to
(33) Upon receipt of the registration request in the step S3001, the cloud print service 321 transmits a uniform resource locator (URL) of the cloud print service 321, for printer registration, to the cloud print-compatible printer 104. With this, the user can access this URL by operating the cloud print-compatible printer 104. Then, an input screen for inputting a user ID and a password to use the cloud print service 321 is displayed on the display section 246 of the cloud print-compatible printer 104. The user inputs the user ID and the password via the operation section 247 of the cloud print-compatible printer 104 and logs in to the cloud print service 321. If the login is successful, the cloud print service 321 transmits a request for acquiring information necessary for registering the printer, to the cloud print-compatible printer 104. The cloud print-compatible printer 104 transmits information on the cloud print-compatible printer 104 (the printer information) to the cloud print service 321 in response to the request.
(34) The cloud print service 321 having received the printer registration request in the step S3001 registers the information on the cloud print-compatible printer 104 and creates a print queue for the cloud print-compatible printer 104. At this time, the cloud print service 321 acquires the capability information of the cloud print-compatible printer 104. Then, the cloud print service 321 associates the capability information with the print queue. The capability information is information on the print capability of the cloud print-compatible printer 104, i.e. information necessary for a user to set print settings when performing printing. The capability information is not particularly limited, and there may be mentioned, for example, double-sided printability information, color printability information, and stapling executability information, as the capability information.
(35)
(36) As shown in
(37) In the present embodiment, it is assumed that the cloud print-compatible printer 104 notifies the cloud print service 321 of the capability information according to the IPP. The cloud print-compatible printer 104 registers the capability information using a command made available in advance in the cloud print service 321 so as to register the capability information. The cloud print-compatible printer 104 notifies the cloud print service 321 of the item names 501, the attribute values 502 associated with each item name 501, and default values. The capability information to be notified here may have item names 501 and attribute values 502 which are defined or not defined by the IPP. For example, the item names 501 of saving of job in printer, abbreviation of job name, and binding without staple which are not defined by the IPP are also notified to the cloud print service 321 for registration. Further, saddle folding which is one of the attribute values 502 for fold setting and is an attribute value specifically defined by the printer vendor is also notified to the cloud print service 321 for registration.
(38) When registering the cloud print-compatible printer 104 with the client terminal 101, a standard print function which is one of the functions of the OS 313 of the client terminal 101 is used. As shown in
(39) In a step S3003, the OS 313 of the client terminal 101 transmits the user information input via the input screen to the cloud print service 321 to request user authentication and an access token.
(40) In a step S3004, the cloud print service 321 performs user authentication processing based on the user information received from the client terminal 101 in the step S3003. When the user authentication processing is completed, the cloud print service 321 notifies the client terminal 101 of a result of the authentication processing.
(41) If the user authentication is successful, in a step S3005, the OS 313 of the client terminal 101 acquires the access token from the cloud print service 321, and the process proceeds to the step S3008. On the other hand, if the user authentication fails, in a step S3006, the cloud print service 321 notifies the OS 313 of the client terminal 101 of the authentication error. After being notified of the authentication error, in a step S3007, the OS 313 of the client terminal 101 aborts the authentication processing based on the information of the authentication error received in the step S3006, followed by terminating the present process.
(42) In the step S3008, the OS 313 of the client terminal 101 searches for printers registered with the cloud print service 321 and printers connected to the network 107. In doing this, the OS 313 transmits a printer information acquisition request having the access token attached thereto to the cloud print service 321.
(43) The access token attached to the acquisition request transmitted in the step S3008 is used to identify the information of the printer that the user is permitted to use. In a step S3009, the cloud print service 321 transmits this printer information to the client terminal 101. The printer information includes the printer name assigned to the printer registered with the cloud print service 321 and the HW ID of the printer.
(44) Further, the OS 313 of the client terminal 101 acquires a printer list transmitted from the cloud print service 321 and the identification information of the printers in the printer list. Note that in parallel with the processing in the steps S3008 and S3009, the OS 313 of the client terminal 101 searches for printers connected to the same network 107 as the client terminal 101. This search is device search using e.g. mDNS or Bonjour. Then, the OS 313 displays the printer list on the display section 216, based on the printer information acquired from the cloud print service 321 and the printer information detected by the search on the network 107. As shown in
(45) After this selection, in a step S3010, the OS 313 of the client terminal 101 inquires the capability information of the selected printer from the cloud print service 321. Which items of the capability information are to be inquired are already determined based on the specifications of the OS 313, i.e. are already set to the OS 313 in advance. More specifically, the OS 313 (acquisition unit) determines whether or not to acquire the capability information according to a type of each item name 501. For example, if the item names 501 are setting items defined as standard specifications by the IPP (such as sheet size, sheet type, and color mode), the OS 313 acquires the capability information including these item names 501.
(46) In a step S3011, the cloud print service 321 transmits the capability information of the cloud print-compatible printer 104 to the OS 313 of the client terminal 101 as a response. With this, the OS 313 can acquire the capability information (acquisition of the capability information). Although the OS 313 acquires the capability information from the cloud print service 321 (cloud print server 102) in the present embodiment, this is not limitative, but the OS 313 may acquire the capability information directly from the cloud print-compatible printer 104. Further, in the present embodiment, although the information registered with the cloud print service 321 in the step S3001 is transmitted to the client terminal 101 in the step S3011, this is not limitative. For example, the information registered with the cloud print service 321 may be transmitted to the client terminal 101 at a timing other than this transmission timing. In this case, for example, the information registered with the cloud print service 321 can be transmitted to the client terminal 101 when the capability information of the cloud print-compatible printer 104 is changed. Further, the user may instruct the update of the capability information on a user interface (such as a screen on the display section 246) provided by the cloud print service 321, and the updated capability information may be transmitted to the client terminal 101 according to this instruction. Further, when the step S3010 is executed, the cloud print service 321 may acquire the capability information from the cloud print-compatible printer 104 and transmit the acquired capability information to the client terminal 101.
(47) Further, in the step S3011, the cloud print service 321 transmits the attribute values 502 belonging to each of the item names 501 designated from the client terminal 101 and the default values thereof as a response. The attribute values 502 transmitted as the response in this step are all of the attribute values registered with the cloud print service 321 regardless of whether or not they are the attribute values defined by the IPP. The default values are values of the attribute values, which are to be used as the initial values. Note that if the cloud print service 321 does not store attribute values 502 corresponding to the inquiry from the OS 313, no attribute values 502 are transmitted as a response.
(48) Next, the OS 313 starts installation of the cloud printer driver 311 based on the identification information and the printer name of the printer selected by the user. In a step S3012, the OS 313 creates a print queue of the cloud printer driver 311 having basic device capability information packed with the OS 313. The device capability information is definition information necessary for generating print setting capability information. The device capability information is e.g. information written in Extensible Markup Language (XML), such as Print Device Capabilities.
(49) After that, the OS 313 updates the device capability information of the cloud printer driver 311 using the capability information acquired from the cloud print service 321. FIGS. 6B1 and 6B2 are diagrams each showing an example of the device capability information updated by using the capability information acquired from the cloud print service. For example, for PageMediaSize representing the sheet size in FIGS. 6B1 and 6B2, options other than A4 and LETTER are added as the sheet size which can be printed by the cloud print-compatible printer 104. Thus, first, the client terminal 101 registers the device capability information of the cloud printer driver 311 in the print queue by associating the same with the device capability information packed with the OS 313. After that, the device capability information associated with the print queue is updated with the capability information acquired from the cloud print service 321. At this time, the OS 313 updates the device capability information using only the attribute values 502 defined by the IPP out of the capability information acquired from the cloud print service 321. With this update, for example, in a case where the item name 501 is double-sided printing, as the attribute values 502 belonging to double-sided printing, single-sided/double-sided (short side-binding)/double-sided (long side-binding) are stored in the device capability information. On the other hand, in acquisition of the capability information, even when attribute values 502 specific to the vendor as the sheet type are acquired, these attribute values 502 are not added to the device capability information. This makes it possible to set print settings that cannot be set by the device capability information packed with the OS 313. Thus, installation of the cloud printer driver 311 is completed. With this, it is possible to transmit print data from the client terminal 101 to the print queue for the cloud print-compatible printer 104, which has been created in the cloud print service 321.
(50) Next, the OS 313 starts a process for installing the print settings extension application 312 which is associated with the printer and extends the functions of the cloud printer driver 311. In this installation process, the OS 313 first performs processing for adding identification additional information to the device identification information. The processing for adding identification additional information is processing required for acquiring the extension setup information file 700 (see
(51) As shown in
(52) In the online support service 351, the extension setup information file 700 (see
(53) After receiving the search request in the step S3013, the online support service 351 identifies an extension setup information file. This extension setup information file is an extension setup information file of which PrinterHardwareID matches the device identification information having the identification additional information added thereto, which is specified in the request.
(54) As shown in
(55) In a step S3015, the OS 313 installs the extension setup information written in the extension setup information file 700 acquired from the online support service 351 in association with the print queue created in the step S3012. In a step S3016, the OS 313 extracts an application ID from the extension setup information installed in the step S3015. The application ID is an identifier defined by PackageFamilyName in the extension setup information file 700. The process up to this step is the process performed in the case where the extension setup information file 700 associated with the cloud print-compatible printer 104 is stored in the online support service 351.
(56) On the other hand, there is a case where the extension setup information file 700 including the device identification information indicating a retrieval target is not detected. In this case, in a step S3017, the OS 313 completes the installation of the cloud printer driver 311 and aborts the application installation process. The processing in the step S3017 is executed, for example, in a case where the extension setup information file 700 cannot be received within a predetermined time period after the search request is transmitted in the step S3013 or in a case where an error notification is received from the online support service 351.
(57) The processing operations in a step S3018 et seq. are executed in a case where the OS 313 of the client terminal 101 has succeeded in acquisition of the extension setup information file 700 and extraction of the application ID in the step S3016. In the step S3018, the OS 313 requests the application management service 331 to transmit an application whose application ID matches the extracted application ID. The application management service 331 stores applications which operate on the client terminal 101 and application IDs which are respective identifiers of the applications, in a state associated with each other. The vendor which provides the cloud print-compatible printer 104 registers applications and respective application IDs therefor with the application management service 331.
(58) If the application management service 331 holds the print settings extension application 312 having an application ID that matches the application ID requested in the step S3018, the process proceeds to a step S3019. In the step S3019, the application management service 331 transmits the print settings extension application 312 to the client terminal 101 as a response. The print settings extension application 312 transmitted in the step S3019 as the response is the application to which the same ID as the requested application ID is added. In a step S3020, the OS 313 of the client terminal 101 installs the print settings extension application 312 transmitted in the step S3019 in a state associated with the print queue on the client side. After completion of this installation, the OS 313 stores the application ID in the registry as print queue information. Further, the print settings extension application 312 is configured such that the print settings extension application 312 performs notification of an event to the OS 313 at a timing when the print queue associated with this application is set on the print settings screen. The print settings extension application 312 installed in the step S3020 is started after the client terminal 101 is powered on and the OS 313 is started. After that, the print settings extension application 312 operates as a background task.
(59) On the other hand, if the application management service 331 does not hold the print settings extension application 312 having an application ID that matches the application ID requested in the step S3018, the process proceeds to a step S3021. In the step S3021, the OS 313 aborts the application installation process. In this case, the cloud printer driver 311 is installed in a state associated with the created print queue. Then, the print settings extension application 312 is terminated without being associated with the print queue.
(60) Note that although in the above-described process, a predetermined character string is added to the device identification information of the cloud print-compatible printer 104, and the search for the extension setup file is performed, this is not limitative. For example, in a case where the file for installing the printer driver can be identified, the search may be performed without adding the predetermined character string.
(61) Next, a processing sequence executed between the print settings extension application 312, the document creation application 315, and the OS 313 of the client terminal 101, the cloud print service 321, and the cloud print-compatible printer 104 will be described with reference to
(62) The document creation application 315 is an application, such as an application for creating document data, an application for creating a presentation material, and an application for displaying a photograph and image data. The document creation application 315 is installed in the client terminal 101 in advance. The document creation application 315 displays a print settings initial screen 1100 (see
(63) As shown in
(64) In a step S802, the OS 313 inquires the capability information of the cloud print-compatible printer 104 from the queue on the cloud, associated with the cloud print-compatible printer 104, of the cloud print service 321. As described above, which item of the capability information is to be inquired is determined based on the specifications of the OS 313 in advance. Therefore, the capability information acquired at this timing is the same as that acquired in the step S3001 of the sequence shown in
(65) In a step S803, the cloud print service 321 transmits the capability information of the cloud print-compatible printer 104 to the OS 313 as a response. This capability information is obtained from the list of the capability information transmitted in response to Get-print-Attributes, including double-sided printing. For example, let it be assumed that the item name 501 of sheet size (media size) is designated in Get-print-Attributes (IPP). In a case where the cloud print service 321 holds the attribute values 502 of the sheet size, the cloud print service 321 transmits e.g. A4, B5, and Letter which are attribute values 502 as a response. In the present embodiment, the cloud print service 321 transmits double-sided printing, and single-sided, double-sided (short-side binding), and double-sided (long-side binding) belonging to double-sided printing to the OS 313 as capability information. In a case where no attribute value 502 designated in Get-print-Attributes is present in the queue of the cloud print service 321, which is associated with the cloud print-compatible printer 104, the cloud print service 321 does not transmit the associated attribute value 502 as a response. The capability information acquired in the step S803 is only the capability information that can be inquired regardless of the type or capability of the printer to which the OS 313 is connected.
(66) In a step S804, the OS 313 updates the device capability information with the capability information acquired from the cloud print service 321 in the step S803. More specifically, in a case where there is an update in the device capability information acquired in the step S803 when compared with the device capability information generated in the step S3012 of the sequence shown in
(67) In a step S805, the OS 313 performs notification of an event and transmission of an API (Application Programming Interface) used for editing the device capability information to the print settings extension application 312. At this timing, the print settings extension application 312 is registered with the OS 313 of the client terminal 101.
(68) Upon receipt of the above-mentioned notification, in a step S806, the print settings extension application 312 requests the cloud print service 321 to acquire capability information. This capability information is for writing item names 501 and attribute values 502 uniquely defined by the printer vendor into the device capability information. Therefore, in the step S806, in a case where the notification is received from the OS 313, the print settings extension application 312 inquires the capability information of the cloud print-compatible printer 104 from the cloud print service 321. More specifically, the print settings extension application 312 inquires the capability information including the item names 501 specific to the printer vendor and the attribute values 502 specific to the printer vendor from the cloud print service 321. Similar to the step S802, this inquiry is performed by using Get-print-Attributes. Note that in the present embodiment, in the step S806, it is assumed that the capability information including the item names 501 specifically defined by the printer vendor and the attribute values 502 specifically defined by the printer vendor is requested. Note that in acquisition of the capability information by the OS 313, the capability information may be requested also with respect to the item names 501 already acquired.
(69) In a step S807, in a case where the inquiry about the capability information is received from the print settings extension application 312 in the step S806, the cloud print service 321 transmits the capability information as a response. The response method used here is the same as in the step S3011 of the sequence shown in
(70) In a step S808, after acquiring the capability information of the cloud print-compatible printer 104 from the cloud print service 321 (acquisition step), the print settings extension application 312 edits the device capability information managed by the OS 313 using a configuration information object. The configuration information object is a group of data items necessary for editing the device capability information. In the present embodiment, the print settings extension application 312 cannot directly edit the device capability information held by the OS 313. Therefore, the configuration information object is used to change the device capability information held by the OS 313. More specifically, in the step S808, the device capability information is edited by converting the capability information acquired in the step S807, which includes e.g. binding without staple and saving of job in printer, to the device capability information, and adding the converted device capability information to the configuration information object. By executing the process up to the step S808, in addition to the standard capability information acquired by the inquiry performed by the OS 313, item names 501 and attribute values 502 which are specific to the printer vendor are stored in the device capability information.
(71) Next, in a step S809, the print settings extension application 312 passes the device capability information edited in the step S808 to the OS 313. Then, the OS 313 stores the device capability information acquired from the print settings extension application 312 in a state associated with the print queue.
(72) In a step S810, in a case where the OS 313 has updated the device capability information, an object that serves as a trigger for displaying the user interface (UI) of the print settings extension application 312 is enabled. Hereinafter, this UI of the print settings extension application 312 is referred to as the second display (see
(73) When the user operates the object 1104, in a step S811, the print settings extension application 312 displays the print settings screen 100 shown in
(74) Here, the screen display in a case where the print settings extension application 312 is not installed will be described.
(75) By operating a detailed setting button 901, the standard print settings screen 900A is switched to a detailed print settings screen 900B shown in
(76) In view of this, the client terminal 101 is configured to prevent such lowering of the operability as will occur when printing is performed. This configuration and operation thereof will be described below. Here, the description returns again to the screen display in the case where the print settings extension application 312 is installed. The print settings extension application 312 receives the print settings information based on the print setting capability information generated by the OS 313 from the device capability information and displays the print settings screen (extended print settings screen) 100 shown in
(77) For example, the output sheet size as a setting item 1001 on the print settings screen 100 shown in
(78) As shown in
(79) When the user selects the object 1105 on the print settings initial screen 1100, a print instruction is input to the OS 313. In a step S813, the OS 313 executes the process related to printing based on the instruction input via the document creation application 315.
(80) In a step S814, upon receipt of the input of the print instruction in the step S813, the OS 313 generates intermediate data and passes the generated intermediate data and the print settings information edited on the print settings screen to the print settings extension application 312. The intermediate data is data generated before conversion to print data, such as PDL (Page Description Language) data, and refers to e.g. XPS data. The print settings information is also included in the intermediate data.
(81) In a step S815, upon receipt of the intermediate data and the print settings information, passed in the step S814, the print settings extension application 312 creates print data based on the intermediate data, and generates print capability information based on the print settings information. The print data refers to PDL data, such as a PDF file. The print capability information refers e.g. to information that describes the print settings information using attribute values defined by the IPP.
(82) In a step S816, the print settings extension application 312 passes the print data and the print capability information, generated in the step S815, to the print queue of the OS 313.
(83) In a step S817, the OS 313 generates XPS data, edits the page layout, and converts the XPS data to a predetermined format to generate print data and print capability information.
(84) In a step S818, the OS 313 transmits the print data and the print capability information, passed from the print settings extension application 312, or the print data and the print capability information, generated by the OS 313, to the cloud print service 321 via the print queue.
(85) In a step S819, the cloud print service 321 transmits the print data and the print capability information, passed from the client terminal 101 in the step S818, to the cloud print-compatible printer 104. Although in the present embodiment, in a case where the cloud print service 321 receives the print data and the print capability information, the received print data and print capability information are transmitted to the cloud print-compatible printer 104, this is not limitative. For example, the cloud print-compatible printer 104 may periodically transmits an inquiry to the cloud print service 321 to acquire print data which has not been printed and the print capability information associated with this print data.
(86) Next, the print settings UI (second display) displayed by the print settings extension application 312 will be described. Here, the display of settings of double-sided printing will be described by way of example. Information on double-sided printing is acquired from the device capability information, and the print setting capability information generated by the OS 313 is described as psk: JobDuplexAllDocumentsContiguously. Further, values generated as options (attribute values 502) for this print setting (item name 501) are described as psk: OneSided, psk: TwoSidedShortEdge, psk: TwoSidedLongEdge. In a case where these values are directly displayed on the print settings UI, as mentioned above, for double-sided printing, single-sided, double-sided (short-side binding), and double-sided (long-side binding) are collectively displayed in a single combo box. On the other hand, in the conventional printer driver of the printer vendor, for double-sided printing, a set of selection items of double-sided: ON/OFF and a set of selection items of binding side: short side/long side are displayed at respective separate combo boxes. Therefore, the display state is different between the case where the print setting capability information generated by the OS 313 is directly displayed on the print settings UI and the case where the print setting capability information is displayed by the conventional printer driver. As a result, there is a possibility that the appearance and feeling of use causes a feeling of wrongness and the operability is lowered.
(87) A sequence of a process executed between the user, the print settings extension application 312, the OS 313 of the client terminal 101, and the cloud print service 321 will be described with reference to
(88) In a step S1202, by using the selection in the step S1201 as a trigger, the OS 313 inquires the capability information associated with the selected print queue from the cloud print service 321.
(89) In a step S1203, the cloud print service 321 transmits the capability information corresponding to the inquiry received in the step S1202 to the OS 313 as a response.
(90) In a step S1204, the OS 313 updates the device capability information using the capability information acquired in the step S1203. Note that the steps S1201 to S1204 are the same as the steps S801 to S804 in the sequence shown in
(91) In a step S1205, the user opens the print settings initial screen 1100.
(92) In a step S1206, due to opening of the print settings initial screen 1100 in the step S1205, the print settings extension application 312 refers to the capability information held by the OS 313.
(93) In a step S1207, the print settings extension application 312 generates the print settings screen 100 (UI) shown in
(94) In a step S1208, the print settings extension application 312 displays the print settings screen 100 generated in the step S1207 on the display section 216. With this, the user becomes capable of viewing the print settings screen 100.
(95) Here, the processing in the step S1207 will be described in detail with reference to
(96) In a step S1302, the print settings extension application 312 disposes the UI display objects of the print setting items supported by the print settings extension application 312 on the print settings UI (print settings screen 100). Note that the UI display objects are objects that can be displayed regardless of the capability information of the printer.
(97) In a step S1303, the print settings extension application 312 selects one of Features (capability information items) acquired in the step S1301.
(98) In a step S1304, the print settings extension application 312 determines whether or not Feature (capability information item) selected in the step S1303 is Feature determined in advance as an object to be divided. If it is determined in the step S1304 that the selected Feature is Feature determined in advance as an object to be divided, the process proceeds to a step S1305. On the other hand, if it is determined in the step S1304 that the selected Feature is not Feature determined in advance as an object to be divided, the process proceeds to a step S1307. Note that in the present embodiment, psk: JobDuplexAllDocumentsContiguously is taken as an example of Feature to be divided. Therefore, if psk: JobDuplexAllDocumentsContiguously is detected in the step S1304, the process proceeds to the step S1305, whereas if not, the process proceeds to the step S1307.
(99) In the step S1305, the print settings extension application 312 generates an object of double-sided printing: ON/OFF out of the two feature management objects of double-sided printing: ON/OFF and binding side: long side/short side. When generating this, in a case where the Option of psk: JobDuplexAllDocumentsContiguously is psk: TwoSidedShortEdge, the value of double-sided: ON is set (written). Similarly, in a case where the Option is psk: TwoSidedLongEdge as well, the value of double-sided: ON is set. In a case where the Option is psk: OneSided, the value of double-sided: OFF is set.
(100) In a step S1306, the print settings extension application 312 generates an object of binding side: long side/short side. In the Option group, long side and short side are set (written). In a case where the Option of psk: JobDuplexAllDocumentsContiguously detected in the step S1304 is psk: TwoSidedShortEdge, the Option is set to short side. On the other hand, in a case where the Option is psk: TwoSidedLongEdge, the Option is set to long side. In this setting, Visibility is set to Visible. In a case where the Option is psk: OneSided, Visibility is set to Collapsed. After execution of the step S1306, the process proceeds to a step S1308.
(101) In the step S1307 after execution of the step S1304, the print settings extension application 312 refers to the capability information held by the OS 313. Then, the print settings extension application 312 sets the value of Visibility for switching whether to display or hide the currently held Option group and the selected Option, for a feature management object associated therewith. In the step S1307, the print settings extension application 312 sets Visibility of the feature management object associated with Feature being selected to Visible. After execution of the step S1307, the process proceeds to the step S1308.
(102) In the step S1308, the print settings extension application 312 determines whether or not there is an unprocessed Feature. If it is determined in the step S1308 that there is an unprocessed Feature, the process returns to the step S1303, and the subsequent steps are sequentially executed. On the other hand, if it is determined in the step S1308 that there is no unprocessed Feature, the process proceeds to a step S1309.
(103) In the step S1309, the print settings extension application 312 associates the UI display objects and the feature management objects with each other. With this association, it is made possible to reflect the value of each feature management object on a UI display object associated therewith. Further, it is made possible to reflect a value of a UI display object changed by a UI operation, on a feature management object associated therewith.
(104) In a step S1310, the print settings extension application 312 causes the values set for the UI display objects to be reflected on the UI (print settings screen 100). With this, the UI (print settings screen 100) is placed in a state in which the Option group, Visibility, and the values selected above, which are set for each UI display object, are reflected thereon. Note that Features for which UI display objects are disposed and which have not been selected in the step S1303 are hidden by setting Visibility to Collapsed.
(105) As shown in
(106) In a step S1210, the print settings extension application 312 converts the settings saved in the step S1209.
(107) In a step S1211, the print settings extension application 312 causes the settings converted in the step S1210 to be reflected on the objects held by the OS 313.
(108) Here, the processing operations in the steps S1209 to S1211 will be described in detail with reference to
(109) In the step S1402, the print settings extension application 312 determines whether or not Option of double-sided on the UI (print settings screen 100) is set to ON. If it is determined in the step S1402 that Option is set to ON, the process proceeds to a step S1403. On the other hand, if it is determined in the step S1402 that Option is not set to ON, the process proceeds to a step S1406.
(110) In the step S1403, the print settings extension application 312 sets Visibility of the UI display object of the binding direction to Visible, and the process proceeds to a step S1404.
(111) In the step S1406 after execution of the step S1402, the print settings extension application 312 determines whether or not Option of double-sided on the UI is set to OFF. If it is determined in the step S1406 that Option is set to OFF, the process proceeds to a step S1407. On the other hand, if it is determined in the step S1406 that Option is not set to OFF, the process proceeds to the step S1404.
(112) In the step S1407, the print settings extension application 312 sets Visibility of the UI display object of the binding direction to Collapsed. With this, visual recognition of the object of binding direction on the UI is disabled, and the setting of binding direction is restricted (inhibited).
(113) In the step S1404, the print settings extension application 312 causes the value to be reflected on the feature management object corresponding to the UI display object operated in the above.
(114) In a step S1405, the print settings extension application 312 determines whether or not the OK button 1002 is operated. If it is determined in the step S1405 that the OK button is operated, the process proceeds to a step S1408. On the other hand, if it is determined in the step S1405 that the OK button is not operated, the process returns to the step S1401, and the subsequent steps are sequentially executed.
(115) In the step S1408, the print settings extension application 312 causes the value(s) of the feature management object(s) to be reflected on the print settings information held by the OS 313. As for double-sided printing, the objects of double-sided printing: ON/OFF and binding direction: long side, short side are held. These objects are different from psk: JobDuplexAllDocumentsContiguously which is the item of double-sided printing in the capability information held by the OS 313, and hence conversion of the values is required. More specifically, for the case of double-sided printing: OFF, Option of psk: OneSided is written into the capability information. Further, for the case of double-sided printing: ON and binding direction: long side, Option of psk: TwoSidedLongEdge is written into the capability information. Further, for the case of double-sided printing: ON and binding direction: short side, Option of psk: TwoSidedShortEdge is written into the capability information.
(116) With the above-described process (performed by the print settings extension application 312), it is possible to display the print settings screen 100 (second display) shown in
(117) In the present embodiment, the print settings extension application 312 can sort and display these three attribute values 502 into the attribute values 502 relevant to each other and the attribute values 502 as the remainder obtained by excluding the attribute values 502 relevant to each other (second display). More specifically, as shown in
(118) This second display is displayed by the above-described OS standard driver, and differently from the first display which is rarely seen by general users, the second display is often seen by general users, that is, the second display is close to a familiar display. With this, the user can operate the print settings screen 100 without a feeling of wrongness, and it is possible to prevent lowering of the operability when printing is performed.
(119) Further, as shown in
(120) Further, as shown in
(121) Further, in a case where the attribute values 502 relevant to each other are not included in the plurality of attribute values 502, the second display can be omitted. This makes it possible to prevent the second display from being unnecessarily displayed.
(122) Although the case where the print settings extension application 312 is applied to double-sided printing has been described by way of example, the print settings extension application 312 can also be applied to the other item names 501, such as stapling and punching. Stapling is described as psk: Job StapleAllDocuments on the capability information, and has e.g. psk: StapleTopLeft as its Option. Further, punching is described as psk: JobHolePunch in the capability information, and has e.g. psk: HolePunchLeft as its Option. These can also be separated and displayed as in the case of double-sided printing.
(123) For example, in a case where the item name 501 is stapling, the attribute values 502 are classified into stapling: ON/OFF, and upper left, upper right, lower left, lower right, left side, right side, upper side, and lower side, which are related to the stapling positions (see
(124) In the process shown in
(125) Further, in the case of punching, in the step S1302, as the UI display objects, the print settings extension application 312 generates 2 holes and so forth, as the numbers of holes, and left side and so forth, as the stapling directions. In the step S1303, the print settings extension application 312 generates a feature management object by referring to the capability information held by the OS 313. At this time, in a case where the selected Option of psk: JobHolePunch is psk: None, Visibility of the stapling direction, such as left side, is set to Collapsed. In the other cases, Visibility is set to Visible. Further, the determinations in the steps S1402 and S1406 are replaced by determination of whether or not the number of punched holes is set to 2 and the like. With this, the print settings extension application 312 can perform the same processing operations in the case of punching as in the case of double-sided printing. Thus, similar to the case of double-sided printing, in the case where the item name is stapling, punching, or the like, the user can operate the print settings screen 100 without a feeling of wrongness and prevent lowering of the operability when printing is performed.
(126) As described hereinabove, there are a plurality of item names 501, and the print settings extension application 312 may change the order of display of these item names on the print settings screen 100 (see
(127)
(128) In a step S1502, the CPU 212 determines whether or not the access token for the cloud print service 321 is stored (held). The client terminal 101 stores an access token for acquiring information from the cloud print service 321 for each user who logs in to the client terminal 101. The CPU 212 can determine whether or not an access token associated with the user who has logged in the client terminal 101 is stored. If it is determined in the step S1502 that the access token is stored, the process proceeds to a step S1506. On the other hand, if it is determined in the step S1502 that the access token is not stored, the process proceeds to a step S1503.
(129) In the step S1503, the CPU 212 transmits an authentication request to the cloud print service 321. Then, the CPU 212 receives a URL from the cloud print service 321, for displaying a screen on which information necessary for this authentication (hereinafter referred to as the authentication information) is to be input.
(130) In a step S1504, the CPU 212 accesses the URL received in the step S1503 and displays a screen on which the authentication information is to be input. Examples of the authentication information include a user ID (user identifier) and a password.
(131) In a step S1505, the CPU 212 transmits the authentication information to the cloud print service 321 to acquire an access token, and the process proceeds to the step S1506. Note that in a case where the authentication to the cloud print service 321 fails, the CPU 212 cannot acquire an access token, and hence the present process is terminated.
(132) In the step S1506, the CPU 212 of the client terminal 101 transmits a request to the cloud print service 321 based on the access token, for acquiring information of printers registered with the cloud print service 321. The cloud print service 321 selects information on printers which can be used by the user identified by the access token received in the step S1506 and transmits the selected printer information to the client terminal 101. In the present embodiment, as the printer information, printer names registered in association with the printers are used.
(133) In a step S1507, the CPU 212 displays the printer information acquired from the cloud print service 321 in the step S1506 on the display section 216 of the client terminal 101. With this display, the printer information is displayed in a list in the area 402 of the screen 400.
(134) In a step S1508, the CPU 212 determines whether or not one of the printer information items displayed in the step S1507 has been selected. If it is determined in the step S1508 that one of the printer information items has been selected, the process proceeds to a step S1509. On the other hand, if it is determined in the step S1508 that the printer information has not been selected, the process repeats the step S1508, that is, the step S1508 is repeatedly executed.
(135) In the step S1509, the CPU 212 transmits a request for acquiring the capability information of the printer selected in the step S1508 to the cloud print service 321. Here, the CPU 212 inquires the setting items registered with the OS 313 in advance from the cloud print service 321. Further, the OS 313 acquires information on the HW ID and the like of the printer selected in the step S1508.
(136) In a step S1510, the CPU 212 updates the printer capability information stored in the client terminal 101 based on the information acquired from the cloud print service 321 in the step S1509 and creates a print queue.
(137) In a step S1511, the CPU 212 transmits a request for acquiring the extension setup information file 700 to the online support service 351. This acquisition request includes the HW ID of the printer.
(138) In a step S1512, the CPU 212 determines whether or not acquisition of the extension setup information file 700 in the step S1511 is successful. If it is determined in the step S1512 that the acquisition is successful, the process proceeds to a step S1513. On the other hand, if it is determined in the step S1512 that the acquisition is not successful, i.e., has failed, the present process is terminated.
(139) In the step S1513, the CPU 212 transmits a request for acquiring the print settings extension application 312 included in the extension setup information file 700 acquired in the step S1512 to the application management service 331. More specifically, the CPU 212 acquires the application identifier of the print settings extension application 312 from the extension setup information file 700. Then, the CPU 212 transmits the request for acquiring the print settings extension application 312 to the application management service 331 by designating the application identifier.
(140) In a step S1514, the CPU 212 determines whether or not acquisition of the print settings extension application 312 is successful. If it is determined in the step S1514 that the acquisition is successful, the process proceeds to a step S1515. On the other hand, if it is determined in the step S1514 that the acquisition is not successful, the present process is terminated.
(141) In the step S1515, the CPU 212 installs the print settings extension application 312 acquired in the step S1514 and registers the application identifier of the print settings extension application 312 in association with the print queue, followed by terminating the present process. With this, the print settings extension application 312 becomes available on the client terminal 101. Further, in the step S1515, registration of an event indicating the timing of notification to the OS 313 is performed. It is assumed here that the notification is performed when the print queue associated with the print settings extension application 312 is selected on the print settings initial screen 1100 displayed by the document creation application 315.
(142)
(143) In the step S1602, the CPU 212 transmits a request for acquiring the capability information to the cloud print service 321. More specifically, the CPU 212 transmits a request for acquiring the capability information to the cloud print service 321 with respect to the setting items set in the print settings extension application 312. Here, the capability information is also acquired with respect to setting items which have not been acquired in the step S1506 of
(144) In a step S1603, the CPU 212 determines whether or not acquisition of the capability information in the step S1602 has been completed. If it is determined in the step S1603 that the acquisition has been completed, the process proceeds to a step S1604. On the other hand, if it is determined in the step S1603 that the acquisition has not been completed, the process repeats the step S1603.
(145) In the step S1604, the CPU 212 updates the device capability information with the capability information acquired in the step S1603. With this update, the capability information is stored in the client terminal 101 also with respect to setting items which have not been acquired by the OS 313.
(146) In a step S1605, the CPU 212 determines whether or not an instruction for displaying the print settings screen (print settings screen 100), provided by the print settings extension application 312, has been received. The screen display instruction provided by the print settings extension application 312 is e.g. an instruction based on an operation of selecting the object 1104 on the print settings initial screen 1100, but this is not limitative. If it is determined in the step S1605 that the screen display instruction has been received, the process proceeds to a step S1606. On the other hand, if it is determined in the step S1605 that the screen display instruction has not been received, the process proceeds to a step S1609.
(147) In the step S1606, the CPU 212 displays the print settings screen 100 shown in
(148) In a step S1607, the CPU 212 determines whether or not an instruction for terminating (closing) the display of the print settings screen 100 has been received. If it is determined in the step S1607 that an instruction for terminating the display has been received, the process proceeds to a step S1608. On the other hand, if it is determined in the step S1607 that an instruction for terminating the display has not been received, the process repeats the step S1607.
(149) In the step S1608, the CPU 212 edits the print settings information using the settings selected on the print settings screen 100. Then, the CPU 212 terminates the display of the print settings screen 100.
(150) In the step S1609, the CPU 212 determines whether or not the print settings extension application 312 has received the intermediate data from the OS 313. If it is determined in the step S1609 that the intermediate data has been received, the process proceeds to a step S1610. On the other hand, if it is determined in the step S1609 that the intermediate data has not been received, the process returns to the step S1605.
(151) In the step S1610, the CPU 212 generates print data based on the intermediate data received in the step S1609 and the print capability information (capability information). Further, the CPU 212 generates image data in a predetermined format based on the intermediate data and the print settings information. Further, the CPU 212 generates print capability information described using the attribute values 502 defined by the IPP, based on the print settings information. Not only the attribute values 502 defined by the IPP, but also other information can be included in this print capability information as required. With this, item names 501 and attribute values 502, specifically defined by the printer vendor, can also be included in the print capability information.
(152) In a step S1611, the CPU 212 provides the print data generated in the step S1610 to the OS 313. The OS 313 transmits the received data to the cloud print service 321 via the print queue. With this, the cloud print-compatible printer 104 can perform printing based on the print data generated in the step S1610.
Other Embodiments
(153) Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out 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, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)?), a flash memory device, a memory card, and the like.
(154) 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.
(155) This application claims the benefit of Japanese Patent Application No. 2022-140192 filed Sep. 2, 2022, which is hereby incorporated by reference herein in its entirety.