Programs, storage media, methods, and information processing devices
The system addresses performance degradation and cost issues by acquiring and applying calibration information from printing devices, ensuring efficient correction and user awareness, thus enhancing printer functionality and reducing costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2024-02-08
- Publication Date
- 2026-06-22
AI Technical Summary
Existing printer drivers, particularly standard drivers, lack the ability to implement vendor-specific functions such as calibration, which can degrade host computer performance and increase printer costs when additional modules are installed.
A system that acquires capability information of a printing device using the Internet Print Protocol, determines if the device has a calibration module, and performs correction if necessary, displaying a user operation prompt if required, while generating print data with or without calibration results.
Enables improved performance correction using calibration results, even without a module, and ensures user awareness of necessary operations, maintaining system efficiency and reducing costs.
Smart Images

Figure 0007877373000001 
Figure 0007877373000002 
Figure 0007877373000003
Abstract
Description
Technical Field
[0001] The present invention relates to a program, a storage medium, a method, and an information processing apparatus.
Background Art
[0002] A configuration is known in which a printer driver installed in a host computer as control software for a printing device is used to issue a print instruction to a printing device connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The printer driver is configured according to the specifications defined by the OS and is called and operated from the OS. On the other hand, a vendor that provides a printing device can provide a means for instructing printing to the printing device using the OS by providing a printer driver that conforms to the specifications of the OS. In this specification, the vendor includes the manufacturer of the printing device.
[0003] By the way, in recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as "standard driver") that can be commonly used among printing devices provided by a plurality of vendors has been provided. The standard driver is included in the OS package and can be easily used by connecting an arbitrary printing device to the host computer. Therefore, it is not necessary to separately install a model-specific printer driver suitable for the printing device, and the convenience is high. Further, the standard driver is configured to be able to specify a printing function according to PrintDeviceCapabilities (hereinafter also referred to as "PDC") generated based on information obtained from the connected printing device. Thereby, a user who uses the standard driver can specify a printing function according to the capabilities of the connected printing device even though using one standard driver.
[0004] However, the functions that users can specify are limited to those that can be implemented using only the standard driver, and users cannot specify vendor-specific functions. Therefore, Patent Document 1 discloses a technology that extends the functionality of the standard driver so that a page layout function, which is one of the vendor-specific functions, can be implemented using an extension application associated with the standard driver. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2019-074906 [Overview of the project] [Problems that the invention aims to solve]
[0006] Furthermore, it has traditionally been considered that a vendor-specific function, such as calibration, would be performed using an extension application associated with the standard driver. Calibration is a function that creates correction coefficients to compensate for the unique characteristics of a printing device, or even performs the actual correction. For example, in the case of a calibration function related to the gamma characteristics of a printing device, by printing using the calibration function, the user can obtain printed materials with the same tonal gradation as under the original environmental conditions, even if the environmental conditions change.
[0007] However, if image correction using calibration results obtained from the printing device is always performed using an extension application on the host computer, there is a concern that the host computer's performance may degrade. Generally, printing devices perform image correction using electronic circuits such as ASICs designed to perform image processing at high speed. Therefore, when comparing image processing performed by the printing device with image processing performed by the host computer, performance degradation is more likely to occur when the host computer performs the image processing.
[0008] On the other hand, even if there is a concern about performance degradation and an attempt is made to have the printer perform image correction using calibration results, the printer may not have the necessary image correction module installed due to issues such as product cost. In such cases, the printer will be unable to provide calibration functionality when printing with a standard driver. Furthermore, if a correction module is newly installed in the printer to provide calibration functionality, it will lead to an increase in the cost of the printer.
[0009] The present invention has been made in view of the above-mentioned problems. The object of the present invention is to enable the acquisition of capability information of a printing device in accordance with the Internet Print Protocol, to improve the performance of correction based on the calibration results if the printing device has a module that uses the calibration results, and to enable the correction even if there is no such module. If it is determined that user operation of the printer is required for calibration, a predetermined screen indicating that operation of the printer is required will be displayed. The purpose is to provide a system. [Means for solving the problem]
[0010] To achieve the above objectives, the program of the present invention causes the computer of the information processing device to accept calibration settings, to instruct the information processing device to perform the calibration on a printing device connected to the information processing device according to the calibration settings, to acquire capability information of the printing device in accordance with the Internet Print Protocol, to determine whether the printing device has a module that uses the calibration results based on the capability information of the printing device, to generate print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software of the information processing device if the printing device has a module that uses the calibration results, to cause the information processing device to acquire the calibration results from the printing device if the printing device does not have a module that uses the calibration results, to cause the information processing device to correct the intermediate data using the calibration results, and to generate print data based on the corrected intermediate data. The information processing device is instructed to determine whether user operation of the printing device is required for the calibration of the settings, and if it is determined that user operation of the printing device is required for the calibration of the settings, the information processing device is instructed to display a predetermined screen indicating that operation of the printing device is required. It is characterized by the following. [Effects of the Invention]
[0011] According to the present invention, the acquisition of capability information of a printing device is performed in accordance with the Internet Print Protocol, and if the printing device has a module that uses calibration results, the performance of correction based on those results is improved, and even if there is no such module, the correction is still possible. Furthermore, if it is determined that user operation of the printer is required for calibration, a predetermined screen indicating that operation of the printer is required can be displayed. ru. [Brief explanation of the drawing]
[0012] [Figure 1] This is a block diagram showing the hardware configuration of the printing system. [Figure 2] This is a diagram showing the software configuration of the printing system. [Figure 3]It is a diagram showing the calibration processing flow performed by the printing device. [Figure 4] It is a diagram showing an example of a density pattern. [Figure 5] It is a diagram showing an example of the effect of the calibration function. [Figure 6] It is a diagram showing an example of the printing setting screen and the detailed setting screen in the first embodiment. [Figure 7] It is a diagram showing the editing processing flow of the PDC performed by the printing function extension unit of the extended application. [Figure 8] It is a diagram showing, as a table, an example of a list of capability information acquired from the printing device in the first embodiment. [Figure 9] It is a diagram showing, as a table, an example of a list of printing functions supported by the extended application in the first embodiment. [Figure 10] It is a diagram showing an example of a list of printing functions supported by general-purpose printing software. [Figure 11A] It is a sequence diagram of the drawing application, general-purpose printing software, extended application, and printing device in the first embodiment. [Figure 11B] It is a sequence diagram of the drawing application, general-purpose printing software, extended application, and printing device in the first embodiment. [Figure 11C] It is a flowchart summarizing, mainly based on the extended application, the flow from step S1119 to step S1123 in the sequence of FIGS. 11A and 11B. [Figure 12] In the second embodiment, it is a diagram showing the software configuration of the printing system when the extended application is associated with general-purpose printing software and the printing device. [Figure 13] It is a diagram showing, as a table, an example of a list of capability information acquired from the printing device in the second embodiment. [Figure 14] It is a diagram showing, as a table, an example of a list of printing functions supported by the extended application in the second embodiment. [Figure 15] It is a diagram showing an example of a print setting screen and a detailed setting screen in the second embodiment. [Figure 16] It is a sequence diagram of a drawing application, general-purpose printing software, an extended application, and a printing device in the second embodiment. [Figure 17] In the third embodiment, it is a diagram showing the software configuration of a printing system when an extended application is associated with general-purpose printing software and a printing device. [Figure 18] It is a diagram showing, as a table, an example of a list of capability information acquired from a printing device in the third embodiment. [Figure 19] It is a diagram showing, as a table, an example of a list of printing functions supported by an extended application in the third embodiment. [Figure 20] It is a diagram showing an example of a print setting screen and a detailed setting screen in the third embodiment. [[ID=1 / 8]] [Figure 21A] It is a sequence diagram of a drawing application, general-purpose printing software, an extended application, and a printing device in the third embodiment. [Figure 21B] It is a sequence diagram of a drawing application, general-purpose printing software, an extended application, and a printing device in the third embodiment. [Figure 22] It is a diagram showing an example of a warning screen displayed on a display unit.
Embodiments for Carrying Out the Invention
[0013] The embodiments of the present invention will now be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely illustrative, and the scope of the present invention is not limited by the configurations described in each embodiment. For example, not all combinations of features described in this embodiment are essential to the solution of the present invention. Furthermore, each part constituting the present invention can be replaced with any configuration that can perform a similar function. In addition, any additional components may be added. Furthermore, any two or more configurations (features) from each embodiment can be combined. In the second and third embodiments, the same components and processes as in the first embodiment are denoted by the same reference numerals, and their description is omitted.
[0014] <First Embodiment> The first embodiment will be described below with reference to Figures 1 to 11C.
[0015] [Hardware configuration of the printing system] Figure 1 is a block diagram showing the hardware configuration of a printing system. As shown in Figure 1, the printing system includes a host computer 101 and a printing device 102. The host computer 101 (information processing device) can be a desktop PC, a smartphone, a laptop computer, or a tablet device. In Figure 1, the host computer 101 has 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, the print settings screen and detailed settings screen described later. NETIF 117 is a network interface that controls data transfer to and from external devices via the network. ROM 112 stores initialization programs and the like. External storage device 114 stores application programs, the operating system (OS), print data generation software, and various other data. RAM 113 is used as work memory when executing the various programs stored in the external storage device 114. In this way, various programs can operate within the host computer 101. In the first embodiment, the CPU 111 performs processing according to the procedures of the programs stored in ROM 112, thereby executing the functions of the host computer 101 described later and the processing shown in the flowchart sequence described later.
[0017] The host computer 101 is connected to the printing device 102 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, etc. The input / output interface 130 of the host computer 101 is connected to the input / output interface 130. The CPU 131 controls the entire printing device 102. The ROM 132 stores the control program for the printing device 102, etc. The RAM 133 provides memory for temporarily storing various information when the CPU 131 executes a program. The printing unit 134 performs image formation on a sheet using an electrophotographic method. However, the printing device 102 is not limited to this, and may be a device using other processes, such as an inkjet method. The ASIC 135 performs image processing and calibration processing, which will be described later. The printing device 102 may be a multifunction device with multiple functions such as copying, printing, and faxing. Furthermore, although the host computer 101 and the printing device 102 are configured separately here, they may also be configured as a single device.
[0018] [Printing system software configuration] Figure 2 shows the software configuration of a printing system. This explanation assumes a printing system using a host computer 101 running Microsoft's Windows® 11 as its operating system. Figure 2(a) shows a typical software configuration of the printing system, consisting of a drawing application 201, general-purpose printing software 202, and printing function information 203. Figure 2(b) shows the general software configuration of the printing system shown in Figure 2(a), plus an extension application 204. Specifically, Figure 2(a) shows a typical configuration when the extension application 204 is not associated with the general-purpose printing software 202 and the printing device 102. Figure 2(b) shows the configuration when 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, printing function information 203, and extension application 204 are stored in the external storage device 114 of the host computer 101.
[0019] [Software configuration of the printing system when no extended applications are associated] First, using Figure 2(a), we will describe the software configuration of the printing system when the extended application 204 is not associated with the general-purpose printing software 202 and the printing device 102. The drawing application 201 is software that creates the content to be printed (drawing data). Examples of drawing applications 201 include document creation applications and spreadsheet applications. When the drawing application 201 receives a print request from the user, it issues a print command to the OS. The print command includes print setting information to instruct 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] The drawing application 201 can display a print settings screen provided by either the general-purpose printing software 202, the OS, or the drawing application 201 in order to output a printout (PT). Furthermore, if the advanced settings button is selected within the print settings screen, the general-purpose printing software 202 will display an additional advanced settings screen. A detailed explanation of the print settings screen and advanced settings screen will be provided in Figure 6 below. The advanced settings screen includes setting items (hereinafter also referred to as "controls") that indicate the print functions that can be set by the user, according to the capability information of the general-purpose printing software 202, and controls that indicate the setting values. 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 the PC based on the print function information 203. The print function information 203 is data indicating the print function, which describes all print functions that can be set by the user, their setting values, and the mutual exclusion relationships between the setting values. The print function information 203 is also called PDC (Print Device Capabilities). Hereinafter, the print function information 203 will be referred to as "PDC203". PDC203 is included in the configuration file of the general-purpose printing software 202 and is stored as an immutable file in the external storage device 114 of the host computer 101. Alternatively, PDC203 can also be dynamically generated by the general-purpose printing software 202, etc. 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 PDC203 according to the attribute information in the acquired attribute data. Furthermore, if PDC203 is generated dynamically, the generated PDC203 is editable.
[0022] Furthermore, the attribute data of the printing device 102 is a response obtained by issuing the IPP (Internet Print Protocol) Get-Printer-Attributes operation 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 that attribute information. This response is stored in RAM 113. With this configuration, the general-purpose printing software 202 can be configured so that the user can specify the printing functions available on each printing device, depending on the 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 so that the user can specify the printing functions available on each connected printing device. Note that the vendor may be the manufacturer of the printing device, as mentioned above.
[0023] This section describes a configuration using the IPP Class Driver, which is included in Windows® 11, as the general-purpose printing software 202. The IPP Class Driver is a printer driver that performs printing 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 specific printer driver for each model of printing device 102, but a standard class driver that can be used commonly among multiple printing devices.
[0024] Furthermore, the IPP Class Driver acquires capability information of the connected printer 102 so that the user can specify the printing functions supported by the connected printer 102, and generates the PDC203 based on that information. However, the IPP Class Driver does not support calibration functions or correction functions using calibration results. This is because the above two functions are vendor-specific. Therefore, the following sections will explain four points: the calibration function, use cases for the calibration function, the calibration processing flow, and the effects of the calibration function.
[0025] [Calibration function] First, let's explain the calibration function. The calibration function is a function that creates correction coefficients to correct the inherent characteristics of the printing device 102, or actually performs the correction. In the following explanation, we will describe a calibration function that corrects gamma characteristics, but the present invention is not limited to this. In the present invention, the calibration function can be any function that corrects the inherent characteristics of the printing device 102, such as color shift, color tone, laser tilt, inkjet printer head misalignment, etc. In the calibration that corrects gamma characteristics, the printing device 102 outputs a density pattern, reads the density from the output pattern, and creates a gamma coefficient that corrects the deviation from the reference value. Then, when the printing device 102 prints image data, it corrects the image data using the gamma coefficient created by calibration and prints it, making it possible to always print with the same gradation.
[0026] [Use cases for the calibration function] The analog characteristics of the printing device 102 can change due to various factors, and depending on the output timing, the gradation may differ even for the same image data. For example, factors that can change analog characteristics include wear and tear on the printing unit that makes up the printing section 134 of the printing device 102, and changes in environmental conditions. In such cases, by printing using the calibration function, the user can always obtain printed materials with the same gradation, even if there is wear and tear on the printing unit or changes in environmental conditions.
[0027] [Calibration Process Flow] Next, the calibration process flow performed by the printing device 102 will be explained using the flowchart shown in Figure 3. Note that each step in the flowchart shown in Figure 3 is implemented by the ASIC 135 in the printing device 102, but it may also be implemented by the CPU 131 reading a program stored in ROM 132 into 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 onto an intermediate transfer belt or paper (not shown).
[0028] Here, the density pattern will be explained using Figure 4. Figure 4 shows an example of a density pattern. In density pattern 401, the grayscale data from the white area 402 and patch 403 to the solid patch 404 is arranged to the right. Density pattern 401 is composed of the C, M, Y, and K colors from top to bottom. Note that in the case of color shift or color tone correction, a different patch may be output.
[0029] Returning to the explanation of Figure 3, in step S302, the ASIC135 reads the density pattern 401 printed in step S301 using a sensor (not shown) to obtain a signal value. Subsequently, in step S303, the ASIC135 compares the signal value of the read density pattern 401 with a pre-stored target value to create a gamma coefficient (1D-LUT) that minimizes the difference with the target value. Finally, in step S304, the ASIC135 saves the created gamma coefficient (1D-LUT) within the ASIC135. After that, the flowchart shown in Figure 3 is completed.
[0030] [Effects of the calibration function] Next, the effect of the calibration function will be explained using Figure 5. In Figure 5, the horizontal axis represents the input signal value and the vertical axis represents the output signal value. The dashed line 501 represents the target value of the gradation, the solid line 502 represents the signal value of the output patch obtained in step S302, and the solid line 503 represents the gamma coefficient (1D-LUT) created in step S303. In Figure 5, since the output result of the patch (solid line 502) has an upward convex characteristic compared to the target value (dashed line 501), if we try to match the output result of the patch (solid line 502) to the target value (dashed line 501), the gamma coefficient (solid line 503) will have a downward convex characteristic.
[0031] The printing device 102 performs image correction using the gamma coefficient created by the calibration function, enabling it to 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 therefore not displayed on the detailed settings screen shown by the general-purpose printing software 202. In other words, when using the IPP Class Driver, the user cannot select the calibration function and therefore cannot perform printing using the calibration function.
[0032] Returning to the explanation of Figure 2(a), when a print command is issued from the drawing application 201, the OS module within the general-purpose printing software 202 generates intermediate data. The data output by the drawing application 201 for printing is either Graphic Device Interface format data (GDI format data) or XML Paper Specification format data (XPS format data). Here, we assume that the 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 in GDI format, 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 image to be formed on the paper, and 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 that print data to the printing device 102. Here, the print data is Page Description Language (PDL) data conforming to IPP. PDL data conforming to 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 formed on the 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 the functions that can be specified by the printing device 102 and the setting values related to that attribute information.
[0034] The printing device 102 prints on the 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 contained in the print data on the paper in accordance with the print setting attribute information contained in the print data. The print setting attribute information includes attribute information for specifying print quality (such as image quality priority or speed priority) and double-sided printing, as well as the setting values. For example, if the print setting attribute information includes attribute information for specifying double-sided printing and a setting value indicating that it should be performed, the printing device 102 will perform double-sided printing.
[0035] [Software configuration of the printing system when an extended application is associated] Next, using Figure 2(b), we will describe the software configuration of the printing system when the extended 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 extended application 204 is software for extending the functionality of the general-purpose printing software 202 and is not pre-installed (not bundled) with the OS.
[0036] Therefore, the user needs to operate the host computer 101 to download and install the extended application 204 from the server via the internet to the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection of the printer 102 to the host computer 101. Specifically, when the printer 102 is connected to the host computer 101, the OS obtains device identification information from the printer 102. Furthermore, the OS downloads and installs the extended application 204 corresponding to the obtained device identification information from the server via the internet to the host computer 101. In other words, the general-purpose printing software 202 and the extended application 204 are stored as separate files on the host computer 101. Alternatively, the extended application 204 may be installed on the host computer 101 by having the CPU 111 of the host computer 101 read the extended application 204 stored on the storage medium.
[0037] The general-purpose printing software 202 and the extended application 204 may be updated and upgraded, but this update process is performed at different times. In other words, the timing at which the host computer 101 acquires the general-purpose printing software 202 and the timing at which the host computer 101 acquires the extended application 204 are different. Also, the triggers for the host computer 101 acquiring the general-purpose printing software 202 and the triggers for the host computer 101 acquiring the extended application 204 are different. When the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose printing software 202 and the printing device 102.
[0038] As shown in Figure 2(b), the extended application 204 includes a print settings 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 extended application 204 also has shared information 210 that can be accessed from all units. The shared information 210 is actually a file stored in the external storage device 114 or information stored in the RAM 113 on the host computer 101. The extended application 204 writes to and reads information from the shared information 210 using the API (Application Program Interface) provided by the OS. The extended application 204 may terminate its operation after each unit has finished processing. In this case, the OS will start the extended application 204 each time it receives a request to use any unit. Furthermore, the extended application 204 may cancel processing within the processing of each unit. If processing is canceled, the OS deletes the job in progress on the print queue.
[0039] When the drawing application 201 receives a print request from the user, it issues a print command to the OS. In the configuration shown in Figure 2(b), the drawing application 201 can display the print settings screen, just as in the configuration shown in Figure 2(a). Furthermore, in the configuration shown in Figure 2(b), the detailed settings screen provided by the extension application 204 is displayed. Specifically, the detailed settings screen provided by the print settings screen extension unit 205 of the extension application 204 is displayed. In addition, the print settings screen extension unit 205 can save the detailed settings information set by the user (hereinafter referred to as "detailed settings information") to the shared information 210. Details of the print settings 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 will be 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 then converts the intermediate data into print data. The printing device 102 performs the necessary image processing based on the received print data and prints on the paper.
[0041] Note that the method for converting intermediate data to print data is not limited to the above. The extended 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. Also, even in the configuration of Figure 2(b), there may be cases where the user does not perform calibration settings. In this case, as in the configuration of Figure 2(a), the general-purpose printing software 202 may pass the print data to the printing device 102 without going through the extended application 204.
[0042] The print function expansion unit 206 can edit the PDC 203 generated by the general-purpose printing software 202 or the OS. This allows the print function expansion unit 206 to add functions provided by the expansion application 204, or functions supported by the printing device 102 but not by the general-purpose printing software 202 (e.g., calibration function). Furthermore, the print function expansion unit 206 can add mutual exclusion relationships between printing function settings. The OS starts the print function expansion unit 206 when the expansion 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 expansion unit 206 at other times (e.g., when the OS starts). In this way, if an optional device (e.g., a finisher) is later added to the printing device 102 and the printing-related functions are expanded, the print function expansion 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 printer 102. For example, if a no-paper error occurs in the printer 102, the general-purpose printing software 202 detects the error, and the OS uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 120. When the user selects this toast notification with a 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 its UI screen, the notification unit 208 can display, for example, a detailed message about the no-paper error or instructions on how to load paper.
[0044] The calibration instruction unit 209 obtains detailed setting information from the shared information 210 and, if calibration is set, sends a calibration instruction to the printer 102. The calibration instruction unit 209 also obtains capability information of the printer 102 from the shared information 210 and determines whether the printer 102 has a gamma correction function. If the printer 102 has a gamma correction function, the calibration instruction unit 209 receives a calibration completion notification from the printer 102 as soon as the calibration operation of the printer 102 is completed and terminates processing.
[0045] In response to this, if the printer 102 does not have a gamma correction function, the calibration instruction unit 209 obtains the gamma coefficient from the printer 102 and saves the obtained gamma coefficient in the shared information 210. Specifically, when the printer 102 receives a calibration instruction, it outputs a density patch as shown in Figure 4, reads the output density patch, and creates a gamma coefficient such that the output result of the patch (solid line 502) becomes the target value (dashed line 501). If the printer 102 does not have a gamma correction function, the created gamma coefficient is sent by the printer 102 to the extended application 204 and saved in the shared information 210.
[0046] Furthermore, once the extended application 204 sends print data to the printer 102, it cannot display screens such as guides associated with the print data during the processing of each unit. Also, the configuration of the extended application 204 is not limited to having all of the above-mentioned functions (units); it may have only some of the functions or have other functions. In addition, the extended application 204 is sometimes simply called print software.
[0047] As described above, the extended application 204 has at least one of the following functions: First, a function to display a settings screen (print settings screen extension unit 205). Second, a function to edit intermediate data, convert it into print data, and add detailed settings to the print data (intermediate data editing unit 207). Third, a function to extend the functions that can be specified in the print data generation software (print function extension unit 206). Fourth, a function to display a screen in response to an error occurring in the printing device 102 (notification unit 208).
[0048] [Print settings screen and advanced settings screen] Next, examples of the print settings screen and the detailed settings screen will be explained using Figure 6. Figure 6(a) shows the print settings screen displayed by the drawing application 201. Figure 6(b) shows the detailed settings screen displayed in the configuration shown in Figure 2(a), that is, the configuration without the extension application 204. Figure 6(c) shows the detailed settings screen displayed in the configuration shown in Figure 2(b), that is, the configuration with the extension application 204. Note that the unit or module that displays the print settings screen is not limited to those described above. For example, the print settings screen extension unit 205 may only generate the display screen. In this case, the print settings screen extension unit 205 sends 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 way.
[0049] [Print settings screen] First, let's explain the print settings screen shown in Figure 6(a). Control 601 allows the user to set the printer (i.e., printing device), print orientation, and number of copies to be printed. Control 602 is the preview screen, Control 603 is the button to start printing, and Control 604 is the button to cancel printing. Control 605 is the advanced settings button. When Control 605 is selected, an additional advanced settings screen is displayed by the general-purpose printing software 202 or the print settings screen extension unit 205.
[0050] [Detailed settings screen shown in Figure 6(b)] Next, the detailed settings screen shown in Figure 6(b) will be described. Figure 6(b) is an additional detailed settings screen displayed by the general-purpose printing software 202 when there is no extended application 204. Control 606 allows the user to set the paper type, and Figure 6(b) shows that "Plain Paper" is set. Control 607 allows the user to set the paper size, and Figure 6(b) shows that "A4" is set. Control 608 allows the user to set the paper feed slot, and Figure 6(b) shows that "Automatic" is set. Control 609 is a button to exit the settings. When Control 609 is selected by the pointing device 119, etc., the detailed settings screen shown in Figure 6(b) returns to the print settings screen shown in Figure 6(a).
[0051] [Detailed settings screen shown in Figure 6(c)] Next, we will explain the detailed settings screen shown in Figure 6(c). Figure 6(c) is an additional detailed settings screen displayed by the print settings screen extension unit 205 when the extended application 204 is present. The detailed settings screen in Figure 6(c) is a screen in which a checkbox 610 has been added compared to the detailed settings screen in Figure 6(b). The checkbox 610 is a button that allows the user to set the calibration, and in Figure 6(c), it is shown that the calibration is set.
[0052] Here, we will explain why the print settings items differ in the detailed settings screens of Figure 6(b) and Figure 6(c). The detailed settings screen is generated by referencing the PC generated based on the print function information and the setting screen display information, which determines whether to display each function shown in Figure 8 below. However, the general-purpose printing software 202 does not support the calibration function, so it cannot add the calibration function to the print function information. Furthermore, even if the print function information originally included the 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 the checkbox 610 that enables calibration settings on the detailed settings screen. In contrast, if there is an extended application 204, the print function extension unit 206 adds the calibration function to the PDC 203, and the print setting screen extension unit 205 displays the detailed settings screen by referencing the PC and the setting screen display information. With these configurations, the extended application 204 can display the checkbox 610 that enables calibration settings on the detailed settings screen.
[0053] [PDC editing process flow] Here, the editing process flow of the PDC203 performed by the print function extension unit 206 of the extended application 204 will be explained using the flowchart shown in Figure 7. Note that each step of the flowchart shown in Figure 7 is realized when the CPU 111 starts the extended application 204 on the host computer 101. First, in step S701, the CPU 111 obtains capability information from the printing device 102 using the print function extension unit 206. Capability information is attribute information indicating the functions that can be specified on the printing device 102 and the setting values related to that attribute information, which are included in the response obtained by issuing the IPP Get-Printer-Attributes operation to the printing device 102. Figure 8 is a table showing an example of a list of capability information obtained from the printing device 102. Table 801 shown in Figure 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 Figure 8(b) is an example of a list of capability information when the printing device 102 does not have a gamma correction function. The capabilities information of the printing device 102 is stored in the shared information 210.
[0054] Returning to the explanation of Figure 7, in step S702, the CPU 111 obtains a list of printing functions supported by the extended application 204 from the shared information 210 using the print function extension unit 206. The list of printing functions supported by the extended application 204 contains all printing functions that the extended application 204 can process and their settings, and is stored in the shared information 210. Table 901 shown in Figure 9 is an example of a list of printing functions supported by the extended application 204. The list of printing functions supported by the extended application 204 may be updated due to updates to the extended application 204, etc. As shown in Figure 9, the list of printing functions supported by the extended application 204 also includes setting screen display information. Setting screen display information is referenced by the print setting screen extension unit 205 and indicates whether or not to display the function on the detailed settings screen in Figure 6(c). The reason why gamma correction is not displayed on the detailed settings screen is that gamma correction is a function that always corrects the image using the gamma coefficient created by the calibration function, unlike functions that switch settings such as paper size.
[0055] Returning to the explanation of Figure 7, in step S703, the CPU 111 obtains the PDC 203 generated by the general-purpose printing software 202 from the OS via the printing function expansion unit 206. 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. Since the PDC 203 generated by the general-purpose printing software 202 only contains the printing functions supported by the general-purpose printing software 202 from the capability information acquired from the printing device 102, the printing functions of the PDC 203 are limited.
[0056] For example, Table 901, which lists the printing functions supported by the extended application 204, includes options for paper sizes such as "7x10 inches" and "Western-style No. 6". However, the general-purpose printing software 202 does not support these paper size options, and these options are not listed in the PDC203. Therefore, by adding functions and options to the PDC203 using the printing function extension unit 206, the extended application 204 can compensate for the lack of functionality in the general-purpose printing software 202. The printing function extension unit 206 can also remove unnecessary functions and options from the PDC203 generated by the general-purpose printing software 202.
[0057] Returning to the explanation of Figure 7, steps S704, S705, and S706 are repeated processes for the list of functions and options contained in the capability information obtained from the printing device 102 in step S701. In other words, steps S704, S705, and S706 are repeated processes for the list of functions and options in Tables 801 and 802. First, in step S704, the CPU 111 determines whether the function or option being processed by the printing function expansion unit 206 exists in the PDC 203 generated by the general-purpose printing software 202.
[0058] If the CPU 111 determines, via the printing function expansion unit 206, that the function / option being processed exists in the PDC 203 generated by the general-purpose printing software 202, the process returns to step S704. At this time, the CPU 111 selects the next item from the function / options in the capability information acquired from the printing device 102 by the printing function expansion unit 206, and performs step S704 again. However, if the CPU 111 is processing the last item from the function / options in the capability information acquired from the printing device 102 by the printing function expansion unit 206, the flowchart shown in Figure 7 is terminated. On the other hand, if the CPU 111 determines, via the printing function expansion unit 206, that the function / option being processed 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 printing function expansion unit 206 exists in the PDC 203 generated by the general-purpose printing software 202. On the other hand, "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 printing function expansion 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 there is a function or option being processed among the functions and options supported by the extended application 204, as determined by the printing function expansion unit 206. If the CPU 111 determines that there is a function or option being processed among the functions and options supported by the extended application 204, the process proceeds to step S706.
[0061] In response, if the CPU 111 determines, via the printing function expansion unit 206, that there are no functions or options currently being processed among the functions and options supported by the expansion application 204, the process returns to step S704. At that time, the CPU 111 selects the next item from the functions and options held by the capability information acquired from the printing device 102 via the printing function expansion unit 206, and performs step S704 again. However, if the CPU 111 is processing the last item from the functions and options held by the capability information acquired from the printing device 102 via the printing function expansion unit 206, it terminates the flowchart shown in Figure 7.
[0062] Specifically, for example, if the function / option being processed is "Calibration: On," it also exists in Table 901, which is a list of capability information for the extended application 204. In this case, the CPU 111 determines that the function / option being processed exists among the functions / options supported by the extended application 204, as determined by the print function extension unit 206. 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 via the printing function expansion unit 206. After that, the process returns to step S704. At this time, the CPU 111 selects the next item from the function / options in the capability information acquired from the printing device 102 via the printing function expansion unit 206, and performs step S704 again. However, if the CPU 111 is processing the last item from the function / options in the capability information acquired from the printing device 102 via the printing function expansion unit 206, it terminates the flowchart shown in Figure 7.
[0064] As described above, the CPU 111 adds functions and options to the PDC 203 via the printing function expansion unit 206 that are not supported by the general-purpose printing software 202 but are supported by the printing device 102 and the expansion application 204. Specifically, if the list of capabilities information for the printing device 102 is Table 801, three types are added to the PDC 203: "Calibration: On", "Calibration: Off", and "Gamma Correction". In contrast, if the list of capabilities information for the printing device 102 is Table 802, two types are added to the PDC 203: "Calibration: On" and "Calibration: Off", but "Gamma Correction" is not added.
[0065] Based on the PDC203 edited through this editing process flow, a PC is generated. Furthermore, the print settings screen extension unit 205 generates a display screen based on the generated PC and the settings screen display information. This adds functions not supported by the general-purpose printing software 202, and selects the options that should be displayed, making it possible to display the detailed settings screen shown in Figure 6(c).
[0066] [Sequence of events after the drawing application accepts print settings] Next, the sequence of the drawing application 201, general-purpose printing software 202, extended application 204, and printing device 102 after the drawing application 201 accepts the print settings will be explained using Figures 11A and 11B. The sequence (method) in Figure 11A is the sequence when the list of capabilities information for the printing device 102 is Table 801. The sequence (method) in Figure 11B is the sequence when the list of capabilities information for the printing device 102 is Table 802. Each step in Figures 11A and 11B other than the printing device 102 is realized by the host computer 101, where the CPU 111 (computer) starts the drawing application 201, the general-purpose printing software 202, and the extended application 204 (program). On the other hand, each step for the printing device 102 in Figures 11A and 11B is realized by the printing device 102, where the ASIC 135 is used, but it may also be realized by the CPU 131 reading the program stored in ROM 132 into RAM 133 and executing it. Note that the sequences in Figures 11A and 11B assume that the software configuration of the printing system is as shown in Figure 2(b).
[0067] The sequence shown in Figure 11A, that is, the sequence when the list of capabilities information for the printing device 102 is Table 801, will be explained. First, in step S1101, the CPU 111 of the host computer 101 accepts print settings from the user via the drawing application 201. The user can instruct the drawing application 201 to set print settings by operating the keyboard 118 or pointing device 119. Next, in step S1102, the CPU 111 displays the print settings screen shown in Figure 6(a) on the display unit 120 via the drawing application 201. Subsequently, in step S1103, the CPU 111 accepts detailed setting instructions from the drawing application 201. The user can make detailed setting instructions by operating the pointing device 119, etc., and selecting control 605.
[0068] Next, in step S1104, the CPU 111 requests the general-purpose printing software 202 to display the detailed settings via the drawing application 201. Subsequently, in step S1105, the CPU 111 requests the extended application 204 to display the detailed settings via the general-purpose printing software 202. Note that, contrary to the premise, if the software configuration of the printing system is as shown in Figure 2(a), then, as described above, the general-purpose printing software 202 will display the detailed settings screen shown in Figure 6(b) on the display unit 120. Next, in step S1106, the CPU 111 displays the detailed settings screen shown in Figure 6(c) on the display unit 120 via the print settings screen extension unit 205 of the extended application 204. Note that, as mentioned in the explanation of Figure 6, the PDC 203 has a calibration function added by the print function extension unit 206. Therefore, in step S1106, the print settings screen extension unit 205 refers to the PC generated based on the added PDC203 and the settings screen display information in Figure 9, and displays the detailed settings screen in Figure 6(c) on the display unit 120.
[0069] Next, in step S1107, the CPU 111 (reception means) receives the detailed settings via the print settings screen extension unit 205 (reception process). In the case of the detailed settings screen shown in Figure 6(c), the print settings screen extension unit 205 receives confirmation that the user has set "Paper type: Plain paper", "Paper size: A4", "Paper feed slot: Automatic", and "Calibration: Yes". Then, in step S1108, the CPU 111 receives confirmation from the print settings screen extension unit 205 that the detailed settings have been completed. The user can signal the completion of the detailed settings by operating the pointing device 119, etc., and selecting control 609. When the detailed settings have been completed, the print settings screen extension unit 205 saves the detailed settings information to the shared information 210. The print settings screen extension unit 205 also closes the detailed settings screen shown in Figure 6(c) on the display unit 120. As a result, the display unit 120 returns to displaying the print settings screen shown in Figure 6(a).
[0070] Next, in step S1109, the CPU 111 sends a message to the general-purpose printing software 202 via the extended application 204 indicating that the detailed settings are complete. Then, in step S1110, the CPU 111 sends a message to the drawing application 201 via the general-purpose printing software 202 indicating that the detailed settings are complete. Next, in step S1111, the CPU 111 receives a print command from the drawing application 201. The user can issue a print command by operating the pointing device 119, etc., and selecting control 603. Then, in step S1112, the CPU 111 issues a print command to the general-purpose printing software 202 via the drawing application 201.
[0071] Next, in step S1113, the CPU 111 generates intermediate data using the general-purpose printing software 202. In this process, the general-purpose printing software 202 uses the OS module. Then, in step S1114, the CPU 111 saves the PT included in the intermediate data to 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 extended application 204 using the general-purpose printing software 202. Then, in step S1116, the CPU 111 retrieves the PT saved in step S1114 and the detailed setting information saved in step S1108 from the shared information 210 using the calibration instruction unit 209 of the extended 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). Then, in step S1118, the ASIC 135 of the printing device 102 performs calibration. The calibration is performed according to the calibration process flow shown in Figure 3. Next, in step S1119, the ASIC 135 of the printing device 102 sends a calibration completion message to the calibration instruction unit 209 of the extended application 204. As a result, the CPU 111 of the host computer 101 receives the calibration completion message from the calibration instruction unit 209 of the extended 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 extended application 204 (first acquisition step). Subsequently, in step S1121, the CPU 111 uses the intermediate data editing unit 207 to determine whether the printing device 102 has a module that uses calibration results. In the first embodiment, the CPU 111 (determination means) uses the intermediate data editing unit 207 to determine whether the printing device 102 has a gamma correction function based on the capability information of the printing device 102 (determination step). In this regard, the sequence in Figure 11A is the 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 uses the intermediate data editing unit 207 to determine that the printing device 102 has a gamma correction function based on the capability information of the printing device 102. Next, in step S1122, the CPU 111 (first generation means) converts the intermediate data into print data without gamma correction using the intermediate data editing unit 207. This generates the print data (first generation step). Subsequently, in step S1123, the CPU 111 (first transmission means) (second transmission means) transmits the print data to the printing device 102 using the 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 necessary image processing on the image of the print data. For example, if the detailed settings shown in Figure 6(c) have been made, the ASIC 135 of the printing device 102 performs gamma correction using the gamma coefficient created by the calibration in step S1118, and also performs 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 is performed in step S1124, the gradation of the printed material will match the target compared to when gamma correction is not performed. The above is a description of the sequence when the list of capabilities information for the printing device 102 is shown in Table 801, that is, when the printing device 102 has a gamma correction function.
[0075] Next, we will explain the sequence in Figure 11B, that is, the sequence when the list of capability information for the printing device 102 is Table 802. Steps with the same reference numerals in Figures 11B and 11A perform the same processing, so their explanation will be omitted. In step S1126, the CPU 111 of the host computer 101 determines, using the intermediate data editing unit 207 of the extended application 204, whether the printing device 102 has a module that uses calibration results. 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 respect, the sequence in Figure 11B is the sequence when the list of capability information for the printing device 102 is Table 802, as described above. Therefore, in step S1126, the CPU 111 determines, using the intermediate data editing unit 207, that the printing device 102 does not have a gamma correction function from the capability information of the printing device 102.
[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. Subsequently, 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 extended 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 extended application 204 (second acquisition step). Next, in step S1129, the CPU 111 (correction means) performs gamma correction on the intermediate data using the calibration result (gamma coefficient) via the intermediate data editing unit 207 (correction step). Subsequently, 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 describes the sequence when the list of capabilities information for the printing device 102 is shown in Table 802, that is, the sequence when the printing device 102 does not have a gamma correction function.
[0077] Figure 11C is a flowchart summarizing the flow from step S1119 to step S1123 in the sequence of Figures 11A and 11B, primarily using the extended application 204. The extended application 204 performs the processing of step S1119 using its calibration instruction unit 209. The extended application 204 performs the processing of step S1120 using its intermediate data editing unit 207. Furthermore, the extended application 204 performs the determination processing of step S1121 or step S1126 using its intermediate data editing unit 207.
[0078] In this case, if the extended application 204 determines, using its intermediate data editing unit 207, that the printing device 102 has a gamma correction function based on the capabilities information of the printing device 102, it performs the processes in steps S1122 and S1123. On the other hand, if the extended application 204 determines, using its intermediate data editing unit 207, that the printing device 102 does not have a gamma correction function based on the capabilities information of the printing device 102, it performs the processes in steps S1127 to S1130.
[0079] [summary] As explained above, the CPU 111 of the host computer 101 issues calibration instructions to the printer 102 via the calibration instruction unit 209 of the extended application 204. Furthermore, if the printer 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 extended application 204, and sends that print data to the printer 102. On the other hand, if the printer 102 does not have a gamma correction function, the CPU 111 obtains the gamma coefficient from the printer 102 using the intermediate data editing unit 207. Furthermore, the CPU 111 converts the gamma-corrected intermediate data into print data using the obtained gamma coefficient using the intermediate data editing unit 207, and sends that print data to the printer 102.
[0080] Through the above series of processes, the extension application 204, which extends the functionality of the general-purpose printing software 202 that can be used commonly across printing devices provided by multiple vendors, can improve the correction performance based on calibration results. Furthermore, even if the printing device 102 does not have a function to use calibration results, it becomes possible to provide the user with calibration functionality without increasing the cost of the printing device 102. In other words, the extension application 204 improves the performance of correction based on calibration results if the printing device 102 supported by the general-purpose printing software 202 has a function to use calibration results, and enables such correction even if such a function is not present.
[0081] [others] Note that both sequences in Figure 11A and Figure 11B are sequences in which a calibration instruction is given. However, if checkbox 610 is not checked, the information that calibration will not be performed will be included in the detailed settings information. In this case, when the CPU 111 of the host computer 101 detects the above non-execution information from the detailed settings information obtained in step S1116 by the calibration instruction unit 209 of the extended application 204, it will not perform the process in step S1117.
[0082] Furthermore, in the first embodiment, assuming that the software configuration of the printing system is as shown in Figure 2(b), the detailed settings screen shown in Figure 6(c) is displayed on the display unit 120, but the present invention is not limited thereto. For example, when a request to display detailed settings is made in step S1104, the CPU 111 of the host computer 101 may display the detailed settings screen shown in Figure 6(b) on the display unit 120 using the general-purpose printing software 202. In this case, after the detailed settings on the detailed settings screen shown in Figure 6(b) are completed, the CPU 111 requests the general-purpose printing software 202 to the extended application 204 to display an additional detailed settings screen. Furthermore, the CPU 111 additionally displays the detailed settings screen shown in Figure 6(c), which allows calibration settings, using the print settings screen extension unit 205 of the extended application 204.
[0083] Furthermore, in the first embodiment, the CPU 111 of the host computer 101 generates print data based on the intermediate data generated by the general-purpose printing software 202, using the intermediate data editing unit 207 of the extended application 204. However, the CPU 111 may also generate the 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 Figures 12 to 16. In the first embodiment, first, the user sets the calibration and issues a print command. Subsequently, the CPU 111 of the host computer 101 sends a calibration command to the printer 102 via the extended application 204, causing the printer 102 to perform calibration. Next, the CPU 111 switches processing according to the capability information of the printer 102 via the extended application 204.
[0085] Specifically, if the printing device 102 has a gamma correction function, the CPU 111 uses the extended application 204 to convert the intermediate data into print data without correction, and sends that print data to 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 extended application 204 to gamma-correct the intermediate data using the gamma coefficient obtained from the printing device 102. Furthermore, the CPU 111 uses the extended application 204 to send print data generated based on the gamma-corrected intermediate data to the printing device 102.
[0086] In the first embodiment, as described above, a calibration instruction is given only when the user has made calibration settings. However, there are cases where it is preferable to perform calibration even when the user has not made calibration settings. For example, when the midtone (screen) option is changed. When the midtone option is changed and the screen ruling changes, the density of the halftone dots changes, resulting in differences in dot reproducibility, and thus the gamma characteristics no longer match. Therefore, it may not be possible to reuse the gamma coefficient of the screen before the change. Accordingly, when the midtone option is changed, it is preferable that the calibration settings are automatically made, a gamma coefficient corresponding to the changed midtone option is created, and gamma correction is performed using that gamma coefficient.
[0087] Therefore, in the second embodiment, first, the extended application determines whether the halftones have been changed from the default setting. Next, if the halftones have been changed from the default setting, the extended application sends a calibration instruction to the printing device. This makes it possible to always provide the user with printed materials corrected for the specific characteristics of the printing device, even when the print settings require calibration during printing using a standard driver, but calibration settings have not been made. In addition, similar to the first embodiment, the extended application can switch whether or not to apply gamma correction to the intermediate data according to the capabilities information of the printing device, thereby improving the 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 only cover the differences from the first embodiment. Also, in Figures 12 to 16, the same reference numerals and processes as in the first embodiment have already been explained in the first embodiment, so their explanation will be omitted. The differences between the second embodiment and the first embodiment are five points: the software configuration of the printing system, the capability information of the printing device, the printing function of the extended application, the detailed settings screen, and the sequence after the drawing application receives the print settings.
[0089] [Printing system software configuration] Figure 12 shows the software configuration of a printing system when the extended application 1201 is associated with the general-purpose printing software 202 and the printing device 1202. The printing device 1202 can switch between high-line screen halftone processing and low-line screen halftone processing. The extended application 1201 also includes a print settings 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 setting, and if so, issues a calibration instruction to the printer 1202. The intermediate data editing unit 1204 also refers to the detailed setting information and generates print data from the intermediate data based on the set halftone options. As a result, halftones not present in the standard driver are reflected in the print data, and the printer 1202 can perform image processing with the set halftone options. The hardware configuration of the printer 1202 is the same as that of the printer 102 in the first embodiment.
[0091] [Printing device capability information] The capabilities information of the printing device 1202 will be explained using Figure 13. Figure 13 is a table showing an example of a list of capabilities information obtained from the printing device 1202. Table 1301 shown in Figure 13(a) is an example of a list of capabilities information when the printing device 1202 has a gamma correction function. Table 1302 shown in Figure 13(b) is an example of a list of capabilities information when the printing device 1202 does not have a gamma correction function. The capabilities information of the printing device 1202 is stored in shared information 210. Tables 1301 and 1302 are the same as Tables 801 and 802 of the first embodiment, but with the addition of halftone function and default information.
[0092] Default information refers to the options initially set for each function when the print settings screen or detailed settings screen is displayed on the display unit 120. For example, Table 1301 shows that "Do not perform" is the default for the calibration function. It is preferable that calibration is not performed every time printing is done, unless a print instruction is given that would change the unique characteristics of the printing device 1202. This is because calibration requires various processes such as outputting and reading the density pattern 401 and creating the gamma coefficient, as explained in Figure 3, which adds extra time before actual printing.
[0093] [Printing functionality for extended applications] A list of printing functions supported by the extended application 1201 will be explained using Figure 14. Table 1401 shown in Figure 14 is an example of a list of printing functions supported by the extended application 1201. As shown in Table 1401, by associating the halftone function with the extended application 1201, the halftone function is added to the PDC203 through the editing process flow in Figure 7. This makes it possible to display the halftone function on the detailed settings screen. In addition, since print data with halftones reflected in the intermediate data generated by the general-purpose printing software 202 is generated, the printing device 1202 can perform image processing with the set halftone option.
[0094] [Print settings screen and advanced settings screen] Next, an example of the print settings screen and the advanced settings screen will be explained using Figure 15. Figure 15(a) is the same as Figure 6(a) and shows the print settings screen displayed by the drawing application 201. Figure 15(b) shows the advanced settings screen displayed by the extended application 1201. The advanced settings screen in Figure 15(b) is a screen in which a control 1501 and a list 1502 for halftones have been added compared to the advanced settings screen in Figure 6(c). In the advanced settings screen in Figure 15(b), control 1501 indicates that a lower line screen has been set for the halftone option, which is different from the default setting. Also, list 1502 is displayed when the user selects control 1501 with the pointing device 119, etc., and shows other options that can be set for halftones. Furthermore, checkbox 610 is unchecked, indicating that calibration has not been set by the user.
[0095] [Sequence of events after the drawing application accepts print settings] Next, the sequence of the drawing application 201, general-purpose printing software 202, extended application 1201, and printing device 1202 after the drawing application 201 accepts the print settings will be explained using Figure 16. The sequence (method) in Figure 16 is the sequence when the capability information of the printing device 1202 is listed in Table 1301, and the settings shown in Figure 15 are made as the print settings and detailed settings. Each step in Figure 16 other than the printing device 1202 is realized by the host computer 101, where the CPU 111 starts the drawing application 201, the general-purpose printing software 202, and the extended application 1201 (program). On the other hand, each step of the printing device 1202 in Figure 16 is realized by the ASIC 135 in the printing device 1202, but it may also be realized by the CPU 131 reading the program stored in ROM 132 into RAM 133 and executing it.
[0096] The sequence in Figure 16 is the same as the sequence in Figure 11, with the processing in step S1601 added. However, in step S1107, the CPU 111 of the host computer 101 accepts the following detailed settings from the print settings screen extension unit 205. In the case of the detailed settings screen in Figure 15(b), the print settings screen extension unit 205 accepts that the user has set "Paper type: Plain paper", "Paper size: A4", "Paper feed slot: Automatic", "Calibration: None", and "Halftone: Low line screen".
[0097] In step S1601, the CPU 111 determines from the detailed settings information whether the halftone setting has been changed from the default setting by the calibration instruction unit 1203 of the extended application 1201. In this regard, the sequence in Figure 16 is the sequence when the print settings and detailed settings shown in Figure 15 are made, as described above. When the settings shown in Figure 15 are made, the halftone setting has been changed from the default high line count to a low line count. Therefore, in step S1601, the CPU 111 determines from the detailed settings information that the halftone setting has been changed from the default setting by the calibration instruction unit 1203.
[0098] However, as mentioned above, the gamma characteristics in this case are likely to not match those of the high-line count case. Therefore, in step S1117, even if the CPU 111 detects from the detailed setting information that calibration will not be performed by the calibration instruction unit 1203, it still issues a calibration instruction to the printer 1202. The above is a description of the sequence when the capabilities information of the printer 1202 is shown in Table 1301 and the print settings and detailed settings are as shown in Figure 15. Note that if the capabilities information of the printer 1202 is shown in Table 1302 and the printer 1202 does not have a gamma correction function, the sequence up to step S1119 is the same as in Figure 16, and from step S1120 onwards it is the same as in Figure 11B.
[0099] [summary] Through the above series of processes, the extension application 1201, which extends the functionality of the general-purpose printing software 202 that can be used commonly across printing devices provided by multiple vendors, can improve the correction performance based on calibration results. Furthermore, even if the printing device 1202 does not have a function to use calibration results, it becomes possible to provide the user with calibration functionality without increasing the cost of the printing device 1202. In other words, the extension application 1201 improves the performance of correction based on calibration results if the printing device 1202 supported by the general-purpose printing software 202 has a function to use calibration results, and enables such correction even if such a function is not present.
[0100] Furthermore, in the second embodiment, even if the detailed settings are configured to disable calibration, a calibration instruction is issued when the option for a printing function that requires calibration is changed. Specifically, even though checkbox 610 is not checked and the detailed settings are configured to disable calibration, a calibration instruction is issued because the option for halftones, which is a printing function that requires calibration, has been changed. In this way, in the second embodiment, even if the detailed settings are configured to disable calibration, it is always possible to provide the user with printed materials that have been corrected for the unique characteristics of the printing device 1202. Moreover, since a calibration instruction is issued only when the option for a printing function that requires calibration is changed, and a calibration instruction is not issued every time printing is performed, unnecessary calibration instructions can be suppressed.
[0101] [others] In the second embodiment, the CPU 111 of the host computer 101 issues a calibration instruction when it determines, based on the calibration instruction unit 1203 of the extended application 1201, that the halftone setting has been changed from the default setting. However, the CPU 111 may also issue a calibration instruction when the current halftone option differs from the one held by the calibration instruction unit 1203, which associates the halftone option with the gamma coefficient. Furthermore, the CPU 111 may also issue a calibration instruction via the calibration instruction unit 1203 if the setting of an option for a function that changes characteristics specific to the printer 1202 other than the halftone (for example, paper type) is changed.
[0102] <Third Embodiment> The third embodiment will be described below with reference to Figures 17 to 22. In the first and second embodiments, the calibration of the printing devices 102 and 1202 was completed without requiring any user operation. In this regard, there are several methods for calibration performed on printing devices. For example, as in the first and second embodiments, there is a calibration method in which density patches are output to the intermediate transfer belt or paper of the printing device, 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 the printer outputting density patches onto paper, ejecting the paper, and then scanning the paper with a reader attached to the printer to read the density patches. This method requires user operation, such as setting paper in the reader and instructing the printer to scan. Ideally, when a user goes to the printer after issuing a print command, the printing should already be finished and the user should be able to obtain the printed material. However, if calibration requiring user operation is set, the user must perform the calibration operation before obtaining the printed material, which is inconvenient. Furthermore, the user has to wait for the calibration to finish after performing the calibration operation before obtaining the printed material. This results in extra time being wasted before the user can obtain the printed material.
[0104] Therefore, in the third embodiment, the extended application determines whether calibration requiring actual machine operation has been set. If calibration requiring actual machine operation has been set, the extended application displays a warning screen prompting the user to change the setting to calibration that does not require actual machine operation. As a result, once the user changes the setting to calibration that does not require actual machine operation, it becomes possible to provide the calibration function in printing using the standard driver without requiring the user to go through any extra trouble. In addition, as in the first and second embodiments, the extended application can switch whether or not to perform gamma correction on intermediate data according to the capabilities information of the printing device, thereby improving the correction performance. Furthermore, it becomes possible to provide the user with the calibration function even if the printing device does not have a gamma correction function.
[0105] The following description of the third embodiment will only cover the differences from the first embodiment. Also, in Figures 17 to 22, the same reference numerals and processes as in the first embodiment have already been explained in the first embodiment, so their explanation will be omitted. The differences between the third embodiment and the first embodiment are six points: the software configuration of the printing system, the capability information of the printing device, the printing function of the extended application, the detailed settings screen, the sequence after the drawing application accepts the print settings, and the warning screen. In addition, in the third embodiment, the configuration related to halftones in the second embodiment may be provided so that the processing related to halftones in the second embodiment is performed.
[0106] [Printing system software configuration] Figure 17 shows the software configuration of a printing system when the extended application 1701 is associated with the general-purpose printing software 202 and the printing device 1702. The printing device 1702 is equipped with multiple calibration methods. The printing device 1702 is equipped with a calibration method that does not require actual machine operation by the user, for example, by outputting density patches to an intermediate transfer belt and reading the outputted density patches with a sensor. Furthermore, the printing device 1702 is also equipped with a calibration method in which the density patches output to the paper are read by a reader through actual machine operation by the user. Hereinafter, the calibration method that does not require actual machine operation by the user will be referred to as "simple calibration," and the calibration that requires actual machine operation by the user will be referred to as "detailed calibration."
[0107] Furthermore, the extended application 1701 includes a print settings 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 to the user if calibration requiring user operation of the actual machine is set. In addition, on the warning screen, the user can change the calibration setting to one that does not require user operation of the actual machine, or acknowledge that calibration requiring user operation of the actual machine is set. The hardware configuration of the printing device 1702 is the same as that of the printing device 102 in the first embodiment.
[0108] [Printing device capability information] The capability information of the printing device 1702 will be explained using Figure 18. Figure 18 is a table showing an example of a list of capability information obtained from the printing device 1702. Table 1801 shown in Figure 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 Figure 18(b) is an example of a list of capability information when the printing device 1702 does not have a gamma correction function. The capability information of the printing device 1702 is stored in shared information 210. Tables 1801 and 1802 are the same as Tables 801 and 802 of the first embodiment, but the "do" option for calibration is replaced with the "simple calibration" and "detailed calibration" options.
[0109] [Printing functionality for extended applications] Figure 19 illustrates the list of printing functions supported by the extended application 1701. Table 1901, shown in Figure 19, is an example of a list of printing functions supported by the extended application 1701. As shown in Table 1901, by enabling the simple calibration and detailed calibration options in the extended application 1701, the calibration function is added to the PDC203 via the editing process flow shown in Figure 7. This makes it possible to display the calibration function on the detailed settings screen.
[0110] [Print settings screen and advanced settings screen] Next, an example of the print settings screen and the advanced settings screen will be explained using Figure 20. Figure 20(a) is the same as Figure 6(a) and shows the print settings screen displayed by the drawing application 201. Figure 20(b) shows the advanced settings screen displayed by the extended application 1701. The advanced settings screen in Figure 20(b) is a screen in which, in place of the checkbox 610 in the advanced settings screen of Figure 6(c), a control 2001 and a list 2002 for calibration are provided. In the advanced settings screen of Figure 20(b), control 2001 indicates that advanced calibration is set as the calibration option. Also, list 2002 is displayed when the user selects control 2001 with the pointing device 119, etc., and shows other options that can be set for calibration.
[0111] [Sequence of events after the drawing application accepts print settings] Next, the sequence of events involving the drawing application 201, the general-purpose printing software 202, the extended application 1701, and the printing device 1702 after the drawing application 201 accepts the print settings will be explained using Figures 21A and 21B. The sequence (method) in Figure 21A is the sequence when the list of capabilities information for the printing device 1702 is Table 1801, calibration is set to the detailed calibration option, and the "YES" button is selected on the warning screen described later. The sequence (method) in Figure 21B is the sequence when the list of capabilities information for the printing device 1702 is Table 1801, calibration is set to the detailed calibration option, and the "NO" button is selected on the warning screen described later.
[0112] Each step in Figures 21A and 21B, excluding the printing device 1702, is implemented by the host computer 101, where the CPU 111 starts the drawing application 201, the general-purpose printing software 202, and the extended application 1701 (program). On the other hand, each step of the printing device 1702 in Figures 21A and 21B is implemented by the printing device 1702 using the ASIC 135, but it may also be implemented by the CPU 131 reading the program stored in the ROM 132 into the RAM 133 and executing it.
[0113] The sequence in Figure 21A is the same as the sequence in Figure 11A, with the addition of steps S2101 and S2102. In step S2101, the CPU 111 of the host computer 101 determines from the detailed setting information whether the calibration option requiring actual operation has been set by the calibration instruction unit 1703 of the extended application 1701. In this respect, the sequence in Figure 21A is the sequence when the calibration is set with the detailed calibration option, as described above. Therefore, in step S2101, the CPU 111 determines that the calibration option requiring actual operation has been set by the calibration instruction unit 1703. Next, in step S2102, the CPU 111 displays a warning screen on the display unit 120 by the calibration instruction unit 1703.
[0114] The warning screen will be explained below using Figure 22. Figure 22 shows an example of the warning screen 2201 displayed on the display unit 120. The warning screen 2201 displays messages indicating that user operation of the actual machine is required before printing. Furthermore, the warning screen 2201 has controls 2202 (first control) and 2203 (second control). Control 2202 is a "YES" button that allows the user to change the calibration option to a simplified calibration that does not require user operation of the actual machine. Control 2203 is a "NO" button that allows the user to acknowledge that the calibration option is set to detailed calibration, which requires user operation of the actual machine.
[0115] Note that the sequence in Figure 21A is the sequence when control 2202 (the "YES" button) is selected on the warning screen 2201, as described above. Therefore, in the sequence in Figure 21A, each process from step S1117 onwards is performed in the same manner as in the sequence in Figure 11A. The above is a description of the sequence when the list of capability information for the printing device 1702 is Table 1801, calibration is set to the detailed calibration option, and control 2202 (the "YES" button) is selected on the warning screen 2201. Note that when the list of capability information for the printing device 1702 is Table 1802, the sequence up to step S1119 is the same as in Figure 21A, and from step S1120 onwards it is the same as in Figure 11B.
[0116] The sequence in Figure 21B is the same as the sequence in Figure 11A, but with the addition of steps S2101 and S2102, and the replacement of step S1118 with steps S2103 to S2106. The explanations for steps S2101 and S2102 have already been given in the explanation of the sequence in Figure 21A, so they will be omitted here. As mentioned above, the sequence in Figure 21B is the sequence when control 2203 (the "NO" button) is selected on the warning screen 2201. Therefore, in the sequence in Figure 21B, steps S2103 to S2106 are performed instead of step S1118 in the sequence in Figure 21A.
[0117] In step S2103, the ASIC 135 of the printer 1702 outputs a density patch. This prints the density patch onto the paper. Next, in step S2104, the ASIC 135 of the printer 1702 accepts a calibration operation from the user. User calibration operations include the user setting the paper with the density patch printed on it into the reader, or the user instructing the reader to scan the paper. Next, in step S2105, the ASIC 135 of the printer 1702 scans the paper with the reader and reads the density patch. Then, in step S2106, the ASIC 135 of the printer 1702 creates a gamma coefficient that matches the target value. After that, in the sequence shown in Figure 21B, each process from step S1119 onwards is performed in the same manner as in the sequence shown in Figure 21A. The above describes the sequence when the capability information of the printing device 1702 is shown in Table 1801, calibration is set to the detailed calibration option, and control 2203 ("NO" button) is selected on the warning screen 2201. Note that when the capability information of the printing device 1702 is shown in Table 1802, the sequence up to step S1119 is the same as in Figure 21B, and from step S1120 onwards, the sequence is the same as in Figure 11B.
[0118] [summary] Through the above series of processes, the extension application 1701, which extends the functionality of the general-purpose printing software 202 that can be used commonly across printing devices provided by multiple vendors, can improve the correction performance based on calibration results. Furthermore, even if the printing device 1702 does not have a function to use calibration results, it becomes possible to provide the user with calibration functionality without increasing the cost of the printing device 1702. In other words, the extension application 1701 improves the performance of correction based on calibration results if the printing device 1702 supported by the general-purpose printing software 202 has a function to use calibration results, and enables such correction even if such a function is not present.
[0119] Furthermore, in the third embodiment, if a calibration option requiring user operation of the actual machine is selected, the user is warned by the warning screen 2201 and prompted to change the setting to a calibration option that does not require user operation of the actual machine. As a result, when the user changes the setting to a calibration that does not require operation of the actual machine, it becomes possible to provide a calibration function that does not require the user to take any extra steps when printing using the 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 changes are possible within the scope of its gist. The present invention can also be realized by supplying a program that implements one or more of the functions of the above embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0121] Each embodiment of the disclosure includes the following programs, storage media, methods, and apparatus. (Program 1) A computer in an information processing device that runs general-purpose printing software capable of generating print data that can be printed on multiple printing devices provided by different vendors, The information processing device is instructed to accept settings related to calibration. Depending on the settings for the calibration, the information processing device is instructed to perform the calibration on the printing device connected to the information processing device. The information processing device is made to acquire the capability information of the printing device. The information processing device is instructed to determine, based on the capabilities information of the printing device, whether the printing device has a module that uses the calibration results. If the printing device has a module that uses the calibration results, the information processing device is made to generate print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software. The generated print data is transmitted from the information processing device to the printing device. If the printing device does not have a module that uses the calibration results, the information processing device is instructed to obtain the calibration results from the printing device. The information processing device is instructed to perform a correction on the intermediate data using the results of the calibration. The information processing device is instructed to generate print data based on the corrected intermediate data. A program characterized by causing the generated print data to be transmitted from the information processing device to the printing device. (Program 2) The program according to Program 1, characterized in that the result of the calibration is a correction coefficient for correcting the intrinsic characteristics of the printing apparatus. (Program 3) The program according to Program 2, characterized in that the correction coefficient is a gamma coefficient. (Program 4) Furthermore, the computer of the information processing device, The information processing device is instructed to accept settings related to a function that changes the inherent characteristics of the printing device. The information processing device is instructed to determine whether the settings related to the function that changes the inherent characteristics of the printing device have been changed. A program according to any one of programs 1 to 3, characterized in that, when a setting relating to a function that changes the inherent characteristics of the printing device is changed, the program causes the information processing device to issue an instruction to perform the calibration on the printing device, regardless of the accepted calibration setting. (Program 5) The program according to Program 4, characterized in that the setting relating to the function of changing the inherent characteristics of the printing apparatus is a setting relating to halftones. (Program 6) The program according to Program 5, characterized in that the case in which a setting relating to a function that changes the inherent characteristics of the printing device is changed is the case in which the default setting for halftones is changed. (Program 7) Furthermore, the computer of the information processing device, The information processing device is instructed to determine whether the calibration of the received settings requires actual operation by the user. A program according to any one of programs 1 to 6, characterized in that, when the calibration relating to the accepted settings requires actual operation by the user on the device, the information processing device displays a warning screen. (Program 8) The warning screen is displayed as follows: A first control for the user to change the calibration related to the accepted settings to one that does not require the user to operate the actual device, The program according to program 7, further comprising: a second control for the user to acknowledge that the calibration relating to the accepted settings requires actual operation of the device by the user. (Storage medium 1) A computer-readable storage medium that stores one of the programs described in Programs 1 through 8. (Method 1) A method performed on an information processing device that runs general-purpose printing software capable of generating printable data on multiple printing devices provided by different vendors, A receiving step in which the information processing device receives settings related to calibration, An instruction step of causing the information processing device to issue an instruction to the printing device connected to the information processing device to perform the calibration, in accordance with the settings for the calibration; A first acquisition step involves causing the information processing device to acquire the capability information of the printing apparatus, A determination step of causing the information processing device to determine whether the printing device has a module that uses the calibration results, based on the capability information of the printing device, If the printing device has a module that uses the calibration results, a first generation step is to cause the information processing device to generate print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software, A first transmission step involves transmitting the print data generated by the first generation step from the information processing device to the printing device, If the printing apparatus does not have a module that uses the calibration results, a second acquisition step is to cause the information processing device to acquire the calibration results from the printing apparatus. A correction step in which the information processing device is instructed to perform a correction on the intermediate data using the results of the calibration, A second generation step involves causing the information processing device to generate print data based on the intermediate data that has been corrected in the correction step, A method characterized by comprising: a second transmission step of transmitting the print data generated by the second generation step from the information processing device to the printing device. (Device 1) An information processing device that runs general-purpose printing software capable of generating print data that can be printed on multiple printing devices provided by different vendors, A means of receiving settings related to calibration, An instruction means for instructing a printing device connected to the information processing device to perform the calibration, in accordance with the calibration settings received by the reception means, A first acquisition means for acquiring capability information of the printing apparatus, A determination means for determining whether the printing device has a module that uses the calibration results, based on the capability information of the printing device, When the printing device has a module that uses the calibration results, a first generation means generates print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software, A first transmission means for transmitting the print data generated by the first generation means to the printing device, If the printing apparatus does not have a module that uses the calibration results, a second acquisition means for acquiring the calibration results from the printing apparatus, A correction means for performing corrections on the intermediate data using the results of the calibration, A second generation means generates print data based on the intermediate data corrected by the correction means, An information processing apparatus comprising a second transmission means for transmitting 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. In the computer of the information processing device, The information processing device is instructed to accept settings related to calibration. Depending on the settings for the calibration, the information processing device is instructed to perform the calibration on the printing device connected to the information processing device. The information processing device is instructed to acquire the capability information of the printing device in accordance with the Internet Print Protocol. The information processing device is instructed to determine, based on the capabilities information of the printing device, whether the printing device has a module that uses the calibration results. If the printing device has a module that uses the calibration results, the general-purpose printing software of the information processing device generates print data based on the intermediate data without correcting the intermediate data generated by the intermediate data. If the printing device does not have a module that uses the calibration results, the information processing device is instructed to obtain the calibration results from the printing device. The information processing device is instructed to perform a correction on the intermediate data using the results of the calibration. The information processing device is instructed to generate print data based on the corrected intermediate data. The information processing device is instructed to determine whether user operation of the printing device is necessary for the calibration of the aforementioned settings. A program characterized in that, when it is determined that the user needs to operate the printing device for the calibration of the settings, the program causes the information processing device to display a predetermined screen indicating that operation of the printing device is necessary.
2. Furthermore, the computer of the information processing device, If the printing device has a module that uses the calibration results, the generated print data is transmitted from the information processing device to the printing device. The program according to claim 1, characterized in that, if the printing device does not have a module that uses the calibration results, the generated print data is transmitted from the information processing device to the printing device.
3. The program according to claim 1, characterized in that the calibration result is a correction coefficient for correcting the intrinsic characteristics of the printing apparatus.
4. The program according to claim 3, characterized in that the correction coefficient is a gamma coefficient.
5. Furthermore, the computer of the information processing device, The information processing device is instructed to accept settings related to a function that changes the inherent characteristics of the printing device. The information processing device is instructed to determine whether the settings related to the function that changes the inherent characteristics of the printing device have been changed. The program according to claim 1, characterized in that, if a setting relating to a function that changes the inherent characteristics of the printing apparatus is changed, the program causes the information processing device to issue an instruction to perform the calibration to the printing apparatus, regardless of the accepted calibration setting.
6. The program according to claim 5, characterized in that the setting relating to the function of changing the inherent characteristics of the printing apparatus is a setting relating to halftones.
7. The program according to claim 6, characterized in that the case where the setting for the function that changes the inherent characteristics of the printing device is changed is the case where the default setting for the halftones is changed.
8. The aforementioned predetermined screen is A first control for the user to change the calibration related to the accepted settings to one that does not require the user to operate the actual device, The program according to claim 1, further comprising a second control for the user to acknowledge that the calibration relating to the accepted settings requires actual operation of the device by the user.
9. A storage medium readable by a computer that stores the program described in claim 1.
10. A method performed in an information processing device, A receiving step in which the information processing device receives settings related to calibration, An instruction step of causing the information processing device to issue an instruction to the printing device connected to the information processing device to perform the calibration, in accordance with the settings for the calibration; A first acquisition step involves causing the information processing device to acquire the capability information of the printing device in accordance with the Internet Print Protocol, A first determination step involves causing the information processing device to determine, based on the capabilities information of the printing device, whether the printing device has a module that uses the calibration results. If the printing device has a module that uses the calibration results, a first generation step is to cause the information processing device to generate print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software of the information processing device, If the printing apparatus does not have a module that uses the calibration results, a second acquisition step is to cause the information processing device to acquire the calibration results from the printing apparatus. A correction step in which the information processing device is instructed to perform a correction on the intermediate data using the results of the calibration, A second generation step involves causing the information processing device to generate print data based on the intermediate data that has been corrected in the correction step, A second determination step involves causing the information processing device to determine whether it is necessary for the user to operate the printing device for the calibration of the aforementioned settings, A method characterized by comprising: a display step of causing the information processing device to display a predetermined screen indicating that operation of the printing device is necessary when it is determined that operation of the printing device by the user is necessary for the calibration of the aforementioned settings.
11. An information processing device, A means of receiving settings related to calibration, An instruction means for instructing a printing device connected to the information processing device to perform the calibration, in accordance with the calibration settings received by the reception means, A first acquisition means for acquiring the capability information of the printing apparatus in accordance with the Internet Print Protocol, A first determination means for determining whether the printing device has a module that uses the calibration results, based on the capability information of the printing device, When the printing device has a module that uses the calibration results, a first generation means generates print data based on the intermediate data without correcting the intermediate data generated by the general-purpose printing software of the information processing device, If the printing apparatus does not have a module that uses the calibration results, a second acquisition means for acquiring the calibration results from the printing apparatus, A correction means for performing corrections on the intermediate data using the results of the calibration, A second generation means generates print data based on the intermediate data that has been corrected by the correction means, A second determination means for determining whether user operation of the printing device is required for the calibration of the aforementioned settings, An information processing apparatus comprising: a display means that displays a predetermined screen indicating that operation of the printing device is required when it is determined that operation of the printing device by the user is required for the calibration of the aforementioned settings; and a display means that displays a predetermined screen indicating that operation of the printing device is required.