Application program, control method for information processing device, and information processing device

The integration of an extension application with general-purpose printing software allows for manufacturer-specific resolution settings, addressing the limitations of standard drivers and enhancing user control in printing options.

JP2025178690APending Publication Date: 2025-12-09CANON KK
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2024085446
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-27
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

Existing general-purpose printing software lacks the capability to enable manufacturer-specific resolution setting functions during rasterization processing, limiting user flexibility and convenience in printing options.

Method used

A program and control method that integrates an extension application with general-purpose printing software, allowing users to set and transmit manufacturer-specific resolution settings to the printing device, enhancing the functionality of rasterization processing.

Benefits of technology

Enables printing at a resolution that is unique to the manufacturer, providing users with greater control and flexibility in printing options, overcoming limitations of standard drivers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025178690000001_ABST
    Figure 2025178690000001_ABST
Patent Text Reader

Abstract

To provide a mechanism that enables printing at a resolution which is a manufacturer's unique function at printing using general-purpose printing software.SOLUTION: A host computer 101 extends the functions of general-purpose printing software that can be commonly used by printing devices provided by a plurality of manufacturers using an extension application and performs control to achieve the manufacturers' unique rasterization process. When a user instructs print settings using the functions of the general-purpose printing software, the host computer accepts a resolution setting at the rasterization process from a user on a detailed setting screen 300c, and transmits print data, and the resolution setting accepted on the detailed setting screen 300c to a printing device 102 that is communicably connected to the host computer 101.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, a control method for an information processing device, and an information processing device, and more particularly to a program for expanding the functionality of general-purpose printing software, a control method for an information processing device, and an information processing device. [Background technology]

[0002] 2. Description of the Related Art Conventionally, a configuration is known in which a printer driver is installed in a host computer as software for controlling a printing device, and the printer driver is used to issue print instructions to a printing device connected to the host computer.

[0003] An operating system (OS), which is the basic software, is installed on a host computer, and printer drivers are configured according to the specifications defined by that OS and are called by the OS to run. By providing users of host computers with printer drivers that conform to the OS specifications, manufacturers of printing devices can provide a means for users to use the OS on the host computer to instruct the printing device to print.

[0004] In recent years, Windows® has provided standard software (hereinafter referred to as a "standard driver") that can be used across printing devices from multiple manufacturers. Such standard drivers are included in the OS package, allowing users to immediately issue print instructions to any printing device from the host computer simply by connecting the printing device to the host computer. This eliminates the need to separately install a model-specific printer driver suited to the printing device, providing greater convenience. Furthermore, standard drivers are configured to allow users to specify printing functions based on PrintDeviceCapabilities (hereinafter referred to as "PDC") generated based on information acquired from the connected printing device. This allows users of standard drivers to specify printing functions that correspond to the capabilities of the connected printing device, even when using a single standard driver. However, the printing functions that can be specified in this case are limited to those that can be implemented only by the standard driver. Therefore, even if a printing device connected to the host computer can execute a function, there are manufacturer-specific functions that cannot be implemented by the standard driver.

[0005] Therefore, Patent Document 1 discloses a technique for extending a manufacturer's unique function by using an extension application for a standard driver.

[0006] Here, a resolution setting function is a manufacturer-specific function for achieving color printing, poster printing, and bookbinding printing. The resolution setting function switches the resolution when a vector image included in print data is converted into a raster image through rasterization processing. Here, a vector image is an image format that numerically represents the coordinates of the start and end points of a line based on mathematical calculations, while a raster image is an image format that is expressed by arranging tiny pixels in a grid pattern. Furthermore, rasterization processing is a process in which a vector image is interpreted in a given way and converted into a raster image of a given resolution. Note that rasterization processing is a well-known technology, so a detailed explanation of the process will be omitted.

[0007] By using the resolution setting function to change the resolution of the rasterization process, it is possible to print print data that includes thin lines and small characters. [Prior art documents] [Patent documents]

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

[0009] However, although the extended application of Patent Document 1 enables toner saving processing when printing using a standard driver, it does not enable a resolution setting function. On the other hand, if the resolution setting function cannot be used when printing, the user cannot change the resolution according to the print data during rasterization processing and print, which causes inconvenience to the user.

[0010] Therefore, an object of the present invention is to provide a mechanism that enables printing at a resolution that is a manufacturer's unique function when printing using general-purpose printing software. [Means for solving the problem]

[0011] In order to solve the above problem, the program of claim 1 of the present invention is a program for expanding the functions of general-purpose printing software that can be commonly used by printing devices provided by multiple manufacturers in an information processing device, and for performing control to realize rasterization processing unique to the manufacturer, and causes the computer of the information processing device to function as a receiving means that receives a resolution setting for rasterization processing from a user when the user instructs print settings using the functions of the general-purpose printing software, and as a transmitting means that transmits print data and the resolution setting received by the receiving means to a first printing device that is communicatively connected to the information processing device. [Effects of the Invention]

[0012] According to the present invention, when printing using general-purpose printing software, printing at a resolution that is a manufacturer-specific function can be realized. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a block diagram showing a hardware configuration of a host computer as an information processing apparatus according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating the software configuration of the printing system according to the first embodiment. [Figure 3] 3 is a diagram showing an example of a print setting screen displayed by a print setting extension unit in FIG. 2. FIG. [Figure 4] 10 is a flowchart of a PDC editing process according to the first embodiment, which is executed by a print function extension unit. [Figure 5] 5 is a diagram showing an example of capability information that a host computer acquires from a printing device in the first embodiment. FIG. [Figure 6] 3 is a diagram showing an example of print functions supported by the extension application in FIG. 2 and their setting values. FIG. [Figure 7] 3 is a diagram showing an example of print functions and their setting values ​​written in a PDC generated by the general-purpose printing software in FIG. 2. FIG. [Figure 8] FIG. 10 is a sequence diagram of the print processing according to the first embodiment, which is executed by the edit application, general-purpose print software, extension application, and printing device after the edit application accepts print settings. [Figure 9] FIG. 10 is a diagram illustrating an example of rasterization processing in the present invention. [Figure 10] FIG. 10 is a diagram illustrating the software configuration of a printing system according to a second embodiment. [Figure 11]FIG. 10 is a sequence diagram of a print process according to the second embodiment that is executed by the edit application, general-purpose print software, extension application, and printing device after the edit application accepts print settings. [Figure 12] 10 is a flowchart of a rasterization process executed by a printing device connected to the information processing device. [Figure 13] FIG. 10 is a diagram illustrating the software configuration of a printing system according to a third embodiment. [Figure 14] 10A to 10C are diagrams illustrating an example of composite image processing according to the third embodiment. [Figure 15] 10 is a flowchart of a composite image generation process according to the third embodiment, which is executed by an extension application. [Figure 16] FIG. 11 is a sequence diagram of a print process according to the third embodiment that is executed by the edit application, general-purpose print software, extension application, and printing device after the edit application accepts print settings. DETAILED DESCRIPTION OF THE INVENTION

[0014] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.

[0015] The same components are given the same reference numerals and the description thereof will be omitted.

[0016] <<First embodiment>> <Host computer hardware configuration> FIG. 1 is a block diagram showing the hardware configuration of a host computer 101 as an information processing apparatus according to the first embodiment.

[0017] 1, the host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a NETIF 120. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. Devices such as a printing device 102 (first printing device) are connected to the input / output interface 116 so as to be able to communicate with the host computer 101. The NETIF 120 is a network interface that controls data transfer between the host computer 101 and external devices via a network.

[0018] An initialization program is stored in the ROM 112. Application programs, an operating system (OS), print data generation software, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory when the various programs stored in the external storage device 114 are executed, and enables the various programs to run within the host computer 101.

[0019] In this embodiment, the CPU 111 executes processing according to the procedures of a program stored in the ROM 112, thereby executing functions of the host computer 101, which will be described later, and processing according to flowcharts, which will be described later.

[0020] In this embodiment, the host computer 101 and the printing device 102 are configured as separate devices, but they may also be configured as a single information processing device. In addition, a print setting screen and a detailed setting screen, which will be described later, are displayed on a display unit 119.

[0021] In this embodiment, the printing device will be described as an electrophotographic digital multifunction peripheral having multiple functions such as copying, printing, and faxing. However, the present embodiment is not limited to this and can also be applied to devices using other processes, such as inkjet printing. The host computer 101 may be a desktop personal computer, a smartphone, or a notebook computer.

[0022] <Configuration of a software-based printing system in the first embodiment> 2 is a diagram illustrating the software configuration of a printing system 1-1 according to this embodiment. Here, the printing system 1-1 includes a host computer 101 running Microsoft Windows 11 as its operating system.

[0023] First, the software configuration of a conventional printing system in which the extension application 204 is not associated with the general-purpose printing software 202 and the printing device 102 will be described with reference to FIG. 2(a).

[0024] In FIG. 2( a ), the conventional printing system includes an editing application 201 , general-purpose printing software 202 , a PDC 203 , and a printing device 102 .

[0025] The editing application 201 and the general-purpose printing software 202 are stored in the external storage device 114 shown in Fig. 1. The CPU 111 reads them from the external storage device 114 into the RAM 113 and executes them to perform the following processing.

[0026] The editing application 201 is software for editing data, such as a word processing application, a spreadsheet application, etc. Here, the editing application 201 is exemplified by a drawing application that creates content (drawing data) to be printed.

[0027] When the editing application 201 receives a print request from a user, it issues a print instruction to the OS. The print instruction includes print setting information for instructing the operation of the general-purpose printing software 202 and the printing device 102. The print setting information is called a PrintTicket (hereinafter, "PT").

[0028] The editing application 201 displays a print setting screen 300a (FIG. 3(a)) in the general-purpose printing software 202, the OS, or the editing application 201 in order to output a PT to be included in a print instruction. When a control 305 in the print setting screen 300a is pressed, the general-purpose printing software 202 additionally displays a detailed setting screen 300b (FIG. 3(b)). The screen configurations of the print setting screen 300a and the detailed setting screen 300b will be described later using FIG. 3. The detailed setting screen 300b includes setting items (hereinafter also referred to as "controls") indicating configurable printing functions and their setting values ​​according to the capability information (configurable information) of the general-purpose printing software 202. The capability information is also referred to as PrintCapabilities (hereinafter "PC").

[0029] The generic printing software 202 is a standard driver and determines the PC based on a PDC (Print Device Capabilities) 203. The PDC 203 is print function information indicating the printing functions of the printing device 102, describing all print functions that can be set by the generic printing software 202, their setting values, and the exclusive relationships between the setting values. The PDC 203 may be included in a configuration file of the generic printing software 202 and stored in the external storage device 114 as an unmodifiable file, or the PDC 203 may be dynamically generated by the generic printing software 202. Specifically, the generic printing software 202 or the OS may be configured to acquire printing device attribute data from the printing device 102 and generate the PDC 203 based on the attribute information in the acquired attribute data. Note that when the PDC 203 is dynamically generated, the generated PDC 203 is editable. The attribute data acquired from the printing device 102 is a response acquired by issuing a Get-Printer-Attributes operation of the Internet Print Protocol (IPP) to the printing device 102. The response includes attribute information indicating functions (capabilities of the printing device) that can be specified by the printing device 102 and setting values ​​related to that attribute information. This response is saved in the RAM 113.

[0030] This configuration allows the general-purpose printing software 202 to be configured so that the user can specify print functions available on a printing device (here, the printing device 102) connected to the host computer 101. In other words, even if printing devices with different functions or printing devices developed by different manufacturers are connected to the host computer 101, the general-purpose printing software 202 can be configured so that the user can specify print functions available on the connected printing device. Here, a configuration using the IPP Class Driver included in Windows® 11 is described as the general-purpose printing software 202. The IPP Class Driver is a printer driver that executes print processing according to the specifications of a standard printing protocol called IPP (Internet Print Protocol) and is included in the OS package. The IPP Class Driver is not a printer driver specific to the model of the printing device 102, but a standard class driver that can be used by multiple printing devices. The IPP Class Driver also acquires capability information from the printing device 102 connected to the host computer 101 and generates a PDC 203 based on the acquired capability information so that the user can specify print functions supported by the printing device 102. However, the IPP ClassDriver does not support the resolution setting function because the resolution setting function is a function unique to the manufacturer that provides the printing device 102.

[0031] Here, we will explain the resolution setting function, which is a manufacturer-specific function provided by the printing device 102, and its use cases. First, we will explain the resolution setting function. In explaining the resolution setting function, the input print data uses a commonly used vector file format called SVG (Scalable Vector Graphics), but this is not limited to this.

[0032] <Resolution setting function> As described above, the resolution setting function is a function for performing rasterization processing on print data at a predetermined resolution and generating a vector image.

[0033] The predetermined resolution is selected by the user from a plurality of preset resolutions. In this embodiment, the preset resolutions are 600 dpi (dots per inch) and 1200 dpi, but the present invention is not limited to these.

[0034] <Example of resolution setting function processing> As an example of the resolution setting function, the rasterization process of the present invention will be described. Note that the rasterization process described in this embodiment is just an example, and is not limited to this. Furthermore, the rasterization process described here will be described as being performed by the printing device 102 in FIG. 1.

[0035] The rasterization process performed in this embodiment will be described with reference to FIGS.

[0036] A vector image 901 in FIG. 9(a) is image data included in the print data, and is drawn based on vector information 912 that describes information such as the color and display range of each of the objects 902 to 905.

[0037] Object 902 is a white background object, object 903 is a character object consisting of the black letter "A," object 904 is a character object consisting of the red letter "B," object 905 is a character object consisting of the green letter "C," and object 906 is a graphic object representing a yellow rectangle. Display frames 907-911 are display frames for each of objects 902-905 and indicate the range in which each of objects 902-905 is displayed.

[0038] In this embodiment, an arbitrary width and height are set from the start coordinates indicating the position of the upper left corner of each of the objects 902 to 905, and these are used as the respective display frames 907 to 911. Each of the objects 902 to 905 is drawn based on these display frames 907 to 911. Furthermore, the values ​​indicating the start coordinates, width, and height that set the display frames 907 to 911 indicate relative sizes within the vector image 901, and when the vector image 901 is enlarged or reduced, each of the display frames 907 to 911 changes proportionately. Note that, in this embodiment, the vector information 912 includes object attributes, RGB values, start coordinates, width, and height, but is not limited to these items.

[0039] FIG. 12 is a flowchart of the rasterization process executed by the printing device 102.

[0040] Although details are omitted here, the printing device 102 has a CPU, ROM, and RAM similar to the CPU 111, ROM 112, and RAM 113 of the host computer 101, and this CPU performs processing according to the procedures of a program stored in the ROM, thereby executing various functions including this processing.

[0041] 12, when input print data including a vector image 901 is sent from the host computer 101 to the printing device 102, the rasterization processing resolution set in this input print data is determined. The setting of the input print data will be described later.

[0042] If the rasterization resolution is determined to be "fine (600 dpi)" (YES in step S1201), the process proceeds to step S1202. On the other hand, if the rasterization resolution is determined to be "super fine (1200 dpi)" (NO in step S1201), the process proceeds to step S1203.

[0043] Next, in step S1202, rasterization processing is performed on each object in the vector image 901 to create a 600 dpi raster image. As described above, a known technique is used for the rasterization processing method. In this embodiment, the raster image is an 8-bit RGB image. This rasterization processing generates a 600 dpi raster image 913, and the processing ends.

[0044] An example of the rasterization process will now be described with reference to FIG.

[0045] An object 903 in Fig. 9(b) is the black letter "A" included in the vector image 901 in Fig. 9(a), and is an object drawn using vector information 912. When the rasterization process in step S1202 is performed on the object 903 in the process in Fig. 12, a 600 dpi raster image 914, which is a collection of pixel groups, is generated, as shown in Fig. 9(b).

[0046] 12, in step S1203, rasterization processing is performed on each object in the vector image 901 to create a 1200 dpi raster image. For example, when the rasterization processing in step S1203 is performed on the object 903 in FIG. 9B, the result is a 1200 dpi raster image 915, as shown in FIG. 9B. Comparing the raster images 914 and 915, it can be seen that the raster image 915, which has a higher rasterization processing resolution, has less jaggedness at the edges of characters than the raster image 914.

[0047] This concludes the explanation of the rasterization process.

[0048] <Use cases for the resolution setting function> Next, we will explain a use case for the resolution setting function. When printing, various image processes, including color conversion, are performed on print data to improve the appearance of the printed material. For example, for print data that includes small characters or thin lines, rasterization processing at a high resolution can reduce jaggedness of the characters or lines. However, there is a trade-off in that the higher the rasterization processing resolution, the larger the data size of the print data itself, resulting in lower transfer speeds and processing speeds. For this reason, a resolution setting function is needed to enable users to switch the rasterization processing resolution according to their preferences.

[0049] Returning to the explanation of Figure 2(a), when a print instruction is issued from the editing application 201, an OS module in the general-purpose printing software 202 generates intermediate data (also called input data). The data output by the editing application 201 for printing is data in Graphic Device Interface format (GDI format data) or data in XML Paper Specification format (XPS format data). If the general-purpose printing software 202 is an IPP Class Driver, and the data output by the editing application 201 is GDI format data, the OS converts the GDI format data output from the editing application 201 into XPS format data. The intermediate data includes drawing data, which is information about the picture to be formed on paper, and a PT set by the user.

[0050] The general-purpose printing software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102 and sends it to the printing device 102. Here, the print data in this embodiment is Page Description Language (PDL) data that conforms to IPP. PDL data that conforms to IPP is, for example, data in PDF (Portable Document Format) or PWG-Raster format. The print data includes drawing data, which is information about the image to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on the PT set by the user. The print setting attribute information includes attribute information that indicates functions (printing device capabilities) that can be specified by the printing device 102 and setting values ​​related to that attribute information. However, as described above, in the configuration of FIG. 2(a), setting values ​​for functions unique to the manufacturer that provides the printing device 102, such as a resolution setting function, are not included.

[0051] The printing device 102 prints on paper based on the print data sent from the general-purpose printing software 202. At this time, the printing device 102 forms the drawing data included in the print data on paper in accordance with the print setting attribute information included in the print data. The print setting attribute information includes attribute information and setting values ​​for specifying print quality (priority on image quality, priority on speed, etc.) and double-sided printing. For example, if the print setting attribute information includes attribute information specifying double-sided printing and a setting value indicating that double-sided printing is to be performed, the printing device 102 executes double-sided printing.

[0052] <Configuration of a Software-Centered Printing System in the First Embodiment (When the Extension Application 204 is Associated)> Next, the configuration of the printing system 1-1 according to the present invention, which is associated with the extended application 204, will be described with reference to Fig. 2(b). Note that configurations and processes not specifically mentioned below are the same as those in Fig. 2(a).

[0053] FIG. 2B is a diagram showing the software configuration of the printing system 1-1 in which the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102.

[0054] 2B, the printing system 1-1 includes an editing application 201, a PDC 203, a printing device 102, and general-purpose printing software 202, as in FIG. 2A, and also includes an extension application 204.

[0055] The editing application 201, general-purpose printing software 202, and extension application 204 are stored in the external storage device 114 shown in Fig. 1. The CPU 111 reads them from the external storage device 114 to the RAM 113 and executes them, thereby performing the processes shown in the flowcharts and sequence diagrams described below.

[0056] The extension application 204 is software (program) for extending the functions of the general-purpose printing software 202, and is software that is not included (bundled) in advance with the OS. Therefore, the extension application 204 must be downloaded from a server via the Internet and installed. This installation method may be a manual method based on a user operation on the host computer 101, or an automatic method based on the connection of the printing device 102 to the host computer 101. In the latter method, the extension application 204 is specifically installed in the following manner. First, 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 downloads the extension application 204 corresponding to the acquired device identification information from the server via the Internet and installs it.

[0057] The general-purpose printing software 202 and the extension application 204 are stored as separate files in the host computer 101. The general-purpose printing software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. That is, the timing at which the host computer 101 acquires the general-purpose printing software 202 is different from the timing at which the extension application 204 is acquired. The trigger for the host computer 101 to acquire the general-purpose printing software 202 is also different from the trigger for the host computer 101 to acquire the extension application 204. When the extension application 204 is installed, the OS associates the extension application 204 with the general-purpose printing software 202 and the printing device 102.

[0058] As shown in FIG. 2(b), the extension application 204 includes a print setting extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 208 (hereinafter also referred to as units 205 to 208). The extension application 204 also includes shared information 209 that can be commonly accessed by the units 205 to 208. The shared information 209 is actually a file saved in the external storage device 114 or information stored in the RAM 113. The extension application 204 writes and reads information to and from the shared information 209 by using an API (Application Program Interface) provided by the OS.

[0059] The extended application 204 may terminate its operation each time the processing of each of the units 205 to 208 is completed. In this case, the OS will start up the extended application 204 each time a request to use each of the units 205 to 208 is received.

[0060] Furthermore, the extension application 204 may cancel processing during the processing of each of the units 205 to 208. If the processing is canceled, the job being processed in the print queue is deleted by the OS.

[0061] When the editing application 201 receives a print request from a user, it issues a print instruction to the OS. In this embodiment, as in the configuration of FIG. 2A, the editing application 201 also displays a print setting screen 300a. However, unlike conventional configurations, when the control 305 is pressed, in this embodiment, the extension application 204 causes the print setting extension unit 205 to display a detailed setting screen 300c for setting detailed print settings, rather than a detailed setting screen 300b. In addition, the print setting extension unit 205 can save the detailed settings set by the user in the shared information 209. Details of the print setting extension unit 205 will be described later using FIGS. 3, 4, and 8.

[0062] The intermediate data editing unit 207 acquires and edits intermediate data from the general-purpose printing software 202, converts it into print data, and then passes the print data to the printing device 102. Furthermore, the intermediate data editing unit 207 acquires detailed setting information from the shared information 209 and adds the detailed settings to the print data. The printing device 102 prints on paper based on the accepted print data. Note that the method of converting intermediate data into print data is not limited to the above. The extension application 204 may also be configured to acquire print data generated by the general-purpose printing software 202 and add detailed settings to the print data. Also, even in the configuration of the printing system 1-1 according to the present invention shown in FIG. 2(b), there may be cases where the user does not set the resolution. In such cases, the general-purpose printing software 202 may pass the print data to the printing device 102 without going through the extension application 204, as in the configuration of the conventional printing system shown in FIG. 2(a).

[0063] The print function extension unit 206 can edit the PDC 203 generated by the general-purpose printing software 202 or the OS. This allows the print function extension unit 206 to add functions provided by the extension application 204. Specifically, the print function extension unit 206 can add functions that are supported by the printing device 102 but not by the general-purpose printing software 202 (for example, a resolution setting function), or add exclusive relationships between print function setting values. The OS starts the print function extension unit 206 when the extension application 204 is first associated with the printing device 102 and the general-purpose printing software 202. Furthermore, the OS may start the print function extension unit 206 at other times, such as when the OS starts up. In this way, in cases where an optional device (for example, a finisher) is later added to the printing device 102 and printing-related functions are expanded, the print function extension unit 206 can detect the expanded function and add it to the PDC 203.

[0064] The notification unit 208 can display a notification to the user in response to an error occurring in the printing device 102. For example, when an out-of-paper error occurs in the printing device 102, the general-purpose printing software 202 detects it, and the OS uses a notification function of the OS called a toast notification to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 208 of the extension application 204, and the UI screen of the notification unit 208 is displayed. The UI screen of the notification unit 208 can display, for example, a detailed message about the out-of-paper error and instructions on how to refill paper.

[0065] Once the extension application 204 has sent print data to the printing device 102, it is not possible to display on the screen a guide or the like associated with the print data while the units 205 to 208 are processing the data.

[0066] Furthermore, the configuration of the extension application 204 for realizing this embodiment is not limited to one that includes all of the above-mentioned units 205 to 208, but may include only some of the functions or other functions. The extension application 204 is sometimes simply called printing software. As described above, the extension application 204 has at least one of the following functions: a function for displaying a settings screen; a function for adding detailed settings to print data; a function for extending the functions of the general-purpose printing software 202; and a function for displaying a screen in response to an error occurring in the printing device 102.

[0067] <Example of print settings screen / details settings screen> Next, an example of the print setting screen and the detailed setting screen in this embodiment will be described with reference to FIG.

[0068] FIG. 3(a) shows a print setting screen 300a displayed by the editing application 201. FIG. 3(b) shows a detailed setting screen 300b displayed in a conventional printing system that does not have the extension application 204 shown in FIG. 2(a). FIG. 3(c) shows a detailed setting screen 300c displayed in a printing system 1-1 that has the extension application 204 shown in FIG. 2(b). Note that the units and modules that display the print setting screen 300a are not limited to those described above. For example, the function of the print setting extension unit 205 may be limited to generating a display screen. In that case, the print setting extension unit 205 may send the generated display screen to the editing application 201 via the general-purpose printing software 202, and the editing application 201 may display the acquired display screen.

[0069] <Figure 3(a): Print setting screen displayed by the editing application 201> First, the print setting screen 300a shown in FIG. 3(a) will be described.

[0070] In FIG. 3(a), a print setting screen 300a has controls 301 to 304.

[0071] The control 301 includes a printer selection pull-down menu 301a, a print orientation selection pull-down menu 301b, and a number of copies setting section 301c.

[0072] The printer selection pull-down menu 301a displays a list of printers that can be used for printing when clicked (pressed) by the user, and allows the user to select one of them to set the printer to be used for printing.

[0073] The print orientation selection pull-down menu 301b displays a list of print orientations that can be set by the user's click, and the user can select one of them to set the print orientation.

[0074] The number of copies to be printed setting section 301c displays the default number of copies to be printed (1 copy), and the user can change the number of copies to +1 by clicking the up arrow in the upper right corner once, or to -1 by clicking the down arrow in the lower right corner once.

[0075] Control 302 is a preview screen, control 303 is a print start button that can be clicked by the user, control 304 is a button that can be clicked by the user to cancel printing, and control 305 is a button that can be clicked by the user to display a detailed settings screen that allows the user to set detailed print settings.

[0076] When the user clicks on the control 305, in the case of a conventional printing system, the general-purpose printing software 202 displays a detailed settings screen 300b (FIG. 3(b)). On the other hand, in the case of the printing system 1-1 according to the present invention, the print settings expansion unit 205 displays a detailed settings screen 300c (FIG. 3(c)).

[0077] <FIG. 3(b): Advanced setting screen displayed by the general-purpose printing software 202> 3B, the detailed setting screen 300b will be described. The detailed setting screen 300b is an additional setting screen displayed by the general-purpose printing software 202 in a conventional printing system that does not have the extension application 204.

[0078] In FIG. 3(b), the detailed setting screen 300b has controls 306 to 308.

[0079] Control 306 is a pull-down menu for selecting the paper type, which the user can click to display a list of available paper types, and then select one to set the type of paper to be used for printing. In this example, the paper type set in control 306 is plain paper.

[0080] Control 307 is a pull-down menu for selecting paper size, which displays a list of paper sizes that can be set by the user when clicked, and allows the user to select one to set the size of paper to be used for printing. In this example, the paper size set in control 307 is A4.

[0081] Control 308 is a pull-down menu for specifying a paper feed slot, and when clicked by the user, a list of paper feed slots from which paper for printing can be fed is displayed, and the user is allowed to select one to specify the paper feed slot for printing. In this case, the paper feed slot specified by control 308 is automatic.

[0082] Control 309 is a button that, when clicked by the user, confirms the settings on the detailed setting screen 300b and ends the screen. Clicking control 309 returns the screen to the print setting screen 300a in FIG. 3(a).

[0083] <Figs. 3(c) and (d): Print setting screen displayed by the print setting expansion unit 205> Next, a detailed setting screen 300c shown in FIG. 3(c) will be described.

[0084] The detailed setting screen 300c in Fig. 3(c) is an additional setting screen displayed by the print setting extension unit 205 (additional means) in the printing system 1-1 having the extension application 204. In addition to having the same controls 306-308 as the detailed setting screen 300b in Fig. 3(b), the detailed setting screen 300c (reception means) also has a control 310 that allows the user to select the rasterization processing resolution. Fig. 3(c) shows that fine mode has been selected as an example.

[0085] FIG. 3(d) shows, as an example, a case where control 310 on the detailed settings screen 300c is pressed, and a list 311 displaying a list of selectable resolution settings is displayed. List 311 indicates that in addition to the currently selected "Fine (600 dpi)," there is also "Super Fine (1200 dpi)." By selecting a desired resolution setting from list 311, the user can switch the rasterization processing resolution and perform printing. Note that, in this embodiment, the user can select two resolution settings, Fine and Super Fine, but this is not limited to this as long as the user can select two or more resolution settings.

[0086] Here, the reason why the print setting items differ between the detailed setting screen 300b in FIG. 3(b) and the detailed setting screen 300c in FIGS. 3(c) and 3(d) will be explained.

[0087] Both the detailed setting screens 300b and 300c are generated by referencing a PC generated based on the printing function information. However, the general-purpose printing software 202 does not support a resolution setting function, and therefore cannot add the resolution setting function to the printing function information. Even if the resolution setting function was originally included in the printing function information, the general-purpose printing software 202 cannot interpret the resolution setting function included in the printing function information, and therefore cannot display the resolution setting on the detailed setting screen 300b. On the other hand, in the printing system 1-1, the printing function extension unit 206 is configured to add the resolution setting function to the PDC 203, and the printing setting extension unit 205 references the PC to display the detailed setting screen 300c. This allows the extension application 204 in the printing system 1-1 to display the resolution setting on the detailed setting screen 300c.

[0088] <Flowchart of the print function expansion unit 206 editing the PDC 203 in the first embodiment> 4, a description will be given of the PDC editing process according to the first embodiment, which is executed by the print function extension unit 206. Note that each step in FIG. 4 is performed by the CPU 111 controlling the print function extension unit 206.

[0089] First, in step S401, the print function extension unit 206 (acquisition means) acquires capability information from the printing device 102. The capability information is attribute information indicating functions that can be specified on the printing device 102 and setting values ​​related to that attribute information, which is included in a response acquired by issuing an IPP Get-Printer-Attributes operation to the printing device 102. Table 501 in Figure 5 is a diagram showing an example of capability information that the host computer 101 acquires from the printing device 102. As shown in Table 501, functions such as resolution settings and options that can be set for each function can be acquired from the printing device 102.

[0090] Next, in step S402, the print function extension unit 206 obtains a list of print functions supported by the extension application 204 from the shared information 209. The list of print functions supported by the extension application 204 is stored in the shared information 209, and contains all print functions that can be processed by the extension application 204 and their setting values. Table 601 in Fig. 6 is a diagram showing an example of print functions supported by the extension application 204 and their setting values. The list of print functions supported by the extension application 204 may be updated when the extension application 204 is updated, for example.

[0091] Next, in step S403, the print function extension unit 206 acquires the PDC 203 created by the general-purpose printing software 202 from the OS. The PDC 203 created by the general-purpose printing software 202 is created based on capability information 501 acquired by the general-purpose printing software 202 from the printing device 102. The PDC created by the general-purpose printing software 202 only describes printing functions supported (interpreted) by the general-purpose printing software 202 from the capability information acquired from the printing device 102, and therefore the PDC's functionality is limited. Table 701 in FIG. 7 shows an example of printing functions and their setting values ​​described in the PDC created by the general-purpose printing software 202. For example, the capability information 501 acquired from the printing device 102 includes sizes such as 7x10 inches and Western-style No. 6, but the general-purpose printing software 202 does not support these sizes, and therefore these sizes are not described in the PDC. The resolution setting function is also not supported, and therefore is not described in the PDC. The print function extension unit 206 adds functions and options to the PDC, which enables the extension application 204 to compensate for insufficient functions of the general-purpose printing software 202. The print function extension unit 206 can also delete unnecessary functions and options from the PDC created by the general-purpose printing software 202.

[0092] The subsequent steps S404, S405, and S406 are processes that are repeatedly performed for the list of functions included in the capability information acquired in step S401 from the printing device 102. In this embodiment, these processes are repeatedly performed for the 13 types of sizes included in table 501, from A4 to super fine (1200 dpi) resolution.

[0093] In step S404, the print function extension unit 206 determines whether the item (function / option) currently being processed, among the capability information acquired from the printing device 102 in step S401, exists in the PDC generated by the general-purpose printing software 202. If it exists in the PDC (Yes in step S404), the next item is selected from the functions / options included in the capability information acquired from the printing device 102, and the process returns to step S404. Note that if the item currently being processed in step S404 is the last item among the functions / options included in the capability information acquired from the printing device 102, the process of FIG. 4 ends. On the other hand, if it does not exist in the PDC (No in step S404), the process proceeds to step S405. For example, if the size: A4 shown in table 501, which is the capability information of the printing device 102, is the item currently being processed in step S404, this item also exists in table 701, which is the capability information of the general-purpose printing software 202. In this case, the determination in step S404 is Yes, and the process proceeds to the determination process in step S404 for the next item to be processed (size: A5). On the other hand, if the resolution: Fine (600 dpi) shown in table 501 is the item to be currently processed, this item does not exist in table 701. In this case, the determination in step S404 is No, and the process proceeds to step S405.

[0094] In step S405, the print function extension unit 206 determines whether the item (function / option) currently being processed is included in the functions / options supported by the extension application 204 acquired in step S402. That is, it determines whether the item currently being processed is an item supported by the extension application 204. If it is a supported item (Yes in step S405), the process proceeds to step S406. On the other hand, if it is not a supported item (No in step S405), the process proceeds to step S406 as if it were determined Yes in step S404. That is, if the item currently being processed is not the last item, the next item is selected and the process returns to step S404. If the item currently being processed is the last item, the process in FIG. 4 ends. For example, if the item currently being processed is resolution: fine (600 dpi), this item also exists in table 601, which is the capability information of the extension application 204. In this case, the determination in step S405 is Yes, and the process proceeds to step S406.

[0095] In step S406, the print function extension unit 206 adds the item (function / option) currently being processed to the PDC 203. After the process in step S406, the same process as when the determination in step S404 is Yes is performed.

[0096] As described above, the print function extension unit 206 adds functions / options that are not supported by the general-purpose printing software 202 but are supported by the printing device 102 and the extension application 204 to the PDC 203. Of the PDC 203 edited by this process, for those that are supported by the general-purpose printing software 202, a PC is generated by the general-purpose printing software 202, and for those that are not supported by the general-purpose printing software 202, a PC is generated by the print setting extension unit 205. Furthermore, by generating a display screen based on the generated PC, the print setting extension unit 205 can extend functions that are not supported by the general-purpose printing software 202 and display the detailed setting screen 300c shown in FIGS. 3(c) and 3(d).

[0097] <Sequence after the editing application 201 accepts print settings in the first embodiment> Next, using the sequence in Fig. 8, the print processing according to this embodiment, which is executed by the editing application 201, the general-purpose printing software 202, the extension application 204, and the printing device 102 after the editing application 201 accepts print settings, will be described. Note that the steps other than those for the printing device 102 in Fig. 8 are performed by the CPU 11 controlling the editing application 201, the general-purpose printing software 202, and the extension application 204. The steps for the printing device 102 in Fig. 8 are performed by a CPU (not shown) within the printing device 102.

[0098] First, in step S801, the editing application 201 accepts print settings from the user. The user can instruct the editing application 201 to make print settings by operating the pointing device 117 or keyboard 118.

[0099] Next, in step S802, the editing application 201 displays the print setting screen 300a shown in FIG.

[0100] Next, in step S803, the editing application 201 accepts a detailed setting instruction. The user can instruct detailed setting by operating the pointing device 117 or keyboard 118 to select the control 305. Specifically, when the control 305 on the print setting screen 300a is pressed, the process proceeds to step S804.

[0101] Next, in step S804, the editing application 201 requests the general-purpose printing software 202 to display the detailed settings.

[0102] Next, in step S805, the general-purpose printing software 202 requests the extension application 204 to display detailed settings. As described above, in the conventional printing system of FIG. 2A, the general-purpose printing software 202 displays the detailed settings screen 300b of FIG. 3B.

[0103] Next, in step S806, the print setting extension unit 205 of the extension application 204 displays the detailed setting screen 300c of Fig. 3(c). This is because the print function extension unit 206 adds the resolution setting to the PDC, as described in Fig. 4. The print setting extension unit 205 references the PC generated based on the PDC after the resolution setting has been added, and displays the detailed setting screen 300c of Fig. 3(c).

[0104] Next, in step S807, the print setting expansion unit 205 accepts detailed settings. For example, as shown in the detailed setting screen 300c in FIG. 3C, when the user selects Paper Type: Plain Paper, Paper Size: A4, Paper Feed: Automatic, and Resolution: Fine (600 dpi), these are accepted as detailed settings.

[0105] Next, in step S808, the print setting expansion unit 205 receives a detailed setting end instruction. Specifically, the user operates the pointing device 117 or keyboard 118 to select the control 309 and issue a detailed setting end instruction to the print setting expansion unit 205.

[0106] Next, in step S809, the extension application 204 notifies the general-purpose printing software 202 that the detailed settings have been completed.

[0107] Next, in step S810, the general-purpose printing software 202 notifies the editing application 201 that the detailed settings have been completed.

[0108] Next, in step S811, the editing application 201 accepts a print instruction. Specifically, the user operates the pointing device 117 or keyboard 118 to select the control 303 to issue a print instruction.

[0109] Next, in step S812, the editing application 201 sends a print instruction to the general-purpose printing software 202.

[0110] Next, in step S813, the general-purpose printing software 202 uses a module of the OS to generate intermediate data.

[0111] Next, in step S814, the general-purpose printing software 202 saves in the shared information 209 the PT included in the print instruction sent in step S812.

[0112] Next, in step S815, the general-purpose printing software 202 passes the drawing data, which is part of the intermediate data generated in step S813, to the extension application 204.

[0113] Next, in step S816, the intermediate data editing unit 207 of the extension application 204 obtains the PT saved in step S814 from the shared information 209.

[0114] Next, in step S817, the intermediate data editing unit 207 of the extension application 204 generates print data using the drawing data passed from the general-purpose printing software 202 in step S815 and the PT acquired in step S816.

[0115] Next, in step S818, the intermediate data editing unit 207 (transmission means) of the extension application 204 transmits the print data generated in step S817 to the printing device 102.

[0116] Next, in step S819, the printing device 102 interprets the print data and performs the necessary image processing on the image in the print data. For example, if the print settings shown on the detailed setting screen 300c in Fig. 3(c) were configured in step S807, image processing (rasterization processing) is performed to convert the vector image in the print data into 600 dpi raster image data.

[0117] Next, in step S820, the printing device 102 prints the print data including the image after image processing in step S819, and this sequence ends.

[0118] As described above, according to this embodiment, the print setting extension unit 205 modifies the PDC 203 based on the capability information of the general-purpose printing software 202, the extension application 204, and the printing device 102. Furthermore, when a user requests a detailed setting screen, the detailed setting screen 300c is displayed based on the PC generated from the PDC 203. This allows the user to select a set resolution. Furthermore, the intermediate data editing unit 207 generates print data based on the resolution setting selected by the user on the detailed setting screen 300c, thereby allowing the selected resolution setting to be reflected in the print data. After that, when the printing device 102 receives the printing device information reflecting the selected resolution setting from the intermediate data editing unit 207, the rasterization processing module within the printing device 102 performs rasterization processing on the image data based on the selected resolution setting. Through this series of processes, the printing device 102 can realize a resolution setting function, making it possible to provide the resolution setting function to the user.

[0119] In this embodiment, the printing system 1-1 shown in FIG. 2B provides the advanced settings screen 300c shown in FIG. 3C. However, the present invention is not limited to this. For example, when a request to display advanced settings is made to the general-purpose printing software 202 in step S804, the general-purpose printing software 202 may display the advanced settings screen 300b shown in FIG. 3B. In this case, when the control 309 in FIG. 3B is clicked and the settings on the advanced settings screen 300b are confirmed, the general-purpose printing software 202 requests the extension application 204 to display an additional advanced settings screen (a screen including the area 300e enclosed by a dotted line in FIG. 3C). Next, in response to this display request, the extension application 204 displays the additional advanced settings screen (reception means) so that the resolution setting can be selected on the advanced settings screen 300b.

[0120] In this embodiment, the extension application 204 generates print data based on the intermediate data generated by the general-purpose printing software 202. However, the extension application 204 itself may generate the intermediate data.

[0121] <<Second embodiment>> A second embodiment of the present invention will be described below. In the first embodiment, the extension application 204 first transmitted the resolution setting selected by the user and print data to the printing device 102. Next, the printing device 102 interpreted the print data based on the transmitted resolution setting and performed rasterization processing in a rasterization processing module within the printing device 102.

[0122] However, the printing device 102 often has a processing module dedicated to a specific resolution (first resolution) as part of the image processing it can execute (for the sake of explanation, in this embodiment, it is assumed to have a processing module dedicated to 600 dpi). Such dedicated processing modules often perform processing faster than general-purpose processing modules such as the extension application 204. Therefore, when considering printing performance, it is preferable for the printing device 102 to process at a specific resolution.

[0123] Therefore, in this embodiment, control is performed so that rasterization processing is performed by the printing device 102 when a specific resolution is selected, and by the extension application 204 when a resolution other than the specific resolution is selected.

[0124] In the following, the same components as those in the first embodiment will be assigned the same reference numerals, and a description thereof will be omitted, and only the differences from the first embodiment will be described. In this embodiment, unlike the extended application 204 (FIG. 2) possessed by the printing system 1-1 of the first embodiment, the extended application 1001 (FIG. 10) possessed by the printing system 1-2 of this embodiment has an image processing unit 1002. Also, the PDC editing process and the process after the editing application accepts print settings differ between this embodiment and the first embodiment.

[0125] <Configuration of a software-based printing system according to the second embodiment> FIG. 10 is a diagram for explaining the software configuration of the printing system 1-2 according to this embodiment.

[0126] In FIG. 10, the printing system 1-2 includes an editing application 201, general-purpose printing software 202, a PDC 203, an extension application 1001, and a printing device 102.

[0127] The extension application 1001 differs from the extension application 204 of the first embodiment in that it includes an image processing unit 1002 in addition to a print setting extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 208.

[0128] The image processing unit 1002 (image processing means) performs rasterization and other image processing on the image of intermediate data (drawing data) received from the general-purpose printing software 202 based on the resolution setting selected by the user. In this embodiment, the image processing refers to, but is not limited to, filter processing applied to each pixel in the image and color conversion processing that converts the RGB values ​​of each pixel into a specific color. Furthermore, known techniques are used for the processing method.

[0129] <Sequence after the editing application 201 accepts print settings in the second embodiment> Next, using the sequence in Fig. 11, the print processing according to this embodiment, which is executed by the editing application 201, the general-purpose printing software 202, the extension application 1001, and the printing device 102 after the editing application 201 accepts print settings, will be described. Note that the steps other than those for the printing device 102 in Fig. 11 are performed by the CPU 111 controlling the editing application 201, the general-purpose printing software 202, and the extension application 1001. The steps for the printing device 102 in Fig. 11 are performed by a CPU (not shown) within the printing device 102. Note that steps with the same reference numerals in Fig. 11 and Fig. 8 are the same process, so their description will be omitted.

[0130] First, steps S801 to S816 are executed, and then the process proceeds to step S1101.

[0131] In step S1101, the image processing unit 1002 of the extension application 1001 determines whether the resolution setting included in the PT acquired in step S816 is fine (600 dpi) or super fine (1200 dpi). If it is fine (600 dpi) (YES in step S1101), the process proceeds to step S817. On the other hand, if it is super fine (1200 dpi) (NO in step S1101), the process proceeds to step S1102.

[0132] Next, in step S1102, the image processing unit 1002 performs rasterization processing and arbitrary image processing on the intermediate rendering data based on the PT acquired in step S816, and stores the data in the shared information 209. The image processing unit 1002 also deletes the resolution setting included in the PT. Then, the process proceeds to step S817.

[0133] The steps from step S817 onwards have already been described in the first embodiment, and therefore will not be described in this embodiment. Note that in step S819, the printing device 102 performs the necessary image processing on the image of the print data, but if rasterization processing and optional image processing have been performed in step S1102, image processing other than the rasterization processing and optional image processing is performed.

[0134] As described above, according to this embodiment, when the resolution setting selected by the user is a specific resolution, high-speed rasterization processing is performed by the printing device 102 having a dedicated processing module. On the other hand, when the resolution setting selected by the user is another resolution, rasterization processing is performed by the image processing unit 1002 from the perspective of print performance. This makes it possible to improve the print performance of the printing system 1-2.

[0135] It should be noted that there may be cases where it is determined from the capability information acquired in step S401 that the printing device 102 does not have a rasterization processing module. In this case, whether the resolution setting selected by the user is fine or super fine, rasterization processing is performed by the extension application 204. In this case, the resolution setting included in the PT is deleted, and print data including rasterized drawing data is sent to the printing device 102.

[0136] <<Third embodiment>> The third embodiment of the present invention will be described below. In the first embodiment, the rasterization process using the resolution setting function is performed by the printing device 102, while in the second embodiment, the rasterization process is performed by the extension application 1001 and the printing device 102 according to the selected resolution setting.

[0137] In contrast, in this embodiment, both the extension application 1001 and the printing device 102 can perform rasterization processing at all resolution settings selectable by the resolution setting function. Furthermore, depending on the objects included in the image of the print data, the data size of the print data may increase, increasing the communication load between the extension application 1001 and the printing device 102. This solves the problem of reduced printing performance.

[0138] Specifically, in this embodiment, the data size before and after rasterization is compared for each object included in the vector image of the print data. Then, print data is generated that is a combination of vector images and raster images that minimizes the data size of the entire print data. The details of this embodiment are described below.

[0139] Note that, in the following, the same components as those in the first and second embodiments will be assigned the same numbers and will not be described again, and only the differences from the first and second embodiments will be described. The extended application 1301 (FIG. 13) of the printing system 1-3 of this embodiment differs from the extended application 204 (FIG. 2) of the printing system 1-1 of the first embodiment in that it has a raster image group generation unit 1302 and a composite image generation unit 1303. In addition, the processing performed after the editing application accepts print settings differs between this embodiment and the first and second embodiments.

[0140] <Configuration of a software-based printing system according to the third embodiment> FIG. 13 is a diagram for explaining the software configuration of the printing system 1-3 according to this embodiment.

[0141] In FIG. 13, the printing system 1-3 includes an editing application 201, general-purpose printing software 202, a PDC 203, an extension application 1301, and a printing device 102.

[0142] The extended application 1301 has a different configuration from the extended applications 204 and 1001 of the first and second embodiments. Specifically, the extended application 1301 includes a print setting extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 208, as well as a raster image group generation unit 1302 and a composite image generation unit 1303.

[0143] The raster image group generating unit 1302 rasterizes the vector image of the print data (that is, the (intermediate) drawing data sent to the extension application 1301 in step S815) for each object, and generates raster images for the number of objects.

[0144] The composite image generation unit 1303 compares the data sizes of the raster image for each object generated by the raster image group generation unit 1302 and the vector image of the same object, and generates a composite image that minimizes the total data size of all objects. For this composite image, one raster image and one vector image, or a vector image including a group of raster images, is generated depending on the data size comparison result. Note that the image format is not limited to this. Details of the processing of each unit will be described later.

[0145] The composite image generation process performed in this embodiment will be described with reference to FIGS.

[0146] 14(a) is image data included in the print data, and is drawn based on vector information 1407 that describes information such as the color and display range of each of the objects 1402 to 1406. The vector information 1407 describes the data size of each of the objects 1402 to 1406, and these data sizes are calculated by the raster image group generation unit 1302 of the extension application 1301.

[0147] Object 1402 is a background object and its data size is 1 KB. Object 1403 is a character object consisting of the black letter "A" and its data size is 2 KB. Object 1404 is a character object consisting of the red letter "B" and its data size is 2 KB. Object 1405 is a graphics object consisting of a green three-dimensional graph and its data size is 100 KB. Object 1406 is a graphics object representing a yellow rectangle and its data size is 10 KB.

[0148] FIG. 15 is a flowchart of the composite image generation process according to this embodiment, which is executed by the extension application 1301.

[0149] The processing of steps S1501 to S1505 described here is performed after performing processing similar to steps S801 to S816 in the sequence of Fig. 8 of the first embodiment, as will be described later in the sequence of Fig. 16. Details of the sequence of Fig. 16 will be described later.

[0150] First, in step S1501, the raster image group generating unit 1302 (first calculating means) of the extended application 1301 calculates the data size of each of the objects 1402 to 1406 included in the vector image 1401. Thereafter, the raster image group generating unit 1302 assigns the calculated data size to the vector information 1407 of each of the objects 1402 to 1406, and associates the drawing information and data size with each of the objects 1402 to 1406. Note that the method of associating each of the objects 1402 to 1406 with its data size is not limited to this, and only data size information may be added to the print data as data separate from the vector information 1407.

[0151] Next, in step S1502, the raster image group generating unit 1302 determines whether the resolution setting included in the print data is fine (600 dpi) or super fine (1200 dpi). If it is fine (600 dpi) (YES in step S1502), the process proceeds to step S1503. On the other hand, if it is super fine (1200 dpi) (NO in step S1502), the process proceeds to step S1504.

[0152] Next, in step S1503, the raster image group generation unit 1302 (object rasterization means) performs rasterization processing on each of the objects 1402 to 1406 included in the vector image 1401 to create a 600 dpi raster image. As described above, a known technique is used for the rasterization processing method. Through this processing, a background raster image 1408, a text raster image 1409, a text raster image 1410, a three-dimensional graph raster image 1411, and a rectangular object raster image 1412 are generated from each of the objects 1402 to 1406. Then, the process proceeds to step S1505.

[0153] Next, in step S1504, the raster image group generating unit 1302 (object rasterization means) performs rasterization processing on each of the objects 1402 to 1406 included in the vector image 1401 to generate 1200 dpi raster images. Then, the process proceeds to step S1505. The only difference between the processing in step S1504 and the processing in step S1503 is the rasterization processing resolution, so a detailed description of the processing will be omitted. The image groups generated by the rasterization processing on each of the objects 1402 to 1406 in steps S1503 and S1504 are referred to as raster image groups.

[0154] Next, in step S1505, the composite image generation unit 1303 (second calculation means) calculates the data size of each of the raster images generated in step S1503 or step S1504. This makes it possible to compare the data size of the vector image and the data size of the raster image for each of the objects 1402 to 1406, as shown in Fig. 14(b). Note that Fig. 14(b) illustrates the data size of the raster image group rasterized in step S1503.

[0155] Next, in step S1506, the composite image generation unit 1303 compares the data size of the vector image with the data size of the raster image generated in step S1503 or step S1504 for each of the objects 1402 to 1406. Next, the composite image generation unit 1303 (object selection means / composite image generation means) selects the image with the smaller data size for each of the objects 1402 to 1406 and generates a composite image. Here, as shown in FIG. 14(b), in this embodiment, the data size of the raster image is smaller than the vector image for only object 1405 (first object), which is a graphics object consisting of a three-dimensional graph. Furthermore, the data size of the raster image for the other objects (second objects) is larger than the vector image. In this case, as shown in FIG. 14(c), a composite image 1413 is generated using vector images for objects 1402 to 1404 and 1406 and a raster image (three-dimensional graph raster image 1411) for object 1405. In this embodiment, the composite image 1413 is generated by deleting the object 1405 from the vector image 1401 and placing the three-dimensional graph raster image 1411 in the same position. However, the method for generating the composite image is not limited to this.

[0156] For an object (second object) whose data size in the vector image and the data size in the raster image are the same, a composite image is generated using the raster image object. This eliminates the need to rasterize the object again in the printing device 102 for the object that has already been rasterized by the raster image group generation unit 1302 in step S1503 or step S1504.

[0157] This concludes the explanation of the composite image generation process. From the data sizes shown in FIG. 14B, the total data size when the vector image 1401 is transmitted as is to the printing device 102 as print data is 115 KB (kilobytes). On the other hand, the data size when all objects are converted into raster images and then transmitted to the printing device 102 as print data is 95 KB. In contrast, when a composite image 1413 is generated using the method of this embodiment and then transmitted to the printing device 102 as print data, the data size is 35 KB, enabling a reduction in the communication load.

[0158] <Sequence after the editing application 201 receives print settings in the third embodiment> Next, using the sequence in Fig. 16, the print processing according to this embodiment, which is executed by the editing application 201, the general-purpose printing software 202, the extension application 1301, and the printing device 102 after the editing application 201 accepts print settings, will be described. Note that the steps other than those for the printing device 102 in Fig. 16 are performed by the CPU 111 controlling the editing application 201, the general-purpose printing software 202, and the extension application 1301. The steps for the printing device 102 in Fig. 16 are performed by a CPU (not shown) within the printing device 102. Note that steps with the same reference numerals in Fig. 16 and Fig. 8 are the same process, so their description will be omitted.

[0159] First, steps S801 to S816 are executed, and then the process proceeds to step S1601.

[0160] The processing in step S1601 is the same as the processing in step S1501 in FIG. 15, and therefore a description thereof will be omitted.

[0161] In step S1602, the raster image group generation unit 1302 of the extension application 1301 determines whether the resolution setting included in the PT acquired in step S816 is fine (600 dpi) or super fine (1200 dpi). If it is fine (600 dpi) (YES in step S1602), the process proceeds to step S1603. If it is super fine (1200 dpi) (NO in step S1602), the process proceeds to step S1604.

[0162] The processing in step S1603 is the same as the processing in step S1503 in FIG. 15, and therefore a description thereof will be omitted.

[0163] The processing in step S1604 is the same as the processing in step S1504 in FIG. 15, and therefore a description thereof will be omitted.

[0164] The processing in step S1605 is the same as the processing in step S1505 in FIG. 15, and therefore a description thereof will be omitted.

[0165] In step S1606, the composite image generation unit 1303 generates a composite image by the process of step S1506 in Fig. 15, and stores this as intermediate drawing data in the shared information 209. Also, among the resolution settings included in the PT, the resolution settings of the object (here, object 1405) whose raster image data size is smaller than that of the vector image are deleted. Then, the process proceeds to step S817.

[0166] The steps from step S817 onwards have already been described in the first embodiment, and therefore will not be described in this embodiment. Note that in step S819, the printing device 102 performs the necessary image processing on the image of the print data, but since the object 1405 in the composite image 1413 is already a raster image, the object 1405 is not rasterized.

[0167] By performing the above steps, in the third embodiment, the data size of each of the objects 1402 to 1406 in the vector image 1401 is compared with that of the raster image, and the image with the smaller data size is selected to generate a composite image. This makes it possible to reduce the communication load between the extension application 1301 and the printing device 102.

[0168] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the present embodiment to a system or device via a network or a recording medium, and having one or more processors in the computer of the system or device read and run the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0169] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention.

[0170] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist of the present invention.

[0171] The disclosure of this embodiment includes the following programs, methods, and configurations. (Program 1) A program for controlling an information processing device to extend the functionality of general-purpose printing software that can be used in common on printing devices provided by multiple manufacturers and to realize a manufacturer's unique rasterization process, the program causing the computer of the information processing device to function as a reception means that receives a resolution setting for rasterization processing from a user when the user instructs print settings using the functions of the general-purpose printing software, and a transmission means that transmits print data and the resolution setting received by the reception means to a first printing device that is communicatively connected to the information processing device. (Program 2) The program according to Program 1, wherein the accepting means accepts one of two or more resolution settings from the user as a resolution setting for the rasterization process. (Program 3) The program described in Program 2, further causing the computer to function as an acquisition unit that acquires capability information of the first printing device from the first printing device. (Program 4) A program according to Program 3, further causing the computer to function as an image processing means that executes image processing including a rasterization process unique to the manufacturer, and when the capability information of the first printing device acquired by the acquisition means indicates that the first printing device can execute rasterization at a first resolution, which is one of the two or more resolution settings, faster than the image processing means, the image processing means performs image processing including rasterization at the resolution setting accepted by the acceptance means on the print data only if the resolution setting accepted by the acceptance means is a resolution other than the first resolution, and the transmission means transmits the print data and the resolution setting accepted by the acceptance means to the first printing device only if the resolution setting accepted by the acceptance means is the first resolution, and when the resolution setting accepted by the acceptance means is a resolution other than the first resolution, the program transmits the print data after image processing including rasterization at the resolution setting accepted by the acceptance means has been executed by the image processing means to the first printing device without sending the resolution setting to the first printing device. (Program 5) A program described in Program 4, characterized in that, when the capability information of the first printing device acquired by the acquisition means indicates that the first printing device does not have the means to perform rasterization processing at any of the two or more resolution settings, the sending means sends the print data to the first printing device after image processing including rasterization processing at the resolution setting accepted by the acceptance means has been performed by the image processing means, without sending the resolution setting to the first printing device. (Program 6) The print data includes a vector image consisting of two or more objects, and the computer includes a first calculation means for calculating a data size of each of the two or more objects in the print data, an object rasterization means for performing a rasterization process on each of the two or more objects based on a resolution setting received by the reception means, a second calculation means for calculating a data size of the object after the rasterization process by the object rasterization means for the two or more objects, and for a first object among the two or more objects whose data size calculated by the first calculation means is smaller than the data size calculated by the second calculation means, a calculation means for calculating a data size of the object before the rasterization process by the object rasterization means. and a composite image generating means for generating a composite image including all of the objects selected by the object selection means, wherein, if the second object is present in the two or more objects, the transmitting means deletes the resolution setting of the second object from the resolution settings and transmits the composite image to the first printing device as the print data. (Method 1) A control method for an information processing device that extends the functions of general-purpose printing software that can be used in common on printing devices provided by multiple manufacturers using an extension application and performs control to realize a manufacturer's unique rasterization process, characterized in that the control method includes a reception step of receiving a resolution setting for the rasterization process from a user when the user instructs print settings using the function of the general-purpose printing software, and a transmission step of transmitting print data and the resolution setting received in the reception step to a first printing device that is communicatively connected to the information processing device. (Configuration 1) An information processing device that extends the functions of general-purpose printing software that can be used in common on printing devices provided by multiple manufacturers using an extension application and controls to realize a manufacturer's unique rasterization process, characterized in that it comprises: a receiving means that, when a user instructs print settings using the functions of the general-purpose printing software, receives a resolution setting for the rasterization process from the user; and a transmitting means that transmits print data and the resolution setting received by the receiving means to a first printing device that is communicatively connected to the information processing device. [Explanation of symbols]

[0172] 1-1~1-3 Printing System 101 host computer 102 Printing device 117 Pointing Device 118 keyboards 119 Display section 201 Editing Applications 202 General-purpose printing software 203 PDC 204,1001,1301 Extended Applications 1002 Image Processing Unit 1302 Raster Image Group Generation Unit 1303 Synthetic Image Generation Unit

Claims

1. A program for controlling an information processing device to extend the functionality of general-purpose printing software that can be used in common with printing devices provided by multiple manufacturers, and to realize a manufacturer-specific rasterization process, The computer of the information processing device, a receiving unit for receiving a resolution setting for rasterization processing from a user when the user instructs print settings using the general-purpose printing software; a transmitting means for transmitting the print data and the resolution setting accepted by the accepting means to a first printing device communicably connected to the information processing device; Program to make it work.

2. 2. The program according to claim 1, wherein the accepting unit accepts one of two or more resolution settings from the user as the resolution setting for the rasterization process.

3. The computer 3. The program according to claim 2, further functioning as an acquisition unit that acquires capability information of the first printing device from the first printing device.

4. The computer further functioning as an image processing means for executing image processing including a rasterization process unique to the manufacturer; If the capability information of the first printing device acquired by the acquisition means is information indicating that the first printing device can execute rasterization processing at a first resolution, which is one of the two or more resolution settings, faster than the image processing means, The image processing means only when the resolution setting accepted by the accepting means is a resolution other than the first resolution, image processing including rasterization processing at the resolution setting accepted by the accepting means is performed on the print data; The transmitting means transmitting print data and the resolution setting accepted by the accepting means to the first printing device only if the resolution setting accepted by the accepting means is the first resolution; The program according to claim 3, characterized in that if the resolution setting accepted by the accepting means is a resolution other than the first resolution, the resolution setting is not sent to the first printing device, and the print data after image processing including rasterization processing at the resolution setting accepted by the accepting means is performed by the image processing means is sent to the first printing device.

5. The program according to claim 4, characterized in that, when the capability information of the first printing device acquired by the acquisition means indicates that the first printing device does not have a means for performing rasterization processing at any of the two or more resolution settings, the sending means sends the print data to the first printing device after image processing including rasterization processing at the resolution setting accepted by the acceptance means has been performed by the image processing means, without sending the resolution setting to the first printing device.

6. the print data includes a vector image consisting of two or more objects; The computer a first calculation means for calculating a data size of each of the two or more objects in the print data; an object rasterization means for performing a rasterization process on each of the two or more objects based on the resolution setting received by the reception means; a second calculation means for calculating a data size of the two or more objects after the rasterization process by the object rasterization means; an object selection means for selecting, for a first object of which the data size calculated by the first calculation means is smaller than the data size calculated by the second calculation means, an object before rasterization processing by the object rasterization means, and for a second object of which the data size calculated by the first calculation means is equal to or larger than the data size calculated by the second calculation means, an object after rasterization processing by the object rasterization means; a composite image generating means for generating a composite image including all of the objects selected by the object selecting means, Further functioning, The program according to claim 1, characterized in that, when the second object exists among the two or more objects, the sending means deletes the resolution setting of the second object from the resolution setting and sends the composite image to the first printing device as the print data.

7. A control method for an information processing device that extends the functions of general-purpose printing software that can be used in common with printing devices provided by multiple manufacturers by using an extension application, and performs control to realize a manufacturer's unique rasterization process, a receiving step of receiving a resolution setting for rasterization processing from a user when the user instructs print settings using the general-purpose printing software; a transmitting step of transmitting the print data and the resolution setting received in the receiving step to a first printing device communicably connected to the information processing device; A control method comprising:

8. An information processing device that extends the functions of general-purpose printing software that can be used in common with printing devices provided by multiple manufacturers by using an extension application, and performs control to realize a manufacturer's unique rasterization process, a receiving unit for receiving a resolution setting for rasterization processing from a user when the user instructs print settings using the general-purpose printing software; a transmitting means for transmitting the print data and the resolution setting received by the receiving means to a first printing device communicably connected to the information processing device; An information processing device comprising:

Citation Information

Patent Citations

  • Method and apparatus for controlling print, and recording medium

    JP2000118096A

  • Information display method and system when information is set

    JP2001228946A

  • Information processing device, information processing method, and storage medium which stores computer- readable program

    JP2002041261A

  • Information processor, information processing method, recording medium and its program

    JP2003223312A

  • Facsimile communication system

    JP2005026774A