Application program, storage medium, control method for information processing device, and information processing device
The application program provides enhanced printing capabilities by supporting operating systems with functions like print data scaling and extension applications, addressing limitations of standard drivers to offer improved user control and functionality.
Patent Information
- Application Number
- JP2021141472
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-31
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2041-08-31
AI Technical Summary
Existing software applications lack the capability to provide enhanced printing functionalities beyond the standard capabilities offered by standard class drivers, limiting user customization and functionality.
An application program that supports an operating system, enabling functions like print data scaling, skip processing of standard drivers, and extension of print capabilities through an extension application, which includes units for print setting screen display, skip control, print data editing, and function extension.
Enhances user control over printing functions, allowing for better customization and functionality, including layout and scaling options, while maintaining print quality and efficiency.
Smart Images

Figure 0007814867000001 
Figure 0007814867000002 
Figure 0007814867000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a technique for expanding printing functions. [Background technology]
[0002] In recent years, Windows (registered trademark) and other operating systems have provided standard class drivers (hereinafter referred to as "standard drivers") that can be used commonly with printing devices provided by multiple vendors. Such standard drivers are included in the operating system (hereinafter referred to as "OS") package. The standard driver is configured to allow printing functions to be specified according to PrintCapabilities generated based on information obtained from the connected printing device. This allows users using the standard driver to specify printing functions according to the capabilities of the connected printing device.
[0003] A standard driver can be associated with an application for function extension (hereinafter also referred to as an "extension application"). The extension application is provided by the vendor that provides the printing device. By providing the extension application, the vendor can provide functions (extension functions) that cannot be achieved with the standard driver alone. Patent Document 1 discloses a technology for extending functions such as a stamp function using an extension application. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-74906 Summary of the Invention [Problem to be solved by the invention]
[0005] affection Information processing device provided by the operating system providerFurther innovation is required for applications that support software programs to provide better functionality. [Means for solving the problem]
[0006] An application program according to an aspect of the present disclosure is an application program that supports a software program provided by a provider of an operating system of an information processing device, and is configured to execute a program that is executed by the application program on a computer of the information processing device. De a display step of displaying a print setting screen on which a user can set a predetermined function for scaling data; a first accepting step of accepting a first setting for causing the software program to convert data output from a drawing application into print data; a second accepting step of accepting a second setting for causing the software program not to convert data output from the drawing application into print data; a conversion step of causing the application program to convert data output from the drawing application into print data without causing the software program to convert the data output from the drawing application into print data based on the acceptance of the second setting; and a control step of controlling the application program based on the acceptance of the first setting so that the user cannot set the predetermined function for scaling data on the print setting screen. [Effects of the Invention]
[0007] According to the present disclosure, affection Information processing device provided by the operating system provider Applications that support software programs can provide better functionality. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 2 is a block diagram illustrating a hardware configuration of the printing system. [Figure 2] FIG. 1 is a diagram schematically illustrating a configuration of a printing system. [Figure 3] FIG. 2 is a diagram showing the format of data handled by each part of the printing system. [Figure 4] 10 is a flowchart illustrating an example of a process for editing print function information. [Figure 5] FIG. 1 illustrates an example of a PDC. [Figure 6] FIG. 10 is a diagram illustrating an example of a PDC with added functions. [Figure 7] FIG. 10 is a diagram illustrating an example of capability information. [Figure 8] 10 is a flowchart illustrating an example of a print setting screen display process. [Figure 9] FIG. 10 illustrates an example of a print setting screen. [Figure 10] FIG. 10 is a diagram illustrating an example of skip setting. [Figure 11] 10 is a flowchart illustrating an example of a skip process. [Figure 12] 10 is a flowchart illustrating an example of a print data editing process. [Figure 13] FIG. 10 illustrates an example of allocation processing. [Figure 14] 10 is a flowchart illustrating an example of a process for editing print function information. [Figure 15] 10 is a flowchart illustrating an example of a print setting screen display process. [Figure 16] 10 is a flowchart illustrating an example of a process for editing print function information. [Figure 17] 10 is a flowchart illustrating an example of a print setting screen display process. [Figure 18] 10 is a flowchart illustrating an example of a process for editing print function information. [Figure 19] 10 is a flowchart illustrating an example of a print setting screen display process. [Figure 20] 10 is a flowchart illustrating an example of a process for editing print function information. DETAILED DESCRIPTION OF THE INVENTION
[0009] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present disclosure, and not all combinations of features described in the present embodiments are necessarily essential to the solutions of the present disclosure. Note that identical components are given the same reference numerals and will not be described again.
[0010] <<First Embodiment>> <Printing system hardware configuration> FIG. 1 is a block diagram showing the hardware configuration of a printing system according to this embodiment. The printing system includes a host computer 101, and 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 includes 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 between the host computer and external devices via a network. In the example of FIG. 1, the display unit 119, the pointing device 117, and the keyboard 118 are shown as examples of devices separate from the host computer 101, but these may also be included in the host computer 101. The display unit 119 may also be a touch panel display with input / output device functionality.
[0011] An initialization program is stored in ROM 112. An external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In the following description, the OS refers to the OS of the host computer 101 stored in ROM 112 unless otherwise specified. In the following, application programs will be abbreviated as applications. RAM 113 is used as a work memory when executing the various programs stored in the external storage device 114, thereby enabling the various programs to run within the host computer 101.
[0012] In this embodiment, the CPU 111 executes the processes according to the procedures of the programs stored in the ROM 112, thereby executing the functions and processes of the host computer 101, which will be described later.
[0013] The printing device 102, which is an output device, is connected to the host computer 101 via an input / output interface 116. In the example of FIG. 1, the host computer 101 and the printing device 102 are separate, but they may also be configured as a single information processing device. Note that the printing device will be described as an inkjet printer that prints by ejecting ink onto paper, but printing may also be performed using other methods (e.g., electrophotography). The host computer 101 may be a desktop personal computer, a smartphone, a tablet terminal, or a laptop computer. The input / output interface 116 may be wired or wireless. The host computer 101 and the printing device 102 may also be connected via a LAN or a WAN such as the Internet.
[0014] <Software-based printing system configuration> FIG. 2 is a diagram schematically illustrating the configuration of a printing system. Here, the description is based on the premise that the printing system uses a host computer 101 with Microsoft® Windows® 10 installed as its OS. FIG. 2(a) is a diagram illustrating a typical configuration in which an extended application 204 is not associated with print data generation software 202 and the printing device 102. In other words, it is a diagram illustrating the configuration of a printing system in which the extended application 204 is not used. Meanwhile, FIG. 2(b) is a diagram illustrating the configuration of a printing system according to 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 printing system with a general configuration will be described using Figure 2(a). A printing system with a general 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 be 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 the drawing application 201 include various applications operated by the user, such as a word processing application, a spreadsheet application, and a presentation data creation application. When the drawing application 201 receives a print request through a user operation, it issues a print instruction to the OS. The print instruction includes print setting information for instructing 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 setting screen to accept print setting operations from the user and set print setting information (PT). The print setting screen is a screen provided by any of the print data generation software 202, the OS, and the drawing application 201. The print setting screen includes setting items (hereinafter also referred to as "control items") that indicate configurable print functions and control items that indicate their setting values. The print setting screen displays the control items according to capability information (information that can be set as print settings) acquired from the print data generation software 202. The 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 capability information 203 is data indicating all configurable print functions, their setting values, and the mutual exclusion relationships between the setting values. The print capability information 203 is also called PDC (Print Device Capabilities). The print capability information 203 is included in a configuration file of the print data generation software 202 and stored in the external storage device 114 as an unmodifiable file. Alternatively, the print capability 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 acquire printing device attribute data from the printing device 102 and generate the print capability information 203 based on the attribute information in the acquired attribute data. When the print capability information 203 is dynamically generated, the generated print capability information 203 can be edited. The printing device attribute data acquired from the printing device 102 is the response data acquired by issuing an IPP Get-Printer-Attributes operation to the printing device. IPP stands for Internet Print Protocol. The response includes attribute information indicating functions (printing device capabilities) that can be specified by the printing device 102, and setting values related to the attribute information. The response data is saved in RAM 113.
[0019] This configuration allows the print data generation software 202 to be configured so that the user can specify print functions available on each connected printing device 102, depending on the 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 print functions available on the connected printing device. Here, a configuration using the IPP Class Driver included in Windows® 10 will be described as the print data generation software 202. The IPP Class Driver is a printer driver that executes printing processing in accordance with 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 specific printer driver provided by the vendor of the printing device 102 for each model of the printing device 102. The IPP Class Driver is a standard class driver provided by the OS vendor that can be used commonly for multiple printing devices. The IPP Class Driver also acquires attribute information of the connected printing device 102 and generates print function information 203 based on that information so that the user can specify the print functions supported by the connected printing device 102. In this way, the IPP Class Driver, which is print data generation software 202, can dynamically generate print function information 203 (PDC).
[0020] The print setting information (PT) specified through the print setting screen displayed on the PC based on such print function information 203 (PDC) is included in the print instruction output from the drawing application 201. Note that the print instruction output from the drawing application 201 includes the data to be drawn in addition to the print setting information (PT).
[0021] The OS generates intermediate data (also called input data) based on the print instruction 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 data in Graphic Device Interface format (GDI format data) or XML Paper Specification format (XPS format data). When an IPP Class Driver is used as the print data generation software 202, if the data output by the drawing application 201 is data in GDI format, the OS converts the data format. That is, the OS converts the GDI format data output from the drawing application 201 into data in XPS format. The converted XPS format data is then passed to the print data generation software 202 as intermediate data. On the other hand, if the data output by the drawing application 201 is data 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 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 sends it to the printing device 102. The print data includes drawing data, which is information about the image to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on print setting information set by the user. The print setting attribute information includes attribute information that indicates functions that can be specified by the printing device 102 (capabilities of the printing device) and setting values related to that attribute information.
[0023] The printing device 102 prints on 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 included in the print data on paper in accordance with the print setting attribute information included in the print data. The print setting attribute information includes attribute information and its setting values for specifying print quality (priority on image quality or priority on speed, etc.) and double-sided printing, etc. For example, if the print setting attribute information includes attribute information specifying double-sided printing, the printing device 102 executes double-sided printing.
[0024] 2(b) is a diagram showing the configuration of this embodiment when the extension application 204 is associated with the print data generation software 202 and the printing device 102. Note that configurations and processes not specifically mentioned below are equivalent to the configurations and processes in FIG. 2(a). Note that in the following explanation, processes described as being executed by each piece of software provided in the host computer 101 are actually realized as follows. That is, they are realized by the CPU 111 loading each piece of software stored in the ROM 112, etc., into the RAM 113 and executing it.
[0025] The extension application 204 is software for extending the functions 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, a 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 when the printing device 102 is connected to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS acquires device identification information from the printing device 102. The OS may download the extension application 204 corresponding to the acquired 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 held in the host computer 101 as separate files.
[0026] The print data generation software 202 and the extension application 204 may be updated and upgraded, but these update processes are also performed at different times. Furthermore, the timing at which the host computer 101 acquires the print data generation software 202 is different from the timing at which the extension application 204 is acquired. Furthermore, the trigger at which the host computer 101 acquires the print data generation software 202 is different from the trigger at which the extension application 204 is acquired. When the extension application 204 is installed, the OS associates the extension application 204 with the print data generation software 202 and the corresponding printing device 102.
[0027] The extension application 204 described in this embodiment includes a print setting 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 extension application 204 also includes shared information 210 that can be commonly accessed by each unit. The extension application 204 is provided by the vendor that provides the printing device 102. The shared information 210 is actually a file saved in the external storage device 114 or information stored in the RAM 113. The extension application 204 writes and reads information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS.
[0028] The extension application 204 may terminate operation each time the processing of each unit is completed. In this case, the OS will launch the extension application 204 each time a request to use each unit is received. Another possible configuration is also possible. For example, the OS may terminate the operation of the extension application 204 when the processing of the print setting screen extension unit 205 is completed, but the OS may keep the extension application 204 running even after the processing of the skip control unit 206 is completed.
[0029] Furthermore, the extended application 204 may cancel processing during the processing of each unit. When the extended application 204 cancels processing, the job being processed in the print queue is deleted by the OS. The print queue is a spooler provided in the OS that stores generated jobs. A job is generated based on a print instruction output from the extended application 204 and stored in the print queue. The intermediate data generated based on a print instruction output from the extended application 204 becomes data associated with the job stored at that time. When the intermediate data associated with the job is being processed, the status of the job also becomes "in processing." The job is deleted from the print queue by the OS when print data converted from the intermediate data associated with the job (in other words, the print data associated with the job) is sent to the printing device 102.
[0030] When the drawing application 201 receives a print request from a user, it issues a print instruction to the OS. The print instruction includes print setting information (PT), as in the configuration of FIG. 2(a). In the configuration of FIG. 2(b), as in the configuration of FIG. 2(a), the drawing application 201 can display a print setting screen for specifying the print setting information (PT). In the configuration of FIG. 2(b), a print setting screen provided by the extension application 204 is displayed. Specifically, a print setting screen provided by the print setting screen extension unit 205 included in the extension application 204 is displayed. In other words, the print setting screen display control is performed by the print setting screen extension unit 205. Whether or not the print setting screen provided by the print setting screen extension unit 205 is displayed depends on the user's operation.
[0031] When the drawing application 201 receives a print request from a user and issues a print instruction 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 skip processing, which skips the processing of the print data generation software 202. The skip control unit 206 cannot acquire intermediate data or print setting information. After the skip control processing of the skip control unit 206, the OS generates intermediate data based on the print instruction output from the drawing application 201 and passes the intermediate data to the print data generation software 202. Here, if the skip processing is not performed by the skip control unit 206, 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 skip processing of the print data generation software 202 is performed, the intermediate data is passed to the print data editing unit 208 without being processed by the print data generation software 202. This makes it possible for the print data editing unit 208 to process the intermediate data.
[0032] An example of when it is preferable to skip the processing of print data generation software 202 is when it is desired to perform scaling processing in print data editing unit 208. Intermediate data can be held in vector format. Vector format data is less susceptible to degradation when scaled compared to raster format data. Therefore, in a configuration in which print data generation software 202 outputs images in raster format, it is generally preferable to skip the processing of print data generation software 202 and have print data editing unit 208 process the intermediate data.
[0033] The print data editing unit 208 edits the intermediate data passed from the print data generation software 202 or the print data processed by the print data generation software 202. Taking layout printing as an example of the editing content, the print data editing unit 208 changes the layout of the intermediate data or print data based on the print setting information for layout printing received from the OS. Layout printing involves, for example, laying out and printing N pages of data onto one page, and is referred to as N-in-1 or N-up (N indicates the number of pages). Furthermore, the print data editing unit 208 can 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 results 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 paper based on the received print data. If the print data generation software 202 is skipped by the skip control unit 206, the print data editing unit 208 may convert the received intermediate data into print data that can be interpreted by the printing device 102.
[0034] The extension application 204 also has 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 change the print function information 203 even if the print function information 203 is stored in the external storage device 114 as an unchangeable file. In this way, the extension application 204 has the ability to edit the print function information 203 (PDC). The print function extension unit 207 can add functions provided by the extension application 204. 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, add exclusive relationships between setting values of print functions, and so on.
[0035] The OS starts the print function extension unit 207 when the extension application 204 is first associated with the printing device 102 and the print data generation software 202. Furthermore, the OS may start the print function extension unit 207 at any other timing, 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 an optional device (e.g., a finisher) is added to the printing device 102 later and printing-related functions are extended.
[0036] The extension application 204 also has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurring in the printing device 102. For example, when an out-of-paper error occurs in the printing device 102, the print data generation software 202 detects the error. The OS then uses a notification function called a toast notification, which is an OS function, to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 209 of the extension application 204, 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 out-of-paper error or instructions on how to refill paper. Note that pressing includes not only a click operation with a mouse or the like, but also a touch or tap operation on a touch panel display.
[0037] The configuration of the extension application 204 for realizing this embodiment is not limited to having all of the above-mentioned functions (units), but may have only some of the functions or other functions. The extension application 204 may also be simply called print software. As described above, the extension application 204 has at least one of the following functions: a function for displaying a print setting screen (print setting screen extension unit 205), a function for controlling whether or not to skip processing by the print data generation software 202 (skip control unit 206), a function for editing print data input to the printing device (print data editing unit 208), and a function for extending functions that can be specified by the print data generation software 202 (print function extension unit 207). Another function is a function for displaying a screen in response to an error occurring in the printing device 102 (notification unit 209).
[0038] <Data format handled by 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 the term "print data format" hereinafter may actually refer to the format of the drawing data included in the print data.
[0039] Fig. 3 is a diagram showing the data format handled by each part of the printing system of this embodiment. Fig. 3(a) is a diagram showing the data format handled by each part of the printing system when the extension application 204 is not associated. When a print instruction is received from the drawing application 201, the OS generates XPS data 302, which is intermediate data. As described 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 acquired 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 can 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] FIG. 3B shows the format of data handled when the extension application 204 is associated and skip processing, which skips the print data generation processing by the print data generation software 202, is not performed. When a print instruction is received from the drawing application 201, the OS calls the skip control unit 206 of the extension application 204. However, in FIG. 3B, the skip control unit 206 does not perform skip processing, which skips the processing by the print data generation software 202. As a result, similar to the case of FIG. 3A, the OS passes XPS data 302 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 can be interpreted by the printing device 102. Therefore, the print data editing unit 208 sends the input data, PWGRaster data 303, to the printing device 102 without converting it. The printing device 102 performs printing based on the received PWGRaster data 303 .
[0042] FIG. 3C shows the format of data handled when the extension application 204 is associated and skip processing is performed to skip the print data generation processing by the print data generation software 202. When a print instruction 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 skip processing to instruct the OS or the print data generation software 202 not to convert the intermediate data into print data. When the skip control unit 206 issues a skip instruction to the OS, the OS instructs the print data generation software 202 not to perform the conversion processing. When the print data generation software 202 receives the skip instruction 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 any necessary editing on the XPS data based on the print setting information, converts the XPS data into PWGRaster data 303, and sends it to the printing device 102. The printing device 102 performs printing based on the received data. Note that if XPS is included in the print data format that the printing device 102 can interpret, the print data editing unit 208 can also send the XPS data to the printing device 102 and print it without converting it into another format.
[0043] <Editing process of print function information by the print function extension unit> 4 is a diagram showing the main processing flow of the editing process of the print function information 203 by the print function extension unit 207 in this printing system. Hereinafter, the print function extension unit 207 may be described as the main body of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.
[0044] 4 begins when the OS starts the print function extension unit 207, for example, when the extension application 204 is associated for the first time. Alternatively, the process in FIG. 4 may be executed at any other time. In S401, the print function extension unit 207 acquires the print function information 203 (PDC) from the print data generation software 202, and the process proceeds to S402. In S402, the print function extension unit 207 determines whether the acquired PDC includes a description related to the layout function.
[0045] FIG. 5 is a diagram showing an example of a PDC. PDC 501 includes information on features supported by the printing device 102 and information on setting values for certain features. For example, information 502 indicates that ISOA4 and North America Letter can be set as the PageMediaSize (paper size). Information 503 indicates that Plain (plain paper) and Photographic (photo paper) can be set as the PageMediaType (paper type). Information 504 indicates that Portrait (vertical) and Landscape (horizontal) can be set as the PageOrientation (print orientation). The PDC in FIG. 5 does not include information indicating that the layout function can be set.
[0046] Returning to Figure 4, the explanation will continue. If it is determined that the acquired PDC contains a description related to the layout function, the print function extension unit 207 does not edit the PDC and exits this processing flow. If it is determined in S402 that the PDC does not contain a description related to the layout function, the print function extension unit 207 proceeds to S403. In S403, the print function extension unit 207 describes Features and Options related to the layout function in the acquired PDC and exits this processing flow.
[0047] Here, the reason why the print function extension unit 207 adds an allocation function to the PDC in this embodiment will be explained. 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 (YES is determined in S402). In this embodiment, as will be described later, the editing process in the print data editing unit 208 makes it possible to execute the allocation process in a form that suppresses degradation of image quality. Therefore, even if the printing device 102 does not support the allocation function, the extension application 204 can execute the allocation function. Therefore, in order to define that the allocation function is executable, if the printing device 102 does not support the allocation function in S402, processing is performed to add the allocation function to the PDC in S403.
[0048] In this embodiment, the layout function is described as an example of an extended function performed by the extension application 204, but this is not limiting. For example, a scaling function that enlarges or reduces drawing data at an arbitrary magnification and prints it, and a splitting function that divides one page of drawing data and prints it on multiple pages, are also examples of extended functions applied in this embodiment. That is, although the layout function is described as an example of a specific function in S402, this is not limited to this. A specific function is a function that, when executed on raster data, results in a lower quality printout than when executed on vector data. Specifically, this refers to layout processing that involves scaling, and in addition to the layout function, there are other functions, such as the scaling function and the splitting function that divides one page of drawing data, as described above. In this embodiment, the layout function is described as an example of such a specific function.
[0049] Fig. 6 shows an example of a PDC with added functions as a result of editing using the flowchart in Fig. 4. Information 602 indicating the layout function has been added to the edited PDC 601 by the processing of S403. The information 602 indicates that any of the following settings can be made for JobNUpAllDocumentsContiguously (layout setting). That is, it indicates that None (layout function is not used), PagesPerSheet_4(2in1), or PagesPerSheet_4(4in1) can be set.
[0050] FIG. 7 is a diagram showing an example of capability information (PC) generated based on the PDC of FIG. 6. Like 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. The PC 701 indicates that the paper size (PageMediaSize), paper type (PageMediaType), and print orientation (PageOrientation) can be set based on the function information described in the PDC 601. The PC 701 also indicates that the layout function (JobNUpAllDocumentsContiguously) added by the extension application 204 can be set. The print setting screen extension unit 205 or an application that provides its own print setting screen can provide a print setting screen by referencing the PC 701. In other words, a print setting screen including the settings for the added layout function can be provided.
[0051] As a result, Feature and Option related to the layout function are added to PrintCapabilities (PC), which is capability information generated based on the PDC, which is the print function information 203, and to PrintTicket (PT), which indicates print settings.
[0052] In this way, 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 determined to be 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 validity of the print setting information (PT) is verified. For this reason, in this embodiment, in the flowchart of FIG. 4, the allocation function to be handled in the print setting is added to the print function information 203 (PDC).
[0053] <Print setting screen display processing by the print setting screen extension unit> The print setting screen expansion unit 205 is called via the OS when a user instructs the display of a print setting screen on the drawing application 201. Fig. 8 is a flowchart showing an example of print setting screen display processing by the print setting screen expansion unit 205. Hereinafter, the print setting screen expansion unit 205 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.
[0054] First, in S801, the print setting screen expansion unit 205 acquires a PrintTicket (PT), which is print setting information. Note that the PT acquired here is a default value. Next, in S802, the print setting screen expansion unit 205 acquires PrintCapabilities (PC), which is capability information. In S803, the print setting screen expansion unit 205 displays the print setting screen based on the PT acquired in S801 and the PC acquired in S802.
[0055] FIG. 9 is a diagram illustrating an example of a print setting screen displayed by the print setting screen expansion unit 205. FIG. 9(a) is a diagram illustrating an example of a print setting screen when the skip setting is ON. The print setting screen 900 displayed by the print setting screen expansion unit 205 is a screen on which print functions that can be set by the print data generation software 202 can be specified based on the PC described above. Control items 901 to 904 are control items that allow 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, and can be set to, 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, and can be set to, for example, A4 or Letter. Control item 903 is a control item that allows the user to set the print orientation, and can be set to portrait or landscape. Control item 904 is a control item that allows the user to set the layout function, and can be set to, for example, off or 2 in 1. This control item 904 is a control item that is displayed by a PC generated based on a PDC that the print function expansion unit 207 adds information about the layout function to the PDC.
[0056] The control item 905 is a control item that switches whether or not to use the extended function. That is, the control item 905 is a control item that can set 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 (ON) and off (OFF). The 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 the PT acquired in S901 is set. In this embodiment, the state in which the skip setting of the control item 905 is on (i.e., a state in which the extended function is set to be used) is the default value. The print setting screen extension unit 205 stores a setting value indicating the skip setting in the shared information 210 in accordance with the setting of the control item 905. The control item 906 is an OK button that reflects the setting and closes the screen.
[0057] Returning to FIG. 8, the description will continue. In S804, the print setting screen expansion unit 205 acquires a skip setting from the shared information 210. The skip setting will be described later with reference to FIG. 10. If the processing of the print data generation software 202 is to be skipped, the skip setting value is stored as ON, and if the processing is not to be skipped, the skip setting value is stored as OFF. Next, in S805, the print setting screen expansion unit 205 determines whether the skip setting acquired in S804 is ON. If it is determined that the skip setting is ON, the process proceeds to S807. 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 that the skip setting is OFF in S805, the print setting screen expansion unit 205 disables the control item 904 that sets the allocation function and turns off the setting of the allocation function in S806.
[0058] 9B is a diagram showing the print setting screen when the skip setting is set to OFF. When the skip setting is OFF, in S806, the print setting screen expansion unit 205 disables the control item 904 that sets the layout function. This prevents the user from setting the layout function, and the layout function setting is always OFF.
[0059] Note that control items to be disabled when the skip setting is OFF are determined as follows. The first determination method is a determination method based on a list of control items to be disabled. The print setting screen extension unit 205 can statically store a list of functions to be disabled when skipping is not performed, among the functions added by the print function extension unit 207. The print setting screen extension unit 205 then determines the control items to be disabled based on that list. The second determination method is a method in which the print function extension unit 207 shares information with the print setting screen extension unit 205 about whether it has added a function. The print setting screen extension unit 205 determines the control items to be disabled based on information from the print function extension unit 207. In this embodiment, the print setting screen extension unit 205 determines by either method that the control item to be disabled is the control item 904 that sets the layout function, and then performs the disablement process.
[0060] In this embodiment, the layout setting is enabled only when the skip setting is ON, but this is not limited to this. If the print data generation software 202 supports the layout function, it is preferable that the layout function be enabled even when the skip setting is OFF. In this case, the layout process is performed by the print data generation software 202, not the extension application 204. Whether the print data generation software 202 supports the layout function can be determined as follows. For example, when the extension application 204 first executes the flow of FIG. 4, if it is determined in S402 that the PDC includes the layout function, it can be determined that the print data generation software 202 supports the layout function. If the print data generation software 202 supports layout, the control item 904 does not need to be disabled, and the layout function may be configured to be set using the print setting screen 900. After S806, the process proceeds to S807.
[0061] Steps S807 to S813 are processes performed in response to operations performed by the user on the print setting screen. In step S807, the print setting screen expansion unit 205 determines whether the user has changed the skip setting via the control item 905. If it is determined in step S807 that the skip setting has been changed, the print setting screen expansion unit 205 advances the process to step S808. If it is determined in step S807 that the skip setting has not been changed, the print setting screen expansion unit 205 advances the process to step S811.
[0062] In S808, the print setting screen expansion unit 205 determines whether the skip setting has been changed to ON. If it is determined in S808 that the skip setting has been changed to ON, the print setting screen expansion unit 205 advances the process to S809, where the setting value of the skip setting in the shared information 210 is stored as ON. Also, in S809, a process is performed to enable the disabled allocation function. Thereafter, the process advances to S811. If it is determined in S808 that the skip setting has not been changed to ON, the print setting screen expansion unit 205 advances the process to S810, where the setting value of the skip setting in the shared information 210 is stored as OFF. Thereafter, the process advances to S811.
[0063] FIG. 10 is a diagram showing an example of a skip setting value stored in the shared information 210 and used when determining whether to skip processing of the print data generation software 202. The extended application 204 operates in association with the print data generation software 202, and more specifically, is associated with a print queue generated for each printing device. A print queue is a queue into which print data is input. A print queue is generated for each connected printing device. Furthermore, even for the same printing device, if it is connected via a different method, such as a USB connection or a network connection, a separate 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 identifying the print queue for which the setting was made. In this embodiment, the name of the print queue (QueueName) is used as the information identifying the print queue, but this is not limited to this, and an ID that uniquely identifies the print queue may also be used.
[0064] Information 1001 indicates that the skip control unit 206 will perform skip processing (the skip setting value is ON) when printing to a print queue named Printer A. Information 1002 indicates that the skip control unit 206 will not perform skip processing (the skip setting value is OFF) when printing to a print queue named Printer B. The skip setting value is changed via control item 905.
[0065] Returning to FIG. 8, the explanation will continue. In S811, the print setting screen expansion unit 205 determines whether the user has changed the print settings via control items 901 to 904. If it is determined in S811 that the print settings have been changed, the print setting screen expansion unit 205 proceeds to S812, where the changes to the print settings made by the user are reflected in the print setting information such as the PT. Thereafter, the process proceeds to S813. On the other hand, if it is determined in S811 that the print settings have not been changed, the print setting screen expansion unit 205 proceeds to S813.
[0066] In S813, the print setting screen expansion unit 205 determines whether the OK button 906 has been pressed. If it is determined in S813 that the OK button 906 has been pressed, the print setting screen 900 is closed, and the PT at the time of pressing is returned to the drawing application 201 or the OS as the print settings specified by the user. The drawing application 201 or the OS uses the returned PT to generate a print job according to the settings. If it is determined in S813 that the OK button 906 has not been pressed, the print setting screen expansion unit 205 advances the process to S804. The processes from S804 to S813 are repeated until the OK button 906 is pressed.
[0067] <Skip processing by skip control unit> 11 is a flowchart showing an example of skip processing by skip control unit 206. Hereinafter, skip control unit 206 may be described as the subject of each process, but in reality, the corresponding function is realized by CPU 111 executing the corresponding program.
[0068] 11 is executed when a print instruction is issued from the drawing application 201. That is, the skip control unit is started by the OS in response to the issuance of a print instruction from the drawing application 201, and the flow is executed.
[0069] First, in S1101, the skip control unit 206 acquires a skip setting from the shared information 210. Next, in S1102, the skip control unit 206 determines whether or not a skip setting has been acquired, i.e., whether or not a skip setting exists. If it is determined that a skip setting does not exist, the skip control unit 206 does not perform skip processing and exits this processing flow. If it is determined in S1102 that a skip setting exists, the skip control unit 206 proceeds to S1103. In S1103, the skip control unit 206 determines whether or not the acquired skip setting is ON. If it is determined in S1103 that the skip setting is OFF, the skip control unit 206 does not perform skip processing and exits this processing flow. If it is determined 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 skip processing to skip processing of the print data generation software 202. As a result, the print data generation software 202 does not perform conversion processing from intermediate data to print data, and the input data handled by the print data editing unit 208 can be treated as intermediate data.
[0070] 11, the default behavior when no skip setting is stored is to not perform skip processing, but the default behavior may be to perform skip processing. Through the above processing, whether or not to skip processing of the print data generation software 202 is switched based on the skip setting of the shared information 210.
[0071] <Print data editing unit processing> 12 is a flowchart showing an example of print data editing processing by print data editing unit 208. Hereinafter, print data editing unit 208 may be described as the subject of each process, but in reality, the corresponding function is realized by CPU 111 executing the corresponding program.
[0072] The flow in FIG. 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 acquires the data format of the input data. Next, in S1202, the print data editing unit 208 determines whether the acquired 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 issued, and the input data has been converted by the print data generation software 202 into print data that can be interpreted by the printer. Therefore, in S1207, the print data editing unit 208 sends the acquired input data, that is, the print data, to the printer and exits this processing flow.
[0073] On the other hand, if it is determined in S1202 that the format of the input data is XPS data, the print data editing unit 208 proceeds to S1203. In S1203, the print data editing unit 208 acquires a PT, which is print setting information. Next, in S1204, the print data editing unit 208 checks the layout setting of the PT acquired in S1203 and determines whether the layout setting is OFF. If it is determined in S1204 that the layout 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 it is determined in S1204 that the layout setting is ON, the print data editing unit 208 proceeds to S1205. In S1205, the print data editing unit 208 edits the XPS data, which is the input data, in accordance with the layout setting and performs layout processing. Then, the process proceeds to S1206.
[0074] In a configuration in which the print data generation software 202 supports the layout function, the intermediate data has already been layout processed. Therefore, the processes of S1204 and S1205 do not need to be performed. Whether the print data generation software 202 supports the layout function is determined by the print data editing unit 208 sharing the result of determining in S402 of FIG. 4 that the PDC includes the layout function with the print function extension unit 207.
[0075] Figure 13 is a diagram showing an example of the layout processing in S1205. In Figure 13, it is assumed that the layout setting is 2 in 1, which arranges two pages on one page. It is also assumed that XPS data 1301, which is input data to the print data editing unit 208, has two page data 1302 and 1303. Through the processing in S1205, the print data editing unit 208 generates XPS data 1304 that has page data 1305 in which the two page data 1302 and 1303 are arranged on one page.
[0076] 12, the explanation will continue. In S1206, the print data editing unit 208 converts the XPS data into print data that can be interpreted by the printing device 102. Note that if the printing device 102 can interpret the XPS data, the print data editing unit 208 does not need to perform the process of S1206. Next, in S1207, the print data editing unit 208 sends the print data to the printer, and this processing flow ends.
[0077] As described above, according to this embodiment, the extension 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 a function that requires handling intermediate data, such as a layout function, by instructing to skip the processing of the print data generation software 202, the intermediate data can be handled by the print data editing unit 208. As a result, editing involving enlargement and reduction, such as a layout function, can be performed without causing deterioration in image quality.
[0078] Furthermore, if a function that requires handling of intermediate data is not used, the user can simply turn off the skip setting, which allows the print data generation process to be performed by the print data generation software 202, thereby reducing the processing load on the extension application 204. Switching the skip setting also makes it possible to switch between print data generation by the print data generation software 202 and by the extension application 204. This allows for use as a workaround when one of the conversion processes does not operate normally. Furthermore, disabling the allocation setting when the skip setting is off can prevent poor quality print results.
[0079] In this embodiment, an example is shown in which the user switches the skip setting using the print setting screen 900, but the setting may be performed using another setting screen.
[0080] As described above, according to this embodiment, the extension application 204 can process intermediate data in vector format, and therefore the extension application 204 can handle data in a format suitable for the processing performed by the extension application 204. Therefore, the extension application 204 can perform processing of a specific function, such as layout processing involving image scaling, while suppressing image degradation.
[0081] <<Second embodiment>> In the first embodiment, an example has been described in which the setting value of the skip setting is stored in the shared information 210 according to the setting made by the user using the print setting screen 900. Then, an example has been 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 setting value of the skip setting stored in the shared information 210. Here, it can also be considered that whether or not the processing of the print data generation software 202 needs to be skipped can be determined according to the processing performed by the print data editing unit 208 and a data format suitable for that processing.
[0082] The extension application 204 is an application that can operate in association with multiple types of printing devices 102. Therefore, it is conceivable that the extension 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 differs 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 outputs 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 outputs the print data in the PDF format.
[0083] For example, when layout processing is performed by the print data editing unit 208, if the input data is PWGRaster, the layout processing, which involves scaling the data, will significantly degrade image quality. On the other hand, if the input data is PDF, which is vector data, the layout processing, which involves scaling, will not significantly degrade image quality. Therefore, it can be said that whether or not the processing of the print data generation software 202 needs to be skipped depends on the data format of the print data supported by the printing device 102.
[0084] Therefore, in the second embodiment, an example will be described in which the skip control unit 206 switches whether or not to perform skip processing depending on the format of print data supported by the printing device 102 to which the extended application 204 is associated. Note that the basic hardware configuration and software configuration are the same as those described in the first embodiment, and therefore a description thereof will be omitted.
[0085] <Print function expansion unit processing flow> 14 is a flowchart showing an example of a process for editing print function information of the print function extension unit 207 in this embodiment. Hereinafter, the print function extension unit 207 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.
[0086] 4, the description of S1401 to S1403 is omitted. In S1404, the print function extension unit 207 acquires the print data format supported by the printing device 102. One method of acquiring the format supported by the printing device 102 is to send a Get-Printer-Attributes operation to the printing device 102 and acquire the information as a response. However, the format may be acquired by other methods.
[0087] Next, in S1405, the print function extension unit 207 determines whether the printing device 102 supports PDF as a print data format. If it is determined in S1405 that PDF is not supported, the print function extension unit 207 proceeds to S1406. In S1406, the print function extension unit 207 stores the skip setting value as ON in the shared information 210 and ends this processing flow. In other words, if the printing device 102 does not support PDF, the print data generation software 202 does not output print data in PDF format. In this case, for example, the print data generation software 202 outputs 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 extension unit 207 stores the skip setting value as ON and sets the print data generation software 202 to skip processing.
[0088] On the other hand, if it is determined in S1405 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 in the shared information 210 and ends this flow. In other words, if the printing device 102 supports PDF, the print data generation software 202 outputs print data in PDF format, which is vector data. Even when layout processing involving scaling is performed on vector data, the image quality does not deteriorate compared to when raster data is processed. Therefore, if the printing device 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 extension 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. In contrast, in this embodiment, when the printing function extension unit 207 added a function, the skip setting is also stored in the shared information 210 according to the format supported by the printing device 102.
[0090] <Processing flow of the print setting screen extension unit> 15 is a flowchart showing an example of print setting screen display processing by the print setting screen expansion unit 205 in this embodiment. Hereinafter, the print setting screen expansion unit 205 may be described as the subject 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 S801 to S805, and therefore description thereof will be omitted. If the determination in S1505 is No, i.e., if it is determined that the skip setting is OFF, processing proceeds to S1506. In S1506, the print setting screen extension unit 205 acquires the print data format supported by the printing device 102 with which the extension application 204 is associated. Next, in S1507, the print function extension unit 207 determines whether the printing device 102 supports PDF as a print data format. In this embodiment, layout processing for PDF data is possible. Therefore, if it is determined in S1507 that PDF is supported, processing proceeds to S1509, and the control item for layout setting is not disabled. In other words, even if the skip setting is OFF, if the printing device 102 supports PDF, the control item for layout setting is not disabled. On the other hand, if it is determined in step S1507 that PDF is not supported, the print function extension unit 207 disables the control item for performing layout settings in step S1508.
[0092] The processing from S1509 to S1515 is the same as S807 to S813, and therefore description thereof will be omitted. Note that if the print data generation software 202 supports an allocation function, the allocation function may be configured to be set via the print setting screen 900, as in the example described in the first embodiment. That is, even if the skip setting is OFF in S1505 and the printing device 102 does not support PDF in S1507, the processing of S1508 does not need to be performed.
[0093] <Processing flow of the print data editing unit> 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. Hereinafter, the print data editing unit 208 may be described as the subject of 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 that from S1201 to S1207, and therefore description thereof will be omitted. If the determination in S1602 is No, that is, if the format of the input data is not XPS data, the print data editing unit 208 proceeds to S1608. In S1608, the print data editing unit 208 determines whether the format of the input data is PDF. If the determination in S1608 is that the format of the input data is PDF, the print data editing unit 208 proceeds to S1609. In S1609, the print data editing unit 208 acquires a PrintTicket (PT), which is print setting information. Next, in S1610, the print data editing unit 208 checks the layout setting of the PrintTicket acquired in S1609 and determines whether the layout setting is OFF. If the determination in S1610 is that the layout setting is OFF, there is no need to edit the PDF data, and the print data editing unit 208 proceeds to S1611.
[0095] If it is determined in S1610 that the layout setting is ON, the print data editing unit 208 proceeds to S1607. In S1610, the print data editing unit 208 edits the input data, PDF data, in accordance with the layout setting. Then, the process proceeds to S1607, where the print data is sent. Note that in this example, PDF data is a print data format supported by the printing device 102. Therefore, conversion to print data, such as in S1606 (S1206), is not required.
[0096] If it is determined in S1608 that the format of the input data is not PDF, the print data editing unit 208 proceeds to S1607, where it sends the input data as is to the printing device 102 as print data, and ends the process. Note that in a configuration in which the print data generation software 202 supports the layout function, as described in the first embodiment, the intermediate data has already been layout processed. Therefore, if the print data generation software 202 supports the layout function, it is not necessary to perform the processes of S1604, S1605, S1610, and S1611.
[0097] As described above, in the printing system of this embodiment, whether or not to skip the processing of the print data generation software 202 is determined based on the print data format supported by the printing device. This allows the input data of the print data editing unit 208 to be controlled so that it is suitable for processing. Note that, although the skip setting can be changed via the print setting screen 900 in this embodiment as well, it is also possible to prevent the user from changing the skip setting. This is because, in this embodiment, it is possible to determine whether or not the processing of the print data generation software 202 needs to be skipped based on the print data format supported by the printing device 102.
[0098] <<Third Embodiment>> As described above, whether or not it is necessary to skip the processing of the print data generation software 202 can be determined based on the processing performed by the print data editing unit 208 and the data format suitable for that processing. In the second embodiment, an example has been described in which the focus is on the data format, and the extension 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, attention is focused 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 enlargement or reduction, such as a layout function, the processing of the print data generation software 202 does not need to be skipped.
[0100] For example, the layout function can also be performed by the printing device 102. In this case, the print data generation software 202 adds the layout function to the print function information 203 (PDC) based on the capability information (PC) acquired from the printing device 102. Then, the print data generation software 202 or the extension application 204 includes the layout setting in the PT and notifies the printing device 102, thereby performing the layout processing on the printing device 102. Alternatively, if the print data generation software 202 supports the layout function, the output data of the print data generation software 202 will reflect the layout setting. In these cases, the extension application 204 does not need to add the layout function to the print function information 203, and there is no need to skip the processing of the print data generation software 202.
[0101] Therefore, in this embodiment, an example will be described in which the extension application 204 stores a skip setting depending on whether or not a function that requires editing of vector data is to be added.
[0102] <Print function expansion unit processing flow> 17 is a flowchart showing an example of a print setting screen display process of the print function extension unit 207 in the third embodiment. Hereinafter, the print function extension unit 207 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. The process of FIG. 17 begins when the OS starts the print function extension unit 207, for example, when the extension application 204 is associated for the first time. 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 FIG. 4, and therefore description thereof will be omitted. If it is determined in S1702 that the PDC does not include an allocation function, the print function extension unit 207 proceeds to S1703. In S1703, the print function extension unit 207 stores the setting value of the skip setting as ON in the shared information 210. Following the processing of S1703, in S1704, the print function extension unit 207 describes the Feature and Option related to the allocation function in the PDC and exits this processing flow. In other words, if the PDC does not include an allocation function, the allocation function becomes the processing to be performed by the print data editing unit 208, as described in the first embodiment and the like. Therefore, the setting value of the skip setting is turned ON, and a setting is made 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 extension unit 207 proceeds to S1705. In S1705, the print function extension 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 processing is executed by the printing device 102, so there is no need for the print data editing unit 208 to execute the allocation processing. Therefore, there is no need to skip the processing of the print data generation software 202. Therefore, the skip setting value is set to OFF.
[0105] As described above, the printing system of this embodiment switches whether or not to skip processing of the print data generation software 202 depending on the functions added by the extension application. This makes it possible to control the input data of the print data editing unit 208 so that it has an appropriate format depending on the processing performed by the print data editing unit 208. Note that in S1702, it may be determined whether or not the print data generation software 202 supports an 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 via the print setting screen 900 even if the PDC does not include the allocation function and the skip setting value is OFF.
[0106] In the second and third embodiments, the skip setting is switched depending on the print data format supported by the printing device 102 and the functions added by the extension application 204. However, the skip setting may be switched depending on other factors. For example, if there are multiple print data generation software 202 associated with the extension application 204, the supported functions and the format of the print data to be output may differ depending on the type of the software. In such a case, the extension application 204 may switch the skip setting depending on the type of the associated print data generation software 202. The type of print data generation software 202 may be for local printing, in which printing is performed on a printing device connected to a host computer. Another type may be for cloud printing, in which a print job is sent to the cloud, and the printing device retrieves the job from the cloud and prints it. In cloud printing, it is possible to use an extension that processes print data on the cloud side, such as a layout function. For functions processed on the cloud side, the extension application 204 does not need to process them, so the skip setting may be turned off when the extension application 204 is associated with print data generation software 202 for cloud printing.
[0107] Although the present embodiment has been described mainly focusing on the differences from the first embodiment, it may also be combined with the second embodiment in processing. That is, the processing of S1402 and S1403 in Fig. 14 of the second embodiment may be replaced with S1702 to S1704 of the present embodiment.
[0108] <<Fourth Embodiment>> In the first embodiment, the print setting screen extension unit 205 disables the control item for the layout setting when the skip setting is OFF, thereby preventing the user from setting functions that the user cannot use. Some types of drawing applications 201 do not launch the print setting screen extension unit 205 of the extension application 204, but instead provide their own print setting screen by referencing a PC. In such drawing applications 201, print settings are performed without using the print setting screen provided by the print setting screen extension unit 205, so the layout function can be set even when the skip setting is OFF. In other words, since the layout function is enabled in the PDC, the layout function can be set by referencing a PC based on the PDC. Therefore, to prevent unavailable items from being included in the PC, when the skip setting is OFF, it is necessary to delete descriptions related to the layout function from the print function information 203 (PDC).
[0109] Therefore, in this embodiment, an example will be described in which the print function extension unit 207 performs a process of deleting a function in addition to a process of adding a PDC function according to the skip setting.
[0110] <Print function expansion unit processing flow> FIG. 18 is a flowchart showing an example of a process for editing print function information of the print function extension unit 207 in the fourth embodiment. Hereinafter, the print function extension unit 207 will be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. The process of FIG. 18 may be performed at the same timing as FIG. 4 or at a different timing. That is, the process of FIG. 18 may be performed when the print function extension unit 207 is started, for example, when the extension application 204 is associated for the first time. Furthermore, the process may be performed when the configuration of the printing device 102 changes, when an instruction to obtain print settings or an instruction to print is given, or at any time by a user.
[0111] First, in S1801, the print function extension unit 207 acquires the PDC. Next, in S1802, the print function extension unit 207 acquires the skip setting. Note that if the skip setting is not stored in the shared information 210, such as at the first startup, the default setting value of ON or OFF is acquired instead.
[0112] Next, in S1803, the print function extension unit 207 determines whether the setting value of the skip setting is ON. If it is determined in S1803 that the setting value of 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 processing proceeds to S1805, where Features and Options related to the allocation function are written to the acquired PDC, and the processing exits this processing flow.
[0113] On the other hand, if it is determined in S1803 that the skip setting value 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 an allocation function. If it is determined in S1806 that the PDC includes an allocation function, the process proceeds to S1807, where the descriptions of the Feature and Option related to the allocation function are deleted from the acquired PDC, and the process exits. This is because if the skip setting value is OFF and the PDC includes an allocation function, the drawing application 201, which does not start the print setting screen extension unit 205 and instead provides its own print setting screen by referencing the PC, will perform the layout setting. To avoid this, in S1807, the descriptions related to the allocation function are deleted from the PDC.
[0114] Note that this processing flow shows an example in which the allocation function is uniformly deleted from the PDC when the skip setting value is OFF, but if the allocation function is already included in the print data generation software 202, there is no need to delete the description of the allocation function. Therefore, the deletion target in S1807 may be limited to the allocation function added by the extension application 204. If it is determined in S1806 that the PDC does not include the allocation function, the print function extension unit 207 exits this processing flow without editing the PDC.
[0115] As described above, in this embodiment, if the extension application 204 does not skip the processing of the print data generation software 202, it deletes the function that assumes the skip from the PDC. This prevents the function from being listed on the PC, so that it is possible to prevent the setting of an unavailable function in an application that provides its own print setting screen based on the PC. If the setting value of the skip setting is set to ON, the function becomes available again.
[0116] In this embodiment, the differences from the first embodiment have been mainly described, but it may also be combined with the second or third embodiment.
[0117] <<Fifth Embodiment>> In the first embodiment, an example has been described in which the extension application 204 performs skip settings via the print setting screen 900 displayed by the print setting screen extension unit 205. The print setting screen 900 is launched to perform print settings when the drawing application 201 issues a print instruction. Meanwhile, the skip setting is stored in the shared information 210, and the skip processing of S1104 is performed according to the skip setting value stored in the shared information 210 at the time 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 in which printing is performed by drawing application A and drawing application B. In this case, the skip setting performed on the print setting screen 900 called by drawing application A may also affect the processing of the print job generated by the print instruction from drawing application B.
[0118] Therefore, in this embodiment, an example will be described in which whether or not to perform skip setting is switched depending on the caller of the print setting screen expansion unit 205.
[0119] <Processing flow of the print setting screen extension unit> 19 is a flowchart showing an example of print setting screen display processing by the print setting screen expansion unit 205 in this embodiment. Hereinafter, the print setting screen expansion unit 205 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program.
[0120] Steps S1901 to S1903 are the same as steps S801 to S803, and therefore their description will be omitted. In step S1904, the print setting screen extension unit 205 checks whether the print setting screen has been called to change the default settings. For example, the Windows (registered trademark) OS has a Settings application for managing OS settings. Device management, including printers, can also be performed from the Settings application. When the print setting screen of the print data generation software 202 associated with a specific printing device 102 is launched from the Settings application and print settings are changed, the changes 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 setting screen is opened from the drawing application 201. The default print settings also become the print settings used when printing is performed without opening the print setting screen from the drawing application 201. In other words, the default settings can be considered to be print settings that you want to apply to all printing.
[0121] In this embodiment, the determination in S1904 is Yes if the print setting screen is launched from the Settings application. If it is determined in S1904 that the default setting has been changed, the print setting screen expansion unit 205 advances the process to S1906 to allow the skip setting to be changed. On the other hand, if it is determined in S1904 that the default setting has not been changed, the print setting screen expansion unit 205 advances the process to S1905. In S1905, the print setting screen expansion unit 205 disables the control item 905 that performs the skip setting, and advances the process to S1906. Since S1906 to S1915 are the same as the processes in S804 to S813, description thereof will be omitted.
[0122] As described above, in this embodiment, the skip setting can be changed only on the print setting screen where the default print settings are changed, which makes it easier for the user to recognize the extent of the impact of the setting change.
[0123] In this embodiment, the skip setting can be changed through the print setting screen 900, but the extension application 204 may provide a setting screen different from the print setting screen 900 to change the setting.
[0124] Furthermore, in this embodiment, the differences from the first embodiment have been mainly described, but it may be combined with any of the second to fourth embodiments.
[0125] <<Sixth Embodiment>> As explained in the fifth embodiment, a change in the skip setting made on the print setting screen launched from the drawing application 201 also affects the processing of a print job from another drawing application 201. Therefore, in this embodiment, an example will be explained in which whether or not the skip setting can be changed from the print setting screen is switched depending on whether or not a print job is being processed by the print data generation software 202 or the extension application 204.
[0126] <Processing flow of the print setting screen extension unit> 20 is a flowchart showing an example of a process for editing print function information by the print setting screen expansion unit 205 in this embodiment. Hereinafter, the print setting screen expansion unit 205 may be described as the subject 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, and therefore will not be described here. In step S2004, the print setting screen expansion unit 205 determines whether the extension application 204 is processing a job. That is, it determines whether a job is being processed. If it is determined in step S2004 that a job is being processed, the print setting screen expansion unit 205 proceeds to step S2006. If it is determined that a job is not being processed, the print setting screen expansion unit 205 proceeds to step S2005.
[0128] In S2005, the print setting screen extension unit 205 determines whether or not there are print jobs waiting to be processed in the print data generation software 202 and the extension application 204. If it is determined in S2005 that there are jobs waiting to be processed, the print setting screen extension unit 205 proceeds to S2006, and if it is determined that there are no jobs waiting to be processed, the print setting screen extension unit 205 proceeds to S2007.
[0129] In S2006, the print setting screen expansion unit 205 disables the control item 905 that sets the skip setting, and proceeds to S2007. That is, if there is a job currently being processed or a job waiting to be processed, changing the skip setting may affect the other jobs. Therefore, if such a job exists, the control item 905 that sets the skip setting is disabled. If both S2004 and S2005 return No, the processing of S2006 is not performed, and the control item 905 that sets the skip setting is not disabled. S2007 to S2016 are the same as the processing of S804 to S813, and therefore description thereof will be omitted.
[0130] As described above, in this embodiment, whether or not to allow the skip setting to be changed is switched depending on whether or not there are print jobs that have already been issued but have not yet been processed. This makes it possible to prevent changes to the skip setting from affecting print jobs that have already been issued.
[0131] This embodiment has been described mainly focusing on the differences from the first embodiment, but it may also be combined with any of the second to fifth embodiments.
[0132] <<Other embodiments>> The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes 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. An application program that supports a software program provided by a provider of an operating system for an information processing device, The computer of the information processing device a display step of displaying a print setting screen on which a user can set a predetermined function for scaling data by the application program; a first receiving step of receiving a first setting for the software program to convert data output from a drawing application into print data; a second receiving step of receiving a second setting that causes the software program not to convert data output from the drawing application into print data; a conversion step of causing the application program to convert the data output from the drawing application into print data, without causing the software program to convert the data based on the second setting being accepted; An application program characterized by executing a control step of controlling the application program so that the specified function of scaling the data cannot be set by the user on the print setting screen based on the acceptance of the first setting.
2. 2. The application program according to claim 1, wherein the predetermined function is a layout function for layouting a plurality of pages onto one page.
3. 2. The application program according to claim 1, wherein the predetermined function is a reduction function for reducing the data.
4. 4. The application program according to claim 1, wherein the software program causes capability information of a printing device to be obtained from the printing device in accordance with the Internet Printing Protocol (IPP).
5. 5. The application program according to claim 4, wherein the data is converted into print data that can be interpreted by the printing device.
6. 6. The application program according to claim 1, wherein the data is data in an XPS format, and the print data is data in a PWG Raster format.
7. 7. The application program according to claim 1, wherein the data is in GDI format, and the print data is in PWG Raster format.
8. 8. An application program according to claim 1, wherein the software program is a standard driver included in an operating system.
9. 8. The application program according to claim 1, wherein the software program is a program provided by an operating system provider.
10. A storage medium storing the application program according to any one of claims 1 to 9.
11. 1. A method for controlling an information processing device that executes an application program supporting a software program provided by a provider of an operating system of the information processing device, comprising: a display step of displaying a print setting screen on which a user can set a predetermined function for scaling data by the application program; a first receiving step of receiving a first setting for the software program to convert data output from a drawing application into print data; a second receiving step of receiving a second setting that causes the software program not to convert data output from the drawing application into print data; a conversion step of causing the application program to convert the data output from the drawing application into print data, without causing the software program to convert the data based on the second setting being accepted; a control step of controlling the information processing device based on acceptance of the first setting so that the user cannot set the specified function of resizing the data by the application program on the print setting screen.
12. An information processing device that executes an application program that supports a software program provided by a provider of the operating system of the information processing device, a display means for displaying a print setting screen on which a user can set a predetermined function for scaling data by the application program; a receiving means for receiving a first setting that causes the software program to convert data output from a drawing application into print data, or a second setting that causes the software program not to convert data output from the drawing application into print data; a conversion unit that, based on the acceptance of the second setting, converts the data output from the drawing application into print data by executing the application program without causing the software program to convert the data into print data; and a control means for controlling the application program so that the user cannot set the predetermined function of resizing the data on the print setting screen based on acceptance of the first setting.
Citation Information
Patent Citations
program
JP2019074906A
Information processing device, control method and program
JP2020004254A
Information processing device, control method therefor, and program
JP2020095535A
Program and control method
JP2021108000A