Information Processing Apparatus, Control Method, and Control Program
An application program with a general-purpose printer driver provides an alternative UI to manage print settings, reducing dependency on OS specifications and supporting mobile devices by avoiding prohibited combinations.
Patent Information
- Application Number
- JP2024093618
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-06-29
- Filing Date
- 2024-06-10
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2039-05-17
AI Technical Summary
Existing platforms, including mobile devices, face challenges in supporting print settings due to dependencies on general-purpose operating systems and device drivers, making it difficult to include processing and data necessary for prohibited operations, such as printer drivers.
An application program collaborates with a general-purpose printer driver to provide an alternative print settings UI that receives user inputs, controls settings to avoid prohibited combinations, and outputs settings that the image forming apparatus can execute, utilizing a mechanism that reduces dependency on OS specifications.
This approach allows for reduced processing reliance on general-purpose operating systems and device drivers, enabling support for mobile devices and ensuring compliant print settings.
Smart Images

Figure 0007711265000001 
Figure 0007711265000002 
Figure 0007711265000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a control program. For example, it relates to a system capable of processing print settings and the like.
Background Art
[0002] As software for controlling an image forming apparatus, there is 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. 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 providing the image forming apparatus can obtain a means for giving a print instruction to the image forming apparatus by providing a printer driver that conforms to the OS specifications.
[0003] However, in recent years, the OS side has prepared a general-purpose printer driver and provides a means for giving a print instruction using an industry standard protocol such as IPP (Internet Printing Protocol).
[0004] Conventionally, for a printer driver prepared by a printer vendor, prohibited information could be included inside the printer driver.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] In order to construct a platform environment that can also support mobile devices including smartphones and tablets, there is a need to reduce the parts that depend on peripheral devices from general-purpose operating systems or general-purpose device drivers. In such a platform environment, there is a problem that it is difficult to include the processing that depends on the specifications of each peripheral device in the general-purpose operating system or the general-purpose device driver. Also, there is a problem that it is difficult to include the processing and data necessary for prohibited processing such as printer drivers in the general-purpose operating system or the general-purpose device driver.
[0007] The present invention has been made in view of at least one of the above problems. One object of the present embodiment is to provide a mechanism for reducing the processing that depends on the specifications of each peripheral device from the general-purpose operating system or the general-purpose device driver.
[0008] Another further object of the present embodiment is to provide a mechanism related to a platform environment that can also support mobile devices including smartphones and tablets.
Means for Solving the Problems
[0009] One aspect of the present invention is An application program that collaborates with a general-purpose printer driver, where the general-purpose printer driver issues a print instruction to an image forming apparatus according to IPP, and the general-purpose printer driver is provided by the provider of the operating system of the information processing apparatus, and the application program is for the information processing apparatus in response to receiving a predetermined operation on the print settings UI provided by the general-purpose printer driver display another print settings UI a display step to and, via the other print settings UI, receive from a plurality of settings values from the user a reception step to and control a plurality of setting values so that the combination of settings values that cannot be executed by the image forming apparatus is not included in control the a step, and an output step of outputting to the operating system a print setting such that a combination of setting values that cannot be executed by the image forming apparatus is not included by the control to be executed, which is an application program.
Effects of the Invention
[0010] According to one aspect of the present invention, it is possible to provide a mechanism for reducing the processing that depends on the specifications of each peripheral device from the general-purpose operating system or the general-purpose device driver.
[0011] According to another aspect of the present invention, a mechanism regarding a platform environment compatible with mobile devices can be provided.
Brief Description of Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Modes 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.
[0014] (First Embodiment) First, the configuration of the system according to this embodiment will be described with reference to FIG. 1. FIG. 1 shows a schematic diagram representing the outline of the system configuration according to this embodiment. The system according to this 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 the form of a Page Description Language (hereinafter referred to as PDL) and performs printing. Each device can communicate with each other through a network 103 including a Wide Area Network (WAN). Note that the printer 102 may be a single-function printer having only a printing function, or may be a multi-function printer having a printing function, a scanning function, and a copying function. Also, a plurality of client computers 101 may be connected to the network 103, not limited to one.
[0015] Figure 2 is a block diagram showing the hardware configuration of the client computer 101 in FIG. 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). Note that the client computer 101 is assumed to include at least one CPU 201. In addition, by executing processing based on the program stored in the external memory 209 by the CPU 201, the software configuration of the client computer 101 and the processing of each step of the flowchart described later are realized. The RAM 202 functions as the main memory, work area, etc. of the CPU 201. The read-only memory (ROM) 203 has various programs such as a boot program and a basic input / output system (BIOS) written therein. 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), and a touch UI (User Interface). The operation input device 205 functions as a reception unit that receives operations from the user. The display I / F 206 controls the screen display to the display 207. The display 207 functions as a display unit that displays information to the user. The external memory I / F 208 controls access to an external memory 209 such as a hard disk (HD) and a solid state disk (SSD). The external memory 209 stores, among other things, an operating system program (OS) 210, an application execution environment 213, a plurality of various applications 212 corresponding to the touch panel and the desktop respectively, and various files. And it functions as a storage medium readable 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. Note that the server 104 also has the same configuration as the hardware configuration of the client computer 101 and operates in the same manner. The plurality of various applications 212 in FIG. 2 include at least the extended printing application 300, the desktop application 302, and the touch application 301 in FIG. 3. The printer driver 211 includes a general-purpose printer driver 320.The instruction sequences of these multiple programs are read into and executed in the RAM 202 under the control of the CPU 201, thereby triggering the processing of the flowchart described with the figures to be mentioned later.
[0016] Next, FIG. 3 shows a block diagram of the printing system of this embodiment. The user executes a printing process from a desktop application or a touch application. The printing process is executed by sequentially performing three processes: selection of a printer, creation of print settings, and conversion of drawing data.
[0017] In this embodiment, the software in the client computer 101 is composed of various application programs such as the desktop app 302, the touch app 301, and the printing extension app 300. These software programs operate on the OS 210. Various configurations will be described below. The OS 210 may include a print manager 331, an I / O monitor 332, an XMS spool file 330, and a registry 333. The general-purpose print management unit 321 manages the control of various modules and the transfer of data within the general-purpose print driver described later. It also generates and changes print setting information. The registry 323 is an area where the settings of the OS 210 are described. The print manager 331 schedules print processing. The I / O monitor 332 communicates with the printer 102. The general-purpose print setting UI 322 is a UI for performing print settings and changes belonging to the general-purpose printer driver. The GDItoXPS conversion processing unit 328 converts the drawing data, which is the drawing data when printed from the desktop app 302, into XPS, generates an XPS spool file 330, and passes it to the spooler within the OS 3210. The rendering processing unit 329 renders the XPS spool file 330 and converts it into PDL. The touch app 301 is selected by the user himself / herself through an application distribution system published on the Internet and installed on the client computer 101. The printing extension app 300 is a type of touch app, which is obtained by the OS 210 from the application distribution system via the Internet and installed on the client computer 101. The application data area 307 is an area for storing unique data used for each application. However, it can be configured so that other applications cannot access it. The prohibited information presence / absence determination module 301 determines whether the prohibited information 340 of the printer 102 associated with the printing extension app is stored in the application data area 307. The prohibited information storage module 342 stores the prohibited information 340 of the printer 102 associated with the printing extension app in the application data area 307.As shown in FIG. 3, the printer 102 can connect a plurality of different models. In that case, the prohibited information 340 is stored in the application data area 307 for each printer. The tile application unit 303 displays a tile-form UI triggered by a user operation of starting the print extension application 300. The extended print setting UI unit 306 displays a UI for extended print settings triggered by receiving an extended print setting event issued by the OS 210. The extended print setting UI unit 306 generates a UI for extended print settings based on the print setting information passed from the OS 210 and the print capability information obtained by communicating independently with the printer 102. After changing the value of the print setting information according to the user input, the extended print setting UI unit 306 returns the print setting information to the OS 210. The print-time startup application 305 provides a function called Workflow (WF) that executes print-related processing triggered by a predetermined user operation or the like. Also, the print-time startup application 305 is a background task for starting the editing & preview function unit 306, which is a foreground task, when a print event is issued from the OS 210. The print-time startup application 305 requests the OS 210 to start the editing & preview function unit 306. Also, the print-time startup application 305 transfers the print setting information to and from the editing & preview function unit 306 via the application data area 307. The editing & preview function unit 306 acquires and changes the setting of the print setting information. In the present embodiment, the editing & preview function unit 306 also performs acquisition and storage of the prohibited information 340, execution of prohibited determination processing, and the like. FIG. 12 is an example of the prohibited information 340, which is a text file describing the definition of the print function and invalid combinations of functions.
[0018] The prohibited rule information acquisition module 342 acquires information such as printing ability information and prohibited rule information 340 from a target printer or cloud server via the device connection module 308 or the cloud connection module 309. The device connection module is a module that communicates with the printer 102. The cloud connection module is a module that communicates with a predetermined cloud server 105. The prohibited rule determination module 343 determines whether or not a conflict has occurred in the print settings by using the prohibited rule information 340 for the input of the print settings.
[0019] Next, a mechanism for performing prohibited rule determination processing for print settings that cannot be performed by a general-purpose printer driver in a print extension application will be described with reference to FIGS. 4, 5, 6, and 7. The CPU 201 is an example of storage control means.
[0020] Each application and module is stored in the external memory 209, loaded into the RAM 202 as needed, and executed by the CPU 201 on the client computer 101. The flow shown in FIG. 4 starts when a print setting request event occurs from a predetermined application. The predetermined application includes, but is not limited to, a spreadsheet, a document editing application, a paint application, etc. It may be included in the application 212 of FIG. 2. Note that the application that causes the print setting request event may be the touch application 301 or the desktop application 302.
[0021] In this embodiment, the description will be made using the touch application 301 (Fig. 10). Fig. 10(A) is a schematic diagram of the touch application 321 being launched. The touch application 301 lists a list of menu options when the menu icon button 1000 is tapped. Next, when the print item 1001, which is a menu option, is selected by a user operation, the touch application 301 requests the OS 210 to display the UI of the general-purpose printer driver and displays the general-purpose print settings UI 327. Fig. 10(B) is the general-purpose print settings UI 322 of the general-purpose printer driver generated by the OS 210. The general-purpose print settings UI 322 is composed of a print settings section 1020 and an event generation section 1030. A list of simple print settings is displayed in the print settings section 1020. 1021 is the name of the selected print queue, and 1022 is an example of the set print settings. The general-purpose print settings UI 322 accepts user operations after being displayed. This process corresponds to S403. The print button 1032 of the print event generation section 1030 is pressed (S406). Thereby, a print event is generated. The print event causes the process of S407. It will be described in detail according to the following flow.
[0022] The flow of Fig. 4 starts in response to the general-purpose printer driver 322 receiving a user instruction, for example, via an application. Specifically, for example, S401 starts when the print item 1001, which is a menu option, is selected. The flow of Fig. 4 may be controlled by the general-purpose printer driver 322. The user instruction may be input from the OS 201 to the general-purpose printer driver.
[0023] First, in step S401, the general-purpose printing settings UI 327 is launched. Next, in step S402, the general-purpose printing settings management unit 321 of the general-purpose printer driver 322 initializes the printing settings information. Next, in step S403, the general-purpose printer driver 322 receives input of printing settings from the user via the general-purpose printing settings UI 322 of the general-purpose printer driver. Next, in step S404, if the general-purpose printer driver 322 detects pressing of the "Other Settings" button 1031, then in step S405, the extended printing settings process by the printing extension app 300 is executed. Since this process plays an important role, it will be described later with reference to FIG. 5. Next, after returning from the extended printing settings UI 306 of the printing extension app 300 to the general-purpose printing settings UI 322 of the general-purpose printer driver 322, the process proceeds to step S406. In step S406, if the general-purpose printer driver detects pressing of the "Print" button, then in step S407, the printing settings information is passed to the OS 210, and the process of the printing settings request is terminated.
[0024] Next, the operation of the extended printing settings process by the printing extension app 300 will be described with reference to FIG. 5.
[0025] The flow of FIG. 5 starts with step S501 in response to the general-purpose printer driver 322 requesting the OS 210 to launch the extended printing settings UI 306 of the printing extension app 300 when the user presses the "Other Settings" button 1031. The flow of FIG. 5 may be triggered under the control of the printing extension app 300. The printing extension app is an example of a control program.
[0026] First, in step S501, the extended print settings UI 306 of the print extension app 300 is launched by the OS 210. An example of the extended print settings UI 306 is shown in the schematic diagram of FIG. 11. 1101 is an example of the extended print settings UI 306, 1102 and 1103 display various print functions, and the toggles of 1104 and 1105 are used to switch options and on / off. 1106 is an "OK" button for returning from the extended print settings UI 306 to the general-purpose print settings UI 322. Next, in step S502, the print extension app 300 receives print setting information set by the general-purpose printer driver from the OS 210. Next, in step S503, the extended print settings UI 306 of the print extension app 300 determines whether there is any prohibited information 340 in the application data area 307 using the prohibited information presence / absence determination module 301. If there is no prohibited information 340 in the application data area 307, then in step S504, the device connection module 308 of the print extension app 300 acquires the prohibited information 340 from the printer 102. Then, in step S505, the prohibited information storage module 341 of the print extension app 300 stores the prohibited information 340 acquired via the prohibited information acquisition module 342 in the application data area 307. Next, in step S506, the extended print settings UI 306 of the print extension app 300 acquires the prohibited information 340 stored in the application data area 307. Next, in step S507, the extended print settings UI 306 accepts input of print settings from the user. Next, in step S508, the extended print settings UI 306 performs a prohibited information determination process on the input of the print settings using the prohibited information 340 via the prohibited information determination module 343. Next, in step S509, the extended print settings UI 306 branches the process according to the result of the prohibited information determination process. If there is a conflict in the print settings, then in step S510, the extended print settings UI 306 returns the print settings to before the change. Then, again in step S507, the print extension app 300 accepts input of print settings from the user via the extended print settings UI 306.For example, in the schematic diagram of FIG. 11, when the user selects "postcard" 1104 for the output paper size 1102 and further attempts to set the duplex printing setting 1103 to on 1105, the extended printing setting UI 306 performs a prohibited combination determination process using the prohibited combination determination module 343. In this example case, since a conflict has occurred in the printing settings, the extended printing setting UI 306 returns the duplex printing setting to off before the change and displays a warning screen 1110. After accepting the input of the user's OK button 1111, it returns to the UI that accepts the input of the printing settings. If no conflict has occurred in the printing settings, it proceeds to step S511. In step S511, the extended printing setting UI 306 determines whether the "OK" button 1106 has been pressed. If, in step S511, the printing extension app 300 detects that the "OK" button 1106 has been pressed, then in step S512, the printing setting information is updated. Next, in step S513, the printing extension app 300 passes the printing setting information to the OS 210, ends the extended printing setting process, and returns to the general-purpose printing setting UI 322.
[0027] Once the printing settings in the general-purpose printer driver are finalized, the user executes the printing process from the application. When printing from the desktop app 302, the drawing data is sent to the GDItoXPS conversion processing unit 328, and an XPS spool file 330 is created. At this time, the GDItoXPS conversion processing unit 206 calls the general-purpose printing management unit 321 to convert the printing setting information from the OS-specific format to the format for general-purpose printing. (For example, convert from the DEVMODE structure to the PrintTicket.) When printing from the touch app 301, there are two methods: the touch app itself generates an XPS file, and the OS generates an XPS file in response to a command from the touch app. In both cases, an XPS spool file 330 is generated.
[0028] The operation when a printing request is received from the touch app 301 will be described below with reference to FIG. 6.
[0029] The flow of FIG. 6 starts step S601 in response to the generation of an XPS spool file 330 when a print event is started by pressing a print button 1032 as a user instruction.
[0030] In step S601, since the XPS spool file 330 is generated, the process is once passed to the OS 210, and the OS 210 reads the settings of the registry 330. Next, in step S602, the OS 210 checks whether it is set in the registry 330 to start the print startup application 305 at the time of printing. If it is not set in the registry 330 to start the print startup application 304, the OS 210 passes the process to the general-purpose printer driver 320. Then, it proceeds to S604 for the next rendering process. If it is set in the registry 330 to start the print startup application 304, it proceeds to the editing & preview process of the print extension application 300 in step S603. Note that the details of the process in step S603 will be described later with reference to FIG. 7. S603 is a process performed by the print extension application 300. Next, in step S604, the process is passed from the OS 210 to the general-purpose printer driver 320. Thereby, it proceeds to the process of the rendering processing unit 329. In S604, the rendering processing unit 329 renders the XPS spool file 330 and converts it to PDL. Also at this time, the print setting data is also subjected to a conversion process from the print setting information in the OS-specific format to the industry-standard print setting information. Next, in step S605, the process is passed to the OS 210 again. The OS 210 reads the settings of the registry 330. In step S606, the OS 210 checks whether it is set in the registry 330 to start the print startup application 304 at the time of printing. If it is not set in the registry 330 to start the print startup application 304, it proceeds to the next PDL transmission process S609. If it is set in the registry 330 to start the print startup application 304, it proceeds to the editing & preview process of the print extension application in step S608. Note that the details of the process in step S603 will also be described later with reference to FIG. 7. In step S609, the general-purpose print management unit passes the PDL data to the print manager 331 that schedules the print process, and print jobs are successively registered in the queue (waiting queue). When the printer 102 becomes ready for printing, the PDL data is transmitted in the order registered in the queue through the I / O monitor 332.
[0031] Next, the details of the editing and preview processing of the print extension application will be described with reference to FIG. 7.
[0032] In the flow of FIG. 7, in response to the OS 210 issuing a startup instruction for the print extension application 300, step S701 is started. Here, the OS 210 determines whether startup is necessary based on the information in the registry 330, and if it determines that the print-time startup application 304 should be started, it issues a startup instruction.
[0033] In step S701, the print startup app 304 of the print extension app 300 is launched by the OS 210. Next, in step S702, the print startup app receives print setting information from the OS 210. Next, in step S703, the print startup app 304 launches the edit & preview function 305 and passes the print setting information to the edit & preview function 305. Next, in step S704, the edit & preview function 305 determines whether there is any prohibited information 340 in the application data area 307 via the prohibited information presence / absence determination module 301. If there is no prohibited information 340 in the application data area 307, then in step S705, the prohibited information acquisition module 342 of the print extension app 300 acquires the prohibited information 340 from the printer 102. Then, in step S706, the prohibited information storage module 341 stores the acquired prohibited information 340 in the application data area 307. Next, in step S707, the print extension app 300 acquires the prohibited information 340 stored in the application data area 307. Next, in step S708, the edit & preview function 305 receives an input of print settings from the user via its UI. Next, in step S709, the print extension app 300 performs a prohibited information determination process on the input of print settings using the prohibited information 340 via the prohibited information determination module 343. Next, in step S710, the print extension app 300 branches the process according to the result of the prohibited information determination process. If there is a conflict in the print settings, then in step S711, the edit & preview function 305 of the print extension app 300 reverts the print settings to before the change. Then, again in step S708, the edit & preview function 305 receives an input of print settings from the user via its UI. If there is no conflict in the print settings, then it proceeds to step S712. In step S712, the print extension app 300 determines whether the "OK" button 1106 has been pressed. If, in step S712, the edit & preview function 305 of the print extension app 300 detects that the "OK" button 1106 has been pressed, then in step S713, the print setting information is updated.Next, in step S713, the print extension app 300 passes the print setting information to the OS 210, ends the editing & preview function, and returns to the processing flow shown in FIG. 6.
[0034] As described above, according to this embodiment, the print extension app 300 determines the presence or absence of taboo information at the following timing. For example, when the extended print setting UI 306 is activated during the print setting request process. Or when the editing & preview function 305 is activated during the print request process. At this timing, the presence or absence of the taboo information 340 in the application data area 307 is determined. And if there is no taboo information 340, the taboo information 340 is acquired from the printer 102 and stored in the application data area 307. And the taboo determination process is performed using it. Therefore, even in printing from a general-purpose printer driver, it is possible to perform taboo processing specific to the printer vendor or printer.
[0035] (Second Embodiment) In the first embodiment, the mechanism for determining the presence or absence of the taboo information 340 and acquiring the taboo information 340 when the extended print setting UI 306 of the print extension app 300 is activated or when the editing & preview function 305 is activated during the print setting process and the print process was explained.
[0036] In this embodiment, the mechanism for determining the presence or absence of the taboo information 340 in the application data area 307 and acquiring it from the printer 102 by the tile app 303, which is another function of the print extension app 300, will be explained.
[0037] The specific processing according to this embodiment will be described with reference to FIG. 8. 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. Also, the numbers that have already been explained will omit their detailed explanations.
[0038] The flow of FIG. 8 starts with step S901 in response to the user directly activating the print extension app 300.
[0039] First, in step S801, the tile app function 303 of the print extension app 300 is activated. Next, in step S802, the tile app function 303 of the print extension app 300 determines, via the prohibited information presence / absence determination module 301, whether prohibited information 340 exists in the application data area 307 of the print extension app 300. If there is no prohibited information 340 in the application data area 307, then in step S803, the prohibited information acquisition module 342 of the print extension app 300 acquires the prohibited information 340 from the printer 102. Then, in step S804, the prohibited information storage module 341 of the print extension app 300 stores the acquired prohibited information 340 in the application data area 307.
[0040] As described above, according to the present embodiment, the print extension app 300 can determine the presence or absence of the prohibited information 340 in the application data area 307 and acquire the prohibited information 340 from the printer 102 even when using the tile app 303. Therefore, when using the tile app 303, it is possible to eliminate the trouble of separately acquiring the prohibited information 340 from the printer 102 during print setting processing and print processing. The process of FIG. 8 can update or add the prohibited information 340 asynchronously or independently of the process different from the FIG. 8 described in the present embodiment in response to the activation of the print extension app 300.
[0041] (Third Embodiment) In the first embodiment, the mechanism by which the print extension app 300 acquires the prohibited information 340 from the printer 102 was described.
[0042] In the present embodiment, a mechanism for acquiring the prohibited information 340 from a location other than the printer main body will be described. The following will mainly describe the differences from the above-described embodiments.
[0043] Specific processing according to this embodiment will be described with reference to FIG. 9. Each application and module is stored in the external memory 209, loaded into the RAM 202 as needed, and executed by the CPU 201 on the client computer 101. Also, numbers that have already been described will omit their detailed description. Further, in this embodiment, examples of the extended print settings UI 306 and the edit & preview function 305 are shown. However, as shown in the second embodiment, the same mechanism is possible with the tile app 303. Note that since the processing in the general-purpose printer driver 322 before and after performing the extended print settings in the print extension app 300 is the same as the processing in steps S401 to S407 shown in FIG. 4, its detailed description is omitted. The flow in FIG. 9 starts with step S901 in response to the general-purpose printer driver 322 requesting the OS 210 to launch the extended print settings UI 306 of the print extension app 300 when the user presses the "Other Settings" button 1031.
[0044] First, in step S901, the extended print settings UI 306 of the print extension app is launched by the OS 210. Next, in step S902, the app launched during the print settings UI function receives print setting information from the OS 210. Next, in step S903, the extended print settings UI 306 of the print extension app 300 determines whether there is prohibited information 340 in the application data area 307 of the print extension app 300 via the prohibited information presence / absence determination module 301. If there is no prohibited information 340 in the application data area 307, then in step S904, the prohibited information acquisition module 342 of the print extension app 300 acquires the prohibited information 340 from the printer 102. Next, in step S905, the prohibited information storage module 341 of the print extension app 300 determines whether the acquisition of the prohibited information 340 from the printer 102 was successful. If the acquisition of the prohibited information 340 fails, then in step S906, the prohibited information acquisition module 342 of the print extension app 300 acquires the prohibited information 340 corresponding to the printer 102 from a predetermined cloud server. Then, in step S907, the prohibited information storage module 341 of the print extension app 300 stores the acquired prohibited information 340 in the application data area 307. Next, in step S908, the print extension app 300 acquires the prohibited information 340 stored in the application data area 307. Note that the processing from step S909 to step S915 is the same as the processing of steps S507 to S513 shown in FIG. 5, so the detailed description thereof is omitted.
[0045] As described above, according to the present embodiment, the print extension app 300 can acquire the prohibited information 340 from locations other than the printer main body. Therefore, even when there is no prohibited information 340 in the printer main body, such as when the manufacturing date of the printer is old or it is a low-cost version, the prohibited information 340 can be acquired and prohibited processing can be performed.
[0046] In this embodiment, the following was described. An information processing apparatus that executes a printer driver based on an instruction from an application operating on an operating system to generate print data was described. An example of the information processing apparatus is the client computer 101.
[0047] An example of an application that processes print settings is the extended print application 300. For example, under the control of 301, it was shown that conflicts or inconsistencies in print settings are resolved based on the prohibition information 340 for resolving conflicts in the settings to be input to the printer driver. An example of the conflict resolution information is the prohibition information 340. And it was also described that the resolved print settings are input from 310 to the printer driver. An example of the printer driver is the general-purpose printer driver 320.
[0048] Also, it was described that the presence or absence of conflict resolution information in the application data area 307 is determined. An example of the image forming apparatus is the printer 102. 308 acquires conflict resolution information from the printer. Also, the CPU 201 stores the conflict resolution information acquired by 308 in the application data area.
[0049] For example, 300 resolves conflicts in print settings using the prohibition information 340 saved in the application data area.
[0050] Examples of the timing when 300 is executed are as follows. When the tile application is started, when the user interface program for extended print settings is started. Or the timing when the preview or edit function is started.
[0051] When the prohibition information cannot be acquired from the printer 102, conflict resolution information may be further acquired from a predetermined external information processing apparatus. An example of the external information processing apparatus is the cloud server 105.
[0052] An example of the operating system is OS201. Also, a general-purpose printer driver may be executed based on instructions from a document editing application operating on OS201 to generate print data. Then, 300 receives a predetermined event caused by the general-purpose printer driver. After the receiving means receives the predetermined event caused by the general-purpose printer driver, 300 performs the following processing. That is, 300 is executed by CPU201. Then, under the control of 300, a print setting conflict or inconsistency is resolved based on conflict resolution information for resolving a conflict in settings to be input to the general-purpose printer driver. 300 is an example of an application that processes predetermined extended print settings. Then, the resolved print settings may be input from 300 to the printer driver.
Claims
1. An application program that collaborates with a general-purpose printer driver, wherein the general-purpose printer driver issues a print instruction to an image forming apparatus according to IPP, and the general-purpose printer driver is provided by a provider of an operating system of an information processing apparatus, the application program causes the information processing apparatus to a display step of displaying another print setting UI in response to receiving a predetermined operation on a print setting UI provided by the general-purpose printer driver; a reception step of receiving a plurality of setting values from a user via the other print setting UI; a control step of controlling so that a combination of setting values that cannot be executed by the image forming apparatus is not included in the plurality of setting values; an output step of outputting a print setting in which a combination of setting values that cannot be executed by the image forming apparatus is not included by the control to the operating system, an application program for executing.
2. The application program according to claim 1, wherein the information processing apparatus is caused to execute an acquisition step of acquiring information regarding a combination of setting values that cannot be executed by the image forming apparatus from the image forming apparatus in response to receiving the predetermined operation.
3. The application program according to claim 2, wherein when acquisition of the information in the acquisition step fails, the information is acquired from a server device.
4. The application program according to claim 1, wherein when a combination of setting values that cannot be executed by the image forming apparatus is included in the plurality of setting values received in the reception step, at least one of the setting values included in the plurality of setting values is changed.
5. The application program according to claim 1, wherein the predetermined operation is an operation corresponding to a display instruction of the other print setting UI.
6. The application program according to claim 1, wherein the other print setting UI can receive selection of a setting value that cannot be set in the print setting UI provided by the general-purpose printer driver.
7. The application program according to claim 1, wherein the application program is an application program independent of the general-purpose printer driver.
8. In response to receiving an operation indicating that the user has completed the reception step via the other print setting UI, causing the information processing apparatus to execute the output step and return from the other print setting UI to the print setting UI, the application program according to claim 1.
9. The other print setting UI is configured to display a plurality of setting values in a selectable manner, and causing the control to be executed in response to an attempt to change one of the plurality of setting values, the application program according to claim 1.
10. By returning the one setting value before the change, causing control so that a combination of setting values that cannot be executed by the image forming apparatus is not included, the application program according to claim 9.
11. When the combination of setting values that cannot be executed by the image forming apparatus corresponds to the change of the one setting value, causing a warning screen to be displayed, the application program according to claim 9.
12. The print settings output in the output step are reflected in the PrintTicket, the application program according to claim 1.
13. A control method for an information processing apparatus having a general-purpose printer driver and an application program that cooperates with the general-purpose printer driver, The general-purpose printer driver issues a print instruction to the image forming apparatus according to IPP, and the general-purpose printer driver is provided by the provider of the operating system of the information processing apparatus, By executing the application program, A display step of displaying another print setting UI in response to receiving a predetermined operation on the print setting UI provided by the general-purpose printer driver; A reception step of receiving a plurality of setting values from the user via the other print setting UI; A control step of controlling so that a combination of setting values that cannot be executed by the image forming apparatus is not included in the plurality of setting values; An output step of outputting the print settings made so that a combination of setting values that cannot be executed by the image forming apparatus is not included by the control to the operating system, a control method for an information processing apparatus.
14. The control method according to claim 13, wherein the information processing apparatus is caused to execute an acquisition step of acquiring, from the image forming apparatus, information regarding a combination of set values that cannot be executed by the image forming apparatus in response to receiving the predetermined operation.
15. The control method according to claim 14, wherein when acquisition of the information in the acquisition step fails, the information is acquired from a server device.
16. The control method according to claim 13, wherein when a combination of set values that cannot be executed by the image forming apparatus is included in a plurality of set values received in the reception step, at least one of the set values included in the plurality of set values is changed.
17. The control method according to claim 13, wherein the predetermined operation is an operation corresponding to a display instruction of the other print setting UI.
18. The control method according to claim 13, wherein the other print setting UI can receive selection of a set value that cannot be set in the print setting UI provided by the general-purpose printer driver.
19. The control method according to claim 13, wherein the control method is realized by executing an application program independent of the general-purpose printer driver.
20. In response to receiving, from the user, an operation indicating completion of the reception step via the other print setting UI, the information processing apparatus is caused to execute the output step, and returns from the other print setting UI to the print setting UI.
21. The control method according to claim 13, wherein a plurality of set values are displayed selectably in the other print setting UI, and the control is executed in response to an attempt to change one of the plurality of set values.
22. The control method according to claim 21, wherein by returning the one set value before the change, control is performed so that a combination of set values that cannot be executed by the image forming apparatus is not included.
23. The control method according to claim 21, wherein when a combination of set values that cannot be executed by the image forming apparatus is reached due to the change of the one set value, a warning screen is displayed.
24. The control method according to claim 13, wherein the print settings output in the output step are reflected in the PrintTicket.
25. An information processing apparatus having a general-purpose printer driver and an application program that cooperates with the general-purpose printer driver, The general-purpose printer driver issues a printing instruction to the image forming apparatus in accordance with IPP, and the general-purpose printer driver is provided by the provider of the operating system of the information processing apparatus, by executing the application program, in response to receiving a predetermined operation on the printing setting UI provided by the general-purpose printer driver, another printing setting UI is displayed, a plurality of setting values are received from the user via the other printing setting UI, control is performed so that the combination of setting values that cannot be executed by the image forming apparatus is not included in the plurality of setting values, An information processing apparatus that outputs a printing setting in which the combination of setting values that cannot be executed by the image forming apparatus is not included in the operating system by the control.
Citation Information
Patent Citations
Information processor, program and storage medium
JP2008269160A
Print job edit program, print job edit device, print job edit method and print system
JP2012194966A
Print control program, information processor and printing system
JP2014209316A
Real-time conflict processing system
JP2015225480A
Information processing device and program
JP2017068304A