Print server programs and printing systems

The print server program generates a union of setting values from multiple printers, enabling printer-specific settings and optimal printer selection, thus enhancing usability and efficiency in a multi-printer environment.

JP7838689B2Active Publication Date: 2026-04-01BROTHER KOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-02-10
Publication Date
2026-04-01

AI Technical Summary

Technical Problem

Existing driverless printing technologies using OS-standard general-purpose printing programs limit printer-specific function settings, especially when multiple printers are connected, lacking the ability to utilize unique printer capabilities effectively.

Method used

A print server program that generates a union of setting values including unique information from multiple connected printers, allowing for printer-specific setting acceptance and determination of the optimal printer for a print job based on these settings.

Benefits of technology

Enhances the usability of printers by expanding setting options and ensuring print jobs are sent to the most suitable printer, improving the overall printing system's efficiency and convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007838689000001
    Figure 0007838689000001
  • Figure 0007838689000002
    Figure 0007838689000002
  • Figure 0007838689000003
    Figure 0007838689000003
Patent Text Reader

Abstract

To provide a technology for enhancing the availability of printers in the case of using a plurality of printers from an information processing device.SOLUTION: A sum set of print settings including general-purpose print settings and specific print settings of respective printers 2, 3, 4 is generated, further, choices of print settings are expanded by receiving a general-purpose print setting and a specific print setting on the basis of the sum set, and further, a print job is transmitted to a printer suitable to a print setting among the plurality of printers when a print setting specific to the printer is set by determining the printer to which the print job is transmitted in accordance with a setting state of a specific print setting when the print job is inputted. Thus, the availability of the printers can be enhanced in a printing system with the plurality of printers 2, 3, 4 connected thereto.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technical field disclosed in this specification relates to a print server program for controlling a printer and a printing system.

Background Art

[0002] Conventionally, a driverless printing technology that performs printing using a general-purpose printing program incorporated in an OS without installing a printer driver has become widespread. As a document that discloses a technology using an OS-standard general-purpose printing program, for example, in Patent Document 1, when a printer receives a print job generated using an OS-standard general-purpose printing program, the print job is temporarily saved, and additional information is requested from the terminal device that is the source of the print job. A configuration is disclosed.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] When causing a printer to perform printing using an OS-standard general-purpose printing program, the items and setting values of the print settings are limited to general ones, so that settings for the printer-specific functions cannot be made. Therefore, for example, as in Patent Document 1, by receiving settings for printer-specific functions as additional information from the terminal device that is the source of the print job, the printer can execute its printer-specific processing. However, Patent Document 1 does not disclose the processing when connected to a plurality of printers, and there is room for improvement.

[0005] This specification discloses a technology for enhancing the usability of printers when using a plurality of printers from an information processing device. [Means for solving the problem]

[0006] This invention was made for the purpose of solving the above-mentioned problems, and is a print server program that can be executed by the computer of an information processing device and can be registered as a printer in the operating system of the information processing device, wherein the computer is made to execute an acquisition process for acquiring capability information indicating capability from a plurality of printers connected to the information processing device, and a generation process for generating a union of setting values ​​that can be set as print settings for a print job from the plurality of capability information acquired in the acquisition process, wherein the union can include unique information which is a setting value unique to each printer, and further, the computer is made to execute an acceptance process for accepting a setting related to the unique information among the print settings based on the union generated in the generation process, and when there is a print instruction to a general-purpose print program pre-installed in the operating system that specifies the print server program as the output destination, and a print job based on the print instruction is input to the print server program from the operating system, a determination process for determining which printer from the plurality of printers will be the destination of the print job based on the setting related to the unique information received in the acceptance process, and a transmission process for sending the print job to the printer determined in the determination process.

[0007] According to the above configuration, a union of setting values ​​containing the unique information of each printer is generated, and the selection of setting values ​​is expanded by accepting the setting of the unique information based on that union. Furthermore, when a print job is entered, the printer to which the print job is sent is determined based on the setting of that unique information, so that when a printer-specific setting value is set, the print job is sent to the printer among the multiple printers that is suitable for that setting value. This makes it possible to increase the availability of printers in a printing system with multiple printers connected.

[0008] A printing system equipped with a print server program that controls the above-mentioned printer is also a novel and useful solution. [Effects of the Invention]

[0009] The technology disclosed herein provides a method for improving the usability of printers when multiple printers are used from an information processing device. [Brief explanation of the drawing]

[0010] [Figure 1] This is a schematic diagram of the information processing system according to the embodiment. [Figure 2] This is a schematic diagram of the information processing device. [Figure 3] This is an explanatory diagram that functionally describes an information processing device. [Figure 4] This is a schematic diagram of another information processing device. [Figure 5] This is a flowchart showing the procedure for acquiring printer capabilities. [Figure 6] This is an explanatory diagram illustrating the print settings that can be configured on a printer and the print settings themselves. [Figure 7] This is a flowchart showing the steps for selecting a printer. [Figure 8] This flowchart shows the procedure for selecting the printer's specific print settings. [Figure 9] This flowchart shows the steps for processing responses to inquiries about printer settings from a content creation application via the operating system. [Figure 10] This flowchart shows the procedure for printer selection based on specific print settings. [Figure 11] This is a flowchart showing the procedure for displaying the print screen. [Figure 12] This is a flowchart showing the printing process. [Modes for carrying out the invention]

[0011] Hereinafter, the information processing system according to this embodiment will be described in detail with reference to the accompanying drawings.

[0012] As shown in FIG. 1, the information processing system 5 of this embodiment is composed of three information processing devices 1, 100, 200 and three printers 2, 3, 4, and these three information processing devices 1, 100, 200 and the three printers 2, 3, 4 are connected via a LAN (Local Area Network) 5. The information processing devices 1, 100, 200 are, for example, personal computers, smartphones, or tablet computers, and are devices that perform generation and editing of image data to be printed by the printers 2, 3, 4 and transmission of print execution instructions to each of the printers 2, 3, 4.

[0013] As shown in FIG. 2, the information processing device 1 of this embodiment includes a controller 10 including a CPU 11, a ROM 12, a RAM 13, and a non-volatile memory 14. Further, it includes a user interface (hereinafter referred to as "user IF") 15, a network interface (hereinafter referred to as "network IF") 16 connected to the LAN 5, and a USB interface (hereinafter referred to as "USB-IF") 17, and these are electrically connected to the controller 10. The CPU 11 is an example of a control unit. The buffer of the CPU 11, the ROM 12, the RAM 13, and the non-volatile memory 14 are examples of memories. The network IF 16 and the USB-IF 17 are examples of communication interfaces, respectively.

[0014] The ROM 12 stores a startup program and the like for starting up the information processing device 1. The RAM 13 is used as a work area when various processes are executed or as a storage area for temporarily storing data. The non-volatile memory 14 is, for example, an HDD or a flash memory, and is used as an area for storing various programs, data such as image data, and various settings.

[0015] The CPU 11 executes various processes according to the programs read from the ROM 12 and the non-volatile memory 14 and based on the operations of the user. Note that the controller 10 in FIG. 2 is a general term for the hardware and software used for the control of the information processing apparatus 1, and does not necessarily represent a single piece of hardware actually present in the information processing apparatus 1.

[0016] The user IF 15 is hardware that receives operations by the user and displays information. The user IF 15 may have both an input function and an output function such as a touch panel, or may be configured by a combination of a display and a keyboard or a mouse.

[0017] The network IF 16 includes hardware for communicating with an external device via a network such as the Internet. The communication standard of the network IF 16 is, for example, Ethernet (registered trademark), Wi-Fi (registered trademark), etc. The USB-IF 17 includes hardware for performing communication based on the USB standard. Note that the communication mode of the network IF 16 and the USB-IF 17 may be wired or wireless.

[0018] The information processing apparatus 1 of this embodiment has a driverless printing function which is a function for performing printing without installing a printer driver. The driverless printing function is a printing function that creates a print job including standard print data which is general-purpose print data independent of the printer model based on the content to be printed, etc., and transmits it to the printer. For example, there are AirPrint (registered trademark) and Mopria (registered trademark). Also, the information processing apparatus 100 has a driverless printing function.

[0019] As shown in FIG. 1, three printers 2, 3, and 4 are connected to the information processing apparatus 1 via the LAN 4. The printers 2, 3, and 4 are all devices capable of forming an image on a medium to be printed, and for example, are page printers, copiers, multifunction devices, and FAX devices.

[0020] Printers 2, 3, and 4 are equipped with a driver printing protocol that corresponds to the driver printing function of the information processing device 100. Printers 2, 3, and 4 may also be connected to the information processing device 1 via USB-IF17. When printers 2, 3, and 4 receive individual print data that they can handle from the information processing device 100, they either use the received individual print data as print image data, or convert the received print data into print image data and then execute printing.

[0021] Furthermore, printers 2, 3, and 4 have the capability to perform printing using unique print settings that are not supported by the driverless printing function of information processing device 1. Therefore, even if they receive standard print data from the driverless printing function of information processing device 1, they cannot perform printing using unique print settings.

[0022] The information processing device 1 in this configuration is equipped with an application for printing to printers 2, 3, and 4. As shown in Figure 1, the non-volatile memory 14 of the information processing device 1 stores various programs, including an operating system (hereinafter referred to as OS) 41, a content creation application 42, a management program 43, and a print server program 44. Note that a part of the OS 41 may be included in the ROM 12.

[0023] The OS41 of the information processing device 1 in this configuration is a version that has a driverless printing function and does not accept the installation of printer drivers corresponding to individual printer models. Therefore, although the non-volatile memory 14 of the information processing device 1 contains a driverless printing program 45 for realizing the driverless printing function, it does not store printer driver programs corresponding to printers 2, 3, and 4, for example.

[0024] The content creation application 42 is an application that creates content for printing, such as documents, images, and charts. The content creation application 42 also includes a function to receive print commands based on user operations. Furthermore, the content creation application 42 is compatible with the driverless printing function of the OS 41. The information processing device 1 may, for example, have multiple content creation applications 42.

[0025] The management program 43 and the print server program 44 are used to cause printers 2, 3, and 4 connected to the information processing device 1 to print content created by the content creation application 42 or the like. Furthermore, the management program 43 and the print server program 44 are used to generate a union of print setting items and print setting values ​​that include the unique information of printers 2, 3, and 4, and to accept the setting of that unique information based on that union. Additionally, when standard print data is input, these programs are used to determine which printer to send the print job to, based on separately set unique information. Note that the management program 43 and the print server program 44 are examples of print server programs.

[0026] Furthermore, the management program 43 is a program that starts print server programs 44 corresponding to printers 2, 3, and 4, and registers the print server configured by the print server programs 44 as a virtual printer in the OS 41. By registering the print server as a virtual printer in the OS 41, content creation applications 42, etc., can select that virtual printer as the output destination. The print server program 44 is a program that converts print jobs output by the driverless printing function into print jobs that reflect the unique print settings and sends them to printers 2, 3, and 4.

[0027] Note that there is only one management program 43 and one print server program 44 per information processing device 1. In information processing device 1 to which multiple printers 2, 3, and 4 are connected, the print server is started as if printers 2, 3, and 4 were a single printer, and they are registered as a single virtual printer.

[0028] In this configuration, the information processing device 1 performs different processes depending on whether it is instructing a printer that supports driverless printing (hereinafter, the specified printer among printers 2, 3, and 4 if they are compatible) or instructing a virtual printer configured by the print server program 44 using printers 2, 3, and 4, as shown in Figure 3. For example, when the OS 41 of the information processing device 1 receives a print command from the content creation application 42, if the printer specified in the received print command is a compatible printer, it sends the standard print data created using the driverless printing function to the compatible printer. The compatible printer then performs printing based on the standard print data.

[0029] On the other hand, if the printer specified in the print command is a virtual printer configured by printers 2, 3, and 4 using the print server program 44, the information processing device 1 passes the standard print data created using the driverless printing function to the print server program 44. The print server program 44 obtains individual print data, which is print data in a format compatible with printers 2, 3, and 4, based on the standard print data and separately configured unique print settings, and sends it to printers 2, 3, and 4.

[0030] As shown in Figure 4, the information processing devices 100 and 200 in this configuration have the same configuration as information processing device 1, but differ in that the management program 43 and the print server program 44 are not stored in the non-volatile memory 14. Therefore, in information processing devices 100 and 200, if the printer specified in the print command is a virtual printer configured with printers 2, 3, and 4, it is necessary to pass the standard print data created by the driverless printing function to the print server program 44 of information processing device 1. The print server program 44 of information processing device 1 obtains individual print data, which is print data in a format compatible with printers 2, 3, and 4, based on the standard print data passed and the separately set unique print settings, and sends it to printers 2, 3, and 4.

[0031] Next, the operation of causing the information processing device 1 to execute printing on printers 2, 3, and 4 will be explained in detail with reference to Figures 5 to 12. In the following explanation, each processing step in the process and flowchart basically represents the processing of the CPU 11 according to instructions written in programs such as the management program 43 and the print server program 44. The processing by the CPU 11 also includes hardware control using an IF (also called an API) for data exchange with other modules of the OS 41 of the information processing device 1.

[0032] First, the procedure for acquiring printer capabilities by the management program 43 and the print server program 44 will be explained with reference to the flowchart in Figure 5. This printer capability acquisition process is executed by the CPU 11 when, for example, the information processing device 1 is started up, a new printer is connected, a connected printer is disconnected, or a capability query is received from the OS 41.

[0033] In the printer capability acquisition process, the CPU 11 first determines whether printers 2, 3, and 4 connected to the information processing device 1 via LAN 5 or USB-IF 17 exist (S10). At this time, the information processing device 1 determines whether connected printers 2, 3, and 4 exist based on the information obtained by multicasting a search signal that can be responded to by printers 2, 3, and 4. If it determines that connected printers 2, 3, and 4 do not exist (S10: NO), this process is terminated.

[0034] On the other hand, if it is determined that connected printers 2, 3, and 4 exist (S10: YES), the CPU 11 then queries printers 2, 3, and 4 to obtain the print settings items and the print settings values ​​for those items (S11). Note that the print settings items and the selectable print settings values ​​for printers 2, 3, and 4 may be obtained, for example, by querying the printer manufacturer's server via the internet. The process in S11 is just one example of the acquisition process.

[0035] Next, the CPU 11 stores the acquired print setting items and the selectable print setting values ​​for those print setting items as print setting information in the non-volatile memory 14 along with the printer name (S12). The printer name can include the printer model number, name, IP address, etc.

[0036] Next, the CPU 11 determines whether it has read the print settings and their corresponding print settings from all of the printers 2, 3, and 4 connected to the information processing device 1 (S13). If it determines that it has read the print settings and their corresponding print settings from all of the printers 2, 3, and 4 connected to the information processing device 1 (S13: YES), the CPU 11 then creates a union of the print settings and their corresponding print settings from all the printers it has read, and stores the union of the print settings and their corresponding print settings in the non-volatile memory 14 as printer capability information for the union (S14). The union may be the logical OR of the configurable print settings and their corresponding print settings from printers 2, 3, and 4, or it may be the result of merging or adding the configurable print settings and their corresponding print settings from printers 2, 3, and 4. The process in S14 is an example of a generation process.

[0037] Furthermore, in this configuration, if the printer capability acquisition process is configured to be executed when the information processing device 1 is started up, the unique print setting process described later can be executed quickly.

[0038] Here, the print settings items and print settings values ​​that can be set on printers 2, 3, and 4 will be explained with reference to Figure 6.

[0039] In other words, in Figure 6, among the print settings that can be set on printers 2, 3, and 4, the general-purpose print setting 51 is an example of a print setting supported by the driverless printing function of the information processing device 1. The specific print setting 52 is an example of a print setting not supported by the driverless printing function of the information processing device 1.

[0040] For example, the general print settings 51 for printer 2 include "Paper Size" and "Paper Type" as print setting items, and "A4" and "Plain Paper" as print setting values, respectively. Similarly, the specific print settings 52 include "Single-sided / Double-sided" as a print setting item, and "Single-sided" and "Double-sided" as print setting values, respectively. In the same way, the general print settings 51 and specific print settings 52 for printers 3 and 4 are as shown in Figure 6. Note that the specific print settings 52 are an example of specific information.

[0041] Furthermore, the general-purpose print setting 51 of the union print setting 53, which is the union of print setting items and print setting values ​​that can be set in printers 2, 3, and 4, has "paper size" and "paper type" as print setting items, and "A4", "A5", "postcard", "plain paper", "inkjet paper", and "glossy paper" as their respective print setting values. Furthermore, the specific print setting 52 has "single-sided / double-sided", "Nin1", and "paper type" as print setting items, and "single-sided", "double-sided", "2in1", "4in1", "inkjet postcard address side", "inkjet postcard message side", "plain paper postcard address side", and "plain paper postcard message side" as their respective print setting values.

[0042] In this configuration, the user can select and store the printer and specific print settings 52 in advance before issuing a print command in the content creation application 42. When the user touches a designated area on the touch panel of the user interface 15, a selection screen pops up, and the user can select the printer and specific print settings 52 by touching the screen according to its display.

[0043] Figure 7 is a flowchart showing the printer selection process. The printer selection process shown in Figure 7 is achieved by the CPU 11 processing the management program 43 and the print server program 44.

[0044] First, the CPU 11 determines whether the user has touched a selection button, which is a predetermined area on the touch panel of the user interface 15 (S21). If it determines that the user has not touched the predetermined area on the touch panel of the user interface 15 (S21: NO), it proceeds to another process (S22).

[0045] On the other hand, if the CPU 11 determines that the user has touched a predetermined area on the touch panel of the user IF15 (S21: YES), the CPU 11 displays a printer selection screen as a pop-up on the touch panel of the user IF15 (S23). The printer selection screen displays all the printer names obtained in the printer capability acquisition process shown in Figure 5. In other words, the printer names of printers 2, 3, and 4 connected to the information processing device 1 are displayed.

[0046] Next, the CPU 11 determines whether a printer has been selected or not (S24). If the user selects one of the printer names displayed on the printer selection screen and then touches the "Execute" button, the CPU 11 determines that a printer has been selected (S24: YES), and then the CPU 11 stores the selected printer name in the non-volatile memory 14 (S25).

[0047] On the other hand, if it is determined that no printer has been selected (S24:NO), or after processing S25, the CPU 11 then determines whether the "Cancel" button displayed on the printer selection screen has been touched by the user (S26). If it is determined that the "Cancel" button has been touched (S26:YES), the CPU 11 deletes the printer name from the non-volatile memory 14 (S27). After processing S27, or if it is determined that the "Cancel" button has not been touched (S26:NO), it determines whether the "Exit" button displayed on the printer selection screen has been touched by the user (S28). If the CPU 11 determines that the "Exit" button has been touched (S28:YES), it terminates the printer selection process. On the other hand, if it is determined that the "Exit" button has not been touched (S28:NO), the CPU 11 returns to processing S23.

[0048] Figure 8 is a flowchart showing the procedure for selecting the printer's specific print settings. The printer's specific print settings selection process shown in Figure 8 is implemented by the CPU 11 processing the management program 43 and the print server program 44, and is executed periodically at predetermined intervals.

[0049] First, the CPU 11 determines whether the user has touched a selection button, which is a predetermined area on the touch panel of the user interface 15 (S31). If it determines that the user has not touched the predetermined area on the touch panel of the user interface 15 (S31: NO), it proceeds to another process (S32).

[0050] On the other hand, if the CPU 11 determines that the user has touched a predetermined area on the touch panel of the user IF 15 (S31: YES), the CPU 11 displays a pop-up screen for selecting the printer's unique print settings on the touch panel of the user IF 15 (S33). The printer's unique print settings selection screen displays all of the unique print settings 52 from the union print settings 53 in the printer capability acquisition process shown in Figure 6. In other words, the print setting items and their print setting values ​​for the unique print settings 52 are displayed.

[0051] Next, the CPU 11 determines whether the selection of the unique print setting 52 has already been made (S34). If the user selects one print setting value corresponding to one print setting item displayed on the selection screen for the unique print setting 52 and then touches the "Execute" button, the CPU 11 determines that the selection of the unique print setting 52 has already been made (S34: YES), and the CPU 11 stores the selected print setting item and print setting value of the unique print setting 52 in the non-volatile memory 14 (S35). Note that in the selection of the unique print setting, it may be possible to select one print setting value for multiple print setting items. Note that the process in S34 is an example of acceptance processing.

[0052] On the other hand, if it is determined that the custom print setting 52 has not been selected (S34: NO), or after processing in S35, the CPU 11 then determines whether the "Cancel" button displayed on the custom print setting selection screen has been touched by the user (S36). If it is determined that the "Cancel" button has been touched (S36: YES), the CPU 11 terminates the custom print setting selection process. On the other hand, if it is determined that the "Cancel" button has not been touched (S36: NO), the CPU 11 returns to processing in S33.

[0053] Figure 9 is a flowchart showing the procedure for processing responses to inquiries about printer capabilities from the content creation application 42 via the OS 41 regarding printer print settings. The response processing shown in Figure 9 is achieved by the CPU 11 processing the management program 43 and the print server program 44.

[0054] First, the CPU 11 determines whether or not the content creation application 42 has requested printer capability information via the OS 41 (S41). If it determines that the content creation application 42 has not requested information via the OS 41 (S41: NO), it proceeds to another process (S42).

[0055] On the other hand, if the CPU 11 determines that the user has touched a predetermined area on the touch panel of the user interface 15, and that the content creation application 42 has inquired about capability information for the virtual printer configured with printers 2, 3, and 4 via the OS 41 (S41: YES), the CPU 11 determines whether or not the printer name exists in the non-volatile memory 14 (S43). For example, if the printer name selected from printers 2, 3, and 4 in the printer selection process shown in Figure 7 (S25) is stored in the non-volatile memory 14, the CPU 11 determines that the stored printer name exists (S43: YES), and then the CPU 11 replies to the content creation application 42 via the OS 41 with the stored printer name and the printer's print settings, i.e., the printer's general-purpose print settings 51 (S44), and then terminates this reply process.

[0056] On the other hand, if the printer name is not stored in the non-volatile memory 14, the CPU 11 determines that no printer has been selected from printers 2, 3, and 4 (S43: NO). Next, the CPU 11 determines whether or not a unique print setting is stored in the non-volatile memory 14 (S45). Then, in the S35 process of the printer's unique print setting process shown in Figure 8, if the printer's unique print setting is stored in the non-volatile memory 14, the CPU 11 determines that a stored unique print setting exists (S45: YES). Next, the CPU 11 extracts a printer with a valid unique print setting from printers 2, 3, and 4 (S46). Note that in the S46 process, the printer is extracted based on the print setting stored in the non-volatile memory 14 in the S12 process of the printer capability acquisition process shown in Figure 5.

[0057] Next, the CPU 11 takes the union of the extracted printer print settings (S47). In this case, the union of the print settings is the union of the general-purpose print settings 51 from the extracted printer print settings. Next, the CPU 11 returns the union of the general-purpose print settings 51 of the extracted printers to the content creation application 42 via the OS 41 as the capability information of the extracted printers (S48), and then terminates this response process.

[0058] On the other hand, if it is determined in S45 that no specific print settings are stored (S45: NO), the system returns the combined print settings of printers 2, 3, and 4 connected to the information processing device 1 to the content creation application 42 via the OS 41 (S49), and then terminates this return process. The combined print settings in this case are obtained by taking the combined general-purpose print settings 51 from the print settings of printers 2, 3, and 4 connected to the information processing device 1, and returning this as capability information for printers 2, 3, and 4 to the content creation application 42 via the OS 41. In other words, the combined print settings 53 shown in Figure 6, with their combined general-purpose print settings 51, are returned as capability information for printers 2, 3, and 4.

[0059] Thus, with this configuration, in S48 and S49, a union of the general-purpose print settings for printers 2, 3, and 4 is generated, and this union of general-purpose print settings is returned to the content creation application 42 as capability information for printers 2, 3, and 4. Furthermore, the content creation application 42 accepts the general-purpose print setting based on this capability information, thereby expanding the options for print settings and improving convenience for the user. In addition, it becomes possible to increase the usability of the printers.

[0060] Next, Figure 10 is a flowchart showing the procedure for printer selection based on unique print settings. The printer selection process based on unique print settings shown in Figure 10 is realized by the CPU 11 processing the management program 43 and the print server program 44, and is executed when the unique print settings are stored in the non-volatile memory 14.

[0061] First, the CPU 11 extracts printers that can print using the unique print settings stored in the non-volatile memory 14 during the selection process of unique print settings shown in Figure 8 and the print screen display process shown in Figure 11, which will be described later (S51). The process in S51 is performed based on the information stored in the non-volatile memory 14 during the printer capability acquisition process shown in Figure 5 (S12).

[0062] Next, the CPU 11 determines whether the number of printers extracted in the S51 process is "0" or not (S52). If it determines that the number of printers is "0" (S52: YES), the CPU 11 then deletes the printer names stored in the non-volatile memory 14 (S53). Next, the CPU 11 disables the "Print" button displayed on the touch panel of the user interface 15 (S54), and terminates this printer selection process.

[0063] On the other hand, if in S52 it is determined that the number of printers is not "0" (S52: NO), then the CPU 11 determines whether the number of printers extracted in the S51 process is "1" or not (S55). If it is determined that the number of printers is "1" (S55: YES), then the CPU 11 stores the unique print settings and printer name in the non-volatile memory 14 (S56).

[0064] On the other hand, if S55 determines that the number of printers is not "1" (S55: NO), then CPU 11 automatically selects a printer (S57). The conditions for automatic printer selection here can include, for example, prioritizing printers with more print settings or values ​​in their print settings. It can also be prioritized for printers with faster print speeds. Furthermore, it can be prioritized for printers currently in standby mode. Additionally, it can be prioritized for printers with larger paper size options. Finally, it can be prioritized for printers closest to the user.

[0065] In this configuration, if the S57 process prioritizes selecting the currently available printer, the waiting time until printing is complete can be shortened. Furthermore, if the process prioritizes selecting the fastest printer, even with a large number of pages, speedy printing is possible. Additionally, if the process prioritizes selecting the printer with the most print settings and values, the user's options for print settings may be broadened. Finally, if the process prioritizes selecting the printer closest to the user, user convenience is improved. Note that the S55 and S57 processes are examples of decision-making processes.

[0066] Next, the CPU 11 stores the printer name and unique print settings of the printer automatically selected in S57 in the non-volatile memory 14 (S58), and then terminates the printer selection process.

[0067] Next, Figure 11 is a flowchart showing the procedure for displaying the print screen. The print screen display procedure shown in Figure 11 is realized by the CPU 11 processing the management program 43 and the print server program 44, and is executed when it receives a print command from the content creation application 42 via the OS 41.

[0068] First, the CPU 11 reads the print settings included in the print job sent from the OS 41 (S61). The print settings at this time are the general-purpose print settings 51. Next, the CPU 11 extracts printers that meet the print settings read in S61 (S62). The process in S62 is performed based on the information stored in S12 of the printer capability acquisition process shown in Figure 5.

[0069] In this configuration, printers that meet the print settings included in the print job are extracted. As a result, printers that do not meet the print settings included in the print job, i.e., the general print settings 51, are eliminated at this point, increasing the likelihood that printing can be performed using the extracted printer.

[0070] Next, the CPU 11 reads the printer's unique print settings extracted in S62 (S63). The processing in S63 is performed based on the information stored in S12 of the printer capability acquisition process shown in Figure 5.

[0071] Next, the CPU 11 determines whether or not a unique print setting exists for the extracted printer (S64). If it determines that a unique print setting exists (S64: YES), the CPU 11 then determines whether or not the unique print setting has been set in advance (S65). If the unique print setting has been set in advance through the printer's unique print setting selection process shown in Figure 8, the CPU 11 determines that the unique print setting has been set in advance (S65: YES), and then the CPU 11 displays the contents of the unique print setting as a pop-up on the touch panel of the user IF 15 (S66). Next, the CPU 11 displays a preview image on the touch panel of the user IF 15 based on the general print data included in the print job and the current print setting, and also displays a "Print" button and a "Cancel" button (S67), and then terminates this print screen display process.

[0072] On the other hand, if in S64 it is determined that the unique print settings have not been set in advance (S65: NO), then the CPU 11 displays a unique print setting selection screen on the touch panel of the user IF 15 as a pop-up for selecting the unique print settings read in S63 (S68). After that, the CPU 11 determines whether or not the selection of unique print settings has been completed on the unique print setting selection screen (S69). If the user selects one of the print setting values ​​of the unique print settings displayed on the unique print setting selection screen and then touches the "Execute" button, the CPU 11 determines that the selection of unique print settings has been completed (S69: YES), and then the CPU 11 stores the selected unique print setting in the non-volatile memory 14 (S70). Next, the CPU 11 displays a preview image on the touch panel of the user IF 15 based on the general-purpose print data included in the print job and the current print settings, and also displays the "Print" button and the "Cancel" button (S71), and then terminates this print screen display process.

[0073] In this configuration, when a print command is received from the content creation application 42 via the OS 41, it is possible to select unique print settings, thus improving convenience by allowing unique print settings to be set for each print job.

[0074] On the other hand, if it is determined in S69 that the selection of the unique print settings has not been completed (S69:NO), it is determined whether the user has touched the "Cancel" button displayed on the unique print settings selection screen (S72). If it is determined that the "Cancel" button has been touched (S72:YES), the CPU 11 proceeds to the process described in S73. On the other hand, if it is determined that the "Cancel" button has not been touched (S72:NO), the CPU 11 returns to the process in S69.

[0075] On the other hand, if it is determined in S64 that no unique print settings exist (S64: NO), the CPU 11 then determines whether there are multiple printers extracted in S62 (S73). If it is determined that there are multiple printers (S73: YES), the CPU 11 then determines whether a printer has been selected in advance (S74). If a printer has been selected in advance in the printer selection process shown in Figure 7, the CPU 11 determines that a printer has been selected in advance (S74: YES), and then the CPU 11 reads the name of the previously selected printer from the non-volatile memory 14 and displays the printer name as a pop-up on the touch panel of the user interface 15 (S75).

[0076] Next, the CPU 11 displays a preview image on the user interface 15's touch panel based on the general-purpose print data included in the print job and the current print settings, and also displays a "Print" button and a "Cancel" button (S76), and then terminates this print screen display process.

[0077] On the other hand, if S74 determines that a printer has not been selected in advance (S74:NO), the CPU 11 displays a printer selection screen on the user interface 15's touch panel (S77). Next, it determines whether a printer has been selected on the printer selection screen (S78). Then, if the user selects one of the printer names displayed on the printer selection screen and touches the "Execute" button, the CPU 11 determines that a printer has been selected (S78:YES), and the CPU 11 stores the selected printer name in the non-volatile memory 14 (S79).

[0078] Next, the CPU 11 displays a preview image on the user interface 15's touch panel based on the general-purpose print data included in the print job and the current print settings, and also displays the "Print" button and the "Cancel" button (S80), and then terminates this print screen display process.

[0079] On the other hand, if it is determined that no printer has been selected (S78:NO), the CPU 11 then determines whether the "Cancel" button displayed on the printer selection screen has been touched by the user (S81). If it is determined that the "Cancel" button has been touched (S81:YES), the CPU 11 executes the process to cancel printing (S82), and then terminates the printer selection process. On the other hand, if it is determined that the "Cancel" button has not been touched (S81:NO), the CPU 11 returns to the process in S78.

[0080] On the other hand, if S73 determines that there are no multiple printers, i.e., "1" printer (S73:NO), the process moves to S75, where the printer name is displayed as a pop-up on the user interface 15's touch panel.

[0081] Next, Figure 12 is a flowchart showing the printing process. The printing process shown in Figure 12 is realized by the CPU 11 processing the management program 43 and the print server program 44, and is executed when it receives a print command from the content creation application 42 via the OS 41.

[0082] First, the CPU 11 determines whether the "Print" button displayed on the user interface 15's touch panel has been touched by the user (S91). If it determines that the "Print" button has been touched (S91: YES), it closes the preview image display and pop-up display shown on the user interface 15's touch panel (S92). Next, the CPU 11 sends a print job containing the current print settings and individual print data to the printer stored in the non-volatile memory 14 (S93). The current print settings here include the print settings included in the print job and the unique print settings selected by the user in the unique print setting process shown in Figure 8 and the print screen display process shown in Figure 11.

[0083] Next, the printer name stored in the non-volatile memory 14 is displayed on the touch panel of the user interface 15 (S94), and then the printing process is terminated. Note that the process in S93 is an example of a transmission process, and the process in S94 is an example of a display process. In this configuration, the printer name is stored in the non-volatile memory 14 in the process of S25 in the printer selection process shown in Figure 7, or in the processes of S56 and S58 in the printer selection process based on unique print settings shown in Figure 10, or in the process of S79 in the print screen display process shown in Figure 11.

[0084] On the other hand, if S91 determines that the "Print" button has not been touched (S91:NO), the CPU 11 then determines whether the "Cancel" button has been touched by the user (S95). If it determines that the "Cancel" button has been touched (S95:YES), the CPU 11 then executes the print cancellation process (S96), and then terminates the print process.

[0085] On the other hand, if S95 determines that the "Cancel" button has not been touched (S95:NO), CPU11 returns to S91.

[0086] As explained in detail above, this configuration generates a union of print settings, including the unique print settings of each printer 2, 3, and 4. By accepting the unique print settings based on this union, the range of print setting options is expanded. Furthermore, when a print job is entered, the printer to which the print job is sent is determined according to the status of the unique print settings. As a result, when printer-specific print settings are set, the print job is sent to the printer among the multiple printers that is suitable for those print settings. This increases the usability of printers in a printing system with multiple printers 2, 3, and 4 connected.

[0087] This embodiment is merely illustrative and does not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence. For example, the number of information processing devices and printers constituting this embodiment is not limited to the example in Figure 1. For example, printer 2 may not be connected.

[0088] Furthermore, in this embodiment, in the response processing shown in Figure 9, the general-purpose printer settings 51 of the printer are returned to the content creation application 42 via OS 41 in processing S44, and the union of the extracted general-purpose printer settings 51 is returned to the content creation application 42 as printer capability information via OS 41. However, by utilizing the vendor area of ​​OS 41, the general-purpose printer settings 51 and specific printer settings 52 of the printer are returned to the content creation application 42 via OS 41 in processing S44, and the print settings of the union of the extracted general-purpose printer settings 51 and specific printer settings 52 are returned to the content creation application 42 via OS 41 in processing S48.

[0089] Furthermore, in this embodiment, the printer capability acquisition process shown in Figure 5, the printer selection process shown in Figure 7, the printer's unique print setting selection process shown in Figure 8, the response process shown in Figure 9, the printer selection process based on the unique print setting shown in Figure 10, the print screen display process shown in Figure 11, and the printing process shown in Figure 12 are implemented by the management program 43 and the print server program 44. However, all or part of these processes may be implemented by an application program separate from the management program 43 and the print server program 44.

[0090] Furthermore, in this embodiment, the printer name is displayed in step S94 of the printing process shown in Figure 12. However, the printer name may also be displayed on the preview screen before the user touches the "Print" button displayed on the user IF15 touch panel by the print screen display process shown in Figure 11.

[0091] Furthermore, in this embodiment, although the printer is automatically selected based on predetermined conditions in process S57 of the printer selection process based on the unique print settings shown in Figure 10, the user may also be allowed to select it manually.

[0092] Furthermore, the processing disclosed in this embodiment may be performed on a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processing disclosed in this embodiment can be implemented in various ways, such as on a recording medium or method that stores a program for performing the processing. [Explanation of symbols]

[0093] 1. Information Processing Device 2, 3, 4 Printers 11 CPU 14 Non-volatile memory 16 Network Interfaces 17 USB-IF 41 OS 43 Management Programs 44 Print Server Program 45 Driverless Printing Programs 51 General Print Settings 52. Custom Print Settings 53 Union print settings

Claims

1. A printing program that is executable by the computer of an information processing device and is configured to perform printing in cooperation with a general-purpose printing program of the operating system of the information processing device, wherein a virtual printer can be registered in the operating system. The printing program is provided to the computer, When one virtual printer is registered in the operating system, and a first printer and a second printer corresponding to the registered virtual printer are connected to the information processing device, A print command is given to a general-purpose printing program pre-installed in the operating system, specifying one virtual printer as the output destination, and when a print job based on the print command is input to the printing program from the operating system, if it is determined that the print should be made to the first printer, the print job based on the print command is sent to the first printer, and if it is determined that the print should be made to the second printer, the print job based on the print command is sent to the second printer, a print job transmission process. To execute A printing program characterized by the following features.

2. In the printing program described in claim 1, In the print job transmission process, the print job input from the operating system is converted into a print job format compatible with the first or second printer, which is the destination. A printing program characterized by the following features.

3. In the printing program described in claim 1, To the aforementioned computer, This process executes a selection acceptance process that accepts the selection of one of the first printer and the second printer. A printing program characterized by the following features.

4. In the printing program described in claim 1, The aforementioned computer further, A capability information acquisition process that acquires first capability information from the first printer and second capability information from the second printer, A unique setting value reception process that accepts a first unique setting value specific to the first printer based on the first capability information acquired in the capability information acquisition process, or a second unique setting value specific to the second printer based on the second capability information acquired in the capability information acquisition process, To execute A printing program characterized by the following features.

5. In the printing program described in claim 1, The printing program includes one management program and one print server program. A printing program characterized by the following features.

Citation Information

Patent Citations

  • Program, device, and program for setting image forming apparatus, and image reader setting device

    JP2006041940A

  • Terminal device, printer control method, and computer program

    JP2016099753A

  • Image formation apparatus, terminal device, image formation system and program

    JP2017024272A