Support program

The support program addresses the issue of overlapping images in multiple copy printing by adding blank pages and controlling print data transmission, ensuring correct alignment and layout for printers using standard general-purpose print programs.

JP2025185803APending Publication Date: 2025-12-23BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024094212
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-11
Publication Date
2025-12-23

AI Technical Summary

Technical Problem

Existing technologies for controlling printers using standard general-purpose print programs do not adequately handle situations where multiple copies are specified and there are not enough pages to fill one sheet of paper, leading to inappropriate printing behaviors such as overlapping images from different copies on the same sheet.

Method used

A support program that adds blank pages to the print data if the number of pages is not divisible by the specified number of pages per sheet, ensuring that each copy is printed correctly by adding blank pages as needed to align the page count, and controls the print data transmission to ensure appropriate layout for multiple copies.

Benefits of technology

Ensures that printers using standard general-purpose print programs can correctly print multiple pages on a single sheet without overlapping images from different copies, maintaining proper alignment and avoiding inappropriate printing behaviors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025185803000001_ABST
    Figure 2025185803000001_ABST
Patent Text Reader

Abstract

To provide a technology capable of appropriately printing images when a printer is instructed, via an OS-standard general-purpose printing program, to print images of a plurality of pages on one sheet of paper and a plurality of copies is designated.SOLUTION: An auxiliary program 42, if a CPU 11 of a PC 1 receives, from an editing application 43, a print instruction instructing a general-purpose print program 41 to cause a printer 2 to print an image, wherein in print settings of the print instruction, parameters for printing N pages of the image on one sheet of paper are specified and the plurality of copies are specified, and the remainder R when the number of pages M of one portion of the image to be printed is divided by N is not 0, adds H pages (H is N-R) of blank page images to the image to be printed, which has M pages in one portion, and controls printing data for the image to be printed such that the number of pages becomes M+H pages in one portion to be transmitted to the printer 2 in succession for the specified plurality of copies.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 that supports 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] An example of a document disclosing technology related to a general-purpose printing program that is standard for an OS is Patent Document 1. Patent Document 1 discloses a support program that supports the general-purpose printing program, and that, when performing double-sided printing, the support program rearranges pages and rotates images, and furthermore, associates a shift command related to image shift processing with print data and sends it to the printer. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-56642 Summary of the Invention [Problem to be solved by the invention]

[0005] The technology disclosed in Patent Document 1 does not take into consideration what happens when multiple copies are specified and there are not enough pages to fill one sheet of paper when double-sided printing or other settings are configured to print multiple pages of images on one sheet of paper. Therefore, there is room for improvement, as it is necessary to avoid inappropriate behavior, such as printing the first page of the next set on the same sheet of paper as the last page. [Means for solving the problem]

[0006] A support program made to solve 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 a print instruction output to the computer from an application program installed in the information processing device, the print instruction instructing the general-purpose print program to print an image on the printer, parameters for printing N pages (N is a plurality of pages) of images on one sheet of paper and a plurality of copies are specified in print settings of the print instruction, and The program is configured to execute a blank page addition process that adds H pages (H is NR) of blank page images to one portion of the image to be printed, M pages of which are to be printed, if the remainder R when the number of pages M of one portion of the image to be printed is divided by N is not 0, and the blank page images are added in intermediate data acquired from the general-purpose printing program, or in print data based on the intermediate data, and a multiple copy transmission process that controls the print data for the image to be printed, one portion of which has M+H pages, to be sent to the printer in succession for the specified multiple copies.

[0007] The support program disclosed in this specification is configured such that, when parameters for printing an N-page image on one sheet of paper are specified, and multiple copies are specified, and further, when the remainder R obtained by dividing the number of pages M in one portion of the image to be printed by the aforementioned N is not 0, it adds H pages of blank page images, which is the difference obtained by subtracting R from N, to the intermediate data representing the image to be printed or to print data based on that intermediate data.The support program then controls the print data representing the image to be printed, with one portion having M+H pages, to be sent continuously to the printer for multiple copies.

[0008] If blank page images are not added, for example, if the printer simply prints consecutively fed images onto one sheet of paper every N pages, improper operation may occur, such as printing the image of the first page of the following copy on the sheet on which the last page of the preceding copy is printed, i.e., images of different copies may be printed on one sheet of paper. As described above, the support program disclosed in this specification controls the printer to send print data with blank page images added, so that images of N pages of the same copy are placed on each sheet of paper printed by the printer. As a result, the image of the first page of the following copy is printed on the sheet fed next to the sheet on which the last page of the preceding copy is printed, thereby avoiding improper operation by the printer.

[0009] 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]

[0010] The technology disclosed in this specification realizes a technology that allows a printer to print multiple pages of images onto a single sheet of paper via a general-purpose printing program that is standard for the OS, and that can print appropriate images when multiple copies are specified. [Brief explanation of the drawings]

[0011] [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 a sequence diagram illustrating an example of a printing execution procedure. [Figure 5] 10 is a flowchart illustrating an example of a procedure for intermediate data editing processing. [Figure 6] FIG. 10 is an explanatory diagram showing an example of printing two copies of a five-page image using double-sided printing. [Figure 7] FIG. 10 is an explanatory diagram showing an example of printing three copies of a three-page image using 4-in-1 printing. [Figure 8] FIG. 10 is an explanatory diagram showing an example of printing three copies of a three-page image using 4-in-1 printing. DETAILED DESCRIPTION OF THE INVENTION

[0012] A personal computer (hereinafter referred to as a "PC") that uses the support program of the present embodiment will be described in detail below with reference to the accompanying drawings. This specification discloses a support program executed on a PC.

[0013] As shown in Fig. 1, the PC 1 of this embodiment 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 "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Fig. 1 is a collective 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.

[0014] 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.

[0015] 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.

[0016] 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.

[0017] 1, the memory 12 stores 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.

[0018] 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).

[0019] 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.

[0020] 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.

[0021] 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.

[0022] 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).

[0023] 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.

[0024] 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 from a storage device designated by the OS 21, and install the program in the PC 1. The OS 21 stores the identification information of the installed auxiliary program in the memory 12 in association with the printer information of the newly connected printer.

[0025] 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.

[0026] 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.

[0027] The printer 2 of this embodiment does not have a large memory capacity and does not have the function of storing large amounts of print data. Furthermore, the printer 2 of this embodiment does not support a copy command, which is a print instruction for printing multiple copies that includes the print data for one copy and information indicating the number of copies to be printed. Therefore, when instructing the printer 2 to print multiple copies, the PC 1 must control the printer 2 to repeatedly send one copy of the print data to the printer 2 the number of times equal to the specified number of copies to be printed.

[0028] 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.

[0029] 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.

[0030] 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.

[0031] 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).

[0032] When the auxiliary program 42 is started in response to the instruction in 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.

[0033] 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.

[0034] 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 may include, for example, information on items related to the paper feed trays and output trays available in 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 that the printer 2 can support, information on image processing functions that the printer 2 can execute, information indicating the status of the printer 2, such as information on the 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.

[0035] 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.

[0036] In the detailed setting screen 60 shown in FIG. 3, the auxiliary program 42 can accept a selection of aggregate printing, such as two pages (2-in-1 printing) or four pages (4-in-1 printing), as a parameter for the layout item 61. 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. 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 multiple pages fit on one side of a sheet of paper. The number of pages 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 specify from among these. Double-sided printing is a print setting in which images of the pages to be printed are printed on both sides of a single sheet of paper. Booklet printing is a print setting in which images of two pages are printed on each side of a single sheet of paper, and the printed sheets are folded and bound to form a booklet.

[0037] The parameters indicating at least one of double-sided printing, booklet printing, and aggregate printing are all parameters indicating print settings for printing multiple pages of images on a single sheet of paper. Note that the auxiliary program 42 can also accept print settings that combine double-sided printing or booklet printing with aggregate printing.

[0038] 3, on the detailed settings screen 60, if 1 page is selected in the layout item 61 and double-sided printing is selected in the double-sided / booklet item 62, the parameters are an example of print settings that specify double-sided printing, in which two pages of images are printed on one sheet of paper. Also, if 4 pages are selected in the layout item 61 and single-sided printing is selected in the double-sided / booklet item 62 on the detailed settings screen 60, the parameters are an example of print settings that specify aggregate printing, in which four pages of images are printed on one sheet of paper. Also, if 1 page is selected in the layout item 61 and booklet printing is selected in the double-sided / booklet item 62, the parameters are an example of print settings that specify double-sided printing, in which two pages of images are printed on one side of a sheet of paper, for a total of four pages on both sides of a sheet of paper.

[0039] Furthermore, when an instruction to determine the print settings is received by operating the OK button 63 on the advanced settings screen 60 of Figure 3 (A21), the auxiliary program 42 stores information on the determined print settings and the capability information acquired in A15 in the memory 12 (A23).

[0040] 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.

[0041] 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.

[0042] Next, the print execution procedure will be described with reference to the sequence diagram in Fig. 4. After the user decides on the image to be printed and the print settings for the printer 2, the user inputs a print execution instruction in the editing application 43 (B01). In the instruction in B01, the user can also specify the number of copies to print.

[0043] When the editing application 43 receives a print instruction from the user, because the general-purpose printing program 41 is incorporated into the OS 21 of the PC 1, it determines that it has received an execution instruction to cause the general-purpose printing program 41 to print the selected image on the printer 2. Then, the editing application 43 outputs information about the received print instruction to the general-purpose printing program 41 (B02). The general-purpose printing program 41 obtains, as the print instruction information, image data indicating the image to be printed and information indicating the print settings from the editing application 43.

[0044] 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 based on the information acquired from the editing application 43 (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.

[0045] 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.

[0046] 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 information on print settings, for example, by making a request to the general-purpose printing program 41 (B06). 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 image data acquired from the editing application 43 in B02. Note that even if multiple copies are specified, this intermediate data is data used to print one copy, and is the intermediate data for one copy.

[0047] The auxiliary program 42 determines whether a multiple number of copies to be printed (2 or more) is specified based on the print settings acquired in B06. Information indicating the number of copies to be printed is included in the print setting information. If a multiple number of copies is specified (opt:[multiple copies]), the auxiliary program 42 executes an intermediate data editing process (B11).

[0048] The procedure of the intermediate data editing process will be described with reference to the flowchart of Fig. 5. This intermediate data editing process is executed by the CPU 11 of the PC 1 based on the auxiliary program 42.

[0049] In the intermediate data editing process, the CPU 11 calculates the remainder R of the number of pages (S101) and determines whether the remainder R is 0 (S103). The remainder R of the number of pages is calculated as the remainder when M is divided by N, based on the number of pages N to be printed on one sheet of paper and the number of pages M included in the intermediate data acquired in B06. If M is not a multiple of N, the remainder R is not 0. N, M, and R are all natural numbers.

[0050] If parameters indicating print settings for printing multiple pages of images on one sheet of paper are included, N is greater than 1, and therefore the remainder R may not be 0. If it is determined that the remainder R is not 0 (S103: NO), the CPU 11 adds intermediate data indicating blank page images for H pages (where H=NR) following the final page of the intermediate data (S104). S104 is an example of blank page addition processing.

[0051] For example, if double-sided printing is specified, the print settings are such that two pages of images are printed on one sheet of paper, one page on each side (N=2), and if M is not an even number, the remainder R is 1. If double-sided printing is specified and M is an odd number, the CPU 11 adds one blank page image following the final page of the intermediate data in S104.

[0052] Also, for example, if single-sided printing and 4-in-1 printing are specified, the print settings are to print four pages of images on one sheet of paper (N=4), and if M is not a multiple of 4, there will be a remainder R that is not 0. If single-sided printing and 4-in-1 printing are specified, the CPU 11 adds H pages of blank page images in S104 so that the total number of pages is a multiple of 4. For example, if the original image is three pages, the CPU 11 adds one page of blank page images.

[0053] Furthermore, for example, if booklet printing is specified, the print settings (N=4) are for printing four pages of images on each side of one sheet of paper, two pages on each side, and if M is not a multiple of 4, there will be a remainder R that is not 0. If booklet printing is specified, the CPU 11 adds H pages of blank page images in S104 so that the total number of pages is a multiple of 4. For example, if the original images are six pages long, the CPU 11 adds two pages of blank page images.

[0054] By adding H blank page images, the number of pages in the intermediate data after the additions becomes a multiple of N. The auxiliary program 42 adds blank page images indicating blank pages following the last page of the image to be printed, thereby preventing the page numbers of the image to be printed from being misaligned.

[0055] If it is determined that R=0 (S103: YES), the CPU 11 does not add a blank page image. For example, if the print setting is single-sided printing, which prints one page of image on one sheet of paper, N is 1, and M is a multiple of N, so the remainder R is 0. In this case, the CPU 11 does not add a blank page image. Furthermore, if double-sided printing is being performed and the number of pages is an even number, or if 4-in-1 printing or booklet printing is being performed and the number of pages is a multiple of 4, the CPU 11 also does not add a blank page image.

[0056] After S104, or if it is determined that R=0 (S103: YES), the CPU 11 determines whether or not aggregate printing is specified in the print settings (S111). If it is determined that aggregate printing is specified (S111: YES), the CPU 11 determines whether or not the printer 2 supports an aggregate command for printing aggregated print data (S112). The CPU 11 determines whether or not the aggregate command is supported based on the capability information stored in the memory 12 in A23.

[0057] If it is determined that the printer 2 does not support the aggregation command (S112: NO), the CPU 11 generates intermediate data representing an aggregate image from the intermediate data acquired from the general-purpose printing program 41 based on the aggregate printing settings included in the print settings (S113). For example, the CPU 11 rearranges, reduces, rotates 90 degrees, and combines each page as necessary to generate intermediate data of the aggregate image aggregated into an image for one page.

[0058] If it is determined that the printer 2 supports the aggregation command (S112: YES), the CPU 11 temporarily stores information for sending the aggregation command in the memory 12 (S114). The information for sending the aggregation command includes information on the number of pages to be aggregated onto one side. When the printer 2 supports the aggregation command and receives print data for the specified number of pages based on the aggregation command, it aggregates the print data and prints the aggregated image on one side of a print sheet. The aggregation command is sent to the printer 2 in a later procedure based on the information stored in the memory 12 in S114.

[0059] After S113 or S114, or if it is determined that consolidated printing is not specified in the print settings (S111: NO), the CPU 11 determines whether double-sided printing is specified in the print settings (S121). If it is determined that double-sided printing is specified (S121: YES), the CPU 11 rotates the intermediate data of the required pages 180 degrees based on the paper transport configuration for double-sided printing in the printer 2, and rearranges them in accordance with the printing order (S122). The CPU 11 can determine the configuration of the printer 2 from the capability information stored in memory 12 in A23.

[0060] After S122, or if it is determined that double-sided printing is not specified (S121: NO), the CPU 11 concatenates the intermediate data for the number of copies specified in the print settings (S131). That is, the CPU 11 copies and concatenates one copy of the intermediate data for the number of copies to generate one intermediate data. Furthermore, the CPU 11 sets the number of copies to be printed, which is included in the print settings, to one copy (S132). As a result, in a later procedure, print data based on the one intermediate data with the number of copies concatenated and the specification of the number of copies to be printed for one copy are sent to the printer 2. The CPU 11 may also delete the information on the number of copies to be printed, which is included in the print settings, to eliminate the number of copies specification.

[0061] For example, if parameters indicating double-sided printing and two-copy printing are specified as print settings and the image to be printed is five pages, the intermediate data acquired in B06 is intermediate data including five pages of images, as shown in Fig. 6(A). Since N=2 and R=1, the CPU 11 adds one blank page image in S104, as shown in Fig. 6(B).

[0062] Also, because double-sided printing has been specified, the CPU 11 rotates the images of the even-numbered pages 180 degrees in S122, as shown in Figure 6(C). Then, because printing two copies has been specified, the CPU 11 copies and concatenates the intermediate data of Figure 6(C) in S131 to generate intermediate data for 12 pages, as shown in Figure 6(D). When the printer 2 receives print data based on this intermediate data and an instruction for double-sided printing, it prints two pages on each side of a single sheet of paper, starting from the first page. As a result, the printer 2 outputs two copies of a printout in which pages 1 to 5 are printed on the first to third sheets of paper, with a blank sheet placed on the back side of page 5.

[0063] Also, for example, if parameters indicating 4-in-1 printing and printing three copies are specified as print settings and the image to be printed is three pages of images, the intermediate data acquired in B06 is intermediate data including three pages of images, as shown in Fig. 7(A) or Fig. 8(A). Since N=4 and R=1, the CPU 11 adds one blank page image in S104, as shown in Fig. 7(B) or Fig. 8(B).

[0064] If the printer 2 does not support the aggregation command, the CPU 11 determines NO in S112 and aggregates the intermediate data as shown in FIG. 7(C). As a result, the intermediate data becomes intermediate data for one page. In S131, the CPU 11 copies and concatenates the intermediate data of FIG. 7(C) to generate intermediate data for three pages as shown in FIG. 7(D). When the printer 2 receives aggregated print data based on this intermediate data, it prints the aggregated images based on the received print data on three sheets of paper, and outputs three printed sheets.

[0065] On the other hand, if printer 2 supports the aggregation command, CPU 11 determines YES in S112, copies and concatenates the intermediate data without aggregating it, and generates 12 pages of intermediate data as shown in Figure 8(C). When printer 2 receives print data based on this intermediate data and an aggregation command indicating 4-in-1 printing, it aggregates each four pages of print data it receives and prints the aggregated image on one sheet of paper. Because 12 pages of print data are sent, printer 2 aggregates the four pages of print data and prints based on the aggregated print data three times, outputting three printed sheets.

[0066] After S132, the CPU 11 ends the intermediate data editing process and returns to the print execution procedure of FIG.

[0067] Returning to the description of the print execution procedure in Fig. 4, the auxiliary program 42 passes the intermediate data edited in the intermediate data editing process of B11 and the print settings to the general-purpose printing program 41, and requests the general-purpose printing program 41 to generate print data (B12). If a designation for the number of copies is not included, the auxiliary program 42 makes the request of B12 without executing the intermediate data editing process of B11. If some processing is required even when a designation for the number of copies is not included, the auxiliary program 42 passes the intermediate data after the necessary processing to the general-purpose printing program 41.

[0068] Based on the request in B12, the general-purpose printing program 41 executes necessary processes such as rasterizing the intermediate data to generate print data (B13), and passes the generated print data to the auxiliary program 42 (B14).

[0069] If the auxiliary program 42 stores information about the aggregation command in the memory 12 in S114 of the intermediate data editing process (opt: [command present]), it passes instruction information including the aggregation command to the general-purpose printing program 41 and instructs it to send the information to the printer 2 (B15). The general-purpose printing program 41 sends the information including the aggregation command to the printer 2 in accordance with the instruction of the auxiliary program 42 (B16). If it is necessary to send instructions to the printer 2 other than the aggregation command, the auxiliary program 42 can pass the information including the necessary instructions to the general-purpose printing program 41, so that the instructions are sent to the printer 2 in B16.

[0070] The auxiliary program 42 may add instruction information such as an aggregate command 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 instruct the general-purpose print program 41 to send the instruction information, but passes the print data with the instruction information incorporated therein to the general-purpose print program 41, thereby controlling the transmission of the instruction information and the print data to the printer 2.

[0071] Furthermore, the auxiliary program 42 processes the acquired print data as necessary and passes it to the general-purpose print program 41 (B17), thereby instructing the general-purpose print program 41 to send the print data to the printer 2. As a result, the general-purpose print program 41 sends the print data to the printer 2 (B18).

[0072] If printing multiple copies is specified in the print settings, the general-purpose print program 41 generates concatenated print data for the number of copies in B13 based on the intermediate data concatenated for the number of copies in the intermediate data editing process. Also, in S132 of the intermediate data editing process, the number of copies is specified as 1 or no specification. In other words, B17 is a process that controls so that the print data for the number of copies specified in the print settings is sent consecutively to the printer 2, and is an example of a multiple-copy transmission process. As a result, in B18, the printer 2 receives concatenated print data that does not include a specification for the number of copies.

[0073] If the printer 2 has received the aggregation command first (opt:[aggregation command present]), it aggregates (B21) and prints (B22) the print data received by B18. A printer 2 with aggregation functionality can generate and print an aggregated image by aggregating the received print data based on the received aggregation command.

[0074] If the aggregation command is not received, the printer 2 will print based on the received print data. If the printer 2 does not have an aggregation function or if the print settings do not include an aggregation specification, the aggregation command will not be sent to the printer 2.

[0075] A blank page image is added to the linked print data in S104 of the intermediate data editing process. For example, if double-sided printing is specified and the image to be printed is an odd-numbered page, the generated print data is print data in which one copy of print data and print data showing one page of blank image are linked together for multiple copies. When printing is performed on printer 2 based on this print data, the last page of each copy is printed on one side of the paper, and a blank image is printed on the other side. This prevents inappropriate behavior such as printing the last page of the preceding copy on one side of a sheet of paper and printing the first page of the following copy on the other side.

[0076] Also, for example, if aggregate printing is specified, blank page images are added to match the number of pages to be aggregated. Therefore, for example, if aggregate printing is 2-in-1, inappropriate behavior such as printing the last page of the preceding set and the first page of the following set side by side on one sheet of paper can be avoided.

[0077] If multiple copies are specified in the print settings, the auxiliary program 42 may add a blank page image to the print data passed from the general-purpose printing program 41 in B14, instead of adding a blank page image in the intermediate data editing process. That is, if the print command is for multiple copies and the remainder R is not 0, the auxiliary program 42 may add, rotate, and aggregate the blank page image entirely to the print data. Alternatively, if the final print data is the same, the auxiliary program 42 may add, rotate, and aggregate the blank page image separately in the intermediate data editing process and the print data editing process. The process of adding a blank page image to the print data is an example of a blank page addition process. Then, the auxiliary program 42 concatenates the print data after adding the blank page image for the specified number of copies, and passes the concatenated data to the general-purpose printing program 41 in B17. This process also avoids the above-described inappropriate behavior.

[0078] The general-purpose printing program 41 can send a copy command specifying the number of copies associated with one copy of print data. A printer that has the function of receiving one copy of print data and printing the number of copies according to the copy command can output multiple copies of a printed material that have been appropriately printed one by one based on the copy command sent by the general-purpose printing program 41.

[0079] However, as described above, the printer 2 of this embodiment does not support the number of copies command for reasons such as not having memory that can receive one copy of print data, and therefore the auxiliary program 42 prevents the general-purpose print program 41 from issuing a copy printing instruction using the number of copies command. To do this, the auxiliary program 42 causes the general-purpose print program 41 to generate print data that concatenates the number of copies, and further sets the number of copies to one or no number of copies to be specified.

[0080] Note that 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. The auxiliary program 42 may also 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.

[0081] Rasterization by the auxiliary program 42 allows for greater flexibility than rasterization by the general-purpose printing program 41, and is more likely to generate print data suitable for printing on the printer 2. On the other hand, if rasterization is performed by the general-purpose printing program 41, the processing by the auxiliary program 42 is reduced, and the program size of the auxiliary program 42 can be reduced.

[0082] 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.

[0083] As explained in detail above, the auxiliary program 42 of this embodiment adds H pages of blank page images, which is the difference obtained by subtracting R from N, to the intermediate data representing the image to be printed or to print data based on that intermediate data, when the print settings specify parameters for printing N pages of an image on one sheet of paper, and also specify multiple copies, and further when the remainder R obtained by dividing the number of pages M of one portion of the image to be printed by the aforementioned N is not 0. Furthermore, because the printer 2 of this embodiment does not support copy count commands, the auxiliary program 42 controls the printer 2 so that multiple copies of print data representing the image to be printed, one portion of which has M+H pages, are sent in succession.

[0084] When parameters for printing N page images on one sheet of paper are specified, Printer 2 prints N pages directly onto one sheet of paper based on the print data sent continuously. If print data that does not include blank page images is sent to this Printer 2, an improper operation may occur, such as printing the image of the first page of the following copy on the paper on which the last page of the preceding copy is to be printed, i.e., images of different copies may be printed on one sheet of paper.

[0085] The auxiliary program 42 of this embodiment controls the printing data to which blank page images have been appropriately added so that it is sent to the printer 2, so that the printer 2 arranges the images of page N on one sheet of paper in the order in which they are received, resulting in the images of the same copy being arranged on one sheet of paper. As a result, the image of the first page of the subsequent copy is printed on the sheet of paper that is transported next to the sheet on which the last page of the preceding copy has been printed, thereby avoiding the above-mentioned inappropriate operation of the printer.

[0086] 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 PC1 is not limited to a printer, but may be any device with a printing function, such as a multifunction device, a copier, or a fax machine. Furthermore, the number of printers connected to PC1 is not limited to the illustrated example, and may be two or more.

[0087] 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.

[0088] Also, for example, if the printer 2 has a sufficient memory capacity and supports the copy count command, the auxiliary program 42 may not add a blank page image. In other words, the auxiliary program 42 may determine whether to execute the intermediate data editing process depending on the capabilities of the printer 2.

[0089] Furthermore, in the embodiment, in the intermediate data editing process (see FIG. 5), the auxiliary program 42 determines whether to aggregate the data itself or have the printer 2 aggregate the data, based on whether the printer 2 supports the aggregation command, but this is not limited to this. For example, the auxiliary program 42 may aggregate the data itself regardless of the capabilities of the printer 2. In this case, steps S112 and S114 of the intermediate data editing process are unnecessary, and if aggregate printing is specified, step S113 may be executed.

[0090] 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.

[0091] 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.

[0092] 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.

[0093] 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.

[0094] 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.

[0095] 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]

[0096] 1 PC 2. Printer 11 CPU

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 printing program included in an operating system of the information processing device, The computer, A print instruction is output from an application program installed in the information processing device, and the print instruction is for the general-purpose print program to have the printer print an image, and parameters for printing N pages (N is a plurality) of images on one sheet of paper are specified in the print settings of the print instruction, and multiple copies are specified, and further, when the number of pages M of one portion of the image to be printed is divided by N, the remainder R is not 0, a blank page addition process for adding H pages (H is N-R) of blank page images to one copy of M pages of images to be printed, the blank page images being added in intermediate data acquired from the general-purpose printing program, or in print data based on the intermediate data; a multiple copy transmission process that controls the print data for the image to be printed, one copy of which has a page count of M+H due to the blank page addition process, to be continuously transmitted to the printer in the specified multiple copies; Execute A support program configured to:

2. 2. The support program according to claim 1, In the blank page addition process, H pages of blank page images are added following the last page of the image to be printed. A support program configured to:

3. The support program according to claim 1 or 2, In the print settings of the print instruction, as the parameters for printing N pages of images on one sheet of paper, double-sided printing for printing two pages of images on one sheet of paper is specified, and a plurality of copies are specified, and further, when the number of pages M of one portion of the image to be printed is divided by 2, which is the number of pages N printed on one sheet of paper, the remainder R is not 0, In the blank page addition process, one blank page image is added as H pages to the image to be printed, which is one part of M pages. A support program configured to:

4. The support program according to claim 1 or 2, In the print settings of the print instruction, as the parameters for printing N pages of images on one sheet of paper, aggregate printing is specified in which the images of each page are reduced and arranged side by side so that the images of N pages fit on one sheet of paper, and multiple copies are specified, and further, if the remainder R when the number of pages M of one portion of the image to be printed is divided by the number of pages N to be printed on one sheet of paper is not 0, In the blank page addition process, H pages of blank page images are added to the M pages of images to be printed in one copy. A support program configured to:

5. 5. The support program according to claim 4, If the aggregate printing is specified in the print settings of the print instruction, In the multiple copy transmission process, a command corresponding to the aggregate printing is transmitted to the printer in association with the print data corresponding to the image to be printed. A support program configured to:

6. 5. The support program according to claim 4, If the print settings of the print instruction specify that the aggregate printing is to be performed and that multiple copies are to be printed, and if the remainder R obtained by dividing the number of pages M of one portion of the image to be printed by the number of pages N to be printed on one sheet of paper is not 0, In the multiple copy transmission process, print data of an aggregated image in which the images to be printed are aggregated as one page of an image for every N pages based on the images to be printed, the number of pages of which has become M+H by the blank page addition process, is transmitted to the printer. A support program configured to:

Citation Information

Patent Citations

  • Support program, information processor and printing method

    JP2021056642A