Support program, information processing device, and printing method

A support program executes a precedent operation command to enable full utilization of a printer's capabilities during OS-standard printing, addressing the incomplete utilization issue.

JP7782650B2Active Publication Date: 2025-12-09BROTHER KOGYO KK
View PDF 7 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Printing using an OS-standard print program may not fully utilize a printer's unique capabilities and functions, leading to incomplete utilization of the printer's inherent capabilities.

Method used

A support program that executes a precedent operation command before printing, allowing the printer to demonstrate its unique capabilities by performing printer-specific operations before starting the printing process.

Benefits of technology

Enables the utilization of a printer's unique capabilities even when using an OS-standard print program, ensuring efficient and complete utilization of the printer's functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007782650000001
    Figure 0007782650000001
  • Figure 0007782650000002
    Figure 0007782650000002
  • Figure 0007782650000003
    Figure 0007782650000003
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 that supports control of a printer, an information processing device, and a printing method. [Background technology]

[0002] A widely 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 the various functions of the printer, allowing the printer to be used to its full potential. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-134718 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 that is 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 command for that printer is received, printing can be performed using the OS's standard print program without using a printer driver.

[0005] However, printing using the OS's standard printing program does not necessarily mean that all of the printer's functions can be used. 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 making use of a printer's unique capabilities even when printing using an OS-standard print program installed in an information processing device. [Means for solving the problem]

[0007] A support program made 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-installed 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 precedent operation command to cause the printer to perform a precedent operation before starting printing, before the printing execution data based on the print data generated by the operating system by the print program is started to be sent to the printer, and the printer has the function of performing the precedent operation corresponding to the precedent operation command.

[0008] The support program disclosed in this specification, when a print instruction to cause a printer to print is received via a print program incorporated in the operating system, outputs a precedent operation command to the printer that is the target of the print instruction to execute a precedent operation before the printer starts transmitting the print execution data. As a result, even when an information processing device receives a print instruction via a print program, the printer can execute a precedent operation unique to the printer before starting printing based on the print instruction, allowing the printer to demonstrate its unique capabilities.

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

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

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

[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 a specific embodiment of 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 with a printing function and is capable of communicating with the PC 1 via local communication or network communication.

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

[0015] The UI 20 includes hardware that displays various types of information 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. Note that this specification does not distinguish between the details of the memory. The CPU 11 executes various processes in accordance with programs read from the memory 12 and based on user instructions. Note that the controller 10 in FIG. 1 is a general 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. Computer-readable storage media are non-transitory media. 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 carrying programs downloaded from servers 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 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 (abbreviated as HSA) whose specifications have been 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 also stores various data including information on connected devices and various programs such as a browser.

[0020] Note that the following processes and each processing step in the flowchart basically represent processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. In other words, processes such as "judging," "extracting," "selecting," "calculating," "deciding," "identifying," "acquiring," "receiving," and "control" in the following description represent processing by the CPU 11. Processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, detailed description of the OS 21 will be omitted to describe the operation of each program. In other words, in the following description, a statement 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." Furthermore, processing by the CPU 11 in accordance with instructions written in a program may be described in abbreviated terms. For example, the program may be described as "performed by the CPU 11." Furthermore, processing by the CPU 11 in accordance with instructions written in a program may be described in abbreviated terms such as "performed by Program A."

[0021] Note that "acquire" 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 acquiring data." Furthermore, "data" in this specification is represented by a computer-readable bit string. Data with the same substantial meaning but different formats is treated as the same data. The same applies to "information" in this specification. Furthermore, "request" and "instruct" are concepts that indicate outputting information indicating a request or an instruction to the other party. Furthermore, information indicating a request or an instruction is also simply referred to as a "request" or "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 present 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 present 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 that generates 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 OS 21 vendor for pre-installation into the OS 21, such as a type of printer driver provided for pre-installation into the OS 21.

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

[0026] Note that the printer driver, i.e., the vendor driver, may have higher performance than the general-purpose printing program 41 pre-installed in the OS 21. High performance may mean, for example, that print data generated by the printer driver can be processed more efficiently by the printer than print data generated by the general-purpose printing program 41, resulting in faster printing speed. The printer may also be able to process print data using less memory. The print data generated by the printer driver may enable the printer to print printouts with better color reproduction. The print data generated by the printer driver may also enable the printer to print printouts with higher resolution. The printer driver may also be able to instruct the printer on printer-specific functions that the general-purpose printing 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 launched, for example, by 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 the vendor of the device, such as the printer 2. The device vendor registers the auxiliary program 42 in the 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 on which the auxiliary program 42 is stored and installs it in 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 associated information in the memory 12. In the PC 1 to which multiple 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 along 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, via the UI 20, for example, a print instruction to cause the printer 2 to execute printing.

[0030] Next, the order of processing for printing by each program will be described with reference to Fig. 2. The following describes a case where the PC 1 receives, 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 the 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 the auxiliary program 42 to execute processing by the auxiliary program 42 before starting to generate print data by the 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 processing by the general-purpose printing program 41. The general-purpose printing program 41 generates print data based on the print instruction.

[0036] Once the generation of the print data is complete, the OS 21 executes post-processing using the post-processing assistant program 422 before sending print image data based on the generated print data to the printer 2. The post-processing assistant program 422 can acquire print parameters, printer information, and also print data that has already been generated from the OS 21. The post-processing assistant program 422 executes post-processing based on the acquired 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 performed by 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 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 may be the print data itself, or may represent an image obtained by processing the image represented by the print data. For example, if a watermark is combined in post-processing, the print image data will be data representing the combined image. In addition, the print parameters may have been changed by the pre-processing auxiliary program 421 or 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 the printing procedure by the printing system, including the operation of the auxiliary program 42, will be described with reference to the sequence diagram in Fig. 3. In the following description, it is assumed that printer 2 is selected as the printer that will perform 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 receives an instruction to transition to detailed settings in order to receive settings specific to the printer 2 and the auxiliary program 42 corresponding to the printer 2. Upon receiving 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 to set the printing parameters and complete the setting is accepted. Acceptable settings include settings for functions specific to the auxiliary program 42 and the printer 2.

[0042] In this embodiment, the auxiliary program 42 accepts, as print parameters specific to the auxiliary program 42, a setting for whether to enable a preview function that displays the image to be printed on the UI 20 before sending the print image data, and a secure printing specification that requires the input of a password as a printing execution condition. If the secure printing specification is accepted, a password setting is also accepted. The entered password is included in the print parameters. In addition to these, the auxiliary program 42 may also accept, as print parameters specific to the auxiliary program 42, settings for functions equivalent to those of 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 returns 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 the 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 execution notification to the OS 21 (arrow F). The print execution notification includes information indicating the set print parameters and the image data to be printed.

[0045] When OS21 detects a print execution notification output from 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, if printer 2 is designated to be printed using general-purpose print program 41, and auxiliary program 42 corresponding to printer 2 is installed, OS21 outputs an execution command for the processing of 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 to generate print data, the OS 21 outputs an execution command for pre-processing to the auxiliary program 42, causing the pre-processing auxiliary program 421 to start pre-processing.

[0047] The pre-processing auxiliary program 421 executes pre-processing using the information on the printer 2, printing parameters, and 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. Examples of pre-processing include image processing based on printing parameter settings, such as image enlargement / reduction and aggregation. Pre-processing may also involve displaying a printing parameter setting screen on the UI 20 and accepting changes to the printing parameter settings. After the execution of pre-processing is completed, the pre-processing auxiliary program 421 passes a completion notification to the OS 21 (arrow I).

[0048] In response to receiving the completion 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 on various printers 2.

[0049] After the general-purpose print program 41 has finished 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 auxiliary program 422 executes post-processing by using the information, print parameters, and print data of the printer 2 passed from the OS 21. In this embodiment, the post-processing auxiliary program 422 generates print image data based on the print data acquired from the OS 21 as post-processing, and also executes preview processing (arrow L) to display an image represented by the generated print image data on the UI 20 if the 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 a 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 (arrow M), instructing the printer 2 to execute a precedent operation. The precedent operation is an operation that causes the printer 2 to prepare for printing before the print image data is sent.

[0052] Printer 2 starts the advance operation (arrow N) upon receiving the advance operation command from PC 1. By having Printer 2 perform the advance operation, the waiting time from when the user inputs a print command until the first page is printed can be shortened.

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

[0054] If there are multiple types of precedent operation commands that the printer 2 can handle, the post-processing support program 422 may output those multiple types of precedent operation commands, or may accept in advance on a settings screen or the like the specification of the precedent operation commands to be output to the printer 2. When causing the printer 2 to perform multiple precedent operations, the post-processing support program 422 may transmit the multiple precedent operation commands sequentially, or may combine the multiple precedent operation commands into a single 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, if print execution is selected in the preview process, the post-processing support program 422 passes a completion notification to the OS 21 (arrow O). In response to receiving the completion notification from the post-processing support program 422, the OS 21 sends 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 cancellation is selected in the preview process, the post-processing support program 422 passes a cancellation notification to the OS 21 (arrow O). In response to receiving the cancellation notification from the post-processing support program 422, the OS 21 ends the processing 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 passing the end notification to the OS 21 in FIG. 3, it may be output after passing the end notification to the OS 21. If the preview function is not enabled and the preview process is not executed, the post-processing auxiliary program 422 outputs a preceding operation command to the printer 2 without displaying a preview, and passes a completion notice to the OS 21.

[0058] Furthermore, in post-processing by the post-processing auxiliary 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, the procedure for the print processing by the OS 21, among the procedures for realizing the printing system of the first embodiment described above, will be described with reference to the flowchart in Fig. 4. The print processing is executed by the CPU 11 of the PC 1 in accordance with 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 (S101) whether or not the auxiliary program 42 is present in the memory 12. 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 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 generated print data or print image data based on the print data is sent to the printer 2 (S103), and the print process ends. Note that if sending 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, the print data is generated by the general-purpose print program 41, so the user can use various printers 2 with the same ease of use without having to worry about setting up the printer 2. However, printing using the general-purpose print program 41 may take longer to print than printing using a high-performance printer driver, and the quality of the printed matter may be lower.

[0063] On the other hand, if 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, causing the preprocessing auxiliary program 421 to start preprocessing (S111, arrow G in FIG. 3). As a result, the CPU 11 executes preprocessing in accordance with the preprocessing auxiliary program 421. When the OS21 executes the processing of the preprocessing auxiliary program 421, 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, which then reads 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 a termination 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 processing 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 assist program 422 starts executing the post-processing, the OS21 determines whether the notification received from the post-processing assist program 422 is an end notification or a cancellation notification (S114). If it determines 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 determines 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 in accordance with 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 post-processing, the post-processing auxiliary 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, processing is performed, for example, to combine a watermark, header, or footer with the image represented by the print data. Note that if no processing is performed on the image represented by the print data, S201 can be omitted and the print data can be used as print image data as is, or a copy of the print data can 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 preview processing. Then, the auxiliary program 422 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 preview is disabled (S202: NO), the post-processing support 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 command output processing. Specifically, the post-processing auxiliary program 422 obtains access information such as model information and IP address of the printer 2 by inquiring of the OS 21 or by referring to a memory location where the OS 21 stores information. 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 determines that cancellation 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 explained in detail above, according to the auxiliary program 42 of the first embodiment, when a print instruction is given via the general-purpose print program 41 to cause the printer 2 to print, a precedent operation command is output to the printer 2 that is the target of the print instruction to execute a printer-specific precedent operation before the printer 2 starts transmitting print image data based on the print data generated by the general-purpose print program 41. As a result, even when the PC 1 receives a print instruction via the general-purpose print program 41, the printer 2 can execute a printer-specific precedent 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 preceding command after the user completes the preview process after the OS 21 generates print data. In other words, if the preview is enabled, the execution of printing is not confirmed before the print data is generated, but is confirmed after the print data is generated. Therefore, sending the preceding operation command after the print data is generated can avoid unnecessary preceding operations on the printer. Also, if the user's operation is accepted before the print execution data is sent, even if the preceding operation command is sent early, the preceding operation may be wasted if the waiting time for accepting the user's operation is long. Therefore, sending the preceding operation command after the user's operation can avoid unnecessary preceding operations on the printer.

[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 preprocessing. Note that, of the processes shown in FIG. 6, the same processes as those in the first embodiment shown in FIG. 3 are assigned the same reference numerals. Furthermore, 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 determination as part of the preprocessing 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 restriction condition, which is a condition for restricting the output of the preceding operation command, are satisfied (arrow S). If the condition determined by the first output determination is satisfied, that is, if neither the post-output condition nor the restriction condition is satisfied, the preprocessing auxiliary program 421 outputs the preceding operation command to the printer 2 during preprocessing (arrow T). The printer 2 starts the preceding operation by receiving the preceding operation command from the PC 1 (arrow U). On the other hand, if the condition of the first output determination is not met, that is, if at least one of the post-output condition and the limiting condition is met, the printer 2 does not output the preceding 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 even if a pre-operation command is output before the preview process, the pre-operation on the printer 2 may be wasted. Also, even if print execution is selected, if it takes time to make that selection, the pre-operation may be wasted.

[0077] That is, a condition related to at least one of the following conditions applies: the cancellation of print execution; or the waiting for user operation. The post-output condition is an example of a first condition. For example, if the printer has a function that displays a message indicating whether or not to transmit print image data before transmitting the print image data and accepts user input operations in addition to a preview function, the post-output condition may be that the function is enabled. Note that, if changes to print parameters are accepted by user input operations in pre-processing, the pre-processing auxiliary program 421 determines the post-output condition after the acceptance of the changes is completed.

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

[0079] In other words, a restriction condition is when the printer 2 does not start printing even if it receives print image data unless other conditions are met. The restriction condition is an example of a second condition. For example, a restriction condition may be that, in addition to secure printing, there is a designation for scheduled printing, which causes printing to be performed at a specified time. Alternatively, a restriction condition may include printing that starts after waiting for an execution instruction to be entered by the user, even without entering a password. Alternatively, a restriction condition may be that the printer 2 is already printing. This is because preceding operations are not necessary while printing is in progress. Another restriction condition may be that printing is not possible due to an error such as out of paper or a paper jam. This is because printing cannot start immediately even if preceding operations are 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 print 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 preview processing as one of the post-processing processes (arrow L). Note that if the preview function is disabled, the preview processing is omitted.

[0082] Furthermore, as one of the post-processing steps, the post-processing auxiliary program 422 performs a second output determination to determine whether or not both an output execution condition, which is a condition for outputting a precedent operation command, is satisfied and a restriction condition, which is a condition for restricting the output of the precedent operation command, are satisfied (arrow V). If the conditions of the second output determination are satisfied, the precedent operation command is output to the printer 2 during the post-processing (arrow W). Upon receiving the precedent operation command from the PC 1, the printer 2 starts the precedent operation (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, after the print data is generated, a choice of whether to execute or cancel printing is accepted, so it can be determined that the selection of print execution means that the preceding operation command can be sent.

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

[0085] When the execution of post-processing is terminated without selecting cancel in the preview process, the post-processing support program 422 passes a termination notification to the OS 21 (arrow O). In response to receiving the termination notification from the post-processing support program 422, the OS 21 sends the print image data to the printer 2 (arrow P) and terminates the processing based on the print execution notification. Upon receiving the print image data, the printer 2 starts printing based on the received print image data (arrow Q). Although not shown, when cancellation is selected to terminate the execution of post-processing, the post-processing support program 422 passes a cancellation notice to the OS 21. In response to receiving the cancellation notice, the OS 21 terminates the processing based on the print execution notice without sending the print image data.

[0086] As explained in detail above, even with the auxiliary program 42 of the second form, when a print instruction to have the printer 2 print is given via the general-purpose print program 41, the auxiliary program 42 outputs a precedent operation command to the printer 2 before transmission of the print image data to the printer 2 is started. This allows the printer 2 to execute a precedent operation unique to the printer before the printer 2 starts printing based on the print instruction, even when the PC 1 receives a print instruction via the general-purpose print program 41, thereby making it possible to demonstrate the printer's unique capabilities.

[0087] Furthermore, the auxiliary program 42 of this embodiment determines whether the post-output conditions are met before the OS 21 generates print data, and if the post-output conditions are not met, it is possible to send 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 advance operation command before generating the print data, the advance operation in the printer can be started earlier, and printing can be started earlier.

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

[0089] The embodiments disclosed in this specification are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed in this specification can naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to PC1 is not limited to a printer; it can be any device with a printing function, such as a multifunction device, a copier, or a fax machine. Furthermore, the number of printers connected to PC1 is not limited to one, and multiple printers may be connected.

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

[0091] Printing parameters may also be sent as a preceding operation command. In this case, upon receiving the printing parameters, the printer 2 executes preparatory operations for color printing if the printing parameters include a color printing setting, or executes preparatory operations for black-and-white printing if the printing parameters include a monochrome printing setting.

[0092] If the printer 2 is a laser printer, a calibration process to suppress color misregistration may be performed as a preparatory operation for color printing. 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-described operation.

[0095] Furthermore, in the embodiment, before accepting a print instruction (arrow E), auxiliary program 42 accepts (arrow C) specific print parameters, including a setting as to whether to enable a preview function that displays the image to be printed on UI 20 before sending print image data, and a specification of secure printing that requires the entry of a password as 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] In addition, in the embodiment, the auxiliary program 42 accepts as its own printing parameters a setting as to whether to enable a preview function that displays the image to be printed on the UI 20 before the print image data is sent, and a specification of secure printing that requires the entry of a password as a condition for executing printing, but some or all of these settings may also be accepted by the OS 21.

[0097] Furthermore, in any flowchart disclosed in the embodiments, the execution order of multiple processes in any multiple steps can be changed or they can be executed in parallel as long as no contradiction occurs in the processing content.

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

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

Claims

1. A support program executable by a computer of an information processing device, the support program corresponding to a printer connected to the information processing device, The computer, Before print image data based on print data generated by a general-purpose print program pre-installed in an operating system of the information processing device starts to be transmitted to the printer, 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, and the printer has a function of performing the precedent operation corresponding to the precedent operation command; When a preview process is performed in which an image to be printed is displayed on a display device of the information processing apparatus and an instruction to print is received, the command output process is delayed until the instruction to print is received. A support program characterized by:

2. 2. The support program according to claim 1, If the preview process is not performed, the command output process is performed before the print data is generated. A support program characterized by:

3. The support program according to claim 1 or 2, The preview process is executed after the print data is generated. A support program characterized by:

4. 4. The support program according to claim 1, The computer, Acquiring intermediate image data from the general-purpose printing program and executing a processing process for processing the acquired intermediate image data; The print data is generated based on the processed intermediate image data processed by the processing process. A support program characterized by:

5. 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 general-purpose printing program that is a pre-installed program; By executing the support program, the computer before print image data based on print data generated by the general-purpose print program starts to be transmitted to the printer, a command output process is executed by the support program to output a precedent operation command to the printer via the communication interface, the precedent operation command causing the printer to execute the precedent operation; When a preview process is performed in which an image to be printed is displayed on a display device of the information processing apparatus and an instruction to print is received, the command output process is delayed until the instruction to print is received.

1. An information processing device comprising:

6. A printer is connected to the information processing device, a support program corresponding to the printer is installed in the information processing device, and the printer has a function of performing a preliminary operation before starting printing; the operating system of the information processing device has a general-purpose printing program that is a pre-installed program; A printing method for causing the printer to print using print image data based on print data generated by the general-purpose print program, a command output step of causing the support program to output a precedent operation command for causing the information processing device to execute the precedent operation to the printer before the print image data based on the print data generated by the general-purpose print program starts to be transmitted to the printer; When a preview process is performed in which an image to be printed is displayed on a display device of the information processing apparatus and an instruction to print is received, the command output step is delayed until the instruction to print is received. A printing method characterized by:

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

  • Driver program, and set comprising driver program and printer

    JP2017134718A