Support program
A support program enhances image quality by setting and correcting special parameters, addressing limitations in general-purpose printing programs to achieve improved print quality.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2025-10-28
- Publication Date
- 2026-06-04
Smart Images

Figure JP2025037736_04062026_PF_FP_ABST
Abstract
Description
Support program
[0001] The technical field disclosed in this specification relates to a support program for supporting the control of a printer.
[0002] In recent years, a technology for controlling a printer by using a general-purpose printing program compliant with the operating system (OS) standard that constitutes a part of the OS without using a printer driver provided by a printer vendor has been put into practical use. In this technology, when the OS detects a printer, it associates with the general-purpose printing program compliant with the OS standard. After that, when a print instruction for the printer is received, without using the printer driver provided by the printer vendor, the general-purpose printing program compliant with the OS standard generates print data, enabling printing by the general-purpose printing program compliant with the OS standard.
[0003] As a document that discloses the printing technology using the general-purpose printing program compliant with the OS standard, for example, there is Patent Document 1. In Patent Document 1, as print quality settings, any one of "High", "Normal", and "Draft" can be selected, and a technology for generating rasterized print data at a resolution corresponding to the selected content by an auxiliary program that supports printer control is disclosed.
[0004] Japanese Patent Application Laid-Open No. 2023-79524
[0005] In Patent Document 1, any one of the three, "High", "Normal", and "Draft", is selected as the print quality setting, and rasterization is performed at a resolution corresponding to the selected parameter. However, parameters such as resolution can also be handled by the general-purpose printing program, and new technologies for improving image quality other than resolution are desired.
[0006] The support program, which was created for the purpose of solving the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, and is configured to cause the computer to execute an acceptance process to accept the setting of special parameters, which are parameters relating to image quality and which are not supported by the general-purpose printing program, and to cause the computer to further execute an image data acquisition process to acquire image data representing the image from the general-purpose printing program when there is a print instruction output from an application program of the information processing device that instructs the general-purpose printing program to print an image to the printer, and the special parameters are set in the print settings, an image data acquisition process to acquire image data representing the image from the general-purpose printing program, a correction process to correct the image quality of the image data acquired in the image data acquisition process according to the set special parameters, and a print data transmission process to control the transmission of print data based on the image data corrected in the correction process to the printer, and the printer that receives the print data then performs printing based on the print data.
[0007] The support program disclosed herein enables a computer to accept special parameters not supported by general-purpose printing programs. When a print command is received, if those special parameters are set in the print settings, the support program corrects the image quality of the image data according to those special parameters and sends print data based on the corrected image data to the printer. As a result, an image corrected by the support program is printed by that printer.
[0008] A new and useful information processing device incorporating the above-mentioned support program, a storage medium readable by a computer that stores 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 herein enables a new technology to improve image quality in an information processing device that incorporates an OS standard general-purpose printing program.
[0010] This is a block diagram showing an overview of the electrical configuration of a PC. This is a sequence diagram showing an example of the printer selection and advanced settings procedure. This is an explanatory diagram showing an example of the basic screen of the advanced settings screen. This is an explanatory diagram showing an example of the advanced settings screen's extended screen. This is a sequence diagram showing an example of the print execution procedure. This is a flowchart showing an example of the intermediate data editing process procedure.
[0011] The following describes in detail a printing system including a personal computer (hereinafter referred to as "PC") that utilizes the support program of this form, and a printer connected to that PC, with reference to the attached drawings. This specification discloses a support program that runs on a PC.
[0012] The printing system 100 in this embodiment includes a PC 1 and a printer 2, as shown in Figure 1. The PC 1 includes a controller 10 which includes a CPU 11 and memory 12, as shown in Figure 1. 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 Figure 1 is a general term for the hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware actually present in the PC 1.
[0013] The CPU 11 of PC1 executes various processes according to programs read from memory 12 and based on user operations. Memory 12 stores various programs and various data. Memory 12 is also used as a workspace when executing various programs, for example. The buffer provided by the CPU 11 is also an example of memory 12. Note that the example of memory 12 is not limited to ROM, RAM, HDD, etc. built into PC1, but may also be a storage medium that the CPU 11 can read and write to, such as a recording medium such as a CD-ROM or DVD-ROM.
[0014] The user interface 13 includes a display 13a, which is hardware that displays a screen for informing the user of information, and hardware that accepts user operations. The user interface 13 may also include a combination of a display 13a capable of displaying information and a mouse or keyboard with an input acceptance function, or it may include a touch panel that has the functions of a display 13a and an input acceptance function.
[0015] The communication interface 14 includes hardware for communicating with external devices such as printer 2. The communication standards for the communication interface 14 include Ethernet®, Wi-Fi®, USB, etc. PC1 may be able to connect to the internet via the communication interface 14. PC1 may have multiple communication interfaces 14 that support multiple communication standards.
[0016] As shown in Figure 1, the memory 12 stores various programs and data, including an operating system (hereinafter referred to as "OS") 21 containing a general-purpose printing program 41, an auxiliary program 42, and an editing application 43. The auxiliary program 42 is an example of a support program. The editing application 43 is an example of an application program.
[0017] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows®, macOS®, Linux®, iOS®, and Android®.
[0018] OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is a standard OS program provided by the OS21 vendor as part of OS21. In other words, PC1 is equipped with OS21 which includes the general-purpose printing program 41. The general-purpose printing program 41 is not configured to utilize printer drivers specific to each printer.
[0019] The general-purpose printing program 41 is a program that has the function of performing printing on multiple types of printers, each provided by multiple vendors, based on user instructions. The general-purpose printing program 41 supports general-purpose functions that enable printing on many printers. Unlike printer drivers specific to each printer, the general-purpose printing program 41 does not support functions unique to each printer or printer driver, especially functions that require complex processing.
[0020] The general-purpose printing program 41 is a program that, based on user instructions, receives image data designated as the print target in print instructions output from various application programs and includes a function to generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 further has a function to generate print data in a format that can be used for printing on various printers, based on the intermediate data. The print data is, for example, PWGraster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute the print job, via the communication function of the OS 21.
[0021] The auxiliary program 42 is a program or group of programs that 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. In this embodiment, the auxiliary program 42 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 starts the auxiliary program 42 corresponding to the printer 2 when the printer 2 is selected as the device to perform printing, when the printer 2 is selected and instructions for detailed print settings are received, when the instructions to perform printing on the printer 2 are received, etc. The auxiliary program 42 is called, for example, a print support application (abbreviated as PSA) or a hardware support application (abbreviated as HSA).
[0022] The auxiliary program 42 may be a combination of multiple programs, each accepting an execution command, or it may be a single program capable of executing different processes depending on the command. Furthermore, the number of printers that the auxiliary program corresponds to may be two or more. For example, it may be a program provided by a printer vendor for each type of printer. For instance, separate auxiliary programs may be provided for inkjet printers and laser printers. In addition to being limited to each printer type, auxiliary programs may also be provided for each printer model or series of printer models.
[0023] For example, when a new printer is connected to PC1, the OS21 of PC1 can download appropriate auxiliary programs from the printer vendor's server or storage specified by the OS21, depending on the type and model of the connected printer, and install them into PC1. The OS21 associates the identification information of the installed auxiliary programs with the printer information of the newly connected printer and stores it in memory 12.
[0024] The editing application 43 is, for example, a program for creating and editing image data or document data. The editing application 43 may be, for example, Microsoft Word or PowerPoint, or a program provided by the printer 2 vendor. The editing application 43 can receive a print execution command via the user interface 13, for example, to print to the printer 2. The editing application 43 is not limited to a program for creating and editing data, but may also be a program that has the function of receiving instructions to display or print various types of information such as map information or web pages, according to the user's request.
[0025] In this configuration, PC1 is connected to printer2 via communication IF14, as shown in Figure 1. Printer2 is a device having at least printing and communication functions. Therefore, printer2 may be a multifunction printer, copier, fax machine, etc. When printer2 receives print data from PC1, etc., it can perform printing based on the received print data. Printer2 may be a device capable of color printing, or it may be a device capable of monochrome printing only.
[0026] Next, the procedures for various processes related to printing on the printer 2 in the PC 1 of this configuration will be described. Note that, in this configuration, processes other than user operations basically refer to the processing of the CPU 11 according to instructions written in programs such as the auxiliary program 42. In this specification, for convenience, the various processes performed by the controller 10 or CPU 11 according to programs such as the auxiliary program 42, the general-purpose printing program 41, and the OS 21 may be described as if each program independently performs the various processes. The processing by the CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of the OS 21 is omitted, and the operation of each program is described. Also, "acquisition" is used as a concept that does not necessarily require a request.
[0027] First, the selection and setting procedure for PC1, which accepts the selection of the printer to be used for printing and the specification of print settings, will be explained with reference to the sequence diagram in Figure 2. The editing application 43 can create and edit documents and images based on user instructions. If the user wants to print the currently displayed documents or images, the user selects "Print" in the editing application 43 (A01). The user can select "Print" from, for example, the menu of operation items provided in the editing application 43.
[0028] Since the general-purpose printing program 41 is built into the OS 21 of PC1, when the editing application 43 receives a print selection, it requests the general-purpose printing program 41 of the OS 21 to display a screen that accepts print instructions (A02). The general-purpose printing program 41 responds to the request and displays the print settings screen to the user IF 13 (A03). The print settings screen is a screen that accepts user instructions for various print settings that can be accepted by the general-purpose printing program 41. Note that the editing application 43 may also display the print settings screen. The print settings screen may also have an area that can display information specified by an auxiliary program corresponding to the selected printer.
[0029] For example, if the print settings screen receives a selection instruction to select printer 2 as the device to perform printing, or if the print selection for A01 is received while printer 2 is selected as the device to perform printing, the editing application 43 passes information indicating that printer 2 has been selected to the general-purpose printing program 41. Then, if the instruction to perform detailed print settings is received while printer 2 is selected as the device to perform printing (A11), the general-purpose printing program 41 starts the auxiliary program 42 corresponding to printer 2 and passes an instruction to the auxiliary program 42 to start accepting detailed print settings (A12).
[0030] When the auxiliary program 42 is activated in response to the instruction in A12, it acquires the capability information of printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to acquire the capability information (A13). The general-purpose printing program 41 sends a command to printer 2 requesting the capability information and acquires the capability information from printer 2 (A14). The general-purpose printing program 41 passes the capability information acquired from printer 2 to the auxiliary program 42 (A15). As a result, the auxiliary program 42 can acquire the capability information of printer 2. A13 is an example of the capability information acquisition process.
[0031] The general-purpose printing program 41 communicates with the printer 2 via the OS 21 in A14, for example, by communication corresponding to IPP (Internet Printing Protocol). Alternatively, the auxiliary program 42 may obtain capability information directly from the printer 2 using, for example, MIB (Management Information Base), instead of requesting it from the general-purpose printing program 41. Furthermore, the capability information that the auxiliary program 42 can obtain from the printer 2 may contain more information than the capability information obtained via the OS 21.
[0032] The capability information obtained from printer 2 includes information on items that can be set as print settings and parameters that can be set for each item. The information on parameters that can be set for each item may be the values that can be set as parameters themselves, or a range of values that can be set. Specifically, the capability information may include, for example, information on parameters related to the paper feed tray and paper output tray that can be used by printer 2, and information on parameters related to paper size and paper type. The capability information may also include information on printing functions that printer 2 can support, such as double-sided printing, color printing, and storage printing, information on image processing functions such as print resolution, image scaling, and image rotation, information on extended functions such as power saving control and silent control, and status information such as remaining consumables. In addition, the capability information may include information on the main unit settings, which are setting values set on printer 2, such as default values for print settings.
[0033] Based on the acquired capability information, the auxiliary program 42 displays a detailed settings screen on the user interface 13's display 13a that accepts detailed print settings (A17). The auxiliary program 42 can display the detailed settings screen 60 on the user interface 13, for example, as shown in Figure 3. The parameters that can be set on the detailed settings screen 60 provided by the auxiliary program 42 may include information on parameters that can be handled by the general-purpose printing program 41, as well as parameters that cannot be handled by the general-purpose printing program 41. Parameters that cannot be handled by the general-purpose printing program 41 may be included in the capability information, or they may be provided by the auxiliary program 42.
[0034] Since there are many print settings that can be accepted on the detailed settings screen 60, the auxiliary program 42 can accept screen switching instructions, for example, using the basic tab 61 and the extended tab 62, and the basic tab 61 is selected when the program is started.
[0035] The basic screen 610, which constitutes the basic tab 61 of the detailed settings screen 60 shown in Figure 3, includes objects for setting parameters for each item: paper type, paper size, paper tray, color, print orientation, layout that accepts selection of collated printing such as Nin1 printing, and double-sided printing or booklet printing; a preview 63 based on the set parameters; and an OK button 64. The parameters that can be set for each item are determined based on capability information. In addition, the auxiliary program 42 may independently add parameters that are not supported by the general-purpose printing program 41.
[0036] The extended screen 620, which constitutes the extended tab 62 of the detailed settings screen 60 shown in Figure 4, includes objects for setting parameters for each item: improved gray printing, enhanced black, improved thin lines, enhanced text, improved red, color settings, reduced paper smudges, and reduced line misalignment, as well as a preview 63 based on the set parameters and an OK button 64. The parameters that can be set for each item are determined based on capability information. In addition, the auxiliary program 42 may independently add parameters that are not supported by the general-purpose printing program 41.
[0037] Among the parameters that can be set on the extended screen 620, the improvement of gray printing can be set using checkbox 71, and can be set by checking checkbox 71. The improvement of gray printing is an item that improves the print quality of gray contained in the image to be printed, and can be achieved, for example, by adjusting the distribution and amount of K color, Y color, M color, and C color pigments. The parameter for setting the improvement of gray printing is an example of a parameter that cannot be handled by the general-purpose printing program 41, and is an example of a first special parameter.
[0038] Of the parameters that can be set on the extended screen 620, the enhancement of black can be set using checkbox 72, and can be set by checking checkbox 72. The enhancement of black is an item that improves the print quality of black contained in the image to be printed, and is achieved, for example, by using more K color material than Y, M, and C color materials. The parameter for setting the enhancement of black is an example of a parameter that cannot be supported by the general-purpose printing program 41, and is an example of a first special parameter.
[0039] Among the parameters that can be set on the extended screen 620, the improvement of fine lines can be set using checkbox 73, and can be set by checking checkbox 73. The improvement of fine lines is an item that improves the print quality of fine lines contained in the image to be printed, and can be achieved by, for example, making the lines thicker so that they are easier to see, or by performing printing with a higher resolution so that fine lines can be reproduced on the paper when printed. The parameter for setting the improvement of fine lines is an example of a parameter that cannot be supported by the general-purpose printing program 41, and is an example of a third special parameter.
[0040] Among the parameters that can be set on the extended screen 620, text emphasis can be set using checkbox 74, and can be set by checking checkbox 74. Text emphasis is an item that improves the print quality of text contained in the image to be printed, and is achieved, for example, by emphasizing the edges. The parameter for setting text emphasis is an example of a parameter that cannot be supported by the general-purpose printing program 41, and is an example of a second special parameter.
[0041] Of the parameters that can be set on the extended screen 620, the improvement of red can be set using checkbox 75, and can be set by checking checkbox 75. When checkbox 75 is checked, a special red setting screen (not shown) is displayed, and on the special red setting screen, red (R:G:B=255:0:0) and several similar colors to red are listed as selection candidates, and the color to be printed as red is set by the user selecting one of their preferred colors. The auxiliary program 42 may display each of the selection candidate colors in a list on the special red setting screen, or it may print a pattern image of the selection candidates to the printer 2. The improvement of red is an item that improves the print quality of red contained in the image to be printed. The parameter for setting the improvement of red is an example of a parameter that cannot be handled by the general-purpose printing program 41, and is an example of a fourth special parameter.
[0042] Of the parameters that can be set on the extended screen 620, the color settings can be set using multiple radio buttons 76. By selecting one of the following options: "None," "Vivid Hues," "Automatic Switching," or "Advanced Settings," the selected parameter can be set. "None" is a parameter that does not perform color settings. "Vivid Hues" is a parameter that adjusts the brightness, contrast, and RGB color balance predetermined in the auxiliary program 42 to make the colors vivid. "Automatic Switching" is also a parameter that adjusts the brightness, contrast, and RGB color balance predetermined in the auxiliary program 42 to suit the image content, whether it is a document or a photograph. "Advanced Settings" is a parameter that adjusts the brightness, contrast, and RGB color balance to the settings set by the user. When "Advanced Settings" is selected, the color advanced settings screen (not shown) is displayed, and the brightness, contrast, and RGB color balance can be set by the user. Color settings are items that improve the overall quality of the image to be printed. The parameters for color settings are an example of parameters that cannot be supported by the general-purpose printing program 41.
[0043] Among the parameters that can be set on the extended screen 620, the reduction of paper smudges can be set using checkbox 77 and slider object 771. Checking checkbox 77 sets the reduction level, and operating slider object 771 further sets the reduction level. Reducing paper smudges is an item that improves the quality of printed materials, including printed images. Reducing paper smudges is achieved by reducing the printing speed and reducing the amount of colorant, at least one of the two. The reduction level set by slider object 771 is a parameter for setting the degree to which the printing speed is reduced or the amount of colorant is reduced. Parameters for reducing paper smudges, including the reduction level, are an example of parameters that cannot be handled by the general-purpose printing program 41.
[0044] Among the parameters that can be set on the extended screen 620, for reducing the misalignment of grid lines, it is possible to set for each paper size using a plurality of check boxes 78. By checking each check box 78, it is possible to set the reduction of grid line misalignment for the paper size corresponding to the checked check box 78. The reduction of grid line misalignment is an item that improves the quality of printed matter including the printed image. For example, it is realized by making the movement of the print head during printing in one direction instead of two directions. The parameters for each paper size for setting the reduction of grid line misalignment are an example of parameters that cannot be handled by the general-purpose printing program 41.
[0045] The process of accepting the setting of parameters for each item of improving gray printing, emphasizing black, improving thin lines, emphasizing characters, improving red, color setting, reducing paper dirt, and reducing grid line misalignment via the extended screen 620 is an example of the acceptance process.
[0046] Returning to the description of FIG. 2, when the auxiliary program 42 receives a screen switching instruction by an operation on the extended tab 62 during the display of the basic screen 610 (A21), it switches the detailed setting screen 60 to the extended screen 620 (A22). Also, when the auxiliary program 42 receives a screen switching instruction by an operation on the basic tab 61 during the display of the extended screen 620 (A21), it switches the detailed setting screen 60 to the basic screen 610 (A22). Thereby, on the detailed setting screen 60, it is possible to set parameters on both the basic screen 610 and the extended screen 620.
[0047] When the auxiliary program 42 receives an instruction to determine the print settings by an operation on the OK button 64 of the detailed setting screen 60 (A23), it stores the information of the determined print settings and the capability information acquired in A15 in the memory 12 (A24).
[0048] The auxiliary program 42 passes the determined print setting information to the general-purpose print program 41 (A25). The auxiliary program 42 may also pass the capability information acquired at A15 to the general-purpose print program 41. Further, the general-purpose print program 41 may display the print setting screen again based on the information passed from the auxiliary program 42. Also, the general-purpose print program 41 may 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.
[0049] Note that the capability information stored by the auxiliary program 42 in the memory 12 or passed to the general-purpose print program 41 or the editing application 43 may be information including all of the capability information acquired from the printer 2, or may be partial information of the capability information acquired from the printer 2. For example, the capability information passed to the general-purpose print program 41 or the editing application 43 may be only information regarding print settings that the general-purpose print program 41 or the editing application 43 can accept. By passing the capability information of the printer 2 to the general-purpose print program 41 and the editing application 43 as well, options compatible with the capabilities of the printer 2 are displayed selectably on the print setting screen.
[0050] Next, the print execution procedure will be described with reference to the sequence diagram of FIG. 5. After the user determines the image to be printed and the print settings, the user inputs an instruction to execute printing in the editing application 43 (B01). When the editing application 43 receives an instruction to execute printing from the user, since the general-purpose print program 41 is incorporated in the OS 21 of the PC 1, the editing application 43 determines that it has received an execution instruction to cause the general-purpose print program 41 to print the selected image on the printer 2. The editing application 43 outputs the information of the received print instruction to the general-purpose print program 41 (B02).
[0051] The general-purpose printing program 41 obtains image data indicating the image to be printed and information indicating print settings from the editing application 43 as print instruction information. Based on the information obtained from the editing application 43, the general-purpose printing program 41 generates intermediate data by converting the format of the image data of the image to be printed into an intermediate data format (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. If the image data to be printed is suitable for generating print data, the generation of intermediate data can be omitted, and the data can be used as intermediate data as is.
[0052] Furthermore, the general-purpose printing program 41 may, before generating intermediate data, start an auxiliary program 42 corresponding to the specified device, printer 2, to notify it that it has started processing the print job. When the auxiliary program 42 is started by the general-purpose printing program 41, it can pass information indicating various instructions used when generating intermediate data to the general-purpose printing program 41 as needed.
[0053] The general-purpose printing program 41 generates intermediate data and then starts the auxiliary program 42 by outputting an execution instruction to the auxiliary program 42 (B05). The auxiliary program 42, for example, requests the general-purpose printing program 41 to obtain the intermediate data and print setting information generated by the general-purpose printing program 41 (B06). B06 is an example of image data acquisition processing. The intermediate data acquired in B06 is intermediate data indicating 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.
[0054] The auxiliary program 42 determines whether the print settings acquired in B06 include parameters related to image quality that cannot be handled by the general-purpose print program 41 (hereinafter referred to as "special parameters") (B07). Special parameters include various settings included in the extended screen 620 described above, namely parameters related to improving gray printing, enhancing black, improving thin lines, enhancing characters, improving red, color settings, reducing paper smudges, and reducing line misalignment. If at least one of these items is set, the auxiliary program 42 determines that special parameters are set. The auxiliary program 42 may also determine whether special parameters are included based on the print settings stored in A24 of Figure 2. Furthermore, the reduction of line misalignment is set for each paper size, and the auxiliary program 42 determines whether there is a setting for reducing line misalignment based on the parameters set for the paper size in the print settings.
[0055] If special parameters are set in the print settings (opt: [Special parameters set]), the auxiliary program 42 executes intermediate data editing processing (B11). The procedure for intermediate data editing processing will be explained with reference to the flowchart in Figure 6. This intermediate data editing processing is executed by the CPU 11 of PC1 based on the auxiliary program 42.
[0056] In the intermediate data editing process, the CPU 11 extracts one of the special parameters set in the print settings (S101). As mentioned above, in this embodiment, there are multiple configurable special parameters, and the print settings may contain multiple special parameters. Therefore, one special parameter to be processed is extracted from the multiple special parameters set in the print settings.
[0057] After S101, the CPU 11 determines whether the extracted special parameter is a special parameter for the main unit (S102). A special parameter for the main unit is a special parameter for which the corresponding processing can be executed by the printer 2, but not by the auxiliary program 42. For example, if reducing paper smudges is achieved by reducing the printing speed, the processing corresponding to reducing paper smudges is a process executed by the printer 2 and cannot be executed by the auxiliary program 42.
[0058] Furthermore, reducing line misalignment compensates for the misalignment of the coloring agent's landing position caused by wrinkles in the paper. When printer 2 prints by moving the print head back and forth, the direction of misalignment is reversed between the outward and return movements, making the misalignment of the landing position more noticeable. Therefore, when line misalignment reduction is set, printing is performed only with movement in one direction, and printing is not performed with movement in the reverse direction, making the misalignment of the landing position less noticeable. Thus, line misalignment reduction is a process performed by printer 2 and cannot be performed by auxiliary program 42.
[0059] As mentioned above, the parameters for reducing paper smudges and the parameters for reducing line misalignment are special parameters for the main unit. Regarding the reduction of paper smudges, if this is achieved by reducing the amount of colorant without reducing the printing speed, it can be handled by lightening the image color, and therefore the auxiliary program 42 can also perform the processing, and thus it does not become a special parameter for the main unit. The parameter for reducing line misalignment is an example of a first special parameter for the main unit, and the parameter for reducing paper smudges is an example of a second special parameter for the main unit.
[0060] If the CPU 11 determines that the parameter is not a special parameter for the main unit (S102: NO), it determines whether the processing corresponding to the extracted special parameter can be executed by the printer 2 (S103). If it is not a special parameter for the main unit, the processing corresponding to that parameter can be executed by the auxiliary program 42. However, there are cases where the printer 2 can also execute the processing corresponding to that parameter. For example, regarding character emphasis, if the printer 2 can execute edge emphasis processing corresponding to character emphasis, it is determined that it can be executed by the printer 2. The printer 2 can execute image processing using a dedicated circuit, and the processing is likely to be more accurate and faster compared to when it is executed by the auxiliary program 42. Also, for example, regarding the improvement of gray printing, the printer 2 can improve the gray print quality by adjusting the distribution and amount of K, Y, M, and C colorants for the gray contained in the image to be printed. The printer 2 can include information indicating whether the processing corresponding to each parameter can be executed in the capability information, and the CPU 11 determines whether it can be executed by the printer 2 based on the capability information obtained in A15.
[0061] If it is determined that the printer 2 cannot execute the operation (S103: NO), the CPU 11 corrects the intermediate data obtained in B06 as a process corresponding to the extracted special parameters (S104).
[0062] For example, if the special parameter is for improving gray printing or emphasizing black, then print density correction is performed to adjust the density of the K color in the gray and black areas of the image shown in the intermediate data according to that special parameter. If the special parameter is for improving fine lines, then fine line dilation correction is performed to make fine lines in the image shown in the intermediate data that are thinner than or equal to a predetermined dot thicker than the predetermined dot, according to that special parameter. If the special parameter is for emphasizing text, then edge enhancement correction is performed to emphasize the outlines of text in the image shown in the intermediate data, according to that special parameter. In addition to text, fine lines may also be subject to edge enhancement correction. If the special parameter is for improving red, then special color correction is performed to convert the red areas of the image shown in the intermediate data to a similar color selected from multiple options, according to that special parameter. If the special parameter is for color settings, then the brightness, contrast, and RGB color balance of the image shown in the intermediate data are adjusted according to that special parameter.
[0063] Furthermore, if a special parameter for reducing paper smudges is used, and this is achieved by reducing the amount of colorant, then a print density correction is performed to adjust the image color shown in the intermediate data to become lighter according to that special parameter. Note that a reduction level can also be set for reducing paper smudges, and the image color is adjusted to become lighter according to the set reduction level. S104 is an example of the correction process.
[0064] On the other hand, if the CPU 11 determines that it is a special parameter for the main unit (S102: YES) or that it can be executed on printer 2 (S103: YES), the CPU 11 does not execute the process corresponding to the extracted special parameter, but adds an instruction to execute the process corresponding to the extracted special parameter to the instruction information (S105).
[0065] After S104 or S105, the CPU 11 determines whether there are any special parameters that are not being processed (S106). If there are any special parameters (S106: YES), the process proceeds to S101, where one of the special parameters set in the print settings that is not being processed is extracted, and the processing from S101 onwards is executed. If there are no special parameters (S106: NO), the intermediate data editing process is terminated.
[0066] Returning to the print execution procedure in Figure 5, after the intermediate data editing process in B11, the auxiliary program 42 passes a transmission instruction to the general-purpose print program 41 to send instruction information to the printer 2 (B12). The general-purpose print program 41 transmits the instruction information to the printer 2 based on the instructions from the auxiliary program 42 (B13). B13 and S105 are examples of correction processing. Also, B13 and S105 in cases where it is determined that the parameters are not special parameters for the main unit (S102: NO) are examples of main unit correction processing.
[0067] For example, if a special parameter for the main unit is set in the print settings of a print command, the auxiliary program 42 passes instruction information including a command to execute the process corresponding to the special parameter to the main unit to the general-purpose print program 41 in B12, instructing it to send the data to the printer 2 in association with the print data. The command may include information indicating the setting value required for the process corresponding to the special parameter to the main unit, for example, the setting of the reduction level when reducing paper smudges is achieved by reducing the printing speed. Also, if a special parameter other than the special parameter to the main unit is set in the print settings of a print command, and the corresponding process can be executed by the printer 2, the auxiliary program 42 passes instruction information including a command to execute the process corresponding to that special parameter to the general-purpose print program 41 in B12, instructing it to send the data to the printer 2 in association with the print data.
[0068] If no special parameters are set in the print settings, the auxiliary program 42 will not perform intermediate data editing processing or issue instructions to send instruction information. However, if there is information to be passed to the printer 2 other than the command to execute processing corresponding to the special parameters, the auxiliary program 42 may pass that information to the general-purpose print program 41 and instruct it to send it to the printer 2, even if no special parameters are set in the print settings. Furthermore, whether or not special parameters are set, intermediate data editing may be performed according to settings for purposes other than the special parameters.
[0069] The auxiliary program 42 passes the intermediate data edited in the intermediate data editing process of B11, or the intermediate data received from the general-purpose printing program 41 in B06, to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to generate print data (B21). As a result, the general-purpose printing program 41 performs necessary processing such as rasterizing the intermediate data to generate print data (B22), and passes the generated print data to the auxiliary program 42 (B23).
[0070] The auxiliary program 42 processes the print data obtained from the general-purpose printing program 41 as needed and passes it to the general-purpose printing program 41, instructing it to send the print data to the printer 2 (B24). As a result, the general-purpose printing program 41 sends the print data to the printer 2 (B25). B24 is a process that controls the sending of print data to the printer 2 and is an example of a print data transmission process.
[0071] Printer 2 receives print data, and if it has received instruction information in B13 (opt: [Instruction Information Available]) in association with the received print data, it executes the processing corresponding to the commands included in the received instruction information (B31) and then performs printing based on the print data (B32).
[0072] When intermediate data editing processing is performed, the print data received by printer 2 is print data based on the corrected intermediate data from S104, and has been processed by auxiliary program 42 to improve image quality according to special parameters. With these processes completed, the image of the printed material output by printer 2 can be expected to be of high quality.
[0073] Alternatively, the auxiliary program 42 may, instead of sending the instruction information separately from the print data, attach the instruction information to the print data and pass it to the general-purpose printing program 41. The auxiliary program 42 may also incorporate the instruction information into, for example, the header information of the print data. In this case, the auxiliary program 42 does not perform the instruction in B12, but instead incorporates the instruction information into the print data received in B23 and passes it to the general-purpose printing program 41 in B24, thereby instructing the printer 2 to send both the instruction information and the print data. The auxiliary program 42 may also send a portion of the instruction information separately from the print data and attach the rest of the instruction information to the print data.
[0074] Furthermore, if special parameters are set in the print settings, the auxiliary program 42 may, instead of correcting the intermediate data in S104, correct the print data passed from the general-purpose print program 41 in B23. In this case as well, the auxiliary program 42 should perform image processing on the print data so that corrections corresponding to the special parameters are made.
[0075] Alternatively, instead of the general-purpose printing program 41, the auxiliary program 42 may perform rasterization to generate the print data. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate the print data, and then pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to send them to the printer 2. The auxiliary program 42 may also process the print data generated by the general-purpose printing program 41 or the auxiliary program 42 as needed. The print data sent to the printer 2 only needs to be in a format that can be printed by the printer 2.
[0076] If print data is generated using auxiliary program 42, there is greater flexibility compared to generating print data using general-purpose print program 41, and there is a higher probability that print data suitable for printing on printer 2 will be generated. On the other hand, if print data is generated using general-purpose print program 41, the processing of auxiliary program 42 is reduced, and the program size of auxiliary program 42 can be reduced.
[0077] Alternatively, instead of having the general-purpose printing program 41 send the print data to the printer 2, the auxiliary program 42 may send a print command instructing the printer to execute the print job, along with the print data, to the printer 2. For example, if the print settings include settings related to image processing that can be executed on the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.
[0078] As explained in detail above, the auxiliary program 42 allows the CPU 11 to accept special parameters that the general-purpose printing program 41 does not support by displaying the extended screen 620. When a print command is received, if the special parameter is set in the print settings, the auxiliary program 42 corrects the image quality of the image based on the intermediate data passed from the general-purpose printing program 41 according to that special parameter, and sends the print data based on the corrected image data to the printer 2. As a result, the printer 2 prints an image that has been corrected by the auxiliary program 42, and as a result, it is expected that the image quality of the printed material will be improved.
[0079] The embodiments disclosed herein are merely illustrative and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence.
[0080] For example, the examples of screens displayed in User IF13 are all just examples and are not limited to those shown in the illustration. Furthermore, the text, object shapes, backgrounds, etc., displayed in each illustrated screen can be anything.
[0081] Furthermore, in this embodiment, the printer 2 determines whether all special parameters set in the print settings can be handled, and if so, updates the instruction information so that the printer 2 can execute the processing. However, for some special parameters, the auxiliary program 42 may be configured to perform corrections regardless of whether the printer 2 can handle them or not. For example, if the auxiliary program 42 is configured to perform corrections for character emphasis, if the specific parameter extracted in S101 is character emphasis, the determination in S103 may be skipped and S104 may be executed. Alternatively, the auxiliary program 42 may be configured to perform corrections for all special parameters regardless of whether the printer 2 can handle them or not.
[0082] Furthermore, in this embodiment, the setting for reducing line misalignment is accepted for each paper size, but it may also be accepted regardless of the paper size. However, since the amount of line misalignment differs depending on the paper size, and correction may not be necessary depending on the paper size, it is preferable to be able to set whether or not to reduce line misalignment according to the paper size.
[0083] Furthermore, in this embodiment, the system accepts the setting of a reduction level for reducing paper smudges, but it is also possible to not accept the setting of a reduction level and have a uniformly determined reduction level. However, since the amount of paper smudges is not uniform, it is preferable to allow users to set the reduction level.
[0084] Furthermore, if, after the print settings screen is displayed by the general-purpose print program 41, the user changes the default printer from another printer to printer 2 via the OS 21, the general-purpose print program 41 may also start the auxiliary program 42. In addition, the auxiliary program 42 may be started not only when printing is selected, but also, for example, when printer 2 is selected as a device setting. In these cases as well, the auxiliary program 42 may be able to perform a procedure to update capability information.
[0085] Furthermore, although the embodiment describes only the printing operation as the operation of the auxiliary program 42 in detail, the auxiliary program 42 may have other roles. Also, the program that executes the processing of this embodiment is not limited to the auxiliary program 42, but can be any program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41. For example, the Print Workflow application whose specifications have been published by Microsoft may also be used.
[0086] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of this embodiment. For example, it may be executed by direct execution instruction from the OS 21, or it may be a resident auxiliary program 42. In the case of a resident auxiliary program, the auxiliary program 42 should perform the operations described above upon receiving an execution instruction.
[0087] Furthermore, in any flowchart disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.
[0088] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process.
[0089] 1 PC 2 Printer 11 CPU 41 General-purpose printing program 42 Auxiliary program 43 Editing application 100 Printing system
Claims
1. A support program that is executable by the computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, wherein the support program is configured to: cause the computer to execute an acceptance process to accept the setting of special parameters, which are parameters relating to image quality and which are not supported by the general-purpose printing program; and further cause the computer to execute an image data acquisition process to acquire image data representing the image from the general-purpose printing program when there is a print instruction output from an application program of the information processing device that instructs the general-purpose printing program to print an image to the printer, and the special parameters are set in the print settings; a correction process to perform image quality correction on the image data acquired in the image data acquisition process according to the set special parameters; and a print data transmission process to control the transmission of print data based on the image data corrected in the correction process to the printer, and the printer that receives the print data performs printing based on the print data.
2. A support program as described in claim 1, wherein the reception process is capable of receiving a plurality of special parameters, the computer is capable of executing a capability information acquisition process to acquire capability information indicating the capabilities of the printer, the capability information includes information indicating whether each of the plurality of special parameters is compatible, and the correction process is configured such that, for at least one of the plurality of special parameters, the printer is capable of handling it based on the capability information acquired in the capability information acquisition process, and for each of the special parameters that is the subject of the judgment, if it is determined that it is not compatible, a correction corresponding to the special parameter that is the subject of the judgment is performed on the image data, and if it is determined that it is compatible, a command is sent to the printer to cause the printer to execute a correction corresponding to the special parameter that is the subject of the judgment.
3. A support program as described in claim 2, wherein in the correction process, for all of the plurality of special parameters, a determination is made as to whether the printer can handle each of the special parameters based on the capability information obtained in the capability information acquisition process, and for each of the special parameters that are subject to determination, if it is determined that the printer cannot handle it, a correction corresponding to the special parameter that is subject to determination is performed on the image data, and if it is determined that the printer can handle it, a command is sent to the printer to cause the printer to perform a correction corresponding to the special parameter that is subject to determination.
4. A support program as described in claim 1, wherein the reception process is capable of receiving a plurality of special parameters, the plurality of special parameters include a main unit special parameter which is a parameter for which the corresponding correction cannot be performed by the support program but can be performed by the printer, and the support program is configured to cause the computer to execute a main unit correction process which sends a command to the printer to cause the printer to perform a correction corresponding to the main unit special parameter when there is a print instruction and the main unit special parameter is set in the print settings.
5. A support program according to claim 4, wherein the special parameters for the main unit include a first special parameter for the main unit indicating the execution of a first main unit correction, and the first main unit correction is configured such that, for the printer which performs printing by moving the print head back and forth, printing is performed only when the print head moves in one direction of the back and forth movement, and printing is not performed when it moves in the reverse direction.
6. A support program according to claim 5, wherein the reception process accepts whether or not to perform the first main unit correction for each paper size as a setting of the first main unit special parameter, and the main unit correction process is configured such that, if there is a print instruction and the print settings include the first main unit special parameter indicating the execution of the first main unit correction for the specified paper size, a command is sent to the printer to cause the printer to perform the first main unit correction.
7. A support program according to claim 4, wherein the correction corresponding to the special parameter for the main unit includes a second special parameter for the main unit indicating the execution of a second main unit correction, and the second main unit correction causes the printer to reduce the printing speed.
8. A support program as described in claim 1, wherein in the image data acquisition process, intermediate image data, which is image data showing the image before rasterization, is acquired from the general-purpose printing program; in the print data transmission process, the program is controlled to transmit the print data rasterized based on the intermediate image data to the printer; and in the correction process, the program performs the correction relating to the image quality on the intermediate image data according to the set special parameters.
9. A support program according to claim 1, wherein the special parameter includes a first special parameter indicating the execution of print density correction to adjust the density of black or gray in the image shown in the image data.
10. A support program according to claim 1, wherein the special parameter includes a second special parameter indicating the execution of edge enhancement correction to enhance the contours of characters contained in the image shown in the image data.
11. A support program according to claim 1, wherein the special parameter includes a third special parameter that indicates the execution of thin line dilation correction, which makes the thickness of thin lines included in the image shown in the image data, which is less than or equal to a predetermined dot, thicker than the predetermined dot.
12. A support program according to claim 1, wherein the special parameter includes a fourth special parameter indicating the execution of a special color correction that converts a specific color contained in the image data into a specified selected color from among a plurality of selected colors similar to the specific color.