Printing control program, printing system, and print production method
The print control program facilitates printing from any registered printer by managing print data transmission, ensuring secure and convenient printing across multiple printers using a generic driver.
Patent Information
- Application Number
- JP2024036883
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-11
- Publication Date
- 2025-09-25
AI Technical Summary
Existing printing systems require a printer vendor-specific driver, limiting the ability to print from printers other than the specified one, even when a generic printer driver is installed.
A print control program that acquires print data from a generic printer driver, transmits control data to a first printer, and manages the transmission of print data to a second printer for printing, enabling printing from multiple printers using a generic driver.
Enables printing from any registered printer, including authenticated printing to secure data privacy and enhance user convenience by allowing data storage and management across multiple printers.
Smart Images

Figure 2025138088000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a print control program, a printing system, and a print production method. [Background technology]
[0002] Patent document 1 discloses a printing system that enables a server to send print instructions to a terminal device when the network information of the terminal device changes in a network where the terminal device, which stores print jobs, is connected to the server for communication. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-097931 Summary of the Invention [Problem to be solved by the invention]
[0004] The printing system described in Patent Document 1 executes printing in a terminal device using a printer vendor-specific driver, rather than a general-purpose printer driver such as an OS (Operating System) standard printer driver.
[0005] In an environment where a generic printer driver is installed on a terminal device, it is desirable to develop a technology that allows printing to be executed from a printer other than the printer specified by the terminal device. [Means for solving the problem]
[0006] A print control program according to one aspect of the present disclosure causes a computer to execute an acquisition process to acquire print data from a generic printer driver, a first transmission process to send control data to a first printer when the print data is acquired in the acquisition process, and a second transmission process to send the print data to a management program that sends the print data to the second printer in response to a request from the second printer based on the control data, causing the second printer to print.
[0007] A printing system according to one aspect of the present disclosure comprises a computer, a first printer, and a second printer, wherein the computer comprises a generic printer driver, an acquisition processing unit that acquires print data from the generic printer driver, a first transmission processing unit that sends control data to the first printer when the print data is acquired by the acquisition processing unit, a management unit that sends the print data to the second printer in response to a request from the second printer based on the control data, causing printing, and a second transmission processing unit that sends the print data acquired by the acquisition processing unit to the management unit.
[0008] A printed matter production method according to one aspect of the present disclosure includes an acquisition process in which a print control program acquires print data from a generic printer driver, a first transmission process in which the print control program transmits control data to a first printer, a second transmission process in which the print control program transmits the print data to a management program, and a print process in which the management program transmits the print data to the second printer in response to a request from the second printer based on the control data, thereby producing a printed matter. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a block diagram showing an example of the configuration of a printing system according to an embodiment; [Figure 2] FIG. 2 is a schematic diagram for explaining the flow of printing processing in the printing system of FIG. 1. [Figure 3]2 is a sequence diagram illustrating an example of a printing process in the printing system of FIG. 1. FIG. [Figure 4] 4 is a diagram showing an example of a user interface image displayed on a printer that performs printing in the printing process of FIG. 3. FIG. [Figure 5] FIG. 10 is a schematic diagram for explaining the flow of printing processing in a printing system according to a second comparative example. [Figure 6] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the drawings are merely examples for explaining the embodiments of the present invention. Furthermore, not all of the components described in the embodiments of the present invention are necessarily essential components of the present invention.
[0011] (Embodiment) [System Configuration] An example of the configuration of a printing system according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the configuration of a printing system according to an embodiment.
[0012] As shown in FIG. 1, a printing system 100 according to this embodiment can include a terminal device 10, a printer A (31), a printer B (32), and a printer C (33).
[0013] The terminal device 10 is an information processing device with communication capabilities, such as a PC (Personal Computer), smartphone, or tablet terminal, and can be used by a user who desires to print. The terminal device 10 may be a portable information processing device or a fixed information processing device. The terminal device 10 is connectable to printer A (31), printer B (32), and printer C (33) via network N1.
[0014] Printer A (31), printer B (32), and printer C (33) are all examples of printers that can print on media when they receive print data. Each printer produces printed materials by performing this type of printing. For convenience, the printing system 100 is described assuming a configuration that includes three printers, but it may include multiple printers. Each printer can also be referred to as a printing device or image forming device. The printing method used by each printer is not important; various printing methods, such as inkjet printing and laser printing, can be applied. The printers included in the printing system 100 may be the same model, or different models may be included.
[0015] Furthermore, each printer may be a device having both a printing function and a communication function, but may also be a multifunction device having other functions such as a scanner function, a copy function, and a facsimile transmission function.
[0016] Each printer may also have a user authentication function that accepts input of authentication information, such as a user ID and password, and performs user authentication by comparing the input with pre-stored authentication information, such as a user ID and password. To input the authentication information, each printer may have, for example, an operation unit and a display unit. The operation unit may be realized by, for example, one or more of physical buttons and a touch panel mounted on the display unit. In a configuration in which the operation unit has a touch panel, the display unit and touch panel can be collectively referred to as the printer's operation panel. The display unit is a component for displaying a user interface (UI) image for operating the printer, and is implemented by, for example, a display device such as a liquid crystal display or an organic electroluminescence display.
[0017] The following describes an example in which the authentication information is input by entering a user ID and password. However, the authentication information can also be input by, for example, reading a contactless or contact IC (Integrated Circuit) card with an IC card reader that reads information from the IC card. In this case, the IC card reader may be provided in the printer or may be connected to the printer. The authentication information and authentication information may also be the user's biometric information, such as the user's fingerprint information. In this case, the printer may be equipped with or connected to a device that reads the biometric information used as the authentication information.
[0018] The terminal device 10 can issue a print instruction to a printer selected by user operation from among printer A (31), printer B (32), and printer C (33) that are registered and recognized as the printer to perform printing.
[0019] The following example shows a case where printer A (31) is registered and recognized as the printer that will perform printing on the terminal device 10. In this example, a printer queue for printer A (31) is registered on the terminal device 10. In this case, the terminal device 10 is in an environment where it cannot issue print instructions to printer B (32) and printer C (33) unless printer B (32) and printer C (33) are registered, respectively. In the following, it is assumed that printer B (32) and printer C (33) are both connected to printer A (31) via network N1. In this example, printer A (31) functions as a parent printer for the terminal device 10, and printer B (32) and printer C (33) can function as child printers of printer A (31).
[0020] Although not shown, the printing system 100 can also include multiple terminal devices similar to the terminal device 10. Which printer serves as the parent printer for each terminal device 10 depends on the system configuration of the printing system 100. For example, printer A (31) functions as the parent printer for the terminal device 10, and printer B (32) functions as the parent printer for the other terminal devices.
[0021] Below, a detailed description will be given of an example configuration of the terminal device 10. Note that a description of an example configuration of each printer will be omitted.
[0022] [Configuration of terminal device 10] As shown in FIG. 1, the terminal device 10 may include a control unit 11, a storage unit 12, a communication unit 13, an operation unit 14, and a display unit 15.
[0023] The control unit 11 controls the entire terminal device 10. The control unit 11 can be configured to include, for example, an arithmetic processing unit, a working memory, and a storage device that stores control programs, parameters, etc. The arithmetic processing unit can be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The control unit 11 can also be configured as an SoC (System on a Chip). As can be seen from these examples, the control unit 11 can be configured to store the control program in an executable state. However, the control unit 11 can also be configured to store part of the control program as a circuit configuration such as an FPGA (Field-Programmable Gate Array), or can be configured as a dedicated circuit.
[0024] The control program may include a program for the arithmetic processing device to execute printing-related processes in cooperation with the storage unit 12, communication unit 13, operation unit 14, and display unit 15. The control program may include an OS. Since the OS is an OS installed in the terminal device 10, the type of OS will depend on the model of the terminal device 10, etc. The control program may include a web browser within or outside the OS. In the following, an example will be described in which at least a portion of the control program is stored in storage unit 12 provided separately from the control unit 11, but storage unit 12 may be part of a storage device within the control unit 11. In other words, storage unit 12 can also be considered part of the control unit 11.
[0025] The storage unit 12 is, for example, a storage device using a hard disk drive, solid state drive, or other memory. As part of the control program, the storage unit 12 stores a generic printer driver 16, a vendor assistant application program 17, and a management application program 18, which will be described later, in a state executable by the control unit 11. In the following description, the vendor assistant application program will be abbreviated as "vendor assistant App," and the management application program will be abbreviated as "management App." The storage unit 12 can also store various types of data, such as files to be printed.
[0026] The communication unit 13 is a component that communicates wirelessly or wired with external devices such as printers via the network N1 in accordance with predetermined communication standards such as various mobile communication standards and the Wi-Fi (registered trademark; the same applies below). The communication unit 13 can be configured with one or more communication interfaces that enable these communications. The communication interface may be, for example, an antenna or a cable connector. The network N1 is typically a local area network (LAN).
[0027] The operation unit 14 is a part that accepts operations by the user of the terminal device 10, and can also be called an operation acceptance unit. The operation unit 14 can be realized by, for example, one or more of physical buttons, a touch panel mounted on the display unit 15, a pointing device, and a keyboard. In a configuration in which the operation unit 14 includes a touch panel, the display unit 15 and the touch panel can be collectively called the operation panel of the terminal device 10.
[0028] The display unit 15 is a component for displaying UI images for operating the terminal device 10, and is configured with a display device such as a liquid crystal display or an organic electroluminescence display. The display unit 15 may also be configured to include a display and a drive circuit for driving the display.
[0029] The generic printer driver 16 will now be described. The generic printer driver 16 is an OS-standard printer driver that is included in the OS included in the control program or that is attached to the OS. For example, the generic printer driver 16 is a standard printer driver for the Windows (registered trademark; the same applies below) OS. The generic printer driver 16 can be a program that can control various types of printers to execute printing. The generic printer driver 16 can also be called an OS generic printing program or a generic printing program.
[0030] The generic printer driver 16 is a driver that uses a generic protocol for searching for printers and printing. The generic printer driver 16 uses, for example, mDNS / DNS-SD for searching for printers and IPP for printing on the printer. Here, DNS stands for Domain Name System. mDNS stands for multicast DNS. DNS-SD stands for DNS Service Discovery. IPP stands for Internet Printing Protocol.
[0031] As can be seen from this example, the generic printer driver 16 can be, for example, an IPP Class driver. IPP is an example of a standard protocol for managing printers and controlling printing. IPP obtains and controls printer information using HTTP (Hyper Text Transfer Protocol) POST requests and responses. IPP can be used to configure the printer and obtain its status. Here, secure communication can be achieved by using HTTPS (HTTP Secure) instead of HTTP.
[0032] The vendor auxiliary app 17 will now be described. The vendor auxiliary app 17 is an application program that assists the generic printer driver 16 and is used to extend the functionality of the generic printer driver 16. Therefore, the generic printer driver 16 can have the function of launching the vendor auxiliary app 17 and sending print jobs to the vendor auxiliary app 17. The vendor auxiliary app 17 can be, for example, a Print Support Application (PSA). Note that one print job refers to instructions for a series of operations for printing one or multiple printed materials, and includes print data and print settings. When printing multiple printed materials, one print job refers to instructions for a series of operations for printing printed materials with the same print content.
[0033] The vendor assistance app 17 can be a program that assists the generic printer driver 16 and causes a computer to execute print control suited to the capabilities of the target printer, i.e., print control that supports the printer's unique functions. The computer here refers to the terminal device 10 or the control unit 11. When the vendor assistance app 17 receives a print job from the generic printer driver 16, it can convert the print job so that printing using the specified printer's unique functions can be executed on that printer. Note that converting the print job can include converting the print data.
[0034] The vendor-auxiliary app 17 is an application program provided by a printer vendor or the like. The vendor-auxiliary app 17 can be provided to the user of the terminal device 10 by being published, for example, in an application store provided by the OS provider. Alternatively, the vendor-auxiliary app 17 can be provided to the user as being included in or attached to the OS.
[0035] The vendor assistance app 17 includes at least a print control program, which will be described below. This print control program can also be implemented as a PSA, for example. This print control program causes a computer to execute an acquisition process, a first transmission process, and a second transmission process, which will be described later. The term "computer" here also refers to the terminal device 10 or the control unit 11.
[0036] To put it simply, this printing control program can be a program that works in conjunction with the management App 18 to enable printing on either printer B (32) or printer C (33), to which printing instructions cannot be directly given from the terminal device 10.
[0037] The print control program can be configured to cause the computer to execute a process to store print data without printing it. This process is hereinafter referred to as the storage process. In the storage process, the print data is stored so that it can be managed by the management app 18, as described below.
[0038] The print control program can also be configured to allow the user to set whether or not to execute this accumulation process. In this case, the acquisition process, first transmission process, and second transmission process described below can be executed when the setting to accumulate print data is made. On the other hand, when the setting to print without accumulating print data is made, the print control program can simply cause printer A (31) to execute printing. Alternatively, the print control program can be configured to cause the computer to automatically accumulate the target print data when a print instruction is made.
[0039] Alternatively, the print control program may be configured to cause a computer to automatically store the print data when a print instruction is issued to the printer A (31) that will perform the printing only if the printer A (31) meets certain conditions. On the other hand, the print control program may cause a computer to execute a process that causes the printer A (31) to continue printing if the certain conditions are not met. Examples of certain conditions include a condition regarding the congestion of the print process on the printer A (31) that received the print instruction, a condition regarding the occurrence of an error, and a condition regarding the time period when the print instruction was issued. The condition regarding the congestion of the print process may be a condition in which the number of print jobs to be processed or the number of pages is below a threshold. The condition regarding the occurrence of an error may be a condition in which an error requiring time to resolve, such as a paper jam, has not occurred.
[0040] In the accumulation process described above, the accumulated print data can be specified in the printer that will perform the printing, the print data can be read, and the printer can print. The print data is accumulated in the management app 18, as described below. This printer can be, for example, printer B (32) or printer C (33) functioning as a child printer, or printer A (31) functioning as a parent printer. For example, in the accumulation process, the printer that will perform the printing performs user authentication processing, and if the user authentication processing is successful, the accumulated print data can be specified, the print data can be read, and the printer can print. Printing that involves user authentication processing like this is hereinafter referred to as authenticated printing.
[0041] Authentication printing is a method in which a printer accepts user authentication operations from a user, performs user authentication based on the accepted user authentication operations, and prints based on the results. If the user authentication is successful, the printer that has performed user authentication will print the printed material based on the print job desired by the user. By employing this type of authentication printing, the printing system 100 can prevent the printing of the printed material based on the user's desired print job by a printer installed in a location far from the user, which could result in the information printed on the printed material being leaked to others. Furthermore, because the printing of the printed material based on the user's desired print job can be executed by any printer, the printing system 100 is highly convenient for users.
[0042] The acquisition process, first transmission process, and second transmission process in the print control program are described below. The acquisition process acquires print data from the generic printer driver 16. Then, when print data is acquired in the acquisition process, the first transmission process transmits control data to the first printer. The control data can be transmitted to the first printer as a command. This control data can include print data identification information, which is information used to identify the print data, and computer identification information. The print data identification information can also be considered information for identifying a print job. The computer referred to here also refers to the terminal device 10 or the control unit 11. The computer identification information is used to identify the computer where the print data is stored. In the example of Figure 1, the computer identification information is used to identify the terminal device 10.
[0043] Additionally, the "first printer" here refers to the printer functioning as the parent printer, printer A (31). This control data corresponds to the print data and can include computer identification information. This computer identification information informs printer B (32) and printer C (33), functioning as child printers performing authenticated printing, of the source of the print data, allowing printer B (32) and printer C (33) to obtain the print data. Of course, as described above, printer A (31), functioning as the parent printer, can also similarly identify the source of the print data, so authenticated printing can be performed. In this case, authenticated printing will be executed after the timing of the storage process command.
[0044] The second transmission process transmits the print data acquired in the acquisition process to the management program. Here, the second transmission process may also transmit control data to the management program along with the print data. In this case, the print data and control data can be transmitted to the management program as separate commands associated with each other, or as a single integrated command. This transmission is performed to manage the print data, or the print data and control data, in the management program, and is performed through inter-process communication. This management program is represented in Figure 1 as management App 18. As can be seen from the first and second transmission processes, the print control program is a program that communicates with the printer and management App 18.
[0045] The management app 18 sends the target print data to the second printer, which is the printer that will perform the printing, in response to a request based on control data from the second printer. This sending is performed via the communication unit 13. The second printer here refers to a printer that functions as a child printer, and can refer to printer B (32) or printer C (33). Furthermore, the request may be based on control data and may be a request that allows access to the target print data.
[0046] In this way, the management app 18 manages the received print data and control data. When the management app 18 receives the request from the second printer, it references the control data it manages and sends the print data specified in the request to the second printer. To respond to such requests, the management app 18 should be kept resident, i.e., should remain running.
[0047] In the above example, it is assumed that of the printers included in the printing system 100, only printer A (31) is registered in the terminal device 10. However, either or both of printer B (32) and printer C (33) may also be registered in the terminal device 10 as printers that perform printing. Therefore, the print control program can be said to be a program that works in conjunction with the management App 18 to enable printing from printers other than the printer for which the terminal device 10 issues a print instruction.
[0048] The above mainly describes the printing control program according to this embodiment. In other words, this embodiment can provide a print production method for producing printed matter, including the acquisition process, first transmission process, and second transmission process described above.
[0049] In other words, the printing system 100 includes a computer exemplified by the terminal device 10, a first printer exemplified by printer A (31) connected to the computer, and a second printer that performs printing. The second printer is exemplified by printer B (32) or printer C (33). The computer also includes a generic printer driver 16 and the following acquisition processing unit, first transmission processing unit, management unit, and second transmission processing unit.
[0050] The acquisition processing unit acquires print data from the generic printer driver 16. When the acquisition processing unit acquires print data, the first transmission processing unit transmits control data to a first printer, exemplified by printer A (31). The second transmission processing unit transmits the print data acquired by the acquisition processing unit to the management unit. The management unit transmits the target print data to a second printer, exemplified by printer B (32) or printer C (33), in response to a request based on the control data from the second printer.
[0051] [Printing process flow in printing system 100] Next, the flow of printing processing in the printing system 100 will be explained in outline using Fig. 2. Fig. 2 is a schematic diagram for explaining the flow of printing processing in the printing system 100 of Fig. 1. Fig. 2 extracts the main components from the components of Fig. 1 and shows them together with the flow of printing processing.
[0052] In the following example, the explanation will be given on the assumption that, of the printers included in the printing system 100, only printer A (31) is registered in the terminal device 10. In the following, an example will be given in which the user executes printing using printer B (32), but printing can also be executed using printer C (33) in the same way.
[0053] First, user U logs in to terminal device 10 using the user ID and password assigned to him or her. Next, user U launches an application program on terminal device 10 that launches and edits files to be printed, such as document files. This application program can be stored in storage unit 12 so that it can be executed by control unit 11, although this is not shown. User U then performs an operation on operation unit 14 to select printer A (31) in the print settings for the file to be printed, and generic printer driver 16 then receives an instruction to start printing on printer A (31). In addition to this selection operation, basic print setting operations can also be received as print setting operations. User U can also instruct generic printer driver 16 to start printing by selecting a file to be printed and performing a print operation instead of launching an application program.
[0054] The generic printer driver 16 converts the file to be printed into print data, which is data in a printable format, based on the print settings indicated by the accepted basic print setting operation (Process I).The generic printer driver 16 then starts the vendor assistant app 17 and sends the print data to the vendor assistant app 17 via inter-process communication, and the vendor assistant app 17 acquires the print data (Process II).The acquisition process described above can be executed in this manner.
[0055] Note that processes I and II may be the following processes. That is, user U can specify advanced print settings using the extended functions of the vendor-assistant app 17 as print settings for printer A (31), and have the file to be printed converted into print data based on those advanced print settings. Specifically, when the generic printer driver 16 receives an operation from user U to proceed to advanced print settings from the basic print settings, it launches the vendor-assistant app 17. Then, the vendor-assistant app 17 may receive an operation for advanced print settings from user U and convert the file to be printed into print data based on those advanced print settings.
[0056] Next, the vendor assistance app 17 receives from the user U a print setting operation for executing a storage process for storing the print data without printing it directly, and executes such storage process (process III, process IV). The function for performing this storage process may be provided in the vendor assistance app 17 as one of the above-mentioned extended functions. Note that when the vendor assistance app 17 receives the above-mentioned detailed print settings from the user U, it may also receive print settings for performing this storage process as the detailed print settings or as part of the detailed print settings.
[0057] The storage process will be described below. The storage process includes a preparation process (process III) for preparing data to be stored, and a second transmission process (process IV) for transmitting the data to the management application 18 and storing it in the management application 18.
[0058] The preparation process is executed when the vendor assistant app 17 receives a print setting operation for performing storage processing. First, the vendor assistant app 17 reads out the user ID logged in to the terminal device 10. This user ID and the password set corresponding to it are an example of authenticated information used for performing authenticated printing. Note that a user ID and password different from those used for logging in to the terminal device 10 may be stored for authenticated printing, which is a print process involving storage processing. In this case, it is sufficient to read out the user ID stored for this authenticated printing.
[0059] Next, the vendor assistance app 17 generates control data. Here, the control data can include computer identification information for identifying the terminal device 10, which is the computer where the print data is saved, and print data identification information for identifying the print data managed by the management app 18. As described above, the computer where the print data is saved refers to the computer where the print data is stored, and refers to the computer on which the management app 18 that manages the print data is installed. The computer identification information can also be referred to as a terminal ID or computer ID, but it also includes information that enables the terminal device 10 to be identified from the child printer. Examples of this information include address information such as the IP (Internet Protocol) address of the terminal device 10. The print data identification information can be any information that can identify one print data from one or more print data stored in the terminal device 10, and can also be referred to as a print job ID, print ID, etc.
[0060] Furthermore, when generating the control data, the vendor assistance app 17 may execute a process for including a user ID in the computer identification information or print data identification information, or a process for linking the user ID to the computer identification information or print data identification information. This allows the vendor assistance app 17 to link the user ID to the computer identification information or print data identification information and include the user ID in the control data. However, if printing based on print data stored in the management app 18 can be performed by all users, not just the user U who issued the print instruction, the process for reading the user ID or the process for including the read user ID in the control data, as described above, may not be executed. Furthermore, in an environment where the address information of the terminal device 10 can be uniquely identified for the user ID in the child printer, the user ID can also be used as the computer identification information.
[0061] Next, the vendor assistance app 17 executes a second transmission process to transmit the control data and print data to the management app 18 via inter-process communication, and the management app 18 stores the received control data and print data in the storage unit 12. The management app 18 performs print management for the control data and print data.
[0062] Following the accumulation process described above, the vendor assistance app 17 sends the print data together with the control data to the generic printer driver 16 via inter-process communication (process V). Of course, process V may be executed before the transmission in process IV or at the same timing as the transmission in process IV. The generic printer driver 16 sends the control data and print data received in process V to printer A (31) (process VI). Process V and process VI are an example of the first transmission process described above. Therefore, in process VI, only the control data may be sent.
[0063] Printer A (31) functions as the parent printer and stores the received control data and print data so that it can be accessed by printer B (32) and printer C (33), which function as child printers. In other words, printer A (31) stores the received control data and print data in a state that can be shared with printer B (32) and printer C (33). Alternatively, printer A (31) may send the received control data, which is part of the received control data and print data, to printer B (32) and printer C (33) at the time of receiving it.
[0064] Through the above process, user U can go to the location of the printer where the printing will be performed and perform authenticated printing. User U operates printer B (32), for example, to input a user ID and password, and printer B (32) receives this input and compares it with the stored user ID and password to execute user authentication processing (process VII). If authentication fails in the user authentication processing, printer B (32) may display an error. The stored user ID and password may be, for example, a user ID and password stored in printer A (31) so that they can be shared with child printers, including printer B (32).
[0065] On the other hand, if authentication is successful in the user authentication process, printer B (32) uses the successful user ID as a key to reference the control data shared by or received from printer A (31). Reference to the control data shared by printer A (31) can mean that printer B (32) requests the control data from printer A (31) using the user ID as a key.
[0066] Then, printer B (32) accesses the management application 18 of the terminal device 10 and identifies the print data based on the computer identification information and print data identification information corresponding to the user ID contained in the referenced control data.
[0067] Alternatively, printer B (32) accesses the management app 18 of the terminal device 10 based on the computer identification information corresponding to the user ID contained in the referenced control data, and obtains a list of managed print data. Next, printer B (32) allows user U to select the target print data from this list.
[0068] Next, printer B (32) requests the management app 18 to transmit the specified print data or the print data selected by user U (process VIII).
[0069] In response to a request based on control data from the printer B (32) that will perform printing, the management app 18 sends the target print data to the printer B (32) (process IX). This sending is performed via the communication unit 13. Process IX allows the printer B (32) to obtain the target print data from the management app 18.
[0070] In this way, printer B (32) may acquire print data identified by the print data identification information. Alternatively, printer B (32) may acquire print data selected from print data managed by the management app 18. In this case, printer B (32) makes a list transmission request using the computer identification information included in the control data, and the management app 18 sends a list of all print data that meets the request, and then sends the selected print data. Printer B (32) may also acquire all print data managed by the management app 18. In this case, printer B (32) makes a request to send all print data using the computer identification information included in the control data, and the management app 18 sends all print data that meets the request.
[0071] Printer B (32) then executes printing based on the acquired print data (process X). This printing produces printed matter P. The print data that has been printed may be deleted at the time of execution or after a predetermined period of time has elapsed since execution.
[0072] Furthermore, if print data cannot be acquired through processes VIII and IX, the following processes VIIIa and IXa may be executed. In process VIIIa, printer B (32) accesses printer A (31), the source of the shared data, based on the referenced control data, obtains a list of print data, and allows user U to select the target print data. Alternatively, printer B (32) identifies the print data based on print data identification information corresponding to the user ID contained in the control data. Then, printer B (32) requests printer A (31) to transmit the print data selected or identified by user U. In process IXa, printer A (31) transmits the target print data to printer B (32) in response to the request using the control data from printer B (32). Process IXa allows printer B (32) to acquire the target print data from printer A (31). Then, printer B (32) executes printing based on the acquired print data.
[0073] The above description of process I has been given on the assumption that the instructing user who issues the print instruction on the terminal device 10 is user U. However, the instructing user may be different from user U who performs user authentication in process VI and receives the printed matter P. In other words, the instructing user who issues the print instruction by operating the terminal device 10 may also issue the print instruction so that, for example, a predetermined user group or a predetermined user can receive the printed matter P.
[0074] [Example of printing process] A specific example of the printing process will be described using Figures 3 and 4. Figure 3 is a sequence diagram for explaining a specific example of the printing process in the printing system 100 of Figure 1. Figure 4 is a diagram showing an example of a UI image displayed on the printer that prints in the printing process of Figure 3. In the following specific example, based on the same premise as the processing example of Figure 2, the description will focus on the characteristic parts of the printing process, but the various application examples described as the processing example of Figure 2 can also be applied.
[0075] First, when user U performs an operation such as selecting printer A (31) in the print settings for the file to be printed on the operation unit 14, the generic printer driver 16 receives an instruction to start printing on printer A (31) (step S1). In addition to this selection operation, basic print setting operations can also be received as print setting operations.
[0076] As explained in processes I and II, the generic printer driver 16 converts the file to be printed into print data in a printable format based on the print settings indicated by the accepted basic print setting operation, and starts the vendor auxiliary app 17 (step S2). In step S2, the generic printer driver 16 starts the vendor auxiliary app 17 and sends the print data to the vendor auxiliary app 17 via inter-process communication, and the vendor auxiliary app 17 acquires the print data.
[0077] Next, the vendor assistant App 17 accepts a print setting operation from the user U to execute a storage process for the print data, and executes the storage process including a preparatory process and a second transmission process. In the preparatory process, the vendor assistant App 17 first generates control data (step S3). This process corresponds to Process III. The control data can be generated, for example, as a command to execute authenticated printing including the storage process.
[0078] This command can include, in addition to an instruction to execute authenticated printing, computer-specific information such as the IP address of the terminal device 10, print data-specific information such as a print job ID that identifies the print data in the management app 18, and a user ID. Therefore, when generating the command, the vendor assistance app 17 reads the user ID and computer-specific information and also sets the print data-specific information for the print data. The print data-specific information may be set according to a predetermined rule, such as the date and time or the order of generation. As described above, the print data and control data can be generated as separate commands associated with each other, or as a single integrated command. The following description assumes that a single integrated command containing the print data and control data is generated in step S3. This command is also written in a format that allows the portion corresponding to the print data and the portion corresponding to the control data to be distinguished.
[0079] Commands can be written in, for example, ESC / P, but are not limited to this and can also be written in other printer control languages, such as PostScript. ESC stands for Epson Standard Code for Printers. Of course, there are many variations of ESC / P, and any of these may be used.
[0080] Furthermore, as a security measure to prevent unauthorized commands from being accepted by the management App 18, or the management App 18 and printer A (31), which is the parent printer, a validity check string may be added to the generated command. The validity check string can be any string, such as "EP." As a result, the final generated command will be, for example, EP<generated command>EP. The management App 18, or the management App 18 and printer A (31), which is the parent printer, can use the validity check string to determine whether the command is legitimate, and if it is not, can ignore or discard the command.
[0081] Next, the vendor assistance app 17 executes a second transmission process in which the finally generated command including the print data is transmitted to the management app 18 via inter-process communication (step S4). The management app 18 stores the received command in the storage unit 12, thereby accumulating the control data and the print data (step S5).
[0082] For example, in step S3, the vendor assistance app 17 may store the generated command in the storage unit 12. Then, in step S4, the vendor assistance app 17 may store the control data and print data by sharing the command with the management app 18, for example by transmitting the storage destination to the management app 18. In an example in which a command is generated to include a correctness determination string, the management app 18 compares a pre-stored correctness determination string with the correctness determination string included in the command, and stores the command only if the two match. In an example in which a command is stored by sharing, the management app 18 may accept the sharing only if the two match.
[0083] After processing step S4, the vendor assistance app 17 sends a command to the generic printer driver 16 by inter-process communication (step S6). This processing corresponds to process V. Step S6 may be executed after processing step S3 and before processing step S4, or may be executed at the same timing as step S4, or may be executed after processing step S5.
[0084] The generic printer driver 16 sends the command received in step S6 to printer A (31) (step S7). This process corresponds to process VI. In step S7, the received command is sent to printer A (31) using, for example, IPP Octet-stream, a standard that allows free binary transmission. Note that the commands sent using Octet-stream are limited to commands corresponding to the computer-specific information, print data-specific information, and user ID in the control data; other commands may be sent via IPP communication. In this way, the first sending process may send commands using Octet-stream to printer A (31), which functions as the parent printer. As described for process VI, in step S7, only commands corresponding to the control data, or only commands corresponding to the computer-specific information, print data-specific information, and user ID in the control data, may be sent; commands corresponding to the print data may not be sent.
[0085] As described in steps S6 and S7, the first transmission process may send the command to printer A (31) functioning as the parent printer via the generic printer driver 16. However, the first transmission process may also be a process that sends the command without going through the generic printer driver 16. In other words, the vendor assistance app 17 may send the command directly to printer A (31) functioning as the parent printer.
[0086] Following step S7, printer A (31) saves the received command so that it can be accessed by printer B (32) and printer C (33), which function as child printers (step S8). In other words, printer A (31) stores the received command in a state that allows it to be shared with printer B (32) and printer C (33). Then, once printer A (31) has stored the command, it proactively shares it by sending the control data or a command corresponding to the computer identification information, print data identification information, and user ID in the control data to printer B (32) (step S9). Printer B (32) saves the received command in its internal memory (step S10). Although not shown, printer A (31) also sends this command to printer C (33), which receives and saves the command in its internal memory. Alternatively, printer B (32) and printer C (33) can periodically query printer A (31) to request and acquire this command from printer A (31) and store it internally. Alternatively, in response to successful authentication in the user authentication process in step S12 described below, printer B (32) that performed the user authentication process may request and acquire this command from printer A (31).
[0087] Next, user U operates printer B (32) to perform printing and inputs a user ID and password to request user authentication (step S11). This process corresponds to process VII. Upon receiving this request, printer B (32) compares the user ID and password included in the request with the user ID and password stored internally, thereby executing user authentication processing (step S12). Although not shown, printer B (32) may display an error if authentication fails during the user authentication processing.
[0088] If authentication is successful in the user authentication process, printer B (32) uses the successful user ID as a key to reference the computer identification information, print data identification information, and user ID shared by printer A (31) or in the command received from printer A (31). This reference can mean that printer B (32) requests the computer identification information and print data identification information from printer A (31) using the user ID as a key, in other words, it queries the computer identification information and print data identification information. Then, printer B (32) accesses the management app 18 of the terminal device 10 and identifies the print data based on the computer identification information and print data identification information acquired through the query.
[0089] Alternatively, printer B (32) accesses the management app 18 based on the referenced computer identification information and print data identification information to obtain a list of print data and allow user U to select the target print data. Printer B (32) can display, for example, a UI image 40 shown in FIG. 4 on its operation panel and accept an operation from user U to select the target print data. The UI image 40 can include an Unprinted tab 41, a Printed tab 42, a Delete All button 43, a list 44, job count information 47, a Delete button 48, and a Print Execute button 49. The Unprinted tab 41 and the Printed tab 42 are tabs that display a list 44 of print jobs that have not been printed and a list of print jobs that have been printed, respectively. For each print job, the list 44 displays job information 45, such as the job name, number of copies to be printed, and the date and time of receipt, as well as a Details button 46 for displaying details of the print job. User U can select each print job in the list 44. Here, an example is given in which the name of the file to be printed is used as the job name. The Delete All button 43 is a button for performing a process to delete all print jobs included in the displayed list 44. The job count information 47 includes a number indicating the number of print jobs included in the list 44 in the Unprinted tab 41, and if the Printed tab 42 is selected, includes a number indicating the number of print jobs included in that list. The Delete button 48 is a button for performing a process to delete one or more selected print jobs. The Print Execution button 49 is a button for performing a process to execute one or more selected print jobs.
[0090] For example, the user U displays the list 44 on the UI image 40, selects one or more print jobs, and selects the print execution button 49. By accepting such an operation, the printer B (32) accepts from the user U an operation to select print data for the one or more print jobs selected at that time.
[0091] Printer B (32) then requests the management app 18 to send the identified print data or the print data selected by user U, that is, to send a command indicating the print data (step S13). If this request includes print data identification information for the target print data, the target print data can be identified by the management app 18. The processing in step S13 corresponds to process VIII.
[0092] In this way, printer B (32) requests the management app 18 to send a command indicating print data. However, if printer B (32) has not yet received a command indicating at least the computer identification information of the control data from printer A (31), the following problem may occur. At this stage, printer B (32) may be unable to determine whether the parent printer, the printer to which the print instruction was issued, is printer A (31) or printer C (33). Therefore, printer B (32) may simply inquire about computer identification information from at least all printers it recognizes in the printing system 100 until it acquires computer identification information corresponding to the user ID. Alternatively, printer B (32) may inquire about computer identification information from all of the printers, regardless of whether it has acquired the information. Because printer B (32) may be the parent printer for the user ID before the inquiry, it is recommended that printer B (32) be included in the list of all printers. Printer B (32) may first check the command it received from a terminal device, such as terminal device 10, among all printers.
[0093] The management application 18 responds to the request to send print data based on the control data from the printer B (32) that will perform printing (step S14).
[0094] To respond to this request, the management app 18 generates a command by removing the authenticity determination string from the command received from the vendor assistance app 17 in step S4 and saved in step S5. The management app 18 then sends the command thus generated, without the authenticity determination string, as a response in step S14 to printer B (32), which is the printer that requested the transmission of a command indicating the print data. The response processing when the management app 18 sends a command indicating the target print data to printer B (32) in this way as a response to step S14 corresponds to processing IX.
[0095] Printer B (32), which sent the transmission request in step S13, determines whether it was able to obtain a command indicating the target print data in the response (step S15).
[0096] If printer B (32) determines that it has acquired the command, it executes printing based on the command (step S16) and notifies user U of the print results by displaying them on the operation panel (step S17). The process of step S16 corresponds to process X.
[0097] If printer B (32) determines that it was unable to acquire the command, that is, if it determines that it failed to acquire the command indicating the print data, it sends a transmission request for the target print data to printer A (31) (step S18). If this transmission request also includes print data identification information for the target print data, printer A (31) can identify the target print data. The processing in step S18 corresponds to process VIIIa.
[0098] Note that if there is no response in step S14, or if there is a response but the response is that there is no command indicating the target print data, printer B (32) determines that command acquisition has failed. If there is no response in step S14, this may be because the management app 18 was unable to receive the send request due to a communication failure or the like, or if the management app 18 was able to receive the request but was unable to send the target print data to printer B (32).
[0099] Upon receiving the transmission request in step S18, printer A (31) transmits a command indicating the print data corresponding to the print data identification information included in the transmission request to printer B (32) as a response to the transmission request (step S19). The process of step S19 corresponds to process IXa. Printer B (32) then executes printing based on the command indicating the acquired print data (step S20). The process of step S20 also corresponds to process X. Next, printer B (32) notifies user U of the print results by displaying them on the operation panel (step S21).
[0100] Printer B (32), which sent the transmission request in step S18, determines whether it was able to obtain a command indicating the target print data in the response from printer A (31), and if it was unable to obtain the command, it may display an error notification on the operation panel. If printer B (32) was able to obtain this command, it may execute printing in step S20.
[0101] Alternatively, the command sent in step S6 may be only a command indicating control data. In this case, however, the processes of steps S18 to S21 cannot be applied, and printer B (32) may notify the operation panel of an error if it cannot obtain a command indicating print data from the management app 18. In this way, the first transmission process described above may be a process that does not send print data to printer A (31) functioning as the first printer. Note that, in this example, a command indicating print data is sent from the management app 18 to printer A (31) functioning as the second printer. In other words, in this example, this command is not sent directly from the vendor assistance app 17 to printer A (31) functioning as the second printer.
[0102] Furthermore, as explained in step S4 and steps S13 and S14, the second transmission process described above may be a process that does not directly send print data to the second printer, printer B (32). On the other hand, if the function of management App 18 is embedded in vendor assistance App 17, for example, the second transmission process described above can directly send print data to the second printer.
[0103] [Effects of the embodiment] As described above, the printing system 100 includes a vendor-specific app 17 in an environment where printing is performed using a generic printer driver 16, such as a standard printer driver for the operating system. The vendor-specific app 17 includes a vendor-specific function not supported by the generic printer driver 16, such as printing from a printer other than the printer specified by the terminal device 10. To achieve this function, the vendor-specific app 17 adds control data as vendor-specific information to print commands sent from the generic printer driver 16. The vendor-specific app 17 then sends the modified command with the added control data to the management app 18, thereby sharing the command with the management app 18. Because the vendor-specific app 17 shares this command with the management app 18, the management app 18 can send a command indicating print data to a child printer in response to a print data transmission request from the child printer based on the control data. In this way, the vendor-specific app 17 enables commands to be sent to ports other than those specified by the generic printer driver 16, such as ports other than the IPP port of the parent printer specified by the IPP Class driver.
[0104] Therefore, according to this embodiment, in an environment in which the generic printer driver 16 is installed in the terminal device 10, printing can be performed from a printer other than the printer specified by the terminal device 10. In other words, according to this embodiment, it is possible to support processing in which printing is performed from a printer other than the printer specified by the terminal device 10 in an environment in which the generic printer driver 16 is installed.
[0105] To further explain this effect, we will compare the present embodiment with printing systems according to comparative examples 1 and 2. The printing system according to comparative example 1 performs printing using a generic printer driver, such as an IPP Class driver. However, the terminal device according to comparative example 1 does not include the print control program described above for the present embodiment. The printing system according to comparative example 1 uses a generic printer driver for printing. Therefore, in the printing system according to comparative example 1, the IPP Class driver cannot send commands to the specified parent printer via any port other than the IPP port, and cannot send commands indicating print data to the child printer. The same is true for other generic printer drivers. Therefore, the printing system according to comparative example 1 employs a configuration in which the child printer obtains commands indicating print data from the parent printer, or a configuration in which a separate print server is installed. A configuration in which the parent printer sends commands indicating print data to the child printer places a processing load on the parent printer. Furthermore, a configuration in which a separate print server is installed incurs operational costs for the print server. Furthermore, in a configuration in which a separate print server is installed, in an environment in which printing is performed using a generic printer driver, it is not possible to directly install a print server, as processing is expected to vary depending on the printer vendor. Therefore, in such a configuration, the introduction of a print server itself requires assistance from a vendor assistance app that differs for each printer vendor.
[0106] The printing system according to Comparative Example 2 is a system that performs printing processing using a printer driver specific to the printer vendor, rather than a generic printer driver such as an IPP Class driver that is built into the OS as standard. Fig. 5 is a schematic diagram for explaining the overall flow of printing processing in the printing system according to Comparative Example 2.
[0107] 5, a printing system 500 according to Comparative Example 2 includes a terminal device 50, a printer A (31), and a printer B (32). The terminal device 50 does not include a generic printer driver 16 or a vendor auxiliary app 17, but includes a vendor printer driver 56. The terminal device 50 also includes a management app 58 instead of the management app 18. The management app 58 is a management program in the management app 18 that corresponds to the vendor printer driver 56.
[0108] The vendor printer driver 56 adds computer-specific information, such as the IP address of the terminal device 50, to the print command, allowing the printer B (32) functioning as a child printer to make an inquiry to the terminal device 50. The vendor printer driver 56 also communicates between processes with the management app 58, sharing commands with the management app 58. The vendor printer driver 56 also responds to an inquiry from the printer B (32) functioning as a child printer, sending a command indicating print data to the printer B (32).
[0109] With this configuration, the printing system 500 can perform the following processes. First, user U logs in to terminal device 50 using the user ID and password assigned to him / her, selects printer A (31) in the print settings for the file to be printed, and performs a print setting operation to execute storage processing. The vendor printer driver 56 accepts this operation as an instruction to printer A (31) to start printing, converts the file to be printed into print data in a printable format, and performs preparation processing (process i). This preparation processing is the processing described as the processing of the vendor assistant app 17 in Figure 2. Next, the vendor printer driver 56 sends a command indicating the control data and print data to management app 58 to store it in management app 58 (process ii), and also sends it to printer A (31) to store it in printer A (31) (process iii).
[0110] User U operates printer B (32) to enter a user ID and password. Upon receiving this input, printer B (32) compares the entered user ID and password with the stored user ID and password to execute user authentication processing (process iv). If authentication is successful in the user authentication processing, printer B (32) uses the successful user ID as a key to reference a command indicating control data previously shared with printer A (31) or received from printer A (31). Based on the computer identification information and print data identification information corresponding to the user ID, printer B (32) accesses the management app 58 of the terminal device 50 to identify the print data. Next, printer B (32) requests the management app 58 to send a command indicating the print data for the identified print data (process v). In response to this request from printer B (32), the management app 58 sends a command indicating the target print data to printer B (32) (process vi). Then, printer B (32) executes printing based on the command indicating the acquired print data (process vii). This printing produces a printed matter P.
[0111] Furthermore, if a command indicating print data cannot be obtained through processes v and vi, the following processes va and via may be executed. In process va, printer B (32) identifies the print data based on the print data identification information included in the control data and corresponding to the user ID, and requests printer A (31) to send a command indicating the print data for the identified print data. In process via, printer A (31) sends a command indicating the target print data to printer B (32) in response to such a request from printer B (32). Then, printer B (32) executes printing based on the command indicating the obtained print data (process vii).
[0112] As described above, this embodiment employs a configuration in which the child printer acquires the command from the terminal device 10. Therefore, compared to the configuration in Comparative Example 1 in which the child printer acquires a command indicating print data from the parent printer, this embodiment reduces the processing load on the parent printer and can speed up printing processing from the child printer as desired by the user.
[0113] Furthermore, in this embodiment, there is no need to install a separate print server. Therefore, compared to the configuration in Comparative Example 1 in which a separate print server is installed, not only is there no print server operating cost, but there is also no need for support from vendor support apps that differ for each printer vendor.
[0114] Furthermore, in this embodiment, unlike Comparative Example 2, in an environment where a generic printer driver is installed in a terminal device, printing can be executed from a printer other than the printer specified by the terminal device.
[0115] (Other variations) The present disclosure is not limited to the above-described embodiment and can be modified as appropriate without departing from the spirit of the present disclosure. For example, the system configuration of the printing system, the configuration of each device that makes up the system, the configuration of each program included in each device, and the processing procedures of each device are not limited to those illustrated. For example, in the printing system 100 shown in FIG. 1, the network connecting the terminal device 10 and printer A (31) may be different from the network connecting printer A (31) with printer B (32) and printer C (33). Even in this case, printer B (32) and printer C (33) can obtain print data from the terminal device 10 as long as they are connectable to the terminal device 10 via a different network.
[0116] Each of the devices provided in the printing system according to the above-described embodiment may have, for example, the following hardware configuration. Here, in the example of Figure 1, each device includes a terminal device and each printer. Figure 6 is a diagram showing an example of the hardware configuration of a device.
[0117] 6 may include a processor 1001, a memory 1002, and an interface 1003. The interface 1003 may include, for example, a communication interface or an interface with an input / output device, as required depending on the device.
[0118] The processor 1001 may be, for example, a CPU, a GPU, or an MPU (Micro Processor Unit), also known as a microprocessor. The processor 1001 may include multiple processors. The memory 1002 is configured, for example, by a combination of volatile memory and non-volatile memory. The functions of each device are realized by the processor 1001 reading a program stored in the memory 1002 and executing it while exchanging necessary information via the interface 1003.
[0119] The above-described program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. Examples of computer-readable media or tangible storage media include, but are not limited to, random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD), or other memory technologies. Examples of computer-readable media or tangible storage media include, but are not limited to, CD-ROMs, digital versatile discs (DVDs), Blu-ray discs, or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage, or other magnetic storage devices. The program may be transmitted on a transitory computer-readable medium or communication medium. Examples of transitory computer-readable media or communication media include, but are not limited to, electrical, optical, acoustic, or other forms of propagated signals. The program may also be included in a program product.
[0120] While the present invention has been described above in accordance with the above-described embodiments, the present invention is not limited to the configurations of the above-described embodiments, and naturally includes various modifications, alterations, and combinations that can be made by a person skilled in the art within the scope of the invention of the claims of this application. For example, an invention of a method for producing printed matter can also be considered an invention of a printing method. [Explanation of symbols]
[0121] 10...terminal device, 11...control unit, 12...memory unit, 13...communication unit, 14...operation unit, 15...display unit, 16...generic printer driver, 17...vendor auxiliary app, 18...management app, 31...printer A, 32...printer B, 33...printer C, 50...terminal device, 56...vendor printer driver, 58...management app, 100...printing system, 500...printing system, 1000...device, 1001...processor, 1002...memory, 1003...interface, N1...network, U...user.
Claims
1. On the computer, An acquisition process for acquiring print data from a generic printer driver; a first transmission process for transmitting control data to the first printer when the print data is acquired in the acquisition process; a second transmission process for transmitting the print data to a management program that transmits the print data to the second printer in response to a request based on the control data from the second printer and causes the second printer to print; A printing control program that executes the above.
2. the print control program is a Print Support Application; The print control program according to claim 1 .
3. the control data is data including computer identification information for identifying the computer and print data identification information for identifying the print data managed by the management program; 3. The print control program according to claim 1.
4. the first transmission process transmits the control data to the first printer in an Octet-stream; 3. The print control program according to claim 1.
5. the first transmission process transmits the control data to the first printer via the generic printer driver; 3. The print control program according to claim 1.
6. the first transmission process is a process that does not transmit the print data to the first printer; 3. The print control program according to claim 1.
7. the second transmission process is a process in which the print data is not sent directly from the print control program to the second printer; 3. The print control program according to claim 1.
8. a computer, a first printer, and a second printer; The computer Generic printer driver an acquisition processing unit that acquires print data from the generic printer driver; a first transmission processing unit that transmits control data to the first printer when the print data is acquired by the acquisition processing unit; a management unit that sends the print data to the second printer in response to a request from the second printer based on the control data, and causes the second printer to print; a second transmission processing unit that transmits the print data acquired by the acquisition processing unit to the management unit; Equipped with Printing system.
9. An acquisition process in which the print control program acquires print data from the generic printer driver; a first transmission process in which the print control program transmits control data to a first printer; a second transmission process in which the print control program transmits the print data to a management program; a printing process in which the management program sends the print data to the second printer in response to a request from the second printer based on the control data, causing the second printer to produce a printed product; A method for producing printed matter, including:
Citation Information
Patent Citations
Server, and print system
JP2022097931A