Support Program

The support program enhances general-purpose printing programs by enabling specific printing methods like poster printing by generating divided images tailored to paper size and controlling printers to print on different sheets, addressing the lack of such functionality in existing technologies.

JP2026113972APending Publication Date: 2026-07-08BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2024-12-26
Publication Date
2026-07-08

Smart Images

  • Figure 2026113972000001_ABST
    Figure 2026113972000001_ABST
Patent Text Reader

Abstract

To enable new printing modes in an information processing device that incorporates a general-purpose printing program. [Solution] The auxiliary program 42 executed by PC1 accepts poster printing settings that are not supported by the general-purpose printing program 41. When a print command is received with settings for poster printing, the auxiliary program 42 generates multiple divided images, which are obtained from the general-purpose printing program 41 and divided into multiple images, adjusted to fit the output paper size, according to the poster printing settings. The auxiliary program 42 sends print data to PC1 to print each of the generated divided images on a different sheet of paper.
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 for supporting the control of a printer.

Background Art

[0002] Conventionally, as a printer driver technology, so-called poster printing is known, in which one image is divided into a plurality of parts, and the plurality of divided images are each enlarged according to the paper size and printed. For example, Patent Document 1 discloses a control technique for a printer driver that limits accepting one of a printing setting for poster printing and a setting for improving black-and-white discrimination while accepting the other.

[0003] In recent years, a technology for controlling a printer using a general-purpose printing program provided by an operating system (OS) without using a printer driver provided by a printer vendor has been put into practical use. In this technology, when the OS detects a printer, it associates with the general-purpose printing program, and thereafter, when receiving a print instruction for that printer, the general-purpose printing program generates print data without using the printer driver provided by the printer vendor, enabling printing by the general-purpose printing program.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] The aforementioned general-purpose printing program lacks a function equivalent to poster printing, which was previously implemented using a printer driver. Therefore, it is desirable to enable new printing methods, such as poster printing, even from information processing devices where a printer driver is not installed. [Means for solving the problem]

[0006] The support program, which was created to solve the above-mentioned problems, is executable by the computer of the information processing device and is a support program that supports the general-purpose printing program of the operating system of the information processing device, and causes the computer to execute an acceptance process for accepting settings for a specific print, wherein the specific print is a printing method in which one image is divided into multiple parts, each of the divided images is resized to fit a specified output paper size, and each divided image is printed on a different sheet of paper of the specified output paper size, and an image data acquisition process for acquiring image data indicating the target image from the general-purpose printing program, and further causes the computer to execute an application program built into the information processing device. A print instruction output from a program, instructing the general-purpose printing program to print the target image to a printer, generates a plurality of divided images, each divided into multiple images, based on the image data acquired in the image data acquisition process, according to the specific print settings received in the reception process, with each divided image being resized to match the output paper size; and controls the printer to send print data based on the plurality of divided images generated in the generation process, for printing each of the divided images on different sheets of paper, to the printer upon receiving the print data. It is configured to perform the print data transmission process and to execute the print data transmission process.

[0007] With the support program having the above configuration, the information processing device can accept settings for specific printing. Furthermore, when the information processing device receives a print instruction configured to perform specific printing, the support program generates multiple divided images, each adjusted to fit the output paper size, according to the settings for that specific printing. In addition, the information processing device sends print data to the printer, using the support program, to print each of the generated divided images on a different sheet of paper. Thus, the information processing device can implement a function equivalent to specific printing through the support program.

[0008] The devices, control methods, and storage media readable by the computer that stores the above-mentioned support program are also novel and useful. [Effects of the Invention]

[0009] The technology disclosed herein enables new printing modes in an information processing device incorporating a general-purpose printing program. [Brief explanation of the drawing]

[0010] [Figure 1] This block diagram shows an overview of the electrical configuration of a PC. [Figure 2] This is a sequence diagram showing an example of the printer selection procedure and print settings procedure. [Figure 3] This is an explanatory diagram showing an example of the detailed settings screen. [Figure 4] This is a diagram illustrating poster printing. [Figure 5] This is a flowchart explaining the procedure for displaying the detailed settings screen. [Figure 6] This is a sequence diagram showing an example of the printing procedure. [Figure 7] This is a flowchart explaining the steps involved in the data editing process. [Figure 8]This is an illustrative diagram showing an example of an image processing procedure. [Figure 9] This is a flowchart illustrating the procedure for data editing processing by the auxiliary program of the second embodiment. [Figure 10A] This is a sequence diagram showing an example of the print setting procedure using the auxiliary program of the third embodiment. [Figure 10B] This diagram illustrates an example of a warning screen. [Modes for carrying out the invention]

[0011] The personal computer (hereinafter referred to as "PC") that utilizes the support program of the embodiment will be described in detail below with reference to the attached drawings. This specification discloses a support program that runs on a PC.

[0012] (First Embodiment) As shown in Figure 1, the PC1 of the first embodiment includes a CPU 11 and a controller 10 which includes memory 12. The PC1 is an example of an "information processing device". The CPU 11 is an example of a "computer". The PC1 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 Figure 1 is a general term for the hardware and software used to control the PC1, and does not necessarily represent a single piece of hardware actually present in the PC1.

[0013] The CPU 11 of PC1 executes various processes according to the program read from memory 12 and based on user input. Memory 12 stores various programs and various data. Memory 12 is used, for example, when executing various programs. It is also used as a field. The buffer included in the CPU 11 is also an example of the memory 12. Note that the PC 1 is not limited to the built-in ROM, RAM, HDD, etc., and may use a storage medium that can be read and written by the CPU 11, for example, a recording medium such as a CD-ROM, DVD-ROM, etc.

[0014] The user IF 13 includes hardware for displaying a screen for notifying the user of information and hardware for receiving an operation by the user. Note that the user IF 13 may include a set of a display capable of displaying information and a mouse, keyboard, etc. having an input reception function, or may include a touch panel having a display function and an input reception function.

[0015] The communication IF 14 includes hardware for communicating with external devices such as the printer 2 and the printer 3. The communication standard of the communication IF 14 is Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc. The PC 1 may be connected to the Internet via the communication IF 14. Also, the PC 1 may have a plurality of communication modes corresponding to a plurality of communication standards. When having a plurality of communication modes, the PC 1 communicates with the printer 2 or the printer 3 using one of them according to the user's selection or the hardware configuration. The communication mode with the printer 2 and the communication mode with the printer 3 may be different communication modes.

[0016] As shown in FIG. 1, the memory 12 stores various programs and various data including an operating system (hereinafter referred to as "OS") 21 including a general-purpose printing 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 operating system that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows®, macOS®, Linux®, iOS®, and Android®.

[0018] OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is, for example, a printing program provided by the OS21 vendor and included as standard with OS21. It can also be said that the general-purpose printing program 41 is a printing program pre-installed with OS21. The general-purpose printing program 41 is, for example, a printing program packaged with OS21 and installed on PC1 along with OS21. The general-purpose printing program 41 is not configured to utilize printer drivers specific to each printer.

[0019] The general-purpose printing program 41 is a program that has the functionality to perform printing on multiple types of printers, each provided by multiple vendors, based on user instructions. The general-purpose printing program 41 provides general-purpose functionality that enables printing on many printers. Unlike printer drivers specific to each printer, the general-purpose printing program 41 does not provide functions that are unique to each printer or printer driver, especially functions that require complex processing. For example, the general-purpose printing program 41 does not provide functionality equivalent to poster printing.

[0020] The general-purpose printing program 41 is a program that, based on user instructions, receives image data designated as the print target in print instructions output from various application programs, and includes a function to 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 the function of sending the generated print data to the printer designated as the device to perform printing, via the communication function of the OS 21.

[0021] Auxiliary program 42 is a program or group of programs that performs processing based on instructions from OS21 in conjunction with the processing of general-purpose printing program 41, and is an application program that supports the control of the target hardware. Auxiliary program 42 can also be described as a program that supports general-purpose printing program 41, or a program that supports processing in accordance with general-purpose printing program 41.

[0022] The auxiliary program 42 in this configuration is provided, for example, by the vendor of printer 2 or printer 3 connected to PC 1. Printer 2 and printer 3 are devices from the same vendor, but they may be the same model or different models. The auxiliary program 42 is compatible with either the model of printer 2 or the model of printer 3.

[0023] The general-purpose printing program 41 starts an auxiliary program 42, which is a program corresponding to the selected printer, when printer 2 or printer 3 is selected as the device to perform printing, when it receives instructions for detailed print settings while printer 2 or printer 3 is selected, when it receives instructions to perform printing on printer 2 or printer 3, etc. The auxiliary program 42 is, for example, called a print support application (abbreviated as PSA) or a hardware support application (abbreviated as HSA).

[0024] The auxiliary program 42 may be a combination of multiple programs, each accepting an execution command, or it may be a single program capable of executing different processes depending on the command. Furthermore, the auxiliary program may be compatible with two or more printers; for example, it may be a program provided by a printer vendor for each printer type. In addition to being per printer type, auxiliary programs may also be provided for each printer model or series of printer models.

[0025] For example, when a new printer is connected to PC1, the OS21 of PC1 can download appropriate auxiliary programs from the printer vendor's server or storage specified by OS21, depending on the type and model of the connected printer, and install them into PC1. The OS21 associates the identification information of the installed auxiliary programs with the printer information of the newly connected printer and stores it in memory 12.

[0026] The editing application 43 is, for example, an application program for creating and editing image data or document data. The editing application 43 may be, for example, Microsoft Word or PowerPoint, or a program provided by the vendor of printer 2 or printer 3. The editing application 43 can receive print execution instructions via the user interface 13, for example, to print to printer 2 or printer 3. The editing application 43 is not limited to a program for creating and editing data, but may also be a program that has the function of receiving instructions to display or print various types of information such as map information or web pages, according to the user's request.

[0027] In this configuration, PC1 is connected to printers 2 and 3 via communication IF14, as shown in Figure 1. Printers 2 and 3 are devices having at least printing and communication functions. Specifically, printers 2 and 3 may be multifunction printers, copiers, fax machines, etc. Both printers 2 and 3 can execute printing based on the received print data when they receive print data from PC1, etc.

[0028] Printers 2 and 3 differ in their ability to perform borderless printing. Borderless printing is a printing method that prints across the entire surface of the paper, without creating a margin around the edges of the paper. In this embodiment, printer 3 is a laser printer. With laser printers, printing to the edge of the paper, i.e., eliminating margins, is often not possible because toner splatter and uniform adhesion to the edges of the paper becomes difficult. Printer 3 is a model that does not support borderless printing. In this embodiment, printer 2 is an inkjet printer. Inkjet printers spray ink from nozzles to specified positions, making it easier than with laser printers to print to the edge of the paper, i.e., eliminate margins, and therefore often enabling borderless printing. Printer 2 is a model that supports borderless printing.

[0029] Next, we will explain the procedure for printing using printer 2 or printer 3 on PC1 in this configuration. The procedure when printer 3 is selected is the same as when printer 2 is selected, and the following explanation will focus on the case when printer 2 is selected.

[0030] In this configuration, processes other than user operations basically refer to the processing performed by the CPU 11 in accordance with instructions written in programs such as the auxiliary program 42. In this specification, for convenience, the various processes that the controller 10 or CPU 11 performs in accordance with programs such as the auxiliary program 42, the general-purpose printing program 41, and the OS 21 may be described as if each program were to perform the various processes independently. The processing by the CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of the OS 21 is omitted and the operation of each program is explained. Also, "acquisition" is used as a concept that does not necessarily require a request.

[0031] First, the procedure for accepting the selection of the printer to be used for printing and the specification of print settings on PC1 will be explained with reference to the sequence diagram in Figure 2. The editing application 43 can create and edit documents and images based on the user's instructions. If the user wants to print the currently displayed documents or images, the user selects "Print" in the editing application 43 (A01). The user can select "Print" from, for example, the menu of operation items provided in the editing application 43. Document data and image data created or edited by the editing application 43 are examples of "target images".

[0032] When the editing application 43 accepts the selection to print, it requests the general-purpose printing program 41 of the OS21 to display a screen that accepts instructions regarding printing (A02). The general-purpose printing program 41, in response to the request, displays the print settings screen to the user IF13 (A03). The print settings screen is a screen that accepts instructions from the user regarding various print settings that can be accepted by the general-purpose printing program 41. Note that the editing application 43 may also display the print settings screen.

[0033] For example, if the general-purpose printing program 41 receives a selection instruction on the print settings screen to select printer 2 as the device to perform printing, or if printer 2 is selected as the device to perform printing and the program receives an instruction for detailed print settings (C01), it starts the auxiliary program 42 corresponding to the selected printer 2 and passes an instruction to the auxiliary program 42 to start accepting detailed print settings (C03).

[0034] When the auxiliary program 42 is started in response to the instruction C03, it acquires the capability information of printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to acquire the capability information (C11). The general-purpose printing program 41 sends a command to printer 2 requesting capability information and acquires the capability information from printer 2 (C12). The general-purpose printing program 41 passes the capability information acquired from printer 2 to the auxiliary program 42 (C13). In this way, the auxiliary program 42 can acquire the capability information of printer 2. C11~C13 is an example of the "acquisition process". The auxiliary program 42 then uses the acquired capability information of printer 2. It may be cached in memory 12.

[0035] The general-purpose printing program 41 communicates with printer 2 via OS 21 in C12, for example, through communication corresponding to IPP (Internet Printing Protocol). Alternatively, the auxiliary program 42 may obtain capability information directly from printer 2 using, for example, MIB (Management Information Base), instead of requesting it from the general-purpose printing program 41. Furthermore, the capability information that auxiliary program 42 can obtain from printer 2 may contain more information than the capability information obtained via OS 21.

[0036] The capability information obtained from Printer 2 includes information on the settings that can be set as print settings and the parameters that can be set for each setting. The capability information also includes information indicating whether Printer 2 supports borderless printing. This information may be direct information indicating whether borderless printing is possible or indirect information that allows one to infer whether borderless printing is possible, such as the model name. Indirect information may include, for example, model information indicating whether it is a laser printer or an inkjet printer. The capability information may also include information on items related to the paper feed trays and output trays available to Printer 2, such as information indicating the selectable paper feed trays and output trays, and information such as the paper size and paper type set for each paper feed tray. Furthermore, the capability information may also include information on the print resolutions that Printer 2 can support, information on other image processing functions that Printer 2 can perform, information indicating the status of Printer 2 such as the remaining amount of consumables, information indicating the default print settings, and information indicating whether or not stacked printing is possible. Capability information may be used, for example, by a general-purpose printing program 41 or an editing application 43 when displaying a print settings screen or when determining errors in print settings.

[0037] Furthermore, if the capabilities information for printer 2 is already cached in memory 12, auxiliary program 42 may omit processing C11 to C13 and obtain the capabilities information by reading the capabilities information for printer 2 cached in memory 12. In this case, the process of reading the capabilities information from memory 12 is an example of an "acquisition process".

[0038] The timing for acquiring capability information does not have to be when the detailed settings screen is displayed. The timing for acquiring capability information can be when the auxiliary program 42 is launched from the general-purpose printing program 41 or OS21, for example, when printer 2 is selected. The auxiliary program 42 may acquire the capability information of printer 2 all at once, or it may acquire only the necessary items as needed. For example, the auxiliary program 42 may acquire information indicating whether borderless printing is supported, or model information indicating whether it is a laser printer or an inkjet printer, as capability information.

[0039] When the auxiliary program 42 obtains the capability information of the selected printer 2, it executes the detailed settings screen display process (C15). The detailed settings screen display process displays a detailed settings screen to the user IF13, which accepts detailed print settings based on the acquired capability information.

[0040] Figure 3 shows an example of the detailed settings screen 50 displayed when printer 2 is selected. The detailed settings screen 50 includes a setting area 51 that accepts detailed print settings and an OK button 52 that confirms the contents of the detailed print settings. The setting area 51 can accept print settings specific to printer 2. For example, the setting area 51 includes a borderless printing setting field 51d that accepts the setting of whether or not to print borderlessly. The borderless printing setting field 51d is enabled when a printer that supports borderless printing is selected, and disabled when a printer that does not support borderless printing is selected.

[0041] Also, for example, the setting area 51 is a setting for whether or not to perform poster printing. The setting area 51 includes a fixed field 51a. Furthermore, the setting area 51 includes a division number setting field 51b for poster printing and a border setting field 51c. The division number setting field 51b accepts the setting for the number of divisions when dividing one image into multiple images. The border setting field 51c accepts the setting for whether or not to print a border indicating the boundary between the print area and the margin area. The division number setting field 51b and the border setting field 51c are enabled when the setting to perform poster printing is selected in the poster printing setting field 51a, and are disabled when the setting to not perform poster printing is selected in the poster printing setting field 51a. Note that even if the setting to perform poster printing is selected in the poster printing setting field 51a, the border setting field 51c is disabled if the setting to perform borderless printing is selected in the borderless printing setting field 51d.

[0042] Figure 4 illustrates the divided images when the number of divisions is set to "1 in 2 × 2" in the division number setting field 51b. When the number of divisions is set to "1 in 2 × 2", one image 61 is divided into the specified number of divisions (2 vertically and 2 horizontally, for a total of 4), and the divided images are enlarged to fit the size of the printing paper, thereby generating multiple divided images 62A, 62B, 62C, and 62D.

[0043] Each divided image 62A, 62B, 62C, 62D includes a printable area 63 on the paper and a margin area 64 on the paper. The printable area 63 is the area where the image can be printed. The margin area 64 is the area where the image cannot be printed. The margin area 64 is the area formed between the printable area 63 and the outline 66 that indicates the outer shape of the paper. On the paper on which each divided image 62A, 62B, 62C, 62D is printed, the margins indicated by the margin area 64 are cut out and pasted together by the user to form a single image. In this embodiment, if the setting to print the boundary line 65 is selected in the boundary line setting field 51c, the boundary line 65 indicating the boundary between the printable area 63 and the margin area 64 is drawn on each divided image 62A, 62B, 62C, 62D. Note that poster printing is an example of "specific printing". The detailed settings screen 50 is an example of a "settings screen". The poster printing settings section 51a is an example of "Item 1," and the border setting section 51c is an example of "Item 2."

[0044] In the border setting section 51c, it may be possible to specify the line type and color of the border 65. This is because some users may want to make the border 65 less noticeable, that is, to make it less visible when pasted together, while others may want to make the border 65 more noticeable, that is, to make it easier to cut out the margin area 64.

[0045] In addition, in poster printing, margins may be provided for the divided images 62A, 62B, 62C, and 62D. The margins included in the divided images are included in the printing area 63, and the boundary line 65 is printed at the boundary between the margin and the white space area 64.

[0046] The detailed settings screen 50 may accept not only printer-specific print settings that the general-purpose print program 41 does not support, but also general-purpose print settings that the general-purpose print program 41 can support. General-purpose print settings include, for example, paper type, print quality, paper size, print orientation, number of copies, collated printing, and duplex printing. Collated printing and poster printing are mutually exclusive.

[0047] The process of displaying the detailed settings screen will be explained in detail. The CPU 11 of PC1 executes the process of displaying the detailed settings screen shown in Figure 5 by the auxiliary program 42. First, the CPU 11 determines whether the selected printer can perform borderless printing (S11).

[0048] If printer 2 is selected, the capabilities information for printer 2 includes at least one of the following: information indicating that it supports borderless printing and model information indicating that it is an inkjet printer. The CPU 11 determines that the selected printer 2 can perform borderless printing. The CPU 11 determines that if the selected printer 2 can perform borderless printing (S11:Y ES) With the border setting field 51c ready to accept the setting of whether or not to print the border 65, the detailed settings screen 50 is displayed to user IF13 (S13), and the detailed settings screen display process is terminated. In other words, if a borderless printing capable printer 2 is selected, the auxiliary program 42 can accept the setting not to print the border 65 via the border setting field 51c. Note that if the setting to print borderless is selected in the borderless printing setting field 53d, the border setting field 51c is disabled and the auxiliary program 42 does not accept the setting to print the border 65. In other words, when printing with margins on a borderless printing capable printer 2, the auxiliary program 42 can print the border 65 according to the setting in the border setting field 51c.

[0049] In contrast, if printer 3 is selected, the capability information for printer 3 includes at least one of the following: information indicating that it is not capable of borderless printing, and model information indicating that it is a laser printer. The CPU 11 determines that the selected printer 3 cannot perform borderless printing. If the selected printer 2 cannot perform borderless printing (S11: NO), the CPU 11 displays the detailed settings screen 50 to the user IF 13 (S15) with the setting to not print the border 65 restricted in the border setting field 51c, and then terminates the detailed settings screen display process. The method for restricting the setting to not print the border 65 may be, for example, by hiding the option to not print the border 65 in the border setting field 51c, or by graying it out. In other words, if printer 3, which is not capable of borderless printing, is selected, the auxiliary program 42 cannot accept the setting to not print the border 65 via the border setting field 51c. To put it another way, if printer 3, which is not capable of borderless printing, is selected, the border setting field 51c will be set to print the border 65.

[0050] The detailed settings screen 50 displayed by the auxiliary program 42 includes parameters within the range of what can be executed by the printer 2 as options. As shown in Figure 2, the auxiliary program 42 can accept user input on the displayed detailed settings screen 50 (C16). Since there are many print settings that can be accepted on the detailed settings screen 50, the auxiliary program 42 may also be able to accept instructions to switch between selected items using multiple tabs, for example. C15 and C16 are examples of "reception processing".

[0051] The auxiliary program 42 can accept a setting to perform poster printing or not via the poster printing setting field 51a. If printer 2 is selected, the border setting field 51c can accept settings to print the border 65 or not to print the border 65. Therefore, it is the user's responsibility to decide whether or not to print the border 65.

[0052] On the other hand, when printer 3 is selected, the boundary setting field 51c can accept a setting to print boundary line 65, but it cannot accept a setting not to print boundary line 65. Therefore, boundary line 65 is automatically set to be printed.

[0053] If all print settings are selected and the printer 2 is capable of handling them, the auxiliary program 42 can accept a print setting completion command. Upon receiving the print setting completion command (C31), the auxiliary program 42 stores information indicating the confirmed print settings in memory 12 (C32).

[0054] The auxiliary program 42 responds to the detailed settings instruction received in C03 by ending the display of the detailed settings screen once the print settings have been confirmed and passing the confirmed print settings information to the general-purpose printing program 41 (C33). The general-purpose printing program 41 responds to the detailed settings instruction received in C01 by passing the received print settings information to the editing application 43 (C34). This allows the editing application 43 to accept further instructions regarding printing.

[0055] Next, the procedure for executing a print job will be explained with reference to the sequence diagram in Figure 6. When the editing application 43 receives instructions for printing, including the specification of the image to be printed and an instruction to execute printing on printer 2 (E01), it passes the print instruction information and image data indicating the image to be printed to the general-purpose printing program 41 (E02). The general-purpose printing program 41 generates intermediate data based on the information received from the editing application 43 (E03).

[0056] The general-purpose printing program 41 generates intermediate data by converting the image data format of the image to be printed into an intermediate data format. 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. If the image data to be printed is already suitable for generating print data, the generation of intermediate data can be omitted, and the data can be used directly as intermediate data.

[0057] Furthermore, the general-purpose printing program 41 may, before generating intermediate data, start an auxiliary program 42 corresponding to the specified device, printer 2, to notify it that it has started processing the print job. When the auxiliary program 42 is started by the general-purpose printing program 41, it can pass information indicating various instructions used when generating intermediate data to the general-purpose printing program 41 as needed.

[0058] The general-purpose printing program 41 generates intermediate data and then outputs an execution instruction to the auxiliary program 42 (E05). The auxiliary program 42 can obtain the intermediate data and print setting information generated by the general-purpose printing program 41 by making a request to the general-purpose printing program 41, for example. E05 is an example of "image data acquisition processing". The intermediate data is an example of "image data indicating the target image".

[0059] When the auxiliary program 42 obtains intermediate data from the general-purpose printing program 41, it executes data editing processing (E06). The CPU 11 of PC1 executes the data editing processing shown in Figure 7 by the auxiliary program 42.

[0060] The CPU 11 edits the intermediate data based on the print settings information stored in C32 in Figure 2 and the capabilities information of the selected printer (S31). For example, if the print settings include settings for a watermark, header, or footer, the CPU 11 draws the watermark, header, or footer in the intermediate data based on those settings. The CPU 11 determines whether or not the print settings obtained in E05 include poster printing settings (S32).

[0061] If "Enable" is selected in the poster printing settings section 51a of the poster printing settings screen 50, the print settings include poster printing settings. If the print settings include poster printing settings (S32: YES), the CPU 11 generates a split image for one of the intermediate data images (S33).

[0062] For example, suppose "1 in 2 × 2" is selected in the division number setting field 51b of the detailed settings screen 50. Also, suppose that the intermediate data contains images 111 and 121 for two pages, as shown in Figure 8(A). In order to preserve the information of the original image, the CPU 11 copies the image 111 from the first page to generate a copy image 112, as shown in Figure 8(B), and then copies that copy image 112 three times, which is the division number "4" minus 1. In other words, the CPU 11 generates a copy image 112 with a division number of "4" for the image 111 from the first page.

[0063] As shown in Figure 8(C), CPU 11 calculates the area to be cropped from the copy image 112 based on matrix calculations. For example, CPU 11 crops the first copy image 112 vertically into two horizontal sections. The image is divided into two sections, each containing four parts. The upper left area of ​​these four sections is designated as region A1, which is the area to be cut out. As shown in Figure 8(D), the CPU 11 cuts out an image from the copy image 112 according to the calculated cutting region A1, creating a divided image 113. Similarly, for the other copy images 112, the CPU cuts out images according to the cutting regions A2, A3, and A4, creating divided images.

[0064] When the CPU 11 generates a divided image 113 with the specified number of divisions "4" for the image 111 on the first page, it adjusts the size of the divided image 113 to match the output paper size, which is the size of the paper to be printed on, as shown in Figure 7 (S34). For example, if the number of divisions is set to "1 in 2 × 2", the paper size of the original image 111 is "A4", and the output paper size is "A4", the CPU 11 determines the magnification for adjusting the size of the divided image 113 to be 2 times vertically and 2 times horizontally. As shown in Figure 8(E), the CPU 11 enlarges the divided image 113 according to the determined magnification and generates a divided image 114. As shown in Figure 8(F), the CPU 11 sets the generated divided image 114 as the upper left divided image of the image 111 on the first page. Similarly, the CPU 11 adjusts the size of the divided images cut out in the areas A2, A3, and A4 for the other copied images 112, making them the upper right divided image of the first page, the lower left divided image of the first page, and the lower right divided image of the first page.

[0065] Once the image processing for the first page is complete, the CPU 11 determines whether the generation of segmented images has been completed for all images included in the intermediate data, as shown in Figure 7 (S35). If segmented images have not been generated for image 121 on the second page, the CPU 11 returns to S33 because the generation of segmented images is not complete (S35: NO), and generates multiple segmented images for image 121 on the second page. S33 to S35 is an example of the "generation process".

[0066] Once the generation of segmented images is complete for all images included in the intermediate data (S35:YES), CPU11 determines whether or not the print settings obtained in E05 include a setting to print the boundary line 65 (S36).

[0067] For example, if printer 2, which supports borderless printing, is selected, the border setting field 51c on the detailed settings screen 50 can accept both a setting to print the border 65 and a setting not to print the border 65. If the setting to print the border 65 is selected in the border setting field 51c, the setting to print the border 65 is included in the print settings. If the CPU 11 finds that the setting to print the border 65 is included in the print settings (S36: YES), it adds an object indicating the border 65 to each divided image 114 (S37) and terminates the data editing process. S37 is an example of "addition processing".

[0068] On the other hand, if printer 2 is selected, and the setting to not print boundary line 65 is selected in boundary line setting field 51c, the setting to print boundary line 65 will not be included in the print settings. If the CPU 11 does not find that the setting to print boundary line 65 is included in the print settings (S36: NO), it skips S37 and terminates the data editing process. In other words, an object indicating boundary line 65 is not added to each divided image 114.

[0069] In contrast, if printer 3, which does not support borderless printing, is selected, the border setting section 51c of the detailed settings screen 50 cannot accept the setting not to print the border 65, and the setting to print the border 65 is automatically selected. Therefore, when printer 3 is selected, the setting to print the border 65 is always included in the print settings (S36: YES), and the CPU 11 adds an object indicating the border 65 to each divided image 114 (S37), and terminates the data editing process. In other words, if the selected printer 3 is a laser printer and there are margins in the printed material, an object indicating the border 65 is forcibly added to each divided image 114.

[0070] In addition, during the data editing process, if the received print settings include processing that can be executed by printer 2, the auxiliary program 42 may generate a command to cause printer 2 to execute that processing.

[0071] Returning to Figure 6, the auxiliary program 42 passes the edited intermediate data to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to generate print data and send it to printer 2 (E11). As a result, the general-purpose printing program 41 performs necessary processing such as rasterizing the intermediate data to generate print data (E12), and sends the print job containing the generated print data to printer 2 selected in the print settings (E13). E11 to E13 is an example of the "print data transmission process". Printer 2 executes printing based on the received print job (E14).

[0072] In this configuration, the auxiliary program 42 instructs the general-purpose printing program 41 to send a single print job containing all the print data based on the multiple divided images 114 generated by the data editing process to the selected printer 2. The general-purpose printing program 41 generates print data for each divided image received from the auxiliary program 42, generates a single print job containing all the generated print data, and sends it to the printer 2. The printer 2 prints the print data contained in the print job onto different sheets of paper. If the setting to print the boundary line 65 is configured in the boundary line setting field 51c, the boundary line 65 is drawn on the multiple divided images, so the boundary line 65 is printed on each printout from the printer 2. If the setting to print the boundary line 65 is not configured in the boundary line setting field 51c, the boundary line 65 is not drawn on the multiple divided images, so the boundary line 65 is not printed on each printout from the printer 2.

[0073] Therefore, when printing with printer 2, if the user wants to make it easier to trim the margins, they can select the setting to print border 65 in border setting field 51c, causing printer 2 to print border 65. On the other hand, if the user wants to hide border 65, they can select the setting not to print border 65 in border setting field 51c, causing printer 2 to not print border 65. This increases the flexibility of printing border 65.

[0074] Furthermore, if printer 3, which does not support borderless printing, is selected, the border 65 is always drawn on multiple divided images, so the border 65 will be printed on the output from printer 3. Therefore, even if there are margins on the output from printer 3, the user can easily crop the margins along the border 65.

[0075] The auxiliary program 42 may instruct the general-purpose printing program 41 to generate a print job for each of the multiple divided images 114 generated by the data editing process and send them to the selected printer. Alternatively, the auxiliary program 42 may group the multiple divided images 114 generated by the data editing process into any number of groups, generate a print job for each group, and instruct the general-purpose printing program 41 to send them to the selected printer. However, printing multiple divided images 114 in a single print job makes it easier to manage poster printing jobs.

[0076] Alternatively, the auxiliary program 42 may perform rasterization and generate print data instead of the general-purpose printing program 41. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and then pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to send them to the printer 2. The auxiliary program 42 may also receive the print data generated by the general-purpose printing program 41 and process it as needed. The print data sent to the printer 2 only needs to be in a format that can be printed by the printer 2.

[0077] Rasterizing with auxiliary program 42 offers greater flexibility compared to rasterizing with general-purpose printing program 41, and is more likely to generate print data suitable for printing on printer 2. On the other hand, rasterizing with general-purpose printing program 41 reduces the processing load on auxiliary program 42, thus reducing its program size.

[0078] Alternatively, instead of having the general-purpose printing program 41 send the print data to the printer 2, the auxiliary program 42 may send a print command instructing the printer to execute the print job, along with the print data, to the printer 2. For example, if the print settings include settings related to image processing that can be performed on the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.

[0079] As described in detail above, the auxiliary program 42 of the first embodiment allows PC1 to accept poster printing settings, which are functions not supported by the general-purpose printing program 41. Furthermore, when PC1 receives a print command with settings for poster printing, the auxiliary program 42 generates multiple divided images, which are intermediate data that is the image to be printed, divided into multiple parts according to the poster printing settings, and which are adjusted to fit the output paper size. Furthermore, the auxiliary program 42 sends print data to the printer to print each of the generated divided images on a different sheet of paper. Thus, even when printing via the general-purpose printing program 41 without using a printer driver, PC1 can realize a function equivalent to poster printing by using the auxiliary program 42.

[0080] (Second Embodiment) Next, the auxiliary program of the second embodiment will be described. The auxiliary program 42 of the second embodiment does not accept a setting to print the borderline 65 or not, and prints the borderline 65 depending on whether the printer supports borderless printing. This is different from the first embodiment, which prints the borderline 65 depending on the setting to print the borderline 65 or not. In the second embodiment, the differences from the first embodiment will be described in detail, and the same reference numerals will be used for parts that are common to the first embodiment, and explanations will be omitted as appropriate.

[0081] The detailed settings screen displayed by the auxiliary program 42 in the second embodiment differs from the detailed settings screen 50 in Figure 3 described in the first embodiment in that it does not have a boundary line setting field 51c and does not accept a setting for whether or not to print the boundary line 65. In other words, the user cannot set whether or not to print the boundary line 65 in the detailed print settings.

[0082] The CPU 11 of PC1 executes the data editing process shown in Figure 9 using the auxiliary program 42 of the second embodiment. When the print settings include poster printing settings and the CPU 11 generates multiple divided images for each image included in the intermediate data according to those settings (S31, S32: YES, S33, S34, S35: YES), the CPU 11 determines whether the selected printer can perform borderless printing based on the capabilities information of the selected printer (S101).

[0083] For example, if printer 3 is selected, the CPU 11 obtains capability information that does not include information indicating that it supports borderless printing, or capability information that includes model information indicating that it is a laser printer, and determines that the selected printer 3 cannot perform borderless printing. If the selected printer 3 cannot perform borderless printing (S101: NO), the CPU 11 adds a boundary line object 65 to each divided image 114 (S37) and terminates the data editing process. In other words, if the selected printer 3 is a printer that cannot perform borderless printing, or if it is a laser printer, there are often margins in the printed material, so a boundary line 65 is automatically printed on each printed material.

[0084] In contrast, if printer 2 is selected, the CPU 11 obtains capability information that includes information indicating that it can support borderless printing, and capability information that includes model information indicating that it is an inkjet printer, and determines that the selected printer 2 can perform borderless printing. If the CPU 11 determines that the selected printer 2 can perform borderless printing (S101: YES), it skips S37 and terminates the data editing process. In other words, if the selected printer 2 is a printer that supports borderless printing or is an inkjet printer, there are few margins on the printed material, so the border 65 is not automatically printed on each printed item.

[0085] In the second embodiment, the timing for acquiring capability information may be before S101, after displaying the detailed settings screen, or after issuing a print execution command.

[0086] As explained above, the auxiliary program 42 of the second embodiment automatically adds a border 65 to the divided image 114 if the selected printer does not support borderless printing. With printers that do not support borderless printing, such as laser printers, the printed divided image 114 will include margins, requiring the user to crop the margins. However, by automatically adding the border 65 to the printed divided image 114, it becomes easier to crop the margins.

[0087] (Third embodiment) Next, the auxiliary program of the third embodiment will be described. The auxiliary program 42 of the third embodiment can accept a setting to not print the border line 65 even when a printer that does not support borderless printing is selected, and when the setting to not print the border line 65 is accepted, it outputs a warning regarding the border line 65. This differs from the first embodiment, which cannot accept a setting to not print the border line 65 when a printer that does not support borderless printing is selected, and does not output a warning regarding the border line 65. In the third embodiment, the differences from the first embodiment will be described in detail, and the same reference numerals will be used for parts that are common to the first embodiment, and explanations will be omitted as appropriate.

[0088] In the third embodiment, the auxiliary program 42 displays the same detailed settings screen 50 to the user IF13 (C61), as shown in Figure 10A, regardless of whether a printer 2 capable of borderless printing is selected or a printer 3 that is not capable of borderless printing is selected. The border setting section 51c of the detailed settings screen 50 accepts the setting of whether or not to print the border 65.

[0089] If the setting to perform poster printing is selected in the poster printing setting section 51a of the detailed settings screen 50, and the setting to not print the border 65 is selected in the border setting section 51c (C62), the auxiliary program 42 determines whether the selected printer supports borderless printing (C63).

[0090] If printer 3 is selected, the capabilities information for printer 3 does not include information indicating that borderless printing is possible, but it does include model information indicating that it is a laser printer. Therefore, the CPU 11 determines that printer 3 is not capable of borderless printing. If printer 3 is not capable of borderless printing (opt:[Not capable]), the CPU 11 executes a warning process (C64). The warning process outputs a warning regarding the boundary line 65. In the warning process, for example, the warning screen 301 shown in Figure 10B is displayed to the user IF 13. The warning screen 301 includes a message 302 indicating a warning about the boundary line 65 and an OK button 303. The warning regarding the boundary line 65 may be a warning that the boundary line 65 will not be printed, a warning that the boundary line 65 will be printed forcibly, or a warning that since the selected printer 3 is a device that does not support borderless printing, it is better to print the boundary line 65. This suggestion would also be acceptable.

[0091] When the OK button 303 on the warning screen 301 is pressed, the auxiliary program 42 closes the warning screen 301 and returns to the detailed settings screen 50. When the auxiliary program 42 returns to the detailed settings screen 50, it does not allow the setting to not print the border 65 by, for example, changing the setting to not print the border 65 selected in the border setting field 51c to a setting to print the border 65. Alternatively, the auxiliary program 42 may allow the setting to not print the border 65 after issuing a warning about the border 65. The warning process alerts the user that the border 65 will not be printed, and by leaving the actual printing of the border 65 to the user's judgment, the degree of freedom in the settings related to the border 65 can be increased. Furthermore, by not allowing the printing of the border 65 after issuing a warning, the border 65 will always be printed on documents printed by printer 3 that cannot print borderless, making it easier for the user to trim the margins.

[0092] In the third embodiment, the warning process is executed immediately after receiving the setting not to print the boundary line 65. However, the warning process only needs to be executed when the setting not to print the boundary line 65 is received. For example, it could be at the timing when the settings on the detailed settings screen 50 are applied in response to the operation of the OK button 52 on the detailed settings screen 50, or at the timing when the divided image is generated. Also, in the third embodiment, the timing of acquiring capability information can be before C63, or even after the detailed settings screen is displayed.

[0093] If printer 2 is selected, the capabilities information for printer 2 includes information indicating that borderless printing is possible and model information indicating that it is an inkjet printer. Therefore, CPU 11 determines that printer 3 is capable of borderless printing. If printer 2 is capable of borderless printing, CPU 11 does not execute the warning process C64 even if it accepts the setting to not print border 65 in the border setting field 51c. In other words, since margins are unlikely to be created in the printed material, no warning regarding border 65 is output.

[0094] As described above, the auxiliary program 42 of the third embodiment can accept a setting to print the boundary line 65 via the boundary line setting field 51c of the detailed settings screen 50, regardless of whether an inkjet printer capable of borderless printing (printer 2) or a laser printer (printer 3) that is not capable of borderless printing is selected. This makes it possible to draw the boundary line 65 between the print area 63 and the margin area 64 on each of the divided images 114 according to the user's intention, making it easier for the user to trim the margins of the printed material.

[0095] Furthermore, in the third embodiment, when the auxiliary program 42 receives a setting to not print the borderline 65 on a printer 3 that does not support borderless printing, it outputs a warning about the borderline 65. This makes it easier for the user to notice the setting error and makes it less likely that the borderline 65 will be set not to print, thus limiting the setting to not print the borderline 65.

[0096] The embodiments disclosed herein are merely illustrative and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence.

[0097] For example, in the above embodiment, the number of divisions is set such that the vertical number N and the horizontal number M are the same value, but the vertical number N and the horizontal number M may be different. However, by limiting the number of divisions to a perfect square of the same value for the vertical number N and the horizontal number M, the aspect ratio of the original image remains unchanged, and the impression of the image after pasting the printed materials together also remains unchanged.

[0098] For example, the screen examples shown in each figure are just examples and are not limited to those shown. The text, object shapes, arrangement, background, etc., displayed on the illustrated screen can be anything.

[0099] Furthermore, the number of printers compatible with the auxiliary program 42 is not limited to two; it may be three or more. Also, the auxiliary program 42 may be compatible with printers not connected to PC1.

[0100] For example, steps S33 and S34 in Figure 7 may be performed in reverse order. That is, the auxiliary program 42 may enlarge the image 111 to be printed and then cut out an image the size of the output paper from the enlarged image, repeating this operation for the number of divisions.

[0101] For example, in Figure 5, 15, if the selected printer cannot print borderless, the border setting field 51c may be disabled, making it impossible to accept the setting of whether or not to print the border 65. This allows the system to automatically set the system to print the border 65 if the selected printer cannot print borderless. However, if the selected printer cannot print borderless, restricting the operation of the option to not print the border 65 in the border setting field 51c allows the system to select the line type and color of the border 65, along with setting the system to print the border 65, thus simplifying the display of the detailed settings screen 50.

[0102] For example, in the above embodiment, the auxiliary program 42 acquires intermediate data (E05) after the print settings are completed (C31), but the configuration is not limited to this. For example, before accepting settings on the detailed settings screen 50, that is, between A02 and C15, the general-purpose print program 41 may generate intermediate data and pass it to the auxiliary program 42.

[0103] Furthermore, although this embodiment only describes in detail the operations related to printing as those of the auxiliary program 42, the auxiliary program 42 may have other roles. Also, the program that executes the processing in this embodiment is not limited to the auxiliary program 42, but can be any program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41. For example, the Print Workflow application whose specifications have been published by Microsoft (registered trademark) may also be used.

[0104] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of this embodiment. For example, it may be executed by direct execution instruction from the OS 21, or it may be a resident auxiliary program 42. In the case of a resident auxiliary program, the auxiliary program 42 should perform the operations described above upon receiving an execution instruction.

[0105] Furthermore, in any flowchart disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.

[0106] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in each embodiment can be implemented in various ways, such as by recording a program for executing the process on a recording medium or by a method. [Explanation of Symbols]

[0107] 1 PC 2,3 Printers 11 CPU 13 User Interface 41 General-purpose printing program 42 Support Programs 43 Editing Apps

Claims

1. A support program that is executable by the computer of the information processing device and supports a general-purpose printing program that has an operating system of the information processing device, To the aforementioned computer, A reception process for receiving settings for a specific print job, wherein the specific print job involves dividing one image into multiple parts, adjusting the size of each divided image to fit a specified output paper size, and printing each divided image on a different sheet of paper of the specified output paper size. Image data acquisition process to acquire image data representing the target image from the aforementioned general-purpose printing program, Make it run, The aforementioned computer further: A print instruction output from an application program incorporated in the information processing device, in which the general-purpose printing program instructs the printer to print the target image, A generation process that generates multiple divided images, each of which is an image obtained by dividing the target image based on the image data acquired in the image data acquisition process, according to the settings for the specific print received in the reception process, and whose size is adjusted to match the output paper size, A print data transmission process that controls the transmission of print data based on a plurality of divided images generated in the generation process, for printing each of the plurality of divided images on different sheets of paper, to the printer, wherein the printer that receives the print data performs printing based on the print data. To execute A support program configured in this way.

2. A support program as described in claim 1, To the aforementioned computer, The system executes an acquisition process to obtain capability information indicating the capabilities of the printer, and this capability information includes information indicating whether borderless printing is supported. The aforementioned computer further: If the aforementioned capability information does not include the information indicating that borderless printing is supported, An additional process is performed to add a boundary line to each of the multiple divided images generated in the generation process, which indicates the boundary between the printable area and the margin area on the paper. A support program configured in this way.

3. A support program as described in claim 2, The aforementioned capability information includes model information indicating whether or not borderless printing is supported, such as whether or not it is a laser printer or an inkjet printer. The aforementioned computer further: If the capability information includes the model information indicating a laser printer, The additional processing is performed on each of the multiple divided images generated in the generation process. A support program configured in this way.

4. A support program as described in claim 1, In the aforementioned reception process, further It is possible to accept settings for whether or not to print the border. To the aforementioned computer, If the setting to print the aforementioned boundary line is enabled, An additional process is performed to add the boundary line indicating the boundary between the printable area and the margin area on the paper to each of the multiple divided images generated in the generation process. A support program configured in this way.

5. A support program as described in claim 4, To the aforementioned computer, The system executes an acquisition process to obtain capability information indicating the capabilities of the printer, and this capability information includes information indicating whether borderless printing is supported. The aforementioned computer further: If the capability information includes information indicating that borderless printing is supported, the reception process will accept the setting of whether or not to print the boundary line. If the capability information does not include information indicating that borderless printing is supported, the setting to not print the border will be restricted. A support program configured in this way.

6. A support program as described in claim 5, The aforementioned capability information includes model information indicating whether or not borderless printing is supported, such as whether or not it is a laser printer or an inkjet printer. The aforementioned computer further: If the capability information includes the model information indicating an inkjet printer, the reception process will accept a setting indicating whether or not to print the boundary line. If the capability information includes the model information indicating a laser printer, the setting to not print the boundary line is restricted. A support program configured in this way.

7. A support program as described in claim 5, To the aforementioned computer, If the capability information includes information indicating that borderless printing is supported, the reception process will display a setting screen on the user interface of the information processing device, which includes a first item for accepting a setting on whether or not to perform the specific printing, and a second item for accepting a setting on whether or not to print the border. If the capability information does not include information indicating that borderless printing is supported, the user interface of the information processing device will display the setting screen in a state where the second item cannot be accepted, and the setting will be configured to print the border. A support program configured in this way.

8. A support program as described in claim 4, To the aforementioned computer, The system executes an acquisition process to obtain capability information indicating the capabilities of the printer, and this capability information includes information indicating whether borderless printing is supported. In the aforementioned reception process, A setting screen including a first item for accepting a setting whether or not to perform the aforementioned specific printing, and a second item for accepting a setting whether or not to print the aforementioned boundary line, is displayed on the user interface of the information processing device. The aforementioned computer further, If the capability information includes information indicating that borderless printing is supported, the reception process will accept the setting whether or not to print the border via the settings screen. If the capability information does not include information indicating that borderless printing is supported, and the user accepts a setting to not print the border via the settings screen, the system will execute a warning process that outputs a warning regarding the border. A support program configured in this way.

9. A support program as described in claim 1, In the aforementioned reception process, The number of divisions for dividing a single image into M × N parts (where M and N are natural numbers greater than or equal to 1) is specified. In the above generation process, From the target image shown in the image data acquired in the image data acquisition process, a plurality of divided images are generated according to the number of divisions received in the reception process. A support program configured in this way.

10. A support program as described in claim 1, In the aforementioned print data transmission process, The process controls the sending of a single print job containing all of the print data based on the multiple divided images generated in the generation process to the printer. A support program configured in this way.