Image forming apparatus and non-transitory computer readable
By displaying vendor printer queues in a grayed-out state in secure environments, the solution prevents printing failures and crashes, ensuring only IPP class drivers are used, thus enhancing security and usability.
Patent Information
- Application Number
- JP2024115542
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
In secure environments where OS functions block vendor printer drivers, there is a risk of printing failures and application crashes due to users inadvertently selecting print queues linked to these drivers, which are no longer usable.
An information processing device determines if the function to block vendor printer drivers is enabled and displays such print queues in a grayed-out state or with clear indicators in the combo box, ensuring only IPP class drivers are selectable.
Prevents printing failures and application crashes by restricting the selection of vendor printer drivers, improving operability and security in secure environments.
Smart Images

Figure 2026014463000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an image forming apparatus and a program. [Background technology]
[0002] Conventionally, there is known a technique for a printing application capable of printing, in which among multiple print queues, a print queue that can execute an appropriate print instruction is determined and displayed. For example, Patent Document 1 discloses a technique for displaying, in a user-identifiable manner, print queues that can execute printing with print settings selected by the user from among print queues with different print setting functions. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-106263 Summary of the Invention [Problem to be solved by the invention]
[0004] Meanwhile, in recent years, operating systems (hereinafter referred to as "OS") have released technology that blocks the functions of printer drivers provided by printer manufacturers (hereinafter referred to as "vendor printer drivers"). This technology provides a secure environment in which attackers cannot exploit printing-related vulnerabilities in the OS. Prior art did not take such a secure environment into consideration, and in a secure environment, there was a risk that printing applications would attempt to use the functions of vendor printer drivers, leading to printing failures. [Means for solving the problem]
[0005] In order to solve the above-mentioned problems, one aspect of the printing system of the present invention is characterized in that an information processing device that is communicatively connected to an image forming device determines whether a function for blocking the operation of a printer driver provided by the manufacturer of the image forming device is enabled, and if the function is enabled, displays the print queue linked to the printer driver in a grayed-out state in a combo box for selecting a print destination. [Effects of the Invention]
[0006] According to the present invention, even in a secure environment where the functionality of a vendor-made printer driver is restricted, a print application can prevent problems such as print failures. [Brief explanation of the drawings]
[0007] [Figure 1] 1 is a block diagram showing a hardware configuration of a printing system according to an embodiment of the present invention. [Figure 2] 1 is an example of an image forming apparatus according to an embodiment of the present invention. [Figure 3] FIG. 2 is a software configuration diagram of a printing system according to an embodiment of the present invention. [Figure 4] 1 is an example of a print application according to an embodiment of the present invention. [Figure 5] 10 is an example of a printer combo box display in an embodiment of the present invention. [Figure 6] 10 is a flowchart illustrating a printer combo box display item determination process according to an embodiment of the present invention. [Figure 7] 10 is an example of a form for displaying the reason why a print queue linked to a vendor printer driver is unavailable in an embodiment of the present invention. [Figure 8] 10 is an example of a print history display in an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0008] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention as defined in the claims, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention. Note that the same components are given the same reference numerals and their description will be omitted.
[0009] <<Embodiment 1>> <Printing system hardware configuration> 1 is a block diagram showing the hardware configuration of a printing system. In this diagram, a host computer 101 is an example of an information processing device, and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116.
[0010] Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115. The NETIF 120 is a network interface that controls data transfer between external devices via a network.
[0011] An initialization program is stored in the ROM 112. Application programs, an operating system (OS), print data generation software, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory when the various programs stored in the external storage device 114 are executed, and enables the various programs to run within the host computer 101.
[0012] In this embodiment, the CPU 111 executes processing according to the procedures of a program stored in the ROM 112, thereby executing functions of the host computer 101, which will be described later, and processing according to flowcharts, which will be described later.
[0013] Image forming apparatus 102, which is a device, is communicably connected to host computer 101 via input / output interface 116. Note that multiple image forming apparatuses may be connected to host computer 101; in the example of FIG. 1, two image forming apparatuses, 102 and 102', are connected. Here, host computer 101 and image forming apparatus 102 are configured separately, but they may also be configured as a single information processing apparatus. Furthermore, host computer 101 may be a desktop personal computer, a smartphone, or a laptop computer.
[0014] <Example of an image forming apparatus> 2 is a schematic diagram showing an example of an image forming apparatus 102. The image forming apparatus 102 has a carriage 201, an ink tank 202, a packaging material 203, a touch panel 204, a paper feed port 205, a print result discharge port 206, etc., and performs printing by ejecting ink onto a paper surface. Note that the image forming apparatus is not limited to a form that ejects ink, and printing may be performed by other methods (for example, electrophotography).
[0015] <Printing system software configuration> 3 is a diagram showing a schematic software configuration of the printing system according to this embodiment. The following description will be given assuming that the OS 302 is equipped with Windows (a registered trademark of Microsoft Corporation) as one aspect of this embodiment.
[0016] The application 301 is software that can lay out image data for printing and execute printing. The application 301 can be, for example, a word processor, a spreadsheet, a photo processor, a web browser, or any other application that can create and display images to be printed.
[0017] After creating, displaying, and selecting print data on the application 301, the user sets various print settings for the printer driver 303 (or more accurately, the print queue linked to the printer driver 303). There are various types of printer drivers 303, including vendor printer drivers provided by manufacturers that develop image forming devices, and printer drivers (IPP class drivers) that are provided by OS providers and bundled with the OS. The user can use the printer driver of their choice. An IPP class driver is sometimes referred to as printing software.
[0018] The screen for making print settings is displayed by a user interface unit 304 called from the application 301 via the OS 302. The user can make various settings required for printing, such as specifying paper size and print orientation, on the print setting screen. Note that by using OS functions such as PrintTicket and PrintCapabilities, the application 301 can also accept print setting change instructions from the user directly on the application screen without displaying the print setting screen described above.
[0019] After completing the print settings, the user presses the print button on the application 301 to instruct the application 301 to execute printing.
[0020] In response to a print instruction from a user, an application 301 creates print data and passes the print data to a graphics processing unit 305 of a printer driver 303 via an OS 302. The graphics processing unit 305 performs color processing, rendering, and the like on the print data, converts it into a data format that can be interpreted by the image forming apparatus 102, and transmits the print data to the image forming apparatus 102 via a communication unit 306. Thereafter, ink is ejected from a print head onto a recording medium fed into the image forming apparatus 102, forming an image.
[0021] <Example of a printing application> 4 is a diagram showing the screen of a photo printing application as an example of a printable application 301. Although the method of inputting an image is not specifically shown, there are several ways in which the user can input an image, for example, by opening Explorer from the file menu of application 301, or by dragging and dropping the image directly into application 301.
[0022] The image format may be any format that can be interpreted by the application 301, such as image formats like Bitmap or Tiff. It may also be a vector format like XPS (XML Paper Specification) or EMF (Enhanced Metafile). The application 301 is not limited to a photo printing application, and may also be word processing software, spreadsheet software, a web browser, or the like, and does not limit the present invention.
[0023] The preview area 401 is an area that displays a print image to be printed by the image forming apparatus 102. In Fig. 4, as an example, an image to be printed in landscape orientation on A4 size paper is displayed. Note that the user may be able to directly adjust the size, position, etc. of the image using a pointing device or the like while checking the preview.
[0024] The printer combo box 402 is an item (object, combo box) for accepting the designation of the print queue to be used for printing (for designating the print destination). In this embodiment, the printer combo box 402 can display both print queues linked to vendor printer drivers installed on the host computer 101 and print queues linked to IPP class drivers.
[0025] 5A is a diagram showing an example of options displayed on the printer combo box 402. Note that, for ease of understanding, the character string "(IPP)" is displayed for print queues linked to IPP class drivers, but this does not limit the present invention, and the options may be displayed without the character string or may be distinguished by icons.
[0026] The paper size combo box 403 is a combo box that accepts the specification of the paper size to be used for printing. The print orientation combo box 404 is a combo box that accepts the specification of the print orientation. The application 301 acquires capability information that can be set in the paper size combo box 403 and the print orientation combo box 404 by using OS functions such as PrintCapabilities for the selected print queue.
[0027] A print button 405 is a button for transmitting the print setting information set in the combo boxes 403 and 404 and the layout information (drawing information) edited by the user in the preview area 401 to the selected print queue.
[0028] The following describes in detail this embodiment of a print application that runs on an OS that can restrict the functions of a vendor-made printer driver.
[0029] <Printer combo box display item determination process> 6 is a flowchart showing the process in this embodiment for the application 301 to determine the display items in the printer combo box 402. This process is executed when the application 301 is started or at any time when the printer combo box 402 needs to be updated.
[0030] First, in S601, the application 301 acquires a list of print queues to be printed using the OS function or the like, and the process proceeds to S602.
[0031] In S602, the application 301 sets the print queue options and display format to be displayed in the printer combo box 402, and proceeds to S603. Here, the print queues to be displayed as options may be, for example, limited to print queues linked to image forming devices that can guarantee printing functionality from the application 301. Furthermore, as a display format, the character string "(IPP)" may be added to print queues linked to an IPP class driver, or an icon may be switched.
[0032] In S603, the application 301 determines whether the environment allows the use of a vendor printer driver by using an OS API (Application Programming Interface), etc. If the vendor printer driver is not available, the application 301 proceeds to the subsequent loop processing, and if the vendor printer driver is available, the application 301 ends the processing.
[0033] An example of an environment in which vendor printer drivers cannot be used is when Windows Protected Print Mode (hereinafter referred to as WPP), a feature of Windows (a registered trademark of Microsoft Corporation), is enabled. When WPP is enabled, security performance is improved, and, for example, attackers are unable to use symbolic links to trick the spooler into loading malicious code. Therefore, users who want to improve security can benefit from enabling WPP.
[0034] On the other hand, if WPP is enabled, installation of vendor printer drivers will be blocked, and previously usable vendor printer drivers will no longer be usable. In other words, in a WPP-enabled environment, users will be forced to use IPP class drivers.
[0035] In this case, there will be no particular problems for users who only use IPP class drivers, but there is a possibility that some problems will occur for users who have been using vendor printer drivers. For example, even when WPP is enabled, the vendor printer driver itself will remain in the environment (you will not be able to print or open the UI).
[0036] Therefore, there is a possibility that a user may mistakenly select a print queue linked to a vendor printer driver as the printing target, resulting in subsequent printing failure. Also, selecting a print queue linked to a vendor printer driver may cause the application 301 itself to crash or operate incorrectly.
[0037] To solve the above problem, the application 301 of this embodiment repeatedly executes the processes of S604 and S605 for all target print queues in the printer combo box 402. As a result, the application 301 switches to a display mode in which print queues linked to vendor printer drivers cannot be used.
[0038] First, in S604, the application 301 checks whether the print queue currently being checked is linked to a vendor printer driver, and if it is, proceeds to S605. If it is not linked to a vendor printer driver, the application 301 proceeds to check the next print queue.
[0039] In step S605, the application 301 switches the display mode of the print queue associated with the target vendor printer driver to an unavailable display mode and moves on to checking the next print queue. Note that this process ends when checking of all target print queues is completed.
[0040] Examples of the display of the printer combo box 402 after processing according to this flowchart are shown in FIGS. 5(b), (c), (d), and (e).
[0041] In the example of Figure 5(b), print queues linked to vendor printer drivers are grayed out and cannot be selected, which makes it possible to prevent the user from accidentally selecting a print queue linked to a vendor printer driver.
[0042] In the example of Figure 5(c), print queues linked to vendor printer drivers are grayed out, and print queues linked to IPP class drivers are displayed with priority over (higher than) print queues linked to vendor printer drivers, making it easier for the user to select a print queue linked to an IPP class driver.
[0043] In the example of FIG. 5(d), as an alternative display format to FIG. 5(b), an "x" icon is added to print queues linked to vendor printer drivers, making them unselectable.
[0044] In the example shown in Figure 5(e), print queues associated with vendor printer drivers are removed from the options, allowing the user to focus on only available print queues when selecting a print queue.
[0045] The above measures can prevent print failures and application crashes in environments where there are restrictions on the use of vendor printer drivers, and also improve operability when users select a print queue.
[0046] Although the above explanation has been mainly focused on WPP, any setting that limits the functions of the vendor printer driver is acceptable, and does not particularly limit the present invention.
[0047] <<Embodiment 2>> In the first embodiment, the display form of the printer combo box 402 when WPP is enabled and the functions of the vendor printer driver become unavailable has been described. However, although the first embodiment is effective in preventing print failures, a problem remains that a user who does not understand WPP does not know why the print queue linked to the vendor printer driver has become unavailable in the first place.
[0048] For example, a system administrator may have forced WPP to be enabled behind the scenes by changing group policy, or a user may have unintentionally enabled WPP. In these cases, the user may not understand why the print queue associated with the vendor printer driver suddenly became unusable.
[0049] In the second embodiment, to address the above problem, an embodiment will be described in which the reason why a print queue linked to a vendor printer driver cannot be used is displayed.
[0050] FIG. 7 shows an example of a display format that explains the reason why a print queue linked to a vendor printer driver is unavailable.
[0051] FIG. 7(a) shows an example in which, when the mouse is placed over a print queue option linked to a vendor printer driver in the printer combo box 402, a tool tip is displayed to inform the user that the print queue linked to the vendor printer driver is not available.
[0052] FIG. 7(b) shows an example in which, when the option for a print queue linked to a vendor printer driver is pressed in the printer combo box 402, a dialog box is displayed informing the user that the print queue linked to the vendor printer driver is not available.
[0053] FIG. 7C shows an example in which the printer combo box 402 displays the name of a print queue option linked to a vendor printer driver to simply inform the user that the print queue linked to the vendor printer driver is not available.
[0054] FIG. 7D shows an example in which a message is directly written on the screen of the application 301 indicating that the print queue linked to the vendor printer driver is unavailable (701).
[0055] FIG. 7E shows an example in which a dialog box is displayed when the application 301 is started, for example, to inform the user that the print queue associated with the vendor printer driver is unavailable.
[0056] As described above, by implementing the display format shown in Fig. 7 in the application 301, the user can understand that the current environment settings do not allow the use of a print queue linked to the vendor's printer driver. Also, by providing a button (702) that opens a settings screen for changing the WPP settings, as in the example of Fig. 7(e), the user can change the environment to one in which the print queue linked to the vendor's printer driver can be used, if necessary. Note that instead of using a button to open a settings screen, the application 301 may directly switch the WPP settings.
[0057] In the first and second embodiments, an embodiment has been described in which one print queue linked to a printer driver to be used for printing is selected when multiple image forming apparatuses 102 are connected, but the present invention is not limited to this. The present invention can also be applied to an embodiment in which there is only one image forming apparatus 102 to be printed.
[0058] For example, there may be a case where the image forming device 102 to be printed on has been determined by system settings or a specification from another application. In this case, the application 301 does not need to display the printer combo box 402, and can narrow down the print queues linked to the printer driver to be printed on to one.
[0059] In other words, if WPP is enabled, the print queue linked to the IPP class driver corresponding to the target image forming device will be the print target, and if WPP is disabled, the print queue linked to the vendor printer driver corresponding to the target image forming device will be the print target. This makes it possible to prevent printing errors without requiring user operation.
[0060] <<Embodiment 3>> In the first and second embodiments, the display mode of the printer combo box 402 when the functions of the vendor printer driver become unavailable has been mainly described. In the third embodiment, functions other than the printer combo box 402 will be described.
[0061] 8 shows an example of a print history list display when a printer driver that was previously available becomes unavailable midway due to WPP settings. Here, the print history list is a function that allows the user to check the history of print jobs printed from the application 301 and issue instructions such as reprinting.
[0062] In Figure 8, because WPP was enabled midway, the print history of the print queue linked to the vendor printer driver that previously printed (for example, a print job from the Inkjet100 Printer) is grayed out and displayed as not being able to be reprinted. This makes it possible to prevent cases where a user attempts to reprint to a print queue linked to a vendor printer driver and the print fails.
[0063] 8, print jobs in print queues linked to unavailable vendor printer drivers are grayed out, but the present invention is not particularly limited to this, and other display formats such as "x" icons or deleting the entries from the list may also be used. It goes without saying that similar processing is possible for, in addition to print history lists, favorite setting lists linked to print queues, edited data lists linked to print queues, and the like.
[0064] <<Other embodiments>> The above-described embodiments can also be implemented by performing the following process. That is, a recording medium storing software program code that realizes the functions of the above-described embodiments is supplied to a system or device. Then, a computer (or a CPU or MPU) of the system or device reads and executes the program code stored on the recording medium. This achieves the above-described object. In this case, the program code read from the storage medium itself realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0065] Examples of storage media that can be used to supply the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.
[0066] Furthermore, the functions of the above-described embodiments are not only realized by a computer reading and executing the program code, but also include cases where the OS running on the computer performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-described embodiments.
[0067] Furthermore, the program code read from the storage medium may be written to a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer. Then, based on the instructions of the program code, a CPU provided on the function expansion board or function expansion unit may perform some or all of the actual processing. This processing realizes the functions of the above-mentioned embodiments. [Explanation of symbols]
[0068] 101 host computer 102 Image forming device 301 Application 302 OS 303 Printer Driver
Claims
1. An information processing device communicably connected to an image forming apparatus, determining whether a function for blocking the operation of a printer driver provided by the manufacturer of the image forming device is enabled; When the function is enabled, the program grays out the print queue associated with the printer driver in a combo box for selecting a print destination.
2. A program as described in claim 1, wherein when the function is enabled, the combo box displays print queues linked to printing software provided by the provider of the operating system (OS) of the information processing device in priority to print queues linked to the printer driver.
3. A program as described in claim 1, wherein when the function is enabled, the combo box displays a print queue associated with printing software provided by the provider of the operating system (OS) of the information processing device above a print queue associated with the printer driver.
4. The program according to claim 1 , further comprising displaying information about a reason why a print queue associated with the printer driver cannot be selected.
5. The program according to claim 4 , wherein the information is displayed in a tooltip when a mouse is placed over a print queue linked to the printer driver.
6. The program according to claim 4 , wherein the information is displayed in response to selection of a print queue associated with the printer driver.
7. The program of claim 4 , wherein the information includes information on how to disable the feature.
8. The program according to claim 1 , wherein, when the function is enabled, a print history specifying a print queue linked to the printer driver is displayed in gray.
9. A method for controlling an information processing device communicably connected to an image forming device, comprising: determining whether a function for blocking the operation of a printer driver provided by the manufacturer of the image forming device is enabled; When the function is enabled, a print queue associated with the printer driver is displayed in a grayed-out state in a combo box for selecting a print destination.
10. A control method according to claim 9, characterized in that, when the function is enabled, the combo box displays print queues linked to printing software provided by the provider of the operating system (OS) of the information processing device in priority to print queues linked to the printer driver.
11. A control method as described in claim 9, characterized in that when the function is enabled, the combo box displays a print queue linked to printing software provided by a provider of the operating system (OS) of the information processing device at a higher level than a print queue linked to the printer driver.
12. The control method according to claim 9 , further comprising displaying information about a reason why a print queue associated with the printer driver cannot be selected.
13. The control method according to claim 12, wherein the information is displayed in a tool tip when the mouse is placed over the print queue associated with the printer driver.
14. 13. The control method according to claim 12, wherein the information is displayed in response to selection of a print queue linked to the printer driver.
15. The method of claim 12 , wherein the information includes information on how to disable the feature.
16. 10. The control method according to claim 9, wherein, when the function is enabled, a print history specifying a print queue linked to the printer driver is displayed in gray out.
17. An information processing device communicably connected to an image forming device, determining whether a function for blocking the operation of a printer driver provided by the manufacturer of the image forming device is enabled; When the function is enabled, the information processing apparatus displays a print queue linked to the printer driver in a grayed-out state in a combo box for selecting a print destination.
Citation Information
Patent Citations
Information processor, control method thereof, and program
JP2015106263A