Application program, control method, and information processing device
The application program enhances standard driver functionality by allowing easy configuration and execution of printer-specific functions like bookbinding, addressing the cumbersome registration issue in standard drivers.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2024-11-12
- Publication Date
- 2026-05-22
AI Technical Summary
Standard drivers lack the ability to process and utilize printer manufacturer-specific functions, particularly for complex settings like bookbinding, requiring cumbersome manual registration by users and administrators.
An application program that supports standard drivers to enable setting and outputting instructions for bookbinding printing, allowing users to easily configure and execute bookbinding functions through an information processing device.
Improves operability in setting print settings by enabling users to utilize printer-specific functions without complex manual registration, specifically for bookbinding printing.
Smart Images

Figure 2026085120000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an extension file and an application for improving convenience for a standard driver (hereinafter referred to as a standard driver) regardless of the model of the printer to be connected.
Background Art
[0002] Conventionally, printing has been performed using drivers provided by printer vendors (printer manufacturers). In recent years, by using a standard driver provided by a manufacturer (supplier) of an operating system (OS), printing can be performed without using the driver provided by the printer vendor.
[0003] For example, Windows (registered trademark) has a standard driver called an IPP class driver (IPP Class Driver). Android (registered trademark) has a standard driver called Mopria (registered trademark). Also, iOS (registered trademark) has a standard driver called AirPrint (registered trademark) installed as a function of the OS.
[0004] These standard drivers are drivers that transmit print commands compliant with a printing protocol called IPP (Internet Printing Protocol). Therefore, a printer that supports printing compliant with IPP can receive such print commands and execute printing. The feature of such a standard driver is that printing can be executed on printers of multiple models of multiple printer vendors that support IPP. That is, it has compatibility with printers of multiple models.
[0005] On the other hand, there is also a problem that the standard driver cannot process and utilize the functions provided independently by the printer manufacturer.
[0006] Patent Document 1 provides a method for a driver installed on an information processing device that can communicate with a printer to utilize vendor-specific functions. Patent Document 1 shows a method in which functions available to the printer are registered as presets on the printer in advance, and the driver specifies these presets to realize vendor-specific functions.
[0007] However, users and administrators need to register which functions they want to use with the printer in advance, which is time-consuming. Furthermore, if a unique function consisting of multiple settings such as opening direction, folding settings, and stapling settings is used, such as in bookbinding printing, complex registration is required, which is cumbersome for users and administrators. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Japanese Patent Publication No. 2023-182730 [Overview of the project] [Problems that the invention aims to solve]
[0009] The present invention aims to improve the operability of setting print settings when printing using a standard driver. [Means for solving the problem]
[0010] The present invention is an application program that supports a standard driver capable of sending print data to multiple printers from multiple different manufacturers, and is characterized by causing an information processing device to perform the following steps: a display step of displaying an object on which setting values related to bookbinding printing can be set; and an output step of outputting an instruction to perform bookbinding printing to the printer to which the print data will be sent, when it is set to perform bookbinding printing using the object. [Effects of the Invention]
[0011] According to the present invention, it is possible to improve the operability when setting print settings in printing using a standard driver. [Brief explanation of the drawing]
[0012] [Figure 1] A diagram showing an example of the printing system of this embodiment. [Figure 2] A diagram showing an example of the hardware configuration in this embodiment. [Figure 3] This figure shows an example of the installation process for the print extension application 312 in this embodiment. [Figure 4] This diagram shows an example of the OS313 search screen. [Figure 5] A diagram illustrating an example of a capability information inquiry and response. [Figure 6] A diagram showing an example of device capability information. [Figure 7] A diagram showing an example of an extended setup information file. [Figure 8] A diagram showing an example of the bookbinding and printing process in this embodiment. [Figure 9] A diagram showing an example of the standard driver's UI. [Figure 10] Diagram showing an example of the UI for the print extension app 312. [Figure 11] This diagram shows an example of a print settings screen displayed by the operating system. [Figure 12] This figure shows an example of the imposition process for bookbinding printing in this embodiment. [Modes for carrying out the invention]
[0013] The embodiments for carrying out the present invention will be described below with reference to the drawings.
[0014] <Embodiment 1> Figure 1 shows the configuration diagram of the printing system in this embodiment. A client terminal 101, a standard driver-compatible printer 102, an application management server 103, and an online support server 104 are connected via a network 105.
[0015] In FIG. 1, one client terminal 101 and one standard driver-compatible printer 102 are shown, but there may be multiple client terminals 101 and standard driver-compatible printers 102.
[0016] Similarly, the application management server 103 and the online support server 104 may be server systems composed of multiple information processing devices. By configuring each server as a server system composed of multiple information processing devices, load distribution can be dispersed among the multiple information processing devices.
[0017] Also, the application management server 103 and the online support server 104 may be virtually configured inside one physical information processing device.
[0018] The network 105 is assumed to be connected to cloud services or to a WAN such as the Internet, but it may also be a closed environment such as a corporate intranet LAN.
[0019] The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is a terminal directly operated by the user. Any application software can be executed on the client terminal 101.
[0020] The document generation application 315 is an application that can be used by being bundled with the OS 313 or installed later. By using the document generation application 315, the user can generate a document and instruct the standard driver-compatible printer 102 to print by using the functions of the OS 313 (including standard drivers, etc.).
[0021] The local printer driver 311 is software provided by the provider (supplier, manufacturer) of the OS 313 embedded in the client terminal 101, and is a different driver from the driver provided by the printer manufacturer. The local printer driver 311 can send print data to multiple different printers provided by multiple different manufacturers.
[0022] The local printer driver 311 may be composed of one or more modules included in the OS 313. Therefore, in this specification, the operation of the local printer driver 311 and the OS 313 may be described together, with the OS 313 being the operating entity. The printing-related software included in the OS 313 may also be referred to as printing software.
[0023] Examples of local printer drivers 311 include the IPP Class Driver included in Windows (registered trademark). Since print data generated by an IPP Class Driver is based on IPP, any printer that supports IPP-compliant printing can receive this print data. Local printer drivers 311 are sometimes also referred to as standard drivers or generic drivers.
[0024] The print extension application 312 is an application program that assists (supports) the local printer driver 311. The print extension application 312 can also extend the functionality of print settings for print data sent to the printer associated with the local printer driver 311, and extend the job layout.
[0025] The standard driver-compatible printer 102 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 105 into image data and prints it. The standard driver-compatible printer 102 is a printer that supports printing using standard drivers such as IPP class drivers.
[0026] The standard driver-compatible printer 102 can communicate with a cloud print server (not shown) and is also connected to the same closed network as the client 101. Therefore, the standard driver-compatible printer 102 can receive print data from the client terminal 101 via the cloud print server, or it can receive print data directly from the client terminal 101 without going through the cloud print server.
[0027] The standard driver-compatible printer 102 receives print data generated by the local printer driver 311 of the client terminal 101.
[0028] 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.
[0029] The online support server 104 is a server device that provides the online support service 351. The online support service 351 is a server device that provides the client terminal 101 with a file containing information to extend the functionality of the client terminal 101.
[0030] Next, the hardware configuration of the system in this embodiment will be described using Figure 2.
[0031] Figure 2(a) is a block diagram showing the hardware configuration of client terminal 101.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] The network communication unit 215 is a device that communicates with the external network 105 and performs input and output of digital data with external servers, client terminals, etc. via the network 105.
[0036] 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.
[0037] Figure 2(b) is a block diagram showing the hardware configuration of the standard driver compatible printer 102. The standard driver compatible printer 102 includes a display unit 226, an operation unit 227, a storage unit 224, a control unit 221, a network communication unit 225, and a printing unit 228.
[0038] The display unit 226 is a device that displays information to the user in real time, such as a touch panel or LEDs provided on the standard driver-compatible printer 102.
[0039] 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 224 and control unit 221 are equivalent to those of the client terminal 101, so their explanation will be omitted.
[0040] The network communication unit 225 is a device that communicates with the external network 105, and its main roles are to receive print data and to send information about the status of the standard driver-compatible printer 102, such as errors, to an external server.
[0041] The printing unit 228 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 228.
[0042] In this embodiment, a single-function printer that only performs printing functions is described as an example of a standard driver-compatible printer 102, but a multi-function printer (all-in-one device) that also has scanner and fax functions may also be used.
[0043] Figure 2(c) is a hardware block diagram showing the details of the application management server 103. In this embodiment, the application management server 103 is described as being composed of one information processing device, but it may be composed of multiple information processing devices.
[0044] The application management server 103 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.
[0045] The control unit 251 consists of a CPU 252 and a memory 253. The CPU 252 controls the entire application management server 103. The memory 253 is used for processing executed by the CPU 252. The network communication unit 255 is an interface for the application management server 103 to communicate with the client terminal 101. The application management server 103 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.
[0046] Figure 2(d) is a hardware block diagram showing the details of the online support server 104. In this embodiment, the online support server 104 is described as being composed of one information processing device, but it may be composed of multiple information processing devices.
[0047] The online support server 104 consists of a display unit 246, an operation unit 247, a storage unit 244, a control unit 241, and a network communication unit 245. The display unit 246 and the operation unit 247 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 244 is a memory device such as an HDD or SSD. The storage unit 244 stores an extended setup information file, which is a file containing information for extending the functions provided by the client terminal 101.
[0048] The control unit 241 consists of a CPU 242 and a memory 243. The CPU 242 controls the entire online support server 104. The memory 243 is used for processing executed by the CPU 242. The network communication unit 245 is an interface for the online support server 104 to communicate with the client terminal 101. The online support server 104 receives requests to retrieve files stored in the storage unit 244 via the network communication unit 245 and sends the corresponding files to the client terminal 101.
[0049] Next, using Figure 3, an example of the user's operation procedure and the sequence between each software and print service in this embodiment will be explained. Here, we will show the procedure from when the standard driver-compatible printer 102 connects to the local network, connects to the OS 313 in the client terminal 101 via network 105, and then when the print extension application 312 is downloaded and installed.
[0050] First, the OS313 on client terminal 101 searches the local network 105 for printers that support printing using standard drivers (S3001). For example, in Windows, this search uses mDNS to query the entire local network to see if it supports standard drivers.
[0051] The standard driver-compatible printer 102 transmits the printer name and device identification information of the printer in response to the search by the OS 313 of the client terminal 101 (S3002). The device identification information may be, for example, a Hardware ID (HWID) that identifies the model or a Compatible ID (COID) that indicates a group of multiple models.
[0052] Based on the acquired printer information and the printer information detected by searching for network 105, OS313 displays a list of printers on the client terminal 101. Figure 4 shows an example of the printer list screen displayed on the client terminal 101 by OS313.
[0053] Next, the user selects the printer information of the printer they want to register on client terminal 101 from the displayed printers. This selection is made by pressing the control 401 to add a printer, which creates a queue for the desired printer in OS313.
[0054] OS313 queries the capabilities information of the selected standard driver-compatible printer 102 (S3003). OS313 determines which capabilities information (functions, settings) to query.
[0055] The standard driver-compatible printer 102 responds to the OS 313 with information about its capabilities (S3004). However, if the standard driver-compatible printer 102 does not have the response attribute stored for the attribute queried by the client terminal 101's OS 313, it will not respond to the OS 313.
[0056] Next, OS313 begins associating the local printer driver 311 with a queue based on the device identification information and printer name of the printer selected by the user. Then, OS313 generates a print queue for the local printer driver 311 with the basic device capability information specified by OS313 (S3005).
[0057] Device capability information refers to definition information necessary to generate the printer driver's print setting capability information, such as XML-based information like PrintDeviceCapabilities (PDC). Figure 6(a) shows an example of device capability information included with OS313. For example, under "Feature," which represents a function, "PageMediaSize," which represents paper size, only has two capabilities listed under "Option," which represents the options: "A4" and "LETTER." This information is linked to the print queue and is managed by OS313.
[0058] In S3005, in addition to generating a print queue, OS313 updates the device capability information that constitutes the local printer driver 311 using the acquired capability information. Figure 6(b) shows an example of device capability information updated using capability information acquired from the standard driver-compatible printer 102. For example, for "PageMediaSize," which represents the paper size, "Option" is added as a paper size that the standard driver-compatible printer 102 can print on, in addition to "A4" and "LETTER."
[0059] Note that at this stage, it is not necessary to add information for "DocumentBookletBinding" and "DocumentBookletReadingDirection".
[0060] This completes the process of associating the cloud printer driver 311 with the queue. By performing these steps, the client terminal 101 can send print data to the printer 102 using the print queue for the standard driver-compatible printer 102.
[0061] Next, OS313 begins the installation process of an extended setup information file that is associated with the printer and extends the local print driver.
[0062] First, OS313 performs an additional identification information processing on the device identification information. This is necessary when obtaining the extended setup information (Exinf) file 700 from the online support server 104, and it is sufficient if the string is different from the normal device identification information.
[0063] In this embodiment, in order to distinguish it from applications on other devices, the OS313 adds identification information ("PrinterApp_") to the device identification information to indicate that it is an application corresponding to a printer. Note that "PrinterApp_" is just an example, and other strings, numbers, or symbols may also be used. As a result of the above processing, for example, if the device identification information of the standard driver-compatible printer 102 was device001, the device identification information after the identification information addition processing will become PrinterApp_device001.
[0064] OS313 sends a search request to online support service 351 for an extended setup information file 700 containing the target device identification information with additional information (S3006). S3006 notifies online support service 351 of “PrinterApp_device001” with the added identification information.
[0065] The online support service 351 stores the extended setup information file shown in Figure 7. Figure 7 is an example of the extended setup information file 700. The extended setup information file 700 is a file created by the manufacturer (vendor) of the standard driver-compatible printer 102 and registered with the online support service 351.
[0066] In this embodiment, an extended setup information file 700 is provided for each printer model. However, in reality, a single extended setup information file 700 may contain device identification information with additional information for multiple models.
[0067] The extended setup information file 700 contains an application identifier used to identify the print settings extension application 312, which is used to configure the print data sent to the standard driver-compatible printer 102. In the extended setup information file shown in Figure 7, the item "PackageFamilyName" is the identification information for the print settings extension application 312. On the other hand, "PrinterHardwareID" is a string that adds identification information to the identification information of the standard driver-compatible printer 102.
[0068] Thus, the online support service 351 stores an extended setup information file containing a string that includes the identifier of the print extension application 312 and the identification information of the standard driver-compatible printer 102, with additional identification information added. The OS 313 adds the additional identification information to the device identification information to obtain the necessary extended setup information file 700 as needed, and retrieves the extended setup information file 700 from the online support service 351.
[0069] Upon receiving the search request, online support service 351 identifies a matching extended setup information file from the device identification information with additional identification information specified in the request.
[0070] If the search results indicate that online support service 351 contains an extended setup information file 700 with the target device identification information, it returns the extended setup information file 700 to OS313 (S3007). At this time, the contents of the extended setup information file are written to the OS313 registry, and the extended setup information file 700 is installed on OS313 (S3008).
[0071] Next, OS313 extracts the identification information of the print settings extension application from the installed extended setup information. The identification information of the print settings extension application is the identifier defined in "PackageFamilyName" in the extended setup information file 700. This is the process when the extended setup information file 700 corresponding to the standard driver compatible printer 102 is stored in the online support service 351.
[0072] Furthermore, the identification information for the print settings extension application described in the Exinf file corresponding to the inkjet printer and the identification information for the print settings extension application described in the Exinf file corresponding to the electrophotographic printer may be the same. In this case, the same print settings extension application will be installed when generating a print queue based on the inkjet printer information and when generating a print queue based on the electrophotographic printer information.
[0073] The search may fail to detect the extended setup information file 700 containing the target device identification information for the online support service 351. In this case, the OS 313 completes queue generation and aborts the installation process of the print settings extension application 312. The OS 313 also aborts the installation process if it fails to receive the extended setup information file 700 within a specified time from the search request of S3006, or if it receives an error notification from the online support service 351.
[0074] In this embodiment, it is assumed that an Exinf file 700 is registered with the online support service 351 for each printer model. However, it is also possible to prepare a single Exinf file that lists the identification information of multiple printers 102 that support standard drivers.
[0075] For example, an Exinf file 700 containing the identification information of both an inkjet printer and an electrophotographic printer is registered with the online support service 351. This allows the same print settings extension application to be installed regardless of whether a print queue is generated for an inkjet or electrophotographic printer.
[0076] This section describes the process when the extended setup information file 700 can be obtained in S3009 and later versions, and when the identification information for the print settings extension application can be extracted.
[0077] OS313 requests the application management service 331 to search for applications whose identification information matches that of the extracted print settings extension application 312 (S3009). The application management service 331 stores the identification information of the print settings extension application 312 running on the client terminal 101 in association with the application management service 331. The print settings extension application 312 and its identification information are registered with the application management service 331 by the vendor providing the standard driver compatible printer 102.
[0078] If the application management service 331 has a print settings extension application that matches the identification information of the requested print settings extension application, the application management service 331 returns the print settings extension application 312 to the OS 313 (S3010). Here, the returned print settings extension application 312 is an application that has been assigned the same ID as the identification information of the print settings extension application that was sent.
[0079] OS313 installs the acquired print settings extension application 312, associating it with the print queue generated by S3005 (S3011). OS313 saves the identification information of the print settings extension application 312 as print queue information in the registry. The print settings extension application 312 also configures OS313 to send event notifications when the print queue associated with the application is set on the print settings screen.
[0080] The installed print settings extension application 312 may be configured to start after the client terminal 101 is powered on and the OS 313 has started, and then run as a background task after startup.
[0081] If the application management service 331 does not have a print settings extension application that matches the identification information of the requested print settings extension application, the OS 313 aborts the application installation process (S3012). In this case, the generated print queue and the local printer driver 311 are installed together, and the print settings extension application 312 is not associated with the print queue and the process ends.
[0082] In the above explanation, a predetermined string was added to the device identification information of the standard driver-compatible printer 102 to search for the extended setup information file 700. If the printer driver installation file can be distinguished, the search may be performed without adding the predetermined string.
[0083] Next, using Figure 8, we will explain an example of the user procedure in this embodiment, as well as the sequence between each software, terminal, and printer.
[0084] Before entering the sequence, the document generation application 315 first requests the OS 313 to display the initial print settings screen in response to the user pressing the print settings button. The OS 313 then displays the print settings screen shown in Figure 11 as the initial print settings screen.
[0085] In this embodiment, OS313 displays the initial print settings screen, but it is not a problem if the document generation application 315 displays similar functionality. The initial print settings screen may display a UI1101 for selecting a print queue, various print settings UI1102, and a print preview 1103. OS313 accepts the user's selection of a printing device to which the print data will be sent via UI1101 (S801).
[0086] Next, OS313 queries the standard driver-compatible printer 102 for capability information from the queue corresponding to the standard driver-compatible printer 102 selected in S801 (S802). OS313 determines the capability information to query. The capability information is the same as that described in S3003 in Figure 3.
[0087] The query method involves using standard IPP protocols, such as Get-printer-Attributes, to query the standard driver-compatible printer 102. When using Get-printer-Attributes, the capability information defined by OS313 is queried in list format.
[0088] Then, the standard driver-compatible printer 102 returns its capability information to the OS313 according to the IPP (S803), based on the list of capability information sent via Get-printer-Attributes.
[0089] For example, suppose the media size attribute is specified using Get-printer-Attributes. If the standard driver-compatible printer 102 possesses the media size attribute, it will return the value associated with that attribute (A4, B5, Letter, etc.). If the standard driver-compatible printer 102 does not possess the attribute specified by Get-printer-Attributes, it will not return the associated value.
[0090] Furthermore, by specifying "all" or "none" as the value for Get-Printer-Attributes, you can also obtain a list of the capabilities that standard driver-compatible printer 102 supports as a standard feature.
[0091] OS313 updates the device capability information (S804) using capability information obtained from the standard driver-compatible printer 102. The device capability information update involves adding the capability information obtained in S803 (Figure 8) to the device capability information generated in S3005 (Figure 3).
[0092] Next, OS313 notifies the print extension application 312 of an event that allows it to edit device capability information (S805). Upon receiving this event, the print extension application 312 can use an API that allows it to edit the device capability information. If it is necessary to add capability information (functions, settings) that OS313 does not support, it is possible to obtain the capability information from the standard driver-compatible printer 102 using the print extension application 312.
[0093] When the print settings extension application 312 receives a device capability information editing event from the OS 313, it queries the capability information of the standard driver-compatible printer 102 (S806). S806 is an example of the acquisition process.
[0094] In this case, the print settings extension application 312 may query its own capability information, which is different from the capability information queried by the OS 313 and is held within the print settings extension application 312. An example of this unique capability information in this embodiment is "bookbinding printing". The print settings extension application 312 can obtain capability information related to bookbinding printing using Get-Printer-Attributes, similar to S802. In this case, "bookbinding printing" is specified as the capability information to query.
[0095] Figure 5 shows an example of a query and response regarding capability information.
[0096] Figure 5, item 5001, shows an example of Get-Printer-Attributes issued when a print settings extension application queries its own capability information in S806. Here, the print settings extension application specifies "smi-custom-finishings," which indicates bookbinding printing, as a parameter in Get-Printer-Attributes. This capability information is not included in the IPP specification and is defined here by the vendor developing the printing device in order to obtain information on their own finishings.
[0097] When the standard driver-compatible printer 102 receives a Get-Printer-Attributes query specifying smi-custom-finishings, it returns response data 5002 to the print settings extension application 312 (S807). The information BINDINGPRINTLEFTFACE and BINDINGPRINTRIGHTFACE indicates the opening direction for bookbinding and also indicates that the printer 102 supports bookbinding.
[0098] Furthermore, unless smi-custom-finishings is explicitly specified in Get-printer-Attributes, the standard driver-compatible printer 102 does not need to return a response that supports bookbinding printing. In the Get-Printer-Attributes response when the specified value is all or not specified, the standard driver-compatible printer 102 does not need to return capability information not defined in IPP, such as bookbinding printing, to the print extension application 312 or OS 313.
[0099] The print settings extension application 312 obtains manufacturer-specific capability information from the standard driver-compatible printer 102 and edits the device capability information via a configuration information object. A configuration information object is a set of data necessary for editing device capability information. Since the print settings extension application 312 cannot directly edit the device capability information held by OS313, it uses this configuration information object to modify the device capability information held by OS313.
[0100] The capability information such as "bookbinding and printing" acquired in S807 in Figure 8 is converted into device capability information and added to the configuration information object (S808).
[0101] Next, the print settings extension application 312 passes the edited configuration information object to the OS 313 (S809). When the OS 313 receives the configuration information object from the print settings extension application 312, it merges the device capability information it possesses with the device capability information added to the configuration information object from the print settings extension application 312 and updates it as new device capability information.
[0102] When OS313 generates device capability information, a trigger is activated that enables the print queue and launches the UI of the print settings extension application 312 (S810).
[0103] The print settings extension application 312 is launched from the OS 313 by user operation and displays a print settings screen as shown in Figure 10(a) (S811). This print settings screen is independent of the type of document generation application 315 used and can display various setting items. If the print settings extension application 312 is not tied to a standard driver, the print settings screen provided by the standard driver pre-installed in the OS 313 is displayed as shown in Figure 9.
[0104] On the standard driver's print screen, pressing "Advanced Settings" displays the standard driver print screen (advanced settings) A-D shown in Figure 9, which displays print settings that cannot be fully shown in the initial UI of the standard driver print settings screen. The standard driver print screen (advanced settings) A-D may be displayed sequentially by scrolling the screen, for example.
[0105] The print settings extension application 312 receives print settings information generated by OS 313 based on print settings capability information (also called PrintCapabilities (PC)) generated from device capability information, and displays it as print settings in the UI.
[0106] For example, the output paper size for setting item 1 in Figure 10(a) is displayed by the print extension application 312 based on the print setting information psk:PageMediaSize shown in Figure 6(b). Similarly, the A4 output paper size option is generated and displayed by the print setting extension application 312 based on the print setting information psk:IOSA4. In this way, the print extension application 312 displays the selectable items of each device's capabilities on the UI.
[0107] Custom-added print settings information is also displayed. For example, the control item 1002 for configuring booklet printing settings, shown in setting item 2 in Figure 10(a), is generated from ns0002:DocumentBookletBinding in Figure 6(b). ns0002 is a namespace defined by the manufacturer providing the standard driver-compatible printer 102 and indicates that it has been added to the configuration information object. This setting item is used to set whether booklet printing is On or Off.
[0108] Furthermore, the control item 1003 related to the opening direction of booklet printing, shown in setting item 2 of Figure 10(a), is generated from ns0002:DocumentBookletReadingDirection in Figure 6(b). The options for this setting item are left-opening and right-opening. Left-opening, indicated by psf2:default=“true” in Figure 6(b), is the default value (the state selected by default when the print settings screen is launched or when booklet printing On is selected).
[0109] All setting items are generated from capability information obtained from smi-custom-finishings. Note that S811 is an example of a display process.
[0110] The print settings extension app 312 provides a function that allows users to arbitrarily change print settings, and saves those settings if changed. For example, suppose a user changes the media size from A4 to Letter on the UI. In that case, the print settings information held by the print settings extension app 312 will change from A4 to Letter. If a user wants to select booklet printing, they can use booklet printing by changing the booklet printing setting to ON and selecting the opening direction for booklet printing.
[0111] Then, once the user has completed the print settings operation, the print settings extension application 312 retrieves the print settings information from the print settings screen section, reflecting the settings selected within the controls of the print settings screen, and passes this print settings information to the OS 313 (S812). The print settings information is also called PrintTicket (PT). This completes the processing on the print settings screen of the print settings extension application 312.
[0112] OS313 executes printing (S813) when instructed by the user via the document generation application 315.
[0113] When printing is initiated, OS313 generates intermediate data from the image data specified in the document generation application 315. Then, OS313 passes the generated intermediate data and the print settings information edited in the print settings screen to the print extension application 312 (S814). Intermediate data is data generated before conversion to print data such as PDL, for example, XPS. The print settings information edited in S812 is also included in this intermediate data.
[0114] The print extension application 312 receives intermediate data and print setting information from the OS 313, generates print data based on the intermediate data, and generates print capability information from the print setting information (S815). Print data refers to a PDL such as a PDF file. Print capability information refers to a print setting information rewritten as IPP attributes, for example.
[0115] Here, when the print extension application 312 receives print setting information with its own namespace, such as ns0002 added in Figure 6(b), from the OS, it converts it into its own print capability information and sends it to the standard driver-compatible printer 102. For example, consider the case where the print setting information on S812 states "Booklet printing = ON" and "Booklet printing opening direction = Left opening". In this case, the print extension application 312 generates print capability information with a value pointing to BINDINGPRINTLEFTFACE set in smi-custom-finishings.
[0116] In the case of bookbinding printing, the print extension application 312 associates two print setting information items, bookbinding printing and the opening direction of bookbinding printing, with one print capability information item, smi-custom-finishings.
[0117] After the print extension application 312 generates the print data, it passes the generated print data and print capability information to the print queue of OS313 (S816).
[0118] In S814-S816, the print extension application 312 handles everything from receiving intermediate data to generating print data. However, the print extension application 312 only performs the editing of intermediate data and the generation of print capability information based on print setting information; the rendering process can be left to the OS 313.
[0119] This section describes a system in which print data is generated by the local printer driver 311 without rendering using the print extension application 312. The OS 313 generates XPS data as intermediate data, edits the page layout, converts the XPS data to a predetermined format, and generates print data (S817). At this time, in order to convert the print setting information into print capability information, the print data converted to a predetermined format and the print setting information may be passed to the print extension application 312.
[0120] OS313 sends the print data and capability information received from the print extension application 312 to the standard driver-compatible printer 102 via the print queue (S818). By performing the above operations, the printer can be made to perform bookbinding printing. Thus, the process of generating print capability information for bookbinding printing in S815 and passing this print capability information to OS313 in S816, which is then output to the printer 102 in S818, is one example of an output process.
[0121] As described above, according to Embodiment 1, settings related to bookbinding printing that cannot be handled by the local printer driver 311 can be accepted via the print settings screen provided by the print extension application 312. Therefore, the user can use the bookbinding printing function with simpler operations than, for example, if the presets described in Patent Document 1 were to be used.
[0122] <Embodiment 2> Embodiment 1 describes an example in which the printer extension application 312 accepts settings for whether or not to perform bookbinding printing and the setting for the opening direction. Embodiment 2 shows an example in which other settings related to bookbinding printing are also accepted. Note that the part that performs the same processing as in Embodiment 1 will not be explained.
[0123] Figure 12 shows the process of switching whether the imposition for bookbinding is performed on the client side (print extension application 312) or on the device side (printer) depending on other print settings related to bookbinding. There are additional settings that can be configured when bookbinding is selected. Depending on these settings, it may be better to perform the imposition process for bookbinding on the print extension application 312 or on the printer.
[0124] The sequence from S1201 to S1210 in Figure 12 is the same as that from S801 to S810 in Example 1, so it is omitted.
[0125] Next, the print settings extension application 312 is launched from the OS 313 by user operation and displays a print settings screen like setting item 2 in Figure 10(a) (S1211).
[0126] Setting item 2 includes a control 1001a for configuring detailed settings for bookbinding and printing. By pressing control 1001a, the user can open the detailed settings screens 1001b and 1001c shown in Figure 10(b). The detailed settings screens 1001b and 1001c may be displayed sequentially by methods such as scrolling the screen.
[0127] Detailed settings screens 1001b and 1001c are for configuring settings related to bookbinding and printing. These settings include functions that are performed by the print extension application 312 and functions that are performed by the printer.
[0128] For example, the bookbinding method (partially printed) and binding margin included in the detailed settings screen 1001b are functions that are preferably implemented by the print extension application 312 editing intermediate data at the same time as the imposition processing for bookbinding is performed by the print extension application 312. Similarly, the function of specifying the cover shown in the detailed settings screen 1001c is also preferably implemented by the print extension application 312 editing intermediate data at the same time as the imposition processing for bookbinding is performed by the print extension application 312.
[0129] On the other hand, the creep correction function included in the detailed settings screen 1001b is a function that is achieved by the printer editing the PDL data at the same time as the printer performs the imposition process.
[0130] The bookbinding printing method (split printing) refers to a function that allows printing a document with many pages into multiple booklets. For example, in the detailed settings screen 1001b, the user can specify the number of pages per bundle.
[0131] The binding margin is a function that reserves space for binding pages during printing. By adding a margin inside the page, it prevents text and images from being hidden when the book is bound. For example, in the detailed settings screen 1001b, the user can decide how much margin to add.
[0132] The creep correction function corrects the misalignment between outer and inner pages that occurs during binding, ensuring that all pages are evenly aligned during printing. For example, in the detailed settings screen 1001b, you can choose whether the device automatically corrects the misalignment or if the user specifies the correction value.
[0133] The cover designation feature allows you to print the cover and the inner pages on different paper types. For example, in the detailed settings screen 1001c, the user can specify the paper feed tray or paper type for printing the cover and the inner pages.
[0134] The functions performed by the print extension application 312 and the functions performed by the printer cannot be selected simultaneously because if the processing overlaps, the printed output will not match the user's intentions. As a way to prevent simultaneous selection, for example, if the functions for specifying the binding method, binding margin, and cover are selected in the print extension application 312, the creep correction function will be grayed out and cannot be selected. Also, if the creep correction function is selected in the print extension application 312, the functions for specifying the binding method, binding margin, and cover will be grayed out and cannot be selected.
[0135] Here, the conflicting relationship is shown using grayed-out options as an example, but the configuration could also be set up to toggle the display / hide of control items. Alternatively, simultaneous selection of conflicting settings can be avoided by listing it as an "Invalid Combination" in the device capability information through the configuration information object.
[0136] An "Invalid Combination" is a combination of two print settings that cannot be selected simultaneously, as described in the format shown at the bottom of Figure 6(b). The combinations described here are indicated in the print setting information generated from the device capability information, which includes information indicating that they cannot be selected simultaneously. Figure 6(b) shows that borderless printing (BORDERLESS) and paper size A4 cannot be selected simultaneously.
[0137] OS313 reads the information about this "Invalid Combination" from the device capability information to prevent the two print settings listed in "Invalid Combination" from being selected.
[0138] Specifically, the printing settings information for the binding method, binding margin, cover specification function, and creep correction function will be listed as an Invalid Combination. This will allow OS313 to prevent the user from selecting both simultaneously when the UI is closed in S1212. For example, OS313 may change its settings to resolve the Invalid Combination or notify the user to change the settings.
[0139] When the user completes the print settings operation for the detailed settings of bookbinding, the print settings extension application 312 retrieves the print settings information processed within the print settings screen control and passes that print settings information to the OS 313 (S1212). Then, the processing on the print settings screen of the print settings extension application 312 is completed.
[0140] OS313 executes printing (S1213) when instructed by the user via the document generation application 315.
[0141] When printing is executed, OS313 generates intermediate data and passes the generated intermediate data and the print settings information edited in the print settings screen to the print extension application 312 (S1214). Similar to Example 1, the intermediate data is data generated before being converted into print data such as PDL. Also, similar to Example 1, the print settings information edited in the print settings screen is included in this intermediate data.
[0142] Similar to Example 1, the print extension application 312 receives intermediate data and print setting information from the OS 313 and generates print data based on the intermediate data and print capability information based on the print setting information. If the print setting information contains information regarding at least one of the following: the method of bookbinding (split booklet), the binding margin for bookbinding, and the function to specify the cover, the print extension application 312 uses the layout module within the print extension application 312 to perform imposition processing (S1215).
[0143] Thus, the process of deciding whether to perform layout processing using the print extension application 312 or the printer 102 is one example of a decision-making process.
[0144] The layout module can modify the layout of the XPS file passed from OS313. For example, it can perform operations such as imposition processing for bookbinding and printing as performed in this embodiment, reflecting the bookbinding method (partial booklet) and binding margin settings for bookbinding and printing, as well as processing the layout of Nin1 and inserting stamps into images (not shown).
[0145] Furthermore, with the S1215, imposition processing and other bookbinding printing settings are handled by the layout module in the print extension application 312, so the printer does not change the print setting information to print capability information to avoid duplicate processing.
[0146] Conversely, if the print settings information contains information about the creep correction function, the layout processing by the layout module is skipped, and the settings for bookbinding and the creep correction function in the print settings information are converted into print capability information (S1216).
[0147] If the print settings information does not include settings for the binding method (multiple volumes), binding margins, cover specification, or creep correction function, the print extension application 312 may be used to create the binding layout, or the printer may be sent the binding capability information.
[0148] Alternatively, as shown in the detailed settings screen 1001d in Figure 10(b), the user may be allowed to choose whether to have the print extension application 312 or the printer perform the bookbinding print. One of the options on the detailed settings screen 1001d is stated as being performed by the driver, but this is for the purpose of making it easy for the user to understand; in reality, it is performed by the print extension application 312.
[0149] It goes without saying that the availability of features such as specifying the binding method (multiple volumes), binding margin, cover, and creep correction may be limited depending on whether the processing is handled by the driver or the printer.
[0150] Subsequently, the print extension application 312 generates print data (S1217). If, as in Example 1, the print extension application does not render the data and the local printer driver 313 generates the print data, the OS 313 may generate XPS data, convert the XPS data to a predetermined format, and then generate the print data.
[0151] The print extension application 312 then passes the generated print data and capability information to the OS 313. (S1218)
[0152] This section describes a system where print data is generated by the local printer driver 313 without rendering using a print extension application. OS313 generates XPS data as intermediate data, edits the page layout, converts the XPS data to a predetermined format, and generates print data (S1219). At this time, in order to convert the print setting information into capability information, the print data converted to a predetermined format and the print setting information may be passed to the print extension application 312.
[0153] OS313 sends the print data and capability information received from the print extension application 312 to the standard driver-compatible printer 102 via the print queue. (S1220)
[0154] By performing the above operations, it becomes possible to execute bookbinding print, which switches whether the imposition process for bookbinding prints is performed on the client (print extension application 312) or on the device (printer) side, depending on other print settings related to bookbinding prints.
[0155] <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]
[0156] 101 Client terminals 102 Standard Driver Compatible Printers 311 Local printer driver 312 Print Extension App
Claims
1. An application program that supports a standard driver capable of sending print data to multiple printers from different manufacturers, and which is used in an information processing device, A display process that shows control items that allow setting values related to bookbinding and printing, When it is set to perform the bookbinding print using the control item, the output process involves outputting an instruction to perform the bookbinding print to the printer that will receive the print data, An application program characterized by causing the execution of [a certain action].
2. The application program according to claim 1, further characterized in that the information processing device is made to perform a decision step of determining whether to have the information processing device perform the layout processing for bookbinding and printing, or to have the printer that will receive the print data perform it, based on the setting value set using the control item.
3. The application program according to claim 2, characterized in that the setting value includes a first setting value related to creep correction.
4. The application program according to claim 3, characterized in that, if a setting value for creep correction is set, the decision step determines that the layout processing will be performed by the printer to which the print data will be sent.
5. The application program according to claim 2, characterized in that the setting value includes at least one of a second setting value related to booklet division, a third setting value related to binding margin, and a fourth setting value related to cover specification.
6. The application program according to claim 5, characterized in that, if at least one of the second setting value, the third setting value, or the fourth setting value is set, it is decided in the determination step to have the information processing device perform the layout processing.
7. The aforementioned setting values include a first setting value for creep correction, a second setting value for volume division, a third setting value for binding margin, and a fourth setting value for cover specification. The application program according to claim 2, characterized in that the first setting value cannot be set simultaneously with the second setting value, the third setting value, or the fourth setting value.
8. The application program according to claim 1, further characterized in that the information processing device is made to perform an acquisition step of obtaining capability information related to bookbinding and printing from a printer selected as the destination for sending print data.
9. A control method for an information processing device having a standard driver capable of sending print data to multiple different printers provided by multiple different manufacturers, and an application program that supports the standard driver, A display process that shows control items that allow setting values related to bookbinding and printing, When it is set to perform the bookbinding print using the control item, the output process involves outputting an instruction to perform the bookbinding print to the printer that will receive the print data, A control method characterized by causing the execution of a certain action.
10. The control method according to claim 9, further comprising a decision step of determining whether to have the information processing device perform the layout processing for bookbinding and printing, or to have the printer that will receive the print data perform it, based on the setting value set using the control item.
11. The control method according to claim 10, characterized in that the setting value includes a first setting value related to creep correction.
12. The control method according to claim 11, characterized in that, if a setting value for creep correction is set, the determination step determines that the layout processing will be performed by the printer to which the print data will be sent.
13. The control method according to claim 10, characterized in that the setting value includes at least one of a second setting value related to booklet division, a third setting value related to binding margin, and a fourth setting value related to cover specification.
14. The control method according to claim 13, characterized in that, if at least one of the second setting value, the third setting value, or the fourth setting value is set, it is decided in the determination step to have the information processing device perform the layout processing.
15. The aforementioned setting values include a first setting value for creep correction, a second setting value for volume division, a third setting value for binding margin, and a fourth setting value for cover specification. The control method according to claim 10, characterized in that the first setting value cannot be set simultaneously with the second setting value, the third setting value, or the fourth setting value.
16. The control method according to claim 9, further comprising an acquisition step of causing the information processing device to acquire capability information related to bookbinding and printing from a printer selected as the destination for sending print data.
17. An information processing device having a standard driver capable of sending print data to multiple different printers provided by multiple different manufacturers, and an application program that supports the standard driver, A display means for displaying control items that allow setting values related to bookbinding and printing, When it is set to perform the bookbinding print using the control item, an output means is provided to output an instruction to perform the bookbinding print to the printer to which the print data will be sent, An information processing device characterized by having the following features.