Information processing device, control method for information processing device, and application program

The extension application addresses the limitations of standard printing drivers by providing skip control, data editing, and additional features, enhancing user experience and functionality in printing systems.

JP2026063514APending Publication Date: 2026-04-10CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2026-02-04
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing expansion applications for printing devices lack the capability to provide enhanced functionalities beyond standard drivers, necessitating improvements for better user experience and functionality.

Method used

An extension application that adds functionality to print data generation software, allowing for skip control of conversion processes, editing of intermediate data, and extension of print function information, including support for additional features like layout printing and error notifications.

Benefits of technology

Enhances the functionality of printing systems by enabling advanced features and improved user interaction, such as layout printing and error handling, while optimizing data processing to maintain image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026063514000001_ABST
    Figure 2026063514000001_ABST
Patent Text Reader

Abstract

The extension application provides better functionality. [Solution] The program for an extension application that extends the functionality of print data generation software that can be operated on an information processing device is configured to function as: a function extension means that adds extension information to the print function information used in the print data generation software; a skip control means that switches whether or not to perform a skip process that skips the conversion process of intermediate data performed by the print data generation software, according to a setting value stored in shared information shared by the extension application; and an editing means that edits the intermediate data whose conversion process has been skipped by the print data generation software according to the control of the skip control means, and converts the edited intermediate data into print data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a technology for expanding the functions of printing.

Background Art

[0002] In recent years, in Windows (registered trademark) and the like, a standard class driver (hereinafter also referred to as a "standard driver") that can be commonly used for printing devices provided by a plurality of vendors has been provided. Such a standard driver is bundled in an operating system (hereinafter referred to as an "OS") package. The standard driver is configured to be able to specify a printing function according to PrintCapabilities generated based on information acquired from the connected printing device. Thereby, a user who uses the standard driver can specify a printing function according to the capabilities of the connected printing device.

[0003] An application for function expansion (hereinafter also referred to as an "expansion application") can be associated with the standard driver. The expansion application is provided by the vendor that provides the printing device. By providing the expansion application, the vendor can provide functions (expansion functions) that cannot be realized only by the standard driver. Patent Document 1 discloses a technology for expanding functions such as a stamp function by an expansion application.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] Further improvements are required for the expansion application to provide better functions.

Means for Solving the Problems

[0006] A program according to one aspect of the present disclosure is a program for an extension application that extends the functionality of print data generation software that can be operated on an information processing device, wherein the computer of the information processing device functions as: a function extension means that adds extension information to the print function information used in the print data generation software; a skip control means that switches whether or not to perform a skip process that skips the conversion process of intermediate data performed by the print data generation software, according to a setting value stored in shared information shared by the extension application; and an editing means that edits the intermediate data whose conversion process has been skipped in the print data generation software according to the control of the skip control means, and converts the edited intermediate data into print data. [Effects of the Invention]

[0007] According to this disclosure, the extended application can provide better functionality. [Brief explanation of the drawing]

[0008] [Figure 1] This is a block diagram showing the hardware configuration of the printing system. [Figure 2] This is a schematic diagram showing the configuration of a printing system. [Figure 3] This diagram shows the data formats handled by each part of the printing system. [Figure 4] This flowchart shows an example of the editing process for print function information. [Figure 5] This figure shows an example of PDC. [Figure 6] This figure shows an example of a PDC with added functionality. [Figure 7] This figure shows an example of ability information. [Figure 8] This flowchart shows an example of the process for displaying the print settings screen. [Figure 9]It is a diagram showing an example of a print setting screen. [Figure 10] It is a diagram showing an example of skip setting. [Figure 11] It is a flowchart showing an example of skip processing. [Figure 12] It is a flowchart showing an example of print data editing processing. [Figure 13] It is a diagram showing an example of allocation processing. [Figure 14] It is a flowchart showing an example of editing processing of print function information. [Figure 15] It is a flowchart showing an example of print setting screen display processing. [Figure 16] It is a flowchart showing an example of editing processing of print function information. [Figure 17] It is a flowchart showing an example of print setting screen display processing. [Figure 18] It is a flowchart showing an example of editing processing of print function information. [Figure 19] It is a flowchart showing an example of print setting screen display processing. [Figure 20] It is a flowchart showing an example of editing processing of print function information.

Embodiments for Carrying Out the Invention

[0009] Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the matters disclosed, and not all combinations of the features described in this embodiment are essential for the solution means of the present disclosure. The same components are denoted by the same reference numerals, and the description thereof is omitted.

[0010] <<First Embodiment>> <Hardware Configuration of Print System> FIG. 1 is a block diagram showing the hardware configuration of the printing system according to the present embodiment. The printing system includes a host computer 101, and in FIG. 1, mainly shows the block configuration of the host computer. The host computer 101 is an example of an information processing device. The host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a network interface (NETIF) 120. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. The NETIF 120 controls data transfer with external devices via a network. In the example of FIG. 1, the display unit 119, the pointing device 117, and the keyboard 118 are described as examples of devices separate from the host computer 101, but they may be included in the host computer 101. Also, the display unit 119 may be a touch panel display having the function of an input / output device.

[0011] An initialization program is stored in the ROM 112. In the external storage device 114, an application program group, an operating system (OS), printing data generation software, and various other data are stored. In the following description, the OS is assumed to be the OS of the host computer 101 stored in the ROM 112 unless otherwise specified. Also, hereinafter, the application program is abbreviated as an application. The RAM 113 is used as a work memory or the like when executing various programs stored in the external storage device 114, thereby enabling various programs to operate within the host computer 101.

[0012] In the present embodiment, the CPU 111 executes the functions and processes described later in the host computer 101 by performing processing according to the procedures of the program stored in the ROM 112.

[0013] The output device, the printer 102, is connected to the host computer 101 via the input / output interface 116. While Figure 1 shows an example where the host computer 101 and the printer 102 are separate, they may be configured as a single information processing unit. The printer is described using an inkjet printer as an example, but printing may be performed by other methods (e.g., electrophotography). The host computer 101 may be a desktop PC, smartphone, tablet, or laptop computer. The input / output interface 116 may be wired or wireless. Furthermore, the host computer 101 and the printer 102 may be connected via a LAN or WAN such as the Internet.

[0014] <Configuration of a software-centric printing system> Figure 2 is a schematic diagram showing the configuration of a printing system. Here, the explanation assumes a printing system using a host computer 101 equipped with Microsoft's Windows 10 as the operating system. Figure 2(a) shows a typical configuration when the extended application 204 is not associated with the print data generation software 202 and the printing device 102. In other words, it shows the configuration of a printing system in which the extended application 204 is not used. On the other hand, Figure 2(b) shows the configuration of the printing system in this embodiment in which the extended application 204 is associated with the print data generation software 202 and the printing device 102.

[0015] First, an example of a typical printing system configuration will be explained using Figure 2(a). A typical printing system configuration includes a drawing application 201 and print data generation software 202. In addition, print function information 203 is stored in RAM 113 or external storage device 114. The drawing application 201 and print data generation software 202 are programs that can run on the host computer 101 and are stored in RAM 113 or external storage device 114.

[0016] The drawing application 201 is software that creates content (drawing data) to be printed. Examples of drawing applications 201 include various user-operated applications such as word processing applications, spreadsheet applications, and presentation data creation applications. When the drawing application 201 receives a print request in response to user input, it issues a print command to the OS. The print command includes print setting information to instruct the operation of the print data generation software 202 and the printing device 102. The print setting information is also called a PrintTicket (hereinafter abbreviated as "PT").

[0017] The drawing application 201 can display a print settings screen to accept print setting operations from the user and set print setting information (PT). The print settings screen is provided by either the print data generation software 202, the OS, or the drawing application 201. The print settings screen includes setting items (hereinafter also called "control items") that indicate the configurable print functions and control items that indicate the setting values. The print settings screen displays control items according to capability information (information that can be set as print settings) obtained from the print data generation software 202. Capability information is also called PrintCapabilities (hereinafter abbreviated as "PC"). The print data generation software 202 determines the PC based on the print function information 203.

[0018] The print function information 203 is data indicating the print function, which includes all configurable print functions, their settings, and the mutual exclusion relationships between the settings. The print function information 203 is also called PDC (Print Device Capabilities). The print function information 203 is included in the configuration file of the print data generation software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the print function information 203 can be dynamically generated by the print data generation software 202. Specifically, the print data generation software 202 or the OS can be configured to obtain attribute data of the printing device from the printing device 102 and generate the print function information 203 according to the attribute information in the obtained attribute data. When the print function information 203 is dynamically generated, the generated print function information 203 is editable. The attribute data of the printing device obtained from the printing device 102 is the response data obtained by issuing the IPP Get-Printer-Attributes operation to the printing device. IPP stands for Internet Print Protocol. The response includes attribute information indicating the functions (capabilities of the printing device) that can be specified by the printing device 102, and setting values ​​related to that attribute information. This response data is stored in RAM 113.

[0019] By configuring it in this way, the print data generation software 202 can be configured so that the user can specify the printing functions available on each connected printing device 102, according to the connected printing device 102. In other words, even when printing devices with different functions or printing devices developed by different vendors are connected, the print data generation software 202 can be configured so that the user can specify the printing functions available on each connected printing device. Here, we will describe a configuration using the IPP Class Driver included in Windows® 10 as the print data generation software 202. The IPP Class Driver is a printer driver that performs printing processing according to the specifications of a standard printing protocol called IPP, and is software that is bundled with the OS and pre-installed on the host computer 101. Furthermore, the IPP Class Driver is not a unique printer driver provided by the vendor of the printing device 102, depending on the model of the printing device 102. The IPP Class Driver can be used commonly for multiple printing devices and is a standard class driver provided by the OS vendor. Furthermore, the IPP Class Driver acquires attribute information of the connected printer 102 so that the user can specify the printing functions supported by the connected printer 102, and generates printing function information 203 based on that information. In this way, the IPP Class Driver, which is the print data generation software 202, can dynamically generate printing function information 203 (PDC).

[0020] The print settings information (PT) specified through the print settings screen displayed on the PC based on the print function information 203 (PDC) is included in the print instruction output from the drawing application 201. In addition to the print settings information (PT), the print instruction output from the drawing application 201 also includes the data to be drawn.

[0021] The OS generates intermediate data (also called input data) based on the print instructions output from the drawing application 201 and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is either Graphic Device Interface format data (GDI format data) or XML Paper Specification format data (XPS format data). When using the IPP Class Driver as the print data generation software 202, if the data output by the drawing application 201 is in GDI format, the OS performs a data format conversion. That is, the OS converts the GDI format data output from the drawing application 201 to XPS format data. Then, it passes the converted XPS format data to the print data generation software 202 as intermediate data. On the other hand, if the data output by the drawing application 201 is in XPS format, the OS passes the XPS format data to the print data generation software 202 as intermediate data. The intermediate data includes drawing data, which is information about the image to be formed on the paper, and print setting information (PT) set by the user.

[0022] The print data generation software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102 and transmits it to the printing device 102. The print data includes drawing data, which is information about the image to be formed on the paper, and print setting attribute information (attribute information that specifies the print settings) generated based on the print setting information set by the user. The print setting attribute information includes attribute information that indicates the functions that can be specified by the printing device 102 (capabilities of the printing device) and the setting values ​​associated with that attribute information.

[0023] The printing device 102 prints on the paper based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data contained in the print data on the paper in accordance with the print setting attribute information contained in the print data. The print setting attribute information includes attribute information and setting values ​​for specifying print quality (e.g., image quality priority or speed priority), and double-sided printing. For example, if the print setting attribute information includes attribute information for specifying double-sided printing, the printing device 102 performs double-sided printing.

[0024] Figure 2(b) shows the configuration of this embodiment when the extended application 204 is associated with the print data generation software 202 and the printing device 102. Configurations and processes not specifically mentioned below are equivalent to those in Figure 2(a). Furthermore, in the following description, processes described as being executed by each software on the host computer 101 are actually implemented as follows: Specifically, the CPU 111 loads each software stored in ROM 112, etc., into RAM 113 and executes it.

[0025] The extension application 204 is software that extends the functionality of the print data generation software 202, and is not software that is bundled with the OS and pre-installed on the host computer 101. Therefore, the user operates the host computer 101 to download the extension application 204 from a server via the internet and install it on the host computer 101. Alternatively, the extension application 204 may be automatically installed on the host computer 101 based on the connection of the printer 102 to the host computer 101. Specifically, when the printer 102 is connected to the host computer 101, the OS obtains device identification information from the printer 102. The OS may download the extension application 204 corresponding to the obtained device identification information from a server via the internet and install it on the host computer 101. In this way, the print data generation software 202 and the extension application 204 are kept as separate files on the host computer 101.

[0026] Note that the print data generation software 202 and the extended application 204 may be updated and upgraded, but these update processes are performed at different times. Also, the timing at which the host computer 101 acquires the print data generation software 202 is different from the timing at which the extended application 204 is acquired. Furthermore, the triggers for the host computer 101 to acquire the print data generation software 202 and the triggers for the host computer 101 to acquire the extended application 204 are also different. When the extended application 204 is installed, the OS associates the extended application 204 with the print data generation software 202 and the corresponding printing device 102.

[0027] The extended application 204 described in this embodiment comprises a print settings screen extension unit 205, a skip control unit 206, a print function extension unit 207, a print data editing unit 208, and a notification unit 209. The extended application 204 also includes shared information 210 that can be accessed from all units in common. Furthermore, the extended application 204 is provided by the vendor that provides the printing device 102. The shared information 210 is actually a file stored in the external storage device 114 or information stored on the RAM 113. The extended application 204 writes to and reads information from the shared information 210 by utilizing the API (Application Program Interface) provided by the OS.

[0028] Furthermore, the extended application 204 may terminate its operation after each unit has finished processing. In that case, the OS will start the extended application 204 each time a request to use each unit is received. Another configuration is also possible. For example, the OS may terminate the operation of the extended application 204 after the processing of the print settings screen extended unit 205 is completed, but the OS may keep the extended application 204 running even after the processing of the skip control unit 206 is completed.

[0029] Furthermore, the extended application 204 may cancel processing within the processing of each unit. If the extended application 204 cancels processing, the OS deletes the jobs currently being processed on the print queue. The print queue is a spooler provided by the OS that stores generated jobs. Jobs are generated based on the output of a print command from the extended application 204 and stored in the print queue. The intermediate data generated based on the output of a print command from the extended application 204 becomes the data associated with the job stored at that time. If the intermediate data associated with a job is being processed, the job status will also be in processing. A job is deleted from the print queue by the OS when the print data (in other words, the print data associated with the job) which is the converted intermediate data associated with that job is sent to the printer 102.

[0030] When the drawing application 201 receives a print request from the user, it issues a print command to the OS. The print command includes print setting information (PT), similar to the configuration in Figure 2(a). In the configuration of Figure 2(b), the drawing application 201 can also display a print settings screen for specifying the print setting information (PT), similar to the configuration in Figure 2(a). In the configuration of Figure 2(b), the print settings screen provided by the extension application 204 is displayed. Specifically, the print settings screen provided by the print settings screen extension unit 205 of the extension application 204 is displayed. In other words, the display of the print settings screen is controlled by the print settings screen extension unit 205. Whether or not the print settings screen provided by the print settings screen extension unit 205 is displayed depends on the user's operation.

[0031] When the drawing application 201 receives a print request from the user and a print command is issued to the OS, the OS activates the skip control unit 206. The skip control unit 206 performs control processing to determine whether or not to perform a skip process that skips the processing of the print data generation software 202. The skip control unit 206 cannot obtain intermediate data or print setting information. After the skip control processing by the skip control unit 206, the OS generates intermediate data based on the print command output from the drawing application 201 and passes the intermediate data to the print data generation software 202. If the skip control unit 206 does not perform a skip process, the intermediate data is processed by the print data generation software 202 into print data that can be interpreted by the printing device 102 and passed to the print data editing unit 208. On the other hand, if the print data generation software 202 performs a skip process, the intermediate data is not processed by the print data generation software 202 and is passed to the print data editing unit 208. This makes it possible for the print data editing unit 208 to process the intermediate data.

[0032] An example where it is preferable to skip processing by the print data generation software 202 is when scaling is to be performed by the print data editing unit 208. Intermediate data can be stored in vector format. Vector format data degrades less when scaled compared to raster format data. Therefore, in cases where the print data generation software 202 outputs images in raster format, it is generally preferable to skip processing by the print data generation software 202 and process the intermediate data in the print data editing unit 208.

[0033] The print data editing unit 208 edits intermediate data received from the print data generation software 202 or print data processed by the print data generation software 202. For example, in the case of layout printing, the print data editing unit 208 modifies the layout of the intermediate data or print data based on the layout printing settings information received from the OS. Layout printing involves, for example, allocating data for N pages onto one page for printing, and is called Nin1 or N-up (where N represents the number of pages). The print data editing unit 208 can also execute a UI display function that displays a UI screen on the display unit 119 in response to receiving intermediate data or print data from the print data generation software 202 or the skip control unit 206. For example, the print data editing unit 208 can use this UI display function to display the layout result of the intermediate data or print data as a preview screen. After the print data editing unit 208 edits the print data, the print data is passed to the printing device 102 via the OS. The printing device 102 prints on the paper based on the received print data. If the skip control unit 206 skips the print data generation software 202, the print data editing unit 208 may convert the received intermediate data into print data that the printing device 102 can interpret.

[0034] Furthermore, the extended application 204 includes a print function extension unit 207. The print function extension unit 207 can edit the print function information 203 (PDC) generated by the print data generation software 202 or the OS. In other words, the print function extension unit 207 can modify the print function information 203 even if it is stored in the external storage device 114 as an immutable file. Thus, the extended application 204 has the function to edit the print function information 203 (PDC). The print function extension unit 207 can add functions provided by the extended application 204. In addition, the print function extension unit 207 can also add functions that are supported by the printing device 102 but not by the print data generation software 202, and add mutual exclusion relationships between print function settings, etc.

[0035] The OS starts the print function extension unit 207 when the extension application 204 is first associated with the printer 102 and the print data generation software 202. Furthermore, the OS may start the print function extension unit 207 at any other time, such as when the OS starts up. This allows the print function extension unit 207 to detect the extension and add it to the print function information 203 in cases where optional equipment (e.g., a finisher) is later added to the printer 102, thereby extending the functions related to printing.

[0036] Furthermore, the extended application 204 has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurring in the printer 102. For example, if a no-paper error occurs in the printer 102, the print data generation software 202 detects the error. The OS then uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the notification unit 209 of the extended application 204 is called by the OS, and the UI screen of the notification unit 209 is displayed. The UI screen of the notification unit 209 can display, for example, a detailed message about the no-paper error or instructions on how to load paper. Note that "pressing" includes not only a click operation with a mouse, but also a touch or tap operation on a touch panel display.

[0037] The configuration of the extended application 204 for realizing this embodiment is not limited to having all of the functions (units) described above, but may have only some of the functions, or have other functions. Also, the extended application 204 is sometimes simply called the printing software. As described above, the extended application 204 has at least one of the following functions. These functions are: a function to display the print settings screen (print settings screen extension unit 205), a function to control whether or not to skip the processing of the print data generation software 202 (skip control unit 206), a function to edit the print data input to the printing device (print data editing unit 208), a function to extend the functions that can be specified in the print data generation software 202 (print function extension unit 207), and a function to display a screen in response to an error occurring in the printing device 102 (notification unit 209).

[0038] <Data formats handled in each part of the printing system> The print data generation software 202 acquires capability information (PC) from the printing device 102 and determines the print data format supported by the printing device 102. This enables the print data generation software 202 to generate print data that can be interpreted by the printing device 102. Note that, in the following, the term "print data format" may actually refer to the format of the drawing data included in the print data.

[0039] Figure 3 shows the data format handled by each part of the printing system in this embodiment. Figure 3(a) shows the data format handled by each part of the printing system when the extended application 204 is not associated. When a print command is received from the drawing application 201, the OS generates intermediate data, XPS data 302. As mentioned above, if the data from the drawing application 201 is GDI data, the OS converts the GDI data to generate XPS data 302. If the data from the drawing application 201 is XPS data 302, the OS passes the XPS data 302 to the print data generation software 202.

[0040] The print data generation software 202 converts the XPS data 302 into print data that can be interpreted by the printer. The print data generation software 202 determines the print data format supported by the printing device 102 from the attribute data obtained from the printing device 102 and generates print data that can be interpreted by the printing device 102 to be processed. The print data format may be PDF or PWGRaster, but is not limited to these. In this embodiment, it is assumed that PWGRaster is used as the print data format supported by the printing device 102. Therefore, the print data generation software 202 converts the XPS data 302 into PWGRaster data 303 and sends it to the printing device 102. The printing device 102 performs printing based on the received PWGRaster data 303.

[0041] Figure 3(b) shows the data format when the extended application 204 is associated and no skip processing is performed to skip the print data generation process by the print data generation software 202. When a print command is received from the drawing application 201, the OS calls the skip control unit 206 of the extended application 204. However, in Figure 3(b), the skip control unit 206 does not perform the skip processing to skip the processing of the print data generation software 202. As a result, as in the case of Figure 3(a), the XPS data 302 is passed from the OS to the print data generation software 202. The print data generation software 202 converts the XPS data 302 into PWGRaster data 303. The print data editing unit 208 receives the PWGRaster data 303 as input data. The PWGRaster data 303 is print data that the printing device 102 can interpret. Therefore, the print data editing unit 208 sends the input data, the PWGRaster data 303, to the printing device 102 without conversion. The printing device 102 performs printing based on the received PWGRaster data 303.

[0042] Figure 3(c) shows the data format handled when an extension application 204 is associated and a skip process is performed to skip the print data generation process by the print data generation software 202. When a print command is received from the drawing application 201, the OS calls the skip control unit 206 of the extension application 204. The skip control unit 206 performs a skip process that instructs the OS or the print data generation software 202 not to perform the conversion process from intermediate data to print data. When the skip control unit 206 issues a skip command to the OS, the OS instructs the print data generation software 202 not to perform the conversion process. When the print data generation software 202 receives a skip command from the skip control unit 206, the print data generation software 202 passes the intermediate data to the print data editing unit 208 of the extension application 204 without converting it to print data. Alternatively, the OS may pass the intermediate data directly to the print data editing unit 208 of the extension application 204 without going through the print data generation software 202. The print data editing unit 208 performs the necessary edits on the XPS data based on the print settings information, converts the XPS data into PWGRaster data 303, and sends it to the printer 102. The printer 102 prints based on the received data. If the print data format that the printer 102 can interpret includes XPS, the print data editing unit 208 can also send the XPS data to the printer 102 and print without converting it to another format.

[0043] <Editing of print function information by the print function expansion unit> Figure 4 shows the main processing flow of the editing process of print function information 203 by the print function extension unit 207 in this printing system.Hereafter, the print function extension unit 207 may be described as the main entity of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0044] The flow in Figure 4 begins when the OS starts the print function extension unit 207, for example, when the extended application 204 is first associated. Alternatively, the process in Figure 4 may be executed at any other arbitrary time. In S401, the print function extension unit 207 obtains print function information 203 (PDC) from the print data generation software 202 and proceeds to S402. In S402, the print function extension unit 207 determines whether the obtained PDC contains a description related to the layout function.

[0045] Figure 5 shows an example of a PDC. PDC 501 contains information about the features supported by the printer 102, and information about the settings (Options) for certain features. For example, information 502 indicates that ISO A4 and North America Letter can be set as Page Media Size (paper size). Information 503 indicates that Plain (plain paper) and Photographic (photographic paper) can be set as Page Media Type (paper type). Information 504 indicates that Portrait (portrait) and Landscape (landscape) can be set as Page Orientation (print orientation). The PDC in Figure 5 does not include information indicating that the layout function can be set.

[0046] Returning to Figure 4, the explanation continues. If the acquired PDC is determined to contain a description related to the allocation function, the print function extension unit 207 exits this processing flow without editing the PDC. If the PDC is determined in S402 not to contain a description related to the allocation function, the print function extension unit 207 proceeds to S403. In S403, the print function extension unit 207 describes the Feature and Option related to the allocation function for the acquired PDC and exits this processing flow.

[0047] Here, we will explain why the printing function expansion unit 207 adds the allocation function to the PDC in this embodiment. If the printing device 102 supports the allocation function, the PDC already contains a description of the allocation function, so there is no need to add the allocation function (determined as YES in S402). In this embodiment, as will be described later, the editing process in the print data editing unit 208 enables the allocation process to be executed in a form that suppresses degradation of image quality. Therefore, even if the printing device 102 does not support the allocation function, the allocation function can be executed by the expansion application 204. To define that the allocation function can be executed, in S402, if the printing device 102 does not support the allocation function, the process of adding the allocation function to the PDC is performed in S403.

[0048] In this embodiment, the layout function is used as an example of the extended function performed by the extended application 204, but it is not limited to this. For example, a scaling function that enlarges or reduces drawing data by an arbitrary magnification for printing, and a splitting function that divides drawing data from one page and prints it on multiple pages are also considered extended functions applicable in this embodiment. In other words, although the layout function is given as an example of a specific function in S402, it is not limited to this. A specific function is one in which the image quality of the printed material deteriorates when the function is performed with raster data compared to when the function is performed with vector data. Specifically, this refers to layout processing that involves scaling, and in addition to the layout function, there are also the scaling function and the splitting function that divides drawing data from one page, as mentioned above. In this embodiment, the layout function is given as an example of such a specific function for explanation.

[0049] Figure 6 shows an example of a PDC with added functionality as a result of editing using the flowchart in Figure 4. After editing, information 602 indicating the allocation function has been added to PDC 601 by the processing in S403. Information 602 indicates that one of the following settings is possible as JobNUpAllDocumentsContiguously(allocation setting): None (do not use the allocation function), PagesPerSheet_4(2in1), or PagesPerSheet_4(4in1).

[0050] Figure 7 shows an example of capability information (PC) generated based on the PDC in Figure 6. Similar to the PDC, the PC includes information on features available in the print data generation software 202, and information on setting values ​​(Options) for certain features. PC701 shows that the paper size (PageMediaSize), paper type (PageMediaType), and print orientation (PageOrientation) can be set based on the feature information described in PDC601. Furthermore, PC701 shows that the assignment function (JobNUpAllDocumentsContiguously) added by the extension application 204 can be set. The print settings screen extension unit 205, or an application providing its own print settings screen, can provide a print settings screen by referring to PC701. That is, it can provide a print settings screen that includes the setting of the added assignment function.

[0051] As a result, Feature and Option related to the allocation function are added to PrintCapabilities (PC), which is capability information generated based on PDC, which is print function information 203, and PrintTicket (PT), which indicates print settings.

[0052] In this way, the functions added to the print function information 203 (PDC) are reflected in the capability information (PC) and print setting information (PT), and are recognized as valid settings. Functions that do not exist in the PDC are judged as invalid settings. For example, if a function that does not exist in the PDC is included in the print setting information (PT), the setting may be canceled when the validation process of the print setting information (PT) is performed. For this reason, in this embodiment, the allocation functions that we want to handle in the print settings are added to the print function information 203 (PDC) in the flowchart of Figure 4.

[0053] <Print settings screen display processing by the print settings screen extension unit> The print settings screen extension unit 205 is called via the OS when the user instructs the display of the print settings screen on the drawing application 201. Figure 8 is a flowchart showing an example of the print settings screen display process by the print settings screen extension unit 205. Hereafter, the print settings screen extension unit 205 may be described as the main component of each process, but in reality, the corresponding functions are realized by the CPU 111 executing the corresponding program.

[0054] First, in S801, the print settings screen extension unit 205 obtains PrintTicket (PT), which is print setting information. Note that the PT obtained here is the default value. Next, in S802, the print settings screen extension unit 205 obtains PrintCapabilities (PC), which is capability information. In S803, the print settings screen extension unit 205 displays the print settings screen based on the PT obtained in S801 and the PC obtained in S802.

[0055] Figure 9 shows an example of the print settings screen displayed by the print settings screen extension unit 205. Figure 9(a) shows an example of the print settings screen when the skip setting is set to ON. The print settings screen 900 displayed by the print settings screen extension unit 205 is a screen that allows the user to specify the print functions that can be set in the print data generation software 202 based on the PC mentioned above. Control items 901 to 904 are control items for the user to set each print function. Control item 901 is a control item that allows the user to set the type of paper to be used for printing, for example, plain paper or photo paper. Control item 902 is a control item that allows the user to set the paper size to be used for printing, for example, A4 or Letter. Control item 903 is a control item that allows the user to set the orientation of the print, for example, portrait or landscape. Control item 904 is a control item that allows the user to set the layout function, for example, off or 2-in-1. This control item 904 is a control item that is displayed by the PC generated based on the PDC, which is created when the printing function expansion unit 207 adds information about the assignment function to the PDC.

[0056] Control item 905 is a control item that switches whether or not to use the extended function. Specifically, control item 905 is a control item that allows setting whether or not to skip the conversion process from intermediate data to print data by the print data generation software 202, and can be switched between ON and OFF. Control item 905 is an item that can be switched by the user, and on the initial screen, a value according to the default value of PT obtained by S901 is set. In this embodiment, the default value is when the skip setting of control item 905 is ON (i.e., when the extended function is set to be used). The print setting screen extension unit 205 stores the setting value indicating the skip setting in the shared information 210 according to the setting of control item 905. Control item 906 is the OK button, which closes the screen and reflects the setting.

[0057] Returning to Figure 8, let's continue the explanation. In S804, the print settings screen extension unit 205 obtains the skip setting from the shared information 210. The skip setting will be explained later using Figure 10, but if the processing of the print data generation software 202 is skipped, the skip setting value is stored as ON, and if it is not skipped, the skip setting value is stored as OFF. Next, in S805, the print settings screen extension unit 205 determines whether the skip setting obtained in S804 is ON or OFF. If it is determined that the skip setting is ON, the process proceeds to S807, and if it is determined that the skip setting is OFF, the process proceeds to S806. In this embodiment, the allocation function is available when the processing of the print data generation software 202 is skipped. Therefore, if it is determined in S805 that the skip setting is OFF, in S806, the print settings screen extension unit 205 disables the control item 904 that sets the allocation function and turns off the setting of the allocation function.

[0058] Figure 9(b) shows the print settings screen when the skip setting is set to OFF. When the skip setting is OFF, the print settings screen extension unit 205 in S806 disables the control item 904 that sets the assignment function. As a result, the user is unable to set the assignment function, and the assignment function setting is always OFF.

[0059] Furthermore, the control items to be disabled when the skip setting is OFF are determined as follows. The first method of determination is based on a list of control items to be disabled. The print settings screen extension unit 205 can statically maintain a list of functions that should be disabled if they are not skipped, among the functions added by the print function extension unit 207. The print settings screen extension unit 205 then determines the control items to be disabled based on that list. The second method of determination is for the print function extension unit 207 to share information with the print settings screen extension unit 205 about whether or not it has added a function. The print settings screen extension unit 205 then determines the control items to be disabled based on the information from the print function extension unit 207. In this embodiment, the print settings screen extension unit 205 determines, by either method, that the control item to be disabled is the control item 904 that sets the assignment function, and the disabling process is performed.

[0060] In this embodiment, assignment settings are only possible when the skip setting is ON, but this is not the only limitation. If the print data generation software 202 supports the assignment function, it is preferable to allow the assignment function to be set even when the skip setting is OFF. In this case, the assignment process will be performed by the print data generation software 202, not the extended application 204. Whether or not the print data generation software 202 supports the assignment function can be determined as follows. For example, when the extended application 204 first executes the flow in Figure 4, if it is determined in S402 that the PDC includes the assignment function, then it can be determined that the print data generation software 202 supports the assignment function. If the print data generation software 202 supports assignment, it is not necessary to disable the control item 904, so it may be configured so that the assignment function can be set using the print settings screen 900. After S806, the process proceeds to S807.

[0061] S807 to S813 are processes related to user actions on the print settings screen. In S807, the print settings screen extension unit 205 determines whether the user has changed the skip setting via the control item 905. If S807 determines that the skip setting has been changed, the print settings screen extension unit 205 proceeds to S808. If S807 determines that the skip setting has not been changed, the print settings screen extension unit 205 proceeds to S811.

[0062] In S808, the print settings screen extension unit 205 determines whether the skip setting has been changed to ON. If S808 determines that the skip setting has been changed to ON, the print settings screen extension unit 205 proceeds to S809 and stores the skip setting value in shared information 210 as ON. Also in S809, processing is performed to enable the disabled assignment function. After that, the process proceeds to S811. If S808 determines that the skip setting has not been changed to ON, the print settings screen extension unit 205 proceeds to S810 and stores the skip setting value in shared information 210 as OFF. After that, the process proceeds to S811.

[0063] Figure 10 shows an example of a skip setting value stored in shared information 210, which is used to determine whether or not to skip processing in the print data generation software 202. The extended application 204 operates in association with the print data generation software 202, but more specifically, it is associated with the print queue generated for each printing device. A print queue is a queue for which print data is submitted. A print queue is generated for each connected printing device. Furthermore, even with the same printing device, if it is connected in a different way, such as USB connection or network connection, a different print queue is generated for each. It is desirable for the extended application 204 to have settings for each print queue. For this reason, the skip setting (SkipSetting) is stored in association with information that identifies the print queue to which the setting was made. In this embodiment, the name of the print queue (QueueName) is used as the information that identifies the print queue, but it is not limited to this, and an ID that uniquely identifies the print queue may be used.

[0064] Information 1001 indicates that the skip control unit 206 will perform a skip operation (the skip setting is ON) when printing to the print queue named PrinterA. Information 1002 indicates that the skip control unit 206 will not perform a skip operation (the skip setting is OFF) when printing to the print queue named PrinterB. The skip setting can be changed through control item 905.

[0065] Returning to Figure 8, let's continue the explanation. In S811, the print settings screen extension unit 205 determines whether the user has changed the print settings through control items 901 to 904. If it is determined in S811 that the print settings have been changed, the print settings screen extension unit 205 proceeds to S812 and reflects the changes made by the user in the print settings information such as PT. After that, it proceeds to S813. On the other hand, if it is determined in S811 that the print settings have not been changed, the print settings screen extension unit 205 proceeds to S813.

[0066] In S813, the print settings screen extension unit 205 determines whether the OK button 906 has been pressed. If S813 determines that the OK button 906 has been pressed, the print settings screen 900 is closed, and the PT at the time of pressing is returned to the drawing application 201 or OS as the print settings specified by the user. The drawing application 201 or OS uses the returned PT to generate a print job according to those settings. If S813 determines that the OK button 906 has not been pressed, the print settings screen extension unit 205 proceeds to S804. The process from S804 to S813 is repeated until the OK button 906 is pressed.

[0067] <Skip processing by the skip control unit> Figure 11 is a flowchart showing an example of skip processing by the skip control unit 206. Hereafter, the skip control unit 206 may be described as the main component of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0068] The flow shown in Figure 11 is executed when a print command is issued from the drawing application 201. Specifically, it is executed when the OS activates the skip control unit in response to the print command being issued from the drawing application 201.

[0069] First, in S1101, the skip control unit 206 obtains the skip setting from the shared information 210. Next, in S1102, the skip control unit 206 determines whether or not the skip setting was obtained, that is, whether or not the skip setting exists. If it determines that the skip setting does not exist, the skip control unit 206 does not perform the skip process and exits this processing flow. If it determines in S1102 that the skip setting exists, the skip control unit 206 proceeds to S1103. In S1103, the skip control unit 206 determines whether or not the obtained skip setting is ON. If it determines in S1103 that the skip setting is OFF, the skip control unit 206 does not perform the skip process and exits this processing flow. If it determines in S1103 that the skip setting is ON, the skip control unit 206 proceeds to S1104. In S1104, the skip control unit 206 outputs an instruction to perform a skip process that skips the processing of the print data generation software 202. As a result, the print data generation software 202 does not perform a conversion process from intermediate data to print data, and the input data handled by the print data editing unit 208 can be used as intermediate data.

[0070] Note that in Figure 11, the default behavior when no skip setting is stored is shown as not performing the skip process, but the default behavior may also be set to perform the skip process. Through the above process, it is possible to switch whether or not to skip the processing of the print data generation software 202 based on the skip setting in the shared information 210.

[0071] <Print Data Editing Unit Processing> Figure 12 is a flowchart showing an example of print data editing processing by the print data editing unit 208. Hereafter, the print data editing unit 208 may be described as the main unit of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0072] The flow shown in Figure 12 is executed when the output data from the print data generation software 202 becomes ready for processing. First, in S1201, the print data editing unit 208 obtains the data format of the input data. Next, in S1202, the print data editing unit 208 determines whether the obtained input data format is XPS data. If it is determined in S1202 that the input data format is not XPS data, the print data editing unit 208 proceeds to S1207. If the input data is not XPS data, the skip instruction in S1104 has not been given, and the input data has been converted into print data that the printer can interpret by the print data generation software 202. Therefore, in S1207, the print data editing unit 208 sends the obtained input data, which is the print data, to the printer and exits this processing flow.

[0073] On the other hand, if S1202 determines that the input data format is XPS data, the print data editing unit 208 proceeds to S1203. In S1203, the print data editing unit 208 obtains the print setting information, which is PT. Next, in S1204, the print data editing unit 208 checks the allocation setting of the PT obtained in S1203 and determines whether the allocation setting is OFF or OFF. If S1204 determines that the allocation setting is OFF, there is no need to edit the XPS data, so the print data editing unit 208 proceeds to S1206. On the other hand, if S1204 determines that the allocation setting is ON, the print data editing unit 208 proceeds to S1205. In S1205, the print data editing unit 208 edits the input data, which is XPS data, according to the allocation setting and performs the allocation process. Then, it proceeds to S1206.

[0074] In configurations where the print data generation software 202 supports the layout function, the intermediate data will already have the layout process performed. Therefore, processing S1204 and S1205 is not necessary. Whether the print data generation software 202 supports the layout function is determined by the print data editing unit 208 sharing the result of its determination in S402 of Figure 4 that the PDC includes the layout function with the print function expansion unit 207.

[0075] Figure 13 shows an example of the layout process in S1205. In Figure 13, it is assumed that the layout setting is 2in1, which places two pages on one page. Also, the XPS data 1301, which is the input data for the print data editing unit 208, is assumed to have two page data 1302 and 1303. The print data editing unit 208 generates XPS data 1304, which has page data 1305, in which the two page data 1302 and 1303 are placed on one page, through the process in S1205.

[0076] Returning to Figure 12, let's continue the explanation. In S1206, the print data editing unit 208 converts the XPS data into print data that the printer 102 can interpret. Note that if the printer 102 can interpret the XPS data, the print data editing unit 208 does not need to perform the process in S1206. Next, in S1207, the print data editing unit 208 sends the print data to the printer and terminates this processing flow.

[0077] As described above, according to this embodiment, the extended application 204 can provide better functionality. In the printing system of this embodiment, even if the skip control unit 206 cannot access the print setting information (PT), it is possible to switch whether or not to skip the processing of the print data generation software 202. When using functions that require handling intermediate data, such as the layout function, the print data editing unit 208 can handle the intermediate data by instructing the print data generation software 202 to skip processing. As a result, editing involving scaling, such as the layout function, can be performed without causing a degradation in image quality.

[0078] Furthermore, if the user does not need to use functions that require handling intermediate data, they can turn off the skip setting, which will allow the print data generation process to be performed by the print data generation software 202, reducing the processing load on the extended application 204. Switching the skip setting also allows switching between performing print data generation using the print data generation software 202 or the extended application 204. Therefore, it can be used as a workaround if one of the conversion processes fails. Additionally, disabling the assignment setting when the skip setting is off can prevent poor print quality results.

[0079] In this embodiment, an example was shown in which the user switches the skip setting using the print settings screen 900, but the setting may also be made using a different settings screen.

[0080] Thus, according to this embodiment, the extended application 204 can process vector-format intermediate data, enabling it to handle data in a format suitable for the processing it performs. Therefore, the extended application 204 can perform specific functions, such as layout processing involving image scaling, while suppressing image degradation.

[0081] <<Second Embodiment>> In the first embodiment, an example was described in which the skip setting value is stored in the shared information 210 according to the settings made by the user using the print settings screen 900. Then, an example was described in which the skip control unit 206 switches whether or not to skip the processing of the print data generation software 202 based on the skip setting value stored in the shared information 210. Here, it can also be considered that whether or not it is necessary to skip the processing of the print data generation software 202 can be determined according to the processing performed by the print data editing unit 208 and the data format suitable for that processing.

[0082] The extended application 204 is an application that can operate in association with multiple types of printing devices 102. Therefore, the extended application 204 can operate in association with multiple types of printing devices 102 that support different print data formats. The format of the print data output by the print data generation software 202 will differ depending on the print data format supported by the associated printing device 102. For example, if the print data format supported by the printing device 102 is PWGRaster, which is raster data, the print data generation software 202 will output the print data in the PWGRaster format, which is raster data. If the print data format supported by the printing device 102 is PDF, which is vector data, the print data generation software 202 will output the print data in the PDF format.

[0083] For example, if the layout process is performed by the print data editing unit 208, the image quality degradation due to layout processing involving scaling is significant if the input data is PWGRaster. On the other hand, if the data is PDF, which is vector data, the image quality degradation due to layout processing involving scaling is small. Therefore, it can be said that whether or not it is necessary to skip processing by the print data generation software 202 depends on the data format of the print data supported by the printing device 102.

[0084] Therefore, in the second embodiment, an example is described in which the skip control unit 206 switches whether or not to perform skip processing depending on the format of the print data supported by the printing device 102 to which the extended application 204 is associated. Note that the basic hardware and software configurations are the same as those described in the first embodiment, so their description will be omitted.

[0085] <Processing flow of the printing function expansion unit> Figure 14 is a flowchart showing an example of the editing process for print function information of the print function extension unit 207 in this embodiment. Hereafter, the print function extension unit 207 may be described as the main entity for each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0086] The processes from S1401 to S1403 are the same as those from S401 to S403 in Figure 4, so their explanation is omitted. In S1404, the print function extension unit 207 obtains the print data format supported by the printer 102. One way to obtain the format supported by the printer 102 is to send a Get-Printer-Attentions operation to the printer 102 and obtain the information as a response. However, the format may be obtained by other methods.

[0087] Next, in S1405, the print function expansion unit 207 determines whether the printing device 102 supports PDF as a print data format. If it determines in S1405 that PDF is not supported, the print function expansion unit 207 proceeds to S1406. In S1406, the print function expansion unit 207 stores the skip setting value in ON for the shared information 210 and terminates this processing flow. In other words, if the printing device 102 does not support PDF, the print data generation software 202 will not output print data in PDF format. In this case, for example, the print data generation software 202 will output print data in PWGRaster format, which is raster data. Raster data may suffer from image quality degradation due to layout processing involving scaling. For this reason, if the printing device 102 does not support PDF, the print function expansion unit 207 stores the skip setting value in ON, setting the print data generation software 202 to skip processing.

[0088] On the other hand, if S1405 determines that PDF is supported, the print function extension unit 207 proceeds to S1407. In S1407, the print function extension unit 207 stores the skip setting value as OFF for the shared information 210 and terminates this flow. In other words, if the printer 102 supports PDF, the print data generation software 202 outputs the print data in the PDF format, which is vector data. Vector data does not degrade in image quality even when layout processing involving scaling is performed, compared to processing raster data. For this reason, if the printer 102 supports PDF, the print function extension unit 207 does not need to skip the processing of the print data generation software 202, and therefore stores the skip setting value as OFF.

[0089] In the first embodiment, when the printing function expansion unit 207 added an allocation function, the setting value of the skip setting stored in the shared information 210 was not stored as ON or OFF. On the other hand, in this embodiment, when the printing function expansion unit 207 adds a function according to the format supported by the printing device 102, the skip setting is also stored in the shared information 210.

[0090] <Processing flow of the print settings screen extension unit> Figure 15 is a flowchart showing an example of the print settings screen display process of the print settings screen extension unit 205 in this embodiment. Hereafter, the print settings screen extension unit 205 may be described as the main component of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0091] The processing from S1501 to S1505 is the same as from S801 to S805, so the explanation is omitted. If the result in S1505 is No, that is, if the skip setting is determined to be OFF, the process proceeds to S1506. In S1506, the print setting screen extension unit 205 obtains the print data format supported by the printer 102 to which the extension application 204 is associated. Next, in S1507, the print function extension unit 207 determines whether the printer 102 supports PDF as a print data format. In this embodiment, it is assumed that allocation processing for PDF data is possible, so if it is determined in S1507 that PDF is supported, the process proceeds to S1509 and the control item for setting the allocation is not disabled. In other words, even if the skip setting is OFF, if the printer 102 supports PDF, the control item for setting the allocation is not disabled. On the other hand, if S1507 determines that PDF is not supported, S1508 disables the control item for setting the assignment.

[0092] The processing from S1509 to S1515 is the same as from S807 to S813, so the explanation is omitted. If the print data generation software 202 supports the layout function, it may be configured to allow setting the layout function through the print settings screen 900, similar to the example described in the first embodiment. That is, even if the skip setting is OFF in S1505 and the printer 102 does not support PDF in S1507, the processing in S1508 does not need to be performed.

[0093] <Processing flow of the print data editing unit> Figure 16 is a flowchart showing an example of the editing process of print function information by the print data editing unit 208 in the second embodiment. Hereafter, the print data editing unit 208 may be described as the main entity for each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0094] The processing from S1601 to S1607 is the same as from S1201 to S1207, so the explanation is omitted. If it is determined to be No in S1602, that is, if the input data format is not XPS data, the print data editing unit 208 proceeds to S1608. In S1608, the print data editing unit 208 determines whether the input data format is PDF or not. If it is determined in S1608 that the input data format is PDF, the print data editing unit 208 proceeds to S1609. In S1609, the print data editing unit 208 obtains PrintTicket (PT), which is print setting information. Next, in S1610, the print data editing unit 208 checks the allocation setting of the PrintTicket obtained in S1609 and determines whether the allocation setting is OFF or not. If it is determined in S1610 that the allocation setting is OFF, there is no need to edit the PDF data, so the print data editing unit 208 proceeds to S1611.

[0095] If the assignment setting is determined to be ON in S1610, the print data editing unit 208 proceeds to S1607. In S1610, the print data editing unit 208 edits the input data, which is the PDF data, according to the assignment setting. After that, it proceeds to the print data transmission process in S1607. In this example, the PDF data is the print data format supported by the printing device 102. Therefore, a conversion process to print data like in S1606 (S1206) is unnecessary.

[0096] If the input data format is determined to be not PDF in S1608, the print data editing unit 208 proceeds to S1607, sends the input data as print data to the printing device 102, and terminates the process. In configurations where the print data generation software 202 supports the allocation function, the intermediate data has already undergone the allocation process, as described in the first embodiment. Therefore, if the print data generation software 202 supports the allocation function, it is not necessary to perform the processes in S1604, S1605, S1610, and S1611.

[0097] As described above, in the printing system of this embodiment, the system switches whether or not to skip processing by the print data generation software 202 based on the print data format supported by the printing device. This makes it possible to control the input data of the print data editing unit 208 so that it is suitable for processing. In this embodiment as well, it is possible to change the skip setting through the print settings screen 900, but it may also be possible to prevent the user from changing the skip setting. This is because in this embodiment, it is possible to determine whether or not it is necessary to skip processing by the print data generation software 202 depending on the print data format supported by the printing device 102.

[0098] <<Third Embodiment>> As mentioned above, whether or not it is necessary to skip the processing of the print data generation software 202 can be determined depending on the processing performed by the print data editing unit 208 and the data format suitable for that processing. In the second embodiment, focusing on the data format, an example was described in which the extended application 204 switches whether or not to skip the processing of the print data generation software 202 depending on the print data format supported by the associated printing device 102.

[0099] In this embodiment, we focus on the processing performed by the print data editing unit 208. For example, if the print data editing unit 208 does not perform layout processing involving scaling, such as a layout function, then it is not necessary to skip the processing in the print data generation software 202.

[0100] For example, the allocation function can also be performed by the printing device 102. In that case, the print data generation software 202 adds the allocation function to the print function information 203 (PDC) based on the capability information (PC) obtained from the printing device 102. Then, the print data generation software 202 or the extended application 204 notifies the printing device 102 that the allocation settings are included in the PT, and the printing device 102 performs the allocation process. Alternatively, if the print data generation software 202 supports the allocation function, the output data of the print data generation software 202 will reflect the allocation settings. In these cases, the extended application 204 does not need to add the allocation function to the print function information 203, nor does it need to skip the processing of the print data generation software 202.

[0101] Therefore, in this embodiment, we will describe an example in which the extended application 204 stores skip settings depending on whether or not it adds a function that requires editing vector data.

[0102] <Processing flow of the printing function expansion unit> Figure 17 is a flowchart showing an example of the print settings screen display process of the print function extension unit 207 in the third embodiment. Hereafter, the print function extension unit 207 may be described as the main entity of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. The process in Figure 17 starts when the OS starts the print function extension unit 207, for example, when the extension application 204 is first associated with it. It may also be executed when the configuration of the printing device 102 changes.

[0103] The processing from S1701 to S1702 is the same as S401 to S402 in Figure 4, so the explanation is omitted. If it is determined in S1702 that the PDC does not include an allocation function, the printing function extension unit 207 proceeds to S1703. In S1703, the printing function extension unit 207 stores the skip setting value as ON in the shared information 210. Following the processing in S1703, in S1704, the printing function extension unit 207 describes the Feature and Option related to the allocation function for the PDC and exits this processing flow. In other words, if the PDC does not include an allocation function, the allocation function is handled by the print data editing unit 208, as explained in the first embodiment, etc. For this reason, the skip setting value is set to ON to skip the processing of the print data generation software 202.

[0104] On the other hand, if it is determined in S1702 that the PDC includes an allocation function, the print function expansion unit 207 proceeds to S1705. In S1705, the print function expansion unit 207 stores the skip setting value as OFF in the shared information 210 and exits this processing flow. In other words, if the PDC includes an allocation function, the allocation process is performed by the printing device 102, so the print data editing unit 208 does not need to perform the allocation process. Therefore, there is no need to skip the processing of the print data generation software 202. Thus, the skip setting value is set to OFF.

[0105] As described above, in the printing system of this embodiment, the system switches whether or not to skip the processing of the print data generation software 202 depending on the functions added by the extended application. This makes it possible to control the input data of the print data editing unit 208 so that it is in an appropriate format according to the processing performed by the print data editing unit 208. In addition, it may be determined in S1702 whether or not the print data generation software 202 supports the allocation function. If the print data generation software 202 supports the allocation function, the system may be configured so that the allocation function can be set through the print settings screen 900 even if the PDC does not include the allocation function and the skip setting is OFF.

[0106] In the second and third embodiments, the skip setting was switched depending on the print data format supported by the printing device 102 and the additional functions provided by the extended application 204, but it may also be switched based on other factors. For example, if there are multiple print data generation software 202 associated with the extended application 204, the supported functions and the format of the output print data may differ depending on the type of software. In such cases, the extended application 204 may switch the skip setting depending on the type of print data generation software 202 associated with it. Possible types of print data generation software 202 include those for local printing, which prints to a printing device connected to a host computer, and those for cloud printing, which send print jobs to the cloud and the printing device retrieves the jobs from the cloud and performs printing. In cloud printing, it is possible to add extensions that process print data, such as allocation functions, on the cloud side. Since functions processed on the cloud side do not need to be processed by the extended application 204, it is possible to turn off the skip setting when associated with print data generation software 202 for cloud printing.

[0107] This embodiment has been described primarily in terms of its differences from the first embodiment, but it may also be used in combination with the second embodiment. In other words, the processes S1402 and S1403 in Figure 14 of the second embodiment may be replaced with S1702 to S1704 of this embodiment.

[0108] <<Fourth Embodiment>> In the first embodiment, an example was described in which the print settings screen extension unit 205 is configured to prevent users from setting functions they cannot use by disabling the assignment settings control items when the skip setting is OFF. However, depending on the type of drawing application 201, some applications do not launch the print settings screen extension unit 205 of the extension application 204, but instead refer to the PC to provide their own print settings screen. In such drawing applications 201, print settings are made without using the print settings screen provided by the print settings screen extension unit 205, so the assignment function can be set even when the skip setting is OFF. In other words, since the assignment function is enabled in the PDC, the assignment function can be set by referring to the PC based on the PDC. Therefore, in order to prevent unavailable items from being included in the PC, when the skip setting is OFF, it is necessary to remove the description related to the assignment function from the print function information 203 (PDC).

[0109] Therefore, in this embodiment, we will describe an example in which the printing function expansion unit 207 performs not only the process of adding functions to the PDC according to the skip setting, but also the process of deleting functions.

[0110] <Processing flow of the printing function expansion unit> Figure 18 is a flowchart showing an example of the editing process for print function information of the print function extension unit 207 in the fourth embodiment. Hereafter, the print function extension unit 207 may be described as the main entity of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. The process in Figure 18 may be performed at the same timing as in Figure 4, or at other times. That is, the process in Figure 18 may be performed when the print function extension unit 207 is started, such as when the extension application 204 is first associated with it. It may also be performed when the configuration of the printing device 102 changes, when there is an instruction to acquire print settings or a print instruction, or at any time instructed by the user.

[0111] First, in S1801, the print function extension unit 207 obtains the PDC. Next, in S1802, the print function extension unit 207 obtains the skip setting. If the skip setting is not stored in the shared information 210, such as during the initial startup, the default ON or OFF setting value will be obtained instead.

[0112] Next, in S1803, the print function extension unit 207 determines whether the skip setting is ON or OFF. If it is determined in S1803 that the skip setting is ON, the print function extension unit 207 proceeds to S1804. In S1804, the print function extension unit 207 determines whether the acquired PDC includes an allocation function. If it is determined in S1804 that the PDC includes an allocation function, the print function extension unit 207 exits this processing flow without editing the PDC. If it is determined in S1804 that the PDC does not include an allocation function, the process proceeds to S1805, where the Features and Options related to the allocation function are described for the acquired PDC, and the process is exited.

[0113] On the other hand, if it is determined in S1803 that the skip setting is OFF, the print function extension unit 207 proceeds to S1806. In S1806, the print function extension unit 207 determines whether the acquired PDC includes the allocation function. If it is determined in S1806 that the PDC includes the allocation function, the process proceeds to S1807, where the descriptions of the Feature and Option related to the allocation function are removed from the acquired PDC, and the process flow is exited. This is because if the skip setting is OFF and the PDC includes the allocation function, the drawing application 201, which provides its own print setting screen by referring to the PC without starting the print setting screen extension unit 205, will perform the allocation settings. To avoid this, in S1807, the descriptions related to the allocation function are removed from the PDC.

[0114] Note that this processing flow shows an example where the allocation function is uniformly deleted from the PDC when the skip setting is OFF. However, if the allocation function is already included in the print data generation software 202, it is not necessary to delete the description of the allocation function. Therefore, the deletion target in S1807 may be limited to the allocation function added by the extended application 204. If it is determined in S1806 that the PDC does not contain the allocation function, the print function extension unit 207 exits this processing flow without editing the PDC.

[0115] As explained above, in this embodiment, if the extended application 204 does not skip the processing of the print data generation software 202, it removes the function that relies on skipping from the PDC. As a result, the corresponding function is no longer listed on the PC, which prevents the setting of an unusable function in an application that provides its own print settings screen based on the PC. If the skip setting is turned ON, the corresponding function becomes available again.

[0116] In this embodiment, the differences from the first embodiment have been described in detail, but it may also be used in combination with the second or third embodiment.

[0117] <<Fifth Embodiment>> In the first embodiment, an example was described in which the extended application 204 performs skip settings through the print settings screen 900 displayed by the print settings screen extension unit 205. The print settings screen 900 is launched to perform print settings when the drawing application 201 issues a print command. On the other hand, the skip settings are stored in the shared information 210, and the skip processing in S1104 is performed according to the skip settings stored in the shared information 210 when the skip control unit 206 performs processing. For this reason, it is not possible to manage skip settings on a job-by-job basis. For example, consider a case where printing is performed from both drawing application A and drawing application B. In this case, the skip settings made on the print settings screen 900 called by drawing application A may also affect the processing of the print job generated by the print command from drawing application B.

[0118] Therefore, in this embodiment, we will explain an example in which the caller of the print settings screen extension unit 205 switches whether or not to perform the skip setting.

[0119] <Processing flow of the print settings screen extension unit> Figure 19 is a flowchart showing an example of the print settings screen display process of the print settings screen extension unit 205 in this embodiment. Hereafter, the print settings screen extension unit 205 may be described as the main component of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0120] Lines S1901 to S1903 are the same as S801 to S803, so their explanation is omitted. In S1904, the print settings screen extension unit 205 checks whether the print settings screen was called to change the default settings. For example, in the Windows® OS, there is a Settings application for managing OS settings. Device management, including printers, can also be performed from the Settings application. When the print settings screen of the print data generation software 202 associated with a specific printing device 102 is launched from the Settings application and the print settings are changed, these are saved as the default print settings for the specified printing device 102. The default print settings are used as the initial settings when the print settings screen is opened from the drawing application 201. The default print settings are also the print settings used when printing is performed without opening the print settings screen from the drawing application 201. In other words, the default settings can be considered to be the print settings that you want to be reflected in all prints.

[0121] In this embodiment, the determination in S1904 is determined to be Yes if the print settings screen is launched from the Settings application. If S1904 determines that the default settings have been changed, the print settings screen extension unit 205 proceeds to S1906 to allow the change of the skip settings. On the other hand, if S1904 determines that the default settings have not been changed, the print settings screen extension unit 205 proceeds to S1905. In S1905, the print settings screen extension unit 205 disables the control item 905 that performs the skip settings and proceeds to S1906. Since the processing from S1906 to S1915 is the same as the processing from S804 to S813, the explanation is omitted.

[0122] As described above, in this embodiment, the skip setting can only be changed on the print settings screen where the default print settings are modified. This makes it easier for the user to understand the scope of the impact of the setting change.

[0123] In this embodiment, the skip settings can be changed through the print settings screen 900, but the extended application 204 may also change the settings by providing a different settings screen from the print settings screen 900.

[0124] Furthermore, although this embodiment has mainly described the differences from the first embodiment, it may also be a combination of the second to fourth embodiments.

[0125] <<Sixth Embodiment>> As described in the fifth embodiment, changes to the skip settings made on the print settings screen launched from the drawing application 201 also affect the processing of print jobs from other drawing applications 201. Therefore, in this embodiment, an example is described in which the ability to change the skip settings from the print settings screen is switched depending on whether or not there are print jobs being processed in the print data generation software 202 or the extended application 204.

[0126] <Processing flow of the print settings screen extension unit> Figure 20 is a flowchart showing an example of the editing process for print function information in the print settings screen extension unit 205 in this embodiment. Hereafter, the print settings screen extension unit 205 may be described as the main component of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.

[0127] Steps S2001 to S2003 are the same as steps S801 to S803, so their explanation is omitted. In step S2004, the print settings screen extension unit 205 determines whether the extension application 204 is processing a job. That is, it determines whether there is a job currently being processed. If step S2004 determines that there is a job currently being processed, the print settings screen extension unit 205 proceeds to step S2006; if it determines that there is no job currently being processed, it proceeds to step S2005.

[0128] In S2005, the print settings screen extension unit 205 determines whether or not there are any print jobs waiting to be processed by the print data generation software 202 and the extension application 204. If S2005 determines that there are jobs waiting to be processed, the print settings screen extension unit 205 proceeds to S2006; if it determines that there are no jobs waiting to be processed, it proceeds to S2007.

[0129] In S2006, the print settings screen extension unit 205 disables the control item 905 that performs the skip setting and proceeds to S2007. That is, if there are jobs currently being processed or jobs waiting to be processed, changing the skip setting may affect other jobs. For this reason, if there are such jobs, the control item 905 that performs the skip setting is disabled. If both S2004 and S2005 are determined to be No, the S2006 process is not performed, and the control item 905 that performs the skip setting is not disabled. Processes S2007 to S2016 are the same as those in S804 to S813, so the explanation is omitted.

[0130] As described above, in this embodiment, the ability to change the skip setting is switched depending on whether there are any print jobs that have already been issued but have not yet been processed. This makes it possible to suppress the impact of changes to the skip setting on already issued print jobs.

[0131] This embodiment has been described primarily in terms of its differences from the first embodiment, but it may also be used in combination with any of the second to fifth embodiments.

[0132] <<Other Embodiments>> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of symbols]

[0133] 102 Printing device 204 Extended Applications 206 Skip Control Unit 207 Printing Function Expansion Unit 208 Print Data Editing Unit

Claims

1. A program for an extension application that extends the functionality of print data generation software that can run on an information processing device, in association with the software. The computer of the aforementioned information processing device A function extension means for adding information on extended functions to the print function information used in the aforementioned print data generation software, A skip control means that switches whether or not to perform a skip process to skip the intermediate data conversion process performed by the print data generation software, according to a setting value stored in the shared information shared by the extended application, Editing means for editing the intermediate data whose conversion process was skipped in the print data generation software in accordance with the control by the skip control means, and for converting the edited intermediate data into print data, A program designed to function as such.

2. The program according to claim 1, wherein the function extension means adds information about the extension if the print function information does not include the extension.

3. The aforementioned computer, The program according to claim 1 or 2, further characterized in that it functions as a setting means for setting a setting value stored in the shared information.

4. The program according to claim 3, wherein the setting means sets a setting value indicating that the skip process will be performed if the format of the print data supported by the printing device associated with the print data generation software and the extended application is not a format corresponding to the extended function.

5. The program according to claim 3 or 4, wherein the setting means sets a setting value indicating that the skipping process will be performed when the extended function added by the extended function means is a layout processing function that involves enlarging or reducing an image.

6. The program according to any one of claims 3 to 5, wherein if a setting value indicating that the skip process should not be performed is stored in the shared information by the setting means, the function extension means deletes the information of the extension from the print function information.

7. The aforementioned computer, The aforementioned extended application is further configured to function as a display control means for displaying the print settings screen, The program according to any one of claims 1 to 6, characterized in that the display control means displays a control item on the print settings screen that allows the switching of the setting value to be specified.

8. The display control means is The control items of the extension are displayed on the print settings screen. The program according to claim 7, characterized in that if the setting value indicates that skip processing should not be performed, the control item of the extended function is disabled.

9. The program according to claim 7 or 8, wherein the display control means disables the control item that specifies the switching of the setting value if the application that called the print settings screen is not an application that changes the default setting.

10. The program according to any one of claims 7 to 9, characterized in that the display control means disables the control item that specifies the switching of the setting value when there is a job in the print data generation software or the extended application that has not been processed.

11. The program according to any one of claims 1 to 10, characterized in that the extended function is a layout processing function that involves enlarging or reducing an image.

12. The program according to claim 11, characterized in that the extended function is an allocation function.

13. The program according to any one of claims 1 to 12, characterized in that the intermediate data edited by the editing means is in vector format, and the print data converted by the editing means is in raster format.

14. The program according to any one of claims 1 to 13, characterized in that the print data generation software or the extended application displays a print settings screen based on capability information based on the print function information, and the print settings information set through the print settings screen is included in the intermediate data.

15. The program according to any one of claims 1 to 14, characterized in that the print data generation software is a standard driver that is included as standard in the operating system on which the information processing device is running.

16. The program according to any one of claims 1 to 15, characterized in that the setting values ​​corresponding to the print queue of the printing device are each stored in the shared information.

17. The information processing device executes an extension application that extends the functionality of print data generation software that can be operated on the information processing device, A function extension means for adding information on extended functions to the print function information used in the aforementioned print data generation software, A skip control means that switches whether or not to perform a skip process to skip the intermediate data conversion process performed by the print data generation software, according to a setting value stored in the shared information shared by the extended application, Editing means for editing the intermediate data whose conversion process was skipped in the print data generation software in accordance with the control by the skip control means, and for converting the edited intermediate data into print data, An information processing device characterized by comprising:

18. A control method for an information processing device that executes an extension application associated with print data generation software that can be operated on the information processing device, thereby extending its functionality, A function extension step, which adds information about extended functions to the print function information used in the aforementioned print data generation software, A skip control step that switches whether or not to perform a skip process to skip the intermediate data conversion process performed by the print data generation software, according to a setting value stored in the shared information shared by the extended application, An editing step in which the print data generation software edits the intermediate data whose conversion process was skipped in accordance with the control in the skip control step, and converts the edited intermediate data into print data, A control method for an information processing device, characterized by having the following features.

Citation Information

Patent Citations

  • program

    JP2019074906A