Support program

The support program dynamically updates printer capability information to ensure print settings align with current capabilities, addressing the issue of capability changes in printers.

JP2025115057APending Publication Date: 2025-08-06BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024009373
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-25
Publication Date
2025-08-06

AI Technical Summary

Technical Problem

Printer capabilities can change due to factors like additional trays being attached or detached, and existing technologies that cache capability information at printer selection may fail to accommodate these changes.

Method used

A support program that enables a computer to acquire and update printer capability information dynamically by communicating with the printer, ensuring print settings reflect the current capabilities.

Benefits of technology

Ensures that print settings adapt to the printer's current capabilities, accommodating changes and preventing errors by updating capability information in response to specific notifications from the printer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025115057000001_ABST
    Figure 2025115057000001_ABST
Patent Text Reader

Abstract

To provide a technology of an information processing device equipped with an OS-standard general purpose printing program, configured to easily comply with current capabilities of a printer.SOLUTION: At least one of a general purpose printing program 41 and an auxiliary program 42 included in an OS 21 of a PC 1 can cause a CPU 11 of the PC 1 to communicate with a printer 2 to acquire capability information indicating the capabilities of the printer 2, and store the acquired capability information in a memory 12. The general purpose printing program 41 and the auxiliary program 42 can cause the CPU 11 to accept print settings for causing the printer 2 to execute printing on the basis of the capability information stored in the memory 12. The auxiliary program 42 causes the CPU 11 to acquire information indicating that the capabilities of the printer 2 may have changed, acquire capability information from the printer 2 in response to the acquisition of the information, and update the capability information stored in the memory 12.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 that supports control of a printer. [Background technology]

[0002] In recent years, a technology has been put into practical use that controls a printer using a standard general-purpose print program that is part of the operating system (OS) and does not use a printer driver provided by the printer vendor. With this technology, when the OS detects a printer, it associates it with the OS's standard general-purpose print program, and then when a print instruction for that printer is received, the OS's standard general-purpose print program generates print data, making it possible to print using the OS's standard general-purpose print program, 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. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2023-136090 Summary of the Invention [Problem to be solved by the invention]

[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 the printer is selected and data based on that capability information is cached, as in the configuration of Patent Document 1, and then that cached capability information is used, it may not be able to accommodate the printer's current capabilities. [Means for solving the problem]

[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. [Effects of the Invention]

[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. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 2 is a block diagram showing an outline of the electrical configuration of a PC. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of a print setting procedure. [Figure 3] FIG. 10 is a sequence diagram illustrating an example of a printing execution procedure. [Figure 4] FIG. 10 is a sequence diagram illustrating an example of a procedure after an error occurs. [Figure 5] FIG. 2 is a block diagram showing an outline of the electrical configuration of a PC. [Figure 6] FIG. 10 is a sequence diagram illustrating an example of a printing execution procedure. DETAILED DESCRIPTION OF THE INVENTION

[0011] A personal computer (hereinafter referred to as a "PC") that uses the support program of the 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. The memory 12 stores various programs and various data. 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 operations by the user. Note that the user IF 13 may be a combination of the display 13a capable of displaying 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 an external device such as the printer 2. The communication IF 14 is compatible with 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 equipped with multiple communication IFs 14 compatible with 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 that includes 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] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), and Android (registered trademark).

[0018] The OS 21 includes a general-purpose printing program 41. The general-purpose 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 general-purpose printing program 41. The general-purpose 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 a 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 a communication function provided by 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 the control of the target hardware. The auxiliary program 42 of 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. A separate auxiliary program 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 storage designated by the OS 21, and install it in the PC 1. The OS 21 associates the identification information of the installed 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 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, via the user IF 13, a print execution instruction for causing the printer 2 to execute printing. 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] In this embodiment, the PC 1 is connected to the printer 2 via the communication IF 14 as shown in FIG. 1. 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 may be 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. 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, for convenience, as if each program were independently performing 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 a detailed description of the OS 21. Also, 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 Fig. 2. The editing application 43 can create and edit text and images based on user instructions. When the user wants to print the text or image currently being displayed, the user selects print in the editing application 43 (A01). The user can select print from a menu of operation items provided in the editing application 43, for example.

[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 causes the user IF 13 to display a print setting screen (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 in which information specified by the auxiliary program can be displayed.

[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, the editing application 43 passes information indicating that printer 2 has been selected to the general-purpose printing program 41 (A12). The general-purpose printing program 41 starts the 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 (abbreviation for Internet Printing Protocol). The auxiliary program 42 may obtain capability information directly from the printer 2, for example, by using MIB (abbreviation for 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 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 or the editing application 43 when displaying a print setting screen or determining exclusion errors 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, when 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 by A31 and the capability information passed to the general-purpose printing program 41 or editing application 43 by 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 related to print settings that the general-purpose printing program 41 or editing application 43 can accept.

[0035] The user operates the print setting screen that is being displayed and decides on 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 decided 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 decides on the image to be printed and the print settings for printer 2, the user inputs a print execution instruction in editing application 43 (B01). When the user's print execution instruction is received, editing application 43 determines that an execution instruction to cause printer 2 to print the selected image has been received from general-purpose printing program 41, since general-purpose printing program 41 is incorporated into OS 21 of PC 1.

[0037] The editing application 43 outputs the received print instruction information to the general-purpose printing program 41 (B02). The general-purpose printing program 41 acquires, from the editing application 43, image data indicating the image to be printed and information indicating the print settings as 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 acquired 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 image data may be used as is as intermediate data.

[0039] Before generating the intermediate data, the general-purpose printing program 41 may start the auxiliary program 42 corresponding to the designated device, printer 2, and notify the printer 2 that print job processing has started. 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, when the general-purpose printing program 41 receives an error notification from the printer 2 that is executing the printing, the program starts the auxiliary program 42 and passes information about the error 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 every time a print instruction is received, or if the general-purpose printing program 41 has a function for maintaining error event registration information, 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, B11 is not necessary.

[0043] The auxiliary program 42 instructs the general-purpose printing program 41 to rasterize the intermediate data and send the raster data after rasterization (B12). The general-purpose printing program 41 rasterizes the intermediate data to generate print data (B13), and sends the generated print data and 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 send 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 necessary. 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 for 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 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). Then, the printer 2 notifies the general-purpose printing program 41 of information indicating the result 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. Also, the general-purpose printing program 41 may simply start 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. Also, the general-purpose printing program 41 or the auxiliary program 42 may display the error information on the user IF 13.

[0053] If an error occurs in Printer 2 during printing, it may be that the error is caused by a change in the capabilities of Printer 2. For example, if the capabilities of Printer 2 have changed from those indicated in the capability 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 the 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). When the general-purpose printing program 41 accepts the capability update instruction, it 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 in FIG. 2. Furthermore, the auxiliary program 42 stores the acquired capability information in the memory 12 (C08). C08 is the same process as A31 in 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: [need resend]), 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 the determination process. For example, if the output tray specified in the print settings is unavailable, it is highly likely that the error will be resolved by changing the output tray specified in the print settings.

[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 print program 41, and requests that the intermediate data be rasterized and sent to the printer 2 (C15). The general-purpose print 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 in accordance with the changed print settings to the printer 2 to cause it to reprint, so there is a high possibility that printing will be completed.

[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 time 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 that the capabilities of the printer 2 may have changed 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 that uses 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 that can monitor 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. Configurations and procedures that are similar to those of the first embodiment are assigned the same reference numerals as those of the first embodiment, and descriptions thereof will be omitted.

[0065] 5, the memory 12 of the PC 3 in 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, which is 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, the 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 the change information if the change in the status information is related to the capabilities of the printer 2. In other words, if the change in the 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 the change information.

[0069] For example, if the user changes the size or type of paper set 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. 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 execution instruction into the editing application 43 (B01). The editing application 43 outputs the received print instruction 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 instruction 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 capability 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 information about intermediate data and print settings by making a request to the general-purpose print 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 when 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 explained in detail above, 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 given 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 set 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 be able to 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 error information is received 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 connected to PC1 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 connected to PC1 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 device settings, 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, but 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 made public by Microsoft.

[0089] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of each form. 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 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. [Explanation of symbols]

[0092] 1, 3 PCs 2. Printer 11 CPU 12 Memory

Claims

1. A support program that can be executed 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 included in an operating system of the information processing device, At least one of the general-purpose printing program and the support program causes the computer to acquire capability information indicating the capability of the printer by communicating with the printer, and stores the acquired capability information in a memory of the information processing device; the general-purpose printing program and the support program can cause 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 is installed on the computer. executing an acquisition process for acquiring specific information indicating that the capabilities of the printer may have changed; The support program further includes: In response to acquiring the specific information in the acquisition process, executing an update process for acquiring the capability information from the printer and updating the capability information stored in the memory; A support program configured to:

2. 2. The support program according to claim 1, The support program is installed on the computer. In response to the acquisition of the specific information in the acquisition process, an instruction is given to the general-purpose printing program to update the capability information, and the update process is executed in response to the instruction. A support program configured to:

3. 2. The support program according to claim 1, In the acquisition process, the specific information notified from the general-purpose printing program is acquired, and the general-purpose printing program is capable of receiving the specific information from the printer, and when the specific information is received, is capable of notifying the support program of the received specific information; The support program is installed on the computer. In response to the acquisition of the specific information from the general-purpose printing program in the acquisition process, the update process is executed. A support program configured to:

4. 4. The support program according to claim 3, The support program is installed on the computer. When a print instruction to cause the printer to perform printing is given to the general-purpose print program and processing is requested from the general-purpose print program, a print process is executed to send a print command to the printer; The support program further includes: After transmitting the print command to the printer, the update process is executed in response to the specific information being acquired in the acquisition process. A support program configured to:

5. 5. The support program according to claim 4, 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, and the general-purpose printing program is capable of receiving the error information from the printer, and when the error information is received, is capable of notifying the support program of the error information; The support program is installed on the computer. After transmitting the print command to the printer, the update process is executed in response to the error information being acquired from the general-purpose print program in the acquisition process. A support program configured to:

6. 6. The support program according to claim 5, The support program is installed on the computer. executes a determination process to determine whether or not the print settings specified by the print instruction are valid based on the capability information updated by the update process; If it is determined in the determination process that the print settings according to the print instruction are invalid, the print settings according to the print instruction are changed to valid print settings, and a reprint process is executed to send a print command according to the changed print settings to the printer. A support program configured to:

7. 4. 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, and the general-purpose printing program is capable of receiving the error information from the printer, and when the error information is received, is capable of notifying the support program of the error information; The support program is installed on the computer. In response to the error information being acquired from the general-purpose printing program in the acquisition process, the update process is executed. A support program configured to:

8. 8. The support program according to claim 7, When the printer's capabilities change, the printer is capable of outputting information indicating the change in capabilities together with the error information; The support program is installed on the computer. executing the update process in response to the acquisition of the error information including the information indicating that the capability has changed from the general-purpose printing program in the acquisition process; A support program configured to:

9. 2. The support program according to claim 1, In the acquisition process, the specific information is acquired by reading it from a predetermined memory area of the information processing device, and a status monitor program can be incorporated into the information processing device, and the status monitor program can periodically communicate with the printer 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 is installed on the computer. the specific information is stored in the predetermined memory area, and the update process is executed in response to the specific information being acquired from the predetermined memory area in the acquisition process. A support program configured to:

10. 10. The support program according to claim 9, The support program is installed on the computer. When a print instruction to cause the printer to perform printing is given to the general-purpose print program and a process is requested from the general-purpose print program, the acquisition process and a print process for transmitting a print command to the printer are executed. A support program configured to:

Citation Information

Patent Citations

  • Support program

    JP2023136090A