Support program, information processing device, and printing method

The support program allows printers to perform pre-operation commands, ensuring efficient utilization of their unique functions and capabilities even when using OS standard printing programs, addressing the limitations of OS standard printing programs in supporting all printer functions.

JP2025019083AActive Publication Date: 2025-02-06BROTHER KOGYO KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024197305
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-02-06
Estimated Expiration
2040-05-15

AI Technical Summary

Technical Problem

Printing using an OS standard printing program does not fully utilize a printer's unique capabilities, as it lacks support for functions specific to the printer.

Method used

A support program that executes on an information processing device, allowing a printer to perform pre-operation commands before printing, utilizing its unique capabilities by integrating a preprocessing and post-processing auxiliary program to enhance printer functionality.

Benefits of technology

Enables printers to demonstrate their unique capabilities and functions, reducing waiting time and ensuring efficient use of printer capabilities even when using OS standard printing programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025019083000001_ABST
    Figure 2025019083000001_ABST
Patent Text Reader

Abstract

To provide a technique which allows an information processing device incorporating an OS standard printing program to make use of unique capability of a printer even when printing using the printing program.SOLUTION: An auxiliary program 42 that can be run by a CPU 11 of a PC 1 and is compatible with a printer 2 connected to the PC1 is provided. When a print instruction for making the printer 2 print by means of a general-purpose printing program 41 pre-incorporated in an OS 21 of the PC 1 is issued, the auxiliary program 42 outputs a preceding operation command via a communication IF 30 of the PC 1 to make the printer 2 perform a preceding operation before starting printing, prior to the start of transmission to the printer 2 of print execution data based on print data generated by the OS 21 using the general-purpose printing program 41.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The technical field disclosed in this specification relates to a support program for supporting control of a printer, an information processing device, and a printing method. [Background technology]

[0002] A well-known technique for controlling a printer from an information processing device such as a personal computer (PC) is to install a printer driver in the information processing device, generate print data using the printer driver, and send the print data to the printer (see, for example, Patent Document 1). The printer driver is provided by the printer manufacturer and corresponds to various functions of the printer, allowing the printer to be used to its full potential. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2017-134718 A Summary of the Invention [Problem to be solved by the invention]

[0004] In recent years, a technology has been put into practical use that controls printers using a print program built into the operating system (OS) as standard, without using the printer driver mentioned above. With this technology, when the OS detects a printer, it associates it with the OS's standard print program, and thereafter, when a print instruction is received for that printer, printing can be performed using the OS's standard print program without using a printer driver.

[0005] However, when printing using the OS's standard printing program, it is not always possible to use all of the printer's functions. For example, printer-specific functions may not be supported, and the printer's inherent capabilities may not be fully utilized.

[0006] This specification discloses a technique for enabling a printer to utilize its own capabilities even when printing is performed using an OS-standard print program installed in an information processing device. [Means for solving the problem]

[0007] The support program developed for the purpose of solving the above-mentioned problems is executable by a computer of an information processing device, and is a support program corresponding to a printer connected to the information processing device, and when the computer receives a print instruction to cause the printer to print via a print program pre-integrated in the operating system of the information processing device, executes a command output process to output to the printer, via a communication interface of the information processing device, a pre-operation command to execute a pre-operation before starting printing, before the computer starts to send print execution data based on print data generated by the operating system by the print program, and the printer has a function of performing the pre-operation corresponding to the pre-operation command.

[0008] The support program disclosed in this specification, when a print instruction is given to cause a printer to print via a print program built into the operating system, outputs a precedence operation command to the printer that is the target of the print instruction to execute a precedence operation before transmission of print execution data is started. This allows the printer to execute a precedence operation unique to the printer before the printer starts printing based on the print instruction even when the information processing device accepts a print instruction via a print program, thereby making it possible to demonstrate the printer's unique capabilities.

[0009] A control method for implementing the functions of the above-mentioned device, a computer program, and a computer-readable storage medium storing the computer program are also novel and useful. Effect of the Invention

[0010] The technology disclosed in this specification realizes a technology that allows a printer to utilize its own capabilities even when printing using an OS-standard print program installed in an information processing device. [Brief description of the drawings]

[0011] [Figure 1] FIG. 2 is a block diagram showing the electrical configuration of the printing system. [Diagram 2] FIG. 2 is an explanatory diagram showing the order of processing by each program. [Diagram 3] FIG. 4 is a sequence diagram showing an example of the operation of each program in the first embodiment. [Figure 4] 5 is a flowchart showing a procedure of a printing process in the first embodiment. [Diagram 5] 5 is a flowchart showing a procedure of post-processing in the first embodiment. [Figure 6] FIG. 11 is a sequence diagram showing an example of the operation of each program in the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] A printing system using a program according to an embodiment will be described in detail below with reference to the accompanying drawings. This embodiment discloses an embodiment that embodies a printing system including a personal computer (hereinafter, referred to as "PC") and a printer.

[0013] An example of the configuration of a printing system in which the program of this embodiment is executed is shown in Fig. 1. The system shown in Fig. 1 includes a PC 1 and a printer 2. The PC 1 is an example of an information processing device. The printer 2 is a device that has a printing function and can communicate with the PC 1 via local communication or network communication.

[0014] 1, the PC 1 includes 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.

[0015] The UI 20 includes hardware that performs various displays and accepts user input instructions. The UI 20 may be a touch panel having both a display function and an input reception function, or may be a combination of a display having a display function and a keyboard, mouse, or the like having an input reception function.

[0016] The communication IF 30 includes hardware for communicating with the printer 2 and hardware for accessing the Internet. The communication IF 30 may include multiple interfaces with different communication methods. Examples of communication methods include network communication and USB communication. The communication IF 30 may also include hardware for wireless communication such as Wi-Fi (registered trademark) and Bluetooth (registered trademark).

[0017] The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is an example of a computer. The memory 12 includes a ROM, a RAM, and a non-volatile memory, and stores programs such as various application programs (hereinafter, referred to as "apps") and various data. In this specification, the details of the memory are not distinguished. The CPU 11 executes various processes according to the programs read from the memory 12 and based on the user's instructions. The controller 10 in FIG. 1 is a collective term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware actually present in the PC 1.

[0018] An example of the memory 12 may be a computer-readable storage medium. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, 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, electrical signals that carry programs downloaded from a server on the Internet are computer-readable signal media, which is a type of computer-readable medium, but are not included in non-transitory computer-readable storage media.

[0019] 1, the memory 12 stores, for example, an operating system (hereinafter, referred to as "OS") 21 including a general-purpose print 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 (abbreviated as HSA) whose specifications are published by Microsoft. The OS 21 is, for example, Microsoft Windows (registered trademark), macOS (registered trademark), or Linux (registered trademark). In addition to the items shown in the figure, the memory 12 stores various data including information on connected devices and various programs such as a browser.

[0020] In addition, the following processes and each processing step of the flowchart basically indicate the processing of the CPU 11 according to the instructions written in the program such as the auxiliary program 42. That is, in the following description, processes such as "judgment," "extraction," "selection," "calculation," "decision," "identification," "acquisition," "reception," and "control" represent the processing of the CPU 11. The processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, the operation of each program is described without detailed description of the OS 21. That is, in the following description, a description to the effect that "program B controls hardware C" may also mean that "program B controls hardware C using the API of the OS 21." In addition, the processing of the CPU 11 according to the instructions written in the program may be described in abbreviated terms. For example, the program may be described in abbreviated terms such as "performed by the CPU 11." In addition, the processing of the CPU 11 according to the instructions written in the program may be described in abbreviated terms such as "performed by program A."

[0021] Note that "obtaining" is used as a concept that does not require a request. In other words, the process of CPU 11 receiving data without a request is also included in the concept of "CPU 11 obtaining data." In addition, "data" in this specification is represented as a bit string that can be read by a computer. Data with the same substantial meaning but different formats are treated as the same data. The same applies to "information" in this specification. In addition, "requesting" and "instructing" are concepts that indicate outputting information indicating a request or information indicating an instruction to the other party. In addition, information indicating a request or information indicating an instruction is also simply referred to as "request" and "instruction."

[0022] Furthermore, the process by CPU 11 to determine whether information A indicates event B may be conceptually described as "determining whether event B is determined from information A." The process by CPU 11 to determine whether information A indicates event B or event C may be conceptually described as "determining whether event B or event C is determined from information A."

[0023] The general-purpose printing program 41 is an application for executing printing from the PC 1 to various printers such as the printer 2, and is an OS standard printing program pre-installed in the OS 21. The general-purpose printing program 41 in this embodiment is a program for generating print data that the printer can handle based on image data to be printed. The general-purpose printing program 41 is an example of a printing program.

[0024] The generic printing program 41 is a generic application that can be applied to multiple models of printers provided by each device vendor, and is a program that causes each printer to perform operations common to each model. Alternatively, the generic printing program 41 may be a program provided by each device vendor to the OS21 vendor to be pre-installed in the OS21, for example, a type of printer driver provided to be pre-installed in the OS21.

[0025] On the other hand, after providing the OS21 vendor with the generic print program 41 to be incorporated into the OS21, the programs developed by the vendors of each device can be added to the PC1 by installing them. In the following, a printer driver that can be added by installation, rather than a program that is pre-integrated into the OS21, will be simply referred to as a "printer driver" or a "vendor driver." In other words, a printer driver is not a program that is pre-integrated into the OS21, but a program that must be installed into the OS21 in accordance with a predetermined procedure in order to be used. For example, an installer instructed via the UI20 or the OS21 installs the printer driver into the OS21. A printer driver is a program prepared by a printer vendor to correspond individually to each printer model, and may also be a program that can accept instructions for functions specific to the corresponding model.

[0026] The printer driver, i.e., the vendor driver, may have higher performance than the general-purpose print program 41 pre-installed in the OS 21. High performance may mean, for example, that the print data generated by the printer driver can be processed more efficiently in the printer than the print data generated by the general-purpose print program 41, resulting in a faster print speed. The printer may also be able to process the print data with less memory. The print data generated by the printer driver may enable the printer to print a printout with better color reproduction. The print data generated by the printer driver may enable the printer to print a printout with higher resolution. The printer driver may also be able to instruct the printer on functions specific to the printer driver that the general-purpose print program 41 cannot instruct the printer on. Examples of specific functions include a mirror printing function and a negative-positive inversion printing function.

[0027] The auxiliary program 42 is a program that executes processing based on instructions from the OS 21 in response to the operation of the general-purpose printing program 41, and is an application that supports the control of the target hardware. The auxiliary program 42 is started, for example, from the OS 21. The auxiliary program 42 is an application corresponding to each model of the printer 2, etc. The auxiliary program 42 is prepared by a vendor of a device such as the printer 2. The device vendor registers the auxiliary program 42 in a platform provided by the vendor of the OS 21 according to a procedure specified by the vendor of the OS 21. When a new printer 2 is connected to the PC 1 and an auxiliary program 42 corresponding to the printer 2 is registered in the platform, the OS 21 downloads the auxiliary program 42 from the server where the auxiliary program 42 is stored and incorporates it into the PC 1.

[0028] Then, the OS 21 associates the identification information of the incorporated auxiliary program 42 with the printer information of the newly connected printer 2 and stores the information in the memory 12. In the PC 1 to which a plurality of models of printers are connected, an auxiliary program corresponding to each model is incorporated, and information associating each printer with each auxiliary program is stored in the memory 12. In other words, the memory 12 stores, as printer information for each printer connected to the PC 1, information on the corresponding auxiliary program 42 together with model information and access information for the printer.

[0029] The editing application 43 is, for example, an application for creating and editing image data and document data. The editing application 43 is, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark). The editing application 43 accepts user operations including instructions to cause the printer 2 to perform a predetermined operation. Specifically, the editing application 43 accepts, for example, a print instruction via the UI 20 to cause the printer 2 to execute printing.

[0030] Next, the order of processes for printing by each program will be described with reference to Fig. 2. In the following, a case will be described in which the PC 1 accepts, via the UI 20, an instruction to execute printing on the printer 2 via the general-purpose printing program 41 in the editing application 43.

[0031] The editing application 43 that has received the print instruction passes a print execution notification based on the received print instruction to the OS 21. The print execution notification includes, for example, information indicating the printer specified in the print instruction, print parameters, and information indicating image data to be printed.

[0032] Next, if an auxiliary program 42 corresponding to the printer specified in the print instruction is stored in memory 12, OS21 instructs auxiliary program 42 to execute processing by auxiliary program 42 before starting generation of print data by general-purpose print program 41.

[0033] The auxiliary program 42 includes pre-processing that is executed before the processing by the general-purpose printing program 41 starts, and post-processing that is executed after the processing by the general-purpose printing program 41 ends and before the print image data is sent to the printer 2. In the following, of the processing of the auxiliary program 42, the processing that is executed before the processing by the general-purpose printing program 41 starts will be described as processing by a "pre-processing auxiliary program" 421, and the processing that is executed after the processing by the general-purpose printing program 41 ends will be described as processing by a "post-processing auxiliary program" 422.

[0034] In the PC 1 of this embodiment, in response to receiving a print instruction, the preprocessing assistant program 421 executes preprocessing before the general-purpose print program 41 starts generating print data. The preprocessing assistant program 421 can acquire from the OS 21 various information included in the print instruction, such as print parameters and printer information, as well as intermediate image data based on the image data to be printed. The preprocessing assistant program 421 executes preprocessing based on the acquired information and its own program, and returns a completion notification to the OS 21 after the preprocessing is completed. Details of the preprocessing by the preprocessing assistant program 421 will be described later.

[0035] When the OS 21 receives the end notification from the pre-processing auxiliary program 421, it executes the process by the general-purpose printing program 41. The general-purpose printing program 41 generates print data based on the print instruction.

[0036] When the generation of the print data is complete, the OS 21 executes post-processing using the post-processing assistant program 422 before transmitting print image data based on the generated print data to the printer 2. The post-processing assistant program 422 can obtain print data that has already been generated from the OS 21, in addition to print parameters and printer information. The post-processing assistant program 422 executes post-processing based on the obtained information and its own program, and returns a completion notification to the OS 21 after the post-processing is completed. Details of the post-processing using the post-processing assistant program 422 will be described later.

[0037] When the OS 21 receives a completion notification from the post-processing auxiliary program 422, it transmits the print parameters and the print image data to the printer 2 via the communication IF 30 in association with each other. The print image data may be the print data itself, or may represent an image obtained by processing the image represented by the print data. For example, when a watermark is synthesized in the post-processing, the print image data becomes data representing the synthesized image. Also, the print parameters may have been changed by the pre-processing auxiliary program 421 or the post-processing auxiliary program 422 from the settings in the editing application 43. The printer 2 executes printing based on the received print parameters and print image data.

[0038] Next, a first embodiment of a printing procedure by the printing system including the operation of the auxiliary program 42 will be described with reference to the sequence diagram of Fig. 3. In the following description, it is assumed that the printer 2 is selected as the printer that performs printing.

[0039] First, the editing application 43 accepts the designation of image data to be printed and the setting of print parameters (arrow A) via the UI 20. The print parameters include general settings such as the number of copies, as well as settings specific to the printer 2 and the auxiliary program 42 corresponding to the printer 2.

[0040] The editing application 43 accepts an instruction to transition to detailed settings in order to accept settings specific to the printer 2 and the auxiliary program 42 corresponding to the printer 2. Upon accepting the instruction to transition to detailed settings, the editing application 43 passes an execution command indicating the setting of print parameters to the OS 21, and outputs the execution command to the auxiliary program 42 via the OS 21 (arrow B).

[0041] The auxiliary program 42 executes the setting process by the pre-processing auxiliary program 421 in response to an execution command indicating the setting of the printing parameters (arrow C). Here, a setting screen for accepting the setting of the printing parameters is displayed on the UI 20, and an instruction for setting the printing parameters and completing the setting is accepted. Acceptable settings include settings of functions specific to the auxiliary program 42 and the printer 2.

[0042] In this embodiment, the auxiliary program 42 accepts, as printing parameters specific to the auxiliary program 42, a setting for whether to enable a preview function that displays an image to be printed on the UI 20 before the print image data is sent, and a designation for secure printing that sets the input of a password as a printing execution condition. When the designation for secure printing is accepted, a password setting is also accepted. The entered password is included in the printing parameters. In addition to these, the auxiliary program 42 may accept, as printing parameters specific to the auxiliary program 42, settings for functions equivalent to a printer driver.

[0043] When the instruction to complete the settings is received, the auxiliary program 42 passes a termination notification to the OS 21, and responds with the termination notification to the editing application 43 via the OS 21 (arrow D). Note that if the editing application 43 does not receive an instruction to transition to detailed settings, the processes from arrow B to arrow D are omitted.

[0044] Thereafter, the editing application 43 receives a print instruction via the UI 20 (arrow E). When the editing application 43 receives the print instruction, it passes a print notification to the OS 21 (arrow F). The print notification includes information indicating the set print parameters and image data to be printed.

[0045] When the OS 21 detects a print execution notification output from the editing application 43, it identifies the printer designated as the device to execute printing based on the information included in the print execution notification. For example, when it is designated to print on the printer 2 using the general-purpose print program 41, if the auxiliary program 42 corresponding to the printer 2 is installed, the OS 21 outputs an execution command for the processing of the auxiliary program 42 (arrow G).

[0046] When an execution command corresponding to itself is output, the auxiliary program 42 executes the processing of the pre-processing auxiliary program 421 or the post-processing auxiliary program 422. Here, before starting generation of print data, the OS 21 outputs an execution command for pre-processing to the auxiliary program 42, and causes the pre-processing auxiliary program 421 to start pre-processing.

[0047] The pre-processing assistant program 421 executes pre-processing using the information on the printer 2, the printing parameters, and the image data passed from the OS 21 (arrow H). The image data acquired from the OS 21 is intermediate image data obtained by converting the format of the image data passed from the editing application 43 into an intermediate data format by the OS 21. The pre-processing corresponds to, for example, image processing based on the setting of printing parameters, such as enlarging / reducing or consolidating the image. As another example of the pre-processing, a setting screen for printing parameters may be displayed on the UI 20 to accept changes in the setting of the printing parameters. After the execution of the pre-processing is completed, the pre-processing assistant program 421 passes a completion notification to the OS 21 (arrow I).

[0048] In response to receiving the end notification from the pre-processing auxiliary program 421, the OS 21 generates print data using the general-purpose print program 41 (arrow J). The print data generated by the general-purpose print program 41 is general-purpose print data that can be used for printing by various printers 2.

[0049] After the general-purpose printing program 41 finishes generating the print data, the OS 21 again outputs an execution command for the auxiliary program 42 (arrow K). Specifically, after completing the generation of the print data, the OS 21 outputs an execution command for post-processing to the auxiliary program 42, causing the post-processing auxiliary program 422 to start post-processing.

[0050] The post-processing assistant program 422 executes post-processing by using the information on the printer 2, print parameters, and print data passed from the OS 21. In addition to generating print image data based on the print data acquired from the OS 21 as post-processing, the post-processing assistant program 422 of this embodiment executes a preview process (arrow L) for displaying an image represented by the generated print image data on the UI 20 when a preview function is enabled.

[0051] In the preview process, the post-processing auxiliary program 422 uses the UI 20 to display an image represented by the print image data, and accepts the selection of whether to print or cancel. If print execution is selected, the post-processing auxiliary program 422 uses the model information and IP address of the printer 2 acquired from the OS 21 to output a precedent operation command to the printer 2 via the communication IF 30 to instruct the printer 2 to execute a precedent operation (arrow M). The precedent operation is an operation that causes the printer 2 to prepare for printing before the print image data is sent.

[0052] The printer 2 starts the prior operation (arrow N) by receiving the prior operation command from the PC 1. By having the printer 2 perform the prior operation, it is possible to shorten the waiting time from when the user inputs a print command until the printing of the first page is completed.

[0053] There are several types of preceding operations, for example, for each model of the printer 2. If the printer 2 is an inkjet printer, there is, for example, a preceding operation of removing a cap for preventing the print head from drying and moving the print head to a print start position. Also, if the printer 2 is an electrophotographic printer, there is, for example, a preceding operation of starting preheating of the fixing device. That is, since executable preceding operations differ for each printer model, there are several types of preceding operation commands. The auxiliary program 42 stores the preceding operation commands in association with the model name. Furthermore, regardless of the printing method of the printer 2, there is, for example, a preceding operation of identifying a paper feed tray based on printing parameters, drawing paper from the identified paper feed tray, and transporting it to a predetermined standby position.

[0054] When there are multiple types of precedent operation commands that the printer 2 can handle, the post-processing auxiliary program 422 may output the multiple types of precedent operation commands, or may accept in advance on a setting screen or the like the specification of the precedent operation command to be output to the printer 2. When causing the printer 2 to perform multiple precedent operations, the post-processing auxiliary program 422 may transmit the multiple precedent operation commands sequentially, or may combine the multiple precedent operation commands into one precedent operation command and transmit it. The printer 2 has the function of performing at least one precedent operation, and upon receiving a precedent operation command, it performs the precedent operation corresponding to that precedent operation command.

[0055] Furthermore, when print execution is selected by the preview process, the post-processing auxiliary program 422 passes an end notification to the OS 21 (arrow O). In response to receiving the end notification from the post-processing auxiliary program 422, the OS 21 transmits the print image data to the printer 2 (arrow P) and ends the processing based on the print execution notification. Having received the print image data, the printer 2 performs printing based on the received print image data (arrow Q).

[0056] On the other hand, if cancel is selected by the preview process, the post-processing auxiliary program 422 passes a cancel notification to the OS 21 (arrow O). In response to receiving the cancel notification from the post-processing auxiliary program 422, the OS 21 ends the process based on the print execution notification without sending the print image data to the printer 2. In this case, printing on the printer 2 is not performed.

[0057] Although the post-processing auxiliary program 422 outputs the precedent operation command before the end notification is passed to the OS 21 in FIG. If the preview function is not enabled and the preview process is not executed, the post-processing assistant program 422 outputs a precedent operation command to the printer 2 without displaying a preview, and passes a completion notification to the OS 21.

[0058] Furthermore, in the post-processing by the post-processing assistant program 422, if the printer 2 has a unique function such as a colorant saving mode, a command for enabling the unique function may be sent to the printer 2.

[0059] Next, among the procedures for implementing the printing system of the first embodiment described above, the procedure of the print process by the OS 21 will be described with reference to the flowchart in Fig. 4. The print process is executed by the CPU 11 of the PC 1 according to the OS 21 when the OS 21 receives a print execution notification from the editing application 43 (arrow F in Fig. 3).

[0060] In the printing process, the OS 21 first determines whether or not the auxiliary program 42 is present in the memory 12 (S101). As described above, the auxiliary program 42 is prepared by the device vendor for each printer, and is installed in the PC 1 by the OS 21 when the OS 21 detects the printer.

[0061] If it is determined that the auxiliary program 42 is not present in the memory 12 (S101: NO), such as when the auxiliary program 42 corresponding to the printer 2 is not prepared, the OS 21 generates print data using the general-purpose print program 41 (S102). Then, the OS 21 transmits the generated print data or print image data based on the print data to the printer 2 (S103), and ends the print process. If transmission of the print image data fails, the OS 21 may execute a predetermined error process.

[0062] If the auxiliary program 42 is not installed in the PC 1, print data is generated by the general-purpose print program 41, so the user can use various printers 2 with the same ease without having to worry about setting up the printer 2. However, when printing using the general-purpose print program 41, there is a possibility that printing will take longer than when printing using a high-performance printer driver, and that the quality of the printed matter will be lower.

[0063] On the other hand, when it is determined that the auxiliary program 42 is present (S101: YES), the OS21 outputs an execution command to the auxiliary program 42 corresponding to the printer 2, and starts preprocessing by the preprocessing auxiliary program 421 (S111, arrow G in FIG. 3). As a result, the CPU 11 executes the preprocessing in accordance with the preprocessing auxiliary program 421. When the processing of the preprocessing auxiliary program 421 is executed from the OS21, for example, the OS21 may input information indicating the preprocessing auxiliary program 421 to the auxiliary program 42. Alternatively, the OS21 may store information indicating the preprocessing auxiliary program 421 in the memory 12, and then output an execution command to the preprocessing auxiliary program 421, and the preprocessing auxiliary program 421 may read the information. Alternatively, the OS21 may output an execution command specifying the preprocessing of the preprocessing auxiliary program 421.

[0064] After the pre-processing auxiliary program 421 starts executing the pre-processing, if the OS21 receives an end notification from the pre-processing auxiliary program 421, it generates print data using the general-purpose print program 41 included in the OS21 (S112, arrow J in FIG. 3). S112 is the same process as S102. Note that if a cancellation notification is received from the pre-processing auxiliary program 421, the OS21 ends the print process without generating print data.

[0065] After generating the print data, before transmitting print image data based on the generated print data to the printer 2, the OS 21 outputs an execution command to the auxiliary program 42 corresponding to the printer 2 to start post-processing by the post-processing auxiliary program 422 (S113, arrow K in FIG. 3). As a result, the CPU 11 executes post-processing in accordance with the post-processing auxiliary program 422.

[0066] After the post-processing assistant program 422 starts executing the post-processing, the OS21 judges whether the notification received from the post-processing assistant program 422 is an end notification or a cancellation notification (S114). If it is judged that an end notification has been received (S114: YES), the OS21 transmits the print data or print image data based on the print data to the printer 2 (S103, arrow P in FIG. 3) and terminates the print processing. If it is judged that a cancellation notification has been received (S114: NO), the OS21 terminates the print processing without transmitting the print image data.

[0067] Next, the procedure of post-processing by the auxiliary program 42 that realizes the above-mentioned printing system will be described with reference to the flowchart in Fig. 5. The post-processing is executed by the CPU 11 of the PC 1 according to a post-processing auxiliary program 422, which is a part of the auxiliary program 42, when the auxiliary program 42 receives an execution command from the OS 21 (arrow K in Fig. 3).

[0068] In the post-processing, the post-processing assistant program 422 first generates print image data based on the print data generated using the general-purpose print program 41 in accordance with the print parameters (S201). In S201, for example, processing is performed to synthesize a watermark, header, or footer onto the image represented by the print data. Note that if no processing is performed on the image represented by the print data, S201 may be omitted and the print data may be used as print image data as is, or a copy of the print data may be generated.

[0069] Next, the post-processing auxiliary program 422 determines whether the preview function is enabled (S202). If the preview function is enabled (S202: YES), the post-processing auxiliary program 422 displays an image shown in the print image data generated in S201 on the UI 20, and performs a preview display that accepts a selection of whether to execute printing or cancel (S211, arrow L in FIG. 3). S211 is an example of a preview process. Then, the auxiliary program 42 determines whether the user's selection is to execute printing or cancel (S212).

[0070] If it is determined that printing has been selected (S212: YES), or if the preview is disabled (S202: NO), the post-processing auxiliary program 422 acquires printer information for the printer 2 designated as the device that will execute printing, and outputs a preceding operation command to the printer 2 (S203, arrow M in FIG. 3). S203 is an example of a command output process. Specifically, the post-processing assistant program 422 queries the OS 21 or refers to a memory location where the OS 21 stores information to obtain model information and access information such as an IP address of the printer 2. Then, it determines a precedent operation command suitable for the printer model and printing parameters, and outputs the precedent operation command using the access information.

[0071] After S202, the post-processing auxiliary program 422 passes a termination notification to the OS 21 (S204, arrow O in FIG. 3) and terminates the post-processing. On the other hand, if it is determined that cancel has been selected (S212: NO), the post-processing auxiliary program 422 passes a cancellation notification to the OS 21 (S213, arrow R in FIG. 3) and terminates the post-processing.

[0072] As described above in detail, according to the auxiliary program 42 of the first embodiment, when a print instruction is given to cause the printer 2 to print via the general-purpose print program 41, a precedence operation command is output to the printer 2 that is the target of the print instruction to execute a printer-specific precedence operation before transmission of print image data based on the print data generated by the general-purpose print program 41 to the printer 2 is started. As a result, even when the PC 1 accepts a print instruction via the general-purpose print program 41, the printer 2 can execute a printer-specific precedence operation before starting printing based on the print instruction, allowing the printer to demonstrate its own capabilities.

[0073] Furthermore, the auxiliary program 42 of the first embodiment outputs the precedent command after the user's operation in the preview process after the generation of print data by the OS 21 is completed. That is, if the preview is valid, the execution of printing is not confirmed before the generation of the print data, but is confirmed after the generation of the print data. Therefore, by sending the precedent operation command after the generation of the print data, the waste of the precedent operation in the printer can be avoided. Also, when the user's operation is accepted before the transmission of the print execution data, even if the precedent operation command is sent early, the precedent operation may be wasted if the waiting time for the acceptance of the user's operation becomes long. Therefore, by sending the precedent operation command after the user's operation, the waste of the precedent operation in the printer can be avoided.

[0074] Next, a second embodiment of the printing procedure by the printing system including the operation of the auxiliary program 42 will be described with reference to the sequence diagram of FIG. 6. The second embodiment differs from the first embodiment in that a preceding operation command may be output in pre-processing. Note that, among the processes shown in FIG. 6, the same processes as those in the first embodiment shown in FIG. 3 are denoted by the same reference numerals. Also, in the second embodiment, arrows A to G are the same as those in the first embodiment shown in FIG. 3, and their description will be omitted.

[0075] When a command to execute preprocessing is output from the OS 21 (arrow G in FIG. 3), the preprocessing auxiliary program 421 of the auxiliary program 42 performs a first output judgment as one of the preprocessing steps to determine whether or not both a post-output condition, which is a condition for outputting the preceding operation command after generating print data, and a limiting condition, which is a condition for limiting the output of the preceding operation command, are satisfied (arrow S). Then, when the condition of the first output judgment is satisfied, that is, when neither the post-output condition nor the limiting condition is satisfied, the preprocessing auxiliary program 421 outputs the preceding operation command to the printer 2 in the preprocessing step (arrow T). The printer 2 starts the precedent operation by receiving the precedent operation command from the PC 1 (arrow U). On the other hand, if the condition of the first output judgment is not satisfied, that is, if at least one of the post-output condition and the limiting condition is satisfied, the printer 2 does not output the precedent operation command.

[0076] In this embodiment, the post-output condition is that the preview function is enabled. When the preview process is executed, printing may be canceled, and the advance operation in the printer 2 may be wasted even if a advance operation command is output before the preview process. Also, even if print execution is selected, if it takes time to make the selection, the advance operation may be wasted.

[0077] That is, the post-output condition corresponds to at least one of the conditions that the print execution is canceled and that the user operation is waiting to be accepted. The post-output condition is an example of the first condition. For example, in addition to the preview function, if there is a function to display a message indicating whether or not the print image data can be sent before the print image data is sent and to accept the user's input operation, the post-output condition may be that the function is enabled. Note that, in the case where the change of the print parameters by the user's input operation is accepted in the pre-processing, the pre-processing auxiliary program 421 judges the post-output condition after the acceptance is completed.

[0078] Furthermore, the restriction conditions of this embodiment include the specification of secure printing. If secure printing is specified, the printer 2 will accept the input of a password after receiving the print image data, and will perform printing based on the print image data if a password matching the password included in the print parameters is entered. In other words, if secure printing is specified, printing will not start immediately even if the printer 2 receives the print image data. Therefore, there is no need to perform a precedence operation, and it can be determined that the transmission of a precedence operation command is restricted.

[0079] In other words, even if the printer 2 receives print image data, the printer 2 will not start printing unless other conditions are met, which corresponds to the restriction condition. The restriction condition is an example of the second condition. For example, a restriction condition may be that, in addition to secure printing, there is a designation of reserved printing, which causes printing to be performed at a specified time. Alternatively, the restriction condition may include printing that starts printing after waiting for an execution instruction input operation from the user, even without the need to enter a password. Alternatively, a restriction condition may be that the printer 2 is already executing printing. This is because a preceding operation is not necessary while printing is in progress. Also, a restriction condition may be that printing is not possible due to an error such as no paper or a paper jam. This is because printing cannot be started immediately even if a preceding operation is performed.

[0080] After the execution of the pre-processing is completed, the pre-processing auxiliary program 421 passes a completion notification to the OS 21 (arrow I). In response to receiving the completion notification from the pre-processing auxiliary program 421, the OS 21 generates print data using the general-purpose printing program 41 (arrow J) and outputs an execution command for the post-processing of the auxiliary program 42 (arrow K).

[0081] When an execution command for post-processing is output, the post-processing auxiliary program 422 of the auxiliary program 42 executes a preview process as one of the post-processing processes (arrow L). Note that when the preview function is disabled, the preview process is omitted.

[0082] Furthermore, as one of the post-processing processes, the post-processing auxiliary program 422 performs a second output judgment as to whether or not both an output execution condition, which is a condition for outputting a precedent operation command, is satisfied, and a restrictive condition, which is a condition for restricting the output of the precedent operation command, is not satisfied (arrow V). If the condition of the second output judgment is satisfied, the precedent operation command is output to the printer 2 during the post-processing (arrow W). The printer 2 starts the precedent operation by receiving the precedent operation command from the PC 1 (arrow X).

[0083] In this embodiment, the output execution condition corresponds to the selection of print execution in the preview process. When the preview process is executed, a choice of whether to execute printing or cancel printing is accepted after the print data is generated, so that it can be determined that the preceding operation command can be sent because the print execution has been selected.

[0084] In addition, the limiting conditions in the post-processing of this embodiment include the same conditions as the limiting conditions in the pre-processing, and also include the sending of a precedent operation command in the pre-processing. If the precedent operation command has already been sent in the pre-processing, sending the precedent operation command in the post-processing is useless. Therefore, if the precedent operation command has already been sent, it can be determined that sending the precedent operation command is not necessary.

[0085] When the execution of post-processing is terminated without cancel being selected in the preview process, the post-processing auxiliary program 422 passes an end notification to the OS 21 (arrow O). In response to receiving the end notification from the post-processing auxiliary program 422, the OS 21 transmits the print image data to the printer 2 (arrow P) and terminates the processing based on the print execution notification. Having received the print image data, the printer 2 starts printing based on the received print image data (arrow Q). Although not shown, when cancel is selected to end the execution of post-processing, the post-processing assistant program 422 passes a cancellation notification to the OS 21. In response to receiving the cancellation notification, the OS 21 ends the processing based on the print execution notification without transmitting the print image data.

[0086] As described above in detail, even in the case of the auxiliary program 42 of the second form, when a print instruction is given via the general-purpose print program 41 to cause the printer 2 to print, the auxiliary program 42 outputs a precedence operation command to the printer 2 before the printer 2 starts transmitting the print image data to the printer 2. As a result, even when the PC 1 accepts a print instruction via the general-purpose print program 41, the printer 2 can execute a precedence operation unique to the printer before the printer 2 starts printing based on the print instruction, allowing the printer to demonstrate its own capabilities.

[0087] Furthermore, the auxiliary program 42 of this embodiment judges whether the post-output conditions are satisfied before the OS 21 generates print data, and if the post-output conditions are not satisfied, it is possible to transmit a preceding operation command to the printer 2 even before the OS 21 generates print data. In other words, depending on the printing conditions, the execution of printing may be confirmed even before the print data is generated. In this case, by sending the anticipatory operation command before the print data is generated, the anticipatory operation in the printer can be started early, and printing can be started sooner.

[0088] Furthermore, the auxiliary program 42 of this embodiment judges whether the limiting conditions are satisfied, and if the limiting conditions are satisfied, it does not send a precedent operation command to the printer 2, even if the post-output conditions are not satisfied or the output execution conditions are satisfied. In other words, depending on the printing conditions, the printer 2 may not immediately start printing after the print execution data is sent to the printer 2. In that case, by not sending the precedent operation command, it is possible to avoid wasting precedent operations on the printer 2.

[0089] It should be noted that the embodiments disclosed in this specification are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed in this specification can be naturally improved and modified in various ways without departing from the gist of the technology. For example, the device connected to PC1 is not limited to a printer, but can be any device having a printing function, such as a multifunction device, a copier, or a fax machine. Also, the number of printers connected to PC1 is not limited to one, and may be multiple.

[0090] Also, for example, in the embodiment, the auxiliary program 42 has both pre-processing and post-processing, but the auxiliary program 42 may be configured only as a post-processing auxiliary program 422 that is started after the print data is generated. Also, the pre-processing auxiliary program 421 and the post-processing auxiliary program 422 may be one module or separate modules.

[0091] Printing parameters may also be sent as a precedent operation command. In this case, the printer 2 that has received the printing parameters executes preparatory operations for color printing if the printing parameters include a color printing setting, and executes preparatory operations for black-and-white printing only if the printing parameters include a monochrome printing setting.

[0092] Furthermore, if the printer 2 is a laser printer, a calibration process for suppressing color misregistration may be performed as a preparatory operation for color printing. Furthermore, if the printer 2 is a model equipped with a finisher and the printing parameters include processing by the finisher, the printer 2 may perform a preparatory operation for the finisher when it receives the printing parameters.

[0093] Furthermore, the module that executes the pre-processing and post-processing is not limited to the auxiliary program 42, but may be any program that receives instructions from the OS 21 when printing is performed by the general-purpose print program 41 of the OS 21. For example, it may be a print workflow application (Print workflow) whose specifications have been published by Microsoft.

[0094] In the embodiment, the auxiliary program 42 is started by the OS 21 outputting an execution command for the auxiliary program 42, but the timing of starting the auxiliary program 42 is not limited to this. For example, the auxiliary program 42 may be constantly running, in which case the auxiliary program 42 may receive an execution command and perform the above-mentioned operation.

[0095] Also, in the embodiment, before accepting a print instruction (arrow E), auxiliary program 42 accepts (arrow C) specific print parameters, including a setting for whether to enable a preview function that displays the image to be printed on UI 20 before the print image data is sent, and a specification of secure printing in which the entry of a password is a condition for executing printing; however, these may also be accepted as one of the pre-processing steps (arrow H) after accepting a print instruction.

[0096] Also, in the embodiment, the auxiliary program 42 accepts as unique printing parameters a setting for whether to enable a preview function for displaying the image to be printed on the UI 20 before the print image data is sent, and a designation for secure printing in which the entry of a password is a condition for executing printing, but some or all of these settings may be accepted by the OS 21.

[0097] In addition, in any of the flowcharts disclosed in the embodiments, the order of execution of multiple processes in any of the steps can be arbitrarily changed or the processes can be executed in parallel as long as no contradiction occurs in the process content.

[0098] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination of these. The processes disclosed in the embodiments may be realized in various forms, such as a recording medium having a program for executing the processes recorded thereon, or a method. [Explanation of symbols]

[0099] 1 PC 2. Printer 11 CPU 21 OS 41 General purpose printing program 42 Support Programs 43 Editing Apps

Claims

1. A support program executable by a computer of an information processing device and corresponding to a printer connected to the information processing device, The computer includes: when there is a print instruction to cause the printer to print via a print program pre-installed in an operating system of the information processing device, before transmission of print execution data based on print data generated by the operating system by the print program to the printer is started, a command output process is executed to output to the printer via a communication interface of the information processing device a precedent operation command for executing a precedent operation before starting printing, the printer having a function of performing the precedent operation corresponding to the precedent operation command; A support program characterized by:

2. 2. The support program according to claim 1, The computer includes: executing the command output process after the operating system completes generation of the print data by the printing program; A support program characterized by:

3. The support program according to claim 2, The computer includes: After the print data is generated by the operating system, before the print execution data based on the generated print data is transmitted to the printer, a preview process is executed to display an image represented by the print execution data on a display device of the information processing apparatus and to receive an instruction as to whether or not to perform printing; The computer further comprises: After the preview process, the command output process is executed. A support program characterized by:

4. 2. The support program according to claim 1, The computer includes: when the print instruction is given, a first determination process is executed by the printing program to determine whether or not a first condition is satisfied before the operating system completes generation of the print data, the first condition being a condition indicating that whether or not printing is to be performed is not determined before the generation of the print data is completed, and whether or not printing is to be performed is determined after the generation of the print data is completed; The computer further comprises: if the first condition is satisfied, executing the command output process after the operating system completes generation of the print data; if the first condition is not satisfied, executing the command output process before the operating system completes generation of the print data; A support program characterized by:

5. The support program according to claim 4, The computer includes: After the print data is generated by the operating system, before the print execution data based on the generated print data is transmitted to the printer, a preview process is executed to display an image represented by the print execution data on a display device of the information processing apparatus and to receive an instruction as to whether or not to perform printing; The computer further comprises: When the setting for executing the preview process is valid, the first determination process determines that the first condition is satisfied; The computer further comprises: when an instruction to perform printing is received in the preview process, the command output process is executed. A support program characterized by:

6. A support program according to any one of claims 1 to 5, The computer includes: executes a second determination process for determining whether a second condition is satisfied when the print instruction is received, the second condition being a condition indicating that printing will start after a predetermined condition is satisfied in the printer that has received the print execution data; The computer further comprises: When the second condition is satisfied, even if the print execution data is transmitted to the printer, the command output process is not executed, if the second condition is not satisfied, the command output process is executed before transmission of the print execution data to the printer is started; A support program characterized by:

7. 7. The support program according to claim 6, The computer includes: a function of executing a reception process for receiving the setting of a password associated with the print execution data, and when the password is set, the password is associated with the print execution data to be sent to the printer, and when the password is associated with the received print execution data, the printer has a function of performing printing using the print execution data when the password is input to the printer as the predetermined condition; When the password is set, the second determination process determines that the second condition is satisfied. A support program characterized by:

8. 2. The support program according to claim 1, The computer includes: executing an operation reception process for receiving a user's operation via an input device of the information processing apparatus before starting transmission of the print execution data to the printer when the print instruction is received; The computer further comprises: after accepting a user's operation in the operation acceptance process, executing the command output process; A support program characterized by:

9. A communication interface; A computer, An information processing device comprising: a support program corresponding to a printer connected to the information processing device is installed, the printer having a function of performing a preliminary operation before starting printing; the operating system of the information processing device has a printing program that is a pre-installed program; The computer includes: when a print instruction is given via the print program to cause the printer to print, before the print execution data based on the print data generated by the operating system via the print program is transmitted to the printer, the support program executes a command output process to output, via the communication interface, a precedent operation command for causing the printer to execute the precedent operation; 23. An information processing apparatus comprising:

10. 10. The information processing device according to claim 9, The computer includes: executes the command output process after the operating system completes generation of the print data by the printing program.

23. An information processing apparatus comprising:

11. A printer is connected to the information processing device, a support program corresponding to the printer is installed in the information processing device, the printer has a function of performing a preliminary operation before starting printing; the operating system of the information processing device has a printing program that is a pre-installed program; A printing method for causing the printer to execute printing using print execution data based on print data generated by the information processing device, comprising: a command output step of causing the support program to output, when a print instruction is given via the print program to cause the printer to print, a precedence operation command for causing the printer to execute the precedence operation from the information processing device to the printer before transmission of the print execution data based on the print data generated by the operating system by the print program to the printer is started; A printing method comprising:

12. 12. The printing method according to claim 11, In the command output step, After the printing program causes the operating system to complete generation of the print data, the support program outputs the anticipatory operation command. A printing method comprising:

Citation Information

Patent Citations

  • Information processor, printing controller, printing system, their controlling method, and printer and storage medium

    JP2000163225A

  • Print control device and program recording medium

    JP2006127478A

  • Processing method and image processing system

    JP2006215752A

  • Information processing program, information processing device, and method for controlling information processing device

    JP2016012189A

  • Communication device, control method, and program

    JP2018190285A