Program, storage medium, method, and information processing apparatus
The mechanism improves printing system performance by delegating image correction to the printing device based on its calibration module availability, addressing performance degradation and cost issues in existing systems.
Patent Information
- Application Number
- JP2024017707
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-08
- Publication Date
- 2025-08-21
- Estimated Expiration
- 2044-02-08
AI Technical Summary
Existing printing systems using general-purpose printing software face performance degradation when image correction is performed by the host computer due to the lack of a calibration module in the printing device, and installing such a module increases device cost.
A mechanism that determines if the printing device has a calibration module, generating print data without correction if the module is present, or correcting intermediate data using acquired calibration results if the module is absent, thereby improving correction performance.
Enhances correction performance using calibration results while avoiding performance degradation and reducing device cost by delegating image correction to the printing device when necessary.
Smart Images

Figure 2025122327000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program, a storage medium, a method, and an information processing device. [Background technology]
[0002] A known configuration uses a printer driver installed on a host computer as software for controlling the printing device to issue print instructions to a printing device connected to the host computer. An operating system (OS), which is the basic software, is installed on the host computer, and the printer driver is configured according to the specifications defined by the OS and is invoked by the OS to operate. Meanwhile, a vendor that provides a printing device can provide a means for issuing print instructions to the printing device using the OS by providing a printer driver that conforms to the OS specifications. Note that, in this specification, "vendor" includes the manufacturer of the printing device.
[0003] In recent years, Windows® has provided standard class drivers (hereinafter also referred to as "standard drivers") that can be used across printing devices provided by multiple vendors. Standard drivers are included in the OS package and can be easily used by connecting any printing device to a host computer. Therefore, standard drivers are highly convenient because they eliminate the need to separately install a model-specific printer driver suited to the printing device. Furthermore, standard drivers are configured to allow printing functions to be specified based on PrintDeviceCapabilities (hereinafter also referred to as "PDC") generated based on information obtained from the connected printing device. This allows users of standard drivers to specify printing functions that correspond to the capabilities of the connected printing device, even when using a single standard driver.
[0004] However, the functions that users can specify are limited to those that can be realized only with the standard driver, and users cannot specify vendor-specific functions. Therefore, Patent Document 1 discloses a technology for extending functionality so that a page layout function, which is one of vendor-specific functions, can be realized by an extension application associated with the standard driver. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 2019-074906 Summary of the Invention [Problem to be solved by the invention]
[0006] In addition, it has been considered to execute a vendor-specific calibration function using an extension application associated with the standard driver. A calibration function is a function that creates correction coefficients to correct the unique characteristics of a printing device, or even performs the correction itself. For example, in the case of a calibration function related to the gamma characteristics of a printing device, a user can print using the calibration function to obtain printouts with the same gradation as under the original environmental conditions, even if the environmental conditions change.
[0007] However, if image correction using calibration results obtained from a printing device is always performed by an extended application on a host computer, there is a concern that the performance of the host computer may be degraded. Printing devices generally perform image correction using electronic circuits such as ASICs designed to enable high-speed image processing. Therefore, when comparing image processing by a printing device with image processing by a host computer, performance degradation is more likely to occur when image processing is performed by a host computer.
[0008] On the other hand, even if you try to have a printing device perform image correction using calibration results out of concern for performance degradation, the printing device may not be equipped with a module that performs the appropriate image correction due to issues such as product cost. In such cases, the printing device will not be able to provide the calibration function when printing using a standard driver. Furthermore, if a new correction module is installed in the printing device to provide the calibration function, this will lead to an increase in the cost of the printing device.
[0009] The present invention has been made in view of the above-mentioned problems, and aims to provide a mechanism that improves the performance of correction based on calibration results when a printing device supported by general-purpose printing software has a module that uses the calibration results, and that enables the correction even when the module is not present. [Means for solving the problem]
[0010] In order to achieve the above object, the program of the present invention includes a program for causing a computer of an information processing device that executes general-purpose printing software capable of generating print data that can be printed on a plurality of printing devices provided by different vendors to receive settings related to calibration, cause the information processing device to instruct a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration, cause the information processing device to acquire capability information of the printing device, determine whether the printing device has a module that uses the results of the calibration based on the capability information of the printing device, and cause the information processing device to execute the calibration. When there is a module that uses the results, the information processing device is caused to generate print data based on the intermediate data generated by the general-purpose printing software without making any corrections to the intermediate data, and the generated print data is sent from the information processing device to the printing device; when there is no module in the printing device that uses the results of the calibration, the information processing device is caused to obtain the results of the calibration from the printing device, the information processing device is caused to correct the intermediate data using the results of the calibration, the information processing device is caused to generate print data based on the corrected intermediate data, and the generated print data is sent from the information processing device to the printing device. [Effects of the Invention]
[0011] According to the present invention, if a printing device supported by the general-purpose printing software has a module that uses calibration results, the performance of correction using those results is improved, and correction is possible even if that module is not present. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 2 is a block diagram illustrating a hardware configuration of the printing system. [Figure 2] FIG. 2 is a diagram illustrating a software configuration of the printing system. [Figure 3] FIG. 10 is a diagram illustrating a calibration process flow performed by the printing device. [Figure 4] FIG. 10 is a diagram illustrating an example of a density pattern. [Figure 5] FIG. 10 is a diagram illustrating an example of the effect of a calibration function. [Figure 6] 3A and 3B are diagrams illustrating an example of a print setting screen and a detailed setting screen according to the first embodiment. [Figure 7] FIG. 10 is a diagram showing the flow of editing processing of a PDC performed by a print function extension unit of an extension application. [Figure 8] FIG. 4 is a diagram showing an example of a table listing capability information acquired from a printing device in the first embodiment. [Figure 9] FIG. 2 is a diagram illustrating an example of a list of print functions supported by an extension application in the first embodiment, in the form of a table. [Figure 10] FIG. 2 is a diagram illustrating an example of a list of printing functions supported by general-purpose printing software. [Figure 11A] FIG. 2 is a sequence diagram of a drawing application, general-purpose printing software, an extension application, and a printing device in the first embodiment. [Figure 11B] FIG. 2 is a sequence diagram of a drawing application, general-purpose printing software, an extension application, and a printing device in the first embodiment. [Figure 11C] 11B. This is a flowchart summarizing the flow from step S1119 to step S1123 in the sequence of FIGS. 11A and 11B, focusing on the extended application. [Figure 12] FIG. 10 is a diagram illustrating the software configuration of a printing system in a second embodiment when an extension application is associated with general-purpose printing software and a printing device. [Figure 13] FIG. 11 is a diagram showing an example of a table listing capability information acquired from a printing device in the second embodiment. [Figure 14]FIG. 11 is a diagram illustrating an example of a list of print functions supported by an extension application in the second embodiment, in the form of a table. [Figure 15] 10A and 10B are diagrams illustrating an example of a print setting screen and a detailed setting screen according to the second embodiment. [Figure 16] FIG. 11 is a sequence diagram of a drawing application, general-purpose printing software, an extension application, and a printing device in a second embodiment. [Figure 17] FIG. 11 is a diagram illustrating the software configuration of a printing system in a third embodiment when an extension application is associated with general-purpose printing software and a printing device. [Figure 18] FIG. 11 is a diagram showing an example of a table listing capability information acquired from a printing device according to a third embodiment. [Figure 19] FIG. 11 is a diagram illustrating an example of a list of print functions supported by an extension application according to a third embodiment, in the form of a table. [Figure 20] 13A and 13B are diagrams illustrating an example of a print setting screen and a detailed setting screen according to the third embodiment. [Figure 21A] FIG. 11 is a sequence diagram of a drawing application, general-purpose printing software, an extension application, and a printing device in a third embodiment. [Figure 21B] FIG. 11 is a sequence diagram of a drawing application, general-purpose printing software, an extension application, and a printing device in a third embodiment. [Figure 22] FIG. 10 is a diagram showing an example of a warning screen displayed on a display unit. DETAILED DESCRIPTION OF THE INVENTION
[0013] Each embodiment of the present invention will be described in detail below with reference to the drawings. However, the configurations described in each of the following embodiments are merely examples, and the scope of the present invention is not limited to the configurations described in each embodiment. For example, not all of the combinations of features described in the present embodiments are necessarily essential to the solution of the present invention. Furthermore, each component constituting the present invention can be replaced with any configuration that can perform the same function. Furthermore, any component may be added. Furthermore, any two or more configurations (features) of each embodiment can be combined. In the second and third embodiments, the same components and processes as those of the first embodiment are designated by the same reference numerals, and description thereof will be omitted.
[0014] First Embodiment The first embodiment will be described below with reference to FIGS. 1 to 11C.
[0015] [Printing system hardware configuration] FIG. 1 is a block diagram showing the hardware configuration of a printing system. As shown in FIG. 1, the printing system includes a host computer 101 and a printing device 102. The host computer 101 (information processing device) may be a desktop personal computer, a smartphone, a notebook computer, or a tablet terminal. In FIG. 1, the host computer 101 includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a NETIF 117. Input devices such as a keyboard 118 and a pointing device 119 are connected to the input interface 110, and a display device such as a display unit 120 is connected to the output interface 115.
[0016] The display unit 120 displays, for example, a print setting screen and a detailed setting screen, which will be described later. The NETIF 117 is a network interface that controls data transfer between the host computer 101 and external devices via a network. The ROM 112 stores an initialization program and the like. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. The RAM 113 is used as a work memory when executing the various programs stored in the external storage device 114. In this way, the various programs are operable within the host computer 101. In the first embodiment, the CPU 111 executes processing according to the procedures of the programs stored in the ROM 112, thereby executing the functions of the host computer 101, which will be described later, and the processing shown in the flowchart sequences, which will be described later.
[0017] The printing device 102 is connected to the host computer 101 via an input / output interface 116. The printing device 102 includes an input / output interface 130, a CPU 131, a ROM 132, a RAM 133, a printing unit 134, and an ASIC 135. The input / output interface 130 of the host computer 101 is connected to the CPU 131. The CPU 131 controls the entire printing device 102. The ROM 132 stores a control program for the printing device 102. The RAM 133 provides memory for temporarily storing various information when the CPU 131 executes the program. The printing unit 134 forms images on sheets using an electrophotographic method. However, the printing device 102 is not limited to this method, and may be a device using other processes, such as an inkjet method. The ASIC 135 performs image processing and calibration-related processing, which will be described later. The printing device 102 may also be a multifunction device having multiple functions, such as copying, printing, and faxing. Also, here, the host computer 101 and the printing device 102 are configured as separate devices, but they may also be configured as a single device.
[0018] [Printing system software configuration] FIG. 2 is a diagram illustrating the software configuration of a printing system. The following description is based on the premise that the printing system uses a host computer 101 running Microsoft Windows 11 as its operating system. FIG. 2(a) illustrates a general software configuration of the printing system, including a drawing application 201, general-purpose printing software 202, and print function information 203. FIG. 2(b) illustrates an extension application 204 in addition to the general software configuration of the printing system illustrated in FIG. 2(a). That is, FIG. 2(a) illustrates a general configuration in which the extension application 204 is not associated with the general-purpose printing software 202 and the printing device 102. FIG. 2(b) illustrates a configuration in which the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102. The drawing application 201, general-purpose printing software 202, print function information 203, and extension application 204 are stored in the external storage device 114 of the host computer 101.
[0019] [Printing system software configuration when no extension application is associated] First, using FIG. 2(a), the software configuration of a printing system when an extension application 204 is not associated with the general-purpose printing software 202 and the printing device 102 will be described. The drawing application 201 is software that creates content (drawing data) to be printed. Examples of the drawing application 201 include a word processing application and a spreadsheet application. When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. The print instruction includes print setting information for instructing the operation of the general-purpose printing software 202 and the printing device 102. The print setting information is also called a PrintTicket (hereinafter referred to as "PT").
[0020] To output a PT, the drawing application 201 can display a print setting screen provided by any of the general-purpose printing software 202, the OS, and the drawing application 201. When an advanced settings button in the print setting screen is selected, the general-purpose printing software 202 additionally displays an advanced settings screen. A detailed description of the print setting screen and the advanced settings screen will be given later with reference to FIG. 6. The advanced settings screen includes setting items (hereinafter also referred to as "controls") indicating print functions that can be set by the user according to the capability information of the general-purpose printing software 202, and controls indicating the setting values for those items. The capability information is also called PrintCapabilities (hereinafter referred to as "PC").
[0021] The general-purpose printing software 202 is a software program capable of generating print data that can be printed on multiple printing devices provided by different vendors. The general-purpose printing software 202 determines a PC based on print capability information 203. The print capability information 203 is data indicating all print functions that can be set by the user, their setting values, and the exclusive relationships between the setting values. The print capability information 203 is also called PDC (Print Device Capabilities). Hereinafter, the print capability information 203 will be referred to as "PDC 203." The PDC 203 is included in a configuration file of the general-purpose printing software 202 and is stored as an unalterable file in the external storage device 114 of the host computer 101. Alternatively, the PDC 203 can be dynamically generated by the general-purpose printing software 202 or the OS. Specifically, the general-purpose printing software 202 or the OS can be configured to acquire attribute data of the printing device 102 from the printing device 102 and generate the PDC 203 according to the attribute information in the acquired attribute data. When the PDC 203 is dynamically generated, the generated PDC 203 can be edited.
[0022] The attribute data of the printing device 102 is a response obtained by issuing a Get-Printer-Attributes operation of the Internet Print Protocol (IPP) to the printing device 102. The response includes attribute information indicating the functions that can be specified on the printing device 102 and setting values related to the attribute information. This response is saved in RAM 113. With this configuration, the general-purpose printing software 202 can be configured to allow the user to specify the print functions available on each printing device connected to the host computer 101. In other words, even if printing devices with different functions or printing devices developed by different vendors are connected, the general-purpose printing software 202 can be configured to allow the user to specify the print functions available on the connected printing device. Note that the vendor may be the manufacturer of the printing device, as described above.
[0023] Here, we will explain a configuration that uses an IPP Class Driver installed in Windows (registered trademark) 11 as the general-purpose printing software 202. The IPP Class Driver is a printer driver that executes printing processing according to the specifications of a standard printing protocol called IPP, and is included in the OS package. The IPP Class Driver is not a printer driver specific to the model of the printing device 102, but a standard class driver that can be used commonly among multiple printing devices.
[0024] The IPP Class Driver also acquires capability information from the connected printing device 102 and generates a PDC 203 based on that information so that the user can specify the printing functions supported by the connected printing device 102. However, the IPP Class Driver does not support a calibration function or a correction function that uses the calibration results. This is because these two functions are proprietary to each vendor. Therefore, the following describes four points: the calibration function, use cases for the calibration function, the calibration process flow, and the effects of the calibration function.
[0025] [Calibration function] First, the calibration function will be described. The calibration function is a function that creates correction coefficients for correcting the inherent characteristics of the printing device 102, or even performs the actual correction. In the following description, a calibration function that corrects gamma characteristics will be described, but the present invention is not limited to this. In the present invention, the calibration function may be any function that corrects inherent characteristics of the printing device 102, such as color misregistration, color tone, laser tilt, and inkjet printer head misalignment. In calibration that corrects gamma characteristics, the printing device 102 outputs a density pattern, reads the density from the output pattern, and creates gamma coefficients that correct any deviation from a reference value. Thereafter, when printing image data, the printing device 102 corrects and prints the image data using the gamma coefficients created by calibration, thereby enabling the printing to always be performed with the same gradation.
[0026] [Calibration function use case] The analog characteristics of the printing device 102 change due to various factors, and the gradation of the same image data may differ depending on the output timing. For example, factors that cause changes in analog characteristics include wear and tear on the printing unit that makes up the printing unit 134 of the printing device 102 and changes in environmental conditions. In such cases, the user can print using the calibration function to always obtain printed material with the same gradation, even if the printing unit wears out or the environmental conditions change.
[0027] [Calibration process flow] Next, the calibration process flow performed by the printing device 102 will be described using the flowchart shown in Fig. 3. Note that each step of the flowchart shown in Fig. 3 is implemented by the ASIC 135 in the printing device 102, but may also be implemented by the CPU 131 reading a program stored in the ROM 132 into the RAM 133 and executing it. First, in step S301, the ASIC 135 outputs a density pattern. As a result, the printing device 102 prints the density pattern on an intermediate transfer belt or paper (not shown).
[0028] Here, density patterns will be explained using FIG. 4. FIG. 4 is a diagram showing an example of a density pattern. In density pattern 401, gradation data from a paper white area 402 and a patch 403 to a solid patch 404 are arranged continuously to the right side. Density pattern 401 is composed of the colors C, M, Y, and K, respectively, from above. Note that in the case of correcting color misregistration or color tone, separate patches may be output.
[0029] Returning to the explanation of FIG. 3, next, in step S302, the ASIC 135 reads the density pattern 401 printed in step S301 with a sensor (not shown) to obtain a signal value. Subsequently, in step S303, the ASIC 135 compares the signal value of the read density pattern 401 with a target value stored in advance, and creates a gamma coefficient (1D-LUT) that minimizes the difference from the target value. Finally, in step S304, the ASIC 135 stores the created gamma coefficient (1D-LUT) within the ASIC 135. Thereafter, the flowchart shown in FIG. 3 ends.
[0030] [Effects of the calibration function] Next, the effect of the calibration function will be explained using Fig. 5. In Fig. 5, the horizontal axis represents the input signal value and the vertical axis represents the output signal value. Dashed line 501 represents the target value of gradation, solid line 502 represents the signal value of the output patch obtained in step S302, and solid line 503 represents the gamma coefficient (1D-LUT) created in step S303. In Fig. 5, the output result of the patch (solid line 502) has an upward convex characteristic compared to the target value (dashed line 501), so when trying to match the output result of the patch (solid line 502) to the target value (dashed line 501), the gamma coefficient (solid line 503) has a downward convex characteristic.
[0031] By performing image correction using the gamma coefficients created by the calibration function, the printing device 102 can always print with the target gradation, even if the printing unit wears out or environmental conditions change. However, as mentioned above, the calibration function is a vendor-specific function and is not displayed on the detailed settings screen displayed by the general-purpose printing software 202. In other words, when using the IPP Class Driver, the user cannot select the calibration function and cannot print using the calibration function.
[0032] Returning to the explanation of FIG. 2(a), when a print instruction is issued from the drawing application 201, an OS module in the general-purpose printing software 202 generates intermediate data. The data output by the drawing application 201 for printing is data in Graphic Device Interface format (GDI format data) or XML Paper Specification format (XPS format data). Here, it is assumed that an IPP Class Driver is used as the general-purpose printing software 202. In this case, if the data output by the drawing application 201 is GDI format data, the OS converts the GDI format data output from the drawing application 201 into XPS format data. The intermediate data includes drawing data, which is information about the picture to be formed on paper, and a PT set by the user.
[0033] The general-purpose printing software 202 converts the generated intermediate data into print data that can be interpreted by the printing device 102 and transmits the print data to the printing device 102. Here, the print data is Page Description Language (PDL) data that complies with IPP. PDL data that complies with IPP is, for example, data in PDF (Portable Document Format) format or PWG-Raster format. The print data includes drawing data, which is information about the image to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on the PT set by the user. The print setting attribute information includes attribute information that indicates functions that can be specified on the printing device 102 and setting values related to that attribute information.
[0034] The printing device 102 prints on paper based on the print data sent from the general-purpose printing software 202. At this time, the printing device 102 forms the drawing data included in the print data on paper in accordance with the print setting attribute information included in the print data. The print setting attribute information includes attribute information for specifying print quality (priority on image quality, priority on speed, etc.) and double-sided printing, as well as its setting values. For example, if the print setting attribute information includes attribute information specifying double-sided printing and a setting value indicating that double-sided printing is to be performed, the printing device 102 executes double-sided printing.
[0035] [Printing system software configuration when an extended application is associated] Next, using Figure 2(b), we will explain the software configuration of the printing system when the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102. Note that configurations and processes not specifically mentioned below are the same as those in Figure 2(a). The extension application 204 is software for extending the functions of the general-purpose printing software 202, and is software that is not included in advance (not bundled) with the OS.
[0036] Therefore, the user must operate the host computer 101 to download and install the extended application 204 from a server to the host computer 101 via the Internet. Alternatively, the extended application 204 may be automatically installed in the host computer 101 when the printing device 102 is connected to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS acquires device identification information from the printing device 102. The OS then downloads and installs the extended application 204 corresponding to the acquired device identification information from the server to the host computer 101 via the Internet. In other words, the general-purpose printing software 202 and the extended application 204 are stored in the host computer 101 as separate files. Alternatively, the extended application 204 stored in a storage medium may be read by the CPU 111 of the host computer 101, thereby installing the extended application 204 in the host computer 101.
[0037] The general-purpose printing software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. That is, the timing at which the host computer 101 acquires the general-purpose printing software 202 is different from the timing at which the host computer 101 acquires the extension application 204. Furthermore, the trigger at which the host computer 101 acquires the general-purpose printing software 202 is different from the trigger at which the host computer 101 acquires the extension application 204. When the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose printing software 202 and the printing device 102.
[0038] As shown in FIG. 2B, the extension application 204 includes a print setting screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, a notification unit 208, and a calibration instruction unit 209. The extension application 204 also includes shared information 210 that can be commonly accessed by each unit. The shared information 210 is actually a file stored in the external storage device 114 or information stored in the RAM 113 of the host computer 101. The extension application 204 writes and reads information to the shared information 210 by using an API (Application Program Interface) provided by the OS. The extension application 204 may terminate its operation each time the processing of each unit is completed. In this case, the OS launches the extension application 204 each time it receives a request to use each unit. The extension application 204 may also cancel processing during the processing of each unit. If the processing is canceled, the job being processed in the print queue is deleted by the OS.
[0039] When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. In the configuration of FIG. 2(b), as in the configuration of FIG. 2(a), the drawing application 201 can display a print setting screen. Furthermore, in the configuration of FIG. 2(b), a detailed setting screen provided by the extension application 204 is displayed. Specifically, a detailed setting screen provided by the print setting screen extension unit 205 of the extension application 204 is displayed. Furthermore, the print setting screen extension unit 205 can save information on detailed settings set by the user (hereinafter referred to as "detailed setting information") in the shared information 210. Details of the print setting screen extension unit 205 will be described later.
[0040] The intermediate data editing unit 207 acquires intermediate data from the general-purpose printing software 202, converts the acquired intermediate data into print data, and then passes the print data to the printing device 102. The intermediate data editing unit 207 is described in detail below. If the printing device 102 has a gamma correction function, the intermediate data editing unit 207 converts the intermediate data into print data without gamma correction. On the other hand, if the printing device 102 does not have a gamma correction function, the intermediate data editing unit 207 acquires a gamma coefficient from the printing device 102, performs gamma correction on the intermediate data, and converts the intermediate data into print data. The printing device 102 performs the necessary image processing based on the accepted print data and prints it on paper.
[0041] The method of converting intermediate data into print data is not limited to the above. The extension application 204 may be configured to acquire print data generated by the general-purpose printing software 202 and add detailed settings to the print data. Even in the configuration of FIG. 2(b), there are cases where calibration settings are not performed by the user. In this case, as in the configuration of FIG. 2(a), the general-purpose printing software 202 may pass the print data to the printing device 102 without going through the extension application 204.
[0042] The print function extension unit 206 can edit the PDC 203 generated by the general-purpose printing software 202 or the OS. This allows the print function extension unit 206 to add functions provided by the extension application 204 or add functions supported by the printing device 102 but not supported by the general-purpose printing software 202 (e.g., a calibration function). Furthermore, the print function extension unit 206 can add exclusive relationships between print function setting values. The OS starts the print function extension unit 206 when the extension application 204 is first associated with the printing device 102 and the general-purpose printing software 202. The OS may also start the print function extension unit 206 at other times (e.g., when the OS starts). In this way, in cases where an optional device (e.g., a finisher) is added later to the printing device 102 and printing-related functions are expanded, the print function extension unit 206 can detect the expanded functions and add them to the PDC 203.
[0043] The notification unit 208 can display a notification to the user in response to an error occurring in the printing device 102. For example, when an out-of-paper error occurs in the printing device 102, the general-purpose printing software 202 detects the error, and the OS uses a notification function of the OS called a toast notification to display a message on the display unit 120. When the user selects this toast notification with the pointing device 119 or the like, the notification unit 208 is called by the OS, and the UI screen of the notification unit 208 is displayed. On the UI screen, the notification unit 208 can display, for example, a detailed message about the out-of-paper error and instructions on how to load paper.
[0044] The calibration instruction unit 209 acquires detailed setting information from the shared information 210, and if calibration is set, sends a calibration instruction to the printing device 102. The calibration instruction unit 209 also acquires capability information of the printing device 102 from the shared information 210 and determines whether the printing device 102 has a gamma correction function. If the printing device 102 has a gamma correction function, the calibration instruction unit 209 receives a calibration completion notification from the printing device 102 as soon as the calibration operation of the printing device 102 is completed, and ends the processing.
[0045] In response to this, if the printing device 102 does not have a gamma correction function, the calibration instruction unit 209 acquires the gamma coefficients from the printing device 102 and stores the acquired gamma coefficients in the shared information 210. Specifically, when the printing device 102 receives a calibration instruction, it outputs a density patch such as that shown in FIG. 4, reads the output density patch, and creates a gamma coefficient that makes the patch output result (solid line 502) the target value (dashed line 501). If the printing device 102 does not have a gamma correction function, the created gamma coefficient is sent by the printing device 102 to the extension application 204 and stored in the shared information 210.
[0046] Note that once the extended application 204 has sent print data to the printing device 102, it cannot display on the screen any guides or other information associated with the print data while each unit is processing. The configuration of the extended application 204 is not limited to having all of the above-described functions (units), but may include only some of the functions or other functions. The extended application 204 is sometimes simply referred to as printing software.
[0047] As described above, the extension application 204 can be said to have at least one of the following functions. The first is a function to display a settings screen (print setting screen extension unit 205). The second is a function to edit intermediate data, convert it to print data, and add detailed settings to the print data (intermediate data editing unit 207). The third is a function to extend the functions that can be specified in the print data generation software (print function extension unit 206). The fourth is a function to display a screen in response to the occurrence of an error in the printing device 102 (notification unit 208).
[0048] [Print settings screen and advanced settings screen] Next, examples of the print setting screen and the detailed setting screen will be described with reference to FIG. 6. FIG. 6(a) is a diagram showing the print setting screen displayed by the drawing application 201. FIG. 6(b) is a diagram showing the detailed setting screen displayed in the configuration shown in FIG. 2(a), i.e., in the configuration without the extended application 204. FIG. 6(c) is a diagram showing the detailed setting screen displayed in the configuration shown in FIG. 2(b), i.e., in the configuration with the extended application 204. Note that the units and modules that display the print setting screen are not limited to those described above. For example, the print setting screen extension unit 205 may be configured to only generate a display screen. In this case, the print setting screen extension unit 205 transmits the generated display screen to the drawing application 201 via the general-purpose printing software 202. The drawing application 201 displays the display screen obtained in this manner.
[0049] [Print settings screen] First, the print setting screen shown in Fig. 6(a) will be described. Control 601 allows the user to set the printer to be used for printing (i.e., the printing device), the print orientation, and the number of copies to be printed. Control 602 is a preview screen, control 603 is a button to start printing, and control 604 is a button to cancel printing. Control 605 is a detailed settings button. When control 605 is selected, an additional detailed settings screen is displayed by the general-purpose printing software 202 or the print setting screen extension unit 205.
[0050] [Detailed settings screen shown in Figure 6(b)] Next, the detailed settings screen shown in FIG. 6(b) will be described. FIG. 6(b) is an additional detailed settings screen displayed by the general-purpose printing software 202 when the extension application 204 is not present. Control 606 allows the user to set the paper type, and FIG. 6(b) shows that "plain paper" is set. Control 607 allows the user to set the paper size, and FIG. 6(b) shows that "A4" is set. Control 608 allows the user to set the paper feed slot, and FIG. 6(b) shows that "automatic" is set. Control 609 is a button for ending the settings. When control 609 is selected with the pointing device 119 or the like, the detailed settings screen shown in FIG. 6(b) returns to the print settings screen shown in FIG. 6(a).
[0051] [Detailed settings screen shown in Figure 6(c)] Next, the detailed settings screen shown in Fig. 6(c) will be described. Fig. 6(c) is an additional detailed settings screen displayed by the print setting screen extension unit 205 when the extension application 204 is present. The detailed settings screen in Fig. 6(c) is a screen in which a check box 610 has been added to the detailed settings screen in Fig. 6(b). The check box 610 is a button that allows the user to set calibration, and Fig. 6(c) indicates that calibration has been set.
[0052] Here, the reason why the print setting items differ between the detailed setting screens of FIGS. 6(b) and 6(c) will be explained. The detailed setting screen is generated by referring to a PC generated based on the print function information and setting screen display information indicating whether each function should be displayed on the screen, as shown in FIG. 8 (described later). However, since the general-purpose printing software 202 does not support a calibration function, it cannot add a calibration function to the print function information. Furthermore, even if the print function information originally includes a calibration function, the general-purpose printing software 202 cannot interpret the calibration function included in the print function information. Therefore, the general-purpose printing software 202 cannot display a check box 610 that allows calibration settings on the detailed setting screen. In contrast, when the extension application 204 is present, the print function extension unit 206 adds a calibration function to the PDC 203, and the print setting screen extension unit 205 displays the detailed setting screen by referring to the PC and the setting screen display information. With this configuration, the extension application 204 can display a check box 610 that allows calibration settings on the detailed setting screen.
[0053] [PDC editing process flow] The editing process flow of the PDC 203 performed by the print function extension unit 206 of the extension application 204 will now be described with reference to the flowchart shown in FIG. 7. Each step of the flowchart shown in FIG. 7 is implemented by the CPU 111 starting the extension application 204 in the host computer 101. First, in step S701, the CPU 111 acquires capability information from the printing device 102 using the print function extension unit 206. The capability information is attribute information indicating functions that can be specified on the printing device 102 and setting values associated with the attribute information, which is included in a response acquired by issuing an IPP Get-Printer-Attributes operation to the printing device 102. FIG. 8 is a diagram showing an example of a list of capability information acquired from the printing device 102 in the form of a table. Table 801 shown in FIG. 8(a) is an example of a list of capability information when the printing device 102 has a gamma correction function. Table 802 shown in FIG. 8(b) is an example of a list of capability information when the printing device 102 does not have a gamma correction function. The capability information of the printing device 102 is stored in the shared information 210 .
[0054] Returning to the description of FIG. 7 , next, in step S702, the CPU 111 causes the print function extension unit 206 to obtain a list of print functions supported by the extension application 204 from the shared information 210. The list of print functions supported by the extension application 204 contains all print functions that the extension application 204 can process and their setting values, and is stored in the shared information 210. Table 901 shown in FIG. 9 is an example of the list of print functions supported by the extension application 204. The list of print functions supported by the extension application 204 may be updated by updating the extension application 204, for example. As shown in FIG. 9 , the list of print functions supported by the extension application 204 also includes setting screen display information. The setting screen display information is referenced by the print setting screen extension unit 205 and is information indicating whether a function should be displayed on the advanced setting screen of FIG. 6C. The reason gamma correction is not displayed on the advanced setting screen is that gamma correction is a function that constantly corrects an image using a gamma coefficient created by a calibration function, unlike a function that switches settings such as paper size.
[0055] Returning to the explanation of Figure 7, next, in step S703, the CPU 111 causes the print function extension unit 206 to acquire from the OS the PDC 203 generated by the general-purpose printing software 202. Table 1001 shown in Figure 10 is an example of a list of printing functions supported by the general-purpose printing software 202. The PDC 203 generated by the general-purpose printing software 202 is generated based on Tables 801 and 802, which are lists of capability information acquired by the general-purpose printing software 202 from the printing device 102. The PDC 203 generated by the general-purpose printing software 202 lists only the printing functions supported by the general-purpose printing software 202 from the capability information acquired from the printing device 102, and therefore the printing functions of the PDC 203 are limited.
[0056] For example, table 901, which is a list of printing functions supported by the extension application 204, includes options for paper size such as "7x10 inches" and "Western size 6." However, the general-purpose printing software 202 does not support these paper size options, and these paper size options are not recorded in the PDC 203. Therefore, the print function extension unit 206 adds functions and options to the PDC 203, allowing the extension application 204 to compensate for the lack of functions in the general-purpose printing software 202. The print function extension unit 206 can also delete unnecessary functions and options from the PDC 203 generated by the general-purpose printing software 202.
[0057] Returning to the explanation of Figure 7, the following steps S704, S705, and S706 are processes that are repeatedly performed for the list of functions and options included in the capability information acquired from the printing device 102 in step S701. In other words, steps S704, S705, and S706 are processes that are repeatedly performed for the lists of functions and options in tables 801 and 802. First, in step S704, the CPU 111 determines whether the function and option being processed by the print function extension unit 206 exists in the PDC 203 generated by the general-purpose printing software 202.
[0058] If the CPU 111 determines that the function / option being processed by the print function extension unit 206 exists in the PDC 203 generated by the general-purpose printing software 202, the process returns to step S704. At that time, the CPU 111 selects the next item from the function / options included in the capability information acquired from the printing device 102 by the print function extension unit 206, and performs step S704 again. However, if the CPU 111 is processing the last item from the function / options included in the capability information acquired from the printing device 102 by the print function extension unit 206, the process ends the flowchart shown in FIG. 7. On the other hand, if the CPU 111 determines that the function / option being processed by the print function extension unit 206 does not exist in the PDC 203 generated by the general-purpose printing software 202, the process proceeds to step S705.
[0059] Specifically, for example, "Paper size: A4" shown in table 801, which is a list of capability information for the printing device 102, also exists in table 1001, which is a list of capability information for the general-purpose printing software 202. In this case, the CPU 111 determines that the function / option being processed by the print function extension unit 206 exists in the PDC 203 generated by the general-purpose printing software 202. In contrast, "Calibration: Yes" shown in table 801, which is a list of capability information for the printing device 102, does not exist in table 1001, which is a list of capability information for the general-purpose printing software 202. In this case, the CPU 111 determines that the function / option being processed by the print function extension unit 206 does not exist in the PDC 203 generated by the general-purpose printing software 202. As a result, the process proceeds to step S705.
[0060] Next, in step S705, the CPU 111 determines whether or not there is a function / option currently being processed among the function / options supported by the extension application 204 via the print function extension unit 206. If the CPU 111 determines that there is a function / option currently being processed among the function / options supported by the extension application 204 via the print function extension unit 206, the process proceeds to step S706.
[0061] On the other hand, if the CPU 111 determines that the print function extension unit 206 is not processing any function options supported by the extension application 204, the process returns to step S704. At this time, the CPU 111 selects the next item from the function options included in the capability information acquired from the printing device 102 using the print function extension unit 206, and performs step S704 again. However, if the print function extension unit 206 is processing the last item from the function options included in the capability information acquired from the printing device 102, the CPU 111 ends the flowchart shown in FIG.
[0062] Specifically, for example, if the function / option being processed is "Calibrate: Yes," it also exists in table 901, which is a list of capability information for the extension application 204. In this case, the CPU 111 determines, via the print function extension unit 206, that the function / option being processed exists among the functions / options supported by the extension application 204. As a result, the process proceeds to step S706.
[0063] Next, in step S706, the CPU 111 adds the function / option being processed to the PDC 203 using the print function expansion unit 206. Then, the process returns to step S704. At this time, the CPU 111 selects the next item from the function / option included in the capability information acquired from the printing device 102 using the print function expansion unit 206, and performs step S704 again. However, if the CPU 111 is currently processing the last item from the function / option included in the capability information acquired from the printing device 102 using the print function expansion unit 206, the CPU 111 ends the flowchart shown in FIG.
[0064] In this way, the CPU 111 uses the print function extension unit 206 to add to the PDC 203 functions and options that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are supported by the extension application 204. Specifically, if the list of capability information for the printing device 102 is table 801, three options, "calibration: on," "calibration: off," and "gamma correction," are added to the PDC 203. In contrast, if the list of capability information for the printing device 102 is table 802, two options, "calibration: on" and "calibration: off," are added to the PDC 203, but "gamma correction" is not added.
[0065] A PC is generated based on the PDC 203 edited by this editing process flow. Furthermore, the print setting screen expansion unit 205 generates a display screen based on the generated PC and setting screen display information. This adds functions not supported by the general-purpose printing software 202 and selects options to be displayed, making it possible to display the detailed setting screen shown in Figure 6(c).
[0066] [Sequence after the drawing application accepts print settings] Next, the sequences of the drawing application 201, the general-purpose printing software 202, the extension application 204, and the printing device 102 after the drawing application 201 accepts print settings will be described with reference to FIGS. 11A and 11B. The sequence (method) in FIG. 11A is a sequence when the list of capability information of the printing device 102 is Table 801. The sequence (method) in FIG. 11B is a sequence when the list of capability information of the printing device 102 is Table 802. Each step other than that for the printing device 102 in FIGS. 11A and 11B is realized by the CPU 111 (computer) in the host computer 101 starting the drawing application 201, the general-purpose printing software 202, and the extension application 204 (program). Meanwhile, each step for the printing device 102 in FIGS. 11A and 11B is realized by the ASIC 135 in the printing device 102, but may also be realized by the CPU 131 reading a program stored in ROM 132 into RAM 133 and executing it. The sequences of FIGS. 11A and 11B are based on the assumption that the software configuration of the printing system is the configuration of FIG. 2(b).
[0067] The sequence of FIG. 11A, that is, the sequence when the list of capability information of the printing device 102 is table 801, will be described. First, in step S1101, the CPU 111 of the host computer 101 accepts print settings by the user through the drawing application 201. The user can instruct the drawing application 201 to make print settings by operating the keyboard 118 or pointing device 119. Next, in step S1102, the CPU 111 displays the print setting screen of FIG. 6A on the display unit 120 through the drawing application 201. Subsequently, in step S1103, the CPU 111 accepts a detailed setting instruction through the drawing application 201. The user can make a detailed setting instruction by operating the pointing device 119 or the like to select a control 605.
[0068] Next, in step S1104, the CPU 111 uses the drawing application 201 to request the general-purpose printing software 202 to display detailed settings. Subsequently, in step S1105, the CPU 111 uses the general-purpose printing software 202 to request the extension application 204 to display detailed settings. Note that, contrary to the assumption, if the software configuration of the printing system is the configuration of FIG. 2(a), as described above, the general-purpose printing software 202 displays the detailed settings screen of FIG. 6(b) on the display unit 120. Next, in step S1106, the CPU 111 uses the print setting screen extension unit 205 of the extension application 204 to display the detailed settings screen of FIG. 6(c) on the display unit 120. Note that, as described in the description of FIG. 6, a calibration function has been added to the PDC 203 by the print function extension unit 206. Therefore, in step S1106, the print setting screen expansion unit 205 displays the detailed setting screen of Figure 6(c) on the display unit 120 by referring to the PC generated based on the added PDC 203 and the setting screen display information of Figure 9.
[0069] Next, in step S1107, the CPU 111 (accepting means) accepts the detailed settings through the print setting screen expansion unit 205 (accepting step). In the case of the detailed settings screen of FIG. 6(c), the print setting screen expansion unit 205 accepts that the user has set "Paper type: Plain paper," "Paper size: A4," "Paper feed slot: Automatic," and "Calibration: Yes." Next, in step S1108, the CPU 111 accepts an instruction to end the detailed settings through the print setting screen expansion unit 205. The user can instruct the end of the detailed settings by operating the pointing device 119 or the like to select the control 609. Note that, when the detailed settings are ended, the print setting screen expansion unit 205 saves the detailed setting information in the shared information 210. Furthermore, the print setting screen expansion unit 205 closes the detailed settings screen of FIG. 6(c) on the display unit 120. As a result, the display unit 120 returns to displaying the print setting screen of FIG. 6(a).
[0070] Next, in step S1109, the CPU 111 sends a detailed setting completion command to the general-purpose printing software 202 using the extension application 204. Next, in step S1110, the CPU 111 sends a detailed setting completion command to the drawing application 201 using the general-purpose printing software 202. Next, in step S1111, the CPU 111 receives a print instruction using the drawing application 201. The user can issue a print instruction by operating the pointing device 119 or the like to select the control 603. Next, in step S1112, the CPU 111 issues a print instruction to the general-purpose printing software 202 using the drawing application 201.
[0071] Next, in step S1113, the CPU 111 generates intermediate data using the general-purpose printing software 202. At this time, the general-purpose printing software 202 uses an OS module. Next, in step S1114, the CPU 111 stores the PT included in the intermediate data in the shared information 210 using the general-purpose printing software 202. Next, in step S1115, the CPU 111 passes the drawing data included in the intermediate data to the extension application 204 using the general-purpose printing software 202. Next, in step S1116, the CPU 111 acquires the PT stored in step S1114 and the detailed setting information stored in step S1108 from the shared information 210 using the calibration instruction unit 209 of the extension application 204.
[0072] Next, in step S1117, the CPU 111 (instruction means) issues a calibration instruction to the printing device 102 via the calibration instruction unit 209 (instruction step). Next, in step S1118, the ASIC 135 of the printing device 102 executes calibration. Note that the calibration is executed according to the calibration processing flow of FIG. 3. Next, in step S1119, the ASIC 135 of the printing device 102 transmits a calibration completion notification to the calibration instruction unit 209 of the extension application 204. As a result, the CPU 111 of the host computer 101 receives the calibration completion notification from the calibration instruction unit 209 of the extension application 204.
[0073] Next, in step S1120, the CPU 111 (first acquisition means) acquires the capability information of the printing device 102 from the shared information 210 using the intermediate data editing unit 207 of the extension application 204 (first acquisition step). Subsequently, in step S1121, the CPU 111 determines, using the intermediate data editing unit 207, whether the printing device 102 has a module that uses the calibration results. Note that in the first embodiment, the CPU 111 (determination means) determines, using the intermediate data editing unit 207, whether the printing device 102 has a gamma correction function from the capability information of the printing device 102 (determination step). In this regard, the sequence of FIG. 11A is a sequence when the list of capability information of the printing device 102 is Table 801, as described above. Therefore, in step S1121, the CPU 111 determines, using the intermediate data editing unit 207, from the capability information of the printing device 102 that the printing device 102 has a gamma correction function. Next, in step S1122, CPU 111 (first generation means) converts the intermediate data into print data without gamma correction using intermediate data editing unit 207. This generates print data (first generation step). Subsequently, in step S1123, CPU 111 (first transmission means) (second transmission means) transmits the print data to printing device 102 using intermediate data editing unit 207 (first transmission step) (second transmission step).
[0074] Next, in step S1124, the ASIC 135 of the printing device 102 interprets the print data and performs the necessary image processing on the image in the print data. For example, if the detailed settings shown in FIG. 6(c) have been configured, the ASIC 135 of the printing device 102 performs gamma correction using the gamma coefficients created by the calibration in step S1118, and screen processing. Next, in step S1125, the ASIC 135 of the printing device 102 prints the image data generated by the image processing in step S1124. Note that because gamma correction has been performed in step S1124, the gradation of the printed matter is closer to the target than when gamma correction is not performed. This concludes the description of the sequence when the list of capability information for the printing device 102 is Table 801, i.e., the sequence when the printing device 102 has a gamma correction function.
[0075] Next, the sequence of FIG. 11B, that is, the sequence when the list of capability information of the printing device 102 is Table 802, will be described. In FIG. 11B and FIG. 11A, steps with the same reference numerals represent the same processing, and therefore their description will be omitted. In step S1126, the CPU 111 of the host computer 101 determines, via the intermediate data editing unit 207 of the extension application 204, whether the printing device 102 has a module that uses the calibration results. Note that in the first embodiment, the CPU 111 (determination means) determines, via the intermediate data editing unit 207, from the capability information of the printing device 102, whether the printing device 102 has a gamma correction function (determination step). In this regard, the sequence of FIG. 11B is a sequence when the list of capability information of the printing device 102 is Table 802, as described above. Therefore, in step S1126, the CPU 111 determines, via the intermediate data editing unit 207, from the capability information of the printing device 102, that the printing device 102 does not have a gamma correction function.
[0076] Next, in step S1127, the CPU 111 requests the calibration result (gamma coefficient) from the printing device 102 via the intermediate data editing unit 207. Next, in step S1128, the ASIC 135 of the printing device 102 transmits the calibration result (gamma coefficient) to the intermediate data editing unit 207 of the extension application 204. As a result, the CPU 111 (second acquisition means) of the host computer 101 acquires the calibration result (gamma coefficient) via the intermediate data editing unit 207 of the extension application 204 (second acquisition step). Next, in step S1129, the CPU 111 (correction means) gamma corrects the intermediate data using the calibration result (gamma coefficient) via the intermediate data editing unit 207 (correction step). Next, in step S1130, the CPU 111 (second generation means) generates print data based on the gamma-corrected intermediate data via the intermediate data editing unit 207 (second generation step). The above is a description of the sequence when the list of capability information of the printing device 102 is table 802, that is, the sequence when the printing device 102 does not have a gamma correction function.
[0077] 11A and 11B, focusing on the extended application 204. The extended application 204 performs the process of step S1119 using its calibration instruction unit 209. The extended application 204 performs the process of step S1120 using its intermediate data editing unit 207. Furthermore, the extended application 204 performs the determination process of step S1121 or step S1126 using its intermediate data editing unit 207.
[0078] At this time, if the extended application 204 determines, using its intermediate data editing unit 207, from the capability information of the printing device 102, that the printing device 102 has a gamma correction function, it performs the processes of steps S1122 and S1123. On the other hand, if the extended application 204 determines, using its intermediate data editing unit 207, from the capability information of the printing device 102, that the printing device 102 does not have a gamma correction function, it performs the processes of steps S1127 to S1130.
[0079] [summary] As described above, the CPU 111 of the host computer 101 issues a calibration instruction to the printing device 102 using the calibration instruction unit 209 of the extension application 204. Furthermore, if the printing device 102 has a gamma function, the CPU 111 converts the intermediate data into print data without gamma correction using the intermediate data editing unit 207 of the extension application 204, and transmits the print data to the printing device 102. On the other hand, if the printing device 102 does not have a gamma correction function, the CPU 111 acquires a gamma coefficient from the printing device 102 using the intermediate data editing unit 207. Furthermore, the CPU 111 converts the gamma-corrected intermediate data into print data using the acquired gamma coefficient using the intermediate data editing unit 207, and transmits the print data to the printing device 102.
[0080] Through the above series of processes, it becomes possible to improve the correction performance based on the calibration results with the extension application 204 that extends the functions of the general-purpose printing software 202 that can be commonly used among printing devices provided by multiple vendors. Furthermore, even if the printing device 102 does not have a function that uses the calibration results, it is possible to provide the user with the calibration function without increasing the cost of the printing device 102. In other words, if the printing device 102 supported by the general-purpose printing software 202 has a function that uses the calibration results, the extension application 204 improves the performance of correction based on the results, and is able to perform the correction even if the function does not exist.
[0081] [others] 11A and 11B are sequences in which a calibration instruction is issued, but if the check box 610 is not checked, non-execution information indicating that calibration will not be performed will be included in the detailed setting information. In this case, when the CPU 111 of the host computer 101 detects the non-execution information from the detailed setting information acquired in step S1116 by the calibration instruction unit 209 of the extension application 204, the CPU 111 of the host computer 101 does not perform the process of step S1117.
[0082] In the first embodiment, the detailed setting screen of FIG. 6(c) is displayed on the display unit 120 under the assumption that the software configuration of the printing system is the configuration of FIG. 2(b), but the present invention is not limited to this. For example, when a request to display detailed settings is made in step S1104, the CPU 111 of the host computer 101 may cause the general-purpose printing software 202 to display the detailed setting screen of FIG. 6(b) on the display unit 120. In this case, after completing detailed settings on the detailed setting screen of FIG. 6(b), the CPU 111 requests the extension application 204, via the general-purpose printing software 202, to display an additional detailed setting screen. Furthermore, the CPU 111 causes the print setting screen extension unit 205 of the extension application 204 to additionally display the detailed setting screen of FIG. 6(c), which allows calibration settings.
[0083] Furthermore, in the first embodiment, the CPU 111 of the host computer 101 generates print data using the intermediate data editing unit 207 of the extension application 204 based on the intermediate data generated by the general-purpose printing software 202. However, the CPU 111 may generate intermediate data using the intermediate data editing unit 207 itself, and then generate print data based on the generated intermediate data.
[0084] Second Embodiment The second embodiment will be described below with reference to Figs. 12 to 16. In the first embodiment, first, a user sets calibration and issues a print instruction. Next, the CPU 111 of the host computer 101 uses the extended application 204 to send a calibration instruction to the printing device 102, causing the printing device 102 to execute calibration. Next, the CPU 111 uses the extended application 204 to switch processing depending on the capability information of the printing device 102.
[0085] Specifically, if the printing device 102 has a gamma correction function, the CPU 111 uses the extension application 204 to convert the intermediate data into print data without correction, and transmits the print data to the printing device 102, causing the printing device 102 to perform gamma correction. On the other hand, if the printing device 102 does not have a gamma correction function, the CPU 111 uses the extension application 204 to perform gamma correction on the intermediate data using a gamma coefficient acquired from the printing device 102. Furthermore, the CPU 111 uses the extension application 204 to transmit print data generated based on the gamma-corrected intermediate data to the printing device 102.
[0086] In the first embodiment, a calibration instruction is issued only when the user has configured the calibration settings as described above. However, there are cases where it is preferable to perform calibration even when the user has not configured the calibration settings. For example, this occurs when the halftone (screen) option is changed. If the halftone option is changed and the screen ruling changes, the density of the halftone dots changes, resulting in differences in dot reproducibility and causing the gamma characteristics to no longer match. As a result, it may be impossible to reuse the gamma coefficients of the screen before the change. Therefore, when the halftone option is changed, it is preferable that the calibration settings be automatically configured, gamma coefficients corresponding to the changed halftone option are created, and gamma correction is performed using those gamma coefficients.
[0087] Therefore, in the second embodiment, the extension application first determines whether the halftones have been changed from the default settings. If the halftones have been changed from the default settings, the extension application sends a calibration instruction to the printing device. This makes it possible to provide the user with printed materials in which the printing device's unique characteristics have been corrected, even when the print settings require calibration when printing using a standard driver, but calibration settings have not been configured. Additionally, as in the first embodiment, the extension application can switch whether to perform gamma correction on the intermediate data based on the printing device's capability information, thereby improving correction performance. Furthermore, even if the printing device does not have a gamma correction function, it is possible to provide the user with a calibration function.
[0088] The following description of the second embodiment will focus only on the differences from the first embodiment. Also, in Figures 12 to 16, the configurations and processes with the same reference numerals as those in the first embodiment have already been described in the first embodiment, and therefore will not be described again. The second embodiment differs from the first embodiment in five points: the software configuration of the printing system, the capability information of the printing device, the printing function of the extension application, the detailed settings screen, and the sequence after the drawing application accepts the print settings.
[0089] [Printing system software configuration] 12 is a diagram showing the software configuration of a printing system when an extension application 1201 is associated with general-purpose printing software 202 and a printing device 1202. The printing device 1202 can switch between halftone processing using a high screen frequency and halftone processing using a low screen frequency. The extension application 1201 also has a print setting screen extension unit 205, a print function extension unit 206, a notification unit 208, shared information 210, a calibration instruction unit 1203, and an intermediate data editing unit 1204.
[0090] The calibration instruction unit 1203 determines whether the halftones have been changed from the default settings, and if the halftones have been changed from the default settings, issues a calibration instruction to the printing device 1202. The intermediate data editing unit 1204 references the detailed setting information and generates print data from the intermediate data based on the set halftone options. This allows halftones not available in the standard driver to be reflected in the print data, and the printing device 1202 can perform image processing using the set halftone options. The hardware configuration of the printing device 1202 is the same as that of the printing device 102 in the first embodiment.
[0091] [Printing device capabilities information] The capability information of the printing device 1202 will be described with reference to FIG. 13. FIG. 13 is a diagram showing an example of a list of capability information acquired from the printing device 1202 in the form of a table. Table 1301 shown in FIG. 13(a) is an example of a list of capability information when the printing device 1202 has a gamma correction function. Table 1302 shown in FIG. 13(b) is an example of a list of capability information when the printing device 1202 does not have a gamma correction function. Note that the capability information of the printing device 1202 is saved in the shared information 210. Tables 1301 and 1302 are tables in which a halftone function and default information have been added to Tables 801 and 802 of the first embodiment.
[0092] The default information indicates the option that is initially set for each function when the print setting screen or the detailed setting screen is displayed on the display unit 120. For example, table 1301 indicates that "off" is the default for the calibration function. It is preferable that calibration not be performed every time printing is performed unless a print instruction is issued that changes the inherent characteristics of the printing device 1202. The reason for this is that, as explained with reference to the processing flow in FIG. 3, calibration requires various processes such as outputting and reading the density pattern 401 and creating gamma coefficients, which results in extra time being required before actual printing.
[0093] [Extended application printing functions] A list of printing functions supported by the extension application 1201 will be described with reference to FIG. 14. Table 1401 shown in FIG. 14 is an example of a list of printing functions supported by the extension application 1201. As shown in Table 1401, by associating the halftone function with the extension application 1201, the halftone function is added to the PDC 203 by the editing processing flow of FIG. 7. This makes it possible to display the halftone function on the detailed setting screen. Furthermore, by generating print data in which halftones are reflected in the intermediate data generated by the general-purpose printing software 202, the printing device 1202 can perform image processing using the set halftone option.
[0094] [Print settings screen and advanced settings screen] Next, examples of the print setting screen and the advanced setting screen will be described with reference to FIG. 15. FIG. 15(a) is similar to FIG. 6(a) and illustrates a print setting screen displayed by the drawing application 201. FIG. 15(b) illustrates a detailed setting screen displayed by the extension application 1201. The detailed setting screen of FIG. 15(b) is a screen in which a control 1501 and a list 1502 for halftones have been added to the detailed setting screen of FIG. 6(c). In the detailed setting screen of FIG. 15(b), the control 1501 indicates that a low screen frequency has been set for the halftone option, which has been changed from the default setting. Furthermore, the list 1502 is displayed when the user selects the control 1501 with the pointing device 119 or the like, and indicates other options that can be set for halftones. Furthermore, the check box 610 is unchecked, indicating that calibration has not been set by the user.
[0095] [Sequence after the drawing application accepts print settings] Next, the sequence of the drawing application 201, the general-purpose printing software 202, the extension application 1201, and the printing device 1202 after the drawing application 201 accepts the print settings will be described with reference to FIG. 16. The sequence (method) in FIG. 16 is a sequence when the list of capability information of the printing device 1202 is Table 1301, and the print settings and detailed settings shown in FIG. 15 are configured. Each step other than that of the printing device 1202 in FIG. 16 is realized by the CPU 111 in the host computer 101 starting the drawing application 201, the general-purpose printing software 202, and the extension application 1201 (program). Meanwhile, each step of the printing device 1202 in FIG. 16 is realized by the ASIC 135 in the printing device 1202, but may also be realized by the CPU 131 reading a program stored in the ROM 132 into the RAM 133 and executing it.
[0096] The sequence in Fig. 16 is obtained by adding the processing of step S1601 to the sequence in Fig. 11. However, in step S1107, the CPU 111 of the host computer 101 receives the following detailed settings from the print setting screen expansion unit 205. In the case of the detailed setting screen in Fig. 15(b), the print setting screen expansion unit 205 receives the settings made by the user: "Paper type: plain paper," "Paper size: A4," "Paper feed slot: automatic," "Calibration: no," and "Halftone: low screen frequency."
[0097] In step S1601, the CPU 111 determines from the detailed setting information whether the halftones have been changed from the default setting by the calibration instruction unit 1203 of the extension application 1201. In this regard, the sequence in Fig. 16 is a sequence when the settings shown in Fig. 15 have been made as the print settings and detailed settings, as described above. When the settings shown in Fig. 15 have been made, the halftones have been changed from the default setting of high screen ruling to low screen ruling. Therefore, in step S1601, the CPU 111 determines from the detailed setting information that the calibration instruction unit 1203 has changed the halftones from the default setting.
[0098] However, as described above, the gamma characteristics in this case are likely to be inconsistent with those in the case of a high screen resolution. Therefore, in step S1117, even if the calibration instruction unit 1203 detects non-execution information indicating that calibration will not be performed from the detailed setting information, the CPU 111 issues a calibration instruction to the printing device 1202. The above is an explanation of the sequence when the list of capability information for the printing device 1202 is Table 1301 and the print settings and detailed settings shown in FIG. 15 are configured. Note that if the list of capability information for the printing device 1202 is Table 1302 and the printing device 1202 does not have a gamma correction function, the sequence up to step S1119 is the same as the sequence in FIG. 16, and step S1120 and thereafter are the same as the sequence in FIG. 11B.
[0099] [summary] Through the above series of processes, it becomes possible to improve the correction performance based on the calibration results with the extension application 1201 that extends the functions of the general-purpose printing software 202 that can be commonly used among printing devices provided by multiple vendors. Furthermore, even if the printing device 1202 does not have a function that uses the calibration results, it is possible to provide the user with the calibration function without increasing the cost of the printing device 1202. In other words, if the printing device 1202 supported by the general-purpose printing software 202 has a function that uses the calibration results, the extension application 1201 improves the performance of correction based on the results, and is able to perform the correction even if the function does not exist.
[0100] Furthermore, in the second embodiment, even when the detailed settings are configured to not perform calibration, a calibration instruction is issued when an option for a printing function that requires calibration is changed. Specifically, the check box 610 is not checked, and the detailed settings are configured to not perform calibration, but the option for halftones, a printing function that requires calibration, is changed, so a calibration instruction is issued. In this way, in the second embodiment, even when the detailed settings are configured to not perform calibration, it is possible to always provide the user with printed materials in which the characteristics unique to the printing device 1202 have been corrected. Furthermore, a calibration instruction is issued only when an option for a printing function that requires calibration is changed, and a calibration instruction is not issued every time printing is performed, thereby reducing unnecessary calibration instructions.
[0101] [others] In the second embodiment, the CPU 111 of the host computer 101 issues a calibration instruction when it determines that the halftone settings have been changed from the default settings by the calibration instruction unit 1203 of the extension application 1201. However, the CPU 111 may also use the calibration instruction unit 1203 to associate halftone options with gamma coefficients and store them in the printing device 1202, and issue a calibration instruction when the current halftone options differ from the stored options. Furthermore, even when the setting of an option for a function (e.g., paper type) that changes characteristics specific to the printing device 1202 other than halftones has been changed, the CPU 111 may also issue a calibration instruction by the calibration instruction unit 1203.
[0102] Third Embodiment The third embodiment will be described below with reference to FIGS. 17 to 22. In the first and second embodiments, the calibration of the printing device 102, 1202 was completed without the need for user operation. In this regard, there are multiple methods for calibration performed by the printing device. For example, as in the first and second embodiments, there is a calibration method in which density patches are output onto the intermediate transfer belt of the printing device or onto paper, and the density patches are read by a sensor inside the printing device. In such a method, no user operation is required.
[0103] Another calibration method involves printing density patches onto paper using a printing device, ejecting the paper, and then scanning the paper using a reader attached to the printing device to read the density patches. This method requires user operations, such as loading paper into the reader and issuing a scan command. When a user visits a printing device after issuing a print command, it is preferable that printing has already been completed and the user is ready to obtain the printed material. However, if a calibration that requires user operation is configured, the user must perform the calibration operation before obtaining the printed material, which is inconvenient. Furthermore, the user must perform the calibration operation, wait until the calibration is complete, and then obtain the printed material. This results in additional time being required before obtaining the printed material.
[0104] Therefore, in the third embodiment, the extension application determines whether a calibration requiring actual machine operation has been set. If a calibration requiring actual machine operation has been set, the extension application displays a warning screen prompting the user to change the setting to a calibration that does not require actual machine operation. As a result, if the user changes the setting to a calibration that does not require actual machine operation, the calibration function can be provided without requiring the user to take extra steps when printing using a standard driver. In addition, as in the first and second embodiments, the extension application can switch whether to perform gamma correction on intermediate data depending on the capability information of the printing device, thereby improving correction performance. Furthermore, even if the printing device does not have a gamma correction function, the calibration function can be provided to the user.
[0105] The following description of the third embodiment will focus only on the differences from the first embodiment. Also, in FIGS. 17 to 22, the configurations and processes with the same reference numerals as those in the first embodiment have already been described in the first embodiment, and therefore will not be described again. The third embodiment differs from the first embodiment in six points: the software configuration of the printing system, the capability information of the printing device, the print function of the extension application, the detailed settings screen, the sequence after the drawing application accepts the print settings, and the warning screen. Note that the third embodiment may be provided with the configuration related to halftones in the second embodiment, so that the processing related to halftones in the second embodiment can be performed.
[0106] [Printing system software configuration] FIG. 17 is a diagram showing the software configuration of a printing system when an extension application 1701 is associated with general-purpose printing software 202 and a printing device 1702. The printing device 1702 is equipped with multiple calibration methods. For example, the printing device 1702 is equipped with a calibration method that does not require user operation of the actual device, such as outputting density patches to an intermediate transfer belt and reading the output density patches with a sensor. The printing device 1702 is also equipped with a calibration method that allows a reader to read density patches output to paper through user operation of the actual device. Hereinafter, a calibration method that does not require user operation of the actual device will be referred to as "simple calibration," and a calibration that requires user operation of the actual device will be referred to as "detailed calibration."
[0107] The extension application 1701 also has a print setting screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, a notification unit 208, shared information 210, and a calibration instruction unit 1703. The calibration instruction unit 1703 displays a warning screen for the user when a calibration that requires the user to operate the actual device is set. Furthermore, on the warning screen, the user can change the calibration setting to one that does not require the user to operate the actual device, or acknowledge that a calibration that requires the user to operate the actual device has been set. The hardware configuration of the printing device 1702 is the same as that of the printing device 102 of the first embodiment.
[0108] [Printing device capabilities information] The capability information of the printing device 1702 will be described with reference to FIG. 18. FIG. 18 is a diagram showing an example of a list of capability information acquired from the printing device 1702 in the form of a table. Table 1801 shown in FIG. 18(a) is an example of a list of capability information when the printing device 1702 has a gamma correction function. Table 1802 shown in FIG. 18(b) is an example of a list of capability information when the printing device 1702 does not have a gamma correction function. Note that the capability information of the printing device 1702 is saved in the shared information 210. Tables 1801 and 1802 are tables 801 and 802 of the first embodiment, with the "do" calibration option replaced with "simple calibration" and "detailed calibration" options.
[0109] [Extended application printing functions] A list of print functions supported by the extension application 1701 will be described with reference to Fig. 19. Table 1901 shown in Fig. 19 is an example of a list of print functions supported by the extension application 1701. As shown in Table 1901, by associating the extension application 1701 with simple calibration and detailed calibration options, the calibration function is added to the PDC 203 by the editing process flow in Fig. 7. This makes it possible to display the calibration function on the detailed settings screen.
[0110] [Print settings screen and advanced settings screen] Next, examples of the print setting screen and the advanced setting screen will be described with reference to FIG. 20. FIG. 20(a) is similar to FIG. 6(a) and shows a print setting screen displayed by the drawing application 201. FIG. 20(b) shows a detailed setting screen displayed by the extension application 1701. The detailed setting screen of FIG. 20(b) is a screen in which a control 2001 and a list 2002 for calibration are provided instead of the check box 610 in the detailed setting screen of FIG. 6(c). In the detailed setting screen of FIG. 20(b), the control 2001 indicates that advanced calibration is set as a calibration option. Furthermore, the list 2002 is displayed when the user selects the control 2001 with the pointing device 119 or the like, and shows other options that can be set for calibration.
[0111] [Sequence after the drawing application accepts print settings] Next, the sequences of the drawing application 201, general-purpose printing software 202, extension application 1701, and printing device 1702 after the drawing application 201 accepts print settings will be described using Figures 21A and 21B. The sequence (method) in Figure 21A is a sequence when the list of capability information of the printing device 1702 is Table 1801, calibration is set using the detailed calibration option, and the "YES" button is selected on the warning screen described below. The sequence (method) in Figure 21B is a sequence when the list of capability information of the printing device 1702 is Table 1801, calibration is set using the detailed calibration option, and the "NO" button is selected on the warning screen described below.
[0112] 21A and 21B are realized by the CPU 111 starting the drawing application 201, the general-purpose printing software 202, and the extension application 1701 (program) in the host computer 101. On the other hand, the steps of the printing device 1702 in Fig. 21A and 21B are realized by the ASIC 135 in the printing device 1702, but may also be realized by the CPU 131 reading a program stored in the ROM 132 into the RAM 133 and executing it.
[0113] 21A is obtained by adding the processes of steps S2101 and S2102 to the sequence of FIG. 11A. In step S2101, the CPU 111 of the host computer 101 determines from the detailed setting information whether the calibration instruction unit 1703 of the extension application 1701 has set a calibration option that requires actual machine operation. In this regard, the sequence of FIG. 21A is a sequence for when calibration is set as a detailed calibration option, as described above. Therefore, in step S2101, the CPU 111 determines that the calibration instruction unit 1703 has set a calibration option that requires actual machine operation. Next, in step S2102, the CPU 111 causes the calibration instruction unit 1703 to display a warning screen on the display unit 120.
[0114] The warning screen will be described below with reference to FIG. 22. FIG. 22 is a diagram showing an example of a warning screen 2201 displayed on the display unit 120. The warning screen 2201 displays a message indicating that the user must operate the actual device before printing. Furthermore, the warning screen 2201 has a control 2202 (first control) and a control 2203 (second control). The control 2202 is a "YES" button that allows the user to change the calibration option to simple calibration, which does not require the user to operate the actual device. The control 2203 is a "NO" button that allows the user to acknowledge that the calibration option is set to detailed calibration, which requires the user to operate the actual device.
[0115] 21A is the sequence when control 2202 (the "YES" button) is selected on warning screen 2201, as described above. Therefore, in the sequence of FIG. 21A, the processes from step S1117 onwards are performed in the same manner as in the sequence of FIG. 11A. The above is an explanation of the sequence when the list of capability information of printing device 1702 is table 1801, calibration is set using the detailed calibration option, and control 2202 (the "YES" button) is selected on warning screen 2201. When the list of capability information of printing device 1702 is table 1802, the sequence up to step S1119 is the same as in FIG. 21A, and step S1120 and thereafter are the same as in the sequence of FIG. 11B.
[0116] The sequence of FIG. 21B is obtained by adding the processes of steps S2101 and S2102 to the sequence of FIG. 11A, and further by replacing the process of step S1118 with the processes of steps S2103 to S2106. Explanation of steps S2101 and S2102 has already been given in the explanation of the sequence of FIG. 21A, so will not be given here. Note that, as described above, the sequence of FIG. 21B is the sequence when control 2203 (the "NO" button) is selected on warning screen 2201. Therefore, in the sequence of FIG. 21B, the processes of steps S2103 to S2106 are performed instead of the process of step S1118 in the sequence of FIG. 21A.
[0117] In step S2103, the ASIC 135 of the printing device 1702 outputs density patches. As a result, the density patches are printed on paper. Next, in step S2104, the ASIC 135 of the printing device 1702 accepts a calibration operation by the user. A calibration operation by the user may involve the user placing paper on which density patches are printed in a reader, or the user issuing an instruction to scan the paper with the reader. Next, in step S2105, the ASIC 135 of the printing device 1702 scans the paper with the reader and reads the density patches. Next, in step S2106, the ASIC 135 of the printing device 1702 creates gamma coefficients that match the target values. Thereafter, in the sequence of FIG. 21B, the processes from step S1119 onwards are performed in the same manner as in the sequence of FIG. 21A. The above is an explanation of the sequence when the list of capability information of printing device 1702 is table 1801, calibration is set using the detailed calibration option, and control 2203 (the "NO" button) is selected on warning screen 2201. Note that when the list of capability information of printing device 1702 is table 1802, the sequence up to step S1119 is the same as the sequence in Fig. 21B, and step S1120 and thereafter are the same as the sequence in Fig. 11B.
[0118] [summary] Through the above series of processes, it becomes possible to improve the correction performance based on the calibration results with the extension application 1701 that extends the functions of the general-purpose printing software 202 that can be commonly used among printing devices provided by multiple vendors. Furthermore, even if the printing device 1702 does not have a function that uses the calibration results, it is possible to provide the user with the calibration function without increasing the cost of the printing device 1702. In other words, if the printing device 1702 supported by the general-purpose printing software 202 has a function that uses the calibration results, the extension application 1701 improves the performance of correction based on the results, and is able to perform the correction even if the function does not exist.
[0119] Furthermore, in the third embodiment, when a calibration option that requires the user to operate the actual device is set, the user is warned by a warning screen 2201 and is prompted to change the setting to a calibration option that does not require the user to operate the actual device. As a result, when the setting is changed to a calibration that does not require the user to operate the actual device, it is possible to provide a calibration function that does not require the user to take extra effort when printing using a standard driver.
[0120] <Other> Although preferred embodiments of the present invention have been described above, the present invention is not limited to the above embodiments and various modifications and variations are possible within the scope of the present invention. The present invention can also be realized by supplying a program that realizes one or more functions of the above embodiments to a system or device via a network or storage medium, and having one or more processors in the computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., an ASIC) that realizes one or more functions.
[0121] The disclosure of each embodiment includes the following program, storage medium, method, and apparatus. (Program 1) A computer of an information processing device that executes general-purpose printing software capable of generating print data that can be printed on multiple printing devices provided by different vendors. causing the information processing device to accept settings related to calibration; causing the information processing device to instruct a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration; causing the information processing device to acquire capability information of the printing device; causing the information processing device to determine whether the printing device has a module that uses the calibration result based on capability information of the printing device; When the printing device has a module that uses the results of the calibration, the information processing device generates print data based on the intermediate data generated by the general-purpose printing software without correcting the intermediate data; transmitting the generated print data from the information processing device to the printing device; causing the information processing device to acquire the calibration results from the printing device when the printing device does not have a module that uses the calibration results; causing the information processing device to perform correction on the intermediate data using the result of the calibration; causing the information processing device to generate print data based on the corrected intermediate data; a program for causing the information processing device to transmit the generated print data to the printing device; (Program 2) The program according to Program 1, wherein the result of the calibration is a correction coefficient for correcting the inherent characteristics of the printing device. (Program 3) The program according to Program 2, wherein the correction coefficient is a gamma coefficient. (Program 4) Furthermore, the computer of the information processing device: causing the information processing device to accept settings relating to a function that changes the inherent characteristics of the printing device; causing the information processing device to determine whether settings relating to a function that changes the inherent characteristics of the printing device have been changed; A program described in any one of programs 1 to 3, characterized in that when settings related to a function that changes the inherent characteristics of the printing device are changed, the information processing device is instructed to perform the calibration on the printing device regardless of the accepted settings related to the calibration. (Program 5) The program according to Program 4, wherein the setting related to the function that changes the inherent characteristics of the printing device is a setting related to halftones. (Program 6) A program according to Program 5, characterized in that when the settings relating to the function that changes the inherent characteristics of the printing device are changed, the default settings for the halftones are changed. (Program 7) Furthermore, the computer of the information processing device: causing the information processing device to determine whether the calibration related to the accepted setting requires a user to operate an actual device; The program described in any one of programs 1 to 6, characterized in that the program causes the information processing device to display a warning screen when the calibration related to the accepted settings requires the user to operate the actual device. (Program 8) The warning screen is a first control for a user to change the calibration relating to the accepted setting to one that does not require the user to operate an actual device; The program described in program 7, further comprising a second control for the user to acknowledge that the calibration for the accepted settings requires the user to operate the actual device. (Storage Medium 1) A computer-readable storage medium storing any one of the programs described in Programs 1 to 8. (Method 1) A method performed by an information processing device that executes general-purpose printing software capable of generating print data that can be printed on multiple printing devices provided by different vendors, comprising: a receiving step of causing the information processing device to receive settings related to calibration; an instruction step of causing the information processing device to instruct a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration; a first acquisition step of causing the information processing device to acquire capability information of the printing device; a determining step of causing the information processing device to determine whether the printing device has a module that uses the calibration result based on capability information of the printing device; a first generation step of causing the information processing device to generate print data based on the intermediate data generated by the general-purpose printing software without correcting the intermediate data when the printing device has a module that uses the results of the calibration; a first transmission step of transmitting the print data generated in the first generation step from the information processing device to the printing device; a second acquisition step of causing the information processing device to acquire the calibration results from the printing device when the printing device does not have a module that uses the calibration results; a correction step of causing the information processing device to perform correction on the intermediate data using a result of the calibration; a second generation step of causing the information processing device to generate print data based on the intermediate data corrected by the correction step; a second transmission step of causing the information processing device to transmit the print data generated in the second generation step to the printing device. (Device 1) An information processing device that executes general-purpose printing software capable of generating print data that can be printed on multiple printing devices provided by different vendors, a receiving means for receiving settings related to calibration; an instruction unit that instructs a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration received by the reception unit; a first acquisition means for acquiring capability information of the printing device; a determining means for determining whether the printing device has a module that uses the calibration results based on capability information of the printing device; a first generation means for generating print data based on intermediate data generated by the general-purpose printing software without correcting the intermediate data when the printing device has a module that uses the calibration results; a first transmission means for transmitting the print data generated by the first generation means to the printing device; a second acquisition means for acquiring the calibration result from the printing device when the printing device does not have a module that uses the calibration result; a correction means for correcting the intermediate data using the result of the calibration; a second generating means for generating print data based on the intermediate data corrected by the correcting means; and second transmission means for transmitting the print data generated by the second generation means to the printing device. [Explanation of symbols]
[0122] 101 Host computer (information processing device) 102 Printing device 111 CPU (computer) (reception means) (instruction means) (first acquisition means) (determination means) (first generation means) (first transmission means) (second acquisition means) (correction means) (second generation means) (second transmission means) 202 General-purpose printing software 204 Extended Applications (Programs)
Claims
1. A computer of an information processing device that executes general-purpose printing software capable of generating print data that can be printed on a plurality of printing devices provided by different vendors, causing the information processing device to accept settings related to calibration; causing the information processing device to instruct a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration; causing the information processing device to acquire capability information of the printing device; causing the information processing device to determine whether the printing device has a module that uses the calibration result based on capability information of the printing device; When the printing device has a module that uses the results of the calibration, the information processing device generates print data based on the intermediate data generated by the general-purpose printing software without correcting the intermediate data; transmitting the generated print data from the information processing device to the printing device; causing the information processing device to acquire the calibration results from the printing device when the printing device does not have a module that uses the calibration results; causing the information processing device to perform correction on the intermediate data using the result of the calibration; causing the information processing device to generate print data based on the corrected intermediate data; a program for causing the information processing device to transmit the generated print data to the printing device;
2. 2. The program according to claim 1, wherein the result of the calibration is a correction coefficient for correcting characteristics inherent to the printing device.
3. 3. The program according to claim 2, wherein the correction coefficient is a gamma coefficient.
4. Furthermore, the computer of the information processing device causing the information processing device to accept settings relating to a function that changes the inherent characteristics of the printing device; causing the information processing device to determine whether settings relating to a function that changes the inherent characteristics of the printing device have been changed; The program described in claim 1, characterized in that when settings related to a function that changes the unique characteristics of the printing device are changed, the information processing device is instructed to perform the calibration on the printing device regardless of the accepted settings related to the calibration.
5. 5. The program according to claim 4, wherein the setting relating to the function for changing the inherent characteristics of the printing device is a setting relating to halftones.
6. 6. The program according to claim 5, wherein the change in the setting related to the function that changes the inherent characteristics of the printing device is a change in the default setting of the halftone.
7. Furthermore, the computer of the information processing device causing the information processing device to determine whether the calibration related to the accepted setting requires a user to operate an actual device; 2. The program according to claim 1, further comprising causing the information processing device to display a warning screen when the calibration relating to the accepted settings requires a user to operate an actual device.
8. The warning screen may include: a first control for a user to change the calibration relating to the accepted setting to one that does not require the user to operate an actual device; 8. The program according to claim 7, further comprising: a second control for a user to acknowledge that the calibration for the accepted settings requires the user to operate an actual device.
9. A computer-readable storage medium storing the program according to claim 1.
10. 1. A method performed by an information processing device that executes general-purpose printing software capable of generating print data that can be printed on a plurality of printing devices provided by different vendors, comprising: a receiving step of causing the information processing device to receive settings related to calibration; an instruction step of causing the information processing device to instruct a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration; a first acquisition step of causing the information processing device to acquire capability information of the printing device; a determining step of causing the information processing device to determine whether the printing device has a module that uses the calibration result based on capability information of the printing device; a first generation step of causing the information processing device to generate print data based on the intermediate data generated by the general-purpose printing software without correcting the intermediate data when the printing device has a module that uses the results of the calibration; a first transmission step of transmitting the print data generated in the first generation step from the information processing device to the printing device; a second acquisition step of causing the information processing device to acquire the calibration result from the printing device when the printing device does not have a module that uses the calibration result; a correction step of causing the information processing device to perform correction on the intermediate data using a result of the calibration; a second generation step of causing the information processing device to generate print data based on the intermediate data corrected by the correction step; a second transmission step of causing the information processing device to transmit the print data generated in the second generation step to the printing device.
11. An information processing device that executes general-purpose printing software capable of generating print data that can be printed on a plurality of printing devices provided by different vendors, a receiving means for receiving settings related to calibration; an instruction unit that instructs a printing device connected to the information processing device to perform the calibration in accordance with the settings related to the calibration received by the reception unit; a first acquisition means for acquiring capability information of the printing device; a determining means for determining whether the printing device has a module that uses the calibration results based on capability information of the printing device; a first generation means for generating print data based on intermediate data generated by the general-purpose printing software without correcting the intermediate data when the printing device has a module that uses the calibration results; a first transmission means for transmitting the print data generated by the first generation means to the printing device; a second acquisition means for acquiring the calibration result from the printing device when the printing device does not have a module that uses the calibration result; a correction means for correcting the intermediate data using the result of the calibration; a second generating means for generating print data based on the intermediate data corrected by the correcting means; and second transmission means for transmitting the print data generated by the second generation means to the printing device.
Citation Information
Patent Citations
Print control method, controller and printing system
JP2005092299A
Image processing system and method therefor
JP2006318205A
Color adjusting system, color adjusting method, and color adjusting program
JP2014236432A
Information processing apparatus, method for controlling information processing apparatus, and program
JP2023112072A
program
JP2019074906A