Application program, storage medium, support method, and information processing apparatus

The program allows users to adjust the scaling factor numerically when printing, addressing the limitations of standard class drivers by enabling flexible image size changes on multiple manufacturer printing devices.

JP2025182950APending Publication Date: 2025-12-16CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024090739
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-04
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

Existing printer drivers, particularly standard class drivers, lack the ability to arbitrarily change the image size during printing, limiting user flexibility.

Method used

A program that supports general-purpose printing software, enabling a display control process to accept a numerical scaling factor and transmit it to the printing device, allowing users to change the scaling factor when printing.

Benefits of technology

Enables users to numerically adjust the scaling factor for print data on various printing devices, enhancing user flexibility and functionality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025182950000001_ABST
    Figure 2025182950000001_ABST
Patent Text Reader

Abstract

To provide a mechanism for changing a magnification by a numerical value when printing print data at a different magnification on a printing apparatus.SOLUTION: An extension application 204 supports general-purpose printing software 202 capable of generating print data that can be printed on printing apparatuses 102 from a plurality of manufacturers and transmitting the print data to the printing apparatuses 102. The extension application 204 causes a CPU 111 to execute a display control step for displaying a detailed setting screen 300C that accepts a numerical value for a magnification when printing the print data at a different magnification on the printing apparatuses 102, and a transmission step for transmitting numerical information including the numerical value accepted on the detailed setting screen 300C to the printing apparatuses 102.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] A host computer (information processing device) capable of processing information exchanged between the printing device and the printing device is communicatively connected to the printing device. The control software for controlling the printing device is, for example, a printer driver installed on the host computer by the printing device. This printer driver allows the host computer to issue print instructions to the printing device. An operating system (hereinafter referred to as "OS"), which is the basic software, is pre-installed on the host computer. The printer driver is configured in accordance with specifications defined by the OS and can be called and operated by the OS. Furthermore, such printer drivers differ depending on the vendor supplying the printing device; in other words, they are model-specific printer drivers suited to each printing device.

[0003] In recent years, Windows® has provided standard class drivers (hereinafter sometimes referred to as "standard drivers") that can be commonly used with printing devices supplied by multiple different vendors. Such standard drivers are pre-installed in the OS. Any printing device can be connected to a host computer with an OS that incorporates the standard drivers and use the standard drivers. This eliminates the need to install model-specific printer drivers. Furthermore, the standard drivers can be used by specifying the printing functions of the printing device according to Print Device Capabilities (hereinafter sometimes referred to as "PDC") generated based on information obtained from the printing device. This allows printing functions to be specified for each printing device using a single standard driver. A function-extension application (hereinafter sometimes referred to as "extension application") that extends the functionality of a standard driver can be associated with the standard driver. The extension application is provided by each vendor. Therefore, it is difficult to execute the functions of an extension application using only the standard driver.

[0004] Patent Document 1 discloses an apparatus having a first application that generates image data and a second application that allows a user to set print settings used in printing the image data. The second application can set items that cannot be set with the first application. One such item is an item for changing the image size to match printing of a predetermined standard, such as poster printing or bookbinding printing. [Prior art documents] [Patent documents]

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

[0006] However, with the device of Patent Document 1, it is difficult to arbitrarily change the image size.

[0007] The present invention has been made in view of the above-mentioned problems, and aims to provide a mechanism that enables a user to change the scaling factor numerically when scaling and printing print data on a printing device. [Means for solving the problem]

[0008] In order to achieve the above object, the program of the present invention is a program that supports a general-purpose program that can generate print data that can be printed on printing devices from multiple manufacturers and transmit the print data to the printing device, and is characterized by having a computer execute a display control process that displays a setting reception screen that accepts, as a numerical value, the scaling factor when the print data is scaled and printed on the printing device, and a transmission process that can transmit numerical information including the numerical value accepted on the setting reception screen to the printing device. [Effects of the Invention]

[0009] According to the present invention, it is possible to change the scaling factor numerically when scaling and printing print data on a printing device. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram showing the hardware configuration of a printing system according to a first embodiment. [Figure 2A] FIG. 2 is a block diagram illustrating a software configuration of the printing system. [Figure 2B] FIG. 10 is a diagram showing an outline of execution of a magnification change function. [Figure 3] FIG. 10 is a diagram illustrating an example of a screen displayed on a display unit of the printing system. [Figure 4] 10 is a flowchart illustrating a process in which a print function extension unit edits print function information. [Figure 5] FIG. 10 is a diagram illustrating an example of a list of capability information of a printing device. [Figure 6] FIG. 10 is a diagram illustrating an example of a list of print functions supported by an extension application. [Figure 7] FIG. 10 is a diagram illustrating an example of a list of capability information of general-purpose printing software. [Figure 8] 10 is a sequence diagram showing processing executed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application accepts print settings. FIG. [Figure 9] FIG. 10 is a block diagram showing the software configuration of a printing system according to a second embodiment. [Figure 10] 10 is a flowchart illustrating a process in which a print function extension unit edits print function information. [Figure 11] FIG. 10 is a diagram illustrating an example of a list of capability information of a printing device. [Figure 12] 10 is a sequence diagram showing processing executed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application accepts print settings. FIG. [Figure 13] FIG. 11 is a diagram showing an example of a screen displayed on a display unit of a printing system according to a third embodiment. [Figure 14] FIG. 10 is a diagram showing an example of a screen displayed on a display unit of a printing system according to a fourth embodiment. [Figure 15] FIG. 10 is a diagram illustrating an example of a printing position of print data on a printing sheet. [Figure 16] FIG. 13 is a diagram showing an example of a screen displayed on a display unit of a printing system according to a fifth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] Each embodiment of the present invention will be described in detail below with reference to the drawings. However, the configurations described in each of the following embodiments are merely examples, and the scope of the present invention is not limited to the configurations described in each embodiment. For example, each component constituting the present invention can be replaced with any configuration that can perform the same function. Also, any component may be added. Furthermore, any two or more configurations (features) of each embodiment can be combined.

[0012] <<First Embodiment>> The first embodiment will be described below with reference to FIGS.

[0013] <Printing system hardware configuration> Fig. 1 is a block diagram showing the hardware configuration of a printing system according to a first embodiment. As shown in Fig. 1, the printing system 1000 includes a host computer 101, a printing device 102, a pointing device 117, a keyboard 118, and a display unit 119, which are communicatively connected to one another. The host computer 101 is an information processing device and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (storage medium) 114, an output interface 115, an input / output interface 116, and a NET interface 120. Note that the host computer 101 may be, for example, a desktop personal computer, but is not limited thereto, and may also be, for example, a notebook personal computer, a tablet terminal, a smartphone, or the like.

[0014] The CPU 111 is a computer that executes programs stored in the ROM 112 and the external storage device 114. An initialization program is stored in the ROM 112. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In this embodiment, the host computer 101 is equipped with Microsoft Windows® 11 as the OS. The RAM 113 is used as a work memory for executing various programs stored in the external storage device 114, enabling the various programs to run within the host computer 101. A pointing device 117 and a keyboard 118 are connected to the input interface 110 as input devices. A display unit 119 is connected to the output interface 115 as a display device. The display unit 119 displays, for example, a print setting screen 300A and a detailed setting screen 300C (described later). The NET interface 120 is a network interface that controls data transfer between the host computer 101 and external devices via a network. The printing device 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with printing devices 102 from multiple manufacturers, regardless of the manufacturer of the printing device 102, i.e., allows information to be processed between the host computer 101 and printing devices 102 from multiple manufacturers.

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

[0016] <Software-based printing system configuration> FIG. 2A is a block diagram showing the software configuration of a printing system. FIG. 2A(a) shows a general configuration when an extension application (program) 204 is not associated with the general-purpose printing software (general-purpose program) 202 and the printing device 102. FIG. 2A(b) shows a configuration when the extension application 204 is associated with the general-purpose printing software 202 and the printing device 102. The general-purpose printing software 202 generates data that can be printed on printing devices 102 from multiple manufacturers, i.e., is a program that can be used for printing on printing devices 102 from multiple manufacturers, and is pre-installed in the OS. The general-purpose printing software 202 can also send print data generated by the general-purpose printing software 202 to the printing device 102. A program that operates based on IPP (Internet Printing Protocol) is used as the general-purpose printing software 202. The extension application 204 is a program that supports, i.e., assists, the general-purpose printing software 202. In this embodiment, the extension application 204 is an extension program (a program that executes a control method) that can extend functions that the general-purpose printing software 202 cannot execute on the printing device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the convenience of functions that the general-purpose printing software 202 can execute on the printing device 102. The extension application 204 is stored in the external storage device 114, for example, together with the OS (general-purpose printing software 202). As a result, the host computer 101 has the general-purpose printing software 202 and the extension application 204.

[0017] <If no extension application is associated> First, with reference to FIG. 2A(a), a configuration will be described for a case in which the extension application 204 is not associated with the general-purpose printing software 202 and the printing device 102. The drawing application 201 is software for creating content (print data) to be printed by the printing device 102. The drawing application 201 is not particularly limited, and examples thereof include a word processing application and a spreadsheet application. The drawing application 201 issues a print instruction to the OS upon receiving a print request from a user, for example, via the keyboard 118. The print instruction includes print setting information for instructing the operation of the general-purpose printing software 202 and the printing device 102. The print setting information is also called a "Print Ticket (PT)." In addition, in order to output the print setting information, the drawing application 201 can display a print setting screen 300A (see FIG. 3(a)) provided by any of the general-purpose printing software 202, the OS, and the drawing application 201 on the display unit 119. Furthermore, by operating (pressing) a control 305 in the print setting screen 300A, a detailed setting screen 300B (see FIG. 3(b)) or a detailed setting screen 300C (see FIG. 3(c)) can be displayed on the display unit 119. The print setting screens 300A to 300C will be described later. The print setting screen 300A includes setting items indicating settable print functions and control items indicating their setting values ​​according to capability information acquired from the general-purpose printing software 202, i.e., information that can be set as print settings. The capability information is information regarding the printing capabilities of the printing device 102 and is also referred to as Print Capabilities (hereinafter, sometimes referred to as "PC"). It is also possible to determine whether this capability information includes information that enables the display of the detailed setting screen 300C (a determination step). If it is determined as a result of this determination that the information that enables the display of the detailed setting screen 300C is included, the detailed setting screen 300C can be displayed. On the other hand, if it is determined that the information that enables the display of the detailed setting screen 300C is not included, the detailed setting screen 300C is not displayed.

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

[0019] With this configuration, the general-purpose printing software 202 allows the user to specify print functions available on the printing device 102, depending on the printing device 102 connected to the general-purpose printing software 202. This allows the user to specify print functions available on the printing device 102, regardless of the printing device 102 connected to the general-purpose printing software 202. This allows the user to specify print functions available on the printing device, regardless of the printing device 102 connected to the general-purpose printing software 202, even when the printing device has different functions or is developed by a different printer manufacturer. In this embodiment, the general-purpose printing software 202 is configured to use the "IPP Class Driver" included in Windows® 11. The "IPP Class Driver" is a printer driver that executes printing processing according to the specifications of a standard printing protocol called IPP and is included in the OS package. The "IPP Class Driver" is not a printer driver specific to the model of the printing device 102, but a standard class driver that can be used by printing devices 102 of various printer manufacturers, regardless of the printer manufacturer. The "IPP Class Driver" also acquires capability information from the printing device 102 and generates print capability information 203 based on that information.

[0020] Furthermore, the general-purpose printing software 202 can be associated with an extension application 204. This allows the general-purpose printing software 202 to execute functions not available in the general-purpose printing software 202. For example, the IPP Class Driver (general-purpose printing software 202) cannot execute a function that accepts, as a numerical value, the print magnification when enlarging or reducing print data and printing it on the printing device 102, i.e., the magnification when scaling and printing. Hereinafter, a function that accepts a numerical value for the magnification is referred to as a "magnification function" or "magnification processing." As described above, the IPP Class Driver does not support execution of the magnification function for the printing device 102. This is because the magnification function is a function that is executed independently by the printing device 102 manufactured by a specific printer manufacturer. The extension application 204 can be extended to execute the magnification function that the IPP Class Driver cannot execute. In this embodiment, the IPP Class Driver cannot execute the magnification function, and the extension application 204 can be extended to execute the magnification function, but this is not limited to this. For example, the IPP ClassDriver may perform part of the scaling function, and the extension application 204 may supplement the missing parts of the scaling function and further extend the scope of execution.

[0021] <Example of using the zoom function> As mentioned above, the scaling function is a function that accepts a numerical value for the scaling factor when scaling and printing on the printing device 102. Examples of how this scaling function can be used include enlarging only a portion of an original and printing it on the entire printing paper, or reducing an original and leaving more margins on the printing paper. The "scaling factor" can be expressed by the following formula (1).

[0022]

number

[0023] As can be seen from equation (1), the "magnification factor" refers to the vertical enlargement or reduction rate of an image before and after execution of the magnification function. In this case, the aspect ratio remains constant when the image is enlarged or reduced. Cases where the aspect ratio changes will be discussed later. For example, if you want to double the vertical and horizontal sizes of an image, you can simply specify the number "200%" as the magnification factor. Note that although the magnification factor here refers to the vertical enlargement or reduction rate of an image before and after execution of the magnification function, it is not limited to this. For example, the magnification factor may refer to the horizontal enlargement or reduction rate of an image before and after execution of the magnification function, or it may refer to the enlargement or reduction rate of the area of ​​the image before and after execution of the magnification function.

[0024] <Example 1 of magnification function execution> An example of the scaling function is a function that enlarges or reduces the vertical and horizontal sizes of print data converted to raster data based on a scaling factor and prints the print data on printing paper. First, the vertical and horizontal sizes [px] of the print data after scaling based on the scaling factor are calculated. Next, a scaling algorithm (described below) is used to process the print data so that it matches the calculated size [px]. The processed print data is then printed on printing paper. Note that while the example described here uses raster image data for scaling, this is not limiting. For example, scaling can be performed on vector image data, followed by rendering to obtain the scaled raster image data. As described above, the scaling function of this embodiment is sufficient as long as print data scaled according to the scaling factor can be printed on printing paper. Note that the scaling algorithm is not particularly limited and may be any algorithm that can scale both the vertical and horizontal sizes [px] of print data before scaling to any desired size [px]. Examples of such algorithms include the bicubic algorithm, nearest neighbor algorithm, and bilinear algorithm. Other enlargement / reduction algorithms include algorithms that provide higher accuracy for either enlargement or reduction. Also, different enlargement / reduction algorithms may be used for enlargement and reduction.

[0025] FIG. 2B is a diagram showing an overview of the execution of the scaling function. As shown in FIG. 2B(a), the print paper 2000 has an A4 paper size. Before executing the scaling function, the print data on this print paper 2000 has a vertical size of 7016 [px] and a horizontal size of 4961 [px]. We will explain what happens when the scaling function is executed under these conditions. The scaling ratios used in this scaling function are 200% for enlarged printing and 50% for reduced printing. The vertical size [px] of the print data after executing the scaling function can be expressed by the following (2). Furthermore, the horizontal size [px] of the print data after executing the scaling function can be expressed by the following (2).

[0026]

number

[0027]

number

[0028] As mentioned above, the scaling factor refers to the vertical enlargement or reduction ratio of an image before and after the scaling function is executed. The aspect ratio remains constant when the image is enlarged or reduced. When the scaling factor is 200%, the vertical size is calculated as 14032 [px] = 7016 [px] × 200 [%] / 100 according to equation (2), and the horizontal size is calculated as 9922 [px] = 4961 [px] × 200 [%] / 100 according to equation (3). Next, the enlargement / reduction algorithm is used to enlarge the print data in accordance with the vertical size calculated by equation (2) and the horizontal size calculated by equation (3). The enlarged print data is then printed on the printing paper, as shown in FIG. 2B(b). In this printing, the upper left corner of the enlarged print data is positioned at the upper left corner of the printing paper 2001. Therefore, since the enlarged print data is larger than the A4 size printing paper 2001 (7016 [px]×4961 [px]), only the image area that fits on the printing paper 2001 is printed on the printing paper 2001.

[0029] When the scaling factor is 50%, the vertical size is calculated as 3508 [px] = 7016 [px] × 50 [%] / 100 according to equation (2), and the horizontal size is calculated as 2480 [px] = 4961 [px] × 50 [%] / 100 according to equation (3). Next, the print data is reduced using the enlargement / reduction algorithm according to the vertical size obtained by equation (2) and the horizontal size obtained by equation (3). Next, as shown in FIG. 2B(c), the reduced print data is printed on printing paper 2002. In this printing, the reduced print data is positioned so that the upper left corner is positioned at the upper left corner of the printing paper 2002. Therefore, because the reduced print data is smaller than the A4 size of the printing paper 2002, a margin 2002a is generated in the lower right corner of the printing paper 2002.

[0030] <Example 2 of magnification function execution> As Example 2 of the scaling function, we will use the independent scaling function, which changes the aspect ratio of print data by executing the scaling process. Unlike Example 1 of the scaling function, the independent scaling function allows the vertical scaling factor [%] and horizontal scaling factor [%] to be set separately. Here, we will explain the case where the vertical scaling factor is set to 50 [%] and the horizontal scaling factor is set to 80 [%]. The vertical size [px] of the print data after executing the scaling function can be expressed as (4) below. Furthermore, the horizontal size [px] of the print data after executing the scaling function can be expressed as (5) below.

[0031]

number

[0032]

number

[0033] When the vertical scaling factor is 50%, the vertical size is calculated as 3508 [px] = 7016 [px] × 50 [%] / 100 according to equation (4). When the horizontal scaling factor is 80%, the horizontal size is calculated as 3968 [px] = 4961 [px] × 80 [%] / 100 according to equation (5). Next, the print data is scaled using the enlargement / reduction algorithm according to the vertical size obtained by equation (4) and the horizontal size obtained by equation (5). Next, as shown in FIG. 2B(d), the enlarged print data is printed on printing paper. In this printing, because the horizontal scaling factor (80%) is greater than the vertical scaling factor (50%), the scaled print data is printed as an image stretched horizontally on the printing paper 2003. Note that when executing the independent scaling function, the vertical and horizontal scaling factors are each set to less than 100% (i.e., values ​​suitable for reduced printing), but are not limited to this. For example, the vertical and horizontal scaling factors may each be set to more than 100% (i.e., values ​​suitable for enlarged printing), or one of the vertical and horizontal scaling factors may be set to less than 100% and the other to more than 100%.

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

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

[0036] The printing device 102 prints on printing paper based on the print data sent from the general-purpose printing software 202. At this time, the printing device 102 performs operations in accordance with the print setting attribute information included in the print data, thereby forming the drawing data included in the print data on the printing paper. The print setting attribute information includes, for example, print quality such as image quality priority or speed priority, attribute information for specifying double-sided printing or single-sided printing, and setting values ​​for the attribute information. For example, if the print setting attribute information includes attribute information specifying double-sided printing, the printing device 102 can perform double-sided printing.

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

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

[0039] The extension application 204 may terminate its operation as a whole upon completion of processing of each unit from the print setting screen extension unit 205 to the notification unit 209. In this case, the OS launches the extension application 204 each time it receives a processing execution request for each unit. The OS also terminates the operation of the extension application 204 as a whole, for example, when processing of the print setting screen extension unit 205 is completed. The extension application 204 may also cancel processing of each unit from the print setting screen extension unit 205 to the notification unit 209 during that processing. In this case, the OS deletes the job being processed in the print queue. As described above, the drawing application 201 issues a print instruction to the OS upon receiving a print request from the user. The drawing application 201 can also display a print setting screen. In the configuration shown in FIG. 2A(b), the drawing application 201 can display a print setting screen 300A (detailed setting screen 300C) provided by the print setting screen extension unit 205 (extension application 204). Furthermore, the print setting screen expansion unit 205 can save the detailed settings set by the user in the shared information 208. The print setting screen expansion unit 205 will be described in detail later.

[0040] The intermediate data editing unit 207 acquires intermediate data from the general-purpose printing software 202. The intermediate data editing unit 207 then converts the intermediate data into print data and transmits the print data to the printing device 102. The intermediate data editing unit 207 also acquires detailed setting information from the shared information 208 and adds the detailed settings to the print data. The printing device 102 prints on paper based on the print data from the intermediate data editing unit 207. 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. Even in the configuration of FIG. 2A(b), there are cases where the scaling function is not executed. In this case, the general-purpose printing software 202 may transmit the print data to the printing device 102 without going through the extension application 204.

[0041] The print function extension unit 206 can edit the print function information 203 (PDC) generated by the general-purpose printing software 202 or the OS. This allows functions provided by the extension application 204 to be added. It can also add functions that can be executed by the printing device 102 but not by the general-purpose printing software 202 (e.g., a scaling function), and add exclusive relationships between print function setting values. The OS starts the print function extension unit 206 when the extension application 204 is first associated with the printing device 102 and the general-purpose printing software 202. The OS may also start the print function extension unit 206 at other times (e.g., when the OS starts). Even if printing-related functions are subsequently extended by such activation, the print function extension unit 206 can detect the extended functions and add them to the print function information 203. An example of a later extension of printing-related functions is adding an optional device (e.g., a finisher) to the printing device 102.

[0042] The notification unit 209 can notify the user when an error occurs in the printing device 102. For example, if an out-of-paper error occurs in the printing device 102, the general-purpose printing software 202 detects the occurrence of this error. The OS uses a notification function called a toast notification, which is one of the OS's functions, to display a message on the display unit 119 indicating the occurrence of the out-of-paper error, which is the result of detection by the general-purpose printing software 202. When the user operates the toast notification, the OS calls the notification unit 209, and a user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, a detailed message about the out-of-paper error, instructions on how to refill paper, etc.

[0043] As described above, in this embodiment, the extension application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is executed by the print setting screen extension unit 205. The second function is to edit intermediate data, convert it into print data, and add detailed settings to the print data. This function is executed by the intermediate data editing unit 207. The third function is to extend the functions that can be specified by the print data generation software. This function is executed by the print function extension unit 206. The fourth function is to display a screen in response to an error occurring in the printing device 102. This function is executed by the notification unit 209. Note that the configuration of the extension application 204 is not limited to having these four functions; it is preferable that the configuration include at least one of these functions, and it may also be configured to include other functions. Furthermore, once the extension application 204 has sent print data to the printing device 102, it is unable to display screens such as guides associated with the print data during processing by each unit.

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

[0045] The print setting screen 300A shown in FIG. 3(a) is a screen on which printing conditions for printing on the printing device 102 can be set. This print setting screen 300A includes controls (buttons) 301, 302, 303, 304, and 305. Control 301 allows the user to set the printing device 102 to be used for printing, the print orientation on the printing device 102, and the number of copies to be printed on the printing device 102. In FIG. 3(a), as an example, the printing device 102 to be used for printing is set to "printer 200a," the print orientation on the printing device 102 is set to "portrait," and the number of copies to be printed on the printing device 102 is set to "1." Control 302 displays a preview screen. Control 303 allows the user to instruct the printing device 102 to start printing. Control 304 allows the user to instruct the printing device 102 to cancel printing. Control 305 allows the user to configure detailed settings.

[0046] In a configuration in which the extension application 204 is not associated, operating control 305 displays a detailed settings screen 300B shown in FIG. 3B. The detailed settings screen 300B includes controls 306, 307, 308, and 309. Controls 306 to 308 are arranged vertically at the top of the detailed settings screen 300B. Control 309 is arranged at the bottom of the detailed settings screen 300B. Control 306 allows the user to select and set the type of paper used for printing on the printing device 102. In FIG. 3B, "plain paper" is selected as an example. Control 307 allows the user to select and set the paper size used for printing on the printing device 102. In FIG. 3B, "A4" is selected as an example. Control 308 allows the user to select the paper feed slot for the paper used for printing on the printing device 102. In FIG. 3B, "automatic" is selected as an example. Control 309 allows the user to end the settings made in controls 306 to 308. Also, by operating the control 309, the screen returns to the print setting screen 300A shown in FIG. 3(a).

[0047] In a configuration in which the extension application 204 is associated, operating the control 305 displays a detailed settings screen (settings acceptance screen) 300C shown in FIG. 3(c) or a detailed settings screen 300D shown in FIG. 3(d) (display control process). First, the detailed settings screen 300C will be described. The detailed settings screen 300C is a screen displayed together with the print settings screen 300A, but its display form is not particularly limited. For example, the detailed settings screen 300C may be displayed overlapping the print settings screen 300A, or may be displayed adjacent to the print settings screen 300A, or the print settings screen 300A may disappear temporarily before the detailed settings screen 300C is displayed. The detailed settings screen 300C is a screen that can accept, as a numerical value, a scaling factor when scaling and printing print data on the printing device 102. Like the detailed settings screen 300B, the detailed settings screen 300C includes controls 306 to 309. Additionally, advanced settings screen 300C includes an additional control 310.

[0048] The control 310 is an input unit for inputting the magnification ratio as a numerical value. The control 310 has an up button 310a for increasing the numerical value in the control 310, i.e., increasing it, and a down button 310b for decreasing the numerical value, arranged vertically. By appropriately pressing the up button 310a or the down button 310b, the numerical value in the control 310 can be changed in 1% increments to a desired value. In FIG. 3(c), "200%" is set as an example. The numerical value change amount that can be achieved by a single press of the up button 310a or the down button 310b is not limited to 1% and may be, for example, 0.1%. The control 310 also defines a numerical range that can be input into the control 310. This allows numerical values ​​within the range in which the magnification function can be executed. In FIG. 3(c), the numerical range is defined as "25% to 200%" as an example, but is not limited thereto. Although the control 310 is arranged below the control 308 in the configuration shown in FIG. 3, the present invention is not limited to this.

[0049] Next, detailed settings screen 300D will be described. Differences from detailed settings screen 300C will be mainly described, and similar details will not be described again. Detailed settings screen 300D is a screen for executing the independent magnification function. Like detailed settings screen 300C, detailed settings screen 300D includes controls 306 to 310. Detailed settings screen 300C also includes controls 311, 312, 313, and 314. Control 312 is an input section (first input section) into which a numerical value representing the vertical magnification ratio in the vertical direction of the printing paper on which print data is printed by the printing device 102 is input. Control 312 includes an up button 312a for increasing the value in control 312 and a down button 312b for decreasing the value, arranged vertically. By appropriately pressing up button 312a or down button 312b, the value in control 312 can be changed in 1% increments to set the desired size. In FIG. 3(d), "100%" is set as an example. The change amount of the value that can be changed by one press of the up button 312a or the down button 312b is not limited to 1% and may be, for example, 0.1%. Furthermore, the control 312 defines a range of values ​​that can be input to the control 312. This allows input of values ​​within the vertical range in which the independent magnification function can be executed. In FIG. 3(d), the range of values ​​is defined as "25% to 200%" as an example, but is not limited to this.

[0050] Control 313 is an input unit (second input unit) into which the horizontal magnification ratio in the horizontal direction of the printing paper on which print data is printed by the printing device 102 is input as a numerical value. Control 313 has an up button 313a for increasing the numerical value in control 313 and a down button 313b for decreasing the numerical value, arranged vertically. By appropriately pressing up button 313a or down button 313b, the numerical value in control 313 can be changed in 1% increments to set the desired size. In FIG. 3(d), "50%" is set as an example. Note that the numerical value change amount that can be achieved by a single press of up button 313a or down button 313b is not limited to 1% and may be, for example, 0.1%. Furthermore, control 313 defines a numerical range that can be input into control 313. This allows numerical values ​​to be input within the horizontal range in which the independent magnification function can be implemented. In FIG. 3(d), the numerical range is set to "25% to 200%" as an example, but is not limited to this.

[0051] Control 313 is a checkbox that is checked before a numeric value is entered into control 313. Control 314 is a checkbox that is checked before a numeric value is entered into control 314. In FIG. 3(d), as an example, control 314 is checked and control 313 is unchecked. In this state, numeric input into control 314 is possible, but numeric input into control 313 is prohibited. Control 313 is also displayed grayed out. This makes it possible to visualize that numeric input into control 313 is prohibited. By visually checking the grayed-out control 313, the user can understand that numeric input into control 313 is prohibited.

[0052] Here, we will explain why the items included in the detailed setting screen 300B shown in FIG. 3(b) differ from the items included in the detailed setting screen 300C shown in FIG. 3(c) and the detailed setting screen 300D shown in FIG. 3(d). The items included in the detailed setting screen 300C and the items included in the detailed setting screen 300D are the same except for the manner in which the numerical values ​​for the scaling factor are input. Therefore, we will explain, as a representative example, why the items included in the detailed setting screen 300B differ from the items included in the detailed setting screen 300C. The detailed setting screen 300B and the detailed setting screen 300C are each generated based on print function information (capability information). As described above, the general-purpose printing software 202 does not support the execution of a scaling function. Therefore, the general-purpose printing software 202 alone cannot add a scaling function to the print function information. Furthermore, even if the printing function information originally included a scaling function, the general-purpose printing software 202 cannot interpret the scaling function included in the printing function information. Therefore, the settings for the scaling function cannot be displayed on the detailed setting screen. Therefore, the print function extension unit 206 adds a scaling function to the print function information 203. Then, the print setting screen extension unit 205 references the capability information and displays the detailed setting screen 300C. This allows the extension application 204 to display the setting of the scaling function on the detailed setting screen.

[0053] <Flowchart of the print function extension unit for editing print function information> FIG. 4 is a flowchart showing a process in which the print function extension unit edits print function information. The program based on the flowchart shown in FIG. 4 is executed by the CPU 111 controlling the print function extension unit 206. FIG. 5 is a diagram showing an example of a list of capability information for a printing device. FIG. 6 is a diagram showing an example of a list of print functions supported by an extension application. FIG. 7 is a diagram showing an example of a list of capability information for general-purpose printing software. As shown in FIG. 4, in step S401, the print function extension unit 206 acquires capability information from the printing device 102 (acquisition process) prior to the display control process described above. The capability information is a setting value included in a response acquired by issuing an IPP "Get-Printer-Attributes" operation to the printing device 102. The setting value is attribute information indicating functions that can be specified on the printing device 102 and is associated with that attribute information. Table 501 shown in FIG. 5 lists the capability information for the printing device 102. The capability information may include, for example, information about the size of paper used for printing on the printing device 102. Other information includes information regarding the type of paper (media) used for printing on the printing device 102, information regarding the paper feed slot for the paper used for printing on the printing device 102, and information regarding the zoom functions that can be performed on the printing device 102.

[0054] In step S402, the print function extension unit 206 acquires print functions supported by the extension application 204 from the shared information 208. The shared information 208 stores a list of print functions supported by the extension application 204. This list includes all print functions that the extension application 204 can process and their setting values. Table 601 shown in FIG. 6 includes, as print functions, information on paper sizes supported by the extension application 204. Other information includes information on paper types supported by the extension application 204, information on paper feed slots supported by the extension application 204, and information on zoom functions supported by the extension application 204. The print functions supported by the extension application 204 may be updated by updating the extension application 204, etc.

[0055] In step S403, the print function extension unit 206 acquires the print function information 203 created by the general-purpose printing software 202 from the OS. The print function information 203 is created based on the capability information (see Table 501) acquired by the general-purpose printing software 202 from the printing device 102. The print function information 203 (PDC) created by the general-purpose printing software 202 includes only the print functions supported by the general-purpose printing software 202 from the capability information acquired from the printing device 102. For example, Table 601 shown in FIG. 6 includes paper sizes such as "7x10 inches" and "Regular Size 6," but Table 701 shown in FIG. 7 indicates that the general-purpose printing software 202 does not support these paper sizes. Therefore, the print function information 203 does not include these paper sizes. Furthermore, Table 601 shown in FIG. 6 includes information regarding the magnification function, but Table 701 shown in FIG. 7 indicates that the general-purpose printing software 202 does not support this function. Therefore, the print function information 203 does not include this function. The print function extension unit 206 adds functions and options to the print function information 203, 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 print function information 203 created by the general-purpose printing software 202.

[0056] Steps S404, S405, and S406 are processes that are repeatedly performed for the list of functions included in the capability information acquired from the printing device 102 in step S401. In this embodiment, steps S404, S405, and S406 are repeatedly performed for all 10 options included in table 501.

[0057] In step S404, the print function extension unit 206 determines whether the currently processed function or option exists in the print function information 203 generated by the general-purpose printing software 202. If the determination in step S404 determines that the function or option exists in the print function information 203, and the last option is currently being processed, the process ends. Alternatively, if the last option is not currently being processed, the next option is selected and step S404 is executed again. On the other hand, if the determination in step S404 determines that the function or option does not exist in the print function information 203, the process proceeds to step S405. For example, in this embodiment, table 501 includes a paper size "A4," and table 701 also includes a paper size "A4." In this case, in step S404, it is determined that the currently processed function or option exists in the print function information 203. In contrast, table 501 includes a "magnification function," but table 701 does not include a "magnification function." In this case, in step S404, it is determined that the function or option currently being processed does not exist in the print function information 203.

[0058] In step S405, the print function extension unit 206 determines whether the currently processed function (option) is present among the functions (options) supported by the extension application 204. If it is determined in step S405 that the currently processed function exists, the process proceeds to step S406. On the other hand, if it is determined in step S405 that the currently processed function does not exist, the process ends if the last item among the options is being processed, as in the case where the determination in step S404 is "Yes." Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. For example, in this embodiment, if the currently processed function is a "magnification function," the "magnification function" also exists in table 601. Therefore, in step S405, it is determined that the currently processed function exists.

[0059] In step S406, the print function extension unit 206 adds the function (option) currently being processed to the print function information 203. After step S406 is executed, the process ends if the last item among the options is being processed, just as if the answer was "Yes" in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again.

[0060] As described above, the extension application 204 can add functions (options) that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are compatible with the extension application 204, to the printing function information 203. Then, capability information (PC) is generated based on the printing function information 203 edited by this addition process. The print setting screen extension unit 205 generates a display screen based on this capability information, thereby extending the functions that are not supported by the general-purpose printing software 202 and displaying the detailed setting screen 300C or the detailed setting screen 300D.

[0061] <Processing after the drawing application accepts print settings> 8 is a sequence diagram showing the processing executed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application accepts print settings. The processing in the drawing application, general-purpose printing software, and extension application is executed by the CPU 111 of the host computer 101. This processing program is stored in the external storage device 114. The CPU 111 then reads the processing program from the external storage device 114 to the RAM 113 and executes it. Furthermore, the processing in the printing device 102 is executed by the CPU (not shown) of the printing device 102. Furthermore, the software configuration of the printing system 1000 is the software configuration shown in FIG. 2A(b).

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

[0063] In step S802, the drawing application 201 displays the print setting screen 300A shown in FIG.

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

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

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

[0067] In step S806, the print setting screen extension unit 205 of the extension application 204 displays the detailed setting screen 300C of Fig. 3(c). As described above, the print function extension unit 206 adds a scaling function to the print function information 203 (PDC). The print setting screen extension unit 205 can display the detailed setting screen 300C by referring to the capability information (PC) generated based on this added print function information 203.

[0068] In step S807, the print setting screen expansion unit 205 accepts the user's detailed settings on the detailed setting screen 300C. As an example, on the detailed setting screen 300C, it is assumed that the paper type "plain paper" is selected in control 306, the paper size "A4" is selected in control 307, and the paper feed slot "automatic" is selected in control 308 (see FIG. 3(c)). It is also assumed that "200[%]" is entered in control 310. In this setting state, the print setting screen expansion unit 205 accepts that the user has operated control 309 on the detailed setting screen 300C.

[0069] In step S808, the print setting screen expansion unit 205 accepts that the user has completed the detailed settings based on the operation of the control 309 in step S807. The user can instruct the user to complete the detailed settings by, for example, operating the pointing device 117 or the keyboard 118 to select the control 309.

[0070] In step S809, the extension application 204 transmits detailed setting completion information indicating that the detailed setting in step S808 has been completed to the general-purpose printing software 202.

[0071] In step S810, the general-purpose printing software 202 receives the detailed setting completion information transmitted in step S809 from the extension application 204. The general-purpose printing software 202 transmits this detailed setting completion information to the drawing application 201.

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

[0073] In step S812, the drawing application 201 issues the print instruction received in step S811 to the general-purpose printing software 202.

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

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

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

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

[0078] In step S817, the intermediate data editing unit 207 of the extension application 204 generates print data using the drawing data sent in step S815 and the print setting information acquired in step S816. This print data is data that includes the numerical value (numerical information) of the scaling factor accepted on the detailed setting screen 300C.

[0079] In step S818, the intermediate data editing unit 207 of the extension application 204 transmits the print data generated in step S817 to the printing device 102 (transmission step). As described above, the print data includes numerical information about the scaling factor accepted on the detailed setting screen 300C.

[0080] In step S819, the printing device 102 receives the print data transmitted in step S818. The printing device 102 interprets the print data and performs the necessary image processing on the print data. This image processing involves scaling the print data at a scaling factor based on the numerical information transmitted in step S818.

[0081] In step S820, the printing device 102 prints the print data that has been image processed in step S819. As a result, the printed matter becomes a print matter of the print data that has been scaled to the scale factor accepted on the detailed setting screen 300C.

[0082] As described above, in the printing system 1000, even if the general-purpose printing software 202 does not support a scaling function, the extension application 204 can display the detailed settings screen 300C shown in FIG. 3(c). This detailed settings screen 300C allows the user to change the scaling factor used when scaling and printing print data on the printing device 102. The printing device 102 can then execute the scaling function based on the scaling factor (numerical information) displayed on the detailed settings screen 300C. This results in the printing device 102 printing a printout of the print data scaled at the scaling factor. Note that in the description with reference to FIG. 8, the detailed settings screen 300C shown in FIG. 3(c) is displayed assuming that the software configuration of the printing system 1000 is the software configuration shown in FIG. 2A(b). However, this is not limiting. For example, when a request to display detailed settings is made to the general-purpose printing software 202 in step S804, the general-purpose printing software 202 displays the detailed settings screen 300B shown in FIG. 3(b). In this case, after the control 309 on the advanced settings screen 300B is operated, the general-purpose printing software 202 requests the extension application 204 to display an additional advanced settings screen. Next, the extension application 204 may display an additional advanced settings screen on which a scaling function can be performed. Also, in this embodiment, the extension application 204 generates print data from the intermediate data generated by the general-purpose printing software 202, but this is not limited to this. For example, the extension application 204 itself may generate the intermediate data.

[0083] <<Second embodiment>> The second embodiment will be described below with reference to FIGS. 9 to 12. The differences from the previous embodiment will be mainly described, and similar points will not be described again. In the first embodiment, the extension application 204, together with the general-purpose printing software 202, generates print data including the scaling factor. This print data is sent to the printing device 102. The printing device 102 can interpret the print data including the scaling factor and execute the scaling function. In this way, in the first embodiment, the extension application 204, together with the general-purpose printing software 202, causes the printing device 102 to execute the scaling function.

[0084] However, some printing devices 102 are unable to implement the scaling function. In this case, even if the extended application 204 generates print data that includes a scaling factor, the printing device 102 cannot implement the scaling function. If the printing device 102 is unable to implement the scaling function, it is preferable for the extended application 204 to generate print data with the scaling function implemented and send it to the printing device 102.

[0085] Therefore, in this embodiment, it is determined whether the printing device 102 can execute the scaling function based on the capability information of the printing device 102. If it is determined that the printing device 102 can execute the scaling function as a result of this determination, the extension application 204 generates print data including the scaling factor and transmits it to the printing device 102. On the other hand, if it is determined that the printing device 102 cannot execute the scaling function, the extension application 204 executes the scaling function on the drawing data, i.e., generates print data reflecting the execution of the scaling function, and transmits it to the printing device 102. This makes it possible to provide the scaling function to the user even when the printing device 102 cannot execute the scaling function. Note that this embodiment is similar to the first embodiment except for the configuration of the printing system 1000 when the extension application 204 is associated, the PDC editing process, and the process after the drawing application 201 accepts the print settings.

[0086] <Software-based printing system configuration> FIG. 9 is a block diagram showing the software configuration of a printing system according to the second embodiment. The block diagram in FIG. 9 illustrates a configuration in which an extension application 902 is associated with the general-purpose printing software 202 and the printing device 102. As shown in FIG. 9, the host computer 101 includes a drawing application 201, the general-purpose printing software 202, print function information 203, and an extension application 902. The extension application 902 is communicably connected to the printing device 901. Unlike the printing device 102 in the first embodiment, the printing device 901 is unable to perform a scaling function. The extension application 902 includes a print setting screen extension unit 205, an intermediate data editing unit 207, a notification unit 209, a print function extension unit 903, and a scaling processing unit 904. The print function extension unit 903 can add a scaling function to the printing function information 203 even if it is determined that the printing device 102 cannot perform the scaling function based on capability information acquired from the printing device 901. The magnification processing unit 904 performs magnification processing on the intermediate data (drawing data) from the general-purpose printing software 202 based on the magnification ratio set by the user.

[0087] <Flowchart of the print function extension unit for editing print function information> FIG. 10 is a flowchart showing the process by which the print function extension unit edits print function information. The program based on the flowchart shown in FIG. 10 is executed by the CPU 111 controlling the print function extension unit 903. The flowchart shown in FIG. 10 is a flowchart in which steps S1001 and S1002 have been added to the flowchart shown in FIG. 4. FIG. 11 is a diagram showing an example of a list of capability information for the printing device. As shown in FIG. 10, when the repeated processing of steps S404 to S406 is completed, the processing proceeds to step S1001. Table 1101 shown in FIG. 11 lists the capability information for the printing device 901. This table 1101 includes, as capability information, information on paper size, information on paper type, and information on the paper feed slot. However, unlike table 501 shown in FIG. 5, it does not include information on the magnification function. Therefore, it can be seen that the printing device 901 cannot execute the magnification function. Therefore, the magnification function is not added to the printing function information 203 after the processing of steps S404 to S406 is completed.

[0088] 10, in step S1001, the print function extension unit 903 determines whether the extension application 902 has a scaling processing unit 904, i.e., whether the scaling processing unit 904 is present. If the determination in step S1001 determines that the scaling processing unit 904 is present, the process proceeds to step S1002. On the other hand, if the determination in step S1001 determines that the scaling processing unit 904 is not present, the process ends. As described above, since the extension application 902 has a scaling processing unit 904, the process proceeds to step S1002.

[0089] In step S1002, the print function expansion unit 903 adds information about the zoom function in the table 601 shown in FIG.

[0090] As described above, the extension application 902 can add functions (options) that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are supported by the extension application 204 to the printing function information 203. The extension application 902 then determines whether or not a scaling processing unit 904 is present. If it is determined that the scaling processing unit 904 is present, the scaling function is added to the printing function information 203. As a result of this addition process, even if the printing device 901 cannot execute the scaling function, capability information is generated based on the printing function information 203 to which the scaling function has been added. The extension application 902 can display the detailed setting screen 300C shown in FIG. 3(c) by generating a display screen based on this capability information.

[0091] <Processing after the drawing application accepts print settings> 12 is a sequence diagram showing the processing executed between the drawing application, general-purpose printing software, extension application, and printing device after the drawing application accepts print settings. The sequence diagram shown in FIG. 12 is a sequence diagram in which steps S1201 to S1204 have been added to the sequence diagram shown in FIG. 8. As shown in FIG. 12, after step S815 is executed, the processing proceeds to step S1201. In step S1201, the scaling processing unit 904 of the extension application 902 acquires the print setting information (PT) saved in step S814 from the shared information 208. The scaling processing unit 904 also acquires information related to the scaling function included in the print setting information. Note that if the scaling factor in the information related to the scaling function is 100%, scaling processing is not executed, and steps S1202 to S1204 are omitted.

[0092] In step S1202, the scaling processing unit 904 acquires the capability information of the printing device 901 from the shared information 208. If the shared information 208 does not include the capability information of the printing device 901, the print function extension unit 903 may request the capability information from the printing device 901. In this case, the capability information is also saved in the shared information 208.

[0093] In step S1203, the scaling processing unit 904 determines whether the printing device 901 has a scaling function based on the capability information acquired in step S1202. As described above, in this embodiment, the printing device 901 is a printing device that cannot perform a scaling function. Therefore, the determination result in step S1203 is that the printing device 901 does not have a scaling function. Note that if the determination result in step S1203 determines that the printing device 901 has a scaling function, the process skips step S1204 and proceeds to step S817. This is because the printing device 901 is generally capable of performing the scaling function faster than the scaling processing unit 904. Specifically, this is because the printing device 901 can process faster than the scaling processing unit 904 using an ASIC (Application Specific Integrated Circuit).

[0094] In step S1204, the scaling processing unit 904 scales the print data using the scaling factor for the intermediate rendering data (intermediate data) based on the information related to the scaling function settings acquired in step S1201, to generate scaled data (generation step). The processing result is saved in the shared information 208. The scaling processing unit 904 also edits the scaling factor in the print setting information to "100" or deletes the scaling factor from the print setting information. After step S1204 is executed, the process proceeds in order from step S817 to step S820. The print data sent in step S818 is the scaled data generated in step S1204. The printed matter obtained in step S820 is one to which the scaling function has been executed, i.e., one to which the scaling factor has been reflected.

[0095] As described above, in this embodiment, even if the scaling function cannot be executed on the printing device 901, the extension application 902 can execute the scaling function. As a result, the printing device 901 can also print a printed material that reflects the scaling.

[0096] <<Third Embodiment>> The third embodiment will be described below with reference to Fig. 13. The differences from the previous embodiment will be mainly described, and the same points will not be described again. This embodiment is the same as the first embodiment except for the configuration of the detailed setting screen.

[0097] <Example of detailed settings screen> FIG. 13 illustrates an example of a screen displayed on the display unit of the printing system according to the third embodiment. FIG. 13(a) illustrates a detailed setting screen when the scaling factor is set to 100%. FIG. 13(b) illustrates a detailed setting screen when the scaling factor is set to 150%. FIG. 13(c) illustrates a detailed setting screen when the scaling factor is set to 50%. As illustrated in FIGS. 13(a) to 13(c), the detailed setting screen 1300 includes a preview image 1301 of a printout obtained by printing print data on the printing device 102. Note that the preview image 1301 differs from a typical preview image and is a simplified image of a specific illustration enlarged or reduced according to a specified scaling factor. This allows the preview image 1301 to be displayed more quickly than a typical preview image. Note that the preview image 1301 is located below the control 310 in the configuration illustrated in FIG. 13, but is not limited to this.

[0098] As shown in FIG. 13(a), a magnification ratio of 100% is input into the control 310 of the detailed setting screen 1300. In this case, a preview image 1301a is an image of the print data without any scaling. As shown in FIG. 13(b), a magnification ratio of 150% is input into the control 310 of the detailed setting screen 1300. In this case, a preview image 1301b reflects the scaling ratio of 150%, i.e., is an image of the print data enlarged to 150%. Note that the preview image 1301b is an image in the upper left area of ​​the preview image 1301a. As shown in FIG. 13(c), a magnification ratio of 50% is input into the control 310 of the detailed setting screen 1300. In this case, a preview image 1301b reflects the scaling ratio of 50%, i.e., is an image of the print data reduced to 50%. The preview image 1301b is an image in which the entire print data is arranged in the upper left area of ​​the paper. The preview images 1301a to 1301c allow the user to understand what kind of printed matter will be printed by the printing device 102 before the printing.

[0099] <<Fourth Embodiment>> The fourth embodiment will be described below with reference to FIGS. 14 and 15, with the differences from the previous embodiments being mainly described, and descriptions of similar points will be omitted.

[0100] <Example of detailed settings screen> FIG. 14 is a diagram showing an example of a screen displayed on the display unit of the printing system according to the fourth embodiment. FIG. 14(a) is a detailed setting screen when the scaling factor is set to 200% and the print data is positioned at the left edge horizontally and at the top edge vertically. FIG. 14(b) is a detailed setting screen when the scaling factor is set to 200% and the print data is positioned at the center horizontally and the center vertically. FIG. 14(c) is a detailed setting screen when the scaling factor is set to 50% and the print data is positioned at the center horizontally and the center vertically. FIG. 15 is a diagram showing an example of the print position of print data on a print sheet. As shown in FIGS. 14(a) to 14(c), the setting acceptance screen 1400 includes an adjustment unit 1401 that adjusts the print position of print data relative to the print sheet on which the print data is printed by the printing device 102. The adjustment unit 1401 includes controls 1501 to 1506. Control 1501 is a checkbox (left edge designation section) that is checked when specifying the left edge in the horizontal direction as the print position of the print data on the printing paper. Control 1502 is a checkbox (center designation section) that is checked when specifying the center. Control 1503 is a checkbox (right edge designation section) that is checked when specifying the right edge. Control 1504 is a checkbox (top edge designation section) that is checked when specifying the top edge in the vertical direction as the print position of the print data on the printing paper. Control 1505 is a checkbox (center designation section) that is checked when specifying the center. Control 1506 is a checkbox (bottom edge designation section) that is checked when specifying the bottom edge. In this way, adjustment section 1401 allows the print position of the print data in the horizontal direction of the printing paper to be selected from three (multiple types) options, and the print position of the print data in the vertical direction of the printing paper to be selected from three (multiple types) options. Note that the number of options for each direction is not limited to three. Furthermore, although the adjustment unit 1401 is arranged below the control 310 in the configuration shown in FIG. 14, the present invention is not limited to this.

[0101] In the setting acceptance screen 1400 shown in FIG. 14(a), 200[%] is entered in control 301, and controls 1501 and 1504 are checked. In this input state, the print data after enlargement processing is printed so as to be positioned in the upper left corner of the printing paper 2001, as shown in FIG. 2B(b), for example. In the setting acceptance screen 1400 shown in FIG. 14(b), 200[%] is entered in control 301, and controls 1502 and 1505 are checked. In this input state, the print data after enlargement processing is printed so as to be positioned in the center of the printing paper 1510, as shown in FIG. 15(a). In the setting acceptance screen 1400 shown in FIG. 14(c), 50[%] is entered in control 301, and controls 1502 and 1505 are checked. In this input state, the print data after reduction processing is printed so as to be positioned in the center of the printing paper 1511, as shown in FIG. 15(b). The adjustment unit 1401 is composed of controls 1501 to 1506, but is not limited to this. For example, the adjustment unit 1401 may be configured so that the print position of the print data on the printing paper can be specified using a mouse, a touch panel, or the like. The adjustment unit 1401 may also be configured so that the print position of the print data on the printing paper can be input as a numerical value. In this case, it is preferable that the numerical values ​​input are, for example, the distance [mm] from the top edge of the printing paper and the distance [mm] from the left edge.

[0102] <<Fifth Embodiment>> Hereinafter, the fifth embodiment will be described with reference to FIG. 16, but the differences from the previous embodiments will be mainly described, and a description of the same points will be omitted.

[0103] <Example of detailed settings screen> FIG. 16 is a diagram showing an example of a screen displayed on the display unit of the printing system according to the fifth embodiment. FIG. 16(a) shows a detailed setting screen in which the scaling factor is set to 200% and the print data is positioned at the left edge horizontally and at the top edge vertically. FIG. 16(b) shows a detailed setting screen transitioned from the detailed setting screen shown in FIG. 16(a). As shown in FIG. 16(a), detailed setting screen 1600A includes control 1601. Control 1601 is a button operated to further fine-tune the print position of the print data specified in adjustment unit 1401. Operating control 1601 transitions to detailed setting screen 1600B shown in FIG. 16(b). Detailed setting screen 1600B includes fine adjustment unit 1602. Fine adjustment unit 1602 includes controls 1603 and 1604. 16(b), controls 1603 and 1604 are arranged side by side on the left and right sides of the detailed setting screen 1600B, but this is not limiting. Controls 1603 and 1604 may also be included in detailed setting screen 1600A. In this case, it is preferable that controls 1603 and 1604 are grayed out until control 1601 is operated. When control 1601 is operated, controls 1603 and 1604 are no longer grayed out, allowing numerical input.

[0104] Control 1603 is an input section for inputting a numerical value for fine-tuning the position of the print data in the vertical direction (up-down direction) of the printing paper. Control 1603 has an up button 1603a for increasing the numerical value in control 1603, i.e., increasing it, and a down button 1603b for decreasing the numerical value, arranged vertically. By appropriately pressing up button 1603a or down button 1603b, the numerical value in control 1603 can be changed by 1 [px] to set the desired value. In FIG. 16(b), "+10" is set as an example. Note that the numerical value that can be changed by a single press of up button 1603a or down button 1603b is not limited to 1 [px] and may be, for example, 2 [px]. Furthermore, a numerical value range that can be input into control 1603 is specified. This allows numerical values ​​to be input within the range that allows fine adjustment. In FIG. 16(b), the numerical range is set to "-25 [px] to +25 [px]" as an example, but is not limited to this.

[0105] Control 1604 is an input section where a numerical value is entered to fine-tune the position of the print data in the horizontal direction (left-right direction) of the printing paper. Control 1604 has an up button 1604a, which increases the value in control 1604, and a down button 1604b, which decreases the value, arranged side by side. By appropriately pressing up button 1604a or down button 1604b, the value in control 1604 can be changed in 1-px increments to the desired size. In FIG. 16(b), "+15" is set as an example. The amount of change in the value that can be made by a single press of up button 1604a or down button 1604b is not limited to the same amount as control 1603 and may be, for example, a different amount. Control 1604 also defines a range of values ​​that can be entered into control 1604. This allows for numerical input within a range that allows for fine adjustment. In FIG. 16(b), as an example, the numerical range is defined as "-25 [px] to +25 [px]" similarly to control 1603, but is not limited to this. Further, detailed setting screen 1600B includes control 1605. Control 1605 is a button for determining fine adjustments by inputting numerical values ​​into controls 1603 and 1604. Further, operating control 1605 transitions to detailed setting screen 1600A.

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

[0107] The disclosure of each embodiment includes the following programs, storage media, methods, and configurations. (Program 1) A program that supports a general-purpose program that can generate print data that can be printed on printing devices from multiple manufacturers and transmit the print data to the printing device, On the computer, a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting numerical information including the numerical values ​​accepted on the setting acceptance screen to the printing device. (Program 2) The program according to Program 1, wherein the printing device is capable of scaling the print data by the numerical value based on the numerical information transmitted in the transmitting step and printing the print data. (Program 3) A program that supports a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers, On the computer, a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the scaled data to the printing device. (Program 4) to the computer, an acquisition step of acquiring, prior to the display control step, capability information relating to the printing capability of the printing device from the printing device; a determination step of determining whether or not the capability information acquired in the acquisition step includes information that enables display of the setting reception screen, A program described in any one of programs 1 to 3, characterized in that in the display control process, if it is determined as a result of the judgment in the judgment process that information that enables the display of the setting reception screen is included, the setting reception screen is displayed, and if it is determined that information that enables the display of the setting reception screen is not included, the setting reception screen is not displayed. (Program 5) The program according to any one of Programs 1 to 4, wherein the setting reception screen includes an input section into which the numerical value is input. (Program 6) The program according to Program 5, wherein the input section defines a range of values ​​that can be input to the input section. (Program 7) The scaling factors include a vertical scaling factor in the vertical direction of the printing paper on which the print data is printed by the printing device, and a horizontal scaling factor in the horizontal direction of the printing paper on which the print data is printed by the printing device, The program described in Program 5 or 6, characterized in that the setting reception screen includes, as the input section, a first input section for inputting the vertical magnification and a second input section for inputting the horizontal magnification. (Program 8) In the first input section, a range of numerical values ​​that can be input to the first input section is defined, The program according to program 7, wherein the second input section defines a range of values ​​that can be input to the second input section. (Program 9) The program according to any one of Programs 1 to 8, wherein the setting acceptance screen includes an adjustment section for adjusting a print position of the print data relative to a print sheet on which the print data is printed by the printing device. (Program 10) A program described in Program 9, characterized in that the adjustment unit allows the printing position of the print data in the vertical direction of the printing paper to be selected from among multiple options, and the printing position of the print data in the horizontal direction of the printing paper to be selected from among multiple options. (Program 11) A program described in any one of Programs 1 to 10, characterized in that the setting acceptance screen includes a preview image of a printed matter obtained by printing the print data on the printing device and reflecting the numerical scaling. (Program 12) The program according to any one of Programs 1 to 11, wherein the function of accepting the scaling factor as a numerical value is a function that cannot be executed by the general-purpose program on the printing device. (Program 13) The program according to any one of Programs 1 to 12, wherein the general-purpose program is a program that operates based on IPP (Internet Printing Protocol). (Storage Medium 1) A storage medium having stored thereon one of the programs described in Programs 1 to 13. (Method 1) A method for controlling support of a general-purpose program that can generate print data that can be printed on printing devices from multiple manufacturers and transmit the print data to the printing device, comprising: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting numerical information including the numerical values ​​accepted on the setting acceptance screen to the printing device. (Method 2) A method for controlling support of a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers, comprising: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the resized data to the printing device. (Configuration 1) An information processing device that is communicably connected to printing devices of multiple manufacturers and can process information between the printing devices, a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers and transmits the print data to the printing devices; a program that supports the general-purpose program, The program is configured to: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting to the printing device numerical information including the numerical values ​​accepted on the setting acceptance screen. (Configuration 2) An information processing device that is communicably connected to printing devices of multiple manufacturers and can process information between the printing devices, a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers and transmits the print data to the printing devices; a program that supports the general-purpose program, The program is configured to: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the resized data to the printing device. [Explanation of symbols]

[0108] 101 host computer 102 Printing device 111 CPU 114 External storage device 202 General-purpose printing software 204 Extended Applications 300C, 300D detailed settings screen 310, 312, 313 Control

Claims

1. A program that supports a general-purpose program that can generate print data that can be printed on printing devices from multiple manufacturers and transmit the print data to the printing devices, On the computer, a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting numerical information including the numerical values ​​accepted on the setting acceptance screen to the printing device.

2. 2. The program according to claim 1, wherein the printing device is capable of scaling the print data by the numerical value based on the numerical information transmitted in the transmitting step and printing the print data.

3. A program that supports a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers, On the computer, a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the scaled data to the printing device.

4. The computer, an acquisition step of acquiring, prior to the display control step, capability information relating to the printing capability of the printing device from the printing device; a determination step of determining whether or not the capability information acquired in the acquisition step includes information that enables display of the setting reception screen, The program described in claim 1 or 3, characterized in that in the display control process, if it is determined as a result of the judgment process that the information that enables the display of the setting reception screen is included, the setting reception screen is displayed, and if it is determined that the information that enables the display of the setting reception screen is not included, the setting reception screen is not displayed.

5. 4. The program according to claim 1, wherein the setting reception screen includes an input section for inputting the numerical value.

6. 6. The program according to claim 5, wherein a range of values ​​that can be input to the input section is defined in the input section.

7. The scaling factors include a vertical scaling factor in the vertical direction of the printing paper on which the print data is printed by the printing device, and a horizontal scaling factor in the horizontal direction of the printing paper on which the print data is printed by the printing device, 6. The program according to claim 5, wherein the setting reception screen includes, as the input section, a first input section for inputting the vertical magnification and a second input section for inputting the horizontal magnification.

8. a range of values ​​that can be input to the first input unit is defined in the first input unit; 8. The program according to claim 7, wherein a range of numerical values ​​that can be input to the second input section is defined in the second input section.

9. 4. The program according to claim 1, wherein the setting acceptance screen includes an adjustment section for adjusting a print position of the print data relative to a print sheet on which the print data is printed by the printing device.

10. The program according to claim 9, characterized in that the adjustment unit allows the printing position of the print data in the vertical direction of the printing paper to be selected from among multiple types, and the printing position of the print data in the horizontal direction of the printing paper to be selected from among multiple types.

11. The program according to claim 1 or 3, characterized in that the setting acceptance screen includes a preview image of a printed matter obtained by printing the print data on the printing device and reflecting the scaling by the numerical value.

12. 4. The program according to claim 1, wherein the function of accepting the scaling factor as a numerical value is a function that cannot be executed by the general-purpose program on the printing device.

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

14. A storage medium storing the program according to claim 1 or 3.

15. A method for controlling support of a general-purpose program that can generate print data that can be printed on printing devices from multiple manufacturers and transmit the print data to the printing devices, comprising: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting numerical information including the numerical values ​​accepted on the setting acceptance screen to the printing device.

16. A method for controlling support of a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers, comprising: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the resized data to the printing device.

17. An information processing device that is communicably connected to printing devices of multiple manufacturers and is capable of processing information between the printing devices, a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers and transmits the print data to the printing devices; a program that supports the general-purpose program, The program is configured to: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a transmission step capable of transmitting to the printing device numerical information including the numerical values ​​accepted on the setting acceptance screen.

18. An information processing device that is communicably connected to printing devices of multiple manufacturers and is capable of processing information between the printing devices, a general-purpose program that generates print data that can be printed on printing devices from multiple manufacturers and transmits the print data to the printing devices; a program that supports the general-purpose program, The program is configured to: a display control step of displaying a setting acceptance screen that accepts a numerical value of a scaling factor when the printing device scales and prints the print data; a generating step of scaling the print data using the numerical value received on the setting reception screen to generate scaled data; a transmitting step capable of transmitting the resized data to the printing device.

Citation Information

Patent Citations

  • Display controller, display control method and storage medium

    JP2001014130A

  • Image forming apparatus, print control device, and printer driver program

    JP2010087855A

  • Information processor, method for processing information, and program

    JP2024018088A

  • Server system and application

    JP2021033526A