Printing control program product, printing system and print production method

By introducing a vendor-assisted application to perform image difference processing in the terminal device, the problem of general printer drivers being unable to reduce data volume is solved, achieving efficient print data transmission and composite printing.

CN120687048APending Publication Date: 2025-09-23SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510327202.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2025-03-19
Publication Date
2025-09-23

AI Technical Summary

Technical Problem

Existing universal printer drivers cannot effectively utilize image differencing to reduce the amount of data sent to the printer, resulting in inefficient printing processing.

Method used

By introducing a supplier-assisted application (PSA) into the terminal device, differential processing of printing data is achieved, and the differential data is sent to the printer for synthetic printing, combined with the supplier-extended IPP protocol for data transmission.

Benefits of technology

In an environment using a universal printer driver, the image difference technology is used to reduce the amount of data sent by the printer, thereby improving printing efficiency and data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120687048A_ABST
    Figure CN120687048A_ABST
Patent Text Reader

Abstract

The invention provides a printing control program product, a printing system, and a printed matter production method, which can reduce the amount of data transmitted to a printer and perform printing by using the difference of images in an environment in which printing processing using a general-purpose printer driver is performed. A print control program included in a print control program product according to one embodiment of the present disclosure causes a computer to execute an acquisition process, a difference process, and a first instruction process. The acquisition process acquires print data from a general-purpose printer driver (16). The difference processing calculates difference data between first print data which is previously acquired print data and second print data which is newly acquired print data. The first instruction process transmits the differential data to the printer and causes the printer to perform printing based on synthesized data obtained by synthesizing the differential data on the first print data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a printing control program, a printing system, and a printed matter production method. Background Art

[0002] Patent Document 1 discloses a technique for causing a printer to perform booklet printing in an information processing device installed with an OS (Operating System)-compliant printing program, namely, an OS-compliant printer driver.

[0003] However, printing processes such as using image differences to reduce the amount of data sent to a printer cannot be considered universal processing and cannot be handled by general-purpose printer drivers such as OS-standard printer drivers. Therefore, it is desirable to develop a technology that can reduce the amount of data sent to a printer by using image differences and perform printing in an environment where printing is performed using a general-purpose printer driver.

[0004] Patent Document 1: Japanese Patent Application Laid-Open No. 2021-56754 Summary of the Invention

[0005] A printing control program product involved in one embodiment of the present disclosure includes a printing control program, which causes a computer to perform the following processing, namely: an acquisition processing, which obtains printing data from a universal printer driver; a differential processing, which calculates differential data between previously acquired printing data, namely, first printing data, and newly acquired printing data, namely, second printing data; and a first instruction processing, which sends the differential data to a printer and causes the printer to execute printing based on the synthesized data obtained by synthesizing the differential data on the first printing data.

[0006] A printing system according to one embodiment of the present disclosure includes a printer and a terminal device, wherein the terminal device includes: a universal printer driver; an acquisition processing unit that acquires print data from the universal printer driver; a differential processing unit that calculates differential data between previously acquired print data, i.e., first print data, and newly acquired print data, i.e., second print data; and an instruction processing unit that sends the differential data to the printer and causes the printer to execute printing based on synthesized data obtained by synthesizing the differential data on the first print data.

[0007] A printed matter production method involved in one embodiment of the present invention includes the following processes, namely: an acquisition process, which acquires printing data from a universal printer driver; a differential process, which calculates differential data between previously acquired printing data, i.e., first printing data, and newly acquired printing data, i.e., second printing data; and a printing process, which sends the differential data to a printer, and the printer performs printing based on the synthesized data obtained by synthesizing the differential data on the first printing data, thereby producing a printed matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 This is a block diagram showing a configuration example of a printing system according to an embodiment.

[0009] Figure 2 For use in Figure 1 A sequence diagram illustrating an example of generation processing in a printing system.

[0010] Figure 3 For use in Figure 1 A sequence diagram illustrating a first example of low-data-volume printing processing in a printing system.

[0011] Figure 4 To express in Figure 3 FIG. 1 is a diagram showing an example of a user interface image displayed during a low data volume printing process.

[0012] Figure 5 To express Figure 3 Schematic diagram of an example of differential processing in low data volume printing processing.

[0013] Figure 6 For use in Figure 1 A flowchart illustrating a second example of low-data-volume printing processing in a printing system.

[0014] Figure 7 A diagram showing an example of the hardware configuration of the device. DETAILED DESCRIPTION

[0015] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, each figure is merely an example for describing the embodiments of the present invention. In addition, the structural elements described in the embodiments of the present invention are not all essential structural elements of the present invention.

[0016] Example

[0017] System structure

[0018] use Figure 1 , a structural example of the printing system involved in this embodiment is described. Figure 1This is a block diagram showing a configuration example of a printing system according to this embodiment.

[0019] like Figure 1 As shown, the printing system 100 according to this embodiment may include a terminal device 10 , a printer A 31 , a printer B 32 , and a printer C 33 .

[0020] 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 users who wish to print. The terminal device 10 can be either a portable or desktop information processing device. The terminal device 10 can be connected to printers A 31, B 32, and C 33 via a network N1. Although not shown, the printing system 100 may include multiple terminal devices 10.

[0021] Printer A 31, printer B 32, and printer C 33 are all examples of printers that can print on a medium after receiving print data. Each printer produces printed materials by performing such printing. For convenience, the printing system 100 is described as including three printers, but it can also include multiple printers. Each printer may also be referred to as a printing device or an image forming device. The printing method used by each printer is arbitrary, and various printing methods such as inkjet printing and laser printing can be applied. The printers included in the printing system 100 may be of the same model or different models.

[0022] Each printer may be any device as long as it has a printing function and a communication function, and may also be a multifunction peripheral having other functions such as a scanning function, a copying function, and a facsimile transmission function.

[0023] The terminal device 10 can issue a print instruction to a printer selected by a user operation from among printers A 31, B 32, and C 33 that are registered and recognized as printers to perform printing. Below, an example is given in which printers A 31, B 32, and C 33 are all registered and recognized as printers to perform printing in the terminal device 10.

[0024] Hereinafter, a configuration example of the terminal device 10 will be described in detail. In addition, descriptions of the configuration examples of each printer will be omitted.

[0025] Configuration of the terminal device 10

[0026] like Figure 1As shown, 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 .

[0027] The control unit 11 controls the entire terminal device 10. The control unit 11 can be configured to include, for example, a processing unit, a working memory, and a storage device for storing control programs, parameters, etc. The processing unit can be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The control unit 11 can also be configured as a 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 a part of the control program as a circuit structure like an FPGA (field-programmable gate array), or it can be configured as a dedicated circuit.

[0028] The above-mentioned control program may include a program for the processing unit to perform printing-related processing while cooperating with the storage unit 12, the communication unit 13, the operation unit 14, and the display unit 15. The above-mentioned control program may include an OS. In addition, since the OS is an OS installed on the terminal device 10, it becomes an OS of a type corresponding to the model of the terminal device 10, etc. The above-mentioned control program can include a web browser inside or outside the OS. Although an example is given below in which at least a part of the control program is stored in the storage unit 12 provided separately from the control unit 11, the storage unit 12 may also be a part of the storage device in the control unit 11. In other words, the storage unit 12 may also be considered to be a part of the control unit 11.

[0029] The storage unit 12 is a storage device such as a hard disk drive, solid-state drive, or other memory device. The storage unit 12 stores a universal printer driver 16 (described later) and a vendor support application 17, which are part of the control program, in a state executable by the control unit 11. Hereinafter, the vendor support application will be referred to as the vendor support app. Furthermore, the storage unit 12 can store various data, such as files to be printed.

[0030] The communication unit 13 communicates with external devices such as printers via network N1, either wirelessly or by wire, in accordance with various mobile communication standards or Wi-Fi (registered trademark, hereinafter referred to as the same) standards. The communication unit 13 can be comprised of one or more communication interfaces that facilitate this communication. Network N1 is typically a local area network (LAN). Examples of communication interfaces include antennas and cable connectors.

[0031] The operation unit 14 is the part that accepts user operations of the terminal device 10 and may also be referred to as the operation acceptance unit. The operation unit 14 may be implemented 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 where the operation unit 14 includes a touch panel, the display unit 15 and the touch panel are both included and may also be referred to as the operation panel of the terminal device 10.

[0032] The display unit 15 displays a user interface (UI) image for operating the terminal device 10 and is composed of a display device such as a liquid crystal display or an organic electroluminescent display. Alternatively, the display unit 15 may include a display and a drive circuit for driving the display.

[0033] The universal printer driver 16 is described below. The universal printer driver 16 is an OS-standard printer driver included in the operating system (OS) or included with the control program. For example, the universal printer driver 16 is a printer driver that complies with the Windows (registered trademark, hereinafter referred to as the same) OS. The universal printer driver 16 can be a program that controls and prints to a wide variety of printers. Furthermore, the universal printer driver 16 may also be referred to as an OS-wide printing program or a universal printing program.

[0034] The universal printer driver 16 uses universal protocols for printer search and printing. For example, the universal printer driver 16 uses mDNS / DNS-SD for printer search and IPP for printing. DNS stands for Domain Name System. mDNS stands for multicast DNS. DNS-SD stands for DNS Service Discovery. IPP stands for Internet Printing Protocol.

[0035] As can be seen from this example, the universal printer driver 16 can be, for example, an IPP Class driver. IPP is an example of a standard protocol for managing and controlling printers and printing. IPP acquires and controls printer information through HTTP (Hypertext Transfer Protocol) POST requests and responses. IPP allows for printer settings and printer status acquisition. By using HTTPS (HTTPS Secure) instead of HTTP, secure communication is possible.

[0036] The following describes the vendor assistance app 17. The vendor assistance app 17 is an application that assists the universal printer driver 16 and is used to expand the functionality of the universal printer driver 16. Therefore, the universal printer driver 16 may have the function of launching the vendor assistance app 17 and sending print jobs to the vendor assistance app 17. The vendor assistance app 17 may be, for example, a print support application (PSA). A print job is an instruction for a series of actions to print one or more printed materials, including print data and print settings. When printing multiple printed materials, a print job may be an instruction for a series of actions to print materials with the same print content.

[0037] The vendor support app 17 assists the universal printer driver 16 and can be a program that causes a computer to execute print control appropriate for the performance of a target printer, that is, print control that supports the unique functions of the printer. The computer referred to here refers to the terminal device 10 or the control unit 11. In this embodiment, the unique functions of the printer include printing functions that utilize image differences. Upon receiving a print job from the universal printer driver 16, the vendor support app 17 can convert the print job so that printing using the unique functions of the printer can be executed by the designated printer. Furthermore, conversion of the print job can include conversion of print data.

[0038] The vendor support app 17 is an application provided by the printer vendor, etc. The vendor support app 17 can be provided to the user of the terminal device 10 by, for example, publishing it in an application store provided by the OS. Alternatively, the vendor support app 17 can be included in the OS or attached to the OS and provided to the user.

[0039] Furthermore, the vendor support app 17 includes the print control program described below. This print control program can also be installed as, for example, a PSA. This print control program causes the computer to execute the acquisition process, difference process, and first instruction process described below. The computer referred to here also refers to the terminal device 10 or the control unit 11.

[0040] The acquisition process acquires print data from the universal printer driver 16. The vendor support app 17 can acquire print data from the universal printer driver 16 through inter-process communication. For example, the print data can be data converted by the universal printer driver 16 into data for printing, based on a user-specified print target file. However, print data is not limited to data described in a page description language; it can also be image data. Subsequent processing can process print data regardless of whether it is image data or data in a page description language, by matching the data type with the print data acquired in the acquisition process or converting the data as needed to match the data type.

[0041] The difference processing calculates the difference between the previously acquired print data, namely the first print data, and the newly acquired print data, namely the second print data. For this processing, the previously acquired first print data may be stored in the storage unit 12 or the like. The first print data may be, for example, print data for printing the first sheet of a certain print target document. In this case, the second print data may be print data for printing the second sheet of the same print target document. Alternatively, the second print data may be print data for each sheet of the same print target document from the third sheet onward. When printing one page of the print target document on a single sheet of media, the first sheet, second sheet, and third sheet correspond to the first, second, and third pages, respectively.

[0042] Alternatively, the difference processing may be performed by calculating the difference data using a method that minimizes the amount of difference data among a plurality of predetermined calculation methods. The selection of the calculation method may be determined in advance for each print target document or by comparing actual calculation results.

[0043] Examples of the plurality of predetermined calculation methods include, but are not limited to, the first and second calculation methods described below. The first calculation method is a method for calculating the difference by comparing the two images to be calculated as a whole. The second calculation method is a method for calculating the difference by scanning each pixel individually. Furthermore, for example, a calculation method that appropriately combines the first and second calculation methods may be included in the plurality of calculation methods described above. Completely different calculation methods may also be used.

[0044] Alternatively, the first print data may be print data for the nth sheet of a certain print target file, and the second print data may be print data for one or more sheets after the (n+1)th sheet of the print target file.

[0045] The first instruction process sends the differential data to the printer, causing the printer to print the resulting composite data by synthesizing the differential data with the first print data. As a precursor to the first instruction process, the vendor support app 17 sends the first print data and executes printing based on the first print data. This printing instruction can be issued by generating a print job containing the first print data and sending it. The vendor support app 17 can send this print job directly to the printer or send it to the printer via the universal printer driver 16.

[0046] Furthermore, the printing instruction in the first instruction process can be issued by generating a print job that includes differential data and settings for synthesizing the first print data and the differential data, and then sending the print job. The vendor assistance app 17 can send the print job directly to the printer or send it to the printer via the universal printer driver 16. To handle this print job, the printer is configured to be able to synthesize the first print data and the differential data, that is, synthesize the image data. A printer such as printer A 31 that receives the instruction in the first instruction process, that is, the print job generated, executes the print job, thereby synthesizing the first print data and the differential data to generate print data, and prints the image represented by the print data. The printed material produced based on the print data generated by the synthesis is identical to the printed material produced based on the second print data.

[0047] While the above description primarily focuses on the print control program involved in this embodiment, in other words, this embodiment can provide a printed matter production method that includes the aforementioned acquisition process, difference process, and first instruction process to produce printed matter. In other words, this printed matter production method includes the aforementioned acquisition process and difference process, as well as a printing process in which the difference data is sent to a printer, and the printer prints the synthesized data obtained by synthesizing the difference data with the first print data, thereby producing the printed matter.

[0048] In other words, the printing system 100 includes a terminal device exemplified by the terminal device 10 and a printer exemplified by the printer A 31 connected to the terminal device. The terminal device also includes a universal printer driver 16, an acquisition processing unit, a difference processing unit, and a first instruction processing unit as described below.

[0049] The acquisition processing unit acquires print data from the universal printer driver 16. The difference processing unit calculates the difference between the previously acquired print data (first print data) and the newly acquired print data (second print data). The first instruction processing unit sends the difference data to the printer, causing the printer to print the resulting composite data based on the first print data. Of course, the printer is configured to be able to perform this synthesis of the first print data and the difference data, that is, to synthesize image data. The first instruction processing unit can be simply referred to as the instruction processing unit. Furthermore, since the first instruction processing unit instructs printing, it can also be referred to as the print instruction unit.

[0050] Effects of this embodiment

[0051] Before describing a more specific example of the printing process in this embodiment, the effects of this embodiment will be described.

[0052] As described above, in the printing system 100, the print control program, exemplified by the vendor assistance app 17, issues a print instruction to the printer, instructing the printer to print data based on synthesized data obtained by synthesizing differential data with first print data. Therefore, according to this embodiment, in a print process using the universal printer driver 16, printing utilizing image differences is possible, which cannot be handled solely by the universal printer driver 16. In other words, according to this embodiment, in an environment where a print process using the universal printer driver is performed, printing can be performed that utilizes image differences to reduce the amount of data sent to the printer. For example, according to this embodiment, the function of performing printing utilizing image differences can be implemented using a print control program such as a PSA that assists the universal printer driver 16.

[0053] Specific example of printing process according to this embodiment

[0054] The following example illustrates printing using printer A 31 among the printers included in the printing system 100, but the same applies to printing using printer B 32 or printer C 33. Furthermore, the following example illustrates an example in which the vendor support app 17 installs a print control program that performs the aforementioned acquisition processing, difference processing, and first instruction processing.

[0055] In the printing process of this embodiment, as described above, in order to perform printing utilizing image differences, printing is performed by synthesizing differential data onto the first print data. Furthermore, in order to perform printing accompanied by such synthesis, the printing process may include a generation process that generates a print job for causing printer A 31 to print additional data, namely, data representing a differential image indicated by the differential data, added to an additional position in the first print data. This generation process may also be included in the first instruction process. Furthermore, in order to perform printing corresponding to such a print job, printer A 31 has a function capable of storing graphics. As this function, printer A 31 includes a storage unit. Furthermore, in order to perform this generation process, the vendor support app 17 may have, for example, the function described below.

[0056] When printing multiple pages, the vendor support app 17 has the function of obtaining the difference between the first and second images and using the difference as an additional position or difference image. Specifically, the vendor support app 17 has the function of sending difference data to the universal printer driver 16 or directly to the printer A 31 as a print instruction. This difference data is configured to include information indicating the position of the difference image indicated by the difference data, such as the coordinates, so that the printer A 31 can determine the position at which to combine this difference data with the first print data.

[0057] Here, we will use an example where the difference data includes additional data representing a difference image and a location for addition to the first print data. In this example, the vendor support app 17 has the function of sending the first print data, which is background image data, the location for addition, and the additional data to the universal printer driver 16 or directly to printer A 31 as a print instruction. Furthermore, the vendor support app 17 can send, as part of the print instruction, a setting for causing printer A 31 to save the first print data. Furthermore, as part of the print instruction, the vendor support app 17 can send an instruction to print the additional data by superimposing it at the location for addition on the background image represented by the first print data stored in printer A 31, or to save and print the data.

[0058] Furthermore, the vendor support app 17 may also have a function of sending an additional location and additional data as a print instruction to the universal printer driver 16 or directly to the printer A 31 after the first print data has been sent. In this case, the vendor support app 17 may send, as part of the print instruction, an instruction to print the additional data by superimposing it at the additional location on the background image shown in the first print data stored in the printer A 31, or to save and print the data.

[0059] These settings and instructions can be included in one print job, or sent as a print job for each medium by the vendor support app 17 to the universal printer driver 16 or directly to the printer A 31. Furthermore, although the example in which the differential data includes additional data representing a differential image and an additional position relative to the first print data is given, the differential data may simply be print data within the same coordinate range as the first print data.

[0060] Example of generation processing

[0061] Next, use Figure 2 Next, an example of the generation process included in the printing process according to this embodiment will be described. Figure 2 For use in Figure 1 1 is a sequence diagram for explaining an example of the generation process in the printing system 100. Here, for simplicity of description, an example of printing two sheets is given.

[0062] First, the user launches the vendor support app 17 directly or via the universal printer driver 16 and instructs the start of printing using image differences. Receiving this instruction, the vendor support app 17 requests the universal printer driver 16 to input a background image and send the next image (step S1). The input background image is the first image, which refers to the image represented by the first print data described above. The next image is the second image, which refers to the image represented by the second print data described above.

[0063] The universal printer driver 16 that has received the addition request transmits the input background image and the next image to the vendor support app 17 (step S2 ).

[0064] Next, the vendor support app 17 generates a difference image representing the difference between the next image and the input background image (step S3). In step S3, the vendor support app 17 also calculates the position of the difference image relative to the input background image, that is, the additional position.

[0065] Next, the vendor support app 17 generates a command to cause the printer A 31 to save the input background image data (step S4). Next, the vendor support app 17 generates a command to save the difference image at the location where the image saved in the printer is to be superimposed, and appends it to the command generated in step S4 (step S5).

[0066] The vendor support app 17 then generates a command to print the image stored in the printer A 31 and appends it to the command generated in step S5 (step S6). The vendor support app 17 can send the print job consisting of the command generated in step S6 to the printer A 31 via the universal printer driver 16 or directly.

[0067] First example of printing process

[0068] use Figures 3 to 5 The first example of the printing process involved in this embodiment is described. In the following printing process, Figure 2 The generation process described in . Figure 3 For use in Figure 1 This is a sequence diagram illustrating a first example of printing processing in the printing system 100, that is, a first example of low-data-volume printing processing. Figure 4 To express in Figure 3 FIG. 1 is a diagram showing an example of a UI image displayed during the low data volume printing process. Figure 5 To express Figure 3 Schematic diagram of an example of differential processing in low data volume printing processing.

[0069] First, the user U launches an application that launches or edits a print target file, such as a document file. The user U then uses the operation unit 14 to select printer A 31 in the print settings for the print target file and select properties. With these operations, the universal printer driver 16 accepts a print request (step S11). Alternatively, when the user U uses the operation unit 14 to select a print target file and print it, the universal printer driver 16 accepts a print request to use the predetermined printer A 31.

[0070] The universal printer driver 16 that receives such a print request from the user U displays a basic print setting image as a UI image (step S12). The basic print setting image is a UI image that accepts the basic settings for printing, that is, the user's operation of the basic settings. For example, the basic print setting image can be set to Figure 4The image of the portion of the UI image 60 shown except for the application print setting image 66, or the image except for the application print setting image 66 and the application function selection image 61. In the following, the basic print setting image is set to the basic print setting image 62 for explanation. For example, the basic print setting image 62 can 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 making various basic settings. The number of copies to be printed can also be set in the basic print setting image 62. The application function selection image 61 can include a button for printing, and when the button for printing is displayed, the basic print setting image 62 of step S12 is displayed. The application function selection image 61 can also include buttons for selecting basic functions, such as a button for opening a file and a button for overwriting and saving.

[0071] The basic setting item group 65 includes, for example, the selection of pages to be printed, the selection of single-sided printing or double-sided printing, the selection of printing in copies or pages, and the selection of printing in portrait or landscape orientation. Furthermore, the basic setting item group 65 includes the selection of paper, the selection of margin size, and the number of pages to be packed into one sheet.

[0072] The basic print settings screen 62 also includes 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. Selecting the properties button 64a displays an application print settings screen 66. Selecting the page settings button 65a displays a print settings screen specific to the application that launched the target file (not shown).

[0073] Here, an example will be described in which the property button 64 a is selected with the printer A 31 selected in the basic print setting image 62 and low data volume printing is specified by applying the print setting image.

[0074] When the user U selects the properties button 64a using the operation unit 14, the user U requests the universal printer driver 16 to display an application print setting image. Upon receiving this request, the universal printer driver 16 requests the vendor support app 17 for application print setting items that can be set as a vendor function. In response to this request, the vendor support app 17 sends the predetermined application print setting items to the universal printer driver 16. Upon receiving this response, the universal printer driver 16 displays a UI image 60 on the display unit 15. This UI image 60 includes the application print setting items that can be set as a vendor function embedded in the predetermined UI image.

[0075] As a result, the UI image 60 includes the application print setting image 66 including the application print setting items 67. However, the application print setting image 66 can also be displayed as an independent UI image separate from the basic print setting image 62. Furthermore, the UI image 60 can be displayed on the display unit 15 by the vendor support app 17 itself, rather than the universal printer driver 16.

[0076] The application print setting image 66 may include items that can be set in the basic print setting image 62 as application print setting items 67. In the first example described here, the application print setting item 67 includes a pull-down menu 67b for switching low data volume printing on and off. In addition, the application print setting item 67 may also include a pull-down menu 67a for switching serial number printing on and off. Figure 4 As shown, when the low-data-volume printing drop-down menu 67b is open, the corresponding drop-down menus for items that cannot be selected, such as drop-down menu 67a, can be grayed out. This is not limited to drop-down menu 67b; when the drop-down menu for a particular item is open, the drop-down menu for the corresponding item that cannot be selected can be grayed out. Furthermore, the application print settings image 66 can include a close button 68 for closing the UI image itself. Furthermore, for each item, other menus such as radio buttons can be used instead of drop-down menus.

[0077] Next, while the UI image 60 is displayed, the user U inputs print settings related to printing conditions such as the paper tray, paper size, and paper type from the operation unit 14 , and opens the pull-down menu 67 b related to low-data-volume printing.

[0078] With the low-data-volume printing pull-down menu 67b open, the user U selects the close button 68 and then selects the print button 63, or directly selects the print button 63. With this selection, the universal printer driver 16 receives a request from the user U to start printing (step S13).

[0079] The universal printer driver 16 that has received the request sends the print settings and print data to the vendor support app 17 (step S14). If the print data is for printing two or more sheets, the vendor support app 17 may request the universal printer driver 16 for print data for each sheet and receive the print data. Figure 2 As described in step S2 of FIG. 1 , the vendor support app 17 obtains first print data representing the input background image and second print data representing the next image from the universal printer driver 16 .

[0080] Next, the vendor support app 17 that has received the print settings and print data executes a process of repeatedly generating an image (step S15 ). Step S15 includes steps S16 and S17 described below.

[0081] In step S16, the vendor support app 17 compares the first print data as the first print data and the second print data as the second print data. It calculates the additional position and the difference image for the difference between the second print data and the first print data used as the comparison source. In step S16, the same calculation is performed for the second, third, and subsequent prints. Thus, in step S16, the vendor support app 17 calculates difference data consisting of the additional position and the difference image based on the print data for the nth and (n+1)th prints.

[0082] In step S17, the supplier support app 17 generates a print command using the function of generating a print image using the differential data. Specifically, the supplier support app 17 generates a print command such that the differential image indicated by the differential data is embedded in the input background image indicated by the first print data at the additional position. Figure 2 The printing command is generated as described in steps S3 to S6.

[0083] In step S15, steps S16 and S17 are repeatedly executed until the second print data in step S16 is exhausted. In step S16, the vendor support app 17 may generate multiple print commands by generating print commands for the nth and n+1th sheets separately while incrementing n. Alternatively, the vendor support app 17 may generate a single print command by adding the print commands for the nth and n+1th sheets as additional commands while incrementing n.

[0084] Next, the vendor support app 17 sends the generated print command as a print job to printer A 31 (step S18). Communication between the vendor support app 17 and printer A 31 can be performed using a vendor-extended IPP protocol, SNMP, or a vendor-defined protocol. SNMP stands for Simple Network Management Protocol.

[0085] In step S18, the example of sending the print command directly to the printer A 31 without passing through the universal printer driver 16 is given, but the vendor support app 17 may send the print command to the universal printer driver 16. In this case, the universal printer driver 16 that receives the print command may send the print command to the printer A 31.

[0086] The printer A 31 receives the print command as the print job and executes printing (step S19). When the printer A 31 prints the n+1th image, it can combine it with the previously generated and stored nth image and print it.

[0087] use Figure 5 A specific example of this type of printing will be described along with an example of differential processing. As described above, low-data-volume printing utilizes image differences to reduce the amount of communication data. In low-data-volume printing, the first page is directly sent to printer A 31, and only the image differences are subsequently sent. The printer then partially replaces the printed image to generate print data. This reduces the amount of data sent compared to sending the entire page image.

[0088] User U wants to print Figure 5 The illustrated example of the first image 51, second image 52, and third image 53 is used for explanation. The three images 51 to 53 are images of consecutive pages of a document file. When the three images 51 to 53 are directly transmitted from the terminal 10 to the printer A 31, the data volume is equivalent to three A4-sized sheets of paper.

[0089] However, in this embodiment, printing using subtraction can reduce the amount of data. Specifically, in this embodiment, the vendor support app 17 calculates the difference image and the additional position, and transmits the difference image and additional position information to the printer A 31. Therefore, in the print command generated by the vendor support app 17, the amount of data transmitted can be reduced as follows.

[0090] For the first image 51, since there is no comparison object, the print command includes data for the original image. For the second image 52, as shown in differential image 54, object 52a has been added to image 51. Therefore, the print command includes data for the image of object 52a and its location. For the third image 53, as shown in differential image 55, object 53a has been added to image 52. Therefore, the print command also includes data for the image of object 53a and its location.

[0091] More specifically, the vendor support app 17 generates the following print command: This print command includes commands for transmitting data of the first image 51 , storing the data in the printer A 31 , and printing the stored image.

[0092] Furthermore, this print command includes a command for transmitting the image of the object 52a shown in the difference image 54 and data on its drawing position, and for printer A 31 to overwrite the image stored in printer A 31 with the image at the drawing position. Furthermore, this print command includes a command for printing the second image 52 over the stored image.

[0093] Furthermore, this print command includes a command for transmitting the image of the object 53a shown in the difference image 55 and the data of its drawing position, and for printer A 31 to overwrite the image stored in printer A 31 with the drawing position aligned with the image 53a. Furthermore, this print command also includes a command for printing the third image 53 over the stored image.

[0094] By executing such low-data-volume printing, the data volume can be reduced compared to the data volume when three images 51 to 53 are directly sent from the terminal device 10 to the printer A 31 .

[0095] Here, as illustrated, the first print data and the second print data may be print data of consecutive pages of the same document file.

[0096] As shown in the first example of low-data-volume printing processing above, the printing system 100, by implementing the vendor assistance app 17 that utilizes image differences, can perform low-data-volume printing, reducing the amount of data sent to the printer. Therefore, in the printing system 100, even if the user U does not prepare differential images between multiple images, the images can still be saved in the printer and printed using a reduced amount of communication data. Furthermore, because low-data-volume printing utilizes differences to synthesize the difference between the previous image and print it, it can also be referred to as variable low-data-volume printing.

[0097] Second example of printing process

[0098] use Figure 6 , a second example of the printing process involved in this embodiment is described. Figure 6 For use in Figure 1The flowchart is used to describe a second example of the low-data-volume printing process in the printing system 100. Although the second example will be described below with a focus on differences from the first example, various examples in the first example can be applied.

[0099] The supplier support 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.

[0100] The determination process determines whether the printer A 31 is a first device capable of synthesizing differential data or a second device incapable of synthesizing differential data. This determination of whether or not it supports synthesized printing can be, for example, whether the printer A 31 supports saving graphics.

[0101] Information indicating whether printer A 31 has the image saving function can be stored in advance by the vendor support app 17. Alternatively, the vendor support app 17 can also have a function that obtains the device information of printer A 31 and, based on this device information, determines whether printer A 31 has the image saving function. For example, the vendor support app 17 can obtain an IPP attribute from the universal printer driver 16 and refer to it to make this determination. More specifically, the vendor support app 17 can obtain, for example, the printer description value of printer A 31, i.e., the Printer Description Attribute, as the IPP attribute and use it for this determination.

[0102] Furthermore, in the second example, the vendor support app 17 causes the computer to execute the first instruction process if it determines that the printer A 31 is the first device. Specifically, the vendor support app 17 executes the first instruction process, which sends the difference data but not the second print data, only if it determines that the printer A 31 is the first device.

[0103] In the second instruction process, if printer A 31 is determined to be the second device, the second print data is sent to printer A 31 without the difference data, and printing based on the second print data is executed. The print command instructing printer A 31 to print based on the second print data in the second instruction process can be generated in the same manner as the print command instructing printer A 31 to print based on the first print data.

[0104] The vendor support app 17 configured in this manner can execute low-data-volume printing processing as follows. First, the vendor support app 17 obtains the device information of printer A 31 via the universal printer driver 16 (step S21). Next, based on the obtained device information, the vendor support app 17 determines whether printer A 31 is compatible with composite printing (step S22).

[0105] If the answer to step S22 is yes, the vendor support app 17 generates differential data for the second print data relative to the first print data (step S23). The vendor support app 17 then sends the differential data instead of the second print data and generates a print command that combines the differential data with the first print data (step S24). The vendor support app 17 then sends the print command generated in step S24 to the printer A31 directly or via the universal printer driver 16 (step S25), and the process ends.

[0106] On the other hand, if the answer is "No" in step S22, the vendor support app 17 generates a print command to transmit the second print data and execute printing based on the second print data (step S26). The vendor support app 17 then transmits the print command generated in step S26 to the printer A 31 directly or via the universal printer driver 16 (step S25), and the process ends.

[0107] As described above, in the second example, it is determined whether the printer A 31 can handle composite printing. Therefore, regardless of whether the printer A 31 can perform composite printing or not, the required printing is executed.

[0108] Other variations

[0109] The present disclosure is not limited to the above-described embodiments and can be modified as appropriate without departing from the main purpose. For example, the system structure of the printing system, the structure of each device constituting the system, the structure of each program included in each device, the processing sequence of each device, etc. are not limited to the examples shown. Furthermore, the printing system may employ a network structure in which a terminal device is connected to a printer via a print server.

[0110] For example, the present disclosure is not limited to calculating differences by comparing print data of consecutive pages of the same document file. As long as both the terminal device 10 and the printer to be printed can reference past print data, differences can be calculated by comparing past print data with the past print data, regardless of whether the past print data is from the same document file or a different document file. In such cases, the user U is expected to specify, via the UI image 60, which print data to compare with for difference calculation.

[0111] In addition, each device included in the printing system according to the above embodiment may have a hardware configuration such as the following. Figure 1 Examples include terminal devices and printers. Figure 7 A diagram showing an example of the hardware configuration of the device.

[0112] Figure 7 The device 1000 shown may include a processor 1001, a memory 1002, and an interface 1003. The interface 1003 may include, for example, a communication interface, an interface with an input / output device, etc. as required by the device.

[0113] The processor 1001 may be, for example, a CPU, a GPU, or an MPU (Micro Processor Unit). The processor 1001 may also include multiple processors. The memory 1002 may be composed of, for example, a combination of volatile memory and non-volatile memory. The functions of each device are implemented by the processor 1001 reading programs stored in the memory 1002, exchanging required information via the interface 1003, and executing the programs.

[0114] In addition, the above-mentioned program includes a command group (or software code) that causes the computer to execute one or more functions described in the embodiment when read by the computer. The program can be stored in a non-temporary computer-readable medium or a storage medium with an entity. As an example and not limitation, a computer-readable medium or a storage medium with an entity includes a random-access memory (RAM), a read-only memory (ROM), a flash memory, a solid-state drive (SSD) or other memory technology. In addition, as an example and not limitation, a computer-readable medium or a storage medium with an entity includes a CD-ROM, a digital versatile disc (DVD), a Blu-ray (Blu-ray, registered trademark) disc or other optical disc storage, a magnetic card, a magnetic tape, a magnetic disk storage or other magnetic storage device. The program can be sent on a temporary computer-readable medium or a communication medium. As an example and not limitation, a temporary computer-readable medium or a communication medium includes a propagation signal in the form of electricity, light, sound or other forms. In addition, the program is included in a program product.

[0115] The present invention has been described above based on the aforementioned embodiments. However, the present invention is not limited to the structures of the aforementioned embodiments and naturally encompasses various variations, modifications, and combinations that can be made by those skilled in the art within the scope of the present invention. For example, an invention for a method for producing printed matter can also be considered an invention for a printing method.

[0116] Explanation of symbols

[0117] 10…Terminal device; 11…Control unit; 12…Storage unit; 13…Communication unit; 14…Operation unit; 15…Display unit; 16…Universal 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 Select image; 62…Basic print setting image; 63…Print button; 64…Pull-down menu; 64a…Property button; 65…Basic setting item group; 65a…Page setting button; 66…Apply print setting image; 67…Apply print setting item; 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. A printing control program product, comprising a printing control program, wherein the printing control program causes a computer to execute the following processing, namely: an acquisition process for acquiring print data from a universal printer driver; a difference processing for calculating difference data between first print data, which is previously acquired print data, and second print data, which is newly acquired print data; The first instruction process is to send the difference data to a printer and cause the printer to print based on synthesized data obtained by synthesizing the difference data with the first print data.

2. The printing control program product according to claim 1, wherein: The printing control program is a printing support application program.

3. The printing control program product according to claim 1 or 2, wherein: The printing control program causes the computer to further execute a determination process and a second instruction process. The determination process determines whether the printer is a first device capable of synthesizing the differential data or a second device incapable of synthesizing the differential data. If it is determined that the printer is the second device, the second instruction processing sends the second print data to the printer without sending the difference data, and executes printing based on the second print data. The first instruction process is a process that is executed by the computer when it is determined that the printer is the first device.

4. The printing control program product according to claim 1 or 2, wherein: The first print data and the second print data are print data of consecutive pages of the same document file.

5. The printing control program product according to claim 1 or 2, wherein: The difference processing calculates the difference data using a calculation method that minimizes the amount of the difference data among a plurality of predetermined calculation methods.

6. A printing system comprising a printer and a terminal device, wherein: The terminal device comprises: Universal printer driver; an acquisition processing unit that acquires print data from the universal printer driver; a difference processing unit for calculating difference data between first print data, which is previously acquired print data, and second print data, which is newly acquired print data; The instructing processing unit transmits the difference data to the printer and causes the printer to print based on synthesized data obtained by synthesizing the difference data with the first print data.

7. A method for producing printed matter, comprising the steps of: an acquisition process for acquiring print data from a universal printer driver; a difference processing for calculating difference data between first print data, which is previously acquired print data, and second print data, which is newly acquired print data; The printing process sends the differential data to a printer, and the printer performs printing based on synthesized data obtained by synthesizing the differential data with the first printing data, thereby producing a printed matter.

Citation Information

Patent Citations

  • Support program, information processor and printing method

    JP2021056754A