Information processing device, control method, and program

A universal printer driver with vendor-specific extensions in a sandboxed environment addresses the challenge of supporting diverse printing devices, enabling secure and convenient use of extended functions across multiple vendors.

JP7823264B2Active Publication Date: 2026-03-03CANON KK
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-07-01
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing universal printer drivers struggle to support printing devices from different vendors due to varying communication methods and print setting interpretations, limiting the use of vendor-specific functions and functionalities.

Method used

Implementing a universal printer driver as a class driver conforming to a specified printing protocol, with vendor-specific extensions managed by an extension application running in a sandboxed environment, allowing for the use of extended functions across multiple vendors.

Benefits of technology

Enables the appropriate use of vendor-specific extended functions while ensuring security and convenience, accommodating both simple and detailed print settings, and supporting diverse printing devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007823264000001
    Figure 0007823264000001
  • Figure 0007823264000002
    Figure 0007823264000002
  • Figure 0007823264000003
    Figure 0007823264000003
Patent Text Reader

Abstract

To allow extended functions for each vendor to be appropriately used even when printing is performed by using a printer driver compatible with printing devices of a plurality of vendors.SOLUTION: A printer driver uses a predetermined printing protocol to communicate with a printing device, and acquires first attribute information related to printing from the printing device. The printer driver generates a print job conforming to the predetermined printing protocol based on data received from an application, and transmits the generated print job to an extended application (S606). The extended application acquires attribute information in a format different from the first attribute information (S611). The printer driver displays a UI related to a print setting based at least on second attribute information (S613). The extended application generates a print job to be transmitted to the printing device based on a setting made via the UI and the print job received from the driver.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] A commonly known configuration is to use a printer driver to send print data to a printing device. An operating system (OS), which is the basic software, is installed on an information processing device, and the printer driver is configured according to the print architecture defined by the OS and runs when called by the OS. Vendors that provide printing devices provide printer drivers that conform to the OS specifications. The OS and printer driver work together to realize the function of printing using the destination printing device.

[0003] Incidentally, when using a version of the OS that is earlier than Microsoft® Windows® 8, the printer driver is configured with an architecture called a V3 printer driver.

[0004] Furthermore, an architecture called the V4 printer driver has been introduced since Windows 8.1. Because V4 printer drivers place emphasis on security, the scalability of the printer driver itself is lower than that of V3 printer drivers. To compensate for this lower scalability, vendors that provide printing devices can provide dedicated applications to support the functions of the printer driver. These applications are called UWP Device Apps (Universal Windows Platform Device Apps). UWP Device Apps can improve the user experience when printing from a store application (UWP). In addition, V4 printer drivers can be linked to PrinterExtension, a print settings application that allows vendors to set their own print settings.

[0005] Conventionally, a printer driver called a universal printer driver is known as a printer driver for controlling multiple types of printing devices with different functions (Patent Document 1). This printer driver can display an operation screen suitable for each printing device for each type or model.

[0006] Furthermore, efforts are being made to enable print data to be sent to printing devices without using a printer driver. For example, Ubuntu (registered trademark) 17.04 includes a default OS function that allows print data to be sent to printing devices that support IPP Everyware (registered trademark). IPP Everyware is a set of standards that enable printing using a variety of printing devices, and industry organizations are formulating and promoting the standards. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-187571 Summary of the Invention [Problem to be solved by the invention]

[0008] Universal printer drivers such as those disclosed in Patent Document 1 are generally provided by each vendor. Therefore, a single universal printer driver can support multiple types of printing devices with different functions sold by the same vendor. However, it has been difficult to support printing devices from different vendors with a single universal printer driver. This is due to the fact that each vendor uses a different communication method, such as a PDL (page description language) or a JDL (job description language), to exchange print data, making it difficult to unify them. Furthermore, print setting items vary from vendor to vendor, and similar setting items may be interpreted differently, making it difficult to support all printing devices with a single universal printer driver.

[0009] As mentioned above, it is possible to provide a common printer driver or print client that uses an IPP-compliant system, such as IPP Wveryware. However, a common printer driver that complies with IPP has the problem that it is not possible to use functions provided independently by the vendor.

[0010] The present invention has been made in consideration of at least one of the above-mentioned problems. One of the objects of the present invention is to provide a mechanism that allows appropriate use of extended functions provided by printing devices from multiple vendors, even when printing is performed using a printer driver or print client that generates print jobs conforming to a specified printing protocol. Another object of the present invention is to achieve both security and convenience by implementing the printer driver as a class driver conforming to a specified printing protocol and implementing vendor-specific extensions using an extension application that runs in a sandboxed virtual environment. Another object of the present invention is to enable printing that reflects vendor-specific extended functions using the extension application. [Means for solving the problem]

[0011] In order to achieve at least one of the above objects, the program of the present invention is an application program that cooperates with an operating system of an information processing device, the application program having a class driver incorporated as a function of the operating system, the application program including: an acquisition step of acquiring data to be printed; and an acceptance step of accepting print settings on a print setting screen provided by the application program, A print job based on the print settings and the data to be printed received in the receiving step is processed in accordance with the Internet Printing Protocol. To a device external to the information processing device The operating system performs the processing for sending The method is characterized by executing the steps of [Effects of the Invention]

[0012] One aspect of the present invention is to enable appropriate use of vendor-specific extended functions even when printing is performed using printer drivers or print clients compatible with printing devices from multiple vendors. Another aspect of the present invention is to realize the driver as a class driver conforming to a predetermined printing protocol, and vendor-specific extensions are realized by an extension application that runs in a sandboxed environment, thereby achieving both security and convenience. Another aspect of the present invention is to provide an extension application for a printer driver that generates print jobs conforming to a predetermined printing protocol, thereby enabling printing that reflects vendor-specific print settings via the application. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 illustrates an example of a printing system. [Figure 2] FIG. 2 illustrates an example of a hardware configuration of a client computer 100. [Figure 3] FIG. 2 illustrates an example of the software configuration of a client computer 100. [Figure 4] FIG. 10 is a diagram illustrating an example of information related to print settings. [Figure 5] FIG. 2 is a schematic diagram illustrating an example of a processing procedure in a printing system. [Figure 6] 10 is a flowchart illustrating an example of control of the client computer 100. [Figure 7] 10 is a flowchart illustrating an example of control of the printer 200. [Figure 8] FIG. 2 is a diagram showing an example of a screen displayed on a display unit of the client computer 100. [Figure 9] FIG. 2 is a diagram showing an example of a screen displayed on a display unit of the client computer 100. [Figure 10] FIG. 2 is a schematic diagram illustrating an example of a processing procedure in a printing system. [Figure 11] 10 is a flowchart illustrating an example of control of the client computer 100. [Figure 12] 10 is a flowchart illustrating an example of control of the client computer 100. [Figure 13] FIG. 10 is a schematic diagram for explaining a modified example. [Figure 14] FIG. 10 is a diagram illustrating an example of an extension setting in a modified example. DETAILED DESCRIPTION OF THE INVENTION

[0014] The following describes embodiments of the present invention with reference to the drawings. Note that the following embodiments do not limit the scope of the invention as claimed, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0015] First Embodiment First, the configuration of a printing system according to the present invention will be described using FIG. 1. The printing system according to this embodiment includes a client computer 100 and printers 200a-c. The client computer 100 and printers 200a-c are connected to a network 300 so that they can communicate with each other. Note that communication between devices may be via a wireless network or via a wired network. In the case of communication via a wireless network, wireless communication may be via an access point conforming to IEEE802.11, or direct wireless communication such as Wi-Fi Direct (registered trademark). In this embodiment, the above configuration will be described as an example of a printing system, but the present invention is not limited to this. It is sufficient that one or more communication devices and printers are connected so that they can communicate with each other via a network.

[0016] In this embodiment, the single-function printers 200a to 200c are described as an example of a printing device that receives a print job and prints an image on a sheet, but the printing device is not limited to this and may be a device such as an MFP (Multi Function Peripheral) that has a printing function and a scanning function.

[0017] In this embodiment, for the sake of explanation, it is assumed that the printers 200a to 200c are manufactured by different vendors. The printers 200a to 200c can receive print jobs conforming to the Internet Printing Protocol (IPP) from the client computer 100 or the like, and print images on sheets based on the print jobs.

[0018] Printers 200a-c also have the ability to receive and interpret print jobs in formats other than IPP. For example, printer 200a can interpret print jobs containing PDL (Page Description Language) data conforming to the LIPS (LBP Image Processing System, registered trademark) format. Furthermore, printer 200a can interpret print jobs containing PDL data conforming to the PCL (Printer Command Language, registered trademark) format. The LIPS format is also known as the UFR (Ultra Fast Rendering, registered trademark) format. Printer 200b can interpret print jobs containing PDL data conforming to the PCL (Printer Command Language, registered trademark) format. However, it does not support print jobs in the LIPS (UFR) format. Printer 200c is an inkjet printer and can interpret print jobs conforming to the ESC / P (Epson Standard Code for Printer) format. However, it does not support print jobs in the PCL or LIPS formats. Thus, printers from different vendors will naturally support different PDLs. Furthermore, even for the same printer, there may be slight differences in the functions supported depending on the type of PDL used. Note that the types of PDL that each printer can interpret are just examples. PDL formats that a printer can interpret may be formats such as PCL, LIPS, ESC / P, RPCS (Refined Printing Command Stream), PS (Post Script), ART (Advanced Rendering Tools), etc., or formats such as SPDL2 (Sharp Printer Description Language 2). Formats derived from the above PDLs may also be used. Each printer is assumed to support at least one of the above PDL formats or PDL formats derived from the above PDL formats.

[0019] Next, a description will be given of a client computer 100, which is an example of an information processing device. In this embodiment, the client computer 100 is a PC (Personal Computer), but is not limited to this. The client computer 100 may be a tablet terminal, a wearable computer incorporating a head-mounted display and a computer, or other terminal.

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

[0021] The hardware configuration of the client computer 100 will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of the hardware configuration of the client computer 100.

[0022] The CPU (Central Processing Unit) 101 is a processor that controls the overall operation of the control unit 120. The control unit 120 is configured with a memory, ROM (Read Only Memory) 1021, a RAM (Random Access Memory) 1022, and a storage 105, and each unit is connected via a system bus 107. The control unit 120 also includes interfaces (I / F) 103 and 104 for connecting input / output devices, and a communication I / F 106 for communicating with an external device via a network.

[0023] The RAM 1022 is a volatile memory, and is used as a work area and a temporary storage area for developing various control programs stored in the ROM 1021 and storage 105 .

[0024] The ROM 1021 is a nonvolatile memory that stores a computer boot program, etc. The storage 105 is a nonvolatile flash memory or HDD (Hard Disk Drive) that has a larger capacity than the RAM 1022. The storage 105 stores an OS (Operating System) 1053 for controlling the entire computer 100, and programs for various applications 1051 that run on the OS 1053. The storage 105 also stores a universal printer driver 1054 that generates print jobs that comply with a predetermined printing protocol such as IPP, and programs for device applications 1052a-b that work in conjunction with the universal printer driver 1054 (details will be described later).

[0025] The application 1051 and various applications such as the device applications 1052a and 1052b can be installed on the computer 100 via a CD-ROM, a USB memory, or the network 300.

[0026] The CPU 101 executes the OS program and each application program loaded on the RAM 1022, and controls the computer 100. In this way, the hardware such as the CPU 101, ROM 1021, RAM 1022, and storage 105 constitutes a so-called computer.

[0027] In the client computer 100, one CPU 101 executes each process shown in the flowcharts described below, but other configurations are also possible. For example, multiple processors may cooperate to execute each process shown in the flowcharts described below.

[0028] The input I / F 103 connects the keyboard 108 and pointing device 109 to the control unit 120. The keyboard 108 and pointing device 109 function as a reception unit that receives user instructions. The reception unit can detect selection of display items such as keys displayed on the screen. The output I / F 104 connects the control unit 120 to a monitor 110 that displays information. The monitor 110 functions as a display unit that displays information. Note that if the client computer 100 is a tablet terminal or the like, information is displayed to the user and operations are received via a touch panel display that serves as both a reception unit and a display unit. In this case, the user can input desired operation instructions to the client computer 100 by performing touch operations using an object such as a finger.

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

[0030] <Software configuration of computer 100> 3 is a diagram showing an example of the software configuration of the client computer 100 in this embodiment. The OS 1053 is system software that controls the entire computer 100. Here, as an example, it is assumed that Windows (registered trademark) 10 or later OS is installed.

[0031] 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 uses XPS format data as spool data and converts the spool data into print data (PDL) using a printer driver.

[0032] Incidentally, there is a printer driver known as a universal printer driver that can be installed on a computer. Also, operating systems such as Ubuntu (registered trademark) 17.04 include a default function that sends print data to printing devices that support IPP Everyware (registered trademark). IPP Everyware is a set of standards that enable printing using a variety of printing devices, and industry organizations are formulating and promoting the standards.

[0033] The universal printer driver mentioned above is generally provided by each vendor. Therefore, it has traditionally been possible to use a single universal printer driver to support multiple types of printing devices with different functions sold by the same vendor. However, it is difficult to support printing devices from different vendors with a single universal printer driver. This is because each vendor uses a different communication method, such as PDL or JDL (job description language), to exchange print jobs, making it difficult to unify them. Furthermore, print setting items vary from vendor to vendor, and similar setting items may be interpreted differently, making it difficult to support all printing devices with a single universal printer driver.

[0034] Here, if it were possible to provide a mechanism that allows printing to be performed in environments such as Windows without having to separately install a V3 or V4 format printer driver provided by the vendor, it is expected that convenience for users would be improved.

[0035] In view of this, in this embodiment, a universal printer driver using a predetermined printing protocol is realized in a Windows environment. In the following, an example will be described in which the predetermined printing protocol is the commonly used IPP.

[0036] Let's consider the case where a common printer driver that complies with IPP is simply implemented. In this case, a print job containing IPP-compliant print attributes and an IPP-compliant PDL is generated and sent to the printer. In this case, there is a problem in that vendor-specific functions not defined in IPP (such as stapleless binding, which binds printed materials without using staples, or box storage, which stores print data in the printing device's storage) cannot be used.

[0037] Therefore, in this embodiment, an extension application for using specific functions for each vendor can be called from a common printer driver that complies with IPP, and the extension functions for each vendor can be provided. The specific mechanism will be described below.

[0038] 3, a universal printer driver 1054 that supports printers from multiple vendors is installed as a printer driver in the client computer 100. The universal printer driver 1054 may be a class driver incorporated as a standard function of the OS 1053, or may be a universal printer driver that is separately installed in the computer 100 by the user.

[0039] The print architecture 10531 is composed of a GDI to XPS conversion module 307, a common printer driver 1054, an OS standard print UI unit 305, a print manager 318, and a device communication unit 319. It is also possible to install a printer driver different from the common printer driver (for example, a printer driver specific to a model provided by a vendor).

[0040] <Printing process using the common printer driver 1054> First, a printing process using the universal printer driver 1054 will be described. The desktop application 301 is a "Win32 / 64 application" or a ".NET application." The UWP application 302 is a Universal Windows Platform (UWP) application that runs on the OS 1053. A UWP application is an application distributed through the Windows Store and runs in an execution environment different from that of the desktop application 301 and the print architecture 10531. A UWP application runs in an individual sandbox (in a virtual environment), and access to the system area and available APIs are restricted. In other words, compared to desktop applications and device drivers, UWP applications have lower access rights to resources within the device. Therefore, they are less likely to affect the system than desktop applications, driver programs, etc.

[0041] These desktop applications 301 and UWP applications 302 can cooperate with the print architecture 10531 to print content (for example, documents, images, etc.).

[0042] The desktop application 301 performs printing using GDI (Graphics Device Interface), which is a graphics component that generates print images for a printer. When printing using GDI, the desktop application 301 sends GDI drawing data to a GDI to XPS conversion module 307, which is a module of the OS 1053. The module 307 converts the GDI drawing data into an XPS spool file. The converted XPS spool file is temporarily stored in area 306. On the other hand, when printing from the UWP application 302, there are two methods: the UWP application itself generates an XPS file, or the OS 1053 generates an XPS file in response to a drawing command from the UWP application. The XPS file generated by either method is transferred to area 306 and temporarily stored.

[0043] A user uses input devices such as a keyboard 108 or a pointing device 109, typically a touch panel / mouse, to execute print processing from a desktop application 301 or a UWP application 302 displayed on a monitor 110 of an output device. Here, printing from the UWP application 302 will be described as an example. FIG. 8 shows an example of a screen displayed when printing from the UWP application 302. This screen is an example of a settings screen (user interface) called a modern print dialog, provided by the OS 1053. When a print instruction is issued via the UWP application 302, the CPU 101 displays a print dialog on the monitor 110. The user can select a printer to use for printing by selecting an area 801, or change print settings by selecting items in an area 804. The user can also issue a print instruction using a print key 803. Here, a case will be described in which the user has selected a printer compatible with the universal printer driver 1054. The other settings key 802 is used to configure detailed print settings. When it is detected that the key has been selected, the OS starts the OS standard print UI unit 305 and displays a print setting screen (user interface) conforming to IPP (not shown).

[0044] When a user operation to change the print settings is detected, the OS 1053 calls the standard print setting unit 308 of the universal printer driver 1054. The standard print setting unit 308 references a definition file corresponding to the selected printer from a standard print function definition file group 309. Based on the referenced definition file, the standard print setting unit 308 also creates standard setting data (303 and 304) indicating the current print settings and PrintCapabilities indicating the printing capabilities of the selected printer.

[0045] The standard print function definition file is a definition file that indicates the capabilities of a printer and is generated based on attribute information acquired from the printer when searching for an IPP printer, etc. Therefore, the standard print function definition file group 309 stores a different file for each printer.

[0046] Next, the generation of a definition file will be described. If a definition file corresponding to the selected printer is not stored in storage, the universal printer driver 1054 queries the printer for its capabilities. The universal printer driver 1054 queries the printer for its capabilities via the print manager 318 and device communication unit 319. In addition to the print job control function described below, the print manager 318 can search for IPP-compatible printers and acquire printer capabilities. Specifically, printer capabilities are acquired using a printer attribute request operation (Get-Printer-Attributes Operations) defined in RFC2911. First, the print manager 318 sends a Get-Printer-Attributes Request to the printer 200. Attribute information about the printer 200 is obtained in response to the request. The printer capability information obtained by the printer attribute request operation includes, for example, capability information for standard print settings, such as whether "double-sided" or "color printing" is possible. Here, the capabilities (attributes) that can be acquired by the printer attribute request operation are support information related to attributes defined in IPP. Therefore, vendor-specific function information (such as stapleless binding or box printing) cannot be acquired by an IPP printer attribute request operation. The acquired attribute information is transferred to the standard print setting unit 308. The standard print setting unit 308 generates a definition file based on the attribute information acquired using IPP and stores it in the storage 105.

[0047] Returning to the explanation of print settings, the desktop application 301 uses a binary DEVMODE 303 as standard setting data indicating the current print settings. The UWP application 302 uses a PrintTicket 304 written in XML, a markup language. This DEVMODE 303 or PrintTicket 304 is standard setting data that holds print settings to be reflected in an IPP-compliant print job.

[0048] 4A and 4B are diagrams illustrating PrintCapabilies and a PrintTicket. Both are XML files that conform to the rules established by the print architecture, and the file 400 shown in FIG. 4A is an example of PrintCapabilies. File 400 lists available print setting items and combinations of setting values ​​that can be set for those print setting items. A user interface for print settings provided by an application or OS can configure a print setting screen based on file 400. Note that, due to space limitations, only a portion of the settings are shown here, but this is not limiting. Other print setting items and post-processing setting items based on IPP-compliant attribute information may also be included.

[0049] 4B is an example of a PrintTicket 304, which lists the current print settings. The user interface for print settings provided by the application 1051 or OS 1053 can change the print settings by rewriting the PrintTicket 304.

[0050] The OS standard print UI unit 305 also provides a screen (user interface) for print settings based on the information described in the PrintCapabilities corresponding to the selected printer.

[0051] When a print instruction from the user is detected, the OS or application generates an XPS spool file. The generated XPS spool file is passed to the standard print processing unit 312. The standard print processing unit 312 renders the received XPS spool file and converts it into PDL data that conforms to IPP. PDL data that conforms to IPP is, for example, data in PDF (Portable Document Format) or PWG-Raster format.

[0052] Furthermore, the standard print processing unit 312 generates print attribute information conforming to IPP based on the settings specified in the PrintTicket 304 included in the XPS spool file.

[0053] The PDL data and IPP-compliant print attribute information are managed by a print manager 318, which manages the schedule of print processing. The print manager 318 generates IPP-compliant print jobs based on the PDL data and IPP-compliant print attribute information, and registers the generated print jobs in a queue. When the printer 200 is ready to print, it transmits the IPP-compliant print jobs via a device communication unit 319 in the order they were registered in the queue. In this way, the main role of the universal printer driver 1054 is to convert print data from applications into IPP-compliant PDL data.

[0054] The above process can only handle capabilities defined in the IPP specifications and cannot handle the various functions provided by the printers 200a to 200c. Therefore, in this embodiment, the device application 1052, which is an extended application, uses a different communication method and acquires detailed capability information, making it possible to handle extended print settings other than standard print settings.

[0055] The device applications 1052a-b are separate applications from the universal printer driver 1054, and run on the UWP platform. These applications are based on printing using an IPP-based universal printer driver, and are intended to enable more flexible use of the functions of the printer 200 as needed. These applications run in a sandboxed UWP execution environment. Therefore, even if the application hangs up or an error occurs, the impact on the entire system can be reduced.

[0056] Here, a case is illustrated in which a device application 1052a is installed as a device application corresponding to printer 200a, and a device application 1052b is installed as a device application corresponding to printer 200b, while a device application for printer 200c is not installed.

[0057] Therefore, when a user selects printer 200c as the output destination for the universal printer driver, the extended print setting process is skipped and printing is performed in accordance with IPP. There are also a certain number of users who do not need extended print settings using an extended application. In light of this, the universal printer driver 1054 stores, for each printer, a setting in the setting storage unit 320 as to whether or not to activate the extended print settings. This setting can be changed by user operation.

[0058] The standard print processing unit 312 determines whether to start the device application based on the installation status of the extension application and the settings stored in the setting storage unit 320 .

[0059] The device application 1052 is composed of a print-time startup application unit 10521, an extended print setting unit 10522, a print job generation unit 10525, and a device application communication unit 10524. The print-time startup application unit 10521 is a module that is called when 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 functions such as displaying a preview immediately after printing and displaying a user interface that prompts the user to change print settings. In this embodiment, it is assumed that a screen provided by the device application is called after PDL conversion is performed in the standard print processing unit 312, but this is not limited to this. The extended print setting unit 10522 has a function to display an extended user interface that allows more detailed print settings to be made compared to print settings that comply with IPP. The device application communication unit 10524 has a function that enables each module of the device application 1052 to communicate with the printer 200. The device application communication unit 10524 acquires information about the printer 200 using a specific communication method or a specific control method. Examples of the specific communication method include the Web Services for Devices (WSD) protocol and the Simple Network Management Protocol (SNMP). Alternatively, the communication method may be a vendor-specific protocol. Furthermore, the device application communication unit 10524 can acquire printer information using control commands defined in a job control language or a printer control language. For example, information may be requested from the printer using commands defined in Printer Job Language (PJL), PostScript, or Common Peripheral Controlling Architecture (CPCA). Furthermore, information can also be acquired from the printer using the Network Printing Alliance Protocol (NPAP).

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

[0061] For example, the print job generation unit 10525 of the device application 1052a has a function to convert PDL data included in an IPP-compliant print job into LIPS format (UFR format). The print job generation unit 10525 of the device application 1052b has a function to convert PDL data included in an IPP-compliant print job into PCL format. The PDL format converted by the device application 1052 is an example and is not limited to this. Conversion to PCL, RPCS, PS, ART, SPDL2, and other formats is also possible. The PDL data conversion process is not necessarily required. For example, if the printers 200a-c support PDF direct printing, the conversion process can be skipped.

[0062] Next, an overview of data processing when printing is performed will be explained using Fig. 5. Fig. 5 is a schematic diagram illustrating the flow of data when a user performs printing.

[0063] First, the application 1051 acquires standard setting data set in PrintTicket format or DEVMODE format using the standard print setting unit 308. The standard print setting unit 308 acquires a definition file corresponding to the selected printer from the definition file group 309 and generates standard setting data indicating the current print settings based on the definition file. The standard setting data is changed as appropriate via the application 1051 or a screen (user interface) for changing print settings displayed by the OS. When the application receives a print start instruction, it passes the standard settings acquired by the standard print setting unit 308 and the XPS spool file to the standard print processing unit 312.

[0064] The standard print processing unit 312 converts the received XPS spool file into a PDL that conforms to IPP. It also generates print attributes that conform to IPP based on the standard setting data that indicates the current print settings. The shared printer 150 then generates a print job based on the converted PDL and IPP attribute information, and passes it to the device application 1052. If it is determined that a device application will not be used, the shared printer 150 sends the IPP-compliant print job to the printer as is, as indicated by the dashed line.

[0065] Next, the device application 1052 generates an extended setting screen (user interface) including setting items not defined in IPP from the capability information indicating the extended settings acquired from the printer 200, and displays it on the monitor 110.

[0066] For the sake of explanation, the device application 1052a corresponding to the printer 200a will be taken as an example.

[0067] FIG. 8 shows an example of a print setting screen that the device application 1052a displays on the monitor 110. Reference numeral 901 shows an example of standard print settings, and reference numeral 902 shows an example of extended print settings based on device capability information. The extended print settings displayed in 902, such as "Box printing," "Secure printing," and "Stapleless binding," are examples of print settings that operate according to specifications unique to each vendor. The user can configure print settings based on specifications not established by IPP via the extended setting screen. An OK key 903 is used to reflect the print settings and start printing.

[0068] When the device application 1052a detects that the OK key 903 has been selected, it generates extended settings, which are job attributes to be assigned to the print job, based on the settings made via the extended settings screen.The device application 1052a then sends the print job, including the PDL and job attributes, to the printer 200a.In this case, for example, the job attributes included in the print job can be expressed using CPCA commands, and the PDL data can be expressed in LIPS format (UFR) format.

[0069] Finally, the printer 200 receives a print job conforming to IPP or a print job in a vendor-specific format, and prints an image on a sheet based on the print job.

[0070] Next, specific control will be described with reference to the flowcharts of FIGS.

[0071] <Control of the client computer 100> First, the operation of the client computer 100 will be described. Fig. 6 is a flowchart showing the control of the client computer 100. Each operation (step) shown in the flowchart of Fig. 6 is realized by the CPU 101 reading into the RAM 1022 a program for implementing each control module stored in the ROM 1021 or the storage 105 and executing the program. Note that each process shown in the flowchart is realized by modules and software components, such as the application 1051, the OS 1053, and the device application 1052, working together. Some processes, such as data transmission and information input / output, are realized in cooperation with each I / F. To clarify the program that implements each process, the software component, application, etc. will be described as the subject.

[0072] The flowchart in FIG. 6 shows the processes that are executed when a printer corresponding to the universal printer driver 1054 is designated as the printer to be used and an instruction for printing is received from the user.

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

[0074] In step S603, the OS 1053 generates an XPS spool file. When printing from the desktop application 301, the OS uses the GDI to XPS conversion module 307 to generate the XPS spool file.

[0075] In step S604, the print architecture 10531 and the universal printer driver 1054 work together to generate a print job. The standard print processing unit 312 converts the XPS spool file into a PDL that conforms to the IPP. It also generates print attributes that conform to the IPP based on standard settings that indicate the print settings to be set for the job. The print manager 318 also generates a print job based on the PDL and the print attributes that conform to the IPP.

[0076] Next, in step S605, the OS 1053 determines whether or not to use a device application. Specifically, first, it determines whether or not a device application corresponding to the printer selected as the output destination (hereinafter referred to as the selected printer) exists. If a device application corresponding to the selected printer does not exist, the process proceeds to S616. On the other hand, if a device application corresponding to the selected printer exists, the OS 1053 further references the extended application setting storage unit 320 and determines whether or not to launch the device application for the selected printer. Specifically, the OS 1053 references the settings for each printer stored in the extended application setting storage unit 320 based on the ID of the selected printer, etc. If the settings referenced based on the ID indicate a setting not to launch the device application, the process proceeds to S616. On the other hand, if the settings referenced based on the ID indicate a setting to launch the device application, the process proceeds to S606.

[0077] In step S616, the OS 1053 transmits the print job conforming to the IPP to the selected printer. When the transmission is complete, the series of processes ends.

[0078] Meanwhile, in step S606, the OS 1053 starts the device application 1052 corresponding to the selected printer and passes the print job conforming to IPP to the device application 1052. At this time, information for uniquely identifying the selected printer and information for communicating with the selected printer (for example, an IP address) are also passed.

[0079] In step S607, the print-time startup application unit 10521 of the device application 1052 receives the print job and information about the selected printer passed to the OS 1053. In step S608, the print-time startup application unit 10521 of the device application 1052 analyzes the print job.

[0080] In step S609, the print startup application unit 10521 of the device application 1052 determines whether the capability information of the selected printer is stored (whether the extended capabilities have been acquired). If the capability information of the selected printer is stored, the process proceeds to S613; if the capability information of the selected printer is not stored, the process proceeds to S610.

[0081] In step S610, the device application communication unit 10524 queries the selected printer 200 for capability information. The device application communication unit 10524 of the device application 1052 requests the capability information from the selected printer 200 using the specific communication method or specific control command described above. In step S611, the device application communication unit 10524 receives the device capability information as a response to the request sent in S610. The device application communication unit 10524 also stores information associating the received capability information with the identifier of the selected printer in a shared storage area accessible from the device application 1052. This process makes it possible to omit the process of obtaining device capability information from the next time onwards. The device capability information stored here includes more detailed setting items than the attribute information (capability information) that can be obtained by the IPP printer attribute request operation (Get-Printer-Attributes Operations).

[0082] Next, in step S613, the extended print setting unit 10522 of the device application 1052 displays the extended print setting UI shown in FIG. 9 based on the analysis results of the print job and the device capability information.

[0083] In step S614, the extended print setting unit 10522 of the device application 1052 accepts a print setting change instruction based on a user operation. As illustrated in Fig. 9, the extended print setting screen (UI) allows the user to set print settings 902 that are not predefined in IPP.

[0084] In step S615, the print job generation unit 10525 of the device application 1052 generates a print job converted into commands that the selected printer can receive based on the extended print settings. For example, if the selected printer is printer 200a and the device application is 1052a, a print job is generated in which the job attributes are defined in CAPA and the PDL is converted to LIPS (UFR). Alternatively, for example, if the selected printer is printer 200b and the device application is 1052b, a print job is generated in which the job attributes are defined in JPL and the PDL is converted to PCL. In S617, the device application communication unit 10524 transmits the print job generated in S615 to the selected printer. The device application communication unit 10524 directly connects to the printer 200, performs job control using the WSD protocol or a vendor-specific protocol, and executes printing.

[0085] Note that, although this embodiment illustrates a case in which the device application communication unit 10524 of the device application 1052 sends a print job directly to the printer 200, the present invention is not limited to this. For example, the print job may be sent via the print manager 318 and device communication unit 319 provided by the OS. In this case, the PDL is not converted, and only the print attributes are rewritten to settings that include vendor extensions. That is, the print job generation unit 10525 does not convert the PDL received from the OS, but passes it through, and generates a print job that includes string information and binary data indicating the extended print settings. The converted print job is resubmitted to the print manager 318 and sent to the printer 200.

[0086] <Control of Printer 200> Next, the control of the printer 200 will be described. Fig. 7 is a flowchart showing the control of the printer 200. Each operation (step) shown in the flowchart is realized by the processor of the printing device executing a program for implementing each control module stored in memory. The flowchart of Fig. 7 is assumed to be executed in response to the start-up of the printer 200.

[0087] In step S701, the processor of the printer 200 determines whether a request to acquire capability information has been received from an external device. If a request to acquire capability information has been received from the external device, the process proceeds to S702. If a request to acquire capability information has not been received from the external device, the process proceeds to S703. In step S702, the processor of the printer 200 replies with information indicating the device capabilities as a response to the request. Here, if the request is an IPP Get-Printer-Attributes request, attribute information indicating capabilities usable in IPP is returned. On the other hand, if the request is from a device application described in S610 of FIG. 6, device capability information indicating detailed capabilities is returned after comparison with the attribute information indicating capabilities usable in IPP.

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

[0089] 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 series of processes ends. On the other hand, if a shutdown instruction has not been received, the process returns to S701 and waits for a request or print job sent from an external device.

[0090] As described above, in this embodiment, even when printing is performed using a printer driver or print client that generates print jobs conforming to a specific print protocol, it is possible to appropriately utilize extended functions provided by printing devices from multiple vendors. Furthermore, the printer driver is implemented as a class driver conforming to a specific print protocol, and vendor-specific extensions can be implemented using an extension application that runs in a sandboxed environment. Therefore, security and convenience can be achieved at the same time. Furthermore, the extension application enables printing using the vendor's proprietary assets (e.g., the vendor's proprietary PDL or JDL). Furthermore, if an extension application is not provided or if the user does not want to configure print settings using the extension application, the extension application can be prevented from launching. Therefore, it is possible to accommodate both users who prefer simple printing and users who want to configure detailed print settings.

[0091] <Second embodiment> In the first embodiment, an example was given of a case where print settings are expanded using the device application 1052 after a PDL is generated by the universal printer driver 1054. In the second embodiment, a mechanism is provided that enables print settings to be made using a vendor-specific print setting screen even before issuing a print instruction.

[0092] The hardware and software configurations in the second embodiment are the same as those in the first embodiment, and therefore will not be described here.

[0093] First, an overview of data processing when printing is performed in the second embodiment will be described with reference to Fig. 10. Fig. 10 is a schematic diagram illustrating the flow of data when a user performs printing.

[0094] The application 1051 acquires the standard setting data using the OS standard print setting unit 208, as in the first embodiment.

[0095] When the "Other Settings" key 802 for performing detailed printing is pressed from a print dialog or the like called up from the application 1051, the print architecture 10531 of the OS starts up the corresponding device application.

[0096] The device application 1052 launched by the OS generates extended settings based on the capability information acquired from the selected printer. The device application 1052 also displays a screen (user interface) on which print settings can be configured, similar to that shown in FIG. 9, using the standard setting data (PrintTicket) passed from the OS standard print setting unit 208 and the extended settings obtained from the capability information acquired from the printer 200. The screen on which print settings can be configured can also display illustrations or the like that indicate the appearance of the output that will be output based on the printing conditions. The illustrations are generated as needed each time the user changes the print settings, and can notify the user of the resulting output. Favorite print settings or the like can also be registered via the screen on which print settings can be configured. Favorite print settings are stored in a shared data area of ​​the device application 1052. The user can select a display item for calling up favorite print settings from a list (not shown) or the like and reflect them in the print settings.

[0097] When it detects that the user has changed the print settings and pressed the OK key, the device application 1052 stores the extended settings information in a shared data area owned by the device application 1052 and passes the standard settings to the OS standard print setting unit 208. Because the OS standard print setting unit 208 does not know the information on extended settings that can be provided by the printer 200, even if the extended settings information is passed to it, it determines that the settings are unknown and is unable to control them correctly. Therefore, the device application 1052 temporarily stores the extended settings in a shared data area. When printing, the device application 1052, which is started in a separate process, reads the extended settings stored in the shared data area, thereby providing the extended print setting function without requiring the OS 1053 to control the extended settings.

[0098] Specific control will be described with reference to the flowcharts of Fig. 11 and Fig. 12. Fig. 11 and Fig. 12 are flowcharts showing the control of the client computer 100. Each operation (step) shown in the flowchart of Fig. 6 is realized by the CPU 101 reading into the RAM 1022 a program for implementing each control module stored in the ROM 1021 or the storage 105 and executing the program. The flowchart of Fig. 11 is executed in response to a user operation indicating an intention to print via a user interface provided by the application 1051.

[0099] In step S1101, the application 1051 accepts the selection of a key indicating an intention to print. In step S1102, the application 1051 displays a common print dialog such as the one shown in FIG. 8. In step S1103, the application 1051 accepts the selection of a key for detailed printing. An example of the key for detailed printing is the "Other Printing" key 802. Upon accepting the pressing of this key, the application 1051 transmits to the OS 1053 information identifying the printer driver and printer, and a request for a detailed printing screen.

[0100] In step S1104, the OS 1053 determines whether to use a device app for advance print settings based on the received printer driver and information identifying the selected printer. If there is no device app corresponding to the selected printer, the process proceeds to S1105. On the other hand, if there is a device app corresponding to the selected printer, the OS 1053 further determines whether to launch the device app based on the extended app settings storage unit 320. This determination is similar to that in S605, and therefore a description thereof will be omitted. If it is determined that the device app should be launched, the process proceeds to S1108; if it is determined that the device app should not be launched, the process proceeds to S1105.

[0101] In step S1105, the OS 1053 displays the OS's standard print setting screen based on the PrintCapabilities and PrintTicket. On this setting screen, print settings can be configured based on attributes that can be acquired via IPP. When detailed print setting instructions are issued from the desktop application, the API that converts between DEVMODE and PrintTicket is used to convert the instructions to PrintTicket and interpret the current print settings.

[0102] In step S1106, the OS 1053 accepts a print setting change instruction based on a user operation. In step S1107, the OS 1053 updates the standard setting data (DEVMODE or PrintTikect) in step S1105. When the update is complete, the process proceeds to step S1117.

[0103] Meanwhile, in step S1108, the OS 1053 starts the device application corresponding to 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 written in DEVMODE, the data is converted to a PrintTicket and passed.

[0104] In step S1109, the launched device application receives the print setting information described in the PrintTicket. In steps S1110 to S1112, the same extended setting acquisition process as in steps S609 to S611 in the first embodiment is performed.

[0105] In step S1113, the device application displays an extended print setting UI based on the received print setting information and device capabilities. In step S1114, the device application accepts an instruction to change the print settings based on a user operation. In step S1115, the device application updates the PrintTicket, which is the print setting information. Then, in step S1116, the PrintTicket, which includes the extended settings updated in step S1115, is temporarily saved in a shared area accessible from the device application. When the processing of step S1106 is completed, the process proceeds to step S1117. Note that the device application returns standard setting data, intentionally excluding the extended settings, as print attribute information to the OS.

[0106] In step S1117, the application 1051 redisplays the common print dialog based on the standard setting data updated by the OS standard function or the device application 1052. In step S1118, the application 1051 accepts a selection operation of the print button in the common print dialog. When the selection operation is accepted, a series of processes related to print settings ends. Then, the print process of FIG. 12 is performed.

[0107] Fig. 12 is a flowchart executed in place of the flowchart of Fig. 6 in the first embodiment. The difference from Fig. 6 is that the process of S1301 is executed in place of the process of S613.

[0108] Steps S601 to S611 are the same as those in the first embodiment, and therefore will not be described here. Note that the device application process launched in step S606 and the device application process launched in step S1108 are separate processes. Therefore, PrintTickets containing extended settings are exchanged via a common storage area that can be accessed by the device applications.

[0109] In S1301, the device application 1052 displays an extended print setting UI based on the attributes of the received IPP-compliant print job and a PrintTicket containing extended settings stored in a storage area accessible by the device application 1052. The extended print setting UI displayed here may also display display items for calling up favorite settings stored in the shared data area of ​​the device application 1052. In this case, the user will be able to use pre-registered favorite settings on the print setting screen displayed after issuing a print instruction. Once the display is complete, the process proceeds to S614. The subsequent processes are the same as those in the first embodiment.

[0110] As described above, the present embodiment can provide the effect of enabling presetting before starting printing.

[0111] <Modification> In the second embodiment, the case where the extended settings are stored in a shared data area is exemplified, but the method of transferring the extended settings to the device application is not limited to this. For example, if an area that the vendor can extend for the standard settings conforming to IPP (hereinafter referred to as a vendor extension area) is defined, it is possible to perform the same processing as in the second embodiment by using this area. This processing will be explained using the schematic diagram of FIG. 13.

[0112] First, the application 1051 uses the standard print setting unit 308 to obtain standard setting data, which is information conforming to IPP. When an instruction for detailed printing is received via the print dialog, the OS 1053 launches the device application 1052. The device application 1052 displays the extended setting UI shown in FIG. 9 using the standard setting data (PrintTicket) passed from the OS standard print setting unit 208 and the extended settings obtained from the capability information obtained from the printer 200. When the user presses the OK button in FIG. 9, the device application 1052 writes vendor extension information into the PrintTicket. For example, as shown in 1401 in FIG. 14, the device application 1052 writes a character string representing the extended settings available to the printer 200 and passes the data to the OS 1053. The vendor extension field is written based on the IPP-defined specifications. Therefore, the data can be handled appropriately by the standard printer driver 1054, which conforms to IPP. The standard print processing unit 312 directly writes the vendor extension information written in the PrintTicket in the attribute indicating the vendor extension area of ​​the IPP-compliant print job. This allows the extended setting information written in the vendor extension area to be transmitted to the device application 1052 that runs during printing, making it possible to provide an extended setting change function using this information.

[0113] Another possible variation is to not use the vendor extension field. For example, the standard print processing unit 312 and print manager 318 generate an IPP-compliant print job that includes only IPP-compliant attributes from the PrintTicket. Meanwhile, when launching a device app, a PrintTicket that includes the extended settings shown in FIG. 14 is passed to the device app in addition to the IPP-compliant print job. In this case, the device app discards the IPP-compliant print settings and displays an extended UI based on the received PrintTicket and its own acquired device capability information.

[0114] Furthermore, as a modified example of the second embodiment, when the extended print setting process is accepted before printing starts using the device application 1052, the setting process using the extended print setting UI after issuing a print instruction (S1311 and S1312) can be controlled to be skipped.

[0115] <Other embodiments> The present invention can also be realized by supplying a program that realizes one or more functions of each of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC or FPGA) that realizes one or more functions. [Explanation of symbols]

[0116] 100 client computers 200 Printing device 101 CPU 1054 Common Printer Driver 1053 OS

Claims

1. an application program that cooperates with an operating system of an information processing device and has a class driver incorporated as a function of the operating system; The application program is installed in the information processing device. an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step in which the operating system performs processing to transmit the print job based on the print settings and the data to be printed, which are accepted in the accepting step, to an external device of the information processing device in accordance with the Internet Printing Protocol; An application program characterized by executing the following:

2. The application program described in Claim 1, characterized in that the processing step is executed before the operating system sends the print job to the external device.

3. 3. The application program according to claim 1, wherein the external device is a printing device, and a printed matter based on the print settings accepted in the accepting step is obtained by the printing device.

4. 4. The application program according to claim 3, wherein the application program further causes the information processing device to acquire capability information from the printing device.

5. 5. The application program according to claim 4, wherein the class driver causes the information processing device to obtain capability information from the printing device.

6. The application program described in Claim 4, characterized in that the operating system generates the print job that can be sent to multiple printing devices.

7. The application program according to claim 1, wherein the print job is a job conforming to the Internet Printing Protocol.

8. The application program according to claim 1, wherein the class driver is a printer driver conforming to the Internet Printing Protocol.

9. An application program that cooperates with an operating system of an information processing device and has a class driver incorporated as a function of the operating system, The application program is installed in the information processing device. an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; Execute The data to be printed is data based on content displayed in an application different from the application program. An application program characterized by:

10. The application program described in Claim 9, characterized in that the application program further causes the information processing device to execute a processing step that processes the data to be printed based on the print settings accepted in the acceptance step.

11. 11. The application program according to claim 9, wherein the print setting screen is displayed after a print instruction is received from a user via another print setting screen provided by the different application program.

12. The application program described in any one of claims 9 to 11, characterized in that the different application program is a modern print dialog provided by the operating system.

13. An application program that cooperates with an operating system of an information processing device and has a class driver incorporated as a function of the operating system, The application program is installed in the information processing device. an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step of processing the data to be printed based on the print settings accepted in the accepting step; An application program characterized by executing the following:

14. 14. The application program according to claim 13, wherein the processing step generates a print job based on the print settings and the data to be printed that are accepted in the accepting step.

15. 15. The application program according to claim 9, wherein the application program further causes the information processing device to execute a process of converting the data to be printed into print data to be transmitted to a printing device.

16. 16. The application program according to claim 15, wherein the data to be printed is in a data format that the printing device cannot interpret, and the print data is in a data format that the printing device can interpret.

17. The application program according to claim 15 or 16, characterized in that the data to be printed is data in either PDF format or PWG-Raster format, and the print data is data in either LIPS format, PCL format, RPCS format, PS format, ART format, or SPDL2 format.

18. 18. The application program according to claim 1, wherein the print settings include at least print settings that cannot be set by the class driver.

19. 19. The application program according to claim 1, wherein the data to be printed is data generated by the operating system.

20. 20. The application program according to claim 1, wherein information about print attributes is acquired from the operating system along with the data to be printed.

21. 21. The application program according to claim 1, wherein the application program further causes the information processing device to display a preview.

22. the acquiring step is a step of acquiring the data to be printed from the operating system, 21. The application program according to claim 1, wherein the application program further causes the information processing device to display a preview.

23. A method for controlling an information processing device having an operating system incorporating a class driver as a function and an application program that cooperates with the operating system, comprising: By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step in which the operating system performs processing to transmit the print job based on the print settings and the data to be printed, which are accepted in the accepting step, to an external device of the information processing device in accordance with the Internet Printing Protocol; A control method characterized by carrying out the above.

24. A method for controlling an information processing device having an operating system incorporating a class driver as a function and an application program that cooperates with the operating system, comprising: By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; and The data to be printed is data based on content displayed in an application different from the application program. A control method comprising:

25. A method for controlling an information processing device having an operating system incorporating a class driver as a function and an application program that cooperates with the operating system, comprising: By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step of processing the data to be printed based on the print settings accepted in the accepting step; A control method characterized by carrying out the above.

26. An information processing device having an operating system in which a class driver is incorporated as a function, and an application program that cooperates with the operating system, By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step in which the operating system performs processing to transmit the print job based on the print settings and the data to be printed, which are accepted in the accepting step, to an external device of the information processing device in accordance with the Internet Printing Protocol; An information processing device characterized by performing the above.

27. An information processing device having an operating system in which a class driver is incorporated as a function, and an application program that cooperates with the operating system, By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; and The data to be printed is data based on content displayed in an application different from the application program.

1. An information processing device comprising:

28. An information processing device having an operating system in which a class driver is incorporated as a function, and an application program that cooperates with the operating system, By executing the application program, an acquisition step of acquiring data to be printed; a receiving step of receiving print settings on a print setting screen provided by the application program; a processing step of processing the data to be printed based on the print settings accepted in the accepting step; An information processing device characterized by performing the above.

Citation Information

Patent Citations

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

    JP2013187571A

  • Image formation system and control program for the same

    JP2016136327A

  • Control method, program, and information processing device

    JP2017004302A

  • Image forming apparatus and control method of image forming apparatus

    JP2018024258A

  • Information processing apparatus, control method and program

    JP2018084893A