Support program, information processing device, and printing method

A support program on an information processing device acquires and displays print job information from a printer, addressing the inconvenience of OS interface operation in general-purpose printing, thereby improving user experience.

JP7845555B2Active Publication Date: 2026-04-14BROTHER KOGYO KK
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2025-05-23
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing technologies for controlling printers through general-purpose printing programs in operating systems require users to operate the OS user interface to obtain information about print jobs, which is cumbersome.

Method used

A support program that executes on an information processing device to acquire, determine, and display information about print jobs directly from the printer, eliminating the need for user interaction with the OS interface.

Benefits of technology

Enables users to easily obtain print job information without operating the OS interface, enhancing user convenience and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007845555000001
    Figure 0007845555000001
  • Figure 0007845555000002
    Figure 0007845555000002
  • Figure 0007845555000003
    Figure 0007845555000003
Patent Text Reader

Abstract

To provide a technique for allowing, in an information processing apparatus in which an OS-standard general-use printing program is implemented, a user to easily obtain information concerning processes that are based on a print instruction.SOLUTION: When a general-use printing program 41 receives a print instruction to cause a printer 2 to execute printing of an image, a supporting program 42 obtains status information of the printer 2 from the printer 2, determines, on the basis of the status information obtained, whether or not a display condition to output a message based on the status information is satisfied, and, upon determining that the display condition is satisfied, displays the massage on a UI 20 of a PC 1.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , ,

[0003] , ,

[0005] , , ,

[0001] As a technology for controlling a printer from an information processing device such as a personal computer, a configuration in which a printer driver is installed in the information processing device, print data is generated by the printer driver, and the print data is transmitted to the printer is widely known (for example, Patent Document 1). The printer driver is provided by the printer manufacturer and corresponds to various functions of the printer, and the printer can be fully utilized.

Prior Art Documents

Patent Documents

[0002]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0003] In recent years, a technology for controlling a printer by a general-purpose printing program incorporated as a standard in an operating system (OS) without using the above-described printer driver has been put into practical use. In this technology, when the OS detects the printer, it associates with the general-purpose printing program standard of the OS, and thereafter, when a print instruction for the printer is received, printing can be performed by the general-purpose printing program standard of the OS without using the printer driver.

[0004] Even in the case of printing by the above-described general-purpose printing program standard of the OS, similar to printing by the printer driver, the processing for the print instruction is completed when the print data is accumulated in the print queue of the OS. When the user obtains information regarding the subsequent print data, it is necessary to operate the user interface of the OS, which is troublesome for the user.

[0005] This specification discloses a technology that allows users to easily obtain information regarding processing based on print instructions in an information processing device incorporating a general-purpose printing program that is a standard for the operating system. [Means for solving the problem]

[0006] One embodiment of a support program made for the purpose of solving the above-mentioned problems is a support program that can be executed by the computer of an information processing device and corresponds to a printer connected to the information processing device, characterized in that the computer is instructed to perform an acquisition process, a determination process, and a display process based on a print instruction that has been made to a general-purpose printing program pre-installed in the operating system of the information processing device to print an image to the printer, the acquisition process queries the printer via the communication interface of the information processing device and acquires information about the printer, the determination process determines whether or not the display conditions for outputting a message based on the information acquired in the acquisition process are met, and the display process displays the message on the display device of the information processing device if the determination process determines that the display conditions are met.

[0007] The support program described above retrieves information about the printer from the printer and, if the display conditions are met, displays a message on the display device based on the retrieved information. With such a support program, users can easily obtain information about their print jobs by checking the message without having to operate the OS user interface.

[0008] The control method, computer program, and computer-readable storage medium for storing the computer program used to realize the functions of the above-mentioned device are also novel and useful. [Effects of the Invention]

[0009] The technology disclosed herein enables a user to easily obtain information regarding processing based on print instructions in an information processing device that incorporates a general-purpose printing program that is a standard for the operating system. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the electrical configuration of a printing system. [Figure 2] This is a sequence diagram showing an example of the order in which each program performs its actions. [Figure 3] This is an explanatory diagram illustrating an example of a data structure, where (a) shows print data and (b) shows current status information. [Figure 4] A UI diagram showing an example of a message. [Figure 5] This is a sequence diagram showing an example of the order in which each program performs its actions. [Figure 6] This is a sequence diagram showing an example of the order in which each program performs its actions. [Modes for carrying out the invention]

[0011] The printing system utilizing the program of this embodiment will be described in detail below with reference to the attached drawings. This embodiment discloses a printing system that includes a personal computer (hereinafter referred to as "PC") and a printer.

[0012] Figure 1 shows an example of the configuration of a printing system in which this type of program is executed. The system shown in Figure 1 includes PC1, printer 2, and printer 3. PC1 is an example of an information processing device. Printers 2 and 3 are devices with printing capabilities and can communicate with PC1 via local communication or network communication. Note that multiple printers 2 may be connected to PC1.

[0013] PC1 includes, for example, a controller 10, a user interface (hereinafter referred to as "UI") 20, and a communication interface (hereinafter referred to as "communication IF") 30, as shown in Figure 1. The UI 20 and communication IF 30 are electrically connected to the controller 10.

[0014] UI20 includes hardware that displays various information and accepts user input. UI20 may be a touch panel that has both display and input reception functions, or it may be a combination of a display with display functions and a keyboard or mouse with input reception functions.

[0015] The communication interface 30 includes hardware for communicating with printers 2 and 3, as well as hardware for accessing the internet. The communication interface 30 may include multiple interfaces with different communication methods. Examples of communication methods include network communication and USB communication. It may also be wired or wireless communication.

[0016] The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is an example of a computer. The memory 12 includes ROM, RAM, non-volatile memory, and a buffer for the CPU 11, and stores various application programs (hereinafter referred to as "apps") and various data. In this specification, the details of the memory are not distinguished. The CPU 11 executes various processes according to the programs read from the memory 12 and based on user instructions. Note that the controller 10 in Figure 1 is a general term for the hardware and software used to control the PC1, and does not necessarily represent a single piece of hardware actually present in the PC1.

[0017] An example of memory 12 may be a computer-readable storage medium. A computer-readable storage medium is a non-transitory medium. Non-transitory media include, in addition to the above examples, recording media such as CD-ROMs and DVD-ROMs. Also, non-transitory media are tangible media. On the other hand, an electrical signal that conveys a program downloaded from a server on the Internet or the like is a computer-readable signal medium, which is a type of computer-readable medium, but is not included in non-transitory computer-readable storage media.

[0018] In memory 12, for example, as shown in FIG. 1, an operating system (hereinafter referred to as "OS") 21 including a general-purpose printing program 41, an auxiliary program 42, and an editing application 43 are stored. The auxiliary program 42 is an example of a support program. The auxiliary program 42 is, for example, a hardware support application (abbreviation, HSA) created by a printer vendor based on specifications published by Microsoft. The OS 21 is, for example, Microsoft Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark). Note that in addition to what is shown in the figure, various data including information on connected printers and various programs such as browsers are stored in the memory 12.

[0019] The general-purpose printing program 41 is an application for causing printing to be executed by various printers such as printer 2 from PC 1, and is an OS-standard printing program pre-embedded in the OS 21. The general-purpose printing program 41 of this embodiment is a program that generates print data that a printer can handle based on image data to be printed.

[0020] The general-purpose printing program 41 is a general-purpose application applicable to printers of multiple models provided by each printer vendor, and is a program that causes each printer to perform operations common to each model. Alternatively, the general-purpose printing program 41 may be a program provided by each printer vendor to the OS 21 vendor for pre-installation in the OS 21, for example, a type of printer driver provided for pre-installation in the OS 21.

[0021] The auxiliary program 42 is a program that executes processing based on instructions from the OS 21 in association with the startup of the general-purpose printing program 41, and is an application that supports the control of the target hardware, such as the printer 2. The auxiliary program 42 is, for example, launched from the general-purpose printing program 41. The auxiliary program 42 is a program prepared for each type of printer by the printer vendor. For example, an auxiliary program 42 for an inkjet printer and an auxiliary program 42 for a laser printer are prepared. There may be an auxiliary program 42 prepared not only for each type of printer but also for each printer model or each series of printer models.

[0022] The printer vendor registers the auxiliary program 42 on the platform provided by the OS 21 vendor according to the procedure specified by the OS 21 vendor. When a new printer 2 is connected to the PC 1 and the auxiliary program 42 corresponding to the printer 2 is registered on the platform, the OS 21 downloads the auxiliary program 42 from the server where the auxiliary program 42 is stored and incorporates it into the PC 1.

[0023] The OS21 then associates the identification information of the installed auxiliary program 42 with the printer information of the newly connected printer and stores it in memory 12. In PC1, where multiple printer models are connected, each auxiliary program corresponding to the type of each model is installed, and information associating each printer with each auxiliary program is stored in memory 12. In other words, memory 12 stores the printer information of each printer connected to PC1, along with the model information and access information of the printer, as well as the information of the corresponding auxiliary program 42.

[0024] The editing application 43 is, for example, an application for creating and editing image data and document data. The editing application 43 is, for example, Microsoft Word® or PowerPoint®. It may also be an application provided by the vendor of printer 2 or printer 3. The editing application 43 accepts user operations, including instructions to cause printer 2 to perform a predetermined action. Specifically, the editing application 43 accepts, for example, a print instruction to cause printer 2 to print via the UI 20.

[0025] In this embodiment, each process basically refers to the processing of the CPU 11 in accordance with instructions written in a program such as auxiliary program 42. That is, processes such as "judgment," "extraction," "selection," "calculation," "decision," "identification," "acquisition," "reception," and "control" in the following description represent the processing of the CPU 11. The processing by the CPU 11 also includes hardware control using the OS 21 API. In this specification, the operation of each program is described without a detailed description of the OS 21. That is, in the following description, a statement to the effect that "program B controls hardware C" may mean "program B controls hardware C using the OS 21 API." In addition, the processing of the CPU 11 in accordance with instructions written in a program may be described using abbreviated language. For example, the program may be omitted, such as "CPU 11 performs." In addition, the processing of the CPU 11 in accordance with instructions written in a program may be described using abbreviated language, such as "program A performs."

[0026] Furthermore, the term "acquisition" is used in a sense that does not necessarily require a request. That is, the process of CPU 11 receiving data without a request is also included in the concept of "CPU 11 acquiring data." Also, "data" in this specification is represented by a bit sequence that can be read by a computer. Data with the same substantial meaning but different formats will be treated as the same data. The same applies to "information" in this specification. Also, "request" and "instruct" are concepts that indicate that information indicating a request or instruction is being output to the other party. Information indicating a request or instruction may also be simply referred to as "request" or "instruction."

[0027] Furthermore, the process by CPU 11 to determine whether information A indicates event B may be conceptually described as "determining from information A whether it is event B or not." Similarly, the process by CPU 11 to determine whether information A indicates event B or event C may be conceptually described as "determining from information A whether it is event B or event C."

[0028] Next, the configuration of the auxiliary program 42 in this embodiment and an example of a printing procedure including the operation of the auxiliary program 42 will be described with reference to Figures 2 to 6. Note that the same reference numerals are used for common processes in Figures 2, 5, and 6.

[0029] The auxiliary program 42 is a program that is instructed to be executed by the general-purpose printing program 41 when a print command is received via the editing application 43 or the like, with the printer corresponding to the auxiliary program 42 specified. The following describes a case where the PC1 receives a print command via the general-purpose printing program 41 to execute printing on printer 2 via the UI20, for example, in the editing application 43, with the image data to be printed specified, and the auxiliary program 42 corresponding to the model type of printer 2 is installed in the PC1.

[0030] As shown in Figure 2, first, the editing application 43 receives input for specifying the image to be printed and for executing the print command via the UI 20 (arrow A). The image displayed by the editing application 43 is an example of an image to be printed. The editing application 43 displays, for example, a document edited in the editing application 43 or a photograph loaded in the editing application 43 as an image. Then, the editing application 43, having received the print command, passes a print execution notification indicating the content of the received print command to the OS 21. Note that in Figure 2, and in Figures 5 and 6 described later, the operation of the OS 21 is omitted.

[0031] When OS21 receives a print execution notification to use the general-purpose printing program 41, it executes the general-purpose printing program 41 and passes the print execution notification to the general-purpose printing program 41 (arrow B). The general-purpose printing program 41 can obtain various information included in the print instruction from the print execution notification, such as information indicating the printer to be used, information indicating the print parameters set in the application, information indicating the image data to be printed, and information identifying the user who issued the print instruction. As will be described later, this information is also available to the auxiliary program 42.

[0032] The general-purpose printing program 41 generates intermediate image data by converting the image data format included in the print execution notification to an intermediate image data format, and then generates a print job including the intermediate image data (arrow C). The image data included in the editing application 43 is of various types, and the general-purpose printing program 41 converts the received image data into intermediate image data suitable for generating print data. If the image data included in the print execution notification is suitable for generating print data, the generation of intermediate image data can be omitted, and the intermediate image data can be used as is. The intermediate image data is, for example, XPS data.

[0033] Furthermore, the general-purpose printing program 41 identifies the printer designated as the device to perform the printing, based on the information included in the print execution notification. For example, if printer 2 is specified, the general-purpose printing program 41 identifies the model of printer 2 based on the printer model information included in the printer information stored in memory 12. Since the auxiliary program 42 corresponding to printer 2, which is the printer specified in the print instruction, is stored in memory 12, the general-purpose printing program 41 outputs an execution command for the auxiliary program 42 and runs the auxiliary program 42 before starting the generation of print data by the general-purpose printing program 41 (arrow D). The general-purpose printing program 41 may also run the auxiliary program 42 after generating the print data by the general-purpose printing program 41.

[0034] The auxiliary program 42 determines whether a specific setting exists in the print parameters in response to the execution command (arrow E). Arrow E is an example of the determination process, and the determination condition for arrow E is an example of the display condition. The print parameters may be print parameters obtained by the general-purpose print program 41 from the editing application 43 and attached to the execution command, or they may be print parameters accepted by the auxiliary program 42, for example, by displaying the print parameter editing screen.

[0035] Print parameters include general-purpose parameters that the general-purpose printing program 41 can handle, such as paper size, and printer-specific parameters that the general-purpose printing program 41 cannot handle, such as paper type. If the editing application 43 is not provided by the printer 2 vendor, only general-purpose parameters are attached to the execution command. However, if the editing application 43 is provided by the printer 2 vendor, both general-purpose parameters and printer 2-specific parameters may be attached to the execution command. Even if only general-purpose parameters are attached to the execution command, the auxiliary program 42 may add specific parameters and process the print parameters.

[0036] In some cases, such as when printing on high-quality paper like postcards, it is desirable to confirm with the user before printing. Therefore, the auxiliary program 42 specifies certain settings among the configurable print parameters that require confirmation before printing.

[0037] For example, if the auxiliary program 42 has specified "postcard" as one of the paper type settings, it will determine whether the paper type setting value in the print parameters is "postcard". If the paper type setting value is "postcard", the auxiliary program 42 will determine that the print parameters include the specific setting and will display a message (arrow F). Arrow F is an example of the display process.

[0038] Specifically, for example, the auxiliary program 42 displays the dialog box 110 shown in Figure 4(a) on the UI 20. The dialog box 110 displays a confirmation message 114 to confirm that printing is to be done on a postcard. The dialog box 110 also displays a print continue button 111 to instruct the user to continue printing and a cancel button 112 to instruct the user to cancel printing.

[0039] If the user presses the cancel button 112 (arrow G), the auxiliary program 42 outputs a cancellation notification to the general-purpose printing program 41 (arrow H). The general-purpose printing program 41 cancels printing in response to the cancellation notification (arrow I) and outputs a print cancellation notification to the editing application 43 (arrow J). By displaying the confirmation message 114, it is hoped that the user will notice that a specific setting has been made, change the setting value, and then instruct the printer to print again.

[0040] The setting value may be changed by the auxiliary program 42 or by the editing application 43. Also, similar to the dialog 120 in Figure 4(b) described later, a reset button 123 may be provided in the dialog 110, and the same processing as arrows R~T and D in Figure 5 described later may be performed when the reset button 123 is operated.

[0041] On the other hand, if the user operates the print continue button 111 (arrow G), the auxiliary program 42 performs an editing process to edit the intermediate image data attached to the execution command based on the print parameters (arrow K), and passes a completion notification to the general-purpose printing program 41 (arrow L). The general-purpose printing program 41 generates print data based on the intermediate image data included in the completion notification output from the auxiliary program 42 (arrow M). In other words, the general-purpose printing program 41 generates print data with the paper type setting value remaining as "postcard". Note that the intermediate image data may also be intermediate image data generated by the general-purpose printing program 41. The print data generated by the general-purpose printing program 41 is print data in a format that can be used for printing on various printers. The print data may be, for example, PWGRaster data or PDF data.

[0042] Furthermore, the auxiliary program 42 clears the dialog box 110 and terminates the display of messages in response to the operation of the print continuation button 111 or the cancel button 112. Alternatively, the auxiliary program 42 may not display the print continuation button 111 or the cancel button 112 in the dialog box 110, and instead terminate the display of messages and continue printing after a predetermined time has elapsed.

[0043] After generating the print data, the general-purpose printing program 41 sends a print command containing the generated print data to the printer 2 (arrow N). The auxiliary program 42 may also have a function to process the print data, such as adding commands to the print data to execute functions specific to the printer 2. In this case, the general-purpose printing program 41 may send the processed print data to the printer 2. The print data includes, for example, printer identification information that identifies the printer executing the print job, print image data of the image to be printed, and print parameters, as shown in Figure 3(a).

[0044] When printer 2 receives a print command, it prints the image of the print data based on the print data attached to the print command. When printer 2 receives print data with a command attached, it performs the actions indicated by the command when executing the print. After the processing of editing the print data is completed, auxiliary program 42 may send a print command to printer 2 via communication IF 30 without going through general-purpose print program 41.

[0045] The processes indicated by arrows E and F above only need to be performed once per print job. The timing of the processes indicated by arrows E and F is not limited to the above; they can be performed anytime before the print data is sent to printer 2, for example, after editing, before the print data is generated, or after the print data is generated. However, performing them before editing helps to avoid unnecessary processing that is not related to printing.

[0046] Furthermore, as shown in Figure 5, for example, the auxiliary program 42, after receiving print parameters corresponding to the print instruction, queries for current status information, which is information about the printer 2, and obtains the current status information (arrow O). Arrow O is an example of the acquisition process. Print parameters may be received by receiving print parameters attached to the execution command, or by accepting the setting of print parameters during the editing process of the intermediate image data. The auxiliary program 42 obtains the printer identification information indicated by the execution command output from the general-purpose print program 41, and queries the printer indicated by the obtained identification information for current status information.

[0047] The current status information includes a variety of information, such as status information and configuration information, as shown in Figure 3(b), for example.

[0048] Status information indicates the status of printer 2 executing a print job. Status information includes, for example, information indicating the availability of memory for accumulating print jobs, job information indicating the progress of the print job, information indicating the remaining amount of colorant, the presence or absence of a finisher, and the presence or absence of staples.

[0049] Job information includes one of the following: "Printing in progress," indicating that printing of the print job is in progress; "Printing completed," indicating that printing of the print job has finished; "Printing stopped," indicating that printing of the print job has stopped; or "Waiting," indicating that it is waiting for other print jobs to finish printing. Printer 2 can accept a cancellation operation to stop printing via the control panel. If Printer 2 accepts a cancellation operation, the job information will include information indicating "Printing completed" and "Cancellation operation: Yes." On the other hand, if Printer 2 ends printing without accepting a cancellation operation, the job information will not include "Cancellation operation: Yes" but will include "Printing completed."

[0050] The "Printing Stopped" information includes details about the type of error, such as a paper jam, out of paper, or out of colorant. When Printer 2 receives multiple print jobs, it processes the print jobs stored in its internal memory in order. Therefore, the status of a print job executed by Printer 2 can be: printing in progress, printing completed, or waiting. In addition, a print job can be terminated due to errors such as out of paper or a paper jam, or by a cancellation operation. Printer 2 detects its own status in response to inquiries from PC1 and returns the current status information.

[0051] Note that "Printing Stopped" is an example of status information indicating a status where the print job corresponding to the print command cannot be executed. "Printing Completed" is an example of status information indicating a status where the print job corresponding to the print command can be executed.

[0052] If the auxiliary program 42 receives status information from printer 2, that is, if communication with printer 2 is possible, it stores the status information in memory 12, which includes "online," an information indicating that printer 2 can communicate with PC 1. Furthermore, if communication with printer 2 is impossible due to a communication error or power off, the auxiliary program 42 stores status information in memory 12, including information indicating "printing stopped" and information indicating "offline".

[0053] The memory for accumulated jobs is the storage area for accumulated printing in printer 2. Information indicating the availability of the memory for accumulated jobs is displayed as follows: for example, if the memory for accumulated jobs is full, "Memory Full" is set, and if it is available, the amount of free space is displayed.

[0054] The configuration information includes the settings configured in printer 2. Printer 2 has an operation panel that accepts input for various settings. Printer 2 has a function to accept input for settings such as the paper size and paper type of the paper loaded in each tray, and the color / monochrome printing setting via the operation panel, and store them in internal memory. When printer 2 returns the paper size and paper type settings in response to an inquiry from PC 1, it may return the paper size and paper type set in internal memory to PC 1, or, if it has a function to detect the paper size and paper type, it may return the detection result to PC 1.

[0055] The above-mentioned current status information includes both specific information and general-purpose information. Specific information is information that the general-purpose printing program 41 does not support, that is, status information or setting information specific to printer 2. Examples of specific information include information about optional units such as the presence or absence of a finisher, the presence or absence of staples, and the success or failure of stapling, information about memory for stored jobs such as memory full, information about cancellation operations on the printer 2 side, and setting values ​​for paper types included in the setting information.

[0056] On the other hand, general-purpose information is general-purpose information that corresponds to the general-purpose printing program 41, that is, general-purpose information that the OS 21 can understand. For example, the status of the print job, errors, communication status, remaining amount of colorant included in the status information, and the paper size and color / monochrome printing settings included in the installation information are examples of general-purpose information. Note that specific information is an example of the first type of information, and general-purpose information is an example of the second type of information.

[0057] Returning to Figure 5, the auxiliary program 42 stores the current status information obtained from printer 2 in memory 12, and then determines whether the values ​​of the print parameters of the print job corresponding to the print instruction match the values ​​shown in the setting information corresponding to the print parameters, which are included in the current status information obtained from printer 2 (arrow P). Note that arrow P is an example of the determination process, and the determination conditions for arrow P are an example of the display conditions.

[0058] For example, the auxiliary program 42 compares the value of the print parameter with the setting value shown in the setting information included in the current status information. For example, if the paper type setting value of the print parameter is "glossy paper" and the paper type setting value included in the current status information obtained from printer 2 is "plain paper", the auxiliary program 42 determines that the value of the print parameter and the setting value in the setting information do not match and displays a message on the UI 20 (arrow Q). Arrow Q is an example of the display process.

[0059] Specifically, for example, the auxiliary program 42 displays the dialog box 120 shown in Figure 4(b) on the UI 20. The dialog box 120 displays a message 124 indicating that the paper type setting is not compatible with printer 2. The dialog box 120 also displays a print continue button 121 to instruct the user to continue printing, a cancel button 122 to instruct the user to cancel printing, and a reset button 123 to instruct the user to change the print settings.

[0060] For example, as shown in Figure 5, when the user operates the reset button 123 via the UI 20 (arrow R), the auxiliary program 42 outputs a return notification to the general-purpose printing program 41 (arrow S). The general-purpose printing program 41 then outputs an execution command again in response to the return notification (arrows T, D). For example, by displaying a settings screen for setting print parameters during the editing process of the auxiliary program 42, the paper type of the print parameter is likely to be changed from "glossy paper" to "plain paper," thus preventing the printer 2 from performing printing unintended by the user.

[0061] Furthermore, if the user operates the print continuation button 121 via UI20 (arrow R), the auxiliary program 42 performs editing (arrow K) and then continues printing (arrows K to N). Since the user has explicitly allowed printing on plain paper via dialog box 120, the likelihood of them reprinting is low. In other words, reprinting is suppressed.

[0062] Furthermore, when the user operates the cancel button 122 via the UI 20 (arrow R), the auxiliary program 42 outputs a cancellation notification to the general-purpose printing program 41 (arrow H). The general-purpose printing program 41 stops printing in response to the cancellation notification (arrow I) and outputs the print cancellation notification to the editing application 43 (arrow J). This prevents the printing of unintended documents by the user.

[0063] Note that the processing of arrows P and Q may be performed only once each time the print parameter settings are accepted. Also, the timing of executing the processing of arrows P and Q is not limited to the above; for example, it may be performed after the editing process, before generating the print data, or after generating the print data.

[0064] As shown in Figure 6, when the general-purpose printing program 41 generates print data in response to the termination notification from the auxiliary program 42 and sends the print data to the printer 2 (arrow N), the printer 2 stores the print data in its internal memory and executes printing (arrow V). After outputting a termination notification to the general-purpose printing program 41 (arrow L in Figure 5), the auxiliary program 42 periodically queries the printer 2 for current status information and receives the current status information returned from the printer 2 (arrow U). The auxiliary program 42 lists the received current status information and stores it in memory 12.

[0065] The auxiliary program 42 determines whether the display conditions are met based on the current status information from the printer 2, for example, whether "printing is stopped" or whether "printing has finished" (arrow W), and displays a message if the display conditions are met (arrow X). Note that arrow U is an example of acquisition processing, arrow W is an example of judgment processing, and arrow X is an example of display processing. The judgment conditions for arrow U are an example of display conditions.

[0066] The auxiliary program 42 periodically acquires and updates current status information, enabling it to display messages based on the latest current status information. For example, the auxiliary program 42 may acquire setting information only once from the printer 2 when the general-purpose printing program 41 sends print data to the printer 2 and display a message, while periodically acquiring other current status information and displaying messages. This reduces the communication load when periodically acquiring current status information.

[0067] For example, as shown in Figure 3(b), the auxiliary program 42 displays a message (arrow X) when it receives status information such as "printing stopped" or "out of paper" from the printer 2.

[0068] Specifically, for example, the auxiliary program 42 displays the dialog box 130 shown in Figure 4(c) on the UI 20. The dialog box 130 displays an error message 134 that notifies the user that printer 2 has stopped printing, the error details, and how to resolve the error. The dialog box 130 also displays information 135 indicating the progress of the print job. Note that the error message 134 does not necessarily have to include the error details and how to resolve the error. Also, the information 133 does not necessarily have to be displayed.

[0069] Printer 2 resumes printing once paper is replenished. Upon resuming printing, Printer 2 returns status information, including "Printing in progress," to PC1 in response to a request from PC1. Auxiliary program 42 determines that the error has been resolved because the status information has changed from "Printing stopped" to "Printing in progress," and terminates the display of dialog 130. Alternatively, auxiliary program 42 may terminate the display of dialog 130 after a predetermined amount of time has elapsed.

[0070] When printing on printer 2 is complete and the current status information includes the status information "Printing Complete", the auxiliary program 42 displays a message (arrow X), terminates the current status information monitoring process (repeated arrows W to X), and after a predetermined time has elapsed, terminates the display of the message.

[0071] Specifically, for example, the auxiliary program 42 displays the dialog box 140 shown in Figure 4(d) on the UI 20. The dialog box 140 displays a print completion message 144 that notifies the end of printing and information 145 that shows the progress. Note that the information 145 does not have to be displayed. After displaying the dialog box 140, the auxiliary program 42 terminates the display of the dialog box 140 after a predetermined time has elapsed. Note that the print completion message may be displayed not only when printing is completed normally, but also when printing is terminated in an abnormal state, such as when printing is forcibly terminated using the control panel of the printer 2.

[0072] In addition, in the display processing of arrow F in Figure 2, arrow Q in Figure 5, and arrow X in Figure 6, messages may be displayed based on both unique and general information, or only messages based on unique information may be displayed, and messages based on general information may not be displayed. This is because unique information tends to be of high importance when executing a print job, and therefore there is a high need to display messages related to it.

[0073] Furthermore, if the display of error messages or print completion messages is to be terminated after a predetermined time has elapsed, the predetermined time may be changed depending on the display conditions. For example, in the case of warning-level notifications, such as notifications that a print job cannot be executed due to out-of-paper or paper jams, the notification may be displayed for a long period of time or until the error is resolved. However, in the case of caution-level notifications, such as a warning that printing will soon be impossible due to insufficient colorants, even though the print job can be executed, the notification may be stopped after a short period of time.

[0074] Furthermore, the auxiliary program 42 may periodically repeat the query for current status information (corresponding to arrow O in Figure 5 and arrow U in Figure 6) when a print command is issued to the general-purpose printing program 41 to print to the printer 2 (arrow A in Figures 2, 5, and 6), or when it receives an execution command from the general-purpose printing program 41 (arrow D in Figures 2, 5, and 6). In this case, the auxiliary program 42 should make the decisions indicated by arrow P in Figure 5 and arrow W in Figure 6 based on the results of the periodic query that was started. Also in this case, the auxiliary program 42 may terminate the repeated query for current status information when a cancellation operation is performed (triggered by arrow H in Figures 2 and 5) or when the printer finishes printing (triggered by arrow X in Figure 6).

[0075] As explained above, the auxiliary program 42 obtains the current status information of printer 2 from printer 2, and if the display conditions are met, it displays a message on UI 20 based on the obtained current status information. With such an auxiliary program 42, the user can easily obtain current status information about the print job by checking the message without having to operate UI 20 on OS 21.

[0076] This embodiment is merely illustrative and does not limit the present invention in any way. Therefore, the present invention can naturally be improved and modified in various ways without departing from its essence. For example, the device connected to PC1 is not limited to a printer; it can be a multifunction printer, copier, fax machine, or any other device with printing capabilities. Furthermore, the number of printers connected to PC1 is not limited to the example shown; it can be one or three or more.

[0077] Furthermore, the module that performs each process in this configuration is not limited to the auxiliary program 42; any program that receives instructions from OS21 when printing is performed using the OS21's general-purpose printing program 41 is acceptable. For example, the Print Workflow application whose specifications have been published by Microsoft would also be acceptable.

[0078] Furthermore, the auxiliary program 42 may erase the message displayed by arrow X in Figure 6 in response to an operation via the UI 20. Alternatively, after displaying the message by arrow X in Figure 6, the auxiliary program 42 may continue to periodically repeat the inquiry for current status information (arrow W in Figure 6), and if it receives status information from the printer other than "printing stopped," for example, if it receives status information indicating "printing in progress" or "waiting," it may automatically erase the message. This reduces the inconvenience to the user because information that is no longer needed to be displayed is automatically erased.

[0079] At arrow X in Figure 6, it is not necessary to display a message indicating the end of printing. However, displaying a print completion message makes it easier for the user to recognize the useful fact that printing has finished.

[0080] A cancel button may be provided in Figure 4(c) to allow the user to cancel printing in the event of an error. In this case, subsequent print jobs can be executed, making it more user-friendly. Also, the information 135 and 145 shown in Figure 4 may be displayed continuously from the time a print command is issued until the print job corresponding to that command is completed.

[0081] Furthermore, in any sequence diagram disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.

[0082] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of symbols]

[0083] 1 PC 2 Printer 11 CPU 20 UI 21 OS 30 Communication IF 41 General-purpose printing program 42 Support Programs

Claims

1. A support application that is executable by the computer of an information processing device and corresponds to a printer connected to the information processing device, To the aforementioned computer, Based on the fact that a print command has been issued to the general-purpose printing program pre-installed in the operating system of the information processing device to cause the printer to print an image, A print data acquisition process that acquires first print data from the aforementioned general-purpose printing program, A print data handling process is performed to ensure that the second print data, based on the first print data acquired in the print data acquisition process, is sent from the general-purpose printing program to the printer without going through the support application. While the printer is performing printing based on the second print data received, a current status information acquisition process is performed to acquire current status information from the printer without going through the general-purpose printing program. A display process that, in accordance with the current status information acquired by the current status information acquisition process, displays a message screen containing a message corresponding to the current status information on the display device of the information processing device, To execute A support app characterized by its structure.

2. In the support application described in claim 1, To the aforementioned computer, While the printer is performing printing based on the second print data it has received, the current status information acquisition process is periodically executed. A support app characterized by its structure.

3. In the support application described in claim 1 or claim 2, If the printer stops before it can complete printing based on the second print data it has received, the message will include print progress information. A support app characterized by its structure.

4. In the support application described in claim 1 or claim 2, If an error occurs while the printer is performing printing based on the second print data it has received, the message will include the error details and a solution to resolve the error. A support app characterized by its structure.

5. In the support application described in claim 1 or claim 2, When the current status information indicates that printing is complete, in the display process, a message screen indicating printing completion is displayed on the display device of the information processing device. A support app characterized by its structure.

6. An information processing device comprising a communication interface, a display device, and a computer, The operating system of the aforementioned information processing device has a general-purpose printing program that is pre-installed. The aforementioned information processing device incorporates a support application that corresponds to the printer connected to the information processing device. The aforementioned support application is installed on the computer, Based on the fact that a print command has been issued to the general-purpose printing program to cause the printer to print an image, A print data acquisition process that acquires first print data from the aforementioned general-purpose printing program, A print data handling process is performed to process the second print data, based on the first print data acquired in the print data acquisition process, so that it is output from the general-purpose printing program to the printer without going through the support application. While the printer is performing printing based on the second print data received, a current status information acquisition process is performed to acquire current status information from the printer without going through the general-purpose printing program. A display process that, in accordance with the current status information acquired by the current status information acquisition process, displays a message screen containing a message corresponding to the current status information on the display device of the information processing device, To execute An information processing device characterized by the following:

Citation Information

Patent Citations

  • Network technology for troubleshooting of equipment

    JP2007087404A

  • Processing situation display system and processing situation display program

    JP2015115880A

  • Information processing device, program, and control method

    JP2016053862A

  • Information processing apparatus and method of controlling the same, printing system, and program

    JP2017045201A

  • Print control method, program, and information processor

    JP2017129961A