Support program
An auxiliary program simplifies the processing load on support programs by determining compression conditions for OS-standard general-purpose printing programs, enhancing efficiency by delegating compression tasks to the general-purpose program.
Patent Information
- Application Number
- PCT/JP2024/045154
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-12
- Filing Date
- 2024-12-20
- Publication Date
- 2025-08-21
AI Technical Summary
Existing support programs for OS-standard general-purpose printing programs face increased complexity and load when implementing compression functions, leading to inefficient processing and resource utilization.
An auxiliary program determines compression conditions based on print settings and printer capabilities, instructing the general-purpose printing program to compress intermediate data, thereby simplifying the support program's processing and reducing its load.
The solution allows the support program to utilize the compression function of the general-purpose print program effectively, reducing its processing load and improving efficiency by delegating compression tasks to the general-purpose program.
Smart Images

Figure JP2024045154_21082025_PF_FP_ABST
Abstract
Description
Support Program
[0001] The technical field disclosed in this specification relates to a support program that supports control of a printer.
[0002] In recent years, a technology has been put into practical use in which a printer is controlled by a general-purpose print program that is part of the operating system (OS) and that is standard for the OS, without using a printer driver provided by the printer vendor. With this technology, when the OS detects a printer, it associates it with the general-purpose print program that is standard for the OS. Thereafter, when a print instruction for that printer is received, the general-purpose print program that is standard for the OS generates print data, making it possible to print using the general-purpose print program that is standard for the OS, without using a printer driver provided by the printer vendor.
[0003] An example of a document disclosing technology related to an OS-standard general-purpose printing program is Patent Document 1. Patent Document 1 discloses a support program that supports the general-purpose printing program, and determines whether compression is necessary based on print settings, etc., and compresses the raster data if compression is necessary.
[0004] JP 2023-049478 A
[0005] Patent document 1 discloses a technology in which a support program compresses data sent to a printer, but if the support program implements a compression function, the processing of the support program becomes complicated and the load on the support program may become heavy.
[0006] 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, wherein the information processing device is equipped with an operating system having a general-purpose printing program, and the support program is configured to cause the computer to execute the following: a determination process for determining compression conditions based on at least one of the print settings in the print instruction and the capabilities of the printer when a print instruction is output from an application program built into the information processing device and the general-purpose printing program is instructed to print an image on the printer; an instruction process for instructing the general-purpose printing program to compress using the compression conditions determined in the determination process; an acquisition process for acquiring intermediate data indicating the image to be printed in accordance with the print instruction, wherein the intermediate data has been compressed by the general-purpose printing program in accordance with the compression conditions instructed in the instruction process; and a print process for performing processing to cause the printer to print based on the print data generated from the intermediate data acquired in the acquisition process.
[0007] A support program having the above configuration determines compression conditions for a compression process that compresses intermediate data based on at least one of print settings in a print instruction and printer capabilities, and instructs the general-purpose print program to compress the intermediate data. The support program acquires, from the general-purpose print program, the intermediate data that the general-purpose print program has compressed in accordance with the compression conditions. The support program then causes the printer to print based on print data generated from the acquired intermediate data. This support program not only makes it possible to utilize the compression function of the general-purpose print program, but also simplifies the processing of the support program and reduces the load on the support program compared to when the support program compresses the intermediate data.
[0008] An apparatus for realizing the functions of the support program, a control method, and a computer-readable storage medium storing the support program are also novel and useful.
[0009] The technology disclosed in this specification realizes a technology that reduces the load on a support program for compressing data in an information processing device that has an OS-standard general-purpose printing program installed.
[0010] It is a block diagram showing an outline of the electrical configuration of a PC. It is a sequence diagram showing an example of a print setting procedure. It is a diagram explaining an example of a compression condition. It is a flowchart explaining an example of a procedure for generating print data.
[0011] A personal computer (hereinafter referred to as a "PC") that uses the support program of the present embodiment will be described in detail below with reference to the accompanying drawings. This specification discloses a support program executed on a PC.
[0012] As shown in Fig. 1, the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12. The PC 1 is an example of an "information processing device." The CPU 11 is an example of a "computer." The PC 1 also includes a user interface (hereinafter referred to as a "user IF") 13 and a communication interface (hereinafter referred to as a "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Fig. 1 is a collective term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware that actually exists in the PC 1.
[0013] The CPU 11 of the PC 1 executes various processes in accordance with programs read from the memory 12 and based on user operations. Various programs and various data are stored in the memory 12. The memory 12 is also used as a work area when various processes are executed. The buffer provided in the CPU 11 is also an example of memory. Note that the memory 12 is not limited to a ROM, RAM, HDD, etc. built into the PC 1, but may also be a storage medium readable and writable by the CPU 11, such as a recording medium such as a CD-ROM or DVD-ROM.
[0014] The user IF 13 includes a display 13a, which is hardware that displays a screen for notifying the user of information, and hardware that accepts user operations. The user IF 13 may be a combination of the display 13a that can display information and a mouse, keyboard, or the like that has an input acceptance function, or may be a touch panel that has the functions of the display 13a and an input acceptance function.
[0015] The communication IF 14 includes hardware for communicating with external devices such as the printer 2. The communication IF 14 may use a communication standard such as Ethernet (registered trademark), Wi-Fi (registered trademark), or USB. The PC 1 may be connectable to the Internet via the communication IF 14. The PC 1 may be provided with multiple communication IFs 14 that support multiple communication standards.
[0016] 1, the memory 12 of the PC 1 stores various programs and data, including 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 editing application 43 is an example of an "application program."
[0017] The OS 21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them, and is, for example, Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark), iOS (registered trademark), or Android (registered trademark).
[0018] The OS 21 includes a generic printing program 41. The generic printing program 41 is a standard OS program prepared by the OS 21 vendor and provided as part of the OS 21. In other words, the PC 1 is equipped with the OS 21 that includes the generic printing program 41. The generic printing program 41 is not configured to use printer drivers specific to each printer.
[0019] The generic printing program 41 is a program that has the function of printing on multiple models of printers provided by multiple vendors based on user instructions. The generic printing program 41 supports generic functions that allow printing on many printers. Unlike printer drivers specific to each printer, the generic printing program 41 does not support functions specific to each printer or printer driver, especially functions that require complex processing.
[0020] The general-purpose printing program 41 is a program that includes a function to receive image data designated as the print target in a print instruction output from various applications based on a user instruction and generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 also has a function to generate print data in a format that can be used for printing on various printers based on the intermediate data. The print data is, for example, PWGRaster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute printing via the communication function of the OS 21.
[0021] The auxiliary program 42 is a program or group of programs that executes processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is a program that supports control of the target hardware. The auxiliary program 42 in this embodiment corresponds to the model of the printer 2 connected to the PC 1 and is provided, for example, by the vendor of the printer 2. The general-purpose printing program 41 launches the auxiliary program 42 corresponding to the printer 2 when the printer 2 is selected as the device to execute printing, when an instruction for detailed print settings is received while the printer 2 is selected, when an instruction to execute printing on the printer 2 is received, etc. The auxiliary program 42 is, for example, called a print support app (abbreviated as PSA) or a hardware support app (abbreviated as HSA).
[0022] The auxiliary program 42 may be a combination of multiple programs that each accept an execution command, or a single program that can execute different processes depending on the command. The auxiliary program may also be a program prepared by a printer vendor for each printer type. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared. Auxiliary programs may be prepared not only for each printer type, but also for each printer model or series of printer models.
[0023] For example, when a new printer is connected to the PC 1, the OS 21 of the PC 1 can download an appropriate auxiliary program according to the type and model of the connected printer from a server of the printer vendor or a storage device designated by the OS 21, and install the program in the PC 1. The OS 21 stores the identification information of the installed auxiliary program in the memory 12 in association with the printer information of the newly connected printer.
[0024] The editing application 43 is, for example, a program for creating and editing image data and document data. The editing application 43 may be, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark), or may be a program provided by the vendor of the printer 2. The editing application 43 is capable of receiving, for example, a print execution instruction to cause the printer 2 to execute printing via the user IF 13. Note that the editing application 43 is not limited to a program for creating and editing data, and may also be a program having a function for receiving display instructions and print instructions for various types of information, such as map information and web pages, in response to a user request.
[0025] As shown in Fig. 1, the PC 1 of this embodiment is connected to the printer 2 via the communication IF 14. The printer 2 is a device that has at least a printing function and a communication function. For example, when the printer 2 receives print data from the PC 1 or the like, it can execute printing based on the received print data. The printer 2 may be a device capable of color printing, or a device capable of only monochrome printing.
[0026] Next, the processing procedure for printing on the printer 2 in the PC 1 of this embodiment will be described based on the sequence in FIG. 2 . Note that in this embodiment, each process other than user operation basically indicates processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. For convenience, in this specification, various processes performed by the controller 10 or the CPU 11 in accordance with programs such as the auxiliary program 42, the general-purpose printing program 41, and the OS 21 may be described as if each program independently performs various processes. Processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, the operation of each program will be described without providing a detailed description of the OS 21. Furthermore, the term "acquire" is used as a concept that does not necessarily require a request.
[0027] After the user determines the image to be printed and the print settings for the printer 2 (A01), the user inputs a print execution instruction to the editing application 43 (B01). For example, the editing application 43 requests the general-purpose printing program 41 to display a print setting screen. The print setting screen is a screen that accepts user instructions regarding, for example, various print settings that can be accepted by the general-purpose printing program 41. The print setting screen may have an area that can display information specified by the auxiliary program 42. The general-purpose printing program 41 accepts, via the print setting screen, a selection instruction to select the printer 2 as the device to execute printing, various print setting parameters, print selection, etc., and passes the accepted information to the editing application 43. Note that the editing application 43 may display the print setting screen and accept various settings.
[0028] For example, when a selection instruction to select printer 2 as the device to perform printing is received on the print setting screen, or when a print selection is received with printer 2 selected as the device to perform printing, the general-purpose print program 41 receives information indicating that printer 2 has been selected from the editing application 43 along with the print instruction (B02).
[0029] The general-purpose printing program 41 outputs an execution instruction to the auxiliary program 42 corresponding to the printer 2, and starts the auxiliary program 42 (B03).
[0030] The launched auxiliary program 42 determines compression conditions based on at least one of the print settings in the print instruction and the capabilities of the selected printer (B04). The compression conditions are conditions used when the general-purpose print program 41 compresses intermediate data representing an image to be printed. B04 is an example of a "determination process." The auxiliary program 42 may determine whether to compress the intermediate data based on the compression conditions, or may determine the degree of compression of the intermediate data, i.e., the compression rate. The compression conditions indicating whether to compress the intermediate data are an example of a "first condition." The compression conditions indicating the compression rate are an example of a "second condition."
[0031] The print settings are, for example, print settings received from the general-purpose print program 41 when the auxiliary program 42 is started from the general-purpose print program 41 in B03. The print settings may also be print settings received via a print setting screen after the auxiliary program 42 is started. In the auxiliary program 42, compression conditions are set in advance for each print setting item or parameter, as shown in FIG. 3, for example.
[0032] The print settings may include, for example, an item related to the balance between image quality and speed. Parameters that can be set for this item include, for example, a parameter indicating an image quality priority, a parameter indicating a print speed priority, and a parameter indicating a standard that balances image quality and speed. Compressing data may result in a decrease in the image quality of the printed result. Therefore, when a parameter indicating an image quality priority is set in the print settings, the compression condition may be set to no compression. When the compression condition indicates a compression rate, the compression conditions indicating the highest compression rate may be set in the order of, for example, a parameter indicating a print speed priority, a parameter indicating a standard, and a parameter indicating an image quality priority. The compression rate may be set to 0%, i.e., no compression.
[0033] Data transfer time tends to be shorter as the data size becomes smaller. Therefore, when a parameter indicating image quality priority is set in the print settings, the compression conditions may be set to indicate a first compression rate, and when a parameter indicating speed priority is set in the print settings, the compression conditions may be set to indicate a second compression rate that is higher than the first compression rate. Note that when a parameter indicating standard is set in the print settings, the compression conditions may be set to indicate a third compression rate that is between the first and second compression rates.
[0034] Some printer models support accumulated printing. Accumulated printing is a type of printing in which the printer does not immediately start printing based on a print job received by the printer, but instead accumulates data based on that print data in memory, and then starts printing based on that data in response to a user operation via the printer's user interface. If the printer 2 is a model that supports accumulated printing, the print setting screen can accept a setting for whether or not to perform accumulated printing. Note that the parameters that can be set for accumulated printing may also include a password that is entered via the printer's operation panel when printing print data accumulated in the printer, and whether or not to perform accumulated printing may be determined based on the presence or absence of a password.
[0035] In the case of accumulation printing, the print data transferred to the printer 2 is not printed immediately, but is accumulated in the memory of the printer 2, placing a burden on the memory. Therefore, when parameters for accumulation printing are set in the print settings, the compression conditions may be set to compress. Note that the compression conditions may be set so that a higher compression rate is obtained when accumulation printing is performed than when accumulation printing is not performed.
[0036] The print settings may include, for example, a parameter indicating the type of print content. Parameters that can be set for the type of print content include text, graphics, and photos. For example, even if text is set as the type of print content, the text may be included as image data to be printed. Compressing image data of text may result in characters being distorted. Therefore, when a parameter indicating that the type of print content is text is set in the print settings, the compression condition may be set to no compression. For example, when a parameter indicating that the type of print content is graphics or photos is set in the print settings, the compression condition may be set to compress. Note that when the type of print content is text, a compression condition with a lower compression rate may be set compared to graphics or photos.
[0037] In addition, various print setting parameters used to determine compression conditions, such as parameters related to the balance between image quality and speed, parameters for accumulated printing, and parameters indicating the type of print content, may be parameters obtained from a general-purpose printing program, or may be unique parameters used independently by the auxiliary program 42.
[0038] The capabilities of the printer 2 can be determined based on, for example, the model name of the printer 2 and capability information that can be acquired from the printer 2. The capability information includes, for example, information on setting items that can be set as print settings and parameters that can be set for each setting item.
[0039] For example, when the printer 2 is selected on the print setting screen and the auxiliary program 42 receives the information from the general-purpose printing program 41, when the auxiliary program 42 is started from the general-purpose printing program 41 in response to a print execution instruction, or when the compression conditions are determined, the auxiliary program 42 may obtain the capability information from the printer 2 via the general-purpose printing program 41. In this case, the general-purpose printing program 41 communicates with the printer 2 via the OS 21, for example, by communication in accordance with IPP (short for Internet Printing Protocol).
[0040] The auxiliary program 42 may obtain the capability information directly from the printer 2 using, for example, an MIB (abbreviation of Management Information Base) instead of making a request to the general-purpose printing program 41. The capability information that the auxiliary program 42 can obtain from the printer 2 may include more information than the capability information obtained via the OS 21.
[0041] The capability information is information consisting of multiple items or parameters that indicate the capabilities of the printer. The auxiliary program 42 may acquire all of this capability information, or may acquire only a portion of the capability information of the printer 2 that is used to determine the compression conditions.
[0042] The capability information may include, for example, the memory capacity of the printer 2. The memory capacity may include the memory capacity of the memory built into the printer 2 as well as the memory capacity of memory externally attached to the printer 2. If the memory capacity of the printer 2 is small, there is a high possibility that the data for printing will place a heavy load on the memory of the printer 2. Therefore, the compression condition may be set to compress when the memory capacity of the printer 2 is less than a first threshold. Note that the compression condition may be set to not compress or to a compression rate lower than the compression rate when the memory capacity is less than the first threshold.
[0043] Furthermore, the compression conditions may be set so that the smaller the memory capacity, the higher the compression rate. By setting a higher compression rate for smaller memory capacity, it is expected that the memory load on the printer 2 due to print data will be reduced.
[0044] The printer 2 has a predetermined data format for print data that it can accept. Examples of print data formats include raster data such as PWGRaster data and PDF. The auxiliary program 42 stores the data format of acceptable data for each compatible model, and can determine the acceptable data format based on the model of the selected printer 2. The auxiliary program 42 may also acquire capability information, including the data format of print data that the printer 2 can accept, from the printer 2 or the OS 21.
[0045] In PDF data, for images, image data representing the image is embedded in the file. Therefore, the size of the print data can be reduced by compressing the image data. Therefore, if the print data format accepted by the printer 2 includes PDF data, the compression condition may be set to "compress." If the print data format accepted by the printer 2 is raster data only, the compression condition may be set to "no compression."
[0046] The auxiliary program 42 converts the image to be printed into print data that can be accepted by the printer 2. For example, if the only print data format that can be accepted by the printer 2 is PWGRaster data, the auxiliary program 42 generates raster data based on the intermediate data. Therefore, even if the general-purpose printing program 41 compresses the intermediate data, it does not affect the size of the final raster data. Therefore, if the print data format accepted by the selected printer 2 is raster data, the compression condition may be set to no compression.
[0047] The print settings and capability items and parameters that determine the compression conditions may be other than those shown in Fig. 3, and may not include all of those shown in Fig. 3. The compression conditions for each item and parameter may differ from those shown in Fig. 3.
[0048] The auxiliary program 42 determines the compression conditions based on at least one of the print settings and capabilities shown in Fig. 3. The compression conditions may be determined from multiple items, in which case the priority of each item may be predetermined or may be set by the user. The user may also be able to set which items are used to determine the compression conditions.
[0049] 2, the auxiliary program 42 instructs the general-purpose printing program 41 to perform compression under the determined compression conditions (B05). B05 is an example of "instruction processing."
[0050] The general-purpose printing program 41 generates intermediate data in response to instructions from the auxiliary program 42 (B06). The general-purpose printing program 41 generates intermediate data by converting the format of the data to be printed into the format of intermediate data based on information obtained from the editing application 43. The data to be printed passed to the general-purpose printing program 41 by the editing application 43 can be of various types, and the general-purpose printing program 41 converts the data to be printed into intermediate data. The intermediate data is, for example, XPS data.
[0051] For example, if the compression conditions determined by the auxiliary program 42 indicate that compression is to be performed, the general-purpose printing program 41 performs a compression process to compress image data included in the data to be printed when generating the intermediate data. The compression process is performed using a compression method that the selected printer 2 can support. The compression method can be determined, for example, based on capability information. If the compression conditions indicate a compression rate, the general-purpose printing program 41 generates intermediate data by compressing the image data included in the image to be printed based on that compression rate. The compression rate may be predetermined by the general-purpose printing program 41 for each compression method supported by the printer 2, instead of being specified by the auxiliary program 42. Note that the general-purpose printing program 41 may perform the compression process after generating the intermediate data, or may perform the generation of the intermediate data and the compression process simultaneously.
[0052] For example, if the compression conditions indicate no compression, the general-purpose printing program 41 generates intermediate data without compressing the image data included in the image to be printed.
[0053] The general-purpose printing program 41 passes the generated intermediate data to the auxiliary program 42 (B07). The auxiliary program 42 can acquire the intermediate data compressed by the general-purpose printing program 41 according to the compression conditions determined by the auxiliary program 42 in B04. If the compression conditions are determined to be no compression or a compression rate of 0% in B04, the auxiliary program 42 acquires the uncompressed intermediate data from the general-purpose printing program 41 in B07. B07 is an example of an "acquisition process."
[0054] The auxiliary program 42 can edit the intermediate data and print setting information received from the general-purpose print program 41 as necessary (B08).
[0055] The auxiliary program 42 generates print data, which is PDL data, based on the intermediate data (B11). The print data generated in B11 may be data in a format that can be printed by the printer 2.
[0056] The procedure for generating print data will be described with reference to the flowchart of Fig. 4. The CPU 11 executing the auxiliary program 42 determines whether the format of print data accepted by the printer 2 is raster data only (S11).
[0057] If the data format of the print data accepted by the printer 2 is raster data only (S11: YES), the CPU 11 rasterizes the intermediate data (S12) and compresses it (S13) to generate print data, and then ends the process. Note that the CPU 11 may perform the rasterization and compression processes simultaneously.
[0058] The CPU 11 executing the auxiliary program 42 performs compression processing using a compression method compatible with the selected printer 2. The compression method may be included in the capability information acquired from the printer 2, or may be stored for each model supported by the auxiliary program 42. As a result, if the data to be printed is not compressed by the general-purpose printing program 41, for example, it is compressed by the auxiliary program 42 as it is rasterized, thereby avoiding duplication of compression processing.
[0059] For example, if the data format of the print data accepted by the printer 2 is not only raster data (S11: NO), the CPU 11 converts the intermediate data into print data (S14). That is, the CPU 11 generates print data without rasterizing or compressing the intermediate data. For example, if the data format of the print data accepted by the printer 2 is PDF and the general-purpose printing program 41 generates intermediate data by compressing image data as XPS data, the auxiliary program 42 converts the intermediate data into PDF data including the compressed image data and generates print data.
[0060] 2, the auxiliary program 42 passes the generated print data to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to send the print data (B12). The general-purpose printing program 41 then sends the print data and print command to the printer 2, for example, using IPP-compliant communication (B13). The process of B12, in which the general-purpose printing program 41 sends the generated print data to the printer 2, is an example of a "printing process."
[0061] For example, if the auxiliary program 42 does not have a rasterization function, the auxiliary program 42 may have the general-purpose printing program 41 rasterize the intermediate data. By having the general-purpose printing program 41 rasterize the intermediate data, the auxiliary program 42 executes fewer processes, resulting in a smaller program size.
[0062] Furthermore, instead of sending print data from the general-purpose print program 41 to the printer 2, the auxiliary program 42 may use, for example, communication according to the MIB, to send a print command instructing printing to the printer 2 and the print data. For example, if the print settings include settings related to image processing that can be performed by the printer 2, such as accumulated print settings or a password, the auxiliary program 42 may generate a print command that also includes information about that processing.
[0063] The printer 2 begins printing based on the received print data (B21). If the received print data is compressed, the printer 2 decompresses the received print data and executes printing based on the decompressed print data. Compressed print data has a small data size, so transfer time can be expected to be shorter. For example, if the received print data is compressed at a higher compression rate than when parameters that prioritize speed and parameters that prioritize image quality are set during print setup, transfer time can be shortened compared to when printing with image quality priority, and printing can be expected to be completed in a shorter time.
[0064] If the print data includes parameters for store printing, the printer 2 does not print the data and stores it in memory until it receives a password or other input via the printer 2's operation panel. In the case of store printing, the print data is compressed to reduce its size. Therefore, even if the printer 2 stores print data, the memory load is reduced.
[0065] On the other hand, if the received print data is not compressed, the printer 2 prints the received print data without decompressing it. For example, print data in PDF format, print data with a print command type set to text, or print data with a parameter that prioritizes image quality is likely to be transferred without compression, allowing the printer 2 to print at the quality intended by the user.
[0066] The printer 2 notifies the general-purpose printing program 41 of the result of the printing (B22). After the general-purpose printing program 41 transmits the generated print data to the printer 2 in B14, it becomes able to receive a result notification transmitted from the printer 2.
[0067] When printing is complete, the printer 2 notifies the general-purpose printing program 41 of the completion of printing in B22. In this case, the general-purpose printing program 41 notifies the editing application 43 of the completion of printing and ends the processing. Note that when printing is complete, the printer 2 does not have to notify the general-purpose printing program 41 of the completion of printing. In this case, the general-purpose printing program 41 operates as if printing is complete based on the completion of sending the generated raster data to the printer 2.
[0068] As described above in detail, the auxiliary program 42 of this embodiment determines compression conditions for the compression process that compresses the intermediate data based on at least one of the print settings in the print instruction and the capabilities of the printer 2, and instructs the general-purpose printing program 41 to compress the intermediate data. The auxiliary program 42 acquires, from the general-purpose printing program 41, the intermediate data that has been compressed by the general-purpose printing program 41 in accordance with the compression conditions. The auxiliary program 42 causes the printer 2 to print based on the print data generated from the acquired intermediate data. Such an auxiliary program 42 can utilize the compression function of the general-purpose printing program 41, and compared to when the auxiliary program 42 compresses the intermediate data, the processing of the auxiliary program 42 is simplified and the load on the auxiliary program 42 is reduced.
[0069] In addition, the auxiliary program 42 of this embodiment can determine whether to compress the intermediate data or the compression rate depending on the print settings or the capabilities of the selected printer 2, so that appropriate control can be expected in accordance with the print settings or the capabilities of the selected printer 2.
[0070] 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 naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to the PC 1 is not limited to the printer 2, but may be any device with a printing function, such as a multifunction device, a copier, or a fax machine. Furthermore, the number of printers 2 connected to the PC 1 is not limited to the illustrated example, and may be two or more.
[0071] Furthermore, if the user changes the default printer from another printer to printer 2 via the OS 21 after the print setting screen is displayed by the general-purpose print program 41, the general-purpose print program 41 may also start the auxiliary program 42. Furthermore, the auxiliary program 42 may be started not only when printing is selected, but also when printer 2 is selected as a device setting, for example. Even in these cases, the auxiliary program 42 may be able to execute a procedure for determining and specifying compression conditions.
[0072] In each embodiment, only the printing operation is described in detail as the operation of the auxiliary program 42, but the auxiliary program 42 may have other roles. The program that executes the process of the above embodiments is not limited to the auxiliary program 42, and may be any program that receives instructions from the OS 21 or the general-purpose print program 41 when printing using the general-purpose print program 41. For example, it may be a print workflow application (Print Workflow) whose specifications have been published by Microsoft.
[0073] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of the various forms. For example, the auxiliary program 42 may be executed in response to a direct execution instruction from the OS 21, or may be a resident auxiliary program 42. If the auxiliary program 42 is resident, it may receive an execution command and perform the above-described operation.
[0074] Furthermore, in any sequence diagram disclosed in each embodiment, the execution order of multiple processes in any multiple steps can be arbitrarily changed or can be executed in parallel as long as no contradiction occurs in the process content.
[0075] The processes disclosed in each aspect may be executed by hardware such as a single CPU, multiple CPUs, or an ASIC, or a combination thereof. The processes disclosed in each aspect may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method.
[0076] 1 PC 2 Printer 11 CPU 12 Memory
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, wherein the information processing device is equipped with an operating system having a general-purpose printing program, the support program being configured to cause the computer to execute the following, when a print instruction is output from an application program incorporated in the information processing device and the print instruction is given to the general-purpose printing program to cause the printer to print an image: a determination process for determining compression conditions based on at least one of the print settings in the print instruction and the capabilities of the printer; an instruction process for instructing the general-purpose printing program to compress using the compression conditions determined in the determination process; an acquisition process for acquiring intermediate data showing the image to be printed in accordance with the print instruction, the acquisition process acquiring the intermediate data compressed by the general-purpose printing program in accordance with the compression conditions instructed in the instruction process; and a print process for performing processing to cause the printer to print based on print data generated from the intermediate data acquired in the acquisition process.
2. A support program as described in claim 1, wherein, in the acquisition process, if the intermediate data contains image data, the intermediate data is acquired by compressing the image data using the general-purpose printing program in accordance with the compression conditions specified in the instruction process.
3. A support program as described in claim 1, wherein the compression conditions determined in the determination process include a first condition indicating whether or not to compress, and in the acquisition process, if the compression conditions include the first condition indicating to compress, the intermediate data compressed by the general-purpose printing program is acquired, and if the compression conditions include the first condition indicating not to compress, the intermediate data that has not been compressed is acquired.
4. A support program as claimed in claim 3, wherein the determination process determines the first condition to be no compression when a parameter indicating priority to image quality is set in the print settings according to the print instruction.
5. A support program as described in claim 3, wherein the determination process determines that the first condition is to compress when a parameter indicating accumulated printing is set in the print settings by the print instruction.
6. A support program as described in claim 3, wherein in the acquisition process, if the intermediate data contains image data, the intermediate data is acquired by compressing the image data using the general-purpose print program in accordance with the compression conditions instructed in the instruction process, and in the determination process, if a parameter indicating that the type of print content is text is set in the print settings in the print instruction, the support program is configured to determine that the first condition is not to compress.
7. A support program according to claim 3, wherein said determination process determines that said first condition is to compress when the memory capacity of said printer is smaller than a first threshold value.
8. A support program as described in claim 3, wherein in the acquisition process, if the intermediate data includes image data, the intermediate data is acquired by compressing the image data using the general-purpose printing program in accordance with the compression conditions instructed in the instruction process, and in the determination process, if the format of the print data that can be handled by the printer is PDF, the first condition is determined to be compression.
9. A support program as described in claim 8, wherein the determination process determines that the first condition is not to compress when the format of the print data accepted by the printer is raster data, and the printing process, if the determination process determines that the first condition is not to compress, compresses the print data generated from the intermediate data acquired in the acquisition process using a compression method compatible with the printer, and performs processing to have the printer print based on the compressed print data.
10. A support program as described in claim 1, wherein the compression conditions determined in the determination process include a second condition indicating a compression ratio, and in the acquisition process, if the compression conditions include the second condition, the intermediate data compressed by the general-purpose printing program is acquired in accordance with the compression ratio indicated in the second condition.
11. A support program as described in claim 10, wherein the determination process determines the second condition to be a first compression rate when a parameter indicating priority to image quality is set in the print settings by the print instruction, and determines the second condition to be a second compression rate higher than the first compression rate when a parameter indicating priority to speed is set.
12. A support program according to claim 10, wherein in said determination process, the smaller the memory capacity of said printer, the higher the compression ratio determined as said second condition.
Citation Information
Patent Citations
Printer driver, information processor, and computer-readable recording medium recording printer driver therein
JP2012022523A
Program and information processing apparatus
JP2020126352A
Information processing device, control method of information processing device, and program
JP2024007870A