Program, recording medium, control method, and information processing device.
The program enhances printer drivers by enabling selection and execution of various halftone processing options, addressing the lack of halftone capabilities in standard drivers and improving image quality.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2023-08-21
- Publication Date
- 2026-06-29
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing printer drivers, particularly standard class drivers, lack the capability to perform halftone processing, leading to potential issues with image quality adjustment and inability to execute functions provided by extension applications.
A program that supports general-purpose printing software, enabling the selection and execution of multiple halftone processing candidates, including those not supported by the standard driver, and displays the processed image data on a display unit.
Enables the execution of halftone processing on image data from multiple manufacturers, allowing users to select and adjust image quality settings, improving print output quality by reducing jagged edges and breaks.
Smart Images

Figure 0007881517000001 
Figure 0007881517000002 
Figure 0007881517000003
Abstract
Description
Technical Field
[0001] The present invention relates to a program, a recording medium, a control method, and an information processing apparatus.
Background Art
[0002] A printing apparatus for performing printing is communicably connected to a host computer (information processing apparatus) capable of processing information with the printing apparatus. As control software for controlling the printing apparatus, for example, a printer driver installed from the printing apparatus to the host computer is used. With this printer driver, a printing instruction can be given from the host computer to the printing apparatus. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed in the host computer. The printer driver has a configuration conforming to the specifications defined by the OS and can be called from the OS to operate. Also, such a printer driver is different for each vendor supplying the printing apparatus, that is, a printer driver specific to a model suitable for each printing apparatus.
[0003] In recent years, Windows® has provided a standard class driver (hereinafter sometimes referred to as "standard driver") that can be used in common even for printing devices supplied by multiple different vendors. Such standard drivers are pre-built into the OS. By connecting any printing device to a host computer with an OS that has the standard driver built in, the standard driver can be used. This eliminates the need to install the model-specific printer driver. Furthermore, the standard driver can be used by specifying the printing functions of the printing device according to the Print Device Capabilities (hereinafter referred to as "PDC") generated based on information obtained from the printing device. This allows printing functions to be specified for each printing device with a single standard driver. Functionality extension applications (hereinafter sometimes referred to as "extension applications") that extend the functionality can be associated with the standard driver. Extension applications are provided by each vendor. Therefore, it is difficult to execute the functions of extension applications with the standard driver alone.
[0004] Patent Document 1 discloses a support program used when printing with a printer that is communicatively connected to an information processing device. This support program performs a correction to reduce the amount of colorant used when a print command is made to a general-purpose printing program pre-installed in the operating system of the information processing device and a saving mode that saves colorant (toner or ink) is selected. This correction processing function is not included in the general-purpose printing program, but it can be performed by the support program.
[0005] In addition to the correction processing function, the extended application also offers features such as a halftone selection function (halftone function). The "halftone selection function" allows users to select patterns such as the density of dots and lines (hereinafter referred to as "line count") and angle of the AM screen when performing processing to represent halftones using an AM screen. AM screen stands for Amplitude Modulated Screening. For example, when halftone processing is applied to print data containing text, jagged edges (staircase-like jaggedness that appears in lines and outlines) or breaks may occur depending on the density of the text. In this case, for example, increasing the line count of the AM screen can eliminate jagged edges and breaks, thereby improving image quality. Users can also choose whether or not to use the halftone selection function. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2021-93081 [Overview of the project] [Problems that the invention aims to solve]
[0007] However, the support program in Patent Document 1 cannot perform the halftone selection function. As a result, there is a risk that the print data may not be able to be adjusted to the intended image quality.
[0008] This invention has been made in view of the above problems. This invention generates image data that can be printed by printing devices of multiple manufacturers, and includes multiple capabilities information of the printing device obtained in accordance with the Internet Printing Protocol. ofThe objective is to provide a mechanism that executes the selected halftone processing on a screen for the user to select a halftone processing from a plurality of halftone processing candidates, including halftone processing candidates not supported by the general-purpose program, and displays the image data on which the halftone processing has been performed on a display unit. [Means for solving the problem]
[0009] To achieve the above objective, the present invention is a program that supports a general-purpose program capable of generating printable image data by printing devices of multiple manufacturers, and which includes multiple capabilities information of printing devices obtained in accordance with the Internet Printing Protocol. of The present invention is characterized by causing a computer to perform the following steps: a display control step of displaying a screen on the display unit for the user to select a tone-correcting process from a plurality of candidates for tone-correcting processes, including candidates for tone-correcting processes that are not supported by the general-purpose program; an execution step of performing the tone-correcting process selected on the screen on image data generated by the general-purpose program; and a display step of displaying the image data on which the tone-correcting process has been performed on the display unit. [Effects of the Invention]
[0010] According to the present invention, the image data generated by a general-purpose program capable of generating printable image data by printing devices from multiple manufacturers is combined with multiple capabilities information of the printing device acquired in accordance with the Internet Printing Protocol. of The system can execute the selected halftone processing on a screen for the user to select a halftone processing from a plurality of halftone processing candidates, including halftone processing candidates that are not supported by the general-purpose program, and display the image data on which the halftone processing has been performed on the display unit. [Brief explanation of the drawing]
[0011] [Figure 1]This is a block diagram showing the hardware configuration of the printing system according to the first embodiment. [Figure 2] This is a block diagram showing the software configuration of a printing system. [Figure 3] This is an image diagram illustrating the changes in image data due to halftone processing. [Figure 4] This figure shows an example of a screen displayed on the display unit of a printing system. [Figure 5] This flowchart shows the process by which the print function extension unit edits print function information. [Figure 6] This figure shows an example of a list of printing device capability information. [Figure 7] This figure shows an example of a list of printing functions supported by an extended application. [Figure 8] This figure shows an example of a list of capability information for general-purpose printing software. [Figure 9] This is a sequence diagram showing the processes that occur between the drawing application, general-purpose printing software, extension applications, and printing device after the drawing application accepts the print settings. [Figure 10] This is a block diagram showing the software configuration of the printing system according to the second embodiment. [Figure 11] This flowchart shows the process by which the print function extension unit edits print function information. [Figure 12] This figure shows an example of a list of printing device capability information. [Figure 13] This is a sequence diagram showing the processes that occur between the drawing application, general-purpose printing software, extension applications, and printing device after the drawing application accepts the print settings. [Figure 14] The third embodiment is a sequence diagram showing the processes performed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application receives print settings. [Figure 15]It is a block diagram showing the software configuration of the printing system according to the fourth embodiment. [Figure 16] It is a sequence diagram showing the processes executed among the drawing application, general-purpose printing software, extended application, and printing device after the drawing application accepts the print settings. [Figure 17] It is a diagram showing an example of a screen displayed on the display unit of the printing system.
Mode for Carrying Out the Invention
[0012] Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in each embodiment. For example, each part constituting the present invention can be replaced with any configuration that can exhibit the same function. Also, an arbitrary component may be added. Further, any two or more configurations (features) among the embodiments can be combined.
[0013] <<First Embodiment>> Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 9.
[0014] <Hardware Configuration of the Printing System> Figure 1 is a block diagram showing the hardware configuration of a printing system according to the first embodiment. As shown in Figure 1, the printing system 1000 includes a host computer 101, a printing device 102, a keyboard 118, a pointing device 117, and a display unit 119, which are connected to each other in a communicative manner. The host computer 101 is an information processing device and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (recording medium) 114, an output interface 115, an input / output interface 116, and a NETIF 120. The host computer 101 can be, for example, a desktop personal computer, but is not limited to this, and can also be a notebook personal computer, a tablet terminal, a smartphone, etc.
[0015] The CPU 111 executes programs stored in the ROM 112 and the external storage device 114. The ROM 112 stores the initialization program. The external storage device 114 stores application programs, the operating system (OS), print data generation software, and various other data. In this embodiment, Microsoft's Windows 11 is installed on the host computer 101 as the OS. The RAM 113 is used as work memory for executing various programs stored in the external storage device 114, allowing various programs to run within the host computer 101. The input interface 110 is connected to input devices, namely the pointing device 117 and the keyboard 118. The output interface 115 is connected to the display unit 119 as a display device. The display unit 119 displays, for example, the print settings screen 400A and the detailed settings screen 400C, which will be described later. The NETIF 120 is a network interface that controls data transfer to and from external devices via the network. A printing device 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with printing devices 102 from multiple manufacturers, regardless of the manufacturer of the printing device 102, and thus process information between multiple printing devices 102 from different manufacturers.
[0016] The printing device 102 can be, for example, a multi-function device (MFP: Multi-Function Peripheral) with multiple functions such as copying, printing, and faxing, but is not limited to this. Also, the printing performed by the printing device 102 is electrophotographic printing in this embodiment, but is not limited to this, and could be inkjet printing, for example. Furthermore, in this embodiment, the host computer 101 and the printing device 102 are configured as separate devices, but is not limited to this. For example, the host computer 101 and the printing device 102 may be configured as an integrated device.
[0017] <Configuration of a software-centric printing system> Figure 2 is a block diagram showing the software configuration of a printing system. Figure 2(a) shows a typical configuration when the extended application (program) 204 is not associated with the general-purpose printing software (general-purpose program) 202 and the printing device 102. Figure 2(b) shows a configuration when the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102. The general-purpose printing software 202 is a program that can be used for printing on printing devices 102 from multiple manufacturers and is pre-installed in the OS. A program that operates based on IPP (Internet Printing Protocol) is used as this general-purpose printing software 202. The extended application 204 is an extended program (a program that executes control methods) that can extend the functionality of the general-purpose printing software 202. The extended application 204 is stored in the external storage device 114, for example, together with the OS (general-purpose printing software 202). As a result, the host computer 101 has the general-purpose printing software 202 and the extended application 204.
[0018] First, referring to Figure 2(a), we will describe the case where 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 content (print data) to be printed by the printing device 102. The drawing application 201 is not particularly limited and can include, for example, a word processing application or a spreadsheet application. The drawing application 201 issues a print command to the OS upon receiving a print request from the user, for example via the keyboard 118. 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 "Print Ticket (PT)". In addition, the drawing application 201 can display a print setting screen 400A (see Figure 4(a)) provided by the general-purpose printing software 202, the OS, or the drawing application 201 on the display unit 119 in order to output the print setting information. Furthermore, by operating (pressing) the control 405 in the print settings screen 400A, the general-purpose printing software 202 can display the detailed settings screen 400B (see Figure 4(b)) or the detailed settings screen 400C (see Figure 4(c)) on the display unit 119. The print settings screens 400A to 400C will be described later. The print settings screen 400A includes setting items that indicate the print functions that can be set, and control items that indicate the setting values, according to the capability information obtained from the general-purpose printing software 202, that is, the information that can be set as print settings. Capability information is also sometimes called Print Capabilities (hereinafter referred to as "PC"). In addition, it is possible to determine whether or not the printing device 102 is capable of performing halftone processing based on this capability information (determination step). "Halftone processing" is the process of generating image data that expresses halftones on the printed material printed by the printing device 102.
[0019] The general-purpose printing software 202 determines the PC based on the printing function information 203. The printing function information 203 is data indicating the printing function, which includes all configurable printing functions, their settings, and mutual exclusion relationships between the settings. The printing function information 203 is also called PDC (Print Device Capabilities). The printing function information 203 is included in the configuration file of the general-purpose printing software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the printing function information 203 is dynamically generated by the general-purpose printing software 202. Specifically, the general-purpose printing software 202 obtains attribute data of the printing device 102 from the printing device 102. The general-purpose printing software 202 generates the printing function information 203 according to the attribute information in this attribute data. When the printing function information 203 is dynamically generated in this way, it is editable. The attribute data of the printing device 102 is the response obtained by issuing the IPP "Get-Printer-Attributes" operation to the printing device 120. The response includes attribute information indicating the capabilities of the printer 102, which are the functions that can be specified on the printer 102, and setting values associated with that attribute information. The response is also stored in RAM 113.
[0020] With this configuration, the general-purpose printing software 202 allows the user to specify the printing functions available on the printing device 102, depending on the printing device 102 connected to the general-purpose printing software 202. This makes it possible to specify the printing functions available on the printing device regardless of the printing device 102 connected to the general-purpose printing software 202, that is, even when a printing device with different functions or a printing device developed by a different printer manufacturer is connected. In this embodiment, the general-purpose printing software 202 is assumed to be configured to use the "IPP Class Driver" included in Windows® 11. The "IPP Class Driver" is a printer driver that performs printing processing according to the specifications of a standard printing protocol called IPP, and is included in the OS package. The "IPP Class Driver" is not a specific printer driver for each model of printing device 102, but a standard class driver that can be used in common with printing devices 102 from each printer manufacturer, regardless of the printer manufacturer. The "IPP Class Driver" also acquires capability information of the printing device 102 and generates printing function information 203 based on that information. Furthermore, an extension application 204 can be associated with the general-purpose printing software 202. This allows the general-purpose printing software 202 to perform functions that are not present in the general-purpose printing software 202. The IPP ClassDriver (general-purpose printing software 202) cannot perform halftone processing to represent midtones on images printed by the printing device 102; it does not support the execution of halftone processing. This is because halftone processing is a function that is uniquely performed by the printing device 102 manufactured by the printer manufacturer. The extension application 204 can extend the functionality of the IPP ClassDriver to enable the execution of halftone processing that the IPP ClassDriver cannot perform. In this embodiment, the IPP ClassDriver cannot perform halftone processing, and the extension application 204 can extend it to enable that halftone processing, but it is not limited to this.For example, the IPP ClassDriver may perform part of the intermediate processing, and the extended application 204 may supplement the missing parts of that intermediate processing to further extend the scope of execution.
[0021] <Intermediate tone selection function> The "midtone selection function" allows users to select conditions such as the number of lines and angles of dots and lines of an AM screen when applying midtone processing, such as AM screen, to print data. AM screen stands for Amplitude Modulated Screening. For example, when applying midtone processing to print data containing text, depending on the density of the text, jagged edges (a type of distortion (noise) that occurs in digitized images, appearing as jagged steps on lines and outlines) or breaks may occur. In this case, increasing the number of lines of the AM screen can eliminate jagged edges and breaks, improving image quality. Users can also choose between the following two printing options: The first is printing that applies midtone processing by changing the AM screen conditions using the midtone selection function on the image to be printed. The second is printing that applies midtone processing using the default AM screen without using the midtone selection function. In addition to the AM screen processing mentioned above, there is also a processing method that uses error diffusion for midtone processing. AM screen processing allows for the representation of tonal gradations in an image with continuous tonality by converting it into binary dots of different sizes according to the signal value and arranging them in a specific grid pattern. Error diffusion processing allows for the representation of tonal gradations in an image with continuous tonality by referencing the signal value of each pixel from the edge of the image and using the difference between an arbitrary reference value and the signal value to represent the tonal gradation in binary.
[0022] Figure 3 is an illustrative diagram showing the changes in image data due to halftone processing. In this embodiment, three types of halftone patterns are listed: color tone, resolution, and error diffusion. In this embodiment, as an example, a process is described in which a grayscale 8-bit image is used as the input image and converted to a monochrome 1-bit image by halftone processing, but this is not the only example. For example, the input image may be an image having multiple color components, such as a CMYK image, and the image after halftone processing may also be converted to an image with one or more bits, such as 2-bit or 4-bit. First, the color tone pattern will be described. Image 301 shown in Figure 3(a) is grayscale 8-bit image data generated by the printing device 102. When AM screen processing is applied to image 301, image 302 shown in Figure 3(b) is generated as a monochrome 1-bit image. Image 302 is an image that has undergone halftone processing using a color tone pattern. In image 302, the density of lines composed of dots in the AM screen is set to a relatively low level. In this embodiment, the line density is 106 lines per inch, or 106 lpi (Lines Per Inch), but it is not limited to this; for example, it may be less than 106 lpi or more than 106 lpi. While the color pattern allows for the conversion of image data while maintaining the tonal reproduction of the image data, there is a risk of jagged edges. Therefore, the color pattern is suitable for images such as nature photographs.
[0023] Next, the resolution pattern will be explained. When AM screen processing is applied to image 301, image 303 shown in Figure 3(c) is generated as a monochrome 1-bit image. Image 303 shown in Figure 3(c) is an image that has undergone halftone processing using the resolution pattern. In image 303, the density of lines composed of dots in the AM screen is set higher than that of image 302. In this embodiment, the line density of image 303 is, for example, 212 lpi, but it is not limited to this, as long as it is higher than the line density of image 302, it may be less than 212 lpi or greater than 212 lpi. The resolution pattern reduces jagged edges, but tends to reduce the gradation reproduction of image data. Therefore, the resolution pattern is suitable for document images that contain a lot of text, for example.
[0024] Next, the error diffusion pattern will be explained. When processing using the error diffusion method is applied to image 301, image 304 shown in Figure 3(d) is generated as a monochrome 1-bit image. The error diffusion method can improve the reproducibility of fine lines, but it has a higher computational cost than AM screen processing and may generate a special type of noise called worm noise in certain gradations. Therefore, processing using the error diffusion method is suitable for images containing fine lines, such as drawings. For example, if the jagged edges of characters in the image data are noticeable, the user can change the midtone pattern using the midtone selection function on the UI screen displayed on the printer driver or the display unit 119 of the printing device 102, and print again. This allows the user to adjust to the desired image quality. In this embodiment, an example of applying one line screen pattern to the entire image data is described, but it is not limited to this. For example, if the image data is accompanied by data indicating the attributes of objects within the image data, the midtone pattern may be switched for each object based on those attributes.
[0025] Now, let's return to the explanation referring to Figure 2(a). Based on the print command output from the drawing application 201, the OS generates intermediate data (sometimes called "input data") and sends it to the general-purpose printing software 202. The data that the drawing application 201 outputs for printing is not particularly limited, but it is preferable, for example, to be XML Paper Specification (XPS) format data. Alternatively, the data that the drawing application 201 outputs for printing may be Graphic Device Interface (GDI) format data. When using the IPP Class Driver as the general-purpose printing software 202, if the data output by the drawing application 201 is GDI format data, the OS converts the GDI format data to XPS format data. The OS then sends this converted XPS format data as intermediate data to the general-purpose printing software 202. Furthermore, if the data output by the drawing application 201 is XPS format data, the OS sends this XPS format data as intermediate data to the general-purpose printing software 202. The intermediate data includes drawing data, which consists of information such as characters and shapes formed on the print medium, and print settings information set by the user.
[0026] The general-purpose printing software 202 converts the intermediate data into printable data (image data) that can be processed by the printing device 102, i.e., printable data (conversion process), and transmits it to the printing device 102. Here, "print data" in this embodiment refers to Page Description Language (PDL) data equivalent to IPP. PDL data is, for example, data in PDF (Portable Document Format) or PWG-Raster format. The print data includes drawing data, which is information such as characters and figures formed on the printing medium, and print setting attribute information, which is generated based on print setting information set by the user and specifies the print settings. The print setting attribute information includes attribute information indicating the functions that can be specified by the printing device 102, i.e., the capabilities of the printing device 102, and setting values related to said attribute information.
[0027] The printing device 102 prints onto a printing medium based on print data sent from the general-purpose printing software 202. At this time, the printing device 102 can form the drawing data contained in the print data onto the printing medium by performing operations according to the print setting attribute information contained in the print data. The print setting attribute information includes, for example, print quality such as image quality priority or speed priority, attribute information for specifying double-sided printing or single-sided printing, and the setting values for said attribute information. For example, if the print setting attribute information includes attribute information for specifying double-sided printing, the printing device 102 can perform double-sided printing.
[0028] <If an extended application is associated> Referring to Figure 2(b), the configuration in which the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102 will be described. As shown in Figure 2(b), unlike Figure 2(a), the extended application 204 is added. That is, the host computer 101 has the drawing application 201, the general-purpose printing software 202, the printing function information 203, and furthermore, the extended application 204. The extended application 204 is software for extending the functionality of the general-purpose printing software 202. Note that the extended application 204 is software that is not pre-included (not bundled) with the OS. Therefore, the extended application 204 is downloaded from a server (not shown) via the Internet by the user operating the host computer 101 and installed on the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection when the printing device 102 is connected to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS obtains device identification information from the printing device 102. The OS may download and install the extended application 204 corresponding to this device identification information from a server via the internet. As a result, the host computer 101 maintains the general-purpose printing software 202 and the extended application 204 as separate control programs. The general-purpose printing software 202 and the extended application 204 may be updated and upgraded. In this case, the update process for the general-purpose printing software 202 and the update process for the extended application 204 may occur at the same time or at different times. Also, the trigger for the host computer 101 to acquire the general-purpose printing software 202 and the trigger for acquiring the extended application 204 may be the same trigger or different triggers.Furthermore, if the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose printing software 202 and the printing device 102.
[0029] As shown in Figure 2(b), the extended application 204 can exchange information (send and receive information) with the general-purpose printing software 202 and the printing device 102, respectively. In other words, the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102. In this embodiment, the extended application 204 has a print settings screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 209. The extended application 204 also has shared information 208 that can be accessed from each of the units: the print settings screen extension unit 205, the print function extension unit 206, the intermediate data editing unit 207, and the notification unit 209. The shared information 208 is a file stored in the external storage device 114 or information stored in the RAM 113. The extended application 204 can write to and read the shared information 208 by using the API (Application Program Interface) provided by the OS.
[0030] Furthermore, the extended application 204 may terminate its operation as a whole when the processing of each unit from the print settings screen extended unit 205 to the notification unit 209 is completed. In this case, the OS will start the extended application 204 each time it receives a processing request for each unit. Also, the OS will terminate the operation of the extended application 204 as a whole, for example, when the processing of the print settings screen extended unit 205 is completed. In addition, the extended application 204 may cancel the processing of each unit from the print settings screen extended unit 205 to the notification unit 209 while it is in progress. In this case, the OS will delete the jobs currently being processed on the print queue. As mentioned above, the drawing application 201 issues a print command to the OS upon receiving a print request from the user. The drawing application 201 can also display the print settings screen. In the configuration shown in Figure 2(b), the drawing application 201 can display the print settings screen 400A (detailed settings screen 400C) provided by the print settings screen extended unit 205 (extended application 204). Furthermore, the print settings screen extension unit 205 can save the detailed settings configured by the user to the shared information 208. Details of the print settings screen extension unit 205 will be described later.
[0031] The intermediate data editing unit 207 acquires intermediate data from the general-purpose printing software 202. The intermediate data editing unit 207 then converts the intermediate data into print data and transmits the print data to the printing device 102. The intermediate data editing unit 207 also acquires detailed setting information from the shared information 208 and adds the detailed settings to the print data. The printing device 102 prints on the paper based on the print data from the intermediate data editing unit 207. The extended application 204 may also be configured to acquire the print data generated by the general-purpose printing software 202 and add detailed settings to it. Furthermore, even in the configuration shown in Figure 2(b), intermediate tone processing may not be performed. In this case, the general-purpose printing software 202 may transmit the print data to the printing device 102 without going through the extended application 204.
[0032] The print function extension unit 206 can edit the print function information 203 (PDC) generated by the general-purpose printing software 202 or the OS. This allows for the addition of functions provided by the extension application 204. It can also add functions that are executable on the printing device 102 but not on the general-purpose printing software 202, and add mutual exclusion relationships between print function settings. The OS starts the print function extension unit 206 when the extension application 204 is first associated with the printing device 102 and the general-purpose printing software 202. The OS may also start the print function extension unit 206 at other times (e.g., when the OS starts). With such startup, even if printing-related functions are extended later, the print function extension unit 206 can detect the extension and add it to the print function information 203. An example of later extensions to printing-related functions is the addition of optional devices (e.g., a finisher) to the printing device 102.
[0033] The notification unit 209 can notify the user when an error occurs in the printer 102. For example, if a paper out error occurs in the printer 102, the general-purpose printing software 202 detects this error. The OS uses a notification function called toast notification, which is one of the functions of the OS, to display the paper out error detected by the general-purpose printing software 202 as a message on the display unit 119. When the user interacts with the toast notification, the notification unit 209 is called by the OS and the user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, detailed messages regarding the paper out error and instructions on how to load paper.
[0034] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is performed by the print settings screen extension unit 205. The second function is to edit intermediate data, convert it into print data, and add detailed settings to the print data. This function is performed by the intermediate data editing unit 207. The third function is to extend the functions that can be specified in the print data generation software. This function is performed by the print function extension unit 206. The fourth function is to display a screen in response to an error occurring in the printer 102. This function is performed by the notification unit 209. Note that the configuration of the extended application 204 is not limited to a configuration having these four functions, and it is preferable to have a configuration having at least one function, and it may also have a configuration having other functions. Furthermore, once the extended application 204 has sent print data to the printer 102, it is not possible to display screens such as guides associated with the print data during the processing of each unit.
[0035] <Example of print settings screen / advanced settings screen> Figure 4 shows an example of a screen displayed on the display unit of a printing system. Figure 4(a) is the print settings screen displayed by the drawing application 201. Figure 4(b) is the detailed settings screen displayed when the extended application 204 is not associated. Figure 4(c) is the detailed settings screen displayed when the extended application 204 is associated. Note that the units and modules that display each screen are not particularly limited. For example, the print settings screen extension unit 205 may be configured only to generate the display screen. In that 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 may be configured to display the acquired display screen.
[0036] The print settings screen 400A shown in Figure 4(a) includes controls 401, 402, 403, 404, and 405. Control 401 allows you to set the printer 102 to be used for printing, the orientation of the print on the printer 102, and the number of copies to print on the printer 102. In Figure 4(a), as an example, the printer 102 to be used for printing is set to "Printer 200a", the orientation of the print on the printer 102 is set to "Portrait", and the number of copies to print on the printer 102 is set to "1". Control 402 displays a preview screen. Control 403 allows you to instruct the printer 102 to start printing. Control 404 allows you to instruct the printer 102 to cancel printing. Control 405 allows you to make detailed settings. By operating control 405, additional print screens are displayed by the general-purpose printing software 202 or the print settings screen extension unit 205.
[0037] The detailed settings screen 400B shown in Figure 4(b) includes controls 406, 407, 408, and 409. Control 406 allows you to select and set the type of paper used for printing with the printer 102. In Figure 4(b), "Plain Paper" is selected as an example. Control 407 allows you to select and set the paper size used for printing with the printer 102. In Figure 4(b), "A4" is selected as an example. Control 408 allows you to select the paper feed slot for printing with the printer 102. In Figure 4(b), "Automatic" is selected as an example. Control 409 allows you to exit the settings made in controls 406 to 408. Also, by operating control 409, you can return to the print settings screen 400A shown in Figure 4(a).
[0038] The detailed settings screen (settings screen) 400C shown in Figure 4(c) includes controls 406, 407, 408, and 409, similar to the detailed settings screen 400B. In addition, control 410 is included in the detailed settings screen 400C. Control 410 allows you to select and set the execution conditions (setting items for midtone settings) when performing midtone processing (setting process). By operating control 410, list 411 is displayed. List 411 includes resolution (resolution section) 411A, color tone (color tone section) 411B, and error diffusion (error diffusion section) 411C as execution conditions for midtone processing (hereinafter sometimes referred to as the "midtone selection function"), and you can select any of these. By selecting resolution 411A, the resolution pattern can be determined as the midtone pattern described above. By selecting color tone 411B, the color tone pattern can be determined as the midtone pattern. By selecting error diffusion 411C, the error diffusion pattern can be determined as the midtone pattern. In this way, by selecting the desired midtone from list 411, the midtone pattern can be switched and printing can be performed. The detailed settings screen 400C may also include a preview screen (sample image) of the image after midtone processing, as information regarding the results of the midtone processing, i.e., the results of switching the midtone pattern. Furthermore, when resolution 411A or color tone 411B is selected, AM screen processing is used for midtone processing. The density of dots and lines on the AM screen is higher for resolution 411A than for color tone 411B. As a result, as will be described later, image data with reduced jaggedness is generated compared to when midtone processing is performed using a color tone pattern.
[0039] In this embodiment, if printing is performed without performing halftone processing (without using the halftone selection function), halftone processing is applied using a color tone pattern. In this embodiment, the execution conditions for halftone processing include resolution 411A, color tone 411B, and error diffusion 411C, but are not limited to these; at least one of these items is sufficient, and other items may be added. In addition, in the printing system 1000, by selecting resolution 411A, a resolution change screen (not shown) may be displayed on the display unit 119, which allows the user to change the resolution in halftones to a desired resolution. The user can select the desired resolution on this resolution change screen. In addition, by selecting color tone 411B, a color tone change screen (not shown) may be displayed on the display unit 119, which allows the user to change the color tone in halftones to a desired color tone. The user can change to the desired color tone on this color tone change screen. In addition, by selecting error diffusion 411C, an error diffusion change screen (not shown) may be displayed on the display unit 119, which allows the user to change the number of colors and gradations of the image in the error diffusion method to a desired size. The user can change the error diffusion to their desired size on this error diffusion modification screen.
[0040] Here, we will explain why the items included in the detailed settings screen 400B shown in Figure 4(b) and the items included in the detailed settings screen 400C shown in Figure 4(c) are different. Detailed settings screens 400B and 400C are each generated based on print function information (capability information). As mentioned above, the general-purpose printing software 202 does not support the execution of halftone processing. Therefore, the general-purpose printing software 202 alone cannot add a halftone selection function to the print function information. Furthermore, even if the print function information originally included a halftone selection function, the general-purpose printing software 202 cannot interpret the halftone selection function included in the print function information. Therefore, it is not possible to display the halftone settings on the detailed settings screen. So, the print function extension unit 206 adds the halftone selection function to the print function information 203. Then, the print setting screen extension unit 205 refers to the capability information and displays the detailed settings screen 400C. As a result, the extension application 204 can display the halftone settings on the detailed settings screen.
[0041] <Flowchart for editing print function information on the print function extension unit> Figure 5 is a flowchart showing the process by which the print function extension unit edits print function information. The program based on the flowchart shown in Figure 5 is executed by the CPU 111 controlling the print function extension unit 206. Figure 6 is a diagram showing an example of a list of capabilities information for the printing device. Figure 7 is a diagram showing an example of a list of printing functions supported by the extension application. Figure 8 is a diagram showing an example of a list of capabilities information for general-purpose printing software. As shown in Figure 5, in step S501, the print function extension unit 206 acquires capability information from the printing device 102 (acquisition step). Capability information is a set value included in the response obtained by issuing the IPP "Get-Printer-Attributes" operation to the printing device 102. The set value is attribute information that indicates the functions that can be specified on the printing device 102 and related to that attribute information. Table 601 shown in Figure 6 shows a list of capability information for the printing device 102. Capability information includes, for example, information on the paper size used for printing on the printing device 102. Other information includes the type of paper (media) used for printing in the printing device 102, information regarding the paper feed slot for the paper used in printing in the printing device 102, and information regarding the halftones that can be produced by the printing device 102. This halftone information includes the aforementioned color tone, resolution, and error diffusion.
[0042] In step S502, the print function extension unit 206 retrieves the print functions supported by the extension application 204 from the shared information 208. The shared information 208 stores a list of print functions supported by the extension application 204. This list includes all print functions that the extension application 204 can process, and their settings. Table 701, shown in Figure 7, contains information on the paper sizes supported by the extension application 204 as print functions. Other information includes information on the paper types (media) supported by the extension application 204, information on the paper feed slots supported by the extension application 204, and information on the halftones supported by the extension application 204. Note that this halftone information includes the aforementioned color tone, resolution, and error diffusion, similar to Table 601. Furthermore, the print functions supported by the extension application 204 may be updated through updates to the extension application 204, etc.
[0043] In step S503, the print function expansion unit 206 obtains print function information 203 created by the general-purpose printing software 202 from the OS. The print function information 203 is created by the general-purpose printing software 202 based on capability information 501 obtained from the printing device 102. The print function information 203 (PDC) created by the general-purpose printing software 202 includes only the print functions supported by the general-purpose printing software 202 from the capability information obtained from the printing device 102. For example, Table 701 shown in Figure 7 includes "7x10 inches" and "Western-style No. 6" as paper sizes, but the general-purpose printing software 202 does not support these paper sizes. Therefore, the print function information 203 does not include these paper sizes. By adding functions and options to the print function information 203, the print function expansion unit 206 enables the expansion application 204 to compensate for the lack of functionality in the general-purpose printing software 202. Furthermore, the printing function expansion unit 206 can also remove unnecessary functions and options from the printing function information 203 created by the general-purpose printing software 202.
[0044] Steps S504, S505, and S506 are repeated processes for the list of functions contained in the capability information obtained from the printing device 102 in step S501. In this embodiment, steps S504, S505, and S506 are repeated for all 12 options included in Table 701.
[0045] In step S504, the print function extension unit 206 determines whether the function or option currently being processed exists in the print function information 203 generated by the general-purpose printing software 202. If the determination in step S504 determines that it exists in the print function information 203, the processing ends if the last item among the options is being processed. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S504 is executed again. On the other hand, if the determination in step S504 determines that it does not exist in the print function information 203, the processing proceeds to step S505. For example, in this embodiment, Table 601 includes the paper size "A4", and Table 801 also includes the paper size "A4". In this case, step S504 determines that the function or option currently being processed exists in the print function information 203. In contrast, Table 601 includes the intermediate tone "color tone", but Table 801 does not include the intermediate tone "color tone". In this case, step S504 determines that the function or option currently being processed does not exist in the print function information 203.
[0046] In step S505, the print function extension unit 206 determines whether the currently processed function (option) exists among the functions (options) supported by the extension application 204. If the determination in step S505 determines that the currently processed function exists, the process proceeds to step S506. On the other hand, if the determination in step S505 determines that the currently processed function does not exist, the process terminates if the last item among the options is being processed, similar to when "Yes" was determined in step S504. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S504 is executed again. For example, in this embodiment, if the currently processed function is the midtone "color tone", then the midtone "color tone" also exists in Table 701. Therefore, in step S505, it is determined that the currently processed function exists.
[0047] In step S506, the print function extension unit 206 adds the currently processed function (option) to the print function information 203. After step S506 is executed, if the last item among the options is being processed, the process is terminated, as in the case where "Yes" was determined in step S504. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S504 is executed again.
[0048] As described above, the extended application 204 can add functions (options) to the print function information 203 that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are also supported by the extended application 204. Based on the print function information 203 edited through this addition process, capability information (PC) is generated. Furthermore, the print setting screen extension unit 205 generates a display screen based on this capability information, thereby extending the functions not supported by the general-purpose printing software 202 and displaying the detailed setting screen 400C shown in Figure 4(c).
[0049] <Processing after the drawing application accepts the print settings> Figure 9 is a sequence diagram showing the processing performed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application accepts the print settings. Processing in the drawing application, general-purpose printing software, and extension application is executed by the CPU 111 of the host computer 101. This processing program is stored in the external storage device 114. The CPU 111 then reads the processing program from the external storage device 114 into the RAM 113 and executes it. Processing in the printing device 102 is executed by the CPU (not shown) of the printing device 102. The software configuration of the printing system 1000 is as shown in Figure 2(b).
[0050] As shown in Figure 9, in step S901, the drawing application 201 accepts print settings from the user. The user can, for example, operate the pointing device 117 or the keyboard 118 to instruct the drawing application 201 on print settings.
[0051] In step S902, the drawing application 201 displays the print settings screen 400A shown in Figure 4(a) on the display unit 119.
[0052] In step S903, the drawing application 201 accepts detailed setting instructions from the user. The user can provide detailed settings, for example, by operating the pointing device 117 or keyboard 118 to select control 405 on the print settings screen 400A.
[0053] In step S904, the drawing application 201 requests the general-purpose printing software 202 to display the detailed settings.
[0054] In step S905, the general-purpose printing software 202 requests the extended application 204 to display the detailed settings.
[0055] In step S906, the print settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 400C shown in Figure 4(c). As mentioned above, the print function extension unit 206 adds halftone settings to the print function information 203 (PDC). The print settings screen extension unit 205 can display the detailed settings screen 400C by referring to the capability information (PC) generated based on this added print function information 203.
[0056] In step S907, the print settings screen extension unit 205 accepts the user's detailed settings on the detailed settings screen 400C. Here, as an example, it is assumed that on the detailed settings screen 400C, the paper type "Plain Paper" is selected in control 406, the paper size "A4" is selected in control 407, and the paper feed slot "Automatic" is selected in control 408 (see Figure 4(c)). It is also assumed that the halftone "Resolution" is selected in control 410. With these settings, the print settings screen extension unit 205 accepts that the user has operated control 409 on the detailed settings screen 400C.
[0057] In step S908, the print settings screen extension unit 205 receives confirmation that the user has finished the detailed settings based on the operation of control 409 in step S907. The user can indicate the end of the detailed settings by, for example, operating the pointing device 117 or keyboard 118 to select control 409.
[0058] In step S909, the extended application 204 sends detailed setting completion information to the general-purpose printing software 202, indicating that the detailed settings in step S908 have been completed.
[0059] In step S910, the general-purpose printing software 202 receives the detailed settings completion information sent from the extended application 204 in step S909. The general-purpose printing software 202 then sends this detailed settings completion information to the drawing application 201.
[0060] In step S911, the drawing application 201 accepts a print command from the user. The user can issue a print command, for example, by operating the pointing device 117 or keyboard 118 and selecting control 403 on the print settings screen 400A (see Figure 4(a)).
[0061] In step S912, the drawing application 201 issues the print command received in step S911 to the general-purpose printing software 202.
[0062] In step S913, the general-purpose printing software 202 uses the OS module to generate intermediate data based on the print instructions in step S912.
[0063] In step S914, the general-purpose printing software 202 saves the print settings information (PT) based on the print instruction in step S912 to the shared information 208.
[0064] In step S915, the general-purpose printing software 202 sends the drawing data from the intermediate data generated in step S913 to the extended application 204.
[0065] In step S916, the intermediate data editing unit 207 of the extended application 204 retrieves the print settings information saved in step S914 from the shared information 208.
[0066] In step S917, the intermediate data editing unit 207 of the extended application 204 generates print data using the drawing data sent in step S915 and the print setting information acquired in step S916.
[0067] In step S918, the intermediate data editing unit 207 of the extended application 204 sends the print data generated in step S917 to the printing device 102.
[0068] In step S919, the printing device 102 receives the print data transmitted in step S918. The printing device 102 interprets the print data and performs the necessary image processing on it. The image processing performed here is midtone processing using a resolution pattern. As a result, compared to, for example, a case where midtone processing is performed using a color pattern without midtone selection, image data with reduced jagged edges is generated.
[0069] In step S920, the printing device 102 prints the print data that has undergone image processing in step S919. This results in the output of an image with reduced jagged edges.
[0070] As described above, in the printing system 1000, even if the general-purpose printing software 202 does not support halftone processing, the extended application 204 can cause the printing device 102 to perform halftone processing (execution step). As a result, the printing device 102 will print a printed material with halftones applied (reflected). In the explanation referring to Figure 9, the software configuration of the printing system 1000 is assumed to be the software configuration shown in Figure 2(b), and the detailed settings screen 400C shown in Figure 4(c) is displayed, but it is not limited to this. For example, if a request to display detailed settings is made to the general-purpose printing software 202 in step S904, the general-purpose printing software 202 will display the detailed settings screen 400B shown in Figure 4(b). In this case, after operating the control 409 on the detailed settings screen 400B, the general-purpose printing software 202 requests the extended application 204 to display an additional detailed settings screen. Subsequently, the extended application 204 may display an additional detailed settings screen in which halftone settings can be configured. Furthermore, in this embodiment, the extended application 204 generates print data from the intermediate data generated by the general-purpose printing software 202, but this is not limited to this, and for example, the extended application 204 itself may generate the intermediate data.
[0071] <<Second Embodiment>> The second embodiment will be described below with reference to Figures 10 to 13, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. In the first embodiment, the extended application 204, together with the general-purpose printing software 202, generates print data including halftone settings. This print data is transmitted to the printing device 102. The printing device 102 can interpret the print data including halftone settings and perform halftone processing using a halftone module (not shown) installed in the printing device 102. Thus, in the first embodiment, the extended application 204, together with the general-purpose printing software 202, causes the printing device 102 to perform halftone processing.
[0072] However, some printing devices 102 may not have a halftone module. In this case, even if the extended application 204 generates print data including halftone settings, it is not possible to have the printing device 102 perform halftone processing. If the printing device 102 does not have a halftone module, it is preferable for the extended application 204 to perform halftone processing before generating the print data and then sending it to the printing device 102.
[0073] Therefore, in this embodiment, it is determined whether or not a halftone module is installed based on the capability information of the printing device 102. If it is determined that a halftone module is installed, the extended application 204 generates print data that reflects the halftone settings and sends it to the printing device 102. On the other hand, if it is determined that a halftone module is not installed, the extended application 204 generates print data after performing halftone processing on the drawing data and sends it to the printing device 102. This makes it possible to provide the user with a halftone selection function even if the printing device 102 does not have a halftone module installed. This embodiment is the same as the first embodiment except that the configuration of the printing system 1000 when the extended application 204 is associated, the editing process of the PDC, and the processing after the drawing application 201 receives the print settings are different.
[0074] <Configuration of a software-centric printing system> Figure 10 is a block diagram showing the software configuration of a printing system according to the second embodiment. The block diagram shown in Figure 10 shows the configuration when the extended application 902 is associated with the general-purpose printing software 202 and the printing device 102. As shown in Figure 10, the host computer 101 has a drawing application 201, general-purpose printing software 202, printing function information 203, and the extended application 1002. The extended application 1002 is also connected to the printing device 901 in a communicative manner. Unlike the printing device 102 in the first embodiment, the printing device 901 is a printing device that does not have a halftone module. The extended application 1002 has a print setting screen extension unit 205, an intermediate data editing unit 207, a notification unit 209, a printing function extension unit 1003, and a halftone processing unit 1004. The printing function extension unit 1003 can add a halftone selection function to the printing function information 203 even if it is determined that there is no halftone selection function based on capability information obtained from the printing device 901. The halftone processing unit 1004 performs halftone processing on the intermediate data (drawing data) from the general-purpose printing software 202 based on the halftone settings set by the user.
[0075] <Flowchart for editing print function information on the print function extension unit> Figure 11 is a flowchart showing the process by which the printing function expansion unit edits printing function information. The program based on the flowchart shown in Figure 11 is executed by the CPU 111 controlling the printing function expansion unit 1003. Furthermore, the flowchart shown in Figure 11 is a flowchart with steps S1101 and S1102 added compared to the flowchart shown in Figure 5. Figure 12 is a diagram showing an example of a list of printing device capability information.
[0076] As shown in Figure 11, when the repeated processing of steps S504 to S506 is completed, the process proceeds to step S1101. Table 1201, shown in Figure 12, shows a list of the capabilities information of the printing device 901. This table 1201 includes information on paper size, paper type, and paper feed slot as capability information, but unlike Table 601 shown in Figure 6, it does not include information on halftones. Therefore, it can be seen that the printing device 901 is not equipped with a halftone module. Consequently, the halftone function is not added to the printing function information 203 after the processing of steps S504 to S506 is completed.
[0077] As shown in Figure 11, in step S1101, the printing function extension unit 1003 determines whether or not the extension application 1002 has a halftone processing unit 1004, that is, whether or not the halftone processing unit 1004 exists. If the determination in step S1101 determines that the halftone processing unit 1004 exists, the process proceeds to step S1102. On the other hand, if the determination in step S1101 determines that the halftone processing unit 1004 does not exist, the process ends. As mentioned above, the extension application 1002 has a halftone processing unit 1004, so the process proceeds to step S1102.
[0078] In step S1102, the print function extension unit 1003 adds information about halftones (color tone, resolution, error diffusion) supported by the extended application 1002 in Table 601 shown in Figure 6 to the print function information 203.
[0079] As described above, the extended application 1002 can add functions (options) to the printing function information 203 that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are also supported by the extended application 204. The extended application 1002 then determines whether or not there is a halftone processing unit 1004. If, as a result of this determination, it is determined that there is a halftone processing unit 1004, then the halftone function is added to the printing function information 203. This addition process allows the printer 901 to generate capability information based on the printing function information 203 with the added halftone function, even if it does not have a halftone module. Based on this capability information, the extended application 1002 can generate a display screen, thereby displaying the detailed settings screen 400C shown in Figure 4(c).
[0080] <Processing after the drawing application accepts the print settings> Figure 13 is a sequence diagram showing the processes executed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application accepts the print settings. The sequence diagram shown in Figure 13 is a sequence diagram in which steps S1301 to S1304 are mainly added compared to the sequence diagram shown in Figure 9. As shown in Figure 13, after step S915 is executed, the process proceeds to step S1301. In step S1301, the halftone processing unit 1004 of the extended application 1002 obtains the print setting information (PT) saved in step S914 from the shared information 208. The halftone processing unit 1004 also obtains information regarding the halftone settings included in the print setting information.
[0081] In step S1302, the intermediate processing unit 1004 obtains the capability information of the printing device 1001 from the shared information 208. If the capability information of the printing device 1001 is not included in the shared information 208, the printing function extension unit 1003 may request the capability information from the printing device 1001. In this case as well, the capability information is stored in the shared information 208.
[0082] In step S1303, the halftone processing unit 1004 determines whether or not the printing device 1001 has a halftone module based on the capability information acquired in step S1302. As mentioned above, in this embodiment, the printing device 1001 does not have a halftone module. Therefore, the determination result in step S1303 is that the printing device 1001 does not have a halftone module. If the determination result in step S1303 is that the printing device 1001 does have a halftone module, the process skips step S1304 and proceeds to step S917. This is because the halftone module of the printing device 1001 is capable of performing halftone processing at a higher speed than the halftone processing unit 1004. Specifically, the halftone module of the printing device 1001 is an ASIC (Application Specific Integrated Circuit), which enables it to generate samples faster than the halftone processing unit 1004.
[0083] In step S1304, the halftone processing unit 1004 performs halftone processing on the intermediate drawing data (intermediate data) based on the halftone setting information obtained in step S1301. The result of this processing is stored in the shared information 208. The halftone processing unit 1004 also deletes the halftone setting information from the print setting information. After step S1304 is executed, the process proceeds sequentially to steps S917 to S920.
[0084] As described above, in this embodiment, even if the printing device 1001 is not equipped with a halftone module, the extended application 1002 can perform halftone processing together with the general-purpose printing software 202 in place of the halftone module. As a result, the printing device 1001 will also print printed materials with halftones applied. Thus, in this embodiment, if it is determined that the printing device 1001 is not equipped with a halftone module, halftone processing can be performed together with the general-purpose printing software 202. On the other hand, if it is determined that the printing device 1001 is equipped with a halftone module, the printing device 102 can be made to perform halftone processing together with the general-purpose printing software 202, similar to the first embodiment.
[0085] <<Third Embodiment>> The third embodiment will now be described with reference to Figure 14, focusing on the differences from the previously described embodiments, and similar matters will be omitted. The first embodiment described the case where halftone processing is performed on the printing device 1001, and the second embodiment described the case where halftone processing is performed on the extended application 1002. However, when performing halftone processing on the printing device 1001, depending on the printing device 1001, for example, it may not be equipped with an ASIC, making it difficult to perform high-speed halftone processing. In particular, for halftone processing with relatively high computational costs, such as the error diffusion method, the CPU 111 in the host computer 101 may be more powerful than the CPU in the printing device 1001. Therefore, it may be possible to perform halftone processing faster by performing it on the extended application 1002.
[0086] Therefore, in this embodiment, the printing device 1001 or the extended application 1002 performs the halftone processing (execution conditions) selected by the user. For example, if an error diffusion pattern is selected, the extended application 1002 performs the halftone processing, and if a halftone pattern other than the error diffusion pattern is selected, the printing device 1001 performs the halftone processing. This embodiment is the same as the first and second embodiments except that the processing after the drawing application 201 accepts the print settings is different.
[0087] <Processing after the drawing application accepts the print settings> Figure 14 is a sequence diagram showing the processing performed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application receives the print settings in the third embodiment. The sequence diagram shown in Figure 14 is a sequence diagram in which steps S1401 and S1402 are mainly added compared to the sequence diagram shown in Figure 13. As shown in Figure 14, after step S1301 is executed, the process proceeds to step S1401. In step S1401, the halftone processing unit 1004 of the extended application 1002 determines whether the selected halftone pattern is a specific halftone pattern, i.e., an error diffusion pattern, based on the halftone settings obtained in step S1301. If the determination in step S1401 is that it is an error diffusion pattern, the process proceeds to step S1402. On the other hand, if the determination in step S1401 is that it is not an error diffusion pattern, the process proceeds sequentially to steps S917 to S920.
[0088] In step S1402, halftone processing using the error diffusion method is performed on the intermediate drawing data (intermediate data). The result of this processing is stored in shared information 208. After step S1402 is executed, the process proceeds sequentially to steps S917 to S920. In step S919, the printing device 1001 performs necessary image processing on the image of the print data, but if halftone processing has been performed in step S1402, image processing excluding halftone processing is performed.
[0089] As described above, in this embodiment, the halftone processing can be performed by the printing device 1001 or the extended application 1002 depending on the halftone processing. This allows the halftone processing to be performed at high speed; that is, halftone processing with relatively high computational costs is performed by the extended application, and halftone processing with relatively low computational costs is performed by the printing device 1001.
[0090] <<Fourth Embodiment>> The fourth embodiment will be described below with reference to Figures 15 to 17, focusing on the differences from the previously described embodiment, and similar matters will be omitted from the explanation. When the halftone setting is switched, the switch is not reflected in the preview screen of the control 402 of the print setting screen 400A shown in Figure 4(a). In addition, depending on the print data, the change in image quality due to the switching of the halftone setting may be so small that it may be difficult to confirm the change in image quality without zooming in on the preview screen.
[0091] Therefore, in this embodiment, the halftone processing selected by the user is displayed enlarged on the preview screen shown on the control 402. This embodiment is the same as the first embodiment except that the configuration of the printing system 1000, the print settings screen displayed by the print settings screen extension unit 205, and the processing after the extension application 1501 receives the print settings are different.
[0092] <Configuration of a software-centric printing system> Figure 15 is a block diagram showing the software configuration of the printing system according to the fourth embodiment. As shown in Figure 15, the printing system 1000 has an extended application 1501. The extended application 1501 includes a print settings screen extended unit 205, a print function extended unit 206, an intermediate data editing unit 207, a notification unit 209, a preview image generation unit 1502, and a preview image display unit 1503. The preview image generation unit 1502 performs halftone processing on the image of the intermediate data (drawing data) received from the general-purpose printing software 202 based on the halftone settings set by the user. The preview image generation unit 1502 then generates a preview image that reflects the halftone processing. The preview image display unit 1503 displays the preview image generated by the preview image generation unit 1502 as a preview screen 1701 (see Figure 17(a)).
[0093] <Sequence of events after the drawing application accepts the print settings> Figure 16 is a sequence diagram showing the processes executed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application receives the print settings. The sequence diagram shown in Figure 16 is a sequence diagram in which steps S1601 and S1602 are mainly added compared to the sequence diagram shown in Figure 9. Figure 17 is a diagram showing an example of a screen displayed on the display unit of the printing system. Figure 17(a) is the print settings screen displayed by the drawing application 201. Figure 17(b) is the detailed settings screen displayed when the extended application 1501 is not associated. Figure 17(c) is the detailed settings screen displayed when the extended application 1501 is associated. Figure 17(d) is the print settings screen displayed by the preview image display unit 1503.
[0094] As shown in Figure 16, after step S907 is executed, the process proceeds to step S1601. In step S1601, the preview image generation unit 1502 of the extended application 1501 performs halftone processing on the drawing data in the intermediate data acquired from the general-purpose printing software 202, according to the detailed settings (halftone settings) in step S907. The preview image generation unit 1502 then generates a preview image that reflects the halftone processing. For example, the preview screen 1701 of the print setting screen 1700A shown in Figure 17(a) may include the coordinates of the character section 1702. In this case, based on the coordinates of the character section 1702, an enlarged image may be generated to display a range of 1000 pixels vertically and horizontally from the coordinates of the character section 1702 on the preview screen, and this enlarged image may be used as the preview image. Note that the method of generating the enlarged image is not limited to the above method; for example, a range of a specified number of pixels from the upper left corner of the preview screen 1701 may be specified. The specified range may be larger or smaller than the specified range. Furthermore, the process of generating enlarged images may be omitted.
[0095] In step S1602, the preview image display unit 1503 of the extended application 1501 displays the preview image generated in step S1601 as the print settings screen 1703 shown in Figure 17(d). After step S1402 is executed, the process proceeds sequentially from steps S908 to S920. As described above, in this embodiment, the image quality changes due to the selected halftone processing can be previewed in an enlarged image, and therefore the user can easily confirm the image quality changes on the enlarged image.
[0096] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, 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.
[0097] Each embodiment of the disclosure includes the following programs, recording media, methods, and configurations. (Program 1) Printing equipment from multiple manufacturers Therefore mark Printable Incompetent Image data generation capabilities General-purpose programming Supporting It is a program, The general-purpose program generated image data In The execution process involves performing the adjustment process, A display step of displaying the image data on which the aforementioned intermediate tone processing has been performed on a display unit, and a computer to execute this display step. A program characterized by the following features. (Program 2) A display control process that displays a screen on the display unit for selecting a halftone processing method from multiple types of halftone processing. of Let the computer perform further , The execution step is generated by the general-purpose program image data to , the above screen The above set Perform intermediate tone processing. Characterized by Program 1 The program described above. (Program 3) The program according to program 2, characterized in that the plurality of intermediate tone processing includes a color tone unit for selecting a color tone, a resolution unit for selecting a resolution, and an error diffusion unit for selecting an error diffusion. (Program 4) In the aforementioned display step, The aforementioned The image data after intermediate processing and the items for setting the printing device to be used for printing based on the image data are displayed on the display unit. Features that it displays One of programs 1 through 3 The program described above. (Program 5) When the color tone unit or the resolution unit is selected, the midtone processing is characterized in that AM screen processing is used. Program 3 The program described above. (Program 6)The AM screen is characterized in that the density of dots, or lines composed of such dots, is higher in the resolution section than in the color section. Program 5 The program described above. (Program 7) When the error diffusion unit is selected, the error diffusion method is used for the intermediate adjustment process. Program 3 The program described above. (Program 8) The general-purpose program teeth , a program that cannot perform the aforementioned intermediate tone processing That is Characterized by One of programs 1 through 7 The program described above. (Program 9) The general-purpose program teeth Programs that operate based on the Internet Printing Protocol That is Characterized by One of programs 1 through 8 The program described above. (Program 10) One of programs 1 through 9 The program described is stored. Ta Recording medium. (Method 1) Printing equipment from multiple manufacturers Therefore mark Printable Incompetent Image data generation capabilities General-purpose programming Supporting control Perform method And, The general-purpose program generated image data In The execution process involves performing the adjustment process, A display step in which the image data on which the intermediate tone processing has been performed is displayed on a display unit, A control method characterized by having the following features. (Composition 1) Printing equipment from multiple manufacturers Therefore mark Printable Incompetent Image data generation capabilities General-purpose programming The program comprises a m and a program that supports the general-purpose program. An information processing device, The aforementioned program, The general-purpose program generated image data In The execution process involves performing the adjustment process, A display step of displaying the image data on which the aforementioned intermediate tone processing has been performed on a display unit, and a computer to execute this display step.An information processing device characterized by the following: [Explanation of Symbols]
[0098] 102 Printing device 114 External storage devices (recording media) 202 General-purpose printing software (general-purpose program) 204 Extended Applications (Programs) 300C detailed setting screen (setting screen) 411A Resolution (Resolution Section) 411B Color tone (color tone part) 411C Error Diffusion (Error Diffusion Section)
Claims
1. A program that supports a general-purpose program capable of generating image data that can be printed by printing devices from multiple manufacturers, A display control step that displays a screen on the display unit for the user to select a halftone processing from among a plurality of halftone processing candidates, which are included in the capability information of the printing device obtained in accordance with the Internet Printing Protocol, and which include halftone processing candidates that are not supported by the general-purpose program. An execution step of performing the intermediate tone processing selected on the screen on the image data generated by the general-purpose program, A program characterized by causing a computer to perform a display step of displaying the image data on which the intermediate tone processing has been performed on the display unit.
2. The program according to claim 1, characterized in that the plurality of types of intermediate tone processing include a color tone unit for selecting a color tone, a resolution unit for selecting a resolution, and an error diffusion unit for selecting an error diffusion.
3. The program according to claim 1, characterized in that the display step displays the image data on which the intermediate tone processing has been performed and an item for setting a printing device to be used for printing based on the image data on the display unit.
4. The program according to claim 2, characterized in that when the color tone unit or the resolution unit is selected, AM screen processing is used for the midtone processing.
5. The density of dots, or lines composed of said dots, in the AM screen is The program according to claim 4, characterized in that the resolution unit is higher than the color tone unit.
6. The program according to claim 2, characterized in that, when the error diffusion unit is selected, the error diffusion method is used for the intermediate processing.
7. The program according to claim 1, characterized in that the general-purpose program is a program that operates based on the Internet Printing Protocol.
8. A recording medium storing the program described in claim 1.
9. A control method that supports a general-purpose program capable of generating printable image data by printing devices from multiple manufacturers, A display control step that displays a screen on the display unit for the user to select a halftone processing from among a plurality of halftone processing candidates, which are included in the capability information of the printing device obtained in accordance with the Internet Printing Protocol, and which include halftone processing candidates that are not supported by the general-purpose program. An execution step of performing the intermediate tone processing selected on the screen on the image data generated by the general-purpose program, A control method characterized by comprising a display step of displaying the image data on which the intermediate tone processing has been performed on the display unit.
10. An information processing apparatus comprising a general-purpose program capable of generating image data printable by printing devices from multiple manufacturers, and a program that supports the general-purpose program, The aforementioned program, A display control step that displays a screen on the display unit for the user to select a halftone processing from among a plurality of halftone processing candidates, which are included in the capability information of the printing device obtained in accordance with the Internet Printing Protocol, and which include halftone processing candidates that are not supported by the general-purpose program. An execution step of performing the intermediate tone processing selected on the screen on the image data generated by the general-purpose program, An information processing apparatus characterized by causing a computer to perform a display step of displaying the image data on which the intermediate tone processing has been performed on the display unit.