Support Program
Patent Information
- Application Number
- JP2025152088
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2042-01-27
Smart Images

Figure 0007913629000001 
Figure 0007913629000002 
Figure 0007913629000003
Abstract
Description
[[Technical Field]]
[0001] The technical field disclosed in the present specification relates to a support program that supports control of a printer. [[Background Art]]
[0002] Conventionally, there is known a configuration that notifies the connection status with a printer using a printer driver. For example, Patent Document 1 discloses an information processing apparatus including a printer diagnosis correction unit and a printer driver, wherein when a print instruction is received from a print application program, the printer driver generates a print job and instructs the printer diagnosis correction unit to check whether a problem exists, and the printer diagnosis correction unit displays information related to the problem when a problem exists. Patent Document 1 lists offline status between the printer and the apparatus as one of the problems. [[Prior Art Documents]] [[Patent Documents]]
[0003] [[Patent Document 1]] Japanese Unexamined Patent Publication No. 2021-135666 [[Summary of the Invention]] [[Problem to be Solved by the Invention]]
[0004] In recent years, a technology for controlling a printer by a general-purpose printing program that is standardly incorporated in an operating system (OS) without using a printer driver has been put into practical use. In this technology, when the OS detects a printer, the OS associates the printer with the OS-standard general-purpose printing program, and thereafter, when a print instruction for the printer is received, printing by the OS-standard general-purpose printing program can be performed without using a printer driver.
[0005] However, in information processing devices that use the OS standard general-purpose printing program, no configuration is known that notifies the user of the connection status with the printer before a print command is issued. In the printer driver disclosed in Patent Document 1, information related to the problem is notified when a print command is issued, so the user cannot know that the printer is offline before entering the print command. Therefore, even if a connection error has occurred with the printer, the user may issue a print command without knowing this, indicating room for improvement. [Means for solving the problem]
[0006] The support program, which was created for the purpose of solving the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program pre-installed in the operating system of the information processing device, wherein the general-purpose printing program is capable of handling data for displaying a print settings screen on the display of the information processing device, and is configured to cause the computer to perform a confirmation process to check the connection with the printer when the general-purpose printing program requests processing because the printer has been selected, and further causes the computer to perform a first generation process to generate first notification data indicating a notification that the connection with the printer has failed if a connection error is confirmed in the confirmation process, and a first display process to pass the first notification data generated in the first generation process to the general-purpose printing program and display the first notification data on the print settings screen displayed on the display of the information processing device.
[0007] The support program disclosed herein, when a printer is selected via a general-purpose printing program, performs a connection check with the printer and, if a connection error is detected, passes notification data to the general-purpose printing program to be displayed on the print settings screen. This allows the user of an information processing device using the OS's general-purpose printing program to know the connection status with the printer before entering a print command.
[0008] A new and useful information processing device incorporating the above-mentioned support program, a storage medium readable by a computer that stores the support program, a control method for realizing the functions of the support program, and a printing system including the support program and a printer are also novel and useful. [Effects of the Invention]
[0009] According to the technology disclosed herein, in an information processing device incorporating an OS standard general-purpose printing program, a technology is realized that notifies the printer of a connection error before issuing a print command. [Brief explanation of the drawing]
[0010] [Figure 1] This block diagram shows an overview of the electrical configuration of a PC. [Figure 2] This is a sequence diagram showing an example of the procedure when printing is selected. [Figure 3] This is an explanatory diagram showing an example of an information screen. [Figure 4] This is an explanatory diagram showing an example of a print settings screen. [Figure 5] This is a flowchart showing the procedure for generating notification data. [Figure 6] This is an explanatory diagram showing an example of a pop-up screen. [Figure 7] This is an explanatory diagram showing an example of a notification image. [Figure 8] This is an explanatory diagram showing an example of a notification image. [Figure 9]This is a sequence diagram showing an example of the procedure when a print command is received. [Modes for carrying out the invention]
[0011] The personal computer (hereinafter referred to as "PC") that utilizes this support program will be described in detail below with reference to the attached drawings. This specification discloses a support program that runs on a PC.
[0012] As shown in Figure 1, the PC1 in this configuration includes a CPU 11 and a controller 10 which includes memory 12. The PC1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC1 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 Figure 1 is a general term for the hardware and software used to control the PC1, and does not necessarily represent a single piece of hardware actually present in the PC1.
[0013] The CPU 11 executes various processes according to the program read from memory 12 and based on user input. Memory 12 stores various programs and data. Memory 12 is also used as a workspace when various processes are executed. The buffer provided by the CPU 11 is also an example of memory. Note that the example of memory 12 is not limited to ROM, RAM, HDD, etc., built into the PC 1, but may also be a storage medium that the CPU 11 can read and write to, 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 information to the user, 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 an input accepting device such as a mouse or a keyboard, or may be a touch panel including the display 13a and an input accepting function.
[0015] The communication IF 14 includes hardware for communicating with an external device such as the printer 2. Communication standards for the communication IF 14 include Ethernet (registered trademark), Wi-Fi (registered trademark), USB, and the like. The PC 1 may be connectable to the Internet via the communication IF 14. Further, the PC 1 may include a plurality of communication IFs 14 compatible with a plurality of communication standards.
[0016] As shown in FIG. 1, an operating system (hereinafter referred to as "OS") 21 including a general-purpose print program 41, an auxiliary program 42, and various application programs (hereinafter referred to as "apps") are stored in the memory 12 of the PC 1. Examples of the OS 21 include Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), and Android (registered trademark). The auxiliary program 42 is an example of a support program.
[0017] In the PC 1 of the present embodiment, for example, an information app 43 is incorporated as one of various apps. The information app 43 is, for example, a map app, a calendar app, or a browser, and has a function of causing the display 13a to display various types of information in response to a user's request. The information app 43 is an example of an application program. Note that the information app 43 itself does not necessarily need to have a function of printing the displayed information.
[0018] The general-purpose printing program 41 is an OS-standard program provided together with the OS 21, and has a function for causing the printer 2 or the like to print information displayed on the display 13a by the information application 43 or the like. The general-purpose printing program 41 of the present embodiment is a program including a function of generating intermediate image data based on image data to be printed. The general-purpose printing program 41 supports functions that can be commonly used by a plurality of types of printers provided by various printer vendors. Unlike printer drivers unique to various printers, the general-purpose printing program 41 does not support all of the functions uniquely provided by various printers, and the supported functions are limited to general-purpose ones.
[0019] The auxiliary program 42 is a program or a group of programs that executes processing in association with the processing of the general-purpose printing program 41 based on an instruction from the OS 21, and is a program that supports control of target hardware. The auxiliary program 42 of the present embodiment corresponds to the model of the printer 2 connected to the PC 1, and is activated from the general-purpose printing program 41, for example, when an instruction to cause the printer 2 to perform printing using the general-purpose printing program 41 is received. The auxiliary program 42 is, for example, what is called a print support application (abbreviation: PSA) or a hardware support application (abbreviation: HSA).
[0020] It should be noted that the auxiliary program 42 may be a combination of a plurality of programs each receiving an execution instruction, or may be a single program that can execute different processes according to instructions. Further, the auxiliary program may be a program prepared for each type of printer by a printer vendor. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared respectively. There may be auxiliary programs prepared not only for each type of printer but also for each printer model or each series of printer models.
[0021] For example, when a new printer is connected to PC1, the OS21 of PC1 can download the appropriate auxiliary program from a server or other source and install it into PC1, depending on the type and model of the connected printer. The 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.
[0022] In this configuration, PC1 is connected to printer 2, as shown in Figure 1. Printer 2 is a device that has at least printing and communication functions.
[0023] In this configuration, printer 2 stores status information 31 indicating the status of printer 2 and user information 32 indicating users who are authorized to use printer 2. The status of printer 2 can be, for example, ready, printing, error, or warning. Ready is a status where the printer is waiting for a print job, error is a status where printing is not possible, and warning is a status that alerts the user, such as when printing is possible but may become impossible in the near future.
[0024] If the status of printer 2 is error or warning, status information 31 will include more detailed information. For example, if the status is error, the detailed information may include type information indicating the type of error, guide information indicating how to resolve it, and contact information indicating the contact person for assistance. Examples of type information indicating the type of error include malfunction, paper jam, no paper, no coloring agent, and cover open. Examples of type information indicating the type of warning when the status is warning include low coloring agent level and password not changed. Note that password not changed includes cases where the initial password has not been changed and cases where the same password has been used for a long period of time.
[0025] Furthermore, user information 32 may consist only of identification information indicating authorized users, or it may be information that associates a list of users with information indicating whether or not each user is authorized to use the printer. User information 32 may also include settings such as the number of printable pages and available print settings for each user. Based on user information 32, printer 2 will not execute a print command from an unauthorized user.
[0026] Next, the printing procedure, including the operation of the auxiliary program 42 in this embodiment, when printing is selected in the information application 43, will be explained with reference to the sequence diagram in Figure 2. Note that Figure 2 and other sequence diagrams described later show the operation when the auxiliary program 42 corresponding to printer 2 is installed in PC1.
[0027] In this embodiment, each processing step in the flowchart basically represents the processing of the CPU 11 according to instructions written in a program such as the auxiliary program 42. The processing by the CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of OS 21 is omitted and the operation of each program is explained. Also, "acquisition" is used as a concept that does not necessarily require a request.
[0028] At the beginning of the procedure, the user launches the information application 43 (A01). The information application 43 displays an information screen containing various information on the display 13a in response to the user's instructions (A02). If the user wants to print the image of the displayed information screen, the user selects print on the information screen (A03). For example, as shown in Figure 3, the information screen D1 includes a setting button SW1. When the setting button SW1 is pressed by the user, a pull-down menu DL including "Print" is displayed, as shown in Figure 3. When "Print" is selected by the user from the pull-down menu DL, the information application 43 passes the display request and the information screen data to the OS21's general-purpose printing program 41 (A04).
[0029] The general-purpose printing program 41 displays a print settings screen on the display 13a upon request (A06). The print settings screen is a screen that accepts instructions for print settings and instructions to execute printing. For example, as shown in Figure 4, the print settings screen D2 includes a printer selection field 51 for accepting printer selection, a notification field 52 for displaying a notification image, a print settings field 53 for accepting various print settings, a preview field 54 for showing an image of the information screen to be printed, an advanced settings button SW2 for accepting instructions to perform detailed print settings, and a print button SW3 for accepting instructions to execute printing. The notification image displayed in the notification field 52 is an image showing the content of the notification to be sent to the user. The general-purpose printing program 41 can handle data for displaying the print settings screen D2.
[0030] The user can select a printer by performing an operation on the printer selection field 51 on the currently displayed print settings screen D2 (A07). If the selected printer is printer 2, the general-purpose printing program 41 starts the auxiliary program 42 corresponding to printer 2 and requests the processing corresponding to printer selection (A08). In A08, the general-purpose printing program 41 passes the information of the selected printer and the print settings information that was set when the printer was selected to the auxiliary program 42.
[0031] Furthermore, if printer 2 is set as the printer to be used normally in OS 21, the general-purpose printing program 41 will display the print settings screen D2 with printer 2 selected (A06), as shown in Figure 4, and start the auxiliary program 42 (A08). In other words, printer 2 is automatically selected by OS 21, and the general-purpose printing program 41 executes A08 based on the information of the selected printer 2. In this case, the user does not need to perform operation A07.
[0032] Alternatively, instead of the general-purpose printing program 41 displaying the print settings screen D2, the information application 43 may display the print settings screen D2. In that case, the information application 43 starts the general-purpose printing program 41 in response to print being selected in A03, obtains the data to be displayed on the print settings screen D2 from the general-purpose printing program 41, and displays the print settings screen D2 on the display 13a. Then, depending on whether printer 2 is selected, or whether printer 2 is selected in A07, the information application 43 passes the information of the selected printer 2 to the general-purpose printing program 41. As a result, the general-purpose printing program 41 starts the auxiliary program 42 corresponding to printer 2 in A08.
[0033] Upon activation, the auxiliary program 42 outputs a capability acquisition request to the OS 21 requesting capability information for printer 2 (A11). Upon receiving the capability acquisition request from the auxiliary program 42, the OS 21 sends a capability transmission request to printer 2 requesting capability information and receives a reply from printer 2 (A12). When printer 2 receives a capability transmission request from the OS 21's general-purpose printing program 41, it sends capability information indicating the capabilities of printer 2 to the request sender.
[0034] The capability information obtainable from printer 2 includes, in addition to information on parameters that can be set as print settings, information on the remaining amount of consumables, information on the installed tray, information on the paper set for each tray, and information on the supported print resolutions. Printer 2 may also have functions to perform image processing based on the received print job and print based on the processed data, such as collated printing like Nin1, composite printing like watermarks, and energy-saving printing that saves on colorants. If printer 2 has image processing functions that it can perform, printer 2 may pass information about those functions to OS21 as capability information.
[0035] OS21 communicates with printer 2, for example, through communication compliant with IPP (Internet Printing Protocol). Alternatively, auxiliary program 42 may obtain capability information directly from printer 2, for example, using MIB (Management Information Base), instead of requesting it from OS21.
[0036] The general-purpose printing program 41 of OS21 notifies the auxiliary program 42 of the result information in response to the capability acquisition request A11 (A13). When the general-purpose printing program 41 receives a reply from printer 2, it notifies the auxiliary program 42 of the information returned by printer 2 as result information. For example, if the information received from printer 2 is appropriate capability information, the auxiliary program 42 can acquire the capability information based on the result information obtained from the general-purpose printing program 41 in A13. Based on the result information received in A13, the auxiliary program 42 determines whether or not it was able to acquire appropriate capability information.
[0037] If the auxiliary program 42 determines that it has obtained the appropriate capability information for printer 2 (alt:[Connection successful]), it stores the capability information received from OS 21 in a designated area of memory 12 that is available to the auxiliary program 42 (A14). If capability information is already stored in memory 12, the auxiliary program 42 overwrites the stored capability information with the current capability information.
[0038] The auxiliary program 42 further requests status notification from printer 2 and obtains status information 31 from printer 2 (A15). Based on the status information 31 obtained from printer 2, the auxiliary program 42 obtains the status of printer 2.
[0039] Status information 31 may be information included in capability information. In that case, the auxiliary program 42 can obtain status information 31 from the capability information notified in A13. If status information 31 is included in capability information, the auxiliary program 42 does not need to make the request in A15. Alternatively, instead of directly requesting status information 31 from printer 2, the auxiliary program 42 may request OS 21 to obtain status information 31 separately from capability information.
[0040] If the auxiliary program 42 directly obtains status information 31 from the printer 2, the processing required to extract status information 31 from the capability information becomes unnecessary, compared to obtaining it together with capability information, thus simplifying the process. Also, since status information 31 can be obtained at a different time than when capability information is obtained, the flexibility in the timing of obtaining status information 31 increases. On the other hand, if the general-purpose printing program 41 is requested to obtain status information 31 from the printer 2 along with capability information, the communication load with the printer 2 is reduced compared to obtaining status information 31 separately from capability information.
[0041] On the other hand, the result information passed from the general-purpose printing program 41 in A13 may not contain appropriate capability information. For example, if the communication between PC1 and printer2 is poor, the general-purpose printing program 41 cannot receive information from printer2. If printer2 cannot communicate properly, for example, because it is not powered on, offline, or communicating with another device, it cannot receive requests from PC1. Also, if a communication failure occurs or the address specified for printer2 cannot be found, PC1 cannot send a request to printer2.
[0042] OS21 determines a timeout if it fails to send a capacity transmission request to printer 2 in A12, or if a predetermined amount of time has elapsed since sending a capacity transmission request to printer 2 without receiving a reply from printer 2. In this case, OS21's general-purpose printing program 41 notifies the auxiliary program 42 of the result information in A13 that a timeout has occurred.
[0043] Furthermore, if the firmware version of printer 2 is low, for example, if it does not support IPP communication or does not have appropriate capability information, printer 2 will not be able to reply to the A12 request with information that includes appropriate capability information. In this case, printer 2 may reply with capability information that includes version information. When the general-purpose printing program 41 of OS21 receives information from printer 2, it notifies the auxiliary program 42 of the received information as result information, regardless of its content.
[0044] Furthermore, in this configuration, the auxiliary program 42 may pass a capability acquisition request, including user authentication instructions, to the general-purpose printing program 41 at A11. In that case, the capability transmission request sent from the OS 21 to the printer 2 includes user authentication instructions and user information indicating the user currently logged into PC 1. When the printer 2 receives a capability transmission request including user authentication instructions, it performs user authentication based on the user information 32 stored in the printer 2 and the user information included in the received capability transmission request.
[0045] Then, if printer 2 determines that the user authentication was successful, it sends capability information to OS21 via A12, as described above. On the other hand, if it determines that the user authentication was unsuccessful, printer 2 sends information indicating authentication failure to OS21 via A12 instead of capability information. Printer 2 determines that authentication has failed if the user's identification information is not included in user information 32, or if it is included but the user does not have permission to connect to printer 2.
[0046] Regardless of the authentication result, the general-purpose printing program 41 of OS21 notifies the auxiliary program 42 of the information received from printer 2 as result information. In other words, the auxiliary program 42 can determine whether or not user authentication at printer 2 was successful based on the result information received in A13.
[0047] If, based on the result information received in A13, the auxiliary program 42 determines that it could not obtain appropriate capability information from printer 2, it will determine that there is a connection error and will not execute A14 and A15. In other words, the process in A11 in which the auxiliary program 42 requests capability information for printer 2 from OS 21 is also a process to confirm the connection with printer 2. A11 is an example of a confirmation process. Furthermore, the auxiliary program 42 determines the cause of the connection error from the result information received in A13. Possible causes of connection errors include, for example, poor communication, version errors, and authentication failures.
[0048] The auxiliary program 42 executes a notification data generation process (A21) based on the status information 31 obtained in A15 or the result information obtained in A13. The notification data generation process generates notification data that indicates the notification image to be displayed in the notification section 52 of the print settings screen D2. The notification image to be displayed in the notification section 52 may include, for example, text, still images, videos, objects with embedded URL links, or a combination of these. The object may be displayed as text, a button, or a banner. Details of the notification data generation process will be described later.
[0049] Furthermore, the auxiliary program 42 passes the display information, including the generated notification data, to the general-purpose printing program 41 (A22) and terminates processing. If the auxiliary program 42 has obtained appropriate capability information, it also passes information on the print settings based on that capability information to the general-purpose printing program 41. Based on the display information received from the auxiliary program 42, the general-purpose printing program 41 displays a notification image in the notification section 52 of the print settings screen D2 displayed on the display 13a (A23). In A23, in addition to the notification image based on the notification data being displayed in the notification section 52, information based on the capability information of printer 2 is displayed in the print settings section 53 as the initial values for each print setting.
[0050] Furthermore, in the case where the information application 43 displays the print settings screen D2, the processing of A23 involves the information application 43 receiving notification data and displaying the notification image in the notification area 52. In addition, if the auxiliary program 42 is unable to obtain appropriate capability information due to a connection error with the printer 2, it may pass the default information stored in the auxiliary program 42 as the initial value of the print settings.
[0051] In the example shown in Figure 4, a print settings screen D2 including one notification field 52 is shown, but the arrangement, shape, size, and number of notification fields 52 are not limited to this example. The auxiliary program 42 may obtain information about the notification fields 52 from the general-purpose print program 41 and determine the notification data to be displayed in the notification fields 52 based on the obtained information. For example, if there are multiple possible arrangements for displaying the notification fields 52 and the auxiliary program 42 can specify the display location, the auxiliary program 42 may pass notification data including information specifying the display location to the general-purpose print program 41. Also, if the size of the notification fields 52 can be selected, the auxiliary program 42 may pass information specifying the size to the general-purpose print program 41.
[0052] Next, the procedure for the notification data generation process performed in A21 will be explained with reference to the flowchart in Figure 5. The notification data generation process is executed on the CPU 11 of PC1 based on the description in auxiliary program 42.
[0053] In the notification data generation process, the CPU 11 first determines whether a connection error with printer 2 has been confirmed based on the result information received at A13 in Figure 2 (S101). If it determines that a connection error has been confirmed (S101: YES), the CPU 11 adds a connection failure notification to the notification content (S103). The connection failure notification is a notification that includes a message indicating that the connection with printer 2 has failed, and is an example of failure information.
[0054] Furthermore, CPU11 adds guide information to the notification content, which shows the steps to resolve the connection error (S104). The guide information may include, for example, instructions to check the status of printer 2, messages prompting the installation of a dedicated program or firmware update, and contact information for the administrator who manages user information. The guide information may also be an image containing an object with a link embedded with a URL of a web page showing how to connect printer 2. By displaying an object with an embedded URL link, the user can easily access the web page indicated by that URL by manipulating the object, and learn the steps to resolve the connection error based on that web page. Including the steps to resolve the connection error in the notification content makes it easier for the user to quickly resolve the error.
[0055] The CPU 11 generates notification data (S105) that indicates the image to be displayed in the notification area 52 based on the added notification content. S105 is an example of the first generation process. The notification data generated in S105 is an example of the first notification data. The auxiliary program 42 passes the generated notification data to the general-purpose printing program 41, as shown in A22 of Figure 2. As a result, in A23 of Figure 2, a notification image containing the connection failure notification and guide information is displayed in the notification area 52 of the print settings screen D2. That is, the print settings screen D2 displays an image based on the notification data generated by the auxiliary program 42. In this case, A22 is an example of the first display process.
[0056] The CPU 11 further generates pop-up data to display a notification to the user that a connection error has been detected (S106). S106 is an example of the first generation process. The pop-up data may be the same information as the information added to the notification content in S103 and S104, i.e., the information displayed in the notification field 52 of the print settings screen D2, or it may be just a message or image to attract the user's attention. Then, the CPU 11 displays a pop-up screen on the display 13a based on the generated pop-up data (S107). S107 is an example of the pop-up display process and is an example of the first display process.
[0057] An example of a pop-up screen is shown in Figure 6. The pop-up screen 71 in the example in Figure 6 includes a message indicating a connection error due to a communication failure, and a button 61 with a link embedded with the URL of a web page showing how to connect. When a connection error occurs, the pop-up screen 71 is displayed separately from the currently displayed print settings screen D2, making it easier for the user to understand that the connection to printer 2 has failed. Note that Figure 6 is an example where the same image as the notification area 52 of the print settings screen D2 is displayed as the pop-up screen 71.
[0058] On the other hand, if it is determined that there is no connection error (S101:NO), that is, if the capability information and status information 31 are properly obtained, the CPU 11 adds a status notification to the notification content that indicates the status of printer 2 based on the status information 31 obtained in A15 (S111). For example, if an error has occurred in printer 2, a status notification containing error information is added to the notification content. If the status is an error or warning, the auxiliary program 42 further adds information indicating the details thereof to the notification content.
[0059] The CPU 11 generates notification data (S112) that indicates the image to be displayed in the notification area 52 based on the added notification content. S112 is an example of the second generation process. The notification data generated in S112 is an example of the second notification data. In this case as well, the auxiliary program 42 passes the generated notification data to the general-purpose printing program 41 at A22 in Figure 2. As a result, at A23, a notification image indicating the status of printer 2 is displayed in the notification area 52 of the print settings screen D2. That is, an image based on the notification data generated by the auxiliary program 42 is displayed on the print settings screen D2. In this case, A22 is an example of the second display process.
[0060] Figure 7 shows an example of a notification image when printer 2's status is an error. The notification image in Figure 7 is an example of a case where a paper error has occurred, and includes a button 62 with a link embedded with a URL to a web page showing how to insert paper. By displaying a notification image containing an error message in the notification field 52 of the print settings screen D2, the user can easily understand that an error has occurred with printer 2 on the print settings screen D2.
[0061] Figure 8 shows an example of a notification image when the status of printer 2 is neither an error nor a warning. The notification image in the example in Figure 8 is a notification when the status of printer 2 is ready. By displaying a notification image containing status information in the notification field 52 of the print settings screen D2, the user can easily understand that printing is possible on the print settings screen D2.
[0062] Furthermore, the status notifications added in S111 are not limited to the status of printer 2; they may also include, for example, information on services enabled on printer 2, information on services available on printer 2 even if they are not enabled, and advertisements for printer models other than printer 2. In addition, if multiple notifications are added, the CPU 11 may, for example, prioritize notifications with higher priority over those with lower priority based on the priority order stored in the auxiliary program 42, or it may generate notification data showing a sequential video in which the notification content changes.
[0063] Furthermore, if there are no notifications to be notified, the CPU 11 may generate notification data with the notification field 52 left blank, or it may generate notification data showing a predetermined image such as the vendor's logo or the latest information. After S107 or S112, the CPU 11 terminates the notification data generation process and returns to the process shown in the sequence diagram in Figure 2.
[0064] Next, the procedures performed by each program when a user inputs a print command to execute a print job via the print button SW3 while the print settings screen D2 is displayed will be explained with reference to the sequence diagram in Figure 9. Note that the user's print command may be directly input into the general-purpose print program 41, or it may be input into the information application 43 and then output from the information application 43 to the general-purpose print program 41.
[0065] The general-purpose printing program 41, based on a user's instruction to execute a print job (C01), starts an auxiliary program 42 and requests processing corresponding to the print job instruction (C02). In C02, the auxiliary program 42 receives information about the print settings that were set when the print job instruction was received from the general-purpose printing program 41. The general-purpose printing program 41 may also pass image data indicating the image to be printed to the auxiliary program 42. The general-purpose printing program 41 also closes the currently displayed print settings screen D2. As a result, the information screen of the information application 43 becomes active.
[0066] The auxiliary program 42, upon receiving a print command, performs a connection check with printer 2 (C03). For example, the auxiliary program 42 requests status information 31 from printer 2 and determines whether it has received appropriate status information 31 from printer 2. C03 is an example of a pre-print check process. Alternatively, the auxiliary program 42 may request the OS 21 to obtain the status information 31 instead of directly requesting it from printer 2.
[0067] If the auxiliary program 42 detects a connection error in C03 (alt:[Connection Error]), it notifies the user of the connection error (C11). C11 is an example of the notification process. The notification content may be the same as that generated in S105 or S106 of the notification data generation process described above. If the print settings screen D2 is already closed, the auxiliary program 42 will not display the notification in the notification field 52, but will instead, for example, notify the user via a pop-up screen or output a warning sound.
[0068] When a print command is received, the program checks the connection and notifies the user if there is a connection error, allowing the user to understand that printing for that command cannot be performed. Note that the auxiliary program 42 may only perform the connection check C03 if it detects a connection error in A13 of Figure 2. After notifying the connection error in C11, the auxiliary program 42 may also notify the general-purpose print program 41 that processing has ended.
[0069] On the other hand, if the connection is successful in C03 (alt:[Connection successful]), the auxiliary program 42 obtains the printer 2's main unit capability information stored in A14 of Figure 2 (C21). The auxiliary program 42 may also request status information 31 and main unit capability information in C03. The main unit capability information includes, for example, information on image processing that can be performed by printer 2. Based on the obtained main unit capability information, the auxiliary program 42 checks the print settings information received in C02 (C22). In C22, the auxiliary program 42 checks, for example, whether there is a discrepancy between the print settings and the printer 2's main unit capability. Furthermore, the auxiliary program 42 passes the print settings information of the check result to the general-purpose printing program 41 (C23).
[0070] Furthermore, depending on the results of the check in C22, the auxiliary program 42 may change the print settings and pass them on to C23. For example, if the print settings received in C02 include image processing information that is preferable to be executed by printer 2 rather than by the general-purpose print program 41 or the auxiliary program 42, the auxiliary program 42 may change the print settings to exclude that image processing. In that case, the auxiliary program 42 may store the information of the excluded print settings so that it can be passed to printer 2 in a later step, and C23 may pass the information of the changed print settings to the general-purpose print program 41.
[0071] The general-purpose printing program 41 generates intermediate image data by converting the image data format of the image to be printed to an intermediate image data format using the print settings received from the auxiliary program 42, and passes the generated intermediate image data to the auxiliary program 42 (C24). The image data included in the information application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate image data suitable for generating print data. If the image data to be printed is suitable for generating print data, the generation of intermediate image data can be omitted, and it can be used as intermediate image data as is. The intermediate image data is, for example, XPS data.
[0072] The auxiliary program 42 performs rasterization based on the intermediate image data received in C24 and generates print data indicating the image to be printed (C25). The print data generated in C25 is in a format that can be used for printing by printer 2, for example, it is PDL data specific to the printer 2 model.
[0073] Rasterizing the data using the auxiliary program 42, which is compatible with printer 2, offers greater flexibility compared to rasterizing with the general-purpose printing program 41, and is more likely to generate print data suitable for printing on printer 2. Furthermore, the print data generated by the auxiliary program 42 may be in a format that can be used for printing on printers other than printer 2.
[0074] The auxiliary program 42 sends the print data generated in C25 to the printer 2 along with a print command instructing it to print (C26). C26 is an example of the transmission process. If C22 determines that there is image processing to be performed by printer 2, the auxiliary program 42 generates a print command that includes information about that processing. The auxiliary program 42 may also notify the general-purpose print program 41 that it has finished sending the print data.
[0075] Printer 2, having received the print data and print command, executes the printing of the image data based on the received print command (C27). This generates the printed document.
[0076] Alternatively, instead of the auxiliary program 42 generating the print data, the general-purpose printing program 41 may generate the print data. For example, the auxiliary program 42 may pass the intermediate image data received at C24 and the print execution information to the general-purpose printing program 41, and the general-purpose printing program 41 may rasterize the intermediate image data and generate the print data. In that case, the general-purpose printing program 41 passes the generated print data to the auxiliary program 42. When the auxiliary program 42 receives the print data from the general-purpose printing program 41, it sends the print data received from the general-purpose printing program 41 to the printer 2 along with a print command instructing the execution of printing.
[0077] The print data generated by the general-purpose printing program 41 is in a format that can be used for printing on various printers, such as PWGRaster data or PDF data. If rasterization is performed by the general-purpose printing program 41, the processing required by the auxiliary program 42 is reduced, which is expected to avoid increased processing time, and the program size of the auxiliary program 42 can be kept down.
[0078] The general-purpose printing program 41 may also send print data and print commands to printer 2. In other words, the auxiliary program 42 may pass the generated print data to the general-purpose printing program 41 so that it is sent from PC1 to printer 2. In that case, the general-purpose printing program 41 sends the print data received from the auxiliary program 42 to printer 2. In this case, the process by which the auxiliary program 42 passes the print data to the general-purpose printing program 41 is an example of a transmission process.
[0079] As explained in detail above, in this configuration, when printer 2 is selected via the general-purpose printing program 41, the auxiliary program 42 checks the connection with printer 2, and if a connection error is detected, it passes notification data to the general-purpose printing program 41 to be displayed on the print settings screen D2. Therefore, on a PC1 using the OS21 general-purpose printing program 41, the user can know the connection status with printer 2 before entering a print command.
[0080] Furthermore, in this embodiment, the auxiliary program 42 not only displays a notification image in the notification area 52 of the print settings screen D2 when a connection error is detected, but also displays a pop-up screen, making it easier for the user to recognize that there is a connection error. In this embodiment, an example is shown where notifications are displayed in both the notification area 52 and the pop-up screen, but it is also possible to display only the pop-up screen and not the notification area 52. Alternatively, the user may be allowed to choose whether to display the notification in the notification area 52 or the pop-up screen.
[0081] Furthermore, the auxiliary program 42 in this configuration also checks the connection when a print command is received, and notifies the user if a connection error is detected, making it easier for the user to recognize that there is a connection error.
[0082] The embodiments disclosed herein are merely illustrative 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 its essence. For example, the device connected to PC1 is not limited to a printer, but may be a multifunction device, copier, fax machine, or any other device with printing capabilities. Also, the number of printers connected to PC1 is not limited to the illustrated example, and may be two or more.
[0083] Furthermore, the examples of images shown in Figures 6 to 8 are merely illustrative and not limited to those shown. Also, the text, object shapes, and backgrounds displayed in notification images and pop-up screens can be anything.
[0084] Furthermore, for example, the auxiliary program 42 may perform connection checks at times other than those described in this embodiment. For example, the auxiliary program 42 may communicate directly with the printer 2 to perform connection checks after being started by the general-purpose printing program 41 at A08 in Figure 2, and before passing a capability acquisition request to the general-purpose printing program 41 at A11.
[0085] Furthermore, the auxiliary program 42 may also be launched by the general-purpose printing program 41 when a print setting change instruction is received on the print setting screen D2. In that case, the auxiliary program 42 may perform a connection check with printer 2 upon being launched. Alternatively, the auxiliary program 42 may also perform a connection check if a connection error was detected during the connection check performed when printer 2 was selected, and is launched by a print setting change instruction or a print execution instruction.
[0086] Furthermore, if, after the general-purpose printing program 41 displays the print settings screen D2, the user changes the default printer from another printer to printer 2 via OS21, the general-purpose printing program 41 may also launch the auxiliary program 42. In that case as well, as when printer 2 is selected, the auxiliary program 42 should execute the notification data generation process and pass the notification data to the general-purpose printing program 41.
[0087] Furthermore, although the embodiment describes only the printing operation as the operation of the auxiliary program 42 in detail, the auxiliary program 42 may have other roles as well. Also, the program that executes the processing of this embodiment is not limited to the auxiliary program 42, but can be any program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41. For example, the Print Workflow application whose specifications have been published by Microsoft may also be used.
[0088] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of this embodiment. For example, it may be executed by direct execution instruction from the OS 21, or it may be a resident auxiliary program 42. In the case of a resident auxiliary program, the auxiliary program 42 should perform the operations described above upon receiving an execution instruction.
[0089] Furthermore, in any flowchart disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.
[0090] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of Symbols]
[0091] 1 PC 2 Printer 11 CPU 13a Display
Claims
1. An application that supports a general-purpose printing program included in the operating system of an information processing device, The computer of the aforementioned information processing device, In the print settings screen displayed by the aforementioned operating system, when a printer is selected, A confirmation process to confirm the connection status between the information processing device and the printer, A generation process that generates notification data based on the connection status between the information processing device and the printer, A notification process that notifies the operating system of the aforementioned notification data, Make it run, The print settings screen is updated by the operating system based on the notification data. application.
2. An application having a response function that responds to a general-purpose printing program included in the operating system of an information processing device with information on print settings based on printer capability information, The computer of the aforementioned information processing device, In the print settings screen displayed by the aforementioned operating system, when a printer is selected, A confirmation process to confirm the connection status between the information processing device and the printer, A generation process that generates notification data based on the connection status between the information processing device and the printer, A notification process that notifies the operating system of the aforementioned notification data, Make it run, The print settings screen is updated by the operating system based on the notification data. application.
3. An application having a conversion function for converting intermediate image data received from a general-purpose printing program included in the operating system of an information processing device, The computer of the aforementioned information processing device, In the print settings screen displayed by the aforementioned operating system, when a printer is selected, A confirmation process to confirm the connection status between the information processing device and the printer, A generation process that generates notification data based on the connection status between the information processing device and the printer, A notification process that notifies the operating system of the aforementioned notification data, Make it run, The print settings screen is updated by the operating system based on the notification data. application.
4. An application according to claims 1 to 3, To the aforementioned computer, If a connection error is confirmed as a result of the verification process, the generation process is executed to generate notification data indicating that the connection to the printer failed. application.
5. An application according to claim 4, To the aforementioned computer, The operating system is instructed to perform the verification process that requests the printer's capabilities information. If, as a result of the verification process, the capability information could not be obtained from the operating system and the connection error was confirmed, the generation process is executed to generate the notification data indicating that the connection to the printer failed. application.
6. An application according to claim 5, The aforementioned connection error is that the printer's firmware version is too low, preventing the acquisition of the capability information from the printer. application.
7. An application according to claim 5, The aforementioned connection error refers to the inability to obtain the capability information from the printer due to a failure in user authentication on the printer. application.
8. An application according to claims 4 to 7, The generation process generates notification data which further includes guide information indicating the procedure for resolving the connection error. application.
9. An application according to claims 1 to 3, To the aforementioned computer, If the connection is confirmed to be successful as a result of the verification process, the system will execute a status acquisition process to obtain status information indicating the status of the printer. Based on the status information, the generation process is executed to generate the notification data indicating the status of the printer. application.
10. An application according to claim 9, The aforementioned status information includes one of the following: Ready, indicating that the print job is waiting; Error, indicating that printing is not possible; and Warning, indicating that printing is possible but the status is intended to alert the user. application.
11. An application according to claims 1 to 10, The notification data is data for displaying one of the following on the print settings screen: text, a still image, a video, a button, or a banner. The print settings screen is updated by the operating system to display text, a still image, a video, a button, or a banner based on the notification data. application.
12. An application according to claims 1 to 11, To the aforementioned computer, In the print settings screen, when a command to change the print settings is received, the confirmation process, the generation process, and the notification process are also executed. application.
Citation Information
Patent Citations
Information processing method and program
JP2008102838A
Information processor, control method thereof, and program
JP2015106263A
Supporting program, information processing apparatus and printing method
JP2020160989A
Support program, information processing apparatus, and printing method
JP2020166350A
Support program, information processing device, and printing method
JP2021093081A