SUPPORT PROGRAM, PRINTING METHOD, AND INFORMATION PROCESSING APPARATUS - Patent application
The support program enhances the customizability of V4 printer drivers by allowing standard drivers to set page layout functions and accept settings not available on standard settings screens, addressing the limitations of V4 printer drivers and improving user interaction.
Patent Information
- Application Number
- JP2024015796
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-02-05
- Publication Date
- 2025-05-14
- Estimated Expiration
- 2037-10-16
AI Technical Summary
The V4 printer driver, while improving security and convenience, has degraded customizability, particularly in lacking the function to provide a graphical user interface (GUI), which is compensated by the Windows Store Device App (WSDA) but still has functional limitations.
A support program that pre-built into the operating system supports standard drivers, enabling them to generate print data and set page layout functions that cannot be accepted on the settings screen provided by the operating system, thereby allowing users to accept and apply these settings.
This solution enables the acceptance and application of settings that cannot be handled on the standard settings screen, effectively enhancing the customizability of the printer driver and providing a system for users to accept and apply these settings.
Smart Images

Figure 0007676603000001 
Figure 0007676603000002 
Figure 0007676603000003
Abstract
Description
[Technical field]
[0001] The present invention relates to support program , PRINTING METHOD, AND INFORMATION PROCESSING APPARATUS - Patent application About 。 [Background technology]
[0002] A commonly known configuration is to use a printer driver installed in a host computer as software for controlling a printing device, and to print to a printing device connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer, and the printer driver is configured according to the specifications defined by the OS and is called by the OS to operate. A vendor that provides a printing device can provide a means to instruct a printer to print using the OS by providing a printer driver that conforms to the OS specifications. When a version earlier than Windows (registered trademark) 8 by Microsoft (registered trademark) is used as the OS, the printer driver is configured with an architecture called a V3 printer driver. The V3 printer driver can provide a function that displays a graphical user interface (hereinafter also referred to as a "user interface" or "GUI") when a print request is made by a user, and prompts the user to perform some operation. For example, when a print request is made, a specified event of a configuration module, which is a component of the V3 printer driver, is called, and the configuration module can display a user interface during the event processing.
[0003] In recent years, a new architecture called the V4 printer driver has appeared in Windows (registered trademark). Since the V4 printer driver places emphasis on security, the customizability of the printer driver itself is reduced. For example, the above-mentioned configuration module is provided by the OS, and the vendor can only provide a setting file or a script file for customizing its operation. To compensate for this reduced customizability, a vendor that provides a printing device can provide a dedicated application to assist the functions of the printer driver. This application is called a Windows Store Device App (WSDA). By providing WSDA, a vendor that provides a printing device can customize the print setting screen when printing from a specific application (Patent Document 1).
[0004] Furthermore, the V4 printer driver can be configured as a class driver that supports multiple printing devices with a single printer driver. In recent years, operating systems have been providing standard class drivers that can be used with printing devices provided by multiple vendors. Such standard drivers are included in the OS package and can be used simply by connecting any printing device to the host computer. This means that there is no need to separately install a printer driver suitable for the printing device, making it highly convenient. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2017-33052 A Summary of the Invention [Problem to be solved by the invention]
[0006] Thus, while the V4 printer driver has improved security and convenience, it does not have the functionality to provide a GUI, and so the customizability of the printer driver itself is reduced. 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 functionality to provide a GUI, such as a V4 printer driver, is used. However, conventional WSDA still has functional limitations. In view of these problems, the present invention provides a printer driver that is pre-installed in the operating system of an information processing device. Standard Driver capable of generating print data to be sent to a printer Standard Driver Setting the page layout function to print multiple pages on one side of paper based on the print data generated by The setting cannot be accepted on the setting screen provided by the operating system. The purpose of the present invention is to provide a mechanism for accepting such requests. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems, one aspect of the support program of the present invention is to A support program that supports a standard driver that is preinstalled in the operating system of the information processing device, and Executable by a computer of an information processing device Support Programs and and, A support program corresponding to a printer connected to the information processing device is installed in the computer, The above Built into the operating system The above The present invention is characterized in that the setting of a page layout function that prints multiple pages by allocating them to one side of a sheet of paper based on print data generated by a standard driver capable of generating print data to be sent to the printer is accepted by accepting the settings that cannot be accepted on a setting screen provided by the operating system. Effect of the Invention
[0008] According to the present invention, the information processing device is provided with an operating system that is pre-installed. Standard Driver capable of generating print data to be sent to a printer Standard DriverSetting the page layout function to print multiple pages on one side of paper based on the print data generated by The setting cannot be accepted on the setting screen provided by the operating system. It is possible to accept. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing a hardware configuration of a printing system. [Diagram 2] FIG. 2 is a block diagram of a driver printing system. [Diagram 3] An example of metadata for device compatibility. [Figure 4] An example of Metadata describing the association information of the application to be started when printing. [Diagram 5] FIG. 2 is a block diagram for explaining a printing environment constructed in the present printing system. [Figure 6] 11 is a flowchart of a setup process for a print start application. [Figure 7] 11 is a flowchart of a UI process of an application started at print time. [Figure 8] 11 is a flowchart of an editing and termination process of 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 common drivers. [Figure 12] Example of PrintCapabilities for the 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] A schematic diagram of the WSDA user interface when the standard printer driver is connected. [Figure 19] 13 is a schematic diagram of the user interface of the application launched when printing with a Fax driver connected. [Figure 20] 5 is a schematic diagram of the user interface of an application launched when printing is performed with a standard printer driver connected. [Figure 21] 13 is a schematic diagram of a user interface of an application started when printing with a printer-specific printer driver connected. [Figure 22] FIG. 11 is a schematic diagram for explaining a screen for issuing a print instruction. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[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 a function for providing a Graphical User Interface (hereinafter also referred to as a "user interface" or "GUI"), such as a V4 printer driver, is used.
[0011] Conventional Windows Store Device Apps (WSDAs), which extend the V4 printer driver, could also provide a GUI, but had the following functional limitations. Specifically, because they were launched at the user's discretion, they were not suitable for use cases in which a user interface should always be displayed when a print request was made. Furthermore, because conventional WSDAs are applications designed to change print settings, they cannot access the drawing data (such as the images and text information that are the source of what is printed on paper) generated by the drawing application that issued the print request. As a result, it is not possible to display or edit the drawing data. Therefore, with conventional WSDAs, it was difficult for the V4 printer driver 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 that indicates them. Even if WSDA included in the print settings a function instruction that was not included in the printer driver's capability information, it would not function effectively because the information was unknown to the printer driver. Furthermore, as mentioned above, conventional WSDA cannot access rendering data, so WSDA itself cannot receive function instructions and edit rendering data. Therefore, even if a vendor that provides a printing device provides WSDA for a class driver provided with the OS as mentioned above, the vendor cannot independently extend the functionality.
[0013] In the present invention, an application that is not subject to the above-mentioned functional limitations can be used to provide appropriate functions according to the driver. 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 essential to the solution of the present invention. Note that the same components are given the same reference numbers and descriptions are 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 has 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. In addition, 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 or the like 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 described below in the host computer 101 and processing related to flowcharts described below. 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 configuration 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 equipped with Microsoft Windows 8 or later OS as the OS and that the printing system operates on an architecture called 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 a Modern Print Dialog (MPD) (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 setting screen 2202 shown in FIG. 22(B) is displayed by the MPD of the OS. In this setting screen 2202, the user can select a driver to be used. Furthermore, in the setting screen 2202, basic print settings can also be specified.
[0019] Furthermore, the MPD receives an instruction from the user and launches a Windows Store Device Application (hereinafter, WSDA) 207 that allows the user to select detailed print settings. Specifically, when an "Other Settings" button 2203 is selected on the setting screen 2202 in FIG. 22(B), a detailed setting screen 2204 provided by WSDA shown in FIG. 22(C) is displayed. On this detailed setting screen 2204, the user can specify more detailed print settings. WSDA 207 is an application for extending the functions of the printer driver 201 provided by a vendor that provides a printing device (hereinafter, printer vendor). Note that an image that looks like an original image displayed on the detailed setting screen 2204 provided by WSDA is a sample image that WSDA originally provides. Therefore, it is not a preview image based on drawing data generated by a UWP application, but a sample image that does not change even if the drawing data is changed. WSDA 207 receives information indicating print settings from the MPD, changes the setting information according to a user operation, and returns it to the MPD. Here, the information indicating print settings is described 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 rendering data (such as the image or text information that is the source of printing on paper). WSDA 207 is launched only when the user instructs button 2203 on print setting screen 2202 provided by the MPD, and is not necessarily launched when print settings are made.
[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 a function to generate 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, which will be described later, provide a user interface based on the information described in this PrintCapabilities. The print-time startup application 205, which will be described later, can obtain the PrintCapabilities generated by the configuration module 208 via the OS's functions.
[0021] 2, configuration module 208 is described as a function of printer driver 201, but configuration module 208 is originally an OS component. However, in a V4 printer driver, the driver itself does not have a configuration module, so configuration module 208, which is an OS component, is used as the driver's configuration module. Printer vendors can customize the operation of configuration module 208 by a GPD or Java (registered trademark) script constraint (not shown) included in printer driver 201.
[0022] After the print settings shown in Fig. 22 are made, when the "Print" button is selected on the setting screen 2202 provided by the MPD of the OS, a print request is made. When a user issues a print command 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 has the above-mentioned 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 startup application launcher 204, which is an OS component. If the print-time startup application launcher 204 determines that a print-time startup application 205 associated with the printer driver 201 exists and is configured to be started, the print-time startup application launcher 204 starts the print-time startup application 205. If the corresponding print-time startup application 205 does not exist, the print-time startup application launcher 204 stores the XPS document as a spool file 206.
[0024] The print-time startup application 205, like the WSDA 207, is an application for extending the functions of the 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 a function for providing a GUI, such as a V4 driver, is selected. Note that when a V3 driver that has a function for providing a GUI is selected, the OS does not start the print-time startup application launcher 204, and stores the XPS document generated by the drawing application as a spool file 206. In other words, when a V3 driver is selected, the print-time startup application 205 is not started, and no GUI is provided.
[0025] Note that both WSDA 207 and print-startup application 205 are standalone applications and are not provided as one of the components of printer driver 201. Also, WSDA 207 and print-startup application 205 can be configured together as a single application, but for the sake of convenience, they are described here as separate applications in order to explain the differences from conventional WSDA.
[0026] The OS normally obtains the WSDA 207 and the print-time startup application 205 from an application distribution system (not shown) (a server managed by Microsoft (registered trademark)) via the Internet. Furthermore, the printer vendor provides metadata (described below) in advance to a metadata server managed by Microsoft (registered trademark), so that the appropriate WSDA 207 and print-time startup application 205 are 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-time startup application 205 can display a user interface that accepts operation instructions from a user. It can also receive an XPS document, which is print data, and edit the PrintTicket and drawing data in the XPS document. When the print-time startup application 205 outputs an XPS document edited as necessary, the OS stores it as a spool file 206. When the spool file 206 is stored, processing is handed over to a filter pipeline manager 210. The filter pipeline manager 210 is a mechanism for printing by passing the data through a plurality of filters, and the number and order of the 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 has a function of receiving the output of the layout filter 211, converting the XPS document into print commands that can be interpreted by the printing device 102, and outputting the print commands according to the print setting information. When the print command filter 212 converts the input XPS document into image data once, the print command filter 212 is generally called a rendering filter. Rendering filters are often found in printer drivers for inexpensive raster printers, such as inkjet printers. When the print command filter 212 operates as a rendering filter, it converts the input XPS document into image data once. After that, the data goes through image processing such as color space conversion and binarization, and is converted into print commands that can be interpreted by the raster printer.
[0030] In a high-performance printer such as a page printer, if XPS is included in the types of print commands that the printing device 102 can interpret, the print command filter 212 edits the input XPS document and outputs the XPS document. If there is no need for processing by the print command filter 212, the input XPS document may be output as is, or the print command filter 212 may not be included in the printer driver 201. The above is the basic process of printing from the UWP application 202.
[0031] The Legacy application 203, which is a drawing application such as a Win32 application, can start Printer Extensions 209 (hereinafter, PEX) to set print settings. PEX is started via a configuration module 208 and can provide a user interface that allows the user to specify print settings. PEX 209 may be provided as a component in a driver package together with the printer driver 201, or may be distributed separately. Like WSDA 207, PEX 209 can refer to and change a PrintTicket, but cannot refer to drawing data (images and text information that are the source of printing on paper). In addition, PEX 209 is started only when a user instructs it on the Legacy application 203, and is not necessarily started when printing. When printing is instructed on the Legacy application 203, the Legacy application 203 generates an XPS document as print data. The subsequent flow is omitted because it is the same as when printing from the UWP application 202.
[0032] Note that the printer driver 201 in this configuration may function as a fax driver. In this case, the printer driver 201 generates a fax command for requesting the printing device to send a fax, rather than a print command that the printing device can interpret. In the following explanation, for the sake of convenience, the fax driver may be described as the printer driver 201, and a fax instruction may be described as a print instruction.
[0033] <Metadata that associates the printing device with the application that starts when printing> FIG. 3 is an example of a description indicating compatible device information in Metadata 301 that associates the printing device 102 with the print-time startup application 205. In Metadata 301, a HardwareIDList tag 302 indicating a list of printing devices 102 that use Metadata 301 is described. Item 303 indicates that the printing device 102 having a Hardware ID of MFP1_abcd uses this Metadata. Similarly, item 304 indicates that the printing device 102 having a Hardware ID of MFP2_ijkl uses Metadata 301. In this manner, a single Metadata can list a plurality of devices that use the Metadata. Although two printing devices are specified as devices in Metadata 301, the number of devices may be one or more than two. Note that the Hardware ID is identification information that is returned from the printing device 102 and is used to uniquely identify the printing device 102.
[0034] 4 is an example of a description indicating the 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. A DeviceCompanionApplications tag 401 indicating the print-time startup application 205 associated with Metadata 301 is described in the Metadata in FIG. 4. Item 402 indicates that the print-time startup application 205, 1234abcd.MFPUtility, provided by a printer vendor, 12345678-abcd-efgh-ijkl-123456789012, is associated with the printing device 102 listed in the HardwareIDList tag 302.
[0035] When a printing device 102 is connected to a 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, in the HardwareIDList, Metadata that describes the Hardware ID returned by the connected printing device 102, it saves the Metadata to the external storage device 114 of the printing device 102. Further, the OS obtains 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 in 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, according to a 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 by Metadata 301. MFP 501, which is the printing device 102, has a printing function unit 504 and a fax function unit 505 that transmits accepted print requests as faxes within a single device. 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 fax function unit 505 can also be configured to have the same hardware ID as the printing device unit 504, so that processing can be switched by a command.
[0038] When the MFP 501 is connected to the host computer, the OS acquires Metadata 301 in which the HardwareIDList tag describes the Hardware ID MFP1_abcd.
[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 Hardware ID different from that of 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 it is also possible to configure so that 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 MFP 501. In other words, there may be multiple drivers corresponding to one device, MFP 501. Model-specific printer driver 508 is a dedicated printer driver for printing device unit 504 of MFP 501 provided by a printer vendor. Universal printer driver 509 is a universal printer driver provided by a printer vendor that can process multiple types of printing devices 102 of the printer vendor. Standard printer driver 510, which is a class driver commonly available for printing devices provided by multiple vendors, is a printer driver provided together with the OS as one of the functions in the OS package. 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] In this way, there are multiple printer drivers 201 available for a certain printing device 102, and the printer driver 201 used varies depending on the Internet connection state, the type of OS, the usage environment, etc. Normally, the OS refers to the version information of the printer drivers and automatically selects and installs the printer driver 201 with the most advanced functionality from among the available printer drivers 201. The printer driver 201 includes 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 having 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 MFPUtility 506. This is because MFP2_ijkl is included in the HardwareIDList targeted by Metadata 301, as shown in 304 of Fig. 3. MFP 503 having a Hardware ID of MFP3_mnop is associated with MFPUtility 507, which is different from MFPUtility 506, due to the designation of Metadata (not shown) different from Metadata 301.
[0043] As described above, a printer vendor providing printing devices 102 can control which print-time startup application 205 is provided to each printing device 102 by providing metadata. For example, a printer vendor can provide one print-time startup application 205 common to multiple printing devices 102, or can provide different print-time startup applications 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 a printing device 102. In FIG. 5, there are four types of printer drivers 201 used by MFP 501, from 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 a manner similar to that of the print-time startup application 205. Therefore, restrictions on association are the same as those of the print-time startup application 205.
[0045] <Setup process for application launched when printing> FIG. 6 is a diagram showing a main process flow of the setup process of the print-time start application 205 in this printing system. This process flow is an example of the process of the print-time start application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time start application 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. Note that not all processes are necessarily executed sequentially on one process, and there may be cases where the process is transferred to the OS side once and then called again by the OS. This is merely a flow showing the main processes of the print-time start application 205 for the sake of convenience and easy understanding.
[0046] When the print-time startup application launcher 204 receives an XPS document from the drawing application that issued the print request, it calls the initialization process of the print-time startup application 205 associated with the printing device 102. Note that 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-time startup 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-time startup application 205 ends the initialization processing, the OS executes the setup processing of the print-time startup application 205 registered as the defined event handler. Figure 6 shows this setup processing.
[0048] First, the print startup application 205 obtains the PrintTicket stored in the XPS document (S601). As explained in Fig. 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 name space therein, the type of the printer driver 201 that received the print request from the application is determined (S602). The name space of PrintCapabilities and the determination method will be described in detail later.
[0050] Normally, the PrintTicket also stores namespace information equivalent to PrintCapabilities, so the determination in S602 may use the PrintTicket. Since acquiring PrintCapabilities takes time, depending on the configuration, the processing time may be shortened by using the PrintTicket. 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 acquire the information stored in the DriverPropertyBag and use it for the determination.
[0051] If it is determined in S602 that the printer driver 201 that received the print request from the application is a fax driver, the print-time startup application 205 saves information that the operation mode is a fax driver mode (S603). The process of S603 and the storage of information of the print-time startup application 205 described below use, as an example, a local storage provided by the OS. The overall configuration of information stored in the local storage will be described later. Similarly, the print-time startup application 205 saves information that the UI display is enabled in the local storage (S604).
[0052] Thereafter, a prescribed 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 a user interface. This is the end of 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 operation mode is the printer driver mode (S606).
[0054] Next, the PrintTicket is referenced to check whether a print preview startup instruction exists (S607). A specific method of checking the PrintTicket will be described later with reference to FIG. 13. The print preview startup instruction may be realized by a method other than the PrintTicket, as long as it can be specified by WSDA 207 and PEX 209 and can be referenced by the print-time startup application 205. For example, it may be configured to use UserPropertyBag or QueuePropertyBag provided by the OS as a storage location for the setting information of the printer driver 201. Note that the print preview refers to displaying on the display unit 119 an image of the print result that will be generated on paper based on the print settings and the print data generated by the application. In other words, the fact that a print preview startup instruction exists in the PrintTicket indicates that the user has instructed to display the print preview screen. By looking at the print preview screen, the user can check whether the desired print result can be obtained before printing, and can instruct to modify the print settings, delete a specific page, or cancel the print process as necessary.
[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 S609, the print-time startup application 205 checks whether or not a function extension instruction exists in the PropertyBag. As described above, the PropertyBag refers to the UserPropertyBag or the QueuePropertyBag. This function extension is for the printer vendor to extend the functions that can be specified at the time of printing, for example, when the printer driver has only basic functions like the standard printer driver 510. If a PrintTicket including a specification for a function extension is passed to the standard printer driver 510, the specification is unknown information to the standard printer driver 510 and is deleted as an invalid specification. In such a case, the function extension instruction is stored in the PropertyBag, so that it is maintained without being deleted. On the other hand, the PrintTicket is information included in the XPS document, which is the print data, and is held for each print data. Therefore, even when multiple print requests are generated in succession, there is an advantage in that the print preview and the function extension can be accurately switched between enabled and disabled 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 function extension is possible.
[0057] If it is determined in S609 that no function extension instruction exists in the PropertyBag, the print-time startup application 205 proceeds to S613. If it is determined in S609 that a function extension instruction exists in the PropertyBag, the print-time startup application 205 acquires PrintCapabilities (S610). If PrintCapabilities has already been acquired in S602, the process of S610 is skipped.
[0058] Next, the print 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 startup application 205 has its own editing ability and can be provided by the print startup application 205 as an extended function. That is, the print startup application 205 determines whether there is a function that is not described in PrintCapabilities and that the print startup application 205 can provide. Thus, it is determined whether there is a function that the printer driver 201 does not support and that the print startup application 205 can provide. The details of this determination process will be described later with reference to FIG. 15.
[0059] If it is determined in S611 that the corresponding function does not exist, the print startup application 205 proceeds to S613. If it is determined in S611 that the corresponding function exists, the print startup application 205 saves the corresponding function as an extended function in Local Storage (S612).
[0060] Next, the print 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 startup application 205 proceeds to S604 and instructs the display of the user interface. If S614 is No, the print startup application 205 ends the setup process.
[0061] As described above, in the setup process of the print startup application 205, it is determined whether it is necessary to start the user interface. If necessary, it is instructed, and the information necessary for the subsequent process is stored.
[0062] <Configuration Examples and Related Processes of PrintTicket and PrintCapabilities> 9 to 12 are examples of PrintCapabilities for a printer driver and a Fax driver with different configurations. Note that these PrintCapabilities are mainly described for the parts necessary for explanation, and some parts are omitted.
[0063] 9 is an example of PrintCapabilities of the fax driver 511. At the beginning of PrintCapabilities is a psf:PrintCapabilities element, and the namespace used in the PrintCapabilities is defined as an attribute of that element. Normally, in addition to a namespace indicating the definition of an OS standard called PrintSchema, namespaces uniquely defined by the printer vendor that provides this printer driver 201 are listed here. The PrintCapabilities shown in FIG. 9 includes a namespace 901 uniquely defined by the printer vendor.
[0064] 10 shows an example of PrintCapabilities of the model-specific printer driver 508. The PrintCapabilities shown in Fig. 10 includes a name space 1001 that is uniquely defined by the printer vendor. Fig. 11 shows an example of PrintCapabilities of the common driver 509, and Fig. 12 shows an example of PrintCapabilities of 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 even for printer drivers 201 provided by the same printer vendor when the sets of functions are significantly different, such as for a printer and a fax. Using this, S602 can determine whether the namespace includes a URL such as http: / / www.mfpvendor.com / ns / printschema / fax / v100, as shown in the namespace 901 in Fig. 9.
[0066] Fig. 13 is an example of a PrintTicket generated based on PrintCapabilities 1000 of the model-specific printer driver 508 shown in Fig. 10. As shown in Fig. 13, the PrintTicket stores the setting values of each function defined in PrintCapabilities. For example, the Feature psk:PageMediaType indicates the type of paper to be used for printing, and in the PrintTicket in Fig. 13, psk:Plain, that is, plain paper, is specified. The process of determining whether or not there is an instruction to start the print preview in S607 determines 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 with reference to PrintCapabilities in Fig. 10 to Fig. 12 and Fig. 15. Fig. 15 shows a list of predetermined functions that the print-time startup application 205 can provide as extended functions and their selection items. Here, the print-time startup application 205 has a page allocation function that allocates and prints multiple pages onto one page, 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 called JobNUpAllDocumentsContiguously exists, but the Feature called PageStamp does not exist. 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 called JobNUpAllDocumentsContiguously nor the Feature called PageStamp exists. Therefore, the determination result of S611 is Yes. At that time, what the printing startup application 205 provides as an extended function is 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 the WSDA 207 when the model-specific printer driver 508 is selected by the user. The screen of this Figure 17 is an example of the setting screen provided by the WSDA 207 and is the screen provided before a print request is made from the drawing application. As shown in 1002, the model-specific printer driver 508 supports the Feature called JobPreview, which indicates the print preview function. Since the 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. The WSDA 207 stores the ON and OFF of the Feature called 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 is a diagram showing an example of a user interface of WSDA 207 when standard printer driver 510 is selected as the print destination. The screen in FIG. 18 is also an example of a setting screen provided by WSDA 207, and is a screen provided before a print request is made from a drawing application. 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 or not to enable an extended function. When the user presses OK button 1802, WSDA 207 stores the value specified in control 1801 in PropertyBag. Note that WSDA 207 may be configured to instruct the start of a print preview in addition to the extended function. In this case, the extended function and the print preview may be specified by different controls, or may be specified simultaneously by 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-described processing of the WSDA 207 .
[0073] <UI processing of application launched when printing> When the UI display specification of S605 is executed, the OS calls the UI processing of the print-time start application 205 after the setup processing of the print-time start application 205 is completed. FIG. 7 is a diagram showing a main processing flow of the UI processing of the print-time start application 205 in this printing system. This processing flow is an example of the processing of the print-time start application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time start application 205 may 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 all processing is not necessarily executed sequentially on one process, and there may be cases where the processing is transferred to the OS side once and is called again by the OS. This is merely a flow showing the main processing of the print-time start application 205 for convenience and easy understanding. Note that when the UI display specification of S605 is not executed, the OS skips the UI processing shown in FIG. 7 and calls the editing and ending processing described later.
[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 the operation mode 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. The details of the user interface for the fax driver will be described later with reference to FIG. 19.
[0076] The print-time startup application 205 accepts an input from the user (S704), and when a fax transmission is instructed on the user interface, it saves the destination and fax number specified by the user in the local storage (S705).
[0077] This is the end of the process in the fax driver mode of the print-time startup application 205. Thus, in the fax driver mode, the print-time startup application 205 always displays a user interface as an input screen that allows the user to specify the destination and fax number (see FIG. 19 described later). In the 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 at the time of printing. By allowing the user to specify the destination and fax number in the print-time startup application 205, the user can reliably input the destination of the current fax transmission process. In addition, the destination and fax number may be specified on the screen of WSDA 207 or PEX 209 that is displayed only when instructed by the user. In this way, a means for specifying the destination and fax number can be provided even in a case where the print-time startup application 205 does not start for some reason. Note that if WSDA 207 or PEX 209 is configured to allow the user to specify a destination and fax number, then print-time startup 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, then print-time startup application 205 executes the UI display instruction of S605, and if the PrintTicket does not contain a destination and fax number, then print-time startup application 205 does not execute the UI display instruction of S605. In this way, it is possible to configure the print-time startup application to be launched 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-time startup application 205 reads the extended function saved in S612 (S706).
[0079] Next, the print-time activation application 205 refers to the information saved in S608 and determines whether or not the print preview is enabled (S707). If the print preview is not enabled, the print-time activation application 205 proceeds to user interface configuration processing in S713. If the print preview is enabled, the print-time activation 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 in Fig. 6 may be saved in Local Storage and used in S709.
[0081] Next, the print-time startup application 205 analyzes the acquired PrintCapabilities to search for specific functions supported. The application 205 then saves the found functions and the setting values specified in the PrinTicket as driver functions in the Local Storage (S710). Here, as an example, the print-time startup application 205 searches for two specific functions, a layout function and a paper type setting. The search process is executed by determining whether a Feature with a specified name exists in the 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 has. 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 startup application 205 acquires the XPS document using a predetermined API of the OS (S711). Furthermore, the print-time startup application 205 analyzes the contents of the XPS document and displays it on the display unit 119 (S712). At this time, the print-time startup 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 activation application 205 is generated by the application that issued the print request, and is data before being processed by the printer driver 201. Therefore, even if layout printing is specified in the PrintTicket in the XPS document, the layout processing is not performed on the XPS document received by the print-time activation application 205. Considering such a case, the print-time activation application 205 displays a print image on the display unit 119 that reflects the print settings using the same logic as that implemented by the subsequent driver. If the print settings are changed on the user interface displayed by the print-time activation application 205, the print-time activation application 205 redisplays the print image on the display unit 119 that reflects the changes. Note that in a printer driver that is not provided by the printer vendor, such as the standard printer driver 510, it is not known by what logic the print settings are reflected in the XPS document. In that case, the print-time activation application 205 skips reflecting the specified function, or reflects it using its own logic, and then displays on the display unit 119 a message that there may be a difference. In addition, with regard to the extended function in which the print-time startup application 205 provides functions including editing of XPS documents, the print-time startup application 205 may display a print image reflecting print settings on the display unit 119 using the same logic as for actual editing.
[0084] Next, the print-time startup application 205 configures a user interface having a control capable of specifying 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 information of "option" in FIG. 15, that is, 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, when it is made possible to specify a paper type based on the information in PrintCapabilities1000, all the supported options of psk:PageMediaType (psk:Plain, ns0000:PhotoPaper, etc.) are listed as options. Although omitted in PrintCapabilities1000, each Feature and Option usually has an element called DisplayName. Since the DisplayName stores appropriate name information that has been localized, the print-time startup application 205 displays the name of DisplayName 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 designated by the user in the local storage (S715). This completes the process 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 in the determination of S707. This makes it possible to prompt the user to check again important print settings that must be checked before printing in the print-time startup application 205, and to provide a means for changing the settings if necessary.
[0087] FIG. 19 is a diagram showing an example of a user interface as an input screen displayed when the print-time startup application 205 operates in the 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 starting an address book. Pressing this button starts the address book, and by selecting a destination on the address book, the destination and fax number are automatically input. Display item 1905 is a button for starting fax transmission. The user cannot press this button unless the destination and fax number have been input. 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-startup 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-startup application 205, the user can reliably input the destination of the current fax sending process.
[0089] FIG. 20 shows an example of a user interface for specifying an extended function displayed when the print-time startup application 205 operates in the printer driver mode while the standard printer driver 510 is operating. Note that the print preview function is not enabled in FIG. 20. The PrintCapabilities 1200 of the standard printer driver 510 does not support either the layout printing function or the stamp function. Therefore, the print-time startup 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. The display item 2001 is a control item for specifying the settings of the layout printing function. The display item 2002 is a control item for specifying the settings of the stamp function. The display item 2003 is a button for starting printing. The display item 2004 is a cancel button, and when the user presses this button, the subsequent print processing is canceled. Note that when the operating driver is the common 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, in a driver such as the standard printer driver 510, which is provided by Microsoft (registered trademark) like the OS and cannot be extended by the printer vendor, the print function can be extended by using the print-time startup application 205. Also, information indicating the capabilities of the driver being operated is determined, and only the missing functions are provided as extended functions. In this way, in a case where there are multiple types of printer drivers 201 available, it is possible to provide the optimal extended functions for each printer driver 201. Also, the user can control whether or not to display a user interface when printing to extend functions. This makes it possible to accommodate use cases in which it is not desirable to display a user interface each time.
[0091] FIG. 21 shows an example of a user interface when the print-time startup application 205 operates in the printer driver mode while the model-specific printer driver 508 is operating. It is assumed that the print preview function is enabled. A display item 2101 is a control item for changing the page displayed on the print preview. The user can use this control item to change the displayed page, and can also check the total number of pages to be printed with the current print data and print settings. A display item 2102 is a print preview screen showing an image of the print result of the specified page. A display item 2103 is a control item for specifying the layout print function. A display item 2104 is a control item for specifying the paper type. Since the display items 2013 and 2014 are not extended functions but driver functions, the selection items conform to the functions of the printer driver 201 as described above. A display item 2105 is a button for starting printing. A display item 2106 is a cancel button, and when the user presses this button, the subsequent print process 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 close to the 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 make it possible to prevent misprints and provide a means for final adjustments, such as keeping the number of pages printed to a desired number.
[0093] <Editing and closing applications launched when printing> After the UI process of the print-time start application 205 in FIG. 7 is completed, the OS calls the edit and end process of the print-time start application 205 in FIG. 8. If the UI display designation process of S605 is not executed, the OS calls this process without calling the UI process of the print-time start application 205 in FIG. 7. This process flow is an example of the process of the print-time start application 205 under a configuration such as the MFP Utility 506 in FIG. 5. Hereinafter, the print-time start application 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. Also, all processes are not necessarily executed sequentially on one process, and there may be cases where the process is transferred to the OS side once and then called again by the OS. This is merely a flow showing the main processes of the print-time start application 205 for convenience and easy understanding.
[0094] The print-time startup application 205 reads the operation mode saved in S603 and S606 from the local storage, and the UI display information saved in S604 (S801). If it is determined in S802 that there is no UI display, the print-time startup application 205 acquires the XPS document using the API of the OS (S806) and outputs the XPS document as is without modifying it (S807). In this way, even if the print-time startup application 205 does not modify the XPS document, it is necessary to acquire and output the entire XPS document once. This is the end of the processing of the print-time startup application 205 when the user interface is not displayed. In this way, if the print-time startup application 205 determines that it is not necessary to display a user interface, it ends the processing without displaying the user interface.
[0095] If it is determined in S802 that a UI has been displayed, the print-time startup application 205 determines whether the operating mode was the fax driver mode or not based on the information read in S801 (S808). If it is determined that the operating mode is the fax driver mode, the print-time startup application 205 acquires the destination and fax number saved in S705 from Local Storage (S803). Next, the print-time startup application 205 acquires a PrintTicket using an API of the OS (S804). Furthermore, the print-time startup 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, print-time launched application 205 stores the PrintTicket in an XPS document as necessary, outputs the XPS document, and ends processing. Fax driver 511 references the PrintTicket to obtain the destination and fax number, and sends a job to printing device 102 to send a fax to the specified fax number.
[0097] If it is determined in S808 that the operation 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 setting values of the driver functions have not been changed, the print-time launched application 205 proceeds to the process of S813. If it is determined in S810 that the setting values of the driver functions have been changed, the print-time launched application 205 acquires a PrintTicket (S811) and reflects the setting values of the driver functions acquired in S809 in the PrintTicket (S812). The configuration of the information stored in the Local Storage to achieve this processing and the method of reflecting the settings 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 settings in the PrintTicket for all of the driver functions. After reflecting the settings in the PrintTicket, the print-time launched application 205 acquires the XPS document (S813).
[0099] Next, the print-time startup application 205 reads from the Local Storage the setting value of the extended function whose provided function was determined in S612 and which was specified by the user from 2002, etc. (S814). Next, the print-time startup application 205 determines whether or not the setting value of the extended function has been specified (S815). If it is determined in S815 that the setting value of the extended function has not been specified, the print-time startup application 205 outputs the XPS document (S807) and ends the process.
[0100] If it is determined in S815 that the setting value of the extended function has been specified, the print-time startup application 205 edits the drawing data in the XPS document according to the extended function specified by the user and its setting value. For example, a case will be described where a layout print function for allocating two pages to one page has been specified. In this case, the print-time startup application 205 acquires two pages of FixedPages, which are the concept of pages in the drawing data in the XPS document, and reduces and arranges them on the FixedPage of one page. Then, the print-time startup application 205 deletes the original two pages of FixedPages from the drawing data and adds the newly created FixedPage to the drawing data. This process is repeated for all pages. If multiple extended functions are specified, drawing data that reflects all of the specifications is generated. Finally, the print-time startup application 205 outputs the XPS document including the edited drawing data, and ends 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. Then, editing of the drawing data in the XPS document is left to the printer driver 201. This eliminates the need for the print-time launched application 205 to perform unnecessary editing of the XPS document, enabling high-speed processing. In addition, because the functions of the printer driver 201 are used, it is possible to obtain exactly the same results when a function is specified from WSDA 207 or the like and when a function is specified from the print-time launched application 205.
[0102] On the other hand, in the present configuration, the print-time startup application 205 itself edits the drawing data in the XPS document for the extended functions not supported by the printer driver 201. This makes it possible to provide the user with functions 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-time startup application 205 operates in printer driver mode, and indicates that it 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 application 205 activated at the time of printing, the specified value is stored as the value of the extended function_PageStamp by the process of S715. Here, the setting value is changed by the user to "Confidential". For the layout printing function, which is a driver function, information of the initial value, whose name is "driver function_JobNUpAllDocumentsContiguously" and whose value is set in the PrintTicket, is added by the process of S710. When the specified value of the layout printing function is changed on the user interface of the application 205 activated at the time of printing, the changed value is stored by the process of S715. Here, the setting value is changed by the user 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 the 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 it is 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-time startup application 205 can be configured to be displayed. Furthermore, in cases where the printing-time startup application 205 is uniquely assigned to the printing device 102 regardless of the type of printer driver 201, it is possible to realize optimal function extension according to the type of printer driver 201. If a fax driver is connected, a user interface is displayed as an input screen for inputting 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 expansion are realized by a single GUI application, the print-time startup application 205. However, it is not necessary to implement these three functions in combination, and it goes without saying that the print-time startup application 205 can be configured to have one or two of the three functions.
[0109] <Embodiment 2> The above-described embodiment can also be implemented by executing the following process. That is, a recording medium on which program code of software that realizes the functions of the above-described embodiment is recorded 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 in the recording medium. This makes it possible to achieve the above-described object. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium on which the program code is stored constitutes the present invention.
[0110] Examples of storage media for supplying 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] In addition, the functions of the above-mentioned embodiments are not only realized by a computer reading and executing the program code, but also include cases where an OS running on a computer performs part or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized by the processing.
[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 part or all of the actual processing. The functions of the above-mentioned embodiments are realized by this processing. [Explanation of symbols]
[0113] 102 Printing device 119 Display section 201 Printer Driver 202 UWP Applications 203 Legacy Applications 203 Print application launcher 205 Print-time startup application 206 Spool File 207 W.S.D.A. 208 Configuration Module 209 Printer Extensions (PEX) 506 MFPUtility 508 Printer driver for each model 509 Common Printer Driver 510 Standard printer driver 511 Fax Driver
Claims
1. A support program that supports a standard driver pre-installed in an operating system of an information processing device, that is executable by a computer of the information processing device, and that corresponds to a printer connected to the information processing device, The computer includes: A support program for setting a page layout function that prints multiple pages on one side of a sheet of paper based on print data generated by a standard driver that is pre-installed in the operating system of the information processing device and capable of generating print data to be sent to the printer, the support program being characterized by accepting the setting that cannot be accepted on a setting screen provided by the operating system.
2. The computer includes: an acquisition process for acquiring image data of the plurality of pages when the setting is accepted; 2. The support program according to claim 1, further comprising a process for reducing the images of the plurality of pages acquired in the image data acquisition process, and allocating the images of the plurality of pages onto one side of a sheet of paper.
3. 2. The support program according to claim 1, wherein the support program is started by performing a predetermined operation on a screen provided by the operating system.
4. The predetermined operation is an operation of instructing to display a screen on which a setting item that cannot be set on a screen provided by the operating system can be set, 4. The support program according to claim 3, wherein a screen on which the setting items that cannot be set on the screen provided by the operating system can be set is a screen provided by the support program.
5. The support program according to claim 1, further comprising: displaying another print setting screen that is displayed before a print request is made from a drawing application; and accepting a selection from a user of whether or not to enable an extended function via the other print setting screen.
6. The support program according to claim 1, characterized in that, when a print instruction is given to the standard driver to have the printer print an image, the support program accepts a setting for printing multiple pages contained in intermediate image data output by the standard driver by allocating them to one page, the image data indicating the image to be printed by the print instruction.
7. The support program further causes another print setting screen to be displayed before a print request is made from the drawing application, and causes a user to select whether or not to enable an extended function via the another print setting screen. The support program according to claim 1, characterized in that after a selection is made to enable the extended function, when a print instruction is given to the standard driver to have the printer print an image, the support program accepts a setting to print multiple pages contained in intermediate image data output by the standard driver, which is image data indicating the image to be printed by the print instruction, on one page.
8. 8. The support program according to claim 6, wherein the intermediate image data is data described in XPS.
9. 8. The support program according to claim 6, wherein the intermediate image data is based on data output from a drawing application to the standard driver.
10. 10. The support program according to claim 1, wherein the standard driver is a class driver provided by a provider of the operating system.
11. 11. The support program according to claim 1, wherein the standard driver is a standard driver that can be commonly used for printing devices provided by a plurality of different vendors.
12. A printing method in which a printer is connected to an information processing device, a support program corresponding to the printer is installed in the information processing device, an operating system of the information processing device has a standard driver installed in advance, and the printer is caused to execute printing based on print data generated by the information processing device, comprising: A printing method comprising: setting a page layout function for printing multiple pages on one side of a sheet of paper based on print data generated by the standard driver capable of generating print data to be sent to the printer, the method comprising a step of accepting the setting that cannot be accepted on a setting screen provided by the operating system.
13. An information processing apparatus including a computer, the information processing apparatus being equipped with a support program corresponding to a printer connected to the information processing apparatus, the operating system of the information processing apparatus having a standard driver pre-installed, the computer being: An information processing device characterized in that the information processing device executes an acceptance process to accept a page layout function setting that prints multiple pages on one side of a sheet of paper based on print data generated by the standard driver capable of generating print data to be sent to the printer, and that accepts the setting that cannot be accepted on a setting screen provided by the operating system.
Citation Information
Patent Citations
UI program, printing control device, and control method thereof
JP2016062405A
Information processor, control method, and control program
JP2016164767A
Control device and program in image forming apparatus
JP2017033052A
Print setting support apparatus and program
JP2017068339A