Information processing device, control method for information processing device, and program
The application program allows users to select data formats for pass-through printing, addressing printer compatibility issues by ensuring compatible data is sent, thereby preventing printing failures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2024-09-09
- Publication Date
- 2026-06-29
AI Technical Summary
Existing pass-through printing methods using IPP printing fail due to differences in supported PDLs across printers, leading to printers receiving unexpected data and failing to print when users are unaware of compatible data formats.
An application program that cooperates with an IPP class driver allows users to select a data format for output without conversion, ensuring printers receive compatible data formats by specifying setting values that prevent unexpected data.
Enables users to select data formats for pass-through printing, preventing printer failures by ensuring compatible data is sent, thus enhancing printing reliability.
Smart Images

Figure 0007881665000001 
Figure 0007881665000002 
Figure 0007881665000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control method for an information processing apparatus, and a program.
Background Art
[0002] In recent years, a general-purpose printer driver (local printer driver) that directly communicates with an image forming apparatus using an industry-standard protocol such as IPP (Internet Printing Protocol) has been considered.
[0003] A local printer driver is a driver provided by a provider (supplier) of an OS of a client terminal, and is a printer driver that generates print data that can be interpreted by printers manufactured by a plurality of printer manufacturers (vendors). Further, the local printer driver can communicate with printers of a plurality of printer manufacturers (vendors). Therefore, by using the local printer driver, a user can transmit a print job to an image forming apparatus without installing a vendor-specific printer driver.
[0004] Furthermore, printing using a cloud print service has been considered. In a cloud print service, a printer driver for a cloud print service (cloud printer driver) is installed in an information processing apparatus. The cloud printer driver is also a driver provided by a provider (supplier) of an OS of a client terminal, and is a printer driver that generates print data that can be interpreted by printers of a plurality of printer vendors.
[0005] In a cloud print service, printing is executed by an information processing apparatus transmitting a print job to the cloud print service using the cloud printer driver, and the cloud print service transmitting the print job to the image forming apparatus.
[0006] The local and cloud printer drivers mentioned above handle print jobs from image forming machines of various vendors, and therefore have limitations on the items and functions that can be set as print settings. Therefore, it is being considered to extend the print settings by using printer identification information linked to the printer driver. This would enable the implementation of printer vendor-specific print setting UIs and print job editing functions.
[0007] Such applications that extend print settings (print setting extension applications) receive intermediate image data for editing and processing from the OS, expressed in XML format such as XPS (XML Paper Specification). After editing and processing, they convert it into a PDL (Page Description Language) for printing.
[0008] The OS provides a PDL conversion API for converting intermediate image data to PDL, and the printer driver and print settings extension application use this API to convert intermediate image data to PDL.
[0009] Traditionally, there was a system called pass-through printing that skipped the PDL conversion process in the printer driver and delivered print data (such as PostScript or PDF PDL) created with a dedicated document generation application directly to the printer.
[0010] Pass-through printing is used in publishing, design, and other industries to prevent the conversion of content such as vector-based text, lines, fonts, page layouts, and colors that have been set up in dedicated document generation applications for creating high-quality printed materials.
[0011] Patent Document 1 discloses an extension application that enables printing that reflects the extended functionality. [Prior art documents] [Patent Documents]
[0012] [Patent Document 1] Japanese Patent Publication No. 2021-108001 [Overview of the Initiative] [Problems that the invention aims to solve]
[0013] Even with IPP printing, there were methods to skip the conversion of print data generated by document generation applications to intermediate image data such as XPS or to PDL.
[0014] However, in pass-through printing using IPP printing, the PDLs that support pass-through printing differ depending on the printer. Therefore, in a configuration like that described in Patent Document 1, if the user is unaware of a data format that supports pass-through printing, the printer may receive unexpected data and fail to print. [Means for solving the problem]
[0015] The application program of the present invention is an application program that cooperates with an IPP class driver, and allows the user to select a data format for outputting to a printer without converting the data format to the information processing device, and when the user specifies setting values for printing the data of the selected data format, the application program allows the user to specify setting values that cannot be executed when performing the processing. The settings are configured It is characterized by controlling it so that it does not happen. [Effects of the Invention]
[0016] By implementing the present invention, users can select the data format for pass-through printing themselves, making it possible to make users aware of data formats that can be used for pass-through printing, and preventing printers from receiving unexpected data and failing to print. [Brief explanation of the drawing]
[0017] [Figure 1]System Configuration Diagram [Figure 2] Hardware Configuration Diagram [Figure 3] Figure showing an example of a sequence related to option settings in the first embodiment [Figure 4] Figure showing an example of a sequence related to printing job transmission from print settings in the first embodiment [Figure 5] Figure showing an example of an option setting UI [Figure 6] Figure showing an example of On / Off determination processing for pass-through printing [Figure 7] Figure showing an example of a print settings UI [Figure 8] Figure showing an example of determination of pass-through printing availability [Figure 9] Figure showing an example of warning and option display processing
Embodiments of the Invention
[0018] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0019] <Embodiment 1> FIG. 1 shows a configuration diagram of a printing system in cloud printing in the present embodiment. A client terminal 101, a cloud printing server 102, an application management server 103, a cloud printing-compatible printer 104, and an online support server 105 are connected via a network 107.
[0020] In FIG. 1, one client terminal 101 and one cloud printing-compatible printer 104 are shown each, but there may be a plurality of client terminals 101 and cloud printing-compatible printers 104.
[0021] Furthermore, the cloud print server 102, application management server 103, and online support server 105 may be server systems composed of multiple information processing devices. By making each server a server system composed of multiple information processing devices, load balancing can be distributed across multiple information processing devices.
[0022] Furthermore, the cloud print server 102, the application management server 103, and the online support server 105 may be virtually configured within a single information processing device.
[0023] Network 107 assumes that connections to cloud services are made via a WAN such as the internet, but it is also possible for everything to be done within a closed environment such as a company LAN.
[0024] The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is a terminal that is directly operated by the user. Any application software can be run on the client terminal 101.
[0025] The document generation application 115 is an application that can display or create images, documents, etc., to be printed. The document generation application 115 may include various applications such as word processing, spreadsheets, web browsers, and painting applications.
[0026] The local printer driver 113 and the cloud printer driver 111 are provided by the OS 114 provider (supplier) of the client terminal and are software that generates print data that can be interpreted by printers from multiple different printer manufacturers (vendors). The local printer driver 113 and the cloud printer driver 111 can output (send) this print data to multiple printers from multiple different printer manufacturers.
[0027] Examples of local printer drivers 113 and cloud printer drivers 111 include the Windows (registered trademark) IPP class driver. Note that the software and modules for printing included in OS114, such as the cloud printer driver 111, local printer driver 113, and print spooler 116, are sometimes collectively referred to as "printing software."
[0028] The print settings extension application 112 is an application program provided by one of the aforementioned printer manufacturers, the manufacturer that provides the printer used for printing. Because it supports printing using both the local printer driver 113 and the cloud printer driver 111, the print settings extension application 112 is sometimes called a PSA (Print Support Application).
[0029] The print settings extension application 112 can also extend the functionality related to print settings of the local printer driver 113 and the cloud printer driver 111 via the OS 114's print spooler 116.
[0030] The cloud print-compatible printer 104 is a device that actually prints onto a recording medium such as paper, and is an image forming apparatus that converts print data received via the network 107 into image data and prints it.
[0031] The print settings UI section 112a is a print settings UI extended by the printer vendor in the print settings extension application 112, and provides the user with a print settings UI instead of the cloud printer driver 111.
[0032] The print settings UI unit 112a generates and displays a print settings UI based on capability information obtained by the OS 114 and the print settings extension application 112 from the local printer 104 and the cloud print service 121.
[0033] The print settings UI unit 112a performs tasks in the print settings extension application 112 such as collecting device capability information from the print spooler 116 and printer 104, editing and saving configuration information objects, and passing configuration information objects to the OS 114. A configuration information object is a set of data necessary for editing device capability information.
[0034] The cloud print-compatible printer 104 can receive print data from the client terminal 101 via the cloud print server 102, or it can receive print data directly from the client terminal 101 without going through the cloud print server 102.
[0035] The cloud print-enabled printer 104 receives print data generated by the cloud printer driver 111 of the client terminal 101 via the cloud print server 102. The cloud print-enabled printer 104 also receives print data generated by the local printer driver 113 of the client terminal 101 without going through the cloud print server 102.
[0036] The cloud print server 102 receives print commands and print data from an external source. The cloud print server 102 then sends the received print data to a designated cloud print-compatible printer 104.
[0037] The application management server 103 stores and manages various applications. The application management server 103 receives application identification information and download requests from client terminals 101, and sends the application identified based on the received identification information to the client terminals 101.
[0038] The online support server 105 is a server device that provides the online support service 151. The online support service 151 is a server device that provides the client terminal 101 with a file containing information to extend the functionality of the client terminal 101.
[0039] Next, the hardware configuration of the system in this embodiment will be described using Figure 2.
[0040] Figure 2(a) is a block diagram showing the hardware configuration of client terminal 101.
[0041] The client terminal 101 includes a display unit 216, an operation unit 217, a storage unit 214, a control unit 211, and a network communication unit 215.
[0042] The memory unit 214 refers to a non-volatile storage device such as a hard disk or SSD, which is capable of storing and rewriting digital data.
[0043] The control unit 211 consists of a CPU 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 loads the programs stored in the storage unit 214 into the memory 213 and executes them. The memory 213 is the main memory of the CPU 212 and is used as a work area and a temporary storage area for loading various programs.
[0044] The network communication unit 215 is a device that communicates with the external network 107 and performs input and output of digital data with external servers, client terminals, etc. via the network 107.
[0045] The display unit 216 is a device for displaying visual information to the user in real time, such as a liquid crystal display. The operation unit 217 is a device for receiving input from the user via a keyboard, mouse, or the like. A device that combines the functions of both the display unit 216 and the operation unit 217, such as a touch panel, may also be used.
[0046] Figure 2(b) is a block diagram showing the hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225.
[0047] The descriptions of the memory unit 224, control unit 221, and network communication unit 225 are the same as those for the client terminal 101 and will therefore be omitted.
[0048] Although the cloud print server 102 is described as being composed of a single information processing device having the hardware configuration shown in Figure 2(b), the cloud print server 102 may also be composed of multiple information processing devices as shown in Figure 2(b).
[0049] Figure 2(c) is a block diagram showing the hardware configuration of the application management server 103. The application management server 103 includes a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235.
[0050] The descriptions of the display unit 236, operation unit 237, storage unit 234, control unit 231, and network communication unit 235 are the same as those for the client terminal 101 and will therefore be omitted.
[0051] Although the application management server 103 is described as being composed of a single information processing device having the hardware configuration shown in Figure 2(c), the application management server 103 may be composed of multiple information processing devices.
[0052] Figure 2(d) is a block diagram showing the hardware configuration of the cloud print-compatible printer 104. The cloud print-compatible printer 104 includes a display unit 246, an operation unit 247, a storage unit 244, a control unit 241, a network communication unit 245, and a printing unit 248.
[0053] The display unit 246 is a device that displays information to the user in real time, such as a touch panel or LEDs, which are installed on the cloud print-compatible printer 104.
[0054] The operation unit 247 is a device for receiving input from the user and may include a touch panel as well as hard keys such as a numeric keypad. The storage unit 244 and control unit 241 are equivalent to those of the client terminal 101, so their explanation is omitted.
[0055] The network communication unit 245 is a device that communicates with the external network 107, and its main roles are to receive print data and to send information about the status of the cloud print-compatible printer 104, such as errors, to external servers.
[0056] The printing unit 248 is a device that performs a series of operations including paper feeding, printing, and paper ejection on paper prepared in a cassette or tray. The printing method is not particularly limited and can be electrophotographic or inkjet. Finishing devices such as a duplex unit, stapling, and punching used during paper ejection are also included in the printing unit 248.
[0057] In this embodiment, a single-function printer that only performs printing functions is described as an example of a cloud print-compatible printer 104, but a multi-function printer (all-in-one device) that also has scanner and fax functions may also be used.
[0058] Figure 2(e) is a hardware block diagram showing the details of the online support server 105. In this embodiment, the online support server 105 is described as being composed of one information processing device, but it may be composed of multiple information processing devices.
[0059] The online support server consists of a display unit 256, an operation unit 257, a storage unit 254, a control unit 251, and a network communication unit 255. The display unit 256 and the operation unit 257 are the same as the display unit 216 and the operation unit 217 of the client terminal 101, so their description is omitted. The storage unit 254 is a memory device such as an HDD or SSD. The storage unit 254 stores files containing information for extending the functions provided by the client terminal 101.
[0060] The control unit 251 consists of a CPU 252 and a memory 253. The CPU 252 controls the entire online support server 105. The memory 253 is used for processing performed by the CPU 252. The network communication unit 255 is an interface for the online support server 105 to communicate with the client terminal 101. The online support server 105 receives requests to retrieve files stored in the storage unit 254 via the network communication unit 255 and sends the corresponding files to the client terminal 101.
[0061] Next, using Figure 3, we will explain an example of the user operation procedure for option settings in this embodiment, as well as the sequence between each software and print service.
[0062] Figure 3 shows the sequence of modules when a user sets options in the option setting UI section 112b of the print settings extension application 112.
[0063] First, the user is instructed to launch the print settings extension application 112 independently. For example, the user can select and launch the print settings extension application 112 from an application list such as the Start Menu. Alternatively, the user can display a list of connected printers from the OS settings screen and launch the print settings extension application 112 corresponding to the printer. This method of displaying the print settings UI of the print settings extension application 112, as described later using Figure 4, etc., is different (it does not go through the print settings screen of the document generation application 115).
[0064] The print settings extension application 112 receives a command to launch the option settings UI and starts the option settings UI unit 112b (S301).
[0065] The option setting UI section 112b in the print settings extension application 112 requests capability information of the cloud-enabled printer 104 from the cloud print service 121 via the OS 114's print spooler 116 (S302). The cloud print service 121 responds to the OS 114 with capability information of the cloud-enabled printer 104 (S303). The OS 114 adds the capability information obtained in S303 to its own device capability information (S304).
[0066] OS114 notifies the print settings extension application 112 via the print spooler 116 of an event that allows editing of device capability information (S305).
[0067] The option setting UI unit 112b of the print settings extension application 112 requests capability information of the cloud-compatible printer 104 from the cloud print service 121 (S306). At this time, the option setting UI unit 112b selects a type of capability that does not overlap with the type of capability information requested by the OS 114.
[0068] The cloud print service 121 requests the cloud-enabled printer 104 to acquire capability information using the IPP protocol (S307). The cloud-enabled printer 104 responds to the cloud print service 121 with the requested capability information (S308). The cloud print service 121 responds to the option setting UI unit 112b with the requested capability information (S309).
[0069] The print settings extension application 112 obtains printer vendor-specific capability information from the cloud-enabled printer 104 and edits the device capability information of the OS 114 via the configuration information object (S310).
[0070] The print settings extension application 112 combines the capability information it has acquired with the capability information acquired by the OS 114, and then copies and saves it as its own device capability information data in the application's data storage area (S311).
[0071] The option setting UI section 112b of the print settings extension application 112 displays an option setting UI, including pass-through printing related options, based on the acquired device capability information (S312).
[0072] Here, Figure 5 shows an example of the option setting UI (option setting screen) displayed by the option setting UI section 112b of the print setting extension application 112.
[0073] The option setting UI section 112b of the print settings extension application 112 shown in Figures 5(a) and 5(c) displays the On / Off setting for pass-through printing and a list of data formats supported by the connected printer for pass-through printing.
[0074] Data formats that are eligible for pass-through printing in IPP printing include PS (PostScript), PDF (Portable Document Format), PCL (Printer Control Language), PCLm, LIPS4, PWG-Raster Format, TIFF (Tagged Image File Format), and JPEG (Joint Photographic Experts Group).
[0075] The option setting UI section 112b of the print settings extension application 112 accepts the user's selection of pass-through printing related option settings (S313).
[0076] If the user does not make a selection when accepting option settings, the option setting UI unit 112b saves the default option settings predetermined within the print settings extension application to the application's data storage area (S314).
[0077] Figure 5(a) shows an example of default option settings. In this example, the following settings are enabled by default. Pass-through printing: On Data formats supported for pass-through printing: PostScript, PDF
[0078] Therefore, the information in Figure 5(b) will be stored in the application's data storage area.
[0079] The information in Figure 5(b) is a schematic diagram showing the data to be saved in S314. The setting items and setting values described in Figure 5(b) are saved in a referable format. If the user makes a selection when an option setting is received, the option setting UI section 112b of the print setting extension application 112 saves the received option setting selection in the application's data storage area.
[0080] Figure 5(c) shows an example of option settings that have been selected by the user.
[0081] In this example, the following settings are enabled by default. Pass-through printing: On Supported data formats for pass-through printing: PostScript, PDF, PCL, TIFF
[0082] Therefore, the information in Figure 5(d) will be stored in the application's data storage area.
[0083] The information in Figure 5(d) is a schematic diagram showing the data to be saved in S314.
[0084] The settings items and values shown in Figure 5(d) are saved in a viewable format. The option setting UI section 112b of the print setting extension application 112 saves the option settings. If "Pass-through printing On" is selected in the option settings, the OS 114 is notified of the data format to be printed via the print spooler 116 (S316).
[0085] If the option setting "Off" is selected for pass-through printing, the option setting will be terminated without notifying OS114 of the data format to be printed via pass-through (S315).
[0086] When OS114 receives notification of data format information for pass-through printing from the print settings extension application 112, it saves the information of the data format for pass-through printing and recognizes that pass-through printing is possible (S317).
[0087] The option setting UI section 112b of the print settings extension application 112 terminates the option settings (S318) after receiving an acknowledgment from the OS 114.
[0088] Next, using Figure 4, an example of the user's operation procedure from print settings to print execution, and the sequence between each software and print service in this embodiment will be explained. Figure 4 shows the sequence between modules when the user selects a print queue for the printer.
[0089] The OS114's print spooler 116 accepts the user's selection of a print queue (the printing device to which the print will be sent) via the document generation application 115 or the cloud printer driver 111 (S401).
[0090] Next, OS114 requests capability information for the cloud print-compatible printer 104 from the cloud print service 121 via the print spooler 116 (S402). The capability information to be requested is determined by OS114 based on the print settings supported by the OS itself. OS114 requests the determined capability information from the cloud print service 121 using IPP standard protocols such as Get-printer-Attributes.
[0091] Then, the cloud print service 121 responds to the OS 114 with capability information of the cloud print-compatible printer 104 (S403). The OS 114 adds the capability information obtained in S403 to its own device capability information (S404).
[0092] Next, OS114 notifies the print settings extension application 112 via the print spooler 116 of an event that allows it to edit device capability information (S405). Upon receiving this event, the print settings extension application 112 can use the OS API to edit the device capability information.
[0093] Furthermore, this event enables the print settings UI section 112a of the print settings extension application 112 to directly obtain capability information not supported by the OS 114 from the cloud print service 121.
[0094] When the print settings UI section 112a of the print settings extension application 112 receives a device capability information editing event from the OS 114, it requests capability information of the cloud print-compatible printer 104 from the cloud print service 121 (S406).
[0095] At this time, the print settings UI section 112a of the print settings extension application 112 selects a type of capability information to be requested that does not overlap with the type of capability information requested by the OS 114, based on the types of capability information held within the print settings extension application 112.
[0096] Then, the print settings UI section 112a of the print settings extension application 112 queries the cloud print service 121 for the capability information selected as the target of the request using an IPP standard protocol such as Get-printer-Attributes. In this way, the print settings extension application 112 can also obtain capability information that is not supported by the OS 114.
[0097] Upon receiving a request for capability information, the cloud print service 121 requests the capability information from the cloud print-compatible printer 104 using the IPP protocol (S407). The cloud print-compatible printer 104 responds to the cloud print service 112 with the requested capability information (S408). The cloud print service 112 responds to the print setting UI section 112a of the print setting extension application 112 with the requested capability information (S409).
[0098] The print settings UI section 112a of the print settings extension application 112, upon obtaining printer vendor-specific capability information from the cloud print-compatible printer 104, edits the device capability information held by the OS 114 via a configuration information object (S410). A configuration information object is a set of data necessary for editing device capability information. Since the print settings UI section 112a of the print settings extension application 112 cannot directly edit the device capability information held by the OS 114, it uses this configuration information object to modify the device capability information held by the OS 114.
[0099] At this time, the print settings UI section 112a of the print settings extension application 112 copies the capability information it has acquired and the capability information acquired by the OS 114 as its own device capability information data in the application's data storage area and saves it (S411).
[0100] Next, the print settings UI section 112a of the print settings extension application 112 passes the edited configuration information object to the OS 114 (S412). When the OS 114 receives the configuration information object from the print settings UI section 112a of the print settings extension application 112, it merges the device capability information that the OS itself possesses with the device capability information added to the configuration information object and updates it as new device capability information.
[0101] When OS114 generates new device capability information, it enables the print queue. As a result, when the user selects the advanced settings button via the document generation app 115, it becomes possible to issue an event to display the print settings UI to the print settings extension app 112 (S413).
[0102] When OS114 receives a selection of the advanced settings button by the user via the document generation application 115, it notifies the print settings extension application 112 of an event that enables the display of the print settings UI (S414). The selection of the advanced settings button by the user is one example of an instruction to display the print settings screen.
[0103] The print settings UI unit 112a in the print settings extension application 112 receives a print settings UI display event from the OS 114 (S415). At this time, the print settings UI unit 112a receives PrintCapabilities based on device capability information and a PrintTicket indicating the current print settings from the print spooler 116.
[0104] The print settings extension application 112 reads pass-through printing related option information (Figures 5(b) and 5(d)) from the option settings information saved in S314 and determines whether pass-through printing is enabled or disabled (S416).
[0105] The print settings UI section 112a of the print settings extension application displays the print settings UI based on PrintCapabilities and PrintTicket (S417). A PrintTicket is a file that contains print setting information written in XML format.
[0106] Here, the print settings UI unit 112a disables the setting of predetermined print settings if the pass-through printing execution determination is On. Details of the processing when the pass-through printing execution determination is On are shown in Figures 6 and 7.
[0107] Figures 6(a) and (c) show an example of the details of the processing of the print setting UI unit 112a when the pass-through printing determination is On. Figure 6(b) shows an example of print setting items predetermined by the printer vendor that the user cannot set when pass-through printing is enabled. On the other hand, Figure 6(d) shows an example of print setting items predetermined by the printer vendor that the user can set when pass-through printing is enabled.
[0108] Figures 6(b) and (d) may be stored within the print settings extension application 112, or they may be stored on the online support server 105, application management server 103, cloud print server 121, etc. They may also be stored on the printer 104.
[0109] Figures 7(a) and 7(b) show examples of UIs that prevent user input from being accepted for settings related to functions that perform image processing or print layout changes on print image data. First, we will explain examples of pre-defining settings that will not accept print settings during pass-through printing using Figures 6(a), 6(b), and 7(a).
[0110] The print settings extension application 112 reads the pass-through printing related option setting information (Figures 5(b) and 5(d)) saved in S314 and determines whether to perform pass-through printing based on the "Pass-through printing On / Off" setting (S601). If "On" is set for the "Pass-through printing On / Off" setting, it determines to perform pass-through printing.
[0111] Furthermore, if the "Pass-through printing On / Off" setting is set to "On," a UI (not shown) may be displayed to allow the user to choose whether or not to perform pass-through printing. While this increases the user's actions, it is useful when the user's preference for pass-through printing or the use of various print settings differs depending on the content of the data to be printed and the purpose of printing.
[0112] Next, the print settings extension application 112 determines whether a predetermined print setting item (Figure 6(b)) exists among the setting items to be displayed in the print settings UI, based on the capability information stored in S411 (S602).
[0113] In S602, the print settings extension application disables user input for a specified print setting item if that item is present in the print settings UI (an example of a print settings screen) shown in Figure 7(a).
[0114] Figure 7(a) shows an example of a display where the user cannot change settings, specifically when certain print settings are grayed out. In this example, the color mode, N-in-1 settings, and print quality settings are grayed out.
[0115] Furthermore, Figure 7(b) shows an example where certain print setting items are not displayed in order to prevent user input from being accepted. In this example, the color mode, N-in-1 settings, and print quality settings are not displayed. Also, in Figures 6(a) and 6(b), settings items that are not accepted during pass-through printing are predetermined. On the other hand, it is also possible to pre-determine settings items that are accepted even during pass-through printing, and to prevent the acceptance of print settings for all other settings items.
[0116] Figures 6(c) and 6(d) show an example of how to handle situations where print settings are not accepted for other settings, while pre-defining the settings items that will accept print settings even during pass-through printing.
[0117] The print settings extension application 112 reads the pass-through printing related option setting information (Figures 5(b) and 5(d)) saved in S314 and determines whether to perform pass-through printing based on the "Pass-through printing On / Off" setting (S611). If "On" is set for the "Pass-through printing On / Off" setting, it determines to perform pass-through printing.
[0118] Next, the print settings extension application 112 determines whether the setting items to be displayed in the print settings UI correspond to a predetermined print setting item (Figure 6(d)) based on the capability information stored in S411 (S612).
[0119] In S602, the print settings extension application 112 disables user input for any print settings items displayed in the print settings UI that do not correspond to any predetermined print settings items (S613).
[0120] Returning to the explanation of Figure 4, at S417, the user closes the print settings UI (701 in Figure 7(a)) in the print settings UI of the print settings extension application 112, completing the print settings operation. At this time, the print settings UI unit 112a writes the settings values set via the UI to PrintTicket. As a result of closing the print settings UI unit, the user's operation screen returns to the print settings screen provided by the document generation application 115.
[0121] Then, the print settings extension application 112 sends a UI completion notification along with the PrintTicket to the OS 114's print spooler 116, completing the processing on the print settings screen of the print settings extension application 112 (S418).
[0122] Next, the document generation application 115 receives a print execution command from the user on the print settings screen provided by the document generation application 115 (S421), and requests access information for pass-through printing from the OS 114's print spooler 116 (S422). The access information for pass-through printing is used to inquire with the OS 114's print spooler 116 about the possibility of pass-through printing and to send data to the OS 114's print spooler 116 as pass-through printing.
[0123] The OS114 print spooler 116 responds to the document generation application 115 with access information for pass-through printing (S423).
[0124] When the document generation application 115 obtains access information for pass-through printing, it queries the print spooler 116 of the OS 114 to determine whether pass-through printing is possible, specifying the PDL data format (S424). The print spooler 116 of the OS 114 determines whether pass-through printing is possible based on the pass-through printing target data format received from the print settings extension application 112, which was saved in S316 (S425).
[0125] Details of the pass-through printing eligibility determination are shown in Figure 8. Figure 8(a) shows an example of the detailed processing for determining pass-through printing eligibility. Figure 8(b) shows an example of the list of pass-through printing target data formats received from the print settings extension application 112.
[0126] The print spooler 116 of OS114 searches whether the specified PDL data format received from the document generation application 115 is included in the list of pass-through print target data formats received from the print settings extension application 112 (S801).
[0127] The print spooler 116 of OS114 compares the specified PDL data format received from the document generation application 115 with each data format in the list of pass-through print target data formats received from the print setting extension application 112, and determines whether they match or not (S802).
[0128] The print spooler 116 determines that pass-through printing is possible if a data format that matches the specified PDL data format received from the document generation application 115 is included in the list of pass-through print target data formats received from the print settings extension application 112 (S803).
[0129] The print spooler 116 determines that pass-through printing is not possible if the data format that matches the specified PDL data format received from the document generation application 115 is not included in the list of pass-through print target data formats received from the print settings extension application 112 (S804).
[0130] Returning to the explanation of Figure 4, the OS114's print spooler 116 responds to the document generation application 115 with the result of the pass-through printing feasibility determination (S426).
[0131] The document generation application 115 decides whether to continue pass-through printing based on the pass-through printing feasibility determination result obtained from the OS 114's print spooler 116 (S427). If the document generation application 115 decides in S427 to continue pass-through printing, it sends data in the data format specified in S424 to the OS 114's print spooler 116 based on the access information for pass-through printing.
[0132] The OS114 print spooler 116 receives data based on the access information for pass-through printing and receives it as data for pass-through printing (S429). Upon receiving the data for pass-through printing, the OS114 print spooler 116 notifies the print settings extension application 112 of a PDL conversion event (S430). A PDL conversion event indicates the process of converting intermediate image data into a PDL that the printer can process.
[0133] In this case, if it is not pass-through printing, the print extension application 112 receives a PrintTicket from the OS 114's print spooler 116, along with an event notification, which contains intermediate image data and the print settings values set in the print settings UI unit 112a. However, in the case of pass-through printing, since no intermediate image data is generated, the application receives only a PrintTicket from the OS 114's print spooler 116, along with an event notification, which contains the print settings values set in the print settings UI unit 112a.
[0134] The print settings extension application 112 saves the PrintTicket to the application's data storage area (S431).
[0135] The print settings extension application 112 uses the OS 114 API to request the OS 114 print spooler 116 to generate IPP print settings information (S432). IPP print settings information refers to print settings information defined by a combination of IPP attributes and IPP attribute values. The OS 114 print spooler receives the request and generates the IPP print settings information (S433). Here, the OS print spooler generates the IPP print settings information based on the PrintTicket.
[0136] The print spooler of OS114 sends IPP print setting information to the cloud print service 121 (S434). The cloud print service 121 sends the IPP print setting information to the cloud print-compatible printer 104 (S435). The cloud print-compatible printer 104 notifies the print setting extension application 112 of the receipt of the IPP print setting information via the cloud print service 121 and the print spooler 116 of OS114 (S436).
[0137] The print settings extension application 112 reads the pass-through printing related option setting information (Figures 5(b) and 5(d)) saved in S314 and determines whether to perform pass-through printing based on the "Pass-through printing On / Off" setting (S437). If "On" is set for the "Pass-through printing On / Off" setting, it determines to perform pass-through printing.
[0138] The print settings extension application 112 determines the PDL conversion content based on the determination of whether pass-through printing should be performed (S438).
[0139] Specifically, if S437 determines that pass-through printing should be performed, PDL conversion based on intermediate image data is unnecessary, and therefore the print setting extension application 112 decides to skip the PDL conversion process. On the other hand, if S437 determines that pass-through printing should not be performed, the print setting extension application 112 decides to perform PDL conversion on the intermediate image data received from the OS 114's print spooler 116.
[0140] The print settings extension application 112 requests the OS 114's print spooler 116 to send print data to the cloud-enabled printer 104 (S439).
[0141] The OS114's print spooler 116 generates print data to send the PDL received from the document generation application 115 to the printer using the IPP protocol (S440) if there is no PDL conversion processing request. On the other hand, the OS's print spooler generates print data to send the converted PDL to the printer using the IPP protocol if there is a PDL conversion processing request.
[0142] The OS114's print spooler 116 sends the print data, consisting of the final PDL, to the cloud print service 121 via the print queue (S442). The cloud print service 121 sends the print data received from the OS114's print spooler 116 to the cloud print-compatible printer 104 (S443).
[0143] Although this flow uses cloud printing as an example, the same processing can be applied to local printing that does not involve a server. In this case, the processing described as being performed by the cloud printing service 121 is also performed by the cloud printing-compatible printer 104.
[0144] As described above, according to this embodiment, the print setting extension application 112 allows the user to select the data format to be passed through, thereby enabling the user to recognize the data formats supported by the printer and outputting the appropriate data for pass-through printing. This prevents errors such as the printer receiving data in an unexpected format and being unable to print it.
[0145] <Embodiment 2> Embodiment 1 described examples of cases where, during pass-through printing, it is not possible to change predetermined print settings, or where only predetermined print settings can be set and other print settings are hidden. This embodiment describes an example where, during pass-through printing, a warning and options are displayed in response to changes in predetermined print settings.
[0146] The specific processing according to this embodiment will be explained using Figures 4, 9, 7(c), and 7(d). Only the differences from Embodiment 1 will be explained here. The system configuration and hardware configuration are the same as in Embodiment 1, with a few exceptions, so their explanation will be omitted.
[0147] As a difference from the embodiment, an example of processing using the print UI will be explained below with reference to Figures 4 and 9. Note that the main processing sequence in this embodiment from S401 to S416 is the same as in Embodiment 1, so the explanation will be omitted.
[0148] The print settings UI section 112a of the print settings extension application 112 displays the print settings UI and accepts user input after receiving a print settings UI display event and determining whether to perform pass-through printing (S417). Here, the print settings UI section 112a of the print settings extension application 112 displays the print settings UI based on PrintCapabilities and PrintTicket. PrintTicket is a file that shows print setting information written in XML format.
[0149] Furthermore, the print settings UI section 112a of the print settings extension application 112 accepts print settings input from the user at S417. Upon receiving the input, it determines whether the user has changed a print setting item corresponding to a predetermined print setting item and displays a warning.
[0150] Details of the process for displaying the warning are shown in Figures 9 and 7.
[0151] Figures 9(a) and (b) show an example of the process for displaying warnings and options in response to changes in predetermined print settings during pass-through printing. Figures 7(c) and 7(d) show an example of the UI for displaying warnings and options in response to changes in predetermined print settings.
[0152] First, the print settings extension application 112 reads the pass-through printing related option setting information (Figures 5(b) and 5(d)) stored in S314 and determines whether to perform pass-through printing based on the "Pass-through printing On / Off" setting (S901). If "On" is set for the "Pass-through printing On / Off" setting, it determines that pass-through printing should be performed.
[0153] Next, the print settings extension application 112 determines whether or not a predetermined print setting item (Figure 9(b)) is applicable among the setting items to be displayed in the print settings UI based on the capability information stored in S411 (S902).
[0154] In S902, the print settings extension application 112 detects whether there are any specified print settings items in the print settings UI (Figure 7(c)) that have been changed by user input (S903).
[0155] The print settings UI section 112a of the print settings extension application 112 displays a warning and options (S904) when it detects a user input change to a print setting item that corresponds to a predetermined print setting item in S903.
[0156] Here, Figure 7(c) shows an example where the color mode setting based on PrintTicket is "Color," but Figure 7(d) shows an example where it has been changed to "Monochrome" by user input. The color mode corresponds to a predetermined print setting item as shown in the list in Figure 9(b). Therefore, the print setting extension application 112 detects the change, and in Figure 7(d), the print setting UI unit 112a displays a warning and options.
[0157] If the user selects "Continue" (Figure 7(d)) from the options, the print settings extension application 112 accepts the change in print settings. That is, it accepts the change from "Color" to "Monochrome" (S905, S908).
[0158] Furthermore, if the user selects "Disabled" (Figure 7(d)) from the options, the print settings extension application 112 disables user-inputted setting changes, and the print settings UI unit 112a reverts the changed print settings back to their previous settings. In other words, the print settings that were once changed to "Monochrome" are reverted back to their previous "Color" settings (S905, S906).
[0159] Furthermore, if the user selects "Cancel" (Figure 7(d)) from the options, the print settings application 112 cancels the print and exits the print settings extension application 112 (S905, S907).
[0160] Returning to the explanation of Figure 4, at S417, the user closes the print settings UI (701 in Figure 7(a)) in the print settings UI of the print settings extension application 112, completing the print settings operation. At this time, the print settings UI unit 112a writes the settings values set via the UI to the Print Ticket. As a result of closing the print settings UI unit 112a, the user's operation screen returns to the print settings screen provided by the document generation application 115.
[0161] The print settings extension application 112 sends a UI completion notification along with the Print Ticket to the OS 114's print spooler 116, completing the processing on the print settings screen (S418). Note that the processing from receiving the print execution input (S421) to sending the print data (S443) is the same as in Embodiment 1, so the explanation is omitted. Although this flow uses cloud printing as an example, the same processing can be performed for local printing.
[0162] In summary, according to this embodiment, by presenting the user with warnings and options, it becomes possible to obtain printing results that more closely match the user's intentions.
[0163] <Other examples> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of Symbols]
[0164] 101 Client terminals 104 Cloud Print Compatible Printers 112 Print Settings Extension Application
Claims
1. An application program that cooperates with the IPP class driver, and which provides information processing equipment, The system allows the user to select a data format that will be output to the printer without any data format conversion. An application program characterized in that, when receiving a user's specification of setting values for printing data in the selected data format, it controls the program to prevent setting values that cannot be executed when performing the processing from being set.
2. The application program according to claim 1, characterized in that the data format selected for the aforementioned processing is a data format obtained from a printing device that will be the destination for printing the image data.
3. The application program according to claim 1, characterized in that the selection of the data format for which the above processing is performed is accepted via an option setting screen that can be displayed when the application program is started independently.
4. The application program according to claim 1, characterized in that the setting values for printing data in the selected data format are received via a print settings screen that is displayed in response to a display instruction from the user, after the data to be printed and the printing device to be printed have been specified.
5. The application program according to claim 4, characterized in that when performing the aforementioned processing, the print settings screen displays predetermined print setting items that are not allowed to be changed when performing the aforementioned processing in a manner that prevents the user from changing them.
6. The application program according to claim 4, characterized in that when performing the aforementioned processing, the application program displays a warning when it accepts a change by the user to a predetermined print setting item that is not allowed to be changed when performing the aforementioned processing, on the print setting screen.
7. The selected data format is notified to the printing software, including the IPP class driver. The application program according to claim 1, characterized in that it skips the data conversion in the printing software.
8. The application program according to claim 1, characterized in that the processing is pass-through printing.
9. A control method for an information processing apparatus having an IPP class driver and an application program that cooperates with the IPP class driver, wherein the information processing apparatus has The system allows the user to select a data format that will be output to the printer without any data format conversion. A control method characterized by, when receiving a user's specification of setting values for printing data in the selected data format, controlling the system so that no setting values that cannot be executed during the processing are set.
10. The control method according to claim 9, characterized in that the data format selected for the aforementioned processing is a data format obtained from a printing device which is the destination for printing the image data.
11. The control method according to claim 9, characterized in that the selection of the data format for performing the aforementioned processing is accepted via an option setting screen that can be displayed when the application program is started independently.
12. The control method according to claim 9, characterized in that the setting values for printing data in the selected data format are received via a print settings screen that is displayed in response to a display instruction from the user, after the image data to be printed and the printing device to be printed have been specified.
13. The control method according to claim 12, characterized in that when performing the aforementioned processing, the print settings screen displays predetermined print setting items that are not allowed to be changed when performing the aforementioned processing in a manner that prevents the user from changing them.
14. The control method according to claim 12, characterized in that when the aforementioned processing is performed, a warning is displayed on the print settings screen when a user makes a change to a predetermined print setting item that is not allowed to be changed when the aforementioned processing is performed.
15. The selected data format is notified to the printing software, including the IPP class driver. The control method according to claim 9, characterized in that it skips the conversion of image data in the printing software.
16. The control method according to claim 9, characterized in that the process is pass-through printing.
17. An information processing apparatus having an IPP class driver and an application program that cooperates with the IPP class driver, The system accepts the user's selection of a data format that will be output to the printer without data format conversion. An information processing device characterized by, when receiving a user's specification of setting values for printing data in the selected data format, controlling the system so that no setting values that cannot be executed during the processing are set.