Information processing device, control method, and program

The common printer driver system acquires device-specific parameters to enable tailored functions, addressing vendor-specific challenges and enhancing usability and efficiency in handling diverse printing devices.

JP2026099847APending Publication Date: 2026-06-18CANON KK

Patent Information

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

AI Technical Summary

Technical Problem

Existing universal printer drivers struggle to handle printing devices from different vendors due to varying communication methods and print settings, and vendor-specific features like watermark printing are not fully utilized, leading to inefficiencies and increased operational costs.

Method used

An information processing device with a common printer driver that acquires identification information for a printing device, retrieves extended configuration files containing characteristic parameters, and writes them to an accessible area for an extension application, enabling tailored functions for each device.

Benefits of technology

This approach allows the extension application to provide appropriate functions for each printing device, enhancing convenience and reducing the need for frequent updates, thus improving the usability and efficiency of the common printer driver.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026099847000001_ABST
    Figure 2026099847000001_ABST
Patent Text Reader

Abstract

The objective is to enable the provision of characteristic parameters for a printing device to an extension application corresponding to a printing device when adding a printing device to be used with a common printer driver. [Solution] The computer 101 receives an instruction to add a printing device to be used with the common printer driver and acquires identification information to identify the type of printing device (S405). Subsequently, using the acquired identification information, it acquires an extended configuration file from an external source that includes characteristic parameters for the corresponding printing device and an identifier for identifying an extended application that uses the characteristic parameters (S408). Finally, it writes the characteristic parameters to an area accessible by the extended application identified by the identifier (S410, S611).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a control method, and a program that communicate with a printing apparatus.

Background Art

[0002] A configuration in which print data is transmitted to a printing apparatus using a printer driver is generally known. An operating system (OS), which is basic software, is installed in an information processing apparatus. The printer driver is configured according to a print architecture defined by the OS and is called from the OS to operate. A vendor that provides a printing apparatus provides a printer driver that conforms to the specifications of the OS. The OS and the printer driver cooperate to realize a function of performing printing using an output destination printing apparatus.

[0003] By the way, when using a version of Microsoft (registered trademark)'s Windows (registered trademark) prior to Windows 8 as the OS, the printer driver is configured in an architecture called a V3 printer driver.

[0004] Also, an architecture called a V4 printer driver has emerged since Windows 8.1. Since security is emphasized in the V4 printer driver, the extensibility of the printer driver itself has decreased compared to the V3 printer driver. To compensate for such a decrease in extensibility, a vendor that provides a printing apparatus can provide a dedicated application for assisting the functions of the printer driver. This application is called UWP Device Apps (Universal Windows Platform Device Apps). UWP Device Apps can enhance the user experience when printing from a store application (UWP). In addition, a PrinterExtension, which is a print setting application for performing vendor-specific print settings, can be associated with the V4 printer driver.

[0005] Furthermore, a printer driver known as a universal printer driver is conventionally known for controlling multiple types of printing devices with different functions (Patent Document 1). This printer driver can display an operation screen suitable for each individual printing device, depending on the model and type.

[0006] Furthermore, there are plans to enable sending print data to printing devices without using a printer driver. For example, Ubuntu® 17.04 includes a mechanism for sending print data to IPP Everywhere®-compatible printing devices as a default OS function. IPP Everywhere is a set of standards that enable printing using various printing devices, and industry organizations are working to develop and promote these standards. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] Japanese Patent Publication No. 2011-243067 [Overview of the project] [Problems that the invention aims to solve]

[0008] Universal printer drivers, such as the one disclosed in Patent Document 1, are generally provided by each vendor. Therefore, a single universal printer driver could handle multiple types of printing devices with different functions sold by the same vendor. However, it was difficult to handle printing devices from different vendors with a single universal printer driver. This is because each vendor uses different communication methods, such as PDL (Page Description Language) or JDL (Job Description Language), to exchange print data, making it difficult to unify them. Furthermore, print settings also differ from vendor to vendor, or even similar settings may be interpreted differently, making it difficult to handle them all with a single universal printer driver.

[0009] As mentioned earlier, it is conceivable to provide common printer drivers and print clients using mechanisms compliant with IPP, such as IPP Everywhere. However, a problem with common printer drivers compliant with IPP is that they cannot utilize features that vendors have independently developed and provided.

[0010] In light of this issue, it is conceivable to link vendor-specific extension applications to common printer drivers, similar to conventional technologies, to enable vendor-specific print settings.

[0011] One of the features that vendors develop and offer is the watermark printing function. This function prints a watermark on the background or foreground of a printed document so that when the document is copied, a specific string of characters or a graphic appears. By using this function, it becomes possible to distinguish between the original and a copy of a printed document, and it is expected that counterfeiting and copying of printed documents will be prevented. Such a watermark printing function requires that the background image be appropriately generated according to the output characteristics (characteristic parameters for each model) of the output device. If all of these model-specific characteristic parameters are stored in the extension application, the size of the application may become bloated. In addition, there is a concern that the extension application will need to be modified every time a new model is released, which will increase operational costs.

[0012] The present invention has been made in view of at least one of the above-mentioned problems. One of the objectives of the present invention is to provide a mechanism for providing characteristic parameters of a printing device to an extension application corresponding to a printing device when a printing device is added for use with a common printer driver. Another objective of the present invention is to provide a mechanism for improving the convenience of printing when using a common printer driver. [Means for solving the problem]

[0013] To achieve at least one of the above objectives, the present invention provides an information processing device having a common printer driver that can be used in common for a plurality of different printing devices, and comprising: a first acquisition means for acquiring identification information that identifies the type of printing device in accordance with receiving an instruction to add a printing device to be used with the common printer driver; a second acquisition means for acquiring an extended configuration file from an external source, which includes characteristic parameters of the corresponding printing device and an identifier for identifying an extended application that uses the characteristic parameters, using the identification information acquired by the first acquisition means; and a writing means for writing the characteristic parameters to an area accessible by the extended application identified by the identifier, based on the extended configuration file acquired by the second acquisition means. [Effects of the Invention]

[0014] One aspect of the present invention is that when adding a printing device to be used with a common printer driver, characteristic parameters of the printing device can be provided to the corresponding extension application. Therefore, the extension application can provide appropriate extended functions tailored to the characteristic parameters of the printing device. Another aspect of the present invention is that it improves the convenience of using the common printer driver. [Brief explanation of the drawing]

[0015] [Figure 1] This is a diagram showing an example of a printing system. [Figure 2] This figure shows an example of the hardware configuration of computer 101. [Figure 3] This figure shows an example of the software configuration of computer 101. [Figure 4] This flowchart illustrates an example of associating a driver with a print extension application on computer 101. [Figure 5] This is a schematic diagram illustrating an example of associating a driver with a print extension application. [Figure 6]It is a flowchart for explaining an example of printing processing in the computer 101. [Figure 7] It is a diagram showing an example of a screen displayed on the display 207 of the computer 101 and an example of set values made through the screen. [Figure 8] It is a flowchart for explaining an example of printing processing in the computer 101. [Figure 9] It is a flowchart for explaining an example of printing processing in the computer 101. [Figure 10] It is a flowchart for explaining an example of printing processing in the computer 101. [Figure 11] It is a diagram showing an example of a screen displayed on the display 207 of the computer 101 and an example of set values made through the screen.

Embodiments for Carrying Out the Invention

[0016] Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. Note that the following embodiments do not limit the invention according to the claims, and not all combinations of features described in the embodiments are essential for the solution means of the invention.

[0017] <The First Embodiment> First, the configuration of the printing system according to the present invention will be described using FIG. 1. The printing system of this embodiment includes a client computer 101 which is an example of an information processing device, a server 105 that distributes data to the client computer 101, and printing devices 102 to 104. Each device can communicate with each other through a network 100 including a Wide Area Network (WAN).

[0018] Printing devices 102-104 may be single-function printers with only printing capabilities, or multi-function printers with printing, scanning, and copying capabilities. Furthermore, there may be more than one client computer 101 connected to the network 100. Printing device 102 can receive and print print data in page description language (PDL) format from an external source.

[0019] The client computer 101 can send print data to the printer 102 or the like. The server 105 is a server that distributes touch applications, print extension applications, printer drivers, and extended INF packages to the client. In this embodiment, the server 105 provides each package as an example, but it is not limited to this. Each package may be distributed by multiple different servers. Also, the servers for distributing each package may be cloud servers or the like.

[0020] Figure 2 is a block diagram showing the hardware configuration of the client computer 101 in Figure 1. The control unit, including the CPU (Central Processing Unit) 201, controls the operation of the entire client computer 101. The CPU 201 performs various controls by loading programs stored in the ROM (Read Only Memory) 203 or external memory 209 into the RAM (Random Access Memory) 202 and executing them. The RAM 202 is the main memory of the CPU 201 and is used as a work area or a temporary storage area for loading various programs. The ROM 203 stores control programs, boot programs, etc. that can be executed by the CPU 201. The external memory 209, which is connected to the control unit via the external memory I / F (interface) 208, stores the OS 210, common printer driver 211, application 212, etc.

[0021] In this embodiment, an auxiliary storage device such as an HDD (Hard Disk Drive) is assumed as the external memory 209, but a non-volatile memory such as an SSD (Solid State Drive) may be used instead of an HDD. In this way, the hardware such as the CPU 201, RAM 202, ROM 203, and external memory 209 constitute a so-called computer.

[0022] The input device interface (I / F) 204 controls the input devices 205, such as a keyboard, pointing device (mouse), or touch input device. The input devices 205 function as reception units that receive user input. The display interface (I / F) 206 controls the display of the screen on the display 207. The display 207 functions as a display unit that shows information to the user.

[0023] The client computer 101 is connected to the network 100 via the network interface 213. The network interface 213 transmits print data to a printer on the network 100 and receives store applications, printer drivers, etc., from the server 105 on the network 100. Data communication with external terminals on the network 100 is done via wireless communication compliant with the IEEE 802.11 series, mobile communication systems such as LTE and 5G, or wired cables such as LAN cables.

[0024] Next, using Figure 3, we will explain an example of the software configuration of client computer 101. First, we will explain the operating software within client computer 101. The software within client computer 101 consists of OS 210 and application 212.

[0025] First, let's describe the individual elements that make up OS210. OS210 is managed and controlled by the client computer 101. In this embodiment, OS210 includes a printing system 300, a printer driver storage area 310, and a group of external configuration files 320.

[0026] The printing system 300 consists of a print queue 301, a spooler 302, a filter pipeline manager 303, a configuration module 304, and a print-time application launcher 305.

[0027] The print queue 301 is an area for temporarily storing print jobs when printing is performed using a printing device located within the network 100, and multiple print queues can exist. In this embodiment, for illustrative purposes, it is assumed that print queues 301 corresponding to printing devices 102 to 104 have been created.

[0028] The spooler 302 is a module that temporarily stores and manages XPS (XML Paper Specification) files, which are print data printed from one of the applications 212. The XPS files stored in the spooler 302 are converted to PDL (Page Description Language) via the filter pipeline manager 303, and then sent to the printer via the spooler 302.

[0029] The filter pipeline manager 303 is a module that loads one or more filters 311 to convert XPS files to PDL files. The filter pipeline manager 303 is configured as part of the printing architecture provided by OS210.

[0030] Based on the definition in the filter configuration 312, OS210 reads one or more filters 311, which are elements that make up the common printer driver 211, and generates a PDL using those filters 311. The PDL can use formats such as PCL (Printer Control Language) or PDF (Portable Document Format).

[0031] The configuration module 304 is a module that generates and modifies PrintTickets. The configuration module 304 also has a prohibition function that restricts the combination of incompatible settings. Furthermore, the configuration module 304 manages PrintCapabilities, which are printer capability information. The detailed print settings UI section 352, the print-start background task section 353, and the print-start UI section 354 of the print extension application 350 can call APIs provided by the configuration module 304. Each section can obtain PrintTickets and PrintCapabilities in XML (Extensible Markup Language) format by calling these APIs. The common printer driver 211 provides the OS 210 with a set of device function text files 313 and a set of script files 314, which describe prohibition rules indicating conflicting print setting combinations and device functions. Separate files are stored for each target printing device. That is, the operation of the configuration module 304 is customized based on the files selected from the device function text files 313 and the script files 314.

[0032] The print-activated application launcher 305 is a module that controls the execution of background tasks provided by the print-activated background task unit 353 and other components. The print-activated application launcher 305 starts the print-activated background task unit 353 when the OS 210 detects that a user has entered a print start command and decides to print. If a setting to disable the startup of background tasks is stored in the registry 322, the OS 210 will suppress the execution of background tasks.

[0033] The printer driver storage area 310 is an area where printer drivers such as the common printer driver 211 are stored. In this embodiment, the case where the common printer driver 211 is installed is shown as an example, but other printer drivers may be installed in addition to the common printer driver 211. The common printer driver 211 consists of a filter 311, a filter configuration 312, a group of device function text files 313, a group of script files 314, and an INF group 315. In this embodiment, the filter 311 and the filter configuration 312 are common regardless of which printing device is used. On the other hand, the file groups 313-314 and the INF group 315 are saved as separate files for each destination printing device. The common printer driver 211 switches the files used by the configuration module 304 according to the output destination printer selected by the user. In this embodiment, the common printer driver 211 is a universal printer driver that supports printing devices from multiple vendors, and the driver alone can perform print settings compliant with IPP. In this embodiment, the common printer driver 211 is assumed to be a driver installed by the user, but is not limited to this. For example, the common printer driver 211 may be pre-installed on the OS 210.

[0034] Filter 311 is a filter called by the filter pipeline manager 303 and has the function of converting an input XPS file to PDL and outputting it. Filter configuration 312 is a definition file referenced by the filter pipeline manager 303 and describes the order in which one or more filters 311 are called. Device function text files 313 and script files 314 are files called by the configuration module 304 and allow customization of the operation of the configuration module 304. INF group 315 is a text file containing configuration information for setting up the common printer driver 211.

[0035] As mentioned earlier, one possible approach is to provide a common printer driver or print client using an IPP-compliant mechanism, such as IPP Everywhere. However, a common printer driver that can use printing devices from multiple vendors has the problem that it can only utilize IPP-compliant print settings and cannot use features that vendors have developed and provided independently.

[0036] In light of this issue, it is conceivable to link vendor-specific extension applications to common printer drivers to enable vendor-specific print settings.

[0037] Incidentally, one of the features that vendors develop and offer is the watermark printing function. The watermark printing function prints a watermark on the background or foreground of a printed document so that when the document is copied, a specific string of characters or a graphic appears. By using this function, it becomes possible to distinguish between the original and a copy of a printed document, and it is expected that counterfeiting and copying of printed documents will be prevented. Such a watermark printing function requires that the background image be appropriately generated according to the output characteristics (characteristic parameters for each model) of the output device. If all of these model-specific characteristic parameters are stored in the extension application, there is a risk that the application size will become bloated. In addition, there is a concern that the extension application will need to be modified every time a new model is released, which will increase operational costs.

[0038] In light of this, this embodiment makes it possible to appropriately provide the characteristic parameters of a printing device to the corresponding extension application when adding a printing device used with the common printer driver. This will be explained in detail below.

[0039] Returning to the explanation of Figure 3, the external configuration file group 320 consists of metadata 321 and registry 322.

[0040] Metadata 321 is definition information that contains both the print extension application identifier of the print extension application 350 and the HWID (HardwareId) of the print queue used by the V4 printer driver, and it serves to associate the two.

[0041] Registry 322 is the area of ​​the registry database where the settings for OS210 are described. Values ​​can be entered in the Key and Value format in Registry 322, and settings for each print queue 301 can be described. Registry 322 contains settings for policies indicating whether to enable or disable the launching of background tasks by the print-start application launcher 305, and the correspondence between the identifier of the print extension application 350 associated with the printer driver 211 and the printer's HWID. The settings registered in Registry 322 can be viewed and modified through the OS210 settings screen.

[0042] Next, we will describe the individual elements that make up application 212. Application 212 consists of a desktop application 330, a touch application 340, and a print extension application 350.

[0043] Desktop app 330 is an application that runs in the desktop execution environment of OS210. Desktop app 330 does not have the limitations or official marketplace found in touch app 340, which will be discussed later.

[0044] Touch app 340 is an application that runs in the touch application execution environment of OS210. It is downloaded through the official market, which is an application distribution system made publicly available on the internet, and installed on client computer 101. Touch app 340 has the necessary modules packaged and signed, and calls to APIs within OS210 are restricted.

[0045] The print extension application 350 is a type of touch application 340 and, like the touch application 340, operates in the touch application execution environment of OS210. The print extension application 350 is obtained via the internet from the official market, which is the application distribution system of OS210. Furthermore, the print extension application 350 in this embodiment has a print-time UI display function that displays a uniquely customized UI when printing. The print extension application 350 can be associated with a printer driver provided by a printer vendor via metadata 321. In addition, when associated with a common printer driver 211 that is used in common for printing devices provided by multiple printer vendors, the association is made using the registry 322. The association between the common printer driver 211 and the print extension application 350 will be described later based on the flowchart in Figure 4.

[0046] The print extension application 350 consists of a tile application section 351, a detailed print settings UI section 352, a background task section launched during printing 353, a UI section launched during printing 354, an application storage area 355, a configuration file 356, and a custom configuration file 357.

[0047] The tile application unit 351 is executed in response to a user operation to launch the print extension application 350, and provides functions such as displaying the status of the registered printing device. The detailed print settings UI unit 352 is executed in response to receiving a detailed print settings event issued by the OS 210. The detailed print settings UI unit 352 generates and displays a UI for print settings based on the PrintTicket and PrintCapabilities obtained from the configuration module 304 via API. The print-time activation UI unit 354 can change the PrintTicket settings as appropriate according to user operations and return them to the configuration module 304.

[0048] The Print-Activated Background Task Unit 353 is a component that corresponds to a background task to be executed when a print event is issued. The Print-Activated Background Task Unit 353 can obtain, read, and write PrintTickets through the API of the Configuration Module 304. Furthermore, when using the WF function, the Background Task Unit is configured to determine whether or not to start the Print-Activated UI Unit 354 and, if necessary, request the OS 210 to start the Print-Activated UI Unit 354, which is a component of the foreground task. In addition, values ​​can be exchanged with the Print-Activated UI Unit 354 by reading and writing values ​​to the application storage area 355. If it is determined that the Print-Activated UI Unit 354 should not be started, the Print-Activated Application Launcher 305 generates the print data without starting the print extension application 350.

[0049] Configuration file 356 is a file that describes the settings for the print extension application 350. It contains a print extension application identifier that uniquely identifies the print extension application 350, and the custom configuration file 357 to be used. Custom configuration file 357 is a configuration file that describes the settings for services that the print extension application 350 can use with the printer driver.

[0050] <Associating common printer drivers with print extension applications> Figures 4 and 5 illustrate the sequence of steps involved in associating the common printer driver 211 with the print extension application 350 during printer driver installation. Figure 4 is a flowchart illustrating the sequence of steps involved in associating the common printer driver 211 with the print extension application 350. Figure 5 is a schematic diagram illustrating the association between the common printer driver 211 and the print extension application 350. Each operation shown in the flowchart of Figure 4 is realized when the OS 210 reads the programs for implementing each module, component, and application stored in the external memory 209 into the RAM 202, and the CPU 201 executes these programs. The flowchart in Figure 4 is executed, for example, when the CPU 201 detects a user operation to add a printing device to be used from the common printer driver 211.

[0051] In S401, OS210 performs multicast queries within network 100 to search for a printing device corresponding to the common printer driver 211. For this search, for example, Bonjour or WSD (Web Services for Devices) can be used.

[0052] In S402, OS210 receives a response to S401. Subsequently, it displays a printer list for selecting the printer to be added based on that response. For the sake of explanation, it is assumed that printers 102-104 are found during the search, and printers 102 and 104 are displayed in the list. It is assumed that printer 103 is already associated with the common printer driver 211 so that it can be used from the common printer driver 211. Therefore, OS210 controls the system so that printer 103 is not displayed in the printer list for selecting the printer to be added.

[0053] Next, in S403, OS210 accepts a user command to select a target printer from the printer list displayed in S402. For the sake of explanation, we will assume that printer 102 has been selected.

[0054] In S404, OS210 sets up the common printer driver 211 so that printing can be done using the target printer selected in S403. The S404 setup includes configuring the print port and setting the printer's capabilities based on IPP-compliant print attribute information obtained from the target printer. By executing the processes from S401 to S404, the common printer driver 211 becomes able to use the printing device. The processes from S405 onwards are controls for extending the common printer driver 211 with the print extension application.

[0055] Next, in S405, OS210 obtains the HWID, which is identification information used to identify the printing device from the target printer. The HWID obtained here is an identifier that differs for each model and type of printing device, and is used to identify the type of printing device. If printing device 102 is selected, "XXX" is obtained.

[0056] In S406, OS210 generates a basic extended INF file containing the acquired HWID. The process in S406 is explained using Figure 5.

[0057] OS210 creates a basic extended INF file based on the default template, the basic INF, with the printer's HWID added. If printer 102 is selected as the target printer, a basic extended INF506 file with HWID "XXX" written to it will be generated. Note that at this point, the identifier for the print extension application has not yet been associated.

[0058] Next, in S407, OS210 determines whether an extended INF package containing the HWID obtained in S405 exists on server 105 or in a designated directory. First, OS210 searches the designated directory on computer 101 for an extended INF package containing the HWID, and determines whether an extended INF package exists based on the search results. If it determines that an extended INF package containing the HWID obtained in S405 exists on computer 101, the process proceeds to S408. If it determines that it does not exist, it then sends a confirmation query to server 105 including the HWID. Server 105 determines whether it manages the corresponding extended INF package in response to the query and returns the confirmation result. Based on this confirmation result, OS210 determines whether the corresponding extended INF package exists. Note that server 105 manages extended INF packages from various vendors. Vendors who want to associate a print extension application with the common printer driver 211 can pre-register their extended INF packages with server 105.

[0059] If OS210 determines that the extended INF package exists on server 105, it proceeds to S408. On the other hand, if OS210 determines that the relevant extended INF package does not exist in either the designated directory or on server 105, it completes the process of adding the printer without associating the print extension application 350. For example, in the case of printer 104, the extended INF package is not available. Therefore, if the target printer is printer 104, the setup process is completed without associating the print extension application.

[0060] Returning to the explanation of Figure 4, in S408, OS210 obtains the corresponding extended INF package from a predetermined directory or server 105. The extended INF package includes the extended INF, a device function text file, and a script file. For example, the extended INF package 510 corresponding to the printer 102 shown in Figure 5 includes the extended INF 515, a device function text file 513, and a script file 514. Similarly, the extended INF package 520 corresponding to the printer 103 includes the extended INF 525, a device function text file 523, and a script file 524.

[0061] The device function text files and script files included in the extended INF package may contain characteristic parameters that differ depending on the type of printing device.

[0062] For example, the device function text file 513 contains watermark parameters required when using the watermark printing function. The script file 514 contains characteristic parameters such as prohibited conditions that indicate combinations of print settings that may cause problems specific to the printing device. For instance, depending on the output characteristics of the print engine, combining low resolution with the watermark printing function may prevent the printing of hidden information properly. Script file 514 contains rules to control these settings so they are not combined. Furthermore, the characteristic parameters included in the extended INF package are just examples; it is possible to include a wide variety of other parameters to enable more appropriate printing on the printing device. For example, it is possible to include characteristic parameters such as color profiles for color matching and dither matrices used for halftone processing.

[0063] In S409, OS210 updates the original basic extended INF with the extended INF included in the acquired extended INF package. If the target printer is printer 102, the basic extended INF 506 generated by OS210 as INF for printer 102 is updated with the contents of extended INF 515 included in extended INF package 510.

[0064] Next, in S410, OS210 performs extended setup of the target printer based on the basic extended INF updated in S409 and the extended INF package acquired in S408. For example, if the target printer is printing device 102, OS210 overwrites or extends the script file associated with the target printer using the script file 514 included in the acquired extended INF package 510 and stores it in the script file group 314. In addition, OS210 overwrites and extends the original device function text file using the device function text file 513 included in the acquired extended INF package 510 and stores it in the device function text file group.

[0065] Furthermore, OS210 associates the print extension application 350 with the common printer driver 211 based on the basic extension INF506. The association is explained using Figure 5. If the corresponding print extension application 350 is installed on computer 101, OS210 registers information associating the HWID with the identifier of the print extension application in registry 322. If the corresponding print extension application 350 is not installed on computer 101, OS210 sends an application acquisition request to server 105 that includes the identifier of the print extension application included in the basic extension INF506. Upon receiving the application acquisition request, server 105 delivers the installation package of the corresponding print extension application to computer 101. Once the installation of the delivered extension application is complete, OS210 registers information associating the HWID with the identifier of the installed print extension application in registry 322.

[0066] Through this series of processes, the user registers identification information for the printer they wish to use and information to uniquely identify the print extension application to be used. Additionally, characteristic parameters of the printer are written to each file. These characteristic parameters are then written to an area accessible by the extension application through a process described later, making them accessible from the extension application.

[0067] Figures 4 and 5 illustrate a case where a single common printer driver 211 has file sets 313 and 314 for multiple printing devices, and switches between these files to support multiple printing devices. However, the implementation method of the common printer driver 211 is not limited to this. For example, a default template for the common printer driver 211 may be prepared in advance, and the installation process for the common printer driver 211 for a new printing device may be performed based on this template. In this case, a new installation of the common driver is performed instead of the process in S404. Also, extended configuration processing is performed for the newly installed common printer driver instead of the processes in S409 and S410.

[0068] <Print Control> Next, print control using the common printer driver 211 will be explained using Figures 6 to 10. Figures 6, 8 to 10 are flowcharts showing print control in the computer 101. Figure 7 is an example of the operation screen displayed on the display 207. Each operation shown in the flowcharts of Figures 6, 8 to 10 is realized by reading the programs for implementing each module, component, and application stored in the external memory 209 into the RAM 202 and executing them on the CPU 201. In order to clarify the subject of the processing, each module, component, and application will be described as the subject as necessary.

[0069] In S601, OS210 receives a print settings display event. The print settings display event occurs when a user executes a print command on an application that has a print output function. In S602, OS210 displays the simple print settings dialog 700. Figure 7(a) is an example of the simple print settings dialog 700 displayed on the display 207. In the simple print settings dialog 700, settings can be made using the printer device settings 701, paper size settings 702, and number of copies settings 703. The detailed settings button 705 is used to display the UI of the detailed print settings UI section 352 provided by the print extension application 350. The print button 710 is used to complete the print settings and start printing. The cancel button 711 is used to cancel the print settings. Hereafter in this embodiment, for the purpose of explanation, the printer device used for printing set via the dialog 700 will be referred to as the target printer. Furthermore, it will be explained assuming that the printer device 102 is selected as the target printer.

[0070] Returning to the explanation of Figure 6, in S603, OS210 accepts user input in the simple print settings dialog 700. In S604, OS210 determines whether the advanced settings button 705 has been clicked. If OS210 detects that the advanced settings button 705 has been clicked in S604, it proceeds to S605; otherwise, it proceeds to S630.

[0071] In S605, OS210 performs a print extension application search process. The search process in S605 will be described later. In S606, OS210 determines whether the result of the print extension application search process in S605 is true or not. If the result of S606 is true, the process proceeds to S607. If the result of S606 is not true, the process proceeds to S620.

[0072] In S607, OS210 launches the print extension application associated with the target printer. Specifically, it determines and launches the application to launch based on the identifier of the print extension application 350 included in the search results of S605. In this embodiment, the print extension applications provided by the vendor are stored in a predetermined folder, and the print extension application to be launched can be uniquely determined based on the identifier. However, it is not limited to this, and for example, the processing result of S605 may include a URI or file path for launching the extension application. In this case, OS210 launches the extension application using the URI or file path.

[0073] In S608, the print extension application 350 launched by the OS displays the detailed print settings dialog 720. The detailed print settings UI unit 352 displays the detailed print settings dialog based on the PrintTicket and PrintCapabilities generated from the function text file of the target printer among the file groups 313 and 314. Figure 7(b) is an example of the detailed print settings dialog 720 of the print extension application 350. The user can configure settings related to page aggregation 721, stapling 722, and watermark printing 723 via the detailed print settings dialog 720 of the print extension application 350.

[0074] The settings for the background printing 723 include text 731 indicating the string to be printed as a background, color 732 of the printed background, angle 733 of the string to be printed as a background relative to the paper, and font size 734 of the string to be printed as a background. In addition, the printing method 735 allows selection between watermark printing, which prints the background as a background on the original drawing data, and overlay printing, which overwrites the original drawing data with the background. The OK button 740 is clicked when the detailed print settings of the print extension application 350 are completed and the user returns to the simple print settings dialog 700. In this embodiment, a string is used as an example of a background, but it is not limited to this. For example, a drawing object such as a stamp indicating that it is a confidential document may be embedded as hidden information.

[0075] Returning to the explanation of Figure 6, at S609, the print extension application 350 accepts user input via the detailed print settings dialog 720. At S610, the print extension application 350 determines whether or not it has detected that the OK button 740 has been clicked. At S610, if it has detected that the OK button 740 has been clicked, it proceeds to S611; otherwise, it waits for further print settings to be accepted.

[0076] Next, in S611, the print extension application 350 stores the print settings configured in the detailed print settings dialog 720 in the application storage area 355. Here, characteristic parameters (for example, watermark parameters) described in the device function text file corresponding to the target printer are also stored, similar to the print settings. The PrintTicket is then updated with the print settings configured in the detailed print settings dialog 720. Once the update process is complete, the process proceeds to S612.

[0077] Figure 7(c) shows an example of data 750 stored in the application storage area 355. Values ​​set in the detailed print settings dialog 720 of the print extension application 350 are stored in data items 751 to 760. In addition, parameters related to the watermark printing function, namely small dot size 761 and large dot size 762, are stored as characteristic parameters described in the device function text file. Figure 7(c) illustrates the case where the target printer is the printing device 102.

[0078] Returning to the explanation in Figure 6, at S612, OS210 finishes displaying the detailed print settings dialog 720 of the print extension application 350 and returns the control focus to the simple print settings dialog 700.

[0079] Next, we will explain the process when no print extension application is associated. In S620, OS210 displays the OS standard detailed print settings dialog. The OS standard detailed print settings dialog is a dialog that can only configure settings defined in IPP. It is assumed that settings related to the watermark printing function cannot be made from such a print dialog. In S621, OS210 accepts user input in the OS common detailed print settings dialog. In S622, OS210 determines whether or not it has detected that the OK button in the OS common detailed print settings dialog has been clicked. In S622, if it has detected that the OK button has been clicked, it proceeds to S623; if it has not detected that the OK button has been clicked, it waits for further user input.

[0080] In S623, OS210 updates the PrintTicket based on the print settings in the OS-wide detailed print settings dialog. In S624, OS210 finishes displaying the OS-wide detailed print settings dialog and returns control focus to the simple print settings dialog 700.

[0081] In S630, OS210 determines whether or not it has detected that the cancel button 711 has been clicked. If it has detected that the cancel button has been clicked in S630, it cancels the print settings and terminates the series of print processes. If it has not detected that the cancel button has been clicked in S630, it proceeds to S640.

[0082] In S640, OS210 determines whether or not it has detected that the print button 710 has been clicked. If it has detected that the print button has been clicked in S640, the process proceeds to S641. If it has not detected that the print button has been clicked, the process returns to S603 and accepts further print setting operations.

[0083] Next, in S641, OS210 updates the PrintTicket with the print settings configured in the Simple Print Settings dialog 700.

[0084] Finally, in S650, OS210 generates a print process start event and terminates the display of the simple print settings dialog 700. The print process triggered by the print process start event will be described later in the flowcharts in Figures 9 and 10.

[0085] Next, we will explain the print extension application search process for the S605 using the flowchart in Figure 8.

[0086] In S801, OS210 refers to registry 322 and retrieves information associated with the print queue 301 of the target printer selected by the user.

[0087] In S802, OS210 determines whether a print extension application identifier is registered in association with the target printer. If a print extension application identifier is registered in S802, the process proceeds to S803. If a print extension application identifier is not registered in S802, the process proceeds to S805.

[0088] In S803, OS210 checks for all touch applications 340 installed on computer 101 to see if there is a match for its print extension application identifier. If a match is found in S803, the process proceeds to S804; otherwise, the process proceeds to S805.

[0089] In S804, OS210 determines that a print extension application 350 associated with print queue 301 exists and returns true as a result of the print extension application search process. This search result also includes an identifier for launching the print extension application.

[0090] On the other hand, in S805, OS210 determines that there is no print extension application 350 associated with print queue 301, and returns false as the result of the print extension application search process.

[0091] In this embodiment, we have provided an example of including an identifier for launching the extended printing application in the search results, but we are not limited to this. The search results may also include a URI or file path for launching the extended printing application.

[0092] <Print control after print command> Next, the printing process based on the print process start event issued in S650 will be explained using the flowcharts in Figures 9 and 10. The flowchart in Figure 9 is the flowchart executed in accordance with the issuance of the print process start event by the process in S650.

[0093] In S901, OS210 receives print data in XPS format and a PrintTicket from the application and temporarily stores them in spooler 302.

[0094] In S902, OS210 performs a print extension application search process. The print extension application search process in S902 is the same as the process in S605, so the explanation is omitted.

[0095] In S903, OS210 determines whether the result of the print extension application search process in S902 is true or false. If the result of S903 is true, the process proceeds to S904; otherwise, the process proceeds to S910.

[0096] In S904, OS210 launches the print-time-launched background task unit 353 of the print-time-launched application 350 via the print-time-launched application launcher 305. It also passes the XPS format print target data received by S902 and the PrintTicket to the background task unit 353.

[0097] In S905, the background task unit 353 that starts during printing determines whether the watermark printing function is set as a print setting. The background task unit 353 refers to the data stored in the application storage area 355 via the print extension application 350 and determines whether the watermark printing function is set as a print setting by checking whether a true value is stored in the data item 754. If the watermark printing function is set as a print setting, the process proceeds to S906; otherwise, the process proceeds to S908.

[0098] In S906, OS210 retrieves the characteristic parameters of the target printer stored in the application storage area 355 via the print extension application 350. Here, parameters related to watermark printing are retrieved from data items 755 and 758 stored in the application storage area 355.

[0099] Next, in S907, the print extension application 350 edits the XPS data to be printed and performs the watermark generation process. Figure 10 is a flowchart illustrating the process in S907.

[0100] In S1001, the print extension application 350 generates latent image data, which is a hidden pattern, based on data item 758 and large dot size 762 from data item 755. Latent image data is data constructed so that when the area represented by the font of data item 758, using the string specified in data item 755 and the tilt of data item 757, is drawn with the dot size of large dot size 762 and the color of data item 756, it will have a specified density. When embedding drawing objects such as stamps, the print extension application 350 will rotate the pre-registered stamps as appropriate to generate the latent image data, which is a hidden pattern.

[0101] Next, in S1002, the print extension application 350 generates background data based on data item 755, data item 758, and small dot size 761. This data is configured so that when the area outside the latent image region is dotted with the color of data item 756 using the small dot size 761, it will have the specified density.

[0102] The print extension application 350 controls the latent image data generated by S1001 and the background data generated by S1002 so that the density per unit area is the same. This allows for the output of printed materials in which, from a human visual perspective, the areas of text or stamps represented by large dots and the areas represented by small dots appear as a faint, uniform pattern. When these printed materials are scanned or copied, the background data drawn with small dots in the areas represented by small dots disappears because it is not read by the scanner, leaving behind the hidden text drawn with large dots. Therefore, it becomes immediately clear that the original is a copy.

[0103] Returning to the explanation of Figure 10, in S1003, the print extension application 350 determines whether the value of data item 759 is watermark printing or overprinting. In S1003, if the value of data item 759 is watermark printing, the process proceeds to S1004. In S1003, if the value of data item 759 is overprinting, the process proceeds to S1005.

[0104] In S1004, the XPS is edited so that the latent image data generated in S1001 and the background data generated in S1002 are output behind the original drawing data. In other words, the background pattern data consisting of the latent image data and background data is composited behind the original drawing data.

[0105] Meanwhile, in S1005, the XPS is edited so that the latent image data generated in S1001 and the background data generated in S1002 are output in front of the original drawing data. In other words, the background pattern data consisting of the latent image data and the background data is composited in front of the original drawing data. Once the processing is complete, the process proceeds to S908 in Figure 9.

[0106] Next, in S908, the print extension application 350 edits the PrintTicket and XPS based on the data items 751 of the page aggregation 721 and 752 of the staple 722, which were set in the detailed print settings dialog 720. Once editing in S908 is complete, the print extension application 350 writes the edited PrintTicket and XPS back to the spooler 302 of OS210, completing the application process.

[0107] In S910, OS210 retrieves PrintTicket and XPS files from spooler 302 via filter pipeline manager 303.

[0108] In S911, the OS210, via the filter pipeline manager 303, reads the filter 311 corresponding to the printer driver 211 to be used from the external memory 209 and loads it into RAM 202, based on the definition in the filter configuration 312. In S912, the OS210 inputs the XPS to the expanded filter 311 via the filter pipeline manager 303 and executes the PDL conversion process using the filter 311. Note that the filter 311 used in the PDL conversion process in S912 may consist of multiple filters. In S913, the OS210 transfers the PDL obtained as a result of the PDL conversion process in S912 to the spooler 302 via the filter pipeline manager 303. Subsequently, the OS210, in cooperation with the network I / F 213, sends the data including the PDL and PrintTicket as a print job to the target printer (e.g., printing device 102) via the spooler 302.

[0109] The printing device that receives the print job prints the image onto the sheet based on the print job. If the print job includes watermark data, it can output printed material containing hidden information such as text or patterns. In this case, the latent image data and background data are generated based on the characteristic parameters of the printing device selected as the target printer, and are assigned according to the printing capabilities of that device. Therefore, appropriate watermark printing becomes possible.

[0110] The series of processes described above enables the realization of a watermark printing function based on the characteristic parameters of each printing device. This makes it possible to generate watermarks according to different watermark parameters depending on the destination printing device, even when using a common printer driver 211.

[0111] <Examples of characteristic parameters> In the first embodiment, the pattern parameter, which is an example of a characteristic parameter, was illustrated as a set of small dot size 761 and large dot size 762. However, the pattern parameter may have other configurations. Figure 11 illustrates a modified example of the pattern parameter. As shown in Figure 11(a), the pattern parameter may be configured to include small dot size column 1101 and large dot size column 1102 in the device function text file. The small dot size column 1101 and large dot size column 1102 are parameters assuming a specification in which the density of the pattern can be changed by user operation, and they show dot size values ​​corresponding to five levels of density.

[0112] Configuring the system to allow user-operated density adjustment offers the following advantages: In electrophotographic printing devices, even within the same model, individual differences in print engines and density changes due to aging can occur. When density changes occur, users can switch the density of the background pattern to achieve more suitable background printing.

[0113] Figure 11(b) shows an example of the detailed print settings dialog 1110 for setting the density of the background pattern. Depending on the value of the density setting 1111 in the detailed print settings dialog 1110, it is possible to switch which values ​​from the small dot size column 1101 and the large dot size column 1102 are used. In this embodiment, the default density in the background pattern generation process in S1001 and S1002 is set to a fixed value, but the default density for each device may also be described in the device function text file 513 as a characteristic parameter that depends on the printing device.

[0114] Furthermore, in the first embodiment and the embodiments described above, parameters for the watermark printing function were given as an example of characteristic parameters to be provided to the print extension application 350, and the watermark printing function was given as an example of a unique function of the print extension application 350, but the invention is not limited thereto. For example, characteristic parameters related to color profiles or dither matrices used for halftone processing may be provided to the print extension application 350. Upon receiving such characteristic parameters, the print extension application 350 can implement color matching functions based on the color profile, or enable settings such as the line screen when performing halftone processing on the printing device.

[0115] <Examples of methods for providing characteristic parameters> In the above embodiment, the device function text file and script file managed by the common printer driver 211 are overwritten or extended by the processing in S410 with a file containing characteristic parameters included in the extended INF package. Furthermore, the characteristic parameters included in the overwritten or extended file are saved in the application storage area 355 when the print extension application 350 sets the print settings, so that the characteristic parameters can be provided to an area accessible by the print extension application 350. However, the timing of providing the characteristic parameters is not limited to this. For example, in the extended setup process of S410, the OS 210 may store the characteristic parameters in the application storage area 355 of the print extension application corresponding to the target printer.

[0116] <Examples of the timing of providing unique features> Furthermore, the above embodiment illustrates a case where vendor-specific functions shown in S902-S908 are executed before converting the XPS data to PDL, but it is not limited to this. It is also possible to control the system to provide vendor-specific functions after the conversion process from PDF or raster to PDL, which is performed in S910-S912. This can be done by executing the processes in S910-S912 first, followed by the processes corresponding to S902-S908.

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

[0118] 101 Client Computers 201 CPU 211 Common Printer Driver 350 Print Extension Apps

Claims

[Claim 1] An information processing device having a common printer driver that can be used in common for multiple different printing devices, A first acquisition means acquires identification information to identify the type of printing device in accordance with the receipt of an instruction to add a printing device to be used with the aforementioned common printer driver, A second acquisition means obtains an extended configuration file from an external source, which includes characteristic parameters of a corresponding printing device and an identifier for identifying an extended application that uses the characteristic parameters, using the identification information obtained by the first acquisition means. A writing means that writes the characteristic parameters to an area accessible by the extended application identified by the identifier, based on the extended configuration file obtained by the second acquisition means, An information processing device characterized by having the following features.