Printing control program, printing system, and printed matter production method
The print control program and system address the limitation of generic printer drivers by calculating and sending difference data for combined printing, effectively reducing data transmission and optimizing print production.
Patent Information
- Application Number
- JP2024046159
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2025-10-03
AI Technical Summary
Printing processes that utilize image differences to reduce data sent to the printer are not supported by generic printer drivers, limiting their applicability in environments where such drivers are used.
A print control program and system that includes a generic printer driver, an acquisition processing unit, a difference processing unit, and an instruction processing unit to calculate and send difference data to the printer for combined printing, utilizing image differences to reduce data transmission.
Enables printing that utilizes image differences even in environments using generic printer drivers, reducing the amount of data sent to the printer and optimizing print production.
Smart Images

Figure 2025145780000001_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 technique for making a printer perform booklet printing in an information processing device in which an OS (Operating System) standard printer driver, which is an OS standard printing program, is installed. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-56754 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, printing processes that utilize image differences to reduce the amount of data sent to the printer cannot be considered general-purpose processes, and are not supported by generic printer drivers such as those that come standard with operating systems. Therefore, there is a need for the development of technology that enables printing by utilizing image differences to reduce the amount of data sent to the printer in environments where printing processes are performed using generic printer drivers. [Means for solving the problem]
[0005] A print control program according to one aspect of the present disclosure causes a computer to execute an acquisition process for acquiring print data from a generic printer driver, a difference process for calculating difference data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently, and a first instruction process for sending the difference data to a printer and causing the printer to perform printing based on combined data obtained by combining the first print data with the difference data.
[0006] A printing system according to one aspect of the present disclosure includes a printer and a terminal device, and the terminal device includes a generic printer driver, an acquisition processing unit that acquires print data from the generic printer driver, a difference processing unit that calculates difference data between first print data, which is print data acquired in the past, and second print data, which is print data that is newly acquired, and an instruction processing unit that sends the difference data to the printer and causes the printer to perform printing based on combined data obtained by combining the first print data with the difference data.
[0007] A printed matter production method according to one aspect of the present disclosure includes an acquisition process for acquiring print data from a generic printer driver, a difference process for calculating difference data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently, and a printing process for sending the difference data to a printer, in which the printer performs printing based on combined data obtained by combining the first print data with the difference data, thereby producing a printed matter. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a block diagram showing an example of a configuration of a printing system according to an embodiment; [Figure 2] 1. FIG. 4 is a sequence diagram illustrating an example of a generation process in the printing system of FIG. [Figure 3] 1. FIG. 4 is a sequence diagram for explaining a first example of a low-data-volume printing process in the printing system of FIG. [Figure 4] 4 is a diagram showing an example of a user interface image displayed in the low-data-volume printing process of FIG. 3. FIG. [Figure 5] 4 is a schematic diagram showing an example of differential processing in the low-data-volume printing process of FIG. 3. FIG. [Figure 6] 1. FIG. 6 is a flowchart illustrating a second example of a low-data-volume printing process in the printing system of FIG. [Figure 7] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE INVENTION
[0009] 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.
[0010] (Embodiment) [System Configuration] An example of the configuration of a printing system according to this 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 this embodiment.
[0011] 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).
[0012] The terminal device 10 is an information processing device with a communication function, 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. Although not shown, the printing system 100 may be equipped with multiple terminal devices 10.
[0013] 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.
[0014] 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.
[0015] The terminal device 10 can issue a print instruction to a printer selected by a user operation from among printers A (31), printer B (32), and printer C (33) that are registered and recognized as printers that will perform printing. The following is an example in which printer A (31), printer B (32), and printer C (33) are all registered and recognized as printers that will perform printing in the terminal device 10.
[0016] 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.
[0017] [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.
[0018] 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.
[0019] 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.
[0020] The storage unit 12 is, for example, a storage device such as 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 and a vendor auxiliary application program 17 (described later) in a state executable by the control unit 11. In the following description, the vendor auxiliary application program will be abbreviated as the vendor auxiliary App. The storage unit 12 can also store various data, such as files to be printed.
[0021] 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 such communication. The network N1 is typically a local area network (LAN). The communication interface is, for example, an antenna or a cable connector.
[0022] 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.
[0023] The display unit 15 is a component for displaying a user interface (UI) image 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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 more printed materials, and includes print data and print settings. When printing multiple printed materials, one print job can refer to instructions for a series of operations for printing printed materials with the same print content.
[0028] 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. In this embodiment, the printer's unique functions include a printing function that uses image differences. 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 conversion of the print job can include conversion of the print data.
[0029] 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.
[0030] The vendor assistance app 17 includes a print control program, which will be described next. This print control program can also be implemented as a PSA, for example. This print control program causes a computer to execute the acquisition process, difference process, and first instruction process, which will be described next. The term "computer" here also refers to the terminal device 10 or the control unit 11.
[0031] The acquisition process acquires print data from the generic printer driver 16. The vendor assistance app 17 can acquire print data from the generic printer driver 16 via inter-process communication. The print data can be, for example, data converted by the generic printer driver 16 for printing from a file to be printed specified by the user. However, the print data is not limited to data written in a page description language and can also be image data. Subsequent processing can be performed regardless of whether the print data is image data or page description language data by matching the data type with the print data acquired in the acquisition process or converting the data type as necessary to match.
[0032] The differential processing calculates differential data between first print data, which is print data previously acquired, and second print data, which is print data recently acquired. For this processing, it is preferable to store the previously acquired first print data in the storage unit 12 or the like. The first print data can be, for example, print data for printing the first page of a certain print target file. In that case, the second print data can be print data for printing the second page of that print target file. The second print data can also be print data for the third and subsequent pages of that print target file. When printing one page of the print target file on one sheet of media, the first, second, and third pages correspond to the first, second, and third pages, respectively.
[0033] Furthermore, this differential processing may calculate the differential data using a calculation method that produces the smallest amount of differential data among a plurality of predetermined calculation methods. The calculation method may be selected for each file to be printed, or may be selected by comparing the results of actual calculations.
[0034] The predetermined multiple calculation methods include, but are not limited to, the following first and second calculation methods. The first calculation method is a method of calculating the difference by comparing two images as a whole that are the subject of difference calculation. The second calculation method is a method of calculating the difference by scanning each pixel. Furthermore, for example, the multiple calculation methods may include a calculation method that is an appropriate combination of the first and second calculation methods. A calculation method that is completely different from these may also be used.
[0035] The first print data may be print data for the nth page of a certain print target file, and the second print data may be print data for one or more pages from the n+1th page onwards of the print target file.
[0036] The first instruction process sends the differential data to the printer and causes the printer to print based on the combined data obtained by combining the differential data with the first print data. As a preliminary process to the first instruction process, the vendor-assistant app 17 sends the first print data and causes the printer to print based on the first print data. This printing instruction can be issued by generating a print job including the first print data and sending the print job. The vendor-assistant app 17 may send this print job directly to the printer or may send it to the printer via the generic printer driver 16.
[0037] Furthermore, the printing instruction in the first instruction process can be issued by generating a print job that includes the differential data and settings for combining the first print data with the differential data, and then sending the print job. The vendor assistance app 17 may send this print job directly to the printer, or may send it to the printer via the generic printer driver 16. To handle this print job, the printer is configured to be able to combine the first print data with the differential data, i.e., combine image data. A printer such as printer A (31) that receives the instruction in the first instruction process, i.e., the generated print job, executes the print job to combine the first print data with the differential data to generate print data, which then prints the image. A printed product printed based on the print data generated by combining will be the same as a printed product printed based on the second print data.
[0038] The above mainly describes the print control program according to this embodiment, but in other words, this embodiment can provide a print production method that includes the acquisition process, difference process, and first instruction process described above and produces printed matter. In other words, this print production method includes the acquisition process and difference process described above, and a print process that sends the difference data to a printer, and the printer executes printing based on combined data obtained by combining the difference data with the first print data, thereby producing printed matter.
[0039] In other words, the printing system 100 includes a terminal device exemplified by terminal device 10 and a printer exemplified by printer A (31) connected to the terminal device. The terminal device includes a generic printer driver 16 and an acquisition processing unit, a difference processing unit, and a first instruction processing unit as described below.
[0040] The acquisition processing unit acquires print data from the generic printer driver 16. The difference processing unit calculates difference data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently. The first instruction processing unit sends the difference data to the printer and causes the printer to execute printing based on combined data obtained by combining the first print data with the difference data. Of course, this printer is configured to be able to combine the first print data and the difference data in this way, that is, to combine image data. The first instruction processing unit can also be simply referred to as an instruction processing unit. The first instruction processing unit can also be referred to as a print instruction unit because it instructs printing.
[0041] [Advantages of this embodiment] Before describing a more specific example of the printing process in this embodiment, the effects of this embodiment will be described.
[0042] As described above, in the printing system 100, the print control program exemplified by the vendor-assisted App 17 issues a print instruction to the printer to perform printing based on composite data obtained by combining differential data with the first print data. Therefore, according to this embodiment, in a printing process using the generic printer driver 16, it is possible to perform printing that utilizes image differences that cannot be handled by the generic printer driver 16 alone. In other words, according to this embodiment, in an environment where printing is performed using a generic printer driver, it is possible to perform printing that utilizes image differences to reduce the amount of data sent to the printer. For example, according to this embodiment, the function of printing that utilizes image differences can be realized by a print control program that assists the generic printer driver 16, such as a PSA.
[0043] [Specific example of printing process according to this embodiment] The following example shows a case where printing is performed by printer A (31) among the printers provided in the printing system 100, but the same applies when printing is performed by printer B (32) or printer C (33). Also, the following example shows a case where the vendor assistance app 17 implements a print control program that performs the above-mentioned acquisition process, difference process, and first instruction process.
[0044] In the printing process according to this embodiment, as described above, in order to perform printing using image differences, first print data is combined with the difference data and printed. This printing process can include a generation process for generating a print job that causes printer A (31) to perform printing with the above-described combination, adding additional data, which is data for the difference image indicated by the difference data, to the addition position in the first print data. This generation process can also be included in the first instruction process. To perform printing corresponding to such a print job, printer A (31) has a function for saving graphics. This function requires printer A (31) to have a storage unit. To perform this generation process, the vendor assistance app 17 can have the following functions, for example:
[0045] When printing multiple pages, the vendor support app 17 has the function of obtaining the difference between the first and second images and designating the location of the difference as an additional position or differential image. Specifically, the vendor support app 17 has the function of sending differential data to the generic printer driver 16 or directly to printer A (31) as a print instruction. This differential data includes information indicating the position, such as coordinates, at which the differential image indicated by the differential data should be applied, so that printer A (31) can determine the position at which to combine this differential data with the first print data.
[0046] Here, an example is given in which the differential data includes additional data indicating the differential image and the location where the additional data should be added to the first print data. In this example, the vendor-assistant app 17 has a function for sending the first print data as background image data, the location where the additional data should be added, and the additional data to the generic printer driver 16 or directly to printer A (31) as a print instruction. The vendor-assistant app 17 may then send, as part of the print instruction, a setting for saving the first print data in printer A (31). Furthermore, the vendor-assistant app 17 may also send, as part of the print instruction, an instruction to print, or save and print, the additional data at the location where the additional data should be added over the background image indicated by the first print data saved in printer A (31).
[0047] The vendor assistance app 17 may also have a function to send the additional data and the additional location as a print instruction to the generic printer driver 16 or directly to printer A (31) after the first print data has already been sent. In this case, the vendor assistance app 17 may also send, as part of the print instruction, an instruction to print, or save and print, the additional data at the additional location over the background image indicated by the first print data saved in printer A (31).
[0048] These settings and instructions may be sent by the vendor assistance app 17 to the generic printer driver 16 or directly to printer A (31), for example, as part of a single print job or as a print job for each medium. Note that, although an example has been given in which the difference data includes additional data indicating the difference image and the position to add it to the first print data, the difference data may be only print data in the same coordinate range as the first print data.
[0049] [Example of generation process] Next, an example of the generation process included in the printing process according to the present embodiment will be described with reference to Fig. 2. Fig. 2 is a sequence diagram for explaining an example of the generation process in the printing system 100 of Fig. 1. Here, for the sake of simplicity, an example in which two sheets are printed will be given.
[0050] First, the user launches the vendor assistant app 17 directly or via the generic printer driver 16 and issues an instruction to start printing using image differences. Upon receiving this instruction, the vendor assistant app 17 requests the generic printer driver 16 to send an input background image and a next image (step S1). The input background image is the first image, which is the image indicated by the first print data described above. The next image is the second image, which is the image indicated by the second print data described above.
[0051] Upon receiving this addition request, the generic printer driver 16 transmits the input background image and the next image to the vendor support application 17 (step S2).
[0052] Next, the vendor-assisted application 17 generates a difference image that indicates the difference of the next image relative to the input background image (step S3). In step S3, the vendor-assisted application 17 also calculates an additional position, which is the position of the difference image relative to the input background image.
[0053] Next, the vendor assistant app 17 generates a setting command to save the input background image data in printer A (31) (step S4). Next, the vendor assistant app 17 generates a command to save the differential image by overlaying it at the additional position of the image saved in the printer, and adds it after the command generated in step S4 (step S5).
[0054] Then, the vendor assistant app 17 generates a command to print the image stored in printer A (31) and adds it to the command generated in step S5 (step S6). The vendor assistant app 17 may send the print job consisting of the command generated in step S6 to printer A (31) via the generic printer driver 16 or directly.
[0055] [First example of printing process] A first example of the printing process according to the present embodiment will be described with reference to Figs. 3 to 5. The generation process described in Fig. 2 will also be executed in the following printing process. Fig. 3 is a sequence diagram for explaining a first example of the printing process in the printing system 100 of Fig. 1, that is, a first example of the low-data-volume printing process. Fig. 4 is a diagram showing an example of a UI image displayed in the low-data-volume printing process of Fig. 3. Fig. 5 is a schematic diagram showing an example of differential processing in the low-data-volume printing process of Fig. 3.
[0056] First, user U launches an application program that launches and edits a file to be printed, such as a document file. Then, user U selects printer A (31) in the print settings for the file to be printed and performs operations such as selecting properties on operation unit 14. This operation causes generic printer driver 16 to accept a print request (step S11). Alternatively, user U may select a file to be printed and perform an operation to print on operation unit 14, causing generic printer driver 16 to accept a print request to print on a predetermined printer A (31).
[0057] Upon receiving such a print request from user U, the generic printer driver 16 displays, for example, a basic print setting image as a UI image (step S12). The basic print setting image is a UI image that accepts user operations for setting basic settings, which are basic printing settings. For example, the basic print setting image may be the image of the UI image 60 shown in FIG. 4 excluding the applied print setting image 66, or the image of the applied print setting image 66 and the application function selection image 61. In the following, the basic print setting image will be described as the basic print setting image 62. For example, the basic print setting image 62 may include a print button 63 for starting printing, a pull-down menu 64 for selecting a printer, and a basic setting item group 65 for configuring various basic settings. The basic print setting image 62 also allows the number of copies to be set. The application function selection image 61 includes a print button, and it is recommended that the basic print setting image 62 be displayed in step S12 when the print button is displayed. The application function selection image 61 may also include buttons for selecting basic functions, such as a file open button and a save overwrite button.
[0058] The basic setting items 65 may include, for example, a selection of pages to print, a selection of single-sided or double-sided printing, a selection of whether to print in collated or page-by-page, and a selection of portrait or landscape printing. The basic setting items 65 may also include a selection of paper, a selection of margin size, and a selection of the number of pages to be printed on one sheet.
[0059] The basic print settings image 62 can also include a properties button 64a for setting properties for the printer selected in the pull-down menu 64, in this example printer A (31), and a page settings button 65a for setting page details. When the properties button 64a is selected, an applied print settings image 66 is displayed. When the page settings button 65a is selected, a print settings image specific to the application program running the file to be printed can be displayed, although this is not shown.
[0060] Here, an example will be described in which the properties button 64a is selected with printer A (31) selected on the basic print setting image 62, and low data volume printing is specified on the applied print setting image.
[0061] When the user U selects the properties button 64a on the operation unit 14, the user U requests the generic printer driver 16 to display an applied print setting image. Upon receiving this request, the generic printer driver 16 requests the vendor assistance app 17 for applied print setting items that can be set as vendor functions. The vendor assistance app 17 sends predetermined applied print setting items to the generic printer driver 16 as a response to this request. Upon receiving this response, the generic printer driver 16 displays on the display unit 15 a UI image 60 in which the applied print setting items that can be set as vendor functions are embedded in a predetermined UI image.
[0062] As a result, the UI image 60 includes an applied print setting image 66 that includes an applied print setting item 67. However, it is also possible to display the applied print setting image 66 as an independent UI image separate from the basic print setting image 62. Note that the vendor support app 17 itself, rather than the generic printer driver 16, may display the UI image 60 on the display unit 15.
[0063] The applied print setting image 66 may include, as applied print setting items 67, items that can be set in the basic print setting image 62. In the first example described here, the applied print setting items 67 include a pull-down menu 67b for switching low data volume printing on and off. The applied print setting items 67 may also include a pull-down menu 67a for switching serial number printing on and off. As shown in FIG. 4 , when the low data volume printing pull-down menu 67b is turned on, the corresponding pull-down menu of an item that becomes unselectable, such as pull-down menu 67a, may be grayed out. When a pull-down menu for an item, other than pull-down menu 67b, is turned on, the corresponding pull-down menu of an item that becomes unselectable may be grayed out. The applied print setting image 66 may also include a close button 68 for closing the UI image itself. Note that for each item, other menus, such as radio buttons, may be used instead of pull-down menus.
[0064] Then, with the UI image 60 displayed, the user U inputs print settings for printing conditions such as paper tray, paper size, and paper type, as well as print settings for turning on the pull-down menu 67b for low data volume printing, from the operation unit 14.
[0065] With the low data volume printing pull-down menu 67b in the on state, the user U selects the close button 68, or simply selects the print button 63. This selection causes the generic printer driver 16 to accept a request from the user U to start printing (step S13).
[0066] Upon receiving this request, the generic printer driver 16 sends print settings and print data to the vendor auxiliary app 17 (step S14). If the print data is for printing two or more pages, the vendor auxiliary app 17 can also request and receive print data for each page from the generic printer driver 16. In either process, as described in step S2 of FIG. 2, the vendor auxiliary app 17 obtains from the generic printer driver 16 the first print data indicating the input background image and the second print data indicating the next image.
[0067] Next, the vendor assistance application 17 that has received the print settings and print data executes a process of repeating image generation (step S15). Step S15 includes steps S16 and S17, which will be described next.
[0068] In step S16, the vendor assistance app 17 compares the print data for the first page as the first print data and the print data for the second page as the second print data, and calculates the addition position, which is the position of the difference between the second print data and the first print data, and the difference image. In step S16, similar calculations are made for printing on subsequent media, such as the second and third pages. In this way, in step S16, the vendor assistance app 17 calculates difference data, which is the addition position and the difference image, from the print data for the nth and (n+1)th pages.
[0069] In step S17, the vendor-assistant app 17 generates print data using a function for generating a print image using the differential data. Specifically, the vendor-assistant app 17 generates a print command to fit the differential image indicated by the differential data into the additional position of the input background image indicated by the first print data. Here, the vendor-assistant app 17 generates the print command as described in steps S3 to S6 of FIG. 2.
[0070] In step S15, steps S16 and S17 are repeated until the second print data in step S16 is exhausted. In step S16, the vendor assistance app 17 may generate multiple print commands by individually generating print commands for the nth and (n+1)th sheets while incrementing n. Alternatively, the vendor assistance app 17 may generate a single print command by adding commands for the nth and (n+1)th sheets while incrementing n.
[0071] Next, the vendor support app 17 sends the generated print command to printer A (31) as a print job (step S18). Communication between the vendor support app 17 and printer A (31) may be performed in accordance with a vendor-extended IPP protocol, or other SNMP or vendor-specific protocols. SNMP stands for Simple Network Management Protocol.
[0072] Also, in step S18, an example is given in which the print command is sent directly to printer A (31) without going through the generic printer driver 16, but the vendor assistance app 17 may send the print command to the generic printer driver 16. In this case, the generic printer driver 16 that receives this print command simply sends the print command to printer A (31).
[0073] Printer A (31) receives the print command as this print job and executes printing (step S19). When printing the (n+1)th image, Printer A (31) can print by combining it with the previously generated and saved nth image.
[0074] A specific example of this type of printing will be explained using Figure 5, along with an example of differential processing. As mentioned above, low-data-volume printing is printing that uses image differences to reduce the amount of data transmitted. With low-data-volume printing, the first page is sent as is to printer A (31), and from then on, only the differential parts of the image are sent, and the main unit partially replaces the print image and generates the print data, thereby reducing the amount of data transmitted compared to sending the images of all pages.
[0075] The following explanation will be given using an example in which user U wants to print the first image 51, second image 52, and third image 53 shown in Figure 5. The three images 51 to 53 are images of consecutive pages of a single document file. If the three images 51 to 53 are sent directly from the terminal device 10 to printer A (31), the amount of data will be equivalent to three A4 pages if each image is an A4-sized image.
[0076] However, in this embodiment, printing is performed using the difference, making it possible to reduce the amount of data. That is, in this embodiment, the vendor assistant app 17 calculates the difference image and the addition position, and sends information about the difference image and the addition position to printer A (31). Therefore, the print command generated by the vendor assistant app 17 reduces the amount of data sent as follows:
[0077] For the first image 51, there is no comparison target, so data about the image as is is included in the print command. For the second image 52, as shown in difference image 54, object 52a has been added to image 51, so data about the image of object 52a and its added position is included in the print command. For the third image 53, as shown in difference image 55, object 53a has been added to image 52, so data about the image of object 53a and its added position is included in the print command.
[0078] More specifically, the vendor assistance app 17 generates the following print command: This print command includes commands to transmit data for the first image 51, save the data to printer A (31), and print the saved image.
[0079] The print command also includes a command to transmit the image of object 52a indicated by the difference image 54 and data on its drawing position for the second image 52, and to overwrite and save the image stored in printer A (31) in accordance with the drawing position. The print command also includes a command to print the overwritten image for the second image 52.
[0080] The print command also includes a command to transmit the image of object 53a indicated by differential image 55 and its drawing position data for third image 53, and to overwrite and save the image stored in printer A (31) in accordance with the drawing position. The print command also includes a command to print the overwritten image for third image 53.
[0081] By performing such low-data-volume printing, the amount of data can be reduced, as can be seen when compared with the amount of data required to send three images 51 to 53 directly from the terminal device 10 to printer A (31).
[0082] As exemplified here, the first print data and the second print data can be print data for consecutive pages of the same document file.
[0083] As shown above in the first example of low-data-volume printing processing, the printing system 100 enables low-data-volume printing, which reduces the amount of data sent to the printer, by introducing a vendor-assisted app 17 that utilizes image differences. Therefore, the printing system 100 allows the user U to store graphics in the printer and print with a small amount of communication data, without having to prepare differential images between multiple images. Note that low-data-volume printing processing can also be called variable low-data-volume printing, since it uses differences to synthesize and print changes from previous images.
[0084] [Second example of printing process] A second example of the printing process according to the present embodiment will be described with reference to Fig. 6. Fig. 6 is a flow diagram for explaining a second example of the low-data-volume printing process in the printing system 100 of Fig. 1. The following description of the second example will focus on the differences from the first example, but various examples from the first example can also be applied.
[0085] The vendor assistance App 17 in the second example is a program that causes the computer exemplified by the terminal device 10 or the control unit 11 to further execute the following determination process and second instruction process.
[0086] The determination process determines whether printer A (31) is a first device that can combine differential data or a second device that cannot combine differential data. Determining whether printer A (31) can support such combined printing can be, for example, determining whether printer A (31) can save graphics.
[0087] Information indicating whether printer A (31) has a graphics storage function can be stored in advance in the vendor assistant app 17. Alternatively, the vendor assistant app 17 can acquire device information about printer A (31) and determine whether printer A (31) has a graphics storage function based on that device information. For example, the vendor assistant app 17 can acquire an IPP attribute from the generic printer driver 16 and make this determination by referencing that IPP attribute. More specifically, the vendor assistant app 17 can acquire, for example, a printer description attribute, which is a description value of printer A (31), as the IPP attribute and use it for the determination.
[0088] Furthermore, in the second example, the vendor assistance App 17 causes the computer to execute the first instruction process when it is determined that the printer A (31) is the first device. In other words, the vendor assistance App 17 executes the first instruction process of sending differential data but not sending second print data only when it is determined that the printer A (31) is the first device.
[0089] In the second instruction process, when it is determined that printer A (31) is the second device, the second print data is sent to printer A (31) without sending the differential data, and printing is performed based on the second print data. Note that the print command that causes printer A (31) to print based on the second print data in the second instruction process can be generated in the same way as the print command that causes printer A (31) to print based on the first print data.
[0090] The vendor assistant app 17 configured as described above can execute low-data-volume printing processing as follows: First, the vendor assistant app 17 acquires device information for printer A (31) via the generic printer driver 16 (step S21). Next, the vendor assistant app 17 determines, based on the acquired device information, whether printer A (31) is a printer that supports composite printing (step S22).
[0091] If the answer to step S22 is YES, the vendor assistant app 17 generates differential data of the second print data relative to the first print data (step S23). Next, the vendor assistant app 17 sends the differential data instead of the second print data and generates a print command to combine the differential data with the first print data (step S24). Next, the vendor assistant app 17 sends the print command generated in step S24 to printer A (31) directly or via the generic printer driver 16 (step S25), and the process ends.
[0092] On the other hand, if the result in step S22 is NO, the vendor assistant app 17 sends the second print data and generates a print command to execute printing based on the second print data (step S26). Next, the vendor assistant app 17 sends the print command generated in step S26 to printer A (31) directly or via the generic printer driver 16 (step S25), and the process ends.
[0093] As explained above, in the second example, the process determines whether printer A (31) supports composite printing and then performs the processing, so that the necessary printing can be performed regardless of whether printer A (31) is capable of composite printing or not.
[0094] (Other variations) The present disclosure is not limited to the above-described embodiments and may 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. In addition, the printing system may also adopt a network configuration in which a terminal device connects to a printer via a print server.
[0095] For example, the present disclosure is not limited to calculating the difference by comparing print data of consecutive pages of the same document file. As long as both the terminal device 10 and the printer attempting to print can refer to past print data, the past print data may be the same or different document files, and the difference may be calculated by comparing the past print data. In this case, it is desirable to have the user U specify, via the UI image 60, which print data to compare and calculate the difference with.
[0096] 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 FIG. 1, each device includes a terminal device and each printer. FIG. 7 is a diagram showing an example of the hardware configuration of a device.
[0097] 7 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.
[0098] 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.
[0099] 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.
[0100] 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]
[0101] 10...terminal device, 11...control unit, 12...storage unit, 13...communication unit, 14...operation unit, 15...display unit, 16...generic printer driver, 17...vendor support app, 31...printer A, 32...printer B, 33...printer C, 51...first image, 52...second image, 52a...object, 53...third image, 53a...object, 54...differential image, 55...differential image, 60...UI image, 61...application function selection image, 62...basic Print setting image, 63...Print button, 64...Pull-down menu, 64a...Properties button, 65...Basic setting items group, 65a...Page setup button, 66...Advanced print setting image, 67...Advanced print setting items, 67a...Pull-down menu, 67b...Pull-down menu, 68...Close button, 100...Printing system, 1000...Device, 1001...Processor, 1002...Memory, 1003...Interface, N1...Network, U...User.
Claims
1. An acquisition process for acquiring print data from a generic printer driver; a differential process for calculating differential data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently; a first instruction process for transmitting the difference data to a printer and causing the printer to execute printing based on combined data obtained by combining the first print data with the difference data; A printing control program that causes a computer to execute the above.
2. the print control program is a Print Support Application; The print control program according to claim 1 .
3. The computer, a determination process for determining whether the printer is a first device capable of combining the difference data or a second device capable of combining the difference data; a second instruction process for, when it is determined that the printer is the second device, sending the second print data to the printer without sending the difference data, and causing printing to be performed based on the second print data; Then run the first instruction processing is processing that is executed by the computer when the printer is determined to be the first device; 3. The print control program according to claim 1.
4. the first print data and the second print data are print data of successive pages of the same document file; 3. The print control program according to claim 1.
5. the differential processing calculates the differential data using a calculation method that results in the smallest amount of data of the differential data among a plurality of predetermined calculation methods; 3. The print control program according to claim 1.
6. A printer and a terminal device are provided, The terminal device Generic printer driver an acquisition processing unit that acquires print data from the generic printer driver; a difference processing unit that calculates difference data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently; an instruction processing unit that transmits the difference data to the printer and causes the printer to execute printing based on combined data obtained by combining the first print data with the difference data; Equipped with Printing system.
7. An acquisition process for acquiring print data from a generic printer driver; a differential process for calculating differential data between first print data, which is print data acquired in the past, and second print data, which is print data acquired recently; a printing process in which the difference data is sent to a printer, and the printer executes printing based on combined data obtained by combining the difference data with the first print data, thereby producing a printed product; A method for producing print material, including:
Citation Information
Patent Citations
Support program, information processor and printing method
JP2021056754A