Support program
The support program optimizes image quality, processing time, and communication volume by compressing data based on communication environment information, addressing inefficiencies in OS-standard general-purpose print programs.
Patent Information
- Application Number
- JP2024037839
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-12
- Publication Date
- 2025-09-26
AI Technical Summary
Existing technologies using OS-standard general-purpose print programs face challenges in balancing image quality, processing time, and communication volume, particularly when dealing with large intermediate data, leading to inefficiencies in rasterization and compression.
A support program that acquires communication environment information and instructs the general-purpose printing program to compress data based on this information, optimizing the balance between image quality, processing time, and communication volume.
Achieves optimal printing processing by reducing processing time and communication volume while maintaining image quality, depending on the communication environment.
Smart Images

Figure 2025139091000001_ABST
Abstract
Description
[Technical Field]
[0001] The technical field disclosed in this specification relates to a support program that supports control of a printer. [Background technology]
[0002] In recent years, a technology has been put into practical use that controls a printer using a standard general-purpose print program that is part of the operating system (OS) and does not use a printer driver provided by the printer vendor. With this technology, when the OS detects a printer, it associates it with the OS's standard general-purpose print program, and then when a print instruction for that printer is received, the OS's standard general-purpose print program generates print data, making it possible to print using the OS's standard general-purpose print program, without using a printer driver provided by the printer vendor.
[0003] An example of a document disclosing technology related to a general-purpose printing program that is standard for an OS is Patent Document 1. Patent Document 1 discloses technology that can reduce delays in the start of printing by having a support program that supports the general-purpose printing program rasterize and compress intermediate data. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2023-049478 Summary of the Invention [Problem to be solved by the invention]
[0005] In Patent Document 1, a support program receives intermediate data from a general-purpose printing program and performs rasterization and compression processing using the received intermediate data. Rasterizing and compressing the intermediate data received from the general-purpose printing program can take a long time if the intermediate data is large, and excessive compression can result in a decrease in image quality. On the other hand, not compressing the data can result in an unnecessarily large increase in communication volume. Therefore, there is room for improvement in optimizing the balance between image quality, processing time, and communication volume. [Means for solving the problem]
[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, the information processing device being equipped with an operating system having a general-purpose printing program, and the support program is configured to cause the computer to execute a communication environment acquisition process for acquiring communication environment information between the information processing device and the printer, an instruction process for instructing the general-purpose printing program to compress the image in accordance with the communication environment information acquired by the communication environment acquisition process 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 acquisition process for acquiring intermediate data indicating the image to be printed in accordance with the print instruction, the acquisition process acquiring from the general-purpose printing program the intermediate data compressed in accordance with the communication environment information instructed by 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 by the acquisition process.
[0007] The support program having the above configuration instructs the general-purpose printing program to perform compression according to the communication environment information acquired in a communication environment acquisition process that acquires communication environment information between the information processing device and the printer. The support program acquires the compressed intermediate data from the general-purpose printing program. The support program causes the printer to print based on print data generated from the acquired intermediate data. This support program makes it possible to utilize the compression function of the general-purpose printing program and reduce the processing time of the support program. By performing compression according to the communication environment information, it is possible to achieve printing processing that is optimal for the communication environment.
[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. [Effects of the Invention]
[0009] According to the technology disclosed in this specification, in an information processing device in which an OS-standard general-purpose printing program is installed, it is possible to achieve an optimal balance between image quality, processing time, and communication volume depending on the communication environment. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 2 is a block diagram showing an outline of the electrical configuration of a PC. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of acquiring communication environment information. [Figure 3] FIG. 10 is a sequence diagram illustrating an example of a process when a print execution instruction is given. [Figure 4] 10 is a flowchart illustrating an example of determining a compression rate. [Figure 5] FIG. 10 is a sequence diagram illustrating another example of acquiring communication environment information. DETAILED DESCRIPTION OF THE INVENTION
[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. The memory 12 stores various programs and various data. 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 operations by the user. Note that the user IF 13 may be a combination of the display 13a capable of displaying 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 an external device such as the printer 2. The communication IF 14 is compatible with 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 equipped with multiple communication IFs 14 compatible with 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] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), and Android (registered trademark).
[0018] The OS 21 includes a general-purpose printing program 41. The general-purpose 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 general-purpose printing program 41. The general-purpose 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 a 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 a communication function provided by 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 the control of the target hardware. The auxiliary program 42 of 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. A separate auxiliary program 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 storage designated by the OS 21, and install it in the PC 1. The OS 21 associates the identification information of the installed auxiliary program with the printer information of the newly connected printer and stores it in the memory 12.
[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, via the user IF 13, a print execution instruction for causing the printer 2 to execute printing. 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] In this embodiment, the PC 1 is connected to the printer 2 via the communication IF 14 as shown in FIG. 1. 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 may be a device capable of only monochrome printing.
[0026] The OS 21 of the PC 1 stores communication setting information 51. The communication setting information 51 includes, for example, the IP address of the PC 1, the IP address of the printer 2, communication interface information such as the type and communication standard of the communication IF 14 used for communication between the PC 1 and the printer 2, information indicating communication on a pay-per-use basis, etc. Each piece of information included in the communication setting information is also an example of communication environment information.
[0027] Next, an example of a procedure for acquiring communication environment information in the PC 1 of this embodiment will be described based on the sequence of 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. 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, for convenience, as if each program were independently performing 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 a detailed description of the OS 21. Also, the term "acquire" is used as a concept that does not necessarily require a request.
[0028] When the print setting screen is displayed on the user IF 13 and a selection instruction to select printer 2 as the device to execute printing is received (A11), or when the print setting screen is displayed by receiving a print selection while printer 2 is selected as the device to execute printing, the editing application 43 passes information indicating that printer 2 has been selected to the general-purpose print program 41 (A12). The general-purpose print program 41 starts the auxiliary program 42 corresponding to printer 2 and passes information indicating that printer 2 has been selected (A13).
[0029] When the auxiliary program 42 is started in response to the instruction in A13, it acquires the capability information of the printer 2. At this time, the auxiliary program 42 measures the time required to acquire the capability information of the printer 2. Specifically, the auxiliary program 42 starts measuring the communication time (A20) and requests the general-purpose printing program 41 to acquire the capability information (A21). The general-purpose printing program 41 sends a command requesting the capability information to the printer 2 and acquires the capability information from the printer 2 (A22). The general-purpose printing program 41 passes the acquired capability information to the auxiliary program 42 (A23). Upon receiving the capability information of the printer 2, the auxiliary program 42 stops measuring the communication time (A24). This allows the auxiliary program 42 to acquire the capability information of the printer 2 and the time required to acquire the capability information of the printer 2. The time required to acquire the capability information of the printer 2 is information indicating the communication speed between the PC 1 and the printer 2 and is an example of communication environment information. The processing in A20 and A24 is an example of a timing process. The processes from A20 to A24 are an example of direct speed measurement processing and also an example of communication environment acquisition processing.
[0030] The general-purpose printing program 41 communicates with the printer 2 in A22 via the OS 21, for example, by communication according to IPP (abbreviation for Internet Printing Protocol). The auxiliary program 42 may obtain capability information directly from the printer 2, for example, by using MIB (abbreviation for 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.
[0031] The capability information acquired from the printer 2 includes information on setting items that can be set as print settings and parameters that can be set for each setting item. The capability information includes, for example, information indicating the three print quality levels that the printer 2 can support: draft, normal, and fine. The capability information also includes information on the types of content that the printer 2 can process, such as text, graphics, and photos. The capability information also includes information on items related to the paper feed trays and output trays available to the printer 2, such as information on selectable paper feed trays and output trays, and paper information such as the size and type of paper loaded in each paper feed tray. The capability information may also include information on print resolutions supported by the printer 2, information on image processing functions that the printer 2 can execute, information on the status of the printer 2, such as remaining amounts of consumables, information on exclusion settings and how to resolve them, and information on default print settings. The capability information is used, for example, by the general-purpose printing program 41 or the editing application 43 when displaying a print setting screen or determining exclusion errors in the print settings.
[0032] Next, separate from the processes A20 to A24 (first measurement process), the auxiliary program 42 directly measures the communication speed with the printer 2 (second measurement process). Specifically, the auxiliary program 42 measures the time it takes to send a predetermined measurement packet to the printer 2 and receive a response. The measured time is information indicating the communication speed between the PC 1 and the printer 2, and is an example of communication environment information. The process at A25 is an example of direct measurement process and also an example of communication environment acquisition process. Note that this embodiment includes both the first measurement process and the second measurement process, but either one may be sufficient, or both may be unnecessary if other communication environment information is acquired.
[0033] Next, the auxiliary program 42 acquires communication setting information 51 from the OS 21 (A30). The communication setting information 51 includes, for example, the IP address of PC1, the IP address of printer 2, communication interface information such as the type and communication standard of the communication IF 14 used for communication between PC1 and printer 2, and information indicating communication using pay-per-use charging. Each of these pieces of information is also an example of communication environment information. From the IP address of PC1 and the IP address of printer 2, it is possible to determine whether PC1 and printer 2 belong to the same local network, and the communication path can be inferred. The IP address of PC1 and the IP address of printer 2 are examples of communication path information. The processing of A30 is an example of communication environment acquisition processing.
[0034] Next, in A31, the auxiliary program 42 stores the communication environment information acquired in the processes from A20 to A30 in an area of the memory 12 that the auxiliary program 42 can read and write (A31).The auxiliary program 42 then passes the acquired capability information to the general-purpose printing program 41, and ends the process for printer selection (A35).
[0035] Next, an example of processing when a print instruction is given in PC 1 of this embodiment will be described based on the sequence in Fig. 3. After the user decides on the image to be printed and the print settings for printer 2, the user inputs a print instruction in editing application 43 (C01). When the editing application 43 receives the user's print instruction, it determines that it has received an execution instruction to cause printer 2 to print the selected image to the general-purpose print program 41, since the general-purpose print program 41 is incorporated into OS 21 of PC 1.
[0036] The editing application 43 outputs the received print instruction information to the general-purpose printing program 41 (C02). The general-purpose printing program 41 acquires, as the print instruction information, image data indicating the image to be printed and information indicating the print settings from the editing application 43. Upon receiving the print instruction from the editing application 43, the general-purpose printing program 41 starts the auxiliary program 42 and outputs a print execution instruction to the auxiliary program 42 (C03).
[0037] The started auxiliary program 42 reads and acquires the communication environment information stored in the memory 12 in step A31 (C04), and determines the compression ratio based on the read communication environment information (C20). The compression ratio indicates the degree of compression used when the general-purpose printing program 41 generates intermediate data representing the image to be printed.
[0038] An example of a flowchart for determining the compression rate is shown in FIG. 4. First, in step S10, the auxiliary program 42 determines the communication speed based on the communication environment information read from the memory 12 in step C04. In this embodiment, the communication speed has three levels: fast, normal, and slow. In this embodiment, the communication speed is provisionally determined based on the communication speed measured in the processes A20 to A24 (first measurement process) or the communication speed measured in the process A25 of the communication environment information. Here, the determination of the level is made based on communication interface information, such as the type and communication standard of the communication IF 14 used for communication between the PC 1 and the printer 2, and communication path information. For example, if the connection is a wired LAN or a wired USB connection, the speed is determined to be "fast." Furthermore, if the communication path information indicates communication outside the local network, the speed is determined to be "slow." If the communication speed does not fall within these three levels, the provisionally determined communication speed is used.
[0039] As described above, multiple types of communication environment information are used to determine the communication speed. However, at least one piece of communication environment information is sufficient for determining the communication speed. The auxiliary program 42 may determine the communication speed from that single piece of communication environment information. Furthermore, the auxiliary program 42 may acquire multiple types of communication environment information and switch between a speed priority and an image quality priority method for determining the communication speed. For example, when speed is prioritized, the auxiliary program 42 may determine the slowest communication speed among the communication speeds (fast, normal, slow) obtained from each of the multiple types of communication environment information. In this case, the auxiliary program 42 may determine a compression rate that prioritizes speed when determining the compression rate, as described below. Furthermore, when image quality is prioritized, the auxiliary program 42 may determine the fastest communication speed among the communication speeds (fast, normal, slow) obtained from each of the multiple types of communication environment information. In this case, the auxiliary program 42 may determine a compression rate that prioritizes image quality when determining the compression rate, as described below.
[0040] Next, in step S20, the auxiliary program 42 determines whether or not there is information indicating communication on a pay-per-use basis. If there is no information indicating communication on a pay-per-use basis (S20: No), the process proceeds to step S30. In step S30, the auxiliary program 42 allocates processing according to the communication speed determined in step S10. If the communication speed is "fast" (S30: fast), the compression rate is determined to be "no compression" in step S41. If the communication speed is "normal" (S30: normal), the compression rate is determined to be "low compression rate" in step S42. If the communication speed is "slow" (S30: slow), the compression rate is determined to be "medium compression rate" in step S42.
[0041] On the other hand, if there is information indicating communication on a pay-per-use basis (S20: Yes), the process proceeds to step S50. In step S50, the auxiliary program 42 allocates processing according to the communication speed determined in step S10. If the communication speed is "fast" (S50: fast), the compression rate is determined to be "low compression rate" in step S61. If the communication speed is "normal" (S50: normal), the compression rate is determined to be "medium compression rate" in step S62. If the communication speed is "slow" (S50: slow), the compression rate is determined to be "high compression rate" in step S63. The compression rate is higher when there is information indicating communication on a pay-per-use basis than when there is no information indicating communication on a pay-per-use basis in order to reduce communication costs.
[0042] 3, after determining the compression rate in C20, the auxiliary program 42 instructs the general-purpose printing program 41 to perform compression at the determined compression rate (C21). C21 is an example of "instruction processing."
[0043] The general-purpose printing program 41 generates intermediate data in response to an instruction from the auxiliary program 42 (C22). The general-purpose printing program 41 generates the intermediate data by converting the format of the data to be printed into the format of the intermediate data based on information acquired 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.
[0044] If the compression rate determined by the auxiliary program 42 is a condition indicating compression, the general-purpose printing program 41 executes a compression process to compress the image data included in the data to be printed at the compression rate specified by C21 when generating the intermediate data. The compression process is performed using a compression method that the selected printer 2 can support.
[0045] The general-purpose printing program 41 passes the generated intermediate data to the auxiliary program 42 (C23). This allows the auxiliary program 42 to acquire the intermediate data compressed by the general-purpose printing program 41 according to the compression ratio specified by the auxiliary program 42 in C21. If compression is not performed in C21, the auxiliary program 42 acquires the uncompressed intermediate data from the general-purpose printing program 41 in C23. C23 is an example of an "acquisition process."
[0046] The auxiliary program 42 can edit the intermediate data and print setting information received from the general-purpose print program 41 as needed (C24). The processing in C24 is an example of an "editing process." For example, if print settings for combining a watermark and adding a header and footer are specified, editing may be performed to combine an image of the watermark with the intermediate data and add a header and footer to the intermediate data.
[0047] The auxiliary program 42 generates print data, which is PDL data, based on the intermediate data (C25). The print data generated in C25 may be data in a format that can be printed by the printer 2. The print data may be, for example, PWG Raster data or PDF data.
[0048] 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 (C26). The general-purpose printing program 41 sends the print data and print command to the printer 2, for example, using communication in accordance with IPP (C27). The processing of C26, in which the general-purpose printing program 41 sends the generated print data to the printer 2, is an example of a "printing process."
[0049] Note that, for example, if the auxiliary program 42 does not have a rasterization function, it may have the general-purpose printing program 41 rasterize the intermediate data. By having the general-purpose printing program 41 rasterize, the auxiliary program 42 executes fewer processes, resulting in a smaller program size.
[0050] In addition, instead of sending print data from the general-purpose print program 41 to the printer 2, the auxiliary program 42 may send a print command instructing the printer to perform printing and the print data to the printer 2, for example, using communication according to the MIB.
[0051] Printer 2 executes printing based on the received print data (C30). When printer 2 executes printing using print data generated from intermediate data with a high compression rate, the data size of the print data is small, so it is expected that transfer time will be shortened and printing will be completed in a short time. On the other hand, when printer 2 executes printing using print data generated from intermediate data with a low compression rate, the data size of the print data is large, so it is expected that printing will be completed with high image quality.
[0052] As described above in detail, the auxiliary program 42 of this embodiment acquires communication environment information between the PC 1 and the printer 2 and instructs the general-purpose printing program 41 on a compression rate according to the acquired communication environment information. The auxiliary program 42 then acquires, from the general-purpose printing program 41, intermediate data that has been compressed at the instructed compression rate. The auxiliary program 42 then causes the printer 2 to print based on 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 reduce the processing time of the auxiliary program 42. By performing compression according to the communication environment information, it is possible to achieve printing processing that is optimal for the communication environment.
[0053] 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 PC1 is not limited to a printer, but may be any device with a printing function, such as a multifunction device, copier, or fax machine. Furthermore, the number of printers connected to PC1 is not limited to the illustrated example, and may be two or more.
[0054] Furthermore, in the above-described embodiment, the auxiliary program 42 measures the communication speed. However, the speed may be measured by a speed measurement application 44 installed on the PC 1 and equipped with a speed measurement function. FIG. 5 is a sequence diagram illustrating an example of acquiring communication environment information. Processes common to those in FIG. 3 are designated by the same reference numerals and will not be described again. When the printer 2 is selected and the auxiliary program 42 is started, the auxiliary program 42 requests the speed measurement application 44 (D15). Upon receiving the speed measurement request, the speed measurement application 44 performs speed measurement by sending a predetermined speed measurement packet to the printer 2 and measuring the time until a response is received (D16). The auxiliary program 42 then obtains the measured communication speed from the speed measurement application 44 (D17). This allows the auxiliary program 42 to allocate processing time to other processes, reducing the processing load. Furthermore, the speed measurement application enables highly accurate speed measurement. Alternatively, the speed measurement application 44 may measure the speed in D16, for example, once every 30 minutes, instead of in response to a request in D15, and store the result, and may respond in D17 with the latest speed measurement result in response to a request in D15. The processing of D15 to D17 is an example of indirect speed measurement processing, and an example of communication environment acquisition processing. If the OS21 has a speed measurement function, the speed measurement result of the OS21 may be acquired instead of the speed measurement application 44.
[0055] 2 or 5 may be performed not only when a printer is selected, but also when the detailed setting screen is displayed or when printing is executed. In this case, the auxiliary program 42 may use the result of the previous speed measurement if it is within 30 minutes since the previous speed measurement.
[0056] In the above embodiment, the general-purpose printing program 41 acquires the communication environment information from the OS 21 or the speed measurement application, but this is not limiting. For example, the general-purpose printing program 41 may acquire some or all of the communication environment information (communication setting information) by having the user input settings.
[0057] In addition, 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 as well. Furthermore, the program that executes the processing 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 made public by Microsoft.
[0058] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of each form. For example, the auxiliary program 42 may be executed in response to an execution instruction directly 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.
[0059] 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.
[0060] The processes disclosed in each aspect may be executed by hardware such as a single CPU, multiple CPUs, or 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. [Explanation of symbols]
[0061] 1 PC 2. Printer 11 CPU 12 Memory
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 information processing device being equipped with an operating system having a general-purpose printing program; The support program is installed on the computer. a communication environment acquisition process for acquiring communication environment information between the information processing device and the printer; When a print instruction is output from an application program installed in the information processing device, the print instruction instructing the general-purpose print program to print an image on the printer, an instruction process for instructing the general-purpose printing program to perform compression according to the communication environment information acquired in the communication environment acquisition process; an acquisition process for acquiring intermediate data indicating the image to be printed in accordance with the print instruction, the acquisition process acquiring the intermediate data compressed in accordance with the communication environment information instructed in the instruction process from the general-purpose print program; a printing process for causing the printer to perform printing based on print data generated from the intermediate data acquired in the acquisition process; Execute A support program configured to:
2. 2. The support program according to claim 1, the communication environment acquisition process includes a speed measurement process for measuring a communication speed between the information processing device and the printer, and the communication environment information includes the communication speed measured in the speed measurement process; A support program configured to:
3. 3. The support program according to claim 2, the metering process includes a direct metering process for measuring the time from when the information processing device transmits a metering packet until when a predetermined response is received; A support program configured to:
4. 3. The support program according to claim 2, the speed measurement process includes an indirect speed measurement process of requesting a speed measurement application installed in the information processing device to measure a communication speed between the information processing device and the printer, and acquiring the measured communication speed from the speed measurement application; A support program configured to:
5. 3. The support program according to claim 2, the time measurement process includes a time measurement process for measuring the time required to acquire the performance information from the printer; A support program configured to:
6. 2. The support program according to claim 1, In the communication environment acquisition process, information on a communication interface between the information processing device and the printer is acquired, and the communication environment information includes information on the communication interface. A support program configured to:
7. 2. The support program according to claim 1, In the communication environment acquisition process, information on a communication path between the information processing device and the printer is acquired, and the communication environment information includes information on the communication path. A support program configured to:
8. 2. The support program according to claim 1, In the communication environment acquisition process, information on whether or not the communication is a pay-as-you-go communication is acquired, and the communication environment information includes the information on whether or not the communication is a pay-as-you-go communication. A support program configured to:
9. 4. The support program according to claim 3, If a predetermined time has not elapsed since the previous direct speed measurement process, the communication speed measured in the previous direct speed measurement process is included in the communication environment information. A support program configured to:
10. 5. The support program according to claim 4, In the indirect speed measurement process, the speed measurement application periodically acquires the latest measured communication speed. A support program configured to:
Citation Information
Patent Citations
Support program
JP2023049478A