Information Processing Apparatus, Control Method, and Program

JP7686900B2Active Publication Date: 2025-06-02CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025033146
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-03-03
Publication Date
2025-06-02
Estimated Expiration
2038-10-05

AI Technical Summary

Technical Problem

Existing universal printer drivers struggle to accommodate printing devices from different vendors due to varying communication methods, PDL and JDL, and differing setting items and interpretations, making it difficult to provide a unified solution.

Method used

The information processing device includes a common printer driver that acquires identification information for the printing device, obtains an extension setting file containing characteristic parameters, and writes these parameters to an accessible area for the corresponding extension application.

Benefits of technology

This solution allows the extension application to provide appropriate extensions tailored to the printing device's characteristic parameters, enhancing printing convenience and reducing operational costs by avoiding the need to modify the application for each new device model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000020_0000
    Figure 00000020_0000
  • Figure 00000021_0000
    Figure 00000021_0000
  • Figure 00000022_0000
    Figure 00000022_0000
Patent Text Reader

Abstract

To enable characteristic parameters of a printing device to be provided to an extended application supporting the printing device when a printing device used with a shared printer driver is added.SOLUTION: A computer 101, upon reception of an instruction of addition of a printing device used with a shared printer driver, acquires identification information for identifying a type of the printing device (S405), and then acquires an extended setting file including characteristic parameters of a supported printing device and an identifier for identifying an extended application which uses the characteristic parameters from the outside by using the acquired identification information (S408). Finally the computer writes the characteristic parameters into an area to which the extended application identified by the identifier can access (S410, S611).SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device that communicates with a printing device, a control method, and a program. [Background technology]

[0002] A commonly known configuration is to use a printer driver to send print data to a printing device. An operating system (OS), which is basic software, is installed on an information processing device, and the printer driver is configured according to the print architecture defined by the OS and runs when called by the OS. Vendors that provide printing devices provide printer drivers that conform to the OS specifications. The OS and printer driver work together to realize the function of printing using the destination printing device.

[0003] Incidentally, when using a version of the OS earlier than Microsoft® Windows® 8, the printer driver is configured with an architecture called a V3 printer driver.

[0004] Furthermore, an architecture called the V4 printer driver has appeared since Windows 8.1. The V4 printer driver places emphasis on security, so the scalability of the printer driver itself is lower than that of the V3 printer driver. To compensate for this lowered scalability, vendors who provide printing devices can provide dedicated applications to assist the functions of the printer driver. These applications are called UWP Device Apps (Universal Windows Platform Device Apps). UWP Device Apps can improve the user experience when printing from a store application (UWP). In addition, the V4 printer driver can be linked to PrinterExtension, a print setting application for setting vendor-specific print settings.

[0005] Conventionally, a printer driver called a universal printer driver is known as a printer driver for controlling multiple types of printing devices with different functions (Patent Document 1). This printer driver can display an operation screen suitable for each printing device for each type or model.

[0006] Furthermore, it is being considered to make it possible to send print data to a printing device without using a printer driver. For example, Ubuntu (registered trademark) 17.04 comes equipped with a mechanism for sending print data to a printing device that supports IPP Everywhere (registered trademark) as a default OS function. IPP Everywhere is a series of standards that enable printing using a variety of printing devices, and industry groups and others are formulating the standards and working to promote them. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Patent Publication No. 2011-243067 Summary of the Invention [Problem to be solved by the invention]

[0008] Universal printer drivers such as those disclosed in Patent Document 1 are generally provided by each vendor. Therefore, a single universal printer driver can be used to support multiple types of printing devices with different functions sold by the same vendor. However, it is difficult to support printing devices from different vendors with a single universal printer driver. This is due to the fact that each vendor uses a different communication method, such as PDL (page description language) or JDL (job description language), to exchange print data, making it difficult to unify them. In addition, print setting items differ from vendor to vendor, or similar setting items are interpreted differently, making it difficult to support them with a single universal printer driver.

[0009] As mentioned above, it is possible to provide a common printer driver or print client that uses an IPP-compliant system such as IPP Everywhere. However, there is a problem with IPP-compliant common printer drivers in that they do not allow the use of functions that vendors have independently developed and provided.

[0010] In view of this problem, it may be possible to associate an expansion application for making vendor-specific print settings with a common printer driver, as in the conventional technology.

[0011] Here, one of the functions that vendors independently create and provide is a watermark printing function. The watermark printing function is a function that prints a watermark in the background or foreground of a printed matter so that a specific character string or figure appears when the printed matter is copied. By using this function, it becomes possible to distinguish between the original and the copy of the printed matter, and it is expected that counterfeiting of the printed matter and copying will be prevented. With such a watermark printing function, it is necessary to generate an appropriate background image according to the output characteristics (characteristic parameters for each model) of the printing device to which the print is output. If all of these characteristic parameters that differ for each model are stored in the extension application, there is a risk that the size of the application will become bloated. In addition, there is a concern that the extension application needs to be modified every time a new model is released, which will increase operational costs.

[0012] The present invention has been made in consideration of at least one of the above problems. One of the objects of the present invention is to provide a mechanism for providing characteristic parameters of a printing device to an extension application corresponding to the printing device when adding the printing device to be used with a universal printer driver. Another object of the present invention is to provide a mechanism for improving the convenience of printing when using a universal printer driver. [Means for solving the problem]

[0013] In order to achieve at least one of the above-mentioned objects, the information processing device of the present invention is an information processing device having a common printer driver that can be used commonly for a plurality of different printing devices, and is characterized in having: a first acquisition means for acquiring identification information that identifies the type of the printing device in response to receiving an instruction to add a printing device to be used with the common printer driver; a second acquisition means for externally acquiring, using the identification information acquired by the first acquisition means, an extended setting file including characteristic parameters of the corresponding printing device and an identifier for identifying an extended application that uses the characteristic parameters; and a writing means for writing the characteristic parameters to an area accessible to the extended application identified by the identifier based on the extended setting file acquired by the second acquisition means. Effect of the Invention

[0014] One aspect of the present invention is that when a printing device to be used with a common printer driver is added, the characteristic parameters of the printing device can be provided to an extension application corresponding to the printing device. Therefore, the extension application can provide an appropriate extension function that matches the characteristic parameters of the printing device. Another aspect of the present invention is that the convenience of using the common printer driver can be improved. [Brief description of the drawings]

[0015] [Figure 1] FIG. 1 illustrates an example of a printing system. [Diagram 2] FIG. 1 illustrates an example of a hardware configuration of a computer 101. [Diagram 3] FIG. 2 is a diagram illustrating an example of a software configuration of a computer 101. [Figure 4] 10 is a flowchart illustrating an example of association between a driver and a print extension application in the computer 101. [Diagram 5] 10 is a schematic diagram illustrating an example of an association between a driver and a print extension application; [Figure 6]1 is a flowchart illustrating an example of a printing process in a computer 101. [Figure 7] 1A and 1B are diagrams showing an example of a screen displayed on a display 207 of a computer 101 and setting values ​​set via the screen. [Figure 8] 1 is a flowchart illustrating an example of a printing process in a computer 101. [Figure 9] 1 is a flowchart illustrating an example of a printing process in a computer 101. [Figure 10] 1 is a flowchart illustrating an example of a printing process in a computer 101. [Figure 11] 1A and 1B are diagrams showing an example of a screen displayed on a display 207 of a computer 101 and setting values ​​set via the screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Hereinafter, the 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 all of the combinations of features described in the embodiments are not necessarily essential to the solution of the invention.

[0017] <First embodiment> First, the configuration of a printing system according to the present invention will be described with reference to 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 via a network 100 including a wide area network (WAN).

[0018] The printing devices 102 to 104 may be single-function printers equipped with only a printing function, or multifunction printers equipped with printing, scanning, and copying functions. The number of client computers 101 connected to the network 100 is not limited to one, and multiple computers may be connected. The printing device 102 can receive and print print data in a page description language (PDL) format from the outside.

[0019] The client computer 101 can transmit print data to the printing device 102 or the like. The server 105 distributes touch applications, print extension applications, printer drivers, extension INF packages, and the like to clients. In the present embodiment, the server 105 provides each package as an example, but the present invention is not limited to this. Each package may be distributed by a plurality of different servers. Furthermore, the server for distributing each package may be a cloud server or the like.

[0020] 2 is a block diagram showing a hardware configuration of the client computer 101 in FIG. 1. A control unit including a CPU (Central Processing Unit) 201 controls the overall operation of the client computer 101. The CPU 201 loads a program stored in a ROM (Read Only Memory) 203 or an external memory 209 into a RAM (Random Access Memory) 202 and executes the program to perform various controls. 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 a control program executable by the CPU 201, a boot program, etc. An external memory 209 connected to the control unit via an external memory I / F (interface) 208 stores an OS 210, a common printer driver 211, an application 212, etc.

[0021] In this embodiment, an auxiliary storage device such as a hard disk drive (HDD) is assumed as the external memory 209, but a non-volatile memory such as a solid state drive (SSD) may be used instead of the HDD. In this manner, the hardware such as the CPU 201, RAM 202, ROM 203, and external memory 209 constitutes a so-called computer.

[0022] The operation input device I / F 204 is an interface that controls an operation input device 205 such as a keyboard, a pointing device (mouse), or a touch input device. The operation input device 205 functions as a reception unit that receives operations from a user. The display I / F 206 controls the display of a screen on a display 207. The display 207 functions as a display unit that displays information to the user.

[0023] The client computer 101 is connected to the network 100 via a network I / F 213. The network I / F 213 transmits print data to a printing device on the network 100 and receives a store application, a printer driver, and the like from a server 105 on the network 100. Note that data communication with an external terminal on the network 100 is, for example, wireless communication conforming to the IEEE802.11 series, a mobile communication system such as LTE or 5G, or communication via a wired cable such as a LAN cable.

[0024] 3, an example of the software configuration of the client computer 101 will be described. First, an explanation will be given of the operating software in the client computer 101. The software in the client computer 101 is composed of an OS 210 and an application 212.

[0025] First, a description will be given of the individual elements that make up the OS 210. The OS 210 manages and controls the client computer 101. The OS 210 of this embodiment includes a print system 300, a printer driver storage area 310, and an external setting file group 320.

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

[0027] The print queue 301 is an area for temporarily storing print jobs when printing is performed using a printing device present on the network 100, and multiple print queues can exist. For the sake of explanation in this embodiment, it is assumed that print queues 301 corresponding to the 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 data to be printed from any of the applications 212. The XPS files stored in the spooler 302 are converted into PDL (Page Description Language) files through a filter pipeline manager 303, and then transmitted to a printing device through the spooler 302.

[0029] The filter pipeline manager 303 is a module that loads one or more filters 311 and converts an XPS file into a PDL file. The filter pipeline manager 303 is configured as a part of the print architecture provided by the OS 210.

[0030] The OS 210 reads one or more filters 311, which are one of the elements constituting the common printer driver 211, based on the definition of the filter config 312, and generates a PDL using the filter 311. The PDL may be, for example, Printer Control Language (PCL) or Portable Document Format (PDF).

[0031] The configuration module 304 is a module that generates and changes a PrintTicket. The configuration module 304 also has a prohibition function that restricts settings that cannot be combined from being performed. The configuration module 304 also manages PrintCapabilities, which is printer capability information. The detailed print setting UI unit 352, the print start background task unit 353, and the print start UI unit 354 of the print extension application 350 can call an API provided by the configuration module 304. Each unit can obtain a PrintTicket or PrintCapabilities in an XML (Extensible Markup Language) format by calling the API. The common printer driver 211 provides the OS 210 with prohibition rules that indicate combinations of print settings that conflict with each other, device function text files 313, and script files 314. A different file is stored for each destination printing device. That is, the operation of the configuration module 304 is customized based on a file selected from the device function text files 313 and the script files 314.

[0032] The print-time activation application launcher 305 is a module that controls the execution of background tasks provided by the print-time activation background task unit 353 and the like. When the OS 210 detects that a print start instruction has been input by the user and printing is to be performed, the print-time activation application launcher 305 activates the print-time activation background task unit 353. Note that when a setting for disabling the activation of background tasks is stored in the registry 322, the OS 210 suppresses the execution of background tasks.

[0033] The printer driver storage area 310 is an area in which printer drivers such as the common printer driver 211 are stored. In this embodiment, the common printer driver 211 is installed as an example, but other printer drivers may be installed in addition to the common printer driver 211. The common printer driver 211 is composed of a filter 311, a filter config 312, a device function text file group 313, a script file group 314, and an INF group 315. In this embodiment, the filter 311 and the filter config 312 are common regardless of which printing device is used. On the other hand, the file groups 313 to 314 and the INF group 315 are stored as different files for each destination printing device. The common printer driver 211 switches the file 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 of multiple vendors, and the driver alone can perform print settings that comply with IPP. In this embodiment, it is assumed that the universal printer driver 211 is a driver installed by the user, but this is not limited to this. For example, the universal printer driver 211 may be pre-installed in the OS 210.

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

[0035] As mentioned above, it is possible to provide a common printer driver or print client that uses a system that complies with IPP, such as IPP Everywhere, etc. However, a common printer driver that can use printing devices from multiple vendors has the problem that only print settings that comply with IPP can be used, and functions that are uniquely created and provided by the vendors cannot be used.

[0036] In view of this problem, it may be possible to associate an expansion application for making vendor-specific print settings with such a common printer driver.

[0037] Incidentally, one of the functions that vendors independently create and provide is a watermark printing function. The watermark printing function is a function that prints a watermark in the background or foreground of a printed matter so that a specific character string or figure appears when the printed matter is copied. By using this function, it becomes possible to distinguish between the original and the copy of the printed matter, and it is expected that counterfeiting of the printed matter and copying will be prevented. With such a watermark printing function, it is necessary to generate an appropriate background image according to the output characteristics (characteristic parameters for each model) of the printing device to which the print is output. If all of these characteristic parameters that differ for each model are stored in the extension application, there is a risk that the size of the application will become bloated. In addition, there is a concern that the extension application needs to be modified every time a new model is released, which will increase operational costs.

[0038] In view of this, in this embodiment, when a printing device to be used with a universal printer driver is added, the characteristic parameters of the printing device are appropriately provided to an extension application corresponding to the printing device.

[0039] Returning to the explanation of FIG. 3, the external setting file group 320 is made up of metadata 321 and a registry 322 .

[0040] The metadata 321 is definition information having both identifiers, ie, 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 serves to associate the two.

[0041] The registry 322 is an area of ​​a registry database in which settings of the OS 210 are written. In the registry 322, values ​​can be written in a key-and-value format, and settings for each print queue 301 can be written. In the registry 322, a policy setting indicating whether to enable or disable the start of a background task by the print-time start application launcher 305, and a correspondence between an identifier of a print extension application 350 associated with the printer driver 211 and a printer HWID are registered. The settings registered in the registry 322 can be referenced or changed via a setting screen of the OS 210.

[0042] Next, a description will be given of the individual elements that make up the application 212. The application 212 is made up of a desktop application 330, a touch application 340, and a print extension application 350.

[0043] The desktop app 330 is an application that runs in an execution environment for the desktop of the OS 210. The desktop app 330 does not have the restrictions or official market that are present in the touch app 340 described below.

[0044] The touch application 340 is an application that runs in an execution environment for touch applications in the OS 210. It is downloaded through an official market, which is an application distribution system published on the Internet, and installed in the client computer 101. The touch application 340 is a package of necessary modules that are signed, and calls to APIs in the OS 210 are restricted.

[0045] The print extension application 350 is a type of the touch application 340, and operates in the execution environment for touch applications of the OS 210 in the same manner as the touch application 340. The print extension application 350 is acquired via the Internet from an official market in which the OS 210 serves as an application distribution system. The print extension application 350 of this embodiment has a print-time UI display function that displays an original customized UI during printing. The print extension application 350 can be associated with a printer driver provided by a printer vendor via metadata 321. When associated with a common printer driver 211 that is commonly used for printing devices provided by a plurality of printer vendors, the association is performed using a registry 322. The association between the common printer driver 211 and the print extension application 350 will be described later with reference to the flowchart of FIG. 4.

[0046] The print extension application 350 includes a tile application section 351 , a detailed print setting UI section 352 , a background task section 353 started at the time of printing, a UI section 354 started at the time of printing, an application storage area 355 , a setting file 356 , and a custom setting file 357 .

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

[0048] The print-time startup background task unit 353 is a component corresponding to a background task to be executed when a print event is issued. The print-time startup background task unit 353 can obtain, read, and write a PrintTicket through the API of the configuration module 304. When the WF function is used, the background task unit determines whether to start the print-time startup UI unit 354, and requests the OS 210 to start the print-time startup UI unit 354, which is a component of the foreground task, as necessary. Furthermore, by reading and writing values ​​to the application storage area 355, values ​​can be exchanged with the print-time startup UI unit 354. When it is determined that the print-time startup UI unit 354 is not to be started, the print-time startup application launcher 305 generates print data without starting the print extension application 350.

[0049] The setting file 356 is a file in which setting values ​​of the print extension application 350 are described. A print extension application identifier that uniquely identifies the print extension application 350 and a custom setting file 357 to be used are described. The custom setting file 357 is a setting file in which settings of services that the print extension application 350 can use for a printer driver are described.

[0050] <Associating a common printer driver with a print extension application> 4 and 5, a series of steps for associating the universal printer driver 211 with the print extension application 350 when installing a printer driver will be described. FIG. 4 is a flowchart showing a series of steps for associating the universal printer driver 211 with the print extension application 350. FIG. 5 is a schematic diagram for explaining the association of the universal printer driver 211 with the print extension application 350. Each operation shown in the flowchart in FIG. 4 is realized by the OS 210 reading into the RAM 202 a program for implementing each module, component, and application stored in the external memory 209, and the CPU 201 executing the program. The flowchart in FIG. 4 is executed, for example, when the CPU 201 detects a user operation for adding a printing device to be used from the universal printer driver 211.

[0051] In S401, the OS 210 makes an inquiry by multicast within the network 100 to search for a printing device compatible with the universal printer driver 211. For example, Bonjour or WSD (Web Services for Devices) can be used for the search.

[0052] In S402, OS 210 receives a response to S401. Next, based on the response, a printer list is displayed for selecting a printer to be added. For the sake of explanation, it is assumed here that printing devices 102-104 have been found by the search, and printing device 102 and printing device 104 are displayed on the list. It is assumed that printing device 103 has already been associated with a common printer driver so that it can be used from common printer driver 211. Therefore, OS 210 performs control so that printing device 103 is not displayed on the printer list for selecting a printer to be added.

[0053] Next, in S403, the OS 210 accepts a user operation to select a target printer from the printer list displayed in S402. For the sake of explanation, it is assumed here that the printing device 102 has been selected.

[0054] In S404, the OS 210 sets up the common printer driver 211 so that printing can be performed using the target printer selected in S403. In the setup in S404, the print port is set and the printer capabilities are set based on the print attribute information conforming to IPP obtained from the target printer. By executing the processes in S401 to S404, the printing device can be used from the common printer driver 211. The processes from S405 onwards are control for extending the common printer driver 211 with a print extension application.

[0055] Next, in S405, the OS 210 acquires the HWID, which is identification information for identifying the printing device, from the target printer. The HWID acquired here is an identifier that is different for each type or model of printing device, and is identification information used to specify the type of printing device. If the printing device 102 is selected, "XXX" is acquired.

[0056] In S406, the OS 210 generates a basic extended INF in which the acquired HWID is described. The process of S406 will be described with reference to FIG.

[0057] The OS 210 creates a basic extended INF file with the HWID of the printing device added based on the basic INF, which is a default template. If the printing device 102 is selected as the target printer, a basic extended INF 506 with the HWID "XXX" written is generated. At this point, the identifier of the print extension application has not yet been associated.

[0058] Next, in S407, the OS 210 determines whether an extended INF package in which the HWID acquired in S405 is described exists in the server 105 or a predetermined directory. First, the OS 210 searches whether an extended INF package in which the HWID is described is stored in a predetermined directory of the computer 101, and determines whether an extended INF package exists according to the search result. If it is determined that an extended INF package in which the HWID acquired in S405 is described exists in the computer 101, the process proceeds to S408. If it is determined that an extended INF package in which the HWID acquired in S405 is not present, the OS 210 continues to make a confirmation inquiry including the HWID to the server 105. In response to the inquiry, the server 105 determines whether it manages a corresponding extended INF package and responds with the confirmation result. The OS 210 determines whether a corresponding extended INF package exists based on the confirmation result. The server 105 manages extended INF packages of various vendors. A vendor who wants to link a print extension application to the universal printer driver 211 can register an extended INF package in the server 105 in advance.

[0059] If the OS 210 determines that the extended INF package exists on the server 105, the process proceeds to step S408. On the other hand, if the OS 210 determines that the corresponding extended INF package does not exist in the specified directory or on the server 105, the OS 210 does not associate the print extension application 350 and completes the printing device addition process. For example, in the case of the printing device 104, no extended INF package is prepared. Therefore, in the case of the target printer being the printing device 104, the setup process is completed without associating the print extension application.

[0060] Returning to the explanation of Fig. 4, in S408, the OS 210 acquires the corresponding extended INF package from a predetermined directory or the server 105. The extended INF package includes an extended INF, a device function text file, and a script file. For example, the extended INF package 510 corresponding to the printing device 102 shown in Fig. 5 includes an extended INF 515, a device function text file 513, and a script file 514. Moreover, the extended INF package 520 corresponding to the printing device 103 includes an extended INF 525, a device function text file 523, and a script file 524.

[0061] The device capability text file and script file included in the extended INF package can store characteristic parameters that vary depending on the type of printing device.

[0062] For example, the device function text file 513 includes background pattern parameters required when using the background pattern printing function. The script file 514 includes characteristic parameters such as prohibited conditions that indicate combinations of print settings that cause specific problems in the printing device. For example, depending on the output characteristics of the print engine, there are cases where hidden information cannot be printed properly when a low resolution is combined with the background pattern printing function. The script file 514 includes rules for controlling these settings so that they are not set together. The characteristic parameters included in the extended INF package are just an example, and it is possible to include a wide variety of other parameters for more appropriate printing in the printing device. For example, it is possible to include characteristic parameters such as a color profile for color matching and a dither matrix used in halftone processing.

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

[0064] Next, in S410, the OS 210 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 the printing device 102, the OS 210 overwrites or extends the script file associated with the target printer with the script file 514 included in the acquired extended INF package 510, and stores it in the group of script files 314. The OS 210 also overwrites and extends the original device capability text file with the device capability text file 513 included in the acquired extended INF package 510, and stores it in the group of device capability text files.

[0065] Further, the OS 210 associates the print extension application 350 with the universal printer driver 211 based on the basic extension INF 506. The association will be described with reference to FIG. 5. When the corresponding print extension application 350 is installed in the computer 101, the OS 210 registers information associating the HWID with the identifier of the print extension application in the registry 322. When the corresponding print extension application 350 is not installed in the computer 101, the OS 210 transmits an application acquisition request including the identifier of the print extension application included in the basic extension INF 506 to the server 105. The server 105 that receives the application acquisition request distributes an installation package of the corresponding print extension application to the computer 101. When the installation of the distributed extension application is completed, the OS 210 registers information associating the HWID with the identifier of the installed print extension application in the registry 322.

[0066] Through this series of processes, the identification information of the printing device that the user wants to use and the information for uniquely identifying the print extension application to be used are registered. In addition, the characteristic parameters of the printing device are written to each file group. The characteristic parameters written to each file group are written to an area accessible to the extended application by the process described below, and can be referenced by the extended application.

[0067] 4 and 5 show an example in which one universal printer driver 211 has file groups 313, 314 for a plurality of printing devices, and the files are switched to support a plurality of printing devices. However, the method of realizing the universal printer driver 211 is not limited to this. For example, a default template for the universal printer driver 211 may be prepared in advance, and installation processing of the universal printer driver 211 for a new printing device may be performed based on the template. In this case, instead of the processing of S404, a new installation of the common driver is performed. Also, instead of the processing of S409 and S410, an extended setting process is performed for the newly installed universal printer driver.

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

[0069] In S601, the OS 210 accepts a print setting display event. The print setting display event occurs when the user executes a print command on an application having a print output function. In S602, the OS 210 displays a simple print setting dialog 700. FIG. 7A is an example of the simple print setting dialog 700 displayed on the display 207. In the simple print setting dialog 700, settings can be made using a printing device setting 701 used for printing, a paper size setting 702, and a number of copies setting 703. The detailed setting button 705 is a button used to display the UI of the detailed print setting UI unit 352 provided by the print extension application 350. The print button 710 is a button used to complete the print setting and start printing. The cancel button 711 is a button used to cancel the print setting. Hereinafter, in this embodiment, for the sake of explanation, the printing device used for printing set via the dialog 700 is called the target printer. In addition, the explanation will be given assuming that the printing device 102 is selected as the target printer.

[0070] Returning to the explanation of Fig. 6, in S603, the OS 210 accepts a user operation in the simple print setting dialog 700. In S604, the OS 210 determines whether or not the advanced settings button 705 has been clicked. If the OS 210 detects in S604 that the advanced settings button 705 has been clicked, the process proceeds to S605, and if the OS 210 does not detect that the advanced settings button 705 has been clicked, the process proceeds to S630.

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

[0072] In S607, the OS 210 starts the print extension application associated with the target printer. Specifically, the application to be started is determined based on the identifier of the print extension application 350 included in the search processing result of S605, and is started. In this embodiment, the print extension application provided by the vendor is stored in a predetermined folder, and the print extension application to be started can be uniquely determined based on the identifier. However, this is not limited to this, and for example, the processing result of S605 may include a URI or a file path for starting the extension application. In this case, the OS 210 starts the extension application using the URI or the file path.

[0073] In S608, the print extension application 350 started by the OS displays a detailed print setting dialog 720. The detailed print setting UI unit 352 displays the detailed print setting dialog based on the PrintTicket and PrintCapabilities generated based on the functional text file of the target printer among the file groups 313 and 314. Fig. 7B is an example of the detailed print setting dialog 720 of the print extension application 350. The user can configure settings related to page aggregation 721, stapling 722, and tint block printing 723 via the detailed print setting dialog 720 of the print extension application 350.

[0074] As the setting values ​​for the background pattern printing 723, a text 731 indicating a character string to be printed as the background pattern, a color 732 of the background pattern to be printed, an angle 733 of the character string to be printed as the background pattern with respect to the paper, and a font size 734 of the character string to be printed as the background pattern can be set. In addition, in the printing method 735, a watermark printing in which the background pattern is printed as a background of the original drawing data, and an overprinting in which the background pattern is overwritten and printed on the original drawing data can be selected. An OK button 740 is clicked when completing the detailed print setting of the print extension application 350 and returning to the simple print setting dialog 700. Note that, in this embodiment, a character string is exemplified as an example of the background pattern, but is not limited thereto. For example, a drawing object such as a stamp indicating that the document is confidential may be embedded as hidden information.

[0075] Returning to the description of FIG. 6, in S609, the print extension application 350 accepts a user operation via the detailed print setting dialog 720. In S610, the print extension application 350 determines whether or not it has detected that the OK button 740 has been clicked. If it has detected that the OK button 740 has been clicked in S610, the process proceeds to S611, and if it has not detected that the OK button 740 has been clicked, the process waits for further print settings to be accepted.

[0076] Next, in S611, the print extension application 350 stores the print settings set in the detailed print settings dialog 720 in the application storage area 355. Here, characteristic parameters (e.g., tint block parameters) described in the device capability text file corresponding to the target printer are also stored in the same manner as the print settings. In addition, the print ticket is updated with the print settings set in the detailed print settings dialog 720. When the update process is completed, the process proceeds to S612.

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

[0078] Returning to the description of FIG. 6, in step S612, the OS 210 ends the display of the detailed print setting dialog 720 of the print extension application 350, and returns the focus of control to the simple print setting dialog 700.

[0079] Next, the process when the print extension application is not associated will be described. In S620, the OS 210 displays an OS-standard detailed print setting dialog. The OS-standard detailed print setting dialog is a dialog in which only the setting items defined by IPP can be set. It is assumed that the setting related to the watermark printing function cannot be performed from such a print dialog. In S621, the OS 210 accepts a user operation in the OS-common detailed print setting dialog. In S622, the OS 210 judges whether or not it is detected that the OK button in the OS-common detailed print setting dialog has been clicked. If it is detected in S622 that the OK button has been clicked, the process proceeds to S623, and if it is not detected that the OK button has been clicked, the process waits for further acceptance of the setting operation.

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

[0081] In S630, the OS 210 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 stops the series of print processing. If it has not detected that the Cancel button has been clicked in S630, it advances the process to S640.

[0082] In S640, the OS 210 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, and 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, the OS 210 updates the PrintTicket with the print settings set in the simple print setting dialog 700.

[0084] Finally, in S650, the OS 210 generates a print processing start event and terminates the display of the simple print setting dialog 700. The print processing triggered by the occurrence of a print processing start event will be described later with reference to the flowcharts of FIGS.

[0085] Next, the print extension application search process in S605 will be described with reference to the flowchart in FIG.

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

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

[0088] In S803, the OS 210 checks whether there is a print extension application identifier that matches the identifier for all touch applications 340 installed in the computer 101. In S803, if there is a print extension application identifier that matches the identifier, the process proceeds to S804, and if there is no print extension application identifier that matches the identifier, the process proceeds to S805.

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

[0090] On the other hand, in step S805, the OS 210 determines that the print extension application 350 associated with the print queue 301 does not exist, and returns false as a result of the print extension application search process.

[0091] In the present embodiment, the search results include an identifier for starting the extended print application, but the present invention is not limited to this. The search results may include a URI or a file path for starting the extended print application.

[0092] <Print control after print command> Next, the print process based on the print process start event issued in S650 will be described with reference to the flowcharts of Figures 9 and 10. The flowchart of Figure 9 is a flowchart executed in response to the print process start event being issued in the process of S650.

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

[0094] In step S902, the OS 210 performs a print extension application search process. The print extension application search process in step S902 is similar to the process in step S605, and therefore a description thereof will be omitted.

[0095] In S903, the OS 210 determines whether the result of the print extension application search process in S902 is true. If the result of S903 indicates that the print extension application search process in S902 is true, the process proceeds to S904. If the result of S903 indicates that the print extension application search process in S902 is true, the process proceeds to S910.

[0096] In S904, the OS 210 starts the print-time startup background task unit 353 of the print extension application 350 via the print-time startup application launcher 305. In addition, the OS 210 passes to the background task unit 353 the XPS format print target data and the PrintTicket received in S902.

[0097] In S905, the print-time activation background task unit 353 determines whether or not the watermark printing function is set as a print setting. The print-time activation background task unit 353 references the data stored in the application storage area 355 via the print extension application 350, and determines whether or not the watermark printing function is set as a print setting based on whether or not 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, and if the watermark printing function is not set, the process proceeds to S908.

[0098] In S906, the OS 210 acquires the characteristic parameters of the target printer stored in the application storage area 355 via the print extension application 350. In this example, it is assumed that the parameters related to tint block printing are acquired from the data items 755 and 758 stored in the application storage area 355.

[0099] Subsequently, in S907, the print extension application 350 edits the XPS, which is the data to be printed, and performs a tint block generation process. Fig. 10 is a flowchart for explaining the process of S907.

[0100] In S1001, the print extension application 350 generates latent image data, which is a hidden pattern, based on the data items 755 to 758 and the large dot size 762. The latent image data is data configured so that a specified density is obtained when an area expressed in the font of data item 758, using the character string specified in data item 755 or the inclination of data item 757, is dotted with the color of data item 756 at the dot size of large dot size 762. When embedding a drawing object such as a stamp, the print extension application 350 generates latent image data, which is a hidden pattern, by appropriately rotating a previously registered stamp or the like.

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

[0102] The print extension application 350 controls the latent image data generated in S1001 and the background data generated in S1002 so that their densities per given area are similar. This makes it possible to output a printout in which the regions of the character string or stamp represented in large dots and the regions represented in small dots appear as a faint uniform pattern (uniform pattern) to the human visual sense. When such a printout is scanned or copied, the regions represented in small dots are not read by the scanner and the background data drawn in small dots disappears, leaving behind the hidden character string drawn in large dots. This makes it clear at a glance that it is a copied original.

[0103] 10, in S1003, the print extension application 350 determines whether the value of the data item 759 is watermark printing or overprinting. In S1003, if the value of the data item 759 is watermark printing, the process proceeds to S1004, and if the value of the 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, tint block 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 tint block data consisting of the latent image data and background data is composited in front of the original drawing data. When the process is completed, the process proceeds to S908 in FIG.

[0106] Next, in S908, the print extension application 350 edits the PrintTicket and XPS based on the data item 751 of the page aggregation 721 and the data item 752 of the staple 722 that were set in the detailed print settings dialog 720. When the editing in S908 is completed, the print extension application 350 writes the edited PrintTicket and XPS back to the spooler 302 of the OS 210, and completes the application process.

[0107] In step S910 , the OS 210 obtains the PrintTicket and the XPS file from the spooler 302 via the filter pipeline manager 303 .

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

[0109] The printing device that receives the print job prints a print image on a sheet based on the print job. If the print job includes tint block data, a printed matter including hidden information such as a character string or a pattern can be output. At this time, 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 adapted to the printing capabilities of the printing device. This allows appropriate tint block printing to be performed.

[0110] The above-described series of processes makes it possible to realize a tint block printing function based on the characteristic parameters of each printing device. This makes it possible to realize tint block generation processing according to different tint block parameters depending on the printing device of the output destination, even when using a common printer driver 211.

[0111] <Modifications regarding characteristic parameters> In the first embodiment, the background pattern parameters, which are an example of characteristic parameters, are illustrated as a set of small and large dot sizes 761 and 762. However, the background pattern parameters may have other configurations. FIG. 11 is a diagram for explaining a modified example of the background pattern parameters. As shown in FIG. 11(a), the background pattern parameters of a small dot size column 1101 and a large dot size column 1102 may be written in a device function text file. The small dot size column 1101 and the large dot size column 1102 are parameters assuming a specification in which the density of the background pattern can be changed by a user operation, and indicate dot size values ​​corresponding to five levels of density.

[0112] The following advantages can be obtained by configuring the density to be adjustable by user operation. In electrophotographic printing devices, even printing devices of the same model can have individual differences between print engines and density changes due to aging. If density changes occur, the user can switch the density of the tint block by operation to perform more suitable tint block printing.

[0113] 11B is an example of a detailed print setting dialog 1110 for setting the density of the tint block. It is possible to switch between the values ​​of the small dot size column 1101 and the large dot size column 1102 to be used depending on the value of the density setting 1111 in the detailed print setting dialog 1110. Also, in this embodiment, the default density in the tint block generation process in S1001 and S1002 is a fixed value, but the specified density for each device may also be written in the device capabilities text file 513 as a characteristic parameter that depends on the printing device.

[0114] Furthermore, in the first embodiment and the above-described embodiment, parameters of a tint block printing function are exemplified as an example of characteristic parameters provided to the print extension application 350, and a tint block printing function is exemplified as an example of a unique function of the print extension application 350, but the present invention is not limited to this. For example, characteristic parameters related to a color profile and a dither matrix used in halftone processing may be provided to the print extension application 350. The print extension application 350 that receives the characteristic parameters can realize a color matching function based on the color profile, and can set the number of lines when performing halftone processing on a printing device.

[0115] <Modifications on the method of providing characteristic parameters> In the above embodiment, the device function text file and the script file managed by the universal printer driver 211 are overwritten or extended by the file including the characteristic parameters included in the extended INF package by the process of S410. In addition, the characteristic parameters included in the overwritten or extended file are saved in the application save area 355 at the time of print setting by the print extension application 350, 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 save area 355 of the print extension application corresponding to the target printer.

[0116] <Modifications regarding timing of providing unique features> In the above embodiment, the vendor's unique functions shown in S902 to S908 are executed before the XPS data to be processed is converted to PDL, but the present invention is not limited to this. The vendor's unique functions can also be provided after S910 to S912, which are the conversion processes to PDL such as PDF and raster, are performed. The processes of S910 to S912 may be executed first, and then the processes equivalent to S902 to S908 may be executed.

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

[0118] 101 client computers 201 CPU 211 Common printer driver 350 Printing Extension App

Claims

[Claim 1] An information processing apparatus having a common printer driver that can be used in common with a plurality of different printing apparatuses, a first acquisition means for acquiring identification information for identifying a type of a printing device to be used with the universal printer driver in response to receiving an instruction to add the printing device; a second acquisition means for acquiring from an external device an extended setting file including a characteristic parameter of a corresponding printing device and an identifier for identifying an extended application that uses the characteristic parameter, using the identification information acquired by the first acquisition means; a write means for writing the characteristic parameters to an area accessible to the extension application identified by the identifier, based on the extension setting file acquired by the second acquisition means; 13. An information processing device comprising: