Program, recording medium, control method, and information processing apparatus

JP2025029420AActive Publication Date: 2025-03-06CANON KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023134053
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-21
Publication Date
2025-03-06
Estimated Expiration
2043-08-21

AI Technical Summary

Benefits of technology

【0010】 本発明によれば、複数のメーカの印刷装置に対して共通して印刷するために使用可能な汎用プログラムによって生成された印刷データに基づいて印刷される印刷物に対して、中間調を表現する中間調処理を実行することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025029420000001_ABST
    Figure 2025029420000001_ABST
Patent Text Reader

Abstract

To provide a mechanism that executes half tone processing for representing a half tone on a print that is printed on the basis of print data generated by a general purpose program that can be used for printing in common for printers from a plurality of manufacturers.SOLUTION: An extended application 204 is a program that can extend a function of general purpose printing software 202 that can be used during printing in common for printers 102 from a plurality of manufacturers. The extended application 204 has an execution process of causing the printers 102 to execute half tone processing of generating image data that is provided to a print printed on the basis of print data generated by the general purpose printing software 202, and that represents a half tone on the print.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a program, a recording medium, a control method, and an information processing device. [Background technology]

[0002] A host computer (information processing device) capable of processing information between the printing device and the printing device is communicatively connected to the printing device. For example, a printer driver installed on the host computer from the printing device is used as control software for controlling the printing device. This printer driver allows the host computer to issue print instructions to the printing device. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed on the host computer. The printer driver is configured according to specifications defined by the OS, and can be called up and operated by the OS. In addition, such printer drivers differ depending on the vendor supplying the printing device, that is, they are model-specific printer drivers suitable for each printing device.

[0003] In recent years, Windows (registered trademark) provides a standard class driver (hereinafter sometimes referred to as a "standard driver") that can be commonly used even for printing devices supplied by different vendors. Such a standard driver is pre-installed in the OS. Then, the standard driver can be used by connecting any printing device to a host computer having an OS with the standard driver installed. This makes it possible to omit the installation of a printer driver specific to the model. Also, the standard driver can be used by specifying the printing function of the printing device according to Print Device Capabilities (hereinafter sometimes referred to as a "PDC") generated based on information acquired from the printing device. This makes it possible to specify the printing function for each printing device with one standard driver. The standard driver can be associated with a function extension application (hereinafter sometimes referred to as an "extension application") that extends the function. The extension application is provided by each vendor. Therefore, it is difficult to execute the function of the extension application with only the standard driver.

[0004] Patent Document 1 discloses a support program used when printing with a printer communicably connected to an information processing device. This support program performs correction to reduce the amount of colorant used when a print instruction is given to a general-purpose printing program pre-installed in the operating system of the information processing device and a saving mode for saving colorant (toner or ink) is selected. This correction processing function is not included in the general-purpose printing program, but can be executed by the support program.

[0005] Here, the functions of the extended application include, for example, a halftone selection function (halftone function) in addition to the correction processing function. The "halftone selection function" is a function that allows selection of patterns such as dots, line density (hereinafter referred to as "number of lines"), and angle of the AM screen when executing processing to express halftones with the AM screen or the like. Note that the AM screen stands for Amplitude Modulated Screening. For example, when halftone processing is applied to print data including characters, jaggies (step-like jaggedness appearing in lines and contours) and breaks may occur depending on the density of the characters. In this case, for example, by increasing the number of lines of the AM screen, the jaggies and breaks can be eliminated, and the image quality can be improved. In addition, the user can select whether or not to use the halftone selection function. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent Publication No. 2021-93081 Summary of the Invention [Problem to be solved by the invention]

[0007] However, the support program of Patent Document 1 cannot execute the halftone selection function, which may result in a failure to adjust the print data to the intended image quality.

[0008] The present invention has been made in view of the above problems, and has an object to provide a mechanism for executing halftone processing to express halftones on printed matter printed based on print data generated by a general-purpose program that can be used commonly for printing on printing devices of multiple manufacturers. [Means for solving the problem]

[0009] In order to achieve the above-mentioned object, the program of the present invention is a program capable of expanding the functions of a general-purpose program that can be commonly used when printing on printing devices of multiple manufacturers, and is characterized in having an execution step of causing the printing device to execute halftone processing to generate image data that expresses halftones on the printed material, the image data being applied to a printed material printed based on print data generated by the general-purpose program. Effect of the Invention

[0010] According to the present invention, halftoning processing that expresses halftones can be performed on printed matter printed based on print data generated by a general-purpose program that can be used to print on printing devices from multiple manufacturers. [Brief description of the drawings]

[0011] [Figure 1] 1 is a block diagram showing a hardware configuration of a printing system according to a first embodiment. [Diagram 2] FIG. 2 is a block diagram showing the software configuration of the printing system. [Diagram 3] FIG. 13 is an image diagram showing a change in image data due to halftoning. [Figure 4] FIG. 4 is a diagram illustrating an example of a screen displayed on a display unit of the printing system. [Diagram 5] 11 is a flowchart showing a process in which a print function extension unit edits print function information. [Figure 6] FIG. 11 illustrates an example of a list of capability information of a printing device. [Figure 7] 11 is a diagram illustrating an example of a list of print functions supported by an extension application. [Figure 8] FIG. 11 is a diagram illustrating an example of a list of capability information of general-purpose printing software. [Figure 9] 11 is a sequence diagram showing processes executed between the drawing application, the general-purpose printing software, the extension application, and the printing device after the drawing application accepts print settings. FIG. [Figure 10] FIG. 11 is a block diagram showing the software configuration of a printing system according to a second embodiment. [Figure 11] 11 is a flowchart showing a process in which a print function extension unit edits print function information. [Figure 12] FIG. 11 illustrates an example of a list of capability information of a printing device. [Figure 13] 11 is a sequence diagram showing processes executed between the drawing application, the general-purpose printing software, the extension application, and the printing device after the drawing application accepts print settings. FIG. [Figure 14] FIG. 11 is a sequence diagram showing processes executed between the drawing application, general-purpose printing software, an extension application, and a printing device after the drawing application accepts print settings in a third embodiment. [Figure 15] FIG. 13 is a block diagram showing the software configuration of a printing system according to a fourth embodiment. [Figure 16] 11 is a sequence diagram showing processes executed between the drawing application, the general-purpose printing software, the extension application, and the printing device after the drawing application accepts print settings. FIG. [Figure 17] FIG. 4 is a diagram illustrating an example of a screen displayed on a display unit of the printing system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Each embodiment of the present invention will be described in detail below 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 the embodiments. For example, each part constituting the present invention can be replaced with any configuration that can exert a similar function. In addition, any configuration may be added. In addition, any two or more configurations (features) of each embodiment can be combined.

[0013] <<First embodiment>> The first embodiment will be described below with reference to FIGS. 1 to 9. FIG.

[0014] <Printing system hardware configuration> Fig. 1 is a block diagram showing a hardware configuration of a printing system according to a first embodiment. As shown in Fig. 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 so as to be able to communicate with each other. 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. Note that, for example, a desktop personal computer can be used as the host computer 101, but is not limited thereto, and for example, a notebook personal computer, a tablet terminal, a smartphone, etc. can also be used.

[0015] The CPU 111 executes programs stored in the ROM 112 and the external storage device 114. The ROM 112 stores an initialization program. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In this embodiment, the host computer 101 is equipped with Microsoft's Windows 11 as the OS. The RAM 113 is used as a work memory or the like when executing various programs stored in the external storage device 114, and the various programs are operable within the host computer 101. The input interface 110 is connected to a pointing device 117 and a keyboard 118 as input devices. The output interface 115 is connected to a display unit 119 as a display device. The display unit 119 displays, for example, a print setting screen 400A and a detailed setting screen 400C, which will be described later. The NETIF 120 is a network interface, and controls data transfer between the host computer 101 and an external device via a network. The 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, i.e., allows information to be processed between the host computer 101 and printing devices 102 from multiple manufacturers.

[0016] The printing device 102 may be, but is not limited to, a multi-function peripheral (MFP) having multiple functions such as copying, printing, and faxing. In the present embodiment, the printing performed by the printing device 102 is electrophotographic printing, but is not limited to this, and may be, for example, inkjet printing. In the present embodiment, the host computer 101 and the printing device 102 are configured as separate devices, but are not limited to this. For example, the host computer 101 and the printing device 102 may be configured as an integrated device.

[0017] <Software-centric printing system configuration> FIG. 2 is a block diagram showing the software configuration of the printing system. FIG. 2(a) is a diagram showing a general configuration when the extension application (program) 204 is not associated with the general-purpose printing software (general-purpose program) 202 and the printing device 102. FIG. 2(b) is a diagram showing a configuration when the extension 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 commonly for printing on the printing devices 102 of 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 extension application 204 is an extension program (a program that executes a control method) that can extend the function of the general-purpose printing software 202. The extension application 204 is stored in the external storage device 114 together with the OS (general-purpose printing software 202), for example. As a result, the host computer 101 has the general-purpose printing software 202 and the extension application 204.

[0018] First, referring to FIG. 2(a), a case where the extended application 204 is not associated with the general-purpose printing software 202 and the printing device 102 will be described. The drawing application 201 is software that creates content (print data) to be printed by the printing device 102. The drawing application 201 is not particularly limited, and examples thereof include a word processing application and a spreadsheet application. The drawing application 201 issues a print instruction to the OS by receiving a print request from a user via, for example, the keyboard 118. The print instruction includes print setting information for instructing the operation of the general-purpose printing software 202 and the printing device 102. The print setting information is also called a "Print Ticket (PT)". In order to output the print setting information, the drawing application 201 can display a print setting screen 400A (see FIG. 4(a)) provided by any one of the general-purpose printing software 202, the OS, and the drawing application 201 on the display unit 119. In addition, by operating (pressing) a control 405 in the print setting screen 400A, the general-purpose printing software 202 can display a detailed setting screen 400B (see FIG. 4(b)) or a detailed setting screen 400C (see FIG. 4(c)) on the display unit 119. The print setting screens 400A to 400C will be described later. The print setting screen 400A includes setting items indicating print functions that can be set and control items indicating their setting values ​​according to capability information acquired from the general-purpose printing software 202, that is, information that can be set as print settings. The capability information is also called Print Capabilities (hereinafter sometimes referred to as "PC"). In addition, based on this capability information, it is also possible to determine whether the printing device 102 can perform halftone processing (determination step). The "halftone processing" refers to a process of generating image data that expresses halftones on a printed matter printed by the printing device 102.

[0019] The general-purpose printing software 202 determines the PC based on the printing capability information 203. The printing capability information 203 is data indicating printing capabilities that describes all configurable printing functions, their setting values, and the exclusive relationships between the setting values. The printing capability information 203 is also called PDC (Print Device Capabilities). The printing capability information 203 is included in a configuration file of the general-purpose printing software 202 and is arranged in the external storage device 114 as an unchangeable file. Alternatively, the printing capability information 203 is dynamically generated by the general-purpose printing software 202. Specifically, the general-purpose printing software 202 acquires attribute data of the printing device 102 from the printing device 102. The general-purpose printing software 202 generates the printing capability information 203 according to the attribute information in the attribute data. When the printing capability information 203 is dynamically generated in this way, the printing capability information 203 can be edited. The attribute data of the printing device 102 is a response acquired by issuing an IPP "Get-Printer-Attributes" operation to the printing device 120. The response includes functions that can be specified by the printing device 102, that is, attribute information indicating the capabilities of the printing device 102, and setting values ​​related to the attribute information. The response is also stored in the RAM 113.

[0020] With this configuration, the general-purpose printing software 202 allows the user to specify print functions available on the printing device 102 according to the printing device 102 connected to the general-purpose printing software 202. This allows the user to specify print functions available on the printing device regardless of the printing device 102 connected to the general-purpose printing software 202, that is, even if 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 configured to use the "IPP Class Driver" installed in Windows (registered trademark) 11. The "IPP Class Driver" is a printer driver that executes print 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 according to the model of the printing device 102, but a standard class driver that can be commonly used by the printing devices 102 of each printer manufacturer regardless of the printer manufacturer. The "IPP Class Driver" also acquires capability information of the printing device 102 and generates print capability information 203 based on the acquired information. In addition, an extension application 204 can be associated with the general-purpose printing software 202. This allows the general-purpose printing software 202 to execute functions that are not available in the general-purpose printing software 202. The IPP ClassDriver (general-purpose printing software 202) cannot execute halftone processing that expresses halftones on an image printed by the printing device 102, and does not support execution of halftone processing. This is because halftone processing is a function that is executed independently by the printing device 102 manufactured by the printer manufacturer. The extension application 204 can extend the IPP ClassDriver so that it can execute halftone processing that it cannot execute. In this embodiment, the IPP ClassDriver cannot execute halftone processing, and the extension application 204 can extend the halftone processing so that it can execute the halftone processing, but this is not limited to this.For example, the IPP ClassDriver may perform part of the halftoning process, and the extension application 204 may fill in the gaps in the halftoning process and further extend the scope of execution.

[0021] <Halftone selection function> The "halftone selection function" is a function that allows the user to select conditions such as the number of dots and lines and the angle of the AM screen to be applied when applying halftone processing such as AM screen to print data. Note that AM screen stands for Amplitude Modulated Screening. For example, when halftone processing is applied to print data that includes characters, jaggies (a type of disturbance (noise) that occurs in a digitized image, which refers to stepped jaggedness that appears on lines and contours) and breaks may occur depending on the density of the characters. In this case, the jaggies and breaks can be eliminated and the image quality can be improved by increasing the number of lines of the AM screen. In addition, the user can select the following two printing methods. The first is printing that applies halftone processing by changing the AM screen conditions by using the halftone selection function for the image to be printed. The second is printing that applies halftone processing using the default AM screen without using the halftone selection function. In addition to the processing by the AM screen described above, halftone processing also includes processing using the error diffusion method. In AM screen processing, it is possible to express gradation for an image with continuous gradation by converting it into binary dots of different sizes according to the signal value and arranging them in a specific grid pattern. In processing using error diffusion, it is possible to express gradation in binary for an image with continuous gradation by referencing the signal value of each pixel from the edge of the image and based on the difference between an arbitrary reference value and the signal value.

[0022] FIG. 3 is an image diagram showing a change in image data due to halftone processing. In this embodiment, three types of halftone patterns are given: tone, resolution, and error diffusion. In this embodiment, as an example, a process of converting an 8-bit grayscale image into a monochrome 1-bit image by halftone processing will be described, but the present invention is not limited to this. 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 into an image having a bit number of 1 bit or more, such as 2 bits or 4 bits. First, a tone pattern will be described. An image 301 shown in FIG. 3(a) is grayscale 8-bit image data generated by the printing device 102. When AM screen processing is applied to the image 301, an image 302 shown in FIG. 3(b) is generated as a monochrome 1-bit image. The image 302 is an image that has been subjected to halftone processing using a tone pattern. In the image 302, the density of lines made up of dots in the AM screen is set to be relatively low. In this embodiment, the line density is 106 lines per inch, that is, 106 lpi (Lines Per Inch), but is not limited to this and may be less than 106 lpi or more than 106 lpi. The color tone pattern can convert image data while maintaining the gradation reproducibility of the image data, but there is a risk of jaggies occurring at edges. Therefore, the color tone pattern is suitable for images such as nature photographs.

[0023] Next, the resolution pattern will be described. When the AM screen process is applied to the image 301, the image 303 shown in FIG. 3(c) is generated as a monochrome 1-bit image. The image 303 shown in FIG. 3(c) is an image that has been subjected to halftone process using the resolution pattern. In the image 303, the density of the lines made up of dots in the AM screen is set higher than that of the image 302. The line density of the image 303 is, for example, 212 lpi in this embodiment, but is not limited to this as long as it is higher than the line density of the image 302, and may be, for example, less than 212 lpi or more than 212 lpi. In the resolution pattern, jaggies at the edge portion are reduced, but the gradation reproducibility of the image data tends to be easily reduced. Therefore, the resolution pattern is suitable for, for example, a document image that includes many characters.

[0024] Next, the error diffusion pattern will be described. When the process using the error diffusion method is applied to the image 301, the image 304 shown in FIG. 3(d) is generated as a monochrome 1-bit image. The error diffusion method can improve the reproducibility of thin lines, but the calculation cost is higher than that of the AM screen process, and there is a risk of a special noise called worm noise occurring in a specific gradation. Therefore, the process using the error diffusion method is suitable for images including thin lines such as drawings. For example, when the jaggedness of characters included in the image data is noticeable, the user changes the halftone pattern using the halftone selection function on the UI screen displayed on the printer driver or the display unit 119 of the printing device 102, and prints again. This allows the user to adjust the image quality to the intended level. Note that in this embodiment, an example is described in which one pattern of the number of lines is applied to the entire image data, but this is not limited to this. For example, when data indicating the attributes of objects in the image data is added to the image data, the halftone pattern may be switched for each object based on the attributes.

[0025] Returning to the description with reference to FIG. 2(a), the OS generates intermediate data (sometimes called "input data") based on a print instruction output from the drawing application 201, and transmits the intermediate data to the general-purpose printing software 202. The data output from the drawing application 201 for printing is not particularly limited, and is preferably, for example, data in an XML Paper Specification format (XPS format). The data output from the drawing application 201 for printing may be data in a Graphic Device Interface format (GDI format). When an IPP Class Driver is used as the general-purpose printing software 202, if the data output from the drawing application 201 is GDI format data, the OS converts the GDI format data into XPS format data. Then, the OS transmits the converted XPS format data to the general-purpose printing software 202 as intermediate data. If the data output from the drawing application 201 is XPS format data, the OS transmits the XPS format data to the general-purpose printing software 202 as intermediate data. The intermediate data includes drawing data, which is information on characters, figures, and the like to be formed on a print medium, and print setting information set by the user.

[0026] The general-purpose printing software 202 converts the intermediate data into print data (image data) that can be processed by the printing device 102, i.e., printable (conversion process), and transmits the data to the printing device 102. Here, the "print data" in this embodiment is Page Description Language (PDL) data conforming to IPP. The PDL data is, for example, data in a Portable Document Format (PDF) or PWG-Raster format. The print data includes drawing data, which is information such as characters and figures to be formed on a print medium, and print setting attribute information that is generated based on print setting information set by a user and specifies print settings. The print setting attribute information includes functions that can be specified by the printing device 102, i.e., attribute information indicating the capabilities of the printing device 102, and setting values ​​related to the attribute information.

[0027] The printing device 102 prints on a print medium based on the print data sent from the general-purpose printing software 202. At this time, the printing device 102 can form the drawing data included in the print data on the print medium by performing an operation according to the print setting attribute information included in the print data. Note that 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 value of the attribute information. For example, if the print setting attribute information includes attribute information specifying double-sided printing, the printing device 102 can execute double-sided printing.

[0028] <If an extension application is associated> With reference to FIG. 2(b), a case where the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102 will be described. As shown in FIG. 2(b), unlike FIG. 2(a), the extension application 204 is added. That is, the host computer 101 has the drawing application 201, the general-purpose printing software 202, the print function information 203, and further has the extension application 204. The extension application 204 is software for extending the function of the general-purpose printing software 202. Note that the extension application 204 is software that is not included (bundled) in the OS in advance. Therefore, the extension application 204 is downloaded from a server (not shown) via the Internet by the user operating the host computer 101, and is installed in the host computer 101. Alternatively, when the printing device 102 is connected to the host computer 101, the extension application 204 may be automatically installed in the host computer 101 based on this connection. Specifically, when the printing device 102 is connected to the host computer 101, the OS acquires device identification information from the printing device 102. The OS may download the extension application 204 corresponding to the device identification information from a server via the Internet and install it. As a result, the general-purpose printing software 202 and the extension application 204 are held as separate control programs in the host computer 101. The general-purpose printing software 202 and the extension application 204 may be updated and upgraded. In this case, the general-purpose printing software 202 update process and the extension application 204 update process may be performed at the same time or at different times. The trigger for the host computer 101 to acquire the general-purpose printing software 202 and the trigger for the host computer 101 to acquire the extension application 204 may be the same trigger or different triggers.Furthermore, when the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose printing software 202 and the printing device 102 .

[0029] As shown in FIG. 2B, the extension application 204 can exchange information (send and receive information) with the general-purpose printing software 202 and the printing device 102. That is, the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102. In this embodiment, the extension application 204 has a print setting screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 209. The extension application 204 also has shared information 208 that can be accessed from each of the print setting 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 saved in the external storage device 114 or information stored in the RAM 113. The extension application 204 can write and read the shared information 208 by using an API (Application Program Interface) provided by the OS.

[0030] The extension application 204 may terminate the operation of the entire extension application 204 with the end of the processing of each unit from the print setting screen extension unit 205 to the notification unit 209. In this case, the OS will start the extension application 204 every time it receives a processing execution request of each unit. Also, the OS terminates the operation of the entire extension application 204 when, for example, the processing of the print setting screen extension unit 205 ends. Also, the extension application 204 may cancel the processing of each unit from the print setting screen extension unit 205 to the notification unit 209 during the processing of the unit. In this case, the job being processed on the print queue is deleted by the OS. As described above, the drawing application 201 issues a print instruction to the OS by receiving a print request from the user. Also, the drawing application 201 can display a print setting screen. In the configuration shown in FIG. 2(b), the drawing application 201 can display a print setting screen 400A (detailed setting screen 400C) provided by the print setting screen extension unit 205 (extension application 204). Furthermore, the print setting screen expansion unit 205 can store detailed settings set by the user in the shared information 208. The print setting screen expansion unit 205 will be described in detail later.

[0031] The intermediate data editing unit 207 acquires intermediate data from the general-purpose printing software 202. The intermediate data editing unit 207 converts the intermediate data into print data, and then 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 detailed settings to the print data. The printing device 102 performs printing on paper based on the print data from the intermediate data editing unit 207. The extension application 204 may be configured to acquire print data generated by the general-purpose printing software 202 and add detailed settings to the print data. Even in the configuration of FIG. 2(b), halftoning may not be performed. In this case, the general-purpose printing software 202 may transmit print data to the printing device 102 without going through the extension 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 the addition of functions provided by the extension application 204. In addition, it is also possible to add functions that can be executed by the printing device 102 but not by the general-purpose printing software 202, and to add exclusive relationships between setting values ​​of print functions. 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 (for example, when the OS is started). Even if a function related to printing is expanded later by such startup, the print function extension unit 206 can detect the expanded function and add it to the print function information 203. An example of a function related to printing being expanded later is adding an optional device (for example, a finisher, etc.) to the printing device 102 later.

[0033] When an error occurs in the printing device 102, the notification unit 209 can notify that fact. For example, when an out-of-paper error occurs in the printing device 102, the general-purpose printing software 202 detects the occurrence of this error. The OS uses a notification function called a toast notification, which is one of the functions of the OS, to display the occurrence of the out-of-paper error, which is the detection result of the general-purpose printing software 202, as a message on the display unit 119. When the user operates the toast notification, the notification unit 209 is called by the OS, and a user interface screen (UI screen) of the notification unit 209 is displayed. On the user interface screen, for example, a detailed message regarding the out-of-paper error, a method for loading paper, etc. can be displayed.

[0034] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is a function to display a setting screen. This function is executed by the print setting screen extension unit 205. The second function is a function to edit intermediate data, convert it into print data, and add detailed settings to the print data. This function is executed by the intermediate data editing unit 207. The third function is a function to extend functions that can be specified by the print data generation software. This function is executed by the print function extension unit 206. The fourth function is a function to display a screen in response to an error occurrence in the printing device 102. This function is executed 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 at least one function, and may also be a configuration having other functions. In addition, once the extended application 204 transmits print data to the printing device 102, it cannot display a screen such as a guide linked to the print data during the processing of each unit.

[0035] <An example of the print settings screen / detailed settings screen> FIG. 4 is a diagram showing an example of a screen displayed on the display unit of the printing system. FIG. 4(a) is a print setting screen displayed by the drawing application 201. FIG. 4(b) is a detailed setting screen displayed in a configuration in which the extended application 204 is not associated. FIG. 4(c) is a detailed setting screen displayed in a configuration in which the extended application 204 is associated. Note that the units and modules that display each screen are not particularly limited. For example, the print setting screen extension unit 205 may be configured to only generate a display screen. In that case, the print setting screen extension unit 205 transmits the generated display screen to the drawing application 201 via the general-purpose printing software 202. The drawing application 201 may be configured to display the acquired display screen.

[0036] The print setting screen 400A shown in FIG. 4(a) includes controls (buttons) 401, 402, 403, 404, and 405. The control 401 allows the user to set the printing device 102 used for printing, the print orientation in the printing device 102, and the number of copies to be printed in the printing device 102. In FIG. 4(a), as an example, the printing device 102 used for printing is set to "printer 200a", the print orientation in the printing device 102 is set to "portrait", and the number of copies to be printed in the printing device 102 is set to "1". The control 402 displays a preview screen. The control 403 allows the user to instruct the printing device 102 to start printing. The control 404 allows the user to instruct the printing device 102 to cancel printing. The control 405 allows the user to perform detailed settings. By operating the control 405, an additional print screen is displayed by the general-purpose printing software 202 or the print setting screen extension unit 205.

[0037] The detailed setting screen 400B shown in FIG. 4(b) includes controls 406, 407, 408, and 409. In the control 406, the type of paper used in printing on the printing device 102 can be selected and set. In FIG. 4(b), "plain paper" is selected as an example. In the control 407, the paper size used in printing on the printing device 102 can be selected and set. In FIG. 4(b), "A4" is selected as an example. In the control 408, the paper feed slot for the paper used in printing on the printing device 102 can be selected. In FIG. 4(b), "automatic" is selected as an example. In the control 409, the settings in the controls 406 to 408 can be ended. In addition, by operating the control 409, the print setting screen 400A shown in FIG. 4(a) can be returned to.

[0038] A detailed setting screen (setting screen) 400C shown in FIG. 4(c) includes controls 406, 407, 408, and 409, similarly to the detailed setting screen 400B. In addition, a control 410 is added to the detailed setting screen 400C. In the control 410, the execution conditions (setting items for halftone setting) when executing halftone processing can be selected and set (setting process). By operating the control 410, a list 411 is displayed. The list 411 includes a resolution (resolution section) 411A, a tone (tone section) 411B, and an error diffusion (error diffusion section) 411C as execution conditions for halftone processing (hereinafter sometimes referred to as a "halftone selection function"), and any one of these can be selected. By selecting the resolution 411A, the resolution pattern can be determined as the halftone pattern described above. By selecting the tone 411B, the tone pattern can be determined as the halftone pattern. By selecting the error diffusion 411C, the error diffusion pattern can be determined as the halftone pattern. In this way, by selecting a halftone that provides the desired image quality from the list 411, it is possible to switch the halftone pattern and perform printing. Note that the detailed setting screen 400C may include a preview screen (sample image) of the image subjected to halftone processing as information on the result of the halftone processing, i.e., the result of switching the halftone pattern. Also, when the resolution 411A or the color tone 411B is selected, processing using the AM screen is used for the halftone processing. The dot and line density of the AM screen is higher for the resolution 411A than for the color tone 411B. As a result, as will be described later, image data is generated with reduced jaggies compared to when halftone processing using a color tone pattern is performed.

[0039] In this embodiment, when printing is performed without executing halftone processing (without using the halftone selection function), the halftone processing is applied using a tone pattern. In addition, in this embodiment, the execution conditions of the halftone processing include resolution 411A, tone 411B, and error diffusion 411C, but are not limited thereto, and at least one of these items may be included, and other items may be added. In addition, in the printing system 1000, by selecting resolution 411A, a resolution change screen (not shown) that allows the resolution in halftone to be changed to a desired resolution may be displayed on the display unit 119. The user can select the desired resolution on this resolution change screen. In addition, by selecting tone 411B, a color tone change screen (not shown) that allows the color tone in halftone to be changed to a desired color tone may be displayed on the display unit 119. 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) that allows the number of colors and the number of gradations of an image in the error diffusion method to a desired size may be displayed on the display unit 119. The user can change the size to a desired size on this error diffusion change screen.

[0040] Here, the reason why the items included in the detailed setting screen 400B shown in FIG. 4B are different from the items included in the detailed setting screen 400C shown in FIG. 4C will be described. The detailed setting screen 400B and the detailed setting screen 400C are generated based on the print function information (capability information). As described 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. Also, even if the print function information originally includes a halftone selection function, the general-purpose printing software 202 cannot interpret the halftone selection function included in the print function information. Therefore, the halftone setting cannot be displayed on the detailed setting screen. Therefore, 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 setting screen 400C. This allows the extension application 204 to display the halftone setting on the detailed setting screen.

[0041] <Flowchart of the Print Function Extension Unit for editing print function information> FIG. 5 is a flowchart showing a process in which the print function extension unit edits the print function information. The program based on the flowchart shown in FIG. 5 is executed by the CPU 111 controlling the print function extension unit 206. FIG. 6 is a diagram showing an example of a list of the capability information of the printing device. FIG. 7 is a diagram showing an example of a list of the print functions supported by the extension application. FIG. 8 is a diagram showing an example of a list of the capability information of the general-purpose printing software. As shown in FIG. 5, in step S501, the print function extension unit 206 acquires capability information from the printing device 102 (acquisition step). The capability information is a setting value included in a response acquired by issuing an IPP "Get-Printer-Attributes" operation to the printing device 102. The setting value is attribute information indicating a function that can be specified in the printing device 102 and is related to the attribute information. A table 601 shown in FIG. 6 shows a list of capability information of the printing device 102. The capability information includes, for example, information on the size of paper used in printing in the printing device 102. Other information includes information about the type of paper (media) used in printing by the printing device 102, information about the paper feed port for the paper used in printing by the printing device 102, and information about halftones that can be performed by the printing device 102. Note that this information about halftones includes the above-mentioned color tone, resolution, and error diffusion.

[0042] In step S502, the print function extension unit 206 acquires the print function 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 setting values. Table 701 shown in FIG. 7 includes information on paper sizes supported by the extension application 204 as print functions. In addition, there is information on paper types (media) supported by the extension application 204, information on paper feed ports supported by the extension application 204, and information on halftones supported by the extension application 204. Note that this halftone information includes the above-mentioned color tone, resolution, and error diffusion, as in the case of table 601. In addition, the print function supported by the extension application 204 may be updated by updating the extension application 204, etc.

[0043] In step S503, the print function extension unit 206 acquires the print function information 203 created by the general-purpose printing software 202 from the OS. The print function information 203 is created based on the capability information 501 acquired by the general-purpose printing software 202 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 acquired from the printing device 102. For example, the table 701 shown in FIG. 7 includes "7x10 inches" and "Regular size 6" as paper sizes, but the general-purpose printing software 202 does not support the corresponding paper sizes. Therefore, the print function information 203 does not include the corresponding paper sizes. The print function extension unit 206 adds functions and options to the print function information 203, which allows the extension application 204 to compensate for the lack of functions of the general-purpose printing software 202. Furthermore, the print function extension unit 206 can also delete unnecessary functions and options from the print function information 203 created by the general-purpose printing software 202 .

[0044] Steps S504, S505, and S506 are processes that are repeatedly performed for the list of functions included in the capability information acquired in step S501 from the printing device 102. In this embodiment, steps S504, S505, and S506 are repeatedly performed for all 12 options included in table 701.

[0045] In step S504, the print function extension unit 206 judges whether the currently processed function or option exists in the print function information 203 generated by the general-purpose printing software 202. If it is judged in step S504 that the function or option exists in the print function information 203, the process is terminated if the last item in the options is being processed. Alternatively, if the last item in the options is not being processed, the next item in the options is selected and step S504 is executed again. On the other hand, if it is judged in step S504 that the function or option does not exist in the print function information 203, the process proceeds to step S505. For example, in this embodiment, the table 601 includes the paper size "A4", and the table 801 also includes the paper size "A4". In this case, in step S504, it is judged that the currently processed function or option exists in the print function information 203. In contrast, the table 601 includes the halftone "tone", but the table 801 does not include the halftone "tone". In this case, in step S 504 , it is determined 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 judges whether or not the currently processed function (option) is present among the functions (options) supported by the extension application 204. If it is judged in step S505 that the currently processed function exists, the process proceeds to step S506. On the other hand, if it is judged in step S505 that the currently processed function does not exist, the process ends if the last item in the options is being processed, as in the case of "Yes" being judged in step S504. Alternatively, if the last item in the options is not being processed, the next item in the options is selected and step S504 is executed again. For example, in this embodiment, if the currently processed function is a halftone "tone", the halftone "tone" also exists in table 701. Therefore, in step S505, it is judged that the currently processed function exists.

[0047] In step S506, the print function extension unit 206 adds the function (option) currently being processed to the print function information 203. After step S506 is executed, the process ends if the last item among the options is being processed, just as in the case where "Yes" is 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 extension application 204 can add functions (options) that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are compatible with the extension application 204 to the printing function information 203. Then, based on the printing function information 203 edited by this adding 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 that are not supported by the general-purpose printing software 202 and displaying the detailed setting screen 400C shown in FIG. 4(c).

[0049] <Processing after the drawing application accepts print settings> 9 is a sequence diagram showing the processing executed between the drawing application, the general-purpose printing software, the extension application, and the printing device after the drawing application accepts print settings. Processing in the drawing application, the general-purpose printing software, and the 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 to 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 the software configuration shown in FIG. 2(b).

[0050] 9, in step S901, the drawing application 201 accepts print settings from the user. The user can instruct the drawing application 201 to set print settings by operating the pointing device 117 or the keyboard 118, for example.

[0051] In step S902, the drawing application 201 displays the print setting screen 400A shown in FIG.

[0052] In step S903, the drawing application 201 accepts a detailed setting instruction from the user. The user can instruct the detailed setting by, for example, operating the pointing device 117 or the keyboard 118 to select the control 405 on the print setting screen 400A.

[0053] In step S904, the drawing application 201 requests the general-purpose printing software 202 to display detailed settings.

[0054] In step S905, the general-purpose printing software 202 requests the extension application 204 to display detailed settings.

[0055] In step S906, the print setting screen extension unit 205 of the extension application 204 displays the detailed setting screen 400C of Fig. 4(c). As described above, the print function extension unit 206 adds halftone settings to the print function information 203 (PDC). The print setting screen extension unit 205 can display the detailed setting screen 400C by referring to the capability information (PC) generated based on this added print function information 203.

[0056] In step S907, the print setting screen expansion unit 205 accepts the user's detailed settings on the detailed setting screen 400C. As an example, it is assumed that on the detailed setting screen 400C, the paper type "plain paper" is selected in the control 406, the paper size "A4" is selected in the control 407, and the paper feed slot "automatic" is selected in the control 408 (see FIG. 4(c)). It is also assumed that the halftone "resolution" is selected in the control 410. In this setting state, the print setting screen expansion unit 205 accepts that the user has operated the control 409 on the detailed setting screen 400C.

[0057] In step S908, the print setting screen expansion unit 205 accepts that the user has finished the detailed setting based on the operation of the control 409 in step S907. The user can instruct the user to finish the detailed setting by, for example, operating the pointing device 117 or the keyboard 118 to select the control 409.

[0058] In step S909, the extension application 204 transmits detailed setting end information indicating that the detailed setting in step S908 has been ended to the general-purpose printing software 202.

[0059] In step S910, the general-purpose printing software 202 receives the detailed setting end information transmitted in step S909 from the extension application 204. The general-purpose printing software 202 transmits this detailed setting end information to the drawing application 201.

[0060] In step S911, the drawing application 201 accepts a print instruction from the user. The user can issue a print instruction by, for example, operating the pointing device 117 or the keyboard 118 to select a control 403 on the print setting screen 400A (see FIG. 4(a)).

[0061] In step S912, the drawing application 201 issues the print instruction received in step S911 to the general-purpose printing software 202.

[0062] In step S913, the general-purpose printing software 202 uses an OS module to generate intermediate data based on the print instruction in step S912.

[0063] In step S914, the general-purpose printing software 202 stores in the shared information 208 the print setting information (PT) based on the print instruction in step S912.

[0064] In step S915, the general-purpose printing software 202 transmits the drawing data of the intermediate data generated in step S913 to the extension application 204.

[0065] In step S916, the intermediate data editing unit 207 of the extension application 204 obtains the print setting information saved in step S914 from the shared information 208.

[0066] In step S917, the intermediate data editing unit 207 of the extension application 204 generates print data using the drawing data transmitted in step S915 and the print setting information acquired in step S916.

[0067] In step S918, the intermediate data editing unit 207 of the extension application 204 transmits the print data generated in step S917 to the printing device 102.

[0068] In step S919, the printing device 102 receives the print data sent in step S918. The printing device 102 interprets the print data and performs the necessary image processing on the print data. The image processing performed here is halftone processing using a resolution pattern. As a result, image data is generated with reduced jaggies compared to, for example, a case in which halftone processing using a tone pattern is performed without halftone selection.

[0069] In step S920, the printing device 102 prints the print data that has been subjected to image processing in step S919, thereby outputting an image with reduced jaggies.

[0070] As described above, in the printing system 1000, even if the general-purpose printing software 202 does not support halftone processing, the extension application 204 can cause the printing device 102 to execute halftone processing (execution step). As a result, the printing device 102 prints a printed matter to which halftone processing has been applied (reflected). In the description with reference to FIG. 9, the software configuration of the printing system 1000 is assumed to be the software configuration shown in FIG. 2(b), and the detailed setting screen 400C shown in FIG. 4(c) is displayed, but this is not limited to this. For example, when a display request for detailed settings is made to the general-purpose printing software 202 in step S904, the general-purpose printing software 202 displays the detailed setting screen 400B shown in FIG. 4(b). In this case, after the control 409 on the detailed setting screen 400B is operated, the general-purpose printing software 202 requests the extension application 204 to display an additional detailed setting screen. Next, the extension application 204 may display an additional detailed setting screen in which halftone settings can be performed. In addition, in this embodiment, the extension application 204 generates print data from the intermediate data generated by the general-purpose printing software 202, but this is not limited to this. For example, the extension application 204 itself may generate the intermediate data.

[0071] <<Second embodiment>> Hereinafter, the second embodiment will be described with reference to Figs. 10 to 13, but the differences from the above-mentioned embodiment will be mainly described, and the description of the similar matters will be omitted. In the first embodiment, the extension application 204 generates print data including halftone settings together with the general-purpose printing software 202. This print data is transmitted to the printing device 102. The printing device 102 can interpret the print data including the halftone settings and execute halftone processing with a halftone module (not shown) mounted on the printing device 102. Thus, in the first embodiment, the extension application 204 causes the printing device 102 to execute halftone processing together with the general-purpose printing software 202.

[0072] However, some printing devices 102 may not be equipped with a halftone module. In this case, even if the extension application 204 generates print data including halftone settings, the printing device 102 cannot perform halftone processing. If the printing device 102 does not have a halftone module, it is preferable to generate print data after halftone processing on the extension application 204 side and send 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 the halftone module is installed as a result of this determination, the extension application 204 generates print data reflecting the halftone setting and transmits it to the printing device 102. On the other hand, if it is determined that the halftone module is not installed, the extension application 204 performs halftone processing on the drawing data, generates print data, and transmits 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. Note that this embodiment is similar to the first embodiment except for the configuration of the printing system 1000 when the extension application 204 is associated, the editing process of the PDC, and the process after the drawing application 201 accepts the print setting.

[0074] <Software-centric printing system configuration> FIG. 10 is a block diagram showing the software configuration of the printing system according to the second embodiment. The block diagram shown in FIG. 10 shows the configuration when the extension application 902 is associated with the general-purpose printing software 202 and the printing device 102. As shown in FIG. 10, the host computer 101 has a drawing application 201, general-purpose printing software 202, printing function information 203, and an extension application 1002. The extension application 1002 is communicably connected to the printing device 901. The printing device 901 is a printing device that does not have a halftone module, unlike the printing device 102 in the first embodiment. The extension 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 the printing device 901 does not have a halftone selection function based on the capability information acquired 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 of the Print Function Extension Unit for editing print function information> Fig. 11 is a flowchart showing a process in which the print function extension unit edits print function information. The program based on the flowchart shown in Fig. 11 is executed by the CPU 111 controlling the print function extension unit 1003. The flowchart shown in Fig. 11 is a flowchart in which steps S1101 and S1102 are added to the flowchart shown in Fig. 5. Fig. 12 is a diagram showing an example of a list of capability information of a printing device.

[0076] As shown in Fig. 11, when the repeated processing of steps S504 to S506 is completed, the process proceeds to step S1101. Table 1201 shown in Fig. 12 shows a list of capability information of the printing device 901. This table 1201 includes, as capability information, information on the size of paper, information on the type of paper, and information on the paper feed port, but unlike table 601 shown in Fig. 6, does not include information on halftones. Therefore, it is understood that the printing device 901 is not equipped with a halftone module. Therefore, a halftone function is not added to the printing function information 203 after the processing of steps S504 to S506 is completed.

[0077] 11, in step S1101, the print function extension unit 1003 determines whether the extension application 1002 has a halftone processing unit 1004, that is, whether the halftone processing unit 1004 is present. If the result of the determination in step S1101 indicates that the halftone processing unit 1004 is present, processing proceeds to step S1102. On the other hand, if the result of the determination in step S1101 indicates that the halftone processing unit 1004 is not present, processing ends. As described above, since the extension application 1002 has the halftone processing unit 1004, processing proceeds to step S1102.

[0078] In step S1102, the print function extension unit 1003 adds to the print function information 203 information related to halftones (tone, resolution, error diffusion) supported by the extension application 1002 in the table 601 shown in FIG.

[0079] As described above, the extension application 1002 can add a function (option) that is not supported by the general-purpose printing software 202, is supported by the printing device 102, and is supported by the extension application 204 to the printing function information 203. The extension application 1002 then judges whether or not the halftone processing unit 1004 is present. If it is judged that the halftone processing unit 1004 is present as a result of this judgment, a halftone function is added to the printing function information 203. By this addition process, even if the printing device 901 does not have a halftone module, capability information is generated based on the printing function information 203 to which the halftone function has been added. The extension application 1002 can display the detailed setting screen 400C shown in FIG. 4C by generating a display screen based on this capability information.

[0080] <Processing after the drawing application accepts print settings> Fig. 13 is a sequence diagram showing the processing executed between the drawing application, the general-purpose printing software, the extended application, and the printing device after the drawing application accepts the print settings. The sequence diagram shown in Fig. 13 is a sequence diagram in which mainly steps S1301 to S1304 are added to the sequence diagram shown in Fig. 9. As shown in Fig. 13, after step S915 is executed, the processing proceeds to step S1301. In step S1301, the halftone processing unit 1004 of the extended application 1002 acquires the print setting information (PT) saved in step S914 from the shared information 208. In addition, the halftone processing unit 1004 acquires information related to the halftone settings included in the print setting information.

[0081] In step S1302, the halftone processing unit 1004 acquires the capability information of the printing device 1001 from the shared information 208. If the shared information 208 does not include the capability information of the printing device 1001, the print 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 described above, in this embodiment, the printing device 1001 is not equipped with a halftone module. Therefore, the determination result in step S1303 is that the printing device 1001 does not have a halftone module. Note that, if the determination result in step S1303 is that the printing device 1001 has 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 faster than the halftone processing unit 1004. This is because the halftone module of the printing device 1001 is capable of performing halftone processing faster than the halftone processing unit 1004. Specifically, the halftone module of the printing device 1001 can generate samples faster than the halftone processing unit 1004 by using an ASIC (Application Specific Integrated Circuit).

[0083] In step S1304, the halftone processing unit 1004 performs halftone processing on the intermediate drawing data (intermediate data) based on the information related to the halftone setting acquired in step S1301. The result of this processing is stored in the shared information 208. In addition, the halftone processing unit 1004 deletes the information related to the halftone setting from the print setting information. After performing step S1304, the process proceeds in order from step S917 to step S920.

[0084] As described above, in this embodiment, even if the printing device 1001 does not have a halftone module, the extension application 1002 can execute halftone processing together with the general-purpose printing software 202 instead of the halftone module. This allows the printing device 1001 to print a printed matter with halftones applied. In this manner, in this embodiment, if it is determined that the printing device 1001 does not have a halftone module, halftone processing can be executed together with the general-purpose printing software 202. On the other hand, if it is determined that the printing device 1001 has a halftone module, it is also possible to have the printing device 102 execute halftone processing together with the general-purpose printing software 202, as in the first embodiment.

[0085] <<Third embodiment>> Hereinafter, the third embodiment will be described with reference to FIG. 14. The differences from the above-mentioned embodiments will be mainly described, and the description of the similar matters will be omitted. In the first embodiment, the case where the halftone process is executed by the printing device 1001 has been described, and in the second embodiment, the case where the halftone process is executed by the extension application 1002 has been described. However, when the halftone process is executed by the printing device 1001, some printing devices 1001 may not have an ASIC, for example, and may have difficulty in executing the halftone process at high speed. In particular, for halftone processes with relatively high calculation costs such as error diffusion, the CPU 111 in the host computer 101 may have higher performance than the CPU in the printing device 1001. Therefore, there are cases where the halftone process can be executed at high speed by executing the halftone process by the extension application 1002.

[0086] Therefore, in this embodiment, halftone processing is performed by the printing device 1001 or the extension application 1002 depending on the halftone processing (execution conditions) selected by the user. As an example, when an error diffusion pattern is selected, halftone processing is performed by the extension application 1002, and when a halftone pattern other than the error diffusion pattern is selected, halftone processing is performed by the printing device 1001. Note that this embodiment is similar to the first and second embodiments except for the processing after the drawing application 201 accepts the print settings.

[0087] <Processing after the drawing application accepts print settings> FIG. 14 is a sequence diagram showing the process executed between the drawing application, the general-purpose printing software, the extension application, and the printing device after the drawing application accepts the print setting in the third embodiment. The sequence diagram shown in FIG. 14 is a sequence diagram in which mainly steps S1401 and S1402 are added to the sequence diagram shown in FIG. 13. As shown in FIG. 14, after step S1301 is executed, the process proceeds to step S1401. In step S1401, the halftone processing unit 1004 of the extension application 1002 judges whether the selected halftone pattern is a specific halftone pattern, that is, an error diffusion pattern, based on the halftone setting acquired in step S1301. If it is judged that the selected halftone pattern is an error diffusion pattern as a result of the judgment in step S1401, the process proceeds to step S1402. On the other hand, if it is judged that the selected halftone pattern is not an error diffusion pattern as a result of the judgment in step S1401, the process proceeds to steps S917 to S920 in order.

[0088] In step S1402, halftoning is performed on the intermediate rendering data (intermediate data) using an error diffusion method. The result of this processing is stored in the shared information 208. After step S1402 is performed, the process proceeds in order to steps S917 to S920. Note that in step S919, the printing device 1001 performs necessary image processing on the image of the print data, but if halftoning has been performed in step S1402, image processing other than halftoning is performed.

[0089] As described above, in this embodiment, depending on the halftone processing, the halftone processing can be executed by the printing device 1001 or the extended application 1002. This allows the halftone processing to be executed at high speed, i.e., halftone processing with a relatively high calculation cost is executed by the extended application, and halftone processing with a relatively low calculation cost is executed by the printing device 1001.

[0090] <<Fourth embodiment>> Hereinafter, the fourth embodiment will be described with reference to Fig. 15 to Fig. 17, focusing on the differences from the above-mentioned embodiment, and the description of the similar matters will be omitted. When the halftone setting is changed, the change is not reflected in the preview screen of the control 402 of the print setting screen 400A shown in Fig. 4(a). Also, depending on the print data, the image quality change due to the change in halftone setting may be so small that it may be difficult to confirm the image quality change unless the preview screen is enlarged.

[0091] Therefore, in this embodiment, the halftoning process selected by the user is enlarged and displayed on a preview screen displayed on the control 402. This embodiment is similar to the first embodiment, except that the configuration of the printing system 1000, the print setting screen displayed by the print setting screen extension unit 205, and the process after the extension application 1501 accepts the print settings are different.

[0092] <Software-centric printing system configuration> FIG. 15 is a block diagram showing a software configuration of a printing system according to a fourth embodiment. As shown in FIG. 15, the printing system 1000 has an extension application 1501. The extension application 1501 has a print setting screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, a notification unit 209, a preview image generating unit 1502, and a preview image display unit 1503. The preview image generating unit 1502 performs halftone processing on an image of intermediate data (drawing data) received from the general-purpose printing software 202 based on halftone settings set by the user. Then, the preview image generating unit 1502 generates a preview image reflecting the halftone processing. The preview image display unit 1503 displays the preview image generated by the preview image generating unit 1502 as a preview screen 1701 (see FIG. 17(a)).

[0093] <Sequence after the drawing application accepts print settings> FIG. 16 is a sequence diagram showing the process executed between the drawing application, the general-purpose printing software, the extended application, and the printing device after the drawing application accepts the print setting. The sequence diagram shown in FIG. 16 is a sequence diagram in which mainly step S1601 and step S1602 are added to the sequence diagram shown in FIG. 9. FIG. 17 is a diagram showing an example of a screen displayed on the display unit of the printing system. FIG. 17(a) is a print setting screen displayed by the drawing application 201. FIG. 17(b) is a detailed setting screen displayed in the case of a configuration in which the extended application 1501 is not associated. FIG. 17(c) is a detailed setting screen displayed in the case of a configuration in which the extended application 1501 is associated. FIG. 17(d) is a print setting screen displayed by the preview image display unit 1503.

[0094] As shown in FIG. 16, after step S907 is executed, the process proceeds to step S1601. In step S1601, the preview image generating unit 1502 of the extension 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 setting (halftone setting) in step S907. Then, the preview image generating unit 1502 generates a preview image reflecting the halftone processing. For example, the coordinates of the text part 1702 in the preview screen 1701 of the print setting screen 1700A shown in FIG. 17(a) may be included. In this case, based on the coordinates of the text part 1702, for example, an enlarged image for displaying a range of 1000 pixels vertically and horizontally from the coordinates of the text part 1702 on the preview screen may be generated as the preview image. Note that the method of generating the enlarged image is not limited to the above method, and for example, a range of a specified number of pixels from the upper left corner of the preview screen 1701 may be specified. Also, the specified range may be larger or smaller than the range. Moreover, the process of generating an enlarged image 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 a print setting screen 1703 shown in Fig. 17(d). After step S1402 is executed, the process proceeds in order from step S908 to step S920. As described above, in this embodiment, the image quality variation caused by the selected halftoning process can be previewed in an enlarged image, and therefore the user can easily check the image quality variation on the enlarged image.

[0096] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to the above-mentioned embodiments, and various modifications and changes are possible within the scope of the gist of the present invention. The present invention can also be realized by supplying a program that realizes one or more functions of the above-mentioned embodiments to a system or device via a network or storage medium, and having one or more processors of a computer in the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0097] The disclosure of each embodiment includes the following programs, recording media, methods, and configurations. (Program 1) A program that can expand the functions of a general-purpose program that can be used when printing on printing devices from multiple manufacturers, A program characterized by having an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed matter printed based on print data generated by the general-purpose program and that expresses halftones on the printed matter. (Program 2) an acquisition step of acquiring, prior to the execution step, capability information relating to the printing capability of the printing device from the printing device; a determination step of determining whether or not the printing device is capable of executing the halftone process based on the capability information acquired in the acquisition step, The program described in program 1, characterized in that in the execution process, if it is determined as a result of the judgment in the judgment process that the printing device is capable of executing the halftone processing, the printing device is caused to execute the halftone processing, and if it is determined that the printing device is not capable of executing the halftone processing, the halftone processing is made executable. (Program 3) A program that can expand the functions of a general-purpose program that can be used when printing on printing devices from multiple manufacturers, A program characterized by having an execution step of executing halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material. (Program 4) A setting step for selecting and setting execution conditions for executing the halftoning process prior to the execution step, A program described in any one of programs 1 to 3, characterized in that the execution process includes a conversion process that converts intermediate data generated by the general-purpose program into the print data that can be printed by the printing device based on the execution conditions set in the setting process. (Program 5) The program according to Program 4, wherein the setting step displays a setting screen on which the execution conditions can be selected and set. (Program 6) The program described in Program 5, characterized in that the setting screen includes at least one of a color tone section for selecting a color tone, a resolution section for selecting a resolution, and an error diffusion section for selecting error diffusion as the execution conditions. (Program 7) The program according to Program 6, wherein when the color tone section or the resolution section is selected, processing using an AM screen is used for the halftone processing. (Program 8) The program described in Program 7, wherein the density of dots in the AM screen or lines made up of the dots is higher in the resolution area than in the color tone area. (Program 9) The program described in any one of Programs 6 to 8, wherein when the error diffusion section is selected, an error diffusion method is used for the halftone processing. (Program 10) A program described in any one of Programs 4 to 9, characterized in that in the execution process, it is possible to select whether to cause the printing device to execute the halftone processing or to execute the halftone processing depending on the execution conditions. (Program 11) The program according to any one of Programs 1 to 10, wherein a program incapable of executing the halftone process is used as the general-purpose program. (Program 12) The program described in any one of Programs 1 to 11, characterized in that a program that operates based on the Internet Printing Protocol is used as the general-purpose program. (Recording medium 1) A recording medium having stored thereon any one of the programs described in Programs 1 to 12. (Method 1) A method for extensibly controlling functions of a general-purpose program that can be used commonly during printing on printing devices of multiple manufacturers, comprising the steps of: A control method characterized by having an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed matter printed based on print data generated by the general-purpose program and that expresses halftones on the printed matter. (Method 2) A method for extensibly controlling a function of a general-purpose program that can be used commonly during printing on printing devices of multiple manufacturers, comprising the steps of: A control method characterized by having an execution step of executing halftoning processing to generate image data that is applied to a printed matter printed based on the print data generated by the general-purpose program and that expresses halftones on the printed matter. (Configuration 1) An information processing device that is communicably connected to printing devices of multiple manufacturers and processes information between the printing devices, a general-purpose program that can be used in common for printing devices of the plurality of manufacturers; a program capable of expanding the function of the general-purpose program, The information processing device is characterized in that the program has an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material. (Configuration 2) An information processing device that is communicably connected to printing devices of a plurality of manufacturers and processes information between the printing devices, a general-purpose program that can be used in common for printing devices of the plurality of manufacturers; a program capable of expanding the function of the general-purpose program, The information processing device is characterized in that the program has an execution step of executing halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material. [Explanation of symbols]

[0098] 102 Printing device 114 External storage device (recording medium) 202 General-purpose printing software (general-purpose programs) 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 capable of expanding the functions of a general-purpose program that can be used commonly when printing on printing devices of multiple manufacturers, A program characterized by having an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed matter printed based on print data generated by the general-purpose program and that expresses halftones on the printed matter.

2. an acquisition step of acquiring, prior to the execution step, capability information relating to the capability of the printing device to perform printing from the printing device; a determination step of determining whether or not the printing device is capable of executing the halftone process based on the capability information acquired in the acquisition step, The program according to claim 1, characterized in that in the execution step, if it is determined as a result of the judgment in the judgment step that the printing device is capable of executing the halftone processing, the printing device is caused to execute the halftone processing, and if it is determined that the printing device is not capable of executing the halftone processing, the halftone processing can be executed.

3. A program capable of expanding the functions of a general-purpose program that can be used commonly when printing on printing devices of multiple manufacturers, A program characterized by having an execution step of executing halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material.

4. a setting step for selecting and setting execution conditions for executing the halftoning process prior to the execution step; The program according to claim 1 or 3, characterized in that the execution process includes a conversion process for converting intermediate data generated by the general-purpose program into print data that can be printed by the printing device based on the execution conditions set in the setting process.

5. 5. The program according to claim 4, wherein the setting step displays a setting screen on which the execution conditions can be selected and set.

6. 6. The program according to claim 5, wherein the setting screen includes at least one of a color tone section for selecting a color tone, a resolution section for selecting a resolution, and an error diffusion section for selecting error diffusion as the execution conditions.

7. 7. The program according to claim 6, wherein when the color tone section or the resolution section is selected, processing using an AM screen is used for the halftone processing.

8. 8. The program according to claim 7, wherein the density of dots or lines made up of said dots in said AM screen is higher in said resolution area than in said color tone area.

9. 7. The program according to claim 6, wherein when the error diffusion section is selected, an error diffusion method is used for the halftone processing.

10. 5. The program according to claim 4, wherein in the execution step, it is possible to select whether to cause the printing device to execute the halftone process or to execute the halftone process, depending on the execution condition.

11. 4. The program according to claim 1, wherein the general-purpose program is a program incapable of executing the halftone process.

12. 4. The program according to claim 1, wherein the general-purpose program is a program that operates based on the Internet Printing Protocol.

13. 4. A recording medium storing the program according to claim 1 or 3.

14. A method for controlling a function of a general-purpose program that can be commonly used during printing on printing devices of multiple manufacturers in an extensible manner, comprising: A control method characterized by having an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed matter printed based on print data generated by the general-purpose program and that expresses halftones on the printed matter.

15. A method for controlling a function of a general-purpose program that can be commonly used during printing on printing devices of multiple manufacturers in an extensible manner, comprising: A control method characterized by having an execution step of executing halftoning processing to generate image data that is applied to a printed matter printed based on the print data generated by the general-purpose program and that expresses halftones on the printed matter.

16. An information processing device that is communicably connected to printing devices of multiple manufacturers and processes information between the printing devices, a general-purpose program that can be used in common for printing devices of the plurality of manufacturers; a program capable of expanding the function of the general-purpose program, The information processing device is characterized in that the program has an execution step of causing the printing device to execute halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material.

17. An information processing device that is communicably connected to printing devices of multiple manufacturers and processes information between the printing devices, a general-purpose program that can be used in common for printing devices of the plurality of manufacturers; a program capable of expanding the function of the general-purpose program, The information processing device is characterized in that the program has an execution step of executing halftone processing to generate image data that is applied to a printed material printed based on print data generated by the general-purpose program and that expresses halftones on the printed material.

Citation Information

Patent Citations

  • Information processor, print setting method, storage medium, and program

    JP2009163680A

  • Program, information processing device, and printing system

    JP2014215945A

  • Support program, information processing apparatus, and printing method

    JP2020166433A

  • Support program, information processing device, and printing method

    JP2023017876A

  • Support program

    JP2023109429A