Support program

A support program generates shifted print data for printers that lack image shifting capabilities, enabling effective image shifting without requiring the printer to perform the processing.

WO2025248920A1PCT designated stage Publication Date: 2025-12-04BROTHER KOGYO KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/010494
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-31
Filing Date
2025-03-18
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

OS-standard general-purpose printing programs do not fully support image shifting functions, and if a printer does not support these commands, the image shifting processing is not executed, limiting the ability to print images with shifts.

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 to print images with applied shifts.

Benefits of technology

Ensures that images with applied shifts are printed even on printers that do not support image shifting processing, expanding the capabilities of OS-standard printing programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025010494_04122025_PF_FP_ABST
    Figure JP2025010494_04122025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a technology for increasing the possibility that an image-shifted image is printed when a printer is caused to perform printing via a general-purpose printing program of an OS standard. 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 the OS 21 of the PC 1. When there is a print instruction that is outputted from an editing application 43 incorporated in the PC 1 and that causes 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.
Need to check novelty before this filing date? Find Prior Art

Description

Support Program

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

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

[0003] One example of a document disclosing technology related to an OS-standard general-purpose printing program 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.

[0004] Japanese Patent Application Laid-Open No. 2021-56642

[0005] Because the OS-standard general-purpose printing program does not fully support image shifting functions, a configuration is conceivable in which a support program assigns a shift command to print data and causes the printer to execute image shifting processing, as in the technology disclosed in Patent Document 1. However, even if the support program assigns 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.

[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 in accordance with 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.

[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 is performed on a printer via an OS-standard general-purpose printing program.

[0010] FIG. 1 is a block diagram showing an outline of the electrical configuration of a PC. FIG. 2 is a sequence diagram showing an example of a procedure for printer selection and detailed settings. FIG. 3 is an explanatory diagram showing an example of a detailed settings screen. FIG. 4 is an explanatory diagram showing an example of a double-sided settings screen. FIG. 5 is a sequence diagram showing an example of a print execution procedure. FIG. 6 is a flowchart showing an example of a procedure for double-sided image generation processing. FIG. 7 is an explanatory diagram showing an example of a preview screen. FIG. 8 is an explanatory diagram showing an example of an example where the binding margin of a preview image has been changed. FIG. 9 is an explanatory diagram showing an example of an example where the page of a preview image has been changed. FIG. 10 is an explanatory diagram showing an example of a shift print settings screen. FIG. 11 is an explanatory diagram showing an example of a shift print settings screen.

[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. Various programs and various data are stored in the memory 12. The memory 12 is also used, for example, as a work area when executing various programs. The 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 such as a CD-ROM or DVD-ROM.

[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 external devices such as the printer 2. The communication IF 14 may use 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 provided with multiple communication IFs 14 that support multiple communication standards.

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

[0017] The OS 21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them, and is, for example, Windows (registered trademark), MacOS (registered trademark), Linux (registered trademark), iOS (registered trademark), or Android (registered trademark).

[0018] The OS 21 includes a generic printing program 41. The generic 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 generic printing program 41. The generic printing program 41 is not configured to use printer drivers specific to each printer.

[0019] The generic printing program 41 is a program that has 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 allow 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 that receives image data designated as the print target in a print instruction output from various application programs based on a user instruction and generates 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 that generates 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 that transmits the generated print data to the printer designated as the device to execute printing via the communication function of 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 control of the target hardware. The auxiliary program 42 in 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. Auxiliary programs 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 a storage device designated by the OS 21, and install the program in the PC 1. The OS 21 stores the identification information of the installed auxiliary program in the memory 12 in association with the printer information of the newly connected printer.

[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, for example, a print execution instruction to cause the printer 2 to execute printing via the user IF 13. 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 the PC 1 will be described with reference to the sequence diagram in Figure 2. The 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 the editing application 43 (A01). The user can select print from, for example, a menu of operation items provided in the editing application 43.

[0028] Because the general-purpose printing program 41 is incorporated into the OS 21 of the PC 1, when the editing application 43 accepts a print selection, it requests the general-purpose printing program 41 of the OS 21 to display a screen for accepting print-related instructions (A02). In response to the request, the general-purpose printing program 41 displays a print setting screen on the user IF 13 (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 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 (Internet Printing Protocol). Note that the auxiliary program 42 may obtain capability information directly from the printer 2, for example, by using MIB (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 for 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 the detailed settings screen can accept many print setting items, the auxiliary program 42 may be able to accept an instruction to switch between items to be selected using multiple tabs, for example.

[0034] When the auxiliary program 42 receives a double-sided printing instruction from 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 state, and can receive instructions for detailed settings related to double-sided printing. Furthermore, when the auxiliary program 42 receives an operation on the double-sided printing setting button 61, it displays the double-sided setting screen 70, as shown in FIG. 4, and can receive settings related to binding margins (A22). A22 is an example of a setting reception process.

[0035] 4 includes radio buttons 71 for selecting a 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 margin.

[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 description will be given taking 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 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 relative to 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. Note that the auxiliary program 42 may be able to accept a negative value as the shift amount, and the positive or negative value of the shift amount may also be used to specify the shift direction.

[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 the OK button 62 on the detailed setting screen 60 in FIG. 3 is pressed, 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 binding margin information includes information on the binding method and the length of the binding margin, and is an example of a parameter related to image shift. The parameter related to image shift includes at least information on the shift amount and 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 it 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, 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 determines the image to be printed and the print settings for the printer 2, the user inputs a print execution instruction into the editing application 43 (B01). When the editing application 43 receives the user's print execution instruction, it determines that it has received an execution instruction from the general-purpose printing program 41 to cause the printer 2 to print the selected image, since the general-purpose printing program 41 is incorporated into the OS 21 of the 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 the 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 obtained 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 intermediate data may be used as is.

[0047] Before generating the intermediate data, the general-purpose printing program 41 may start the auxiliary program 42 corresponding to the designated device, the printer 2, and notify the printer 2 that print job processing has begun. 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 print setting information, for example, by making a request to the general-purpose printing program 41 (B06). The intermediate data acquired in B06 is intermediate data representing the 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 information included in the print settings stored in A24 of Fig. 2.

[0052] The CPU 11 then displays a preview screen on the user IF 13 (S102). S102 is an example of a preview process. The CPU 11 displays a preview screen 80 on the display 13a of the user IF 13, 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 an instruction 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 printing is performed with the current settings as a preview image 81. This allows the user to check whether the parameters related to image shifting have been set appropriately before printing is performed 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 determines 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 length is changed without changing the binding method. FIG. 8A shows the preview image 81 when the binding margin length is set to L1, and FIG. 8B shows 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 significantly more to the right than in the preview image 81.

[0057] Note that if the image to be printed extends beyond the paper due to, for example, an increase in the length of the binding margin, 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 in a manner that makes it 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 is 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] If the CPU 11 determines that the user's instruction is an instruction to change pages (S111: Change Page), it displays a preview image 813 in which the page to be displayed has been changed, for example, as shown in FIG. 9 , instead of the preview image 81 (S113). FIG. 9 shows how the preview image changes when the page to be displayed is changed without changing the binding margin information. Both the preview image 81 in FIG. 9A and the preview image 813 in FIG. 9B 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 the preview image 81 in FIG. 9A , with the binding margin positioned on the right side of the image, as shown in the preview image 813 in FIG. 9B.

[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 sets each parameter related to the binding margin to 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 portrait images are 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 double-sided printing is performed by the printer 2, the printouts are aligned top to bottom on both sides. On the other hand, if the printer 2 is configured to transport sheets along their length and print landscape images 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 double-sided printing including four pages of images is being performed 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 double-sided printing including four pages of images is being performed 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, the CPU 11 shifts the images of each page included in the intermediate data side by side in accordance with the determined image shift parameters (S123). For example, if a left-side long-edge binding margin is to be provided for a portrait-oriented image, the 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, if a top-side short-edge binding margin is to be provided for a portrait-oriented image, the 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 for each page to generate raster data, and uses the generated raster data as print data (S124). This generates print data in which the image has been shifted in accordance with the binding margin parameters set by the user.

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

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

[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 a number of white dots corresponding to the length of the binding margin to each line of the raster data to generate processed data, and use the generated processed data as print data.

[0069] When double-sided printing is designated, an auxiliary program 42 generates print data in which an image is shifted according to a binding margin setting included in the setting items for double-sided printing, so that even a printer 2 capable of double-sided printing but unable to execute processing related to image shifting can print an image provided 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 when 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 a 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 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 cause the general-purpose printing program 41 to 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 image shifting 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 in 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 the specification of a shift and a print start position, and further, auxiliary program 42 generates print data and passes the generated print data to printer 2, so that even a printer 2 that cannot accept the specification of a print start position 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 for each side in accordance with parameters related to image shifting 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 shifting in the printer 2. As a result, even a printer 2 that cannot perform processing related to image shifting can print an image to which the image shift has been applied.

[0082] It should be noted that 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 the PC 1 is not limited to the printer 2, 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 2 connected to the PC 1 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 text, 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 instructions to change parameters related to the binding margin on the preview screen 80. For example, the auxiliary program 42 may only accept instructions 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 instructions after an instruction to execute printing has been accepted.

[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 a print instruction including a double-sided printing setting is received, the auxiliary program 42 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. In other words, 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 the 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 to use for image shifting. Alternatively, if the printer 2 has a large memory capacity, the printer 2 may execute the processing, and if the memory capacity is small, the auxiliary program 42 may execute the processing.

[0087] 2, the auxiliary program 42 stores the acquired printer 2 capability information, but this does not have to be done. 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 the capability information has not 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 a device setting, 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. Furthermore, the program that executes the process 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 published 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 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 a single CPU, multiple CPUs, hardware such as an 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.

[0093] 1 PC 2 Printer 11 CPU 13 User IF

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 that the operating system of the information processing device has, wherein the support program is configured to: when a print instruction is output from an application program built into the information processing device and the print instruction instructs the general-purpose printing program to print an image on the printer, execute a generation process to generate print data showing an image in which the image to be printed in accordance with the print instruction has been shifted by one side in accordance with parameters related to image shift corresponding to the print instruction; and send the print data generated by the generation process to the printer.

2. A support program as claimed in claim 1, wherein the generation process is configured to generate, 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.

3. A support program as claimed in claim 1, wherein the generation process generates raster data of the image to be printed in accordance with the print instruction, and generates processed data as the print data by processing the generated raster data in accordance with the parameters.

4. A support program as described in claim 1, wherein the computer, when instructed to print, before executing the generation process, uses a user interface of the information processing device to display a preview image in which the image to be printed by the print instruction is shifted by one side in accordance with the parameters, and executes a preview process via the user interface to accept an instruction as to whether or not to execute printing, and when the instruction to execute printing is accepted in the preview process, the print data generated in the generation process is sent to the printer.

5. A support program as claimed in claim 4, wherein the preview process also 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; and when the instruction to execute printing is accepted in the preview process after the parameters have been changed, the computer executes the generation process, and in the generation process, generates the print data showing an image in which the image to be printed in accordance with the print instruction has been shifted by one side in accordance with the changed parameters.

6. A support program as claimed in claim 1, wherein the computer is configured to generate the print data indicative of an image obtained by shifting the image to be printed by the print instruction by one side in accordance with the parameters included in the print settings of the print instruction in the generation process.

7. A support program as recited in claim 6, wherein the computer executes a setting reception process that uses a user interface of the information processing device to display a setting screen that receives print settings to be used for printing on the printer, and the setting screen allows the user to set parameters, such as a shift direction that is the direction in which an image is to be shifted and a shift amount that is the amount by which the image is to be shifted, and the generation process generates the print data that shows an image in which the image to be printed in response to the print instruction has been shifted for each side in accordance with the shift direction and shift amount set on the setting screen.

8. A support program as described in claim 1, configured to cause the computer to execute the generation process when the print instruction is received and double-sided printing is specified in the print settings of the print instruction, and to generate the print data indicative of an image in which the image to be printed in accordance with the print instruction is shifted by one side in accordance with a binding margin setting value included in the print settings item of the print instruction as the parameter.

9. A support program as claimed in claim 8, configured to cause the computer to execute a rotation process and the generation process when the print instruction is received and double-sided printing is specified in the print settings of the print instruction, and in the rotation process, rotate the image of a page that requires rotation, by 180 degrees, among the images to be printed in accordance with the print instruction.

10. A support program as claimed in claim 1, configured to: execute the generation process when the print instruction is received and a print start position is specified in the print settings of the print instruction; and in the generation process, generate the print data showing an image obtained by shifting the image to be printed by the print instruction by one side in accordance with the setting value of the print start position included in the print settings item of the print instruction as the parameter.

Citation Information

Patent Citations

  • Data processor, print control method, computer-readable storage medium storing program, and program

    JP2005216032A

  • Electronic business form system

    JP2010213206A

  • Support program, information processor and printing method

    JP2021056642A

  • Support program

    JP2022100567A