Information processing device, control method, and program

The information processing apparatus addresses the challenge of handling diverse printing devices by providing characteristic parameters to extended applications, enhancing the functionality and convenience of common printer drivers.

JP2025109942AActive Publication Date: 2025-07-25CANON KK
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2025085044
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-07-25
Estimated Expiration
2038-10-05

AI Technical Summary

Technical Problem

Existing universal printer drivers struggle to handle printing devices from different vendors due to varying communication methods and settings, limiting the utilization of vendor-specific functions like background pattern printing, and requiring extensive modifications with each new model release.

Method used

An information processing apparatus that acquires identification information for a printing device, retrieves an extended setting file with characteristic parameters, and writes these parameters to an accessible area for an extended application, enabling appropriate function provision and enhancing convenience.

Benefits of technology

Enables the use of vendor-specific functions like background pattern printing while reducing the need for extensive application modifications with new models, thus improving the convenience and functionality of common printer drivers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025109942000001_ABST
    Figure 2025109942000001_ABST
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 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 the information processing apparatus. The printer driver is configured according to the 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 the 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 with an architecture called a V3 printer driver.

[0004] Also, since the V4 printer driver emphasizes security, 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] Conventionally, a printer driver called a universal printer driver is known as a printer driver for controlling a plurality of types of printing devices with different functions (Patent Document 1). With this printer driver, it is possible to display an operation screen suitable for each individual printing device for each model and model.

[0006] Furthermore, it is considered possible to transmit print data to a printing device without using a printer driver. For example, in Ubuntu (registered trademark) 17.04, as a default function of the OS, a mechanism for transmitting print data to a printing device compatible with IPP Everywhere (registered trademark) is installed. IPP Everywhere is a series of standards that enable printing using various printing devices, and standard setting and dissemination activities are being carried out by industry groups and the like.

Prior Art Documents

Patent Documents

[0007]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0008] Universal printer drivers such as those disclosed in Patent Document 1 are generally provided for each vendor. Therefore, for multiple types of printing devices with different functions sold by the same vendor, one universal printer driver could be used to handle them. However, it was difficult to handle 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, PDL (Page Description Language), or JDL (Job Description Language) to exchange printing data, making it difficult to unify. Also, regarding printing setting items, there are issues such as different setting items for each vendor or different interpretations even for similar setting items, making it difficult to handle with a single universal printer driver.

[0009] As described above, it is conceivable to provide a common printer driver or print client that uses a mechanism compliant with IPP, such as IPP Everywhere. However, a common printer driver compliant with IPP has a problem that it cannot utilize functions developed and provided independently by the vendor.

[0010] In view of this problem, it is conceivable to associate such a common printer driver with an extended application for performing vendor-specific printing settings as in the prior art.

[0011] Here, one of the functions independently developed and provided by the vendor is the background pattern printing function. The background pattern printing function is a function of printing a background pattern on the background or foreground of a printed matter so that specific character strings or figures emerge 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 to prevent forgery of the printed matter and suppress copying. In such a background pattern printing function, it is necessary to appropriately generate a background image in accordance with the output characteristics (characteristic parameters for each model) of the output destination printing device. If all the characteristic parameters different for each such model are stored in the extension application, the size of the application may become excessive. There is also a concern that the extension application needs to be modified every time a new model is released, increasing the operation cost.

[0012] The present invention has been made in view of at least one of the above-described problems. One object 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 a printing device used in a common printer driver. Another object of the present invention is to provide a mechanism for enhancing the convenience of printing when using a common printer driver.

Means for Solving the Problem

[0013] To achieve at least one of the above objects, an information processing apparatus according to the present invention is an information processing apparatus having a common printer driver that can be commonly used for a plurality of different printing apparatuses, and according to an instruction to add a printing apparatus to be used by the common printer driver, a first acquisition unit that acquires identification information for identifying the type of the printing apparatus, a second acquisition unit that acquires, from the outside, an extended setting file including characteristic parameters of the corresponding printing apparatus and an identifier for specifying an extended application that uses the characteristic parameters, using the identification information acquired by the first acquisition unit, and a writing unit that writes the characteristic parameters to an area accessible by the extended application specified by the identifier, based on the extended setting file acquired by the second acquisition unit.

Advantages of the Invention

[0014] As one aspect of the present invention, when adding a printing apparatus to be used by a common printer driver, characteristic parameters of the printing apparatus can be provided to an extended application corresponding to the printing apparatus. Therefore, the extended application can provide an appropriate extended function according to the characteristic parameters of the printing apparatus. Further, as another aspect of the present invention, the convenience when using the common printer driver can be enhanced.

Brief Description of the Drawings

[0015]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

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] <First Embodiment> First, the configuration of the 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 apparatus, a server 105 that distributes data to the client computer 101, and printing apparatuses 102 to 104. Each apparatus can communicate with each other through a network 100 including a Wide Area Network (WAN).

[0018] Note that the printing devices 102 to 104 may be single - function printers equipped with only a printing function, or multi - function printers equipped with a printing function, a scanning function, and a copying function. Also, the client computer 101 may be connected to the network 100 not just by one unit, but multiple units may be connected. The printing device 102 can receive printing data in the form of a page description language (PDL) from the outside and perform printing.

[0019] The client computer 101 can transmit printing data to the printing device 102 and the like. The server 105 is a server that distributes touch applications, printing extension applications, printer drivers, packages of extension INFs, etc. to clients. In this embodiment, as an example, the case where the server 105 provides each package is illustrated, but it is not limited to this. Each package may be distributed by a plurality of different servers. Also, the server for each package distribution may be a cloud server or the like.

[0020] FIG. 2 is a block diagram showing the hardware configuration of the client computer 101 in FIG. 1. A control unit including a CPU (Central Processing Unit) 201 controls the operation of the entire client computer 101. The CPU 201 expands a program stored in a ROM (Read Only Memory) 203 or an external memory 209 into a RAM (Random Access Memory) 202 and performs various controls by executing it. The RAM 202 is the main memory of the CPU 201 and is used as a work area or a temporary storage area for expanding various programs. The ROM 203 stores control programs, boot programs, etc. that can be executed by the CPU 201. The 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 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 the HDD. In this way, the hardware such as the CPU 201, the RAM 202, the ROM 203, and the 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 the user. The display I / F 206 controls the display of the screen on the 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 the network I / F 213. The network I / F 213 transmits print data to a printing device on the network 100 or receives a store application, a printer driver, etc. from the server 105 on the network 100. Note that data communication with an external terminal on the network 100 is, for example, wireless communication compliant with 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] Next, an example of the software configuration of the client computer 101 will be described with reference to FIG. 3. First, the operating software in the client computer 101 will be described. The software in the client computer 101 is composed of the OS 210 and the application 212.

[0025] First, the individual elements that make up the OS 210 will be described. The OS 210 performs management control on the client computer 101. The OS 210 of this embodiment includes a printing system 300, a printer driver storage area 310, and an external setting file group 320.

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

[0027] The print queue 301 is an area for temporarily storing print jobs when performing printing using a printing device existing within the network 100, and a plurality of them can exist. In the present embodiment, for the sake of explanation, it is assumed that print queues 301 corresponding to the printing devices 102 to 104 are created.

[0028] The spooler 302 is a module that temporarily stores and manages an XPS (XML Paper Specification) file, which is print target data printed from any of the applications 212. The XPS file stored in the spooler 302 is converted to a PDL (Page Description Language) through the filter pipeline manager 303 and then transmitted to the 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 printing architecture provided by the OS 210.

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

[0031] The configuration module 304 is a module that generates and modifies PrintTickets. Also, the configuration module 304 has a prohibition function that restricts so that settings that cannot be combined are not made. Further, the configuration module 304 manages PrintCapabilities, which are the printer's capability information. The detailed print settings UI section 352, the background task section 353 launched during printing, and the UI section 354 launched during printing of the print extension application 350 can call the API provided by the configuration module 304. Each section can obtain a PrintTicket or PrintCapabilities in XML (Extensible Markup Language) format by calling the said API. The common printer driver 211 provides the OS 210 with a prohibition rule indicating a combination of conflicting print settings, a device function text file group 313 describing the functions of the device, and a script file group 314. These file groups store different files for each destination printing device. That is, based on the files selected from the device function text file group 313 and the script file group 314, the operation of the configuration module 304 is customized.

[0032] The print launch app launcher 305 is a module that controls the execution of background tasks provided by the background task section 353 launched during printing 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 launch app launcher 305 launches the background task section 353 launched during printing. If a setting to disable the launch of the background task is stored in the registry 322, the OS 210 suppresses the execution of the background task.

[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, as an example, the case where the common printer driver 211 is installed is illustrated. However, in addition to the common printer driver 211, other printer drivers may be installed. The common printer driver 211 is composed of a filter 311, a filter configuration 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 configuration 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 printer. The common printer driver 211 switches the files used by the configuration module 304 according to the printer of the output destination selected by the user. In this embodiment, the common printer driver 211 is a universal printer driver corresponding to printing devices of a plurality of vendors, and it is assumed that printing settings compliant with IPP can be performed with this driver alone. In this embodiment, the common printer driver 211 is assumed to be a driver installed by the user, but it is not limited to this. For example, the common printer driver 211 may be pre-installed in the OS 210.

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

[0035] Here, as described above, it is conceivable to provide a common printer driver or print client that uses a mechanism compliant with IPP typified by IPP Everywhere. However, a common printer driver that can be used with printing devices of multiple vendors has a problem that only printing settings compliant with IPP can be used, and functions uniquely developed and provided by the vendor cannot be utilized.

[0036] In view of this problem, it is conceivable to associate such a common printer driver with an extension application for performing vendor-specific printing settings.

[0037] By the way, one of the functions uniquely developed and provided by the vendor is a watermark printing function. The watermark printing function is a function of printing a watermark on the background or foreground of a printed matter so that specific character strings or figures appear 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 to prevent forgery of the printed matter and suppress copying. In such a watermark printing function, it is necessary to appropriately generate a background image in accordance with the output characteristics (characteristic parameters for each model) of the output destination printing device. If all the characteristic parameters different for each model are stored in the extension application, the size of the application may become excessive. There is also a concern that the extension application needs to be modified every time a new model is released, increasing the operation cost.

[0038] In view of this, in the present embodiment, when adding a printing device used in the common printer driver, the characteristic parameters of the printing device can be appropriately provided to the extension application corresponding to the printing device. This will be specifically described below.

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

[0040] The metadata 321 is definition information that has both identifiers, i.e., the print extension app identifier of the print extension app 350 and the HWID (HardwareId) of the print queue used by the V4 printer driver, and has the role of associating each of them.

[0041] The registry 322 is an area of the registry database in which the setting group of the OS 210 is described. Values can be described in the registry 322 in the Key And Value format, and the settings for each print queue 301 can be described. In the registry 322, there are registered a policy setting indicating whether to enable or disable the activation of background tasks by the print-time startup app launcher 305, and the correspondence relationship between the identifier of the print extension app 350 associated with the printer driver 211 and the HWID of the printer. The settings registered in the registry 322 can be referenced and changed via the setting screen of the OS 210.

[0042] Subsequently, each element constituting the application 212 will be described. The application 212 is composed of the desktop app 330, the touch app 340, and the print extension app 350.

[0043] The desktop app 330 is an application that operates in the execution environment for the desktop of the OS 210. The desktop app 330 has no restrictions or official markets as seen in the touch app 340 described later.

[0044] The touch app 340 is an application that operates in the execution environment for touch apps of the OS 210. It is downloaded through the official market, which is an application distribution system published on the Internet, and installed on the client computer 101. The touch app 340 has necessary module groups packaged and signed, and the calls to the APIs within the OS 210 are restricted.

[0045] The printing extension app 350 is a type of touch app 340 and operates in the execution environment for touch apps of the OS 210, similar to the touch app 340. The printing extension app 350 is acquired by the OS 210 from the official market that serves as the application distribution system via the Internet. Also, the printing extension app 350 of this embodiment has a printing-time UI display function that displays a uniquely customized UI during printing. The printing extension app 350 can be associated with a printer driver provided by a printer vendor via the metadata 321. Also, when it is associated with a common printer driver 211 that is commonly used 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 printing extension app 350 will be described later based on the flowchart of FIG. 4.

[0046] The printing extension app 350 is composed of a tile app section 351, a detailed printing settings UI section 352, a printing-time startup background task section 353, a printing-time startup UI section 354, an app storage area 355, a settings file 356, and a custom settings file 357.

[0047] The tile app section 351 is executed in accordance with receiving a user operation to start the printing extension app 350 and provides functions such as status display of registered printing devices. The detailed printing settings UI section 352 is executed in accordance with receiving a detailed printing settings event issued by the OS 210. The detailed printing settings UI section 352 generates and displays a UI for printing settings based on the PrintTicket and PrintCapabilities obtained through the API from the configuration module 304. The printing-time startup UI section 354 can appropriately change the settings of the PrintTicket according to a user operation and return it to the configuration module 304.

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

[0049] The configuration file 356 is a file in which the setting values of the print extension application 350 are described. A print extension application identifier uniquely indicating the print extension application 350 and a custom configuration file 357 to be used are described. The custom configuration file 357 is a configuration file in which the print extension application 350 describes the settings of the services available to the printer driver.

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

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

[0052] In S402, the OS 210 receives a response to S401. Subsequently, based on the response, a printer list for selecting a printer to be added is displayed. Here, for the sake of explanation, it is assumed that printing devices 102 to 104 are found by the search and printing devices 102 and 104 are displayed on the list. It is assumed that the printing device 103 is already associated with the common printer driver so that it can be used from the common printer driver 211. Therefore, the OS 210 controls not to display the printing device 103 in the printer list for selecting a printer to be added.

[0053] Subsequently, in S403, the OS 210 accepts a user operation for selecting a target printer from the printer list displayed in S402. Here, for the sake of explanation, it is assumed that the printing device 102 is 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 of S404, the printing port is set, and the printer's capability settings are performed based on the printing attribute information compliant with IPP obtained from the target printer. By executing the processes from S401 to S404, the printing device can be used from the common printer driver 211. The processes after S405 are controls for extending the common printer driver 211 with a printing extension application.

[0055] Subsequently, 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 differs for each model and type of the printing device, and is identification information used to specify the type of the printing device. When the printing device 102 is selected, "XXX" is acquired.

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

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

[0058] Subsequently, in S407, the OS 210 determines whether the extended INF package with the HWID obtained in S405 exists in the server 105 or a predetermined directory. First, the OS 210 searches whether the extended INF package with the HWID is stored in a predetermined directory of the computer 101, and determines whether there is an extended INF package according to the search result. If it is determined that the extended INF package with the HWID obtained in S405 exists in the computer 101, the process proceeds to S408. If it is determined that it does not exist, subsequently, a confirmation inquiry including the HWID is sent to the server 105. The server 105 determines whether it manages the corresponding extended INF package for the inquiry and responds with the confirmation result. The OS 210 determines whether the corresponding extended INF package exists based on the confirmation result. Note that the server 105 manages extended INF packages of various vendors. A vendor who wants to associate a print extension application with the common printer driver 211 can register the extended INF package with the server 105 in advance.

[0059] If the OS 210 determines that the extended INF package exists in the server 105, the process proceeds to S408. On the other hand, if the OS 210 determines that the corresponding extended INF package does not exist in either the predetermined directory or the server 105, the association of the print extension application 350 is not performed, and the additional process of the printing device is completed. For example, in the case of the printing device 104, the extended INF package is not prepared. Therefore, when the target printer is the printing device 104, the setup process is completed without associating the print extension application.

[0060] Returning to the description of FIG. 4, in S408, the OS 210 obtains 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. Further, 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 function text file and the script file included in the extended INF package may store characteristic parameters that vary depending on the type of printing device.

[0062] For example, the device function text file 513 includes the texture parameters required when using the texture printing function. Further, the script file 514 includes characteristic parameters such as prohibited conditions indicating combinations of printing settings in which specific problems occur in the printing device. For example, depending on the output characteristics of the printing engine, there are cases where appropriate hidden information cannot be printed when combining a low resolution with the texture printing function. The script file 514 includes rules for controlling so that these are not set for each other. Further, the characteristic parameters included in the extended INF package are just an example, and it is possible to include various other parameters for performing more appropriate printing on 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 for halftone processing.

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

[0064] Subsequently, in S410, the OS 210 performs an 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, when 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. Also, the OS 210 overwrites and extends the original device function text file with the device function text file 513 included in the acquired extended INF package 510 and stores it in the group of device function text files.

[0065] In addition, the OS 210 associates the printing extension app 350 with the common printer driver 211 based on the basic extended INF 506. The association will be described with reference to FIG. 5. When the corresponding printing extension app 350 is installed on the computer 101, the OS 210 registers information associating the HWID with the identifier of the printing extension app in the registry 322. When the corresponding printing extension app 350 is not installed on the computer 101, the OS 210 transmits an app acquisition request including the identifier of the printing extension app included in the basic extended INF 506 to the server 105. The server 105 that has received the app acquisition request distributes the installation package of the corresponding printing extension app to the computer 101. After the installation of the distributed extension application is completed, the OS 210 registers information associating the HWID with the identifier of the installed printing extension app 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 printing extension app to be used are registered. Also, the characteristic parameters of the printing device are written into each file group. The characteristic parameters written into each of these file groups are written into an area accessible by the extension app through the processes described later and can be referenced by the extension app.

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

[0068] <Print Control> Subsequently, 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 reading a program for realizing each module, component, and application stored in the external memory 209 into the RAM 202 and executing it with the CPU 201. Note that, in order to clarify the subject of the process, each module, component, and application will be described with the subject as necessary.

[0069] In S601, the OS 210 receives a print setting display event. The print setting display event is generated 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. 7(a) 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 the printer device settings 701, paper size settings 702, and number of copies settings 703 used for printing. The detailed settings button 705 is a button used when displaying the UI of the detailed print setting UI section 352 provided by the print extension app 350. The print button 710 is a button used when completing the print settings and starting printing. The cancel button 711 is a button used when canceling the print settings. Hereinafter, in this embodiment, for the sake of explanation, the printer device used for printing set via the dialog 700 is referred to as the target printer. Also, it will be described assuming that the printing device 102 is selected as the target printer.

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

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

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

[0073] In S608, the print extension app 350 launched by the OS displays a detailed print settings dialog 720. The detailed print settings UI part 352 displays the detailed print settings dialog based on the PrintTicket and PrintCapabilities generated based on the function text file of the target printer among the file groups 313 and 314. FIG. 7(b) is an example of the detailed print settings dialog 720 of the print extension app 350. The user can perform settings regarding page collation 721, stapling 722, and watermark printing 723 via the detailed print settings dialog 720 of the print extension app 350.

[0074] As the setting values regarding the watermark printing 723, text 731 indicating the string to be printed as the watermark, the color 732 of the watermark to be printed, the angle 733 of the string to be printed as the watermark with respect to the paper, and the font size 734 of the string to be printed as the watermark can be set. Also, in the printing method 735, it is possible to select watermark printing for printing the watermark as the background of the original drawing data and overlay printing for overwriting and printing the watermark on the original drawing data. The OK button 740 is clicked when the detailed print settings of the print extension app 350 are completed and the simple print settings dialog 700 is returned to. In this embodiment, a string is exemplified as an example of the watermark, 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 description of FIG. 6, in S609, the printing extension app 350 receives a user operation via the detailed printing settings dialog 720. In S610, the printing extension app 350 determines whether it has detected that the OK button 740 has been clicked. In S610, if it has detected that the OK button 740 has been clicked, the process proceeds to S611, and if it has not detected that the OK button 740 has been clicked, it waits to receive further printing settings.

[0076] Subsequently, in S611, the printing extension app 350 stores the printing settings set in the detailed printing settings dialog 720 in the app storage area 355. Here, the characteristic parameters (for example, background pattern parameters) described in the device function text file corresponding to the target printer are also stored in the same way as the printing settings. Also, the PrintTicket is updated with the printing settings set in the detailed printing settings dialog 720. When the update process is completed, the process proceeds to S612.

[0077] FIG. 7(c) is an example of the data 750 stored in the app storage area 355. The values set in the detailed printing settings dialog 720 of the printing extension app 350 are stored from the data item 751 to the data item 760. Also, as the characteristic parameters described in the device function text file, the small dot size 761 and the large dot size 762, which are parameters related to the background printing function, are stored. FIG. 7(c) illustrates the case where the target printer is the printing device 102.

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

[0079] Next, the processing when the print extension app is not associated will be described. In S620, the OS 210 displays a detailed print settings dialog of the OS standard. The detailed print settings dialog of the OS standard is a dialog in which only the setting items defined in IPP can be set. It is assumed that the settings related to the background printing function cannot be made from such a print dialog. In S621, the OS 210 accepts user operations in the detailed print settings dialog common to the OS. In S622, the OS 210 determines whether or not it has detected that the OK button in the detailed print settings dialog common to the OS has been clicked. In S622, if it has detected that the OK button has been clicked, the process proceeds to S623, and if it has not detected that the OK button has been clicked, it waits for further lucky settings operations to be accepted.

[0080] In S623, the OS 210 updates the PrintTicket based on the print settings in the detailed print settings dialog common to the OS. In S624, the OS 210 ends the display of the detailed print settings dialog common to the OS and returns the control focus 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. In S630, if it has detected that the cancel button has been clicked, it cancels the print settings and aborts the series of print processes. In S630, if it has not detected that the cancel button has been clicked, the process proceeds to S640.

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

[0083] Subsequently, in S641, the OS 210 updates the PrintTicket with the print settings set in the simple print settings dialog 700.

[0084] Finally, in S650, the OS 210 generates a print process start event and ends the display of the simple print settings dialog 700. The print process triggered by the generation of the print process start event will be described later with the flowcharts of FIGS. 9 and 10.

[0085] Subsequently, the print extension app search process in S605 will be described using the flowchart of FIG. 8.

[0086] In 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 app identifier is registered in association with the target printer. In S802, if the print extension app identifier is registered, the process proceeds to S803. In S802, if the print extension app identifier is not registered, the process proceeds to S805.

[0088] In S803, the OS 210 checks whether there is any touch app 340 installed on the computer 101 that matches the print extension app identifier. In S803, if there is a match with the print extension app identifier, the process proceeds to S804. If there is no match with the print extension app identifier, the process proceeds to S805.

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

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

[0091] Note that in this embodiment, the case where an identifier for starting the extended print app is included in the search result is illustrated, but it is not limited thereto. A URI, a file path, or the like for starting the extended print app may be included in the search result.

[0092] <Print control after print instruction> Subsequently, the print process based on the print process start event issued in S650 will be described using the flowcharts of FIGS. 9 and 10. The flowchart of FIG. 9 is a flowchart executed in accordance with the issuance of the print process start event by the process of S650.

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

[0094] In S902, the OS 210 performs a print extension app search process. The print extension app search process in S902 is the same as the process in S605, so the description thereof is omitted.

[0095] In S903, the OS 210 determines whether the result of the print extension app search process in S902 is true. As a result of S903, if the result of the print extension app search process in S902 is true, the process proceeds to S904, and if it is not true (false), the process proceeds to S910.

[0096] In S904, the OS 210 starts the print-time start background task unit 353 of the print extension app 350 via the print-time start app launcher 305. Also, the print target data in XPS format received in S902 and the PrintTicket are passed to the background task unit 353.

[0097] In S905, the printing startup background task unit 353 determines whether the background printing function is set as a printing setting. The printing startup background task unit 353 refers to the data stored in the application storage area 355 via the printing extension application 350, and determines whether the background printing function is set as a printing setting based on whether a true value is stored in the data item 754. If the background printing function is set as a printing setting, the process proceeds to S906; if the background 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 printing extension application 350. Here, it is assumed that the parameters related to the background printing are acquired from the data item 755 and the data item 758 stored in the application storage area 355.

[0099] Subsequently, in S907, the printing extension application 350 edits the XPS which is the printing target data and performs the background generation process. FIG. 10 is a flowchart for explaining the process of S907.

[0100] In S1001, the printing extension application 350 generates latent image data which is a hidden pattern based on the data item 755, the data item 758, and the large dot size 762. The latent image data is data configured such that when dotting is performed in the color of the data item 756 with the dot size of the large dot size 762 within the area represented by the character string specified in the data item 755 and the inclination of the data item 757 in the font of the data item 758, a specified density is obtained. When embedding a drawing object such as a stamp, the printing extension application 350 appropriately rotates a pre-registered stamp or the like to generate latent image data which is a hidden pattern.

[0101] Subsequently, in S1002, the print extension application 350 generates background data based on data items 758 and 759 and the small dot size 761 from data item 755. For areas outside the latent image area, it is data configured to achieve a specified density when dotting with the color of data item 756 at the dot size of small dot size 761.

[0102] The print extension application 350 controls so that the density per predetermined area of the latent image data generated in S1001 and the background data generated in S1002 is the same. As a result, in terms of human visual recognition, a printed matter can be output such that the areas of character strings and stamps represented by large dots and the areas represented by small dots appear as a thin and uniform pattern. When these printed matters are scanned or copied, the areas represented by small dots and the background data drawn with small dots disappear without being read by the scanner, and the hidden character strings drawn with large dots remain. Therefore, it becomes possible to immediately tell that it is a copied document.

[0103] Returning to the description of FIG. 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. That is, pattern data composed of the latent image data and the background data is synthesized behind the original drawing data.

[0105] On the other hand, 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. That is, pattern data composed of the latent image data and the background data is synthesized in front of the original drawing data. When the process is completed, the process proceeds to S908 in FIG. 9.

[0106] Subsequently, in S908, the printing extension app 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 set in the detailed printing settings dialog 720. When the editing in S908 is completed, the printing extension app 350 rewrites the edited PrintTicket and XPS to the spooler 302 of the OS 210 and completes the process of the app.

[0107] In 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 out the filter 311 corresponding to the printer driver 211 to be used from the external memory 209 based on the definition of the filter config 312 via the filter pipeline manager 303 and loads it into the RAM 202. In S912, the OS 210 inputs the XPS-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 in S912 may be composed of a plurality of filters. In S913, the OS 210 transfers the PDL obtained as a result of the PDL conversion process in S912 to the spooler 302 via the filter pipeline manager 303. Then, the OS 210 cooperates with the network I / F 213 via the spooler 302 and transmits the data including the PDL and the PrintTicket as a print job to the target printer (for example, 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. When the print job includes the background pattern 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 the background data are generated in accordance with the printing ability of the printing device based on the characteristic parameters of the printing device selected as the target printer. Therefore, appropriate background pattern printing can be performed.

[0110] From the series of processes described above, a background printing function based on the characteristic parameters for each printing device can be realized. As a result, even when the common printer driver 211 is used, it becomes possible to realize a background generation process according to different background parameters according to the output destination printing device.

[0111] <Modification Example Regarding Characteristic Parameters> In the first embodiment, an example of the characteristic parameter, the background parameter, was exemplified in the case of a set of one large and one small dot sizes, the small dot size 761 and the large dot size 762. However, the background parameter may have other configurations. FIG. 11 is a diagram for explaining a modification example of the background parameter. As shown in FIG. 11(a), a configuration may be adopted in which the background parameters of the small dot size column 1101 and the large dot size column 1102 are described in the device function text file. The small dot size column 1101 and the large dot size column 1102 are parameters in the case of assuming a specification in which the density of the background can be changed by a user operation, and indicate the values of the dot sizes corresponding to five levels of density.

[0112] If configured to be able to adjust the density by a user operation, there are the following advantages. In an electrophotographic printing device, even for printing devices of the same model, individual differences between print engines and density changes due to long-term use may occur. When a density change occurs, it becomes possible to perform more suitable background printing by switching the density of the background by a user operation.

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

[0114] Furthermore, in the first embodiment and the above-described embodiments, as an example of the characteristic parameters provided to the print extension app 350, the parameters of the background printing function are exemplified, and the background printing function is exemplified as an example of the unique function of the print extension app 350, but it is not limited thereto. For example, characteristic parameters regarding a color profile or a dither matrix used for halftone processing may be provided to the print extension app 350. The print extension app 350 that has received the characteristic parameters can realize a color matching function based on the color profile, or can perform settings such as the number of lines when performing halftone processing on the printing device.

[0115] <Modification example regarding the method of providing characteristic parameters> In the above-described embodiment, the device function text file and the script file managed by the common printer driver 211 in the process of S410 are overwritten or extended with a file including the characteristic parameters included in the package for the extended INF. Further, by saving the characteristic parameters included in the overwritten or extended file in the app storage area 355 at the time of print setting by the print extension app 350, the characteristic parameters can be provided to the area accessible by the print extension app 350. However, the timing for providing the characteristic parameters is not limited thereto. For example, in the extended setup process of S410, the OS 210 may store the characteristic parameters in the app storage area 355 of the print extension app corresponding to the target printer.

[0116] <Modification example regarding the timing of providing unique functions> Also, in the above-described embodiment, the case where the vendor's unique functions shown in S902 to S908 are executed before converting the XPS target data into PDL is exemplified, but the present invention is not limited thereto. After the conversion processes S910 to S912, which are conversion processes to PDL such as PDF and raster, are performed, it is also possible to control to provide the vendor's unique functions. The processes of S910 to S912 may be executed first, and then the processes corresponding 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 the above-described 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 (for example, ASIC or FPGA) that realizes one or more functions.

Description of Reference Numerals

[0118] 101 Client computer 201 CPU 211 Common printer driver 350 Print extension application

Claims

【Claim 1】 An information processing apparatus having a common printer driver that can be commonly used for a plurality of different printing apparatuses, a first acquisition means for acquiring identification information for identifying the type of the printing apparatus in accordance with an instruction to add a printing apparatus to be used by the common printer driver; a second acquisition means for externally acquiring an extended setting file including characteristic parameters of a corresponding printing apparatus and an identifier for specifying an extended application that uses the characteristic parameters, using the identification information acquired by the first acquisition means; a writing means for writing the characteristic parameters into an area accessible by the extended application specified by the identifier, based on the extended setting file acquired by the second acquisition means; and an information processing apparatus characterized by having the above.

Citation Information

Patent Citations

  • Information processing system executing function information provision device on network

    JP2007114900A

  • Information processing apparatus, information processing method, and program

    JP2013058090A

  • Print system, printer, print server, and method for printer and print server

    JP2013058151A

  • Program, information processing apparatus, information processing method, and information processing system

    JP2015166918A

  • Program, information processing apparatus, information processing system, and information processing method

    JP2015166928A