Support programs and printing systems
The support program addresses printing delays by allowing parallel processing of notification display and data transmission, ensuring efficient printing operations.
Patent Information
- Application Number
- JP2025008287
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2041-04-27
AI Technical Summary
Delays in the start of printing occur when using OS-standard general-purpose printing programs due to the need for auxiliary programs to display notifications, which interrupt the printing process.
A support program that acquires printer status information and requests a separate display application to show notifications while continuing to send print data without waiting for the display to finish, allowing parallel processing.
Reduces printing delays by enabling simultaneous notification display and data transmission, ensuring efficient printing operations.
Smart Images

Figure 0007804923000001 
Figure 0007804923000002 
Figure 0007804923000003
Abstract
Description
[Technical Field]
[0001] The technical field disclosed in this specification relates to a support program and a printing system that support the control of a printer. [Background technology]
[0002] In recent years, a technology has been put into practical use in which a printer is controlled by a general-purpose printing program that is built into an operating system (OS) as standard, without using a printer driver. With this technology, when the OS detects a printer, it associates it with the OS's standard general-purpose printing program, and then when a print instruction is received for that printer, printing can be performed using the OS's standard general-purpose printing program without using a printer driver.
[0003] Furthermore, a technique is known in which, when a print instruction is input to an information processing device, the information processing device acquires the printer status and makes a notification based on the acquired status. Patent Document 1, for example, discloses a technique for notifying the printer status in an information processing device incorporating the aforementioned general-purpose print program. Patent Document 1 discloses a configuration in which, when a print instruction is input to the general-purpose print program, the general-purpose print program starts an auxiliary program, which acquires current status information from the printer and displays a message based on the acquired current status information. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-160989 Summary of the Invention [Problem to be solved by the invention]
[0005] In the configuration where the auxiliary program displays a message, control is returned to the general-purpose printing program after the message has finished, and the general-purpose printing program then sends the print data, which can easily delay the start of printing.
[0006] This specification discloses a technique for suppressing delays in the start of printing and issuing notifications based on information acquired from a printer in an information processing apparatus incorporating a general-purpose print program that is standard for an OS. [Means for solving the problem]
[0007] A support program devised to solve the above-described 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 print program pre-installed in the operating system of the information processing device. When the computer receives a print instruction output from an editing application program installed in the information processing device, instructing the general-purpose print program to print an image on the printer, the support program executes the following steps: an acquisition process to acquire current status information of the printer from the printer via a communication interface of the information processing device; and a display request process to request the display application program to display a notification screen that provides a notification corresponding to the current status information by passing parameters based on the current status information acquired in the acquisition process to a display application program installed in the information processing device. The display application program operates as a process separate from the editing application program and is capable of displaying the notification screen corresponding to the parameters on a user interface of the information processing device. When the computer receives the print instruction, the support program continues processing to send print data based on the print instruction to the printer without waiting for the display application program to finish displaying the notification screen.
[0008] According to the support program disclosed in this specification, when an information processing device receives a print instruction from an editing application program, the information processing device acquires current status information from the printer and requests a display application program, which is a separate process from the editing application program, to display a notification screen corresponding to the acquired current status information. The display application program operates independently of the support program as a separate process from the editing application program, and displays the notification screen on a user interface in response to the request. This eliminates the need for the support program and editing application program to wait for the display to finish before continuing their processing. Instead, the support program and editing application program can continue processing to send print data based on the print instruction to the printer without waiting for the notification screen to finish displaying. Therefore, delays in the start of printing can be reduced even when a notification is issued based on information acquired from the printer.
[0009] A printing system including the support program, 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]
[0010] According to the technology disclosed in this specification, a technology is realized in an information processing device that has an OS-standard general-purpose printing program built in, which suppresses delays in the start of printing while providing notifications based on information obtained from a printer. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 2 is a block diagram showing an outline of the electrical configuration of the printing system. [Figure 2] FIG. 10 is an explanatory diagram showing an example of a correspondence table. [Figure 3] FIG. 10 is a sequence diagram showing an example of the procedure of operations performed by each program when a print instruction is received. [Figure 4] FIG. 10 is an explanatory diagram showing an example of a notification screen. [Figure 5] FIG. 10 is a sequence diagram showing an example of the procedure of operations by each program when an instruction for detailed print settings is received. [Figure 6] FIG. 2 is a block diagram showing an outline of the electrical configuration of the printing system. [Figure 7] FIG. 10 is a sequence diagram showing an example of the procedure of operations performed by each program when a print instruction is received. DETAILED DESCRIPTION OF THE INVENTION
[0012] A first embodiment of the support program will be described in detail below with reference to the accompanying drawings. As shown in Figure 1, this embodiment discloses a printing system 100 including a personal computer (hereinafter referred to as "PC") 1 that uses the support program and a printer 2 that has a printing function.
[0013] 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.
[0014] The CPU 11 executes various processes in accordance with programs read from the memory 12 and based on user operations. The memory 12 stores various programs, including various application programs (hereinafter referred to as "apps"), 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.
[0015] The user IF 13 includes hardware for displaying a screen for notifying the user of information and hardware for accepting user operations. The user IF 13 may be a combination of a display capable of displaying information and a mouse or keyboard having an input acceptance function, or may be a touch panel having a display function and an input acceptance function.
[0016] The communication IF 14 includes hardware for communicating with an external device such as the printer 2. The communication standards of the communication IF 14 include Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc. The PC 1 may be provided with multiple communication IFs 14 that are compatible with multiple communication standards.
[0017] As shown in FIG. 1, the memory 12 of the PC 1 stores an operating system (hereinafter referred to as "OS") 21 including a general-purpose print program 41, an auxiliary program 42, an editing application 43, and a guide display application 44. The auxiliary program 42 includes a correspondence table 45. The auxiliary program 42 is an example of a support program. The editing application 43 is an example of an editing application program. The guide display application 44 is an example of a display application program.
[0018] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between multiple tasks, and is, for example, one of Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), and Android (registered trademark).
[0019] The general-purpose printing program 41 is an OS-standard program that causes various printers, such as the printer 2, to print based on user instructions. The general-purpose printing program 41 in this embodiment is a program that includes a function for generating intermediate image data based on the image data to be printed. The intermediate image data is, for example, XPS data.
[0020] The generic printing program 41 supports functions that can be used in common by multiple printer models provided by various printer vendors. The generic printing program 41 does not support all of the functions that are unique to each printer, and the functions it supports are limited to generic ones.
[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 an application that supports 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 launched from the general-purpose printing program 41 when, for example, an instruction to cause the printer 2 to execute printing using the general-purpose printing program 41 is received. The auxiliary program 42 is called, for example, a hardware support application (abbreviated as HSA).
[0022] The auxiliary program 42 can receive a variety of commands from the general-purpose printing program 41 and executes various processes based on the received commands. The auxiliary program 42 may be a combination of multiple programs that each receive an execution command, or may be a single program that can execute different processes depending on the command.
[0023] The auxiliary program may be a program prepared by the printer vendor for each printer type. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared separately. For example, when a new printer is connected to PC1, the OS21 of PC1 downloads an appropriate auxiliary program from the printer vendor's server or the like according to the type of the connected printer and installs it in PC1. Then, OS21 associates the identification information of the installed auxiliary program with the printer information of the newly connected printer and stores it in memory 12. Note that auxiliary programs are not limited to being prepared for each printer type, and there may also be auxiliary programs prepared for each printer model or series of printer models.
[0024] The editing application 43 is, for example, an application 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 an application provided by the vendor of the printer 2. The editing application 43 is capable of receiving, via the user IF 13, for example, a print execution instruction for causing the printer 2 to execute printing.
[0025] The guide display application 44 is a program that can display a predetermined notification screen on the user IF 13 based on an instruction from the auxiliary program 42. The guide display application 44 of this embodiment is a program that can support multiple models including the model of the printer 2, and is provided with multiple notification screens for each model to be displayed on the user IF 13. Note that the guide display application 44 of this embodiment only needs to be compatible with at least the model of the printer 2, and may be a program prepared for each series of printer models, for example.
[0026] 2, the correspondence table 45 is information in which printer status information including the printer status, model information indicating the printer model, and screen information specifying a notification screen to be displayed in the guide display application 44 are correlated with one another. The auxiliary program 42 can obtain the screen information from the printer status information and model information based on the correspondence table 45. The guide display application 44 and the correspondence table 45 will be described in detail later.
[0027] The printer 2 in this embodiment is a device with a printing function. The PC 1 can communicate with the printer 2 via the communication IF 14. 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.
[0028] The printer 2 of this embodiment has the function of generating printer status information based on the status of the printer 2 and transmitting the printer status information in response to a request from an external device. The status of the printer 2 is, for example, printing in progress, waiting for print data, printing stopped, or an error occurring. If the status is printing stopped or an error has occurred, the printer status information also includes information indicating the cause of the error.
[0029] The printer 2 of this embodiment may further have a function of generating consumable goods information indicating the status of consumable goods stored in the printer 2 and transmitting the consumable goods information in response to a request from an external device. The consumable goods include, for example, printing paper and coloring materials such as ink and toner. The consumable goods information specifically indicates the remaining amount of each color of coloring material stored in the printer 2, the presence and size of paper stored in each paper feed tray, etc.
[0030] Next, the printing procedure including the operation of the auxiliary program 42 of this embodiment will be described with reference to the sequence diagram of Fig. 3. Fig. 3 shows the operation of each program when the editing application 43 receives a print instruction from the user to the general-purpose print program 41 to cause the printer 2 to print.
[0031] Note that the processes and each processing step of the flowchart in this embodiment basically represent processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. The 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 explained without a detailed description of the OS 21. Also, the term "obtain" is used as a concept that does not necessarily require a request.
[0032] The editing application 43 accepts creation and editing of text, charts, etc. based on user instructions. When the editing application 43 accepts a print execution instruction to cause the printer 2 to print an image based on the selected text, etc. from the general-purpose printing program 41 (A11), the editing application 43 passes the print instruction to the general-purpose printing program 41 via the OS 21 (A12). The general-purpose printing program 41 acquires information indicating image data of the image to be printed and information indicating print settings in the print instruction.
[0033] The general-purpose printing program 41 generates intermediate image data by converting the format of the image data included in the received print instruction into the format of intermediate image data (A13), and generates a print job including the intermediate image data. The image data passed from the editing application 43 can be of various types, and the general-purpose printing program 41 converts the received image data into intermediate image data suitable for generating print data. Note that if the image data included in the print instruction is suitable for generating print data, the generation of the intermediate image data may be omitted and the image data may be used as is.
[0034] The general-purpose printing program 41 further outputs an execution instruction to the auxiliary program 42, which is a program corresponding to the printer 2 (A14), to operate the auxiliary program 42. In the execution instruction, the intermediate image data generated in A13 and information indicating the print settings are passed to the auxiliary program 42.
[0035] The auxiliary program 42 communicates with the printer 2 via the communication IF 14 and acquires printer status information indicating the current status from the printer 2 (A21). A21 is an example of an acquisition process. That is, the auxiliary program 42 requests the printer status information from the printer 2, and the printer 2 returns the printer status information based on the status of the printer 2 to the auxiliary program 42 in response to the request from the auxiliary program 42. In this embodiment, the auxiliary program 42 requests the printer status information and consumable goods information in A21 and acquires this information from the printer 2. The printer status information and consumable goods information are examples of current status information.
[0036] The communication between the auxiliary program 42 and the printer 2 may be performed by the auxiliary program 42 directly communicating with the printer 2 using, for example, MIB (abbreviation for Management Information Base), or may be performed via the OS 21. When performing communication via the OS 21, the auxiliary program 42 and the printer 2 communicate in accordance with a communication protocol of the OS 21, such as IPP (abbreviation for Internet Printing Protocol).
[0037] The auxiliary program 42 determines whether display is necessary based on the printer status information received from the printer 2 and the print settings included in the execution instruction received in A14 (A22). Specifically, the auxiliary program 42 determines that display is necessary when a user operation on the printer 2 is required to start printing based on the print data received by the printer 2, in other words, when printing cannot start without receiving a user operation.
[0038] The auxiliary program 42 determines that display is necessary if, for example, the printer 2 status indicates an error has occurred or printing has stopped. An error has occurred or printing has stopped are examples of statuses that satisfy predetermined display conditions. If the printer 2 status indicates an error has occurred or printing has stopped, the printer 2 cannot start printing until the cause of the error is resolved. Examples of errors that can occur in the printer 2 include paper jams and full memory. The printer 2 status will also indicate an error if parts such as the print head or photosensitive drum of the printer 2 need to be replaced. Further, factors that cause printing to be stopped include, for example, running out of paper or coloring material during printing, the cover of the printer 2 being open, or the paper output tray being full.
[0039] The auxiliary program 42 also determines that display is necessary when the relationship between the consumable goods information and the print settings satisfies a predetermined relationship that requires resolution by the user, even if the printer status information indicates that an error has occurred or that printing is not stopped. For example, if the printer 2 is out of color colorants and color printing is specified as the print setting, the printer 2 cannot start printing until the colorants are replenished. In this case, the auxiliary program 42 determines that display is necessary. On the other hand, even if the printer 2 is out of color colorants, if grayscale printing is specified as the print setting, the printer 2 can start printing. In this case, the auxiliary program 42 determines that display is not necessary. The auxiliary program 42 may also determine that display is necessary when the size of the paper specified in the print settings differs from the size of the paper stored in the printer 2.
[0040] If the auxiliary program 42 determines that display is necessary (alt: [necessary]), it uses the correspondence table 45 based on the printer status information acquired in A21 and the model information of the printer 2 to determine screen information indicating the notification screen to be displayed on the user IF13 (A23). For example, if the status of the "xxx series" printer 2 is "printing stopped" and the cause is "out of paper," the auxiliary program 42 determines that the screen information is "001-xxx."
[0041] Furthermore, the auxiliary program 42 passes the determined screen information to the guide display application 44, thereby instructing the guide display application 44 to display the notification screen indicated by the screen information (A24). A24 is an example of a display request process. The screen information is an example of a parameter. The screen information is information that identifies a notification screen to be displayed from multiple notification screens provided by the guide display application 44. The screen information may be a single piece of information that specifies the entire notification screen, or may be a combination of partial information that specifies information to be displayed in each part of the notification screen. Note that in A24, the auxiliary program 42 may also pass consumable product information acquired from the printer 2 to the guide display application 44.
[0042] If the guide display application 44 is not running, the auxiliary program 42 starts the guide display application 44 at A24 and passes the determined screen information to the guide display application 44. By having the auxiliary program 42 start the guide display application 44, the notification screen can be reliably displayed.
[0043] The guide display application 44 displays a notification screen corresponding to the received screen information from a plurality of pre-prepared notification screens on the user IF 13 (A25). If the notification screen corresponding to the screen information includes a consumable product remaining amount display field and the consumable product information has also been received from the auxiliary program 42, the guide display application 44 generates a remaining amount display image using the received consumable product information, and combines it with the notification screen for display.
[0044] FIG. 4 shows an example of a notification screen displayed by the guide display application 44 when "001-xxx" is received as the screen information. The notification screen 51 shown in FIG. 4 includes a model name 511 of the printer 2, printer status information 512 indicating the status of the printer 2 and the cause of the status, a button 513 for receiving an instruction to display a web Q&A page, a coloring material remaining amount display 514, a button 515 for receiving an instruction to display a genuine consumables website, and an image 516 showing the appearance of the printer 2. The guide display application 44 selects a notification screen including the model name 511, the printer status information 512, and the image 516 based on the screen information "001-xxx," and generates a remaining amount display 514 in the selected notification screen based on the consumables information.
[0045] 4 displays a message indicating the status of printer 2, "Printing stopped," and a message indicating the cause, "Out of paper," as information indicating that printing has stopped due to an out-of-paper condition. Notification screen 51 may also include information indicating the paper feed tray that is out of paper and an image showing how to store paper. Remaining amount display 514 displays, for example, the remaining amount of colorant for each color using a color bar.
[0046] Buttons 513 and 515 are buttons that accept an instruction to display a specific page on a website provided by the vendor of printer 2. The guide display application 44 stores information indicating a URL corresponding to each button, and when an operation on button 513 or button 515 is accepted, the guide display application 44 starts a browser and passes the specific URL to the browser based on the stored information, thereby displaying the corresponding page on the user IF 13. The information stored in the guide display application 44 may be information for each printer model. Furthermore, the information may be the URL itself, or information indicating the storage location where the URL is stored.
[0047] The notification screen 51 may further include a remaining paper amount indicator showing the amount of paper remaining in each paper feed tray, images and messages about how to use the printer 2, advertisements and the latest information about related products, etc. For example, if the status of the printer 2 is cover open, the guide display application 44 may display an image showing the position of the open cover.
[0048] Even if the guide display application 44 is compatible with multiple models, it can display an appropriate notification screen that differs for each printer model through simple processing by receiving screen information that corresponds to the printer model. In other words, the guide display application 44 can provide more detailed information that is appropriate for the model, and can display a notification screen that is easier to understand.
[0049] The guide display application 44 is a program that runs as a separate process from the editing application 43. On the other hand, the general-purpose print program 41 and the auxiliary program 42 are programs that run within the process of the editing application 43. In other words, the guide display application 44 and the auxiliary program 42 can run in parallel, and even after the auxiliary program 42 determines that display is necessary and passes a display instruction to the guide display application 44 at A24, it can continue to execute the next process regardless of the progress of the process by the guide display application 44. For example, even if the guide display application 44 accepts an operation on button 513 or button 515 and starts displaying a web page, the process by the auxiliary program 42 continues to be executed.
[0050] When the auxiliary program 42 outputs a display instruction to the guide display application 44 in A24, it generates print data based on the intermediate image data and print settings received in A14 (A31) and sends the generated print data to the printer 2 together with a print command instructing printing to be performed (A32). On the other hand, if the auxiliary program 42 determines in A22 that display is not necessary, it executes the processes of A31 and A32 without executing the processes of A23 and A24. A31 and A32 are an example of a process for sending print data based on a print instruction to the printer. As a result, a printed matter is produced by the printer 2. Note that if printing is paused when the printer 2 receives the print data sent in A32, it waits until the cause of the pause is resolved before executing printing.
[0051] The auxiliary program 42 determines whether display is necessary based on the printer status information or the relationship between the consumable goods information and the print settings. If the auxiliary program 42 determines that display is necessary, it instructs the display of a notification screen. If the auxiliary program 42 determines that display is not necessary, it does not instruct the display of a notification screen. For example, if the status of the printer 2 is printing or waiting for print data, the auxiliary program 42 determines that display is not necessary in A22 and does not launch the guide display application 44. This reduces the frequency of notification screen display and reduces the annoyance caused by displaying a notification screen of low importance. The auxiliary program 42 may also pass a display instruction to the guide display application 44 to display the remaining amount of coloring material or the printing progress status, even if display is not necessary.
[0052] Note that the general-purpose printing program 41 may generate the print data instead of the auxiliary program 42. That is, the auxiliary program 42 may pass intermediate image data, print setting information, and print execution information to the general-purpose printing program 41. The general-purpose printing program 41 may generate print data based on the intermediate image data and print settings received from the auxiliary program 42, and pass the generated print data to the auxiliary program 42.
[0053] The print data generated by the general-purpose print program 41 is print data in a format that can be used for printing on various printers, such as PWGRaster data or PDF data. If the print data is generated by the general-purpose print program 41, the processing of the auxiliary program 42 is reduced, which is expected to prevent an increase in processing time and also reduce the program size of the auxiliary program 42.
[0054] On the other hand, the print data generated by the auxiliary program 42 is data in a format that can be used for printing by the printer 2, such as PDL data dedicated to the model of the printer 2. By generating print data using the auxiliary program 42 that is compatible with the printer 2, the degree of freedom in processing by the printer 2 can be increased, or the processing load on the printer 2 can be reduced, compared to when print data is generated using the general-purpose print program 41.
[0055] Furthermore, the general-purpose printing program 41 may transmit print data and the like to the printer 2. In other words, the auxiliary program 42 may pass the generated print data to the general-purpose printing program 41 so that the data is transmitted from the PC 1 to the printer 2 as the destination. In this case, the general-purpose printing program 41 transmits the print data received from the auxiliary program 42 to the printer 2 via the OS 21.
[0056] The printer 2 may also have a function for rasterizing intermediate image data. If the printer 2 has a rasterization function, the auxiliary program 42 may send a print command including intermediate image data of the image to be printed and print settings to the printer 2 without generating print data for the image to be printed.
[0057] The process of generating print data and the process of sending print data or intermediate image data to the printer 2 are examples of processes for sending print data based on a print instruction to the printer, regardless of whether the execution entity is the auxiliary program 42, the general-purpose print program 41, or the printer 2. The auxiliary program 42 and the general-purpose print program 41 in this embodiment can continue each process regardless of the progress of the process by the guide display application 44.
[0058] When the transmission of the print data is completed, the auxiliary program 42 notifies the general-purpose printing program 41 of the end of processing (A33). As a result, the general-purpose printing program 41 ends the processing of the print instruction accepted in A12, and notifies the editing application 43 of the end of processing (A34). By receiving the termination notification from the general-purpose printing program 41, the editing application 43 becomes ready to accept the next instruction from the user, for example, an instruction to edit or print another document, even if the guide display application 44 is continuing processing.
[0059] After sending the print data, the auxiliary program 42 may obtain printer status information from the printer 2 before notifying the general-purpose print program 41 of the end, and may pass a display instruction to the guide display application 44 according to the obtained status. For example, if authentication information is added to the sent print data, the printer 2 will wait for the input of authentication information. Therefore, the auxiliary program 42 may cause the guide display application 44 to display an image showing how to input the authentication information. When the printer 2 receives print data with authentication information added, the printer 2 temporarily stores the print data in memory and does not start printing until it receives input of the authentication information added to the print data.
[0060] Furthermore, before issuing an instruction to execute printing, the editing application 43 can display a print screen for accepting instructions related to printing on the user IF 13 and accept an instruction to start accepting detailed print settings. Detailed print settings are, for example, print settings that use functions unique to the printer 2 and include print settings that the editing application 43 cannot accept. Even when an instruction for detailed print settings is accepted, the editing application 43 executes the general-purpose print program 41 and the auxiliary program 42. And, even when an instruction for detailed print settings is accepted, the auxiliary program 42 may acquire printer status information from the printer 2.
[0061] The procedure of operation by each program when an instruction for detailed print settings is received will be explained with reference to the sequence diagram of Fig. 5. The procedure shown in the sequence diagram of Fig. 5 is executed prior to the procedure shown in Fig. 3. Note that, below, the same steps as those in the sequence diagram of Fig. 3 are assigned the same reference numerals, and the explanation will be simplified.
[0062] When the editing application 43 receives an instruction to start a printing procedure with the printer 2 selected (A01), it displays a screen for receiving printing instructions on the user IF 13 (A02). When an instruction to start receiving detailed print settings is received on this screen (A03), the editing application 43 passes the received instruction information to the general-purpose print program 41 (A04). The general-purpose print program 41 executes the auxiliary program 42 corresponding to the printer 2 and passes an execution instruction to receive the detailed print settings (A05).
[0063] The auxiliary program 42 starts operation based on an execution instruction from the general-purpose printing program 41, and causes the user IF 13 to display a setting screen for accepting detailed print settings (A06). A06 is an example of screen display processing. Furthermore, the auxiliary program 42 queries the printer 2 via the communication IF 14 and acquires printer status information and consumable product information from the printer 2 (A21). In this case, A21 is an example of acquisition processing, an example of pre-print acquisition processing.
[0064] The auxiliary program 42 determines whether display is necessary based on the acquired printer status information (A07). For example, if the status of printer 2 indicates that an error has occurred or that printing has stopped, the auxiliary program 42 determines that display is necessary. Because the print settings have not been determined in A07, the auxiliary program 42 does not determine whether display is necessary based on the consumable goods information and the print settings, unlike the determination in A22.
[0065] If the auxiliary program 42 determines that display is necessary (alt:[Necessary]), it uses the correspondence table 45 to determine screen information indicating the notification screen to be displayed based on the printer status information that needs to be displayed and the model information of the printer 2 (A23). Furthermore, the auxiliary program 42 passes a display instruction including the determined screen information to the guide display application 44 (A24). In this case, A24 is an example of a display request process and an example of a pre-print display request process. The screen information is an example of a parameter. Based on the received screen information, the guide display application 44 displays the notification screen to be displayed on the user IF 13 (A25).
[0066] If a notification screen is displayed before accepting a print instruction, the user can decide whether or not to proceed with the print instruction based on the notification screen, and it is expected that the user's operation or work will be completed more quickly. For example, if the printer 2 status is out of paper, it is expected that paper will be inserted quickly. Also, depending on the printer 2 status and consumables information, it is expected that printing will be completed more quickly by accepting, for example, an instruction to change the printer or an instruction to change the print setting from color printing to grayscale printing.
[0067] If the auxiliary program 42 determines in A07 that display is not necessary, or after outputting a display instruction to the guide display application 44 in A24, the auxiliary program 42 performs subsequent processing (not shown). Specifically, the auxiliary program 42 accepts a user operation on the setting screen displayed in A06, and sets print settings based on the accepted operation. Furthermore, upon accepting an instruction from the user to end the detailed print settings, the auxiliary program 42 notifies the general-purpose printing program 41 of the end of processing. As a result, the general-purpose printing program 41 notifies the editing application 43 of the end of the detailed setting instruction accepted in A04. By receiving the end notification from the general-purpose printing program 41, the editing application 43 becomes ready to accept the next instruction from the user, for example, an instruction to execute printing.
[0068] As described above in detail, in response to a print instruction from the editing application 43, the auxiliary program 42 of this embodiment acquires printer status information from the printer 2 and causes the guide display application 44, which is a separate process from the editing application 43, to display a notification screen corresponding to the acquired printer status information. This eliminates the need for the auxiliary program 42 and the editing application 43 to wait for the display to end before continuing processing, and allows the auxiliary program 42 and the editing application 43 to continue processing to send print data based on the print instruction to the printer without waiting for the display of the notification screen to end. This reduces delays in the start of printing.
[0069] Next, a second embodiment of the support program will be described in detail with reference to the accompanying drawings. As shown in Fig. 6, this embodiment is a printing system 100 including a PC 1 and a printer 2, and a guide display application 44 having a correspondence table 45. This embodiment differs from the first embodiment only in the program that uses the correspondence table 45, and the same configurations and processes as those of the first embodiment will be assigned the same reference numerals and the description will be simplified.
[0070] In the first embodiment, the auxiliary program 42 determines the screen information using the correspondence table 45, whereas in this embodiment, the guide display application 44 determines the screen information using the correspondence table 45. The contents of the correspondence table 45 in this embodiment are the same as in the first embodiment. The procedure of each program in the second embodiment will be described with reference to the sequence diagram in Fig. 7. In the procedure shown in Fig. 7, the guide display application 44 performs the processes A22 to A23 in the procedure shown in Fig. 3.
[0071] When the editing application 43 receives a print instruction from the user (A11), it passes the print instruction to the general-purpose print program 41 (A12). The general-purpose print program 41 generates intermediate image data based on the print instruction (A13) and passes an execution instruction to the auxiliary program 42 (A14). The auxiliary program 42 acquires printer status information and consumable goods information from the printer 2 (A21).
[0072] The auxiliary program 42 passes the printer status information acquired from the printer 2 to the guide display application 44 (A41) and instructs the guide display application 44 to display the information. A41 is an example of a display request process. In this embodiment, in A41, the auxiliary program 42 also passes the print settings received in the execution instruction in A14, the model information of the printer 2, and the consumable goods information acquired in A21 to the guide display application 44. The information including the printer status information and passed to the guide display application 44 in A41 is an example of a parameter. In addition, if the guide display application 44 is not running, the auxiliary program 42 starts the guide display application 44 in A41.
[0073] After instructing the guide display application 44 to perform display, the auxiliary program 42 continues to execute the next process. That is, the auxiliary program 42 generates print data (A31) and sends the generated print data to the printer 2 (A32). Furthermore, the auxiliary program 42 notifies the general-purpose printing program 41 of the end of processing (A33), and the general-purpose printing program 41 notifies the editing application 43 of the end of processing (A34). The general-purpose printing program 41 may generate and send the print data.
[0074] In this embodiment, the processing of the auxiliary program 42 and the general-purpose printing program 41 from A31 onward is an example of processing for sending print data based on a print instruction to a printer. Even in this embodiment, the auxiliary program 42 and the general-purpose printing program 41 can continue each process regardless of the progress of processing by the guide display application 44.
[0075] On the other hand, the guide display application 44 determines whether display is necessary or not (A51) based on each piece of information received from the auxiliary program 42 in A41. The guide display application 44 determines that the determination in A51 is necessary because the received information does not include screen information. Alternatively, the auxiliary program 42 may also pass an instruction to determine whether display is necessary to the guide display application 44 in A41.
[0076] 3 by the auxiliary program 42. In this embodiment, the determination at A51 is executed by the guide display application 44 in a process separate from the editing application 43, and therefore the order of A51 and A32 is not limited. That is, A51 may be executed before or after A32, or may be executed in parallel.
[0077] If the guide display application 44 determines that display is necessary (alt:[Necessary]), it determines screen information indicating a notification screen to be displayed using the correspondence table 45 provided in the guide display application 44 based on the information received in A41 (A52). The process of A52 by the guide display application 44 is the same as the process of A23 in FIG. 3 by the auxiliary program 42. Then, the guide display application 44 causes the user IF 13 to display the notification screen based on the determined screen information (A53). On the other hand, if the guide display application 44 determines in A51 that display is not necessary, it does not execute A52 and A53 and does not display the notification screen.
[0078] The guide display application 44 determines the necessity of display, which allows the auxiliary program 42 to generate and transmit print data at an early stage. On the other hand, if the auxiliary program 42 determines the necessity, the guide display application 44 is executed less frequently, and the processing load on the guide display application 44 is small.
[0079] Note that the auxiliary program 42 may determine whether display is necessary, and the guide display application 44 may determine screen information indicating the notification screen to be displayed. Specifically, in the process shown in Fig. 3, the auxiliary program 42 may perform the determination of A22, and if it determines that display is necessary, the auxiliary program 42 may pass the same information as A41 in Fig. 7 and a display instruction to the guide display application 44. In this case, the guide display application 44 executes A52 and A53 without executing A51 in Fig. 7, to display the notification screen.
[0080] As described above in detail, the printing system 100 of the second embodiment can suppress delays in the start of printing, similar to the first embodiment. If the guide display application 44 has the correspondence table 45 and determines and displays the notification screen to be displayed as in the second embodiment, the notification screen to be displayed can be flexibly changed by changing the guide display application 44. On the other hand, if the auxiliary program 42 determines the screen information as in the first embodiment, the guide display application 44 simply displays the screen based on the received information, which is a simple process.
[0081] Furthermore, according to the printing system 100 of the first and second embodiments, the guide display application 44, which is separate from the auxiliary program 42, has information about the notification screen, and the auxiliary program 42 leaves the display of the notification screen to the guide display application 44. Therefore, if it is necessary to change the content of the notification screen, for example, to update a product advertisement or the latest information currently being displayed, the vendor of the printer 2 can do so by updating the guide display application 44 without changing the auxiliary program 42. Also, because the processing for display is standardized in the auxiliary program 42, there is no need to develop multiple auxiliary programs 42 for different notification screens, and the auxiliary program 42 can be standardized.
[0082] The embodiments disclosed herein are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to PC 1 is not limited to a printer, but may be any device with a printing function, such as a multifunction device, copier, or fax machine. Furthermore, the number of devices included in printing system 100 is not limited to the illustrated example, and may be two or more.
[0083] Furthermore, the illustrated notification screen is an example and is not limited to this. For example, the arrangement and number of messages and buttons displayed on the notification screen are not limited to the illustrated example. Furthermore, in the embodiment, the notification screen is displayed when a user operation is required, but the notification screen may be displayed when a print instruction is received regardless of the status.
[0084] Furthermore, for example, the guide display application 44 may be capable of communicating with the printer 2. For example, when the auxiliary program 42 receives an execution instruction, the guide display application 44 may be operated, and the guide display application 44 may acquire printer status information from the printer 2. The guide display application 44 may also be capable of receiving an instruction to cancel printing from the user, and may transmit a cancel command to the printer 2 when receiving an instruction to cancel printing.
[0085] In the first and second embodiments, the guide display application 44 is provided with various notification screens, but some of the information on the notification screens may be acquired from an external device. For example, if the printer 2 has information on the external appearance of the printer 2, the guide display application 44 may acquire that information from the printer 2 and combine it with the notification screen to be displayed.
[0086] Furthermore, although the correspondence table 45 has been described as including model information, for example, if the guide display application 44 is a program that corresponds only to the model or model series of the printer 2, the model information need not be included in the correspondence table 45. Furthermore, the correspondence table 45 may be stored in an external device such as a server, and in that case, the auxiliary program 42 or the guide display application 44 may simply obtain and use the correspondence table 45 from the external device.
[0087] Furthermore, the guide display application 44 is not limited to being a program that is started in response to an instruction from the auxiliary program 42, but may also be a program that resides on the PC 1. Furthermore, the guide display application 44 is not limited to being started in response to an instruction from the auxiliary program 42, but may also be capable of receiving a display instruction from another program that causes the printer 2 to perform a specific operation, such as a printer driver. Furthermore, the guide display application 44 may have both the first type of function and the second type of function. In this case, the guide display application 44 may simply determine whether or not to determine the need for display, depending on the received parameters.
[0088] 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 process 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.
[0089] 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.
[0090] 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.
[0091] 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]
[0092] 1 PC 2. Printer 11 CPU 13 User Interface 14 Communication Interface 100 Printing Systems
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 that is pre-installed in an operating system of the information processing device, The computer, an instruction acquisition process for acquiring, from the general-purpose printing program that has acquired an image printing instruction output from an editing application program installed in the information processing device, an execution instruction for causing the printer to print an image based on the image printing instruction; a display control process for passing a display instruction to a display application program that operates as a separate process from the editing application program after receiving the execution instruction, the display application program displaying a screen on a user interface of the information processing device, to display a display screen based on the current status information of the printer; a print control process for causing the printer to execute printing based on the image print instruction after the execution instruction is acquired; a notification process for notifying the general-purpose printing program of the completion of processing based on the print instruction without waiting for the display application program to finish displaying the display screen after the print control process has been executed; A support program characterized by executing the above.
2. A support program according to claim 1, The display control process includes a process of starting the display application program if the display application program is not running after the execution instruction is obtained.
3. A support program according to claim 1 or 2, the display application program is capable of displaying the display screen corresponding to a plurality of printer models, the display screen being different for each of the models; The display control process is a support program that passes the display instruction to the display application program to display the display screen corresponding to the model of the printer that is to print the image based on the image print instruction.
4. A support program according to claim 3, The display control process passes the display instruction including model information indicating the model of the printer to the display application program, and the display application program determines the content of the display screen to be displayed using the model information included in the display instruction passed from the support program.
5. A support program according to claim 3, The display control process determines the content of the display screen based on the model of the printer, passes the display instruction including screen information indicating the determined content of the display screen to the display application program, and the display application program displays the notification screen corresponding to the screen information passed from the support program.
6. A support program according to any one of claims 1 to 5, The display control process passes the display instruction, including the print settings set in the print instruction, to the display application program, and the display application program displays the display screen on the user interface if the current status information and the print settings satisfy a specified relationship, and does not display the display screen on the user interface if the current status information and the print settings do not satisfy the specified relationship.
7. A support program according to any one of claims 1 to 6, a support program for executing the print control process after the display control process is executed;
8. A support program according to any one of claims 1 to 7, The printing control process includes a process of passing image data based on the image printing instruction to the general-purpose printing program, and the general-purpose printing program executes a process of causing the printer to perform printing based on the passed image data.
9. A printing system comprising a printer, a support program installed in an information processing device connected to the printer, and a display application program installed in the information processing device, The support program is a program that corresponds to the printer and supports a general-purpose printing program that is pre-installed in the operating system of the information processing device; The display application program a program capable of displaying a display screen based on the current status information of the printer on a user interface of the information processing device, Furthermore, the support program is installed in the computer of the information processing device. an instruction acquisition process for acquiring, from the general-purpose printing program that has acquired an image print instruction output from the editing application program that is incorporated in the information processing device and operates as a process separate from the display application program, an execution instruction for causing the printer to print an image based on the image print instruction; a display control process for, after acquiring the execution instruction, passing a display instruction to the display application program for displaying a display screen based on the current status information of the printer; a print control process for causing the printer to execute printing based on the image print instruction after the execution instruction is acquired; a notification process for notifying the general-purpose printing program of the completion of processing based on the print instruction without waiting for the display application program to finish displaying the display screen after the print control process has been executed; Execute the printer includes a print execution unit that executes printing based on the image print instruction, The display application program is installed in the computer of the information processing device. a display process for displaying the display screen on the user interface in accordance with the display instruction passed from the support program; A printing system characterized by executing the above.
Citation Information
Patent Citations
Information processing apparatus, control method therefor, and information processing system
JP2011138394A
Supporting program, information processing apparatus and printing method
JP2020160989A
Support program, information processing apparatus, and printing method
JP2020166350A