program

The program addresses the lack of post-print command UI elements in V4 printer drivers by dynamically displaying screens based on print job conditions, enhancing user interaction and secure print functionality.

JP2026099813APending Publication Date: 2026-06-18CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2026-03-26
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

In the context of V4 printer drivers, there is a lack of user interface (UI) elements that can be displayed after a print command is issued, particularly for secure print functions requiring user authentication, due to OS-controlled print processes limiting customization and the cumbersome implementation of pop-ups through special extensions.

Method used

A program that provides a Graphical User Interface (GUI) capable of displaying screens based on print job situations, such as password entry errors, by executing specific steps including receiving a print ticket, determining the need for a screen display, and controlling the display accordingly.

Benefits of technology

Enables the display of user notifications like password input prompts for each print job, overcoming the limitations of V4 printer drivers by allowing dynamic UI adjustments based on print settings and secure print functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026099813000001_ABST
    Figure 2026099813000001_ABST
Patent Text Reader

Abstract

This program provides a pop-up UI that displays a response to each print job, such as a password being missed. [Solution] The application program that provides a GUI (Graphical User Interface) causes the computer to execute the following steps in response to the operating system starting the application program after a user has issued a print command: a receiving step to receive a print ticket including print settings; a determination step to determine whether or not to display a screen related to print settings based on the received print ticket; and a display control step to display a screen related to print settings on the display unit, in accordance with the determination step's decision to display a screen related to print settings.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program that provides a GUI (Graphical User Interface) for printing.

Background Art

[0002] As software for controlling 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 in 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 a 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] In view of the above problems, one objective of the present invention is to provide a program that can display a pop-up UI for each print job according to the situation, such as a password entry error. Another objective of the present invention is to provide a program that can display a pop-up UI in response to a print command being issued. [Means for solving the problem]

[0010] To solve the above problems, the present invention is a program for an application that provides a GUI (Graphical User Interface), and causes a computer to execute the following steps in response to the operating system starting the application program after a user has issued a print command: a receiving step of receiving a print ticket including print settings; a determination step of determining whether or not to display a screen related to print settings based on the received print ticket; and a display control step of displaying a screen related to print settings on a display unit in accordance with the determination step of determining whether or not to display a screen related to print settings. [Effects of the Invention]

[0011] According to the present invention, it is possible to provide a program that can display a pop-up corresponding to the situation, such as a password not being entered, for each print job. [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] It is a schematic diagram of a touch application and a print dialog. [Figure 11] It is a diagram showing an example of printability. [Figure 12] It is a diagram showing an example of a print ticket. [Figure 13] It is a diagram showing an example of the description of defined items in a device function text file. [Figure 14] It is a schematic diagram explaining the data flow during printing. [Figure 15] It is a diagram showing an example of a screen of a UI for selecting whether to perform a pop-up display. [Figure 16] It is a flowchart showing an example of a print startup process according to the second embodiment. [Figure 17] It is a flowchart showing an example of a print startup process according to the second embodiment. [Figure 18] It is a flowchart showing an example of a print startup process according to the third embodiment. [Figure 19] It is a flowchart showing an example of a print startup process according to the third embodiment. [Figure 20] It is a flowchart showing a print setting process according to the first embodiment.

Mode for Carrying Out the Invention

[0013] Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings and tables. The following embodiments do not limit the invention according to the claims, and not all combinations of the features described in the embodiments are essential for the solution means 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 set whether or not to allow background tasks for each UWP app. Registry 353 registers the settings made 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. A program for an application that provides a GUI (Graphical User Interface), A receiving step in which, after a user issues a print command, the operating system receives a print ticket including print settings in response to the application program being launched, A determination step of determining whether or not to display a screen related to print settings based on the received print ticket, In accordance with the determination in the aforementioned determination step which determined to display the screen related to the print settings, a display control step is performed in which the screen related to the print settings is displayed on the display unit. A program that causes a computer to execute something.

2. In the aforementioned determination step, if the received print ticket has authentication print settings configured, it is determined that the screen related to the print settings will be displayed. In the display control step, the screen related to the authentication print is displayed. The program according to feature 1.

3. The aforementioned determination step further determines whether or not a password has been set for the authentication print, If it is determined that the password has been set, the display control step displays a screen related to the authentication printout that prompts the user to confirm the password on the display unit. The program according to claim 1 or 2.

4. If it is determined that no password has been set, the display control step displays a screen related to the authentication printout that prompts the user to enter a password on the display unit. The program according to feature 3.

5. A specific process to identify the print queue to be used for printing, A second determination step to determine whether or not to display the screen related to the print settings when using the identified print queue, The computer is then made to perform the following: If the second determination step determines that the screen relating to the print settings should not be displayed when using the identified print queue, the display control step controls the system to not display the screen relating to the print settings, regardless of the determination made in the determination step. The program according to any one of claims 1 to 4.

6. The computer stores in a predetermined storage area a setting indicating whether or not to display the screen related to the print settings for each print queue. The second determination step involves referring to the settings stored in the predetermined storage area and determining whether or not to display the screen related to the print settings when using the identified print queue. L according to feature 5.

7. The program for the aforementioned application is a UWP (Universal Windows Platform) application program that is installed on the information processing device in accordance with the installation of the V4 printer driver associated with the aforementioned application. The program according to any one of claims 1 to 6.