Information processing apparatus, control method, and storage medium

By designing an extended application that runs using a predetermined printing protocol and a sandbox environment, the problem that printer drivers in the prior art is difficult to support printers from different suppliers is solved, and the unified management and expansion functions of printers from multiple suppliers is realized. , improves the scalability and user experience of the printer.

CN119225666APending Publication Date: 2024-12-31CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411269858.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-06-29
Filing Date
2019-06-19
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The prior art is difficult to support printers from different suppliers using a single universal printer driver, especially due to differences in communication methods, page description languages ​​and job description languages, resulting in reduced scalability of the print driver and difficulty in uniform printing settings.

Method used

By designing an information processing device, including printer driver and extension applications that communicate with the printer using a predetermined printing protocol, obtain printing attribute information, generate print jobs that comply with the predetermined printing protocol, and run in a sandbox virtual environment, an extension application that is employed in a sandbox virtual environment. To implement printing settings, provide user interface and print job generation, and support printer extension functions of multiple vendors.

Benefits of technology

The ability to use a unified printer driver on multiple vendor printers is realized, improving the scalability and user experience of the printer, providing security and convenience, while supporting the expansion functions of each vendor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225666A_ABST
    Figure CN119225666A_ABST
Patent Text Reader

Abstract

An information processing apparatus, a control method, and a storage medium include a printer driver communicating with a printer using a predetermined print protocol to obtain first attribute information related to print from the printer. The print driver generates a print job conforming to a predetermined print protocol on the basis of data received from the application, and transmits the generated print job to the extension application (S606). The extension application obtains attribute information in a different form from the first attribute information (S611). The extension application displays a user interface (UI) for the print setting based on at least the second attribute information (S613). The extension application generates a print job to be transmitted to the printer based on the setting via the UI and the print job received from the printer driver.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with application number 201980043983.8 filed on June 19, 2019 and invention name “Information processing device, control method and storage medium”. Technical Field

[0002] The present invention relates to an information processing device, a control method and a storage medium communicating with a printer. Background Art

[0003] The configuration of sending print data to a printer using a printer driver is well known. An information processing device is equipped with an operating system (OS) as basic software. The printer driver is configured according to the print architecture defined by the OS and is called by the OS to operate. The vendor providing the printer provides a printer driver that complies with the OS specification. The OS and the printer driver cooperate to implement the function of printing using the output target printer.

[0004] In use of When previous versions were used as OS, the printer driver was formed by an architecture called "V3 printer driver".

[0005] In Windows 8.1 or later, an architecture known as the "V4 printer driver" appears. Because the V4 printer driver places great emphasis on security, the printer driver itself is less extensible than the V3 printer driver. To compensate for this decrease in extensibility, vendors that provide printers can provide dedicated applications to assist the functionality of the printer driver. These applications are called Universal Windows Platform device apps (UWP device apps). UWP device apps can enhance the user experience of printing through Store apps (UWPs). A V4 printer driver can be linked to a printer extension, which is a print setup application used to perform vendor-unique print settings.

[0006] A printer driver called a "universal printer driver" is known as a printer driver for controlling a plurality of types of printers having different functions (Patent Document 1). The printer driver can display an operation screen suitable for each printer by type or model.

[0007] Another conceivable method is to send the print data to the printer without using a printer driver. For example, As a default function of the OS, it has the function of sending print data to IPP compliant IPP Everyware is a set of standards that allow printing using a variety of printers, and is being planned and popularized by industry organizations.

[0008] Citations

[0009] Patent Literature

[0010] Patent Document 1: Japanese Patent Application Laid-Open No. 2013-187571

[0011] The universal printer driver disclosed in Patent Document 1 is usually provided by a specific supplier. This allows a single universal printer driver to support multiple types of printers with different functions sold by the same supplier. However, it is difficult to use a single universal printer driver to support printers from different suppliers. This is because different communication methods are used for print data communication, page description language (PDL) and job description language (JDL), and specific suppliers, which make it difficult to unify the print driver. Another reason is that the print setting items of each supplier are different, and even similar setting items have different interpretations, which makes it difficult to use a single universal printer driver to support them.

[0012] As described above, a method that can be thought of is to provide a common printer driver or print client using a mode that complies with the Internet Printing Protocol (IPP) represented by IPP Everyware. However, this has a problem in that the functions provided only by the vendor cannot be used together with a common printer driver that complies with IPP. Summary of the invention

[0013] The present invention is proposed in view of at least one of the above problems. An object of the present invention is to provide a mode for appropriately using extended capabilities provided by printers of multiple vendors and for printing using a printer driver or a print client that generates a print job that complies with a predetermined printing protocol. Another object is to achieve security and convenience by implementing the printer driver as a class driver that complies with a predetermined printing protocol and by implementing the extension by a vendor using an extension application that runs on a sandbox virtual environment. Still another object is to enable printing to reflect the extended capabilities of each vendor using the extension application.

[0014] The information processing device of the present invention for achieving at least one of the above-mentioned purposes is an information processing device including a printer driver that communicates with a printer using a predetermined printing protocol and an extended application related to the printer driver. The printer driver includes: a first acquisition unit configured to obtain first attribute information related to printing from the printer using a predetermined printing protocol; a generation unit configured to generate a print job that complies with the predetermined printing protocol based on data received from the application; and a sending unit configured to send the generated print job to the extended application. The extended application includes: a second acquisition unit configured to obtain the generated print job; a third acquisition unit configured to obtain second attribute information related to printing from the printer, the attribute information being in a different form from the first attribute information; a display control unit configured to display a user interface for print settings based on at least the second attribute information, and a generation unit configured to generate a print job to be sent to the printer based on the settings made via the user interface and the print job generated by the printer driver. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a diagram illustrating an example of a printing system.

[0016] Figure 2 is a diagram showing an example of the hardware configuration of the client computer 100 .

[0017] Figure 3 is a diagram showing an example of the software configuration of the client computer 100 .

[0018] Figure 4A is a schematic diagram showing an example of information on print settings.

[0019] Figure 4B is a diagram showing an example of print setting information.

[0020] Figure 5 is a schematic diagram illustrating an example of a processing procedure of the printing system.

[0021] Figure 6 : is a flowchart showing an example of control of the client computer 100 .

[0022] Figure 7 is a flowchart showing an example of control of the printer 200 .

[0023] Figure 8 is a diagram showing an example of a screen displayed on the display of the client computer 100 .

[0024] Fig. 9 is a diagram showing an example of a screen displayed on the display of the client computer 100 .

[0025] Fig.10 is a schematic diagram illustrating an example of a processing procedure of the printing system.

[0026] Fig.11 : is a flowchart showing an example of control of the client computer 100 .

[0027] Fig.12 : is a flowchart showing an example of control of the client computer 100 .

[0028] Fig.13 It is a schematic diagram showing a modification example.

[0029] Fig.14 is a diagram showing an example of an extended setting in a modification. DETAILED DESCRIPTION

[0030] Embodiments of the present invention will be described below with reference to the accompanying drawings. The following embodiments cannot limit the present invention. Not all combinations of features described in the embodiments are essential to the solutions of the present invention.

[0031] (First embodiment)

[0032] First refer to Figure 1 , the configuration of the printing system according to the present invention will be described. The printing system according to the present embodiment includes a client computer 100 and printers 200a to 200c. The client computer 100 and the printers 200a to 200c are connected to a network 300 so as to communicate with each other. The communication between the devices may be communication via a wireless network or communication via a wired network. The communication via a wireless network may be wireless communication via an access point compliant with IEEE802.11 or a wireless communication such as Wi-Fi. In the present embodiment, the above configuration is described as an example of a printing system. However, this is not intended to limit the present invention. One or more communication devices and the printing device only need to be communicably connected via a network.

[0033] In the present embodiment, the single-function printers 200a to 200c are described as examples of printers that receive print jobs and print images on sheets. However, this is not intended to limit the present invention. The printer may be a multifunction peripheral (MFP) having both a print function and a scan function.

[0034] In the present embodiment, for illustrative purposes, the printers 200a to 200c are manufactured by different vendors. The printers 200a to 200c can receive a print job conforming to the Internet Printing Protocol (IPP) from the client computer 100 or the like, and can print an image on a sheet based on the print job.

[0035] The printers 200a to 200c also have a function of receiving a print job in a format different from the IPP format and interpreting it. For example, the printer 200a can interpret a print job including a print job conforming to the laser beam printer (LBP) image processing system. In addition, the printer 200a can interpret the print job containing the data in accordance with the printer command language (PDL). The LIPS format is also called Super Fast Rendering. The printer 200b can interpret the printer command language. Formatted PDL data print jobs. However, printer 200b does not support LIPS (UFR) formatted print jobs. Printer 200c is an inkjet printer and can interpret print jobs that conform to the Epson standard code (ESC / P) of the printer. However, printer 200c does not support PCL formatted and LIPS formatted print jobs. Therefore, when the vendors as printer manufacturers are different, the types of PDL supported are also different. Depending on the type of PDL used, even the same printer has slight differences in supported functions. For illustrative purposes only, the types of PDL that can be interpreted by each printer are given. The PDL formats that can be interpreted by the printer may be PCL, LIPS, ESC / P, Fine Print Command Stream (RPCS), Post Script (PS), and Advanced Rendering Tool (ART). The format may include Sharp Printer Description Language 2 (SPDL2) format. The format may also include a format derived from the above-mentioned PDL. Each printer supports at least one of the PDL formats derived from the above-mentioned PDL formats.

[0036] Next, a client computer 100 as an example of an information processing device will be described. In the present embodiment, the client computer 100 is a personal computer (PC). However, this is for illustration purposes only. The client computer 100 may be a terminal such as a tablet terminal or a wearable computer in which a head mounted display and a computer are installed.

[0037] The client computer 100 can communicate with the printers 200a to 200c on the network 300. The client computer 100 can generate a print job based on the print target data and send the print job to each printer.

[0038] Will refer to Figure 2 The hardware configuration of the client computer 100 is described. Figure 2 is a block diagram showing an example of the hardware configuration of the client computer 100 .

[0039] A central processing unit (CPU) 101 is a processor that controls the overall operation of a control unit 120. The control unit 120 includes a read-only memory (ROM) 1021 and a random access memory (RAM) 1022 as memories, and a memory 105, which are connected via a system bus 107. The control unit 120 also includes interfaces (I / Fs) 103 and 104 for connecting input / output devices and a communication I / F 106 for communicating with external devices via a network.

[0040] The RAM 1022 is a volatile memory used as a temporary storage area in which various control programs are stored in a work area; the ROM 1021 and the storage 105 are to be expanded.

[0041] The ROM 1021 is a nonvolatile memory in which a computer boot program and the like are stored. Examples of the storage device 105 include a nonvolatile flash memory and a hard disk drive (HDD) having a larger capacity than the RAM 1022. The memory 105 stores programs of an operating system (OS) 1053 for controlling the entire computer 100 and various application programs 1051 running on the OS 1053. The memory 105 also stores a common printer driver 1054 that generates a print job conforming to a predetermined printing protocol (e.g., IPP), and programs of device application programs 1052a to 1052b that work together with the common printer driver 1054 (described in detail below).

[0042] Various application programs, such as an application program 1051 and device applications 1052 a to 1052 b , may be installed in the computer 100 via a compact disk (CD)-ROM, a universal serial bus (USB) memory, or a network 300 .

[0043] The CPU 101 executes an OS program and an application program expanded on the RAM 1022 to control the computer 100. Thus, hardware such as the CPU 101, the ROM 1021, the RAM 1022, and the memory 105 constitute a so-called computer.

[0044] Although the client computer 100 is such that a single CPU 101 executes the processing shown in a flowchart described later, the client computer 100 may have other configurations. For example, a plurality of processors may cooperatively execute the processing shown in a flowchart described later.

[0045] The input I / F 103 connects the keyboard 108 and the pointing device 109 to the control unit 120. The keyboard 108 and the pointing device 109 are used as receiving units for receiving instructions from the user. The receiving unit can detect the selection of a display item (e.g., a key) displayed on the screen. The output I / F 104 connects the monitor 110 that displays information to the control unit 120. The monitor 110 is used as a display for displaying information. If the client computer 100 is a tablet terminal, etc., information is displayed to the user and the receiving operation is performed via a touch panel display that is used as both a receiving unit and a display. In this case, the user can input the desired operator instruction to the client computer 100 by performing a touch operation using an object such as a finger.

[0046] The communication I / F 106 is an interface for communicating with an external device such as a printer on the network 300 or a server on the cloud.

[0047] [Software Configuration of Computer 100]

[0048] Figure 3 105 is a diagram showing an example of the software configuration of the client computer 100 in this embodiment. OS1053 is system software for controlling the entire computer 100. 10OS or higher OS version as an example.

[0049] The OS 1053 provides a print architecture 10531 for printing using a printer driver. The print architecture 10531 is a so-called V4 print architecture that converts spooled data in XML Paper Specification (XPS) format into print data (PDL) using a printer driver.

[0050] An example of a printer driver that can be installed in a computer is a driver called a universal printer driver. 17.04 has IPP support for transferring print data to IPP Everyware is a set of standards that allow printing using a variety of printers, and is being planned and popularized by industry organizations.

[0051] The above-mentioned universal printer drivers are usually provided by specific vendors. This allows a single universal printer driver to support multiple types of printers with different functions sold by the same vendor. However, it is difficult to use a single universal printer driver to support printers from different vendors. This is because different communication methods are used for print job communication, PDL and Job Description Languages ​​(JDLs), and specific vendors, which make it difficult to unify print drivers. Another reason is that the print setting items for each vendor are different, and even similar setting items have different interpretations, which makes it difficult to use a single universal printer driver to support them.

[0052] If a mode for performing printing without separately installing a V3 format or V4 format printer driver provided by a vendor is also provided in an environment such as Windows, user convenience will be improved.

[0053] In view of this, the present embodiment provides a common printer driver that uses a mode of a predetermined printing protocol that can be provided in a Windows environment. The following description uses an example of IPP, which is commonly used in the predetermined printing protocol.

[0054] Assume a case where only a common printer driver compliant with IPP is installed. In this case, a print job including print attributes compliant with IPP and based on IPP's PDL is generated, and the print job is sent to the printer. This has the following problem: functions that are not defined in IPP and are independently provided by vendors (e.g., a needleless binding function for binding printed pieces without using binding needles and a box storage function for storing print data in a memory of the printer) cannot be used.

[0055] Therefore, the present embodiment enables an extended application to use functions dedicated to each vendor called from a common printer driver compliant with IPP, thereby making it possible to provide extended functions of each vendor. A specific mode will be described below.

[0056] Back to Figure 3 A common printer driver 1054 supporting printers of multiple vendors is installed as a printer driver in the client computer 100. The common printer driver 1054 may be a class driver installed as a standard function of the OS 1053 or a universal printer driver installed in the computer 100 by the user alone.

[0057] The print architecture 10531 includes a GDI to XPS conversion module 307, a common printer driver 1054, an OS standard print UI 305, a print manager 318, and a device communication unit 319. A printer driver different from the common printer driver (for example, a printer driver applicable only to a model provided by a vendor) may also be installed.

[0058] [Printing process using common printer driver 1054]

[0059] First, the printing process using the common printer driver 1054 will be described. Examples of desktop applications 301 include "Win32 / 64 applications" and ".NET applications". UWP applications 302 are Universal Windows Platform (UWP) applications running on OS1053. UWP applications are applications distributed via the Windows Store and run in an execution environment that is different from the execution environment of desktop applications 301 and the printing architecture 10531. UWP applications run in independent sandboxes (virtual environments) and have limited access to system areas and available application programming interfaces (APIs). In other words, UWP applications have lower access rights to resources in the device than desktop applications and device drivers. For this reason, UWP applications have less impact on the system than desktop applications and drivers.

[0060] These desktop applications 301 and UWP applications 302 can collaborate with the printing architecture 10531 to print content (e.g., documents and images).

[0061] The desktop application 301 uses the Graphics Device Interface (GDI) for printing, which is a graphics component that generates the print image of the printer. When printing using GDI, the desktop application 301 sends the GDI drawing data to the GDI to XPS conversion module 307, which is a module of OS1053. Module 307 converts the GDI drawing data into an XPS spool file. The converted XPS spool file is temporarily stored in area 306. In contrast, there are two methods for printing via the UWP application 302, one is a method of creating an XPS file using the UWP application itself, and the other is an XPS file created using OS1053 according to the drawing commands in the UWP application. XPS files created by any method are transferred to area 306 for temporary storage.

[0062] Using an input unit such as a keyboard 108 or a pointing device 109 represented by a touch panel / mouse, the user executes a print process via a desktop application 301 or a UWP application 302 displayed on a monitor 110 of an output unit. Here, printing via the UWP application 302 is described as an example. Figure 8An example of a screen displayed when printing via a UWP application 302 is shown, which is an example of a setting screen (user interface) provided by OS1053, also referred to as a modern print dialog box. When a print instruction is given via the UWP application 302, the CPU 101 displays a print dialog box on the monitor 110. The user can select area 801 to select a printer to be used for printing, and can select print settings by selecting items in area 804. The user can give a print instruction using the print key 803. Here, an example of a user selecting a printer compatible with the common printer driver 1054 will be described. The additional settings key 802 is a key for detailed print settings. When it is detected that the key is selected, the OS activates the OS standard print UI 305 to display a print settings screen (user interface) compliant with IPP (not shown).

[0063] Upon detecting a user operation for changing print settings, the OS 1053 calls the standard print setting unit 308 of the common printer driver 1054. The standard print setting unit 308 refers to a printer definition file selected from a standard print function definition file group 309. The standard print setting unit 308 creates standard setting data (303 or 304) indicating current print settings and print capabilities (PrintCapabities) of the selected printer based on the referenced printer definition file.

[0064] For example, the standard print function definition file is a definition file indicating the capabilities of a printer, which is generated based on attribute information obtained from a printer when searching for an IPP printer. Therefore, the standard print function definition file group 309 stores different files for each printer.

[0065] Next, the generation of the definition file will be described. If the selected printer definition file is not stored in the memory, the common printer driver 1054 sends an inquiry about the capability information to the printer. The common printer driver 1054 inquires about the capability of the printer via the print manager 318 and the device communication unit 319. In addition to controlling the print job, the print manager 318 can also search for printers that support IPP and obtain printer capabilities (described later). Specifically, the printer function is obtained through the printer attribute request operation (get printer attribute operation) defined in RFC2911. First, the print manager 318 sends a request to obtain printer attributes to the printer 200. In response to the request, attribute information about the printer 200 is obtained. Examples of printer capability information obtained through the printer attribute request operation include standard print setting capability information, such as whether "double-sided" and "color printing" are available. The capabilities (attributes) obtained through the printer attribute request operation are support information about the attributes specified in the IPP. Therefore, vendor-specific function information (e.g., staple-free function and box printing function) cannot be obtained through the printer attribute request operation of the IPP. The obtained attribute information is sent to the standard print setting unit 308. The standard print setting unit 308 generates a definition file based on the attribute information obtained using IPP, and stores the definition file in the memory 105 .

[0066] Returning to the description of the print settings, the desktop application 301 indicates the current print settings using a binary DEVMODE 303 as standard setting data. The UWP application 302 uses a print ticket (PrintTicket) 304 described in XML, which is a markup language. The DEVMODE 303 or the print ticket 304 is standard setting data that holds the print settings to be reflected to the print job compliant with the IPP.

[0067] Figure 4A and Figure 4B A diagram for showing print capabilities and print tickets. Both are XML formatted files that conform to the rules specified in the print architecture. Figure 4A The file 400 shown in FIG. 4 is an example of print capability. The file 400 lists available print setting items and combinations of setting values ​​that can be used for print setting item settings. An application and a user interface for print setting provided by the OS can constitute a print setting screen based on the file 400. Although some settings are shown due to space limitations, this does not mean a limitation of the present invention. The file 400 may also include print setting items based on attribute information that complies with the IPP and setting items for post-processing.

[0068] on the contrary, Figure 4BThe file 401 shown in FIG. 4 is an example of the print ticket 304 in which the current print settings are listed. The user interface for print settings provided by the application 1051 and the OS 1053 can change the print settings by rewriting the print ticket 304.

[0069] The OS standard print UI 305 provides a screen (user interface) for print setting based on the information described in the print capability for the selected printer.

[0070] When it is detected that the user issues a print instruction, the OS or application generates an XPS spool file. The generated XPS spool file is sent to the standard print processing unit 312. The standard print processing unit 312 renders the received XPS spool file to convert it into PDL data that complies with IPP. Examples of PDL data that complies with IPP include portable document format (PDF) and PWG-raster format data.

[0071] Furthermore, the standard print processing unit 312 generates printing attribute information compliant with the IPP based on the settings specified by the print ticket 304 included in the XPS spool file.

[0072] The PDL data and IPP-compliant printing attribute information are managed by the print manager 318 that manages the schedule of the print processing. The print manager 318 creates an IPP-compliant print job based on the PDL data and the IPP-compliant printing attribute information, and registers the created print job in a queue (waiting line). When the printer 200 is ready to print, the IPP-compliant print job is sent in the order registered in the queue via the device communication unit 319. Converting the print data from the application into IPP-compliant PDL data in this way is the main role of the common printer driver 1054.

[0073] The above processing can only cope with capabilities specified as IPP specifications, but cannot cope with various functions provided by printers 200a to 200c. Therefore, in this embodiment, the device application 1052 as an extended application obtains detailed capability information using another communication method to process extended print settings other than standard print settings.

[0074] Device applications 1052a to 1052b are applications different from the common printer driver 1054 and run on the UWP platform. These applications are applications for making the functions of the printer 200 flexibly available as needed based on printing using a universal printer driver based on IPP. These applications run in a sandboxed UWP execution environment. This reduces the impact on the entire system even if the application is suspended or fails.

[0075] Here, an example is shown in which the device application 1052a is installed as a device application for the printer 200a, and an example is shown in which the device application 1052b is installed as a device application for the printer 200b. However, the device application for the printer 200c is not installed.

[0076] Therefore, if the user selects the printer 200c as the output destination of the common printer driver, the processing of the extended print setting is skipped and the processing compliant with the IPP is performed. A given number of users do not need to use the extended application for the extended print setting. The common printer driver 1054 stores the setting about whether to activate the extended print setting in the setting storage unit 320 of each printer. The setting can be changed by the user operation.

[0077] The standard print processing unit 312 determines whether to activate the device application based on the installation situation of the extension application and the setting stored in the setting storage unit 320 .

[0078] The device application 1052 includes a print start application unit 10521, an extended print setting unit 10522, a print job generation unit 10525, and a device application communication unit 10524. The print start application unit 10521 is a module called for printing and manages the extended print setting unit 10522, the device application communication unit 10524, and the print job generation unit 10525. The device application 1052 is linked to the printer. The device application 1052 can provide a function of displaying a preview immediately after printing, a function of displaying a user interface that prompts to change print settings, etc. Although the present embodiment assumes that a screen provided by the device application is called after PDL conversion by the standard print processing unit 312, this is not intended to limit the present invention. The extended print setting unit 10522 has a function of displaying an extended user interface that allows more detailed print settings than print settings that comply with IPP. The device application communication unit 10524 has a function for each module of the device application 1052 to communicate with the printer 200. The device application communication unit 10524 uses a specific communication method or a specific control method to obtain information about the printer 200. Examples of specific communication methods include the Web Services for Devices (WSD) protocol and the Simple Network Management Protocol (SNMP). The specific communication method may be a communication method using a vendor-specific protocol. The printer information may also be obtained using control commands defined in a job control language or a printer control language. For example, information may be requested from a printer using commands defined in a printer job language (PJL), PostScript, or a Common Peripheral Control Architecture (CPCA). Another protocol, the Network Printing Alliance Protocol (NPAP), may also be used to obtain information from a printer.

[0079] The print job generation unit 10525 has a function of reflecting PDL conversion processing and extended print settings in a print job.

[0080] For example, the print job generation unit 10525 of the device application 1052a has a function of converting the PDL data included in the IPP-compatible print job into the LIPS format (UFR format). The print job generation unit 10525 of the device application 1052b has a function of converting the PDL data included in the IPP-compatible print job into the PCL format. The PDL format converted by the device application 1052 is given for illustrative purposes only and is not intended to limit the present invention. The PDL format will be converted into PCL, RPCS, PS, ART or SPDL2 format. The PDL data conversion process is not essential. For example, when the printers 200a to 200c support PDF direct printing, the conversion process can be skipped.

[0081] Next, we will refer to Figure 5 Overview of data processing for printing. Figure 5 It is a schematic diagram showing the process of printing by a user.

[0082] First, the application 1051 obtains standard setting data set in a print ticket format or a DEVMODE format using the standard print setting unit 308. The standard print setting unit 308 obtains a definition file for the selected printer from the definition file group 309, and generates standard setting data indicating current print settings based on the definition file. The standard setting data is appropriately changed via a screen (user interface) for changing print settings displayed by the application 1051 or the OS. Upon receiving a print start instruction, the application sends the standard settings and the XPS spool file obtained by the standard print setting unit 308 to the standard print processing unit 312.

[0083] The standard print processing unit 312 converts the received XPS spool file into a PDL compliant with IPP. The standard print processing unit 312 generates IPP compliant print attributes based on the standard setting data indicating the current print settings. Then, the ordinary printer 150 generates a print job based on the converted PDL and the IPP-based attribute information, and passes the print job to the device application 1052. If it is determined not to use the device application, then the IPP-compatible print job is directly sent to the printer.

[0084] Next, the device application 1052 generates an extended setting screen (user interface) containing setting items that are not defined in the IPP based on the capability information indicating extended setting obtained from the printer 200 and displays the screen on the monitor 110 .

[0085] The device application 1052a of the printer 200a will be described by way of example.

[0086] Fig. 9 An example of a print setting screen displayed by the device application 1052a on the monitor 110 is shown. Reference numeral 901 represents an example of a standard print setting. Reference numeral 902 represents an example of an extended print setting based on the device capability information. The settings "Box Printing", "Secure Printing" and "Needleless Binding" shown in 902 are examples of print settings that operate in a vendor-specific specification. This allows the user to make print settings based on specifications not defined in the IPP via the extended setting screen. The OK key 903 is a key for starting printing that reflects the print settings.

[0087] When it is detected that the OK key 903 is selected, the device application 1052a generates an extended setting based on the setting made via the extended setting screen, the extended setting being to assign the job attribute to the print job. Next, the device application 1052a sends the print job containing the PDL and the job attribute to the printer 200a. In this case, the job attribute contained in the print job can be expressed using a Common Peripheral Control Architecture (CPCA) command, and the PDL data can be expressed in a LIPS format (UFR) format.

[0088] Finally, the printer 200 receives an IPP-compatible print job or a vendor-specific print job, and prints an image on a sheet based on the print job.

[0089] Next, we will refer to Figure 6 to Figure 7 The flowchart describes the specific control.

[0090] [Control of Client Computer 100]

[0091] First, the operation of the client computer 100 will be described. Figure 6 1 is a flowchart showing the control of the client computer 100. The CPU 101 reads a program for implementing the control module stored in the ROM 1021 or the memory 105 into the RAM 1022 and executes the program to implement the control module. Figure 6 Operations (steps) shown in the flowchart. The processing shown in the flowchart is implemented by the application 1051 module, OS 1053 and device application 1052 and software components in cooperation. Some processes such as data transmission and input and output of information are implemented in cooperation with each I / F. The process is described using software components and applications as main words to clearly explain the program, which serves as the main body of the implementation process.

[0092] Figure 6Illustrated is a process performed when a printer supporting the common printer driver 1054 is designated as a printer to be used and an instruction for printing is received from the user.

[0093] In step S601, the application 1051 detects that the user has pressed the print key 803 in the general print dialog box. In step S602, the application 1051 generates drawing data and passes the drawing data to the OS 1053.

[0094] In step S603 , the OS 1053 generates an XPS spool file. In the case of printing via the desktop application 301 , the OS generates an XPS spool file using the GDI to XPS conversion module 307 .

[0095] In step S604, the print architecture 10531 and the common printer driver 1054 cooperate to generate a print job. The standard print processing unit 312 converts the XPS spool file into a PDL compliant with IPP. The standard print processing unit 312 generates print attributes compliant with IPP based on the standard settings indicating the print settings to be set for the job. The print manager 318 generates a print job based on the PDL and the print attributes compliant with IPP.

[0096] Next, in step S605, OS1053 determines whether to use a device application. Specifically, OS1053 determines whether there is a device application that supports the printer selected as the output target (hereinafter referred to as the selected printer). If there is no device application for the selected printer, the process enters S616. On the contrary, there is a device application for the selected printer, and OS1053 further refers to the extended application setting storage unit 320 to determine whether to start the device application for the selected printer. Specifically, OS1053 refers to the settings of each printer stored in the extended application setting storage unit 320 based on the ID of the selected printer, etc. If the setting based on the ID reference indicates that the device application is not started, the process enters S616. On the contrary, if the setting based on the ID reference indicates that the device application is started, the process enters S606.

[0097] In S616, the OS 1053 sends the IPP-compatible print job to the selected printer. After the sending is completed, a series of processes ends.

[0098] Instead, in step S606, the OS 1053 activates the device application 1052 for the selected printer and passes the IPP-compatible print job to the device application 1052. At that time, information for uniquely identifying the selected printer and information for communicating with the selected printer (eg, IP address) are also passed.

[0099] In step S607, the print start application unit 10521 of the device application 1052 receives the print job and the information about the selected printer transferred from the OS 1053. In step S608, the print start application unit 10521 of the device application 1052 analyzes the print job.

[0100] In step S609, the print start application unit 10521 of the device application 1052 determines whether capability information about the selected printer is stored (whether extended capability has been acquired). If capability information about the selected printer is stored, the process proceeds to S613, and if capability information about the selected printer is not stored, the process proceeds to S610.

[0101] In step S610, the device application communication unit 10524 inquires for capability information from the selected printer 200. The device application communication unit 10524 of the device application 1052 requests capability information from the selected printer 200 using the specific communication method and specific control described above. In step S611, the device application communication unit 10524 receives device capability information in response to the request sent in S610. The received capability information and information associated with the identifier of the selected printer are stored in a common storage area accessible from the device application 1052. This processing allows the processing for obtaining device capability information to be omitted in the next and subsequent processing. The device function information stored here contains setting items that are more detailed than the attribute information (function information) that can be obtained through the printer attribute request operation (get printer attribute operation) of the IPP.

[0102] Next, in step S613, the extended print setting unit 10522 of the device application 1052 displays the following information based on the print job analysis result and the device capability information: Fig. 9 The extended print settings UI shown.

[0103] In step S614, the extended print setting unit 10522 of the device application 1052 receives an instruction to change the print setting based on the user operation. Fig. 9 As shown, print settings 902 not specified in the IPP can be set on the extended print setting screen (UI).

[0104] In step S615, the print job generation unit 10525 of the device application 1052 generates a print job converted into a command that can be received by the selected printer based on the extended print settings. For example, if the selected printer is printer 200a and the device application is 1052a, the print job generation unit 10525 generates a print job whose job attributes are defined by CPCA, and the PDL generated in the print job is converted into LIPS (UFR). If the selected printer is printer 200b and the device application is 1052b, the job attributes of the print job are defined by JPL, and the PDL converted into PCL is generated in the print job. In S617, the device application communication unit 10524 sends the print job generated in S615 to the selected printer. The device application communication unit 10524 is directly connected to the printer 200 and performs job control using the WSD protocol or the vendor-specific protocol to perform printing.

[0105] Although the present embodiment shows an example in which the device application communication unit 10524 of the device application 1052 directly sends a print job to the printer 200, this is not intended to limit the present invention. For example, a print job may be sent via the print manager 318 and the device communication unit 319 provided by the OS. In this case, no conversion of the PDL is performed, and only the print attributes are rewritten to include the settings of the vendor extension. In other words, the print job generation unit 10525 does not convert the PDL received from the OS but generates a print job including string information indicating the extended print settings and binary data. The converted print job is input to the print manager 318 again and sent to the printer 200.

[0106] [Control of Printer 200]

[0107] Next, control of the printer 200 will be described. Figure 7 2 is a flowchart showing the control of the printer 200. The operations (steps) shown in the flowchart are implemented by the processor of the printer executing a program for implementing the control module in the memory. Figure 7 Flowchart of the process.

[0108] In step S701, the processor of the printer 200 determines whether a request to obtain capability information has been received from an external device. If a request to obtain capability information has been received from an external device, the process proceeds to S702, otherwise, the process proceeds to S703. In step S702, the processor of the printer 200 sends information indicating the capability of the device in response to the request. Here, if the acquisition request is a request to obtain printer attributes of the IPP, attribute information indicating the capability that can be used in the IPP is sent by return. On the contrary, if the acquisition request is from Figure 6If the acquisition request of the device application described in S610 is sent in reply, device capability information indicating capabilities is sent in more detail than attribute information indicating capabilities available in the IPP.

[0109] Next, in step S704, the processor of the printer 200 determines whether a print job has been received from an external device. If a print job has been received from an external device, the process proceeds to S705, otherwise, the process proceeds to S703.

[0110] In step S703, the processor of the printer 200 determines whether a shutdown instruction has been received. If a shutdown instruction has been received, the processing sequence ends. On the contrary, if a shutdown instruction has not been given, the processing returns to S701, and the processor waits for a request or print job sent from an external device.

[0111] As described above, in the present embodiment, even if a printer driver or print client that generates a print job that complies with a predetermined printing protocol is used in printing, the extended capabilities provided by printers of multiple vendors can be appropriately used. The printer driver can be implemented as a class driver that complies with a predetermined printing protocol, and the extensions of various vendors can be implemented through extended applications running in a sandbox environment. This makes it possible to achieve security and convenience. In addition, the extended application allows printing using vendor-specific resources (e.g., vendor-specific PDL or JDL). If the extended application is not provided or if the user does not want to use the extended application for print settings, there is no need to activate the extended application. This allows both users who like simple printing and users who need detailed print settings to be supported.

[0112] [Second Embodiment]

[0113] The first embodiment shows an example in which PDL is generated by the common printer driver 1054 and then print settings are extended using the device application 1052. The second embodiment provides a mode in which print settings are performed using a vendor-specific print setting screen also before a print instruction is given.

[0114] Since the hardware configuration and software configuration of the second embodiment are the same as those of the first embodiment, description thereof will be omitted.

[0115] First, refer to Fig.10 The data processing when printing is executed in the second embodiment is outlined. Fig.10 is a schematic diagram showing the flow of data when a user performs printing.

[0116] As in the first embodiment, the application 1051 obtains standard setting data using the standard print setting unit 308 .

[0117] When the “additional settings” key 802 for advanced printing is pressed in a print dialog box called from the application 1051 or the like, the print architecture 10531 of the OS activates a device application.

[0118] The device application 1052 activated by the OS generates extended settings based on the capability information obtained from the selected printer. The device application 1052 uses the standard setting data (print ticket) passed from the standard print setting unit 308 and the extended settings obtained from the capability information obtained from the printer 200 to display the selected printer. Fig. 9 The print setting screen (user interface) shown. The print setting screen can display instructions indicating the output form based on the printing conditions. Instructions are appropriately created each time the user changes the print settings, and the user can be informed of how the output will look. In addition, favorite print settings and the like can be registered via the print setting screen. Favorite print settings are stored in the common data area of ​​the device application 1052. The user can select a display item for calling the favorite print settings from a list (not shown) to reflect the settings in the print settings.

[0119] When it is detected that the user has changed the print settings and selected the OK key, the device application 1052 stores the information about the extended settings in the public data area of ​​the device application 1052, and passes the standard settings to the standard print setting unit 308. The standard print setting unit 308 does not know that the printer 200 can provide information about the extended settings. Therefore, even if the information about the extended settings is given, the standard print setting unit 308 determines that the setting is an unknown setting, resulting in erroneous control. For this reason, the device application 1052 temporarily stores the extended settings in the public data area. This allows the extended print setting function to be provided without causing the OS 1053 to control the extended settings by reading the extended settings stored in the public data area through the device application 1052, which is activated in different processes in printing.

[0120] Will refer to Figure 11 to Figure 12 Describe the specific controls. Figure 11 to Figure 12 1 is a flowchart showing the control of the client computer 100. The CPU 101 reads a program for realizing the control module stored in the ROM 1021 or the memory 105 into the RAM 1022 and executes the program to realize the control module. Fig.11 The operations (steps) shown in the flowchart are executed in response to a user operation indicating a printing intention via a user interface provided by the application 1051. Fig.11 Flowchart of the process.

[0121] In step S1101, the application 1051 receives a key selection indicating a printing intention. In step S1102, the application 1051 displays the following Figure 8In step S1103, the application 1051 receives a key selection for advanced printing. An example of a key for advanced printing is the "additional settings" key 802. Upon receiving a press of this key, the application 1051 sends information specifying a printer driver and a printer and a request for an advanced print screen to the OS 1053.

[0122] In step S1104, OS1053 determines whether to use the device application for the previous print setting based on the received information of the designated printer driver and the selected printer. If there is no device application supporting the selected printer, the process proceeds to S1105. On the contrary, if there is a device application for the selected printer, OS1053 determines whether to activate the device application based on the extended application setting storage unit 320. Since this determination is the same as the determination in S605, its description will be omitted. If it is determined to activate the device application, the process proceeds to S1108, otherwise, the process proceeds to S1105.

[0123] In step S1105, the OS 1053 displays a standard print setting screen of the OS based on the print capability and the print ticket. The setting screen enables print settings based on the properties obtained using the IPP. If the desktop application gives an instruction for advanced print settings, the current print settings are interpreted by converting the print settings into a print ticket using an API that converts DEVMODE and print ticket to each other.

[0124] In step S1106, the OS 1053 receives an instruction to change the print settings based on the user operation. In step S1107, the OS 1053 updates the standard setting data (DEVMODE or print ticket) in S1105. After the update is completed, the process proceeds to S1117.

[0125] Conversely, in step S1108, the OS 1053 activates the device application for the selected printer and passes the print setting data (standard setting data) to be set for the print job to the device application. If the standard setting data is described in DEVMODE, the OS 1053 sends the data converted into a print ticket.

[0126] In step S1109, the activated device application receives the print setting information described in the print ticket. In S1110 to S1112, an extended setting acquisition process similar to S609 to S611 in the first embodiment is performed.

[0127] In step S1113, the device application displays the extended print setting UI based on the received print setting information and device capabilities. In step S1114, the device application receives an instruction to change the print setting based on the user operation. In step S1115, the device application updates the print ticket as the print setting information. Next, in S1116, the print ticket containing the extended settings updated in S1115 is temporarily stored in a public area accessible from the device application. After completing the processing of S1116, the processing enters S1117. The device application sends the standard setting data without the extended settings as the print attribute information to be sent back to the OS.

[0128] In step S1117, the application 1051 displays the general print dialog again based on the OS standard function or the standard setting data updated by the device application 1052. In step S1118, the application 1051 receives the print button selection operation in the general print dialog. When the selection operation is received, the processing sequence of the print setting ends. Next, Fig.12 Print processing in .

[0129] Fig.12 is to replace the first embodiment Figure 6 The flowchart executed by the flowchart. Figure 6 The processing shown is different in that the processing of S1301 is executed instead of the processing of S613.

[0130] Since S601 to S611 are the same as those of the first embodiment, their description will be omitted. The processing of the device application activated in S606 and the processing of the device application activated in S1108 are different processing. Therefore, the print ticket containing the extended settings is sent via the common storage area accessible by the device application.

[0131] In S1301, the device application 1052 displays an extended print setting UI based on the attributes of the received IPP-compatible print job and the attributes of the print ticket containing the extended settings stored in the storage area accessible to the device application 1052. The extended print setting UI displayed here can display a display item for calling up the favorite settings stored in the common data area of ​​the device application 1052. This enables the user to use the pre-registered favorite settings also on the print setting screen displayed after the print instruction is given. After the display is completed, the process enters S614. The subsequent processing is the same as that of the first embodiment.

[0132] This embodiment provides an effect of being able to perform pre-settings before starting printing.

[0133] [Modifications]

[0134] Although the second embodiment shows an example in which the extended settings are stored in the common data area, the method for transmitting the extended settings to the device application is not limited to the above method. For example, when an area in which a vendor can extend the standard settings that conform to the IPP (hereinafter referred to as a "vendor extension area") is defined, the area can be used to perform processing similar to the second embodiment. Fig.13 A schematic diagram describes the process.

[0135] First, the application 1051 obtains standard setting data, which is information compliant with the IPP, using the standard print setting unit 308. Upon receiving an instruction for advanced printing via the print dialog box, the OS 1053 activates the device application 1052. The device application 1052 displays the advanced printing information using the standard setting data (print ticket) transmitted from the standard print setting unit 308 and the extended settings obtained from the capability information obtained from the printer 200. Fig. 9 The extended settings UI shown. When the user presses Fig. 9 When the OK button is clicked, the device application 1052 writes the vendor extension information to the print ticket. Fig.14 The character string indicating the extended settings available for the printer 200 is written as in 1401 in the printer driver 1053, and the character string is transmitted to the OS 1053. For the vendor extension area, the vendor extension information is written based on the specifications specified in the IPP. Therefore, this data is also properly processed by the standard printer driver 1054 that complies with the IPP. The standard print processing unit 312 writes the vendor extension information written in the print ticket directly into the attributes of the vendor extension area of ​​the print job indicating that it is IPP-compatible. This allows the extended setting information written in the vendor extension area to be sent to the device application 1052 running in the printing, thereby allowing the extended setting to be provided using the information to change the function.

[0136] In another modified example, the vendor extension area and the like are not used. For example, the standard print processing unit 312 and the print manager 318 generate an IPP-compatible print job containing only attributes that conform to IPP from the print ticket. At the same time, when the device application is activated, in addition to the IPP-compatible print job, the print job also contains attributes such as Fig.14 The print ticket of the extended settings shown is delivered to the device application. In this case, the device application cancels the print settings compliant with the IPP and displays the extended UI based on the received print ticket and the independently obtained device function information.

[0137] In the modification of the second embodiment, when the extended print setting process is received before starting printing using the device application 1052, the setting process (S1113 and S1301) via the extended print setting UI after a print instruction is given can be skipped.

[0138] In one aspect of the present invention, even when printing is performed using a printer driver or print client that supports printers from multiple vendors, the extended functions of each vendor can be appropriately used. In another aspect of the present invention, the driver is implemented as a class driver that complies with a predetermined printing protocol, and the extensions of each vendor are implemented through an extended application that runs in a sandbox environment. This provides security and convenience. In another aspect of the present invention, an extended application for a printer driver that generates a print job that complies with a predetermined printing protocol is provided, so that printing that reflects the print settings of each vendor can be performed via the application.

[0139] The present invention can also be implemented in the following manner: a program that implements one or more functions of the above-mentioned embodiments is provided to a system or device via a network or storage medium, and one or more processor devices of a computer of the device or system read and execute the program. The present invention can also be implemented by a circuit (e.g., ASIC) that implements one or more functions.

[0140] The present invention is not limited to the above-described embodiments, and various changes and modifications may be made without departing from the spirit and scope of the present invention. The appended claims disclose the scope of the present invention.

[0141] This application claims the benefit of Japanese Patent Application No. 2018-125177, filed on Jun. 29, 2018, which is hereby incorporated by reference herein in its entirety.

Claims

1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including a print setting application configured to be executed by one or more processors of an information processing device storing printing software configured to generate print data printable by image processing devices of multiple manufacturers and enabling the information processing device to send the print data to the image processing device, the one or more programs including instructions that, when executed by the one or more processors, cause the information processing device to perform a control method, the control method comprising: obtaining second capability information from the image processing device, the second capability information including capability information not included in the first capability information, the first capability information being obtained from at least one of the image processing devices by the printing software without the print setting application; and A user instruction to select a print setting value corresponding to the obtained second capability information is received.

2. The non-transitory computer-readable storage medium of claim 1, wherein: The printing software is provided through the operating system of the information processing device.

3. The non-transitory computer-readable storage medium of claim 1, wherein: The printing software is a common printer driver.

4. The non-transitory computer-readable storage medium of claim 1, wherein: A print setting value corresponding to the first capability information can be set on a print setting screen provided by the print software, and A print setting value corresponding to the second capability information cannot be set on the print setting screen.

5. The non-transitory computer-readable storage medium of claim 1, wherein: The first capability information is obtained by the printing software using communication compliant with a network printing protocol. 6 . The non-transitory computer-readable storage medium according to claim 1 , wherein the one or more programs include instructions for causing the information processing apparatus to display a print setting screen on which a print setting value corresponding to the second capability information can be set.

7. The non-transitory computer-readable storage medium of claim 1, wherein: The first capability information is defined by a predetermined protocol, and The second capability information includes capability information not defined by the predetermined protocol.

8. The non-transitory computer-readable storage medium of claim 7, wherein: The predetermined protocol is a network printing protocol.

9. The non-transitory computer-readable storage medium of claim 1, wherein: The printing software has a function of generating intermediate data from drawing data output from an application program.

10. The non-transitory computer-readable storage medium of claim 9, wherein: The printing software has a function of generating the printing data from the intermediate data.

11. The non-transitory computer-readable storage medium of claim 10, wherein: The print data may be PDF data, ie, portable document format data, or PWG-raster format data.

12. The non-transitory computer-readable storage medium of claim 9, wherein: The intermediate data is XPS data, namely XML paper specification data.

13. The non-transitory computer-readable storage medium of claim 1, wherein: The second capability information includes capability information corresponding to a needleless binding function for binding printed materials without using a needle or a secure printing function.

14. A control method for an information processing device, the information processing device generating print data printable by image processing devices of multiple manufacturers and transmitting the print data to the image processing device, the control method comprising: obtaining second capability information from the image processing device, the second capability information including capability information not included in the first capability information, the first capability information being obtained from at least one of the image processing devices through the printing software without a print setting application; and A user instruction to select a print setting value corresponding to the obtained second capability information is received.

15. The control method according to claim 14, wherein: The printing software is provided through the operating system of the information processing device.

16. The control method according to claim 14, wherein: The printing software is a common printer driver.

17. The control method according to claim 14, wherein: A print setting value corresponding to the first capability information can be set on a print setting screen provided by the print software, and A print setting value corresponding to the second capability information cannot be set on the print setting screen.

18. The control method according to claim 14, wherein: The first capability information is obtained by the printing software using communication compliant with a network printing protocol.

19. The control method according to claim 14, further comprising: An instruction to cause the information processing apparatus to display a print setting screen on which a print setting value corresponding to the second capability information can be set.

20. The control method according to claim 14, wherein: The first capability information is defined by a predetermined protocol, and The second capability information includes capability information not defined by the predetermined protocol.

21. The control method according to claim 20, wherein: The predetermined protocol is a network printing protocol.

22. The control method according to claim 14, wherein: The printing software has a function of generating intermediate data from drawing data output from an application program.

23. The control method according to claim 22, wherein: The printing software has a function of generating the printing data from the intermediate data.

24. The control method according to claim 23, wherein: The print data may be PDF data, ie, portable document format data, or PWG-raster format data.

25. The control method according to claim 22, wherein: The intermediate data is XPS data, namely XML paper specification data.

26. The control method according to claim 14, wherein: The second capability information includes capability information corresponding to a needleless binding function for binding printed materials without using a needle or a secure printing function.

27. An information processing apparatus for generating print data printable by image processing apparatuses of a plurality of manufacturers and transmitting the print data to the image processing apparatuses, the information processing apparatus comprising: At least one memory and at least one processor are used to: an obtaining unit configured to obtain second capability information from the image processing apparatus, the second capability information including capability information not included in the first capability information, the first capability information being obtained from at least one of the image processing apparatuses by the printing software without a print setting application; and A receiving unit is configured to receive a user instruction to select a print setting value corresponding to the obtained second capability information.

Citation Information

Patent Citations

  • Recording system, information processing device, recording device, and communication method

    JP2013187571A

  • Fluorescent display tube and method of manufacturing fluorescent display tube

    JP2018125177A