PROGRAM, METHOD FOR CONTROLLING INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING APPARATUS

JP2025003685A5Active Publication Date: 2025-02-12CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024189311
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-02-12
Estimated Expiration
2042-02-09

AI Technical Summary

Benefits of technology

【0006】 本開示によれば、拡張アプリケーションにおける機能についてさらなる利便性の向上を実現できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a program, an information processor, and a control method in which convenience of a function in an extended application is further improved.SOLUTION: An extended application extends, by associating a plurality of printing devices provided by different vendors with commonly available print data generation software, a function of the print data generation software. The extended application causes, on the basis of an instruction to print print data for which printing processing is executed by the printing device, a computer to perform an activation step that activates a status notification application that gives notification of status information of the printing device, and the status notification application gives notification of the status information of the printing device.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] Applications that extend the functions of a printer driver (hereinafter, referred to as extended applications) are known. For example, Patent Document 1 describes a technique for extending functions such as a stamp function by an extended application. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2019-74906 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, there is a demand for further improvements in the usability of the functions in the extended applications. [Means for solving the problem]

[0005] An extension application that extends the functionality of print data generation software by being associated with print data generation software that can be commonly used by multiple printing devices provided by different vendors, the program causing a computer to execute a startup step of starting a status notification application that notifies status information of the printing device based on a print instruction being given for print data that is to be printed by the printing device, and the status information of the printing device is notified by the status notification application. Effect of the Invention

[0006] According to the present disclosure, it is possible to further improve the convenience of the functions in the extension application. [Brief description of the drawings]

[0007] [Figure 1] FIG. 2 is a diagram illustrating a hardware configuration of the system. [Diagram 2] FIG. 2 is a diagram illustrating a configuration of each software of an information processing apparatus and a printing apparatus. [Diagram 3] FIG. 11 is a flowchart illustrating a configuration of local printing and cloud printing. [Figure 4] FIG. 2 is a sequence diagram showing the system. [Diagram 5] FIG. 13 is a flowchart of the print data editing unit (background). [Figure 6] FIG. 13 is a flowchart of the print data editing unit (foreground). [Figure 7] FIG. 11 is a flowchart of a status notification application. [Figure 8] 13 is an example of a notification screen. [Figure 9] FIG. 2 is a sequence diagram showing the system. [Figure 10] FIG. 13 is a flowchart of the print data editing unit (background). [Figure 11] FIG. 11 is a flowchart of a status notification application. [Figure 12] FIG. 13 is a flowchart of the print data editing unit (foreground). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Preferred embodiments of the present invention will be described below with reference to the drawings. However, it should be understood that the scope of the present invention includes any modifications and improvements to the embodiments described below that are made based on the ordinary knowledge of those skilled in the art without departing from the spirit of the present invention.

[0009] (First embodiment) The information processing device and the printing device included in the printing system of this embodiment will be described. The host computer 101 is an example of an information processing device, and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115. The NETIF 120 is a network interface, and performs control for transferring data between the host computer 101 and an external device via a network.

[0010] An initialization program is stored in the ROM 112. Application programs, an operating system (OS), print data generation software, and various other data are stored in the external storage device 114. An extension application 204, which will be described later, is also saved in the external storage device 114. The RAM 113 is used as a work memory or the like when various programs stored in the external storage device 114 are executed, and the various programs can run within the host computer 101.

[0011] In this embodiment, the CPU 111 executes processes according to the procedures of a program stored in the ROM 112, thereby executing functions of the host computer 101, which will be described later, and processes related to flowcharts, which will be described later.

[0012] The printing device 102 is connected to the host computer 101 via an input / output interface 116. Here, the host computer 101 and the printing device 102 are configured separately, but they may also be configured as a single information processing device.

[0013] In this embodiment, the information processing device is exemplified as a host computer 101, but is not limited to this. For example, various information processing devices can be applied, such as a mobile terminal, a PC (personal computer), a tablet terminal, a PDA (personal digital assistant), a digital camera, etc. In addition, in this embodiment, a printer is exemplified as the printing device 102, but it can be applied to, for example, an inkjet printer, a full-color laser beam printer, a monochrome printer, etc.

[0014] A configuration is known in which a printer driver installed in the host computer 101 is used as software for controlling the printing device 102 to give a print instruction to the printing device 102 connected to the host computer 101. An operating system (OS), which is basic software, is installed in the host computer 101, and the printer driver is configured according to the specifications defined by the OS and is called by the OS to operate. A vendor providing the printing device 102 can provide a means for instructing the printing device 102 to print using the OS by providing a printer driver that conforms to the OS specifications. In recent years, standard class drivers (hereinafter also referred to as "standard drivers") that can be commonly used by printing devices provided by multiple vendors have been provided in Windows (registered trademark). Such standard drivers are included in the OS package and can be easily used by connecting any printing device to the host computer 101. Therefore, there is no need to separately install a model-specific printer driver suitable for the printing device 102, which is highly convenient. In addition, the standard driver is configured to be able to specify print functions according to PrintCapabilities generated based on information obtained from the connected printing device 102. This allows a user using a standard driver to specify print functions according to the capabilities of the connected printing device 102, even though the user is using one standard driver. In this embodiment, the standard driver will be described as print data generation software 202.

[0015] Here, the extension application 204 will be described. An application for function extension (extension application 204) can be associated with the standard driver. The extension application 204 can be provided by the vendor that provides the printing device 102. By providing this extension application 204, the vendor can provide functions (extension functions) that cannot be realized by the standard driver alone.

[0016] The extension application 204 is software for extending the function of the print data generation software 202, and is not included (bundled) in advance in the OS. Therefore, the user needs to operate the host computer 101 to download the extension application 204 from a server via the Internet and install it. Alternatively, the extension application 204 may be automatically installed based on the connection of the printing device 102 to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS acquires device identification information from the printing device 102. The OS may download the extension application 204 corresponding to the acquired device identification information from a server via the Internet and install it. That is, the print data generation software 202 and the extension application 204 are held in the host computer 101 as separate files. Note that the print data generation software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. That is, the timing at which the host computer 101 acquires the print data generation software 202 is different from the timing at which the host computer 101 acquires the extension application 204. In addition, the trigger for the host computer 101 to acquire the print data generation software 202 is different from the trigger for the host computer 101 to acquire the extended application 204. When the extended application 204 is installed, the OS associates the extended application 204 with the print data generation software 202 and the printing device 102.

[0017] The extension application 204 described in this embodiment includes a print setting screen extension unit 205, a skip control unit 206, a print function extension unit 207, a print data editing unit 208, and a notification unit 209. The extension application 204 also includes shared information 210 that can be commonly accessed by each unit. The shared information 210 is actually a file saved in the external storage device 114, or information stored in the RAM 113. The extension application 204 writes and reads information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS.

[0018] 2 is a diagram showing a schematic configuration of a printing system including each software of the host computer 101 and the printing device 102. Here, the printing system will be described assuming that the host computer 101 is equipped with Microsoft (registered trademark) Windows (registered trademark) 11 as the OS. FIG. 2(a) shows a typical configuration when an extension application 204 is not associated with the print data generation software 202 and the printing device 102.

[0019] The drawing application 201 is software that creates drawing data (image data) to be printed. For example, a word processing application or a spreadsheet application corresponds to the drawing application 201. When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. The print instruction includes print setting information for instructing the operation of the print data generation software 202 and the printing device 102. The print setting information is also called a PrintTicket (hereinafter, "PT").

[0020] In order to output the print setting information, the drawing application 201 can display a print setting screen provided by the print data generation software 202, the OS, or the drawing application 201. The print setting screen displays setting items indicating print functions that can be set and control items indicating the setting values ​​of the setting items according to the capability information (information on which the printing device 102 can operate) acquired from the print data generation software 202. The capability information is also called PrintCapabilities (hereinafter, "PC"). The print data generation software 202 determines the PC based on the print function information 203. The print function information 203 is data indicating all print functions that can be set, their setting values, and the exclusive relationship between the setting values. The print function information 203 is also called PDC (Print Device Capabilities). The print function information 203 is included in a configuration file of the print data generation software 202 and is arranged in the external storage device 114 as an unchangeable file. Alternatively, the print function information 203 can be dynamically generated by the print data generation software 202. Specifically, the print data generation software 202 or the OS can be configured to acquire attribute data of the printing device 102 from the printing device 102, and generate the printing capability information 203 according to the attribute information in the acquired attribute data. When the printing capability information 203 is dynamically generated, the generated printing capability information 203 can be edited. The attribute data of the printing device 102 acquired from the printing device 102 is a response acquired by issuing a Get-Printer-Attributes operation of the IPP (Internet Print Protocol) to the printing device 102. The response includes attribute information indicating functions that the printing device 102 can operate (the capabilities of the printing device 102) and setting values ​​related to the attribute information. This response is stored in the RAM 113.

[0021] With the above configuration, the print data generation software 202 can be configured so that the user can specify the print functions available in each printing device 102 according to the connected printing device. That is, even if printing devices with different functions or printing devices developed (provided) by different vendors are connected, the print data generation software 202 can be configured so that the user can specify the print functions available in accordance with the connected printing device. Note that here, a configuration using an IPP Class Driver installed in Windows (registered trademark) 11 will be described as the print data generation software 202. The IPP Class Driver is a printer driver that executes print processing according to the specifications of a standard printing protocol called IPP (Internet Print Protocol), and is included in the OS package. The IPP Class Driver is not a specific printer driver according to the model of the printing device 102, but a standard class driver that can be commonly used by multiple printing devices. In addition, the IPP Class Driver acquires capability information of the connected printing device 102 so that the user can specify the print functions supported by the connected printing device, and generates print function information 203 based on the information.

[0022] Here, a process in which print data is sent to the printing device 102 and printed will be described with reference to FIG. 2(a). The OS generates intermediate data (also called input data) based on a print instruction output from the drawing application 201, and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is data in Graphic Device Interface format (GDI format data) or data in XML Paper Specification format (XPS format data). When an IPP Class Driver is used as the print data generation software 202, if the data output by the drawing application 201 is data in GDI format, the OS converts the data in GDI format output from the drawing application 201 into data in XPS format. Then, the converted data in XPS format is passed to the print data generation software 202 as intermediate data. If the data output by the drawing application 201 is data in XPS format, the OS passes the data in XPS format to the print data generation software 202 as intermediate data. The intermediate data includes image data, which is information on a picture to be formed on paper, and print setting information set by a user.

[0023] The print data generation software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102, and transmits it to the printing device 102. The print data includes drawing data, which is information about a picture to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on print setting information set by the user. The print setting attribute information includes attribute information indicating functions that the printing device 102 can operate (capabilities of the printing device) and setting values ​​related to that attribute information.

[0024] The printing device 102 prints on paper based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data included in the print data on paper in accordance with the print setting attribute information included in the print data. The print setting attribute information includes information on the print quality (priority on image quality, priority on speed, etc.), the size of the drawing data, and the drawing position (margins).

[0025] 2B is a diagram showing a configuration when the extension application 204 is associated with the print data generation software 202 and the printing device 102. Note that configurations and processes not specifically mentioned below are the same as those in FIG. 2A.

[0026] When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. In this configuration, as in the configuration of FIG. 2(a), the drawing application 201 can display a print setting screen. In this configuration, the print setting screen provided by the extension application 204 is displayed. Specifically, the print setting screen provided by the print setting screen extension unit 205 included in the extension application 204 is displayed. Note that whether or not the print setting screen provided by the print setting screen extension unit 205 is displayed depends on the user's operation.

[0027] Also, when the drawing application 201 accepts a print request from a user and issues a print instruction to the OS, the OS starts the skip control unit 206. The skip control unit 206 controls whether or not to skip the processing of the print data generation software 202. After the skip control processing of the skip control unit 206, the OS generates intermediate data based on the print instruction output from the drawing application 201, and the intermediate data is passed to the print data generation software 202. Here, if the skip control is not performed by the skip control unit 206, the intermediate data is processed by the print data generation software 202 into print data that can be interpreted by the printing device 102, and passed to the print data editing unit 208. On the other hand, if the print data generation software 202 is skipped, the intermediate data is passed to the print data editing unit 208 without being processed by the print data generation software 202. This makes it possible to process the intermediate data in the print data editing unit 208.

[0028] The print data editing unit 208 edits the intermediate data passed from the print data generation software 202 or the print data processed by the print data generation software 202. Taking layout printing as an example of the editing content, the print data editing unit 208 changes the layout of the intermediate data or print data based on the print setting information for layout printing received from the OS. The print data editing unit 208 can also display a UI screen on the display unit 119, and can display an image of the print result of the intermediate data or print data as a preview screen. Note that with the print data editing unit 208, the print data is not sent to the printing device 102 while the screen is open, and the print data transmission process is performed by closing the screen.

[0029] After the print data editing unit 208 edits the intermediate data or the print data, the print data is sent to the printing device 102. The printing device 102 prints on paper based on the received print data.

[0030] When the print data generation software 202 is skipped by the skip control unit 206, the print data editing unit 208 may convert the received intermediate data into print data that can be interpreted by the printing device 102. Also, a function provided by the OS may be used to convert the intermediate data into print data.

[0031] The extension application 204 has a print function extension unit 207. The print function extension unit 207 can edit the print function information 203 (PDC) generated by the print data generation software 202 or the OS. This allows the print function extension unit 207 to add functions provided by the extension application 204, add functions supported by the printing device 102 but not supported by the print data generation software 202, add exclusive relationships between setting values ​​of print functions, and the like. The OS starts the print function extension unit 207 when the extension application 204 is first associated with the printing device 102 and the print data generation software 202. Furthermore, the OS may start the print function extension unit 207 at other times, such as when the OS is started. In this way, in a case where an optional device (e.g., a finisher, etc.) is added to the printing device 102 later and functions related to printing are extended, the print function extension unit 207 can detect the extended function and add it to the print function information 203.

[0032] The extension application 204 also has a notification unit 209. The notification unit 209 can display a notification (status notification) to the user in response to an error occurring in the printing device 102. For example, when an out-of-paper error occurs in the printing device 102, the print data generation software 202 detects the out-of-paper error, and the OS uses a notification function of the OS called a toast notification to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 209 of the extension application 204, and a UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message of the out-of-paper error, a method for loading paper, and the like.

[0033] The configuration of the extension application 204 for realizing this embodiment is not limited to having all the above-mentioned functions (units), and may have only some of the functions or other functions. Also, the extension application 204 may be simply called print software. As described above, the extension application 204 has at least one of the following functions: a function for displaying a setting screen (print setting screen extension unit 205), a function for controlling whether or not to skip the processing of the print data generation software 202 (skip control unit 206), a function for editing print data input to the printing device (print data editing unit 208), a function for extending functions that can be specified by the print data generation software (print function extension unit 207), and a function for displaying a screen in response to an error occurrence in the printing device 102 (notification unit 209).

[0034] The extension application 204 may also terminate operation each time the processing of each unit is completed. In that case, the OS will launch the extension application 204 each time a request to use each unit is received. Other configurations are also possible. For example, when the processing of the print setting screen extension unit 205 is completed, the OS will terminate the operation of the extension application 204, but the OS may keep the extension application 204 running even after the processing of the skip control unit 206 is completed.

[0035] Furthermore, the extension application 204 may cancel processing during the processing of each unit. When the processing is canceled, the print job being processed in the print queue is deleted by the OS. Note that the print job includes print data.

[0036] As described above, the notification unit 209 can display a status notification to the user. The conventional notification unit 209 could only display a status notification in response to an error occurring in the printing device 102. In other words, the conventional notification unit 209 had a problem in that it could not display a status notification when the printing device 102 was not in an error state. However, there is a demand for displaying a status notification even when the printing device 102 is not in an error state. Furthermore, in the toast notification displayed by the conventional notification unit 209, only the content indicating that the printing device 102 is in an error state is displayed, and detailed information on the error, such as what kind of error has occurred, is not displayed. Therefore, in this embodiment, control is performed so that a status notification can be displayed even when the printing device 102 is not in an error state. Furthermore, the content displayed when an error occurs is status information of the printing device 102 including detailed information on the error, and the information displayed when an error does not occur is status information of the printing device 102. Note that the detailed error information is, for example, when the error is low on ink, information on which color of ink is low on ink, information on the remaining amount of ink other than the ink that is low on ink, etc.

[0037] As described above, the conventional notification unit 209 first executes a toast notification in response to an error occurring in the printing device 102. Since the toast notification disappears from the screen after a certain time has passed, if the user does not notice the toast notification and does not press the toast notification, there is a possibility that the status notification will not be displayed on the UI screen of the notification unit 209. Therefore, in this embodiment, control is performed so that the status notification can be displayed at a timing that is easily noticeable to the user.

[0038] Furthermore, the print data editing unit 208 can display a preview of the print data on the UI screen without a toast notification only during the period from when the intermediate data or print data is acquired until when it is transmitted to the printing device 102. However, it cannot display status information of the printing device 102 after the intermediate data or print data is transmitted to the printing device 102. Therefore, in this embodiment, control is performed so that status information of the printing device 102 after the print data is transmitted to the printing device 102 and printing has started is also displayed without a toast notification.

[0039] Therefore, in this embodiment, when the extended application 204 receives intermediate data or print data, it starts an application (status notification application 211) having a status notification function capable of displaying a status notification even when the printer is not in an error state. Furthermore, the status notification application 211 is started when a print instruction is issued by the user. A specific description will be given. FIG. 2(c) is a diagram showing a system configuration in which the extended application 204 starts the status notification application 211. When the print data editing unit 208 of the extended application 204 receives intermediate data or print data transmitted from the print data generation software 202 based on a print instruction from the user, it starts the status notification application 211 having a status notification function. Then, it displays a notification screen regarding the status information of the printing device 102. This makes it possible to display a status notification even when the printing device 102 is not in an error state. In addition, it is possible to reduce the possibility that the status notification will not be displayed when the user does not notice the toast notification and does not press the toast notification. Furthermore, after print data has been sent to the printing device 102 and printing has started, status information about the printing device 102 can also be displayed without a toast notification.

[0040] FIG. 3 is a flow chart showing the configuration of local printing and cloud printing. In this embodiment, a case where the extended application 204 operates in association with the print data generation software 202 for local printing will be described later in the second embodiment. In local printing, the host computer 101 can directly obtain the status information of the printing device 102 from the printing device 102 without going through the cloud. Conventionally, in local printing, when the print data generation software 202 detects that the printing device 102 has entered an error state, a toast notification 302 is displayed on the screen. When the user presses the toast notification 302, the OS starts the notification unit 209 of the extended application 204, and the notification unit 209 displays a status notification screen 800. The status notification screen 800 will be described later with reference to FIG. 8. In this embodiment, a case where the status notification application 211 notifies the status information of the printing device 102 in local printing will be described.

[0041] Figure 4 is a sequence diagram of this system. Hereafter, each device, application, and OS may be explained as the subject of each process, but in reality, the corresponding function is realized by a processor such as a CPU in each device executing the corresponding program. Note that not all processes are necessarily executed sequentially on one process, and there may be cases where the process is transferred to the OS side once and then called again by the OS. This is merely a flow that conveniently and easily shows the main processes.

[0042] 4 is started when a user performs an operation to give a print instruction. The operation to give a print instruction is, for example, an operation of pressing a print button (not shown) on a print setting screen opened by the extension application 204 on the screen of the drawing application 201. Hereinafter, when the print data editing unit 208 is operating in a state where it is displayed on the host computer 101, it is said to be operating as a foreground process. Also, when the print data editing unit 208 is operating in a state where it is not displayed on the host computer 101, it is said to be operating in the background.

[0043] In S401, the drawing application 201 issues a print instruction to the OS based on a user operation. Note that in this sequence, the processing of the print data generation software 202 is omitted.

[0044] In S402, the OS starts the print data editing unit 208 of the extension application 204 as a background process.

[0045] In S403, print data editing unit 208 is started as a background process. The print data editing unit 208 started as a background process starts print data editing unit 208 as a foreground process, and instructs print data editing unit 208 operating as the foreground process to start a UI screen. When the instruction to start a UI screen is given, print data editing unit 208 operating as the foreground process starts and starts a UI screen. For example, print data editing unit 208 operating as the foreground process executes display of a print preview. After executing display of the print preview, print data editing unit 208 operating as the foreground process goes into a standby state until display of the print preview ends. The print preview ends when the user who has checked the print preview instructs to continue printing or cancel printing.

[0046] In S404 , the print data editing unit 208 running in the foreground process starts the status notification application 211 .

[0047] In S405, the print data editing unit 208, which operates as a background process, receives the notification of the end of the print preview and ends the standby state.

[0048] In S406, the print data editing unit 208 transmits the print data to the printing device 102.

[0049] In S407, the status notification application 211 requests the printing device 102 to obtain status information.

[0050] In S408, the printing device 102 transmits the status information of the printing device 102 in response to the request to obtain the status information.

[0051] In S409, the status notification application 211 displays a status notification screen based on the acquired status information. The status notification application 211 repeats the processes from S407 to S409 until the printing device 102 finishes printing processing of the target print job. In other words, the status notification application 211 updates and displays the status information of the printing device 102.

[0052] In S410, the status notification application 211 determines whether the print process of the target print job has been completed based on the acquired status information, and ends the repeated process of S407 to S409 when it determines that the print process of the target print job has been completed.

[0053] Fig. 5 is a diagram showing background process processing of print data editing unit 208. The flowchart in Fig. 5 starts when started up from the OS. Hereinafter, print data editing unit 208 may be described as the subject of each process, but in reality, the corresponding function is realized by CPU 111 executing the corresponding program.

[0054] In S501, the print data editing unit 208, which operates as a background process, acquires intermediate data or print data. The acquired print data is data generated by the print data generation software 202. Also, if a skip instruction is issued by the skip control unit 206, intermediate data generated by the OS is acquired.

[0055] In S502, which corresponds to S403 in FIG. 4, the print data editing unit 208 operating in the background process instructs the print data editing unit 208 operating in the foreground process to launch a UI screen. For example, an instruction to launch a print preview screen is issued. Note that a setting for a print preview function may be provided in the print settings, allowing the user to switch whether or not to use the print preview function. If the setting is such that the print preview function is not used, in S502, the print data editing unit 208 operating in the background process instructs the print data editing unit 208 operating in the foreground process to launch the status notification application 211 instead of instructing the print data editing unit 208 operating in the foreground process to launch a UI screen. In this case, the processing of S503 is omitted.

[0056] In S503, the print data editing unit 208 operating in the background process determines whether the display process of the UI screen has ended. If the print data editing unit 208 operating in the background process determines YES in S503, it proceeds to S504, and if the print data editing unit 208 determines NO in S503, it repeats S503. In other words, the print data editing unit 208 stops processing and waits until the activated print preview screen ends.

[0057] 4, the print data editing unit 208 operating in the background process transmits the print data to the printing device 102. As a result, the printing device 102 starts print processing based on the acquired print data. Note that if a skip instruction is issued by the skip control unit 206, the acquired print data becomes intermediate data generated by the OS, and the print data editing unit 208 operating in the background process converts the intermediate data into print data that can be interpreted by the printing device 102 and transmits it. When the print data editing unit 208 operating in the background process finishes the process of transmitting the print data to the printing device 102, it ends the processing of this flowchart.

[0058] FIG. 6 is a diagram showing the processing of the print data editing unit 208 operating in the foreground process. The flowchart in FIG. 6 is started when a UI startup instruction is issued by the print data editing unit 208 operating in the background process. Hereinafter, the print data editing unit 208 may be described as the subject of each processing, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. Note that if the print preview function is set not to be used, in S502 in FIG. 5, the print data editing unit 208 operating in the background process issues an instruction to start the status notification application 211 instead of issuing an instruction to start the UI screen to the print data editing unit 208 operating in the foreground process. Therefore, the processing of S601 and S604 in FIG. 6 described later is executed, and the processing of S602 and S603 may be omitted.

[0059] Since S601 is the same process as S501 in FIG. 5, the description thereof will be omitted.

[0060] In S602, the print data editing unit 208, which operates in the foreground process, displays a print preview screen of the print result based on the acquired print data. The user can determine whether to continue or cancel printing by checking the print preview screen. Note that if the print preview function is set not to be used, this process and the process in S603 are omitted.

[0061] In S603, the print data editing unit 208 operating in the foreground process determines whether or not the user has issued an instruction to end the print preview. If the print data editing unit 208 operating in the foreground process determines YES in S603, it proceeds to S604, and if the print data editing unit 208 determines NO in S603, it repeats S603. In other words, the foreground process of the print data editing unit 208 stops processing and waits until an instruction to end the print preview screen is issued.

[0062] In S604, the print data editing unit 208 operating in the foreground process starts the status notification application 211, and ends the processing of this flowchart. When starting the status notification application 211, the print data editing unit 208 operating in the foreground process transmits at least one of information on the name of the target print queue and information on the URI for communicating with the printing device 102 to the status notification application 211. These pieces of information are used by the status notification application 211 to specify the printing device 102 for which the status notification application 211 displays the status information. In addition, the print job identification information is transmitted as a start-up parameter. The print job identification information is used to determine whether the printing device 102 is in the process of printing the target job. Specifically, the status notification application 211 can determine whether the print job is in the process of being printed by comparing the print job identification information included in the status information acquired from the printing device 102 with the print job identification information passed as a start-up parameter. This allows the status notification application 211 to notify the user of the status information of the target print job that triggered the start-up. In addition, the status notification application 211 can end the display of the status notification screen when the print processing of the print job ends. The processing of the status notification application 211 will be described later with reference to Fig. 7. Note that the timing for acquiring information about the printing device, such as information about the name of the target print queue, information about the URI for communicating with the printing device 102, and identification information of the print job, may be any time when the extension application 204 is able to communicate with the printing device 102.

[0063] Fig. 7 is a diagram showing the processing of the status notification application 211. The flowchart in Fig. 7 starts when the application is started by the print data editing unit 208, which runs in the foreground process. Hereinafter, the status notification application 211 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0064] In S701, the status notification application 211 acquires status information from the printing device 102. Information included in the status information includes, but is not limited to, ID information for identifying a print job being processed, information regarding the processing status of the print job, information indicating an error that has occurred in the printing device 102, and remaining ink amount information.

[0065] In S702, the status notification application 211 determines whether the print processing of the target print job has ended. Whether the target print job is being processed can be determined by comparing the identification information of the print job passed as a startup parameter with the status information acquired from the printing device 102. If the status notification application 211 determines YES in S702, it ends the processing of this flowchart, and if the status notification application 211 determines NO in S702, it proceeds to S703.

[0066] In S703, the status notification application 211 displays information related to the status notification based on the status information acquired in S701. Note that, when the process of this flowchart is repeatedly executed, the status notification application 211 updates and displays the previously acquired status information. Here, FIG. 8 is a diagram showing an example of a status notification screen displayed by the notification unit 209. The status notification screen 800 displayed by the notification unit 209 is a screen that notifies the user of the status of the printing device 102 and the print job based on the status information acquired from the printing device 102. The display area 801 is an area that displays a message indicating the status of the printing device 102 based on the status information acquired from the printing device 102. For example, when a paper out error occurs in the printing device 102, a message indicating that there is no paper is displayed as shown in FIG. The display area 802 is an area that displays information about the print job that caused the status notification screen 800 to be displayed. In the example of FIG. 8, it is shown that a job named "Test Print" is the target print job. Control item 803 is a print cancel button, and pressing it interrupts (cancels) printing of the print job shown in display area 802. Display area 804 is an area that displays information about the remaining amount of ink in printing device 102. Errors in printing device 102 include, in addition to an out-of-paper error, a low-ink error indicating that the ink level is low, an out-of-ink error indicating that the ink has run out, and a paper jam error indicating that the paper has jammed. If at least one of these errors occurs, a message about the error corresponding to display area 801 is displayed. Furthermore, the information displayed on status notification screen 800 is not limited to these. Of the acquired status information, information about the processing status of the print job may also be displayed.

[0067] In S704, the status notification application 211 determines whether or not the user has performed an operation to interrupt the printing process of the print job on the status notification screen 800. If the determination in S704 is YES, the status notification application 211 proceeds to S705, and if the determination in S704 is NO, the status notification application 211 returns to S701. In other words, if the user has not performed an operation to interrupt the printing process of the print job, the processes of S901 to S904 are repeatedly executed until the processing of the print job is completed (YES in S902).

[0068] In S705, the status notification application 211 transmits information indicating that an operation for interrupting the printing process of the print job has been performed to the printing device 102, and ends the processing of this flowchart. As a result, the printing device 102 interrupts the printing process of the specified print job.

[0069] As described above, when the extended application 204 operates in association with the print data generation software 202 for local printing, the status notification application 211 capable of providing a status notification even when there is no error is started based on a print instruction from the user, and a status notification screen is provided. This makes it possible to display a status notification even when the printing device 102 is not in an error state. Also, if the user does not notice the toast notification and does not press the toast notification, the possibility that the status notification will not be displayed can be reduced. Furthermore, it is also possible to display status information of the printing device 102 after printing data has been sent to the printing device 102 and printing has started without going through a toast notification.

[0070] In the above embodiment, the status notification application 211 is described as an application different from the extended application 204, but the extended application 204 may be started as a separate instance. In this case, the operation of the status notification application 211 described above is performed by the extended application 204 started as a separate instance. Note that the notification screen 800 described in FIG. 8 may be different or the same notification screen for the status notification application 211 and the extended application 204 started as a separate instance. In addition, the UI screen of the notification unit 209 displayed via the toast notification described above may be different or the same notification screen as the notification screen displayed by the status notification application 211 or the extended application 204 started as a separate instance.

[0071] In the above-described embodiment, the print data editing unit 208 launches the status notification application 211 as a foreground process, but in an environment where another application can be launched from a background process, the status notification application 211 may be launched from a background process. Specifically, in S502 of Fig. 5, the print data editing unit 208 operating as a background process may launch the status notification application 211 instead of instructing the print data editing unit 208 operating as a foreground process to launch a UI screen. In this case, the flowchart of Fig. 6 may be omitted.

[0072] Second Embodiment In the first embodiment, a case where the extended application 204 operates in association with the print data generation software 202 for local printing has been described. In the present embodiment, a case where the extended application 204 operates in association with the print data generation software 202 for cloud printing has been described. The Cloud Print Service 301 in FIG. 3 is a service that operates between the host device and the printing device 102 to provide a cloud printing function. When performing cloud printing, a host device such as the host computer 101 transmits a print job to the Cloud Print Service 301. Then, the printing device 102 obtains the print job from the Cloud Print Service 301 and performs printing. In addition, the processing status of the print job and the status information of the printing device 102 are transmitted from the printing device 102 to the Cloud Print Service 301, and transmitted to the host computer 101 via the Cloud Print Service 301. That is, conventionally, when the print data generation software 202 for cloud printing obtains status information from the Cloud Print Service 301 and detects that the printing device 102 has entered an error state, a toast notification 302 is displayed by the OS. When the user presses the toast notification 302, the OS starts the notification unit 209 of the extension application 204, and the notification unit 209 displays the status notification screen 800.

[0073] In this embodiment, in cloud printing, the extended application 204 acquires status information of the printing device 102 from the Cloud Print Service 301 and transmits it to the status notification application 211. A case will be described in which the status notification application 211 then notifies the status information of the printing device 102. Note that a description of the same processes as those in the first embodiment will be omitted in this embodiment.

[0074] Figure 9 is a sequence diagram of this system. Hereafter, each device, application, and OS may be described as the subject of each process, but in reality, the corresponding function is realized by a processor such as a CPU in each device executing the corresponding program. Note that not all processes are necessarily executed sequentially on one process, and there may be cases where the process is transferred to the OS side once and then called again by the OS. This is merely a flow that conveniently and easily shows the main processes.

[0075] 9 is started when a user performs an operation to give a print instruction. The operation to give a print instruction is, for example, an operation of pressing a print button (not shown) on a print setting screen opened by the extension application 204 on the screen of the drawing application 201.

[0076] Since steps S901 to S905 are similar to steps S401 to S405, the description thereof will be omitted.

[0077] In step S906 , the print data editing unit 208 , which operates as a background process, transmits the print data to the Cloud Print Service 301 .

[0078] In step S907, the print data editing unit 208, which operates as a background process, requests the Cloud Print Service 301 to obtain status information.

[0079] In S908, the Cloud Print Service 301 transmits the status information to the print data editing unit 208 operating as a background process in response to the request to obtain the status information.

[0080] In S909 , the print data editing unit 208 , which operates as a background process, sends the acquired status information to the status notification application 211 .

[0081] Since S910 and S911 are similar processes to S410 and S411 in FIG. 4, the description thereof will be omitted.

[0082] As a result, it is possible to provide a status notification using the status notification application 211 even when the extension application 204 operates in association with the print data generation software 202 for cloud printing.

[0083] Fig. 10 is a diagram showing the processing of print data editing unit 208 that operates as a background process. The flowchart in Fig. 10 starts when started up by the OS. Hereinafter, print data editing unit 208 may be described as the subject of each process, but in reality, the corresponding function is realized by CPU 111 executing the corresponding program.

[0084] The processes in S1001 to S1004 are similar to those in S501 to S504, and therefore the description thereof will be omitted. In S1004, the print data editing unit 208 operating in the background process transmits the print data to the Cloud Print Service 301.

[0085] In step S1005 , the print data editing unit 208 , which operates as a background process, obtains status information from the Cloud Print Service 301 .

[0086] In S1006, which corresponds to S909, the print data editing unit 208, which operates in a background process, transmits the status information acquired in S1005 to the status notification application 211. A possible communication method for transmitting the status information is inter-process communication, but is not limited to this. The status notification application 211 performs status notification based on the transmitted status information.

[0087] In S1007, the print data editing unit 208 operating in the background process determines whether the printing device 102 has completed the print processing of the target print job from the status information acquired in S1005. If the print data editing unit 208 determines YES in S1007, it proceeds to S1008, and if the print data editing unit 208 determines NO in S1007, it proceeds to S1009.

[0088] In S1008, the print data editing unit 208 operating in the background process sends information indicating that the print processing of the target print job has ended to the status notification application 211, and ends the processing of this flowchart.

[0089] In S1009, the print data editing unit 208 operating in the background process determines whether or not information indicating that an operation for interrupting the print processing of the print job has been performed has been acquired from the status notification application 211. If the print data editing unit 208 determines YES in S1009, it proceeds to S1010, and if the print data editing unit 208 determines NO in S1009, it returns to S1005.

[0090] In S1010, the print data editing unit 208 operating in the background process issues an instruction to suspend the print processing of the target print job. Note that the instruction to suspend the print processing of the target print job is issued to the printing device 102 via the OS by the print data editing unit 208 issuing an instruction to the OS to suspend the print processing. Also, if the print data editing unit 208 operating in the background process is capable of communicating with the printing device 102, the print data editing unit 208 operating in the background process may issue an instruction to the printing device 102 to suspend the print processing. Note that the print data editing unit 208 may transmit instruction information to Cloud Print Service 301 to suspend the print processing, and the printing device 102 may be instructed to suspend the print processing via Cloud Print Service 301.

[0091] Fig. 11 is a diagram showing the processing of the status notification application 211. The flowchart in Fig. 11 starts when the application is started by the print data editing unit 208, which runs in the foreground process. Hereinafter, the status notification application 211 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0092] In S1101, the status notification application 211 acquires status information from the print data editing unit 208. Information included in the status information includes, but is not limited to, ID information for identifying the print job being processed, information regarding the processing status of the print job, information indicating an error that has occurred in the printing device 102, and remaining ink amount information.

[0093] In S1102, the status notification application 211 determines whether the print processing of the target print job has ended. Whether the target print job is being processed can be determined from the identification information of the print job passed as a startup parameter and the status information acquired from the printing device 102. If the status notification application 211 determines YES in S1102, it ends the processing of this flowchart, and if the status notification application 211 determines NO in S1102, it proceeds to S1103.

[0094] In S1103, the status notification application 211 displays information related to the status notification based on the status information acquired in S1101. When the process of this flowchart is repeatedly executed, the status notification application 211 updates and displays the previously acquired status information. The status notification screen displayed by the notification unit 209 is the same as that shown in FIG.

[0095] In S1104, the status notification application 211 determines whether or not the user has performed an operation to interrupt the print process through the status notification screen. If the determination in S1104 is YES, the status notification application 211 proceeds to S1105, and if the determination in S1104 is NO, the status notification application 211 returns to S1101.

[0096] In S1105, the status notification application 211 transmits information indicating that an operation to interrupt the printing process of the print job has been performed to the print data editing unit 208, and ends the processing of this flowchart. As a result, in S1010, the print data editing unit 208 issues an instruction to interrupt the printing process of the specified print job.

[0097] As described above, when the extended application 204 operates in association with the print data generation software 202 for cloud printing, the status notification application 211 capable of providing a status notification even when there is no error state is started based on a print instruction from the user, and a status notification screen is provided. This allows the status notification to be displayed even when the printing device 102 is not in an error state. In addition, the possibility that the status notification will not be displayed can be reduced when the user does not notice the toast notification and does not press the toast notification. Furthermore, it is possible to display the status information of the printing device 102 after the printing data has been transmitted to the printing device 102 and printing has started without using a toast notification. Furthermore, by using this configuration, it is possible to provide a status notification screen using the status notification application 211 even when a server is used to share a printer.

[0098] In the above embodiment, a description has been given of a configuration in which the extension application 204 acquires status information of the printing device 102 from the Cloud Print Service 301 and transmits the status information of the printing device 102 to the status notification application 211. However, if the status notification application 211 is capable of acquiring the status information of the printing device 102 from the Cloud Print Service 301, the status notification application 211 may acquire the status information of the printing device 102 from the Cloud Print Service 301.

[0099] (Third embodiment) In the first and second embodiments, the print data editing unit 208 has been described as always starting the status notification application 211 when it receives print data for a target print job. In this embodiment, a method of switching whether or not to start the status notification application 211 according to settings made by a user or administrator will be described. Note that a description of the same processes as those in the first and second embodiments will be omitted in this embodiment.

[0100] Fig. 12 is a diagram showing the processing of print data editing unit 208 operating in the foreground. The flowchart in Fig. 12 is started when a UI startup instruction is issued by print data editing unit 208 operating in the background. Hereinafter, print data editing unit 208 may be described as the subject of each process, but in reality, the corresponding function is realized by CPU 111 executing the corresponding program.

[0101] The processing in S1201 to S1203 is similar to that in S501 to S503 in FIG. 5, and therefore the description thereof will be omitted.

[0102] In S1204, the print data editing unit 208 operating in the foreground acquires the print startup setting of the status notification. The print startup setting of the status notification is a setting that the user can set as to whether or not the status information is notified when an operation for starting the print process of a print job is performed. The print startup setting is set on the print setting screen displayed by the print setting screen extension unit of the extension application 204. The print startup setting is stored as a print setting in a PrintTicket that stores print settings, or is stored in the shared information 210. For example, the print startup setting of the status notification is stored as an on / off setting as to whether or not to display the status notification screen during printing. Note that the location where the print startup setting of the status notification is displayed for setting, and the method and location of storing the set information are not limited to those described above.

[0103] In S1205, the print data editing unit 208 operating in the foreground determines whether or not the status information is notified when an operation for starting the print process of a print job is performed in the print start setting of the status notification. That is, the print data editing unit 208 determines whether the print start setting is on or off. If the determination in S1205 is YES, the process proceeds to S1206, and if the determination in S1204 is NO, the process of this flowchart ends.

[0104] The process of S1206 is similar to the process of S604, and therefore the description thereof will be omitted.

[0105] As described above, it is possible to switch whether or not to start the status notification application 211 when an operation for starting the print process of a print job is performed, depending on the print-time startup setting of the status notification.

[0106] As described above, the notification unit 209 can issue a toast notification when an error occurs in the printing device 102. Therefore, whether or not a toast notification is issued may be switched based on whether the print startup setting is on or off. Specifically, the notification unit 209 acquires the print startup setting of the status notification and determines whether the print startup setting is on or off. When the print startup setting is on, the notification unit 209 may determine that the status notification application 211 is started, and may not issue a toast notification even when an error occurs. When the print startup setting is off, the notification unit 209 may determine that the status notification application 211 is not started, and may issue a toast notification when an error occurs. This makes it possible to realize a form in which a status notification is not issued every time a print job is printed, and a toast notification is issued when an error occurs in the printing device 102. Furthermore, it is possible to reduce the inconvenience of displaying both the status notification issued by the status notification application 211 and the toast notification issued by the notification unit 209. Alternatively, when an error occurs in the printing device 102, even if the print startup setting is on, both the status notification made by the status notification application 211 and the toast notification made by the notification unit 209 may be displayed. This makes it possible to more reliably notify the user of the occurrence of an error in the printing device 102. Also, when the print startup setting is on, it is determined whether the status notification application 211 is started, and if it is determined that the status notification application 211 is started, it is not necessary to issue a toast notification by the notification unit 209. Also, when the print startup setting is on, if it is determined that the status notification application 211 is not started, the toast notification by the notification unit 209 may be issued. This makes it possible to more reliably notify the user of the occurrence of an error in the printing device 102.

[0107] (Other embodiments) As described above, in the first embodiment, in local printing, the status notification application 211 communicates directly with the printing device 102 and acquires status information to display the status notification screen 800. In the second embodiment, in cloud printing, the print data editing unit 208 acquires status information and transmits it to the status notification application 211, and the status notification screen 800 is displayed based on the status information acquired by the status notification application 211. In this embodiment, the extension application 204 may determine whether it is associated with the print data generation software 202 for local printing or the print data generation software 202 for cloud printing, and the process in the first embodiment and the process in the second embodiment may be switched depending on the determination result. Note that this determination may be performed by the print data editing unit 208 in the extension application 204, or the print setting screen extension unit 205 may perform this determination and save the determination result as print settings.

[0108] The above-mentioned embodiment can also be realized by executing the following process. That is, software (programs) that realize the functions of the above-mentioned embodiment are supplied to a system or device via a network or various storage media, and a computer (CPU, MPU, etc.) of the system or device reads and executes the program. The program may be executed by one computer, or may be executed by multiple computers in cooperation with each other. It is not necessary to realize all of the above-mentioned processes by software, and some or all of the processes may be realized by hardware such as ASIC. The CPU is also not limited to one that performs all processes by one CPU, and multiple CPUs may perform processes in cooperation with each other as appropriate.

[0109] In addition, the functions of the above-mentioned embodiments are not only realized by a computer reading and executing the program code, but also include cases where an OS running on a computer performs part or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized by the processing. [Explanation of symbols]

[0110] 101 Host Computer 102 Printing device 201 Drawing Application 202 Printing data generation software 203 Printing function information 204 Extended Applications

Claims

1. A program that supports a standard driver that obtains capability information of a printing device according to the Internet Print Protocol, The computer of the information processing device a notification step of notifying the status of the printing device based on status information received from the printing device that is the destination of the print data; and a receiving step of receiving an instruction to cancel printing based on the print data.

2. The program described in Claim 1, characterized in that the notification in the notification process is performed by displaying a notification screen.

3. The program described in Claim 2, characterized in that the instruction is performed by operating an object included in the notification screen.

4. A computer of the information processing device, 4. The program according to claim 1, further comprising an update step of updating a notification of the status of the printing device based on newly received status information from the printing device.

5. A program described in any one of claims 1 to 4, characterized in that the state of the printing device is a state in which the remaining amount of consumables of the printing device has run out.

6. The program described in Claim 5, characterized in that the consumable is paper.

7. A program described in any one of claims 1 to 4, characterized in that the state of the printing device is a state in which the remaining amount of consumables of the printing device is low.

8. The program described in claim 5 or 7, characterized in that the consumable is ink.

9. A program as described in any one of claims 1 to 4, characterized in that the state of the printing device is a paper jam state.

10. The program according to claim 1, wherein the standard driver is usable with printing devices provided by different vendors.

11. A method for controlling an information processing device having a standard driver that acquires capability information of a printing device according to the Internet Print Protocol, comprising: a notification step of notifying the status of the printing device based on status information received from the printing device to which the print data is sent by executing an application program that supports the standard driver; and receiving an instruction to cancel printing based on the print data.

12. An information processing device having a standard driver for acquiring capability information of a printing device according to the Internet Print Protocol, a notification means for notifying a status of the printing device based on status information received from the printing device to which the print data is sent by executing an application program that supports the standard driver; and a receiving unit that receives an instruction to cancel printing based on the print data.