Support program and printing system

The support program enhances OS-standard printing by generating composite images and performing double-sided printing, ensuring printers fully utilize their functions and reducing device processing load.

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

Patent Information

Application Number
JP2024104636
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

Existing support programs for OS-standard general-purpose printing programs do not fully utilize the functions of printers, as they do not generate composite images or perform page rearrangement for double-sided printing.

Method used

A support program that executes on an information processing device, supports a general-purpose print program, and instructs the printer to generate composite images and perform double-sided printing by rearranging page order and associating print data with job information, allowing the printer to utilize its aggregation and rotation functions.

Benefits of technology

Enables the printer to generate composite images and perform double-sided printing efficiently, utilizing its capabilities and reducing the processing load on the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026005961000001_ABST
    Figure 2026005961000001_ABST
Patent Text Reader

Abstract

To provide a technique capable of utilizing the capability of a printer related to image processing when causing the printer to print an image based on print setting via an OS standard general-purpose print program.SOLUTION: When there is a print instruction to cause the printer 2 to print an image on the CPU11 of the PC1, and parameters for performing aggregate printing and double-sided printing are designated in the print settings of the print instruction, the supporting program 42 obtains the image to be printed from the general-use printing program 41. For the acquired intermediate data, the page order of the images to be printed is rearranged according to the parameter for performing double-sided printing designated in the print setting, and the print data based on the rearranged images to be printed is transmitted to the printer 2 in association with the instruction information including the number of pages P of the images to be fitted on one surface of the paper. The printer 2 that has received the print data and the instruction information generates a composite image for each of the images of P pages, and performs double-sided printing.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technical field disclosed in this specification relates to a support program and a printing system that support control of a printer. [Background technology]

[0002] In recent years, a technology has been put into practical use that controls a printer using a standard general-purpose print program that is part of the operating system (OS) and does not use a printer driver provided by the printer vendor. With this technology, when the OS detects a printer, it associates it with the OS's standard general-purpose print program, and then when a print instruction for that printer is received, the OS's standard general-purpose print program generates print data, making it possible to print using the OS's standard general-purpose print program, without using a printer driver provided by the printer vendor.

[0003] Among the documents disclosing technologies related to OS-standard general-purpose printing programs are several patent documents concerning support programs that support general-purpose printing programs. For example, Patent Document 1 discloses a configuration in which a support program generates a composite image for aggregate printing, in which images of multiple pages are printed so that they fit on one side of a sheet of paper. Patent Document 2 discloses a configuration in which a support program determines the image order for booklet printing and generates a composite image in which images of two target pages are arranged so that they fit on one side of each sheet of paper based on the determined order. Patent Document 3 also discloses a configuration in which a support program rotates images 180 degrees for pages that require image rotation for double-sided printing. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-056755 [Patent Document 2] Patent Publication No. 2021-056754 [Patent Document 3] Patent Publication No. 2021-056642 Summary of the Invention [Problem to be solved by the invention]

[0005] In the support programs disclosed in the aforementioned patent documents, the support programs execute image processing according to print settings, and the printer acquires and prints the print data after image processing, which may result in the printer not being able to fully utilize its functions. [Means for solving the problem]

[0006] A support program made for the purpose of solving the above-mentioned problems is a support program that can be executed by a computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose print program that an operating system of the information processing device has, wherein the printer has an aggregation function that generates a composite image in which images of multiple pages included in print data are reduced to fit on one side of a sheet of paper and arranged side by side, and when a print instruction is output to the computer from an application program installed in the information processing device, the print instruction instructs the printer to print an image to the general-purpose print program, and parameters for performing aggregate printing and double-sided printing are specified in print settings of the print instruction, the support program outputs to the computer a general-purpose print program for printing the image to be printed in accordance with the print instruction. a sorting process for sorting the page order of the images to be printed using the intermediate data acquired in the acquisition process in accordance with the parameters for double-sided printing specified in the print settings of the print instruction; and a control process for associating print data based on the images to be printed, the page order of which has been sorted by the sorting process, with job information based on the parameters specified in the print settings of the print instruction and including the number of pages P (P is plural) of images to fit on one side of a sheet of paper, and transmitting the print data to the printer, in which the printer, having received the print data and the job information, generates a composite image for each of the P pages of images included in the print data, and performs double-sided printing using the generated composite images.

[0007] When parameters for performing combined printing and double-sided printing are specified in the print settings of a print instruction, it is necessary to rearrange the page order based on double-sided printing and generate a composite image based on combined printing. The support program disclosed in this specification rearranges the page order but does not generate a composite image. It instead causes an information processing device to associate print data for the rearranged image with job information including the number of pages P required to generate the composite image and send it to the printer. Therefore, the composite image for combined printing is generated by the printer. This allows a printed product that has been combined and double-sided printed to be obtained while utilizing the printer's functions.

[0008] An information processing device incorporating the above support program, a computer-readable storage medium storing the support program, a control method for realizing the functions of the support program, and a printing system including the support program and a printer are also novel and useful. [Effects of the Invention]

[0009] The technology disclosed in this specification realizes a technology that can utilize the printer's image processing capabilities when causing the printer to print an image based on print settings via a general-purpose print program that is standard for the OS. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 2 is a block diagram showing an outline of the electrical configuration of a PC. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of a procedure for printer selection and detailed setting. [Figure 3] FIG. 10 is an explanatory diagram showing an example of a detailed setting screen. [Figure 4] FIG. 10 is an explanatory diagram showing an example of a double-sided setting screen. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a printing execution procedure. [Figure 6] 10 is a flowchart illustrating an example of a procedure for intermediate data editing processing. [Figure 7]FIG. 10 is an explanatory diagram showing an example of 2-in-1 double-sided printing of a seven-page image. [Figure 8] FIG. 10 is an explanatory diagram showing an example of printing a 15-page image into a booklet. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, a printing system including a personal computer (hereinafter referred to as "PC") that uses the support program of the present embodiment and a printer connected to the PC will be described in detail with reference to the accompanying drawings. This specification discloses the support program executed on the PC.

[0012] As shown in FIG. 1, the printing system 100 of this embodiment includes a PC 1 and a printer 2. As shown in FIG. 1, the PC 1 includes a controller 10 including a CPU 11 and a memory 12. The PC 1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC 1 also includes a user interface (hereinafter referred to as a "user IF") 13 and a communication interface (hereinafter referred to as a "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in FIG. 1 is a general term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware that actually exists in the PC 1.

[0013] The CPU 11 of the PC 1 executes various processes in accordance with programs read from the memory 12 and based on user operations. The memory 12 stores various programs and various data. The memory 12 is also used, for example, as a work area when executing various programs. A buffer provided in the CPU 11 is also an example of the memory 12. Note that the example of the memory 12 is not limited to a ROM, RAM, HDD, etc. built into the PC 1, but may also be a storage medium readable and writable by the CPU 11, such as a recording medium, for example, a CD-ROM, DVD-ROM, etc.

[0014] The user IF 13 includes a display 13a, which is hardware that displays a screen for notifying the user of information, and hardware that accepts operations by the user. Note that the user IF 13 may include a combination of the display 13a capable of displaying information and a mouse, keyboard, or the like that has an input acceptance function, or may include a touch panel that has the functions of the display 13a and an input acceptance function.

[0015] The communication IF 14 includes hardware for communicating with an external device such as the printer 2. The communication IF 14 is compatible with a communication standard such as Ethernet (registered trademark), Wi-Fi (registered trademark), or USB. The PC 1 may be connectable to the Internet via the communication IF 14. The PC 1 may be equipped with multiple communication IFs 14 compatible with multiple communication standards.

[0016] 1, the memory 12 stores various programs and data, including an operating system (hereinafter referred to as "OS") 21 including a general-purpose print program 41, an auxiliary program 42, and an editing application 43. The auxiliary program 42 is an example of a support program. The editing application 43 is an example of an application program.

[0017] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), and Android (registered trademark).

[0018] The OS 21 includes a general-purpose printing program 41. The general-purpose printing program 41 is a standard OS program prepared by the OS 21 vendor and provided as part of the OS 21. In other words, the PC 1 is equipped with the OS 21 that includes the general-purpose printing program 41. The general-purpose printing program 41 is not configured to use printer drivers specific to each printer.

[0019] The generic printing program 41 is a program with the function of printing on multiple models of printers provided by multiple vendors based on user instructions. The generic printing program 41 supports generic functions that enable printing on many printers. Unlike printer drivers specific to each printer, the generic printing program 41 does not support functions specific to each printer or printer driver, especially functions that require complex processing.

[0020] The general-purpose printing program 41 is a program that includes a function to receive image data designated as the print target in a print instruction output from various application programs based on a user's instruction and generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 also has a function to generate print data in a format that can be used for printing on various printers based on the intermediate data. The print data is, for example, PWGRaster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute printing via a communication function provided by the OS 21.

[0021] The auxiliary program 42 is a program or group of programs that executes processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is an application program that supports the control of the target hardware. The auxiliary program 42 of this embodiment corresponds to the model of the printer 2 connected to the PC 1, and is provided, for example, by the vendor of the printer 2. The general-purpose printing program 41 launches the auxiliary program 42 corresponding to the printer 2 when the printer 2 is selected as the device to execute printing, when an instruction for detailed print settings is received while the printer 2 is selected, when an instruction to execute printing on the printer 2 is received, etc. The auxiliary program 42 is, for example, called a print support app (abbreviated as PSA) or a hardware support app (abbreviated as HSA).

[0022] The auxiliary program 42 may be a combination of multiple programs that each accept an execution command, or a single program that can execute different processes depending on the command. The auxiliary program may also be a program prepared by a printer vendor for each printer type. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared. A separate auxiliary program may be prepared not only for each printer type, but also for each printer model or series of printer models.

[0023] For example, when a new printer is connected to the PC 1, the OS 21 of the PC 1 can download an appropriate auxiliary program according to the type and model of the connected printer from a server of the printer vendor or storage designated by the OS 21, and install it in the PC 1. The OS 21 associates the identification information of the installed auxiliary program with the printer information of the newly connected printer and stores it in the memory 12.

[0024] The editing application 43 is, for example, a program for creating and editing image data and document data. The editing application 43 may be, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark), or may be a program provided by the vendor of the printer 2. The editing application 43 is capable of receiving, via the user IF 13, a print execution instruction for causing the printer 2 to execute printing. Note that the editing application 43 is not limited to a program for creating and editing data, and may also be a program having a function for receiving display instructions and print instructions for various types of information, such as map information and web pages, in response to a user request.

[0025] In this embodiment, the PC 1 is connected to the printer 2 via the communication IF 14 as shown in FIG. 1. The printer 2 is a device that has at least a printing function and a communication function. For example, when the printer 2 receives print data from the PC 1 or the like, it can execute printing based on the received print data. The printer 2 may be a device capable of color printing, or may be a device capable of only monochrome printing.

[0026] The printer 2 of this embodiment is configured to be able to perform double-sided printing. That is, the printer 2 has a transport mechanism that prints on one side of a sheet of paper, then turns the sheet over and transports it without ejecting it. This allows the printer 2 to print on the other side of the same sheet of paper and eject the sheet with both sides printed.

[0027] The printer 2 of this embodiment also has an aggregation function. The aggregation function is a function that generates a composite image by reducing and arranging images of multiple pages included in the print data so that they fit on one side of a sheet of paper. When generating the composite image, the printer 2 rotates the images by 90 degrees or 270 degrees as necessary. When the printer 2 receives print data associated with an aggregation command that instructs the printer 2 to aggregate P pages (P is a natural number greater than or equal to 2) onto one side of the paper, the printer 2 can acquire the print data for P pages in order from the first page of the print data, generate a composite image based on the acquired print data, and print it on one side of the paper. The aggregation command includes information indicating the number of pages P to be printed on one side of the paper, and is information that instructs the printer 2 to aggregate and print.

[0028] The printer 2 of this embodiment may also have a rotation function. The rotation function is a function that rotates the image to be printed 180 degrees for part of the received print data when double-sided printing is specified. For example, if the printer 2 has a transport mechanism for double-sided printing that is configured to reverse the transport direction of the paper in the longitudinal direction when turning the paper over, the printer 2 with the rotation function can rotate either the image to be printed on the front side or the image to be printed on the back side 180 degrees when printing a portrait image on both sides.

[0029] Next, various processing procedures related to printing on the printer 2 in the PC 1 of this embodiment will be described. Note that in this embodiment, each process other than user operation basically indicates processing by the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. In this specification, various processes performed by the controller 10 or the CPU 11 in accordance with programs such as the auxiliary program 42, the general-purpose printing program 41, and the OS 21 may be described, for convenience, as if each program were independently performing the various processes. Processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, detailed description of the OS 21 will be omitted and the operation of each program will be described. Also, the term "acquire" is used as a concept that does not necessarily require a request.

[0030] First, the selection and setting procedure for accepting the selection of a printer to be used for printing and the specification of print settings on PC 1 will be described with reference to the sequence diagram in FIG. 2. Editing application 43 can create and edit text and images based on user instructions. When the user wants to print the text or image currently being displayed, the user selects print in editing application 43 (A01). The user can select print from a menu of operation items provided in editing application 43, for example.

[0031] Because the general-purpose printing program 41 is incorporated into the OS 21 of the PC 1, when the editing application 43 accepts the selection of printing, it requests the general-purpose printing program 41 of the OS 21 to display a screen for accepting instructions regarding printing (A02). In response to the request, the general-purpose printing program 41 causes the user IF 13 to display a print setting screen (A03). The print setting screen is a screen for accepting user instructions regarding various print settings that can be accepted by the general-purpose printing program 41. The print setting screen may be displayed by the editing application 43. The print setting screen may also have an area for displaying information specified by an auxiliary program corresponding to the selected printer.

[0032] For example, when a selection instruction to select printer 2 as the device to perform printing is received on the print setting screen, or when a print selection in A01 is received with printer 2 selected as the device to perform printing, the editing application 43 passes information indicating that printer 2 has been selected to the general-purpose print program 41. Then, when an instruction to perform detailed print settings is received with printer 2 selected as the device to perform printing (A11), the general-purpose print program 41 starts the auxiliary program 42 corresponding to printer 2 and passes an instruction to the auxiliary program 42 to start receiving the detailed print settings (A12).

[0033] When the auxiliary program 42 is started in response to the instruction of A12, it acquires the capability information of the printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to acquire the capability information (A13). The general-purpose printing program 41 sends a command requesting the capability information to the printer 2 and acquires the capability information from the printer 2 (A14). The general-purpose printing program 41 passes the capability information acquired from the printer 2 to the auxiliary program 42 (A15). This allows the auxiliary program 42 to acquire the capability information of the printer 2. A13 is an example of a capability acquisition process.

[0034] In A14, the general-purpose printing program 41 communicates with the printer 2 via the OS 21, for example, by communication according to IPP (abbreviation for Internet Printing Protocol). Note that the auxiliary program 42 may obtain capability information directly from the printer 2, for example, by using MIB (abbreviation for Management Information Base), instead of making a request to the general-purpose printing program 41. Also, the capability information that the auxiliary program 42 can obtain from the printer 2 may include more information than the capability information obtained via the OS 21.

[0035] The capability information acquired from the printer 2 includes information on setting items that can be set as print settings and parameters that can be set for each setting item. The capability information also includes information indicating that the printer 2 has a double-sided printing function and a consolidation function, and information indicating whether the printer 2 has a rotation function.

[0036] The capability information may further include, for example, information on items related to the paper feed trays and output trays available to the printer 2, such as information indicating selectable paper feed trays and output trays, and information on the paper size and paper type set for each paper feed tray. The capability information may also include information on print resolutions compatible with the printer 2, information on other image processing functions that the printer 2 can execute, information indicating the status of the printer 2 such as remaining amounts of consumables, information indicating default print settings, and information indicating whether accumulated printing is possible. The capability information may be used, for example, by the general-purpose printing program 41 or the editing application 43 when displaying a print setting screen or when determining whether there is an error in the print settings.

[0037] Based on the acquired capability information, the auxiliary program 42 displays a detailed settings screen that accepts detailed print settings on the display 13a of the user IF 13 (A17). For example, as shown in Fig. 3, the auxiliary program 42 can display a detailed settings screen 60 that can accept settings for double-sided printing on the user IF 13. Note that, since there are many print setting items that can be accepted on the detailed settings screen, the auxiliary program 42 may be able to accept an instruction to switch the items to be selected using, for example, multiple tabs.

[0038] The detailed settings screen 60 shown in Figure 3 includes, for example, a layout item 61 that accepts the selection of aggregate printing such as Nin1 printing, a double-sided / booklet item 62 that accepts the selection of double-sided printing or booklet printing, a double-sided printing setting button 63, and an OK button 64.

[0039] The auxiliary program 42 can accept the selection of aggregate printing, such as N-in-1 printing, for a natural number P as a parameter of the layout item 61. Aggregate printing is a print setting in which the images of each page are reduced and arranged side by side so that the images of P pages fit on one side of a sheet of paper. Note that the number of pages P that can be specified as the number of pages to be arranged on one side of a sheet of paper in aggregate printing is predetermined, and the user can select from among these.

[0040] The auxiliary program 42 can also accept a selection of double-sided printing or booklet printing as a parameter for the double-sided / booklet item 62. Double-sided printing is a print setting that prints images of the pages to be printed on both sides of a single sheet of paper. Booklet printing is a print setting that prints images of two pages on both sides of a single sheet of paper, and then folds and binds the printed sheets to form a booklet.

[0041] The auxiliary program 42 can accept, as print settings, parameter settings for performing aggregate printing and double-sided printing. For example, the auxiliary program 42 can accept print settings in which the parameter for the layout item 61 is two pages and the parameter for the double-sided / booklet item 62 is double-sided printing. A predetermined combination of the parameter for the layout item 61 and the parameter for the double-sided / booklet item 62 is an example of parameters for performing aggregate printing and double-sided printing. Furthermore, the parameter for booklet printing is an example of parameters for performing aggregate printing and double-sided printing, and is an example of booklet parameters for performing booklet printing.

[0042] The auxiliary program 42 may also be capable of accepting a combination of booklet printing parameters and aggregate printing parameters. This combination is also an example of parameters for performing aggregate printing and double-sided printing. Alternatively, the auxiliary program 42 may not accept two or more aggregate printing parameters when booklet printing parameters are selected.

[0043] When the auxiliary program 42 receives an instruction for double-sided printing in the double-sided / booklet item 62 on the currently displayed detailed settings screen 60 (A21), it displays, for example, a double-sided printing setting button 63 in an operable manner, and becomes able to receive an instruction for detailed settings related to double-sided printing. The double-sided printing setting button 63 is a button that receives an instruction for making detailed settings regarding the arrangement of images on each side when double-sided printing is selected in the double-sided / booklet item 62.

[0044] Then, when an operation on the double-sided printing setting button 63 is accepted, the auxiliary program 42 displays a double-sided setting screen 70 as shown in Fig. 4, for example, and becomes able to accept the setting of the binding method (A22). The double-sided setting screen 70 shown in Fig. 4 includes radio buttons 71 for accepting the selection of the binding method, an explanatory diagram 72 showing an example of the bound state, and an OK button 75.

[0045] The radio button 71 is a button that accepts selection from four binding methods: long edge binding (left), long edge binding (right), short edge binding (top), and short edge binding (bottom). The auxiliary program 42 accepts the selection of the binding method by operating the radio button 71. Note that the names of these binding methods indicate the left, right, top, and bottom of the binding position for the image of an odd-numbered page such as page 1. The auxiliary program 42 may also be able to accept binding margin settings on the double-sided setting screen 70. The explanatory diagram 72 illustrates an example of a document bound using the binding method selected with the radio button 71. Note that the double-sided setting screen 70 in FIG. 4 displays an example of double-sided printing when combined printing is not performed as the explanatory diagram 72.

[0046] When the auxiliary program 42 receives an operation on the OK button 75 on the double-sided setting screen 70, it confirms the binding method currently selected and returns to the display of the detailed setting screen 60 in Fig. 3. Furthermore, when it receives an instruction to confirm the print settings by operating the OK button 64 on the detailed setting screen 60 in Fig. 3 (A23), the auxiliary program 42 stores information on the confirmed print settings and the capability information acquired in A15 in the memory 12 (A24).

[0047] The auxiliary program 42 passes the determined print setting information to the general-purpose printing program 41 (A25). The auxiliary program 42 may pass the capability information acquired in A15 to the general-purpose printing program 41. The general-purpose printing program 41 may also display the print setting screen again based on the information passed from the auxiliary program 42. The general-purpose printing program 41 may also store the capability information passed from the auxiliary program 42 in the memory 12, or pass it to the editing application 43 and share it with the editing application 43.

[0048] The capability information that the auxiliary program 42 stores in the memory 12 and the capability information that the auxiliary program 42 passes to the general-purpose printing program 41 and the editing application 43 may be information that includes all of the capability information acquired from the printer 2, or may be information that includes only part of the capability information acquired from the printer 2. For example, the capability information passed to the general-purpose printing program 41 and the editing application 43 may be only information related to print settings that can be accepted by the general-purpose printing program 41 and the editing application 43. By passing the capability information of the printer 2 to the general-purpose printing program 41 and the editing application 43 as well, options that match the capabilities of the printer 2 are displayed on the print setting screen so that they can be selected.

[0049] Next, the print execution procedure will be described with reference to the sequence diagram in Fig. 5. After the user decides on the image to be printed and the print settings, the user inputs a print execution instruction into the editing application 43 (B01). When the editing application 43 receives the user's print execution instruction, it determines that it has received an execution instruction to cause the printer 2 to print the selected image to the general-purpose printing program 41, since the general-purpose printing program 41 is incorporated into the OS 21 of the PC 1. The editing application 43 outputs information about the received print instruction to the general-purpose printing program 41 (B02).

[0050] The general-purpose printing program 41 acquires, as print instruction information, image data indicating the image to be printed and information indicating print settings from the editing application 43. Based on the information acquired from the editing application 43, the general-purpose printing program 41 generates intermediate data by converting the format of the image data of the image to be printed into the format of intermediate data (B03). The image data included in the editing application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate data suitable for generating print data. Note that if the image data to be printed is data suitable for generating print data, the generation of intermediate data may be omitted and the image data may be used as is as intermediate data.

[0051] Before generating the intermediate data, the general-purpose printing program 41 may start the auxiliary program 42 corresponding to the designated device, printer 2, and notify the printer 2 that print job processing has started. When started by the general-purpose printing program 41, the auxiliary program 42 can pass information indicating various instructions used when generating the intermediate data to the general-purpose printing program 41 as necessary.

[0052] After generating the intermediate data, the general-purpose printing program 41 outputs an execution instruction to the auxiliary program 42, thereby starting the auxiliary program 42 (B05). The auxiliary program 42 acquires the intermediate data generated by the general-purpose printing program 41 and print setting information, for example, by making a request to the general-purpose printing program 41 (B06). B06 is an example of an acquisition process. The intermediate data acquired in B06 is intermediate data indicating an image to be printed, and is intermediate data generated by the general-purpose printing program 41 based on the image data acquired from the editing application 43 in B02.

[0053] The auxiliary program 42 determines whether the print settings acquired in B06 include parameters indicating specific settings. The specific settings are print settings indicating that both combined printing and double-sided printing are to be performed. For example, if both a parameter for Nin1 printing (two or more pages) and a parameter indicating double-sided printing are specified, or if a parameter indicating booklet printing is specified, the auxiliary program 42 determines that the specific settings are included. The auxiliary program 42 may also determine whether the specific settings are included based on the print settings stored in A24 of FIG. 2.

[0054] If the print settings include specific settings (opt:[specific settings]), the auxiliary program 42 executes intermediate data editing processing (B11). The procedure of the intermediate data editing processing will be described with reference to the flowchart in Fig. 6. This intermediate data editing processing is executed by the CPU 11 of the PC 1 based on the auxiliary program 42.

[0055] In the intermediate data editing process, the CPU 11 determines whether blank sheets need to be inserted (S101). Specifically, the CPU 11 determines that blank sheets need to be inserted if the remainder R obtained by dividing the number of pages to be printed on one sheet of paper, i.e., twice the number of pages P to be printed on one side of the paper, by (P x 2) based on the total number of pages M included in the intermediate data acquired in B06 is not 0. If parameters indicating specific settings for printing multiple pages of images on both sides of a single sheet of paper are included, the remainder R may not be 0.

[0056] If it is determined that blank page insertion is necessary (S101: YES), the CPU 11 adds intermediate data indicating blank page images for (P×2−R) pages as pages following the last page of the intermediate data (S102). S102 is an example of blank page addition processing. For example, if a combination of double-sided printing and 2-in-1 printing, or booklet printing, is specified, the print setting is to print images for a total of four pages on one sheet of paper, with two pages on each side (P=2) (P×2=4). In this example, if M is not a multiple of 4, there will be a remainder that is not 0, so the CPU 11 adds blank pages so that the remainder is eliminated.

[0057] After S102, or if the remainder R is 0 and it is determined that blank sheets need not be inserted (S101: NO), the CPU 11 determines whether or not page rearrangement is necessary (S111). If it is determined that page rearrangement is necessary (S111: YES), the CPU 11 rearranges the pages based on the print settings and the printing order in the printer 2 (S112). S112 is an example of rearrangement processing. By the auxiliary program 42 inserting blank sheets and rearranging the pages, the printer 2 can, in a later procedure, collect the print data in the order in which it was received and perform double-sided printing processing.

[0058] For example, if the print settings include a combination of double-sided printing and 2-in-1 printing and seven pages of portrait images are to be printed with long-edge binding, the CPU 11 inserts one blank page into the seven pages of intermediate data in S102 as shown in Fig. 7(A), resulting in eight pages of intermediate data as shown in Fig. 7(B). Next, if the printer 2 is configured to switchback convey the paper to be printed, the CPU 11 swaps the pages of the intermediate data for the second side of the paper in S112 as shown in Fig. 7(C).

[0059] Also, for example, if the print settings include printing a saddle-stitched, left-opening booklet and the intermediate data is 15 pages of portrait images, as shown in Figure 8(A), CPU 11 inserts one blank page in S102, resulting in 16 pages of intermediate data, as shown in Figure 8(B).

[0060] Next, in S112, CPU 11 rearranges the page order to match the printing order. In booklet printing, the image of page 1 needs to be printed side by side on one side of the first sheet of paper, with the image of page 1 on the right and the image of the last page on the left. On the other side of that sheet, the image of page 2 needs to be printed side by side on the back side of page 1, and the image of the page before the last page needs to be printed side by side on the back side of the last page. Therefore, CPU 11 rearranges the intermediate data for each page so that the order is, for example, last page, page 1, page 2, and the page before the last page, as shown in FIG. 8(C). Because a blank page was inserted in S102, there are no remainders when combining four pages, and the pages can be rearranged appropriately.

[0061] The CPU 11 may insert blank pages and rearrange the pages simultaneously. For example, when rearranging the pages in step S112, the CPU 11 may arrange blank pages if there is no intermediate data for the page to be arranged.

[0062] After S112, or when it is determined that page rearrangement is not necessary (S111: NO), the CPU 11 determines whether image rotation is necessary (S121). If it is determined that image rotation is necessary (S121: YES), the CPU 11 rotates the image of the page that needs to be rotated 180 degrees based on the print settings and the paper transport configuration of the printer 2 (S122). S122 is an example of rotation processing.

[0063] For example, if the print settings are 2-in-1, double-sided printing, and long-edge binding, the CPU 11 rotates the image of each page to be printed on the second side of each sheet of paper by 180 degrees in S122, as shown in Fig. 7(D). On the other hand, if portrait images are to be printed as a saddle-stitched booklet, rotation is not necessary. The CPU 11 makes the determination in S121 based on information about the image orientation and binding method.

[0064] In addition, if the capability information of printer 2 obtained by steps A13 to A15 in Figure 2 and stored in memory 12 in A24 indicates that printer 2 is capable of performing 180-degree rotation processing, CPU 11 may perform the rotation processing by printer 2, and may determine that rotation is not necessary even if the determination in S121 indicates that rotation processing is necessary.

[0065] After S122, or if it is determined that image rotation is not necessary (S121: NO), the CPU 11 ends the intermediate data editing process and returns to the print execution procedure of Fig. 5. In the intermediate data editing process, the CPU 11 performs blank page insertion, rearrangement, and rotation processes, but does not perform aggregation processes. The intermediate data for each page shown in Fig. 7(D) and Fig. 8(C) is simply arranged in this order and is not aggregated data.

[0066] Returning to the description of the print execution procedure in Fig. 5, after the intermediate data editing process in B11, the auxiliary program 42 passes a transmission instruction to the general-purpose printing program 41 to send the instruction information to the printer 2 (B12). The general-purpose printing program 41 transmits the instruction information to the printer 2 based on the instruction from the auxiliary program 42 (B13).

[0067] If parameters for performing aggregate printing and double-sided printing are specified in the print settings of the print instruction, the auxiliary program 42 passes instruction information including an aggregate command to the general-purpose print program 41 in B12, instructing it to associate the print data with the print data and send it to the printer 2. The instruction information is an example of job information. The aggregate command includes information indicating the number of pages P of images to fit on one side of a sheet of paper. In addition to the aggregate command, the instruction information also includes information indicating an instruction for double-sided printing. The instruction information may also include other instructions.

[0068] If the print settings do not include specific settings, the auxiliary program 42 does not execute the intermediate data editing process, nor does it issue an instruction to send instruction information including the aggregation command. However, if there is information to be passed to the printer 2 other than the aggregation command, the auxiliary program 42 may pass that information to the general-purpose print program 41 and instruct it to send it to the printer 2, even if the print settings do not include specific settings.

[0069] The auxiliary program 42 passes the intermediate data edited in the intermediate data editing process of B11 or the intermediate data received from the general-purpose printing program 41 in B06 to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to generate print data (B21). As a result, the general-purpose printing program 41 executes necessary processes such as rasterizing the intermediate data to generate print data (B22), and passes the generated print data to the auxiliary program 42 (B23).

[0070] The auxiliary program 42 processes the print data acquired from the general-purpose print program 41 as necessary, passes it to the general-purpose print program 41, and instructs it to send the print data to the printer 2 (B24). As a result, the general-purpose print program 41 sends the print data to the printer 2 (B25). B24 is a process for controlling the sending of the print data to the printer 2, and is an example of a sending process.

[0071] The printer 2 receives the print data, and if it has received instruction information associated with the received print data in B13 (opt: [instruction information present]), it aggregates the received print data (B31) and executes printing based on the aggregated print data (B32). B31 is a process for generating a composite image for each of the P pages of images included in the print data, and is an example of a generation process.

[0072] The print data received by the printer 2 is based on the intermediate data edited in the intermediate data editing process, and is data that has already been subjected to blank page insertion, rearrangement, and rotation processing by the auxiliary program 42. With these processes completed, the printer 2 can generate one page of print data simply by aggregating the received print data in units of P pages in the order in which it was received, in accordance with the instruction information. In other words, the processing load on the printer 2 is small.

[0073] For example, when the printer 2 receives a consolidation command indicating that two pages are to be printed on one side of a sheet of paper and print data generated based on the intermediate data shown in Fig. 7(D), it consolidates the two print data, generates print data for one side, and prints it on one side of a sheet of paper. Because double-sided printing is set, the printer 2 flips over the paper with one side printed and transports it.

[0074] Printer 2 consolidates the print data for two consecutive pages received, i.e., the print data for page 4 rotated 180 degrees and the print data for page 3 rotated 180 degrees, and prints them on the other side of a sheet of paper that has already been printed on one side. As a result, page 3 is arranged upside down on the back of page 1, and page 4 is arranged upside down on the back of page 2, as shown in Figure 7(E). Similarly, after printing on the second sheet of paper is completed, this printout is bound long edge-wise, that is, the top edges of pages 1 and 2 are bound, resulting in a printout based on the 2-in-1, double-sided, long edge-bound print settings.

[0075] Furthermore, for example, when printer 2 receives a consolidation command indicating printing two pages on one side and print data generated based on the intermediate data shown in Figure 8(C), it similarly consolidates and prints two pages of print data on both sides as it receives them. As a result, page 2 is placed on the back of page 1, and the back of page 15 is left blank. By binding these printed materials along the center of the paper length, a saddle-stitched, left-opening booklet is printed.

[0076] The process of aggregating received print data in the order in which it was received to generate a composite image can be performed once all the images to be combined are available, and does not require a large amount of memory. Therefore, it can be easily performed even on printers 2 that do not have a large amount of memory. Furthermore, depending on the configuration of the printer 2, it can generate composite images faster than the PC 1.

[0077] On the other hand, rearranging the page order may require a large amount of memory. For example, in booklet printing, as mentioned above, the last page and the first page are printed on the same paper, so images for all pages are stored and then rearranged. If the printer 2 does not have as much memory as the PC 1, it may not be able to properly process the printing of a booklet with a large number of pages. In the printing system 100 of this embodiment, the auxiliary program 42 of the PC 1 performs the rearrangement, and the printer 2 generates the composite image, so printing can be performed using both functions.

[0078] If no instruction information has been received, the printer 2 prints the received print data as is without aggregating it (B32). If the print settings do not include specific settings, the auxiliary program 42 does not instruct the general-purpose print program 41 to send instruction information to the printer 2, and therefore the printer 2 does not perform the aggregation process.

[0079] Note that instead of issuing an instruction to send the instruction information separately from the print data, the auxiliary program 42 may add the instruction information to the print data and pass it to the general-purpose print program 41. The auxiliary program 42 may incorporate the instruction information, for example, into the header information of the print data. In this case, the auxiliary program 42 does not issue the instruction in B12, but instead incorporates the instruction information into the print data received in B23 and passes it to the general-purpose print program 41 in B24, thereby instructing that the instruction information and print data be sent to the printer 2. The auxiliary program 42 may also issue an instruction to send part of the instruction information separately from the print data, and add the rest of the instruction information to the print data.

[0080] Furthermore, when the print settings include specific settings, the auxiliary program 42 may edit the print data passed from the general-purpose print program 41 in B23 instead of executing the intermediate data editing process. Even in this case, the auxiliary program 42 may insert blank pages, rearrange, and rotate the print data so that the printer 2 only aggregates the data in the order in which it was received.

[0081] Furthermore, the auxiliary program 42 may perform rasterization instead of the general-purpose printing program 41 to generate print data. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and may pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to be sent to the printer 2. Furthermore, the auxiliary program 42 may process the print data generated by the general-purpose printing program 41 or the auxiliary program 42 as necessary. Note that the print data sent to the printer 2 may be data in a format that can be printed by the printer 2.

[0082] Generating print data using auxiliary program 42 allows for greater flexibility than generating print data using general-purpose print program 41, and is more likely to generate print data suitable for printing on printer 2. On the other hand, generating print data using general-purpose print program 41 requires less processing by auxiliary program 42, and the program size of auxiliary program 42 can be reduced.

[0083] Furthermore, instead of sending print data from the general-purpose print program 41 to the printer 2, the auxiliary program 42 may send a print command instructing the printer 2 to execute printing and the print data. For example, if the print settings include settings related to image processing that can be executed by the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.

[0084] For example, if the auxiliary program 42 determines based on the capability information of the printer 2 that the printer 2 has a rotation function for rotating an image 180 degrees for double-sided printing, the auxiliary program 42 may cause the printer 2 to rotate the image. In this case, in the intermediate data editing process, the auxiliary program 42 may insert blank pages and rearrange the intermediate data so that the desired printed matter can be obtained by causing the printer 2 to aggregate and rotate the image 180 degrees.

[0085] For example, as shown in FIG. 7, if the print settings include a combination of double-sided printing and 2-in-1 printing and seven pages of portrait images are to be printed with long-edge binding, the auxiliary program 42 inserts one blank page in the intermediate data editing process to create eight pages of intermediate data as shown in FIG. 7(B). Note that if only one copy is to be printed, the auxiliary program 42 does not need to insert a blank page. Then, in B12 of FIG. 5, the auxiliary program 42 controls the printer 2 to send instruction information, including an instruction to combine two pages and an instruction for double-sided printing, and the print data. In this case, the instruction for double-sided printing includes an instruction to rotate the image to be printed on the second side by 180 degrees.

[0086] Based on the instruction information, printer 2 aggregates the received print data in groups of two pages (B31), and in B32 rotates the image to be printed on the second side of the paper by 180 degrees before printing. As a result, a printed matter based on the print settings of 2-in-1, double-sided printing, and long-edge binding is created, as shown in FIG. 7(E). In this case, B32 executed by printer 2 includes an example of rotation processing. If printer 2 is made to rotate the image 180 degrees required for double-sided printing, the functions of printer 2 can be more effectively utilized than when auxiliary program 42 rotates the image.

[0087] 8, if the print settings include saddle-stitched, left-opening booklet printing and 15 pages of portrait images are to be printed, the auxiliary program 42 inserts one blank page and rearranges the data in the intermediate data editing process to create the 16-page intermediate data shown in FIG. 8(C). The auxiliary program 42 then controls the printer 2 to send instruction information, including instructions for combining two pages at a time, for double-sided printing, and for not rotating the data 180 degrees, along with the print data. The printer 2 combines the received print data into two-page sets and prints them without rotating them, thereby creating a booklet printout.

[0088] If printer 2 has the 180-degree rotation function required for double-sided printing, auxiliary program 42 can rotate the image without rotating it, and have printer 2 rotate it. Having printer 2 rotate the image makes better use of the functions of printer 2. On the other hand, if auxiliary program 42 also rotates the image 180 degrees required for double-sided printing, the processing load on printer 2 is smaller than when printer 2 rotates the image.

[0089] As described above in detail, when parameters for performing combined printing and double-sided printing are specified in the print settings of a print instruction, the auxiliary program 42 of this embodiment rearranges the page order based on double-sided printing, but does not generate a composite image based on combined printing. The auxiliary program 42 then associates the print data of the image whose page order has been rearranged with instruction information including information indicating the number of pages P required to generate the composite image, and transmits the print data to the printer 2. Therefore, the composite image for combined printing is generated by the printer 2. This makes it possible to obtain a printed product that has been combined and double-sided printed while utilizing the printer 2's combining function.

[0090] The embodiments disclosed in this specification are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed in this specification can naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to PC 1 is not limited to printer 2, but may be any device having both an aggregation function and a printing function, such as a multifunction device, a copier, or a fax machine. Furthermore, the number of printers connected to PC 1 is not limited to the illustrated example, and may be two or more.

[0091] Furthermore, for example, the examples of the screens displayed on the user IF 13 are merely examples and are not limited to the examples shown in the drawings. Furthermore, the wording, object shapes, backgrounds, etc. displayed on each of the illustrated screens may be any.

[0092] In the embodiment, when it is determined that blank page insertion is necessary, the auxiliary program 42 adds a blank page image (S102 in FIG. 6), but the auxiliary program 42 is not limited to adding a blank page image, and may add information indicating that the page is blank. For example, the auxiliary program 42 may add a page image of a predetermined image corresponding to a blank page, including predetermined characters, a frame image, a logo mark, or the like.

[0093] 2, the auxiliary program 42 stores the acquired capability information of the printer 2, but it does not have to store the information. However, if the acquired capability information is stored, the auxiliary program 42 can easily use the capability information by reading it from the memory 12 and using it, provided that there is no possibility that the capabilities have changed.

[0094] Furthermore, if the user changes the default printer from another printer to printer 2 via the OS 21 after the print setting screen is displayed by the general-purpose print program 41, the general-purpose print program 41 may also start the auxiliary program 42. Furthermore, the auxiliary program 42 may be started not only when printing is selected, but also when printer 2 is selected as device settings, for example. Even in these cases, the auxiliary program 42 may be able to execute a procedure for updating the capability information.

[0095] In the embodiment, only the printing operation is described in detail as the operation of the auxiliary program 42, but the auxiliary program 42 may have other roles as well. The program that executes the processing of this embodiment is not limited to the auxiliary program 42, and may be any program that receives instructions from the OS 21 or the general-purpose print program 41 when printing using the general-purpose print program 41. For example, it may be a print workflow application (Print workflow) whose specifications have been made public by Microsoft.

[0096] Furthermore, the execution timing of the auxiliary program 42 is not limited to that of the embodiment. For example, the auxiliary program 42 may be executed in response to a direct execution instruction from the OS 21, or may be a resident auxiliary program 42. If the auxiliary program 42 is resident, it may simply receive an execution command and perform the above-described operation.

[0097] Furthermore, in any flowchart disclosed in the embodiments, the execution order of multiple processes in any multiple steps can be changed or they can be executed in parallel as long as no contradiction occurs in the processing content.

[0098] The processes disclosed in the embodiments may be executed by hardware such as a single CPU, multiple CPUs, or ASIC, or a combination thereof. The processes disclosed in the embodiments may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method. [Explanation of symbols]

[0099] 1 PC 2. Printer 11 CPU 100 Printing Systems

Claims

1. A support program that can be executed by a computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose print program that an operating system of the information processing device has, wherein the printer has an aggregation function that generates a composite image in which images of multiple pages included in print data are reduced to fit on one side of a sheet of paper and arranged side by side; The computer, When a print instruction is output from an application program installed in the information processing device, the print instruction is for causing the general-purpose print program to print an image on the printer, and parameters for performing aggregate printing and double-sided printing are specified in the print settings of the print instruction, an acquisition process for acquiring intermediate data representing the image to be printed in response to the print instruction from the general-purpose print program; a sorting process for sorting the page order of the images to be printed in accordance with the parameters for double-sided printing specified in the print settings of the print instruction for the intermediate data acquired in the acquisition process; a control process for controlling the transmission of print data based on the images to be printed, the page order of which has been rearranged by the rearrangement process, to the printer in association with job information based on the parameters specified in the print settings of the print instruction, the job information including the number of pages P (P is plural) of images to be contained on one side of a sheet of paper, the printer receiving the print data and the job information generating a composite image for each of the P pages of images included in the print data, and performing double-sided printing using the generated composite images; Execute A support program configured to:

2. 2. The support program according to claim 1, The computer, When the print instruction is given and the parameters for performing combined printing and double-sided printing are specified in the print settings of the print instruction, execute a blank page addition process to add blank page images of P×2−R pages (R is the remainder when the number of pages of the image to be printed, M, is divided by the number of pages of the image to be contained on both sides of the paper (P×2)) as pages after the last page of the image to be printed; In the transmission process, the print data for the image to be printed, for which the blank page addition process and the rearrangement process have been performed, is associated with the job information and transmitted to the printer. A support program configured to:

3. The support program according to claim 1 or 2, The computer, When the print instruction is given and the parameters for performing combined printing and double-sided printing are specified in the print settings of the print instruction, Before executing the transmission process, a rotation process is executed on the intermediate data acquired in the acquisition process, in which an image of a page that needs to be rotated is rotated by 180 degrees in accordance with the parameters for double-sided printing that are specified in the print settings of the print instruction. A support program configured to:

4. 4. The support program according to claim 3, The computer, When the print instruction is given and the parameters for performing combined printing and double-sided printing are specified in the print settings of the print instruction, Before executing the rotation process, a capability acquisition process is executed to acquire capability information indicating the capability of the printer; determining whether the printer has a rotation function for rotating an image of a page that needs to be rotated by 180 degrees in double-sided printing based on the capability information acquired in the capability acquisition process; If it is determined that the printer does not have the rotation function, the rotation process is executed, and then the transmission process is executed. If it is determined that the printer has the rotation function, the rotation process is not executed, and the transmission process is executed. A support program configured to:

5. 2. The support program according to claim 1, When a booklet parameter for performing booklet printing is specified as the parameter for performing aggregate printing and double-sided printing in the print setting of the print instruction, In the rearrangement process, the intermediate data acquired in the acquisition process is rearranged in the page order of the images to be printed in accordance with the booklet parameters; In the transmission process, the print data for the image to be printed, the page order of which has been rearranged by the rearrangement process, is associated with the job information in which the number of pages P is 2, and is transmitted to the printer. A support program configured to:

6. A printing system including an information processing device and a printer connected to the information processing device, the information processing device has a support program that supports a general-purpose printing program included in an operating system, The printer has an aggregation function for generating a composite image in which images of multiple pages included in the print data are reduced and arranged side by side so as to fit on one surface of a sheet of paper, The information processing device includes: When a print instruction is output from an application program installed in the information processing device, the print instruction is for causing the general-purpose print program to print an image on the printer, and parameters for performing aggregate printing and double-sided printing are specified in the print settings of the print instruction, intermediate data indicating the image to be printed in response to the print instruction is passed from the general-purpose print program to the support program; rearranges the page order of the images to be printed for the intermediate data in accordance with the parameters for double-sided printing specified in the print settings of the print instruction by the support program; transmit print data based on the images to be printed, the page order of which has been rearranged, to the printer in association with job information based on the parameters specified in the print settings of the print instruction, the job information including the number of pages P (where P is plural) of images to be contained on one side of a sheet of paper; The printer When the print data and the job information are received from the information processing device, the composite image is generated for each of the P pages of images included in the print data, and double-sided printing is performed using the generated composite image. A printing system configured to:

7. 7. The printing system according to claim 6, The information processing device includes: When the print instruction is given and the parameters for performing combined printing and double-sided printing are specified in the print settings of the print instruction, The support program adds blank page images of P x 2 - R pages (R is the remainder when the number of pages of the image to be printed, M, is divided by the number of pages of the image to be contained on both sides of the paper (P x 2)) as pages after the last page of the image to be printed, the print data based on the images to be printed, to which the blank page images for P×2−R pages have been added and the page order has been rearranged, is associated with the job information and transmitted to the printer; A printing system configured to:

8. 8. The printing system according to claim 6 or claim 7, The information processing device includes: When the print instruction is given and the parameters for performing combined printing and double-sided printing are specified in the print settings of the print instruction, transmit print data based on the images to be printed, the page order of which has been rearranged, to the printer in association with the job information, which includes the parameters for double-sided printing specified in the print settings of the print instruction and the page number P of images to be printed on one side of a sheet in aggregate printing; The printer When the print data and the job information are received from the information processing device, double-sided printing is performed by executing a generation process for generating the composite image for each of the P pages of images included in the print data in accordance with the parameters for performing aggregate printing and double-sided printing included in the job information, and a rotation process for rotating the composite images that need to be rotated by 180 degrees among the composite images generated in the generation process. A printing system configured to:

Citation Information

Patent Citations

  • Support program, information processor and printing method

    JP2021056642A

  • Support program, information processor and printing method

    JP2021056754A

  • Support program, information processor and printing method

    JP2021056755A