Application and control method of information processing device
By generating and using a virtual print queue associated with a general-purpose printer driver on an information processing device, even when not connected to a physical printing device, the limitations of existing technologies are overcome, allowing for efficient handling of print data by applications.
Patent Information
- Application Number
- JP2023189827
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-07
- Publication Date
- 2025-05-19
- Estimated Expiration
- 2043-11-07
AI Technical Summary
Existing technologies do not allow the use of a print queue associated with a general-purpose printer driver when not connected to an actual printing device, limiting the functionality of applications that handle print data generated using a virtual queue.
An information processing device executes a generation step of generating a print queue associated with a general-purpose printer driver and an acquisition step of acquiring print data, even when not connected to a printing device, allowing the use of a virtual print queue.
Enables the use of a print queue associated with a general-purpose printer driver even without an actual printing device connection, facilitating the handling of print data by applications that utilize virtual queues.
Smart Images

Figure 2025077550000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for controlling an application and an information processing apparatus.
Background Art
[0002] There is known a configuration in which a printer driver installed in a host computer as software for controlling a printing apparatus is used to issue a printing instruction to a printing apparatus connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The printer driver is configured according to the specifications defined by the OS and is called from the OS to operate. A vendor providing a printing apparatus can provide a means for instructing the printing apparatus to print using the OS by providing a printer driver that conforms to the specifications of the OS.
[0003] In recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as a "general-purpose printer driver") that can be commonly used with printing apparatuses provided by a plurality of vendors has been provided. Such a standard driver is included in the package of the OS and can be easily used by connecting an arbitrary printing apparatus to the host computer. Therefore, there is no need to separately install a model-specific printer driver suitable for the printing apparatus, which is highly convenient. In addition, the standard driver is configured to be able to specify a printing function according to PrintDeviceCapabilities (hereinafter referred to as "PDC") generated based on information obtained from the connected printing apparatus. As a result, a user using the standard driver can specify a printing function according to the capabilities of the connected printing apparatus even though using one standard driver.
[0004] A standard driver can be associated with an application for function extension (hereinafter also referred to as an "extended application"). The extended application can be provided by the vendor that provides the printing device. By editing the PDC generated by the standard driver, the extended application can provide functions (extended functions) that cannot be achieved by the standard driver alone. Editing the PDC refers to rewriting, deleting existing printing functions, and adding new printing functions to the PDC generated by the standard driver.
[0005] Patent Document 1 discloses a technique for extending the functions of a standard driver by editing a PDC based on information obtained from a printer by an extended application.
Prior Art Documents
Patent Documents
[0006]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0007] There is an application that handles print data generated using a virtual queue, which is a print queue not connected to an actual printing device or print server. In such an application, for example, a process of laying out drawing data included in a plurality of print data generated using the virtual queue on one sheet of paper is performed.
[0008] A general-purpose printer driver acquires information regarding the functions of the printing device from the actual printing device and generates a print queue. Therefore, generating a virtual queue for using an application that does not communicate with an actual printing device as described above has not been considered.
[0009] The object of the invention of this application is to use a print queue associated with a general-purpose printer driver even when not connected to an actual printing device.
Means for Solving the Problem
[0010] The application described in the embodiment of this application causes an information processing device to execute a generation step of generating a print queue associated with a general-purpose printer driver in a state of not being connected to a printing device, and an acquisition step of acquiring print data generated by designating the print queue.
Effect of the Invention
[0011] According to one aspect of the present invention, a print queue associated with a general-purpose printer driver can be used even when not connected to an actual printing device.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Mode for Carrying Out the Invention
[0013] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the present invention according to the claims, and not all combinations of the features described in the present embodiments are essential for the solution means of the present invention.
[0014] Note that the same reference numerals are assigned to the same components, and the description thereof will be omitted.
[0015] <<Embodiment 1>> <Hardware Configuration of the Printing System> FIG. 1 is a block diagram showing the hardware configuration of a printing system. In this figure, the host computer 101 is an example of an information processing apparatus, and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Further, input devices such as a keyboard 118 and a pointing device 114 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. The NETIF 120 is a network interface, and performs control for data transfer with external devices via a network.
[0016] The ROM 112 stores an initialization program. The external storage device 114 stores an application program group, an operating system (OS), print data generation software, and various other data. The RAM 113 is used as a work memory or the like when executing various programs stored in the external storage device 114, enabling various programs to operate within the host computer 101.
[0017] In this embodiment, the CPU 111 executes the functions described below and the processes according to the flowchart described below in the host computer 101 by performing processing according to the procedures of the program stored in the ROM 112. The printing device 102, which is a device, is connected to the host computer 101 via the input / output interface 116. In this embodiment, the printing device 102 will be described by taking an inkjet printer that prints by ejecting ink onto the paper surface as an example. However, the printing device 102 may be a printing device that performs printing by other methods (for example, an electrophotographic method). Also, the host computer 101 may be a desktop personal computer, a smartphone, or a notebook personal computer.
[0018] In this embodiment, a locally connected inkjet printer is described as an example of the type of the printing device 102. The printing device 102 may be, for example, a laser beam printer (local connection and cloud connection), and is not limited to the two types described above, and may be configured to discriminate other multiple device types and connection forms. The local connection indicates a form in which the printing device 102 and the host computer 101 are directly communicable via the input / output interface 116 or the NETIF 120. The cloud connection indicates a connection form in which printing is instructed from the host computer 101 to the printing device 102 via a cloud printing service (not shown) on the Internet via the NETIF 120. In the charts and the like exemplified hereinafter, those in which specific examples of Feaature and Option are described are examples related to a printing device whose device type is an inkjet printer unless otherwise specified.
[0019] <Configuration of a Printing System Centered on Software> Figure 2 is a diagram schematically showing the software configuration of the printing system. Here, a printing system using a host computer 101 equipped with Microsoft (registered trademark) Windows (registered trademark) 11 as the OS will be described as a premise. Regarding the printing data generation software 202, a configuration using the IPP Class Driver installed in Windows (registered trademark) 11 will be described. The IPP Class Driver is a printer driver that executes printing processing according to the specifications of a standard printing protocol called IPP (Internet Printing Protocol) and is included in the OS package. The IPP Class Driver is not a specific printer driver corresponding to the model of the printing device 102, but a standard class driver that can be commonly used in printing devices of multiple models of multiple printer vendors (manufacturers). Also, the IPP Class Driver is provided by the vendor (manufacturer) that provides the OS. Figure 2(a) is a diagram showing a general configuration when the extended application 204 is not associated with the printing data generation software 202 and the printing device 102.
[0020] The drawing application 201 is software that creates the content to be printed (drawing data). For example, a document creation application or a spreadsheet application corresponds to it. When the drawing application 201 receives a printing request from the user, it issues a printing instruction to the OS. The printing instruction includes printing setting information for instructing the operations of the printing data generation software 202 and the printing device 102. The printing setting information is also called PrintTicket (hereinafter, "PT").
[0021] The drawing application 201 can display a print settings screen provided by any of the print data generation software 202, the OS, or the drawing application 201 in order to output print settings information. The print settings screen includes setting items (hereinafter also referred to as "control items") indicating printable functions that can be set according to the capability information (information that can be set as print settings) obtained from the print data generation software 202, and control items indicating the set values thereof. The capability information is also called PrintCapabilities (hereinafter "PC"). The print data generation software 202 determines the PC based on the print function information 203. The print function information 203 is data indicating all printable functions that can be set, their set values, and print functions indicating the exclusive relationship between the set values. The print function information 203 is also called PDC (Print Device Capabilities). The PDC 203 is included in the configuration file of the print data generation software 202 and is dynamically generated by the print data generation software 202. Specifically, the print data generation software 202 or the OS can be configured to obtain the attribute data of the printing device from the printing device 102 and generate the PDC 203 according to the attribute information in the obtained attribute data. Note that the attribute data of the printing device obtained from the printing device 102 is a response obtained by issuing an IPP Get-Printer-Attributes operation to the printing device. The response includes attribute information (Feature) indicating functions (capabilities of the printing device) that can be specified by the printing device 102 and set values (Option) related to the attribute information. This response is stored in the RAM 113.
[0022] With this configuration, the print data generation software 202 can be configured such that the user can specify the printable functions available for each connected printing device 102 according to the connected printing device 102. That is, even when printing devices with different functions or printing devices developed by different vendors are connected, the print data generation software 202 can be configured such that the user can specify the printable functions available according to the connected printing device.
[0023] The OS generates intermediate print data (also referred to as input data) based on the print instruction output from the drawing application 201 and passes it to the print data generation software 202. Note that the data output by the drawing application 201 for printing is data in the Graphic Device Interface format (GDI format data) or data in the XML Paper Specification format (XPS format data). When using the IPP Class Driver as the print data generation software 202, the OS converts the data output by the drawing application 201 from GDI format data to XPS format data. Then, the converted XPS format data is passed to the print data generation software 202 as intermediate print data. If the data output by the drawing application 201 is XPS format data, the OS passes the XPS format data to the print data generation software 202 as intermediate print data. Note that the intermediate print data includes drawing data, which is information about the image to be formed on the paper, and print setting information set by the user.
[0024] The print data generation software 202 converts the acquired intermediate print data into print data interpretable by the printing device 102 and transmits it to the printing device 102. Note that the print data includes drawing data, which is information about the image to be formed on the paper, and print setting attribute information (attribute information specifying the print settings) generated based on the print setting information set by the user. The print setting attribute information includes attribute information (Feature) indicating functions (capabilities of the printing device) that can be specified by the printing device 102 and setting values (Option) related to the attribute information.
[0025] The printing device 102 performs printing on a recording medium such as a paper surface based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data included in the print data on a recording medium such as a paper surface by operating according to the print setting attribute information included in the print data. The print setting attribute information includes print quality (image quality priority, speed priority, etc.) and attribute information and its setting values for specifying double-sided printing and the like. For example, when the print setting attribute information includes attribute information for specifying double-sided printing and a setting value indicating that it is to be operated, the printing device 102 executes double-sided printing.
[0026] FIG. 2(b) is a diagram showing a configuration when the extended application 204 is associated with the print data generation software 202 and the printing device 102. For configurations and processes not particularly mentioned below, they have the same configuration as in FIG. 2(a).
[0027] The extended application 204 is software for extending the functions of the print data generation software 202, and is software not pre-included (not bundled) in the OS. Therefore, the user needs to operate the host computer 101, download the extended application 204 from the server via the Internet, and install it. Alternatively, it may be automatically installed based on the connection of the printing device 102 to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS acquires device identification information from the printing device 102. The device identification information is, for example, the hardware ID of the printing device 102. The OS may download and install the extended application 204 corresponding to the acquired device identification information from the server via the Internet. That is, the print data generation software 202 and the extended application 204 are held in the host computer 101 as separate files.
[0028] Note that the print data generation software 202 and the extended application 204 may be updated and upgraded, and this update process is also performed at different timings. That is, the timing at which the host computer 101 acquires the print data generation software 202 is different from the timing at which the extended application 204 is acquired. Also, the trigger for the host computer 101 to acquire the print data generation software 202 is different from the trigger for the extended application 204 to be acquired. When the extended application 204 is installed, the OS associates the extended application 204 with the print data generation software 202 and the printing device 102.
[0029] The extended application 204 described in this embodiment includes a print setting screen extension unit 205, a skip control unit 206, a printing function extension unit 207, a print data editing unit 208, a notification unit 209, and a capability information acquisition unit 211. The extended application 204 also includes shared information 210 that can be commonly accessed from each unit. The actual form of the shared information 210 is a file stored in the external storage device 114 or information stored on the RAM 113. The extended application 204 writes and reads information to and from the shared information 210 by using an API (Application Program Interface) provided by the OS.
[0030] Note that the extended application 204 may end its operation every time the processing of each unit is completed. In that case, the OS will start the extended application 204 every time a request to use each unit is received. Another form is also conceivable. For example, when the processing of the print setting screen extension unit 205 is completed, the OS ends the operation of the extended application 204, but when the processing of the skip control unit 206 is completed, the OS may keep the extended application 204 running.
[0031] Furthermore, during the processing of each unit, the extended application 204 may cancel the processing. If cancelled, the jobs being processed on the print queue are deleted by the OS.
[0032] When the drawing application 201 receives a print request from the user, it issues a print instruction to the OS. Even in this configuration, similar to the configuration of Fig. 2(a), the drawing application 201 can display a print settings screen. It may display a print settings screen unique to the drawing application 201, or it can be configured such that subsequently, the print settings screen provided by the extended application 204 is displayed. Specifically, the print settings screen provided by the extended application 204 is the print settings screen provided by the print settings screen extension unit 205 included in the extended application 204. Note that whether the print settings screen provided by the print settings screen extension unit 205 is displayed depends on the user's operation. The details of the print settings screen extension unit 205 will be described later with reference to Fig. 5.
[0033] Also, when the drawing application 201 receives a print request from the user and a print instruction is issued to the OS, the OS activates the skip control unit 206. The skip control unit 206 controls whether to skip the generation process of the print data by the print data generation software 202. After the skip control process of the skip control unit 206, the OS generates intermediate print data based on the print instruction output from the drawing application 201, and the intermediate print data is passed to the print data generation software 202. Here, if skip control is not performed by the skip control unit 206, the intermediate print data is processed by the print data generation software 202 into print data interpretable by the printing device 102 and passed to the print data editing unit 208. On the other hand, when skipping by the print data generation software 202 is performed, the intermediate print data is passed to the print data editing unit 208 without being processed by the print data generation software 202. Thereby, it becomes possible to process the intermediate print data by the print data editing unit 208.
[0034] The print data editing unit 208 edits the intermediate print data passed from the print data generation software 202 or the print data 212 processed by the print data generation software 202. Taking collated printing as an example of the editing content, based on the print setting information of the collated printing received from the OS, the print data editing unit 208 edits the intermediate print data or the print data 212 so that an image in which images of a plurality of pages are assigned to one side of a single sheet of paper is output. In addition, the print data editing unit 208 can display a UI screen on the display unit 119 and can provide functions such as displaying the layout result of the intermediate print data or the print data 212 as a preview screen. Note that the print data 212 is not transmitted to the printing device 102 while the GUI screen displayed by the print data editing unit 208 on the display unit 119 is open, and the transmission process of the print data 212 operates by closing the GUI screen.
[0035] After the print data editing unit 208 edits the print data 212, the print data 212 is passed to the printing device 102. The printing device 102 performs printing on a recording medium such as a paper surface based on the received print data 212.
[0036] In addition, the print data editing unit 208 may be configured to output the print data to an application 213 different from the drawing application 201. An example in which the print data editing unit 208 outputs the print data to the application 213 will be described later.
[0037] Note that when the print data generation software 202 is skipped by the skip control unit 206, the print data editing unit 208 may convert the received intermediate print data into print data interpretable by the printing device 102. In addition, in order to convert the intermediate print data into print data, the functions provided by the OS may be used.
[0038] The extended application 204 has a printing function extension unit 207. The printing function extension unit 207 can edit the PDC 203 generated by the print data generation software 202. The PDC 203 generated by the print data generation software 202 will be described later. Through PDC editing, the printing function extension unit 207 can add functions provided by the extended application 204, add functions that the printing apparatus 102 supports but the print data generation software 202 does not support, and so on. Hereinafter, unless otherwise specified, the print setting screen refers to the print setting screen provided by any one of the OS, the drawing application 201, and the print setting screen extension unit 205.
[0039] When the extended application 204 is first associated with the printing apparatus 102 and the print data generation software 202, the OS activates the printing function extension unit 207. Further, the OS may activate the printing function extension unit 207 at other timings such as when the OS is started. By doing so, in a case where an optional device (for example, a finisher, etc.) is added to the printing apparatus 102 later and the functions related to printing are extended, the printing function extension unit 207 can detect the extended functions and add them to the PDC 203.
[0040] Also, the extended application 204 has a notification unit 209. The notification unit 209 can display a notification to the user in response to an error occurrence in the printing apparatus 102. For example, when a paper-out error occurs in the printing apparatus 102, the print data generation software 202 detects it, and the OS uses a notification function called toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the notification unit 209 of the extended application 204 is called by the OS, and the UI screen of the notification unit 209 is displayed. On the UI screen of the notification unit 209, for example, a detailed message about the paper-out error and a display of the paper filling method can be performed.
[0041] In addition, the configuration of the extended application 204 for implementing this embodiment is not limited to having all of the above-described functions (units), and it may have only some of the functions or may have other functions. Also, the extended application 204 may simply be called printing software. As described above, it can be said that the extended application 204 has at least one of the functions described as 205 to 209 and 211 in FIG. 2(b).
[0042] <Example of PDC generated by print data generation software 202> First, the print data generation software 202 acquires the attribute data of the printing device 102 connected to the host computer 101, and generates the PDC 203 based on that information. The attribute data acquired from the printing device 102 is information including information such as that which can be set by the user as print settings when printing to the printing device 102.
[0043] An example of the response obtained by the print data generation software 202 by issuing an IPP Get-Printer-Attributes operation to the printing device 102 will be described with reference to FIG. 13. Information 1301 is an example of a response that can be obtained by issuing an IPP Get-Printer-Attributes operation to the printing device 102. The information 1301 includes attribute information (Feature) indicating functions that can be specified as IPP attributes in the printing device 102 and setting values (Option) related to the attribute information. As shown in the information 1301, from the printing device 102, it is possible to obtain information on functions (Feature) such as size and media, and setting values (Option) that can be set for each function. The document-format-supported shown in the information 1302 represents the print data formats that the printing device 102 can accept. In the example of the information 1302, it is shown that the printing device 102 supports the data formats of 'application / octet-stream', 'image / jpeg', 'image / urf', and 'image / pwg-raster'. The print-color-mode-supported shown in the information 1303 represents the color modes that can be specified during printing in the printing device 102. In the example of the information 1303, it is shown that the printing device 102 supports the color modes: 'color' (color),'monochrome' (monochrome), and 'auto' (automatic selection). The sides-supported shown in the information 1304 indicates the selectable options regarding duplex printing in the printing device 102. In the example of the information 1304, it is shown that it supports duplex printing of Two-Sided-Short-Edge (short-edge binding) and Two-Sided-Long-Edge (long-edge binding). The printer-name shown in the information 1305 represents the name of the printing device. The information 1305 indicates that the name of the connected printing device 102 is "Inkjet-AAA". The media-size-supported shown in the information 1306 represents the media sizes supported by the printing device 102, expressed in information with the width and height in units of 1 / 100 mm.In the example of Information 1306, it indicates that the printing device 102 supports printing on papers of A5, A4, and B5 sizes. The "media-supported" in Information 1307 represents the names of the media sizes supported by the printing device 102. The "media-type-supported" shown in Information 1308 represents the types of media supported by the printing device 102. In the example of Information 138, it is shown that the printing device 102 supports printing on (glossy, gold, mat, stationary, photographic, envelope). "glossy" indicates glossy standard paper. "gold" indicates glossy gold paper. "mat" indicates matte photo paper. "stationary" indicates plain paper. "photographic" indicates photographic paper. "envelope" indicates envelope paper.
[0044] The media-source-supported shown in Information 1309 represents a list of paper feeding methods supported by the printing device 102. In the example of Information 1309, it shows that the printing device 102 supports auto (automatic selection), main (main tray), rear (rear tray), and disc (CD / DVD tray) as paper feeding methods for printing paper. The media-top(bottom / right / left)-margin-supported shown in Information 1310 represents the lengths of margins that can be set during printing on the printing device 102. In the example of Information 130, it shows that it is possible to have 5 mm, 0 mm, 8 mm, and 6 mm on the upper side of the paper. Information 130 shows that it is possible to have 3.4 mm, 0 mm, 6.4 mm, 5.6 mm, 6 mm, and 5 mm on the left side of the paper. Information 130 shows that it is possible to have 3.4 mm, 0 mm, 6.3 mm, 5.6 mm, 6 mm, and 5 mm on the right side of the paper. Information 130 shows that it is possible to have margins of 05 mm, 0 mm, 12.7 mm, and 6 mm on the lower side of the paper. The attribute values exemplified for Information 1302 to Information 1310 are merely examples, and actually, attribute values other than those exemplified are also included. Also, the example shown in Information 1301 is merely an example, and actually, the response obtained by issuing the IPP's Get-Printer-Attributes operation to the printing device 102 includes attribute information other than those exemplified.
[0045] The print data generation software 202 issues an IPP's Get-Printer-Attributes operation to the printing device 102 to obtain information such as the above-mentioned Information 1301, and generates the PDC 203 based on the obtained information.
[0046] An example of the PDC 203 generated by the print data generation software 202 is shown using the Information 301 shown in Figure 3. The PDC 203 is described in xml format as shown in the Information 301 in Figure 3, and attribute information (Feature) indicating functions that can be specified on the printing device 102 and setting values (Option) related to the attribute information are described.
[0047] The information 306 represents a character string defined as the prefix of the namespace to which each feature and each option described in the information 302 and the information 304 described later belong. A namespace represents a set or range to which each feature and option belong. The namespace is used by the print data generation software 202, the OS, and the extended application 204 to uniquely identify each feature and option when referring to the PDC and the PT / PC. For example, even for features and options defined with the same name, whether they are defined according to the OS standard or defined independently by the vendor can be expressed by the namespace. Specifically, assuming that the information 306 is defined as xmlns:psk = “http / / schemas.com / printting / printingschemakeywords”. In this case, by attaching “psk” as the prefix of each feature and each option described in the subsequent information 302 and information 303, it becomes possible to define that the said feature and the said option belong to the aforementioned namespace. If the aforementioned namespace is defined according to the OS standard, it becomes possible to express that the said feature and option belong to the OS standard. Thus, a namespace represents a set or range to which each feature and option belong. The namespace is used by the print data generation software 202, the OS, and the extended application 204 to uniquely identify each feature and option when referring to the PDC 203 and the PT / PC.
[0048] The information 302 indicates that ISOA4, ISOA5, and ISOB5 can be specified as the PageMediaSize (paper size). Here, PageMediaSize represents a feature, and ISOA4, etc., represent the setting values (options) for that feature. For the features described later, the feature and the setting value (option) are also described in the same notation. The information 303 indicates that Borderless (no border) and None (with border) can be set as the PageBorderless (borderless printing setting). The information 304 indicates that Plain (plain paper), Photographic (photo paper), and EnvelopePlain (envelope paper) can be specified as the PageMediaType (media). Also, the information 305 indicates that Main (main tray), Rear (rear tray), and Disc (CD / DVD tray) can be specified as the JobInputBin (paper feeding method). As described above, the print data generation software 202 or the OS issues an IPP Get-Printer-Attributes operation to the printing device 102. As a response to this operation, information such as the above-described information 1301 is acquired, and the PDC203 is generated based on the acquired information. Only the features and options known to the OS are described in the PDC203 generated here. That is, the vendor-specific information such as the media: glossy gold or matte photo paper shown in the information 1308 is not described in the PDC203, and only standard media such as plain paper and photo paper are described in the PDC203. In this way, only the standard or general-purpose features and options among the information 1301 acquired from the printing device 102 are described in the PDC203 generated by the print data generation software 202 or the OS.
[0049] The print function extension unit 207 of the extended application 204 edits the PDC 203 generated by the print data generation software 202 or the OS. By doing so, it is possible to extend the functions that can be used by the user when performing printing on the printing device 102 using the print data generation software 202. Specifically, the print function extension unit 207 describes new Features and Options in the PDC 203. By doing this, it is possible to add functions provided by the extended application 204 and add functions that the printing device 102 supports but the print data generation software 202 does not support. By editing the PDC 203, not only can functions be added, but existing functions can also be deleted, and exclusive relationships (prohibited information) between print function setting values can also be added. The functions added to the PDC 203 by the print function extension unit 207 may be determined using the information 1301 acquired by the capability information acquisition unit 211 from the printing device 102. The capability information acquisition unit 211 acquires the capability information 1301 by issuing an IPP Get-Printer-Attributes operation to the printing device 102. The print function extension unit 207 may be configured to add Features and Options that do not exist in the existing PDC 203 to the PDC 203 among the capability information acquired by the capability information acquisition unit 211. Also, the functions added to the PDC 203 by the print function extension unit 207 may be determined by other methods. For example, based on the information stored in advance in the shared information 210, the print function extension unit 207 may determine the functions to be added to the PDC 203.
[0050] <Example of the screen displayed by the print settings screen extension unit> First, before explaining an example of the print setting screen display by the print setting screen extension unit 205, a specific example of the PC will be described while showing a specific example. The PC is PrintCapabilities, which describes print setting items that can be set for the printing apparatus 102 and are generated by the print data generation software 202 based on the content of the PDC 203. Similar to the PDC 203, the PC is described in xml format, and a specific example thereof is shown in FIG. 14. The PC shown in the information 1401 is generated by the print data generation software 202 based on the PDC 301. Since the PC is generated based on the PDC 301, its content is similar to that of the PDC 301. Therefore, the descriptions of the properties of the information 1401 to 1405 are omitted here because they are the same as the properties of the information 301 to 305. According to the information 1402 to 1405, as print settings for the printing apparatus 102, it is shown that the Features of "paper size", "media type", "paper feed method", and "borderless printing" can be set respectively. Also, as the "paper size", it is shown that "A4", "B5", and "A5" can be set. Also, as the "media type", it is shown that "automatic selection", "plain paper", "photo paper", and "envelope paper" can be set. Also, as the "paper feed method", it is shown that "automatic selection", "main tray", "rear feed", and "CD / DVD feed" can be set. Also, it is shown that "borderless printing" is an Option for which "on" and "off" can be set. On the other hand, the difference between the PDC 301 and the PC 1201 is that "DisplayName" is described as the attribute value of each Feature and Option. The DisplayName represents the text when each Feature and Option are displayed on the print setting screen, and is the value set by the print data generation software 202. Thus, the PC describes the settable Features for the printing apparatus 102 and the list of their Option values.
[0051] Next, the print settings screen displayed by the print settings screen extension unit 205 will be described with reference to FIG. 5. A PC is generated based on the PDC 203 edited by the print function extension unit 207. The print settings screen 501 in FIG. 5(a) is an example of the screen displayed by the print settings screen extension unit 205 based on the generated PC. The example of the screen shown in FIG. 5 is merely an example and is not based on the above-described PC 1201. The control 502 is a control item that can set the type of paper to be used for printing. In the control 502, for example, "AutoSelect" (automatic selection), "Plain" (plain paper), "Photograpchic" (photo paper), "EnvelopePlain" (envelope paper), defined in the information 1403 can be set.
[0052] The control 503 is a control item that can set the paper size to be used for printing. For example, items such as A4, B5, and A5 defined in the information 1402 can be set. The list 510 shown in FIG. 5(b) shows the display state when the control 503 is expanded, and the user can select the paper size from the expanded list.
[0053] The control 504 is a control that can set the paper feeding method of the printing paper of the printing apparatus 102. The control 504 can set items such as "AutoSelect" (automatic selection), "Main" (main tray), "Rear" (rear feed), and "Disc" (CD / DVD feed) defined in the information 405, for example. The list 511 shown in FIG. 5(c) shows the display state when the control 504 is expanded, and the user can select the paper feeding method from the expanded list.
[0054] Control 505 is a control item that can set the printing orientation and can be set to vertical and horizontal. Control 506 is a control item that can switch between enabling and disabling double-sided printing. Control 507 is a control item that can set the folding direction during double-sided printing, and items such as long-edge folding and short-edge folding can be set. Control 509 is a cancel button, and the screen is closed without reflecting the settings. Control 508 is an OK button, and the screen is closed reflecting the settings.
[0055] The example of the screen shown in FIG. 5 is just an example, and actually, it may be a screen configuration that can set other Features and Options, or it may display information other than print settings.
[0056] <Problems in Print Data Generation Software> So far, the printing system using the print data generation software 202 and the extended application 204 has been described. The print data generation software 202 and the extended application 204 are connected to the printing device 102 and are available by generating a print queue corresponding to the printing device 102 by the OS 214. Specifically, when the printing device 102 is connected to the host computer 101, the OS 214 acquires device identification information from the printing device 102 and creates a print queue corresponding to the print data generation software 202. The OS 214 downloads and installs the extended application 204 corresponding to the acquired device identification information from the server via the Internet. When the host computer 101 is not connected to the printing device 102, a print queue is not created. Also, when the host computer 101 and the printing device 102 are not connected, device identification information cannot be acquired, so the extended application 204 is not associated. Therefore, when the user wants to output print data to the application 213 instead of the printing device 102, the printing system using the print data generation software 202 and the extended application 204 cannot be used. In order to output print data to the application 213, the OS 214 needs to be able to create a print queue corresponding to the print data generation software 202 even when the host computer 101 and the printing device 102 are not connected.
[0057] Therefore, in addition to the configuration described so far, this embodiment has means for the application 213 to instruct the OS 214 to generate a virtual print queue to which the print data generation software 202 is assigned. The OS 214 has means capable of creating a print queue to which the print data generation software 202 is assigned even without connection to the printing device 102. Further, it is configured to have means for providing the application 213 with print data generated by the extended application 204 dedicated to the application 213 based on the intermediate print data submitted to the queue. With the configuration described above, the above-described problems are solved.
[0058] With this configuration, the OS 214 can create a print queue corresponding to the print data generation software 202 even when the information processing apparatus 101 and the printing apparatus 102 are not connected. Hereinafter, the print queue created without connection to the printing apparatus 102 is referred to as a virtual queue. Also, the print queue actually associated with the printing apparatus 102 is simply referred to as a print queue. It is possible to associate the extended application 204 with the virtual queue. Thereby, when there is a print instruction using the virtual queue as a print destination, the print data generated by the print data editing unit 208 through processing based on the intermediate print data generated by the OS 214 can be output to the application 213. As described above, this is made possible because the print intermediate data is passed to the print data editing unit 208 of the extended application 204 instead of the print data generation software 202 by the skip instruction from the skip control unit 206. That is, by the user instructing the printing of desired data for the virtual queue dedicated to the application 213, it becomes possible for the application 213 to take in the desired data converted into print data.
[0059] In this embodiment, the application 213 is, for example, a layout editing / document management application or the like. In a layout editing application or a document management application, it is desirable to hold data to be laid out or managed in a unified format. The unified format is, for example, the XPS format, the PDF format, or the like. It is conceivable that the document file or image file output by the drawing application 201 is in a data format unknown to the application 213. If it is possible to specify a virtual queue from the drawing application 201 and print, it is possible to convert the output of the drawing application 201 into print data (XPS or PDF). That is, by printing a document file or an image file created by the user using a certain drawing application 201 on the virtual queue, the file is converted into print data by the extended application 204. By taking in the converted print data, the application 213 can hold various types of data in a unified format.
[0060] Further, the application 213 may be an application for a vendor - specific cloud printing service. In cloud printing, print data is transmitted to each printing device via a cloud server on the Internet. Therefore, it is not necessary for the information processing device 101 and the printing device 102 to be connected via the input / output interface 116, and the application 213 may transmit the print data to the cloud server. Since the print data transmitted by the application 213 to the cloud server needs to be in a predetermined format interpretable by the printing device 102, this configuration capable of converting various types of data into a unified format is useful. According to this configuration, the cloud printing service can take in various types of data in a predetermined format by taking in the print data converted by the extended application 204, so that it is possible to cloud - print various types of data.
[0061] <Example of creating a virtual queue of print data generation software> Hereinafter, a specific example of this embodiment will be described using a layout editing application as an example of the application 213. The application 213 can freely edit the arrangement of a plurality of layout target objects imported in the xps format on the layout editing screen of the application 213 and instruct printing by designating the printing device 102. Also, the name of the application 213 shall be "Layout App".
[0062] FIG. 6 is a sequence diagram when the application 213 is installed in the OS 214. First, the OS 214 receives an installation instruction of the application 213 from the user at P601. When the OS 214 receives the installation instruction of the application 213 from the user, the OS 214 executes the installer of the application 213 and instructs the application 213 to execute the installation. The application 213 is installed by reading the CD-ROM bundled with the printing device 102 by the host computer 101 and executing the installer. The application 213 may be obtainable from the homepage of the company that manufactures or sells the printing device 102.
[0063] When the application 213 receives an installation instruction from the OS 214, the application 213 performs an installation process at P602. The installation process includes a process of arranging each module that executes various processes of the application 213 in the external storage device 114 of the information processing device 101. Also, as the installation process at P602, the application 213 performs a process of registering, in the OS 214, a URI (Uniform Resource Identifier) indicating the location of the startup module of the application 213 in the external storage device 114. For example, register the location of the startup module of the application 213 with the URI "LayoutAppLauncher:". By doing so, it becomes possible to start the application 213 by designating the URI "LayoutAppLauncher" using the API of the OS 214 from different applications on the OS 214.
[0064] After the installation process of Application 213 is completed, it issues an instruction to create a virtual queue described in P603 to OS 214. The instruction to create a virtual queue that Application 213 issues to OS 214 is an instruction to OS 214 to generate a virtual queue to which print data generation software 202 is assigned, and it is issued using the function Printui.dll installed in OS 214. Specifically, it is issued when Application 213 executes the command shown in FIG. 23.
[0065] The details of the above command will be described. Printui.dll is an executable file that includes functions used in the printer configuration dialog box installed in OS214. Rundll32 printui.dll,PrintUIEntry specifies the above executable file. / ir is a parameter that instructs to create a print queue by specifying the driver installed in OS214. / b is a parameter that specifies the name of the print queue to be created, and the name is specified by the following string "Layout App". Since printing to the virtual queue created here becomes data output to application 213, it is desirable to use the name of application 213 as the name of the print queue for easy discrimination by the user, but other names may also be used. / m is a parameter that specifies the model name of the printing device, and the following string "LayoutApp" specifies the model name of the virtual printing device. Details will be described later, but the model name should be a name that can uniquely identify application 213. / r is a parameter that specifies the port to which the data of the print queue is output, and the following string "NUL:¥" specifies the NULL port. / dn is a parameter that specifies the driver name to be assigned to the created queue, and the following string "IPP Class Driver" specifies the print data generation software 202. / pc is a parameter indicating that a file describing the capability information for printing in the virtual queue is to be specified. The location of the file describing the capability information is specified by the following string "C¥...¥LayoutAppQueueConfig.xml". As described above, the print data generation software 202 generates the PDC of the print queue associated with the printing device 102 based on the capability information acquired from the printing device 102. However, since the print queue created here is not associated with the printing device 102, the print data generation software 202 cannot acquire the capability information for generating the PDC of the virtual queue. Therefore, the print data generation software 202 generates the PDC of the virtual queue based on the capability information described in the file specified by application 213 with the parameter / pc.
[0066] FIG. 15 shows an example of the ability information regarding printing in the virtual queue specified by the / pc parameter for application 213. Information 1501 is an example of the ability information regarding printing in the virtual queue described in the file specified by the / pc parameter for application 213. Although information 1501 takes the xml format as an example, it may be described in other formats as long as it is interpretable by the print data generation software 202. Information 1502 is the information for defining the prefix of the namespace of each Feature and Option as described in information 306. Information 1503 indicates that ISO A4, ISO A5, and ISO B5 can be specified as the PageMediaSize (the size of the print data) when printing to the virtual queue. Information 1504 indicates that Color and Monochrome can be set as the PageOutputColor (color setting) when printing to the virtual queue. As an example of application 213, when assuming a layout editing application, since printing to the virtual queue is only for generating print data, it is only necessary to define the ability information related to print data generation. The settings regarding the paper to be actually printed may be set when instructing the printer 102 to print from application 213. The example shown in information 1501 is only an example, and actually, information other than the exemplified ability information may be described. On the other hand, this is not the case when application 213 is an application for the cloud printing service described above. In this case, application 213 is an application responsible for data transmission to the cloud server, and it is not assumed to perform print settings. Therefore, it is also necessary to set the settings regarding the paper to be actually printed at the time of printing to the virtual queue. The print settings set at the time of printing to the virtual queue may be included in the data output from the extended application 204 to application 213, and application 213 may transmit the print setting information together with the image to be printed to the cloud server.Therefore, when the application 213 is an application for the cloud printing service described above, it is desirable that the capability information regarding printing in the virtual queue be information equal to the capability information of the printing device 102, such as information 1301. Thus, the capability information regarding printing in the virtual queue may be different capability information according to the type of the application 213. As described above, the application 213 can instruct the OS 214 to generate a virtual queue to which the print data generation software 202 is assigned, using the function Printui.dll installed in the OS 214.
[0067] Upon receiving an instruction to create a virtual queue from the application 213, the OS 214 creates a virtual queue at P604 based on the instruction content received from the application 213. According to the above example, the OS 214 creates a print queue whose output port is the NUL port, whose name is "LayoutApp", and to which the print data generation software 202 is assigned. Although not shown in the figure here, the OS 214 issues a PDC creation instruction to the print data generation software 202. The print data generation software 202 creates a PDC for the virtual queue based on the capability information described in the file "C¥...¥LayoutAppQueueConfig.xml" specified by / pc. An example of the PDC created by the print data generation software 202 is shown in FIG. 4. Information 401, that is, PDC 401 is created by the print data generation software 202 based on information 1501. Information 402 to information 404 are the same as information 1502 to information 1504, and thus the description thereof is omitted.
[0068] Subsequently, if the extended application 204 dedicated to the application 213 is not installed in the OS 214, the OS 214 downloads the extended application 204 dedicated to the application 213 from the server via the Internet at P605. The OS 214 determines the extended application 204 to be downloaded based on the model name "LayoutApp" of the created virtual queue. After the OS 214 downloads the extended application 204 dedicated to the application 213, it executes the installation of the extended application 204 at P606. When the OS 214 executes the installation of the extended application 204 at P606, the extended application 204 performs the installation process at P607. The installation process at P607 by the extended application 204 includes a process of arranging a module for executing various processes of each unit of the extended application 204 in the external storage device 114 of the information processing apparatus 101, etc.
[0069] Subsequently, the OS 214 moves to P608 and associates the virtual queue with the extended application 204. By the association at P608, the OS 214 can start the various units of the extended application 204 when receiving a print instruction for the virtual queue.
[0070] When the association process at P608 ends, the OS 214 gives an instruction to extend the print function, that is, an instruction to edit the PDC 401, to the extended application 204 at P609. The OS 214 starts the print function extension unit 207 of the extended application 204 and gives an instruction to extend the print function at the timing when the extended application 204 is associated with the print queue, etc. In addition to the timing when the extended application 204 is first associated, the OS 214 also starts the print function extension unit 207 and gives an instruction to extend the print function at the timing when the print setting screen is opened by the print setting screen extension unit 205, etc.
[0071] When the printing function extension unit 207 of the extended application 204 receives a printing function extension instruction from the OS 214, it acquires the PDC 401 generated by the print data generation software 202 in P610 and edits the PDC 401. Specifically, the printing function extension unit 207 describes information specifying the area where the print data editing unit 208 temporarily stores the print data in the PDC 401 in order to output the print data to the application 213. As described above, the information described in the PDC 401 is reflected in the PrintCapabilities. Also, the application 213 can refer to the PrintCapabilities. Therefore, by referring to the PrintCapabilities, the application 213 can determine the area where the print data editing unit 208 stores the print data. The process by which the application 213 acquires the print data will be described later. FIG. 16 shows an example of the PDC after the printing function extension unit 207 edits the PDC 401 in P610. Information 1601 is the PDC after the printing function extension unit 207 edits the PDC 401. Since information 1602 to 1604 are the same as information 402 to information 404, the description thereof is omitted. Information 1605 is information added by the printing function extension unit 207 to the PDC 401. Information 1605 represents, as a character string, the area where the print data editing unit 208 temporarily stores the print data generated. In this example, it shows that the print data editing unit 208 stores the print data in the area C:¥Users¥test¥AppData¥Roaming¥Temp¥LayoutApp¥ of the external device 114 of the information processing apparatus 101. The area described in the information 1605 may be arbitrarily determined by the extended application 204, or information indicating the storage area for LayoutApp statically held by the extended application 204 may be used, or it may be determined by other methods. Also, the printing function extension unit 207 may add other than the above-described capability information to the PDC 401. For example, when the application 213 is an application for a cloud printing service, capability information equivalent to the capability information 1501 of the printing apparatus 102 may be added to the PDC 401.In addition, the information that the printing function expansion unit 207 adds to the PDC 401 may be obtained by other methods, for example, a method of obtaining from a server (not shown).
[0072] When the printing function expansion unit 207 processes the PDC 401 into the PDC 1601, the information of the PrintCapabilities is also updated. An example of the PrintCapabilities reflecting the PDC 1601 is shown in FIG. 17. The information 1701 is the PrintCapabilities based on the PDC 1601. Since the information 1702 and the information 1705 are the same as the information 1402 and the information 1406 respectively, the description thereof is omitted. The information 1703 indicates that, as a printing setting to the virtual queue, the Options of "Color" and "Monochrome" of the color mode function can be set. Similar to the information 1605, the information 1704 is information indicating an area for storing the print data generated by the print data editing unit 208. By referring to the information 1704 of the PC 1701, the application 213 can determine the area where the print data editing unit 208 stores the print data. As described above, the printing function expansion unit 207 edits the PDC 401 as a printing function expansion process in the P610. The information added by the printing function expansion unit 207 to the PDC 401 is merely an example, and printing functions related to print data generation in virtual queues other than the exemplified ones, for example, paper size, etc., may be added to the PDC 401.
[0073] When the printing function expansion process of the P610 ends, the extended application 204 in the P611 notifies the OS 214 of the end of the printing function expansion process. When the OS 204 receives the end notification of the printing function expansion process from the extended application 204, it notifies the application 213 in the P612 of the end of the virtual queue creation.
[0074] Here, the details of the operation of application 213 shown in FIG. 6 will be described using the flowchart of FIG. 19. The flowchart described in FIG. 19 is realized by the CPU 111 executing the program of application 213. Hereinafter, the symbol S indicates the step of each process.
[0075] The CPU 111 determines whether it has received an installation instruction for application 213 from the OS 214 (S1901). If it has not received the installation instruction, the CPU 111 returns the process to S1901. If it has received the installation instruction, the CPU 111 executes the process described in S1902.
[0076] The CPU 111 performs the installation process of application 213 (S1901). In S1901, the CPU 111 stores the file describing the ability information stored in application 213 in the area specified by an arbitrary file path. This file path is the path notified to the OS 214 in S1903 and is the path specified in the command issued at P603 in FIG. 6.
[0077] The CPU 111 instructs the OS 214 to generate a virtual queue (S1902). The CPU 111 issues the command described in P603 in FIG. 6 and instructs the OS 214 to generate a virtual queue.
[0078] The CPU 111 determines whether the generation of the virtual queue has been successful (S1903). When the CPU 111 receives information indicating that the generation of the virtual queue has been successful from the OS 214, the process proceeds to S1907. When the CPU 111 receives information indicating that the generation of the virtual queue has failed from the OS 214, or when the CPU 111 has not received information indicating that the generation of the virtual queue has been successful even after a predetermined time has elapsed since the generation instruction of the virtual queue, the CPU 111 proceeds to S1905.
[0079] If the generation of the virtual queue fails, the CPU 111 issues an error notification (S1905). For example, the CPU 111 causes an error message (not shown) to be displayed on the display unit 119. Note that it is also possible to perform the process of S1906 without performing S1905.
[0080] The CPU 111 sets a virtual queue not generated flag indicating that the virtual queue has not been generated to TRUE (S1906). The CPU 111 refers to the virtual queue not generated flag when the application 213 is started. If the virtual queue not generated flag is set to TRUE, the CPU 111 executes the processes described in S1903 to S1909 in FIG. 19. By doing so, even if the generation of the virtual queue fails during the installation of the application 213, the virtual queue can be generated when the application is started.
[0081] If the generation of the virtual queue is successful, the CPU 111 sets the virtual queue not generated flag to FALSE (S1907).
[0082] The CPU 111 determines whether the installation of the extended application dedicated to the application 213 is completed (S1908). The CPU 111 refers to the properties of the virtual queue and determines whether the application ID of the extended application is set in the virtual queue associated with the print queue. If the ID of the extended application is set, the CPU 111 ends the processing described in this flowchart. If the installation of the extended application is not completed, the CPU 111 displays an error notification (S1909). In S1909, the CPU 111 causes the display unit 119 to display an error message. Then, the CPU 111 displays the download screen of the extended application (S1910). The application 213 stores the URL of the download page of the extended application in advance. The CPU 111 accesses the URL stored by the application 213 and displays the download page of the extended application. When the download of the extended application is completed, the CPU 111 may request the OS 214 to perform the process of associating the virtual queue with the extended application.
[0083] Also, in the notification displayed in S1909, a screen may be displayed to receive an instruction from the user on whether to display the download page of the extended application 204, and S1910 may be switched according to the user instruction.
[0084] The above are examples of various processes related to the installation of the application 213. As described so far, the application 213 issues an instruction to create a virtual queue to the OS 214 during its own installation, and causes the OS 214 to generate a virtual queue corresponding to the application 213. By the processes described later, the data printed on the virtual queue is converted into a predetermined format by the print data editing unit 208 and output to the application 213.
[0085] <Example of data output to an application using a virtual queue> FIG. 7 is a diagram showing a sequence diagram of processes related to data output to the application 213 and printing from the application 213 in this embodiment. The processes at the time of data output to the application 213 and printing from the application 213 will be described with reference to FIG. 7.
[0086] First, various processes related to data output to Application 213 will be described. Data output to Application 213 can be achieved by printing to a virtual queue. First, at P701, the drawing application 201 receives a print instruction from the user. Assume that the user has previously created a document, drawing, etc. in the drawing application 201 and has specified the document or drawing as the print target. Here, in order to output data to Application 213, the user selects the virtual queue associated with Application 213 as the print destination on the print settings screen of the drawing application 201. FIG. 8 shows an example of the print settings screen of the drawing application 201. Screen 801 is the print settings screen of the drawing application 201 that the drawing application 201 displays on the display unit 119. Objects 802 to 807 are arranged on screen 801. Control 802 is a control that can specify the print queue of the print destination from a list of print queues including the virtual queues registered in the OS 214. In FIG. 8, the control is shown in an expanded state. In control 802, "Layout App", which is the virtual queue corresponding to Application 213, is specified. The drawing application 201 can obtain PrintCapabilities 1701 generated based on the PDC 401 corresponding to the virtual queue selected in control 802. The print settings screen 801 of the drawing application 201 is configured to enable the user to specify the functions described in the PC 1701 and execute printing with the functions specified by the user. For example, control 803 is a control that can specify the paper size. When a virtual queue is selected, the paper size is the size of the image based on the drawing data included in the generated print data. In addition to A4, paper sizes such as A5 and B5 can be selected. Control 804 is a control that can select whether to perform color printing or monochrome printing. Thus, in control 803 and control 804, the Options described in the PC 1701 can be selected. Button 805 is a button that can instruct the execution of printing when the user presses it using a pointing device 114 or the like.Button 806 is a button that causes the screen 801 to transition to the data editing screen of the drawing application 201 when the user presses it using a pointing device 114 or the like. Image 807 is an image in which a document or drawing created by the user on the data editing screen of the drawing application 201 is placed on the paper selected by the control 803. Below the image 807, an object indicating the page being displayed and an object for switching the page to be displayed are arranged. Receiving the print instruction of P701 in the drawing application 201 means, that is, receiving the user pressing the button 805. The print setting screen shown in FIG. 8 is merely an example, and controls and other elements other than those shown may be displayed. When receiving a print instruction from the user, the drawing application 201 transitions to P702, sets the image 807 as the image to be printed, sets the virtual queue of "Layout App" selected by the control 802 as the print destination, and sends a print instruction to the OS 214.
[0087] When there is a print instruction, the skip control unit 206 of the extension application 204 is activated. The skip control unit 206 is set in the print data generation software 202 so as to skip the generation of print data by the print data generation software 202.
[0088] When a print instruction is sent from the drawing application 201 to the OS 214, the OS 214 generates intermediate print data at P703. As described above, assuming the IPP Class Driver as the print data generation software 202, the OS 214 generates xps format data as the intermediate print data. When the OS 214 generates the intermediate print data, it transitions to the print data generation instruction process of P704. The OS 214 detects that the print instruction of P702 is using the virtual queue associated with the extension application 204 as the print destination, and sends a print data generation instruction to the extension application 204 together with the intermediate print data.
[0089] When the extended application 204 receives a print data generation instruction from the OS 214, it starts the process of P705. In P705, the print data editing unit 208 of the extended application 204 generates print data based on the intermediate print data received from the OS 214. The format of the print data varies depending on the application 213. Assume that the extended application 204 pre-stores the file format used in the application 204. Here, assume that the application 213 is a layout editing application, and the format of the print data uses the xps format that is easy for layout editing. If the application 213 is a document management application, the format of the print data may be the PDF format. When the print data editing unit 208 completes the print data generation process, it performs the print data storage process of P706. Here, in order to pass the print data to the application 213, the print data is stored in the area described in the information 1605 of the PDC 1601. Note that the data stored in the area described in the information 1605 by the print data editing unit 208 in P706 may include data other than the print data. For example, the print data editing unit 208 may create and store a low-resolution bitmap image of the print target for display on the layout editing screen of the application 213. In P706, the print data editing unit 208 stores various data required by the application 213 in this way in the area described in the information 1605. When the process of P706 is completed, the extended application 204 performs the process of starting the application 213 in P707. Specifically, the extended application 204 uses the API related to the URI startup of the OS 214 to specify the URI "LayoutAppLauncher" to start the application 213.
[0090] When Application 213 is launched from Extended Application 204, it first performs the print data acquisition process of P708. In P708, Application 213 refers to the information 1704 of PC 1701 to determine the area where the print data is stored, and acquires the print data stored in that area. Since the print data stored in the above area is temporarily stored, as soon as Application 213 acquires the print data, Application 213 deletes the data stored in that area. At this time, Extended Application 204 may inform Application 213 of the print data storage area according to the parameters when launching Application 213. In this case, Application 213 determines the print data storage area according to the parameters at startup. Also, at that time, Extended Application 204 may include the file name of the print data in the startup parameters of Application 213.
[0091] When Application 213 is launched and acquires the print data, it starts accepting data editing instructions of P709. Here, since Application 213 is used as a layout editing application, accepting data editing instructions refers to the process of accepting a user operation of arranging the image to be edited on the layout editing screen of Application 213. If Application 213 is a document management application, it may be a process of accepting a user operation of determining the file name and classification of the acquired data and determining which area of Application 213 to store the data in. In this way, accepting data editing instructions in P709 may be any process of accepting a user operation in line with the main purpose of using Application 213. The above describes the various processes for Application 213 to acquire the data for which a print instruction is given to the virtual queue. In this way, a virtual print queue assigned with the print data generation software 202 standardly installed in the OS 214 is combined with the extended application 204. By doing so, it becomes possible for Application 213 to acquire various forms of data in a predetermined format.
[0092] Describe the various processes related to printing from Application 213. At P710, Application 213 receives a print execution instruction from the user on the print settings screen of Application 213. The print settings screen of Application 213 will be described using Figure 9. Screen 901 is the print settings screen of Application 213. Screen 901 is composed of objects 902 to 909. Control 902 is a control that can specify the print destination print queue from the list of print queues excluding some print queues from the print queue including the virtual queue registered in OS 214. The part refers to the virtual queue of Application 213. In this way, Application 213 enables the selection of any print queue among the print queues registered in OS 214 using Control 902. Here, assume that "Printer 1" in Figure 9 refers to the printing device 102. Application 213 can obtain PrintCapabilities 1401 generated based on PDC 301 corresponding to the print queue selected by Control 902. The print settings screen 901 of the drawing application 201 is configured to enable the user to specify the functions described in PC 1401 and execute the printing with the functions specified by the user. For example, Control 903 is a control that can set the size of the paper to be printed. In this way, the paper size described in the information 302 of PDC 301 corresponding to the printing device 102 can be selected using Control 903. Control 904 is a control that can display the frame line of the layout target image and select whether to reflect it in the print result. When "with frame line" is selected using Control 904, a frame line surrounding the object 908 or object 909 that is the layout target is displayed, and the frame line is also actually printed. Button 905 is a print button that can instruct print execution when the user presses it using a pointing device 114 or the like. Button 906 is a cancel button that causes the screen 801 to transition to the layout editing screen of Application 213 when the user presses it using a pointing device 114 or the like.Object 907 is an object that shows an image in which the user has placed the result of arranging the image to be laid out on the paper size selected by control 903 on the layout editing screen of application 213. By checking object 907, the user can check the image to be printed on the actual paper. Object 908 is an object that shows the image file of object 807 output from drawing application 201 by the processing of P701 to P707. Object 909 is an object that shows the document file output from a document creation application (not shown). In this embodiment, when a virtual queue is selected from drawing application 201 and a print instruction is given, application 213 is launched. With application 213 launched, a virtual queue is selected from drawing application 201 and a print instruction is given. At this time, the launched application 213 acquires and displays the print data generated according to the print instruction. By doing so, application 213 can acquire the print data output from a plurality of drawing applications 201. Note that object 908 and object 909 are in a laid-out state like object 907 by the processing of P709 that accepts user operations on the layout editing screen of application 213. The subsequent acceptance of the print instruction of P710 of application 213 means, that is, accepting that the user presses button 905. The print setting screen shown in FIG. 9 is merely an example, and controls and other elements other than those shown may be displayed. When accepting a print instruction from the user, application 213 shifts to P711 and sends a print instruction with object 907 as the image to be printed to OS 214.
[0093] When a print instruction is sent from application 213 to OS 214, OS 214 generates intermediate print data at P712. Assuming the IPP Class Driver as the print data generation software 202 as described above, OS 214 generates data in the xps format as the intermediate print data. When OS 214 generates the intermediate print data, it proceeds to the print data generation instruction process at P713. OS 214 detects that the print instruction at P711 uses the print queue corresponding to the printing device 102 as the print destination, and sends the print data generation instruction together with the intermediate print data to the print data generation software 202.
[0094] When the print data generation software 202 receives the print data generation instruction together with the intermediate print data from OS 214, it performs the print data generation process at P714. At P714, the print data generation software 202 generates print data based on the intermediate print data received from OS 214. The format of the print data is determined based on the information 1302 obtained by the print data generation software 202 from the printing device 102. When the print data generation software 202 finishes the print data generation process, it executes the process at P715. At P715, the print data generation software 202 transmits the generated print data to the printing device 102. When the printing device 102 receives the print data from the print data generation software 202, it executes the printing process of printing the print data on the paper at P716. The above describes the various processes until the data obtained by the application 213 is printed by the printing device 102 after going through the editing operations by the user.
[0095] Here, the details of the processing of the extended application 204 in P705 - P707 of FIG. 7 will be described with reference to FIG. 20. The processing described in FIG. 20 is realized by the CPU 111 executing the program provided by the extended application 204.
[0096] The CPU 111 determines whether it has received intermediate print data and print setting information from the OS 214 (S2001). Although the intermediate print data is received from the OS 214 in FIG. 20, it may be received from the print data generation software 202.
[0097] If the intermediate print data has not been received, the CPU 111 returns the process to S2001. If the intermediate print data has been received, the CPU 111 proceeds to S2002.
[0098] The CPU 111 processes the intermediate print data based on the print setting information (S2002). When the additional function of the image or the function of allocating images for multiple pages to one page is set to be effective on the print setting screen provided by the drawing application 201, the CPU 111 edits the intermediate print data.
[0099] The CPU 111 determines the format of the drawing data included in the print data (S2003). The extended application 204 stores in advance the format that the application 213 supports. The CPU 111 calls the format stored in advance and sets it as the format of the drawing data. In S2003, it may also access a predetermined external server to obtain the corresponding drawing data format of the application 213. In this case, it is not necessary for the extended application 204 to store the corresponding drawing data format of the application 213.
[0100] The CPU 111 converts the intermediate print data and the print setting information into drawing data and print setting attribute information, and generates print data (S2004).
[0101] After that, the CPU 111 stores the generated print data in the path indicated by 1605 of the PDC 1601 (S2005).
[0102] The CPU 111 starts the application 213 (S2006). The CPU 111 uses the API related to the URI startup of the OS 214 to specify the URI "LayoutAppLauncher" and starts the application 213.
[0103] The CPU 111 determines whether the startup of the application 213 was successful (S2007). If the startup of the application 213 is successful, the process described in FIG. 20 ends, and the extended application 204 ends. If the startup of the application fails, the CPU 111 executes the process described in S2008.
[0104] The CPU 111 notifies the user that the startup of the application 204 has failed (S2008). At this time, the print data remains stored in the storage destination of S2005. Then, when the user manually starts the application 213, the application 213 automatically acquires and displays the print data from the storage destination. Note that instead of the application 213 automatically displaying the drawing data included in the print data at startup, it may be assumed that the data is read out in accordance with the user's instruction to read out the data from the folder of the storage destination.
[0105] In this embodiment, when the startup of the application fails, the user is notified. However, S2008 may be skipped and no notification may be made.
[0106] As described above, according to Embodiment 1, a virtual print queue to which the print data generation software 202 standardly installed in the OS 214 is assigned is used in combination with the extended application 204. By doing so, the application 213 can acquire various types of data in a predetermined format and print it on the printing device 102.
[0107] In the description of FIG. 7, the extended application 204 corresponding to the printing device 102 was not mentioned for simplicity of explanation. However, actually, the extended application 204 corresponding to the printing device 102 may be installed in the OS 214. In that case, the processes of P714 and P715 of the print data generation software 202 will be executed by the extended application 204 corresponding to the printing device 102.
[0108] In addition, in this embodiment, the application 213 and the extended application 204 have been described as being acquired by different procedures. It is also possible that the application 213 is acquired in a form that includes the extended application 204, and the extended application 204 is also installed when the application 213 is installed.
[0109] Also, in the description so far, the layout editing application has been used as an example of the application 213. However, this embodiment does not limit the type of the application 213. The application 213 may be other than the layout editing application. As described above, for example, the application 213 may be a cloud printing service. In that case, the print instruction in P711 is not sent to the OS 214 but to a cloud server (not shown). The print instruction in P711 also includes information specifying the print target image and the print destination. Therefore, the cloud server can identify the printing device 102 from the print destination information received from the application 213 which is a cloud printing service, and can also send the received print target image to the printing device 102.
[0110] <<Embodiment 2>> In Embodiment 1, an example in which the extended application 204 operates as an extended application dedicated to the application 213 was shown. In order to realize data output using the virtual queue also in an application different from the application 213, an extended application 204 dedicated to the application is required. Therefore, in Embodiment 2, the extended application 204 has a configuration for determining whether the printing destination is the application 213 or the printing device 102 based on the name of the print queue. An example of operating a single extended application 204 as an extended application corresponding to a plurality of different applications 213 and printing devices 102 will be described. Hereinafter, unless otherwise specified, the configuration of Embodiment 2 is the same as that of Embodiment 1.
[0111] Various processes at the time of installation of the application 213 in Embodiment 2 will be described with reference to FIG. 10. FIG. 10 is a diagram showing a sequence diagram of various processes at the time of installation of the application 213. Since the processes P1001 to P1009 are the same as the processes P601 to P609, the description thereof will be omitted. When the extended application 204 receives a print function extension instruction from the OS 214 in P1009, in P1010, the extended application 204 performs a process of determining that the print queue is the application 213. Specifically, the extended application 204 determines whether the printing destination corresponding to the print queue is the application 213 or the printing device 102 based on the model name of the print queue. The model name of the print queue can be obtained using the API of the OS 214.
[0112] Subsequently, the printing function extension unit 207 of the extended application 204 in P1011 performs PDC editing as a printing function extension process. Specifically, in P1011, the printing function extension unit 207 adds the area of the printing data output destination corresponding to the application 213 identified by the extended application 204 in P1010 to the PDC 401. In Embodiment 2, the printing function extension unit 207 describes in the PDC 401 a pair of information that can identify the application 213 and information on the area of the printing data output destination for the application 213. FIG. 18 shows an example of the PDC after the printing function extension unit 207 in P1011 edits the PDC 401. Note that FIG. 18 is an example of the PDC after two applications of the document management application are installed as the application 213. Information 1801 is an example of the PDC after the printing function extension unit 207 in P1011 edits the PDC 401.
[0113] Since Information 1802 to Information 1804 are the same as Information 1602 to Information 1604, the description thereof is omitted. Information 1805 is information representing, as a character string, the path of the area where the printing data editing unit 208 of the extended application 204 outputs the printing data for each application 213. As Information 1805, an attribute name capable of identifying an application corresponding to the virtual queue is set. The extended application 204 can specify the application associated with the virtual queue by referring to Information 1805. Here, it is shown that the document management application is used as the application associated with the virtual queue. The subsequent character string "C:¥Users¥test¥AppData¥Roaming¥Temp¥DocMangemetApp¥" describes the information on the area where the printing data editing unit 208 outputs the printing data.
[0114] Note that since FIG. 10 is a sequence diagram at the time of installation of the application 213, the description thereof is omitted. However, even when both the printing apparatus 102 and the information processing apparatus 101 are connected, the OS 214 issues an instruction to extend the printing function to the printing function extension unit 207. In that case, the printing function extension unit 207 may edit the PDC 401 based on the capability information of the printing apparatus 102. Specifically, the printing function extension unit 207 may be configured to add Features and Options that do not exist in the existing PDC 203 to the PDC 401 among the capability information acquired by the capability information acquisition unit 211. Also, the functions added to the PDC 401 by the printing function extension unit 207 may be determined by other methods. For example, based on the information stored in advance in the shared information 210, the printing function extension unit 207 may determine the functions to be added to the PDC 203.
[0115] When the printing function extension process of P1011 ends, the extended application 204 proceeds to the process of P1012. Note that since P1012 to P1013 are the same as P611 to P612, the description thereof is omitted.
[0116] Here, the details of the process of the extended application 204 in P1010 to P1012 in FIG. 10 will be described using the flowchart of FIG. 21. The process described in the flowchart of FIG. 21 is realized by the CPU 111 executing the program of the extended application 204.
[0117] The CPU 111 determines whether or not it has received an instruction to extend the printing function from the OS 214 (S2101). If the CPU 111 has not received an instruction to extend the printing function, the process returns to S2101. If the CPU 111 has received an instruction to extend the printing function, the CPU 111 starts the printing function extension unit 207 of the extended application 204 and executes the process described in S2102.
[0118] The CPU 111 determines whether the selected print queue is a virtual queue (S2102). If the name of the print queue is the name corresponding to the application 213 stored in advance, the CPU 111 determines that the print queue is a virtual queue. If the selected print queue is not a virtual queue, the CPU 111 proceeds to S2103. If the selected print queue is a virtual queue, the CPU 111 proceeds to S2105.
[0119] If the selected print queue is not a virtual queue, that is, if it is a print queue for transmitting print data to the printing device 102, the CPU 111 acquires attribute data from the printing device 102 (S2103). The CPU 111 performs the acquisition process of the attribute data using the Get-Printer-Attributes operation defined in IPP.
[0120] The CPU 111 edits the PDC based on the attribute data acquired from the printing device (S2104). Here, it is possible to update the PDC based on the attribute data that cannot be handled only by the print data generation software 202.
[0121] Next, the case where the selected print queue is a virtual queue will be described.
[0122] The CPU 111 determines whether the application 213 corresponding to the selected virtual queue is a layout application (S2105). The CPU 111 makes the determination described in S2105 based on the model name of the virtual queue. If the application corresponding to the virtual queue is a layout application, the CPU 111 proceeds to process SS2106. The CPU 111 reads out the path of the storage destination of the print data for the layout application stored in the extended application 204 and edits the PDC (S2106). If the application 213 corresponding to the virtual queue is not a layout application, the CPU 111 executes the process described in S2107. The CPU 111 reads out the path of the storage destination of the print data for the document management application stored in the extended application 204 and edits the PDC (S2106).
[0123] Here, two applications, namely the layout application and the document management application, are listed as the applications 213 corresponding to the extended application 204, but it may also correspond to three or more applications. Also, here, when the print queue is a virtual queue, it has been described as being connected to the actual printing device 102. In addition to the case of being connected to the actual printing device 102, the case of being connected to a cloud printing service may be determined not to be a virtual queue.
[0124] After editing the PDC, the CPU 111 notifies the OS 214 of the completion of the process (S2108). Thereafter, the CPU 111 ends the process described in FIG. 21.
[0125] In this way, the printing function expansion unit 207 discriminates the application 213 and describes in the PDC 1801 information on the area where the printing data editing unit 208 outputs the printing data. As a result, at the time of printing described later, the application 213 can refer to a PC (not shown) and discriminate where the printing data to be output to itself is stored. Further, by separately describing different printing data output destinations for each application 213 in the same PDC 1801 as the information 1805, it becomes possible to support a plurality of different applications 213 even with a single extended application 204.
[0126] Next, the various processes during printing by the application 213 will be described with reference to FIG. 11. FIG. 11 is a sequence diagram of an example of the various processes during printing by the application 213. Since P1101 to P1104 are the same as P701 to P704, the description thereof will be omitted. When the extended application 204 receives an instruction to generate print data from the OS 214 at P1104, the extended application 204 performs a process of determining the print destination of the print queue for which a print instruction has been received at P1105. The details of the print destination determination process are the same as P1010. At the subsequent P1106, the print data editing unit 208 of the extended application 204 performs a print data generation process. In the second embodiment, the print data editing unit 208 switches the details of the process according to the print destination determined by the extended application 204 at P1106. For example, if the application 213 is a layout editing application, print data in the xps format is generated. For example, if the application 213 is a document management application, print data in the PDF format is generated. Or if the print destination is the printing device 102, print data interpretable by the printing device 102 (such as PWG-Raster or PDF) is generated. When the print destination determined by the extended application 204 at P1105 is the application 213, the print data editing unit 208 proceeds to the process of P1107. In P1107, the print data editing unit 208 stores the print data generated at P1106 in the area described as the path of the print data for each application 213 described in the PDC 1801 in the output destination area. At this time, the print data editing unit 208 stores the print data in the area corresponding to the application 213 determined at P1105. Here too, similar to the first embodiment, the data stored by the print data editing unit 208 in the area described in the information 1805 at P1107 may include data other than the print data. When the process of P1107 is completed, the extended application 204 proceeds to the process of P1108. Since the processes of P1108 to P1116 are the same as P707 to P715, the description thereof will be omitted.
[0127] On the one hand, when the printing destination determined by the extended application 204 in P1105 is the printing device 102, the print data editing unit 208 proceeds to the process of P1117. In P1117, the print data editing unit 208 transmits the print data generated in P1106 to the printing device 102. When the printing device 102 receives the print data by P1116 or P1117, the printing device 102 starts the printing process P1118 on the printing paper.
[0128] Here, the details of the processes in P1105 to P1108 in FIG. 11 will be described with reference to FIG. 22. The processes described in FIG. 22 are realized by the CPU 111 executing the program provided by the extended application 204.
[0129] The CPU 111 determines whether it has received the intermediate print data and the print setting information from the OS 214 (S2201). If it has not received the intermediate print data and the print setting information, the CPU 111 returns the process to S2201. If it has received the intermediate print data and the print setting information, the CPU 111 proceeds to S2202. In this embodiment, it is described that the CPU 111 receives the intermediate print data and the print setting information from the OS 214, but these information may also be received from the print data generation software 202.
[0130] The CPU 111 processes the intermediate print data based on the print setting information (S2202). The process described in S2202 is the same as the process described in S2002 in FIG. 20.
[0131] The CPU 111 determines whether the selected print queue is a virtual queue (S2203).
[0132] If the selected print queue is not a virtual queue, the CPU 111 selects the data format supported by the printing device 102 as the format of the rendering data (S2204). The CPU 111 refers to the PDC or PC corresponding to the printing device 102 and sets the data format of the rendering data supported by the printing device 102. The data formats supported by the printing device 102 are, for example, the PWG-Raster format and the PDF format. The CPU 111 generates print data in the format selected in S2204 and transmits it to the printing device 102 (S2205). The CPU 111 generates and transmits the print data using the API provided by the OS 214.
[0133] If the selected print queue is not a virtual queue, the CPU 111 determines whether the application corresponding to the virtual queue is a layout application (S2206). If the application corresponding to the virtual queue is a layout application, the CPU 111 selects the data format of the layout application stored in advance (S2207). If the application corresponding to the virtual queue is not a layout application, the CPU 111 selects the data format for the document generation application stored in advance (S2208). In this embodiment, it has been described that the extended application 204 stores in advance the data formats supported by the layout application and the document generation application. In S2207 and S2208, the CPU 111 may obtain and select the data formats supported by each application from an external server.
[0134] The CPU 111 converts the intermediate print data into the rendering data selected in either S2207 or S2208 and generates the print data (S2209).
[0135] The CPU 111 determines whether the application corresponding to the virtual queue is a layout application (S2211). If the application corresponding to the virtual queue is a layout application, the CPU 111 reads out the path for the layout application stored in advance and stores the generated print data (S2212). If the application corresponding to the virtual queue is a document generation application, the CPU 111 reads out the path for the document generation application stored in advance and stores the print data (S2213).
[0136] The CPU 111 starts the application associated with the virtual queue (S2214). The process described in S2214 is the same as S2006 in FIG. 20. Note that in FIG. 22, instead of a fixed application, the application corresponding to the selected virtual queue is started.
[0137] The CPU 111 determines whether the application has been successfully started (S2215). If the application has been successfully started, the CPU 111 ends the process described in FIG. 22. If the application startup fails, the CPU 111 notifies the user of an error indicating that the application startup has failed (S2216).
[0138] As described above, in Embodiment 2, the print data editing unit 208 switches the print data generation process and the print data output destination according to the print destination determined by the extended application 204. According to Embodiment 2, even a single extended application 204 can perform processes suitable for each of a plurality of different applications 213 and the printing device 102.
[0139] Also, the printing destination determination process of P1105 may be a determination method other than the above-described process. For example, in the printing setting screen extension unit 205 of the extended application 204, the configuration may be such that the user can specify the application 213 that is the transmission destination of the print data. In this case, in the printing destination determination process of P1105, even when the printing device 102 is selected as the transmission destination of the print data, it is possible to set the printing destination to the application 213 based on the above settings. In this case, the generated print data is stored in the print data storage area of the application 213 and is not transmitted to the printing device 102.
[0140] As described above, in the second embodiment, it has been explained that even a single extended application 204 can be operated corresponding to a plurality of different applications 213 and the printing device 102.
[0141] <<Embodiment 3>> In the first embodiment, the extended application 204 directly starts the application 213 in P707. In the third embodiment, a configuration will be described in which the application 213 automatically starts when it detects the storage of print data without the extended application 204 directly starting the application 213. Hereinafter, unless otherwise specified, the configuration of the third embodiment is the same as the configuration of the first embodiment.
[0142] FIG. 12 is a sequence diagram of an example of various processes during printing by the application 213 in Embodiment 3. Since P1201 to P1206 are the same as P701 to P706, the description thereof is omitted. In Embodiment 3, after the print data editing unit 208 of the extended application 204 stores the print data in the area described in the information 1605 at P1206, the application 213 is not started. That is, the application 213 constantly monitors whether the print data is stored in the area described in the information 1605, and when it detects that the print data has been stored, it performs a process of starting the application 213 itself at P1207. Specifically, a sub-module of the application 213 is constantly started on the OS 214, and checks whether there is data in the area described in the information 1605 at a predetermined interval (for example, once every 2 seconds). When it is detected that there is data in the area described in the information 1605, the sub-module of the application 213 starts the main module of the application 213. When the application 213 is started from the sub-module, it proceeds to the process at P1208. Since the processes from P1208 to P1216 are the same as the processes from P708 to P716, the description thereof is omitted.
[0143] Thus, in Embodiment 3, the application 213 is configured to automatically start when it detects the storage of print data. By doing so, even when the extended application 204 does not know the start method of the application 213, the application 213 can acquire the print data stored in a predetermined area by the print data editing unit 208. The case where the extended application 204 does not know the start method of the application 213 is, for example, the case where the URI of the start module of the application 213 is unknown.
[0144] <<Other Embodiments>> It goes without saying that the object of the present invention can also be achieved by supplying a recording medium recording a program code of software for realizing the functions of the above-described embodiments to a system / device, and causing a computer of the system / device to read out and execute the program code. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0145] As the recording medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, a ROM, a DVD, etc. can be used.
[0146] It also goes without saying that, based on the instructions of the program code, an Operating System (OS) or the like running on a computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0147] Furthermore, the program code read from the storage medium may be written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, based on the instructions of the program code, a CPU or the like provided in the function expansion board or the function expansion unit performs part or all of the actual processing, and it goes without saying that the functions of the above-described embodiments are realized by the processing.
Explanation of Signs
[0148] 101 Host computer 102 Printing device 202 Printing data generation software 203 PDC 204 Extended application 205 Printing setting screen expansion unit 207 Printing function expansion unit 208 Printing Data Editing Unit 213 Application 214 OS
Claims
1. 1. An application, comprising: a generating step of generating a print queue associated with a generic printer driver in a state where the print queue is not connected to a printing device; and acquiring the generated print data by specifying the print queue.
2. 2. The application according to claim 1, wherein the generating step is executed in response to installation of the application.
3. 2. The application according to claim 1, further comprising a notification step of notifying an operating system of the information processing device of a file path in which capability information of the printing device associated with the print queue is stored.
4. 4. The application according to claim 3, wherein the application stores a file in which the capability information is stored.
5. 4. The application according to claim 3, wherein the generic printer driver is a driver provided by a vendor that provides the operating system.
6. A method for controlling an information processing device executed by an application, comprising: generating a print queue associated with a generic printer driver in an operating system of the information processing device while the information processing device and a printing device are not connected; and acquiring the generated print data by specifying the generated print queue.
7. An extension application for extending the functionality of a generic printer driver, a generating step of generating print data in a data format supported by another application based on a print queue being selected for generating print data to be used by the other application; a control step of storing the generated print data in a file path referenced by the other application; 13. An extended application comprising:
8. another generating step of generating print data in a format based on the capabilities information of the printing device if a print queue is selected to be sent to the printing device; and causing the printing device to transmit the print data generated in the other generation step.
9. 8. The extended application according to claim 7, wherein the generic printer driver is a driver provided by a manufacturer that provides an operating system for an information processing apparatus.
10. 8. The extended application according to claim 7, wherein the extended application adds a storage destination of the generated print data to a file that describes information about the print queue.
11. A method for controlling an information processing device executed by an extension application that extends a function of a generic printer driver, comprising: a generating step of generating print data in a data format supported by another application based on a print queue being selected for generating print data to be used by the other application; a control step of storing the generated print data in a file path referenced by the other application; A control method comprising the steps of:
Citation Information
Patent Citations
Printing service method by reference
JP2003067148A
Information processing apparatus, control method and program
JP2021107999A
Program and control method
JP2021108001A