Support program

The support program addresses the lack of error handling in general-purpose printing programs by automatically reprinting based on saved data when errors occur, reducing user effort and enhancing printing efficiency.

WO2025126736A1PCT designated stage expired Publication Date: 2025-06-19BROTHER KOGYO KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/039786
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-15
Filing Date
2024-11-08
Publication Date
2025-06-19

AI Technical Summary

Technical Problem

Existing general-purpose printing programs conforming to OS standards do not have the functionality to retransmit print data when errors occur in printers, requiring users to manually reissue print instructions after resolving errors.

Method used

A support program that executes on an information processing apparatus, capable of saving print data and settings when a print instruction is received, and automatically reprints when an error occurs and a predetermined condition is met, without requiring the user to reissue the print instruction.

Benefits of technology

The support program reduces user effort by enabling automatic reprinting after errors are resolved, eliminating the need for manual reissuance of print instructions and improving the efficiency of the printing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024039786_19062025_PF_FP_ABST
    Figure JP2024039786_19062025_PF_FP_ABST
Patent Text Reader

Abstract

The purpose of the present invention is to provide technology for reducing time and effort of a user for reprinting when an error occurs in a printer in an information processing device in which an OS standard general-purpose printing program is incorporated. When a print instruction that is output from an editing application 43 and instructs a general-purpose printing program 41 to cause a printer 2 to print an image is received, an auxiliary program 42 stores print data indicating the image to be printed, and print settings, in a memory, and causes the printer 2 to print using the print data. The general-purpose printing program 41 can output an error event in response to receiving an error notification from the printer 2 that has received the print data. When an error event is output from the general-purpose printing program 41 and a prescribed condition is satisfied, the auxiliary program 42 accepts re-execution of the printing, and upon accepting the re-execution of the printing, causes the printer 2 to print on the basis of the stored print data and print settings.
Need to check novelty before this filing date? Find Prior Art

Description

Support Program

[0001] The technical field disclosed in this specification relates to a support program that supports control of a printer.

[0002] Conventionally, there is known a technique for resending print data when an error occurs in a printer after print data is sent from an information processing device to the printer. For example, Patent Document 1 discloses a configuration in which a personal computer (PC) having a printer driver installed therein generates print data, temporarily stores the print data, and sends the print data to the printer, and then receives the results of processing the print data at the printer, changes print settings in accordance with the received processing results, regenerates print data, and sends the regenerated print data to the printer.

[0003] JP 2010-218499 A

[0004] In recent years, a technology has been put into practical use in which a printer is controlled by a general-purpose print program that is part of the operating system (OS) and that is standard for the OS, without using a printer driver provided by the printer vendor. With this technology, when the OS detects a printer, it associates it with the general-purpose print program that is standard for the OS. Thereafter, when a print instruction for that printer is received, the general-purpose print program that is standard for the OS generates print data, making it possible to print using the general-purpose print program that is standard for the OS, without using a printer driver provided by the printer vendor.

[0005] However, unlike printer drivers provided by printer vendors, OS-standard general-purpose print programs do not have a function for resending print data when an error occurs in the printer, as disclosed in Patent Document 1. Therefore, if an error occurs in the printer after issuing a print instruction using an application program, the user must resolve the error and then issue the print instruction using the application program again.

[0006] A support program made for the purpose of solving the above-mentioned problems is executable by a computer of an information processing device, and corresponds to a printer connected to the information processing device, the information processing device is equipped with an operating system having a general-purpose printing program, the support program causes the computer to execute a save process to save print data indicating the image to be printed by the print instruction and print settings by the print instruction in a memory of the information processing device, when the print instruction is output from an application program built into the information processing device and the general-purpose printing program is instructed to cause the printer to print an image, and a print process to cause the printer to print according to the print data and the print settings, the general-purpose printing program is capable of outputting an error event in response to receiving an error notification from the printer that received the print data, and the support program is further configured to cause the computer to execute an acceptance process to accept re-execution of printing when the error event is output from the general-purpose printing program and a predetermined condition is satisfied, and to execute a reprint process to cause the printer to print based on the print data and the print settings saved in the memory when the re-execution is accepted in the acceptance process.

[0007] The support program disclosed in this specification saves the print data and print settings to be printed in response to a print instruction. If an error occurs in the printer and certain conditions are met, the support program accepts a print reissue. When a request to reprint is accepted, the support program causes the printer to print again based on the saved print data and print settings. This allows the user to reprint on the printer without having to redo the print instruction in the application program.

[0008] An information processing device incorporating the above support program, a computer-readable storage medium storing the support program, a control method for realizing the functions of the support program, and a printing system including the support program and a printer are also novel and useful.

[0009] The technology disclosed in this specification realizes a technology that reduces the user's effort to reprint when an error occurs in a printer in an information processing device that has an OS-standard general-purpose printing program built in.

[0010] Fig. 1 is a block diagram showing an outline of the electrical configuration of a PC. Fig. 2 is a sequence diagram showing an example of a print execution procedure. Fig. 3 is a sequence diagram showing an example of an error response procedure. Fig. 4 is an explanatory diagram showing an example of a paper jam handling screen. Fig. 5 is an explanatory diagram showing an example of an ink replacement handling screen. Fig. 6 is an explanatory diagram showing an example of a paper size mismatch handling screen. Fig. 7 is a sequence diagram showing an example of a setting change procedure.

[0011] A personal computer (hereinafter referred to as a "PC") that uses a support program according to an embodiment will be described in detail below with reference to the accompanying drawings. This specification discloses a support program executed on a PC.

[0012] As shown in Fig. 1, the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12. The PC 1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC 1 also includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Fig. 1 is a collective term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware that actually exists in the PC 1.

[0013] The CPU 11 of the PC 1 executes various processes in accordance with programs read from the memory 12 and based on user operations. Various programs and various data are stored in the memory 12. The memory 12 is also used as a work area when various processes are executed. The buffer provided in the CPU 11 is also an example of memory. Note that the memory 12 is not limited to a ROM, RAM, HDD, etc. built into the PC 1, but may also be a storage medium readable and writable by the CPU 11, such as a recording medium such as a CD-ROM, DVD-ROM, or USB memory.

[0014] The user IF 13 includes a display 13a, which is hardware that displays a screen for notifying the user of information, and hardware that accepts user operations. The user IF 13 may be a combination of the display 13a that can display information and a mouse, keyboard, or the like that has an input acceptance function, or may be a touch panel that has the functions of the display 13a and an input acceptance function.

[0015] The communication IF 14 includes hardware for communicating with external devices such as the printer 2. The communication IF 14 may use a communication standard such as Ethernet (registered trademark), Wi-Fi (registered trademark), or USB. The PC 1 may be connectable to the Internet via the communication IF 14. The PC 1 may be provided with multiple communication IFs 14 that support multiple communication standards.

[0016] 1, the memory 12 of the PC 1 stores various programs and data, including 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. The auxiliary program 42 is an example of a support program. The editing application 43 is an example of an application program.

[0017] The OS 21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them, and is, for example, Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark), iOS (registered trademark), or Android (registered trademark).

[0018] The OS 21 includes a generic printing program 41. The generic printing program 41 is a standard OS program prepared by the OS 21 vendor and provided as part of the OS 21. In other words, the PC 1 is equipped with the OS 21 that includes the generic printing program 41. The generic printing program 41 is not configured to use printer drivers specific to each printer.

[0019] The generic printing program 41 is a program that has the function of printing on multiple models of printers provided by multiple vendors based on user instructions. The generic printing program 41 supports generic functions that allow printing on many printers. Unlike printer drivers specific to each printer, the generic printing program 41 does not support functions specific to each printer or printer driver, especially functions that require complex processing.

[0020] The general-purpose printing program 41 is a program that includes a function to receive image data designated as the print target in a print instruction output from various applications based on a user instruction and generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 also has a function to generate raster data in a format that can be used for printing on various printers based on the intermediate data. The raster data is, for example, PWGRaster data. The general-purpose printing program 41 also has a function to send the generated raster data to a printer designated as the device to execute printing via a communication function of the OS 21. The general-purpose printing program 41 can also send PDF data to the printer to print it.

[0021] The auxiliary program 42 is a program or group of programs that executes processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is a program that supports control of the target hardware. The auxiliary program 42 in this embodiment corresponds to the model of the printer 2 connected to the PC 1 and is provided, for example, by the vendor of the printer 2. The general-purpose printing program 41 launches the auxiliary program 42 corresponding to the printer 2 when the printer 2 is selected as the device to execute printing, when an instruction for detailed print settings is received while the printer 2 is selected, when an instruction to execute printing on the printer 2 is received, etc. The auxiliary program 42 is, for example, called a print support app (abbreviated as PSA) or a hardware support app (abbreviated as HSA).

[0022] The auxiliary program 42 may be a combination of multiple programs that each accept an execution command, or a single program that can execute different processes depending on the command. The auxiliary program may also be a program prepared by a printer vendor for each printer type. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared. Auxiliary programs may be prepared not only for each printer type, but also for each printer model or series of printer models.

[0023] For example, when a new printer is connected to the PC 1, the OS 21 of the PC 1 can download an appropriate auxiliary program according to the type and model of the connected printer from a server of the printer vendor or the like and install it in the PC 1. The OS 21 stores the identification information of the installed auxiliary program in the memory 12 in association with the printer information of the newly connected printer.

[0024] The editing application 43 is, for example, a program for creating and editing image data and document data. The editing application 43 may be, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark), or may be a program provided by the vendor of the printer 2. The editing application 43 is capable of receiving, for example, an instruction to cause the printer 2 to execute printing via the user IF 13. Note that the editing application 43 is not limited to a program for creating and editing data, and may also be a program having a function for receiving instructions to display or print various types of information, such as map information or web pages, in response to a user request.

[0025] As shown in Fig. 1, the PC 1 of this embodiment is connected to the printer 2 via the communication IF 14. The printer 2 is a device that has at least a printing function and a communication function. For example, when the printer 2 receives print data from the PC 1 or the like, it can execute printing using the received print data. The printer 2 may be a device capable of color printing, or a device capable of only monochrome printing.

[0026] Next, the processing procedure for causing the printer 2 to print in the PC 1 having the general-purpose printing program 41 will be described. Note that each process in this embodiment basically indicates processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. Processing by the CPU 11 also includes control of hardware using the API of the OS 21. In this specification, the operation of each program will be described without a detailed description of the OS 21. Also, the term "obtain" is used as a concept that does not necessarily require a request.

[0027] The print execution procedure will be described with reference to the sequence diagram in Fig. 2. After the user determines the image to be printed and the print settings, the user inputs a print execution instruction to the editing application 43 (A01). If the OS 21 includes the general-purpose printing program 41, the editing application 43 can accept a print execution instruction from the general-purpose printing program 41, which instructs the printer 2 to print the selected image.

[0028] Based on the accepted user operation, the editing application 43 outputs a print instruction to the general-purpose printing program 41 (A02). The general-purpose printing program 41 acquires, from the editing application 43, image data indicating the image to be printed and information indicating the print settings as information of the print instruction output from the editing application 43.

[0029] The general-purpose printing program 41 generates intermediate data by converting the format of the image data of the image to be printed into the format of intermediate data based on the information obtained from the editing application 43 (A03). The image data included in the editing application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate data suitable for generating raster data. Note that if the image data to be printed is data suitable for generating raster data, the generation of intermediate data may be omitted and the image data may be used as is.

[0030] The general-purpose printing program 41 may be able to accept print setting instructions from a user before generating the intermediate data. Also, the general-purpose printing program 41 may start the auxiliary program 42 corresponding to the printer 2 before generating the intermediate data, and notify the printer 2 that processing of the print job corresponding to the print instruction output from the editing application 43 has begun.

[0031] The general-purpose printing program 41 may also be capable of accepting user instructions for detailed print settings, and when an instruction for detailed print settings is accepted, it launches the auxiliary program 42. When the auxiliary program 42 is launched from the general-purpose printing program 41, it can accept an instruction for print settings through a user operation and pass the accepted various pieces of information to the general-purpose printing program 41.

[0032] After generating the intermediate data, the general-purpose printing program 41 starts the auxiliary program 42 corresponding to the printer 2, passes a print execution instruction, and requests processing (A05). The auxiliary program 42 can obtain intermediate data and print setting information related to the current job by making a request to the general-purpose printing program 41. The auxiliary program 42 saves the intermediate data and print setting information obtained from the general-purpose printing program 41 in the memory 12 (A06). A06 is an example of a saving process. The intermediate data is an example of print data that indicates the image to be printed.

[0033] The auxiliary program 42 may be started by the general-purpose printing program 41 and may acquire the capability information of the printer 2 when it receives an instruction for print settings or an instruction to execute printing. For example, the auxiliary program 42 may request the general-purpose printing program 41 to acquire the capability information, and acquire the capability information from the printer 2 via the general-purpose printing program 41. Note that the general-purpose printing program 41 communicates with the printer 2 via the OS 21, for example, by communication according to IPP (abbreviation for Internet Printing Protocol). Instead of requesting the general-purpose printing program 41, the auxiliary program 42 may acquire the capability information directly from the printer 2, for example, by using MIB (abbreviation for Management Information Base).

[0034] The capability information acquired from the printer 2 may include, for example, information on parameters that can be set as print settings, information on remaining amounts of consumables, information on selectable trays, information on paper types set in each tray, and information on supported print resolutions. The printer 2 may also pass capability information that includes information indicating its own status.

[0035] The auxiliary program 42 registers an error event for the current print job in the general-purpose printing program 41 (A11). If an error event has been registered, when the general-purpose printing program 41 receives an error notification from the printer 2 that is executing printing, the program starts the auxiliary program 42 and passes error information to the auxiliary program 42.

[0036] The error event may be registered any time after the auxiliary program 42 is started based on a print instruction and before the print data is sent to the printer 2. The auxiliary program 42 may register an error event each time a print instruction is received, or if the general-purpose printing program 41 has a function for maintaining error event registration information, step A11 may be omitted if an error event has already been registered. Furthermore, if the general-purpose printing program 41 is configured to output an error event to the auxiliary program 42 when it receives an error notification, regardless of whether an error event has been registered, step A11 is not necessary.

[0037] The auxiliary program 42 instructs the general-purpose printing program 41 to rasterize the intermediate data and send the rasterized data (A12). A12 is a process for causing the printer 2 to print according to the print data and print settings, and is an example of a print process. Note that the auxiliary program 42 may adjust the intermediate data or print settings as necessary, and in that case, may pass the adjusted data to the general-purpose printing program 41 in A12.

[0038] The general-purpose printing program 41 rasterizes the intermediate data to generate raster data (A13), and sends the generated raster data to the printer 2 (A14). The printer 2 starts printing based on the received raster data (A15).

[0039] The auxiliary program 42 may perform rasterization instead of the general-purpose printing program 41. In this case, the auxiliary program 42 performs rasterization based on the intermediate data to generate raster data, and passes the generated raster data and print settings to the general-purpose printing program 41, instructing it to send the data to the printer 2. The raster data sent to the printer 2 may be in any format that can be printed by the printer 2.

[0040] Rasterization by the auxiliary program 42 allows greater flexibility than rasterization by the general-purpose printing program 41, and is more likely to generate raster data suitable for printing by the printer 2. On the other hand, if rasterization is performed by the general-purpose printing program 41, the processing by the auxiliary program 42 is reduced, and the program size of the auxiliary program 42 can be reduced.

[0041] Furthermore, instead of sending the raster data from the general-purpose printing program 41 to the printer 2, the auxiliary program 42 may send a print command instructing the printer 2 to execute printing and the raster data. For example, if the print settings include settings related to image processing that can be executed by the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.

[0042] The printer 2 notifies the general-purpose printing program 41 of the printing results of the received print job. When printing is complete, the printer 2 notifies the general-purpose printing program 41 of the completion of printing. In this case, the general-purpose printing program 41 does not output an error event, but notifies the editing application 43 of the end of the job and ends processing. Note that when printing is complete, the printer 2 does not need to notify the general-purpose printing program 41 of the completion of printing. In this case, the general-purpose printing program 41 operates as if printing is complete based on the completion of sending the generated raster data to the printer 2.

[0043] Meanwhile, after sending the generated raster data to the printer 2 in A14, the general-purpose printing program 41 monitors whether an error occurred during the printing process on the printer 2. If an error occurs during the printing process on the printer 2, the printer 2 sends an error notification containing information about the error to the general-purpose printing program 41 it is monitoring (A21). The error notification sent from the printer 2 may also include information indicating the type of error. Examples of error types include: cover open, no colorant, very little colorant, low colorant, no paper, low paper, paper jam, full output tray, low output tray, paper size mismatch, and others. When the general-purpose printing program 41 receives an error notification from the printer 2 while an error event has been registered, it launches the auxiliary program 42 and outputs the error event (A22).

[0044] When the auxiliary program 42 receives an error event, it passes a suppression instruction to the general-purpose printing program 41 to disable error notification by the general-purpose printing program 41 (A23). A23 is an example of a setting process. If the general-purpose printing program 41 does not receive an instruction to disable error notification, it notifies the general-purpose printing program 41 of an error in response to receiving an error notification. By receiving the suppression instruction of A23, the general-purpose printing program 41 does not issue an error notification based on the error notification. This prevents the general-purpose printing program 41 and the auxiliary program 42 from issuing duplicate error notifications.

[0045] The auxiliary program 42 acquires information indicating the type of error that has occurred (A25). A25 is an example of an acquisition process. When the general-purpose printing program 41 outputs an error event that includes information on the type of error contained in the error notification, the auxiliary program 42 can acquire information on the type of error based on the error event. Note that when an error event that does not include information on the type of error is received from the general-purpose printing program 41, the auxiliary program 42 may acquire the information on the type of error that was included in the error notification, for example, by requesting the general-purpose printing program 41. Also, for example, when the error notification sent from the printer 2 does not include information on the type of error, the auxiliary program 42 may request and acquire information on the type of error from the printer 2.

[0046] Next, the error handling procedure will be described with reference to the sequence diagram in Fig. 3. The auxiliary program 42 determines whether the error type is a warning or an error based on the information indicating the type of error acquired in A25 in Fig. 2 (B01). An error notification indicating a warning is a notification indicating that printing of the current job has completed, but that an error may occur the next time printing is attempted. An error notification indicating an error is a notification indicating that printing of the current job has not completed.

[0047] If the auxiliary program 42 determines that the type of error indicated in the received error notification is a warning (alt: [Warning]), it displays a notification screen on the user IF 13 to notify the user of the type of error (B03). Error types indicating a warning include, for example, very little coloring material, very little coloring material, very little paper, and very little free space in the output tray. After displaying the notification screen for a predetermined period of time, the auxiliary program 42 notifies the general-purpose printing program 41 that the event has ended (B04). This causes the general-purpose printing program 41 and the auxiliary program 42 to end processing of the current job.

[0048] If the auxiliary program 42 determines that the type of error indicated in the received error notification is not a warning but an error (alt: [Error]), the auxiliary program 42 requests the printer 2 to acquire screen data for a troubleshooting screen corresponding to the type of error (B11).The auxiliary program 42 then displays the troubleshooting screen on the user IF 13 based on the acquired screen data (B12).B12 is an example of an error notification process.The troubleshooting screen is an example of an error notification screen.The troubleshooting screen is a screen that notifies the user of a message indicating the type of error that has occurred and information indicating how to deal with the error.

[0049] The auxiliary program 42 notifies the user of the type of error and the corrective action to take for each type of error. This allows the user to understand that an error has occurred in the printer 2 and how to deal with the error. This allows the user to be expected to take corrective action for the error.

[0050] The printer 2 has screen data for various troubleshooting screens according to its own model and the type of error. The screen data acquired from the printer 2 may be data that shows the same screen as the screen displayed on the operation panel of the printer 2. By acquiring screen data from the printer 2, the auxiliary program 42 can display a troubleshooting screen that includes a detailed message appropriate for the model of the printer 2. Note that the screen data for the troubleshooting screen may be included in the auxiliary program 42 at the time of installation, for example, or may be stored in an external device such as a server managed by the printer vendor. If stored on the server, the auxiliary program 42, for example, sends model information of the printer 2 and information on the type of error to the server and acquires screen data for the corresponding troubleshooting screen from the server.

[0051] Error types are further classified into continuable errors, non-continuable errors, and setting change required errors. A continuable error is an error that allows the printer 2 to continue printing after the error is resolved by the user taking appropriate action on the printer 2. A continuable error is an example of a first type error. An non-continuable error and a setting change required error are errors that prevent the printer 2 from continuing printing after the error is resolved by the user taking appropriate action on the printer 2, and require the raster data to be sent again in order to complete printing. An non-continuable error and a setting change required error are examples of a second type error. An non-continuable error is an error that is likely to allow printing to be completed by resending the same raster data, and a setting change required error is an error that is likely to allow printing to be completed by changing the print settings and regenerating the raster data. A setting change required error is an example of a third type error among the second type errors.

[0052] Examples of continuable errors include out of paper, paper jam, and cover open. In the case of a continuable error, the auxiliary program 42 displays a troubleshooting screen showing how to deal with the error. In the case of a paper jam error, the auxiliary program 42 displays, in B12, a paper jam troubleshooting screen 50 including a message indicating a paper jam and a diagram showing the location of the jam, as shown in FIG. 4, for example.

[0053] If it is determined that the error is a continuable error (alt: [Continuable]), the auxiliary program 42 displays a troubleshooting screen in B12 and waits for the user to take action. If the user takes action, such as removing jammed paper, based on the troubleshooting screen 50 that is displayed (B21), the printer 2 automatically continues printing (B22). If the error is a continuable error, it is highly likely that the user will take appropriate action based on the troubleshooting screen displayed by the auxiliary program 42 in B12.

[0054] The auxiliary program 42 displays the troubleshooting screen for a predetermined time, then ends the display and notifies the general-purpose printing program 41 of the end of the event (B23). The auxiliary program 42 may continue to display the troubleshooting screen until it receives a printing completion notification from the printer 2.

[0055] If the error that occurred is a continuable error, the printer 2 can complete printing by accepting a user response at the printer 2 without resending the print data. If the error that occurred is a continuable error, the predetermined conditions are not met, and the auxiliary program 42 does not accept an instruction to re-execute printing. In other words, if the error that occurred is a continuable error, the auxiliary program 42 waits for the error to be resolved without accepting a user's selection of whether or not to reprint. Therefore, early reprinting at the printer 2 can be expected.

[0056] An example of an uncontinuable error is a lack of coloring material. The printer 2 cannot continue printing without coloring material. Furthermore, if the coloring material is replaced, the printer 2 resets the raster data being printed. For example, if a lack of coloring material error occurs, the auxiliary program 42 displays, in B12, a lack of coloring material troubleshooting screen 60 including a cancel print button 61 and a retry print button 62, as shown in FIG. 5 . The lack of coloring material troubleshooting screen 60 is an example of a troubleshooting screen that can accept a request to retry printing. If the error that occurred is an uncontinuable error, a predetermined condition is met, and the auxiliary program 42 displays, in B12, a troubleshooting screen that can accept an instruction to retry printing.

[0057] If it is determined that the error is one that cannot be continued (alt: [Cannot continue]), the auxiliary program 42 waits for the user to operate the troubleshooting screen displayed in B12. Then, when the auxiliary program 42 receives a user's selection of whether to retry printing (B31), it first passes an instruction to cancel the current job to the general-purpose printing program 41 (B32). This is because the printer 2 cannot continue printing regardless of the selection received. B31 is an example of a reception process. The auxiliary program 42 may perform B32 before receiving the operation in B31.

[0058] When issuing an instruction to retry printing, the user performs a corrective action on the printer 2 before operating the troubleshooting screen (B30). For example, when the user operates the retry print button 62 on the colorant-out troubleshooting screen 60, the user first replaces the colorant on the printer 2. When the user operates the cancel print button 61, the user does not need to perform the corrective action of B30.

[0059] If the user's selection operation received on the troubleshooting screen is an operation on the print cancel button 61 (alt: [Cancel]), the auxiliary program 42 notifies the general-purpose print program 41 of the end of the event (B34) and ends the processing. The operation on the print cancel button 61 is an example of an instruction to cancel printing.

[0060] If the user does not want to reprint the print job in which an error occurred, or if dealing with the error will take time, such as when replacement coloring material is not available, the user can cancel the current printing job. Since the auxiliary program 42 can also accept cancellation of printing if the error that occurred in the printer 2 is an error that makes it impossible to continue, it is possible to avoid unnecessary processing for reprinting.

[0061] On the other hand, if the user's selection operation is an operation on the print retry button 62 (alt: [Reprint]), the auxiliary program 42 passes the intermediate data and print settings saved in A06 of Fig. 2 to the general-purpose print program 41 and requests rasterization and transmission (B36). The operation on the print retry button 62 is an example of an instruction to retry printing.

[0062] The general-purpose printing program 41 performs rasterization in response to the request from the auxiliary program 42 to generate raster data (B37) and sends this to the printer 2 as a print instruction for a new job (B38). The printer 2 executes printing based on the newly received print instruction (B39). The processing of B36 by the auxiliary program 42 is an example of a reprint process.

[0063] If the error has been resolved, the printer 2 can complete printing based on the new print instruction received in B38. If an error occurs again in the printer 2 after the new print instruction has been sent to the printer 2, the general-purpose printing program 41 receives an error notification, as in A21 of Figure 2. In this case, the auxiliary program 42 and the general-purpose printing program 41 execute their respective procedures, as in the case of the first error.

[0064] Examples of setting change errors include an output tray full or a paper size mismatch. A paper size mismatch error occurs when the paper size set or detected for the tray specified in the print settings does not match the paper size specified in the print settings. For example, if B4 size is specified for tray 2 in the print settings and A4 size is set for tray 2 on printer 2, a paper size mismatch error occurs. In this case, the error may be resolved by changing the paper size or tray specified in the print settings, or by changing the paper size set on printer 2.

[0065] 6, the auxiliary program 42 displays a paper size mismatch handling screen 70 including a button 71 for accepting cancellation of printing, a button 72 for accepting an instruction to reprint without changing the print settings, and a button 73 for accepting an instruction to reprint after changing the print settings. The paper size mismatch handling screen 70 is an example of a handling screen that can accept an instruction to reprint. If the error that has occurred is a settings change error, the predetermined condition is met, and the auxiliary program 42 displays a handling screen that can accept an instruction to reprint in B12.

[0066] If it is determined that a setting change error has occurred (alt: [setting change required]), the auxiliary program 42 waits for the user to operate the troubleshooting screen displayed in B12. In the case of a setting change error, the auxiliary program 42 displays a troubleshooting screen that allows the user to select whether or not to change the print settings, thereby increasing the flexibility when reprinting. The setting change procedure that is followed when a setting change error has occurred will be described with reference to the sequence diagram in FIG. 7.

[0067] When the auxiliary program 42 receives a user selection operation on the displayed troubleshooting screen (C02), it first passes an instruction to cancel the current job to the general-purpose printing program 41 (C03). C02 is an example of a reception process. The auxiliary program 42 may perform C03 before receiving the operation of C02.

[0068] When issuing an instruction to re-execute printing without changing the settings, the user performs a corrective operation on the printer 2 before operating the troubleshooting screen (C01). For example, when operating button 72 on the paper size mismatch troubleshooting screen 70, the user changes the paper size set on the printer 2 in advance. For example, in the case of the paper size mismatch error shown in Figure 6, the user can resolve the mismatch between the print settings and the settings on the printer 2 by placing paper of the size specified in the print settings in the tray specified in the print settings and setting that size. When operating button 71 or button 73, the user does not need to perform the corrective operation in C01.

[0069] If the user's selection operation received on the troubleshooting screen is an operation on the button 71 that accepts printing cancellation (alt: [Cancel]), the auxiliary program 42 notifies the general-purpose printing program 41 of the end of the event (C11) and ends the processing. The operation on the button 71 is an example of an instruction to cancel printing.

[0070] 6, and is an instruction to reprint without changing the print settings (alt: [Do not change settings]), the auxiliary program 42 performs a procedure to resend the same raster data as the completed job to the printer 2. An instruction to reprint without changing the print settings by operating the button 72 is an example of a re-execution instruction, and an example of a second re-execution instruction. Note that when reprinting without changing the print settings, it is considered that the user has performed a corresponding operation on the printer 2, as described above (C01).

[0071] The auxiliary program 42 passes the intermediate data and print settings saved in A06 of FIG. 2 to the general-purpose printing program 41, requesting rasterization and transmission (C22). The general-purpose printing program 41 performs rasterization to generate raster data (C23) and transmits it to the printer 2 as a new job (C24). Note that the raster data generated by the general-purpose printing program 41 in C23 is the same as the raster data generated in A13 of FIG. 2. The printer 2 executes printing based on the newly received print instruction (C25). The processing of C22 by the auxiliary program 42 is an example of a reprint process.

[0072] If the accepted user selection is an instruction to change the print settings and reprint by operating button 73 in FIG. 6 (alt: [Change Settings]), the auxiliary program 42 displays a settings screen for accepting an instruction to change the print settings on the user IF 13 (C31) and accepts the user's operation. The settings screen displayed in C31 displays the print settings saved in A06 in FIG. 2 and is capable of accepting changes made by the user. The settings screen displayed in C31 is an example of an edit screen. An instruction to change the print settings and reprint by operating button 73 is an example of a re-execution instruction, and an example of a first re-execution instruction.

[0073] When the print settings are changed by a user operation (C32), the auxiliary program 42 saves the changed print settings by overwriting the print settings saved in A06 of FIG. 2 (C33). C31 to C32 are an example of a change process. C33 is an example of an overwrite save process. The print settings after receiving a change instruction in C32 are an example of changed print settings.

[0074] The auxiliary program 42 passes the intermediate data saved in A06 of FIG. 2 and the changed print settings to the general-purpose printing program 41, requesting rasterization and transmission (C34). The general-purpose printing program 41 performs rasterization to generate raster data (C35) and transmits this as a new job to the printer 2 (C36). In this case, the raster data generated by the general-purpose printing program 41 in C35 is different from the raster data generated in A13 of FIG. 2. The printer 2 executes printing based on the newly received print instruction (C37). The processing of C34 by the auxiliary program 42 is an example of a reprint process.

[0075] In the case of an error that may make printing possible by changing the print settings, the auxiliary program 42 accepts changes to the print settings made by the user. The changed print settings are based on the print settings saved in A06 of FIG. 2, and the printer 2 executes printing in C37 based on the intermediate data and print settings saved in A06 of FIG. 2. When changes to the print settings are accepted, the auxiliary program 42 sends an instruction to the printer 2 to reprint using the changed print settings, thereby increasing the likelihood of successful printing on the printer 2. Furthermore, because the auxiliary program 42 saves the changed print settings, if an error occurs again, reprinting can be executed using the changed print settings.

[0076] 2, the auxiliary program 42 may acquire the raster data generated by the general-purpose printing program 41 in step A13 and save the raster data and print settings. If the raster data is saved, re-rasterization is not required when reprinting. For example, instead of issuing the rasterization instruction in step B36 or C22, the auxiliary program 42 may pass the raster data to the general-purpose printing program 41 and instruct it to send it to the printer 2.

[0077] However, if raster data is stored, the auxiliary program 42 does not allow changes to the parameters used to generate the raster data when accepting changes to the print settings in C31. For example, in the case of the paper size mismatch error shown in Figure 6, the auxiliary program 42 allows changes to the tray but does not allow changes to the paper size. The auxiliary program 42 may display a settings screen that includes only items for which changes are acceptable, or may display items that are not acceptable as not changeable, or may display a message indicating that changes are not acceptable when an instruction to change an item that is not acceptable is received, thereby not accepting the change.

[0078] If the raster data is saved, reprinting on the printer can be started quickly by resending the raster data as is, but the parameters used to generate the raster data cannot be changed. When saving raster data, the auxiliary program 42 disables changes to the parameters used to generate the raster data, thereby preventing inappropriate changes to print settings. In contrast, if the intermediate data is saved, parameter changes can be reflected in the raster data. This allows for greater flexibility in changing print settings.

[0079] As described above in detail, when a print instruction is received, the auxiliary program 42 saves the intermediate data and print settings according to the print instruction. If an error occurs in the printer 2, the auxiliary program 42 can, for example, accept a reprint instruction from the user and cause the printer 2 to print again based on the saved intermediate data and print settings. This makes it possible to reprint on the printer 2 without the user having to issue a print instruction again from the editing application 43.

[0080] It should be noted that the embodiments disclosed in this specification are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed in this specification can naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to the PC 1 is not limited to the printer 2, but may be any device having both printing and communication functions, such as a multifunction device, a copier, or a fax machine. Furthermore, the number of printers 2 connected to the PC 1 may be two or more.

[0081] 4 to 6 are merely examples, and are not limited to the screens shown in these figures. The troubleshooting screens may contain information indicating the type of error, examples of troubleshooting methods, and various operation buttons, and the message wording and button layout are not limited to the examples shown. Furthermore, when reporting an error, the auxiliary program 42 may output a warning sound.

[0082] In addition, in the case of an error requiring a setting change, the auxiliary program 42 of this embodiment displays a screen for accepting the setting change and accepts the change of the print setting by the user, but it is not necessary to accept the change. For example, the auxiliary program 42 may display a message instructing the user to change the settings on the printer 2, or may simply notify the user of the error requiring a change of the print setting and not accept a request to reprint.

[0083] Also, for example, although it has been described that error notification by the general-purpose printing program 41 is suppressed, it is not necessary to suppress it. In other words, A23 in Fig. 2 may be omitted. However, since notification from both the general-purpose printing program 41 and the auxiliary program 42 may confuse the user, it is preferable to suppress notification by the general-purpose printing program 41.

[0084] Also, for example, if the general-purpose printing program 41 or OS 21 is configured to terminate a job in which an error has occurred, the job cancellation procedure (B32 in FIG. 3, C03 in FIG. 7) may not be necessary.

[0085] Furthermore, for example, the auxiliary program 42 is configured to be able to accept an instruction to retry printing through a user operation on the user IF 13 when an error event is output and the error type is an uncontinuable error or a settings change required error. However, this is not limited to this. For example, the auxiliary program 42 may be able to accept a request to retry printing from the printer 2. Specifically, after sending an error notification, the printer 2 may be able to accept a request to retry printing through a user operation on an operation panel or the like, and upon receiving the request to retry, send that information to the PC 1. In this case, the auxiliary program 42 may be started in response to the output of an error event, wait for a notification from the printer 2, and then terminate, for example, upon a timeout.

[0086] The general-purpose printing program 41 may also start the auxiliary program 42 before or after the print screen is displayed, when the user changes the normally used printer from another printer to printer 2. The auxiliary program 42 may also acquire capability information of printer 2 in response to being started.

[0087] In each embodiment, only the printing operation is described in detail as the operation of the auxiliary program 42, but the auxiliary program 42 may have other roles. Furthermore, the program that executes the process in each embodiment is not limited to the auxiliary program 42, and may be any program that receives instructions from the OS 21 or the general-purpose print program 41 when printing using the general-purpose print program 41. For example, it may be a print workflow application (Print Workflow) whose specifications have been published by Microsoft.

[0088] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples in each embodiment. For example, the auxiliary program 42 may be executed in response to a direct execution instruction from the OS 21, or may be a resident auxiliary program 42. If the auxiliary program 42 is resident, it may receive an execution command and perform the above-described operation.

[0089] Furthermore, in any sequence diagram disclosed in each embodiment, the execution order of multiple processes in any multiple steps can be changed or executed in parallel as desired, as long as no contradictions occur in the processing content.

[0090] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. The processes disclosed in the embodiments may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method.

[0091] 1 PC 2 Printer 11 CPU 13 User IF

Claims

1. A support program executable by a computer of an information processing device and corresponding to a printer connected to the information processing device, the information processing device being equipped with an operating system having a general-purpose printing program, the support program causing the computer to execute a save process for saving print data indicating the image to be printed by the print instruction and print settings by the print instruction in a memory of the information processing device, and a print process for causing the printer to print according to the print data and the print settings, when a print instruction is output from an application program incorporated in the information processing device and the general-purpose printing program is instructed to print an image on the printer, the general-purpose printing program being capable of outputting an error event in response to receiving an error notification from the printer that has received the print data, the support program further causing the computer to execute an acceptance process for accepting a request to re-execute printing when the error event is output from the general-purpose printing program and a predetermined condition is satisfied, and a reprint process for causing the printer to print based on the print data and the print settings saved in the memory when the acceptance process accepts a request to re-execute printing.

2. A support program as recited in claim 1, configured to: when the error event is output from the general-purpose printing program and the specified condition is satisfied, cause the computer to display an edit screen that accepts changes to the print settings based on the print settings stored in the memory before executing the reprint process, and execute a change process that changes the print settings based on the edit screen; and in the reprint process, if the print settings are changed in the change process, cause the printer to print using the changed print settings that have been changed based on the print settings stored in the memory.

3. A support program as described in claim 2, configured to cause the computer to execute an overwrite save process for overwriting the print settings stored in the memory with the changed print settings when the print settings are changed in the change process.

4. A support program as recited in claim 2, configured as follows: in the print process, the printer prints based on raster data obtained by rasterizing intermediate data passed from the general-purpose print program in accordance with the print settings of the print instruction; in the save process, the raster data is saved in the memory as the print data; in the change process, parameters among the print settings used to generate the raster data are made unchangeable; and in the reprint process, if the print settings are changed in the change process, the printer prints based on the raster data saved in the memory and the changed print settings.

5. A support program as recited in claim 2, configured to: in the printing process, cause the printer to print based on raster data rasterized from intermediate data passed from the general-purpose printing program in accordance with the print settings of the print instruction; in the saving process, save the intermediate data in the memory as the print data; and in the reprinting process, if the print settings are changed in the changing process, cause the printer to print the raster data rasterized in accordance with the changed print settings and based on the changed print settings.

6. A support program as recited in claim 1, wherein the reception process receives operations including an instruction to rerun printing and an instruction to cancel printing via a user interface of the information processing device, and causes the computer to execute the reprint process if the reception process receives the instruction to rerun printing, and to terminate the job based on the print instruction without executing the reprint process if the reception process receives the instruction to cancel.

7. A support program as recited in claim 6, wherein the reception process is further capable of receiving, via the user interface, operations including a first re-execution instruction for changing print settings and printing, and a second re-execution instruction for printing without changing print settings, and the computer is configured to: when the first re-execution instruction is received in the reception process, display an edit screen for accepting changes to print settings based on the print settings stored in the memory before executing the reprint process, and execute a change process for changing the print settings based on the edit screen, and in the subsequent reprint process, cause the printer to print using the print data stored in the memory and the changed print settings, which are the changed print settings; and when the second re-execution instruction is received in the reception process, execute the reprint process without executing the change process.

8. A support program as recited in claim 6, configured to: cause the computer to execute an acquisition process for acquiring the type of error that has occurred in the printer when the error event is output from the general-purpose printing program; not execute the acceptance process and the reprint process if the type of error acquired in the acquisition process is a first type error that allows printing to continue without resending print data after the error is resolved; and execute the acceptance process when the type of error acquired in the acquisition process is a second type error that does not allow printing to continue after the error is resolved, satisfying the specified condition; and execute the reprint process if the acceptance process accepts the instruction to rerun.

9. A support program as recited in claim 8, configured to: when the error event is output from the general-purpose printing program, and if the type of the error acquired in the acquisition process is a third error among the second type errors that may be printable if the print settings are changed, the acceptance process is capable of accepting, via the user interface, as the re-execution instruction, operations including a first re-execution instruction for changing the print settings and printing, and a second re-execution instruction for printing without changing the print settings; when the first re-execution instruction is accepted in the acceptance process, an edit screen for accepting changes to the print settings based on the print settings stored in the memory is displayed before executing the re-print process, and a change process for changing the print settings based on the edit screen is executed, and in the subsequent re-print process, the printer is caused to print using the print data stored in the memory and the changed print settings, which are the changed print settings; and when the second re-execution instruction is accepted in the acceptance process, the re-print process is executed without executing the change process.

10. A support program as recited in claim 1, configured to cause the computer to execute an error notification process for notifying an occurrence of an error in the printer when the error event is output from the general-purpose printing program.

11. A support program as described in claim 10, configured to cause the computer to execute an acquisition process for acquiring the type of error that has occurred in the printer when the error event is output from the general-purpose printing program, and to display, in the error notification process, an error notification screen including the type of error acquired in the acquisition process and a method of dealing with the type of error, on a user interface of the information processing device.

12. A support program as described in claim 10, configured to cause the computer to execute a setting process for setting the general-purpose printing program to not report an error when the error event is output from the general-purpose printing program, and if the not-required-error-notification setting is not set, the general-purpose printing program reports an error when it receives the error notification from the printer, and if the not-required-error-notification setting is set, the general-purpose printing program does not report an error.

Citation Information

Patent Citations

  • Printing system, control method, and program

    JP2011118843A

  • Supporting program, information processing apparatus and printing method

    JP2020160989A