Support program

JP2025095867A5Pending Publication Date: 2025-07-09BROTHER KOGYO KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023212237
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-15
Publication Date
2025-07-09

AI Technical Summary

Technical Problem

The general-purpose printing program standard to the operating system (OS) lacks the functionality to retransmit print data in case of errors during printing, requiring users to manually reissue print instructions after resolving printer errors.

Method used

A support program that saves print data and settings when a print instruction is given, allowing for automatic reprinting when an error occurs and a predetermined condition is met, thereby eliminating the need for users to reissue print instructions.

Benefits of technology

The support program reduces user labor by enabling automatic reprinting after resolving printer errors, streamlining the printing process and enhancing user convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

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 equipped with an OS standard general-purpose printing program.SOLUTION: When a print instruction, which is output from an editing application 43, is issued to a general-purpose printing program 41 to cause a printer 2 to print an image, 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 perform printing 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 predetermined 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 perform printing on the basis of the stored print data and print settings.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technical field disclosed in this specification relates to a support program for supporting the control of a printer.

Background Art

[0002] Conventionally, a technique of retransmitting print data when an error occurs in a printer after transmitting the print data from an information processing apparatus to the printer has been known. For example, Patent Document 1 discloses a personal computer (PC) in which a printer driver is installed, the printer driver generates print data, temporarily stores the print data, transmits the print data to the printer, and then receives a processing result of the print data at the printer, changes print settings according to the received processing result, generates new print data, and transmits the newly generated print data to the printer.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In recent years, a technique of controlling a printer by a general-purpose printing program standard to the operating system (OS) that constitutes a part of the OS without using a printer driver provided by a printer vendor has been put into practical use. In this technique, when the OS detects a printer, it associates with the general-purpose printing program standard to the OS. After that, when receiving a print instruction for the printer, the general-purpose printing program standard to the OS generates print data without using a printer driver provided by the printer vendor, enabling printing by the general-purpose printing program standard to the OS.

[0005] However, unlike the printer driver provided by the printer vendor, the general-purpose printing program of the OS standard does not have a function of retransmitting print data based on an error occurrence in the printer as disclosed in Patent Document 1. Therefore, after the user gives a print instruction in the application program, if an error occurs in the printer, the user has to reissue the print instruction in the application program after resolving the error.

Means for Solving the Problems

[0006] A support program made for the purpose of solving the above-described problems is executable by a computer of an information processing apparatus, and is a support program corresponding to a printer connected to the information processing apparatus. The information processing apparatus is equipped with an operating system having a general-purpose printing program. The support program causes the computer to save, in a memory of the information processing apparatus, print data indicating the image to be printed according to the print instruction and the print setting according to the print instruction when there is a print instruction output from an application program incorporated in the information processing apparatus and causing the general-purpose printing program to print the image on the printer, and a printing process for causing the printer to perform printing according to the print data and the print setting. The general-purpose printing program can output an error event in response to receiving an error notification from the printer that has received the print data. The support program further causes the computer to execute a reception process of accepting re-execution of printing when the error event is output from the general-purpose printing program and a predetermined condition is satisfied, and when re-execution is accepted in the reception process, execute a reprinting process of causing the printer to perform printing based on the print data and the print setting stored in the memory.

[0007] The support program disclosed in this specification saves the print data and print settings of the printing target according to the print instruction when there is a print instruction. When an error occurs in the printer and a predetermined condition is satisfied, the support program accepts the reprinting. And when accepting the re-execution of printing, the support program causes the printer to perform printing again based on the saved print data and print settings. Thereby, it becomes possible to reprint with the printer without the user having to redo the print instruction in the application program.

[0008] An information processing apparatus in which the above support program is incorporated, 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.

Effects of the Invention

[0009] According to the technology disclosed in this specification, in an information processing apparatus in which a general-purpose print program compliant with the OS standard is incorporated, a technology for reducing the user's labor for reprinting when an error occurs in the printer is realized.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Best Mode for Carrying Out the Invention

[0011] Hereinafter, a personal computer (hereinafter referred to as "PC") that uses the support program of the embodiment will be described in detail 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 apparatus. The CPU 11 is an example of a computer. Further, the PC 1 includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, and these are electrically connected to the controller 10. Note that the controller 10 in FIG. 1 is a general term for the hardware and software used for the control of the PC 1, and does not necessarily represent a single piece of hardware actually existing in the PC 1.

[0013] The CPU 11 of the PC 1 executes various processes according to the program read from the memory 12 and based on the user's 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 included in the CPU 11 is also an example of a memory. Note that an example of the memory 12 is not limited to a ROM, a RAM, an HDD, etc. built in the PC 1, and may be a storage medium readable and writable by the CPU 11, for example, a recording medium such as a CD-ROM, a DVD-ROM, a USB memory, etc.

[0014] The user IF 13 includes a display 13a which is hardware for displaying a screen for notifying a user of information, and hardware for receiving operations by the user. Note that the user IF 13 may be a combination of a display 13a capable of displaying information and a mouse, a keyboard, etc. having an input reception function, or may be a touch panel having the function of the display 13a and the input reception function.

[0015] The communication IF 14 includes hardware for communicating with an external device such as the printer 2. The communication standards of the communication IF 14 are Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc. The PC 1 may be connected to the Internet via the communication IF 14. The PC 1 may be provided with a plurality of communication IFs 14 corresponding to a plurality of communication standards.

[0016] As shown in FIG. 1, the memory 12 of the PC 1 stores various programs and various data, including an operating system (hereinafter referred to as "OS") 21 that includes a general-purpose printing program 41, an auxiliary program 42, and an editing app 43. The auxiliary program 42 is an example of a support program. The editing app 43 is an example of an application program.

[0017] The OS 21 is a multitasking OS that can manage and switch between a plurality of tasks to process the plurality of tasks in parallel. The OS 21 is, for example, Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), Android (registered trademark).

[0018] The OS 21 includes a general-purpose printing program 41. The general-purpose printing program 41 is an OS-standard program prepared by the vendor of the OS 21 and provided as part of the OS 21. That is, the PC 1 is equipped with the OS 21 having the general-purpose printing program 41. The general-purpose printing program 41 is not configured to use a printer driver specific to each printer.

[0019] The general-purpose printing program 41 is a program having a function for causing printers of a plurality of models respectively provided by a plurality of vendors to execute printing based on a user's instruction. The general-purpose printing program 41 supports general-purpose functions that can execute printing on many printers. Different from the printer driver unique to each printer, the general-purpose printing program 41 does not support functions unique to each printer or the printer driver, especially functions that require complicated processing.

[0020] The general-purpose printing program 41 is a program including a function of receiving, based on a user's instruction, image data designated as a printing target in a printing instruction output from various applications, and generating intermediate data based on the image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 further has a function of generating 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. Also, the general-purpose printing program 41 has a function of transmitting the generated raster data to a printer designated as a device for executing printing via a communication function by the OS 21. The general-purpose printing program 41 can also transmit PDF data to the printer for printing.

[0021] The auxiliary program 42 is a program or a group of programs that execute processing based on an instruction from the OS 21 accompanying the processing of the general-purpose printing program 41, and is a program that supports control of the target hardware. The auxiliary program 42 of the present 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. When the printer 2 is selected as a device for executing printing, when an instruction for detailed printing settings is received in a state where the printer 2 is selected, when an instruction to cause the printer 2 to execute printing is received, etc., the general-purpose printing program 41 activates the auxiliary program 42 corresponding to the printer 2. The auxiliary program 42 is, for example, a program called a print support application (abbreviation, PSA) or a hardware support application (abbreviation, HSA).

[0022] Note that the auxiliary program 42 may be a combination of a plurality of programs each of which receives an execution instruction, or may be a single program that can execute different processes according to instructions. Further, the auxiliary program may be a program prepared for each type of printer by the printer vendor. For example, an auxiliary program for an inkjet printer and an auxiliary program for a laser printer may be prepared respectively. Not limited to each type of printer, there may be an auxiliary program prepared for each printer model or for each series of printer models.

[0023] When a new printer is connected to the PC1, for example, the OS 21 of the PC1 can download an appropriate auxiliary program from a server of the printer vendor or the like and incorporate it into the PC1 according to the type and model of the connected printer. The OS 21 associates the identification information of the incorporated auxiliary program with the printer information of the newly connected printer and stores it in the memory 12.

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

[0025] As shown in FIG. 1, the PC1 of the present embodiment is connected to the printer 2 via the communication IF14. The printer 2 is a device having at least a printing function and a communication function. For example, when the printer 2 receives print data from the PC1 or the like, it can execute printing based on the received print data. The printer 2 may be a device capable of color printing or a device capable of executing only monochrome printing.

[0026] Subsequently, in the PC1 having the general-purpose printing program 41, a procedure of processing for causing the printer 2 to perform printing will be described. Each process in the present embodiment basically shows the process of the CPU 11 according to instructions described in a program such as the auxiliary program 42. The process by the CPU 11 includes control of hardware using the API of the OS 21. In this specification, the detailed description of the OS 21 is omitted and the operations of each program are described. Also, "acquisition" is used as a concept that does not require a request.

[0027] The printing execution procedure will be described with reference to the sequence diagram of FIG. 2. After the user determines the image to be printed and the printing settings, the user inputs an instruction to execute printing in the editing application 43 (A01). When the general-purpose printing program 41 is included in the OS 21, the editing application 43 can receive an instruction to execute printing that indicates causing the printer 2 to print the selected image with respect to the general-purpose printing program 41.

[0028] Based on the received 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 printing settings as information of the print instruction output from the editing application 43.

[0029] Based on the information obtained from the editing application 43, 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 (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. If the image data to be printed is data suitable for generating raster data, the generation of intermediate data may be omitted and it may be used as intermediate data as it is.

[0030] Note that the general-purpose printing program 41 may be able to receive an instruction for printing settings by a user's operation 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 that the processing of the print job corresponding to the print instruction output from the editing application 43 has started.

[0031] Also, the general-purpose printing program 41 may be able to receive an instruction from a user who performs detailed printing settings, and when receiving an instruction for detailed printing settings, it starts the auxiliary program 42. When the auxiliary program 42 is started from the general-purpose printing program 41, it can receive an instruction for printing settings by a user's operation and pass the various pieces of information received 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 an instruction to execute printing, and requests processing (A05). By requesting the general-purpose printing program 41, the auxiliary program 42 can obtain information on intermediate data and printing settings regarding the current job. The auxiliary program 42 stores the intermediate data and printing setting information obtained from the general-purpose printing program 41 in the memory 12 (A06). A06 is an example of a storage process. The intermediate data is an example of print data indicating the image to be printed.

[0033] The auxiliary program 42 may be launched from the general-purpose printing program 41 and, when receiving an instruction for print settings or an instruction for print execution, may acquire the capability information of the printer 2. 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 through communication conforming to, for example, IPP (abbreviation for Internet Printing Protocol) via the OS 21. Instead of requesting the general-purpose printing program 41, the auxiliary program 42 may directly acquire the capability information from the printer 2 using, for example, 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, remaining amount information of consumables, information on selectable trays, paper information of the paper set in each tray, information on printable resolutions that can be supported. Further, the printer 2 may pass the capability information including the information indicating its own status.

[0035] The auxiliary program 42 registers an error event with the general-purpose printing program 41 regarding the current print job (A11). When the error event is registered, if the general-purpose printing program 41 receives an error notification notifying an error from the printer 2 that executes printing, the general-purpose printing program 42 launches the auxiliary program 42 and passes the error information to the auxiliary program 42.

[0036] Note that the timing for registering an error event may be anytime after the auxiliary program 42 is activated 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 there is a print instruction, or if the general-purpose print program 41 has a function to maintain information on error event registration, A11 may be omitted if it has already been registered. Also, if the general-purpose print 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 or not, A11 is unnecessary.

[0037] The auxiliary program 42 instructs the general-purpose print program 41 to perform rasterization of intermediate data and transmission of raster data, which is the data after rasterization (A12). A12 is a process for causing the printer 2 to perform printing based on 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 and print settings as necessary, and in that case, the adjusted data may be passed to the general-purpose print program 41 at A12.

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

[0039] Note that the auxiliary program 42 may perform rasterization instead of the general-purpose print program 41. In that case, the auxiliary program 42 performs rasterization based on the intermediate data to generate raster data, and passes the generated raster data and the print settings to the general-purpose print program 41 to instruct transmission to the printer 2. Note that the raster data to be sent to the printer 2 may be data in a format printable by the printer 2.

[0040] If rasterized by the auxiliary program 42, the degree of freedom is greater compared to the case of rasterization by the general-purpose printing program 41, and there is a high possibility that raster data suitable for printing by the printer 2 will be generated. On the other hand, if rasterized by the general-purpose printing program 41, the processing of the auxiliary program 42 is less, and the program size of the auxiliary program 42 can be reduced.

[0041] Also, instead of causing the general-purpose printing program 41 to send the raster data to the printer 2, the auxiliary program 42 may send the print command instructing the execution of printing and the raster data to the printer 2. For example, when the settings related to image processing executable by the printer 2 are included as print settings, the auxiliary program 42 may generate a print command including the information of the processing.

[0042] The printer 2 notifies the general-purpose printing program 41 of the print result of the received print job. When printing is completed, 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, notifies the editing application 43 of the end of the job, and ends the process. Note that when printing is completed, the printer 2 does not have to notify the general-purpose printing program 41 of the completion of printing. In this case, the general-purpose printing program 41 operates assuming that printing is completed based on the completion of sending the generated raster data to the printer 2.

[0043] On the one hand, after the general-purpose printing program 41 transmits the generated raster data to the printer 2 at A14, it monitors whether an error occurs during the printing process on the printer 2. If an error occurs during the printing process on the printer 2, the printer 2 transmits an error notification including the information of the occurred error to the general-purpose printing program 41 being monitored (A21). The error notification transmitted from the printer 2 may include information indicating the type of the error. The types of errors are, for example, cover open, no coloring material, extremely small amount of coloring material, small amount of coloring material, no paper, small amount of paper, paper jam, no empty space in the paper output tray, small amount of empty space in the paper output tray, paper size mismatch, and others. When the general-purpose printing program 41 receives an error notification from the printer 2 in a state where an error event is registered, it starts the auxiliary program 42 to output the error event (A22).

[0044] When receiving the error event, the auxiliary program 42 passes a suppression instruction for setting that error notification by the general-purpose printing program 41 is unnecessary to the general-purpose printing program 41 (A23). A23 is an example of the setting process. When the general-purpose printing program 41 has not received an instruction that error notification is unnecessary, it notifies the error by itself in response to the reception of the error notification. By receiving the suppression instruction of A23, the general-purpose printing program 41 does not perform error notification based on the error notification. Thereby, it is possible to avoid the general-purpose printing program 41 and the auxiliary program 42 from duplicately notifying the error.

[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 including information on the type of error included in the error notification, the auxiliary program 42 can acquire information indicating the type of error based on the error event. Note that when the auxiliary program 42 receives an error event not including information on the type of error from the general-purpose printing program 41, the auxiliary program 42 may acquire information on the type of error included in the error notification by, for example, requesting the general-purpose printing program 41. Also, for example, when the error notification transmitted from the printer 2 does not include information indicating the type of error, the auxiliary program 42 may request and acquire information indicating the type of error from the printer 2.

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

[0047] When the auxiliary program 42 determines that the type of error indicated in the received error notification is a warning (alt: [Warning]), the auxiliary program 42 causes the user IF 13 to display a notification screen notifying the type of error (B03). The types of errors indicating warnings are, for example, extremely small amount of coloring material, small amount of coloring material, small amount of paper, small amount of free space in the paper discharge tray. After displaying the notification screen for a predetermined time, for example, the auxiliary program 42 notifies the general-purpose printing program 41 of the end of the event (B04). Thereby, the general-purpose printing program 41 and the auxiliary program 42 end the processing of the current job.

[0048] When it is determined that the type of error indicated in the received error notification is an error rather than a warning (alt: [Error]), the auxiliary program 42 requests the printer 2 to obtain the screen data of the countermeasure screen corresponding to the type of error (B11). Then, the auxiliary program 42 causes the user IF 13 to display the countermeasure screen based on the obtained screen data (B12). B12 is an example of error notification processing. The countermeasure screen is an example of an error notification screen. The countermeasure screen is a screen that notifies the user of a message indicating the type of error that has occurred and information indicating a countermeasure method.

[0049] The auxiliary program 42 notifies, for each type of error, the error type and a countermeasure method for dealing with that error. Therefore, the user can grasp that an error has occurred in the printer 2 and the countermeasure method therefor. As a result, it is possible to expect the user to handle the error.

[0050] The printer 2 has screen data of various countermeasure screens according to its own model and the type of error. The screen data obtained from the printer 2 may be data indicating the same screen as the screen displayed on the operation panel of the printer 2. By obtaining the screen data from the printer 2, the auxiliary program 42 can display a countermeasure screen including a detailed message suitable for the model of the printer 2. Note that the screen data of the countermeasure screen may be included in the auxiliary program 42 since installation, for example, or may be stored in an external device such as a server managed by the printer vendor. When it is stored in the server, the auxiliary program 42 transmits, for example, the model information of the printer 2 and the information of the type of error to the server, and obtains the screen data of the corresponding countermeasure screen from the server.

[0051] The error types are further classified into recoverable errors, non-recoverable errors, and errors requiring setting changes. A recoverable error is an error where, after the user appropriately addresses it on Printer 2, Printer 2 can resume printing after the error is resolved. A recoverable error is an example of a Type 1 error. Non-recoverable errors and errors requiring setting changes are errors where Printer 2 cannot resume printing after the error is resolved by the user's action on Printer 2, and in order to complete printing, it is necessary to resend the raster data again. Non-recoverable errors and errors requiring setting changes are examples of Type 2 errors. A non-recoverable error is an error where printing is likely to be completed by resending the same raster data, and an error requiring setting changes is an error where printing is likely to be completed by changing the print settings and regenerating the raster data. An error requiring setting changes is an example of a Type 3 error among Type 2 errors.

[0052] Recoverable errors are, for example, out of paper, paper jam, cover open. In the case of a recoverable error, the assistance program 42 displays a handling screen showing the handling method. In the case of a paper jam error, the assistance program 42 displays, at B12, a paper jam handling screen 50 including, for example, as shown in FIG. 4, a message indicating a paper jam and a diagram indicating the jam location.

[0053] When it is determined that the error is a recoverable error (alt:[recoverable]), the assistance program 42 displays a handling screen at B12 and waits for the user to take action. When a user's handling operation such as removing the jammed paper is received based on the displayed handling screen 50 (B21), Printer 2 automatically resumes printing (B22). In the case of a recoverable error, it is highly likely that the user will appropriately handle it based on the handling screen displayed by the assistance program 42 at B12.

[0054] After the auxiliary program 42 displays the response screen for a predetermined time, it 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 response screen until it receives a print completion notification from the printer 2.

[0055] If the error that has occurred is a recoverable error, the printer 2 can complete the printing by accepting the user's response at the printer 2 without retransmitting the print data. When the error that has occurred is a recoverable error, since a predetermined condition is not satisfied, the auxiliary program 42 does not accept an instruction to re-execute the printing. That is, when the error that has occurred is a recoverable error, the auxiliary program 42 waits for the error to be resolved without accepting the user's selection of whether to perform reprinting. Therefore, early reprinting at the printer 2 can be expected.

[0056] An irrecoverable error is, for example, no coloring material. The printer 2 cannot continue printing without a coloring material. Also, when the coloring material is replaced, the printer 2 resets the raster data being printed. For example, when an error of no coloring material occurs, the auxiliary program 42 displays a no-coloring-material response screen 60 including a print cancel button 61 and a print re-execution button 62 as shown in FIG. 5 at B12. The no-coloring-material response screen 60 is an example of a response screen that can accept re-execution of printing. When the error that has occurred is an irrecoverable error and a predetermined condition is satisfied, the auxiliary program 42 displays a response screen that can accept an instruction to re-execute the printing at B12.

[0057] When it is determined that the error is a non-recoverable error (alt: [non-recoverable]), the auxiliary program 42 waits for the user's operation on the countermeasure screen displayed at B12. Then, when the auxiliary program 42 receives a selection on whether to re-execute the printing or not by the user's operation (B31), first, an instruction to cancel the current job is passed to the general-purpose printing program 41 (B32). In any case of receiving a selection, it is because the printer 2 cannot continue the printing. B31 is an example of a reception process. The auxiliary program 42 may perform B32 before receiving the operation of B31.

[0058] In addition, when giving an instruction to re-execute the printing, the user performs a countermeasure operation on the printer 2 prior to the operation on the countermeasure screen (B30). For example, when the user operates the print re-execution button 62 on the colorant-free countermeasure screen 60, the printer 2 exchanges the colorant in advance. When operating the print cancel button 61, the user does not have to perform the countermeasure operation of B30.

[0059] When the selected operation of the user received on the countermeasure screen is an operation on the print cancel button 61 (alt: [cancel]), the auxiliary program 42 notifies the general-purpose printing program 41 of the event end (B34) and ends the process. The operation on the print cancel button 61 is an example of a print cancel instruction.

[0060] When the user does not wish to re-execute the printing of the print job in which the error occurred, or when it takes time to handle the error such as when the colorant to be replaced is not prepared, the user can cancel the printing of the current job. Since the auxiliary program 42 can also accept the cancellation of the printing when the error occurring in the printer 2 is a non-recoverable error, unnecessary processing for reprinting can be avoided.

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

[0062] The general-purpose print program 41 performs rasterization in response to the request of the auxiliary program 42 to generate raster data (B37), and transmits it 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 process 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. After transmitting the new print instruction to the printer 2, if an error occurs again at the printer 2, similar to A21 of FIG. 2, the general-purpose print program 41 receives an error notification. In this case, similar to the first error, the auxiliary program 42 and the general-purpose print program 41 execute each procedure.

[0064] The setting change required error is, for example, no paper in the paper output tray or paper size mismatch. The paper size mismatch error is an error where the paper size set or detected in the tray specified in the print settings does not match the paper size specified in the print settings. For example, when tray 2 and B4 size are specified in the print settings and A4 size is set in tray 2 at the printer 2, it is a paper size mismatch error. 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 at the printer 2.

[0065] Therefore, as shown in FIG. 6 at B12, the auxiliary program 42 causes the paper size mismatch handling screen 70 including a button 71 for accepting print cancellation, 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 to be displayed. The paper size mismatch handling screen 70 is an example of a handling screen capable of accepting re-execution of printing. When the generated error is a setting change required error, if a predetermined condition is satisfied, the auxiliary program 42 causes a handling screen capable of accepting an instruction to re-execute printing to be displayed at B12.

[0066] When it is determined that the error is a setting change required error (alt: [setting change required]), the auxiliary program 42 waits for the user's operation on the handling screen displayed at B12. In the case of a setting change required error, since the auxiliary program 42 displays a handling screen capable of accepting a selection of whether to change the print settings, the degree of freedom in performing reprinting increases. The setting change procedure, which is the procedure when a setting change required error occurs, will be described with reference to the sequence diagram of FIG. 7.

[0067] When the auxiliary program 42 accepts the user's selection operation on the currently displayed handling screen (C02), first, an instruction to cancel the current job is passed to the general-purpose print program 41 (C03). C02 is an example of reception processing. The auxiliary program 42 may perform C03 before accepting the operation of C02.

[0068] Note that when an instruction to re-execute printing without changing the settings is given, the user performs a handling operation on the printer 2 prior to the operation on the handling screen (C01). For example, when the user operates the button 72 on the paper size mismatch handling screen 70, the paper size set in the printer 2 is changed in advance. For example, in the case of the paper size mismatch error shown in FIG. 6, the user can resolve the mismatch between the print settings and the settings in the printer 2 by storing the paper of the size specified in the print settings in the tray specified in the print settings and setting that size. Note that when operating the button 71 or the button 73, the user does not have to perform the handling operation of C01.

[0069] When the selection operation of the user received on the response screen is an operation on the button 71 that accepts print cancellation (alt: [Cancel]), the auxiliary program 42 notifies the general-purpose print program 41 of the end of the event (C11) and ends the process. The operation on the button 71 is an example of a print cancellation instruction.

[0070] When the received user selection is an operation of the button 72 in FIG. 6 and is an instruction to reprint without changing the print settings (alt: [Do not change settings]), the auxiliary program 42 performs a procedure for resending the same raster data as the job that has ended to the printer 2. The instruction to reprint without changing the print settings by the operation of 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, as described above, it is considered that a user's response operation to the printer 2 has been performed (C01).

[0071] The auxiliary program 42 passes the intermediate data saved at A06 in FIG. 2 and the print settings to the general-purpose print program 41 and requests rasterization and transmission (C22). The general-purpose print 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 print program 41 in C23 is the same as the raster data generated at A13 in FIG. 2. The printer 2 executes printing based on the newly received print instruction (C25). The process of C22 by the auxiliary program 42 is an example of a reprint process.

[0072] When the received user selection is an operation of button 73 in FIG. 6 and is an instruction to change the print settings and reprint (alt: [change settings]), the auxiliary program 42 causes the user IF 13 to display a settings screen for receiving an instruction to change the print settings (C31), and accepts the user's operation. The print settings saved in A06 of FIG. 2 are displayed on the settings screen displayed at C31, and the user can receive a change instruction. The settings screen displayed at C31 is an example of an editing screen. The 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 the user's 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 the change instruction at C32 are an example of the 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 print program 41, and requests rasterization and transmission (C34). The general-purpose print program 41 performs rasterization to generate raster data (C35), and transmits it to the printer 2 as a new job (C36). In this case, the raster data generated by the general-purpose print program 41 at C35 is different from the raster data generated at A13 of FIG. 2. The printer 2 executes printing based on the newly received print instruction (C37). The process of C34 by the auxiliary program 42 is an example of a reprint process.

[0075] In the case of an error that may become printable by changing the print settings, the auxiliary program 42 accepts the change of the print settings by the user. The changed print settings are the print settings based on the print settings saved at A06 in FIG. 2, and the printer 2 executes printing based on the intermediate data and the print settings saved at A06 in FIG. 2 at C37. When accepting the change of the print settings, since the auxiliary program 42 sends an instruction for reprinting according to the changed print settings to the printer 2, the possibility of successful printing by the printer 2 is increased. Furthermore, since the auxiliary program 42 saves the changed print settings, if an error occurs again, reprinting based on the changed print settings can be executed.

[0076] Note that instead of saving the intermediate data at A06 in FIG. 2, the auxiliary program 42 may obtain the raster data generated by the general-purpose printing program 41 at A13 and save the raster data and the print settings. If the raster data is saved, rasterization is not required again during reprinting. For example, instead of the rasterization instructions at B36 and C22, the auxiliary program 42 may pass the raster data to the general-purpose printing program 41 and instruct transmission to the printer 2.

[0077] However, when storing the raster data, when the auxiliary program 42 accepts the change of the print settings at C31, the parameters used for generating the raster data are made unchangeable. For example, in the case of the paper size mismatch error shown in FIG. 6, the auxiliary program 42 may accept the change of the tray but not accept the change of the paper size. The auxiliary program 42 may display a setting screen including only the items for which changes can be accepted, or may display the items for which changes cannot be accepted as unchangeable, or may display a message indicating that the change cannot be accepted when receiving an instruction to change an item for which changes cannot be accepted and not accept the change.

[0078] If raster data is to be saved, reprinting on the printer can be started early by resending the raster data as it 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 suppressing inappropriate changes to the print settings. On the other hand, if intermediate data is to be saved, the changes to the parameters can be reflected in the raster data. Therefore, there is a high degree of freedom in changing the print settings.

[0079] As described in detail above, when there is a print instruction, the auxiliary program 42 saves the intermediate data and print settings according to the print instruction. When an error occurs in the printer 2, for example, by receiving an instruction for reprinting from the user, the printer 2 can be made to perform printing again based on the saved intermediate data and print settings. Therefore, reprinting on the printer 2 becomes possible without the user having to reissue a print instruction from the editing application 43.

[0080] Note that each embodiment disclosed in this specification is merely an example and does 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 gist thereof. For example, the device connected to the PC 1 is not limited to a printer, and may be any device having a printing function and a communication function, such as a multifunction device, a copier, a FAX device, etc. Also, the number of printers connected to the PC 1 may be two or more.

[0081] Also, each of the countermeasure screens shown in FIGS. 4 to 6 is merely an example and is not limited to the screens in this figure. The countermeasure screen only needs to include information indicating the type of error, examples of countermeasure methods, each operation button, etc., and the wording of the message, the arrangement of the buttons, etc. are not limited to the illustrated examples. Also, when notifying an error, the auxiliary program 42 may output a warning sound.

[0082] Also, although the auxiliary program 42 in this embodiment is configured to display a screen for accepting setting changes and accept changes to the print settings by the user in the case of a setting change error, it is not necessary to accept them. The auxiliary program 42 may, for example, display a message instructing a change in the settings in the printer 2, or may only notify the user in the case of an error that requires a change in the print settings and not accept reprinting.

[0083] Also, for example, although error notification by the general-purpose printing program 41 is suppressed, it is not necessary to suppress it. That is, A23 in FIG. 2 may be omitted. However, since the user may be confused if notified from both the general-purpose printing program 41 and the auxiliary program 42, it is preferable to suppress the notification by the general-purpose printing program 41.

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

[0085] Also, for example, although the auxiliary program 42 is configured to be able to accept an instruction to re-execute printing by an operation of the user on the user IF 13 when an error event is output and the type of error is a non-continuable error or a setting change error, it is not limited to this. For example, the auxiliary program 42 may be able to accept re-execution of printing from the printer 2. Specifically, after the printer 2 sends an error notification, it may be able to accept an instruction to re-execute by an operation of the user via an operation panel or the like, and when it accepts the instruction to re-execute, it may send that information to the PC 1. In this case, after the auxiliary program 42 is activated in response to the output of the error event, it may wait for a notification from the printer 2 and end, for example, by a timeout.

[0086] In addition, the general-purpose printing program 41 may also activate the auxiliary program 42 before the display of the printing screen or after the display of the printing screen, even when the printer normally used by the user is changed from another printer to printer 2 by the user's operation. Further, the auxiliary program 42 may acquire the capability information of printer 2 in response to being activated.

[0087] Also, 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 further have other roles. Also, the program that executes the processing of each embodiment is not limited to the auxiliary program 42, and any program that receives an instruction from the OS 21 or the general-purpose printing program 41 when performing printing using the general-purpose printing program 41 may be used. For example, a print workflow app (Print workflow) whose specifications are disclosed by Microsoft may be used.

[0088] Also, the execution timing of the auxiliary program 42 is not limited to the examples of each embodiment. For example, it may be directly executed from the OS 21, or it may be an auxiliary program 42 that is resident. When it is resident, the auxiliary program 42 may perform the above-described operations upon receiving an execution instruction.

[0089] Also, in any sequence diagram disclosed in each embodiment, the plurality of processes in any plurality of steps can be arbitrarily changed in execution order or executed in parallel within a range where there is no contradiction in the processing content.

[0090] Also, the processing disclosed in each embodiment may be executed by a single CPU, a plurality of CPUs, hardware such as an ASIC, or a combination thereof. Also, the processing disclosed in the embodiment can be realized in various forms such as a recording medium recording a program for executing the processing, or a method.

Description of Reference Numerals

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

Claims

1. A support program executable by a computer of an information processing apparatus, corresponding to a printer connected to the information processing apparatus, wherein the information processing apparatus is equipped with an operating system having a general-purpose printing program, The support program causes the computer to, When there is a print instruction output from an application program incorporated in the information processing apparatus, and the print instruction causes the printer to perform image printing with respect to the general-purpose printing program, A storage process of storing, in a memory of the information processing apparatus, print data indicating the image to be printed according to the print instruction and print settings corresponding to the print instruction; A printing process for causing the printer to perform printing according to the print data and the print settings; To execute, the general-purpose printing program is 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 causes the computer to, When the error event is output from the general-purpose printing program and satisfies a predetermined condition, Execute an acceptance process for accepting re-execution of printing, When re-execution is accepted in the acceptance process, Execute a reprinting process for causing the printer to perform printing based on the print data and the print settings stored in the memory, A support program configured as described above.

2. The support program according to claim 1, The computer, When the error event is output from the general-purpose printing program and satisfies the predetermined condition, before executing the reprinting process, display an editing screen for accepting a change in print settings based on the print settings stored in the memory, and execute a change process for changing the print settings based on the editing screen, In the reprinting process, When the print settings are changed in the change process, cause the printer to perform printing according to the changed print settings after the change based on the print settings stored in the memory, A support program configured as described above.

3. The support program according to claim 2, The computer, When the print settings are changed in the change process, execute an overwrite storage process for overwriting and storing the changed print settings after the change with respect to the print settings stored in the memory, A support program configured as follows.

4. The support program according to claim 2, wherein in the printing process, the printer is caused to perform printing based on raster data obtained by rasterizing intermediate data passed from the general-purpose printing program according to the printing settings corresponding to the printing instruction, in the saving process, the raster data is saved in the memory as the printing data, in the changing process, changing of parameters used for generating the raster data among the printing settings is made impossible, in the reprinting process, when the printing settings are changed in the changing process, the printer is caused to perform printing using the raster data saved in the memory and the changed printing settings. A support program configured as follows.

5. The support program according to claim 2, wherein in the printing process, the printer is caused to perform printing based on raster data obtained by rasterizing intermediate data passed from the general-purpose printing program according to the printing settings corresponding to the printing instruction, in the saving process, the intermediate data is saved in the memory as the printing data, in the reprinting process, when the printing settings are changed in the changing process, the printer is caused to perform printing using raster data rasterized according to the changed printing settings and the changed printing settings. A support program configured as follows.

6. The support program according to claim 1, wherein in the reception process, operations including a re-execution instruction for printing and a cancellation instruction for printing are received via the user interface of the information processing apparatus, and the computer when the re-execution instruction is received in the reception process, is caused to execute the reprinting process, when the cancellation instruction is received in the reception process, is not caused to execute the reprinting process and the job based on the printing instruction is ended. A support program configured as follows.

7. The support program according to claim 6, wherein in the reception process, further, operations including a first re-execution instruction for performing printing with changed printing settings and a second re-execution instruction for performing printing without changing the printing settings as the re-execution instruction can be received via the user interface, and the computer When the first re-execution instruction is received in the reception process, before executing the reprinting process, an editing screen for receiving a change in the print settings based on the print settings stored in the memory is displayed, a change process for changing the print settings based on the editing screen is executed, and in the subsequent reprinting process, printing is performed on the printer using the print data stored in the memory and the changed print settings, i.e., the post-change print settings. When the second re-execution instruction is received in the reception process, the reprinting process is executed without executing the change process. A support program configured as described above.

8. The support program according to claim 6, wherein In the computer, When the error event is output from the general-purpose printing program, An acquisition process for acquiring the type of error that occurred in the printer is executed. When the type of error acquired in the acquisition process is a first type of error that allows printing to continue without retransmitting the print data after the error is resolved, the reception process and the reprinting process are not executed. When the type of error acquired in the acquisition process is a second type of error that does not allow printing to continue after the error is resolved, if the predetermined condition is satisfied and the reception process is executed, and when the re-execution instruction is received in the reception process, the reprinting process is executed. A support program configured as described above.

9. The support program according to claim 8, wherein In the computer, When the error event is output from the general-purpose printing program, When the type of error acquired in the acquisition process is a third type of error among the second type of errors that may allow printing if the print settings are changed, in the reception process, as the re-execution instruction, an operation including a first re-execution instruction to change the print settings and perform printing and a second re-execution instruction to perform printing without changing the print settings can be received via the user interface. When the first re-execution instruction is received in the reception process, before executing the reprinting process, an editing screen for receiving a change in the print settings based on the print settings stored in the memory is displayed, a change process for changing the print settings is executed based on the editing screen, and in the subsequent reprinting process, printing is performed on the printer using the print data stored in the memory and the changed print settings, i.e., the post-change print settings. When the second re-execution instruction is received in the reception process, the reprinting process is executed without executing the change process. A support program configured as described above.

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

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

12. A support program according to claim 10, wherein the computer is caused to when the error event is output from the general-purpose printing program, execute a setting process for setting the general-purpose printing program not to require error notification. The general-purpose printing program notifies an error when it receives the error notification from the printer if the error notification is not set, and does not notify an error if the error notification is set. A support program configured as described above.