Support program

The support program generates shifted print data to ensure image shifting is applied on printers lacking native support, addressing the limitations of OS standard printing programs.

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

Patent Information

Application Number
JP2024089089
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Existing OS standard general-purpose printing programs do not fully support image shifting functions, and even if a support program adds a shift command, printers that do not support that command fail to execute the corresponding image shifting processing.

Method used

A support program generates print data representing an image shifted according to specified parameters and sends it to the printer, allowing printers that cannot perform image shifting processing to print the shifted image.

Benefits of technology

Ensures that image shifting is applied during printing even on printers that lack native support for such processing, increasing the likelihood of successful image shifting when using a general-purpose printing program.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025181235000001_ABST
    Figure 2025181235000001_ABST
Patent Text Reader

Abstract

To provide a technology for increasing the possibility that an image-shifted image is printed when a printer performs printing via an OS standard general-purpose printing program.SOLUTION: An auxiliary program 42 can be executed by a CPU 11 of a PC 1, is compatible with a printer 2 connected to the PC 1, and supports a general-purpose printing program 41 included in an OS 21 of the PC 1. When receiving a print instruction output from an editing application 43 incorporated in the PC 1 and causing the general-purpose printing program 41 to cause the printer 2 to print an image, the auxiliary program 42 causes the CPU 11 of the PC 1 to generate print data indicating an image in which an image to be printed by the print instruction is shifted for each surface in accordance with a parameter related to an image shift corresponding to the print instruction. The auxiliary program then causes the generated print data to be transmitted to the printer 2.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

[0003] An example of a document disclosing technology related to a general-purpose printing program that is standard for an OS is Patent Document 1. Patent Document 1 discloses a support program that supports the general-purpose printing program, and that, when performing double-sided printing, the support program rearranges pages and rotates images, and furthermore, associates a shift command related to image shift processing with print data and sends it to the printer. [Prior art documents] [Patent documents]

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

[0005] Because the OS standard general-purpose printing program does not fully support image shifting functions, one possible configuration is for the support program to add a shift command to the print data and have the printer execute image shifting processing, as in the technology disclosed in Patent Document 1. However, even if the support program adds a command, if the printer does not support that command, the image shifting processing corresponding to that command will not be executed, so there is room for improvement. [Means for solving the problem]

[0006] A support program created for the purpose of solving the above-mentioned problems is executable by a computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program possessed by the operating system of the information processing device, and is configured so that when the computer receives a print instruction output from an application program incorporated in the information processing device, instructing the general-purpose printing program to print an image on the printer, the program executes a generation process to generate print data showing an image in which the image to be printed by the print instruction has been shifted by one side in accordance with parameters related to image shift corresponding to the print instruction, and the print data generated by the generation process is sent to the printer.

[0007] The support program disclosed in this specification generates print data representing an image obtained by shifting an image to be printed side by side according to parameters related to image shifting corresponding to a print instruction, and transmits the generated print data to a printer. This allows the printer to print the shifted image without performing image shifting processing on the printer. As a result, even printers that cannot perform image shifting processing can print the image with the image shift applied.

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

[0009] The technology disclosed in this specification realizes a technology that increases the likelihood that an image that has undergone image shifting will be printed when printing on a printer via a general-purpose printing program that is standard to the OS. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 2 is a block diagram showing an outline of the electrical configuration of a PC. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of a procedure for printer selection and detailed setting. [Figure 3] FIG. 10 is an explanatory diagram showing an example of a detailed setting screen. [Figure 4] FIG. 10 is an explanatory diagram showing an example of a double-sided setting screen. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a printing execution procedure. [Figure 6] 10 is a flowchart illustrating an example of a procedure for double-sided image generation processing. [Figure 7] FIG. 10 is an explanatory diagram showing an example of a preview screen. [Figure 8] 10A and 10B are explanatory diagrams showing an example in which the binding margin of a preview image is changed. [Figure 9] FIG. 10 is an explanatory diagram showing an example in which the page of a preview image is changed. [Figure 10] FIG. 10 is an explanatory diagram showing an example of a shift print setting screen. [Figure 11] FIG. 10 is an explanatory diagram showing an example of a shift print setting screen. DETAILED DESCRIPTION OF THE INVENTION

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0034] When the auxiliary program 42 receives an instruction for double-sided printing in the double-sided printing item on the currently displayed detailed settings screen 60 (A21), it displays the double-sided printing setting button 61 in an operable manner, and becomes able to receive instructions for detailed settings related to double-sided printing. Furthermore, when it receives an operation on the double-sided printing setting button 61, the auxiliary program 42 displays the double-sided setting screen 70, as shown in FIG. 4, for example, and becomes able to receive settings related to binding margins (A22). A22 is an example of a setting reception process.

[0035] 4 includes radio buttons 71 for selecting the binding method, an explanatory diagram 72 showing an example of the bound state, an input field 73 for inputting the length of the binding margin, and an OK button 75. The binding margin is a blank space that is provided on one of the four sides of the paper by shifting the image to be printed for each side, separate from the margins.

[0036] Note that image shifting, such as for binding margins, is a process performed on the image to be printed on one side of a sheet. For example, if aggregate printing, such as 2-in-1 printing, is specified, the image shifting is performed on the image aggregated on one side. In other words, the image to be printed on one side of a sheet may include images from multiple pages. Note that the following explanation takes as an example a case where double-sided printing, which does not include aggregate printing, is specified.

[0037] The radio button 71 is a button that accepts selection from four types of binding methods: long edge binding (left), long edge binding (right), short edge binding (top), and short edge binding (bottom). The auxiliary program 42 accepts the selection of the binding method by operating the radio button 71. Note that the names of these binding methods indicate the left, right, top, and bottom of the image of an odd-numbered page such as page 1. The placement of the binding margin for the image differs depending on the binding method, and the direction in which the image is shifted is determined by selecting the binding method. The binding method is an example of information that indicates the shift direction, which is the direction in which the image is shifted.

[0038] The explanatory diagram 72 shows the state in which sheets are bound using the binding method selected using the radio buttons 71. When the selection status using the radio buttons 71 changes, the auxiliary program 42 changes and displays the explanatory diagram 72. Note that FIG. 4 shows an example of the explanatory diagram 72 when a portrait image is printed in portrait orientation. The auxiliary program 42 may also be able to display a landscape explanatory diagram when a landscape image or landscape printing is selected.

[0039] The input field 73 is a field for accepting a numerical input of the length of the binding margin. The length of the binding margin is an example of the shift amount by which the image is shifted. The auxiliary program 42 may be able to accept a negative value as the shift amount, and may also specify the shift direction depending on whether the shift amount is positive or negative.

[0040] The auxiliary program 42 can accept settings for binding margin-related settings as print setting items for double-sided printing, and can accept the binding method and binding margin length as parameters. The auxiliary program 42 can accept settings for the shift direction and shift amount by the user on the double-sided setting screen 70, allowing for a high degree of freedom in image shift settings. When the auxiliary program 42 accepts operation of the OK button 75 on the double-sided setting screen 70, it determines the binding method and binding margin length selected at that time as the binding margin setting values, and returns to the display of the detailed setting screen 60 in Figure 3.

[0041] Furthermore, when an operation on the OK button 62 on the detailed setting screen 60 of FIG. 3 is accepted, the auxiliary program 42 determines the selected parameters as the print settings (A23). The print settings determined in A23 include information on parameters set for various items, and if double-sided printing is set, information on the binding margin is also included. The information on the binding margin includes information on the binding method and information on the binding margin length, and is an example of parameters related to image shift. The parameters related to image shift include at least information on the shift amount and information on the shift direction. The auxiliary program 42 stores the determined print setting information and the capability information acquired in A15 in the memory 12 (A24).

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

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

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

[0045] The editing application 43 outputs information indicating the received execution instruction, which is a print instruction for causing the printer 2 to print the selected image, to the general-purpose printing program 41 (B02). The general-purpose printing program 41 acquires, from the editing application 43, information indicating the print instruction, such as image data indicating the image to be printed and information indicating print settings.

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

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

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

[0049] If the print settings acquired in B06 include a double-sided print setting (opt:[double-sided print]), the auxiliary program 42 executes a double-sided image generation process (B11). Note that the auxiliary program 42 may determine whether the double-sided print setting is included based on the print settings stored in A24 of FIG. 2.

[0050] The procedure of the double-sided image generation process will be described with reference to the flowchart of Fig. 6. The double-sided image generation process is executed by the CPU 11 of the PC 1 based on the auxiliary program 42.

[0051] In the double-sided image generation process, the CPU 11 acquires information about the binding margin included in the print settings (S101). The information about the binding margin may be information included in the print settings acquired from the general-purpose print program 41 in B06 of Fig. 5, or may be information included in the print settings stored in A24 of Fig. 2.

[0052] Then, the CPU 11 causes the user IF 13 to display a preview screen (S102). S102 is an example of preview processing. The CPU 11 causes the display 13a of the user IF 13 to display a preview screen 80, as shown in Fig. 7, for example. The preview screen 80 shown in Fig. 7 includes a preview image 81, a page selection field 82, binding margin information 83, a print button 84, and a cancel button 85.

[0053] The preview image 81 is a diagram showing an image of the first page shifted based on the set binding margin information. The page selection field 82 is a field for accepting the selection of the page to be displayed as a preview image. The binding margin information 83 is information indicating the currently set binding method and binding margin length, and is a field for accepting instructions to change the binding margin settings. The print button 84 is a button for accepting an instruction to confirm the currently displayed binding margin settings and execute printing. The cancel button 85 is a button for accepting an instruction to cancel printing. The preview screen 80 is an example of a screen that can accept an instruction as to whether or not to execute printing.

[0054] The auxiliary program 42 displays an image of the shifted image when printed with the current settings as a preview image 81. This allows the user to check whether the parameters related to the image shift have been set appropriately before printing is executed on the printer 2.

[0055] The CPU 11 accepts a user operation on the displayed preview screen 80. The CPU 11 determines whether an instruction to change the display has been accepted by a user operation on the page selection field 82 or the binding margin information 83 (S103). If it is determined that an instruction to change the display has been accepted (S103: YES), the CPU 11 determines whether the user instruction is an instruction to change the binding margin or an instruction to change the page (S111).

[0056] If it is determined that the instruction is to change the binding margin (S111: Change binding margin), the CPU 11 displays a preview image 812 to which the changed binding margin has been applied, for example, as shown in FIG. 8, instead of the preview image 81 (S112). FIG. 8 shows how the preview image changes when the binding method is not changed but the binding margin length is changed. FIG. 8(A) is the preview image 81 when the binding margin length is set to L1, and FIG. 8(B) is the preview image 812 when the binding margin length is set to L2, which is longer than L1. In the preview image 812, the image to be printed is shifted more to the right than in the preview image 81.

[0057] For example, if the length of the binding margin is increased so that the image to be printed extends beyond the paper, the extending portion will not be printed. Although the preview image 812 in Fig. 8(B) does not display the unprinted portion, the CPU 11 may display the unprinted portion so that it is clear that it will not be printed.

[0058] In this way, the auxiliary program 42 also accepts changes to parameters related to the binding margin on the preview screen 80. Furthermore, when the auxiliary program 42 accepts an instruction to change parameters related to the binding margin, it can display a preview image in which the image of the page to be displayed has been shifted in accordance with the changed binding margin information. Therefore, the user can easily check parameters related to the image shift on the preview screen 80.

[0059] When it is determined that the user's instruction is an instruction to change pages (S111: change pages), CPU 11 displays, instead of preview image 81, a preview image 813 in which the page to be displayed has been changed, as shown in FIG. 9 (S113). FIG. 9 shows how the preview image changes when the page to be displayed is changed without changing the binding margin information. Both preview image 81 in FIG. 9(A) and preview image 813 in FIG. 9(B) have a binding margin of length L1. However, if the page specified to be displayed is an even-numbered page, the binding margin is positioned differently from that in preview image 81 in FIG. 9(A), with the binding margin being positioned on the right side of the image, as shown in preview image 813 in FIG. 9(B).

[0060] After S112 or S113, the CPU 11 proceeds to S103 and receives further instructions from the user.

[0061] On the other hand, if it is determined that an instruction to change the display has not been received (S103: NO), the CPU 11 determines whether or not an operation on the print button 84 has been received (S104). If it is determined that an operation on the print button 84 has been received (S104: YES), the CPU 11 determines each parameter related to the binding margin to be the information currently being displayed.

[0062] Then, based on the configuration and print settings of the printer 2, the CPU 11 rotates the images of pages that require rotation among the intermediate data acquired in B06 of FIG. 5 so that the sheets are ejected in the appropriate order (S121). S121 is an example of the rotation process. For example, if the printer 2 is configured to transport sheets along their length and flip them over in the lengthwise direction, and a portrait image is to be printed in portrait orientation, the CPU 11 rotates the images of all odd-numbered pages or all even-numbered pages by 180 degrees. As a result, when the printer 2 performs double-sided printing, the printouts are aligned top to bottom on both sides of the front and back sides. On the other hand, if the printer 2 is configured to transport sheets along their length and a landscape image is to be printed in landscape orientation, the CPU 11 does not rotate the images.

[0063] Furthermore, the CPU 11 rearranges the rotated images of each page included in the intermediate data based on the configuration of the printer 2 (S122). For example, if the double-sided printing includes four pages of images and the printer 2 is configured face-down, the CPU 11 rearranges the images to create intermediate data in the order of page 2 → page 1 → page 4 → page 3. Also, for example, if the double-sided printing includes four pages of images and the printer 2 is configured face-up, the CPU 11 rearranges the images to create intermediate data in the order of page 4 → page 3 → page 2 → page 1. By having the auxiliary program 42 rotate and rearrange the images, the processing load on the printer 2 can be reduced compared to when the printer 2 performs the processing itself.

[0064] Then, CPU 11 shifts the images of each page included in the intermediate data side by side in accordance with the determined parameters related to image shift (S123). For example, when providing a left-side long edge binding margin for a portrait-oriented image, CPU 11 shifts the images of odd-numbered pages to the right and the images of even-numbered pages to the left according to the length of the binding margin. Also, for example, when providing a top-side short edge binding margin for a portrait-oriented image, CPU 11 shifts the images of odd-numbered pages downward and the images of even-numbered pages upward.

[0065] After steps S121 to S123, the CPU 11 rasterizes the intermediate data of each page to generate raster data, and uses the generated raster data as print data (S124). This generates print data in which the image is shifted in accordance with the binding margin parameters set by the user.

[0066] The execution order of S121 to S123 can be changed. Also, the CPU 11 may perform S122 after S124. In other words, the CPU 11 may rearrange the raster data in page order.

[0067] Alternatively, CPU 11 may perform steps S121 to S124 in parallel. That is, CPU 11 may generate print data by rasterizing pages in order, starting with the page to be printed first, while rotating and shifting them as necessary. CPU 11 may generate print data by adding white dots so that the image to be printed is positioned at the shifted position, for example.

[0068] 5 as is, to generate raster data, and then process the generated raster data. Specifically, if a binding margin is set, the CPU 11 may process the raster data by adding white dots to each line of the raster data in a number corresponding to the length of the binding margin, to generate processed data, and use the generated processed data as print data.

[0069] When double-sided printing is specified, the auxiliary program 42 generates print data in which the image is shifted according to the binding margin setting included in the double-sided printing setting items, so that even a printer 2 capable of double-sided printing but unable to execute processing related to image shifting can print an image with a binding margin.

[0070] If it is determined that an operation on the print button 84 has not been accepted (S104: NO), the CPU 11 determines whether an operation on the cancel button 85 has been accepted (S105). If it is determined that an operation on the cancel button 85 has not been accepted (S105: NO), the CPU 11 proceeds to S103 and waits until any operation is accepted.

[0071] After S124, or if it is determined that an operation on the cancel button 85 has been accepted (S105: YES), the CPU 11 ends the double-sided image generation process and returns to the print execution procedure of Fig. 5. The double-sided image generation process of B11, which includes the process of shifting the image of S123, is an example of the generation process.

[0072] Returning to the description of the print execution procedure in Fig. 5, if printing is selected in the double-sided image generation process (alt:[print]), the auxiliary program 42 passes the generated print data to the general-purpose print program 41 and requests transmission to the printer 2 (B12). In response, the general-purpose print program 41 transmits the print data to the printer 2 (B14). In this case, commands and settings related to image shifting are not transmitted to the printer 2.

[0073] Note that instead of the auxiliary program 42 generating the print data, the general-purpose printing program 41 may be made to generate the print data. In this case, the auxiliary program 42 may pass intermediate data that has been rotated and shifted and rearranged in page order to the general-purpose printing program 41, and instruct the general-purpose printing program 41 to rasterize the intermediate data and send the raster data that is the rasterized data. In this case, the auxiliary program 42 may make the general-purpose printing program 41 process the image with respect to parameters other than the image shift parameters. Note that the print data sent to the printer 2 may be data in a format that can be printed by the printer 2.

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

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

[0076] The printer 2 executes printing based on the received print data (B15). The print data received by the printer 2 is print data representing an image to which a binding margin has been added in advance based on the binding information. Therefore, the printer 2 does not need to perform processing such as generating a binding margin on the print data; by simply printing, the image to which the binding margin has been added is printed.

[0077] On the other hand, if cancel is selected in the double-sided image generation process (alt:[cancel]), the auxiliary program 42 notifies the general-purpose printing program 41 of the cancellation of printing (B21). In this case, the printer 2 does not execute printing.

[0078] The auxiliary program 42 may also be able to accept settings for shifting images for printing, even in single-sided printing, similar to the binding margin setting for double-sided printing. For example, the auxiliary program 42 may be able to display a screen similar to the double-sided setting screen 70 that can accept input of binding margin settings, even if double-sided printing is not selected in the double-sided printing item. In the case of single-sided printing, the auxiliary program 42 may generate print data in which all images are shifted by the same amount in the same direction. In that case, the name "binding margin" does not have to be used.

[0079] Furthermore, the auxiliary program 42 may be capable of shifting images in two directions, not just one of left, right, and up and down. Specifically, the auxiliary program 42 may display a shift printing setting screen 91, as shown in FIG. 10, and accept settings for the shift direction and shift amount for both the up and down and left and right directions. Alternatively, the auxiliary program 42 may display a shift printing setting screen 92, as shown in FIG. 11, and accept settings for the print start position for both the X and Y directions. The auxiliary program 42 may generate print data in which all images to be printed are shifted by the same amount in the same direction for each side, based on the setting values ​​accepted on the shift printing setting screen 91 or the shift printing setting screen 92.

[0080] As shown in Figures 10 and 11, auxiliary program 42 can accept specifications for shifts and print start positions, and further, auxiliary program 42 generates print data and passes the generated print data to printer 2, so that even printer 2 that cannot accept specifications for print start positions can print an image at the specified position.

[0081] As described above in detail, the auxiliary program 42 of this embodiment generates print data indicating an image in which the image to be printed has been shifted per page in accordance with parameters related to image shift corresponding to the print instruction, and causes the generated print data to be sent to the printer 2. This allows the printer 2 to print the shifted image without performing processing related to image shift in the printer 2. As a result, even a printer 2 that cannot perform processing related to image shift can print an image to which the image shift has been applied.

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

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

[0084] Furthermore, the auxiliary program 42 does not have to display the preview screen 80 (see FIG. 7) or accept an instruction to change parameters related to the binding margin on the preview screen 80. For example, the auxiliary program 42 may only accept an instruction to set parameters related to the binding margin on the detailed settings screen 60 (see FIG. 3) or the double-sided settings screen 70 (see FIG. 4), and may not accept the instruction after accepting an instruction to execute printing.

[0085] Furthermore, parameters related to image shifting do not have to be included in the print settings. For example, the auxiliary program 42 may have parameter information in advance. When the auxiliary program 42 receives a print instruction that includes a double-sided printing setting, it may automatically set a binding margin based on predetermined parameters.

[0086] Also, for example, if the printer 2 can handle a shift command, the auxiliary program 42 may not execute processing related to image shifting. That is, the auxiliary program 42 may determine whether or not to execute double-sided image generation processing (see FIG. 6) based on the capabilities of the printer 2. If the printer 2 is capable of image shifting processing, executing that processing in the printer 2 may be faster and of higher quality. Alternatively, the auxiliary program 42 may be able to accept a user's selection as to which program should perform image shifting. Alternatively, if the printer 2 has a large memory capacity, the printer 2 may perform the processing, and if the memory capacity is small, the auxiliary program 42 may perform the processing.

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

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

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

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

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

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

[0093] 1 PC 2. Printer 11 CPU 13 User Interface

Claims

1. A support program that can be executed by a computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program included in an operating system of the information processing device, The computer, When a print instruction is output from an application program installed in the information processing device, the print instruction instructing the general-purpose print program to print an image on the printer, executes a generation process for generating print data showing an image obtained by shifting the image to be printed by the print instruction for each side in accordance with parameters related to image shift corresponding to the print instruction, and transmits the print data generated by the generation process to the printer; A support program configured to:

2. 2. The support program according to claim 1, In the generation process, generating, as the print data, raster data of an image shifted in accordance with the parameters from the image to be printed in accordance with the print instruction; A support program configured to:

3. 2. The support program according to claim 1, In the generation process, generating raster data of the image to be printed in accordance with the print instruction, and generating processed data by processing the generated raster data in accordance with the parameters as the print data; A support program configured to:

4. 2. The support program according to claim 1, The computer, When the print instruction is given, before the generation process is executed, a preview image in which the image to be printed in accordance with the print instruction is shifted by one side according to the parameters, is displayed using a user interface of the information processing device, a preview process is executed via the user interface to receive an instruction as to whether or not to execute printing, and when the instruction to execute printing is received in the preview process, the print data generated in the generation process is sent to the printer; A support program configured to:

5. 5. The support program according to claim 4, In the preview process, accepts changes to the parameters, and when the parameters are changed, displays the preview image shifted in accordance with the changed parameters on the user interface; The computer, When the instruction to execute printing is received in the preview process after the parameters have been changed, the generation process is executed, and in the generation process, the print data indicating an image obtained by shifting the image to be printed in accordance with the print instruction for each side is generated in accordance with the changed parameters. A support program configured to:

6. 2. The support program according to claim 1, The computer, In the generation process, the print data indicating an image obtained by shifting the image to be printed by the print instruction for each side is generated in accordance with the parameters included in the print settings of the print instruction. A support program configured to:

7. 7. The support program according to claim 6, The computer, a setting reception process is executed to display a setting screen for receiving print settings to be used for printing on the printer using a user interface of the information processing device, and on the setting screen, a shift direction, which is a direction in which the image is shifted, and a shift amount, which is an amount by which the image is shifted, can be set as the parameters; In the generation process, the print data indicating an image obtained by shifting the image to be printed by the print instruction for each side in accordance with the shift direction and the shift amount set on the setting screen is generated. A support program configured to:

8. 2. The support program according to claim 1, The computer, When the print instruction is received and double-sided printing is specified in the print settings of the print instruction, the generation process is executed; In the generation process, the print data indicating an image obtained by shifting the image to be printed by the print instruction for each side is generated in accordance with a binding margin setting value included in the print setting items of the print instruction as the parameter. A support program configured to:

9. 9. The support program according to claim 8, The computer, When the print instruction is received and double-sided printing is specified in the print settings of the print instruction, the rotation process and the generation process are executed; In the rotation process, the image of a page that needs to be rotated among the images to be printed in accordance with the print instruction is rotated by 180 degrees. A support program configured to:

10. 2. The support program according to claim 1, When the print instruction is received and a print start position is specified in the print settings of the print instruction, the generation process is executed; In the generation process, the print data indicating an image obtained by shifting the image to be printed by the print instruction for each side is generated according to a setting value of a print start position included in a print setting item of the print instruction as the parameter. A support program configured to:

Citation Information

Patent Citations

  • Support program, information processor and printing method

    JP2021056642A