Information processing device control method and information processing device
Patent Information
- Application Number
- PCT/JP2026/006878
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-27
- Filing Date
- 2026-02-25
- Publication Date
- 2026-09-03
Smart Images

Figure JP2026006878_03092026_PF_FP_ABST
Abstract
Description
Control method for information processing apparatus, information processing apparatus
[0001] The present invention relates to an information processing technology for customizing a printer driver.
[0002] For example, in an information processing apparatus in which a printer driver is installed, default values of print settings are stored in an area defined by a certain rule. Therefore, unless the value in that area is changed, an arbitrary value intended by a user cannot be set as the default value.
[0003] There is also an implemented configuration that has a setting item for changing the default value of print settings and a list of values desired to be set as the default value of print settings, and enables various settings through a user interface (UI). Some configurations have a function that allows a user to restore default settings without worrying about whether setting items have been changed when changing the value of a setting item. For example, taking a certain printer driver as an example, there is a selection item called "restore default", and by selecting this item, each setting value can be restored to the default value of print settings.
[0004] However, the default values of print settings used in such printer drivers are predetermined values and cannot be changed to arbitrary values desired by a user. This is because a printer driver is created with the default values of print settings specified when the printer driver is generated.
[0005] Therefore, when it is desired to arbitrarily set the default values of print settings, it is necessary to set the values when creating the printer driver. For example, it is necessary to create as many printer drivers as requested that use values specified by each user as the default values of print settings, or create printer drivers for all combinations of default values of print settings.
[0006] Alternatively, it is conceivable to store arbitrary values specified by a user in addition to these default values of print settings. In this case, when the printer driver reads the default value of print settings, if there is a default value of print settings specified by the user, that value is read and displayed instead.
[0007] However, loading the default values of various print settings for the user in this way requires a complicated process. Furthermore, this would require each user to understand the data structure of the print settings and to have a detailed understanding of the frequently changing specifications of the printer driver, neither of which is practical.
[0008] To address the above issues, a method has been provided, such as the one described in Patent Document 1, which allows for some restrictions on user operations from the printer driver's UI by customizing the printer driver.
[0009] Furthermore, a means is provided for displaying a settings screen that includes customizable items for the printer driver and for customizing it using that settings screen (Patent Document 2). In this means, the configured items are registered as customized items, and these customized items are written to UI-related data in the printer driver set. Then, when the printer driver is started, the customized printer driver can be provided by reading that UI-related data.
[0010] However, depending on the operating system's printing system environment, it may be restricted to modify the driver set after installation. One technology that enables this restriction is digital signature technology. For example, if a driver set is digitally signed, and the driver set is modified as described in Patent Document 2, the OS will fail to verify the digital signature, and the printer driver's operation cannot be guaranteed.
[0011] In particular, Windows® requires a Microsoft® signature, and obtaining these signatures every time a customization is made involves numerous cumbersome steps.
[0012] Japanese Patent Publication No. Hei 8-278871 Japanese Patent Publication No. 2005-235173
[0013] It is desirable to provide a driver with the desired default values set and that is signed.
[0014] To achieve the above objective, the control method for an information processing device according to the present invention is a control method for an information processing device that provides a user terminal with a driver package for installing a driver to control an external device, and is characterized by comprising: a receiving step of receiving the specification of a first default value which will be selected when the job setting screen provided by the driver is launched from among the options for predetermined setting items; and a generating step of generating a driver package which has a UI configuration data file containing the first default value and a catalog file signed by the driver provider.
[0015] By using this method, it is possible to provide a driver with desired default values set and signed.
[0016] This is a diagram showing the hardware configuration of the computer in this embodiment. This is a block diagram showing the network configuration in this embodiment. This is a diagram showing the software configuration of the driver installation package in this embodiment. This is an example of the print settings UI in this embodiment. This is a flowchart relating to the default setting process for print settings in this embodiment. This is an example of the driver download screen in this embodiment. This is a flowchart relating to the customization process in this embodiment. This is an example of the customization input screen in this embodiment. This is an example of the UI for setting the default values of print settings in this embodiment. This is an example of the UI for setting the display state control in this embodiment. This is an example of the approval screen when installing a vendor-signed driver in this embodiment. This is an example of the customized print settings UI in this embodiment. This is a data configuration diagram of the UI configuration data file in this embodiment.
[0017] Figure 1 is a hardware configuration diagram of the computer 100 in this embodiment. A detailed explanation is provided below.
[0018] The CPU 101 controls the entire device according to the program stored in the ROM 1021, RAM 1022, or auxiliary storage device 105 of the main memory 102.
[0019] RAM 1022 is also used as a work area when the CPU 101 performs various processing. The auxiliary storage device 105 stores applications 1051, printer drivers 1052, operating systems (hereinafter referred to as OS) 1053, etc. In the following description, the main memory 102 and the auxiliary storage device 105 will be collectively referred to as storage devices.
[0020] Input devices such as pointing devices 109, including mice and touch panels, and keyboards 108 are connected to the system bus 107 via the input I / F 103 and are devices used by users to give various instructions to the computer.
[0021] The output I / F 104 is an interface for outputting data externally, and outputs data to an output device such as the monitor 110.
[0022] Computer 100 is connected to printer 200 and server 300 via network 150 through communication interface 106. A common data system bus 107 facilitates data exchange between interfaces and modules. Computer 100 uses printer driver 1052 to output jobs to be executed by printer 200.
[0023] Note that computer 100 is an example of a user terminal, printer 200 is an example of an external device, and server 300 is an example of an information processing device. The external device may be a device other than a printer, such as a scanner, fax machine, or 3D printer, and the printer driver can also be replaced with a driver that corresponds to the external device.
[0024] Figure 2 is a network configuration diagram in this embodiment. A detailed explanation follows below.
[0025] Computer 100 can communicate with a printer 200 on the intranet and a server 300 on the internet via the network 150. One of the applications 1051, a web browser, is used by computer 100 to communicate with server 300. A web browser is an application used to view web pages on the internet.
[0026] In this embodiment, the server 300 is a device for providing a driver installation package 400 for installing a printer driver 1052 corresponding to the printer 200 on the computer 100. The server 300 has a function to display to the user as a download site for providing the printer driver via a web browser (Figure 6).
[0027] Next, I will explain server 300.
[0028] Server 300 includes a download control unit 301, a display control unit 302, a communication control unit 303, a driver installation package acquisition unit 304, a definition file editing unit 305, and a driver package creation unit 306. Furthermore, Server 300 has a driver installation package storage unit 310 for storing the driver installation package 400. A printer driver download site is constructed using such a server 300.
[0029] When the communication control unit 303 is accessed using a URL from the web browser of the computer 100, it calls the display control unit 302.
[0030] When called, the display control unit 302 generates a display screen using information based on a URL and displays it on the monitor 110 via the web browser of the computer 100. In this embodiment, it displays a screen for downloading a driver installation package 400 corresponding to the printer 200, a screen for the user to customize the driver, and the like.
[0031] The driver installation package storage area 310 refers to the area where driver installation packages 400 compatible with various printers 200 are stored. Here, the driver installation package 400 will be explained using Figure 3.
[0032] The driver installation package 400 consists of an installation module 401, an installation configuration file 402, and a driver package 410. Furthermore, the driver package 410 consists of a UI module 411, a UI configuration data file 412, a command generation module 414, a group of driver configuration files 415, and a signed catalog file 413.
[0033] The installation module 401 has means for installing the driver package 410 on the computer 100 using the information in the installation configuration file 402. The installation configuration file 402 contains information for installing the printer driver, such as the name of the print queue and the specification of the connection port. Based on this information, the installation module 401 can install the driver package 410 on the computer 100.
[0034] The driver package 410 contains the UI configuration data file 412 and the driver configuration files 415, which are necessary for installing the printer driver on the OS. These will be explained in order.
[0035] The UI module 411 provides the print settings UI 500 that the printer driver provides to the user. Figure 4 shows the print settings UI screen, and as indicated by the combo box 501, it shows the "standard settings" case. Note that the combo box may also be referred to as a pull-down, control item, object, etc. The print settings UI screen is an example of a job setting screen.
[0036] On the print settings UI screen, setting items 502 to 506 are displayed as selectable. In Figure 4, for the setting item 502, the value "A4" is selected from multiple options.
[0037] In these default settings, the original document size 502 is "A4", the output paper size 503 is "same as original size", the number of copies 504 is "1 copy", the print orientation 505 is "portrait", and the page layout 506 is "1 page / sheet".
[0038] When the print settings UI screen is launched or the "Restore Defaults" button 507 is pressed, the print settings UI screen is displayed with the default values for the various print settings selected. Note that buttons may also be referred to as control items or objects. For subsequent launches of the print settings UI screen, the screen may display with the settings selected based on the changes made during the previous launch.
[0039] The UI configuration data file 412 refers to a file containing information for configuring the UI module 411. Furthermore, in this embodiment, it also contains information on the default values of the print settings for various items.
[0040] The signed catalog file 413 is a file that guarantees the integrity and reliability of the files included in the electronically signed driver package 410. The OS 1053 checks the digital signature of this file during driver installation to confirm that the files being referenced have not been tampered with or altered since they were signed.
[0041] If OS1053 determines that the files in driver package 410 have been modified after digital signing, it will abort the printer driver installation and notify the user that the installation failed.
[0042] The command generation module 414 reads the registry area during operation and executes processing related to print settings. The command generation module 414 also reads this device mode, generates PDL data with the corresponding print settings, and transfers it to the printer to initiate printing.
[0043] The driver configuration file group 415 refers to INF files in which information necessary for installation into the OS 1053 is described, and various files for configuring the driver. The driver installation package acquisition unit 304 acquires the driver installation package 400 corresponding to the printer 200 selected by the user.
[0044] The definition file editing unit 305 edits and updates a definition file that defines the UI configuration and default values of print settings existing in the driver installation package 400 acquired by the driver installation package acquisition unit 304.
[0045] The driver installation package creation unit 306 replaces the definition file updated by the definition file editing unit 305 for the acquired driver installation package 400. Thereby, an electronic signature is added to the driver package 410 existing in the driver installation package 400, and the driver installation package 400 is created.
[0046] The download control unit 301 controls download processing of the customized driver installation package created by the driver installation package creation unit 306 when a download instruction is issued by a user.
[0047] FIG. 5 is a flowchart illustrating processing for displaying default values of print settings on the print setting UI 500 of the printer driver as shown in FIG. 4 in the UI module 411 according to the present embodiment. Note that, here, the default values of print settings are stored in a location that complies with the rules of the basic system of the computer 100, and the default values specified by the user described later are stored in a location different from the default values of the print settings.
[0048] First, when display of the print setting UI 500 is requested by a user's operation, specifically by using the function of opening print settings possessed by an application, the UI module 411 starts processing in step S600.
[0049] Next, in step S601, when a request is made to retrieve the default values for the print settings, the UI module 411 proceeds to step S602 to check whether the default values specified by the user are stored.
[0050] If a default value specified by the user is stored, the UI module 411 proceeds to step S603, retrieves the default value of the print setting specified by the user, and displays it in step S604. On the other hand, if a default value of the print setting specified by the user is not stored in step S603, the UI module 411 proceeds to step S605, retrieves a pre-specified default value of the print setting, and displays it in step S604.
[0051] The display processing of the UI module 411 is then terminated. In this embodiment, the default values of the print settings specified by the user are stored in the printer driver's UI configuration data file 412.
[0052] Next, the flowchart in Figure 7 describes the means for generating and downloading the customized driver installation package 400.
[0053] First, the user accesses the URL of server 300 through a web browser to display the download site 650 shown in Figure 6, and then operates object 670 to start processing on server 300 in step S700.
[0054] In step S701, the display control unit 302 generates a UI for customization and outputs it to the computer 100 via the communication control unit 303. This allows the generated UI for customization to be displayed on a web browser.
[0055] For example, the driver package 410, as shown in Figure 8, lists the model names it supports and displays a UI that allows the user to change the default print settings for those models. In this embodiment, the UI displays the default settings 810 for changing the default settings, the 820 for controlling the display state of items, and the customization code 830.
[0056] Next, in step S702, the server 300 accepts the setting of custom items by user operation to the computer 100. Step S702 is an example of the acceptance process. These processes will be explained in order, starting with the default settings 810, the display state control of items 820, and the customization code 830.
[0057] First, pressing Default Settings 810 displays a print settings screen where you can change the default settings. Figure 9 shows an example of the print settings screen where you can change the default settings. This screen is displayed as a pop-up UI in a web browser, and you can change the default settings in the printer driver you are installing.
[0058] For example, the output paper size setting is done via a pull-down menu, listing the paper sizes available for compatible models, from which you can select the desired default output paper size. On the other hand, settings requiring a choice between two options can be toggled on or off. For example, conflicting functions such as color and black and white are controlled by toggling the buttons on or off. A toggle button is an example of an object (control item) that accepts settings.
[0059] In this embodiment, it is assumed that the user has set the "Page Aggregation" setting to "4in1" using a pull-down menu and the "Color" setting to "Black and White" using a toggle button.
[0060] Next, pressing the item display state control 820 displays a UI for controlling the display items of the driver UI. Figure 10 shows an example of the display state control UI. This screen is displayed as a popup UI in a web browser and can control the display state of the print settings items in the printer driver being installed.
[0061] There are three display states for setting items: "Enabled," "Disabled," and "Hidden." "Enabled" means the item is displayed in the print settings UI 500; "Disabled" means it is displayed in the print settings UI 500 but grayed out so it cannot be changed; and "Hidden" means it is not displayed in the print settings UI 500. This can be selected for each setting item using a pull-down menu. In this embodiment, it is assumed that "Page Layout" and "Color Mode" are set to "Disabled," and "Specify Magnification" and "Single-sided / Double-sided / Booklet" are set to "Hidden."
[0062] Next, we will explain the customization code 830. Each time a customized driver set is created, the user can specify a different value as the customization code 830. This allows the customized software or OS to use it as a criterion to determine whether the customized driver sets after installation are the same or different ones. Upon receiving these settings and the press of button 840, the server 300 proceeds to step S703.
[0063] Next, in step S703, the server 300 determines the customized areas that were set by the user's operation earlier and decides whether it is necessary to generate a driver package.
[0064] For example, the system first determines whether the user's customizations from the initial settings are the same as the customizations in the existing driver package (stored in driver installation package 400). If the same customizations are made, it checks if all the default values after customization are the same, and if they are, it determines that there is no need to generate a new driver package.
[0065] Furthermore, all default values may be compared with existing driver packages regardless of whether or not they have been customized by the user. For example, it is determined whether a driver installation package 400 with the same default values as those described in the UI configuration data file 412 has been previously generated and stored in the driver installation package storage unit 310. If a driver installation package 400 with the same default values as those described in the UI configuration data file 412 is stored, that driver installation package 400 may be provided. In other words, it is not necessary to generate a new driver package.
[0066] If it is determined in step S703 that it is not necessary to generate a driver package, the server 300 proceeds to step S706. On the other hand, if it is determined that it is necessary to generate a driver installation package 400, the server 300 proceeds to step S704. If there are multiple driver installation packages 400 stored in the driver installation package storage unit 310, any of them can be reused if their default values are the same.
[0067] Next, in step S704, the server 300 generates the driver installation package 400. Specifically, it edits the UPD file, which is the UI configuration data file 412, and the inf file, which is part of the driver configuration file group 415 and is necessary for installation. Here, the process of modifying the UPD file, which is the UI configuration data file 412 in this embodiment, will be described.
[0068] Figure 13 is a diagram illustrating the data format of an UPD file.
[0069] As shown in Figure 13, an UPDATE file consists of a header 1310, an ID definition 1320, and data 1330. The header 1310 contains information about the UPDATE file itself, the data 1330 contains information for forming the UI, and the ID definition 1320 stores pairs of the ID of the data stored in the data 1330 and the storage location (address) of the data. These pairs are stored in sets corresponding to the number of IDs.
[0070] In this embodiment, the definition file editing unit 305 modifies the data values corresponding to the IDs defined for customization. If the ID of the customization data to be used is not defined in the ID definition 1320, a new ID corresponding to that customization data is added to the ID definition 1320.
[0071] The UPD file exists for each printer driver. Therefore, customization is possible in the following cases: It is possible to use a customized driver set for one model to further customize other models. For example, the settings of a driver set customized for one model can be used to customize a device of another model. Also, since ID definition 1320 uses an ID for customization, it is possible to transfer the settings of a previously customized printer driver to a newer version of the printer driver.
[0072] The printer driver is implemented to read the edited UPD file during installation or initial startup, and to read the data 1330 stored in association with a predetermined ID in the ID definition 1320 of the UPD file. For example, suppose that the UPD file created by the definition file editing unit 305 contains an ID indicating "CUSTUMIZED" and address X as the data storage location within the ID definition 1320.
[0073] The customizable printer driver is pre-implemented to read the address corresponding to the ID information indicating "CUSTUMIZED" if it is stored in ID definition 1320 upon installation completion or initial startup. Therefore, upon installation completion or initial startup, if the UPD file's ID definition 1320 contains an ID indicating "CUSTUMIZED", this printer driver reads the corresponding data address X from that ID definition.
[0074] Next, the printer driver reads the actual driver configuration data from the data 1330 at address X. Note that address X may be an absolute address, or the starting address of data 1330 may be stored in the header 1310, and the offset address from the starting address of data 1330 may be set to address X.
[0075] Once the definition file editing unit 305 has finished processing, the driver installation package acquisition unit 304 performs predetermined processing on the acquired driver installation package 400. These predetermined processing steps include, for example, updating the edited UI configuration data file 412, which is the UPD file, and updating the date of the inf file, which is part of the driver configuration file group 415 and is necessary during installation.
[0076] At this point, the driver package 410 files have been updated, making it impossible to guarantee their integrity and reliability, and the digital signature becomes invalid, causing the driver installation to fail. Therefore, the server 300 proceeds to step S705 to re-sign the created driver package 410 with a digital signature.
[0077] Next, in step S705, the server 300 signs the created driver package 410 again. In this embodiment, the server 300 uses the vendor warranty certificate that provides the driver to attach an electronic signature to the catalog file of the driver package 410, and incorporates the signed catalog file 413 into the driver package 410. Then, the server 300 proceeds to step S706.
[0078] Next, in step S706, the server 300 makes the generated driver installation package 410 available for download. Then, in step S707, the server 300 completes the process of creating the customized driver installation package 410.
[0079] By following the steps in this flowchart, the user downloads and installs a customized driver installation package 410 on the computer 100. The following describes the installation of a driver using a vendor warranty certificate.
[0080] As mentioned earlier, if you are using Windows®, it is desirable to affix a Microsoft® digital signature. However, it is known that applying a Microsoft® digital signature is a time-consuming and laborious process.
[0081] Therefore, in this embodiment, a certificate guaranteed by the vendor (provider) that provides the driver is used, but in that case, a screen like the one in Figure 11 is displayed to the user when the printer driver is installed. This is because OS 1053 asks the user whether the vendor-guaranteed certificate is trustworthy, and once the user trusts it and installs it on the computer 100, this screen will no longer be displayed.
[0082] Then, when the user requests the display of the print settings UI 500, the print settings UI 1200 will be displayed as described above, as shown in Figure 12.
[0083] By preparing the UPD file, which is the UI configuration data file 412, in this way, the customized printer driver automatically reads the UPD file created by the definition file editing unit 305 upon completion of installation or initial startup. This automatically presets the default values for the printer driver's print settings. Therefore, the operating environment for the customized printer driver can be easily constructed.
[0084] Additionally, the customized driver may display the value 830 of the custom code entered in S702, appended to the end of the driver version displayed in the "Version Information" tab of the driver UI.
[0085] Furthermore, although this embodiment describes the generation of a customized driver, the customized driver installation package 400 that has been generated can be uploaded and edited again in the same way by following the flow shown in Figure 7. This can be achieved by temporarily saving the customized driver in the driver installation package storage unit 310 and using the temporarily stored driver as the driver package to be loaded.
[0086] As described above, this embodiment makes it possible for anyone to easily generate and obtain a secure printer driver with default print settings and limited settings.
[0087] <Other Embodiments> The present invention can also be realized by supplying a program that implements one or more of the functions of the above embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (for example, an ASIC) that implements one or more functions.
[0088] The present invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are attached to make the scope of the invention public.
[0089] This application claims priority based on Japanese Patent Application No. 2025-030140, filed on 27 February 2025, and all of its contents are incorporated herein by reference.
Claims
1. A control method for an information processing device that provides a user terminal with a driver package for installing a driver to control an external device, the control method comprising: a receiving step of receiving a specification of a first default value from among the options for a predetermined setting item, which will be selected when the job setting screen provided by the driver is launched; and a generating step of generating a driver package having a UI configuration data file containing the first default value and a catalog file signed by the driver provider.
2. The control method according to claim 1, further comprising: a determination step of determining whether the first default value specified in the reception step is the same as a second default value described in the UI configuration data file of the driver package stored in the storage unit of the information processing device; and a first output step of outputting the driver package stored in the storage unit of the information processing device to the user terminal if the determination step determines that the first default value and the second default value are the same, wherein the generation step is executed if the determination step determines that the first default value and the second default value are not the same.
3. The control method according to claim 2, wherein the storage unit stores a plurality of driver packages, and in the determination step, if the second default value described in the UI configuration data file of at least one of the plurality of driver packages is the same as the first default value, it is determined that the first default value and the second default value are the same, and in the first output step, a driver package having the UI configuration data file describing the second default value which is the same as the first default value is output to the user terminal.
4. The control method according to claim 1, characterized in that the reception step receives the specification of the first default value from the user via the web browser of the user terminal.
5. The control method according to claim 1, further comprising a second output step of outputting the driver package generated in the generation step to the user terminal.
6. The control method according to claim 2, wherein the driver package is included in the driver installation package, and the first output step outputs the driver installation package to the user terminal, thereby outputting the driver package to the user terminal.
7. The control method according to claim 5, wherein the driver package is included in the driver installation package, and the second output step outputs the driver installation package to the user terminal, thereby outputting the driver package to the user terminal.
8. A program for causing the information processing device to execute the control method described in any one of claims 1 to 7.
9. An information processing device that provides a user terminal with a driver package for installing a driver to control an external device, the information processing device comprising: a receiving means for receiving a first default value from among the options for a predetermined setting item, which will be selected when the job setting screen provided by the driver is launched; and a generating means for generating a driver package having a UI configuration data file containing the first default value and a catalog file signed by the driver provider.