Support program
A support program dynamically updates printer capability information to ensure that general-purpose printing programs can adapt to changes in printer capabilities, enhancing printing reliability.
Patent Information
- Application Number
- PCT/JP2024/045151
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-25
- Filing Date
- 2024-12-20
- Publication Date
- 2025-07-31
AI Technical Summary
Existing technologies fail to accommodate changes in printer capabilities, such as those caused by the attachment or detachment of additional trays, when using general-purpose printing programs that cache ability information at the time of printer selection.
A support program that causes a computer to acquire and update ability information from the printer in response to specific information indicating a change in capabilities, ensuring that printing settings reflect the current capabilities of the printer.
Enables the general-purpose printing program to adapt to changes in printer capabilities, thereby ensuring accurate and successful printing operations.
Smart Images

Figure JP2024045151_31072025_PF_FP_ABST
Abstract
Description
Support Program
[0001] The technical field disclosed in this specification relates to a support program that supports control of a printer.
[0002] 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.
[0003] An example of a document disclosing technology related to an OS-standard general-purpose printing program is Patent Document 1. Patent Document 1 discloses a support program that supports a general-purpose printing program, and that, if capability-dependent information based on the printer's capability information is cached when the printer is selected, reads the cached capability-dependent information, and if the capability information is not cached, acquires the capability information from the printer and caches the capability-dependent information based on the acquired capability information.
[0004] JP 2023-136090 A
[0005] Printer capabilities change depending on the printer's status, such as whether an additional tray is attached or detached, etc. Therefore, if printer capability information is acquired when a printer is selected and data based on that capability information is cached, as in the configuration of Patent Document 1, and the cached capability information is subsequently used, it may not be possible to accommodate the current capabilities of the printer.
[0006] A support program developed for the purpose of solving the above-mentioned problems is executable by a computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program possessed by the operating system of the information processing device, wherein at least one of the general-purpose printing program and the support program causes the computer to acquire capability information indicating the capabilities of the printer by communicating with the printer and store the acquired capability information in memory of the information processing device, the general-purpose printing program and the support program are capable of causing the computer to accept print settings for causing the printer to execute printing based on the capability information stored in the memory, the support program causes the computer to execute an acquisition process for acquiring specific information indicating that the capabilities of the printer may have changed, and the support program is further configured to cause the computer to execute an update process for acquiring the capability information from the printer and updating the capability information stored in the memory in response to acquiring the specific information in the acquisition process.
[0007] The support program disclosed in this specification can cause a computer of an information processing device to acquire specific information indicating that a printer's capabilities may have changed, and in response to acquiring the specific information, acquires capabilities information from the printer and updates the capabilities information stored in memory. Therefore, after acquiring the specific information, the computer can use print settings that reflect the printer's capabilities information at that time. This makes it more likely that changes in printer capabilities can be accommodated.
[0008] An information processing device incorporating the support program, a computer-readable storage medium storing the support program, and a control method for realizing the functions of the support program are also novel and useful.
[0009] The technology disclosed in this specification realizes a technology that can easily accommodate the current capabilities of a printer in an information processing device that has an OS-standard general-purpose printing program installed.
[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 setting procedure; Fig. 3 is a sequence diagram showing an example of a print execution procedure; Fig. 4 is a sequence diagram showing an example of a procedure after an error occurs; Fig. 5 is a block diagram showing an outline of the electrical configuration of a PC; Fig. 6 is a sequence diagram showing an example of a print execution procedure.
[0011] A personal computer (hereinafter referred to as a "PC") that uses a support program according to a first 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 or DVD-ROM.
[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.
[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 print data in a format that can be used for printing on various printers based on the intermediate data. The print data is, for example, PWGRaster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute printing via the communication function of the OS 21.
[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 a storage device designated by the OS 21, and install the program 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, a print execution 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 display instructions and print instructions for various types of information, such as map information and 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 based on 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 procedure for processing related to printing on the printer 2 in the PC 1 of this embodiment will be described. Note that in this embodiment, each process other than user operation basically indicates processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. For convenience, in this specification, various processes performed by the controller 10 or the CPU 11 in accordance with programs such as the auxiliary program 42, the general-purpose printing program 41, and the OS 21 may be described as if each program independently performs the various processes. Processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, the operation of each program will be described without providing a detailed description of the OS 21. Furthermore, the term "acquire" is used as a concept that does not necessarily require a request.
[0027] First, the print setting procedure for selecting a printer to be used for printing and accepting print settings will be described with reference to the sequence diagram in Figure 2. The editing application 43 can create and edit text and images based on user instructions. When the user wants to print the currently displayed text or image, the user selects print in the editing application 43 (A01). The user can select print from, for example, a menu of operation items provided in the editing application 43.
[0028] When the editing application 43 accepts the selection of printing, it requests the general-purpose printing program 41 of the OS 21 to display a screen for accepting instructions regarding printing (A02). In response to the request, the general-purpose printing program 41 displays a print setting screen on the user IF 13 (A03). The print setting screen is a screen for accepting user instructions regarding various print settings that can be accepted by the general-purpose printing program 41. The print setting screen may be displayed by the editing application 43. The print setting screen may have an area for displaying information specified by the auxiliary program.
[0029] For example, when a selection instruction to select printer 2 as the device to perform printing is received on the print setting screen (A11), or when a print selection in A01 is received with printer 2 selected as the device to perform printing, editing application 43 passes information indicating that printer 2 has been selected to general-purpose print program 41 (A12). General-purpose print program 41 then starts auxiliary program 42 corresponding to printer 2 and passes information indicating that printer 2 has been selected (A13).
[0030] When the auxiliary program 42 is started in response to the instruction in A13, it acquires the capability information of the printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to acquire the capability information (A21). The general-purpose printing program 41 sends a command requesting the capability information to the printer 2 and acquires the capability information from the printer 2 (A22). The general-purpose printing program 41 passes the acquired capability information to the auxiliary program 42 (A23). This allows the auxiliary program 42 to acquire the capability information of the printer 2.
[0031] The general-purpose printing program 41 communicates with the printer 2 in A22 via the OS 21, for example, by communication according to IPP (Internet Printing Protocol). The auxiliary program 42 may obtain capability information directly from the printer 2, for example, by using MIB (Management Information Base), instead of making a request to the general-purpose printing program 41. The capability information that the auxiliary program 42 can obtain from the printer 2 may include more information than the capability information obtained via the OS 21.
[0032] The capability information acquired from the printer 2 includes information on setting items that can be set as print settings and parameters that can be set for each setting item. For example, the capability information includes information on items related to the paper feed trays and output trays available for the printer 2, such as information indicating selectable paper feed trays and output trays, and paper information such as the size and type of paper loaded in each paper feed tray. The capability information may also include information on print resolutions that the printer 2 can support, information on image processing functions that the printer 2 can execute, information indicating the status of the printer 2, such as information on the remaining amounts of consumables, information indicating exclusion settings and how to resolve them, and information indicating default print settings. The capability information is used, for example, by the general-purpose printing program 41 and the editing application 43 when displaying a print setting screen or when determining an exclusion error in the print settings.
[0033] The auxiliary program 42 stores the acquired capability information in the memory 12 (A31). The auxiliary program 42 also passes the acquired capability information to the general-purpose printing program 41 (A33). The general-purpose printing program 41 reflects the capability information passed from the auxiliary program 42 in the print setting screen displayed in A03 (A35). For example, if the general-purpose printing program 41 receives capability information indicating that an additional tray is installed in the printer 2, the general-purpose printing program 41 displays a print setting screen in which the additional tray is included as an option. The general-purpose printing program 41 may also store the capability information passed from the auxiliary program 42 in the memory 12, or pass it to the editing application 43 and share it with the editing application 43.
[0034] The capability information stored in memory 12 in A31 and the capability information passed to the general-purpose printing program 41 or editing application 43 in A33 may be information including all of the capability information acquired from the printer 2, or may be information including only part of the capability information acquired from the printer 2. For example, the capability information passed to the general-purpose printing program 41 or editing application 43 may be information only regarding print settings that the general-purpose printing program 41 or editing application 43 can accept.
[0035] The user operates the displayed print setting screen and determines the print settings (A37). The capability information of the printer 2 is also passed to the general-purpose print program 41 and the editing application 43, so that the print setting screen displays selectable options that match the capabilities of the printer 2. The general-purpose print program 41 can pass the determined print settings to the editing application 43.
[0036] Next, the print execution procedure will be described with reference to the sequence diagram in Fig. 3. After the user determines the image to be printed and the print settings for the printer 2, the user inputs a print execution instruction into the editing application 43 (B01). When the editing application 43 receives the user's print execution instruction, it determines that it has received an execution instruction from the general-purpose printing program 41 to cause the printer 2 to print the selected image, since the general-purpose printing program 41 is incorporated into the OS 21 of the PC 1.
[0037] The editing application 43 outputs the received print instruction information to the general-purpose print program 41 (B02). The general-purpose print program 41 acquires, from the editing application 43, image data indicating the image to be printed and information indicating the print settings as the print instruction information.
[0038] 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 (B03). 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 print data. Note that if the image data to be printed is data suitable for generating print data, the generation of intermediate data may be omitted and the intermediate data may be used as is.
[0039] Before generating the intermediate data, the general-purpose printing program 41 may start the auxiliary program 42 corresponding to the designated device, the printer 2, and notify the printer 2 that print job processing has begun. When started by the general-purpose printing program 41, the auxiliary program 42 can pass information indicating various instructions used when generating the intermediate data to the general-purpose printing program 41 as necessary.
[0040] After generating the intermediate data, the general-purpose printing program 41 outputs an execution instruction to the auxiliary program 42, thereby starting the auxiliary program 42 (B05). The auxiliary program 42 can obtain the intermediate data generated by the general-purpose printing program 41, for example, by making a request to the general-purpose printing program 41. The auxiliary program 42 can edit the intermediate data and print setting information received from the general-purpose printing program 41 as necessary. The auxiliary program 42 saves the intermediate data and print setting information obtained from the general-purpose printing program 41, or the edited intermediate data and print setting information, in the memory 12 (B06).
[0041] The auxiliary program 42 registers an error event for this printing in the general-purpose printing program 41 (B11). If an error event has been registered and 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 the error information to the auxiliary program 42.
[0042] 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 B11 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 B11 is not necessary.
[0043] The auxiliary program 42 instructs the general-purpose printing program 41 to rasterize the intermediate data and send the rasterized data (B12). The general-purpose printing program 41 rasterizes the intermediate data to generate print data (B13), and sends the generated print data and a print command to the printer 2 (B14). B12 is a process for sending the print command to the printer 2 and is an example of a print process.
[0044] Note that the auxiliary program 42 may perform rasterization instead of the general-purpose printing program 41. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and may pass the generated print data and print settings to the general-purpose printing program 41 and instruct it to be sent to the printer 2. The auxiliary program 42 may also process the print data generated by the general-purpose printing program 41 or the auxiliary program 42 as needed. Note that the print data sent to the printer 2 may be data in a format that can be printed by the printer 2.
[0045] Rasterization by the auxiliary program 42 allows greater flexibility than rasterization by the general-purpose printing program 41, and is more likely to generate print data suitable for printing on 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.
[0046] Furthermore, instead of sending the print data from the general-purpose print program 41 to the printer 2, the auxiliary program 42 may send a print command instructing the printer 2 to execute printing and the print 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.
[0047] The printer 2 starts printing based on the received print data (B21). The printer 2 then notifies the general-purpose printing program 41 of information indicating the results of the print execution (B22). After the general-purpose printing program 41 sends the generated print data to the printer 2 in B14, it becomes able to accept a result notification sent from the printer 2.
[0048] When printing is complete, the printer 2 notifies the general-purpose printing program 41 of the completion of printing in B22. In this case, the general-purpose printing program 41 notifies the editing application 43 of the completion of printing and ends the processing. Note that when printing is complete, 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 as if printing is complete based on the completion of sending the generated raster data to the printer 2.
[0049] On the other hand, if an error occurs during printing processing in printer 2, printer 2 sends an error notification including information about the error that occurred in B22 to the general-purpose printing program 41. The procedure after an error occurs in printer 2 will be described with reference to the sequence diagram in FIG.
[0050] If an error occurs during printing, the printer 2 sends an error notification to the general-purpose printing program 41 in B22 of FIG. 3 (C01). When the general-purpose printing program 41 receives an error notification from the printer 2 while an error event has been registered in B11 of FIG. 3, it starts the auxiliary program 42 and outputs error information indicating that an error has occurred in the printer 2 to the auxiliary program 42 (C02). This allows the auxiliary program 42 to acquire the error information. The error information that the auxiliary program 42 receives from the printer 2 via the general-purpose printing program 41 is information indicating that the capabilities of the printer 2 may have changed, and is an example of specific information. C02 is an example of an acquisition process.
[0051] The error notification sent from the printer 2 may include information indicating the type of error, such as cover open, no coloring material, very little coloring material, little coloring material, no paper, little paper, paper jam, no free space in the output tray, little free space in the output tray, paper size mismatch, and others.
[0052] The general-purpose printing program 41 may simply pass the error notification information received from the printer 2 to the auxiliary program 42 in C02. The general-purpose printing program 41 may simply launch the auxiliary program 42 in C02 without outputting the error information. In this case, the auxiliary program 42 may request the general-purpose printing program 41 to obtain the error information. The general-purpose printing program 41 or the auxiliary program 42 may also display the error information on the user IF 13.
[0053] If an error occurs in printer 2 during printing, it is possible that the error is due to a change in the capabilities of printer 2. For example, if the capabilities of printer 2 have changed from those indicated in the capabilities information acquired in A23 of Figure 2, the print settings may not match the current capabilities of printer 2. For example, an error may occur if the output tray specified in the print settings is unavailable, or if the paper loaded in the specified input tray has been changed.
[0054] Furthermore, even if printing of received print data is complete, the printer 2 may be able to send an error notification if the capabilities of the printer 2 have changed since the last time the capability information was sent. For example, the printer 2 may send an error notification if the capabilities have changed since the last time the capability information was sent. By the printer 2 sending an error notification when the capabilities have changed, the auxiliary program 42 can know that the capabilities of the printer 2 have changed.
[0055] In response to receiving the error information, the auxiliary program 42 outputs a capability update instruction to the general-purpose printing program 41 (C05). Upon receiving the capability update instruction, the general-purpose printing program 41 outputs a capability update request to the auxiliary program 42 (C06). The capability update request is an instruction from the general-purpose printing program 41 to the auxiliary program 42 requesting information for updating the capability information held in the general-purpose printing program 41. By outputting a capability update instruction to the general-purpose printing program 41, the auxiliary program 42 can receive a capability update request from the general-purpose printing program 41.
[0056] Upon receiving the capability update request, the auxiliary program 42 acquires current capability information from the printer 2 (C07). The auxiliary program 42 may acquire the capability information by making a direct request to the printer 2, or may acquire the capability information via the general-purpose printing program 41 by making a request to the general-purpose printing program 41, as in A21 to A23 of FIG. 2. The auxiliary program 42 then stores the acquired capability information in the memory 12 (C08). C08 is the same process as A31 of FIG. 2, and is a process for updating the information stored in A31.
[0057] Furthermore, the auxiliary program 42 determines whether it is necessary to resend the print data to complete printing based on the error information received in C02. For example, if the error type indicated by the error information is "paper jam" or "cover open," the printer 2 can resume printing if the error is resolved by the user's operation. Therefore, the auxiliary program 42 does not need to resend the print data. On the other hand, if the error type is "no coloring material," there is a high possibility that the print data will be lost if the user replaces the coloring material. Therefore, the auxiliary program 42 determines that it is necessary to resend the print data.
[0058] If it is determined that the print data needs to be resent (opt: [Resend Required]), the auxiliary program 42 further determines whether the print settings stored in B06 of FIG. 3 need to be changed, i.e., whether the print settings are valid (C11). C11 is an example of a determination process. For example, if the output tray specified in the print settings is unavailable, changing the output tray specified in the print settings is likely to resolve the error.
[0059] If it is determined that the print settings need to be changed in accordance with the capability information acquired in C07 (opt: [change required]), the auxiliary program 42 changes the print settings to conform to the capability information (C12). For example, the auxiliary program 42 changes the output destination paper output tray to an available paper output tray. The auxiliary program 42 may notify the user that the print settings have been changed. Alternatively, the auxiliary program 42 may display a message on the user IF 13 indicating that the print settings need to be changed, and accept the change in print settings through a user operation.
[0060] The auxiliary program 42 passes the intermediate data stored in B06 of FIG. 3 and the print settings changed as necessary to the general-purpose printing program 41, requesting that the intermediate data be rasterized and sent to the printer 2 (C15). The general-purpose printing program 41 generates print data (C17) and sends it to the printer 2 (C18), similar to B13-B14 of FIG. 3. The printer 2 executes printing based on the received print data (C19). C15 is an example of a reprint process. The auxiliary program 42 changes the print settings to suit the current capabilities of the printer 2 and sends a print command according to the changed print settings to the printer 2 to perform reprinting, which increases the likelihood of completing printing.
[0061] Furthermore, the auxiliary program 42 passes the capability information to the general-purpose printing program 41 in response to the capability update request received in C06 (C21). This allows the general-purpose printing program 41 to update the capability information indicating the capabilities of the printer 2, i.e., the information received from the auxiliary program 42 in A33 of FIG. 2 and stored in the memory 12 (C22). The auxiliary program 42 may instruct the general-purpose printing program 41 to update the capability information in C21. C21 is a process for updating the capability information stored in the memory 12 and is an example of an update process.
[0062] In response to an error occurring in the printer 2 during printing, the auxiliary program 42 outputs a capability update instruction, acquires the capability information again, and updates the capability information of the general-purpose printing program 41 to the latest information. Therefore, from the next printing onwards, there is a high possibility that the print instruction will correspond to the current capability of the printer 2, and inappropriate print settings can be avoided.
[0063] As described above in detail, the auxiliary program 42 of the first embodiment, for example, when the printer 2 is selected, causes the CPU 11 of the PC 1 to acquire capability information indicating the capabilities of the printer 2 and stores the acquired capability information in the memory 12. Then, in response to acquiring information indicating a possible change in the capabilities of the printer 2 as error information, the auxiliary program 42 causes the CPU 11 to acquire capability information from the printer 2 and update the capability information stored in the memory 12. As a result, after the capability information is updated, the general-purpose printing program 41 can use print settings that reflect the updated capability information. In other words, even if the capabilities of the printer 2 change after the printer 2 is selected, there is a high possibility that the new capabilities of the printer 2 can be accommodated.
[0064] Next, a PC using the auxiliary program 42 of the second embodiment will be described in detail with reference to the accompanying drawings. The PC of the second embodiment has a built-in status monitor capable of monitoring the printer 2, and the auxiliary program 42 of the second embodiment differs from the first embodiment in that it can use information stored by the status monitor. The same components and procedures as those of the first embodiment are designated by the same reference numerals as those of the first embodiment, and their description will be omitted.
[0065] 5, the memory 12 of the PC 3 of the second embodiment stores various programs and data, including an OS 21 including a general-purpose printing program 41, an auxiliary program 42, an editing application 43, and a status monitor 44. The status monitor 44 is a program that causes the CPU 11 to periodically communicate with the printer 2 connected to the PC 3 and periodically obtain status information from the printer 2. The status monitor 44 is an example of a status monitor program.
[0066] The status monitor 44 resides on the PC 3 while the PC 3 is running, and periodically attempts to communicate with the printer 2. If the printer 2 is online, the status monitor 44 can obtain status information from the printer 2. The status information includes, for example, information indicating whether the printer 2 is printing or on standby, information indicating the communication status between the PC 3 and the printer 2, information indicating the remaining amounts of consumables such as paper and coloring materials, and information indicating an error if the printer 2 is in an error state.
[0067] The status monitor 44 stores the acquired status information in the memory 12 for comparison with the next status information. The status monitor 44 then compares the acquired status information with the previous status information stored in the memory 12, and if there is a change in the capabilities of the printer 2, it can store change information indicating the change in a predetermined memory area of the memory 12. The predetermined memory area of the memory 12 is an area that can be shared by the status monitor 44 and the auxiliary program 42. The predetermined memory area of the memory 12 may be, for example, a Windows registry.
[0068] The change information is a flag indicating that there has been a change in the capabilities of the printer 2, and does not need to include information indicating the nature of the change. Furthermore, the status monitor 44 may store change information if the change in status information is related to the capabilities of the printer 2. In other words, if the change in status information is, for example, a change in the remaining amount of consumables within a range that does not result in an error or warning, or a change between printing in progress and standby, the status monitor 44 may not store change information.
[0069] For example, if the user changes the size or type of paper loaded in the paper feed tray, the capabilities of the printer 2 change. In this case, the status monitor 44 determines that there has been a change in the capabilities of the printer 2 because the status information has changed to an extent that affects the capabilities of the printer 2, and stores the change information in memory 12. The change information stored by the status monitor 44 is an example of specific information.
[0070] The PC 3 in the second embodiment can also execute a print setting procedure and a print execution procedure as processing procedures related to printing on the printer 2. The print setting procedure executed by the PC 3 is the same as the print setting procedure in the first embodiment shown in the sequence diagram of Fig. 2. Note that in the second embodiment, when storing the capability information at A31 in Fig. 2, the auxiliary program 42 may delete the change information stored by the status monitor 44 if the change information is stored in the memory 12.
[0071] Next, the print execution procedure executed in the second embodiment will be described with reference to the sequence diagram of Fig. 6. In Fig. 6, the same steps as those in the print execution procedure in the first embodiment (see Fig. 3) are denoted by the same reference numerals.
[0072] The user inputs a print command into the editing application 43 (B01). The editing application 43 outputs the received print command information to the general-purpose printing program 41 (B02). The general-purpose printing program 41 generates intermediate data based on the image data of the image to be printed (B03). After generating the intermediate data, the general-purpose printing program 41 outputs an execution command to the auxiliary program 42, thereby starting the auxiliary program 42 (B05).
[0073] The auxiliary program 42 determines whether change information is stored in a predetermined memory area of the memory 12 (D01). If it determines that change information exists (opt: [change information exists]), the auxiliary program 42 outputs a capability update instruction to the general-purpose printing program 41 (D11). Upon receiving the capability update instruction, the general-purpose printing program 41 outputs a capability update request to the auxiliary program 42 (D12).
[0074] The auxiliary program 42 acquires the latest capability information from the printer 2 (D13) and stores the acquired capability information in the memory 12 (D14). Steps D11 to D14 are the same as steps C05 to C08. Furthermore, the auxiliary program 42 passes the capability information to the general-purpose printing program 41 (D15). This allows the general-purpose printing program 41 to update the capability information indicating the capabilities of the printer 2 (D16). Step D15 is the same as step C21 and is an example of an update process. After updating the capability information to the latest, the auxiliary program 42 may delete the change information stored by the status monitor 44.
[0075] The auxiliary program 42 acquires intermediate data and print setting information by making a request to the general-purpose printing program 41 based on the execution instruction received in B05 (D21). The auxiliary program 42 edits the intermediate data and print settings, if necessary, based on the capability information acquired in D13 (D22). The auxiliary program 42 may automatically edit the intermediate data and print settings, or may accept editing by the user.
[0076] In this embodiment, the status monitor 44 monitors the capabilities of the printer 2 and stores change information in the memory 12 if the capabilities change. If change information is stored, the auxiliary program 42 updates the capability information to the latest information. This increases the likelihood that subsequent printing will be able to accommodate the current capabilities of the printer 2. For example, if change information is stored when the auxiliary program 42 is launched based on a print execution instruction, the auxiliary program 42 obtains the latest capability information and edits the intermediate data and print settings, thereby creating intermediate data and print settings that correspond to the current capabilities of the printer 2. Note that the auxiliary program 42 may check change information not only when launched based on a print execution instruction, but also, for example, when launched based on an instruction for detailed print settings.
[0077] The auxiliary program 42 passes the edited intermediate data and print settings to the general-purpose printing program 41, and requests that the intermediate data be rasterized and sent to the printer 2 (D25). The general-purpose printing program 41 generates print data (D26) and sends the generated print data and print command to the printer 2 (D27). D25 is a process for sending the print command to the printer 2, and is an example of a print process. The printer 2 starts printing based on the received print data (D31).
[0078] As described above in detail, the auxiliary program 42 of the second embodiment, like the auxiliary program 42 of the first embodiment, causes the CPU 11 to acquire capability information from the printer 2 and update the capability information stored in the memory 12 in response to acquiring, as change information, information indicating that the capabilities of the printer 2 may have changed after the printer 2 was selected. Therefore, even if the capabilities of the printer 2 change after the printer 2 is selected, there is a high possibility that the changed capabilities of the printer 2 can be accommodated.
[0079] Next, a PC that uses the auxiliary program 42 of the third embodiment will be described in detail with reference to the accompanying drawings. The PC of the third embodiment has the same configuration as the first embodiment. The general-purpose printing program 41 of the third embodiment has a function for monitoring the status of the printer 2. The auxiliary program 42 of the third embodiment differs from the auxiliary programs 42 of the first and second embodiments in that it can use information acquired by the general-purpose printing program 41. Configurations and procedures that are similar to those of the first embodiment are denoted by the same reference numerals as those of the first embodiment, and descriptions thereof will be omitted.
[0080] Furthermore, the printer 2 of the third embodiment can send error information indicating that an error has occurred to the PC 1, even if an instruction to execute printing has not been received, for example, if an error has occurred. In other words, the printer 2 executes C01 of FIG. 4 even if it has not received B14 of FIG. 3. Furthermore, the printer 2 can output error information to the PC 1 that includes information indicating that the capabilities of the printer 2 have changed. For example, if the paper size or paper type of the paper loaded in the paper feed tray is changed, the printer 2 sends error information to the PC 1 that includes information indicating that the capabilities have changed. Even in this configuration, the error information sent from the printer 2 is an example of specific information.
[0081] The general-purpose printing program 41 of the third embodiment resides, for example, on the PC 1 and can acquire information sent from the printer 2 not only after a print command has been sent but also after the printer 2 has sent the print command. The printer 2 may send error information not spontaneously but only when requested by the general-purpose printing program 41. For example, the general-purpose printing program 41 may have a function to periodically check the printer 2 for errors. When the OS 21 including the general-purpose printing program 41 receives error information from the printer 2, it may notify the auxiliary program 42 of the received error information.
[0082] 4 even when error information is received from the general-purpose printing program 41. When the auxiliary program 42 receives error information from the general-purpose printing program 41 (C02), the auxiliary program 42 outputs a capability update instruction (C05). For example, the auxiliary program 42 may output a capability update instruction when the error information includes information indicating that the capability has changed.
[0083] When the auxiliary program 42 outputs a capability update instruction, C06 to C08 and C21 are executed as described above. This updates the capability information of the printer 2 stored in the memory 12 by the general-purpose printing program 41. In other words, the information indicating the changed capabilities of the printer 2 is shared between the auxiliary program 42, the general-purpose printing program 41, and the editing application 43. Therefore, thereafter, the possibility of accepting print settings that are inappropriate for the capabilities of the printer 2 is reduced.
[0084] As explained in detail above, the auxiliary program 42 of the third embodiment, like the auxiliary program 42 of the first embodiment, updates the capability information stored in the memory 12 if the capabilities of the printer 2 change after the printer 2 is selected. Therefore, there is a high possibility that the changed capabilities of the printer 2 can be accommodated thereafter.
[0085] 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 printer 2 connected to the PC 1 is not limited to a single-function printer, but may be any device with a printing function, such as a multifunction printer, copier, or fax machine. Furthermore, the number of printers 2 connected to the PC 1 is not limited to the illustrated example, and may be two or more.
[0086] 2, the auxiliary program 42 stores the acquired capability information, but it does not have to store it. However, if the acquired capability information is stored and there is no possibility that the capability has changed, the auxiliary program 42 can easily use the capability information by reading the capability information from the memory 12 and using it.
[0087] Furthermore, if the user changes the default printer from another printer to printer 2 via the OS 21 after the print setting screen is displayed by the general-purpose print program 41, the general-purpose print program 41 may also start the auxiliary program 42. Furthermore, the auxiliary program 42 may be started not only when printing is selected, but also when printer 2 is selected as a device setting, for example. Even in these cases, the auxiliary program 42 may be able to execute a procedure for updating the capability information.
[0088] 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. 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.
[0089] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of the various forms. 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.
[0090] Furthermore, in any sequence diagram disclosed in each embodiment, the execution order of multiple processes in any multiple steps can be arbitrarily changed or can be executed in parallel as long as no contradiction occurs in the process content.
[0091] The processes disclosed in each aspect may be executed by hardware such as a single CPU, multiple CPUs, or an ASIC, or a combination thereof. The processes disclosed in each aspect may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method.
[0092] 1, 3 PC 2 Printer 11 CPU 12 Memory
Claims
1. A support program that can be executed by a computer of an information processing apparatus, corresponds to a printer connected to the information processing apparatus, and supports a general-purpose printing program included in an operating system of the information processing apparatus, wherein at least one of the general-purpose printing program and the support program causes the computer to obtain capability information indicating the capabilities of the printer through communication with the printer, and store the obtained capability information in a memory of the information processing apparatus; the general-purpose printing program and the support program can cause the computer to accept printing settings for causing the printer to execute printing based on the capability information stored in the memory; the support program causes the computer to execute an acquisition process of obtaining specific information indicating that the capabilities of the printer may have changed; and the support program further causes the computer to execute an update process of obtaining the capability information from the printer and updating the capability information stored in the memory in response to obtaining the specific information in the acquisition process.
2. The support program according to claim 1, wherein the support program causes the computer to instruct the general-purpose printing program to update the capability information in response to obtaining the specific information in the acquisition process, and causes the update process to be executed by the instruction.
3. The support program according to claim 1, wherein in the acquisition process, the specific information notified from the general-purpose printing program is obtained, the general-purpose printing program can receive the specific information from the printer, and when the specific information is received, the general-purpose printing program can notify the received specific information to the support program; and the support program causes the computer to execute the update process in response to obtaining the specific information from the general-purpose printing program in the acquisition process.
4. The support program according to claim 3, wherein when a printing instruction to cause the general-purpose printing program to perform printing on the printer is given to the computer and thus a process is requested from the general-purpose printing program, the support program causes the computer to execute a printing process for transmitting a printing command to the printer; and after transmitting the printing command to the printer, the support program causes the computer to execute the update process in response to the acquisition of the specific information in the acquisition process. The support program is configured as described above.
5. The support program according to claim 4, wherein the specific information is error information indicating that an error has occurred in the printer; in the acquisition process, the error information notified from the general-purpose printing program is acquired, the general-purpose printing program is capable of receiving the error information from the printer, and when the error information is received, the general-purpose printing program is capable of notifying the error information to the support program; and after transmitting the printing command to the printer, the support program causes the computer to execute the update process in response to the acquisition of the error information from the general-purpose printing program in the acquisition process. The support program is configured as described above.
6. The support program according to claim 5, wherein the support program causes the computer to execute a determination process for determining whether or not the printing settings according to the printing instruction are valid based on the updated ability information by the update process; and when it is determined in the determination process that the printing settings according to the printing instruction are not valid, the support program causes the computer to execute a reprinting process for changing the printing settings according to the printing instruction to valid printing settings and transmitting a printing command according to the changed printing settings to the printer. The support program is configured as described above.
7. In the support program according to claim 3, the specific information is error information indicating that an error has occurred in the printer, in the acquisition process, the error information notified from the general-purpose printing program is acquired, the general-purpose printing program can receive the error information from the printer, and when the error information is received, the error information can be notified to the support program, the support program causes the computer to execute the update process in response to acquiring the error information from the general-purpose printing program in the acquisition process, a support program configured as described above.
8. In the support program according to claim 7, the printer can output information indicating that the printer's capabilities have changed, included in the error information, when the printer's capabilities change, the support program causes the computer to execute the update process in response to acquiring the error information including the information indicating that the capabilities have changed from the general-purpose printing program in the acquisition process, a support program configured as described above.
9. In the support program according to claim 1, in the acquisition process, the specific information is acquired by reading from a predetermined memory area of the information processing device, the information processing device can incorporate a status monitor program, the status monitor program communicates with the printer periodically to monitor the printer's capabilities, and when there is a change in the printer's capabilities, the specific information can be stored in the predetermined memory area, the support program causes the computer to execute the update process in response to the specific information being stored in the predetermined memory area and acquiring the specific information from the predetermined memory area in the acquisition process, a support program configured as described above.
10. In the support program according to claim 9, when a print instruction for causing the computer to perform printing on the printer is given to the general-purpose printing program and thus a process is requested from the general-purpose printing program, the support program is configured to execute the acquisition process and a printing process for transmitting a print command to the printer.
Citation Information
Patent Citations
Information processing system, information processing method, information processing program and storage medium
JP2008004052A
Printer driver program, and printing instruction device
JP2009301127A
Information processing apparatus, method of controlling information processing apparatus, and program
JP2020004158A
Application program and terminal device
JP2020087062A
Information processing apparatus and application
JP2022089041A