Support Program
The support program addresses the limitations of general-purpose printing programs by allowing for the setting and correction of special parameters, enhancing image quality beyond resolution settings, resulting in improved print output.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-11-27
- Publication Date
- 2026-06-08
Smart Images

Figure 2026092811000001_ABST
Abstract
Description
Technical Field
[0001] The technical field disclosed in this specification relates to a support program for controlling a printer.
Background Art
[0002] In recent years, a technology for controlling a printer by using a general-purpose printing program compliant with an operating system (OS) that forms 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 the printer with the general-purpose printing program compliant with the OS. Thereafter, when a print instruction for the printer is received, the general-purpose printing program compliant with the OS generates print data without using the printer driver provided by the printer vendor, enabling printing by the general-purpose printing program compliant with the OS.
[0003] As a document that discloses a printing technology using a general-purpose printing program compliant with the OS, 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.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] Patent Document 1 allows users to select one of three print quality settings: "High," "Normal," or "Draft," and then rasterizes the image at a resolution corresponding to the selected parameter. However, resolution parameters such as "High," "Normal," and "Draft" can be handled by general-purpose printing programs, and there is a need for new technologies to improve image quality beyond just resolution. [Means for solving the problem]
[0006] The support program designed to address the aforementioned issues is: 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, To the aforementioned computer, The system executes a reception process to accept the setting of special parameters, which are parameters related to image quality that are not supported by the general-purpose printing program. The aforementioned computer further: A print instruction output from an application program provided by the information processing device, which instructs the general-purpose print program to print an image to the printer, and the special parameter is set in the print settings, Image data acquisition process to acquire image data representing the image from the general-purpose printing program, The image data acquired in the image data acquisition process is subjected to a correction process that corrects the image quality according to the set special parameters, A process for controlling the transmission of print data based on the image data corrected in the correction process to the printer, wherein the printer that receives the print data performs printing based on the print data, To execute It is configured in this way.
[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. [Effects of the Invention]
[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. [Brief explanation of the drawing]
[0010] [Figure 1] This block diagram shows an overview of the electrical configuration of a PC. [Figure 2] This is a sequence diagram showing an example of the printer selection and advanced settings procedure. [Figure 3] This is an explanatory diagram showing an example of the basic screen of the detailed settings screen. [Figure 4] This is an explanatory diagram showing an example of an extended screen in the detailed settings screen. [Figure 5] This is a sequence diagram showing an example of the printing procedure. [Figure 6] This flowchart shows an example of the procedure for intermediate data editing. [Modes for carrying out the invention]
[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 PC1 and a printer2, as shown in Figure 1. The PC1 includes a controller 10, which includes a CPU 11 and memory 12, as shown in Figure 1. The PC1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC1 also includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Figure 1 is a general term encompassing the hardware and software used to control the PC1, and does not necessarily represent a single piece of hardware actually present in the PC1.
[0013] The CPU 11 of PC1 executes various processes according to programs read from memory 12 and based on user operations. Memory 12 stores various programs and data. Memory 12 is also used as a workspace when executing various programs. 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 input acceptance functionality, or it may include a touch panel that has the functionality of the display 13a and input acceptance functionality.
[0015] The communication IF14 includes hardware for communicating with an external device such as the printer 2. The communication standard of the communication IF14 is Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc. The PC1 may be connected to the Internet via the communication IF14. The PC1 may be provided with a plurality of communication IF14s corresponding to a plurality of communication standards.
[0016] As shown in FIG. 1, the memory 12 stores various programs and various data including an operating system (hereinafter referred to as "OS") 21 that includes 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 manage and switch a plurality of tasks to process the plurality of tasks in parallel. The OS 21 is, for example, Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), Android (registered trademark).
[0018] The OS 21 includes a general-purpose printing program 41. The general-purpose printing program 41 is an OS-standard program prepared by the vendor of the OS 21 and provided as a part of the OS 21. That is, the PC1 is equipped with the OS 21 having the general-purpose printing program 41. The general-purpose printing program 41 is not configured to use a printer driver specific to each printer.
[0019] The general-purpose printing program 41 is a program that has the functionality to perform printing on multiple types of printers, each provided by multiple vendors, based on user instructions. The general-purpose printing program 41 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 target for printing in print instructions output from various application programs, and includes a function to generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 further has a function to generate print data in a format that can be used for printing on various printers, based on the intermediate data. The print data is, for example, PWGRaster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute the print job, via the communication function of the OS 21.
[0021] The auxiliary program 42 is a program or group of programs that performs processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is an application program that supports the control of the target hardware. In this form, 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 execution commands, 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 supports 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 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 vendor of printer 2. The editing application 43 can receive a print execution command via the user interface 13, for example, to print to printer 2. The editing application 43 is not limited to a program for creating and editing data, but may also be a program that has the function of receiving instructions to display or print various types of information such as map information or web pages, according to the user's request.
[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 printer 2 in PC1 of this configuration will be described. Note that, in this configuration, processes other than user operations basically refer to the processing of the CPU 11 according to instructions written in programs such as auxiliary program 42. In this specification, for convenience, various processes performed by the controller 10 or CPU 11 according to programs such as auxiliary program 42, general-purpose printing program 41, and OS 21 may be described as if each program independently performs the various processes. The processing by CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of OS 21 is omitted, and the operation of each program is explained. Also, "acquisition" is used as a concept that does not necessarily require a request.
[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 OS21 of PC1, when the editing application 43 accepts the selection to print, it requests the general-purpose printing program 41 of OS21 to display a screen that accepts instructions regarding printing (A02). The general-purpose printing program 41 displays the print settings screen to the user IF13 in response to the request (A03). The print settings screen is a screen that accepts instructions from the user regarding various print settings that can be accepted by the general-purpose printing program 41. Note that the editing application 43 may also display the print settings screen. In addition, the print settings screen may 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, the MIB (Management Information Base), instead of requesting it from the general-purpose printing program 41. Furthermore, the capability information that the auxiliary program 42 can obtain 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 are available on 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 supports, such as double-sided printing, color printing, and stacking 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, via the basic tab 61 and the advanced 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] Of 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 supported 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 black enhancement can be set using checkbox 72, and can be set by checking checkbox 72. The black enhancement 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 colorants than Y, M, and C colorants. The parameter for setting the black enhancement 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, the 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, 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 hues 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 user can set the brightness, contrast, and RGB color balance. 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. 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 supported by the general-purpose printing program 41.
[0044] Among the parameters that can be set on the extended screen 620, the reduction of line misalignment can be set for each paper size using multiple checkboxes 78. By checking each checkbox 78, the reduction of line misalignment can be set for the paper size corresponding to the checked checkbox 78. Reducing line misalignment is an item that improves the quality of printed materials, including printed images, and is achieved, for example, by making the movement of the print head during printing unidirectional instead of bidirectional. The paper size-specific parameters for setting line misalignment reduction are an example of parameters that cannot be supported by the general-purpose printing program 41.
[0045] The process of accepting parameter settings for items such as grayscale printing improvement, black color enhancement, thin line improvement, text enhancement, red color improvement, color settings, paper smudge reduction, and line misalignment reduction via the extended screen 620 is one example of an acceptance process.
[0046] Returning to the explanation of Figure 2, when the auxiliary program 42 receives a screen switching instruction via an operation on the extension tab 62 while the basic screen 610 is displayed (A21), it switches the detailed settings screen 60 to the extension screen 620 (A22). Also, when the auxiliary program 42 receives a screen switching instruction via an operation on the basic tab 61 while the extension screen 620 is displayed (A21), it switches the detailed settings screen 60 back to the basic screen 610 (A22). As a result, parameters can be set on both the basic screen 610 and the extension screen 620 in the detailed settings screen 60.
[0047] When the auxiliary program 42 receives an instruction to determine the print settings by pressing the OK button 64 on the detailed settings screen 60 (A23), it stores the determined print settings information and the capability information obtained in A15 in the memory 12 (A24).
[0048] The auxiliary program 42 passes the determined print settings information to the general-purpose print program 41 (A25). The auxiliary program 42 may also pass the capability information obtained in A15 to the general-purpose print program 41. The general-purpose print program 41 may also display the print settings screen again based on the information passed from the auxiliary program 42. The general-purpose print program 41 may also store the capability information passed from the auxiliary program 42 in memory 12, or pass it to the editing application 43 and share it with the editing application 43.
[0049] The capability information stored in memory 12 by the auxiliary program 42, and the capability information passed to the general-purpose printing program 41 and the editing application 43, may include all of the capability information obtained from the printer 2, or it may include only a portion of the capability information obtained from the printer 2. For example, the capability information passed to the general-purpose printing program 41 and the editing application 43 may only include information regarding print settings that the general-purpose printing program 41 and the editing application 43 can accept. By passing the capability information of the printer 2 to the general-purpose printing program 41 and the editing application 43, the print settings screen will display options that match the capabilities of the printer 2.
[0050] Next, the printing procedure will be explained with reference to the sequence diagram in Figure 5. After the user decides on the image to be printed and the print settings, the user inputs a print command in the editing application 43 (B01). When the editing application 43 receives the print command from the user, it determines that it has received an execution command to the general-purpose printing program 41 to print the selected image to printer 2, since the general-purpose printing program 41 is built into the OS 21 of PC1. The editing application 43 outputs the information of the received print command to the general-purpose printing program 41 (B02).
[0051] The general-purpose printing program 41 obtains image data indicating the image to be printed and information indicating the 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 obtains intermediate data and print setting information generated by the general-purpose printing program 41 by making a request to the general-purpose printing program 41, for example (B06). B06 is an example of image data acquisition processing. The intermediate data obtained 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 obtained from the editing application 43 in B02.
[0054] The auxiliary program 42 determines whether the print settings obtained in B06 include any 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 mentioned above, namely parameters related to improving gray printing, enhancing black, improving thin lines, enhancing text, 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 (B11). The procedure for intermediate data editing is explained with reference to the flowchart in Figure 6. This intermediate data editing is executed by the CPU 11 of PC1 based on the auxiliary program 42.
[0056] In the intermediate data editing process, CPU 11 extracts one of the special parameters set in the print settings (S101). As mentioned above, in this configuration, 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, the reduction of 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 when moving in one direction, and printing is not performed when moving 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 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 determines that the parameter is not a special parameter for the main unit (S102: NO), the CPU 11 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 its 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 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 similar colors 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 instead adds an instruction to execute the process corresponding to the extracted special parameter to the instruction information (S105).
[0065] After S104 or S105, CPU 11 determines whether there are any special parameters that are not yet 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 yet processed is extracted, and the processing from S101 onwards is executed. If there are no special parameters (S106: NO), the intermediate data editing process ends.
[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 sends 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 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 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 the print data, and if it has received instruction information in B13 (opt:[Instruction Information Available]), it performs 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. Because these processes are completed, the image quality of the printed material output by printer 2 can be expected to be high.
[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 print 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 print 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. Even in this case, the auxiliary program 42 should perform image processing on the print data so that corrections corresponding to the special parameters are made.
[0075] Alternatively, the auxiliary program 42 may perform rasterization and generate print data instead of the general-purpose printing program 41. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and then pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to send them to the printer 2. The auxiliary program 42 may also 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 performed 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 illustrations. Also, the text, object shapes, backgrounds, etc., displayed in each of the illustrated screens 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. 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.
[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 as well. 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. [Explanation of symbols]
[0089] 1 PC 2 Printer 11 CPU 41 General-purpose printing program 42 Support Programs 43 Editing Apps 100 Printing Systems
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, To the aforementioned computer, The system executes a reception process to accept the setting of special parameters, which are parameters related to image quality that are not supported by the general-purpose printing program. The aforementioned computer further: A print instruction output from an application program provided by the information processing device, which instructs the general-purpose print program to print an image to the printer, and the special parameter is set in the print settings, Image data acquisition process to acquire image data representing the image from the general-purpose printing program, The image data acquired in the image data acquisition process is subjected to a correction process that corrects the image quality according to the set special parameters, A process for controlling the transmission of print data based on the image data corrected in the correction process to the printer, wherein the printer that receives the print data performs printing based on the print data, To execute A support program configured in this way.
2. A support program as described in claim 1, In the aforementioned reception process, It can accept multiple of the aforementioned special parameters, To the aforementioned computer, It is possible to execute a capability information acquisition process to acquire capability information indicating the capabilities of the printer, and the capability information includes information indicating whether each of the multiple special parameters can be supported. In the correction process described above, For at least one of the aforementioned special parameters, the printer determines whether it can handle it based on the capability information obtained in the capability information acquisition process. If it is determined that the printer cannot handle each of the special parameters, a correction corresponding to the special parameter is applied to the image data. If it is determined that the printer can handle it, a command is sent to the printer to cause it to perform the correction corresponding to the special parameter. A support program configured in this way.
3. A support program as described in claim 2, In the correction process described above, For all of the aforementioned special parameters, based on the capability information acquired in the capability information acquisition process, it is determined whether each of the special parameters can be handled by the printer. If it is determined that the special parameter cannot be handled, a correction corresponding to the special parameter is applied to the image data. If it is determined that the special parameter can be handled, a command is sent to the printer to cause the printer to perform a correction corresponding to the special parameter. A support program configured in this way.
4. A support program as described in claim 1, In the aforementioned reception process, Multiple special parameters can be accepted, and these multiple special parameters include special parameters for the main unit, which are parameters for which the corresponding correction cannot be performed by the support program but can be performed by the printer. To the aforementioned computer, If the aforementioned print command is given and the special parameters for the main unit are set in the print settings, The system performs a correction process that sends a command to the printer to cause it to perform a correction corresponding to the special parameters for the main unit. A support program configured in this way.
5. A support program as described in claim 4, The special parameters for the main unit include: The first main unit includes special parameters for the first main unit that indicate the execution of the first main unit correction, and in the first main unit correction, for the printer which prints by moving the print head back and forth, printing is performed only when the print head moves in one direction, and printing is not performed when it moves in the reverse direction. A support program configured in this way.
6. A support program as described in claim 5, In the aforementioned reception process, As a setting for the special parameters for the first main unit, the system accepts whether or not to perform correction on the first main unit for each paper size. In the aforementioned main unit correction process, If the aforementioned print command is given and the print settings include a special parameter for the first main unit indicating the execution of the first main unit correction for the specified paper size, A command is sent to the printer to cause it to perform the first main unit correction. A support program configured in this way.
7. A support program as described in claim 4, The correction corresponding to the special parameters for the main unit includes: It includes a special parameter for the second main unit that indicates the execution of the second main unit correction, and in the second main unit correction, the printer is made to reduce the printing speed. A support program configured in this way.
8. A support program as described in claim 1, In the aforementioned image data acquisition process, Intermediate image data, which is the image data showing the image before rasterization, is obtained from the general-purpose printing program. In the aforementioned print data transmission process, The print data, rasterized based on the intermediate image data, is controlled to be sent to the printer. In the correction process described above, The aforementioned intermediate image data is corrected according to the set special parameters to improve the image quality. A support program configured in this way.
9. A support program as described in claim 1, The aforementioned special parameters include: A first special parameter is included that indicates the execution of print density correction to adjust the density of black or gray in the image data shown in the image data. A support program configured in this way.
10. A support program as described in claim 1, The aforementioned special parameters include: A second special parameter is included that indicates the execution of edge enhancement correction to enhance the contours of characters contained in the image shown in the image data. A support program configured in this way.
11. A support program as described in claim 1, The aforementioned special parameters include: The image data includes a third special parameter that indicates the execution of a thin line expansion correction that makes thin lines whose thickness is less than or equal to a predetermined dot thicker than the predetermined dot. A support program configured in this way.
12. A support program as described in claim 1, The aforementioned special parameters include: A fourth special parameter is included that indicates the execution of a special color correction, which converts a specific color contained in the image data into a specified selected color from among a plurality of similar selected colors. A support program configured in this way.