Support program
A support program periodically updates printer capability information to ensure that print settings reflect the current capabilities of the printer, addressing the challenge of changing printer status.
Patent Information
- Application Number
- JP2024011789
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-30
- Publication Date
- 2025-08-12
AI Technical Summary
Printer capabilities can change due to factors like the addition or removal of trays, making it difficult for cached capability information to accurately reflect the current capabilities of the printer.
A support program that periodically acquires printer capability information from a connected printer, allowing it to be reflected in print settings, even after the printer is selected, by using a polling process to update the capability information displayed on user interfaces.
Ensures that print settings can adapt to changes in printer capabilities, enhancing the likelihood of accommodating the current capabilities of the printer.
Smart Images

Figure 2025117103000001_ABST
Abstract
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 created 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 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 capability information indicating the capabilities of the printer, the support program is capable of causing the computer to execute a display process for displaying a predetermined screen capable of accepting operations from a user via a user interface of the information processing device, and the support program is further configured to cause the computer to execute a polling process for periodically obtaining the capability information from the printer when the predetermined screen is displayed in the display process.
[0007] The support program disclosed in this specification periodically acquires printer capability information from a computer of an information processing device, provided that a predetermined screen capable of accepting user operations via the user interface of the information processing device is displayed on the computer. Therefore, the support program and the general-purpose printing program can reflect the acquired capability information in print settings. This increases the likelihood of responding to changes in printer capability even after a printer has been selected.
[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 a general-purpose print program built into it that is standard for the OS. [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 detailed setting procedure. [Figure 4] FIG. 10 is an explanatory diagram showing an example of a detailed setting screen. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a detailed setting procedure. [Figure 6] FIG. 10 is a sequence diagram illustrating an example of a printing execution procedure. [Figure 7] FIG. 10 is an explanatory diagram illustrating an example of a print preview screen. 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 can operate the displayed print setting screen to issue an advanced setting instruction to accept more detailed print settings, for example, regarding printing on printer 2. The advanced setting procedure, which is the procedure when an advanced setting instruction from the user is accepted, will be described with reference to the sequence diagram in FIG.
[0036] When an instruction for detailed print settings is received through a user operation (B01), the editing application 43 outputs the instruction for detailed settings, i.e., an instruction to display a setting screen for receiving detailed print settings, to the general-purpose printing program 41 (B02). The general-purpose printing program 41 starts the auxiliary program 42 corresponding to the printer 2 and passes an instruction to start receiving the detailed print settings (B03). In B03, the general-purpose printing program 41 passes information on the currently set print settings to the auxiliary program 42 along with the instruction to start receiving.
[0037] When the auxiliary program 42 is started based on an instruction for detailed print settings, it displays a detailed settings screen 60 on the user IF 13 (B05), as shown in FIG. 4, and becomes able to accept user operations. B05 is an example of a display process. The detailed settings screen 60 is an example of a print settings screen, and an example of a predetermined screen. The instruction in B03 is also an instruction to display the detailed settings screen 60.
[0038] The advanced settings screen 60 displayed by the auxiliary program 42 includes, for example, a selection field 61 for accepting parameters for various print setting items, an "OK" button 62, and a "Cancel" button 63. The selection field 61 of the advanced settings screen 60 includes, as options, parameters that can be executed by the printer 2. Note that, since there are many print setting items that can be accepted on the advanced settings screen 60, the auxiliary program 42 may be able to accept an instruction to switch between items to be selected, for example, using multiple tabs.
[0039] While displaying the detailed setting screen 60, the auxiliary program 42 starts a procedure for updating the capability information stored in the memory 12. The auxiliary program 42 outputs a capability update instruction to the general-purpose printing program 41 (B11), for example, periodically and repeatedly (loop(1, *)).
[0040] When the general-purpose printing program 41 receives the capacity update instruction, it outputs a capacity update request to the auxiliary program 42 (B12). The capacity update request is an instruction from the general-purpose printing program 41 to the auxiliary program 42 requesting information for updating the capacity information held in the general-purpose printing program 41. The auxiliary program 42 can receive a capacity update request from the general-purpose printing program 41 by outputting a capacity update instruction to the general-purpose printing program 41.
[0041] Upon receiving the capability update request, the auxiliary program 42 acquires current capability information from the printer 2 (B13). 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. The auxiliary program 42 can periodically acquire the capability information from the printer 2 by periodically executing B11. The process of repeating B11 to B13 is an example of a polling process.
[0042] In B13, the auxiliary program 42 may acquire only a portion of the capability information of the printer 2. Specifically, the auxiliary program 42 may request capability information that includes only information related to the display of the detailed setting screen 60. Acquiring only a portion of the information reduces the communication load compared to acquiring all of the information.
[0043] The auxiliary program 42 compares the performance information stored in the memory 12 with the performance information acquired in B13 to determine whether there has been a change in the performance of the printer 2. The performance information stored in the memory 12 is, for example, the performance information stored in the memory 12 in A31 of FIG. 2 or B21, which will be described later.
[0044] If it is determined that the capabilities of the printer 2 have changed (opt: [changed]), the auxiliary program 42 updates and stores the capability information stored in the memory 12 (B21). B21 is a process for updating the capability information stored in the memory 12 and is an example of an update process. Furthermore, the auxiliary program 42 updates the displayed detailed setting screen 60 (B22). B22 is an example of a screen update process.
[0045] For example, if the paper loaded in the paper tray is changed after the detailed settings screen 60 is displayed in B05, the selectable parameters in the selection field 61 may change. Also, for example, if the coloring material for color printing runs out and color printing becomes impossible, the printer 2 will only be able to accept print instructions where the color setting is set to monochrome printing. The auxiliary program 42 updates the detailed settings screen 60 based on the updated capability information, thereby displaying selectable parameters as options in response to changes in the capabilities of the printer 2.
[0046] Then, the auxiliary program 42 passes the capability information to the general-purpose printing program 41 based on the information acquired in B13 (B23). This allows the general-purpose printing program 41 to update the capability information indicating the capability 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 (B24). B23 is a process for updating the capability information stored in the memory 12, and is an example of an update process.
[0047] If the currently acquired capability information has changed from the previously acquired capability information, the auxiliary program 42 causes the general-purpose printing program 41 to update the capability information of the printer 2. The auxiliary program 42 may instruct the general-purpose printing program 41 to update the capability information in B23. By updating the information held by the general-purpose printing program 41, options suitable for the updated capabilities of the printer 2 are subsequently displayed on the print setting screen displayed by the general-purpose printing program 41 and the editing application 43.
[0048] Meanwhile, the user can perform a setting operation for the print settings on the displayed detailed setting screen 60. When an operation by the user is accepted (opt:[operation accepted], B31), the auxiliary program 42 determines whether the accepted operation is an operation to end the acceptance of the print settings on the detailed setting screen 60. Specifically, when the auxiliary program 42 accepts an operation on the "OK" button 62 or the "Cancel" button 63 on the detailed setting screen 60 (see FIG. 4), it determines that the operation is an instruction to end the print settings.
[0049] When an instruction to end the print settings is received (break:[settings end instruction]), the auxiliary program 42 stops outputting periodic capability update instructions (B11). Furthermore, the auxiliary program 42 decides on the print settings and passes the print setting information to the general-purpose printing program 41 (B32). When the auxiliary program 42 receives an operation on the "OK" button 62 in B31, it passes the information on the print settings being displayed to the general-purpose printing program 41. On the other hand, when the auxiliary program receives an operation on the "Cancel" button 63, the auxiliary program 42 does not pass the print setting information received on the detailed settings screen 60 to the general-purpose printing program 41, and returns to the print settings before the detailed settings screen 60 was displayed.
[0050] Then, the auxiliary program 42 notifies the general-purpose printing program 41 of the completion of the detailed settings (B41). The auxiliary program 42 may store information about the determined print settings in the memory 12. The general-purpose printing program 41 notifies the editing application 43 of the completion of the detailed settings (B42). As a result, if the capabilities of the printer 2 change after the printer 2 is selected, the general-purpose printing program 41 and the editing application 43 can reflect the changed capabilities of the printer 2 in the print settings screen displayed in A35.
[0051] If the user's operation is not an instruction to end the print settings, the auxiliary program 42 updates the displayed detailed settings screen 60 based on the user's operation (B33) and continues to periodically output a capability update instruction (B11). The auxiliary program 42 periodically repeats output of B11 while the detailed settings screen 60 is displayed until it receives an instruction to end the settings from the user. While the detailed settings screen 60 is displayed, the auxiliary program 42 waits for a period of time to accept a user operation. Furthermore, while the detailed settings screen 60 is displayed, there is a possibility that the print settings will be changed. The auxiliary program 42 periodically acquires the capability information of the printer 2 while the detailed settings screen 60 is displayed, thereby suppressing processing delays and accepting print settings that match the latest capability information.
[0052] Regardless of whether the capability information has changed, the auxiliary program 42 may update the capability information of the general-purpose printing program 41 in response to acquiring the capability information. In other words, the auxiliary program 42 may execute B21 to B24 unconditionally after B13. In this way, it is not necessary to determine whether there has been a change. On the other hand, if B21 to B24 are executed only when there has been a change, the number of times the memory 12 needs to be updated can be reduced.
[0053] Furthermore, instead of starting to output a capability update instruction upon displaying the detailed settings screen 60, the auxiliary program 42 may start outputting a capability update instruction when a user operation accepted on the currently displayed detailed settings screen 60 is an operation on a specific item, as shown in the sequence diagram of FIG. 5. The specific item is an item whose selectable options change when the capabilities of the printer 2 change, such as a paper input tray, a paper output tray, paper size and paper type, or color settings. Note that in FIG. 5, steps similar to those in FIG. 3 are denoted by the same reference numerals and will be described briefly.
[0054] When the auxiliary program 42 receives an operation on the selection field 61 of the detailed setting screen 60 (see Figure 4) displayed in B05 (C01), it updates the display based on the operation (C02), and further determines whether the received operation is a change operation to a specific item (C03).
[0055] When it is determined that a change operation to a specific item has been accepted (opt:[specific item]), the auxiliary program 42 starts a procedure for updating the capability information stored in the memory 12. The auxiliary program 42, for example, periodically repeats (loop(1,*)) to output a capability update instruction to the general-purpose printing program 41 (B11), accepts a capability update request (B12), and acquires the capability information of the printer 2 (B13). In this case, the process of repeating B11 to B13 is also an example of polling processing. The frequency of executing B11 may be different from that in the procedure of FIG. 3.
[0056] For example, if a user wants to print on paper different from that loaded in the paper tray, the user may change the paper loaded in the paper tray and then select the information for the changed paper as the print settings. Alternatively, the user may change the print settings to the paper they plan to load, and then change the paper loaded in Printer 2. In other words, when an instruction to change the paper tray or paper-related settings in the print settings is received, the capabilities of Printer 2 may have changed or may be changed.
[0057] The auxiliary program 42 compares the capability information acquired in B13 with the capability information stored in memory 12, and if it determines that the capability of the printer 2 has changed (break:[changed]), it stops the periodic output of a capability update instruction (B11) and updates and stores the capability information stored in memory 12 (B21). Furthermore, the auxiliary program 42 updates the displayed detailed setting screen 60 (B22). B22 is an example of a screen update process. Furthermore, the auxiliary program 42 passes the capability information to the general-purpose printing program 41 (B23), and the general-purpose printing program 41 updates the capability information indicating the capability of the printer 2 (B24).
[0058] When a change is made to a specific item, there is a high possibility that the capabilities of the printer 2 will change, and therefore the auxiliary program 42 periodically outputs a capability update instruction, making it highly likely that it will be able to respond to changes in the capabilities of the printer 2. When the capability information changes, it can be assumed that the user's work on the printer 2 has been completed, and thereafter, the printer status is less likely to change. When the capability information changes, the auxiliary program 42 stops outputting the capability update instruction, so the processing load while the detailed setting screen 60 is displayed is low.
[0059] On the other hand, if the user's operation is for an item other than the specific item, there is little possibility that the capabilities of the printer 2 will change. In this case, the auxiliary program 42 does not output a capability update instruction, so the processing load while the detailed setting screen 60 is displayed is small. Examples of items other than the specific item include the number of copies to be printed and the layout.
[0060] Furthermore, even after a change operation to a specific item, the capabilities of the printer 2 may not change. Even if the capabilities of the printer 2 have not changed, if an operation to an item other than the specific item is accepted (break:[operation to other item], C11), the auxiliary program 42 stops outputting periodic capability update instructions (B11) and accepts further user operations. If an operation to another item is accepted, it is highly likely that the user's instruction to the specific item has ended. Note that even after accepting an operation to another item, if a change operation to the specific item is accepted again, the auxiliary program 42 may resume outputting periodic capability update instructions (B11).
[0061] If the accepted user operation is an instruction to end the print settings (opt:[instruction to end settings], C21), the auxiliary program 42 ends the acceptance of the print settings, passes the determined print setting information to the general-purpose printing program 41, and notifies the general-purpose printing program 41 of the end of the detailed settings (C22). The general-purpose printing program 41 notifies the editing application 43 of the end of the detailed settings (C23). As a result, if the capabilities of the printer 2 change, the changed capabilities of the printer 2 can be reflected in the print setting screen displayed by the general-purpose printing program 41 and the editing application 43.
[0062] Next, the print execution procedure will be described with reference to the sequence diagram in Fig. 6. After the user decides on the image to be printed and the print settings for printer 2, the user inputs a print execution instruction into editing application 43 (D01). When the editing application 43 receives the user's print execution instruction, it determines that it has received an execution instruction to cause printer 2 to print the selected image to the general-purpose printing program 41, since the general-purpose printing program 41 is incorporated into OS 21 of PC 1.
[0063] The editing application 43 outputs the received print instruction information to the general-purpose printing program 41 (D02). 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.
[0064] 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 (D03). 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.
[0065] 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.
[0066] 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 (D05). The auxiliary program 42 can acquire the intermediate data generated by the general-purpose printing program 41, for example, by making a request to the general-purpose printing program 41. Furthermore, the auxiliary program 42 can edit the intermediate data and print setting information received from the general-purpose printing program 41 as necessary.
[0067] After being started in D05, the auxiliary program 42 can display a print preview on the user IF 13, for example, based on a user instruction. When the auxiliary program 42 receives an instruction to display a print preview (opt:[preview instruction], D11), it displays a preview screen 70 including a preview image 71, a "Print" button 72, and a "Cancel Print" button 73, as shown in FIG. 7 (D12). The preview screen 70 is an example of a predetermined screen and an example of a confirmation screen. The processing of D12 to display the preview screen 70 is an example of display processing.
[0068] The preview image 71 is an image showing the image to be printed. The "Print" button 72 is a button that accepts an instruction to continue processing to execute printing of the image being displayed. The "Print" button 72 is an example of an operator. The "Cancel Print" button 73 is a button that accepts an instruction to cancel printing. The auxiliary program 42 displays a preview screen 70 including the preview image 71, so that the user can check the print image and instruct to continue the printing processing.
[0069] Note that accepting a preview instruction from the user (D11) is not essential. That is, the auxiliary program 42 may automatically display the preview screen 70 without accepting a preview instruction. The screen displayed in D12 may be any screen that accepts a user confirmation operation, and may be the preview screen 70 that does not include the preview image 71. The screen displayed in D12 may be a screen that accepts input of information required to start printing on the printer 2, such as a screen that accepts user authentication or PIN input.
[0070] When the preview screen 70 is displayed, the auxiliary program 42 does not continue the printing process unless it receives an operation on the "Print" button 72. While the preview screen 70 is displayed and no operation on the buttons 72 and 73 is being received, the auxiliary program 42 starts a procedure for updating the capability information stored in the memory 12.
[0071] The auxiliary program 42, for example, periodically repeats (loop(1,*)) and outputs a capability update instruction to the general-purpose printing program 41 (D21). As a result, the auxiliary program 42 receives a capability update request from the general-purpose printing program 41 (D22) and acquires capability information of the printer 2 (D23). Steps D21 to D23 are the same as steps B11 to B13 in Fig. 3. The process of repeating steps D21 to D23 is an example of polling processing.
[0072] The auxiliary program 42 updates the capability information stored in the memory 12 based on the acquired capability information (D24). Furthermore, the auxiliary program 42 passes the capability information to the general-purpose printing program 41 (D25). As a result, the general-purpose printing program 41 updates the capability information indicating the capability of the printer 2 (D26).
[0073] While the preview screen 70 is displayed, the auxiliary program 42 waits for a user operation. The auxiliary program 42 periodically acquires the capability information of the printer 2 while the preview screen 70 is displayed, thereby suppressing processing delays and acquiring the latest capability information. Note that if the capabilities of the printer 2 change and the print settings no longer match the capabilities of the printer 2, the auxiliary program 42 may automatically change the print settings, may be able to accept an instruction to change the print settings, or may display an error message and cancel printing.
[0074] When an operation on the preview screen 70 being displayed is accepted (break:[operation accepted], D31), the auxiliary program 42 stops outputting the periodic capability update instruction (D21).
[0075] If the user operates the "Print" button 72 (alt:[Print]), the auxiliary program 42 instructs the general-purpose printing program 41 to rasterize the intermediate data and send the rasterized data (D32). The general-purpose printing program 41 rasterizes the intermediate data to generate print data (D33), and sends the generated print data and a print command to the printer 2 (D34). The printer 2 starts printing based on the received print data (D35). D32 is a process for sending a print command to the printer 2 and is an example of a print process.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] On the other hand, if the user operates the "cancel printing" button 73 (alt:[cancel]), the auxiliary program 42 instructs the general-purpose printing program 41 to cancel printing (D37).
[0080] As described above in detail, the auxiliary program 42 of this embodiment causes the CPU 11 of the PC 1 to periodically acquire capability information from the printer 2, provided that a predetermined screen that accepts user operations via the user IF 13, such as the detailed settings screen 60 or the preview screen 70, is displayed. Therefore, if the capabilities of the printer 2 change, the auxiliary program 42 and the general-purpose printing program 41 can reflect the changed capability information in the print settings. This makes it highly likely that changes in the capabilities of the printer 2 can be accommodated even after the printer 2 has been selected.
[0081] 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.
[0082] 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.
[0083] 5, if a change is made to a specific item and the printer 2 starts outputting periodic capability update instructions, the periodic output is stopped if the printer 2's capabilities change, but this is not limited to this. For example, the auxiliary program 42 may continue to output periodic information until an instruction to end the detailed print settings is received.
[0084] 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.
[0085] In the 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 as well. The program that executes the processing of this 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 made public by Microsoft.
[0086] Furthermore, the execution timing of the auxiliary program 42 is not limited to that of the embodiment. For example, the auxiliary program 42 may be executed in response to a direct execution instruction from the OS 21, or may be a resident auxiliary program 42. If the auxiliary program 42 is resident, it may simply receive an execution command and perform the above-described operation.
[0087] Furthermore, in any flowchart disclosed in the embodiments, the execution order of multiple processes in any multiple steps can be changed or they can be executed in parallel as long as no contradiction occurs in the processing content.
[0088] The processes disclosed in the embodiments may be executed by hardware such as a single CPU, multiple CPUs, or ASIC, or a combination thereof. The processes disclosed in the embodiments may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method. [Explanation of symbols]
[0089] 1 PC 2. Printer 11 CPU 12 Memory 13 User Interface
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, 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 capability information indicating the capabilities of the printer; The support program is installed on the computer. A display process for displaying a predetermined screen capable of receiving an operation from a user via a user interface of the information processing device can be executed, The support program further includes: When the predetermined screen is displayed in the display process, a polling process can be executed to periodically obtain the capability information from the printer. A support program configured to:
2. 2. The support program according to claim 1, In the polling process, periodically instructing the general-purpose printing program to update the capability information, and acquiring the capability information from the printer in response to the instruction; A support program configured to:
3. 2. The support program according to claim 1, 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. During the execution of the polling process, if there is a change in the currently acquired capability information from the previously acquired capability information, an update process is executed to update the capability information stored in the memory, and if there is no change in the capability information, the update process is not executed. A support program configured to:
4. 2. The support program according to claim 1, The support program is installed on the computer. When a display instruction to display a print setting screen included in the support program is received, the display process is executed to display the print setting screen, which accepts a setting operation for print settings, as the predetermined screen; The support program further includes: When the print setting screen is displayed, the polling process can be executed. A support program configured to:
5. 5. The support program according to claim 4, The support program is installed on the computer. When the polling process is not being executed while the print setting screen is being displayed, if a change operation is performed on a specific item corresponding to the printer's capabilities that may be changed among the setting items included in the print setting screen, the polling process is started; While the print setting screen is being displayed, and the polling process is not being executed, even if a change operation is performed on an item other than the specific item among the setting items included in the print setting screen, the polling process is not started. A support program configured to:
6. 6. The support program according to claim 5, The support program is installed on the computer. while the print setting screen is being displayed, if there is a change in the currently acquired capability information from the previously acquired capability information in a state where execution of the polling process has been started, the polling process is stopped. A support program configured to:
7. 5. The support program according to claim 4, The support program is installed on the computer. When the capability information is acquired by the polling process, a screen update process is executed to update the print setting screen based on the acquired capability information. A support program configured to:
8. 2. The support program according to claim 1, The support program is installed on the computer. When a print instruction to cause the printer to print is given to the general-purpose print program and a process is requested from the general-purpose print program, Execute the display process to display a confirmation screen for accepting an operation to continue the printing process as the predetermined screen; When the confirmation screen is displayed in the display process, the polling process is executed; The support program further includes: When the operation for continuing the printing process is accepted, a printing process for sending a print command to the printer is executed. A support program configured to:
9. 9. The support program according to claim 8, In the display process, displaying the confirmation screen including an operator for accepting the operation to continue the printing process and a preview image showing an image to be printed in accordance with the print instruction; A support program configured to:
Citation Information
Patent Citations
Support program
JP2023136090A