Application program, control method, and information processing device

The application extends V4 printer drivers with a GUI and access to rendering data, addressing the limitations of WSDAs to provide enhanced functionality and customizability.

JP7823147B2Active Publication Date: 2026-03-03CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

V4 printer drivers provide improved security and convenience but lack customizability, and existing Windows Store Device Apps (WSDAs) have limited functionality, especially in displaying a user interface and accessing rendering data for print settings.

Method used

An application that extends the functionality of V4 printer drivers by providing a Graphical User Interface (GUI) and allowing access to rendering data, such as a print-time launch application, which is automatically installed based on metadata associated with the printing device, enabling appropriate functions depending on the driver type.

Benefits of technology

Enables appropriate functions and GUI display for V4 printer drivers, overcoming limitations of WSDAs by allowing user interface display and editing of rendering data, thus enhancing customizability and functionality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007823147000001
    Figure 0007823147000001
  • Figure 0007823147000002
    Figure 0007823147000002
  • Figure 0007823147000003
    Figure 0007823147000003
Patent Text Reader

Abstract

To provide an appropriate function according to a driver to be used.SOLUTION: A program of a GUI application capable of providing a GUI makes a computer execute the steps of: acquiring drawing data generated by a drawing application; acquiring at least either data including information showing setting in a situation where prescribed processing based on the drawing data is performed by a prescribed device or data including information showing the capability of the driver; determining whether first information is included in at least either the data including information showing the setting or the data including information showing the capability of the driver; and providing a first display item. Whether to provide the first display item is changed according to whether or not the first information is included.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, and more particularly to an application program that provides a GUI. [Background technology]

[0002] A commonly known configuration is to use a printer driver installed on a host computer as software for controlling the printing device to print to a printing device connected to the host computer. An operating system (OS), which is the basic software, is installed on the host computer, and the printer driver is configured according to the specifications of the OS and is invoked by the OS to operate. By providing a printer driver that conforms to the OS specifications, a printing device vendor can provide a means for instructing the printer to print using the OS. When using an OS version earlier than Microsoft® Windows® 8, the printer driver is configured with an architecture called a V3 printer driver. A V3 printer driver can display a graphical user interface (hereinafter referred to as a "user interface" or "GUI") when a user requests printing and provide functions that prompt the user to perform certain operations. For example, when a print request is made, a specified event is invoked in the configuration module, which is a component of the V3 printer driver. The configuration module can then display the user interface during the event processing.

[0003] In recent years, a new architecture called the V4 printer driver has emerged for Windows (registered trademark). Because V4 printer drivers emphasize security, the customizability of the printer driver itself has been reduced. For example, the aforementioned configuration module is provided by the OS, and vendors can only provide setting files and script files for customizing its operation. To compensate for this reduced customizability, vendors of printing devices can provide dedicated applications to support the functions of the printer driver. These applications are called Windows Store Device Apps (WSDAs). By providing WSDAs, vendors of printing devices can customize the print setting screen when printing from a specific application (Patent Document 1).

[0004] The V4 printer driver can also be configured as a class driver, allowing a single printer driver to support multiple printing devices. In recent years, operating systems have begun providing standard class drivers that can be used with printing devices from multiple vendors. These standard drivers are included in the operating system package and can be used simply by connecting any printing device to the host computer. This eliminates the need to separately install a printer driver suitable for the printing device, providing greater convenience. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-33052 Summary of the Invention [Problem to be solved by the invention]

[0006] Thus, while the V4 printer driver offers improved security and convenience, it lacks the ability to provide a GUI, reducing the customizability of the printer driver itself. Therefore, as disclosed in Patent Document 1, by using WSDA, it is possible to provide a GUI, such as a print setting screen, even when a driver that does not have the ability to provide a GUI, such as a V4 printer driver, is used. However, conventional WSDAs still have limited functionality. In view of these issues, the present invention aims to provide appropriate functionality depending on the driver being used. [Means for solving the problem]

[0007] In order to solve the above-mentioned problems, one aspect of the program of the present invention is An information processing device is caused to execute a reception process of receiving from a user processing settings used for processing intermediate image data output by a standard driver pre-installed in an operating system of the information processing device, and a display process of displaying, based on the intermediate image data, an image showing the result of processing based on the processing settings received in the reception process, wherein the item for receiving the processing settings is not displayed on a setting screen provided by the standard driver. It is characterized by: [Effects of the Invention]

[0008] The present invention makes it possible to provide appropriate functions depending on the driver used. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a block diagram showing the hardware configuration of a printing system. [Figure 2] FIG. 1 is a block diagram of a driver printing system. [Figure 3] An example of metadata for device compatibility information. [Figure 4] An example of Metadata that describes the association information for the application that is launched when printing. [Figure 5] FIG. 2 is a block diagram for explaining a printing environment constructed in the present printing system. [Figure 6] 10 is a flowchart of a setup process for a print start application. [Figure 7] 10 is a flowchart of UI processing of an application launched at the time of printing. [Figure 8] 10 is a flowchart of editing and terminating a print-time activation application. [Figure 9] Example of PrintCapabilities for a fax driver. [Figure 10] An example of PrintCapabilities for a model-specific printer driver. [Figure 11] Example of PrintCapabilities for a common driver. [Figure 12] Example of PrintCapabilities for a standard driver. [Figure 13] An example of a PrintTicket for a model-specific printer driver. [Figure 14] Example of a PrintTicket for a fax driver. [Figure 15] Examples of extended functions supported by print-start applications. [Figure 16] An example of information stored in Local Storage. [Figure 17] A schematic diagram of the WSDA user interface when a model-specific printer driver is connected. [Figure 18] Schematic diagram of the WSDA user interface when the standard printer driver is connected. [Figure 19] Schematic diagram of the user interface of the application that starts when printing when the fax driver is connected. [Figure 20] 10 is a schematic diagram of the user interface of the application launched when printing is performed with a standard printer driver connected. [Figure 21] 10 is a schematic diagram of the user interface of an application that starts when printing when a printer driver for a specific printer model is connected. [Figure 22] FIG. 10 is a schematic diagram illustrating a screen for issuing a print instruction. DETAILED DESCRIPTION OF THE INVENTION

[0010] In the embodiment of the present invention, an example will be described in which a GUI application provides appropriate functions according to the driver. This GUI application is started and provides a GUI when a driver that does not have the function to provide a Graphical User Interface (hereinafter also referred to as "user interface" or "GUI"), such as a V4 printer driver, is used.

[0011] Conventional Windows Store Device Apps (WSDAs), which extend V4 printer drivers, could also provide a GUI, but they had the following functional limitations. Specifically, because they were launched at the user's discretion, they were unsuitable for use cases where a user interface should always be displayed when a print request was made. Furthermore, because conventional WSDAs were designed to change print settings, they could not access the drawing data (images, text, etc. that are the basis for printing on paper) generated by the drawing application that issued the print request. As a result, it was not possible to display or edit the drawing data. Therefore, with conventional WSDAs and V4 printer drivers, it was difficult to provide functions such as displaying a user interface, accepting user operations, and reflecting them in the print process when a print request was made by the user.

[0012] Furthermore, conventional WSDA provides a user interface for specifying the capabilities of the connected printer driver according to the information indicating those capabilities. Even if WSDA included function instructions not included in the printer driver's capability information in the print settings, the information would be unknown to the printer driver and would therefore not function effectively. Furthermore, as mentioned above, conventional WSDA cannot access rendering data, so WSDA itself cannot receive function instructions and edit the rendering data. Therefore, even if a vendor that provides a printing device provided WSDA for a class driver such as that provided with the OS, the vendor could not independently extend the functionality.

[0013] The present invention can provide appropriate functions according to the driver using an application that is not subject to the above-mentioned functional limitations. Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the present embodiments are necessarily essential to the solution of the present invention. Note that identical components are given the same reference numerals, and their description will be omitted.

[0014] <<Embodiment 1>> <Printing system hardware configuration> 1 is a block diagram showing the hardware configuration of a printing system. In this diagram, a host computer 101 is an example of an information processing device, and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115.

[0015] An initialization program is stored in the ROM 112, and application programs, an operating system (OS), a printer driver, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory when the various programs stored in the external storage device 114 are executed.

[0016] In this embodiment, the CPU 111 executes processing according to the procedures of a program stored in the ROM 112, thereby realizing functions and processing according to flowcharts described below in the host computer 101. The printing device 102, which is a device, is connected to the host computer 101 via an input / output interface 116. Here, the host computer 101 and the printing device 102 are configured separately, but they may also be configured as a single information processing device.

[0017] <Block structure of the driver printing system> 2 is a block diagram of a driver printing system. Here, the description is based on the premise that the host computer 101 is running Microsoft Windows 8 or later as its operating system, and that the printing system operates on an architecture known as a V4 printer driver.

[0018] When a user issues a print instruction from a UWP (Universal Windows Platform) application 202, a predetermined screen is displayed by an MPD (Modern Print Dialog) (not shown), which is a function of the OS. The UWP application 202 is a drawing application. The screen provided by the MPD has a print preview function that allows the print result to be confirmed on the screen and a function that allows the user to select basic print settings. A specific example is shown in FIG. 22. In FIG. 22(A), when a print instruction is issued on a screen 2201 provided by a UWP application, which is a drawing application, a settings screen 2202 shown in FIG. 22(B) is displayed by the MPD of the OS. In this settings screen 2202, the user can select a driver to use. Furthermore, basic print settings can also be specified on the settings screen 2202.

[0019] Furthermore, the MPD launches a Windows Store Device Application (hereinafter, WSDA) 207 that allows the user to select detailed print settings in response to user instructions. Specifically, when the “More Settings” button 2203 is selected on the settings screen 2202 in FIG. 22(B), a detailed settings screen 2204 provided by WSDA, as shown in FIG. 22(C), is displayed. This detailed settings screen 2204 allows the user to specify more detailed print settings. WSDA 207 is an application for extending the functionality of the printer driver 201 provided by a vendor of a printing device (hereinafter, printer vendor). Note that the image that appears to be an original image displayed on the detailed settings screen 2204 provided by WSDA is a sample image originally provided by WSDA. Therefore, it is not a preview image based on rendering data generated by a UWP application, but a sample image that does not change even if the rendering data changes. WSDA 207 receives information indicating print settings from the MPD, changes the setting information in response to user operations, and returns the information to the MPD. Here, the information indicating print settings is written in XML format based on a format defined by the OS and is included in data called a PrintTicket. WSDA 207 can refer to and change the PrintTicket, but cannot refer to the rendering data (images, text information, etc. that are the source of printing on paper). WSDA 207 is launched only when the user selects button 2203 on print setting screen 2202 provided by MPD, and is not necessarily launched when print settings are configured.

[0020] The PrintTicket is generated by the configuration module 208 of the selected printer driver 201. WSDA 207 calls the configuration module 208 to generate a PrintTicket that reflects the user's specifications. The configuration module 208 also has the function of generating PrintCapabilities, which describes the functions and selection items that can be set by the selected printer driver 201 in XML format based on a format defined by the OS. WSDA 207 and PEX 209, described below, provide a user interface based on the information described in this PrintCapabilities. The print-time launch application 205, described below, can obtain the PrintCapabilities generated by the configuration module 208 via OS functions.

[0021] 2, configuration module 208 is shown as a function of printer driver 201, but configuration module 208 is originally a component of the OS. However, in a V4 printer driver, the driver itself does not have a configuration module, so configuration module 208, which is a component of the OS, is used as the driver's configuration module. Printer vendors can customize the operation of configuration module 208 using a GPD or JavaScript Constraint (not shown) included in printer driver 201.

[0022] After the print settings shown in Fig. 22 are made, a print request is made when the "Print" button is pressed on the settings screen 2202 provided by the MPD of the OS. When a user issues a print instruction on the MPD, the UWP application 202 receives the request from the MPD and generates print data required for printing. This print data is an XPS document written in a format called XML Paper Specification (hereinafter, XPS). The print data of this embodiment includes the aforementioned PrintTicket and drawing data generated by a drawing application.

[0023] The XPS document generated by the UWP application 202 is passed to a print-time launch application launcher 204, which is an OS component. If the print-time launch application launcher 204 determines that a print-time launch application 205 associated with the printer driver 201 exists and is configured to be launched, the print-time launch application launcher 204 launches the print-time launch application 205. If a corresponding print-time launch application 205 does not exist, the print-time launch application launcher 204 stores the XPS document as a spool file 206.

[0024] Like WSDA 207, print-time startup application 205 is an application for extending the functionality of printer driver 201 provided by the printer vendor. In other words, it is a GUI application that can provide a GUI based on instructions from the OS when a driver that does not have the functionality to provide a GUI, such as a V4 driver, is selected. However, when a V3 driver that has the functionality to provide a GUI is selected, the OS does not start print-time startup application launcher 204, and stores the XPS document generated by the drawing application as spool file 206. In other words, when a V3 driver is selected, print-time startup application 205 is not started, and no GUI is provided.

[0025] Note that both WSDA 207 and print-start application 205 are standalone applications, and are not provided as part of the printer driver 201. Although WSDA 207 and print-start application 205 can be configured together as a single application, for the sake of convenience, they are described here as separate applications in order to explain the differences from conventional WSDA.

[0026] The OS typically obtains the WSDA 207 and the print-time startup application 205 from an application distribution system (not shown) (a server managed by Microsoft®) via the Internet. Furthermore, the printer vendor provides metadata (described below) in advance to a metadata server managed by Microsoft®, which allows the appropriate WSDA 207 and print-time startup application 205 to be automatically installed. Specifically, when the printing device 102, which is a device, is connected to the input / output interface 116, the WSDA 207 and print-time startup application 205 associated with the printing device 102 are automatically installed based on the metadata.

[0027] The print-activated application 205 can display a user interface that accepts operation instructions from the user. It can also receive an XPS document, which is print data, and edit the PrintTicket and drawing data within the XPS document. When the print-activated application 205 outputs the edited XPS document as needed, the OS stores it as a spool file 206. Once the spool file 206 is stored, processing is handed over to the filter pipeline manager 210. The filter pipeline manager 210 prints by passing the data through multiple filters, and the number and order of filters are controlled by a configuration file (not shown). The filter group in this embodiment includes a layout filter 211, which is a layout processing unit, and a print command filter 212, which is a print command conversion unit.

[0028] The layout filter 211 has a function of inputting an XPS document stored in the XPS spool file 206, performing page layout processing based on print setting information, and outputting the laid-out XPS document. Layout processing includes, for example, layout printing, in which multiple pages are printed on one sheet of paper, and poster printing, in which one page is printed on multiple sheets of paper.

[0029] The print command filter 212 receives the output of the layout filter 211 as input, and has the function of converting the XPS document into print commands that can be interpreted by the printing device 102 and outputting them according to the print setting information. When the print command filter 212 converts the input XPS document into image data, the print command filter 212 is generally called a render filter. Render filters are often found in printer drivers for inexpensive raster printers, such as inkjet printers. When the print command filter 212 operates as a render filter, it converts the input XPS document into image data. After that, the data undergoes image processing such as color space conversion and binarization, and is then converted into print commands that can be interpreted by the raster printer.

[0030] In a high-performance printer such as a page printer, if the types of print commands that the printing device 102 can interpret include XPS, the print command filter 212 edits the input XPS document and outputs the XPS document. If processing by the print command filter 212 is not required, the input XPS document may be output as is, or the print command filter 212 may not be included in the printer driver 201. This completes the basic processing of printing from the UWP application 202.

[0031] A legacy application 203, such as a drawing application like a Win32 application, can launch Printer Extensions 209 (hereinafter, PEX) to set print settings. PEX is launched via a configuration module 208 and can provide a user interface that allows the user to specify print settings. PEX 209 can be provided as a component of a driver package together with the printer driver 201, or it can be distributed separately. Like WSDA 207, PEX 209 can reference and modify PrintTickets, but it cannot reference drawing data (such as images and text information that are used to print on paper). Furthermore, PEX 209 is launched only when a user instructs it to do so in the legacy application 203; it is not necessarily launched when printing. When a print command is issued from the legacy application 203, the legacy application 203 generates an XPS document as print data. The subsequent flow is the same as when printing from a UWP application 202, so it is omitted here.

[0032] Note that the printer driver 201 in this configuration may also function as a fax driver. In this case, the printer driver 201 generates fax commands for requesting the printing device to send a fax, rather than print commands that the printing device can interpret. In the following explanation, for convenience, even in the case of a fax driver, the printer driver will be referred to as the printer driver 201, and even in the case of a fax instruction, the printer driver will be referred to as a print instruction.

[0033] <Metadata that associates the printing device with the application that starts when printing> FIG. 3 shows an example of a description indicating compatible device information in Metadata 301, which associates a printing device 102 with a print-time launch application 205. Metadata 301 includes a HardwareIDList tag 302 that lists the printing devices 102 that use Metadata 301. Item 303 indicates that a printing device 102 with a Hardware ID of MFP1_abcd uses this Metadata. Similarly, item 304 indicates that a printing device 102 with a Hardware ID of MFP2_ijkl uses Metadata 301. In this way, one piece of Metadata can list multiple devices that use that Metadata. While Metadata 301 specifies two printing devices as devices, it could also specify one, three, or more. The Hardware ID is identification information returned from the printing device 102 that uniquely identifies the printing device 102.

[0034] 4 shows an example of a description indicating an associated print-time startup application 205 in Metadata 301 that associates the printing device 102, which is a device, with the print-time startup application 205, which is a GUI application. The Metadata in FIG. 4 describes a DeviceCompanionApplications tag 401 that indicates the print-time startup application 205 associated by Metadata 301. Item 402 indicates that the print-time startup application 205, 1234abcd.MFPUtility, provided by a printer vendor named 12345678-abcd-efgh-ijkl-123456789012, is associated with the printing device 102 listed in the HardwareIDList tag 302.

[0035] When the printing device 102 is connected to the host computer 101, the OS searches for Metadata registered in a predetermined server (a Metadata server managed by Microsoft (registered trademark)). Then, when it finds the Metadata in the HardwareIDList that describes the Hardware ID returned by the connected printing device 102, it saves it to the external storage device 114 of the printing device 102. Further, the OS acquires the printing startup application 205 described in the DeviceCompanionApplication tag 401 of the saved Metadata from an application distribution system (not shown). Then, it installs the printing startup application 205 on the external storage device 114 and associates it with the printing device 102. As a result, when a printing request is generated via the printer driver 201 for the printing device 102, the associated printing startup application 205 is launched.

[0036] This Metadata is provided by the printer vendor. By providing this Metadata in advance to the Metadata server managed by Microsoft (registered trademark), the printer vendor can control to automatically install the printing startup application 205 optimal for the connected device when the printer driver 201 is installed in the user environment. Note that, at the user's instruction, multiple printer drivers 201 may be installed for one device.

[0037] <Printing Environment Constructed with Metadata301> 5 is a diagram showing an example of a printing environment constructed using Metadata 301. MFP 501, which is the printing device 102, has a printing function unit 504 and a fax function unit 505 that sends accepted print requests as faxes. The printing device unit 504 has a hardware ID of MFP1_abcd. The fax function unit 505 has a hardware ID of MFP1_efgh. The hardware ID of the fax function unit 505 can also be configured to be the same as that of the printing device unit 504, allowing processing to be switched by command.

[0038] When the MFP 501 is connected to the host computer, the OS acquires Metadata 301 in which the Hardware ID MFP1_abcd is written in the HardwareIDList tag.

[0039] Furthermore, the print startup application 205 called MFPUtility 506 described in Metadata 301 is acquired and associated with the MFP 501. Although the Fax function unit 505 has a different Hardware ID from the printing device unit 504, the OS determines these two processing units as the same device (composite device) based on the information acquired from the printing device 102. Therefore, the Fax function unit 505 is also associated with the same Metadata 301 and MFPUtility 506 as the printing device unit 504. Note that a configuration may be adopted in which MFP1_efgh, which is the Hardware ID of the Fax function unit 505, is described in HardwareIDList 302 of Metadata 301.

[0040] There may be multiple types of printer driver 201 installed for the printing device unit 504 of the MFP 501. In other words, multiple drivers may exist that correspond to a single device, the MFP 501. The model-specific printer driver 508 is a printer driver dedicated to the printing device unit 504 of the MFP 501, provided by a printer vendor. The universal printer driver 509 is a universal printer driver provided by a printer vendor that can process multiple types of printing devices 102 of that printer vendor. The standard printer driver 510, which is a class driver that can be used in common by printing devices provided by multiple vendors, is a printer driver provided together with the OS as one of the functions in the OS package. The standard printer driver 510 is a printer driver that can process a wide range of printing devices 102 by using a standardized printing method.

[0041] As such, there are multiple printer drivers 201 available for a given printing device 102, and the printer driver 201 used varies depending on the Internet connection status, OS type, usage environment, etc. Typically, the OS references printer driver version information and automatically selects and installs the newest printer driver 201 with the most functionality from among the available printer drivers 201. Note that the printer driver 201 contains information for identifying the device, such as a Hardware ID and a Compatible ID. When the printing device 102 is connected to the host computer 101, the OS obtains this ID information from the printing device 102, searches for the printer driver 201 with the corresponding ID, and installs it.

[0042] Fax driver 511 including a Hardware ID of MFP1_efgh is installed for FAX function unit 505 of MFP 501. Furthermore, when MFP 502 having a Hardware ID of MFP2_ijkl is connected to host computer 101, MFP 502 is associated with MFP Utility 506. This is because MFP2_ijkl is included in the Hardware ID List targeted by Metadata 301, as shown in 304 of FIG. 3. MFP 503 having a Hardware ID of MFP3_mnop is associated with MFP Utility 507, which is different from MFP Utility 506, due to the specification of Metadata (not shown) that is different from Metadata 301.

[0043] As described above, by providing metadata, a printer vendor that provides printing devices 102 can control which print-time startup application 205 is provided for each printing device 102. For example, a printer vendor can provide one print-time startup application 205 common to multiple printing devices 102, or can provide a different print-time startup application 205 for each printing device 102. However, it is not possible to provide different print-time startup applications 205 depending on the type of printer driver 201 associated with the printing device 102. In FIG. 5, there are four types of printer drivers 201 used by MFP 501, driver 508 to driver 511, but only one type of print-time startup application 205 is always associated.

[0044] The WSDA 207 is also associated with the printing device 102 and the printer driver 201 in the same manner as the print-time startup application 205. Therefore, the restrictions on association are the same as those for the print-time startup application 205.

[0045] <Setup process for the application that starts when printing> FIG. 6 is a diagram showing the main processing flow of the setup processing of the print-time startup application 205 in this printing system. This processing flow is an example of the processing of the print-time startup application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time startup application 205 will sometimes be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. Note that not all processing is necessarily executed sequentially in a single process; there may be cases where processing is transferred to the OS side and then called again by the OS. This is merely a flow that conveniently and easily illustrates the main processing of the print-time startup application 205.

[0046] When the print-time startup application launcher 204 receives an XPS document from the drawing application that issued the print request, it invokes initialization processing of the print-time startup application 205 associated with the printing device 102. After the print settings described above in Fig. 22 are made, when the "Print" button is pressed on the setting screen 2202 provided by the OS, a print request is made and the XPS document is output from the drawing application.

[0047] During initialization processing, the print-start application 205 registers the setup processing shown in Fig. 6 and the edit and end processing shown in Fig. 8, which will be described later, as event handlers defined by the OS. When the print-start application 205 completes the initialization processing, the OS executes the setup processing of the print-start application 205, which has been registered as a defined event handler. Fig. 6 shows this setup processing.

[0048] First, the print-time startup application 205 obtains the PrintTicket stored in the XPS document (S601). As explained in Figure 2, the PrintTicket is data that includes information indicating print settings, and is generated by the configuration module 208 based on the print settings specified by the user. The PrintTicket can be obtained from the XPS document by calling a specific API of the OS.

[0049] Next, the print-time startup application 205 acquires PrintCapabilities, which is data including information indicating the capabilities of the printer driver 201. Then, by checking the namespace within the PrintCapabilities, it determines the type of printer driver 201 that received the print request from the application (S602). The namespace of PrintCapabilities and the determination method will be described in detail later.

[0050] Note that, because a PrintTicket typically also stores namespace information equivalent to PrintCapabilities, the determination in step S602 may be made using the PrintTicket. Because obtaining PrintCapabilities takes time, using a PrintTicket can shorten processing time depending on the configuration. The printer driver 201 may also store information for the determination in a DriverPropertyBag (not shown) or the like. The print-time startup application 205 may be configured to obtain the information stored in the DriverPropertyBag and use it for the determination.

[0051] If the result of the determination in S602 is that the printer driver 201 that received the print request from the application is a fax driver, the print-activated application 205 saves information that the operating mode is the fax driver mode (S603). The process of S603 and the storage of information of the print-activated application 205 described below use, as an example, local storage provided by the OS. The overall configuration of information stored in local storage will be described later. Similarly, the print-activated application 205 saves information that the UI display is enabled in local storage (S604).

[0052] Thereafter, a specified API provided by the OS is called to instruct the display of a user interface in the current execution of the print-time startup application 205 (S605). By executing this API, the UI processing of the print-time startup application 205 shown in Fig. 7 (described later) is called, and the print-time startup application 205 displays the user interface. This completes the setup processing of the print-time startup application 205 in the fax driver mode.

[0053] If it is determined in S602 that the printer driver 201 that received the print request from the application is not a fax driver, the print-time startup application 205 saves that the operating mode is the printer driver mode (S606).

[0054] Next, the PrintTicket is referenced to determine whether a print preview launch instruction exists (S607). A specific method for checking the PrintTicket will be described later with reference to FIG. 13. The print preview launch instruction may be implemented by a method other than the PrintTicket, as long as it can be specified by WSDA 207 and PEX 209 and referenced by the print-time launch application 205. For example, the UserPropertyBag or QueuePropertyBag provided by the OS as a storage location for printer driver 201 configuration information may be used. Note that a print preview refers to the display on the display unit 119 of an image of the print result that will be generated on paper based on the print settings and print data generated by the application. In other words, the presence of a print preview launch instruction in the PrintTicket indicates that the user has instructed the display of the print preview screen. By viewing the print preview screen, the user can confirm whether the desired print result will be obtained before printing and, if necessary, modify the print settings, delete specific pages, or cancel the print process.

[0055] If it is determined in S607 that a print preview startup instruction is not present, the print-time startup application 205 proceeds to S609. If it is determined in S607 that a print preview startup instruction is present, the print-time startup application 205 saves that the print preview is valid (S608).

[0056] Next, in step S609, the print-time launch application 205 checks whether a function extension instruction exists in the PropertyBag. As mentioned above, the PropertyBag refers to the UserPropertyBag or the QueuePropertyBag. This function extension allows a printer vendor to extend the functions that can be specified during printing, for example, when a printer driver has only basic functions like the standard printer driver 510. If a PrintTicket containing a function extension instruction is passed to the standard printer driver 510, the instruction is unknown to the standard printer driver 510 and is therefore deleted as an invalid instruction. In such a case, storing the function extension instruction in the PropertyBag prevents deletion and maintains the instruction. On the other hand, a PrintTicket is information included in the XPS document, which is the print data, and is stored on a print data-by-print data basis. Therefore, even when multiple print requests are made consecutively, it has the advantage of accurately enabling or disabling print previews and function extensions for each print request. The print-time startup application 205 may be configured to skip the process of S609 and always enable the function extension if the extension is possible.

[0057] If it is determined in S609 that no function extension instructions exist in the PropertyBag, the printing startup application 205 proceeds to S613. If it is determined in S609 that a function extension instruction exists in the PropertyBag, the printing startup application 205 acquires PrintCapabilities (S610). If PrintCapabilities have already been acquired in S602, the processing of S610 is skipped.

[0058] Next, the print-time startup application 205 determines whether there is a predetermined function not supported by PrintCapabilities (S611). The predetermined function refers to a function that the print-time startup application 205 has the ability to edit by itself and can be provided by the print-time startup application 205 as an extended function. That is, the print-time startup application 205 determines whether there is a function that is not described in PrintCapabilities and that the print-time startup application 205 can provide. Thereby, it is determined whether there is a function that the printer driver 201 does not support and that the print-time startup application 205 can provide. The details of this determination process will be described later using FIG. 15.

[0059] If it is determined in S611 that the corresponding function does not exist, the print-time startup application 205 proceeds to S613. If it is determined in S611 that the corresponding function exists, the print-time startup application 205 saves the corresponding function in Local Storage as an extended function (S612).

[0060] Next, the print-time startup application 205 determines whether the print preview is valid or whether there is an extended function to be provided (S613). If S613 is Yes, the print-time startup application 205 proceeds to S604 and instructs the display of the user interface. If S614 is No, the print-time startup application 205 ends the setup process.

[0061] As described above, in the setup process of the print-time startup application 205, it is determined whether it is necessary to start the user interface. If necessary, it is instructed, and the necessary information is stored for subsequent processing.

[0062] <Configuration Examples and Related Processes of PrintTicket and PrintCapabilities> 9 to 12 are examples of PrintCapabilities for printer drivers and fax drivers with different configurations. Note that these PrintCapabilities are mainly written to focus on the parts necessary for explanation, and some parts have been omitted.

[0063] Figure 9 is an example of PrintCapabilities for the fax driver 511. At the beginning of PrintCapabilities is a psf:PrintCapabilities element, whose attributes define the namespace used by that PrintCapabilities. Typically, this lists a namespace that indicates the definition of an OS standard called PrintSchema, as well as namespaces that are uniquely defined by the printer vendor that provides this printer driver 201. The PrintCapabilities shown in Figure 9 includes a namespace 901 that is uniquely defined by the printer vendor.

[0064] 10 shows an example of PrintCapabilities for the model-specific printer driver 508. The PrintCapabilities shown in Fig. 10 includes a namespace 1001 that is uniquely defined by the printer vendor. Fig. 11 shows an example of PrintCapabilities for the common driver 509, and Fig. 12 shows an example of PrintCapabilities for the standard printer driver 510.

[0065] The namespace is used to uniquely define selectable functions, selection items, and their definitions, and generally has different values ​​when the set of functions is significantly different, such as for a printer and a fax, even for printer drivers 201 provided by the same printer vendor. Using this, S602 can determine whether the namespace includes a URL such as http: / / www.mfpvendor.com / ns / printschema / fax / v100, as shown in namespace 901 in Figure 9.

[0066] Figure 13 shows an example of a PrintTicket generated based on PrintCapabilities 1000 of the model-specific printer driver 508 shown in Figure 10. As shown in Figure 13, the PrintTicket stores the setting values ​​of each function defined in PrintCapabilities. For example, the Feature psk:PageMediaType indicates the paper type to be used for printing, and the PrintTicket in Figure 13 specifies psk:Plain, i.e., plain paper. The process of S607 to determine whether or not a print preview has been instructed to start is to determine whether or not the specified value of the Feature ns0000:JobPreview is set to ns0000:ON.

[0067] Next, the determination process of S611 will be described in detail using the PrintCapabilities in Figures 10 to 12 and Figure 15. Figure 15 shows a list of predetermined functions that the print-activated application 205 can provide as extended functions and their selection items. Here, the print-activated application 205 has a page layout function that lays out multiple pages on one page and prints them, and a stamp function that overlays a specified stamp on the print result.

[0068] In the determination process of S611, the print-time startup application 205 analyzes PrintCapabilities to check whether the function indicated by "Function Name" in Fig. 15 exists. If the print target is PrintCapabilities 1000 of the model-specific printer driver 508, a Feature called JobNUpAllDocumentsContiguously and a Feature called PageStamp exist. Therefore, the determination result of S611 is No.

[0069] When the printing target is the PrintCapabilities 1100 of the common printer driver 509, the Feature "JobNUpAllDocumentsContiguously" exists, but the Feature "PageStamp" does not. Therefore, the determination result of S611 is Yes. At that time, what the printing startup application 205 provides as an extended function is PageStamp, that is, the stamp function. When the printing target is the PrintCapabilities 1200 of the standard printer driver 510, neither the Feature "JobNUpAllDocumentsContiguously" nor the Feature "PageStamp" exists. Therefore, the determination result of S611 is Yes. At that time, what the printing startup application 205 provides as an extended function are "JobNUpAllDocumentsContiguously" and "PageStamp", that is, the allocation function and the stamp function.

[0070] <Example of WSDA Processing and User Interface Configuration> Figure 17 is a diagram showing an example of the user interface provided by WSDA 207 when the per-model printer driver 508 is selected by the user. The screen of this Figure 17 is an example of the setting screen provided by WSDA 207 and is the screen provided before a print request is made from the drawing application. As shown in 1002, the per-model printer driver 508 supports the Feature "JobPreview", which indicates the print preview function. Since WSDA 207 configures the user interface based on the PrintCapabilities obtained from the printer driver 201, it displays a control item 1701 for switching the validity of the print preview based on 1002. WSDA 207 stores the ON and OFF of the Feature "JobPreview" in the PrintTicket according to the user's specification. The printing startup application 205 refers to this information in the process of S607 to determine whether there is an instruction to start the print preview.

[0071] FIG. 18 shows an example of the user interface of WSDA 207 when the standard printer driver 510 is selected as the print destination. The screen in FIG. 18 is also an example of a settings screen provided by WSDA 207, and is provided before a print request is made from a drawing application. The standard printer driver 510 does not support a feature called JobPreview. In such a case, WSDA 207 displays a control item 1801 for selecting whether to enable an extended function. When the user presses the OK button 1802, WSDA 207 stores the value specified in control 1801 in a PropertyBag. Note that WSDA 207 may be configured to instruct the user to launch a print preview in addition to the extended function. In this case, the extended function and print preview may be specified using different controls, or may be specified simultaneously using a single control.

[0072] It should be noted that the PEX 209 can also provide a means for controlling the launch of the print-time launch application 205 by performing processing equivalent to the above processing of the WSDA 207.

[0073] <UI processing of the application launched when printing> When the UI display specification in S605 is executed, the OS invokes the UI processing of the print-time application 205 after completing the setup processing of the print-time application 205. FIG. 7 is a diagram showing the main processing flow of the UI processing of the print-time application 205 in this printing system. This processing flow is an example of the processing of the print-time application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time application 205 will be described as the subject of each processing, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. Note that not all processing is necessarily executed sequentially in a single process; processing may be transferred to the OS once and then invoked again by the OS. This flow merely illustrates the main processing of the print-time application 205 for convenience and ease of understanding. Note that when the UI display specification in S605 is not executed, the OS skips the UI processing shown in FIG. 7 and invokes the editing and termination processing described below.

[0074] First, the print-time startup application 205 reads the operation mode saved in S603 or S606 from the local storage (S701), and determines whether it is the fax driver mode or the printer driver mode (S702).

[0075] If the operation mode is the fax driver mode, the print startup application 205 configures a user interface for the fax driver (S703). The user interface for the fax driver has control items that allow the user to specify a destination and a fax number. Details of the user interface for the fax driver will be described later using FIG. 19.

[0076] The print-time startup application 205 accepts input from the user (S704), and when a fax transmission instruction is given on the user interface, it saves the destination and fax number specified by the user in local storage (S705).

[0077] This completes the fax driver mode processing of the print-time launched application 205. Thus, in fax driver mode, the print-time launched application 205 always displays a user interface as an input screen on which the destination and fax number can be specified (see FIG. 19, described later). In a fax driver, the destination and fax number are essential destination information for sending a fax. Even if WSDA 207 or PEX 209 is configured to allow the user to specify the destination and fax number, these user interfaces are not necessarily opened when printing. By allowing the destination and fax number to be specified in the print-time launched application 205, the user can reliably enter the destination for the current fax transmission process. Furthermore, the WSDA 207 or PEX 209 screen, which is displayed only upon user instruction, may also be configured to allow the destination and fax number to be specified. This provides a means for specifying the destination and fax number even in cases where the print-time launched application 205 does not launch for some reason. If WSDA 207 or PEX 209 is configured to allow the user to specify a destination and fax number, the print-time launched application 205 may be configured to execute a UI display instruction only in certain cases. That is, if the PrintTicket contains a destination and fax number, the print-time launched application 205 executes the UI display instruction of S605, but if the PrintTicket does not contain a destination and fax number, the print-time launched application 205 does not execute the UI display instruction of S605. This allows the print-time launched application to be configured to launch only if the user forgets to specify a destination and fax number in WSDA 207 or PEX 209.

[0078] If it is determined in S702 that the operation mode is not the fax driver mode, the print startup application 205 reads the extended function saved in S612 (S706).

[0079] Next, the print-time launched application 205 references the information saved in S608 and determines whether the print preview is enabled (S707). If the print preview is not enabled, the print-time launched application 205 proceeds to the user interface configuration process of S713. If the print preview is enabled, the print-time launched application 205 acquires a PrintTicket (S708).

[0080] Furthermore, the print-time startup application 205 acquires PrintCapabilities based on the PrintTicket (S709). Note that since acquiring PrintCapabilities takes time, the information required in the Setup process of Fig. 6 may be saved in local storage and used in S709.

[0081] Next, the print-time launched application 205 analyzes the acquired PrintCapabilities to determine whether specific functions are supported. The application then saves the found functions and the setting values ​​specified in the PrintTicket as driver functions in Local Storage (S710). Here, as an example, the print-time launched application 205 searches for two specific functions: a layout function and a paper type setting. The search process is performed by determining whether a Feature with a specified name exists in PrintCapabilities. Note that the extended functions saved in S612 indicate functions that the driver does not have, whereas the driver functions saved in S710 are functions that the driver does have. Therefore, when these driver functions are enabled in the PrintTicket, the printer driver 201 can correctly execute processing according to the specifications.

[0082] Next, the print-time launched application 205 acquires the XPS document using a predetermined API of the OS (S711). Furthermore, the print-time launched application 205 analyzes the contents of the XPS document and displays it on the display unit 119 (S712). At this time, the print-time launched application 205 can realize a more accurate print preview by reflecting the setting values ​​set in the PrintTicket in the print result.

[0083] The XPS document received by the print-time launched application 205 is generated by the application that issued the print request and is data prior to processing by the printer driver 201. Therefore, even if layout printing is specified in the PrintTicket in the XPS document, the layout processing has not been performed on the XPS document received by the print-time launched application 205. Taking such cases into consideration, the print-time launched application 205 displays a print image on the display unit 119 that reflects print settings using logic equivalent to that implemented by a subsequent driver. If print settings are changed on the user interface displayed by the print-time launched application 205, the print-time launched application 205 redisplays a print image on the display unit 119 that reflects the changes. Note that with a printer driver not provided by the printer vendor, such as the standard printer driver 510, it is unclear what logic will be used to reflect the print settings in the XPS document. In such a case, the print-time launched application 205 either skips reflecting the specified function or reflects it using its own logic and then displays a message on the display unit 119 indicating that there may be differences. Furthermore, with regard to the extended function that the print-start application 205 provides including functions for editing XPS documents, the print-start application 205 may simply display a print image that reflects the print settings on the display unit 119 using the same logic as the actual editing.

[0084] Next, the print-time startup application 205 configures a user interface with controls that enable specification of the extended function saved in S612 and the driver function saved in S710 (S713). The items displayed as options for the extended function saved in S612 are the "Options" information in FIG. 15, i.e., the items supported by the print-time startup application 205. The items displayed as options for the driver function saved in S710 are a list of options for the corresponding function in PrintCapabilities. For example, if the paper type can be specified based on the information in PrintCapabilities1000, all supported options for psk:PageMediaType (psk:Plain, ns0000:PhotoPaper, etc.) are listed as options. Although omitted in PrintCapabilities1000, each feature and option typically has an element called DisplayName. Since the DisplayName contains appropriate name information that has been localized, the print-time startup application 205 displays the DisplayName name as an option for each driver function.

[0085] The print-time startup application 205 accepts input from the user (S714), and when printing is instructed on the user interface, saves the setting values ​​of each function specified by the user in Local Storage (S715). This completes the processing of the printer driver mode of the print-time startup application 205.

[0086] The processes from S708 to S710 may be configured to be executed even if the print preview is not enabled as determined in S707. This allows the user to be prompted to recheck important print settings that must be checked before printing using the print-time startup application 205, and to be provided with a means for changing the settings if necessary.

[0087] FIG. 19 shows an example of a user interface as an input screen displayed when the print-startup application 205 operates in fax driver mode. Display item 1901 is a control item that allows the user to specify a destination. Display item 1902 is a control item that allows the user to input a fax number. Display item 1903 is a button for launching the address book. Pressing this button launches the address book, and by selecting a destination in the address book, the destination and fax number are automatically entered. Display item 1905 is a button for starting fax transmission. The user cannot press this button unless the destination and fax number have been entered. Display item 1906 is a cancel button, and when the user presses this button, the subsequent fax transmission process is canceled.

[0088] With this configuration, in the fax driver mode, the print-activated application 205 can always display a user interface as an input screen on which the destination and fax number can be specified. In the fax driver, the destination and fax number are essential information for sending a fax. By making it possible to specify the destination and fax number in the print-activated application 205, the user can reliably input the destination for the current fax transmission process.

[0089] FIG. 20 shows an example of a user interface for specifying an extended function that is displayed when the print-activated application 205 operates in printer driver mode while the standard printer driver 510 is running. Note that in FIG. 20, the print preview function is not enabled. The PrintCapabilities 1200 of the standard printer driver 510 does not support either the layout printing function or the stamp function. Therefore, the print-activated application 205 saves the layout printing function and the stamp function as extended functions in the processes of S611 and S612. As a result, these two functions are provided as extended functions. Display item 2001 is a control item for specifying the settings for the layout printing function. Display item 2002 is a control item for specifying the settings for the stamp function. Display item 2003 is a button for starting printing. Display item 2004 is a cancel button; when the user presses this button, the subsequent printing process is canceled. Note that if the operating driver is the universal printer driver 509, only the stamp function is displayed as an extended function. This is because the allocation function is supported in the PrintCapabilities 1100 of the universal printer driver 509 .

[0090] With this configuration, it is possible to expand print functions by using the print startup application 205 in a driver such as the standard printer driver 510, which is provided by Microsoft (registered trademark) like the OS and cannot be expanded by the printer vendor. Furthermore, information indicating the capabilities of the driver in operation is determined, and only the missing functions are provided as expanded functions. This makes it possible to provide the optimal expanded functions for each printer driver 201 in cases where there are multiple types of printer drivers 201 available. Furthermore, the user can control whether or not to display a user interface to expand functions when printing. This also makes it possible to accommodate use cases where it is not desirable to display a user interface each time.

[0091] FIG. 21 shows an example of a user interface when the print-startup application 205 operates in printer driver mode while the model-specific printer driver 508 is running. It is assumed that the print preview function is enabled. Display item 2101 is a control item for changing the page displayed in the print preview. The user can use this control item to change the displayed page and also check the total number of pages to be printed with the current print data and print settings. Display item 2102 is a print preview screen that shows an image of the print result of the specified page. Display item 2103 is a control item for specifying the layout printing function. Display item 2104 is a control item for specifying the paper type. Display items 2013 and 2014 display driver functions, not extended functions, so as mentioned above, the selection items conform to the functions of the printer driver 201. Display item 2105 is a button for starting printing. Display item 2106 is a cancel button; when the user presses this button, the subsequent print processing is canceled. Although only the driver functions are displayed in FIG. 21, if both the driver functions and the extended functions are enabled as a result of the processing in FIGS. 6 and 7, the print-time startup application 205 will display controls that can be specified for all of those functions.

[0092] This configuration realizes a print preview function that displays a print image that is close to the actual print result before printing, based on the XPS document generated by the drawing application and the print settings specified by the user. It also makes it possible to make final adjustments to the print settings while checking the print result and the number of pages to be printed. These functions prevent misprints and provide a means for final adjustments, such as limiting the number of pages to be printed.

[0093] <Editing and closing applications launched when printing> After the UI processing of the print-time launch application 205 in FIG. 7 is completed, the OS invokes the edit and termination processing of the print-time launch application 205 in FIG. 8. If the UI display specification processing of S605 is not executed, the OS invokes this processing without invoking the UI processing of the print-time launch application 205 in FIG. 7. This processing flow is an example of the processing of the print-time launch application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time launch application 205 will sometimes be described as the subject of each processing, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program. Furthermore, not all processing is necessarily executed sequentially in a single process; processing may be transferred to the OS once and then invoked again by the OS. This flow merely illustrates the main processing of the print-time launch application 205 for convenience and ease of understanding.

[0094] The print-time launched application 205 reads the operation mode saved in S603 and S606 and the UI display information saved in S604 from Local Storage (S801). If it is determined in S802 that no UI display is present, the print-time launched application 205 acquires the XPS document using the OS API (S806) and outputs the XPS document as is without modifying it (S807). In this way, even if the print-time launched application 205 does not modify the XPS document, it must acquire and output the entire XPS document. This is the end of the processing of the print-time launched application 205 when a user interface is not displayed. In this way, if the print-time launched application 205 determines that a user interface does not need to be displayed, it terminates processing without displaying the user interface.

[0095] If it is determined in S802 that a UI was displayed, the print-time launched application 205 determines whether the operating mode was the fax driver mode based on the information read in S801 (S808). If it is determined that the operating mode was the fax driver mode, the print-time launched application 205 acquires the destination and fax number saved in S705 from Local Storage (S803). Next, the print-time launched application 205 acquires a PrintTicket using an OS API (S804). Furthermore, the print-time launched application 205 stores the destination and fax number acquired in S803 in the PrintTicket (S805).

[0096] An example of a PrintTicket that stores this information is shown in Figure 14. Here, the destination is stored as JobRecipientName, and the fax number is stored as JobFaxNumber. After editing the PrintTicket, the print-launched application 205 stores the PrintTicket in an XPS document as necessary, outputs the XPS document, and then terminates processing. The fax driver 511 references the PrintTicket to obtain the destination and fax number, and sends a job to the printing device 102 to send a fax to the specified fax number.

[0097] If it is determined in S808 that the operating mode is not the fax driver mode, the print-time startup application 205 determines the functions to be provided in S710. Then, the print-time startup application 205 reads the setting values ​​of the driver functions designated by the user in 2104 or the like from the local storage (S809). Next, the print-time startup application 205 determines whether the setting values ​​of the driver functions have been changed from the initial state (S810).

[0098] If it is determined in S810 that the driver function setting values ​​have not changed, the print-time launched application 205 proceeds to processing in S813. If it is determined in S810 that the driver function setting values ​​have changed, the print-time launched application 205 acquires a PrintTicket (S811) and reflects the driver function setting values ​​acquired in S809 in the PrintTicket (S812). The configuration of the information stored in Local Storage to achieve these processes and the method of reflecting the changes in the PrintTicket will be described later. If there are multiple driver functions whose setting values ​​have been changed, the print-time launched application 205 performs processing to reflect the changes in the PrintTicket for all of the driver functions. After reflecting the changes in the PrintTicket, the print-time launched application 205 acquires the XPS document (S813).

[0099] Next, the print-time launched application 205 determines in S612 the functions to be provided, and reads from the local storage the setting values ​​of the extended function specified by the user from 2002, etc. (S814). Next, the print-time launched application 205 determines whether or not the setting values ​​of the extended function have been specified (S815). If it is determined in S815 that the setting values ​​of the extended function have not been specified, the print-time launched application 205 outputs the XPS document (S807) and ends the process.

[0100] If it is determined in step S815 that an extended function setting value has been specified, the print-time launched application 205 edits the drawing data in the XPS document according to the user-specified extended function and its setting value. For example, let us consider a case where a layout printing function that allocates two pages to one page has been specified. In this case, the print-time launched application 205 acquires two pages of FixedPages, which are the concept of pages in the drawing data of the XPS document, and reduces and arranges them on one FixedPage. The print-time launched application 205 then deletes the original two pages of FixedPages from the drawing data and adds the newly created FixedPages to the drawing data. This process is repeated for all pages. If multiple extended functions are specified, the print-time launched application 205 generates drawing data that reflects all of the specified extended functions. Finally, the print-time launched application 205 outputs the XPS document including the edited drawing data and terminates the process.

[0101] As described above, in this configuration, when the setting values ​​of the driver functions supported by the printer driver 201 are changed, the print-time launched application 205 reflects the change in the PrintTicket. Editing of the drawing data in the XPS document is then left to the printer driver 201. This eliminates the need for the print-time launched application 205 to perform unnecessary XPS document editing, enabling high-speed processing. In addition, because the functions of the printer driver 201 are used, the same results can be obtained whether the function is specified from the WSDA 207 or the like or whether the function is specified from the print-time launched application 205.

[0102] On the other hand, in this configuration, the print-time startup application 205 itself edits the drawing data in the XPS document for extended functions that are not supported by the printer driver 201. This makes it possible to provide the user with functions that are not supported by the printer driver 201.

[0103] 16 is a diagram showing an example of information stored in Local Storage. The stored information consists of a name and a value. In this example, the print-started application 205 operates in printer driver mode and provides a stamp function as an extended function and a layout printing function as a driver function. In the process of S612, information with a blank value and named Extended Function_PageStamp is added to Local Storage.

[0104] When the stamp function is specified on the user interface of the print-activated application 205, the specified value is stored as the value of extended function_PageStamp by the processing in S715. In this case, the user has changed the setting value to "Confidential." For the layout printing function, which is a driver function, information on the initial value set in the PrintTicket is added by the processing in S710 under the name "driver function_JobNUpAllDocumentsContiguously." When the specified value of the layout printing function is changed on the user interface of the print-activated application 205, the changed value is stored by the processing in S715. In this case, the user has changed the setting value to "ns0000:PagesPerSheet_2." This name is the option name defined in the PrintCapabilities of the printer driver 201. As described above, it is possible to determine whether it is an extended function or a driver function by the prefix of the information stored in Local Storage.

[0105] In the process of S810, the print-time launched application 205 determines whether a driver function beginning with the prefix "driver function_" exists in the local storage. In the process of S812, the print-time launched application 205 reflects the option name stored as a value in the local storage as the option name of the PrintTicket. In the process of S815, the print-time launched application 205 determines whether an extended function beginning with the prefix "extended function_" exists in the local storage.

[0106] As described above, in this embodiment, after a user issues a print instruction (i.e., after an XPS document is output from a drawing application), and before the printing operation by the printing device 102, the user interface of the printing startup application 205 can be configured to be displayed. Furthermore, in cases where the printing startup application 205 is uniquely assigned to the printing device 102 regardless of the type of printer driver 201, it is possible to achieve optimal function extensions according to the type of printer driver 201. If a fax driver is connected, a user interface is displayed as an input screen for entering the destination and fax number, which are essential for fax transmission.

[0107] When a printer driver is connected, a print preview function can be realized to check the print result in advance on the display unit 119 according to the user's specification. Furthermore, functions can be determined based on information indicating the capabilities of the connected printer driver 201, and missing functions can be provided as extended functions. As a result, even in cases where the connected driver is a standard printer driver provided by Microsoft (registered trademark) together with the OS and the printer vendor cannot extend the functions, the printer vendor can extend its own functions by using the print-time startup application 205.

[0108] In this embodiment, the fax driver mode, the print preview of the printer driver mode, and the function extension are realized by a single GUI application, the print-time startup application 205. However, it goes without saying that these three functions do not necessarily need to be implemented in combination, and the print-time startup application 205 can be configured to have one or two of the three functions.

[0109] <Embodiment 2> The above-described embodiments can also be implemented by performing the following process. That is, a recording medium storing software program code that realizes the functions of the above-described embodiments is supplied to a system or device. Then, a computer (or a CPU or MPU) of the system or device reads and executes the program code stored on the recording medium. This achieves the above-described object. In this case, the program code read from the storage medium itself realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.

[0110] Examples of storage media that can be used to supply the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0111] Furthermore, the functions of the above-described embodiments are not only realized by a computer reading and executing the program code, but also include cases where an operating system running on a computer performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-described embodiments.

[0112] Furthermore, the program code read from the storage medium may be written to a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer. Then, based on the instructions of the program code, a CPU provided on the function expansion board or function expansion unit may perform some or all of the actual processing. This processing realizes the functions of the above-mentioned embodiments. [Explanation of symbols]

[0113] 102 Printing device 119 Display section 201 Printer Driver 202 UWP Applications 203 Legacy Applications 203 Printing application launcher 205 Print-time startup application 206 Spool File 207 WSDA 208 Configuration Module 209 Printer Extensions (PEX) 506 MFPUtility 508 Model-specific printer drivers 509 Common Printer Driver 510 Standard Printer Driver 511 Fax Driver

Claims

1. In the information processing device, a receiving process for receiving from a user processing settings to be used for processing intermediate image data output by a standard driver pre-installed in the operating system of the information processing device; a display process for displaying an image showing a result of processing based on the processing settings accepted in the acceptance process, based on the intermediate image data; Execute The application program is characterized in that the item for accepting the processing settings is not displayed on a setting screen provided by the standard driver.

2. 2. The application program according to claim 1, wherein the reception process is executed when a print instruction is given to the standard driver to cause a printer connected to the information processing apparatus to print an image.

3. The application program according to claim 1, further comprising causing the information processing device to execute an intermediate image data processing process that generates processed intermediate image data by applying processing based on the processing settings received in the reception process to the intermediate image data.

4. 4. The application program according to claim 3, wherein the display process displays the processed intermediate image data.

5. 4. The application program according to claim 3, wherein the reception process displays a print setting screen including a preview of the processed intermediate image data and a setting section for receiving the processing settings.

6. 2. The application program according to claim 1, wherein the processing settings for which the items are not displayed include at least one of a setting for printing multiple pages on one page and a setting for overlaying stamps.

7. a determination process for determining whether a condition for not permitting printing based on the processed intermediate image data that has been processed by the intermediate image data processing process is met; a process of not permitting printing based on the processed intermediate image data when it is determined in the determination process that the condition is met, and permitting printing based on the processed intermediate image data when it is determined in the determination process that the condition is not met; 4. The application program according to claim 3, wherein the application program is executed by the information processing device.

8. causing the information processing device to execute a preview process of displaying an image represented by the processed intermediate image data and accepting a selection of whether or not to permit printing of the image based on the processed intermediate image data; 8. The application program according to claim 7, wherein the condition in the determination process is that a selection to not permit printing has been accepted in the preview process.

9. 9. The application program according to claim 8, wherein a print button and a cancel button are displayed together with the image shown in the processed intermediate image data, and the selection of not allowing printing is made by selecting the cancel button.

10. 2. The application program according to claim 1, wherein the application program is started by performing a predetermined operation on a screen provided by the standard driver.

11. The predetermined operation is an operation of instructing to display a screen on which setting items that cannot be set on a screen provided by the standard driver can be set, 11. The application program according to claim 10, wherein the screen on which the setting items that cannot be set on the screen provided by the standard driver can be set is a screen provided by the application program.

12. The application program according to claim 3 further causes the standard driver to display a print setting screen that is displayed before a print instruction is given to a printer connected to the information processing device to print an image, and accepts a selection from the user via the print setting screen as to whether or not to enable a preview.

13. 13. The application program according to claim 12, wherein, when the print instruction is given after the selection to enable the preview is made, the reception processing, the intermediate image data processing processing, and the display processing are executed.

14. 2. The application program according to claim 1, wherein the intermediate image data is data described in XPS.

15. 2. The application program according to claim 1, wherein the intermediate image data is based on data output from a drawing application to the standard driver.

16. 2. The application program according to claim 1, wherein the standard driver is printing software that executes a function for printing among the functions of the operating system.

17. 2. The application program according to claim 1, wherein information corresponding to the processing settings is not included in the predetermined information indicating the capabilities of the standard driver.

18. A control method for an information processing device, comprising: a receiving step of receiving from a user processing settings to be used for processing intermediate image data output by a standard driver pre-installed in the operating system of the information processing device; a display step of displaying an image showing a result of processing based on the processing settings received in the receiving process, based on the intermediate image data; causing the information processing device to execute the above; A control method according to claim 1, wherein the item for accepting the processing settings is not displayed on a setting screen provided by the standard driver.

19. An information processing device, a receiving means for receiving from a user processing settings to be used for processing intermediate image data output by a standard driver pre-installed in the operating system of the information processing device; a display means for displaying an image showing the result of processing based on the processing settings accepted in the acceptance process, based on the intermediate image data; and The information processing apparatus is characterized in that the item for accepting the processing settings is not displayed on a setting screen provided by the standard driver.

Citation Information

Patent Citations

  • Information processing apparatus performing output setting of image formation and output, and control method of the same

    JP2015170295A

  • Printing system

    JP2015191645A

  • Control device and program in image forming apparatus

    JP2017033052A