Application program, method for controlling information processing device, and information processing device.
The standard driver mechanism addresses the lack of user notifications in V4 printer drivers by integrating print extension applications to manage print tickets and capabilities, ensuring printers authenticate users before starting secure print jobs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-01-16
- Publication Date
- 2026-04-13
AI Technical Summary
Existing printer drivers, particularly V4 printer drivers, lack the ability to provide user notifications or UI elements after a print command is issued, limiting the display of pop-ups for secure print functions requiring user input, such as password authentication, due to OS-controlled print processes.
A standard driver mechanism that supports multiple printer vendors, allowing the information processing device to transmit print data to printers that start printing only after a predetermined user operation is performed, and display an attachment part, such as a UI, by integrating print extension applications that manage print tickets and capabilities.
Enables user notifications and secure print functionality by ensuring printers only initiate printing after user authentication, overcoming the limitations of OS-controlled print processes in V4 drivers.
Smart Images

Figure 0007844682000001 
Figure 0007844682000002 
Figure 0007844682000003
Abstract
Description
Technical Field
[0001] The present invention relates to a program that provides a GUI (Graphical User Interface) for printing.
Background Art
[0002] As control software for an image forming apparatus, a configuration in which a printer driver installed in a host computer is used to perform printing on an image forming apparatus connected to the host computer is generally known. An operating system (hereinafter referred to as OS), which is basic software, is installed in the host computer, and the printer driver is configured according to the specifications defined by the OS. A vendor that provides an image forming apparatus can obtain a means for instructing printing on the image forming apparatus by providing a printer driver that conforms to the specifications of the OS.
[0003] When using a version of Microsoft (registered trademark)'s Windows (registered trademark) prior to Windows 8 as the OS of the host computer, the printer driver is configured with an architecture called a V3 printer driver. The V3 printer driver can provide a function of displaying a UI (User Interface) at the timing when a print request from the user occurs and prompting the user to perform some operation. For example, when a print request occurs, a specified event of a configuration module, which is a component of the V3 printer driver, is called, so the configuration module can display the user interface during the event processing.
[0004] On the other hand, a new architecture called V4 printer drivers appeared in Windows 8 and later. In the V4 printer driver architecture, security is prioritized, so the customizability of the printer driver itself is reduced. For example, the aforementioned configuration module is provided by the OS, and vendors can only provide setting files and script files to customize its operation. To compensate for this reduced customizability, vendors of image forming equipment can provide dedicated applications to assist the functions of the printer driver. These applications are called Windows Store Device Apps (WSDA).
[0005] Furthermore, in Windows 10 and later, applications can be created using a new platform called Universal Windows Platform (UWP). These applications are called UWP Device Apps. UWP Device Apps extend the functionality of WSDA and allow applications called Workflows (WFs) to be added to WSDA.
[0006] The WF (Wireless Printing) function generates a background task, a thread without a user interface (UI), by the OS during printing. This background task can also call foreground tasks (UI). The image forming machine also features a function called secure printing (also called authenticated printing) which utilizes authentication. When using this function, the printer driver sends a print job with authentication information, such as a password, to the image forming machine. The image forming machine receives the print job with the authentication information attached, and printing becomes possible after the user authenticates on the image forming machine. When using this function, printing does not start when a print command is issued, and printing will not begin until the user is authenticated by the image forming machine, making it possible to print securely without anyone seeing the printed document. [Prior art documents] [Patent Documents]
[0007] [Patent Document 1] Japanese Patent Publication No. 2015-166918 [Overview of the Initiative] [Problems that the invention aims to solve]
[0008] While printing using the V4 printer driver offers improved security and convenience, once a print request is made, the OS-provided framework takes the lead in controlling the print process. Consequently, conventionally, it was not possible to provide user notifications, such as UI elements, after a print command was issued when using the V4 printer driver. Therefore, even if the secure print function, which verifies user identity through password authentication, was selected, it was not possible to display a pop-up UI to prompt the user for input if the password was not entered correctly. As shown in Patent Document 1, there have been proposals to display pop-ups during the conversion to print data. However, this required extensions such as inter-process communication and control arbitration by the XPS filter and V4 printer driver responsible for the conversion to print data, which was cumbersome. Furthermore, because the pop-up was implemented through special extensions, there were still functional limitations.
[0009] Book technology The above challenges to In light of this, multiple printer Vendor multiple It generates printable data that can be printed by the printer, As mentioned above multiple printer Vendor The aforementioned multiple The printer receives print data via an information processing device. Standard driver And, The aforementioned multiple Printer vendor Each Provided by Multiple Printers The aforementioned, which is different from the driver. Standard driver It supports the aforementioned information processing device, Standard driver Generated by , sent to the printer Print the print data As mentioned above by the printer The aforementioned printer will not start until the specified user operation is performed, and the aforementioned printer will start after the specified user operation is performed. start vinegar to The printer will perform the operation as described above. for Operation accept Receiving provides a mechanism for displaying an attachment ru.
Means for Solving the Problem
[0010] To solve the above problems, this Disclosure application program generates print data printable by a plurality of printer vendor's multiple printers, and is a standard driver that causes the information processing device to transmit the print data to the plurality of printer vendor's The aforementioned multiple printers, and supports the above The aforementioned multiple printer vendor Each provided by Multiple Printers different from the driver Standard driver and causes the information processing device to to start printing the print data generated by the above Standard driver by , sent to the printer the printer The aforementioned by the printer The printer will not start until a predetermined user operation is performed, and the printer will start after the predetermined user operation is performed. start vinegar to To cause the printer to perform the operation. for Operation accept Receiving and display an attachment part.
Effect of the Invention
[0011] According to this technology it generates print data printable by a plurality of printer vendor's multiple printers, and As mentioned above is a standard driver that causes the information processing device to transmit the print data to the plurality of printer vendor's The aforementioned multiple printers, and supports the above Standard driver and is different from the driver The aforementioned multiple provided by the printer vendor Multiple Printers and causes the information processing device The aforementioned standard driver to start printing the print data generated by the above The aforementioned information processing device and causes the information processing device Standard driver to start printing the print data generated by the above , sent to the printer by the printer As mentioned above Printer The aforementioned printer will not start until the specified user operation is performed, and the aforementioned printer will start after the specified user operation is performed. start vinegar ru The printer will perform the operation as described above. Therefore Operation Accept Receiving The appended portion can be displayed. [Brief explanation of the drawing]
[0012] [Figure 1] This diagram shows the system configuration. [Figure 2] This figure shows an example of a client computer's hardware configuration. [Figure 3] This figure shows an example of a client computer's software configuration. [Figure 4] The figure shows an example of metadata description. [Figure 5] This is a block diagram showing an example of a printing environment built with a printing system. [Figure 6] This is a flowchart showing an example of the printing process according to the first embodiment. [Figure 7] This flowchart shows an example of the print-time startup process according to the first embodiment. [Figure 8] This flowchart shows an example of the print-time startup process according to the first embodiment. [Figure 9] This figure shows an example of the print dialog and the UI that launches when a warning is printed. [Figure 10] This is a schematic diagram of a touch application and print dialog. [Figure 11] This figure shows an example of print capabilities. [Figure 12] This is a diagram showing an example of a printed ticket. [Figure 13] This figure shows an example of how definition items are described in a device function text file. [Figure 14] This is a schematic diagram illustrating the data flow during printing. [Figure 15] This figure shows an example of a UI screen for selecting whether or not to display a pop-up. [Figure 16]This flowchart shows an example of the print-time startup process according to the second embodiment. [Figure 17] This flowchart shows an example of the print-time startup process according to the second embodiment. [Figure 18] This flowchart shows an example of the print-start process according to the third embodiment. [Figure 19] This flowchart shows an example of the print-start process according to the third embodiment. [Figure 20] This is a flowchart showing the print settings process according to the first embodiment. [Modes for carrying out the invention]
[0013] The best mode for carrying out the present invention will be described below with reference to drawings and tables. The following embodiments are not intended to limit the invention as claimed, and not all combinations of features described in the embodiments are essential to the solution of the invention.
[0014] (First Embodiment) First, the system configuration according to this embodiment will be described using Figure 1. Figure 1 is a schematic diagram showing an overview of the system configuration according to this embodiment. The system according to this embodiment comprises a client computer 101, a server 104, and a printer 102. The client computer 101 is an example of an information processing device. The server 104 distributes data to the client computer 101. The printer 102 receives print data in Page Description Language (PDL) format and performs printing. Each device can communicate with each other via a network 103 including a Wide Area Network (WAN). Note that the printer 102 may be a single-function printer with only a printing function, or a multi-function printer with printing, scanning, and copying functions. Also, there may be more than one client computer 101 connected to the network 103.
[0015] Figure 2 is a block diagram showing the hardware configuration of the client computer 101 in Figure 1. In the client computer 101, the central processing unit (CPU 201) controls each device connected to the system bus according to the program stored in the random access memory (RAM 202). The client computer 101 is assumed to have at least one CPU 201. In addition, the CPU 201 executes processing based on the program stored in the external memory 209, thereby realizing the software configuration of the client computer 101 and the processing of each step in the flowchart described later. The RAM 202 functions as the main memory, work area, etc., of the CPU 201. The read-only memory (ROM) 203 contains various programs such as the boot program and the basic input / output system (BIOS).
[0016] The input device interface (I / F) 204 controls the input devices 205, such as a keyboard, pointing device (mouse), and touch UI (User Interface). The input devices 205 function as reception units that receive user input. The display I / F 206 controls the display of the screen on the display 207. The display 207 functions as a display unit that shows information to the user. The external memory I / F 208 controls access to external memory 209, such as a hard disk (HD) or solid state disk (SSD). The external memory 209 stores the operating system program (OS) 210, application execution environment 213, various applications 212 corresponding to the touch panel and desktop, and various files. It functions as a storage medium that the client computer 101 can read. The network I / F 215 is connected to the printer 102 via the network 103 and performs communication control processing. The server 104 also contains the same hardware configuration as the client computer 101 and operates similarly.
[0017] Next, we will explain the software configuration of the client computer 101 using Figure 3. First, we will explain the operating software within the client computer 101. The software within the client computer 101 consists of three layers: the OS 210, the application execution environment 213, and the application 212.
[0018] First, let's explain the individual elements that make up OS210. OS210 is broadly composed of a printing system 337, a printer driver 211, a group of external configuration files 352, and a thread pool 355. Next, let's explain the elements that make up the group of external configuration files 352 of OS210. The metadata 320 of the group of external configuration files 352 is definition information that has identifiers for both the print extension application 300 and the print queue 308, and it plays the role of associating them with each other. The metadata 320 will be described later using Figure 4. The registry 353 is the area where the settings for OS210 are described. The registry 353 can register settings on whether the print-on-launch application launcher 350, which will be described later, launches the print-on-launch application 305, which is a background task. A background task is a function available in UWP Apps (Universal Windows Platform applications). Background tasks are mainly used to maintain the latest state and receive update information even when the user is not operating the application. On the other hand, when an application runs in the background, it consumes battery and computing resources. Therefore, OS210 provides users with a function to configure whether or not to allow background tasks for each UWP app. Registry 353 stores the settings configured through this function, indicating whether or not to allow background tasks for each application.
[0019] Next, the elements constituting the printing system 337 will be described. The print queue 308 is an area for temporarily storing print jobs when printing using a printer located within the network 103. In this embodiment, it is assumed that the print queue 308 for printer 102 has been created. When the print queue 308 is created, a storage area 340 associated with the print queue is generated based on some of the functions described in the device function text file 332. The storage area 340 stores individual settings and functions for each print queue. This is because, by making specific descriptions in the function definition section of the device function text file 332, it is possible to provide functions that can be controlled for each print queue, rather than print setting functions that are switched for each job.
[0020] The spooler 325 is a module that temporarily stores and manages XPS (XML Paper Specification) files, which are print data printed from application 212. The XPS files stored in the spooler 325 are converted to PDL via the filter pipeline manager 335 (described later), and then sent to the printer 102 via the spooler 325.
[0021] The filter pipeline manager 335 is configured as part of the OS 210, and the filter 330 is one of the elements that make up the printer driver 211, which will be described later. Based on the definition of the filter configuration 336, the filter pipeline manager 335 reads one or more filters 330 and converts the XPS file stored in the spooler 325 into a PDL.
[0022] The configuration module 331 is a module that has functions for generating and modifying print tickets, as well as a prohibition function for correcting incorrect settings. By calling the API (Application Programming Interface) of the configuration module 331, it is possible to obtain print tickets, which are print setting information, and print capabilities, which are device capability information. Print tickets and print capabilities are written in XML (Extensible Markup Language) format.
[0023] The detailed print settings UI section 304, the print-start application 305, and the print-start UI section 303 of the print extension application 300 (described later) call the API of the configuration module 331 of the selected printer driver 211. This retrieves the print ticket and print capabilities. When printing is initiated from application 212, the print-start application launcher 350 starts the print-start application 305 based on the settings stored in the registry 353.
[0024] The printer driver 211 consists of a filter 330, a filter configuration 336, a script file 333, a print settings UI 360, and a device function text file 332. The filter 330 is a module called by the filter pipeline manager 335 and is responsible for converting XPS files to PDL. The filter configuration 336 is a definition file referenced by the filter pipeline manager 335 and describes the order in which the filter 330 is called. The script file 333 and the device function text file 332, which describes the functions of the device, customize the operation of the configuration module 331. The print settings UI 360 is a UI that provides a setting change function that operates in the desktop application execution environment 323, which will be described later, and edits print tickets, which are print settings associated with the print queue 308. It can also have a function to edit the storage area 340 associated with the print queue 308. The thread pool 355 is a module that stores threads used when various applications 212 and modules within the OS 210 are executed.
[0025] Next, we will describe the individual elements that make up the application execution environment 213. The application execution environment 213 consists of a desktop application execution environment 323 and a touch application execution environment 301. The touch application execution environment 301 has a set of APIs for executing touch applications 321 and print extension applications 300, which are types of applications 212 described later, and also handles memory management when executing them. On the other hand, the desktop application execution environment 323 has a set of APIs for executing desktop applications 322, which are types of applications 212 described later, and also handles memory management when executing them.
[0026] Next, the individual elements that make up application 212 will be described. Application 212 consists of three types of applications: touch application 321, print extension application 300, and desktop application 322. Touch application 321 is a type of application 212 and runs on the touch application execution environment 301. The touch application 321 is selected by the user and installed on the client computer 101 through an application distribution system published on the internet. Print extension application 300 is a type of touch application 321 and runs on the touch application execution environment 301 in the same way as touch application 321. The print extension application 300 is obtained by the OS 210 from the application distribution system via the internet and installed on the client computer 101. Print extension application 300 consists of a tile application section 302, a detailed print settings UI section 304, a print-start application 305, and a print-start UI section 303.
[0027] The tile application unit 302 displays a tile-based UI (e.g., a GUI (Graphical User Interface)) in response to a user operation such as launching the print extension application 300. The detailed print settings UI unit 304 displays a UI for detailed print settings in response to receiving a detailed print settings event issued by the OS 210. The detailed print settings UI unit 304 generates a UI for detailed print settings based on the print ticket and print capabilities obtained from the configuration module 331 via API. After changing the value of the print ticket according to user input, the detailed print settings UI unit 304 returns the print ticket to the configuration module 331. The print-start application 305 and the print-start UI unit 303 provide a function called Workflow (WF) that executes print-related processing in response to predetermined user operations. The print-start application 305 is a component for executing background tasks that are launched by the print-start application launcher 350 when a print event is issued. The print-start application 305 obtains print tickets and reads and writes their contents through the API of the configuration module 331. Based on the settings and parameters of the print ticket, the print-start application 305 determines whether or not to start the print-start UI unit 303, which is a component for executing foreground tasks, and requests the OS 210 to start the print-start UI unit 303.
[0028] If the print-start application 305 determines that it does not need to start the print-start UI unit 303, it proceeds to the printing process described later without starting the print-start UI unit 303. The print-start application 305 also exchanges print ticket settings and parameters with the print-start UI unit 303 via the app store 334. The print-start UI unit 303 acquires and modifies print tickets and print capabilities. In this embodiment, the print-start UI unit 303 displays a UI for confirming printing and a UI for prompting the user to input any missing settings. Here, the printer 102, which is the device, and the print extension application 300 are associated by metadata 320.
[0029] Figure 4 shows an example of metadata 320 description. Figure 4(A) shows an example of description showing a list of device information associated with the print extension application 300. The metadata 320 includes a HardwareIDList tag 402 that shows a list of printers 102. Hardware ID is identification information returned from the printer to uniquely identify the printer. Item 403 represents printer 102 with Hardware ID MFP1_abcd, and similarly, item 404 represents printer 102 with Hardware ID MFP2_ijkl. In this way, multiple printers 102 associated with the print extension application 300 can be listed in a single metadata 320. In this embodiment, the case where two printer Hardware IDs are specified in the metadata 320 is shown as an example, but it is not limited to this. There may be one, three or more, or any number of printers.
[0030] In the metadata 320 of Figure 4(B), a DeviceCompanionApplications tag 411 is described, which indicates the print extension application 300. Item 412 describes the ID of the print extension application 300 and the vendor ID. In this embodiment, the value 1234abcd.MFPUtility represents the print extension application 300. The value 12345678-abcd-efgh-ijkl-123456789012 represents the printer vendor providing the print extension application 300.
[0031] In this way, the metadata in Figures 4(A) and (B) establishes an association between the device, printer 102, and the print extension application 300. When printer 102 is connected to client computer 101, OS 210 searches for metadata 320 registered on a designated server (a metadata server managed by Microsoft®). When it finds metadata 320 in HardwareIDList that describes the Hardware ID returned by the connected printer 102, it saves it to the external memory 209 on which client computer 101 is installed. Furthermore, OS 210 retrieves the print extension application 300 described in the DeviceCompanionApplication tag 411 of the saved metadata 320 from an application distribution system (not shown). It then installs the print extension application 300 into the external memory 209 and associates it with printer 102.
[0032] This allows the print extension application 300 to be launched when a print request is made to printer 102 via the printer driver 211. This metadata 320 is provided by the printer vendor. The printer vendor provides this metadata 320 in advance to a metadata server managed by Microsoft (registered trademark). This controls the system so that when the printer driver 211 is installed in the user environment, the print extension application 300 best suited to the device connected to the user environment is automatically installed.
[0033] Figure 5 shows an example of a printing environment constructed with metadata 320. Printer 102, MFP501, has a Hardware ID of MFP1_abcd. When MFP501 is connected to client computer 101, OS210 retrieves metadata 320 in which the HardwareIDList tag contains the Hardware ID MFP1_abcd. Furthermore, OS210 retrieves the print extension application 300 called MFPPutility506 described in metadata 320 and associates it with MFP501.
[0034] Note that there may be multiple types of printer drivers installed on the client computer 101 for the MFP501. In other words, there may be multiple printer drivers corresponding to a single device, the MFP501. For example, the model-specific printer driver 508 is a dedicated printer driver for the MFP501. The common printer driver 509 is a printer driver that enables printing to multiple types of printers 102 with a single driver. Note that the model-specific printer driver 508 and the common printer driver 509 are vendor-specific drivers. The standard printer driver 510 is a printer driver that enables printing to printers 102 from multiple vendors with a single driver by utilizing a standardized printing method. The standard printer driver 510 is provided together with OS210 as one of the functions within the OS210 package.
[0035] As described above, multiple printer drivers are available for printer 102, and the printer driver used will vary depending on the internet connection status, the type of OS210, and the operating environment. Normally, OS210 automatically selects and installs the most functional and newest printer driver among the available ones by referring to the printer driver version information, etc. Printer drivers contain information to identify the device, called a Hardware ID and a Compatible ID. When a printer is connected to client computer 101, OS210 obtains this ID information from the printer, searches for a printer driver with the corresponding ID, and installs it.
[0036] As described above, a printer vendor providing a printer can control which print extension application 300 is provided for each printer by providing metadata 320. For example, a printer vendor can provide one print extension application 300 common to multiple printers, or they can provide different print extension applications 300 for each printer. However, they cannot provide different print extension applications 300 depending on the type of printer driver 211 associated with a single printer. In Figure 5, there are three types of printer drivers 211 used by the MFP501, from driver 508 to driver 510, but there is always only one type of print extension application 300 that can work with each driver.
[0037] Furthermore, in a user printing environment, multiple printers 102 or multiple types of printers 102 may be used. For each destination printer 102, it is necessary to manage the model corresponding to the printer driver 211, the initial print settings, and the print jobs. Therefore, the OS 210 creates a print queue 308 as an object corresponding to the destination printer 102 during installation. The OS 210 manages the configuration modules and initial print settings of the printer driver 211 in association with the print queue 308.
[0038] This section explains that printer 102 has a secure print function (authentication print function) and how the print extension application 300 knows about the functions of printer 102. Printer 102 has a secure print function that requires the input of a PIN set on the client computer 101 when printing. The functions of printer 102 are described in the device function text file 332 of the printer driver 211. The print extension application 300 understands that printer 102 has a secure print function by receiving the print capabilities generated by the configuration module 331 based on the device function text file 332. In addition, the print extension application 300 understands that the secure print function is set in the current print settings by reading the print ticket generated by the configuration module 331.
[0039] Figure 11 shows an example of print capabilities generated by the configuration module 331 based on the device function text file 332. The print capability 1001 shown in Figure 11 is an XML-formatted list of capabilities of the printer driver 211. The print capability 1001 has multiple options within a single Feature element. A Feature represents a function, and the group of Options contained within that function represents choices. The print capability 1001 shows an example of the XML description of the Secure Print Feature and Options. The description of JobSecurePrint in the Feature indicates that the Secure Print function is available. Furthermore, the JobSecurePrint Feature has two choices: ns0000:SecurePrint, which means "On" to enable the function, and ns0000:None, which means "Off" to disable the function.
[0040] Next, Figure 12 shows an example of a print ticket generated by the configuration module 331 based on user input. The print ticket stores one of the XML-formatted setting values for each function defined in the print capabilities as the current print setting. For example, the Feature element ns0000:JobSecurePrint shown in item 1101 indicates the secure print function, which authenticates whether the user is legitimate or not by entering a password. The fact that the Option contained within the JobSecurePrint Feature is ns0000:SecurePrint indicates that the secure print function is set to ON. If ns0000:None is set for the same Option, it means that the secure print function is set to OFF. Furthermore, if nothing is set for the same Option, the print-start UI unit 303 in this embodiment determines that it is equivalent to the case where ns0000:None is set for the Option. The value "XXXXXX" entered as the password for user authentication is stored in psf:ParameterInit shown in item 1102. This diagram shows an example where Secure Print is set to On during printing, a password is entered, and the password value is stored in the print ticket. If Secure Print is set to On during printing but no password is entered, the password value field will be blank.
[0041] Next, the basic flow from the touch application 321 to printing will be explained using Figure 6. Each operation (step) shown in the flowchart of Figure 6 is realized by the CPU 201 reading the programs for realizing each module, component, and application stored in the external memory 209 into the RAM 202 and executing them. When describing the control provided by each control module, component, and application, the parts realized by the CPU 201 will be described as the subject. In addition, some processing such as display, acceptance of user operations, and data transmission and reception processing will be realized by the cooperation of the CPU 201, each I / F, and the input / output devices connected to the I / F. In this embodiment, the explanation will be given using the touch application 321 (Figure 10), but it goes without saying that printing is also possible from the desktop application 322. Figure 10(A) is a schematic diagram of the touch application 321 being launched. When the menu control button 900 is tapped, the touch application 321 lists a list of menu options. Next, when the user selects the print item 901 from the menu options, the touch application 321 requests the OS 210 to display the print dialog, and the print dialog is displayed. Figure 10(B) shows the print dialog generated by the OS 210 for simple print settings. The print dialog consists of a print settings unit 920 and a print event generation unit 930. The print settings unit 920 displays a list of simple print settings. 921 is the name of the selected printer queue 308, and 922 is an example of the set print settings. After the print dialog is displayed, it accepts user input and generates a print event when the print button 932 of the print event generation unit 930 is pressed.
[0042] After a print event occurs, the touch application 321 generates an XPS file of the data to be printed and starts the basic print flow described in Figure 6. In this embodiment, a mechanism is provided to display a confirmation UI and a UI for re-entering settings after printing has started using the workflow. The specific control method will be explained using the basic print flow exemplified in Figure 6. Each application and module is stored in external memory 209, loaded into RAM 202 as needed, and executed on the CPU 201 on the client computer 101. The flow shown in Figure 6 starts when a print event occurs from application 212. The application 212 that triggers the print event may be either the touch application 321 or the desktop application 322.
[0043] First, in step S601, the OS 210 passes the XPS file generated by the application 212 that triggered the print event to the spooler 325. Next, in step S602, the processing of the print-start application 305 is executed. This process plays an important role and will be described later. Next, in step S603, the filter pipeline manager 335 retrieves the print ticket and XPS file from the spooler or the print-start application 305, depending on the result of the processing in step S602. Next, in step S604, the filter pipeline manager 335 reads the filter 330 from external memory 209 and expands it into RAM 202 based on the definition of the filter configuration 336. Next, in step S605, the filter pipeline manager 335 passes the XPS file to the filter 330. In step S606, the filter 330 converts the XPS file into a PDL and passes the PDL to the spooler 325. Then, in step S607, the spooler 325 sends the PDL to the printer 102.
[0044] Next, we will explain the basic printing flow using Figure 14. This flow description will focus on printing from the desktop application 322. To start printing from the desktop application 322, which has a printing function, the user selects the print queue 308 associated with the output printer 102. At that time, by opening the print settings UI 360 of the printer driver 211 associated with the target print queue 308, various function changes can be made. For example, it is possible to change settings such as "double-sided printing" for printing on both sides of a single sheet of paper, or "black and white" for printing the print result in monochrome. In an enterprise environment where multiple image forming machines coexist, there is a need to differentiate whether or not to display the pop-up UI for each image forming machine. Therefore, in this embodiment, the display of the pop-up can be controlled for each print queue associated with the image forming machine. Specifically, a setting indicating whether or not to display the pop-up is stored in the storage area 340 associated with the print queue.
[0045] Next, we will explain how to change this setting. Users can change this setting via the properties screen displayed by the printer driver's print settings UI360. Figure 15 is an example of the properties screen, showing the case where the setting item "Confirm user settings information when printing" is selected and a list of setting values is displayed. The setting values available are "On" and "Off". Users can change the setting by selecting a setting value from this list. When the print settings UI360 detects that the user has changed the setting, it makes a specific description in the function definition section of the device function text file 332 based on this setting information. Based on this specific description, the printing system 337 changes the settings of the storage area 340 associated with the print queue corresponding to the printer driver.
[0046] Figure 13 illustrates the specific description. The setting for each print queue is expressed by specifying the *FeatureType:PRINTER_PROPERTY attribute (1201) for the Feature attribute. If "On" is set in the properties screen, option 1203 indicating ON is described, and the description of option 1202 is deleted. Also, if "Off" is set in the properties screen, option 1202 indicating OFF is described. The printing system 337 updates the settings of the storage area 340 by referring to this description.
[0047] Next, the specific control method for the change process will be explained using the flowchart in Figure 20. Each operation (step) shown in the flowchart in Figure 20 is realized by the CPU 201 reading the programs for realizing each module, component, and application stored in the external memory 209 into the RAM 202 and executing them. When describing the control provided by each control module, component, and application, the parts realized by the CPU 201 will be described as the subject. In addition, some processes such as display, acceptance of user operations, and data transmission and reception processing will be realized through the cooperation of the CPU 201, each I / F, and the input / output devices connected to the I / F.
[0048] First, in step S2001, the print settings UI360 retrieves the setting information stored in association with the print queue and displays a screen including the options exemplified in Figure 15. Next, in step S2002, the print settings UI360 transitions to a state where it accepts user input and accepts user input. This input includes changing the setting whether or not to use the secure print function. In step S2003, the print settings UI360 determines whether or not input has been made by the user, and returns to step S2002 if no input has been made. On the other hand, if input has been made, it proceeds to step S2004. Next, in step S2004, the print settings UI360 works with the OS to save the setting information entered in step S2002 to the storage area 340 associated with the print queue, and terminates the series of processes. The setting whether or not to use the secure print function stored in the print queue is referred to in the flowchart described later.
[0049] Next, the print-start process will be explained using Figures 7 to 9. Each operation (step) shown in the flowcharts of Figures 7 and 8 is realized by the CPU 201 reading the programs for realizing each module, component, and application stored in the external memory 209 into the RAM 202 and executing them. When describing the control provided by each control module, component, and application, the parts realized by the CPU 201 will be used as the subject of the description. In addition, some processes such as display, acceptance of user operations, and data transmission and reception processing are realized through the cooperation of the CPU 201, each I / F, and the input / output devices connected to the I / F. First, in step S701, the OS 210 reads the settings of the registry 353. Next, in step S702, if the registry 353 is not set to start the print-start application 305, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. On the other hand, if registry 353 is configured to launch the print-on-demand application 305, OS201 proceeds to step S703. Furthermore, if registry 353 is configured to not use background tasks, the series of UI launch processes will be skipped.
[0050] Next, in step S703, OS210 starts the print-start application launcher 350. Then, in step S704, the print-start application launcher 350 requests OS210 to start the print-start application 305 as a background task. The touch application execution environment 301 then deploys the print extension application 300 to RAM202, thereby starting the print-start application 305. Next, in step S705, the print-start application 305 obtains a print ticket from the configuration module 331, analyzes the contents of the print ticket, and extracts what function settings and parameters are described from the analysis results.
[0051] Next, in step S713, the print-start application 305 acquires information from the storage area 340 associated with the print queue 308 corresponding to the image forming apparatus used for printing. In this embodiment, it acquires setting information on whether or not to display a pop-up, and proceeds to step S714. In step S714, the print-start application 305 uses the setting information acquired in step S713 to determine whether or not to display a pop-up. If the determination result indicates that the pop-up is not to be displayed, i.e., "off", the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. If the pop-up is to be displayed, i.e., "on", the process proceeds to step S706.
[0052] Then, in step S706, the print-start application 305 determines whether the functions extracted from the print ticket include a secure print function and whether it is set to ON. If secure print is not set in step S706, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. If secure print is set and is set to ON in step S706, in step S707, the print-start application 305 requests the OS 210 to display the print-start UI section 303. Upon receiving the request, the OS 210 assigns a password input UI thread from the thread pool 355 within the OS 210 to the print extension application 300 in step S708, and generates the print-start UI section 303 of the print extension application 300.
[0053] Then, the print-start UI unit 303 is displayed on the display 207. In this embodiment, in step S708, the password input screen shown in Figure 9(A) is displayed. Subsequently, in step S709, the print-start UI unit 303 accepts user input. The text box 810 in Figure 9(A) is a password input text box that accepts password input from the user. Button 811 is an OK button that, upon receiving an operation event such as a click, confirms the password entered in the password input text box 810 and reflects it in the print ticket. If the input in the password input text box 810 is invalid or not entered, the OK button 811 does not need to accept password confirmation by graying it out or displaying a message. Button 812 is a cancel button that cancels printing upon receiving an operation such as a click.
[0054] Returning to the explanation of Figure 8, when the user input is received, the print-start UI unit 303 closes the window and proceeds to step S711. In step S711, the print-start application 305 obtains the print ticket and XPS file from the print-start UI unit 303. Subsequently, in step S712, the print-start application 305 sends the obtained print ticket and XPS file to the filter pipeline manager 335.
[0055] As described above, according to this embodiment, the print-start application 305 analyzes the print ticket and determines the display of the print-start UI based on whether the secure print function is enabled or disabled. Therefore, when the secure print function is enabled, it becomes possible to display a screen that forces the user to enter information. Furthermore, according to this embodiment, it is possible to switch whether or not to display a pop-up for each print queue associated with the image forming apparatus. Thus, it becomes possible to display screens that conform to the intentions of the user and administrator.
[0056] (Second Embodiment) In the first embodiment, a mechanism was described in which the display of the print-start UI section is determined by whether the secure print function is enabled or disabled, thereby displaying a screen that forces the user to input information. In this embodiment, a mechanism is described in which the presence or absence of a password parameter is also used to determine the display of the print-start UI section.
[0057] The specific processing according to this embodiment will be explained using Figures 16 and 17. Each application and module is stored in external memory 209, loaded into RAM 202 as needed, and executed by CPU 201 on client computer 101. Detailed explanations of numbers that have already been explained will be omitted. The process of starting the print-start application 305 shown in steps S1201 to S1204 is the same as steps S701 to S704 in Figure 7 of the first embodiment, so a detailed explanation will be omitted. Then, in step S1205, the print-start application 305 obtains a print ticket from the configuration module 331, analyzes the contents of the print ticket, and extracts what kind of function settings and parameters are described.
[0058] Next, in step S1214, the print-start application 305 acquires information from the storage area 340 associated with the print queue 308. In this embodiment, it acquires setting information on whether or not to display a pop-up, and proceeds to step S1215. In step S1215, the print-start application 305 uses the setting information acquired in step S1214 to determine whether or not to display a pop-up. If the pop-up is not to be displayed, i.e., "off" is set, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. If the pop-up is to be displayed, i.e., "on" is set, the process proceeds to step S1206.
[0059] Then, in step S1206, the print-start application 305 determines whether the functions extracted from the print ticket include a secure print function and whether it is set to ON. If secure print is not set in step S1206, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. On the other hand, if secure print is set and is set to ON in step S1206, then in step S1207, it determines whether there is a password in the print ticket.
[0060] Then, in step S1207, if the print-start application 305 determines that there is no password in the print ticket, in step S1208, the print-start application 305 requests the OS 210 to display the print-start UI unit 303. Upon receiving the request, the OS 210 assigns a password input UI thread from the thread pool 355 within the OS 210 to the print extension application 300 in step S1209, and generates the print-start UI unit 303 of the print extension application 300. The print-start UI unit 303 is then displayed on the display 207. In this embodiment, the password input screen shown in Figure 9(A) is displayed in step S1209. Subsequently, in step S1210, the print-start UI unit 303 accepts user input.
[0061] Here, the text box 810 in Figure 9(A) is a password input text box that accepts password input from the user. The OK button 811 is an OK button that, upon receiving an operation event such as a click, confirms the password entered in the password input text box 810 and reflects it in the print ticket. The OK button 811 does not have to accept password confirmation if the input in the password input text box 810 is invalid or empty, by graying it out or displaying a message. The button 812 is a cancel button that cancels printing upon receiving an operation such as a click.
[0062] Returning to the explanation in Figure 17, when the user input is received, the print-start UI unit 303 closes the window and proceeds to step S1212. In step S1212, the print-start application 305 obtains the print ticket and XPS file from the print-start UI unit 303. Subsequently, in step S1213, the print-start application 305 sends the obtained print ticket and XPS file to the filter pipeline manager 335.
[0063] As described above, according to this embodiment, the print-start application 305 analyzes the print ticket and determines the display of the print-start UI based not only on whether the secure print function is enabled or disabled, but also on the presence or absence of a password parameter. Therefore, the screen can be displayed to the user only if the password for the secure print function has not been entered.
[0064] (Third embodiment) In the second embodiment, a mechanism was described that uses the presence or absence of a password parameter to determine the display of the print-start UI unit. In this embodiment, a mechanism is described that uses the presence or absence of a password parameter to dynamically change the type of screen displayed in the print-start UI unit. The specific processing according to this embodiment will be explained using Figures 18 and 19. Each application and module is stored in external memory 209, loaded into RAM 202 as needed, and executed by CPU 201 on client computer 101. Also, detailed explanations of numbers that have already been explained will be omitted. The process of starting the print-start application 305 shown in steps S1301 to S1304 is the same as steps S701 to S704 in Figure 7 of the first embodiment, so a detailed explanation will be omitted. Then, in step S1305, the print-start application 305 obtains a print ticket from the configuration module 331, analyzes the contents of the print ticket, and extracts what kind of function settings and parameters are described.
[0065] Next, in step S1316, the print-start application 305 acquires information from the storage area 340 associated with the print queue 308. In this embodiment, it acquires setting information on whether or not to display a pop-up, and proceeds to step S1317. In step S1317, the print-start application 305 uses the setting information acquired in step S1316 to determine whether or not to display a pop-up. If the pop-up is not to be displayed, i.e., "off" is set, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. If the pop-up is to be displayed, i.e., "on" is set, the process proceeds to step S1306.
[0066] Then, in step S1306, the print-start application 305 determines whether the functions extracted from the print ticket include a secure print function and whether it is set to ON. If secure print is not set in step S1306, the OS 210 skips the series of UI startup processes and proceeds to the data conversion and transmission processes from step S603 onwards. On the other hand, if secure print is set and is set to ON in step S1306, then in step S1307, it determines whether there is a password in the print ticket.
[0067] Then, in step S1307, if the print-start application 305 determines that there is no password in the print ticket, in step S1308, the print-start application 305 requests the OS 210 to display a warning print-start UI section 303. Upon receiving the request, in step S1309, the OS 210 assigns a password input UI thread from the thread pool 355 within the OS 210 to the print extension application 300, and generates the print-start UI section 303 of the print extension application 300 on the warning screen. The print-start UI section 303 generated on the warning screen is then displayed on the display 207. In this embodiment, the screen shown in Figure 9(B) is displayed in step S1309.
[0068] On the other hand, if the print-start application 305 determines in step S1307 that there is a password in the print ticket, in step S1314 the print-start application 305 requests the OS 210 to display the confirmation print-start UI section 303. Upon receiving the request, the OS 210 assigns a password input UI thread from the thread pool 355 within the OS 210 to the print extension application 300 in step S1315, and generates the print-start UI section 303 of the print extension application 300 on the confirmation screen. The print-start UI section 303 generated on the confirmation screen is then displayed on the display 207.
[0069] In this embodiment, the screen shown in Figure 9(C) is displayed in step S1315. The processing after displaying the print-start UI unit 303, which is generated for warning or confirmation, is common and will be explained using Figure 9(B). In step S1310, the print-start UI unit 303 accepts user input. The text box 820 in Figure 9(B) is a password input text box that accepts password input from the user. The OK button 821 is an OK button that, upon receiving an operation event such as a click, confirms the password entered in the password input text box 820 and reflects it in the print ticket. If the input in the password input text box 820 is invalid or not entered, the OK button 821 does not need to accept password confirmation by graying it out or displaying a message. The Cancel button 822 is a Cancel button that cancels printing upon receiving an operation such as a click.
[0070] Returning to the explanation of Figure 19, when the user input is received, the print-start UI unit 303 closes the window and proceeds to step S1312. In step S1312, the print-start application 305 obtains the print ticket and XPS file from the print-start UI unit 303. Subsequently, in step S1313, the print-start application 305 sends the obtained print ticket and XPS file to the filter pipeline manager 335.
[0071] As described above, according to this embodiment, the print-start application 305 analyzes the print ticket, determines the display of the print-start UI based on the presence or absence of a password parameter, and dynamically changes the type of screen to display. Therefore, it is possible to inform the user of the situation in which it is occurring.
[0072] (Other examples) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0073] Furthermore, although preferred embodiments of the present invention have been described, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of its gist.
Claims
1. An application program, A standard driver that generates printable data for multiple printers of multiple printer vendors and causes an information processing device to transmit the print data to the multiple printers of the multiple printer vendors, and supports a standard driver that is different from multiple printer drivers provided by each of the multiple printer vendors. The aforementioned information processing device, An application program characterized by displaying a reception unit that accepts an operation to cause the printer to perform the following action: printing of the print data generated by the standard driver and sent to the printer will not start until a predetermined user operation is performed on the printer, and the printer will start printing only after the predetermined user operation has been performed.
2. The application program according to claim 1, characterized in that the information based on the operation received by the reception unit is stored in a print ticket written in XML format.
3. The application program according to claim 1 or 2, characterized in that the application program is an application program corresponding to the Hardware ID obtained from the printer by the OS.
4. The application program according to any one of claims 1 to 3, characterized in that the standard driver generates the print data in PDL format from XPS data.
5. The application program according to any one of claims 1 to 4, characterized in that it displays a message relating to the said operation on the information processing device.
6. The application program according to any one of claims 1 to 5, characterized in that the application program is launched based on an event relating to detailed print settings.
7. A method for controlling an information processing device, A standard driver that generates printable data for multiple printers of multiple printer vendors and causes an information processing device to transmit the print data to the multiple printers of the multiple printer vendors, wherein the standard driver is different from the multiple printer drivers provided by each of the multiple printer vendors, A method characterized in that a reception unit is displayed on the display unit to receive an operation to cause the printer to perform the operation of not starting to print the print data generated by the standard driver and sent to the printer until a predetermined user operation is performed on the printer, and then starting the printer after the predetermined user operation is performed.
8. An information processing device, A standard driver that generates printable data for multiple printers of multiple printer vendors and causes the information processing device to transmit the print data to the multiple printers of the multiple printer vendors, the application program that supports the standard driver which is different from multiple printer drivers provided by each of the multiple printer vendors, An information processing apparatus characterized by having a display control means that displays on a display unit by executing an application program a reception unit that receives an operation to cause the printer to perform an operation in which the printer does not start printing the print data generated by the standard driver and sent to the printer until a predetermined user operation is performed on the printer, and then starts printing after the predetermined user operation is performed.
Citation Information
Patent Citations
Print instruction apparatus, printing apparatus, printing system, and program
JP2009075772A
Information processor, information processing method, and program
JP2009252116A
Information processing apparatus, method thereof and program
JP2013152609A
Information processing device and control method
JP2014203268A
Print control program, information processor and printing system
JP2014209316A