Support program, information processing device, program set, and printing method

By introducing a support program into the information processing device to output preliminary action commands and perform preview processing to the printer, the problem that the standard printing program of the operating system cannot utilize the printer's unique functions is solved, thus realizing efficient use of the printer and meeting user needs.

CN115552368BActive Publication Date: 2026-02-03BROTHER KOGYO KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180034990.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-15
Filing Date
2021-05-14
Publication Date
2026-02-03
Estimated Expiration
2041-05-14

AI Technical Summary

Technical Problem

When using the standard printing program of the operating system, the printer's unique functions cannot be fully utilized, resulting in the printer's full capabilities not being realized.

Method used

A support program is introduced into the information processing device to output pre-action commands to the printer through the communication interface, execute the printer's unique pre-actions, and perform preview processing and condition judgment before the print data is generated to ensure that the printer can perform its unique functions.

Benefits of technology

Even when using the standard printing program of the operating system, the printer's unique capabilities can be leveraged to improve printing efficiency and quality, meeting specific user needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115552368B_ABST
    Figure CN115552368B_ABST
Patent Text Reader

Abstract

The present invention provides a technology in which even if printing is performed by a standard print program of an OS, the unique capability of a printer can be utilized. An auxiliary program (42) which can be executed by a CPU (11) of a PC (1) and which corresponds to a printer (2) connected to the PC (1) specifies the printer (2) as an output destination and causes a command transmission application (44) to output a preliminary action command when the PC (1) has a print instruction to perform printing by the printer (2) by a general print program (41) which is built in advance in an OS (21) of the PC (1). The printer (2) performs a preliminary action corresponding to the preliminary action command.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technical field disclosed in this specification relates to support programs, information processing devices, and printing methods for supporting printer control. Background Technology

[0002] As a technique for controlling a printer from an information processing device such as a personal computer (PC), the following structure is widely known (e.g., Patent Document 1): a printer driver is installed in the information processing device, print data is generated by the printer driver, and the print data is sent to the printer. The printer driver is provided by the printer manufacturer and addresses various functions of the printer, enabling the printer to be fully utilized.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2017-134718 Summary of the Invention

[0004] In recent years, technology has become practical to control printers using standard printing programs built into the operating system (OS) without using the aforementioned printer drivers. With this technology, when the operating system detects a printer, it associates it with the operating system's standard printing program. Then, when a print command is received for that printer, the standard printing program can be used to print, without using a printer driver.

[0005] However, printing using standard OS printing programs sometimes fails to utilize all the printer's capabilities. For example, it may not support printer-specific functions, thus failing to fully leverage the printer's inherent capabilities.

[0006] This specification discloses a technology that enables printers to utilize their unique capabilities even when printing is performed by an OS standard printing program in an information processing device.

[0007] (1) To solve the above problems, the present invention provides a support program that can be executed by a computer of an information processing device, corresponding to a printer connected to the information processing device. When a printing instruction is given, the computer executes at least one of command output processing and output instruction processing, wherein the printing instruction is an instruction to be printed by the printer through a printing program pre-built into the operating system of the information processing device, the command output processing outputs a preliminary action command for performing a preliminary action before printing execution data generated by the printing program based on the operating system is sent to the printer, the command output processing outputs a preliminary action command for performing a preliminary action before printing begins through the communication interface of the information processing device, the printer having the function of performing the preliminary action corresponding to the preliminary action command, and the output instruction processing designates the printer as the output destination, causes the command sending program to output the preliminary action command, and the command sending program has the function of outputting the preliminary action command to the printer designated by the output destination.

[0008] The support program of this invention, when a print instruction is received from a printer via a printing program built into the operating system, outputs a pre-action command to the printer, the recipient of the print instruction, before sending the data to begin printing. Therefore, even if an information processing device receives a print instruction from a printer using a printing program, it can execute printer-specific pre-actions before the printer begins printing based on the print instruction, thus leveraging the printer's unique capabilities. Alternatively, when a print instruction is received from a printer via a printing program built into the operating system, the printer, the recipient of the print instruction, is designated as the output destination, and a command sending program with the function of outputting pre-action commands outputs a pre-action command for performing printer-specific pre-actions. Therefore, even if an information processing device receives a print instruction from a printer using a printing program, it can execute printer-specific pre-actions, leveraging the printer's unique capabilities.

[0009] (2) The support program of the present invention, after the operating system has completed generating the printing data using the printing program, the computer executes the command output processing.

[0010] (3) In the support program of the present invention, after the operating system generates the print data and before the print execution data based on the generated print data is sent to the printer, the computer performs a preview process, the preview process is used to display an image represented by the print execution data on the display device of the information processing device, and to receive an instruction on whether to perform printing based on the print execution data, and the computer performs the command output process after the preview process.

[0011] (4) In the support program of the present invention, when the print instruction is available, before the operating system completes the generation of the print data using the print program, the computer performs a first judgment process to determine whether a first condition is met. The first condition indicates that it is not determined whether to print before the generation of the print data is completed, and the condition is determined whether to print after the generation of the print data is completed. If the first condition is met, the computer performs the command output process after the operating system completes the generation of the print data. If the first condition is not met, the computer performs the command output process before the operating system completes the generation of the print data.

[0012] (5) In the support program of the present invention, after the operating system generates the print data and before the print execution data based on the generated print data is sent to the printer, the computer performs a preview process. The preview process is used to display an image represented by the print execution data on the display device of the information processing device and to receive an instruction on whether to print based on the print execution data. If the settings for performing the preview process are valid, the computer determines that the first condition in the first determination process is met. If an instruction to print is received in the preview process, the computer performs the command output process.

[0013] (6) In the support program of the present invention, when the print instruction is received, the computer performs a second determination process for determining whether a second condition is met, the second condition having a condition indicating that printing begins after a predetermined condition is met in the printer that receives the print execution data. If the second condition is met, the computer does not perform the command output process even if the print execution data is sent to the printer. If the second condition is not met, the computer performs the command output process before the print execution data begins to be sent to the printer.

[0014] (7) The supporting program of the present invention, wherein the computer performs a receiving process for receiving a password associated with the print execution data, wherein when the password is set, the password is associated with the print execution data sent to the printer, and the printer has a function of printing using the print execution data as a predetermined condition when the received print execution data is associated with the password, and the computer determines that the second condition in the second determination process is satisfied when the password is set.

[0015] (8) In the support program of the present invention, when the print instruction is received, before the print execution data is sent to the printer, the computer performs an operation receiving process for receiving an operation performed by the user through the input device of the information processing device, and after receiving the user's operation in the operation receiving process, the computer performs the command output process.

[0016] (9) In the supporting program of the present invention, in the output instruction processing, the printer is specified in the startup option of the command sending program, and the command sending program is started to cause the command sending program to output the preliminary action command, and the command sending program outputs the preliminary action command to the printer specified in the startup option.

[0017] (10) In the supporting program of the present invention, in the output instruction processing, the computer performs a startup process and an instruction input process, the startup process is used to start the command sending program, the instruction input process is used to input an output instruction to the command sending program specifying the printer as the output destination, and after the command sending program is started, if the output instruction is input, the command sending program outputs the preliminary action command to the printer specified by the output instruction.

[0018] (11) The supporting program of the present invention, before the operating system starts generating the printing data using the printing program, the computer executes the startup process, and after the operating system finishes generating the printing data using the printing program, the computer executes the instruction input process.

[0019] (12) The support program of the present invention, in the output instruction processing, designates the printer as the output destination and uses a communication mode different from the communication mode used to send print execution data based on the printing data generated by the printing program using the operating system to the printer, so that the command sending program outputs the preliminary action command.

[0020] (13) The support program of the present invention enables the command sending program to output the preliminary action command by specifying the communication mode used in the output of the preliminary action command during the output instruction processing.

[0021] (14) To solve the above problems, the present invention also provides an information processing apparatus, comprising: a communication interface; and a computer. The information processing apparatus is equipped with a support program corresponding to a printer connected to the information processing apparatus, the printer having a function to perform pre-printing actions, and the operating system of the information processing apparatus having a pre-built-in printing program. When a printing instruction is received, the computer executes at least one of command output processing and output instruction processing, the printing instruction being an instruction to be printed by the printer through the printing program; the command output processing, before printing execution data based on printing data generated by the operating system using the printing program is sent to the printer, outputs a pre-printing action command for performing the pre-printing actions to the printer via the communication interface; the output instruction processing, by the support program designating the printer as the output destination, instructs a command sending program to output a pre-printing action command for performing the pre-printing actions; and when the output of the pre-printing action command is indicated by the support program, the computer outputs the pre-printing action command to the printer designated as the output destination via the communication interface through the command sending program.

[0022] (15) In the information processing apparatus of the present invention, after the operating system has completed generating the printing data using the printing program, the computer executes the command output processing.

[0023] (16) In order to solve the above problems, the present invention also provides a printing method for causing a printer to perform printing execution data using printing data generated by an information processing device. The printer is connected to the information processing device, which has a support program corresponding to the printer. The printer has the function of performing a pre-printing action. The operating system of the information processing device has a printing program as a pre-built program. The printing method includes at least one of a command output step and an output instruction step. When there is a print instruction to be printed by the printer through the printing program, the command output step outputs a pre-printing action command from the information processing device to the printer to perform the pre-printing action before the print execution data based on the print data generated by the printing program using the operating system is sent to the printer. When there is a print instruction to be printed by the printer through the printing program, the output instruction step designates the printer as the output destination and instructs the command sending program to output the pre-printing action command. The printing method further includes a command output step in which, when the output of the pre-printing action command is indicated from the support program, the command sending program outputs the pre-printing action command to the printer specified by the output destination.

[0024] (17) In the printing method of the present invention, in the command output step, after the operating system has completed generating the printing data using the printing program, the support program outputs the preliminary action command.

[0025] (18) In order to solve the above problems, the present invention also provides an assembly program including a support program and a command sending program that are executable by a computer of an information processing device. The support program is a program corresponding to a printer connected to the information processing device. When there is a print instruction from the printer to print by the printer through a print program pre-built into the operating system of the information processing device, the computer executes an output instruction processing that designates the printer as the output destination and instructs the command sending program to output a preliminary action command for performing a preliminary action before starting printing. When the output of the preliminary action command is indicated from the support program, the command sending program causes the computer to execute a command output processing that outputs the preliminary action command to the printer designated by the output destination. The printer has the function of performing the preliminary action corresponding to the preliminary action command.

[0026] (19) In the program set of the present invention, in the output instruction processing of the support program, the printer is specified in the startup option of the command sending program, and the command sending program is started to instruct the command sending program to output the preliminary action command. In the command output processing of the command sending program, the preliminary action command is output to the printer specified in the startup option.

[0027] (20) In the program set of the present invention, in the output instruction processing of the supporting program, the computer performs a startup process and an instruction input process, the startup process is used to start the command sending program, the instruction input process is used to input an output instruction to the command sending program specifying the printer as the output destination, and in the command output processing of the command sending program, the computer outputs the preliminary action command to the printer specified by the output instruction after the command sending program is started and the output instruction has been input.

[0028] (21) The program set of the present invention uses a different communication protocol than the communication protocol used to send print execution data based on the printing data generated by the printing program using the operating system to the printer to output the preliminary action command to the printer specified by the output destination in the command sending program and the command output processing.

[0029] The control method, computer program, and computer-readable storage medium storing the computer program for implementing the functions of the above-described apparatus are also included in this invention.

[0030] According to the technology disclosed in this specification, in an information processing device equipped with an OS standard printing program, the printer's unique capabilities can be utilized even when printing is performed by that printing program. Attached Figure Description

[0031] Figure 1 This is a block diagram showing the electrical structure of the printing system.

[0032] Figure 2 This is an explanatory diagram showing the sequence of processes performed by each procedure.

[0033] Figure 3 This is a timing diagram illustrating examples of the actions of each procedure in the first embodiment.

[0034] Figure 4 This is a flowchart illustrating the printing process in the first embodiment.

[0035] Figure 5 This is a flowchart illustrating the post-processing procedure in the first embodiment.

[0036] Figure 6 This is a timing diagram illustrating an example of the operation of each program in a variation of the first embodiment.

[0037] Figure 7 This is a block diagram illustrating the electrical structure of the printing system in the second embodiment.

[0038] Figure 8 This is a timing diagram illustrating examples of the actions of each procedure in the second embodiment.

[0039] Figure 9 This is a flowchart illustrating the printing process in the second embodiment.

[0040] Figure 10 This is a flowchart illustrating the post-processing procedure in the second embodiment.

[0041] Figure 11 This is a timing diagram illustrating an example of the operation of each program in a variation of the second embodiment. Detailed Implementation

[0042] The following describes in detail a printing system using the program of the embodiment with reference to the accompanying drawings. This embodiment discloses a printing system including a personal computer (hereinafter referred to as "PC") and a printer.

[0043] Figure 1 An example of the structure of a printing system that executes the program of this embodiment is shown. Figure 1 The system shown includes PC1 and printer 2. PC1 is an example of an information processing device. Printer 2 is a device with printing capabilities that can communicate with PC1 via local communication or network communication.

[0044] like Figure 1 As shown, PC 1 includes, for example, a controller 10, a user interface (hereinafter referred to as "UI") 20, and a communication interface (hereinafter referred to as "communication IF") 30. The UI 20 and the communication IF 30 are electrically connected to the controller 10.

[0045] UI 20 includes hardware for displaying and receiving various user input commands. UI 20 can be a touch panel that combines display and input receiving functions, or it can be a combination of a display monitor and a keyboard, mouse, etc. that receive input.

[0046] Communication IF 30 includes hardware for communicating with printer 2 and hardware for accessing the Internet. Communication IF 30 may include multiple interfaces with different communication methods. These communication methods may include, for example, network communication or USB communication. It may also include hardware for wireless communication, such as Wi-Fi (registered trademark) and Bluetooth (registered trademark).

[0047] The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is an example of a computer. The memory 12 includes ROM, RAM, and non-volatile memory, used to store various application programs (hereinafter referred to as "application programs (APPs)") and various data. Details of the memory are not distinguished in this specification. The CPU 11 executes various processes based on user instructions according to the program read from the memory 12. Figure 1 The controller 10 in the text is a general term for the hardware and software used to control PC 1, and is not limited to referring to a single piece of hardware that actually exists in PC 1.

[0048] An example of memory 12 could be a computer-readable storage medium. Computer-readable storage media are non-transitory media. Besides the examples mentioned above, non-transitory media also include recording media such as CD-ROMs and DVD-ROMs. Non-transitory media are also tangible media. On the other hand, although electrical signals used to transmit programs downloaded from servers on the Internet are computer-readable signal media and thus a type of computer-readable medium, they are not included in non-transitory computer-readable storage media.

[0049] For example, such as Figure 1 As shown, memory 12 stores: an operating system (hereinafter referred to as "OS") 21 including a general printing program 41; an auxiliary program 42; and an editing application 43. The auxiliary program 42 is an example of a support program. The auxiliary program 42 is, for example, a Hardware Support Application (HSA) whose specifications have been publicly disclosed by Microsoft Corporation. OS 21 is, for example, Microsoft Windows (registered trademark), macOS (registered trademark), or Linux (registered trademark). In addition to what is shown in the figure, memory 12 also stores various data including information about connected devices, and various programs such as browsers.

[0050] The processing steps in the following flowcharts and procedures essentially represent the processing of CPU 11 according to commands in programs such as auxiliary program 42. That is, in the following descriptions, processes such as "determine," "extract," "select," "calculate," "decide," "confirm," "acquire," "receive," and "control" represent the processing of CPU 11. The processing performed by CPU 11 also includes hardware control using the API of OS 21. In this specification, detailed descriptions of OS 21 are omitted to explain the actions of each program. That is, in the following descriptions, expressions such as "program B controls hardware C" may also refer to "program B uses the API of OS 21 to control hardware C." Furthermore, sometimes the processing of CPU 11 according to commands in a program is described using omitted words. For example, sometimes it is described as "CPU 11 executes," omitting the program. Additionally, the processing of CPU 11 according to commands in a program is sometimes described as "program A executes," omitting the CPU.

[0051] The term "acquire" is used to indicate that a request is not required. That is, the processing of receiving data without a request from the CPU 11 is also included in the concept of "CPU 11 acquiring data." Furthermore, "data" in this specification is represented by a computer-readable bit string. Data with the same substantive meaning but different formats are considered the same data. This also applies to "information" in this specification. Additionally, the concepts of "request" and "instruction" refer to outputting information indicating a request or instruction to another party. Furthermore, information indicating a request or instruction is also expressed as "request" or "instruction."

[0052] Furthermore, the CPU 11's process of determining whether information A represents event B is conceptually expressed as "determine whether it is event B based on information A". The CPU 11's process of determining whether information A represents event B or event C is conceptually expressed as "determine whether it is event B or event C based on information A".

[0053] The universal printing program 41 is an application used to perform printing from PC 1 through various printers such as printer 2, and is a standard OS printing program pre-built into OS 21. In this embodiment, the universal printing program 41 is a program used to generate printing data that the printer can handle based on the image data of the object to be printed. The universal printing program 41 is an example of a printing program.

[0054] Universal Printing Program 41 is a universal application that can be used with various models of printers provided by different device vendors. It is a program that enables various printers to perform common actions across multiple models. Alternatively, Universal Printing Program 41 may also be a program provided by the device vendors to the OS 21 vendors for pre-installation in OS 21, such as a printer driver provided for pre-installation in OS 21.

[0055] On the other hand, after the OS 21 vendor provides the general printing program 41 for use within OS 21, programs developed by the vendors of various devices can be added to PC 1 via an "installation" process. Hereinafter, the printer driver that can be added via installation, rather than a program pre-built into OS 21, will be simply referred to as a "printer driver" or "vendor driver." In other words, the printer driver is not a program pre-built into OS 21, but rather a program that needs to be installed into OS 21 according to a predetermined process for its use. For example, the printer driver can be installed into OS 21 via an installer instructed by UI 20 or by OS 21 itself. The printer driver can be a program provided by the printer vendor corresponding to each model of the printer, and is a program capable of receiving instructions specific to the functions of the corresponding model.

[0056] The printer driver, or vendor driver, may have higher performance than the generic printing program 41 pre-built into OS 21. Higher performance could mean, for example, that print data generated by the printer driver is processed more efficiently in the printer than print data generated by the generic printing program 41, resulting in faster printing speeds. Furthermore, higher performance could also mean that the printer can use less memory to process print data. Additionally, the print data generated by the printer driver could enable the printer to print materials with better color. Furthermore, the print data generated by the printer driver could enable the printer to print materials with higher resolution. Furthermore, the printer driver could instruct the printer on functions specific to the printer driver that the generic printing program 41 cannot instruct. Specific functions include, for example, mirror printing and flip-printing.

[0057] The auxiliary program 42 is a program that performs processing based on instructions from OS 21, corresponding to the actions of the general printing program 41. It is an application used to support the control of the target hardware. The auxiliary program 42 is launched from OS 21, for example. The auxiliary program 42 is an application corresponding to each model of printer 2, etc. The auxiliary program 42 is provided by the supplier of the device such as printer 2. The device supplier registers the auxiliary program 42 to the platform provided by the OS 21 supplier according to the process specified by the OS 21 supplier. When a new printer 2 is connected to PC 1 and the auxiliary program 42 corresponding to that printer 2 is registered in the platform, OS 21 downloads the auxiliary program 42 from the server storing the auxiliary program 42 and installs it on PC 1.

[0058] Then, OS 21 associates the identification information of the installed auxiliary program 42 with the printer information of the newly connected printer 2 and stores it in memory 12. In PC 1, which has multiple printer models connected, auxiliary programs corresponding to each model are installed, and information that associates each printer with each auxiliary program is stored in memory 12. That is, memory 12 stores the printer model information and access information of each printer connected to PC 1, as well as the information of the corresponding auxiliary program 42.

[0059] The editing application 43 is, for example, an application for creating and editing image and text data. The editing application 43 is, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark). The editing application 43 receives user input containing instructions to cause the printer 2 to perform predetermined actions. Specifically, the editing application 43 receives, for example, a print instruction to cause the printer 2 to print via the UI 20.

[0060] Next, we will refer to Figure 2 The following describes the order in which each program performs the printing process. The process described below is as follows: PC 1 receives a printing instruction from the general printing program 41 via the universal printing program 41, which is then executed by the printer 2, through the editing application 43 via the UI 20.

[0061] Upon receiving the print command, the editing application 43 sends a print execution notification to OS 21. The print execution notification may contain information such as: information about the printer specified by the print command; print parameters; and information about the image data of the object to be printed.

[0062] Next, if the auxiliary program 42 corresponding to the printer specified by the print command is stored in the memory 12, the OS 21 instructs the auxiliary program 42 to perform the processing of the auxiliary program 42 before the general printing program 41 starts generating print data.

[0063] The auxiliary program 42 includes: preprocessing performed before the start of the general printing program 41; and postprocessing performed after the end of the general printing program 41 and before the printed image data is sent to the printer 2. Hereinafter, the processing performed before the start of the general printing program 41 will be described as the processing of the "preprocessing auxiliary program" 421, and the processing performed after the end of the general printing program 41 will be described as the processing of the "postprocessing auxiliary program" 422.

[0064] In PC 1 of this embodiment, in response to receiving a print command, a preprocessing assistant program 421 performs preprocessing before the general printing program 41 begins generating print data. The preprocessing assistant program 421 can obtain various information contained in the print command from the OS 21, such as print parameters, printer information, and intermediate image data based on the image data of the print object. The preprocessing assistant program 421 performs preprocessing based on the obtained information and its own program, and returns a completion notification to the OS 21 after preprocessing is complete. The preprocessing of the preprocessing assistant program 421 will be described in detail later.

[0065] When the OS 21 receives an end notification from the preprocessing assistant 421, it executes the processing of the general printing program 41. The general printing program 41 generates print data based on the print instructions.

[0066] After generating the print data, OS 21 performs post-processing using post-processing assistant program 422 before sending the print image data based on the generated print data to printer 2. Post-processing assistant program 422 obtains print parameters, printer information, and the generated print data from OS 21. Post-processing assistant program 422 performs post-processing based on the obtained information and its own program, and returns a completion notification to OS 21 after post-processing is complete. The post-processing of post-processing assistant program 422 will be described in detail later.

[0067] Upon receiving an end notification from the post-processing assistant 422, the OS 21 associates the print parameters with the print image data and sends them to the printer 2 via the communication IF 30. The print image data can be the print data itself or an image obtained by processing the image represented by the print data. For example, in the case of combining a watermark in post-processing, the print image data is data representing the combined image. Furthermore, the print parameters can be changed by the pre-processing assistant 421 or the post-processing assistant 422 according to the settings in the editing application 43. The printer 2 performs printing based on the received print parameters and print image data.

[0068] Next, for the first implementation method, refer to Figure 3 The following timing diagram illustrates the printing process of the printing system, including the actions of auxiliary program 42. In the following description, it is assumed that printer 2 is selected as the printer to perform the printing.

[0069] First, the editing application 43 receives the specified image data of the object to be printed and the settings of the printing parameters via the UI 20 (arrow A). In addition to general settings such as the number of copies, the printing parameters also include settings specific to the printer 2 and the auxiliary program 42 corresponding to the printer 2.

[0070] In order to receive settings specific to printer 2 and the corresponding auxiliary program 42, the editing application 43 receives an instruction to transfer to detailed settings. When the editing application 43 receives the instruction to transfer to detailed settings, it sends an execution command indicating the setting of printing parameters to OS 21, and outputs the execution command to the auxiliary program 42 via OS 21 (arrow B).

[0071] In response to an execution command indicating the setting of print parameters, the auxiliary program 42 performs the setting process of the pre-processing auxiliary program 421 (arrow C). Here, a setting screen for receiving print parameter settings is displayed on the UI 20, and the setting of print parameters and setting completion instructions are received. The settings that can be received include settings for functions specific to the auxiliary program 42 and the printer 2.

[0072] In this embodiment, as printing parameters unique to the auxiliary program 42, the following settings and / or specifications are received: a setting to enable the preview function, which is the function of displaying an image of the printable object on the UI 20 before sending print image data; and a specification for secure printing, which means that printing is performed only if a password is entered. If a secure printing specification is received, a password setting is also received. The entered password is included in the printing parameters. In addition, as printing parameters unique to the auxiliary program 42, settings with functions equivalent to those of the printer driver can also be received.

[0073] When a setting completion instruction is received, the auxiliary program 42 sends a completion notification to the OS 21, which in turn sends the completion notification to the editing application 43 (arrow D). If the editing application 43 does not receive an instruction to proceed to detailed settings, the processing from arrow B to arrow D is omitted.

[0074] Then, the editing application 43 receives the instruction to execute printing via UI 20 (arrow E). When the editing application 43 receives the instruction to execute printing, it sends a print execution notification to OS 21 (arrow F). The print execution notification contains information indicating the set print parameters and image data of the object to be printed. The print execution notification is an example of a print instruction.

[0075] When OS 21 detects a print execution notification output from editing application 43, OS 21 determines the printer designated as the device to perform the printing based on the information contained in the print execution notification. For example, if the printer 2 is specified to be printed using general printing program 41, and an auxiliary program 42 corresponding to the printer 2 is installed, OS 21 outputs the execution command (arrow G) for the processing of auxiliary program 42.

[0076] When the auxiliary program 42 receives an execution command corresponding to itself, it executes the processing of the pre-processing auxiliary program 421 or the post-processing auxiliary program 422. Here, OS 21 outputs a pre-processing execution command to the auxiliary program 42 before starting to generate print data, causing the pre-processing auxiliary program 421 to start pre-processing.

[0077] The preprocessing assistant program 421 performs preprocessing using information from the printer 2, print parameters, and image data sent from the OS 21 (arrow H). The image data obtained from the OS 21 is intermediate image data, which the OS 21 converts from the format of the image data sent from the editing application 43 into an intermediate data format. Preprocessing may include image processing based on print parameter settings such as image enlargement, reduction, and merging. Alternatively, preprocessing may display print parameter settings on the UI 2O, thereby receiving changes to the print parameter settings. After the preprocessing is completed, the preprocessing assistant program 421 sends a completion notification to the OS 21 (arrow I).

[0078] In response to receiving a termination notification from the preprocessing assistant 421, OS 21 uses the general printing program 41 to generate print data (arrow J). The print data generated by the general printing program 41 is general print data, which can be used in printing on various printers 2.

[0079] After the general printing program 41 finishes generating the print data, OS 21 outputs another command (arrow K) to execute the processing of the auxiliary program 42. Specifically, after the print data generation is complete, OS 21 outputs a post-processing execution command to the auxiliary program 42, initiating the post-processing of the post-processing auxiliary program 422.

[0080] The post-processing assistant program 422 uses the printer 2 information, printing parameters, and printing data sent from the OS 21 to perform post-processing. As post-processing, the post-processing assistant program 422 of this embodiment generates printed image data based on the printing data obtained from the OS 21, and performs preview processing when the preview function is enabled, displaying the image (arrow L) represented by the generated printed image data on the UI 2O.

[0081] During preview processing, the post-processing assistant 422 displays the image represented by the print image data using the UI 20, and receives the selection to execute or cancel printing via the UI 20. In other words, the post-processing assistant 422 receives user input via the UI 20. If printing is selected, using the printer 2 model information and IP address obtained from the OS 21, a pre-action command (arrow M) instructing the printer 2 to perform pre-action actions is output to the printer 2 via the communication IF 30. Pre-action actions are actions that prepare the printer 2 for printing before sending the print image data.

[0082] Printer 2 initiates pre-operation upon receiving a pre-operation command from PC 1 (arrow N). Pre-operation via printer 2 reduces the waiting time from when the user enters the print command to when the first page is printed.

[0083] The pre-action procedure includes, for example, various types of pre-action procedures for each model of printer 2. In the case of an inkjet printer, for example, the pre-action procedure could be removing the anti-drying cap from the printhead and moving the printhead to the printing start position. Furthermore, in the case of an electrophotographic printer, for example, the pre-action procedure could be starting the preheating of the fuser unit. That is, since the pre-action procedures that can be performed differ for each printer model, there are also various types of pre-action commands. The auxiliary program 42 stores the pre-action commands in association with the model name. Furthermore, the pre-action procedure can also be independent of the printing method of printer 2; for example, it can determine the paper tray based on printing parameters, pull paper from the determined paper tray, and feed the paper to a predetermined standby position.

[0084] If printer 2 can handle multiple types of pre-action commands, the post-processing auxiliary program 422 can output multiple types of pre-action commands, and can also receive the specified pre-action commands to be output to printer 2 through a preset screen, etc. When printer 2 performs multiple pre-actions, multiple pre-action commands can be sent sequentially, or multiple pre-action commands can be combined into a single pre-action command for transmission. Printer 2 has the function of performing at least one pre-action; upon receiving a pre-action command, it performs the pre-action corresponding to that command.

[0085] Furthermore, when printing is selected via preview processing, the post-processing assistant 422 sends a termination notification to OS 21 (arrow O). In response to receiving the termination notification from the post-processing assistant 422, OS 21 sends print image data to printer 2 (arrow P), and the processing based on the print execution notification ends. Printer 2, having received the print image data, performs printing based on the received print image data (arrow Q).

[0086] On the other hand, if cancellation is selected during preview processing, the post-processing assistant 422 sends a cancellation notification to OS 21 (arrow R). In response to receiving the cancellation notification from the post-processing assistant 422, OS 21 terminates processing based on the print execution notification without sending print image data to printer 2. In this case, printer 2 does not perform printing.

[0087] Post-processing auxiliary program 422 outputs the preliminary action command in Figure 3 The process is performed before the end notification is sent to OS 21, but it can also be performed after the end notification is sent to OS 21. Furthermore, when the preview function is disabled and preview processing is not performed, the post-processing assistant 422 does not display the preview, outputs the pre-action command to printer 2, and sends the end notification to OS 21.

[0088] Furthermore, during post-processing performed by the post-processing auxiliary program 422, if the printer 2 has unique functions such as a colorant saving mode, a command can be sent to the printer 2 to enable that unique function.

[0089] Next, refer to Figure 4 The flowchart illustrates the printing process performed by OS 21 during the printing process of the printing system implementing the first embodiment described above. When OS 21 receives a print execution notification from the editing application 43 ( Figure 3 (See arrow F in the image) PC 1's CPU 11 performs printing processing according to OS 21.

[0090] During the printing process, OS 21 first determines whether there is an auxiliary program 42 in memory 12 (S101). As mentioned above, the auxiliary program 42 corresponding to each printer is provided by the device vendor. When OS 21 detects a printer, the auxiliary program 42 corresponding to the detected printer is installed by OS 21 in PC 1.

[0091] When it is determined that there is no auxiliary program 42 in memory 12, for example, when no auxiliary program 42 corresponding to printer 2 is provided (S101: No), OS 21 uses the general printing program 41 to generate print data (S102). Then, the generated print data or print image data based on the print data is sent to printer 2 (S103), and the printing process ends. In the event that the transmission of print image data fails, OS 21 can perform predetermined error handling.

[0092] When the auxiliary program 42 is not installed on PC 1, print data is generated by the universal printing program 41. Therefore, the user can use various printers 2 in the same way without knowing the settings of printer 2. However, printing using the universal printing program 41 may take longer and the quality of the printout may be lower compared to printing by a high-performance printer driver.

[0093] On the other hand, if it is determined that there is an auxiliary program 42 (S101: Yes), then OS 21 outputs an execution command to the auxiliary program 42 corresponding to printer 2, and begins the preprocessing of the auxiliary program 421 (S111, ...). Figure 3 (See arrow G in the image). Thus, CPU 11 performs preprocessing according to preprocessing assistant 421. When OS 21 executes the processing of preprocessing assistant 421, for example, OS 21 can input information representing preprocessing assistant 421 into assistant 421. Alternatively, OS 21 can store information representing preprocessing assistant 421 in memory 12, output an execution command to preprocessing assistant 421, and preprocessing assistant 421 reads this information. Alternatively, OS 21 can output an execution command specifying the preprocessing of preprocessing assistant 421.

[0094] After the preprocessing assistant 421 begins preprocessing, when a termination notification is received from the preprocessing assistant 421, the OS 21 uses the general printing program 41 included in the OS 21 to generate print data (S112, Figure 3 (See arrow J in the diagram). S112 is the same process as S102. When a cancellation notification is received from the preprocessing assistant 421, OS 21 does not generate print data and ends the printing process.

[0095] After generating the print data, before sending the print image data based on the generated print data to the printer 2, OS 21 outputs an execution command to the auxiliary program 42 corresponding to the printer 2, and begins the post-processing of the post-processing auxiliary program 422 (S113). Figure 3 (See arrow K in the diagram). Therefore, CPU 11 performs post-processing according to post-processing auxiliary program 422.

[0096] After the post-processing auxiliary program 422 begins post-processing, the OS 21 enters standby mode until it receives a notification from the post-processing auxiliary program 422, and determines whether the notification received from the post-processing auxiliary program 422 is an end notification or a cancellation notification (S114). When it is determined that an end notification has been received (S114: Yes), the OS 21 sends the print data or print image data based on the print data to the printer 2 (S103, Figure 3The printing process ends when the arrow P is received. If a cancellation notification is received (S114: No), OS 21 ends the printing process without sending print image data.

[0097] Next, refer to Figure 5 The flowchart illustrates the post-processing performed by the auxiliary program 42 that implements the above-described printing system. When the auxiliary program 42 receives an execution command from the OS 21 ( Figure 3 (See arrow K in the image) PC 1's CPU 11 performs post-processing according to the post-processing auxiliary program 422, which is part of the auxiliary program 42.

[0098] In post-processing, the post-processing auxiliary program 422 first generates print image data based on the print data generated using the general printing program 41 according to the print parameters (S201). In S201, for example, the image represented by the print data is processed to synthesize a watermark, header, or footer. If the image represented by the print data is not processed, S201 can be omitted, and the print data can be used directly as print image data, or a copy of the print data can be generated.

[0099] Next, the post-processing auxiliary program 422 determines whether the preview function is valid (S202). If the preview function is valid (S202: Yes), the post-processing auxiliary program 422 performs a preview display, showing the image represented by the print image data generated in S201 on the UI 20, and receives the selection to perform printing or cancel printing (S211, Figure 3 (See arrow L in the image). S211 is an example of preview processing. Then, the auxiliary program 42 determines whether the user's selection is to perform printing (S212).

[0100] If it is determined that printing has been selected (S212: Yes), or if the preview function is invalid (S202: No), then the post-processing auxiliary program 422 obtains the printer information of the printer 2 designated as the device to perform printing, and outputs the preliminary action command to the printer 2 (S203, Figure 3 (See arrow M in the diagram). S203 is an example of command output processing. Specifically, the post-processing auxiliary program 422 obtains access information such as the printer 2's model information and IP address by querying OS 21 or referring to the storage location of information stored in OS 21. Based on this, it determines the appropriate preliminary action command for the printer model and printing parameters, and outputs the preliminary action command using the access information.

[0101] Following S203, the post-processing auxiliary program 422 sends an end notification to OS 21 (S204). Figure 3The arrow O in the image indicates that the process ends after the operation. On the other hand, if it is determined that cancellation was selected (S212: No), the post-processing auxiliary program 422 will send a cancellation notification to OS21 (S213, ...). Figure 3 (See arrow R in the image), and process it after completion.

[0102] As described in the detailed explanation above, according to the auxiliary program 42 of the first embodiment, when a print instruction is received to cause printer 2 to print using the general printing program 41, a pre-action command to execute a printer-specific pre-action is output to printer 2, the recipient of the print instruction, before the printer starts sending print image data based on print data generated by the general printing program 41. Thus, even if PC 1 receives a print instruction to print using the general printing program 41, it can execute the printer-specific pre-action before printer 2 starts printing based on the print instruction, thereby enabling the printer to utilize its unique capabilities.

[0103] Furthermore, in the first embodiment, the auxiliary program 42 outputs a preliminary command after the user operation in the preview processing following the generation of print data by OS 21 has ended. That is, when the preview function is active, the execution of printing is determined not before the generation of print data, but after the generation of print data. Therefore, by sending the preliminary operation command after the generation of print data, the printer can avoid wasting preliminary operations. Moreover, if the user operation is received before the print image data is sent, even if the preliminary operation command is sent in advance, the waiting time for receiving the user operation is long, potentially wasting preliminary operations. Therefore, by sending the preliminary operation command after the user operation, the printer can avoid wasting preliminary operations.

[0104] Next, refer to Figure 6 A timing diagram is used to illustrate a variation of the printing process of a printing system including the actions of auxiliary program 42, illustrating a first embodiment of the printing process. The variation of the first embodiment differs from the first embodiment in that a preliminary action command is output during preprocessing. Figure 6 In each of the processes shown, with Figure 3 The same processing described in the first embodiment uses the same reference numerals. Furthermore, in variations of the first embodiment, arrows A to G are... Figure 3 The first embodiment shown is the same, so its description is omitted.

[0105] In the case where preprocessing execution commands are output from OS 21 ( Figure 3(Arrow G) The preprocessing auxiliary program 421 of the auxiliary program 42 performs a first output judgment (Arrow S) as part of the preprocessing, judging whether the following two conditions are not met: the post-output condition, that is, the condition of outputting the pre-action command after the print data is generated; and the restriction condition, that is, the condition used to restrict the output of the pre-action command. When the first output judgment condition is met, that is, when neither the post-output condition nor the restriction condition is met, the pre-action command is output to the printer 2 in the preprocessing (Arrow T). The printer 2 starts the pre-action by receiving the pre-action command from the PC 1 (Arrow U). On the other hand, if the first output judgment condition is not met, that is, if at least one of the post-output condition and the restriction condition is met, the pre-action command is not output.

[0106] The post-output condition in this embodiment corresponds to the case where the preview function is active. If preview processing is performed, printing may be cancelled, and even if a preliminary action command was output before preview processing, the preliminary action performed by printer 2 is wasted. Furthermore, even if printing is selected, if a long selection process takes a considerable amount of time, the long-waiting preliminary action is also wasted.

[0107] In other words, the post-output condition is equivalent to a condition related to at least one of canceling printing and waiting to receive user input. The post-output condition is an example of the first condition. For example, in the case where, in addition to the preview function, there is a function to display a message indicating whether to send the print image data before sending it, and to receive user input, enabling this function can be used as the post-output condition. When a change in print parameters is received via user input in the preprocessing stage, the preprocessing assistant 421 performs the post-output condition determination after the reception is complete.

[0108] Furthermore, the limitation of this embodiment corresponds to the designation of secure printing. When secure printing is designated, printer 2 receives password input after receiving print image data, and prints based on the print image data only when a password matching the password included in the print parameters is entered. In other words, when secure printing is designated, printing does not begin immediately even if printer 2 receives print image data. Therefore, it can be determined that no prior action is required, and the sending of prior action commands is restricted.

[0109] In other words, the restriction condition is equivalent to not starting printing even if printer 2 receives the print image data unless other conditions are met. The restriction condition is an example of the second condition. Besides, or instead of, secure printing, the restriction condition could be, for example, a designation related to a scheduled print job at a specified time. Alternatively, the restriction condition could include situations where printing is delayed until a user's execution command is entered, even without a password. Alternatively, the restriction condition could be that printer 2 is already performing printing, since no prior action is required during printing. Furthermore, the restriction condition could also be that printing cannot begin due to errors such as paper shortage or paper jams, because even performing prior actions does not allow printing to start immediately.

[0110] After the preprocessing is completed, the preprocessing assistant 421 sends a termination notification to the OS 21 (arrow I). In response to receiving the termination notification from the preprocessing assistant 421, the OS 21 uses the general printing program 41 to generate print data (arrow J) and outputs the postprocessing execution command of the assistant program 42 (arrow K).

[0111] When the post-processing execution command is output, the post-processing assistant program 422 of the assistant program 42 performs preview processing (arrow L) as one of the post-processing steps. If the preview function is invalid, the preview processing is omitted.

[0112] Furthermore, the post-processing auxiliary program 422 performs a second output judgment (arrow V) as part of the post-processing, determining whether both of the following conditions are met: the output execution condition is met, i.e., the condition for outputting the preliminary action command; and the restriction condition is not met, i.e., the condition for restricting the output of the preliminary action command. If the conditions of the second output judgment are met, the preliminary action command is output to printer 2 in post-processing (arrow W). Printer 2 begins the preliminary action by receiving the preliminary action command from PC1 (arrow X).

[0113] The output execution condition of the variation of the first embodiment is equivalent to selecting to execute printing during preview processing. In the case of executing preview processing, after generating print data, it is received whether to execute printing or cancel printing, so it is possible to determine whether a preliminary action command can be sent by selecting to execute printing.

[0114] Furthermore, the post-processing constraints in the modified example of the first embodiment, besides being the same as those in the pre-processing constraints, are equivalent to sending a pre-action command in the pre-processing. If a pre-action command is sent in the pre-processing, sending it again in the post-processing is wasteful. When the same constraints as those in the pre-processing are not met, and no pre-action command was sent in the pre-processing, it is determined that the constraints are not met. Therefore, it is possible to determine that no pre-action command needs to be sent even if one has already been sent.

[0115] When the execution of processing ends without canceling during preview processing, the post-processing assistant 422 sends an end notification to OS 21 (arrow o). In response to receiving the end notification from the post-processing assistant 422, OS 21 sends print image data to printer 2 (arrow P), ending the processing based on the print execution notification. Printer 2, having received the print image data, begins printing based on the received print image data (arrow Q). Although not shown in the figure, if the execution of processing ends by canceling, the post-processing assistant 422 sends a cancellation notification to OS 21. In response to receiving the cancellation notification, OS 21 ends the processing based on the print execution notification without sending print image data.

[0116] As described in detail above, even in the auxiliary program 42 of the modified example of the first embodiment, when there is a print instruction to cause the printer 2 to print via the general printing program 41, the auxiliary program 42 outputs a pre-action command to the printer 2 before starting to send print image data to the printer 2. Therefore, even if the PC 1 receives a print instruction from the general printing program 41, the printer 2 can perform its own unique pre-action before starting to print based on that print instruction, thus leveraging the printer's unique capabilities.

[0117] Furthermore, the auxiliary program 42 in this embodiment performs a post-output condition determination before OS 21 generates print data. If the post-output condition is not met, a pre-action command can be sent to printer 2 even before OS 21 generates print data. In other words, depending on the printing conditions, there is a situation where printing is determined to be performed before print data is generated. In this case, by sending a pre-action command before print data is generated, the pre-action in the printer can be started as early as possible, and printing can begin as early as possible.

[0118] Furthermore, the auxiliary program 42 in the modified embodiment of the first embodiment performs a determination of the limiting conditions. If the limiting conditions are met, even if the subsequent output conditions are not met or the output execution conditions are met, the pre-action command is not sent to the printer 2. That is, depending on the printing conditions, there may be a situation where the printer 2 does not immediately start printing after the print execution data is sent to the printer 2. In this case, by not sending the pre-action command, the waste of pre-action in the printer 2 can be avoided.

[0119] Furthermore, in the first embodiment and its variations, before receiving the print command (arrow E), as specific print parameters, the auxiliary program 42 receives a setting to enable the preview function that displays the image of the printable object on the UI20 before sending the print image data, and a secure print specification (arrow C) that specifies that the input password is a condition for performing print. However, it may also be received as one of the preprocessing steps after receiving the print command (arrow H or arrow S).

[0120] Furthermore, in the first embodiment and its variations, as unique printing parameters, the auxiliary program 42 receives settings for whether to enable the preview function that displays the image of the printable object on the UI 20 before sending the print image data, and for specifying secure printing with the input of a password as a condition for performing printing. However, some or all of these settings may also be received by the OS 21.

[0121] The following is for reference Figures 7 to 11 The printer 2 according to the second embodiment of this application will be described below. In the following description, the differences from the first embodiment will be described, the same reference numerals will be used for the same structures as in the first embodiment, and their descriptions will be omitted.

[0122] like Figure 7 As shown, the printer 2 of the second embodiment is the same as the printer 2 of the first embodiment except for the structure of the memory 12. That is, in addition to storing the OS 21, the auxiliary program 42 and the editing application 43, the memory 12 also stores the command sending application 44.

[0123] In the second embodiment, the auxiliary program 422 does not send commands such as pre-action commands. Instead of the auxiliary program 422, the command sending application 44 sends these commands.

[0124] Command sending application 44 is a program that sends various commands to a specified device. Command sending application 44 is launched from, for example, auxiliary program 42. Command sending application 44 is prepared by the supplier of devices such as printer 2, and is installed, for example, in combination with auxiliary program 42. On PC 1 connected to multiple printer models, individual command sending applications corresponding to each model can be installed, or a common command sending application for multiple models can be installed. Command sending application 44 is an example of a command sending program.

[0125] Next, for the second implementation method, refer to Figure 8 The following timing diagram illustrates the printing process of the printing system, including the actions of auxiliary program 42. In the following description, it is assumed that printer 2 is selected as the printer to perform the printing.

[0126] First, the editing application 43 receives the instruction to execute printing via UI 20 (arrow A1). When the editing application 43 receives the instruction to execute printing, it sends a print execution notification to OS 21 (arrow B1). The print execution notification is an example of a printing instruction.

[0127] Before receiving the instruction to execute printing, the editing application 43 receives the specification of the image data of the printable object and the settings of the printing parameters. The print execution notification contains information indicating the set printing parameters and the image data of the printable object. In addition to general settings such as the number of copies, the printing parameters also include settings specific to printer 2 and settings specific to the auxiliary program 42 corresponding to printer 2. Printing parameters specific to auxiliary program 42 may include, for example, the following settings and / or specifications: whether to enable the preview function, which displays the image of the printable object on UI 20 before sending print data; and the specification of secure printing, which requires a password to execute printing. When a secure printing specification is received, the password is also included in the printing parameters. Furthermore, printing parameters specific to auxiliary program 42 may also include settings with functions equivalent to those of the printer driver.

[0128] When OS 21 detects a print execution notification output from editing application 43, OS 21 determines the printer designated as the device to perform the printing based on the information contained in the print execution notification. For example, if the printer 2 is specified to be printed using general printing program 41, and an auxiliary program 42 corresponding to the printer 2 is installed, OS 21 outputs the execution command (arrow C1) for the processing of auxiliary program 42.

[0129] When the auxiliary program 42 receives an execution command corresponding to itself, it executes the processing of the pre-processing auxiliary program 421 or the post-processing auxiliary program 422. Here, OS 21 outputs a pre-processing execution command to the auxiliary program 42 before starting to generate print data, causing the pre-processing auxiliary program 421 to start pre-processing.

[0130] The preprocessing assistant program 421 performs preprocessing using information from the printer 2, print parameters, and image data sent from the OS 21 (arrow D1). The image data obtained from the OS 21 is intermediate image data, which the OS 21 converts from the format of the image data sent from the editing application 43 to an intermediate data format. Preprocessing may include image processing based on print parameter settings such as image enlargement, reduction, and merging. Alternatively, preprocessing may display print parameter settings on the UI 20, thereby receiving changes to the print parameter settings. After the preprocessing is completed, the preprocessing assistant program 421 sends a completion notification to the OS 21 (arrow E1).

[0131] In response to receiving a termination notification from the preprocessing assistant 421, OS 21 uses the general printing program 41 to generate print data (arrow F1). The print data generated by the general printing program 41 is general print data, which can be used in printing on various printers 2.

[0132] After the general printing program 41 finishes generating the print data, OS 21 outputs a command (arrow G1) to execute the processing of the auxiliary program 42. Specifically, after the print data generation is complete, OS 21 outputs a post-processing execution command to the auxiliary program 42, initiating the post-processing of the post-processing auxiliary program 422.

[0133] The post-processing assistant program 422 uses the information, printing parameters, and printing data of the printer 2 sent from the OS 21 to perform post-processing. As post-processing, in addition to generating print image data based on the print data obtained from the OS 21, the post-processing assistant program 422 also determines whether the constraints are met. The constraints are conditions used to limit the output of the preceding action commands (arrow H1).

[0134] Similar to the variation of the first embodiment, the limitation in the second embodiment corresponds to the designation of secure printing. When secure printing is designated, printer 2 receives password input after receiving print image data, and prints based on the print image data only when a password matching the password included in the print parameters is entered. In other words, when secure printing is designated, printing does not begin immediately even if printer 2 receives print image data. Therefore, it can be determined that no prior action is required, and the sending of the prior action command is restricted.

[0135] In other words, the restriction condition is equivalent to not starting printing even if printer 2 receives print image data unless other conditions are met. Besides, or instead of, secure printing, the restriction condition could be, for example, a designation related to a scheduled print job at a specified time. Alternatively, the restriction condition could include situations where printing begins only after receiving an execution command from the user, even without a password. Alternatively, the restriction condition could be that printer 2 is already performing printing, since no prior action is required during printing. Furthermore, the restriction condition could also be due to errors such as paper shortage or paper jams, because even performing prior actions does not immediately initiate printing.

[0136] Then, if the constraints are not met, the post-processing assistant 422 starts the command sending application 44 (arrow I1). The start command of the command sending application 44 includes start options, which contain sending information related to the sending method, such as the address information of the printer 2 as the destination of the command output and the model information of the printer 2. The post-processing assistant 422 obtains the sending information from the OS 21 before starting the command sending application 44.

[0137] When the command sending application 44 is started, it uses the printer 2 model information included in the startup options to create a pre-action command that instructs the printer 2 to perform a pre-action. The created pre-action command is then output to the printer 2 via communication IF 30 using the address information included in the startup options (arrow J1). The pre-action is an action that prepares the printer 2 for printing before sending the print image data. After outputting the pre-action command, the command sending application 44 automatically terminates.

[0138] Printer 2 initiates a pre-action operation upon receiving a pre-action command from PC 1 (arrow K1). Pre-action by printer 2 reduces the waiting time from when the user enters the print command to when the first page is printed.

[0139] Similar to variations of the first embodiment, the pre-action includes, for example, various types of pre-actions for each model of printer 2. In the case of an inkjet printer, for example, the pre-action could be removing the anti-drying cap from the printhead and moving the printhead to the printing start position. Furthermore, in the case of an electrophotographic printer, for example, the pre-action could be starting the preheating of the fuser unit. That is, since the pre-actions that can be performed differ for each printer model, there are also various types of pre-action commands. The command sending application 44 stores the pre-action commands associated with the model name. Furthermore, the pre-action can also be independent of the printing method of printer 2; for example, it could determine the paper tray based on printing parameters, pull paper from the determined paper tray, and feed the paper to a predetermined standby position.

[0140] If printer 2 can handle multiple types of pre-action commands, the command sending application 44 can output multiple types of pre-action commands, or receive the specified pre-action commands to be output to printer 2 through a preset screen, etc. When printer 2 performs multiple pre-actions, multiple pre-action commands can be sent sequentially, or multiple pre-action commands can be combined into a single pre-action command for transmission. Printer 2 has the function of performing at least one pre-action; upon receiving a pre-action command, it performs the pre-action corresponding to that command.

[0141] After the command sending application 44 is initiated, or when certain constraints are met, the post-processing assistant 422 sends a termination notification to the OS 21 (arrow L1). In response to receiving the termination notification from the post-processing assistant 422, the OS 21 sends print image data to the printer 2 (arrow M1), and processing based on the print execution notification ends. The printer 2, having received the print image data, performs printing based on the received print image data (arrow N1).

[0142] The post-processing of the post-processing assistant 422 can also be a preview display of an image based on the printed image data. In the case of a preview display, a user operation is received to select whether to execute or cancel printing. If executing printing is selected, the command sending application 44 is launched; if canceling printing is selected, the command sending application 44 is not launched, and a cancellation notification is sent to OS 21 instead of an end notification.

[0143] Furthermore, in the above process, the command sending application 44 creates a preliminary action command based on the printer 2 model information. However, it is also possible that the post-processing auxiliary program 422 creates the preliminary action command and includes information indicating the type of preliminary action command in the startup options. In this case, the auxiliary program 42 stores the preliminary action command associated with the model name, and the command sending application 44 does not generate the preliminary action command, but instead outputs the preliminary action command based on the information indicating the type of preliminary action command included in the startup options.

[0144] Furthermore, in the above process, the post-processing auxiliary program 422 starts the command sending application 44 and outputs the preliminary action command as post-processing after the generation of print data. However, it is also possible that the pre-processing auxiliary program 421 starts the command sending application 44 and outputs the preliminary action command as pre-processing before the generation of print data.

[0145] Furthermore, during the aforementioned process, the command sending application 44 is launched via the auxiliary program 42. The command sending application 44 automatically outputs a preliminary action command based on the launch options. That is, the launch of the command sending application 44 also serves as the output instruction for the preliminary action command. However, the launch of the command sending application 44 and the output instruction for the preliminary action command can be performed separately. In this case, for example, the launch of the command sending application 44 and the output instruction for the preliminary action command are executed consecutively, and the sending information contained in the launch options of the command sending application 44 is included in the output instruction for the preliminary action command.

[0146] Furthermore, the command sending application 44 is started by the auxiliary program 42. The processing for outputting the preliminary action command automatically begins upon startup of the command sending application 44, and automatically terminates after output. However, it can also be a resident application that is already running. In this case, the auxiliary program 42 outputs an execution command for outputting the preliminary action command to the command sending application 44. The command sending application 44 outputs the preliminary action command based on the sending information contained in the execution command, and does not terminate after output.

[0147] Next, refer to Figure 9 The flowchart illustrates the printing process performed by OS 21 during the printing process of the printing system implementing the second embodiment described above. When OS 21 receives a print execution notification from the editing application 43 ( Figure 8 (See arrow B1 in the image) PC 1's CPU 11 performs printing processing according to OS 21.

[0148] During the printing process, OS 21 first determines whether there is an auxiliary program 42 in memory 12 (S301). As mentioned above, the auxiliary program 42 corresponding to each printer is provided by the device vendor. When OS 21 detects a printer, the auxiliary program 42 corresponding to the detected printer is installed by OS 21 in PC 1.

[0149] When it is determined that there is no auxiliary program 42 in memory 12, for example, when no auxiliary program 42 corresponding to printer 2 is provided (S301: No), OS 21 uses the general printing program 41 to generate print data (S302). Then, the generated print data or print image data based on the print data is sent to printer 2 (S303), and the printing process ends. In the event that the transmission of print image data fails, OS 21 can perform predetermined error handling.

[0150] When the auxiliary program 42 is not installed on PC 1, print data is generated by the universal printing program 41. Therefore, the user can use various printers 2 in the same way without knowing the settings of printer 2. However, printing using the universal printing program 41 may take longer and the quality of the printout may be lower compared to printing by a high-performance printer driver.

[0151] On the other hand, if it is determined that there is an auxiliary program 42 (S301: Yes), then OS 21 outputs an execution command to the auxiliary program 42 corresponding to printer 2, and begins the preprocessing of the auxiliary program 421 (S311, Figure 8 (See arrow C1 in the image). Thus, CPU 11 performs preprocessing according to preprocessing assistant 421. When OS 21 executes the processing of preprocessing assistant 421, for example, OS 21 can input information representing preprocessing assistant 421 into assistant 421. Alternatively, OS 21 can store information representing preprocessing assistant 421 in memory 12, output an execution command to preprocessing assistant 421, and preprocessing assistant 421 reads this information. Alternatively, OS 21 can output an execution command specifying the preprocessing of preprocessing assistant 421.

[0152] After the preprocessing assistant 421 begins preprocessing, when a termination notification is received from the preprocessing assistant 421, the OS 21 uses the general printing program 41 included in the OS 21 to generate print data (S312, Figure 8 (See arrow F1 in the diagram). S312 is the same process as S302. When a cancellation notification is received from the preprocessing assistant 421, OS 21 does not generate print data and ends the printing process.

[0153] After generating the print data, before sending the print image data based on the generated print data to the printer 2, OS 21 outputs an execution command to the auxiliary program 42 corresponding to the printer 2, and begins the post-processing of the post-processing auxiliary program 422 (S313). Figure 8 (See arrow G1 in the image). Therefore, CPU 11 performs post-processing according to post-processing auxiliary program 422.

[0154] After the post-processing auxiliary program 422 begins post-processing, the OS 21 enters standby mode until it receives a notification from the post-processing auxiliary program 422, and determines whether the notification received from the post-processing auxiliary program 422 is an end notification or a cancellation notification (S314). When it is determined that an end notification has been received (S314: Yes), the OS 21 sends the print data or print image data based on the print data to the printer 2 (S303, Figure 8 The printing process ends when the arrow M1 is received. If a cancellation notification is received (S314: No), OS 21 ends the printing process without sending print image data.

[0155] Next, refer to Figure 10 The flowchart illustrates the post-processing performed by the auxiliary program 42 that implements the above-described printing system. When the auxiliary program 42 receives an execution command from the OS 21 ( Figure 8 (See arrow G1 in the image) The CPU 11 of PC 1 performs post-processing according to the post-processing auxiliary program 422, which is part of the auxiliary program 42.

[0156] In post-processing, the post-processing auxiliary program 422 first generates print image data based on the print data generated using the general printing program 41 according to the print parameters (s401). In S401, for example, the image represented by the print data is processed to synthesize a watermark, header, or footer. If the image represented by the print data is not processed, S401 can be omitted, and the print data can be used directly as print image data, or a copy of the print data can be generated.

[0157] Next, the post-processing auxiliary program 422 determines whether the constraint conditions are met (S402, Figure 8(See arrow H1 in the diagram). If the constraint condition is not met (S402: No), the post-processing auxiliary program 422 determines whether there are multiple communication modes capable of communication with the printer 2 designated as the printing device (S404). In S404, different communication modes refer to different communication media or different communication methods. Specific examples of communication modes could be wired communication such as USB or LAN port, or wireless communication such as WiFi or Bluetooth. S404 is a process that determines whether there are other communication modes capable of communicating with the printer 2 besides the communication mode selected by the printing instruction. For example, if the printing instruction selects wireless communication via WiFi, and communication with the printer 2 is also possible via a communication mode other than WiFi, then it is determined that there are multiple communication modes capable of communicating with the printer 2.

[0158] If there are multiple communication modes that can communicate with printer 2 (S404: Yes), the post-processing auxiliary program 422 selects one of the communication modes other than the currently selected communication mode of the print instruction as the communication mode for outputting the preliminary action command (S405). On the other hand, if there are no multiple communication modes that can communicate with printer 2 (S404: No), the post-processing auxiliary program 422 selects the currently selected communication mode of the print instruction as the communication mode for outputting the preliminary action command (S406).

[0159] After selecting the communication mode, the post-processing auxiliary program 422 starts the command sending application 44 (S407). Figure 8 (See arrow I1 in the image). S407 is an example of output command processing. Specifically, the post-processing auxiliary program 422 obtains access information such as the printer 2's model information and IP address by querying OS21 or referring to the storage location of OS21's stored information. The startup options include information indicating the printer 2's model information, IP address, and selected communication mode, and the startup command sending application 44 is launched. The command sending application 44 outputs a preliminary action command to the printer 2 according to the communication mode included in the startup options. The communication mode outputs the preliminary action command to the printer 2. In the case of multiple communication modes capable of communicating with the printer 2, by outputting the preliminary action command to the printer 2 in a communication mode different from the communication mode used when sending print image data, the output of the preliminary action command does not affect the transmission of print image data, thus avoiding the problem of delays in one party causing delays in the other.

[0160] After the command sending application 44 is started, or when the constraint condition is met (S402: Yes), the post-processing assistant 422 sends an end notification to OS 21 (S403, Figure 8 Arrow L1 in the image, processed after completion.

[0161] In the above process, the post-processing assistant program 422 selects the communication mode for sending the preliminary action command; however, the command sending application 44 may also make the selection. In this case, information indicating the communication mode for sending print image data is sent from the post-processing assistant program 422 to the command sending application 44. Furthermore, in the above process, the model information and access information of the printer 2 used to send the preliminary action command are obtained from the OS 21 by the post-processing assistant program 422 and sent to the command sending application 44; however, it is also possible that only the information used to identify the printer 2 is sent from the post-processing assistant program 422 to the command sending application 44, and the command sending application 44 obtains the model information and access information of the printer 2 from the OS 21.

[0162] As described in the detailed explanation above, according to the auxiliary program 42 of the second embodiment, when a print instruction is received to cause printer 2 to print using the general printing program 41, the auxiliary program 42 designates printer 2, the object of the print instruction, as the output destination, and outputs a pre-action command to the command sending application 44, which has the pre-action command output function, to perform a pre-action command unique to the printer. Therefore, even if PC 1 receives a print instruction to print using the general printing program 41, printer 2 can still perform a printer-specific pre-action command, thus utilizing the printer's unique capabilities.

[0163] Furthermore, in the second embodiment, the auxiliary program 42 starts the command sending application 44 when a preliminary action command needs to be output. The command sending application 44 automatically outputs the preliminary action command upon startup and then terminates. Because the output of the preliminary action command is automatically completed by starting the command sending application 44, the processing of the auxiliary program 42 is simplified compared to starting the command sending application 44 and outputting the preliminary action command using different commands.

[0164] Next, refer to Figure 11 A timing diagram is used to illustrate a variation of the second embodiment of the printing process of a printing system including the actions of auxiliary program 42. The variation of the second embodiment differs from the second embodiment in that the command sending application 44 is started during preprocessing. Furthermore, the variation of the second embodiment differs from the second embodiment in that the command sending application 44 is started but does not immediately output commands. Figure 11 In each of the processes shown, with Figure 8 The same processing described in the second embodiment uses the same reference numerals. Furthermore, in Figure 8 In the variation of the second embodiment shown, arrows A1 to C1 are the same as in the second embodiment, so their description is omitted.

[0165] In the case where preprocessing execution commands are output from OS 21 ( Figure 11 (Arrow C1) The preprocessing auxiliary program 421 of the auxiliary program 42 performs a judgment as one of the preprocessing steps to determine whether the restriction conditions are met (Arrow O1). The restriction conditions here may be, for example, the same conditions as those in Arrow H1 of the second embodiment.

[0166] If the constraints are not met, the preprocessing auxiliary program 421 initiates the command sending application 44 (arrow P1). The processing of arrow P1 is an example of the initiation process. In this embodiment, only the command sending application 44 is initiated, and the initiation options of the initiation command do not include sending information related to the sending method.

[0167] After the command sending application 44 is started, or when the constraints are met, the preprocessing assistant 421 sends a termination notification to OS 21 (arrow E1). In response to receiving the termination notification from the preprocessing assistant 421, OS 21 generates print data using the general printing program 41 (arrow F1) and outputs the postprocessing execution command of the assistant 42 (arrow G1).

[0168] When a post-processing execution command is output, the post-processing assistant program 422 of the assistant program 42 performs a judgment as one of the post-processing steps to determine whether the constraint conditions are met (arrow H1). If the constraint conditions are not met, the post-processing assistant program 422 outputs the execution command of the command sending application 44 (arrow Q1). The processing of arrow Q1 is an example of instruction input processing. Similar to the startup options when the command sending application 44 of the second embodiment is started, the execution command of the command sending application 44 of the modified example of the second embodiment includes the model information, address information of the printer 2 as the destination of the command output, and information indicating the communication mode.

[0169] When an execution command is received from the post-processing auxiliary program 422, the command sending application 44 uses the information contained in the execution command to output a preliminary action command to the printer 2 (arrow J1). The printer 2 begins the preliminary action by receiving the preliminary action command from the PC 1 (arrow K1). Arrows L1 to N1 are the same as in the second embodiment, and therefore their description is omitted.

[0170] As described in the detailed explanation above, in the auxiliary program 42 of the modified embodiment of the second embodiment, when the PC 1 receives a print instruction to print using the general printing program 41, the command sending application 44 outputs a pre-action command. Thus, the printer 2 can perform printer-specific pre-actions and utilize its unique capabilities.

[0171] Furthermore, in the modified embodiment of the second embodiment, the auxiliary program 42 separately initiates the command sending application 44 and inputs the execution command to the command sending application 44. Therefore, the command sending application 44 can be initiated in advance, and after the output instruction for the preliminary action command is input from the auxiliary program 42, the preliminary action command can be quickly sent to the printer 2, enabling the execution of the preliminary action in the printer 2 to begin as early as possible. For example, when previewing the image represented by the print image data, although the preliminary action command is sent after the user selects to execute print, because the command sending application 44 is initiated in advance, the preliminary action command can be sent quickly compared to the case where the printing is selected and then initiated.

[0172] The second embodiment and its variations can be further modified as follows. The command sending application 44 can be a dedicated application for outputting preliminary action commands, or it can be an application capable of sending other commands. For example, if the printer 2 has a special function such as a toner saving mode, a command can be sent to the printer 2 to enable that special function. In addition, it can also have functions other than command sending functions.

[0173] Furthermore, the command sending application 44 can be installed on the same device as the device with the auxiliary program 42 installed, as in the second embodiment and its variations, or it can be installed on a different device. For example, the command sending application 44 can be installed on a server connected to PC 1.

[0174] The embodiments disclosed in this specification are merely exemplary and do not limit the invention in any way. Therefore, the technology disclosed herein can naturally be modified and varied in various ways without departing from its spirit. For example, the device connected to PC 1 is not limited to a printer; any device with printing functionality is applicable, such as a multifunction printer, copier, fax machine, etc. Furthermore, the number of printers connected to PC 1 is not limited to one; there can be multiple printers.

[0175] Furthermore, for example, although the auxiliary program 42 in the above embodiment includes both pre-processing and post-processing, the auxiliary program 42 may also include only the post-processing auxiliary program 422, which is started after the print data is generated. Furthermore, the pre-processing auxiliary program 421 and the post-processing auxiliary program 422 may be a single module or different modules.

[0176] Furthermore, printing parameters can be sent as preliminary action commands. In this case, if the printing parameters include settings for color printing, printer 2, upon receiving the printing parameters, performs preparation actions for color printing; if the printing parameters include settings for monochrome printing, printer 2, upon receiving the printing parameters, performs preparation actions for black-only printing.

[0177] Furthermore, when printer 2 is a laser printer, calibration processing to suppress color deviation can be performed as a preparation for color printing. Additionally, if printer 2 is a model that includes a finisher, and the printing parameters include processing performed by the finisher, printer 2 can perform the finisher preparation upon receiving the printing parameters.

[0178] Furthermore, the modules used to perform pre-processing and post-processing are not limited to the auxiliary program 42, but can be any program that receives instructions from OS 21 when printing is performed by the general printing program 41 of OS 21. For example, a print workflow application that has been publicly disclosed by Microsoft can be used.

[0179] Furthermore, in the above embodiment, the auxiliary program 42 is started by outputting an execution command from the OS 21. However, the timing of starting the auxiliary program 42 is not limited to this. For example, the auxiliary program 42 can remain in a started state, in which case the auxiliary program 42 can perform the above-mentioned actions upon receiving an execution command.

[0180] Furthermore, in any flowchart disclosed in the above embodiments, as long as the processing content does not contradict each other, the execution order of multiple processes in any number of steps can be arbitrarily changed, or they can be executed in parallel.

[0181] Furthermore, the processes disclosed in the above embodiments can be executed by hardware such as a single CPU, multiple CPUs, an ASIC, or a combination thereof. Additionally, the processes disclosed in the above embodiments can be implemented in various forms, such as a recording medium containing a program for executing these processes, or a method.

[0182] Furthermore, within the scope of not causing contradictions, the processing of the above-described implementation methods and their variations can be performed in any combination.

[0183] Explanation of reference numerals in the attached figures

[0184] 1: PC

[0185] 2: Printer

[0186] 11: CPU

[0187] 21: OS

[0188] 41: General Printing Program

[0189] 42: Auxiliary Programs

[0190] 43: Edit Application

[0191] 44: Command Sending Application

Claims

1. A computer program product comprising a support program executable by a computer of an information processing device, corresponding to a printer connected to the information processing device. When a print instruction is given, the computer executes at least one of command output processing and output instruction processing, wherein the print instruction is a print instruction to be printed by the printer via a print program pre-built into the operating system of the information processing device. Before the print execution data, generated by the printing program based on the operating system, is sent to the printer, the command output processing sends a pre-printing command to the printer via the communication interface of the information processing device. This command is used to perform pre-printing actions before printing begins. The printer has the function of performing the pre-printing actions corresponding to the pre-printing command. The output instruction processing designates the printer as the output destination, causing the command sending program to output the preliminary action command. The command sending program has the function of outputting the preliminary action command to the printer specified by the output destination. The prior action is at least one of the following actions: Remove the cap from the print head; Move the print head to the print start position; Preheating of the fixing unit; and Paper is fed from the paper tray to the designated standby position.

2. The computer program product according to claim 1, characterized in that, After the operating system completes the generation of the print data using the printing program, the computer executes the command output processing.

3. The computer program product according to claim 2, characterized in that, After the operating system generates the print data, and before the print execution data based on the generated print data is sent to the printer, the computer performs a preview process. This preview process displays an image represented by the print execution data on the display device of the information processing apparatus and receives an instruction on whether to perform printing based on the print execution data. The computer executes the command output processing after the preview processing.

4. The computer program product according to claim 1, characterized in that, When the print command is given, before the operating system finishes generating the print data using the print program, the computer performs a first judgment process to determine whether a first condition is met. The first condition indicates that the decision to print is not made before the print data generation is complete, but after the print data generation is complete. If the first condition is met, after the operating system completes generating the print data, the computer executes the command output processing. If the first condition is not met, the computer executes the command output processing before the operating system completes generating the printed data.

5. The computer program product according to claim 4, characterized in that, After the operating system generates the print data, and before the print execution data based on the generated print data is sent to the printer, the computer performs a preview process. This preview process displays an image represented by the print execution data on the display device of the information processing apparatus and receives an instruction on whether to perform printing based on the print execution data. If the settings for performing the preview process are valid, the computer determines that the first condition in the first determination process is met. If a print instruction is received during the preview process, the computer executes the command output process.

6. The computer program product according to any one of claims 1 to 5, characterized in that, When the print instruction is received, the computer performs a second determination process to determine whether a second condition is met, the second condition indicating that printing will begin in the printer that received the print execution data after a predetermined condition has been met. If the second condition is met, the computer will not execute the command output processing even if the print execution data is sent to the printer. If the second condition is not met, the computer performs the command output processing before the print execution data begins to be sent to the printer.

7. The computer program product according to claim 6, characterized in that, The computer performs a receiving process for receiving a password associated with the print execution data. If the password is set, it is associated with the print execution data sent to the printer. The printer has the function of printing using the print execution data if the received print execution data is associated with the password, using the password entered into the printer as a predetermined condition. If the password is set, the computer determines that the second condition in the second determination process is met.

8. The computer program product according to claim 1, characterized in that, In the event of a print command, before the print execution data begins to be sent to the printer, the computer performs operation reception processing for receiving operations performed by the user through the input device of the information processing apparatus. After receiving the user's operation in the operation receiving process, the computer executes the command output process.

9. The computer program product according to claim 1, characterized in that, In the output instruction processing, the printer is specified in the startup options of the command sending program. By starting the command sending program, the command sending program is made to output the preliminary action command, and the command sending program outputs the preliminary action command to the printer specified in the startup options.

10. The computer program product according to claim 1, characterized in that, In the output instruction processing, the computer performs startup processing and instruction input processing. The startup processing is used to start the command sending program, and the instruction input processing is used to input an output instruction to the command sending program specifying the printer as the output destination. After startup, if the output instruction has been input, the command sending program outputs the preliminary action command to the printer specified by the output instruction.

11. The computer program product according to claim 10, characterized in that, Before the operating system begins generating the print data using the printing program, the computer performs the startup process. After the operating system completes the generation of the print data using the printing program, the computer executes the instruction input processing.

12. The computer program product according to any one of claims 1 and 9 to 11, characterized in that, In the output instruction processing, the printer is designated as the output destination, and a different communication mode is used than that used to send print execution data based on the printing data generated by the printing program using the operating system to the printer, so that the command sending program can output the preliminary action command.

13. The computer program product according to claim 12, characterized in that, In the output instruction processing, the command sending program outputs the preliminary action command by specifying the communication mode used in the output of the preliminary action command.

14. An information processing apparatus, comprising: Communication interface; as well as computer, The information processing device is equipped with a support program corresponding to the printer connected to it, and the printer has the function of performing pre-printing actions. The operating system of the information processing device has a printing program pre-built into it. When a print instruction is given, the computer executes at least one of command output processing and output instruction processing, wherein the print instruction is an instruction to be printed by the printer through the printing program. Before the print execution data, generated by the printing program based on the operating system and the printing data, is sent to the printer, the command output processing is performed by the support program outputting a pre-action command to the printer through the communication interface to execute the pre-action. The output instruction processing involves the support program designating the printer as the output destination and instructing the command sending program to output preliminary action commands for performing pre-printing actions. When the support program indicates the output of the preliminary action command, the computer outputs the preliminary action command to the printer specified at the output destination via the communication interface through the command sending program. The prior action is at least one of the following actions: Remove the cap from the print head; Move the print head to the print start position; Preheating of the fixing unit; and Paper is fed from the paper tray to the designated standby position.

15. The information processing apparatus according to claim 14, characterized in that, After the operating system completes the generation of the print data using the printing program, the computer executes the command output processing.

16. A printing method for causing a printer to perform printing execution data using printing data generated by an information processing device. The printer is connected to the information processing device. The information processing device is equipped with a support program corresponding to the printer, and the printer has the function of performing pre-printing actions. The operating system of the information processing device has a printing program pre-built into it. The printing method includes at least one of a command output step and an output instruction step. When there is a print instruction to be printed by the printer via the printing program, the command output step involves the support program outputting a preliminary action command from the information processing device to the printer to execute the preliminary action before the print execution data, generated by the printing program based on the operating system, begins to be sent to the printer. When a print instruction is issued by the printer via the printing program, the output instruction step involves the supporting program designating the printer as the output destination and instructing the command sending program to output the preliminary action command. The printing method further includes a command output step whereby, if the output of the preliminary action command is indicated from the support program, the command sending program outputs the preliminary action command to the printer specified at the output destination. The prior action is at least one of the following actions: Remove the cap from the print head; Move the print head to the print start position; Preheating of the fixing unit; and Paper is fed from the paper tray to the designated standby position.

17. The printing method according to claim 16, characterized in that, In the command output step, after the operating system has finished generating the print data using the printing program, the support program outputs the preliminary action command.

18. A computer program product comprising a support program and a command sending program that are executable by a computer, an information processing device. The support program is a program corresponding to the printer connected to the information processing device. When a print instruction is issued by the printer via a printing program pre-built into the operating system of the information processing device, the computer executes output instruction processing. This output instruction processing designates the printer as the output destination and instructs the command sending program to output preliminary action commands for performing pre-printing actions. When the command sending program receives an instruction from the support program to output the preliminary action command, it causes the computer to perform command output processing to output the preliminary action command to the printer specified at the output destination. The printer has the function of performing the preliminary action corresponding to the preliminary action command. The prior action is at least one of the following actions: Remove the cap from the print head; Move the print head to the print start position; Preheating of the fixing unit; and Paper is fed from the paper tray to the designated standby position.

19. The computer program product according to claim 18, characterized in that, In the output instruction processing of the support program, the printer is specified in the startup options of the command sending program, and the command sending program is started to instruct the command sending program to output the preliminary action command. In the command output processing of the command sending program, the preliminary action command is output to the printer specified in the startup options.

20. The computer program product according to claim 18, characterized in that, In the output instruction processing of the support program, the computer performs a startup process and an instruction input process. The startup process is used to start the command sending program, and the instruction input process is used to input an output instruction to the command sending program specifying the printer as the output destination. In the command output processing of the command sending program, the computer, after the command sending program is started and the output instruction is input, outputs the preliminary action command to the printer specified by the output instruction.

21. The computer program product according to any one of claims 18 to 20, characterized in that, In the command sending procedure and the command output processing, a different communication protocol than the communication protocol used to send print execution data generated by the printing program based on the operating system to the printer is used to output the preliminary action command to the printer specified by the output destination.

Citation Information

Patent Citations

  • Driver program, and set comprising driver program and printer

    JP2017134718A

  • Communication system, communication apparatus, method of controlling the same, information processing apparatus, method of controlling the same and storage medium

    US20160127581A1