Support Program

The support program addresses the limitations of existing support programs by executing multiple image processing operations to ensure that printed images accurately reflect intended print settings, enhancing the quality and precision of printed output.

JP2026121170APending Publication Date: 2026-07-23BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2025-01-10
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing support programs associated with general-purpose printing programs lack the capability to perform multiple image processing operations effectively, limiting the ability to accurately reflect print settings in printed images.

Method used

A support program that executes a series of image processing operations, including acquisition, editing, and print control processes, to ensure that image data is appropriately processed based on multiple setting items before printing, enhancing the likelihood that the printed image reflects intended print settings.

Benefits of technology

The support program enables multiple image processing operations, ensuring that printed images accurately reflect intended print settings, thereby improving the quality and precision of printed output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026121170000001_ABST
    Figure 2026121170000001_ABST
Patent Text Reader

Abstract

To realize a new technology for performing multiple image processing operations using a support program in an information processing device that incorporates a general-purpose printing program. [Solution] When a print command is output from the editing application 43, the general-purpose printing program 41 generates intermediate data based on the image to be printed, and the auxiliary program 42 obtains the intermediate data and the print settings corresponding to the print command from the general-purpose printing program 41. The auxiliary program 42 performs a synthesis process to synthesize composite information such as watermarks into the intermediate data according to the print settings obtained from the general-purpose printing program 41, and after the synthesis process, it performs a layout process to reduce the size of images from multiple pages and place them on a single sheet of paper, or to divide an image from one page so that it is printed on multiple sheets of paper. Furthermore, the auxiliary program 42 controls the printer 2 to perform printing based on the edited image.
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 controlling a printer.

Background Art

[0002] In recent years, a technology has been put into practical use to control a printer by using a general-purpose printing program provided by an operating system (OS) without using a printer driver provided by a printer vendor. In this technology, when the OS detects a printer, it associates with the general-purpose printing program. Thereafter, when a printing instruction for the printer is received, 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.

[0003] As a document that discloses printing technology using a general-purpose printing program, for example, there is Patent Document 1. Patent Document 1 discloses an extension application for extending functions not supported by print data generation software corresponding to the general-purpose printing program. Further, the extension application causes a computer to add information related to a first function that is a function not supported by the print data generation software, and when the first function is specified, causes the computer to specify information related to a second function that is a function supported by the print data generation software, and generates print data for realizing the first function based on the specified information related to the second function.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] A technique is known in which a support program, which is associated with a general-purpose printing program and supports printer control, performs image processing for a specified function, as disclosed in Patent Document 1. This support program can perform multiple image processing operations on image data passed from the general-purpose printing program, and there is room for further improvement. [Means for solving the problem]

[0006] The support program, which was created for the purpose of solving the above-mentioned problems, is executable by the computer of the information processing device and is a support program that supports a general-purpose printing program that has an operating system of the information processing device. The support program is configured to cause the computer to execute, when there is a print instruction output from an application program incorporated in the information processing device that instructs the general-purpose printing program to print an image to a printer, an acquisition process that acquires from the general-purpose printing program image data representing the image and print settings corresponding to the print instruction, which have a plurality of setting items including a first item and a second item; an image editing process that edits the image data by executing a first image processing, which is image processing based on the setting value of the first item, on the image data acquired in the acquisition process according to the print settings acquired in the acquisition process, and after the execution of the first image processing, executing a second image processing, which is image processing based on the setting value of the second item; and a print control process that causes the printer to execute printing based on the image data edited in the image editing process.

[0007] With the support program having the above configuration, when the information processing device performs two image processing operations on image data acquired from a general-purpose printing program—a first image processing operation based on the setting value of the first item in the print settings, and a second image processing operation based on the setting value of the second item—the first image processing operation is performed before the second image processing operation. This increases the likelihood that the image of the print data to be printed will be an image that appropriately reflects the print settings.

[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 provides a new technique for performing multiple image processing operations using a support program 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 4A] This is an explanatory diagram showing an example of a watermark settings screen. [Figure 4B] This is an explanatory diagram showing an example of the header / footer settings screen. [Figure 5] This is a sequence diagram showing an example of the printing procedure. [Figure 6] This flowchart shows an example of the data editing process. [Figure 7A] This is an explanatory diagram showing an example of an edited image after compositing and layout processing has been performed. [Figure 7B]This is an explanatory diagram showing an example of an edited image after compositing and layout processing has been performed. [Figure 7C] This is an explanatory diagram showing an example of an edited image after compositing and layout processing has been performed. [Figure 7D] This is an explanatory diagram showing an example of an edited image after compositing and layout processing has been performed. [Figure 8] This is an explanatory diagram showing an example of an edited image after offset processing has been performed. [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] As shown in Figure 1, the PC1 of this 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 the memory 12 and based on the user's 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. The buffer included in the CPU 11 is also an example of the memory 12. Note that PC1 may utilize not only built-in ROM, RAM, HDD, etc., but also a storage medium that can be read and written by the CPU 11, such as a recording medium like 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 operations by the user. Note that the user IF 13 may include a combination of a display capable of displaying information and a mouse, keyboard, etc. having an input reception function, or may include a touch panel having the functions of a display and an input reception function.

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

[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 printing program 41, an auxiliary program 42, and an editing app 43. The auxiliary program 42 is an example of a "support program". The editing app 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 multiple tasks. OS21 is, for example, Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), Android (registered trademark).

[0018] OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is, for example, a printing program prepared by the vendor of OS21 and pre-installed in OS21. The general-purpose printing program 41 can also be said to be a printing program pre-installed in OS21. The general-purpose printing program 41 is, for example, a printing program packaged with OS21 and installed on the PC1 together with OS21. The general-purpose printing program 41 is not configured to use a printer driver specific to each printer.

[0019] The general-purpose printing program 41 is a program that has a function to execute printing on printers of multiple models provided by a plurality of vendors based on a user's instruction. The general-purpose printing program 41 provides a general function that can execute printing on many printers. Different from a printer driver specific to each printer, the general-purpose printing program 41 does not provide functions specific to each printer or printer driver, especially functions that require complex processing.

[0020] The general-purpose printing program 41 is a program that, based on user instructions, receives image data designated as the target for printing 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 further 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 the print job, via the communication function of the OS 21.

[0021] The auxiliary program 42 is a program or group of programs that performs 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 can also be described as a program that supports the general-purpose printing program 41, or a program that supports processing in accordance with the general-purpose printing program 41. This form of auxiliary program 42 is provided, for example, by the vendor of the printer 2 connected to the PC 1.

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

[0023] 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 type of printer. For instance, separate auxiliary programs may be provided for inkjet printers and laser printers. In addition to being limited to each printer type, auxiliary programs may also be provided for each printer model or series of printer models.

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

[0025] 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. The editing application 43 can receive a print execution command via the user interface 13, for example, to print to printer 2. 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.

[0026] In this configuration, PC1 is connected to printer2 via communication IF14, as shown in Figure 1. Printer2 is a device having at least printing and communication functions. Specifically, printer2 may be a multifunction printer, copier, fax machine, etc. When printer2 receives print data from PC1, etc., it can perform printing based on the received print data. Printer2 may be a color printer or a monochrome printer. The printing method of printer2 may be inkjet or thermal transfer.

[0027] Next, the procedure for printing on printer 2 in PC1 of this configuration will be described. Note that, in this configuration, processes other than user operations basically refer to the processing of the CPU 11 according to instructions written in programs such as auxiliary program 42. In this specification, for convenience, various processes performed by the controller 10 or CPU 11 according to programs such as auxiliary program 42, general-purpose printing program 41, and OS 21 may be described as if each program independently performs its own processes. The processing by CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of 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.

[0028] First, the selection and setting procedure for PC1, which accepts the selection of the printer to be used for printing and the specification of print settings, 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 user 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.

[0029] 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 user instructions regarding various print settings that can be accepted by the general-purpose printing program 41. Examples of settings that can be accepted by the general-purpose printing program 41 are color / monochrome, paper size, and paper type. Note that the editing application 43 may also display the print settings screen. The print settings screen displayed in A03 is an example of a "second settings screen". A03 is an example of a "second display process".

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

[0031] When the auxiliary program 42 is started in response to the instruction C03, it obtains the capability information of printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to obtain the capability information (C11). The general-purpose printing program 41 sends a command to printer 2 requesting the capability information and obtains the capability information from printer 2 (C12). The general-purpose printing program 41 passes the capability information obtained from printer 2 to the auxiliary program 42 (C13). This allows the auxiliary program 42 to obtain the capability information of printer 2. The auxiliary program 42 may cache the obtained capability information of printer 2 in memory 12.

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

[0033] 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 may also include, for example, information on 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. The capability information may further include information on the print resolutions that printer 2 can handle, 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 cumulative printing is possible. The capability information may be used, for example, by a general-purpose printing program 41 or an editing application 43 when displaying the print settings screen or when determining errors in the print settings.

[0034] Furthermore, if the capabilities information for printer 2 is already cached in memory 12, the auxiliary program 42 may omit the processing of C11 to C13 and obtain the capabilities information by reading the capabilities information for printer 2 cached in memory 12.

[0035] The timing for acquiring capability information does not have to be when the detailed settings screen is displayed; for example, it may be when the auxiliary program 42 is started or when a print execution command is received. 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, if the auxiliary program 42 receives an editing command to edit composite information such as watermarks, headers, and footers, it may acquire the capability information necessary to generate the composite information from printer 2 or memory 12 at the time the editing command is received.

[0036] When the auxiliary program 42 obtains the capability information of the selected printer 2, it displays the detailed settings screen 50, as exemplified in Figure 3, to the user IF 13 based on the obtained capability information (C15). The detailed settings screen 50 is a screen that accepts detailed print settings.

[0037] The detailed settings screen 50 illustrated in Figure 3 includes items corresponding to various functions supported by the selected printer 2. Each item includes parameters within the range of what can be executed by the printer 2 as options. The auxiliary program 42 can accept user operations on the displayed detailed settings screen 50. Since there are many print settings that can be accepted on the detailed settings screen, the auxiliary program 42 may also be able to accept instructions to switch between selected items using, for example, multiple tabs. Furthermore, the auxiliary program 42 can accept various settings for each function. The setting screen for each function may be a separate screen from the detailed settings screen, or it may be configured as part of the detailed settings screen. The detailed settings screen 50 may also include items related to general-purpose functions that the general-purpose print program 41 can support.

[0038] The detailed settings screen 50 allows you to enter settings such as paper size and paper type. Additionally, the detailed settings screen 50 allows you to configure settings to rotate the image via the print orientation setting field 51g, and settings to shift the image position via the offset setting field 51h.

[0039] The detailed settings screen 50 includes a layout settings section 51a, for example, a section for setting how to lay out images on a single sheet of paper. In the layout settings section 51a, you can select whether to perform collated printing and poster printing. Collated printing is a printing method in which images from multiple pages are printed together on a single sheet of paper. Collated printing requires a layout process in which images from multiple pages are reduced in size and laid out on a single sheet of paper. Poster printing is a printing method in which an image from one page is divided and printed on multiple sheets of paper. Poster printing requires a layout process in which the divided images from one page are enlarged and laid out on multiple sheets of paper. In addition, in the layout settings section 51a, you can set the number of page images to be combined on a single sheet of paper when performing collated printing, and the number of divisions to which a single page image is divided when performing poster printing.

[0040] The detailed settings screen 50 also includes a double-sided printing / booklet printing settings section 51b, which accepts settings related to double-sided printing. In the double-sided printing / booklet printing settings section 51b, you can select whether or not to perform double-sided printing and booklet printing. Double-sided printing is a printing method in which page images are printed on both the front and back sides of the paper. In the double-sided printing / booklet printing settings section 51b, you can set the binding direction when performing double-sided printing. In double-sided printing, processing is required to change the orientation and printing position of the image printed on the front side and the image printed on the back side according to the binding direction. Booklet printing is a printing method in which, for example, two pages of images are placed on both sides of a sheet of paper and printed, and then multiple sheets of printed paper are stacked and folded in half to form a booklet. In booklet printing, layout processing is required to change the order of the images and lay out the images of multiple pages on a single sheet of paper according to the changed order, and processing is required to change the orientation of the images according to how the paper is folded. Booklet printing can also be called booklet printing.

[0041] The detailed settings screen 50 further includes a first checkbox 51c and a second checkbox 51e for setting whether or not to combine composite information with the image data. The first checkbox 51c can accept a setting for whether or not to print a watermark. The printing method of combining a watermark with image data and printing it is also called "watermark printing". To the right of the first checkbox 51c is the first setting button 51d. The first setting button 51d is an operator that displays the watermark settings screen for setting information related to the watermark to the user IF13. The first setting button 51d is enabled when the first checkbox 51c is checked, and disabled when the first checkbox 51c is not checked.

[0042] The second checkbox 51e can accept a setting indicating whether or not to add composite information to the header or footer of the image data. To the right of the second checkbox 51e is the second setting button 51f. The second setting button 51f is an operator that displays the header / footer setting screen for setting the composite information to be added to the header or footer to user IF13. The second setting button 51f is displayed as active when the second checkbox 51e is checked, and is disabled when the second checkbox 51e is not checked. The first setting button 51d and the second setting button 51f can be disabled by, for example, hiding or graying them out.

[0043] The detailed settings screen 50 further includes an OK button 52 for confirming detailed settings. Note that the types and arrangement of items included in the detailed settings screen 50 are not limited to this configuration.

[0044] The auxiliary program 42 can accept print settings via the detailed settings screen 50 (C21). For example, when the first setting button 51d is operated via the user IF13 with the first checkbox 51c on the detailed settings screen 50 checked, that is, in the state where a watermark is to be added, the auxiliary program 42 accepts an instruction to set a watermark (alt:[Watermark Settings]) and displays the watermark settings screen 60, as exemplified in Figure 4A, to the user IF13 (C22).

[0045] The auxiliary program 42 accepts the setting of a watermark to be superimposed on the image data via the watermark setting screen 60 (C23). For example, the auxiliary program 42 can register watermark information indicating a watermark in a memory area for the auxiliary program 42 provided in memory 12. On the watermark setting screen 60, the user can select a watermark to be used as the superimposed information from the registered watermarks. Furthermore, when the auxiliary program 42 receives an instruction to edit a watermark via the watermark setting screen 60, it can display an editing screen for watermarks to the user IF 13 and accept the editing and registration of the watermark.

[0046] Furthermore, on the watermark settings screen 60, the execution order of image processing corresponding to a predetermined item in the print settings can be selected via the first order setting field 61. In this configuration, if the first order setting field 61 is checked and a watermark is to be printed on each page, the execution order is selected in which the compositing process, which combines the watermarks, is performed before the layout process, which lays out the images. On the other hand, if the first order setting field 61 is not checked and a watermark is not to be printed on each page image, the execution order is selected in which the layout process is performed before the compositing process. When the save button 62 on the watermark settings screen 60 is operated, the auxiliary program 42 confirms the watermark information, including the information entered on the watermark settings screen 60, and stores it in a predetermined memory area.

[0047] Furthermore, when the second setting button 51f is operated via user IF13 with the second checkbox 51e on the detailed settings screen 50 checked, that is, in a state where composite information is to be added to the header or footer, the auxiliary program 42 receives an instruction to set the header or footer (alt:[Header / Footer Settings]), and displays, for example, the header / footer settings screen 70 illustrated in Figure 4B to user IF13 (C24).

[0048] The auxiliary program 42 accepts settings for composite information to be added to the header or footer of the image data via the header / footer setting screen 70 (C25). For example, the header / footer setting screen 70 can accept settings for the content of the composite information to be added to the header or footer (date, time, file name, etc.), the printing position of the composite information, the font of the composite information, etc.

[0049] Furthermore, on the header / footer setting screen 70, the execution order of image processing corresponding to a predetermined item in the print settings can be selected via the second order setting field 71. In this configuration, if the check box in the second order setting field 71 is checked and a composite image is to be printed in the header or footer of each page, the execution order is selected to perform the composite processing, which adds composite information to the header or footer, before the layout processing. On the other hand, if the check box in the second order setting field 71 is not checked and composite information is not to be printed in the header or footer of each page, the execution order is selected to perform the layout processing before the composite processing. When the save button 72 on the header / footer setting screen 70 is operated, the auxiliary program 42 confirms the header information or footer information, including the information entered in the header / footer setting screen 70, and stores it in a predetermined storage area.

[0050] The designated memory area where watermark information, header information, and footer information are stored may be a memory area for the auxiliary program 42 located in the memory 12 within the PC1, a memory area associated with the print queue, or an external storage device such as a server.

[0051] Furthermore, if the auxiliary program 42 receives settings other than composite information such as watermarks, headers, and footers via the detailed settings screen 50 (alt:[Other Settings]), it will accept those settings (C26). For example, the auxiliary program 42 can accept settings for collated printing or poster printing via the layout settings field 51a of the detailed settings screen 50. Also, for example, the auxiliary program 42 can accept settings for double-sided printing or booklet printing via the double-sided printing / booklet printing settings field 51b. In addition, the auxiliary program 42 can accept settings related to changing the image orientation via the print orientation settings field 51g of the detailed settings screen 50. Furthermore, the auxiliary program 42 can accept settings related to changing the print position of an image via the offset settings field 51h of the detailed settings screen 50.

[0052] Note that the settings for watermarks and headers or footers are examples of "Item 1" or "Item 2". The settings for double-sided printing, poster printing, and booklet printing are examples of "Item 2" or "Item 1". Watermark setting screen 60 and header / footer setting screen 70 are examples of "Item 1 settings screen".

[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. The auxiliary program 42 accepts the print setting completion command when the OK button 52 on the detailed settings screen 50 is pressed. When the print setting completion command is accepted (C51), the auxiliary program 42 stores information indicating the confirmed print settings in memory 12 (C52). In this configuration, the selection result of the execution order selected via the first order setting field 61 of the watermark setting screen 60 and the second order setting field 71 of the header / footer setting screen 70 is saved in memory 12 as one of the print settings. The print settings saved in memory 12 become valid and are displayed when, for example, the print settings screen or detailed settings screen 50 is displayed in subsequent jobs. C52 is an example of "memory processing".

[0054] The result of the execution order selection may be stored in a memory area associated with the print queue in PC1, rather than in the memory area for the auxiliary program 42. Alternatively, the result of the execution order selection may be stored in an external device such as a server. Print settings may not be saved in memory 12 and may be valid only within a single job. The result of the execution order selection may be valid within a single job as one of the print settings, or it may be saved in memory 12 as a separate file from the print settings and remain valid for subsequent jobs.

[0055] The auxiliary program 42 responds to the detailed settings instruction received in C03 by ending the display of the detailed settings screen 50 once the print settings have been finalized and passing the information of the finalized print settings to the general-purpose printing program 41 (C53). 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 (C54). This allows the editing application 43 to accept further instructions regarding printing. In this configuration, the auxiliary program 42 passes only the print settings that the general-purpose printing program 41 can handle, that is, only the print settings that do not include the execution order selection results or composite information, to the general-purpose printing program 41 in C54. Alternatively, the auxiliary program 42 may pass all print settings, including the execution order selection results and composite information, to the general-purpose printing program 41.

[0056] Next, the procedure for executing a print job will be explained with reference to the sequence diagram in Figure 5. 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). For example, the general-purpose printing program 41 edits the image based on the print settings values ​​that are compatible with the general-purpose printing program 41 and generates intermediate data.

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

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

[0059] 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 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. In other words, the auxiliary program 42 obtains from the general-purpose printing program 41 intermediate data in which image processing based on the setting values ​​of some items accepted in the print settings has already been performed by the general-purpose printing program 41. The print settings obtained from the general-purpose printing program 41 include multiple setting items. E05 is an example of the "acquisition process". The intermediate data is an example of "image data obtained by the acquisition process".

[0060] Furthermore, if, in C53, the auxiliary program 42 passes print settings, including settings related to the composition of composite images, settings related to the layout of images, and settings related to the orientation and print position of images, then in E05, the print settings passed from the general-purpose print program 41 to the auxiliary program 42 may include these settings.

[0061] The auxiliary program 42 can perform data editing processing as needed and edit the intermediate data obtained from the general-purpose printing program 41 (E06). E06 is an example of "image editing processing".

[0062] For example, when the CPU 11 of PC1 obtains intermediate data from the general-purpose printing program 41, the auxiliary program 42 executes the data editing process shown in Figure 6. First, the CPU 11 performs image processing based on the execution order selection result stored in memory 12. That is, if there is composite information that requires image processing before layout processing, the CPU 11 combines that composite information with the image of the intermediate data obtained from the general-purpose printing program 41 (S11). S11 is an example of the "first image processing" and "compositing process".

[0063] CPU 11 executes layout processing (S13) after completing the image processing of the composite information to be combined before the layout processing. S13 is an example of "second image processing" and "first image processing". For example, if the print settings include a setting to perform collated printing, CPU 11 reduces the number of images specified in collated printing so that they can be printed on one sheet of paper, and places the reduced images on one sheet of paper. Alternatively, if the print settings include a setting to perform poster printing, CPU 11 divides the image for one page into a specified number of divisions and enlarges them, and places one divided image on each of several sheets of paper. Layout processing may also include image rotation. For example, if the print settings include a setting to perform booklet printing, CPU 11 rearranges the images of the pages included in the intermediate data so that they are in page order when the printed materials are stacked and folded, rotates the page images so that they are all facing the same direction after the printed results are folded, and then places the rotated page images two pages at a time on one sheet of paper.

[0064] When the layout processing is complete, the CPU 11, based on the execution order selection result stored in memory 12, synthesizes a composite image onto the image of one sheet of paper after the layout processing if there is composite information that requires image processing after the layout processing (S15). S11 is an example of "second image processing" and "compositing processing".

[0065] This section will specifically explain the case where image processing S11 to S15 is performed according to the selection result of the execution order. Here, it is assumed that the print settings include collated printing "4in1", watermark information that prints the watermark "Confidential" in the center of the page, and header information that prints composite information "abcd" to the left of the header.

[0066] For example, if the first order setting field 61 on the watermark setting screen 60 and the second order setting field 71 on the header / footer setting screen 70 are not checked, and the setting to print the combined watermark and header information on each page is not configured, the CPU 11 will skip S11 because there is no combined information to combine before the layout processing. The CPU 11 will reduce the size of the four pages' images according to the consolidated printing setting "4in1" and arrange the reduced images into an image that fits on one sheet of paper (S13). After that, the CPU 11 will combine the watermark "Confidential" and the combined header information "abcd" one by one onto the image of each page according to the watermark information and header information (S15). As a result, the intermediate data image will be edited to an image in which the four pages' images are arranged, one watermark "Confidential" is combined, and one combined information "abcd" is combined into the page header, as shown in Figure 7A.

[0067] For example, if the first order setting field 61 of the watermark setting screen 60 and the second order setting field 71 of the header / footer setting screen 70 are checked, and the settings are configured to print the combined watermark and header information on each page, the CPU 11 combines the watermark "Confidential" and the combined header information "abcd" on the image of each page of the intermediate data according to the watermark information and header information (S11). Then, according to the consolidated printing setting "4in1", the CPU 11 reduces the images of the four pages, each with the combined information, so that they can be printed on a single sheet of paper, and arranges the reduced images into an image that fits on one sheet of paper (S13). Note that the print settings do not include a setting for combined information that is combined after the layout processing, so the process in S15 is skipped. As a result, the images of the intermediate data are edited so that the watermark "Confidential" and the combined header information "abcd" are printed on each page image that is consolidated onto a single sheet of paper, as shown in Figure 7B. As a result, for example, when the print output is cropped page by page, the composite information will be printed on each cropped print output.

[0068] The watermark information and header information are set separately, and the selection of the execution order may result in different outcomes. Even in such cases, the CPU 11 can process the image to obtain the print result intended by the user by executing the data editing process shown in Figure 6.

[0069] For example, suppose the first order setting field 61 on the watermark setting screen 60 is not checked, and the setting to print the watermark on each page is not enabled, while the second order setting field 71 on the header / footer setting screen 70 is checked, and the setting to print the header composite information on each page is enabled. In this case, the CPU 11 composites the header composite information "abcd" onto the image of each page of the intermediate data according to the header information (S11). Then, according to the consolidated printing setting "4in1", the CPU 11 reduces the four images, each with the header composite information "abcd" composited onto them, so that they can be printed on a single sheet of paper, and arranges the reduced images into a single sheet of paper (S13). After that, the CPU 11 composites one watermark "Confidential" onto the image of the paper according to the watermark information (S15). As a result, the intermediate data image is edited into an image in which the string "abcd" is superimposed onto each of the four combined page images, as shown in Figure 7C, and then a watermark "Confidential" is superimposed onto the image of the sheet of paper that combines the four page images.

[0070] For example, suppose the first order setting field 61 on the watermark setting screen 60 is checked, setting the watermark to be printed on each page, while the second order setting field 71 on the header / footer setting screen 70 is not checked, setting the header composite information to be printed on each page. In this case, the CPU 11 composites the watermark "Confidential" onto the image of each page of the intermediate data according to the watermark information (S11). Then, according to the consolidated printing setting "4in1", the CPU 11 reduces the images of the four pages, each with a watermark composited on it, so that they can be printed on a single sheet of paper, and arranges the reduced images into an image that fits on one sheet of paper (S13). After that, the CPU 11 composites the header composite information "abcd" onto the image of the paper according to the header information (S15). As a result, the intermediate data image is edited into an image where, as shown in Figure 7D, a watermark "Confidential" is superimposed onto each of the four combined page images, and then a header information "abcd" is superimposed onto the image of the paper containing the four combined page images.

[0071] If the print settings include settings for image processing that changes the orientation or print position of an image, and the image processing that changes the orientation or print position of the image is executed before the compositing and layout processing, the image of the print data to be printed may be an image that the user did not intend. Therefore, the auxiliary program 42 executes the process of changing the print position of the image and the process of changing the orientation of the image in a fixed order after the compositing and layout processing.

[0072] In this configuration, the CPU 11 performs, for example, the synthesis and layout processing shown in S11 to S15 in Figure 6, and then changes the print position of the image (S19). For example, the CPU 11 shifts the position of the image according to the setting in the offset setting field 51h of the detailed settings screen 50. After shifting the print position of the image, the CPU 11 changes the orientation of the image (S17). For example, the CPU 11 rotates the image according to the setting in the print orientation setting field 51g of the detailed settings screen 50.

[0073] For example, in double-sided printing, it may be necessary to change the orientation of the image and shift the print position. In such settings, the image is processed in the order of S17 and S19. Specifically, if double-sided printing with long edge binding is set in the double-sided printing / booklet printing setting section 51b of the detailed settings screen 50, the CPU 11, for example as shown in Figure 8, shifts the position of the image that has undergone compositing and layout processing according to the long edge binding, and then rotates the image containing multiple page images on a page-by-page basis during printing. Among the items that can be set in the detailed settings screen 50, the settings related to changing the orientation and position of the image are examples of "third items". S17 is an example of "third image processing" and "offset processing". S19 is an example of "third image processing" and "image orientation change processing". The processing order of S17 and S19 may be reversed.

[0074] By performing processes to change the image orientation and position after compositing and layout processing, the orientation and print position of the final printed image will change, increasing the likelihood that the resulting image will match the user's intentions.

[0075] As shown in Figure 5, when the CPU 11 finishes the data editing process (E06), it 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 the printer 2 (E11). The general-purpose printing program 41 then 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 the printer 2 selected in the print settings (E13). E11 to E13 is an example of "print control processing". The printer 2 executes printing based on the received print job (E14).

[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, with the auxiliary program 42 of this embodiment, when the PC1 performs two image processing operations on intermediate data acquired from the general-purpose printing program 41, namely a synthesis process based on the setting value of the item related to the synthesis of composite information in the print settings, and a layout process based on the setting value of the item related to layout, the PC1 will perform the synthesis process before the layout process if the execution order is to perform the layout process after the synthesis process, and the PC1 will perform the layout process before the synthesis process if the execution order is to perform the synthesis process after the layout process. This increases the likelihood that the image of the print data to be printed will be an image that appropriately reflects the print settings.

[0080] Furthermore, the auxiliary program 42 has a new configuration that controls the three image processing steps—composition processing, layout processing, and image orientation change processing—in a fixed order, ensuring that the image orientation change processing is performed after the composition and layout processing. This increases the likelihood that the image in the print data to be printed will be the image intended by the user.

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

[0082] For example, the screen examples shown in each figure are just examples and are not limited to those illustrated. For instance, the text, object shapes, arrangements, backgrounds, etc., displayed in the illustrated screens can be anything.

[0083] 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, and even when printing with a printer newly connected to PC1, it may be possible to use the composite information such as watermarks, headers, and footers stored in memory 12, as well as the information on whether or not to print the composite information on each page, that is, the result of the selection of which of two different image processing items to execute first.

[0084] For example, the execution order of the compositing process and the layout process may be programmed in advance in the auxiliary program 42. However, if the auxiliary program 42 allows the user to select which of the compositing process or the layout process to execute first via the watermark setting screen 60 and the header / footer setting screen 70, and then determines the execution order of the compositing process and the layout process according to that selection, the likelihood of obtaining the image intended by the user increases.

[0085] For example, the result of selecting which of two different image processing tasks to execute first may be exchanged between the general-purpose printing program 41 and the auxiliary program 42 as one of the print settings. This ensures that the execution order selection is valid within a single job. Furthermore, as in the above embodiment, by saving the execution order selection result as a file in a predetermined storage area such as memory 12, image data can be edited according to that selection result in subsequent jobs.

[0086] For example, the processing performed after the compositing and layout processing, i.e., the third image processing, can be any processing that is preferably performed after the compositing and layout processing has been completed, and may be a different processing from the processing that shifts the orientation or print position of the image. Either S17 or S19 in Figure 6 may be present alone.

[0087] For example, in the above embodiment, as shown in A03 and C15 of Figure 2, the print settings screen and the detailed settings screen are separate screens, but the print settings screen and the detailed settings screen may be a common screen.

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

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

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

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

[0092] 1 PC 2 Printer 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 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 an image, An acquisition process that acquires, from the general-purpose printing program, image data representing the image and print settings corresponding to the print instruction, the print settings having a plurality of setting items including a first item and a second item, An image editing process is performed to edit the image data by executing a first image processing, which is image processing based on the setting value of the first item, on the image data acquired in the acquisition process according to the print settings acquired in the acquisition process, and after the execution of the first image processing, executing a second image processing, which is image processing based on the setting value of the second item. A print control process for causing the printer to perform printing based on the image data edited in the image editing process, To execute A support program configured in this way.

2. A support program as described in claim 1, The first image processing is a synthesis process that synthesizes synthesis information onto an image based on the image data acquired in the acquisition process, The second image processing is a layout process that arranges the image shown in the image data acquired in the acquisition process so that multiple pages of the image are printed together on a single sheet of paper, or one page of the image is printed across multiple sheets of paper. In the aforementioned image editing process, In the acquisition process, when acquiring the print settings including the first item, which is a setting item related to the synthesis process, and the second item, which is a setting item related to the layout process, the image data acquired in the acquisition process is edited by performing the first image processing, which is the synthesis process, on the image data acquired in the acquisition process, and then performing the second image processing, which is the layout process, after the synthesis process has been executed. A support program configured in this way.

3. A support program as described in claim 1, The first image processing is a layout process that arranges the image shown in the image data acquired in the acquisition process so that multiple pages of the image are printed together on a single sheet of paper, or one page of the image is printed across multiple sheets of paper. The second image processing is a synthesis process that synthesizes synthesis information with the image data shown in the acquisition process, In the aforementioned image editing process, In the acquisition process, when acquiring the print settings including the first item, which is a setting item related to the layout process, and the second item, which is a setting item related to the synthesis process, the image data acquired in the acquisition process is edited by performing the layout process, which is the first image processing, on the image data acquired in the acquisition process, and then performing the synthesis process, which is the second image processing, after the execution of the layout process. A support program configured in this way.

4. A support program according to claim 2 or claim 3, The aforementioned synthesis process is a process of compositing the synthesis information as a watermark onto an image based on the image data acquired in the acquisition process. A support program configured in this way.

5. A support program according to claim 2 or claim 3, The synthesis process is a process of adding the synthesis information to the image header or footer based on the image data acquired in the acquisition process. A support program configured in this way.

6. A support program according to claim 2 or claim 3, The layout process involves reducing the size of each image shown in the image data acquired in the acquisition process, for a specified number of pages, and then laying out each of the reduced images as an image that fits on one sheet of paper. A support program configured in this way.

7. A support program according to claim 2 or claim 3, The aforementioned multiple setting items include the first item, the second item, and the third item. In the aforementioned image editing process, In accordance with the print settings acquired in the acquisition process, the first image processing is performed on the image data acquired in the acquisition process; after the first image processing is performed, the second image processing is performed; and after the second image processing is performed, the third image processing, which is image processing based on the setting value of the third item, is performed to edit the image data. A support program configured in this way.

8. A support program as described in claim 7, The third image processing is an image orientation change process that changes the orientation of the image shown in the image data acquired in the acquisition process, The image data is edited by performing the first image processing on the image data acquired in the acquisition process according to the print settings acquired in the acquisition process, performing the second image processing after the first image processing, and then performing the image orientation change processing after the second image processing. A support program configured in this way.

9. A support program as described in claim 7, The third image processing is an offset process that changes the printing position of the image shown in the image data acquired in the acquisition process, The image data is edited by performing the first image processing on the image data acquired in the acquisition process according to the print settings acquired in the acquisition process, performing the second image processing after the first image processing, and then performing the offset processing after the second image processing. A support program configured in this way.

10. A support program as described in claim 1, To the aforementioned computer, A first display process is executed to display a first setting screen on the user interface of the information processing device, which allows the user to select which of two different image processing items to execute first. In the aforementioned image editing process, Based on the selection result on the first setting screen displayed by the first display process and the print settings acquired in the acquisition process, the first image processing is performed on the image data acquired in the acquisition process, with the item selected as the item to be executed first from the two different items designated as item 1, and after the execution of the first image processing, the second image processing is performed with the item selected as the item to be executed second from the two different items designated as item 2, thereby editing the image data. A support program configured in this way.

11. A support program according to claim 10, To the aforementioned computer, The system executes a storage process to store the selection result of the first setting screen displayed by the first display process in a predetermined storage area. In the aforementioned image editing process, The image data is edited by reading the selection result from the first setting screen from the predetermined storage area, and, based on the read selection result and the print settings acquired in the acquisition process, executing the first image processing on the image data acquired in the acquisition process, with the item selected as the item to be executed first from the two different items designated as item 1, and after the execution of the first image processing, executing the second image processing with the item selected as the item to be executed second from the two different items designated as item 2. A support program configured in this way.

12. A support program according to claim 10, The two distinct items mentioned above are, one, related to the composition function, and the other, related to the layout function. To the aforementioned computer, As image processing based on the setting values ​​of the items related to the aforementioned synthesis function, it is possible to perform a synthesis process that synthesizes synthesis information onto the image based on the image data acquired in the acquisition process. As image processing based on the settings of the items related to the layout function, it is possible to execute a layout process that arranges the image shown in the image data acquired in the acquisition process so that multiple pages of the image are printed on one sheet of paper, or so that one page of the image is divided and printed on multiple sheets of paper. In the aforementioned image editing process, Based on the selection result on the first settings screen displayed by the first display process and the print settings acquired in the acquisition process, If the item related to the synthesis function is selected as the item to be executed first, the synthesis process will be executed on the image data acquired in the acquisition process, and after the synthesis process is executed, the layout process will be executed to edit the image data. If the item related to the layout function is selected as the item to be executed first, the layout process is executed on the image data acquired in the acquisition process, and after the layout process is executed, the synthesis process is executed to edit the image data. A support program configured in this way.

13. A support program as described in claim 1, To the aforementioned computer, The second display process is executed to display a second setting screen, which accepts setting values ​​for items that can be handled by the general-purpose printing program, on the user interface of the information processing device. The image data acquired by the acquisition process is the image data representing the image, wherein general-purpose image processing, which is image processing based on setting values ​​of items that can be handled by the general-purpose printing program, is performed on the image data by the general-purpose printing program. In the aforementioned image editing process, In accordance with the print settings acquired in the acquisition process, the image data acquired in the acquisition process, from which the general-purpose image processing has been performed, is edited by performing a first image processing, which is image processing based on the setting value of a setting item that cannot be handled by the general-purpose printing program, on the image data acquired in the acquisition process, from which the general-purpose image processing has been performed, and after the execution of the first image processing, performing a second image processing, which is image processing based on the setting value of a setting item that cannot be handled by the general-purpose printing program. A support program configured in this way.