Application program, information processing device control method, and information processing device

A program addresses the limitations in user notification during printing with V4 printer drivers by enabling the display of pop-up UIs based on print ticket analysis, effectively improving user interaction and error handling.

JP2025061380AActive Publication Date: 2025-04-10CANON KK
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2025005998
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2025-04-10
Estimated Expiration
2038-05-07

AI Technical Summary

Technical Problem

In the context of printing using V4 printer drivers, there is a limitation in notifying users of UI changes after a print instruction is given, particularly in scenarios like password input errors, due to reduced customizability and complexity in inter-process communication.

Method used

A program that provides a graphical user interface (GUI) capable of receiving print tickets, determining whether to display print setting screens based on the tickets, and controlling the display of these screens, thereby enabling pop-up UIs for situations like password input errors.

Benefits of technology

The program effectively allows for the display of pop-up UIs according to specific printing conditions, such as password input errors, enhancing user interaction and error handling in the printing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025061380000001_ABST
    Figure 2025061380000001_ABST
Patent Text Reader

Abstract

To provide a program that allows a pop-up UI to be displayed according to a situation such as an input omission of a password for each print job.SOLUTION: An application program that provides a Graphical User Interface (GUI) makes a computer execute: a reception step of receiving a print ticket including a print setting when the application program is started by an operating system after a user provides a print instruction; a determination step of determining whether to display a screen relating to the print setting based on the received print ticket; and a display control step of displaying on a display part the screen relating to the print setting when it is determined to display the screen relating to the print setting in the determination step.SELECTED DRAWING: Figure 7
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) related to printing. [Background technology]

[0002] A commonly known configuration is to use a printer driver installed in a host computer as control software for an image forming device, and to print on an image forming device connected to the host computer. 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 device can obtain a means of issuing print instructions to the image forming device by providing a printer driver that conforms to the OS specifications.

[0003] When using a version of Microsoft® Windows® earlier than 8 as the host computer's OS, the printer driver is configured with an architecture called a V3 printer driver. A V3 printer driver can provide a function that displays a UI (User Interface) when a print request is made by the user and prompts the user to perform some operation. For example, when a print request is made, a specified event of the configuration module, which is a component of the V3 printer driver, is called, and the configuration module can display a user interface during the event processing.

[0004] Meanwhile, a new architecture called the V4 printer driver has appeared since Windows (registered trademark) 8. In the V4 printer driver architecture, security is emphasized, so the customizability of the printer driver itself is reduced. For example, the above-mentioned configuration module is provided by the OS, and vendors can only provide setting files and script files that customize its operation. To compensate for this reduced customizability, vendors who provide image forming devices 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 (registered trademark) 10 and later, applications can be created in a new platform format called Universal Windows Platform (UWP). Such applications are called UWP Device Apps. UWP Device Apps extend the functionality of WSDA and can add an application called Workflow (WF) to WSDA.

[0006] With the WF function, a thread without a UI called a background task is generated by the OS during printing. The background task can also call a foreground task (UI). The image forming device also has a function that uses an authentication function called secure print (also called authenticated print). When using this function, the printer driver sends a print job with authentication information such as a password to the image forming device. The image forming device receives the print job with the authentication information added, and the printout becomes possible after the user authenticates on the image forming device. When this function is used, output does not start when a print instruction is issued, and output does not occur unless the user is authenticated by the image forming device, making it possible to output the printed matter safely without anyone seeing it. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] JP 2015-166918 A Summary of the Invention [Problem to be solved by the invention]

[0008] In printing using a V4 printer driver, security and convenience are improved, but after a print request is made, the framework provided by the OS takes the lead in controlling the printing. Therefore, in the past, in printing using a V4 printer driver, it was not possible to notify the user with a UI or the like after issuing a print execution instruction. Therefore, even if a secure print function that performs identity verification by password authentication is selected, if the password is not entered, it is not possible to display a pop-up UI to prompt the user to enter the password. As in Patent Document 1, there is a proposal to display a pop-up when converting to print data. However, the XPS filter and V4 printer driver that are responsible for converting to print data need to perform inter-process communication and extensions such as control arbitration, which is cumbersome. In addition, since the pop-up is realized by a special extension, there are still functional limitations.

[0009] In view of the above problems, an object 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 forgotten password entry, etc. Another object of the present invention is to provide a program that can display a pop-up UI in response to a print instruction being issued. [Means for solving the problem]

[0010] In order to solve the above problems, the program of the present invention is an application program that provides a GUI (Graphical User Interface), and causes a computer to execute the following steps in response to the application program being launched by an operating system after a user issues a print instruction: a receiving step of receiving a print ticket including print settings; a judgment step of judging whether or not to display a screen related to print settings based on the received print ticket; and a display control step of displaying the screen related to print settings on a display unit in response to the judgment step of displaying a screen related to the print settings. Effect of the Invention

[0011] According to the present invention, it is possible to provide a program that can display a pop-up for each print job according to a situation such as a forgotten password entry. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram illustrating a system configuration. [Diagram 2] FIG. 2 illustrates an example of a hardware configuration of a client computer. [Diagram 3] FIG. 2 illustrates an example of a software configuration of a client computer. [Figure 4] FIG. 13 is a diagram showing an example of metadata description. [Diagram 5] FIG. 2 is a block diagram showing an example of a printing environment constructed in the printing system. [Figure 6] 5 is a flowchart showing an example of a printing process according to the first embodiment. [Figure 7] 10 is a flowchart showing an example of a printing startup process according to the first embodiment. [Figure 8] 10 is a flowchart showing an example of a printing startup process according to the first embodiment. [Figure 9] 13A and 13B are diagrams illustrating an example of a print dialogue and a UI to be started when printing a warning. [Figure 10] 1 is a schematic diagram of a touch application and a print dialog. [Figure 11] FIG. 11 is a diagram illustrating an example of print capabilities. [Figure 12] FIG. 4 illustrates an example of a print ticket. [Figure 13] 13 is a diagram showing an example of definition items in a device function text file. FIG. [Figure 14] FIG. 4 is a schematic diagram illustrating a data flow during printing. [Figure 15] FIG. 13 is a diagram showing an example of a UI screen for selecting whether to display a pop-up. [Figure 16] 13 is a flowchart showing an example of a printing startup process according to the second embodiment. [Figure 17] 13 is a flowchart showing an example of a printing startup process according to the second embodiment. [Figure 18] 13 is a flowchart showing an example of a printing startup process according to the third embodiment. [Figure 19] 13 is a flowchart showing an example of a printing startup process according to the third embodiment. [Figure 20] 5 is a flowchart showing a print setting process according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The best mode for carrying out the present invention will be described below with reference to the drawings and tables. The following embodiments do not limit the invention according to the claims, and all of the combinations of features described in the embodiments are not necessarily essential to the solution of the invention.

[0014] (First embodiment) First, the configuration of the system according to the present embodiment will be described with reference to FIG. 1. FIG. 1 is a schematic diagram showing an outline of the system configuration according to the present embodiment. The system according to the present embodiment includes 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 a page description language (hereinafter referred to as PDL) format and performs printing. Each device can communicate with each other through a network 103 including a wide area network (WAN). The printer 102 may be a single-function printer having only a print function, or may be a multifunction printer having a print function, a scan function, and a copy function. The client computer 101 is not limited to one, and multiple computers may be connected to the network 103.

[0015] 2 is a block diagram showing a hardware configuration of the client computer 101 in FIG. 1. In the client computer 101, a central processing unit (CPU 201) controls each device connected to a system bus according to a program stored in a random access memory (RAM 202). The client computer 101 is assumed to include at least one CPU 201. In addition, the software configuration of the client computer 101 and the processing of each step of a flowchart described later are realized by the CPU 201 executing processing based on a program stored in an external memory 209. The RAM 202 functions as a main memory, a work area, etc. of the CPU 201. Various programs such as a boot program and a basic input / output system (BIOS) are written in a read-only memory (ROM) 203.

[0016] The operation input device interface (I / F) 204 is an interface that controls an operation input device 205 such as a keyboard, a pointing device (mouse), or a touch UI (User Interface). The operation input device 205 functions as a reception unit that receives operations from a user. The display I / F 206 controls display of a screen on a display 207. The display 207 functions as a display unit that displays information to a user. The external memory I / F 208 controls access to an external memory 209 such as a hard disk (HD) or a solid state disk (SSD). The external memory 209 stores an operating system program (OS) 210, an application execution environment 213, various applications 212 corresponding to the touch panel and desktop, various files, and the like. The external memory 209 functions as a storage medium that can be read by the client computer 101. The network I / F 215 is connected to the printer 102 via the network 103 and performs communication control processing. The server 104 also includes the same hardware configuration as the client computer 101 and operates in the same manner.

[0017] Next, the software configuration of the client computer 101 will be described with reference to Fig. 3. First, a description will be given of the operating software within the client computer 101. The software within the client computer 101 is composed of three layers: an OS 210, an application execution environment 213, and an application 212.

[0018] First, the individual elements constituting the OS 210 will be described. The OS 210 is largely composed of a printing system 337, a printer driver 211, an external setting file group 352, and a thread pool 355. Next, the elements constituting the external setting file group 352 of the OS 210 will be described. The metadata 320 of the external setting file group 352 is definition information having identifiers of both the print extension application 300 and the print queue 308, and plays a role of associating them with each other. The metadata 320 will be described later with reference to FIG. 4. The registry 353 is an area in which the settings of the OS 210 are described. In the registry 353, a setting of whether or not the print start application launcher 350 described later starts the print start application 305, which is a background task, can be registered. A background task is a function available in UWP Apps (Universal Windows Platform) applications. A background task is mainly used to realize processes such as maintaining the latest state and receiving update information even when the user does not operate the app. On the other hand, if an app runs in the background, it consumes battery and computing resources. For this reason, the OS 210 provides the user with a function for setting whether or not to permit the use of background tasks for each UWP app. In the registry 353, the setting for whether or not to permit the use of background tasks for each application, which is set via the function, is registered.

[0019] Next, the elements that make up the printing system 337 will be described. The print queue 308 is an area that temporarily stores print jobs when printing is performed using a printer present in the network 103. In this embodiment, it is assumed that the print queue 308 of the printer 102 has been created. When the print queue 308 is created, a memory area 340 linked to the print queue is generated based on some of the functions described in the device function text file 332. The memory 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 data to be printed from the application 212. The XPS files stored in the spooler 325 are converted into PDL through a filter pipeline manager 335 (described later) and then transmitted to the printer 102 via the spooler 325.

[0021] The filter pipeline manager 335 is configured as a part of the OS 210, and the filter 330 is one of the elements that configure the printer driver 211, which will be described later. The filter pipeline manager 335 reads one or more filters 330 based on the definition of a filter config 336, and converts the XPS file stored in the spooler 325 into a PDL file.

[0022] The configuration module 331 is a module that has functions such as generating and modifying print tickets and correcting invalid settings. By calling the API (Application Programming Interface) of the configuration module 331, it is possible to obtain a print ticket, which is print setting information, and a print capability, which is device capability information. The print ticket and print capability are written in the Extensible Markup Language (XML) format.

[0023] A detailed print setting UI unit 304, a print-time startup application 305, and a print-time startup UI unit 303 of the print extension application 300 (described later) call the API of a configuration module 331 of the selected printer driver 211. This acquires a print ticket and print capabilities. A print-time startup application launcher 350 starts the print-time startup application 305 based on settings stored in a registry 353 when printing is performed from the application 212.

[0024] The printer driver 211 is composed of a filter 330, a filter config 336, a script file 333, a print setting UI 360, and a device function text file 332. The filter 330 is a module called by a filter pipeline manager 335, and has a role of converting an XPS file into a PDL. The filter config 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, in which the device functions are described, customize the operation of the configuration module 331. The print setting UI 360 is a UI that provides a setting change function that operates in a desktop application execution environment 323 described later, and edits a print ticket, which is a print setting linked to the print queue 308. It is also possible to have an editing function for a memory area 340 linked to the print queue 308. The thread pool 355 is a module that accumulates threads used when various applications 212 and modules in the OS 210 are executed.

[0025] Next, a description will be given of the individual elements constituting the application execution environment 213. The application execution environment 213 is composed of a desktop application execution environment 323 and a touch application execution environment 301. The touch application execution environment 301 has a group of APIs for executing a touch application 321, which is a type of application 212 described later, and a print extension application 300, and also performs memory management when executing them. On the other hand, the desktop application execution environment 323 has a group of APIs for executing a desktop application 322, which is a type of application 212 described later, and also performs memory management when executing them.

[0026] Next, individual elements constituting the application 212 will be described. The application 212 is composed of three types of applications: a touch application 321, a print extension application 300, and a desktop application 322. The touch application 321 is a type of the application 212, and runs on a touch application execution environment 301. The touch application 321 is selected by the user himself through an application distribution system published on the Internet, and installed in the client computer 101. The print extension application 300 is a type of the touch application 321, and runs on the touch application execution environment 301 like the touch application 321. The print extension application 300 is acquired by the OS 210 from the application distribution system via the Internet, and installed in the client computer 101. The print extension application 300 is composed of a tile application unit 302, a detailed print setting UI unit 304, a print-time start application 305, and a print-time start UI unit 303.

[0027] The tile application unit 302 displays a tiled UI (for example, a GUI (Graphical User Interface)) when a user operation is performed to start the print extension application 300. The detailed print setting UI unit 304 displays a detailed print setting UI when a detailed print setting event is received from the OS 210. The detailed print setting UI unit 304 generates a detailed print setting UI based on a print ticket and print capability acquired from the configuration module 331 through an API. The detailed print setting UI unit 304 returns the print ticket to the configuration module 331 after changing the value of the print ticket according to a user input. The print start application 305 and the print start UI unit 303 provide a function called Workflow (WF) that executes a process related to printing when a predetermined user operation or the like is triggered. The print start application 305 is a component for executing a background task started by the print start application launcher 350 when a print event is issued. The print-time startup application 305 acquires a print ticket and reads and writes its contents through the API of the configuration module 331. The print-time startup application 305 determines whether to start the print-time startup UI unit 303, which is a component for executing a foreground task, from the print ticket settings and parameters, and requests the OS 210 to start the print-time startup UI unit 303.

[0028] When the print-time start application 305 determines not to start the print-time start UI unit 303, the print-time start application 305 proceeds to the print process described below without starting the print-time start UI unit 303. The print-time start application 305 also transfers print ticket settings and parameters to and from the print-time start UI unit 303 via the app store 334. The print-time start UI unit 303 acquires print tickets and print capabilities and changes settings. In this embodiment, the print-time start UI unit 303 displays a UI for checking printing and a UI for allowing the user to input settings that have not been input. Here, the printer 102, which is a device, and the print extension application 300 are associated with each other by metadata 320.

[0029] FIG. 4 is an example of the description of the metadata 320. FIG. 4(A) is an example of the description showing a list of device information associated with the print extension application 300. In the metadata 320, a HardwareIDList tag 402 showing a list of the printers 102 is described. Note that the Hardware ID is identification information for uniquely identifying the printer, which is returned from the printer. An item 403 represents the printer 102 having a Hardware ID of MFP1_abcd, and similarly, an item 404 represents the printer 102 having a Hardware ID of MFP2_ijkl. In this manner, a plurality of printers 102 to be associated with the print extension application 300 can be listed in one metadata 320. In this embodiment, as an example, the metadata 320 is illustrated as having the Hardware IDs of two printers, but is not limited thereto. There may be one, or three or more.

[0030] 4B, a DeviceCompanionApplications tag 411 indicating the print extension application 300 is described. An item 412 describes the ID and vendor ID of the print extension application 300. In this embodiment, a value of 1234abcd.MFPUtility represents the print extension application 300. And a value of 12345678-abcd-efgh-ijkl-123456789012 represents the printer vendor that provides the print extension application 300.

[0031] 4A and 4B, the printer 102, which is a device, is associated with the print extension application 300. When the printer 102 is connected to the client computer 101, the OS 210 searches for the metadata 320 registered in a predetermined server (a metadata server managed by Microsoft (registered trademark)). When the OS 210 finds the metadata 320 in which the Hardware ID returned by the connected printer 102 is described in the HardwareIDList, the OS 210 saves the metadata 320 in the external memory 209 in which the client computer 101 is installed. Furthermore, the OS 210 acquires the print extension application 300 described in the DeviceCompanionApplication tag 411 of the saved metadata 320 from an application distribution system (not shown). The OS 210 installs the print extension application 300 in the external memory 209 and associates it with the printer 102.

[0032] This makes it possible to start the print extension application 300 when a print request is made to the 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 automatic installation of the print extension application 300 that is optimal for the device connected to the user environment when the printer driver 211 is installed in the user environment.

[0033] 5 is a diagram showing an example of a printing environment constructed by metadata 320. MFP 501, which is printer 102, has a Hardware ID of MFP1_abcd. When MFP 501 is connected to client computer 101, OS 210 acquires metadata 320 in which Hardware ID MFP1_abcd is described in a HardwareIDList tag. Furthermore, OS 210 acquires print extension application 300, MFPUtility 506, described in metadata 320, and associates it with MFP 501.

[0034] Note that there may be multiple types of printer drivers installed in client computer 101 for MFP 501. In other words, there may be multiple printer drivers corresponding to MFP 501, which is one device. For example, model-specific printer driver 508 is a dedicated printer driver for MFP 501. Also, universal printer driver 509 is a printer driver that enables printing to multiple types of printers 102 with one printer driver. Note that model-specific printer driver 508 and universal printer driver 509 are drivers specific to each vendor. And standard printer driver 510 is a printer driver that enables printing to printers 102 of multiple vendors with one driver by using a standardized printing method. Standard printer driver 510 is provided together with OS 210 as one of the functions in the OS 210 package.

[0035] In this way, there are multiple printer drivers available for the printer 102, and the printer driver used varies depending on the Internet connection state, the type of OS 210, the usage environment, etc. Normally, the OS 210 refers to the version information of the printer drivers and automatically selects and installs the newest printer driver with the most advanced functions from among the available printer drivers. Note that the printer driver contains information for identifying the device, such as a Hardware ID and a Compatible ID. When a printer is connected to the client computer 101, the OS 210 obtains this ID information from the printer, searches for a printer driver having the corresponding ID, and installs it.

[0036] As described above, a printer vendor that provides a printer can control which print extension application 300 is provided for each printer by providing the metadata 320. For example, a printer vendor can provide one print extension application 300 common to a plurality of printers, or can provide different print extension applications 300 for each printer. However, it is not possible to provide different print extension applications 300 according to the type of printer driver 211 associated with one printer. In FIG. 5, there are three types of printer drivers 211 used by the MFP 501, drivers 508 to 510, but there is always one type of print extension application 300 that can cooperate with each driver.

[0037] Furthermore, in a user's printing environment, there are cases where a plurality of printers 102 or a plurality of types of printers 102 are used for different purposes. For each output destination printer 102, it is necessary to manage the model corresponding to the printer driver 211, the initial values ​​of print settings, and print jobs. For this reason, the OS 210 generates a print queue 308 as an object corresponding to the output destination printer 102 during installation. The OS 210 manages the configuration modules of the printer driver 211 and the initial values ​​of print settings in association with the print queue 308.

[0038] Here, it will be explained that the printer 102 has a secure print function (authentication print function) and how the print extension application 300 knows the function possessed by the printer 102. The printer 102 has a secure print function that requires the input of a password set in the client computer 101 when printing. The functions possessed by the printer 102 are described in a device function text file 332 of the printer driver 211. The print extension application 300 knows that the printer 102 has the secure print function by receiving a print capability generated by a configuration module 331 based on the device function text file 332. In addition, the print extension application 300 knows that the secure print function is set in the current print settings by reading a print ticket generated by the configuration module 331.

[0039] FIG. 11 is an example of print capabilities generated by the configuration module 331 based on the device function text file 332. The print capabilities 1001 shown in FIG. 11 are a list of the capabilities of the printer driver 211 in XML format. The print capabilities 1001 have multiple options in one Feature element. A Feature represents a function, and the options contained in the function represent options. The print capabilities 1001 shows an example of a secure print Feature and Option description in XML. The description of JobSecurePrint in the Feature indicates that the secure print function is possible. Also, it shows that there are two options for the JobSecurePrint Feature: ns0000:SecurePrint, i.e., "on" to enable the function, and ns0000:None, i.e., "off" to disable the function.

[0040] Next, FIG. 12 shows an example of a print ticket generated by the configuration module 331 based on a user's input. In the print ticket, one of the setting values ​​of each function in XML format defined in the print capability is stored as the current print setting. For example, the Feature element ns0000:JobSecurePrint shown in item 1101 indicates a secure print function that authenticates whether or not the user is the person by inputting a password. The Option included in the Feature of JobSecurePrint is ns0000:SecurePrint, which indicates that the secure print function is set to ON. Also, if ns0000:None is set in the Option, it means that the secure print function is set to OFF. Also, if nothing is set in the Option, the print-time startup UI unit 303 in this embodiment determines that it is the same as when ns0000:None is set in the Option. The value "XXXXXX" input as a password for personal authentication is held in psf:ParameterInit shown in item 1102. This diagram shows an example in which secure printing is set to On when printing, a password is entered, and the password value is stored in the print ticket. If secure printing is set to On when printing but no password is entered, the password value will be left blank.

[0041] Next, a basic flow from the touch application 321 to printing will be described with reference to FIG. 6. Each operation (step) shown in the flowchart of FIG. 6 is realized by the CPU 201 reading into the RAM 202 a program for implementing each module, component, and application stored in the external memory 209 and executing it. When describing the control provided by each control module, component, and application, each unit implemented by the CPU 201 will be described as the subject. Also, some processing such as display, acceptance of user operations, and data transmission and reception processing will be realized by the CPU 201, each I / F, and an input / output device connected to the I / F in cooperation with each other. Note that in this embodiment, the description will be given using the touch application 321 (FIG. 10), but it goes without saying that printing can also be performed from the desktop application 322. FIG. 10(A) is a schematic diagram in which the touch application 321 is started. The touch application 321 lists a list of menu options when the menu control button 900 is tapped. Next, when a print item 901, which is an option in the menu, is selected by a user operation, the touch application 321 requests the OS 210 to display a print dialog, and displays the print dialog. FIG. 10B shows a print dialog for performing simple print settings generated by the OS 210. The print dialog is composed of a print setting section 920 and a print event generating section 930. A list of simple print settings is displayed in the print setting section 920. 921 is the name of the selected printer queue 308, and 922 is an example of the print settings that have been set. The print dialog accepts a user operation after being displayed, and generates a print event when a print button 932 of the print event generating section 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 flow for printing, which will be described in FIG. 6. In this embodiment, a mechanism is provided that uses a workflow to display a confirmation UI or a UI for re-inputting settings after printing has started. A specific control method will be described using the basic flow for printing, which is illustrated in FIG. 6. Each application and module is stored in the external memory 209, loaded into the RAM 202 as necessary, and executed by the CPU 201 on the client computer 101. The flow shown in FIG. 6 starts when a print event occurs from the application 212. The application 212 that causes the print event may be 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 has generated the print event to the spooler 325. Next, in step S602, the process of the print-time 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 acquires the print ticket and the XPS file from the spooler or the print-time start application 305 according to the result of the process of step S602. Next, in step S604, the filter pipeline manager 335 reads the filter 330 from the external memory 209 based on the definition of the filter config 336 and loads it in the RAM 202. Next, in step S605, the filter pipeline manager 335 passes the XPS file to the filter 330. Next, in step S606, the filter 330 converts the XPS file into PDL and passes the PDL to the spooler 325. Then, in step S607, the spooler 325 transmits the PDL to the printer 102.

[0044] Next, a basic print flow will be described with reference to FIG. 14. In this flow, printing from a desktop application 322 will be described. To start printing from a desktop application 322 with a print function, the user selects a print queue 308 linked to the printer 102 as the output destination. At that time, various function changes can be made by opening the print setting UI 360 of the printer driver 211 related to the target print queue 308. For example, settings can be changed to "double-sided setting" for double-sided printing on one sheet of paper, or "black and white" for printing the print result in monochrome. Here, in an enterprise environment where multiple image forming devices are mixed, there is a demand for whether or not to display a pop-up UI for each image forming device. Therefore, in this embodiment, it is possible to control the pop-up display for each print queue linked to an image forming device. Specifically, a setting indicating whether or not to display a pop-up is stored in a storage area 340 linked to the print queue.

[0045] Next, a method for changing the setting will be described. The user can change the setting via a property screen displayed by the print setting UI 360 of the printer driver. FIG. 15 is an example of the property screen, illustrating a case where the setting item "Check user setting information when printing" is selected and a list of setting values ​​is displayed. The setting values ​​are "on" and "off". The user can change the setting by selecting a setting value from the list. The print setting UI 360, which detects that the user has performed an operation to change the setting, writes a specific description to the function definition section of the device function text file 332 based on this setting information. The printing system 337 changes the setting of the storage area 340 linked to the print queue associated with the printer driver based on the specific description.

[0046] A specific description will be given with reference to FIG. 13. The settings for each print queue are expressed by describing the *FeatureType:PRINTER_PROPERTY attribute (1201) for the Feature attribute. When "on" is set on the property screen, option 1203 indicating ON is described, and the description of option 1202 is erased. Also, when "off" is set on the property screen, option 1202 indicating OFF is described. The printing system 337 updates the settings in the memory area 340 by referring to this description.

[0047] Next, a specific control method of the change process will be described with reference to the flowchart in Fig. 20. Each operation (step) shown in the flowchart in Fig. 20 is realized by the CPU 201 reading into the RAM 202 a program for realizing each module, component, and application stored in the external memory 209 and executing it. When describing the control provided by each control module, component, and application, each unit realized by the CPU 201 will be described as the subject. Also, some processes such as display, acceptance of user operations, and data transmission and reception processing are realized by the CPU 201, each I / F, and an input / output device connected to the I / F in cooperation with each other.

[0048] First, in step S2001, the print setting UI 360 acquires the setting information stored in association with the print queue, and displays a screen including the options exemplified in FIG. 15. Next, in step S2002, the print setting UI 360 transitions to a state in which it accepts user operations, and accepts user input. The input includes a setting change as to whether or not to use the secure print function. In step S2003, the print setting UI 360 determines whether or not an input has been made by a user operation, and if no input has been made, the process returns to step S2002. On the other hand, if an input has been made, the process proceeds to step S2004. Next, in step S2004, the print setting UI 360 cooperates with the OS to save the setting information input in step S2002 in the storage area 340 associated with the print queue, and the series of processes ends. The setting as to whether or not to use the secure print function stored in the print queue is referred to in a flowchart described later.

[0049] Next, the print start processing will be described with reference to FIG. 7 to FIG. 9. Each operation (step) shown in the flowcharts of FIG. 7 and FIG. 8 is realized by the CPU 201 reading into the RAM 202 a program for implementing each module, component, and application stored in the external memory 209 and executing the program. When describing the control provided by each control module, component, and application, each unit implemented by the CPU 201 will be described as the subject. Also, some processing such as display, acceptance of user operations, and data transmission / reception processing is realized by the CPU 201, each I / F, and an input / output device connected to the I / F in cooperation with each other. First, in step S701, the OS 210 reads the setting 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 a series of UI start processing and proceeds to data conversion and transmission processing from step S603 onward. On the other hand, if the registry 353 is set to start the print startup application 305, the OS 201 advances the process to step S703. Note that if the registry 353 is set to not use a background task, the series of UI startup processes is also skipped.

[0050] Next, in step S703, the OS 210 starts the print-time startup application launcher 350. After that, in step S704, the print-time startup application launcher 350 requests the OS 210 to start the print-time startup application 305 as a background task. Then, the touch application execution environment 301 loads the print extension application 300 in the RAM 202, thereby starting the print-time startup application 305. Next, in step S705, the print-time startup application 305 obtains the 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-time startup application 305 acquires information on the storage area 340 associated with the print queue 308 corresponding to the image forming device used for printing. In this embodiment, setting information on whether or not to display a pop-up is acquired, and the process proceeds to step S714. In step S714, the print-time startup 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 a pop-up is not to be displayed, that is, "OFF" is set, the OS 210 skips a series of UI startup processes and proceeds to the data conversion and transmission processes in and after step S603. If a pop-up is to be displayed, that is, "ON" is set, the process proceeds to step S706.

[0052] Then, in step S706, the print-time startup application 305 determines whether the functions extracted from the print ticket include a secure print function setting and are set to ON. If secure print is not set in step S706, the OS 210 skips a series of UI startup processes and proceeds to data conversion and transmission processes from step S603 onwards. If secure print is set in step S706 and is set to ON, the print-time startup application 305 issues a display request for the print-time startup UI unit 303 to the OS 210 in step S707. In step S708, the OS 210, having received the request, allocates a password input UI thread from the thread pool 355 in the OS 210 to the print extension application 300 and generates the print-time startup UI unit 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, a password input screen shown in FIG. 9A is displayed. Then, in step S709, the print start UI unit 303 accepts a user operation. A text box 810 in FIG. 9A is a password input text box, and accepts a password input from the user. A button 811 is an OK button, and when an operation event such as a click is accepted, the password entered in the password input text box 810 is confirmed and reflected in the print ticket. When the input in the password input text box 810 is invalid or no input is made, the OK button 811 may not accept confirmation of the password by graying out the button or displaying a message. A button 812 is a cancel button, and when an operation such as a click is accepted, the printing is cancelled.

[0054] 8, upon receiving an input from a user operation, the print-time startup UI unit 303 closes the window and proceeds to step S711. Then, in step S711, the print-time startup application 305 acquires a print ticket and an XPS file from the print-time startup UI unit 303. Then, in step S712, the print-time startup application 305 transmits the acquired print ticket and XPS file to the filter pipeline manager 335.

[0055] As described above, according to this embodiment, the print-time startup application 305 analyzes the print ticket and determines whether to display the print-time startup UI section depending on whether the secure print function is enabled or disabled. Therefore, when the secure print function is enabled, it is possible to display a screen that forcibly prompts the user to enter information. Also, according to this embodiment, it is possible to switch whether or not to display a pop-up for each print queue linked to the image forming apparatus. Therefore, it is possible to display a screen in accordance with the intention of the user or administrator.

[0056] Second embodiment In the first embodiment, a mechanism for displaying a screen that forcibly prompts the user to input information by determining whether to display the print-time startup UI section depending on whether the secure print function is enabled or disabled is described. In the present embodiment, a mechanism for using the presence or absence of a password parameter to determine whether to display the print-time startup UI section is described.

[0057] Specific processing according to this embodiment will be described with reference to Figs. 16 and 17. Each application and module is stored in external memory 209, loaded into RAM 202 as necessary, and executed by CPU 201 on client computer 101. Also, detailed description of numbers that have already been described will be omitted. Since the processing up to the start processing of print-time start application 305 shown in steps S1201 to S1204 is the same as steps S701 to S704 in Fig. 7 of the first embodiment, detailed description thereof will be omitted. Then, in step S1205, print-time start application 305 acquires a print ticket from configuration module 331, analyzes the contents of the print ticket, and extracts what function settings and parameters are described.

[0058] Next, in step S1214, the print-time startup application 305 acquires information on the storage area 340 associated with the print queue 308. In this embodiment, setting information on whether or not to display a pop-up is acquired, and the process proceeds to step S1215. In step S1215, the print-time startup application 305 uses the setting information acquired in step S1214 to determine whether or not to display a pop-up. If a pop-up is not to be displayed, that is, if "OFF" is set, the OS 210 skips a series of UI startup processes and proceeds to the data conversion and transmission processes in and after step S603. If a pop-up is to be displayed, that is, if "ON" is set, the process proceeds to step S1206.

[0059] Then, in step S1206, the print-time startup application 305 determines whether the functions extracted from the print ticket include a secure print function setting 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 data conversion and transmission processes from step S603 onwards. On the other hand, if secure print is set and set to ON in step S1206, the print ticket is checked in step S1207 to determine whether a password is included.

[0060] Then, if the print-time startup application 305 determines in step S1207 that there is no password in the print ticket, in step S1208, the print-time startup application 305 issues a display request to the OS 210 for the print-time startup UI unit 303. In step S1209, the OS 210 that has accepted the request allocates a password input UI thread from the thread pool 355 in the OS 210 to the print extension application 300, and generates the print-time startup UI unit 303 of the print extension application 300. Then, the print-time startup UI unit 303 is displayed on the display 207. In this embodiment, in step S1209, a password input screen shown in FIG. 9A is displayed. Then, in step S1210, the print-time startup UI unit 303 accepts a user operation.

[0061] 9A is a password input text box that accepts password input from the user. The OK button 811 is an OK button that, upon accepting an operational 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 no input has been made, the OK button 811 may not accept confirmation of the password by graying out the button or displaying a message. The button 812 is a cancel button that, upon accepting an operational event such as a click, cancels printing.

[0062] 17, upon receiving an input from a user operation, the print-time startup UI unit 303 closes the window and proceeds to step S1212. In step S1212, the print-time startup application 305 acquires a print ticket and an XPS file from the print-time startup UI unit 303. Then, in step S1213, the print-time startup application 305 transmits the acquired print ticket and XPS file to the filter pipeline manager 335.

[0063] As described above, according to this embodiment, the print-time startup application 305 analyzes the print ticket and determines whether to display the print-time startup UI section 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, it is possible to display the screen to the user only if the password for the secure print function is not entered.

[0064] Third embodiment In the second embodiment, a mechanism for using the presence or absence of a parameter called a password to determine whether or not to display the UI section when printing is performed is described. In this embodiment, a mechanism for using the presence or absence of a parameter called a password to dynamically change the type of screen in the display of the UI section when printing is performed is described. A specific process according to this embodiment is described with reference to FIG. 18 and FIG. 19. Each application and module is stored in the external memory 209, and is loaded into the RAM 202 as necessary and executed by the CPU 201 on the client computer 101. Also, detailed description of numbers that have already been described will be omitted. The process up to the start process of the application 305 when printing, shown in steps S1301 to S1304, is the same as the process in steps S701 to S704 in FIG. 7 of the first embodiment, and therefore detailed description thereof will be omitted. Then, in step S1305, the application 305 when printing 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.

[0065] Next, in step S1316, the print-time startup application 305 acquires information on the storage area 340 associated with the print queue 308. In this embodiment, setting information on whether or not to display a pop-up is acquired, and the process proceeds to step S1317. In step S1317, the print-time startup application 305 uses the setting information acquired in step S1316 to determine whether or not to display a pop-up. If a pop-up is not to be displayed, that is, if "OFF" is set, the OS 210 skips a series of UI startup processes and proceeds to the data conversion and transmission processes in and after step S603. If a pop-up is to be displayed, that is, if "ON" is set, the process proceeds to step S1306.

[0066] Then, in step S1306, the print-time startup application 305 determines whether the functions extracted from the print ticket include a secure print function setting 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 data conversion and transmission processes from step S603 onwards. On the other hand, if secure print is set and set to ON in step S1306, the print ticket is checked in step S1307 to determine whether a password is included.

[0067] Then, if the print-time startup application 305 determines in step S1307 that there is no password in the print ticket, in step S1308, the print-time startup application 305 issues a display request for the print-time startup UI unit 303 for warning to the OS 210. In step S1309, the OS 210 that has accepted the request allocates a password input UI thread from the thread pool 355 in the OS 210 to the print extension application 300, and generates the print-time startup UI unit 303 of the print extension application 300 in a warning screen. Then, the print-time startup UI unit 303 generated in the warning screen is displayed on the display 207. In this embodiment, the screen shown in FIG. 9B is displayed in step S1309.

[0068] On the other hand, if the print-time startup application 305 determines in step S1307 that the print ticket contains a password, then in step S1314 the print-time startup application 305 issues a request to the OS 210 to display the print-time startup UI unit 303 for confirmation. In step S1315, the OS 210 that has accepted the request allocates a password input UI thread from the thread pool 355 in the OS 210 to the print extension application 300, and generates the print-time startup UI unit 303 of the print extension application 300 on a confirmation screen. The print-time startup UI unit 303 generated on the confirmation screen is then displayed on the display 207.

[0069] In this embodiment, the screen shown in FIG. 9C is displayed in step S1315. The process after displaying the print-time startup UI unit 303 generated for warning or confirmation is common, and will be described using FIG. 9B. In step S1310, the print-time startup UI unit 303 accepts a user operation. The text box 820 in FIG. 9B is a password input text box, and accepts a password input from the user. The OK button 821 is an OK button, and when an operation event such as a click is accepted, the password entered in the password input text box 820 is confirmed and reflected in the print ticket. When the input in the password input text box 820 is invalid or no input is made, the OK button 821 may not accept confirmation of the password by displaying a grayed-out or message. The cancel button 822 is a cancel button, and when an operation such as a click is accepted, the printing is cancelled.

[0070] 19, upon receiving an input from a user operation, the print-time startup UI unit 303 closes the window and proceeds to step S1312. In step S1312, the print-time startup application 305 acquires a print ticket and an XPS file from the print-time startup UI unit 303. Then, in step S1313, the print-time startup application 305 transmits the acquired print ticket and XPS file to the filter pipeline manager 335.

[0071] As described above, according to this embodiment, the print-time startup application 305 analyzes the print ticket, determines whether to display the print-time startup UI section depending on the presence or absence of a password parameter, and dynamically changes the type of screen to be displayed. This makes it possible to inform the user of the situation that is occurring.

[0072] (Other Examples) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0073] Although the 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 the gist of the present invention.

Claims

1. A program for an application that provides a GUI (Graphical User Interface), a receiving step of receiving a print ticket including print settings in response to the application program being started by an operating system after a print instruction is given by a user; a determination step of determining whether or not to display a screen regarding print settings based on the received print ticket; a display control step of displaying a screen regarding print settings on a display unit in response to the determination step of displaying the screen regarding print settings; A program for causing a computer to execute the following.

2. In the determination step, if the received print ticket has a setting for authentication printing, it is determined that a screen regarding the print setting is to be displayed; In the display control step, a screen relating to the authentication print is displayed.

2. The program according to claim 1 .

3. The determination step further includes determining whether or not a password for authentication printing is set; If it is determined that the password has been set, the display control step displays on the display unit a screen related to the authentication print, the screen prompting the user to confirm the password.

3. The program according to claim 1 or 2.

4. If it is determined that the password has not been set, the display control step displays a screen related to the authentication print, which prompts the user to input a password, on the display unit.

4. The program according to claim 3.

5. A process of identifying a print queue to be used for printing; a second determination step of determining whether or not to display a screen relating to the print settings when the specified print queue is used; and causing the computer to further execute the steps: When it is determined in the second determination step that the screen regarding the print settings is not to be displayed when the specified print queue is used, the display control step controls so that the screen regarding the print settings is not displayed, regardless of the determination in the determination step.

5. The program according to claim 1, wherein the program is a program for executing a program.

6. the computer stores in a predetermined storage area a setting indicating whether or not to display a screen relating to the print settings for each of the print queues; The second determination step refers to the settings stored in the predetermined storage area, and determines whether or not to display a screen related to the print settings when the specified print queue is used.

6. The program according to claim 5 .

7. The application program is a UWP (Universal Windows Platform) application program that is installed in the information processing apparatus in response to the installation of a V4 printer driver related to the application.

7. The program according to claim 1, wherein the program is a program for executing a program.

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