Information processing device, control method for information processing device, and program

JP2025030228APending Publication Date: 2025-03-07CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023135338
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-23
Publication Date
2025-03-07

AI Technical Summary

Benefits of technology

【0008】 本発明によれば、印刷アプリケーションのサポート対象の印刷装置が対応付けられた標準ドライバの印刷キューをユーザに指定させることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025030228000001_ABST
    Figure 2025030228000001_ABST
Patent Text Reader

Abstract

To provide an information processing device capable of letting a user specify a print queue of a standard driver to which a printer as a support target of a print application is made to correspond.SOLUTION: A host computer 101 comprises an OS 201 in which print data generation software 202 is built, and a print application 200 which targets a print queue of a specific printer driver provided from a specific vendor as a print target. When it is determined, based upon predetermined information included in a PC of a printer 102d made to correspond to the print data generation software 202, that the print application 200 supports the printer 102d made to correspond to the print data generation software 202, the host computer 101 adds the print queue of the print data generation software 202 to a list of print target printers.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] A known configuration is to use a printer driver installed in a host computer as software for controlling a printing device, and to send print instructions to a printing device connected to the host computer. An operating system (OS), which is the basic software, is installed in the host computer, and the printer driver is configured according to the specifications defined by the OS, and runs when called by the OS. By providing a printer driver that conforms to the OS specifications, a vendor that provides a printing device can provide a means of issuing print instructions to the printing device using the OS.

[0003] In recent years, print data generation software (hereinafter referred to as "standard driver") applicable to various printing devices provided by different vendors has been provided for Windows (see, for example, Patent Document 1). Such standard drivers are pre-installed in the OS and can be easily used by connecting any printing device to the host computer. This makes it unnecessary to separately install a model-specific printer driver suitable for the printing device, which is highly convenient. In addition, the standard driver is configured to be able to specify printing functions based on printing function information generated from information acquired from the connected printing device. This allows a user who uses the standard driver to specify printing functions supported by the standard driver from among the multiple printing functions provided by the connected printing device. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2020-126364 A Summary of the Invention [Problem to be solved by the invention]

[0005] Incidentally, a configuration is known in which a print application installed on a host computer is used to control the display of a print setting screen that allows a user to specify a print queue to be used for printing. Among such print applications, there are print applications that print only print queues of a specific printer driver provided by a specific vendor among print queues registered in the host computer. When using such a print application, the user specifies the print queue to be used for printing from the print queues of the specific printer driver displayed on the print setting screen. In other words, even if a printing device provided by a specific vendor and supported by the print application is associated with a standard driver, the user cannot specify the print queue of the standard driver as the print queue to be used for printing.

[0006] The present invention aims to provide an information processing device, a control method for the information processing device, and a program that enable a user to specify a print queue of a standard driver associated with a printing device supported by a print application. [Means for solving the problem]

[0007] In order to achieve the above object, an information processing device of the present invention is an information processing device including an operating system in which print data generation software is pre-installed, and a print application for printing a print queue of a specific printer driver provided by a specific vendor, the information processing device including: means for acquiring capability information of a print device associated with the print data generation software; and means for determining, based on the capability information, whether or not the print application supports the print device associated with the print data generation software. and a means for adding the print queue of the specific printer driver to a list that allows a user to select a print queue to be used for printing, wherein when it is determined that the print application supports a printing device associated with the print data generation software, the adding means adds the print queue of the print data generation software to the list. Effect of the Invention

[0008] According to the present invention, it is possible to allow a user to specify a print queue of a standard driver associated with a printing device supported by a print application. [Brief description of the drawings]

[0009] [Figure 1] 1 is a block diagram illustrating a hardware configuration of a host computer as an information processing device according to an embodiment of the present invention. [Diagram 2] 2 is a block diagram illustrating a schematic software configuration of the host computer of FIG. 1. [Diagram 3] 3 is a diagram showing an example of a print setting screen displayed by the print application of FIG. 2. FIG. [Figure 4] 3 is a flowchart showing the procedure of a PDC editing control process executed by the print function expansion module of FIG. 2; [Diagram 5] FIG. 5 is a diagram showing an example of additional information acquired in S402 of FIG. 4. [Figure 6] FIG. 5 is a diagram showing an example of a PDC before being edited in S403 of FIG. [Figure 7] FIG. 5 is a diagram showing an example of a PDC after being edited in S403 of FIG. [Figure 8] FIG. 5 is a diagram showing an example of a PDC after being edited in S405 of FIG. [Figure 9] 3 is a flowchart showing the procedure of a print queue acquisition control process executed by the print application of FIG. 2. [Figure 10] FIG. 9 is a diagram showing an example of a PC generated based on the PDC of FIG. 8. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiment does not limit the scope of the present invention, and not all of the combinations of features described in the present embodiment are essential to the solution of the present invention. Note that the same components are given the same reference numbers and descriptions are omitted.

[0011] Fig. 1 is a block diagram showing a schematic hardware configuration of a host computer 101 as an information processing device according to this embodiment. In Fig. 1, the host computer 101 includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a network interface 120. These are connected to each other via a bus 121.

[0012] The CPU 111 controls the entire host computer 101. The ROM 112 stores an initialization program and the like. The RAM 113 is used as a work memory and the like when the CPU 111 executes the programs stored in the ROM 112 or the external storage device 114. The external storage device 114 stores a program and the like for operating the software shown in Fig. 2, which will be described later. In this embodiment, the CPU 111 executes processing according to the procedures of the programs stored in the ROM 112 or the external storage device 114, thereby executing the functions of the host computer 101, which will be described later, and the processing related to the flowcharts, which will be described later.

[0013] Input devices such as a pointing device 117 and a keyboard 118 are connected to the input interface 110. Display devices such as a display unit 119 are connected to the output interface 115. The network interface 120 controls data transfer between the device and external devices via a network.

[0014] One or more printing devices are connected to the host computer 101 via the input / output interface 116. In this embodiment, as an example, it is assumed that four printing devices 102a to 102d are connected to the host computer 101. The printing devices 102a to 102d are all printing devices of the "AAA Inkjet" series provided by the same vendor, and are inkjet printers that print by ejecting ink onto paper. The printing devices 102a to 102d may be configured to print using other methods, for example, electrophotographic printing. In this embodiment, it is assumed that printer drivers 203 to 205 in FIG. 2, which will be described later, corresponding to the printing devices 102a to 102c, respectively, among the printing devices 102a to 102d, are installed in the host computer 101. In addition, it is assumed that a model-specific printer driver corresponding to the printing device 102d is not installed, and the printing device 102d is associated with the print data generation software 202 in FIG. 2, which will be described later.

[0015] In this embodiment, the host computer 101 is assumed to be a desktop personal computer. For this reason, in FIG. 1, the display unit 119 and the pointing device 117 and keyboard 118 serving as the operation unit are not included in the host computer 101. However, the host computer 101 is not limited to a desktop personal computer, and may be a communication device such as a smartphone, a tablet terminal, or a notebook personal computer. When the host computer 101 is such a communication device, the display unit 119 and the operation unit are included in the host computer 101.

[0016] In this embodiment, the method for connecting the printing device to the host computer 101 is not limited to via the input / output interface 116, but may be via the network interface 120, for example, by wireless communication.

[0017] Fig. 2 is a block diagram showing a schematic software configuration of the host computer 101 in Fig. 1. In Fig. 2, the host computer 101 includes, as software, a print application 200, an OS 201, printer drivers 203 to 205, and an extension application 206. The OS 201 is pre-installed with print data generation software 202, which is a standard driver applicable to various printing devices provided by different vendors. The processing of these pieces of software is realized by the CPU 111 executing programs stored in the external storage device 114 or the like.

[0018] The print application 200 is software that creates content (drawing data) to be printed, such as a word processing application or a spreadsheet application. The print application 200 controls the display of a print setting screen that allows a user to set print settings. The print setting screen includes setting items indicating print functions that can be set and their setting value information according to capability information (information that can be set as print settings) acquired from the print data generation software 202 or the like. The capability information is also called PrintCapabilities, and hereinafter, this capability information is referred to as "PC". When the print application 200 receives a print request from a user, it issues a print instruction to the OS 201. The print instruction includes print setting information for instructing the operation of a printing device. The print setting information is also called a PrintTicket. The print application 200 is an application that prints only the print queue of a specific printer driver provided by a specific vendor.

[0019] The OS 201 is, for example, Windows 11 (registered trademark) of Microsoft (registered trademark). The OS 201 generates intermediate data based on a print instruction issued by the print application 200, and passes the generated intermediate data to print data generation software 202 and a driver designated by the user among printer drivers 203 to 205. The data issued by the print application 200 as a print instruction is data in Graphic Device Interface format (GDI format data) or XML Paper Specification format data (XPS format data).

[0020] For example, if the data issued by the print application 200 is GDI format data, the OS 201 converts this GDI format data into XPS format data. The OS 201 passes this XPS format data as intermediate data to a driver specified by the user. Also, if the data issued by the print application 200 is XPS format data, the OS 201 passes the XPS format data as intermediate data to a driver specified by the user. The intermediate data includes drawing data, which is information about a picture (image) to be formed on paper, and print setting information set by the user.

[0021] The print data generation software 202 is, for example, an IPP Class Driver. The IPP Class Driver is a printer driver that executes print processing according to the specifications of a standard print protocol called IPP (Internet Printing Protocol). The print data generation software 202 is not a printer driver specific to the model of the printing device, but a standard driver that can be applied to various printing devices regardless of the manufacturer or model. The print data generation software 202 only has standard printing functions. Therefore, unlike the model-specific printer drivers 203 to 205, only the printing functions supported by the print data generation software 202 can be used among the multiple printing functions of the printing device.

[0022] The print data generation software 202 determines the PC based on the print function information. The print function information is data indicating all print functions that can be set, their setting values, and the print functions in which the exclusive relationship between the setting values ​​is described. The print function information is also called Print Device Capabilities, and hereinafter, this print function information is referred to as "PDC". The PDC is included in the configuration file of the print data generation software 202, and is stored in the external storage device 114 as a file that cannot be changed without the permission of the OS 201. The PDC is dynamically generated by the print data generation software 202 or the OS 201. For example, the print data generation software 202 acquires attribute data from the printing device 102d, which is a printing device associated with the print data generation software 202, and generates a PDC based on the attribute information included in the attribute data. The attribute data is response information that can be acquired by issuing a Get-Printer-Attributes operation of IPP to the printing device 102d associated with the print data generation software 202. This response information includes attribute information indicating functions that can be specified by the printing device 102d (the capabilities of the printing device) and setting values ​​related to the attribute information.

[0023] By controlling in this manner, the print data generation software 202 can allow the user to specify the print functions that the printing device has and that the print data generation software 202 supports, regardless of the printing device provided by any vendor.

[0024] Although a configuration using an IPP Class Driver as the print data generation software 202 will be described, the present invention is not limited to this configuration. For example, it is also possible to use a UP Class Driver installed in Windows 11 (registered trademark) as the print data generation software 202. The UP Class Driver is a printer driver used in Universal Print, which is a form of cloud printing that performs printing via a server (not shown).

[0025] Printer driver 203 is a printer driver specific to the model corresponding to printing device 102a. Printer driver 204 is a printer driver specific to the model corresponding to printing device 102b. Printer driver 205 is a printer driver specific to the model corresponding to printing device 102c. Printer drivers 203 to 205 are each installed in host computer 101 when the corresponding printing device is connected to host computer 101, for example.

[0026] Drivers such as print data generation software 202 and printer drivers 203-205 convert the intermediate data acquired from OS 201 into print data that can be interpreted by the corresponding printing device, and transmit this print data to the corresponding printing device. The print data includes drawing data, which is information on the picture (image) to be formed on paper, and print setting attribute information (attribute information that specifies print settings) generated based on print setting information set by the user. The print setting attribute information includes attribute information that indicates functions that can be specified on the printing device (capabilities of the printing device) and setting values ​​related to the attribute information.

[0027] Printing devices such as printing device 102a to printing device 102d print on paper based on the received print data. At this time, these printing devices form the drawing data included in the print data on paper by operating according to the print setting attribute information included in the print data. The print setting attribute information includes attribute information and its setting value for specifying print quality (priority of image quality, priority of speed, etc.) and double-sided printing, etc. For example, if the print setting attribute information includes attribute information specifying double-sided printing and a setting value indicating that it is to be performed, the printing device executes double-sided printing.

[0028] The extension application 206 is software for extending the function of the print data generation software 202, and is not incorporated in the OS 201. For this reason, the user needs to operate the host computer 101 and install the extension application 206 downloaded from a server (not shown) via the Internet. It is also possible to configure the extension application 206 corresponding to the printing device to be automatically installed in the host computer 101 based on the connection of the printing device to the host computer 101. Specifically, when the printing device is connected to the host computer 101, the OS 201 acquires device identification information from the printing device and downloads the extension application 206 corresponding to the acquired device identification information from the server via the Internet. That is, the print data generation software 202 and the extension application 206 are held in the host computer 101 as separate files. It is to be noted that when the extension application 206 is installed in the host computer 101, the OS 201 associates the extension application 206 with the connected printing device and the print data generation software 202.

[0029] The extension application 206 includes a print setting screen extension module 207, a print function extension module 208, and a print data editing module 209. The extension application 206 also holds shared information 210 accessible from each unit. The shared information 210 is actually a file saved in the external storage device 114, or information stored in the RAM 113. The extension application 206 writes and reads information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS 201. The configuration of the extension application 206 is not limited to the above-mentioned configuration, and may include only some of the modules described above, or may include modules other than the modules described above. The extension application 206 may also be simply called print software.

[0030] The print setting screen extension module 207 makes the appearance of the print setting screen easier to understand, and performs extensions such as displaying items that cannot be displayed on the standard print setting screen. The print function extension module 208 edits the PDC generated by the print data generation software 202 or the OS 201. This makes it possible to add a print function that is not supported by the print data generation software 202 but can be extended by the extension application 206, and to add an exclusive relationship between setting values ​​of print functions. In this embodiment, the OS 201 starts the print function extension module 208 when the extension application 206 is first associated with the printing device and the print data generation software 202. Furthermore, the OS 201 may start the print function extension module 208 at other times such as when the OS 201 is started. In this way, in a case where an optional device (e.g., a finisher, etc.) is added to the printing device later and functions related to printing are extended, the print function extension module 208 can detect the extended function and add the function to the PDC.

[0031] The print data editing module 209 receives print data from the print data generation software 202 and can perform any editing on the print data. The edited print data is sent to the printing device 102, which then prints the data on paper.

[0032] Next, the print setting screen displayed by the print application 200 will be described.

[0033] FIG. 3(a) is a diagram showing an example of a print setting screen displayed by the print application 200 of FIG. 2. A user can display an image on this print setting screen and edit the image. Examples of methods for displaying an image include a method in which a user opens Explorer from the file menu of the print application 200 to display an image, and a method in which an image is displayed by directly dragging and dropping the image onto the print application 200. The image format used is a format that can be interpreted by the print application 200, such as an image format such as Bitmap or Tiff. Alternatively, a vector format such as XPS (XML Paper Specification) or EMF (Enhanced Metafile) may be used.

[0034] As shown in FIG. 3A, the print setting screen includes a preview area 301 , a printer setting 302 , a paper type setting 303 , a roll paper width setting 304 , and a print button 305 .

[0035] The preview area 301 is an area that displays a preview image when an edited image is printed. In Fig. 3(a), as an example, four images are displayed on the roll paper surface. Note that the user can directly adjust the size, position, etc. of the image using the pointing device 117 while checking the preview image.

[0036] The printer setting 302 is a combo box that accepts the designation of a print queue corresponding to a printer driver used for printing. As described above, the print application 200 prints only print queues corresponding to a specific printer driver provided by a specific vendor among the printer drivers included in the host computer 101. Therefore, the printer setting 302 displays only print queues of the specific printer driver. In this embodiment, as an example, as shown in FIG. 3B, only print queues of the “AAA Inkjet” series printer driver provided by a specific vendor are displayed as print targets in the printer setting 302. In other words, even if a printer driver (such as BBB Printer) provided by a vendor other than the specific vendor or a printer driver (such as AAA LaserPrinter) of another series provided by a specific vendor is installed in the host computer 101, the print queues of these printer drivers are not displayed in the printer setting 302. By limiting the print target to print queues of a specific printer driver, the print application 200 does not need to guarantee printing of print queues of unsupported printer drivers. Furthermore, by narrowing down the supported items, it is possible to flexibly handle non-standard printing functions (for example, fine adjustment of borderless overflow amount) and make full use of the specifications of the supported printing device. Methods for determining whether or not a function is supported include, for example, determining from the settings of DeviceCapabilities and PrintCapabilities, the printer model name, etc. It is also possible to determine whether or not a printer driver's print queue can be controlled with a specific SDK.

[0037] The paper type setting 303 is a combo box that accepts the specification of the type of paper used for printing. The roll paper width setting 304 is a combo box that accepts the specification of the roll paper width used for printing. The print application 200 can acquire capability information that can be set in the paper type setting 303 and roll paper width setting 304 for the print queue selected in the printer setting 302 by using the functions of the OS 201 of a PC or the like. The print button 305 is a button for sending the print setting information set in the paper type setting 303 and roll paper width setting 304, and the layout information (drawing information) edited by the user in the preview area 301, to the printer driver corresponding to the print queue specified in the printer setting 302.

[0038] Here, the operation will be described when a printing device of the "AAA Inkjet" series supported by the printing application 200 is connected to the host computer 101 and the print data generation software 202 is associated with this printing device. Conventionally, the print data generation software 202 does not support a specific SDK and can only return DeviceCapabilities and PC with standard values. In addition, the printer model name is a standard driver name such as "IPP Class Driver" in Windows 11 (registered trademark) and the like. For this reason, even if a supported printing device is associated with the print data generation software 202 in the standard mechanism, it is difficult for the print application 200 to determine whether or not to include the print queue of the print data generation software 202 in the print target. In addition, the print data generation software 202 whose functions have not been extended by the extension application 206 is likely to have only standard print functions, and there are cases where the functions provided by the print application 200 cannot be fully satisfied. For these reasons, conventionally, the print application 200 cannot include the print queue of the print data generation software 202 as a print target even if a printing device of the "AAA Inkjet" series is associated with the print data generation software 202. For this reason, even if a printing device supported by the print application 200 is associated with the print data generation software 202, the user cannot specify the print queue of the print data generation software 202 as the print queue to be used for printing.

[0039] In the following, a preferred embodiment will be described in which a print application 200 that prints only to a print queue of a specific printer driver provided by a specific vendor prints to a print queue of print data generation software 202.

[0040] Fig. 4 is a flow chart showing the procedure of the PDC edit control process executed by the print function extension module 208 of Fig. 2. The print function extension module 208 is started by the OS 201 at any timing, such as when the print function extension module 208 is associated with a print device connected to the host computer 101, when the OS 201 is started, when the print setting screen extension module 207 is started, etc., and executes the PDC edit control process. Note that in this embodiment, it is assumed that, among the print devices 102a to 102d connected to the host computer 101, the print device 102d for which a corresponding model-specific printer driver is not installed in the host computer 101 is associated with the print data generation software 202 and the extension application 206.

[0041] 4, first, in step S401, the print function extension module 208 acquires capability information of the printing device 102d associated with the extension application 206. This capability information can be acquired by issuing a Get-Printer-Attributes operation of IPP to the printing device 102d. Alternatively, the extension application 206 may acquire the capability information from the printing device 102d using a different protocol.

[0042] Next, in S402, the print function extension module 208 acquires additional information about the printing device 102d from an external device such as a Web server (not shown) as necessary. For example, the print function extension module 208 acquires additional information about the printing device 102d by issuing an HTTP request via the network interface 120 to a Web server managed by a vendor that provides the printing device 102d. The additional information may be in any format such as JSON format or XML format. In this embodiment, the additional information is information about a printing application that supports the printing device 102d. For example, as shown in FIG. 5(a), information is acquired such as that the printing application A (version 1.0 or later), the printing application B (version 3.0 or later), and the maintenance application C (version 1.0 or later) support the printing device 102d. With such information, the print function extension module 208 can determine which printing application the printing device 102d associated with the extension application 206 can cooperate with. The additional information may be in the form of category information of a print application that supports the printing device 102d, as shown in Fig. 5B. Fig. 5B shows that a print application that falls under the category "IJ_Soft01" ​​supports the printing device 102d.

[0043] The additional information may be held in advance by the extension application 206, or may be acquired in S401 as the capability information of the printing device 102d. When the additional information is acquired in S401 as the capability information of the printing device 102d, the printing function extension module 208 skips the process of S402 and proceeds to S403. The printing function extension module 208 may always acquire the latest information from the Web server, or may acquire information from the Web server only when a specific device ID or specific information is acquired from the printing device 102d. When it is possible to determine whether the printing application 200 supports the printing device 102d only from the standard capability information acquired in S401, the printing function extension module 208 may skip the process of S402. For example, when it is possible to determine whether the printing application 200 supports the printing device 102d only from the value of marker-types returned from the printing device 102d by the Get-Printer-Attributes operation, the process of S402 is skipped.

[0044] Next, in S403, the print function extension module 208 executes a first PDC editing process based on the acquired capability information of the printing device 102d and its own information. In the first PDC editing process, for example, a vendor-specific printing function not supported by the print data generation software 202 is added, and an exclusive relationship between print function setting values ​​not described in the PDC is added. FIG. 6 shows a PDC 601 before being edited in S403, and FIG. 7 shows a PDC 701 after being edited in S403. The PDC 601 before being edited in S403 includes only standard print setting information supported by the print data generation software 202. The print function extension module 208 edits the PDC 601 based on the acquired capability information of the printing device 102d and its own information. For example, information 703 on the type of paper: AAA_Special defined by the vendor, information 704 on the roll paper width, a name space 702, and the like are added.

[0045] Next, in S404, the print function extension module 208 determines whether the information acquired in S401 and S402 and the information it possesses include information that can determine whether the print application 200 and the printing device 102d can cooperate with each other. Note that the information that can determine whether the print application 200 and the printing device 102d can cooperate with each other is, for example, the information shown in FIG. 5(a) or the information shown in FIG. 5(b).

[0046] If it is determined in S404 that the information for determining whether or not the print application 200 and the printing device 102d can cooperate with each other is not included, the PDC editing control process ends. If it is determined in S404 that the information for determining whether or not the print application 200 and the printing device 102d can cooperate with each other is included, the PDC editing control process proceeds to S405.

[0047] In S405, the print function expansion module 208 executes the second PDC editing process, and then the PDC editing control process ends.

[0048] 8 is obtained by the second PDC editing process. Determination information 802, which was not included in PDC 701, is added to PDC 801. Determination information 802 is information for the print application 200 to determine whether or not the print queue of print data generation software 202 can be included in the print target. Determination information 802 includes, for example, information about a print application that supports the printing device 102d associated with the print data generation software 202. For example, determination information 802 includes information indicating that the print application corresponding to "IJ_Soft01" ​​can support the printing device 102d associated with the print data generation software 202 based on the information in FIG. 5(b).

[0049] As a specific example, the extension application 206 may support both a laser printer and an inkjet printer provided by a vendor, and the print application that works with each may be different. In this case, the print application that works with the inkjet printer can include the print queue of the print data generation software 202 associated with the inkjet printer in the print target by using the information in "IJ_Soft01". Also, the print application that works with the laser printer can exclude the print queue of the print data generation software 202 associated with the inkjet printer from its own print target by using the information in "IJ_Soft01".

[0050] It should be noted that, instead of using the information in FIG. 5B as the category information of the printing device, it is also possible to use the value of marker-types returned by the Get-Printer-Attributes operation and determine whether this value is ink-cartridge. As described above, a method may be used in which detailed information of the linked printing application 200 is added to the determination information 802, as in the information in FIG. 5A. Alternatively, if there is no need to add unique information for the linked printing application 200, S405 may be skipped. As an example, if it is possible to determine whether the printing device 102d is a printing device supported by the printing application 200 only from the information 702 to 704 added in S403, there is no need to add unique information. For example, the printing application 200 can determine that the extension application 206 is associated with the print data generation software 202 by the description of the unique namespace 702. Furthermore, if the description content of the unique namespace 702 is changed depending on the category information of the printing device 102d, the category information of the printing device 102d can also be determined from the namespace 702. In this case, if the printing application determines whether or not the printing device 102d is supported based on the category information of the printing device 102d, it can determine from the description of the namespace 702 whether or not the printing device 102d is supported.

[0051] Incidentally, in order to cooperate with the printing application 200, there are cases where the extension of the print data generation software 202 is a prerequisite. For example, if the printing application 200 is an application that requires roll paper width information and information 704 relating to the roll paper width is added in S403, the print data generation software 202 will be able to cooperate with the printing application 200. Conversely, if roll paper width information has not been added to the PDC, the print function extension module 208 will not process S405, or will process the PDC as not allowing cooperation. This configuration makes it possible to prevent the print data generation software 202 from cooperating with the printing application 200 in a state in which its functions are insufficient.

[0052] If the print application 200 does not require the extension of the print data generation software 202 and uses only standard print settings, the installation of the extension application 206 and the process flow of FIG. 4 are not required. In that case, the print application 200 needs to determine whether or not a printing device it supports is associated with the print data generation software 202 using a standard mechanism. As a method of determination, for example, the print application 200 can obtain the manufacturer information of the printer using an API such as EnumPrinterData, and determine from the value whether or not the printing device is made by the target vendor. Furthermore, the print application 200 can narrow down the conditions from the information in PrintCapabilities, for example, to support only those that support borderless printing.

[0053] Fig. 9 is a flowchart showing the procedure of the print queue acquisition control process executed by the print application 200 of Fig. 2. The print queue acquisition control process is executed at a predetermined timing when it is necessary to display printer driver options in the printer setting 302, such as when the print application 200 is started.

[0054] 9, first, the print application 200 acquires a list of print queues of all printer drivers installed in the host computer 101 by an API such as GetPrintQueues (S901). The print application 200 identifies one print queue from the multiple print queues acquired in S901, and executes the processes of S902 to S907 for the identified print queue. When the process of S907 for this print queue is completed, the print application 200 identifies the next print queue from the multiple print queues acquired in S901, and executes the processes of S902 to S907 for the identified print queue. In this way, the print application 200 repeatedly executes the processes of S902 to S907 for the number of print queues acquired in S901. When the processes of S902 to S907 for all print queues are completed, the process proceeds to S908.

[0055] In S902, the print application 200 acquires the capability information of the printer driver corresponding to the identified print queue by using an API of a PC or the like.

[0056] Next, in S903, the print application 200 determines whether the printer driver corresponding to the identified print queue is a specific printer driver supported by the print application 200. As a method of determination in S903, various methods can be mentioned as described in the above-mentioned item of the printer setting 302. For example, when the value of DC_PERSONALITY of DeviceCapabilities is a specific value such as "XYZ" or when the tag "ABC" is included in the PC, it is determined that the specific printer driver is supported by the print application 200. In addition, when the printer driver can be operated by the SDK using the SDK that supports the target printer driver, or when the prefix of the printer model name is "AAA Inkjet", it is also determined that the specific printer driver is supported by the print application 200.

[0057] If it is determined in S903 that the printer driver corresponding to the identified print queue is a specific printer driver supported by the print application 200, the print queue acquisition control process proceeds to S907, which will be described later. If it is determined in S903 that the printer driver corresponding to the identified print queue is not a specific printer driver supported by the print application 200, the print queue acquisition control process proceeds to S904.

[0058] In S904, the print application 200 determines whether application cooperation information for determining whether the print queue of the print data generation software 202 can be included in the print target is included in the information of the PC etc. acquired in S902.

[0059] FIG. 10 is a diagram showing an example of the PC 1001 generated by the OS 201 based on the PDC 801 of FIG. 8. As described above, the PDC 801 includes the determination information 802 for determining whether the print application 200 can include the print queue of the print data generation software 202 in the print target. The PC 1001 includes information 1002 (information for application linkage) including the "SupportApp" tag based on the determination information 802. In S904, for example, if the acquired information on the PC, etc. does not include the "SupportApp" tag, it is determined that the information for application linkage is not included in the information on the PC, etc. acquired in S902. In this case, the print queue acquisition control process moves to the next loop process (processing for the next print queue). On the other hand, if the acquired information on the PC, etc. includes the "SupportApp" tag shown in FIG. 10, it is determined that the information for application linkage is included in the information on the PC, etc. acquired in S902. In this case, the print queue acquisition control process proceeds to S905.

[0060] In S905, the print application 200 determines whether the print application 200 can cooperate with the print data generation software 202 (standard driver) based on the acquired information of the PC, etc. For example, if the acquired PC includes the information 1002 and the print application 200 is not a print application corresponding to "IJ_Soft01", it is determined that the print application 200 does not support the printing device 102d associated with the print data generation software 202. In this case, it is determined that the print application 200 cannot cooperate with the print data generation software 202, and the print queue acquisition control process moves to the next loop process. On the other hand, if the acquired PC includes the information 1002 and the print application 200 is a print application corresponding to "IJ_Soft01", it is determined that the print application 200 supports the printing device 102d associated with the print data generation software 202. In this case, it is determined that the print application 200 can cooperate with the print data generation software 202, and the print queue acquisition control process proceeds to S906.

[0061] In this embodiment, as described above, if it is possible to determine whether the printing device 102d is a printing device supported by the print application 200 only from the information 702 to 704 added in S403, the determination information 802 is not added to the PDC. The PC generated based on such a PDC does not include application link information. In a configuration using a PC not including application link information, if it is determined in S903 that the printer driver corresponding to the identified print queue is not a specific printer driver, the determination in S904 may be skipped and processing in S905 may be performed. In the determination in S905, if the acquired PC includes specific information, it is determined that the print application 200 supports the printing device 102d associated with the print data generation software 202. The specific information is, for example, Manufacturer information indicating that the vendor name is "Vendor AAA" and information indicating a specific print function such as borderless printing. The specific information is also a name space unique to a specific vendor and capable of determining category information of the printing device 102d.

[0062] In S906, the print application 200 stores the standard driver flag in the RAM 113. The standard driver flag is a flag indicating that the printer driver corresponding to the identified print queue is the print data generation software 202.

[0063] Next, in S907, the print application 200 adds the identified print queue to a list of target printers displayed as options in the printer settings 302. After that, the print queue acquisition control process proceeds to the next loop process. When the processes of S902 to S907 are completed for all print queues, the print queue acquisition control process proceeds to S908.

[0064] In S908, the print application 200 determines a method for displaying a list of target printers based on the standard driver flag stored in the RAM 113 in S906. After that, the print queue acquisition control process ends.

[0065] 3B shows an example of the display of the printer settings 302 in a conventional information processing device, and FIG. 3C shows an example of the display of the printer settings 302 in the host computer 101 of this embodiment. In 306 of FIG. 3B, only the print queues of the printer drivers 203-205 of the "AAA Inkjet" series are displayed. In other words, the print queue of the print data generation software 202 associated with the printing device 102d of the "AAA Inkjet" series is not displayed. On the other hand, in FIG. 3C, in addition to the print queues of the printer drivers 203-205 of the "AAA Inkjet" series, the print queue of the print data generation software 202 associated with the printing device 102d of the "AAA Inkjet" series is also displayed as shown in 307.

[0066] According to the embodiment described above, when it is determined that the print application 200 supports the printing device 102d associated with the print data generation software 202 based on a PC generated based on a PDC that does not include determination information, the print queue of the print data generation software 202 is added to a list of printers to be printed. This allows the user to specify the print queue of the print data generation software 202 associated with the printing device 102d supported by the print application 200.

[0067] Furthermore, in the above-described embodiment, the PC includes information indicating the name of the vendor that provides the printing device 102d associated with the print data generation software 202 and the specific print functions. This makes it possible to determine whether the print application 200 supports the printing device 102d associated with the print data generation software 202, using the information indicating the vendor's name and the specific print functions included in the PC.

[0068] Furthermore, in the above-described embodiment, the PC includes a namespace that is unique to a particular vendor and that can determine category information of the printing device 102d associated with the print data generation software 202. This makes it possible to determine whether the print application 200 supports the printing device 102d associated with the print data generation software 202 by using the namespace included in the PC.

[0069] Furthermore, in the above-described embodiment, if it is determined that the print application 200 supports the printing device 102d associated with the print data generation software 202 based on the PC 1001 generated based on the PDC 801 including the determination information 802, the print queue of the print data generation software 202 is added to the list of printers to be printed. This allows the user to specify the print queue of the print data generation software 202 associated with the printing device 102d supported by the print application 200.

[0070] Furthermore, in the above-described embodiment, the determination information 802 includes information on the print application that supports the printing device 102d associated with the print data generation software 202. This makes it possible to accurately determine whether the print application 200 supports the printing device 102d associated with the print data generation software 202.

[0071] In this embodiment, the display of the printer list can be devised using the flag information stored in the RAM 113 in S906. For example, the print application 200 may display the list by dividing it into sections or categories. As shown in FIG. 3C, the print application 200 may display the print queue of the standard driver at the end of the list. This makes it easier to select a model-specific printer driver with a full range of functions. The print application 200 may add information such as "(IPP)" to the print queue of the standard driver and display it, or the print application 200 may display a different printer icon. With this control, the user can understand the differences between the types of printer drivers on the display screen of FIG. 3C.

[0072] Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which the program code of the software for realizing the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of the system or device read and execute the program code stored in the recording medium. In this case, the program code itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0073] Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0074] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing the program code it has read, but also that the functions of the above-mentioned embodiments are realized by an Operating System (OS) running on the computer performing some or all of the actual processing based on the instructions of the program code.

[0075] Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then a CPU provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

[0076] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) An information processing device comprising an operating system in which print data generation software is pre-embedded, and a print application for printing to a print queue of a specific printer driver provided by a specific vendor, the information processing device comprising: a means for acquiring capability information of a print device associated with the print data generation software; a means for determining whether the print application supports the print device associated with the print data generation software based on the capability information; and a means for adding the print queue of the specific printer driver to a list that allows a user to select a print queue to use for printing, wherein when it is determined that the print application supports the print device associated with the print data generation software, the adding means adds the print queue of the print data generation software to the list. (Configuration 2) The information processing device according to configuration 1, wherein the capability information includes a name of a vendor that provides a printing device associated with the print data generation software and information indicating specific printing functions. (Configuration 3) The information processing device according to configuration 1, wherein the capability information includes a namespace unique to the particular vendor that can determine category information of a printing device associated with the print data generation software. (Configuration 4) An information processing device comprising an operating system having print data generation software pre-embedded therein, an extension application that extends the functions of the print data generation software, and a print application for printing a print queue of a specific printer driver provided by a specific vendor, the information processing device comprising: a means for adding specified information to print function information generated by the print data generation software or the operating system for determining whether the print queue of the print data generation software can be included as a print target; a means for determining whether the print application supports a printing device associated with the print data generation software based on capability information generated based on the print function information including the specified information; and a means for adding the print queue of the specific printer driver to a list that allows a user to select a print queue to use for printing, wherein when it is determined that the print application supports the printing device associated with the print data generation software, the adding means adds the print queue of the print data generation software to the list. (Configuration 5) The information processing device according to configuration 4, wherein the determination information includes information regarding a print application that supports a printing device associated with the print data generation software. (Configuration 6) The information processing apparatus according to any one of claims 1 to 5, further comprising a display unit that displays both the print queue of the print data generation software and the print queue of the specific printer driver based on the list. (Configuration 7) In the information processing device according to configuration 6, the print queue of the print data generation software is displayed so as to be distinguished from the print queue of the specific printer driver. [Explanation of symbols]

[0077] 101 Host Computer 102a Printing device 102b Printing device 102c printing device 102d Printing device 111 CPU 119 Display section 200 Printing Applications 201 OS 202 Printing data generation software 203 Printer Driver 204 Printer Driver 205 Printer Driver 206 Extended Applications 208 Printing function expansion module 801 PDC 802 Judgment information 1001 PC

Claims

1. An information processing apparatus including an operating system in which print data generation software is pre-installed, and a print application for printing a print queue of a specific printer driver provided by a specific vendor, means for acquiring capability information of a printing device associated with the print data generation software; means for determining whether the printing application supports a printing device associated with the print data generation software based on the capability information; means for adding the print queue of the specific printer driver to a list for allowing a user to select a print queue to be used for printing; An information processing device characterized in that, when it is determined that the printing application supports a printing device corresponding to the print data generation software, the adding means adds a print queue of the print data generation software to the list.

2. 2. The information processing apparatus according to claim 1, wherein the capability information includes a name of a vendor that provides a printing device associated with the print data generation software and information indicating a specific printing function.

3. 2 . The information processing apparatus according to claim 1 , wherein the capability information includes a name space that is unique to the particular vendor and that is capable of determining category information of a printing device associated with the print data generation software.

4. An information processing apparatus comprising an operating system in which print data generation software is pre-installed, an extension application for extending the function of the print data generation software, and a print application for printing a print queue of a specific printer driver provided by a specific vendor, a means for adding, to the printing function information generated by the printing data generating software or the operating system, determination information for determining whether or not a print queue of the printing data generating software can be included in a printing target; a means for determining whether the print application supports a printing device associated with the print data generating software based on capability information generated based on print function information including the determination information; means for adding the print queue of the specific printer driver to a list for allowing a user to select a print queue to be used for printing; An information processing device characterized in that, when it is determined that the printing application supports a printing device corresponding to the print data generation software, the adding means adds a print queue of the print data generation software to the list.

5. 5. The information processing apparatus according to claim 4, wherein the determination information includes information regarding a print application that supports a printing device associated with the print data generating software.

6. 5. The information processing apparatus according to claim 1, further comprising a display unit that displays both the print queue of the print data generating software and the print queue of the specific printer driver based on the list.

7. 7. The information processing apparatus according to claim 6, wherein the print queue of the print data generating software is displayed so as to be distinguished from the print queue of the specific printer driver.

8. A method for controlling an information processing apparatus having an operating system in which print data generation software is pre-installed and a print application that prints a print queue of a specific printer driver provided by a specific vendor, comprising: obtaining capability information of a printing device associated with the print data generation software; determining whether the print application supports a printing device associated with the print data generation software based on the capability information; adding the print queue of the particular printer driver to a list that allows a user to select a print queue to use for printing; A control method for an information processing device, characterized in that when it is determined that the printing application supports a printing device corresponding to the print data generation software, the adding process adds a print queue of the print data generation software to the list.

9. A method for controlling an information processing apparatus including an operating system in which print data generation software is pre-installed, an extension application for extending a function of the print data generation software, and a print application for printing a print queue of a specific printer driver provided by a specific vendor, comprising: adding, to the print capability information generated by the print data generation software or the operating system, predetermined information for determining whether or not a print queue of the print data generation software can be included in a print target; determining whether the print application supports a printing device associated with the print data generation software based on capability information generated based on print function information including the predetermined information; adding the print queue of the particular printer driver to a list that allows a user to select a print queue to use for printing; A control method for an information processing device, characterized in that when it is determined that the printing application supports a printing device corresponding to the print data generation software, the adding process adds a print queue of the print data generation software to the list.

10. A printing application program for printing to a print queue of a specific printer driver provided by a specific vendor, An information processing device having an operating system in which print data generation software is pre-installed, obtaining capability information of a printing device associated with the print data generation software; determining whether the print application supports a printing device associated with the print data generation software based on the capability information; adding the print queue of the specific printer driver to a list of print queues of printer drivers to be used for printing; A program characterized in that, in the adding process, when it is determined that the printing application supports a printing device corresponding to the print data generation software, the program causes the information processing device to add the print queue of the print data generation software to the list.

Citation Information

Patent Citations

  • Support program, information processor, and printing method

    JP2020126364A