Application program, control method, and information processing device.

The application program enhances standard printer drivers by allowing adjustable line thickness settings, addressing the limitations of standard drivers in customizing printed image elements.

JP2026088821APending Publication Date: 2026-05-29CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-19
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Standard printer drivers lack the ability to adjust the thickness of linear elements in printed images, such as characters and lines, limiting the customization options for printing devices from different vendors.

Method used

An application program that supports standard drivers, enabling a display control step for adjusting line thickness settings and an instruction step to instruct the image forming apparatus to print based on these settings, allowing for customizable line thickness adjustments.

Benefits of technology

Enables image forming apparatuses to print with adjustable line thickness, enhancing customization and functionality beyond standard driver limitations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026088821000001_ABST
    Figure 2026088821000001_ABST
Patent Text Reader

Abstract

The objective is to provide a mechanism that allows an image forming apparatus to be instructed to print while adjusting the line thickness of the image to be printed. [Solution] The extended application 204 causes the computer to perform a display control step that displays a detailed setting screen (setting acceptance screen) 300C that accepts settings for adjusting the thickness of lines that make up the image to be printed, and an instruction step that instructs the printing device 102 to perform printing based on the thickness adjustment settings accepted on the detailed setting screen 300C.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application program, a control method, and an information processing apparatus.

Background Art

[0002] A host computer (information processing apparatus) capable of processing information with the printing apparatus is communicably connected to the printing apparatus that performs printing. As control software for controlling the printing apparatus, for example, a printer driver installed from the printing apparatus to the host computer is used. With this printer driver, a print instruction can be given from the host computer to the printing apparatus. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed on the host computer. The printer driver has a configuration conforming to the specifications defined by the OS and can be called from the OS to operate. Also, such a printer driver is different for each vendor that supplies the printing apparatus, that is, a printer driver specific to a model suitable for each printing apparatus.

[0003] In recent years, Windows® has provided a standard class driver (hereinafter sometimes referred to as "standard driver") that can be used in common even for printing devices supplied by multiple different vendors. Such standard drivers are pre-installed in the OS. By connecting any printing device to a host computer with an OS that has the standard driver installed, the standard driver can be used. This eliminates the need to install the model-specific printer driver. Furthermore, the standard driver can be used by specifying the printing functions of the printing device according to the Print Device Capabilities (hereinafter referred to as "PDC") generated based on information obtained from the printing device. This allows printing functions to be specified for each printing device with a single standard driver. Functionality extension applications (hereinafter sometimes referred to as "extension applications") that extend the functionality can be associated with the standard driver. Extension applications are provided by each vendor. Therefore, it is difficult to execute the functions of extension applications with the standard driver alone.

[0004] Patent Document 1 discloses an extension application that causes a standard driver to generate data for printing a substitute image to replace a barcode image when the image data to be printed contains information indicating a barcode. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2020-166363 [Overview of the project] [Problems that the invention aims to solve]

[0006] As mentioned earlier, printer drivers differ depending on the vendor supplying the printing device; in other words, they are model-specific printer drivers suited to each printing device. These printer drivers can instruct the printing device to adjust (change) the thickness of linear elements such as characters and lines that make up the image to be printed. This allows, for example, to adjust the thickness of the frame of a barcode image. On the other hand, standard drivers have the problem that they cannot instruct the printing device to adjust the thickness of linear elements during printing.

[0007] The present invention has been made in view of the above-mentioned problems. The object of the present invention is to provide a mechanism that can instruct an image forming apparatus to print by adjusting the line thickness of the lines constituting the image to be printed. [Means for solving the problem]

[0008] To achieve the above objective, the application program of the present invention is a standard driver provided by an operating system provider, an application program that supports a standard driver pre-installed in the operating system, and is characterized by causing a computer to perform a display control step of displaying a setting reception screen that accepts settings for adjusting the thickness of lines constituting an image to be printed, and an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings accepted on the setting reception screen. [Effects of the Invention]

[0009] According to the present invention, an image forming apparatus can be instructed to print while adjusting the line thickness of the lines that make up the image to be printed. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the hardware configuration of the printing system according to the first embodiment. [Figure 2]This is a block diagram showing the software configuration of a printing system. [Figure 3A] This figure shows an example of a screen displayed on the display unit of a printing system. [Figure 3B] This is a flowchart showing the process for adjusting the thickness. [Figure 3C] This is an illustrative diagram showing an overview of the process for adjusting the thickness of the line. [Figure 4] This flowchart shows the process by which the print function extension unit edits print function information. [Figure 5] This figure shows an example of a list of printing device capability information. [Figure 6] This figure shows an example of a list of printing functions supported by the extended application. [Figure 7] This figure shows an example of a list of capability information for general-purpose printing software. [Figure 8] This is a sequence diagram showing the processes that occur between the drawing application, general-purpose printing software, extension applications, and printing device after the drawing application accepts the print settings. [Figure 9] This is a block diagram showing the software configuration of the printing system according to the second embodiment. [Figure 10] This flowchart shows the process by which the print function extension unit edits print function information. [Figure 11] This is a sequence diagram showing the processes that occur between the drawing application, general-purpose printing software, extension applications, and printing device after the drawing application accepts the print settings. [Figure 12] This flowchart shows the process by which the printing function extension unit according to the third embodiment edits printing function information. [Figure 13] This figure shows an example of a list of printing device capability information. [Figure 14] This figure shows an example of a list of printing functions supported by the extended application. [Figure 15] This figure shows an example of a screen displayed on the display unit of a printing system. [Figure 16A] It is a diagram showing an example of a screen displayed on the display unit of the printing system. [Figure 16B] It is a diagram showing an example of a screen displayed on the display unit of the printing system. [Figure 17] It is a sequence diagram showing the processes executed among the drawing application, general-purpose printing software, extended application, and printing device after the drawing application accepts the print settings.

Mode for Carrying Out the Invention

[0011] Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in each embodiment. For example, each part constituting the present invention can be replaced with any configuration that can exhibit the same function. Also, any component may be added. Moreover, any two or more configurations (features) among the embodiments can be combined.

[0012] <First Embodiment> Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 8.

[0013] <Hardware Configuration of the Printing System> Figure 1 is a block diagram showing the hardware configuration of a printing system according to the first embodiment. As shown in Figure 1, the printing system 1000 includes a host computer 101, a printing device 102, a pointing device 117, a keyboard 118, and a display unit 119, which are connected to each other in a communicative manner. The host computer 101 is an information processing device and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (storage medium) 114, an output interface 115, an input / output interface 116, and a NET interface 120. The host computer 101 can be, for example, a desktop personal computer, but is not limited to this; for example, a notebook personal computer, a tablet terminal, a smartphone, etc., can also be used.

[0014] The CPU 111 is a computer that executes programs stored in the ROM 112 and the external storage device 114. This allows the CPU 111 to execute each process (control method) described later. The ROM 112 stores the initialization program. The external storage device 114 stores application programs, the operating system (OS), print data generation software, and various other data. In this embodiment, Microsoft's Windows 11 is installed on the host computer 101 as the OS. The RAM 113 is used as work memory for executing various programs stored in the external storage device 114, allowing various programs to run within the host computer 101. The input interface 110 is connected to input devices such as the pointing device 117 and the keyboard 118. The output interface 115 is connected to the display unit 119 as a display device. The display unit 119 displays, for example, the print settings screen 300A and the detailed settings screen 300C described later. The NET interface 120 is a network interface that controls data transfer to and from external devices via the network. The printer 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with printers 102 from multiple manufacturers, regardless of the manufacturer of the printer 102, meaning that information can be processed between printers 102 from multiple manufacturers.

[0015] The printing device 102 can be, for example, an image forming apparatus such as a multi-function peripheral (MFP) that has multiple functions such as copying, printing, and faxing, but is not limited to this. Also, the printing performed by the printing device 102 is electrophotographic printing in this embodiment, but is not limited to this, and could be inkjet printing, for example. Furthermore, in this embodiment, the host computer 101 and the printing device 102 are configured as separate devices, but is not limited to this. For example, the host computer 101 and the printing device 102 may be configured as an integrated device.

[0016] <Configuration of a software-centric printing system> Figure 2 is a block diagram showing the software configuration of a printing system. Figure 2(a) shows a typical configuration when the extended application (application program) 204 is not associated with the general-purpose printing software (standard driver) 202 and the printing device 102. Figure 2(b) shows a configuration when the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102. The general-purpose printing software 202 is a standard driver provided by the OS provider. The standard driver is a class driver (general-purpose program) that can be used in common, for example, during printing, for printing devices from multiple manufacturers. The standard driver is pre-installed (built into) the OS, that is, it is provided as one of the functions in the OS package. The standard driver can perform processing for various printing devices by utilizing a standardized printing method. As a result, the standard driver can generate and output instructions that can be interpreted by printing devices from multiple manufacturers. The general-purpose printing software 202 uses a program that operates based on IPP (Internet Printing Protocol). The extension application 204 is a program that supports, or assists, the general-purpose printing software 202. In this embodiment, the extension application 204 is an extension program (a program that executes control methods) that can extend functions that the general-purpose printing software 202 cannot perform on the printing device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the convenience of the functions that the general-purpose printing software 202 can perform on the printing device 102. The extension application 204 is stored in the external storage device 114 together with the OS (general-purpose printing software 202), for example. As a result, the host computer 101 has the general-purpose printing software 202 and the extension application 204.

[0017] <If no extension application is associated> First, referring to Figure 2(a), we will describe the configuration when the extended application 204 is not associated with the general-purpose printing software 202 and the printing device 102. The drawing application 201 is software that creates content (print data) to be printed by the printing device 102. The drawing application 201 is not particularly limited and can include, for example, a word processing application or a spreadsheet application. The drawing application 201 issues a print command to the OS upon receiving a print request from the user, for example via the keyboard 118. The print command includes print setting information to instruct the operation of the general-purpose printing software 202 and the printing device 102. The print setting information is also called a "Print Ticket (PT)". In addition, the drawing application 201 can display a print setting screen 300A (see Figure 3A(a)) provided by the general-purpose printing software 202, the OS, or the drawing application 201 on the display unit 119 in order to output the print setting information. Furthermore, by operating (pressing) the control 305 within the print settings screen 300A, the detailed settings screen 300B (see Figure 3A(b)) or the detailed settings screen 300C (see Figure 3A(c)) can be displayed on the display unit 119. The print settings screens 300A to the detailed settings screens 300C will be described later. The print settings screen 300A includes setting items that indicate the printable printing functions and control items that indicate the setting values, according to the capability information obtained from the general-purpose printing software 202, that is, the information that can be set as print settings. The capability information is capability information relating to the printing device 102's ability to perform printing, and is also called Print Capabilities (hereinafter sometimes referred to as "PC"). It is also possible to determine whether this capability information includes information that enables the display of the detailed settings screen 300C, that is, information that enables printing based on the thickness adjustment setting (determination step). If, as a result of this determination, it is determined that the information that enables the display of the detailed settings screen 300C is included, the detailed settings screen 300C can be displayed. On the other hand, if it is determined that the information necessary to display the detailed settings screen 300C is not included, the detailed settings screen 300C will not be displayed.In this way, the extended application 204 can switch whether or not to display the detailed settings screen 300C depending on the capabilities of the printing device 102. Furthermore, if the detailed settings screen 300C is displayed, the application can instruct the printing device 102 to perform printing based on the thickness adjustment settings received on the detailed settings screen 300C. On the other hand, if the detailed settings screen 300C is not displayed, the application can generate normal print data, that is, print data without thickness adjustment, and instruct the printing device 102 to print this print data.

[0018] The general-purpose printing software 202 determines the PC based on the printing function information 203. The printing function information 203 is data indicating the printing functions, which includes all configurable printing functions, their settings, and mutual exclusion relationships between the settings. The printing function information 203 is also called PDC (Print Device Capabilities). The printing function information 203 is included in the configuration file of the general-purpose printing software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the printing function information 203 is dynamically generated by the general-purpose printing software 202. Specifically, the general-purpose printing software 202 obtains attribute data of the printing device 102 from the printing device 102. The general-purpose printing software 202 generates the printing function information 203 according to the attribute information in this attribute data. When the printing function information 203 is dynamically generated in this way, it is possible to edit the printing function information 203. Furthermore, the attribute data of the printer 102 is the response obtained by issuing the IPP "Get-Printer-Attributes" operation to the printer 102. The response includes attribute information indicating the functions that can be specified by the printer 102, i.e., the capabilities of the printer 102, and setting values ​​related to that attribute information. The response is also stored in RAM 113.

[0019] With this configuration, the general-purpose printing software 202 allows the user to specify the printing functions available on the printing device 102, depending on the printing device 102 connected to the general-purpose printing software 202. This makes it possible to specify the printing functions available on the printing device regardless of the printing device 102 connected to the general-purpose printing software 202, that is, even when a printing device with different functions or a printing device developed by a different printer manufacturer is connected. In this embodiment, the general-purpose printing software 202 is assumed to be configured to use the "IPP Class Driver" included in Windows® 11. The "IPP Class Driver" is a printer driver that performs printing processing according to the specifications of a standard printing protocol called IPP, and is included in the OS package. The "IPP Class Driver" is not a specific printer driver for each model of printing device 102, but a standard class driver that can be used in common with printing devices 102 from each printer manufacturer, regardless of the printer manufacturer. The "IPP Class Driver" also acquires capability information of the printing device 102 and generates printing function information 203 based on that information.

[0020] Furthermore, an extension application 204 can be associated with the general-purpose printing software 202. This allows the general-purpose printing software 202 to perform functions that it does not have. For example, the IPP ClassDriver (general-purpose printing software 202) cannot perform the function of accepting settings to adjust the thickness of lines such as characters and lines that make up the image to be printed (hereinafter referred to as "thickness adjustment settings"). This is because the thickness adjustment setting function is a function that is performed uniquely by the printing device 102 manufactured by a predetermined printer manufacturer. The extension application 204 can extend the thickness adjustment setting function that the IPP ClassDriver cannot perform to be executable. In this embodiment, the IPP ClassDriver cannot perform the thickness adjustment setting function, and the extension application 204 can extend it to perform that thickness adjustment setting function, but it is not limited to this. For example, the IPP ClassDriver may be able to perform a part of the thickness adjustment setting function, and the extension application 204 may supplement the missing parts of that thickness adjustment setting function to further extend its execution range.

[0021] The OS generates intermediate data (sometimes called "input data") based on the print command output from the drawing application 201 and sends it to the general-purpose printing software 202. The data output by the drawing application 201 for printing is not particularly limited, but for example, XML Paper Specification (XPS) format data is preferred. Alternatively, the data output by the drawing application 201 for printing may be Graphic Device Interface (GDI) format data. When using the IPP Class Driver as the general-purpose printing software 202, if the data output by the drawing application 201 is in GDI format, the OS converts the GDI format data to XPS format data. The OS then sends this converted XPS format data to the general-purpose printing software 202 as intermediate data. The intermediate data includes drawing data, which is information such as characters and figures to be formed on the print medium, and print setting information set by the user.

[0022] The general-purpose printing software 202 converts the intermediate data into printable data (image data) that can be processed by the printing device 102, i.e., printable, and transmits it to the printing device 102. In this embodiment, "print data" refers to Page Description Language (PDL) data equivalent to IPP. PDL data is, for example, data in PDF (Portable Document Format) or PWG-Raster format. The print data includes drawing data, which is information such as characters and figures formed on the printing paper (printing medium), and print setting attribute information, which is generated based on print setting information set by the user and specifies the print settings. The print setting attribute information includes attribute information indicating the functions that can be specified by the printing device 102, i.e., the capabilities of the printing device 102, and setting values ​​related to said attribute information.

[0023] The printing device 102 prints on the paper based on the print data sent from the general-purpose printing software 202. At this time, the printing device 102 can form the drawing data contained in the print data on the paper by performing operations according to the print setting attribute information contained in the print data. The print setting attribute information includes, for example, print quality such as image quality priority or speed priority, attribute information for specifying double-sided printing or single-sided printing, and the setting values ​​of said attribute information. For example, if the print setting attribute information includes attribute information for specifying double-sided printing, the printing device 102 can perform double-sided printing.

[0024] <If an extended application is associated> Referring to Figure 2(b), the configuration when the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102 will be described. As shown in Figure 2(b), unlike Figure 2(a), the extended application 204 is added. That is, the host computer 101 has the drawing application 201, the general-purpose printing software 202, the printing function information 203, and further has the extended application 204. The extended application 204 is software for extending the functionality of the general-purpose printing software 202. Note that the extended application 204 is software that is not pre-included (not bundled) with the OS. Therefore, the extended application 204 is downloaded from a server (not shown) via the Internet by the user operating the host computer 101 and installed on the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection when the printing device 102 is connected to the host computer 101. Specifically, when the printing device 102 is connected to the host computer 101, the OS obtains device identification information from the printing device 102. The OS may download and install the extended application 204 corresponding to this device identification information from a server via the internet. As a result, the host computer 101 will maintain the general-purpose printing software 202 and the extended application 204 as separate control programs. The general-purpose printing software 202 and the extended application 204 may be updated and upgraded. In this case, the update process for the general-purpose printing software 202 and the update process for the extended application 204 may occur at the same time or at different times. Also, the trigger for the host computer 101 to acquire the general-purpose printing software 202 and the trigger for acquiring the extended application 204 may be the same trigger or different triggers. Furthermore, when the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose printing software 202 and the printing device 102.

[0025] As shown in Figure 2(b), the extended application 204 can exchange information (send and receive information) with the general-purpose printing software 202 and the printing device 102, respectively. That is, the extended application 204 is associated with the general-purpose printing software 202 and the printing device 102. In this embodiment, the extended application 204 has a print settings screen extension unit 205, a print function extension unit 206, an intermediate data editing unit 207, and a notification unit 209. The extended application 204 also has shared information 208 that can be accessed from each of the units: the print settings screen extension unit 205, the print function extension unit 206, the intermediate data editing unit 207, and the notification unit 209. The shared information 208 is a file stored in the external storage device 114 or information stored in the RAM 113. The extended application 204 can write to and read the shared information 208 by using the API (Application Program Interface) provided by the OS.

[0026] Furthermore, the extended application 204 may terminate its operation as a whole when the processing of each unit from the print settings screen extended unit 205 to the notification unit 209 is completed. In this case, the OS will start the extended application 204 each time it receives a processing execution request for each unit. Also, the OS will terminate the operation of the extended application 204 as a whole, for example, when the processing of the print settings screen extended unit 205 is completed. In addition, the extended application 204 may cancel the processing of each unit from the print settings screen extended unit 205 to the notification unit 209 while it is in progress. In this case, the OS will delete the jobs currently being processed on the print queue. As mentioned above, the drawing application 201 issues a print command to the OS upon receiving a print request from the user. The drawing application 201 can also display the print settings screen. In the configuration shown in Figure 2(b), the drawing application 201 can display the print settings screen 300A (detailed settings screen 300C) provided by the print settings screen extended unit 205 (extended application 204). Furthermore, the print settings screen extension unit 205 can save the detailed settings configured by the user to the shared information 208.

[0027] The intermediate data editing unit 207 acquires intermediate data from the general-purpose printing software 202. The intermediate data editing unit 207 then converts the intermediate data into print data and transmits the print data to the printing device 102. The intermediate data editing unit 207 also acquires detailed setting information from the shared information 208 and adds the detailed settings to the print data. The printing device 102 prints on the paper based on the print data from the intermediate data editing unit 207. The extended application 204 may be configured to acquire the print data generated by the general-purpose printing software 202 and add detailed settings to it. Furthermore, even in the configuration shown in Figure 2(b), the thickness adjustment setting may not be executed. In this case, the general-purpose printing software 202 may transmit the print data to the printing device 102 without going through the extended application 204.

[0028] The print function extension unit 206 can edit the print function information 203 (PDC) generated by the general-purpose printing software 202 or the OS. This allows for the addition of functions provided by the extension application 204. It can also add functions that are executable on the printing device 102 but not on the general-purpose printing software 202 (e.g., line thickness adjustment function), and add mutual exclusion relationships between print function settings. The OS starts the print function extension unit 206 when the extension application 204 is first associated with the printing device 102 and the general-purpose printing software 202. The OS may also start the print function extension unit 206 at other times (e.g., when the OS starts). With such startup, even if printing-related functions are extended later, the print function extension unit 206 can detect the extension and add it to the print function information 203. An example of later extensions to printing-related functions is the addition of optional devices (e.g., a finisher) to the printing device 102.

[0029] The notification unit 209 can notify the user when an error occurs in the printer 102. For example, if a paper out error occurs in the printer 102, the general-purpose printing software 202 detects this error. The OS uses a notification function called toast notification, which is one of the functions of the OS, to display the paper out error detected by the general-purpose printing software 202 as a message on the display unit 119. When the user interacts with the toast notification, the notification unit 209 is called by the OS and the user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, detailed messages regarding the paper out error and instructions on how to load paper.

[0030] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is performed by the print settings screen extension unit 205. The second function is to edit intermediate data, convert it into print data, and add detailed settings to the print data. This function is performed by the intermediate data editing unit 207. The third function is to extend the functions that can be specified in the print data generation software. This function is performed by the print function extension unit 206. The fourth function is to display a screen in response to an error occurring in the printer 102. This function is performed by the notification unit 209. Note that the configuration of the extended application 204 is not limited to a configuration having these four functions, and a configuration having at least one function is preferable, and a configuration having other functions is also possible. Furthermore, once the extended application 204 has sent print data to the printer 102, it is not possible to display screens such as guides associated with the print data during the processing of each unit.

[0031] <Example of print settings screen / advanced settings screen> Figure 3A shows an example of a screen displayed on the display unit of a printing system. Figure 3A(a) is the print settings screen displayed by the drawing application 201. Figure 3A(b) is the detailed settings screen displayed when the extended application 204 is not associated. Figures 3A(c) and 3A(d) are the detailed settings screens displayed when the extended application 204 is associated. Note that the units and modules that display each screen are not particularly limited. For example, the print settings screen extension unit 205 may be configured only to generate the display screen. In that case, the print settings screen extension unit 205 sends the generated display screen to the drawing application 201 via the general-purpose printing software 202. The drawing application 201 may be configured to display the acquired display screen.

[0032] The print settings screen 300A shown in Figure 3A(a) is a screen where printing conditions related to printing on the printer 102 can be set. This print settings screen 300A includes controls (buttons) 301, 302, 303, 304, and 305. Control 301 allows you to set the printer 102 to be used for printing, the orientation of the print on the printer 102, and the number of copies to be printed on the printer 102. In Figure 3A(a), as an example, the printer 102 to be used for printing is set to "printer 200a", the orientation of the print on the printer 102 is set to "portrait", and the number of copies to be printed on the printer 102 is set to "1". Control 302 displays a preview screen. Control 303 allows you to instruct the printer 102 to start printing. Control 304 allows you to instruct the printer 102 to cancel printing. Control 305 allows you to make detailed settings.

[0033] In configurations where the extended application 204 is not associated, operating control 305 displays the detailed settings screen 300B shown in Figure 3A(b). The detailed settings screen 300B includes controls 306, 307, 308, and 309. Controls 306 to 308 are arranged vertically at the top of the detailed settings screen 300B. Control 309 is located at the bottom of the detailed settings screen 300B. Control 306 allows you to select and set the type of paper used for printing with the printer 102. In Figure 3A(b), "plain paper" is selected as an example. Control 307 allows you to select and set the paper size used for printing with the printer 102. In Figure 3A(b), "A4" is selected as an example. Control 308 allows you to select the paper feed slot used for printing with the printer 102. In Figure 3A(b), "automatic" is selected as an example. Control 309 allows you to exit the settings made in controls 306 through 308. Operating control 309 also returns you to the print settings screen 300A shown in Figure 3A(a).

[0034] When the extended application 204 is associated with the system, pressing (operating) control 305 displays the detailed settings screen (settings acceptance screen) 300C shown in Figure 3A(c) (display control process). The detailed settings screen 300C is displayed together with the print settings screen 300A, but its display mode is not particularly limited. For example, the detailed settings screen 300C may be displayed overlaid on the print settings screen 300A, or it may be displayed adjacent to the print settings screen 300A, or the print settings screen 300A may disappear before the detailed settings screen 300C is displayed. The detailed settings screen 300C is a screen that can accept thickness adjustment settings. The detailed settings screen 300C includes controls 306 to 309, similar to the detailed settings screen 300B. In addition, the detailed settings screen 300C includes controls 310, 312, and 313 as thickness adjustment settings. Control 310 is a setting selection unit for selecting whether to enable or disable the thickness adjustment setting. By pressing Control 310, a list 311 is displayed which includes "Enable" (indicating that the thickness adjustment setting is enabled) and "Disable" (indicating that the thickness adjustment setting is disabled). The user can then select the desired option from "Enable" and "Disable". Figure 3A(c) shows an example where "Enable" is selected. Control 312 is an operation unit for displaying the detailed setting screen (setting reception screen) 300D (see Figure 3(d)) for detailed thickness adjustment settings. By pressing Control 312, the detailed setting screen 300D is displayed. The display manner of the detailed setting screen 300D is not particularly limited. For example, the detailed setting screen 300D may be displayed overlaid on the detailed setting screen 300C, or it may be displayed adjacent to the detailed setting screen 300C, or the detailed setting screen 300C may disappear before the detailed setting screen 300D is displayed. Control 313 is a forced restore unit that forcibly restores the detailed settings for thickness adjustment, which were set on the detailed settings screen 300D, to their initial state. This allows, for example, the detailed settings for thickness adjustment on the detailed settings screen 300D to be reconfigured.

[0035] The detailed settings screen 300D includes controls 315, 317, 319, 321, 323, and 324. Control 315 is the line thickness selection section for selecting the line thickness. Pressing control 315 displays list 316. List 316 includes "-1" which decreases the line thickness (thickening amount) by 1 pixel, "0" which does not change the line thickness (thickening amount), "+1" which increases the line thickness (thickening amount) by 1 pixel, and "+1" which increases the line thickness (thickening amount) by 2 pixels. The desired option can be selected from "-1", "0", "+1", and "+1". Figure 3A(d) shows the state where "-1" is selected as an example. Furthermore, the line thickness in control 315 is not limited to adjustment by selecting from multiple options; for example, it may be adjusted by entering a desired numerical value within the range of the upper and lower limits.

[0036] Control 317 is a setting selection unit for enabling or disabling the font weight adjustment setting. Pressing Control 317 displays List 318, which includes "Enable" (indicating that the font weight adjustment setting is enabled) and "Disable" (indicating that the font weight adjustment setting is disabled). You can then select the desired option from "Enable" or "Disable". Figure 3A(d) shows an example where "Enable" is selected. In this case, the font weight can be adjusted by the value selected in List 316. Control 319 is a setting selection unit for enabling or disabling the border thickness adjustment setting. Pressing Control 319 displays List 320, which includes "Enable" (indicating that the border thickness adjustment setting is enabled) and "Disable" (indicating that the border thickness adjustment setting is disabled). You can then select the desired option from "Enable" or "Disable". Figure 3A(d) shows an example where "Disable" is selected. In this case, border thickness adjustment is restricted.

[0037] Control 321 is a setting selection unit for selecting whether to enable or disable the graphic thickness adjustment setting. By pressing Control 321, a list 322 is displayed which includes "Enable" (indicating that the graphic thickness adjustment setting is enabled) and "Disable" (indicating that the graphic thickness adjustment setting is disabled). The desired option can then be selected from "Enable" and "Disable". Figure 3A(d) shows an example where "Disable" is selected. In this case, graphic thickness adjustment is restricted. Furthermore, the graphic thickness adjustment is not particularly limited and can include, for example, the thickness adjustment of characters, lines, outlines, etc. included in the graphic. In this embodiment, the objects whose thickness is adjusted are characters, lines, and graphics, but this is not limited to these; it is sufficient if at least one of these is included, and other objects may also be included. Control 323 allows saving the settings from the detailed settings screen 300D to the external storage device 114 and exiting. Control 324 allows exiting without saving the settings from the detailed settings screen 300D.

[0038] Here, we will explain why the items included in the detailed settings screen 300B shown in Figure 3A(b) and the items included in the detailed settings screen 300C shown in Figure 3A(c) are different. Detailed settings screens 300B and 300C are each generated based on print function information (capability information). As mentioned above, the general-purpose printing software 202 does not support the execution of the thickness adjustment function. Therefore, the general-purpose printing software 202 alone cannot add the thickness adjustment function to the print function information. Furthermore, even if the thickness adjustment function was originally included in the print function information, the general-purpose printing software 202 cannot interpret the thickness adjustment function included in the print function information. Therefore, it is not possible to display the thickness adjustment function settings on the detailed settings screen. To address this, the print function extension unit 206 adds the thickness adjustment function to the print function information 203. Then, the print setting screen extension unit 205 refers to the capability information and displays the detailed settings screen 300C. This allows the extension application 204 to display the thickness adjustment function settings on the detailed settings screen.

[0039] <Process for adjusting thickness> Figure 3B is a flowchart of the process for adjusting the thickness. Figure 3C is an image diagram showing an overview of the process for adjusting the thickness. As shown in Figure 3B, in step S1401, the CPU 111 of the host computer 101 acquires information on the amount of thickness adjustment (thickening width). This information is obtained from the selection made in list 316 of the detailed settings screen 300D.

[0040] In step S1402, the CPU 111 obtains information about the object to be thickened. This information is obtained from the characters, lines, and graphics for which "Yes" is selected in lists 318, 320, and 322 of the detailed settings screen 300D. For example, the object to be thickened can be the character 1301 (horizontal line 1302) shown in Figure 3C(a).

[0041] In step S1403, the CPU 111 creates a reference region where the thickness adjustment process (thickening process) is performed. For example, if the thickness adjustment amount obtained in step S1401 is "+1", the CPU 111 creates a reference region for the pixel 1303 of interest in Figure 3C(b) with the left reference pixel 1304 and the lower reference pixel 1305. Also, if the thickness adjustment amount obtained in step S1401 is "+2", the CPU 111 creates a reference region for the pixel 1303 of interest in Figure 3C(e) with the left reference pixel 1304 and reference pixel 1308, and the lower reference pixel 1305 and pixel 1309. Also, if the thickness adjustment amount obtained in step S1401 is "-1", the CPU 111 creates a reference region for the pixel 1303 of interest in Figure 3C(h) with the left reference pixel 1304 and the lower reference pixel 1305.

[0042] In step S1404, the CPU 111 determines whether the thickness adjustment process has been performed on all pixels in the image to be adjusted. If the determination in step S1404 is that the process has been performed on all pixels, the process ends. On the other hand, if the determination in step S1404 is that the process has not been performed on all pixels, the process proceeds to step S1405.

[0043] In step S1405, the CPU 111 determines whether the pixel of interest is subject to thickness adjustment. If the determination in step S1405 is that the pixel of interest is subject to thickness adjustment, the process proceeds to step S1406. On the other hand, if the determination in step S1405 is that the pixel of interest is not subject to thickness adjustment, the process proceeds to step S1407. For example, if the thickness adjustment amount is "+1" or "+2", and the pixel of interest is not character 1301 and there is another character in the reference area, the determination in step S1405 will be that the pixel of interest is subject to thickness adjustment, and the process proceeds to step S1406. On the other hand, if the thickness adjustment amount is "+1" or "+2", and there is no character in the reference area, the determination in step S1405 will be that the pixel of interest is not subject to thickness adjustment, and the process proceeds to step S1407. Furthermore, if the thickness adjustment amount is "-1", and the pixel of interest is a character, and there are non-character elements in the reference area, the result of the determination in step S1405 is that the pixel of interest is subject to thickness adjustment, and the process proceeds to step S1406.

[0044] In step S1406, the CPU 111 modifies the pixel of interest based on the reference pixel. For example, if the thickness adjustment amount is "+1" or "+2", in pairs where the pixel of interest is not a character and the reference pixel is a character, the pixel of interest is replaced with the reference pixel. That is, if the thickness adjustment amount is "+1", the non-character pixel of interest 1303 in Figure 3C(b) is replaced by the character reference pixel 1305, resulting in the pixel of interest 1306 in Figure 3C(c). Similarly, if the thickness adjustment amount is "+2", the non-character pixel of interest 1303 in Figure 3C(e) is replaced by the character reference pixel 1308, resulting in the pixel of interest 1310 in Figure 3C(f). Also, if the thickness adjustment amount is "-1", the character pixel of interest 1303 in Figure 3C(h) is replaced by the non-character reference pixel 1305, resulting in the pixel of interest 1312 in Figure 3C(i).

[0045] In step S1407, the CPU 111 moves the pixel of interest to the next pixel, and the process proceeds to step S1404. If, as a result of the judgment in step S1404, it is determined that the process has been performed on all pixels, the process is terminated. As a result, when the thickness adjustment amount is "+1", the line to be adjusted is as shown by line 1307 in Figure 3C(d). Similarly, when the thickness adjustment amount is "+2", the line to be adjusted is as shown by line 1311 in Figure 3C(g). Also, when the thickness adjustment amount is "-1", the line to be adjusted is as shown by line 1313 in Figure 3C(j).

[0046] The process for adjusting line thickness is not limited to the process based on the flowchart shown in Figure 3B. For example, other processes for adjusting line thickness include extracting only thin lines or rectangles with one line in the PDL (Page Description Language) and changing them to two lines. Also, if you want to adjust the thickness of only relatively thin lines, such as ruled lines, you can determine whether it is a one-pixel or two-pixel object, and if it is, perform the thickness adjustment process. Furthermore, if you want to adjust the thickness of only characters of a specific color, you can perform the thickness adjustment process only on the specific color plate after the color conversion process has been performed. Thus, different processes are required depending on what you want to adjust the thickness of. The thickness adjustment process may also be performed on the printing device 102. In addition, the thickness adjustment process may be performed on the RGB image or after it has been converted to a CMYK image.

[0047] <Flowchart for editing print function information on the print function extension unit> Figure 4 is a flowchart showing the process by which the printing function extension unit edits printing function information. The program based on the flowchart shown in Figure 4 is executed by the CPU 111 controlling the printing function extension unit 206. Figure 5 is a diagram showing an example of a list of capabilities information for the printing device. Figure 6 is a diagram showing an example of a list of printing functions supported by the extension application. Figure 7 is a diagram showing an example of a list of capabilities information for general-purpose printing software. As shown in Figure 4, in step S401, the printing function extension unit 206 acquires capability information from the printing device 102 prior to the display control step described above (acquisition step). Capability information is information about the printing device 102's ability to perform printing, and in this embodiment, it is a setting value included in the response obtained by issuing the IPP "Get-Printer-Attributes" operation to the printing device 102. The setting value is attribute information that indicates the functions that can be specified by the printing device 102, and related to that attribute information. Table 501 shown in Figure 5 shows a list of capability information for the printing device 102. Capability information includes, for example, information about the paper size used for printing with the printing device 102. Other information includes the type of paper (media) used for printing in the printing device 102, the paper feed slot for the paper used in printing in the printing device 102, and the paper thickness adjustment function that can be performed in the printing device 102.

[0048] In step S402, the print function extension unit 206 retrieves the print functions supported by the extension application 204 from the shared information 208. The shared information 208 stores a list of print functions supported by the extension application 204. This list includes all print functions that the extension application 204 can process, and their settings. Table 601, shown in Figure 6, contains information on the paper sizes supported by the extension application 204 as print functions. Other information includes information on the types of paper supported by the extension application 204, information on the paper feed slots supported by the extension application 204, and information on the thickness adjustment functions supported by the extension application 204. In addition, the print functions supported by the extension application 204 may be updated through updates to the extension application 204, etc.

[0049] In step S403, the printing function extension unit 206 obtains the printing function information 203 created by the general-purpose printing software 202 from the OS. The printing function information 203 is created based on the capability information (see Table 501) obtained by the general-purpose printing software 202 from the printing device 102. The printing function information 203 (PDC) created by the general-purpose printing software 202 includes only the printing functions that the general-purpose printing software 202 supports from the capability information obtained from the printing device 102. For example, Table 601 shown in Figure 6 includes "7x10 inches" and "Western style No. 6" as paper sizes, but Table 701 shown in Figure 7 shows that the general-purpose printing software 202 does not support these paper sizes. Therefore, the printing function information 203 does not include these paper sizes. Also, Table 601 shown in Figure 6 includes information on the thickness adjustment function, but Table 701 shown in Figure 7 shows that the general-purpose printing software 202 does not support the thickness adjustment function. Therefore, the print function information 203 does not include a thickness adjustment function. The print function expansion unit 206 adds functions and options to the print function information 203, allowing the expansion application 204 to compensate for the lack of functionality in the general-purpose printing software 202. The print function expansion unit 206 can also remove unnecessary functions and options from the print function information 203 created by the general-purpose printing software 202.

[0050] Steps S404, S405, and S406 are repeated processes for the list of functions contained in the capability information obtained from the printing device 102 in step S401. In this embodiment, steps S404, S405, and S406 are repeated for all 18 options included in Table 501.

[0051] In step S404, the print function extension unit 206 determines whether the function or option currently being processed exists in the print function information 203 generated by the general-purpose printing software 202. If the determination in step S404 determines that it exists in the print function information 203, the processing ends if the last item among the options is being processed. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. On the other hand, if the determination in step S404 determines that it does not exist in the print function information 203, the process proceeds to step S405. For example, in this embodiment, Table 501 includes the paper size "A4", and Table 701 also includes the paper size "A4". In this case, step S404 determines that the function or option currently being processed exists in the print function information 203. In contrast, Table 501 includes the "thickness adjustment function", but Table 701 does not include the "thickness adjustment function". In this case, step S404 determines that the function or option currently being processed does not exist in the print function information 203.

[0052] In step S405, the printing function extension unit 206 determines whether the currently processed function (optional) exists among the functions (optional) supported by the extension application 204. If the determination in step S405 determines that the currently processed function exists, the process proceeds to step S406. On the other hand, if the determination in step S405 determines that the currently processed function does not exist, the process terminates if the last item among the options is being processed, similar to when "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. For example, in this embodiment, if the currently processed function is the "thickness adjustment function," then the "thickness adjustment function" also exists in Table 601. Therefore, in step S405, it is determined that the currently processed function exists.

[0053] In step S406, the print function extension unit 206 adds the currently processed function (option) to the print function information 203. After step S406 is executed, if the last item among the options is being processed, the process is terminated, as in the case where "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again.

[0054] As described above, the extended application 204 can add functions (options) to the print function information 203 that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are also supported by the extended application 204. Based on the print function information 203 edited through this addition process, capability information (PC) is generated. The print setting screen extension unit 205 generates a display screen based on this capability information, thereby extending the functions not supported by the general-purpose printing software 202 and displaying the detailed settings screen 300C.

[0055] <Processing after the drawing application accepts the print settings> Figure 8 is a sequence diagram showing the processing performed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application receives print settings. Processing in the drawing application, general-purpose printing software, and extended application is executed by the CPU 111 of the host computer 101. This processing program is stored in the external storage device 114. The CPU 111 then reads the processing program from the external storage device 114 into the RAM 113 and executes it. Processing in the printing device 102 is executed by the CPU (not shown) of the printing device 102. The software configuration of the printing system 1000 is shown in Figure 2(b).

[0056] As shown in Figure 8, in step S801, the drawing application 201 accepts print settings from the user. The user can, for example, operate the pointing device 117 or the keyboard 118 to instruct the drawing application 201 on print settings.

[0057] In step S802, the drawing application 201 displays the print settings screen 300A shown in Figure 3A(a) on the display unit 119.

[0058] In step S803, the drawing application 201 accepts detailed setting instructions from the user. The user can provide detailed settings, for example, by operating the pointing device 117 or keyboard 118 to select control 305 on the print settings screen 300A.

[0059] In step S804, the drawing application 201 requests the general-purpose printing software 202 to display the detailed settings.

[0060] In step S805, the general-purpose printing software 202 requests the extended application 204 to display the detailed settings.

[0061] In step S806, the print settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3A(c). As mentioned above, the print function extension unit 206 adds trapping settings to the print function information 203 (PDC). The print settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information (PC) generated based on this added print function information 203.

[0062] In step S807, the print settings screen extension unit 205 accepts the user's detailed settings on the detailed settings screen 300C. Here, as an example, let's assume that on the detailed settings screen 300C, control 306 selects "Plain Paper" for the paper type, control 307 selects "A4" for the paper size, and control 308 selects "Automatic" for the paper feed slot (see Figure 3A(c)). Also, let's assume that control 310 selects "Enable" for thickness adjustment (see Figure 3A(c)). With these settings (selections), the print settings screen extension unit 205 accepts that the user has operated control 309 on the detailed settings screen 300C. As a result, the detailed settings screen 300D shown in Figure 3A(d) is displayed. The print settings screen extension unit 205 then accepts the user's detailed settings on the detailed settings screen 300D. Here, as an example, let's assume that on the detailed settings screen 300D, control 315 selects "-1" for the thickness adjustment range. Furthermore, suppose that "Enable" is selected for adjusting font thickness in control 317, "Disable" is selected for adjusting line thickness in control 319, and "Disable" is selected for adjusting graphic thickness in control 321. In this setting state, the print settings screen extension unit 205 accepts that the user has operated control 323 on the detailed settings screen 300D. This completes the detailed settings. The user can, for example, use the pointing device 117 or keyboard 118 to select control 323 and signal the end of the detailed settings.

[0063] In step S808, the extended application 204 sends detailed setting completion information to the general-purpose printing software 202, indicating that the detailed settings in step S807 have been completed.

[0064] In step S809, the general-purpose printing software 202 receives the detailed settings completion information sent from the extended application 204 in step S808. The general-purpose printing software 202 then sends this detailed settings completion information to the drawing application 201.

[0065] In step S810, the drawing application 201 accepts a print command from the user. The user can issue a print command, for example, by operating the pointing device 117 or keyboard 118 and selecting control 303 on the print settings screen 300A (see Figure 3A(a)).

[0066] In step S811, the drawing application 201 sends the print command received in step S811 to the general-purpose printing software 202.

[0067] In step S812, the general-purpose printing software 202 uses the OS module to generate intermediate data based on the print instructions in step S812.

[0068] In step S813, the general-purpose printing software 202 saves the print settings information (PT) based on the print instruction in step S812 to the shared information 208.

[0069] In step S814, the general-purpose printing software 202 sends the drawing data (image data) from the intermediate data generated in step S813 to the extended application 204.

[0070] In step S815, the intermediate data editing unit 207 of the extended application 204 retrieves the print settings information saved in step S813 from the shared information 208.

[0071] In step S816, the intermediate data editing unit 207 of the extended application 204 generates print data using the drawing data transmitted in step S814 and the print setting information acquired in step S815. This print data includes the thickness adjustment setting value (numerical information) received in step S807.

[0072] In step S817, the intermediate data editing unit 207 of the extended application 204 sends the print data generated in step S816 to the printing device 102 (transmission step). As mentioned above, the print data includes the thickness adjustment setting value received in step S807. This transmission also instructs the printing device 102 to perform printing based on the thickness adjustment setting (instruction step).

[0073] In step S818, the printing device 102 receives the print data transmitted in step S817. The printing device 102 interprets the print data and performs the necessary image processing on it. The image processing here involves adjusting the thickness of the print data based on the numerical information transmitted in step S816. This generates data that includes, for example, the image of line 1307 in Figure 3C(d), line 1311 in Figure 3C(g), or line 1313 in Figure 3C(j).

[0074] In step S819, the printing device 102 prints the print data that has undergone image processing in step S819. As a result, the printed material is a print of the print data with the thickness adjustment performed.

[0075] As described above, in the printing system 1000, even if the general-purpose printing software 202 does not support thickness adjustment settings, the extended application 204 can display the detailed settings screen 300C shown in Figure 3A(c). This detailed settings screen 300C allows the printing device 102 to perform thickness adjustment. As a result, the printing device 102 prints a document with the print data having been adjusted for thickness. In the explanation referring to Figure 8, the software configuration of the printing system 1000 is assumed to be the software configuration shown in Figure 2(b), and the detailed settings screen 300C shown in Figure 3A(c) is displayed, but it is not limited to this. For example, if a request to display detailed settings is made to the general-purpose printing software 202 in step S804, the general-purpose printing software 202 displays the detailed settings screen 300B shown in Figure 3A(b). In this case, after operating the control 309 on the detailed settings screen 300B, the general-purpose printing software 202 requests the extended application 204 to display an additional detailed settings screen. Next, the extended application 204 may display an additional detailed settings screen that allows for thickness adjustment settings. In this embodiment, the extended application 204 generates print data from the intermediate data generated by the general-purpose printing software 202, but it is not limited to this, and for example, the extended application 204 itself may generate the intermediate data.

[0076] <Second Embodiment> The second embodiment will be described below with reference to Figures 9 to 11, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. In the first embodiment, the extended application 204, together with the general-purpose printing software 202, generates print data including thickness adjustment settings. This print data is transmitted to the printing device 102. The printing device 102 can interpret the print data including thickness adjustment settings and perform thickness adjustment. Thus, in the first embodiment, the extended application 204, together with the general-purpose printing software 202, causes the printing device 102 to perform thickness adjustment.

[0077] However, some printing devices 102 are incapable of performing thickness adjustment. In this case, even if the extended application 204 generates print data including thickness adjustment settings, it is not possible to make the printing device 102 perform the thickness adjustment. If the printing device 102 is unable to perform thickness adjustment, it is preferable for the extended application 204 to generate print data with the thickness adjustment already performed and send it to the printing device 102.

[0078] Therefore, in this embodiment, based on the capability information of the printing device 102, it is determined whether or not thickness adjustment can be performed on the printing device 102. If, as a result of this determination, it is determined that thickness adjustment can be performed on the printing device 102, the extended application 204 generates print data including the thickness adjustment setting and sends it to the printing device 102. On the other hand, if it is determined that thickness adjustment cannot be performed on the printing device 102, the extended application 204 generates print data with thickness adjustment already performed on the drawing data and sends it to the printing device 102. This makes it possible to provide thickness adjustment to the user even when thickness adjustment cannot be performed on the printing device 102. This embodiment is the same as the first embodiment except that the configuration of the printing system 1000 when the extended application 204 is associated, the editing process of the PDC, and the processing after the drawing application 201 receives the print settings are different.

[0079] <Configuration of a software-centric printing system> Figure 9 is a block diagram showing the software configuration of a printing system according to the second embodiment. The block diagram shown in Figure 9 shows the configuration when the extended application 902 is associated with the general-purpose printing software 202 and the printing device 901. As shown in Figure 9, the host computer 101 has a drawing application 201, general-purpose printing software 202, printing function information 203, and the extended application 902. The extended application 902 is also connected to the printing device 901 in a communicative manner. Unlike the printing device 102 in the first embodiment, the printing device 901 is a printing device that cannot perform thickness adjustment. The extended application 902 has a print setting screen extension unit 205, an intermediate data editing unit 207, shared information 208, a notification unit 209, a printing function extension unit 903, and a thickness adjustment processing unit 904. The printing function extension unit 903 can add information regarding thickness adjustment to the printing function information 203 even when it is determined that thickness adjustment cannot be performed on the printing device 102 based on capability information obtained from the printing device 901. The thickness adjustment processing unit 904 adjusts the thickness of the intermediate data received from the general-purpose printing software 202 based on the thickness adjustment settings.

[0080] <Flowchart for editing print function information on the print function extension unit> Figure 10 is a flowchart showing the process by which the printing function extension unit edits the printing function information. The program based on the flowchart shown in Figure 10 is executed by the CPU 111 controlling the printing function extension unit 903. Furthermore, the flowchart shown in Figure 10 is the same as the flowchart shown in Figure 4, but with steps S1001 and S1002 added. As shown in Figure 10, when the repeated processing of steps S404 to S406 is completed, the process proceeds to step S1001. As mentioned above, this is a printing device in which thickness adjustment cannot be performed. Therefore, thickness adjustment is not added to the printing function information 203 after the processing of steps S404 to S406 is completed.

[0081] As shown in Figure 10, in step S1001, the printing function extension unit 903 determines whether or not the extension application 902 has a thickness adjustment processing unit 904, that is, whether or not the thickness adjustment processing unit 904 exists. If the determination in step S1001 determines that the thickness adjustment processing unit 904 exists, the process proceeds to step S1002. On the other hand, if the determination in step S1001 determines that the thickness adjustment processing unit 904 does not exist, the process ends. As mentioned above, the extension application 902 has a thickness adjustment processing unit 904, so the process proceeds to step S1002.

[0082] In step S1002, the print function extension unit 903 adds information regarding thickness adjustment to the print function information 203.

[0083] As described above, the extended application 902 can add functions (options) to the printing function information 203 that are not supported by the general-purpose printing software 202, are supported by the printing device 102, and are supported by the extended application 204. The extended application 902 then determines whether or not there is a thickness adjustment processing unit 904. If, as a result of this determination, it is determined that there is a thickness adjustment processing unit 904, then thickness adjustment is added to the printing function information 203. Due to this additional processing, even if the printing device 901 is unable to perform thickness adjustment, capability information is generated based on the printing function information 203 with thickness adjustment added. Based on this capability information, the extended application 902 can generate a display screen and display the detailed settings screen 300C shown in Figure 3A(c).

[0084] <Processing after the drawing application accepts the print settings> Figure 11 is a sequence diagram showing the processes executed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application accepts the print settings. Unlike the sequence diagram in Figure 8, the sequence diagram in Figure 11 executes steps S1201 to S1210 in order, instead of steps S812 to S819. As shown in Figure 11, after step S811 is executed, the process proceeds to step S1201.

[0085] In step S1201, the general-purpose printing software 202 uses the OS module to generate intermediate data based on the print instructions in step S1201.

[0086] In step S1202, the general-purpose printing software 202 saves the print settings information based on the print command in step S1201 to the shared information 208.

[0087] In step S1203, the general-purpose printing software 202 sends the drawing data from the intermediate data generated in step S1201 to the extended application 204.

[0088] In step S1204, the thickness adjustment processing unit 904 of the extended application 902 retrieves the print settings information saved in step S1202 from the shared information 208. Furthermore, the thickness adjustment processing unit 904 retrieves information regarding the thickness adjustment settings from the print settings information.

[0089] In step S1205, the thickness adjustment processing unit 904 obtains the capability information of the printing device 901 from the shared information 208. If the capability information of the printing device 901 is not stored in the shared information 208, the printing function expansion unit 903 can request the capability information from the printing device 901 and save that information in the shared information 208.

[0090] In step S1206, the thickness adjustment processing unit 904 determines whether or not the printing device 901 has a thickness adjustment function based on the capability information acquired in step S1205 (determination step). In this embodiment, the printing device 901 does not have a thickness adjustment function. Therefore, in step S1206, it is determined that the printing device 901 does not have a thickness adjustment function. If it is determined in step S1206 that the printing device 901 does have a thickness adjustment function, the process skips step S1207 and proceeds to step S1208.

[0091] In step S1207, the thickness adjustment processing unit 904 adjusts the thickness of the print data based on the thickness adjustment setting information obtained in step S1204, and saves the adjusted print data to the shared information 208. The thickness adjustment processing unit 904 also edits the thickness adjustment setting in the print setting information to "0" or deletes the thickness adjustment setting from the print setting information.

[0092] In step S1208, the intermediate data editing unit 207 generates printable print data (generation control process) using the thickness-adjusted print data stored in the shared information 208 in step S1207 and the print setting information acquired in step S1204. This print data (image data) is based on the thickness adjustment settings received on the detailed setting screen 300C or the detailed setting screen 300D.

[0093] In step S1209, the intermediate data editing unit 207 of the extended application 204 sends the print data generated in step S1208 to the printing device 901 (transmission step).

[0094] In step S1210, the printing device 901 interprets the print data transmitted in step S1209, performs the necessary image processing on the print data, and then prints. As a result, the printed material is a print of the print data with the thickness adjustment performed.

[0095] <Third Embodiment> The third embodiment will be described below with reference to Figures 12 to 17, focusing on the differences from the previously described embodiment, and similar matters will be omitted. In the second embodiment, if the printing device 901 does not have a thickness adjustment function, the thickness adjustment processing unit 904 reflects the thickness adjustment in the intermediate data. In contrast, if the printing device 901 has a thickness adjustment function, the printing device 901 can perform the thickness adjustment. There are various types of thickness adjustments for the printing device 901. For example, there is a printing device 901 that can adjust the thickness only for lines, and a printing device 901 that can specify a color and adjust the thickness only for that specified color. In this embodiment, if a type of thickness adjustment that the printing device 901 can perform is specified, the printing device 901 performs the specified thickness adjustment, and if a type of thickness adjustment that the printing device 901 cannot perform is specified, the thickness adjustment processing unit 904 performs the thickness adjustment.

[0096] <Flowchart for editing print function information on the print function extension unit> Figure 12 is a flowchart showing the process by which the printing function extension unit according to the third embodiment edits printing function information. Figure 13 is a diagram showing an example of a list of capabilities information for the printing device. Figure 14 is a diagram showing an example of a list of printing functions supported by the extension application. Figures 15 to 16B are diagrams showing examples of screens displayed on the display unit of the printing system. The thickness adjustment in Table 1701 shown in Figure 13 includes, as options, thickness adjustment amount (thickening width), characters, graphics, and color. The thickness adjustment in Table 1801 shown in Figure 14 includes, as options, thickness adjustment amount (thickening width), characters, lines, graphics, and color. In the flowchart shown in Figure 12, unlike the flowchart shown in Figure 10, steps S1101 and S1102 are executed instead of steps S1001 and S1002. When the repeated processing of steps S404 to S406 is completed, the printing device 901 has a thickness adjustment function that allows specifying characters, graphics, and colors, so these are added to the printing function information 203. This print function information 203 does not include the "ruled lines" function, which is one of the thickness adjustment functions that can be performed by the thickness adjustment processing unit 904.

[0097] As shown in Figure 12, when the repeated processing of steps S404 to S406 is completed, the process proceeds to step S1001. In step S1101, the printing function extension unit 903 determines whether or not there is a thickness adjustment processing unit 904 in the extension application 902. If the determination in step S1101 is that there is a thickness adjustment processing unit 904, the process proceeds to step S1102. On the other hand, if the determination in step S1101 is that there is no thickness adjustment processing unit 904, the process ends. As mentioned above, the extension application 902 has a thickness adjustment processing unit 904, so the process proceeds to step S1102.

[0098] In step S1102, the printing function extension unit 903 adds information regarding detailed thickness adjustment settings that can be performed by the thickness adjustment processing unit 904, rather than the detailed thickness adjustment settings that can be performed by the printing device 901, to the printing function information 203. Here, "Ruled Lines" from Table 1801 is added to the printing function information 203. As a result, the image displayed after pressing control 312 on the detailed settings screen 300C changes from the detailed settings screen 1500 shown in Figure 15 to the detailed settings screen 1600A shown in Figure 16A. The detailed settings screen 1500 includes controls 315, 317, 321, 323, and 324. The detailed settings screen 1500 also includes control 1501. Control 1501 is a color selection unit for selecting the color to be adjusted for thickness. Pressing control 1501 displays list 1502, which includes "All Colors," "Black," and "Other Colors" as colors to be adjusted for thickness, as well as "None" to indicate that no color should be adjusted for thickness. The user can then select the desired option from "All Colors," "Black," "Other Colors," and "None." Figure 15 shows an example where "None" is selected. The detailed settings screen 1600A differs from the detailed settings screen 1500 in that it includes an additional control 319. As a variation of the detailed settings screen 1600A, the detailed settings screen 1600B shown in Figure 16B is also available. The detailed settings screen 1600B includes controls 317, 319, 321, 323, 324, and 1501. Additionally, the detailed settings screen 1600B includes controls 1601, 1603, 1605, and 1607.

[0099] Control 1601 is a thickness selection section for selecting the thickness of the characters. Pressing Control 1601 displays List 1602. Control 1601 includes "-1" to decrease the thickness by 1 pixel, "0" to leave the thickness unchanged, "+1" to increase the thickness by 1 pixel, and "+1" to increase the thickness by 2 pixels. You can then select the desired option from "-1", "0", "+1", and "+1". Figure 16B shows an example where "-1" is selected. Control 1603 is a thickness selection section for selecting the thickness of the ruled lines. Pressing Control 1603 displays List 1604. Control 1603 includes "-1" to decrease the thickness of the ruled lines by 1 pixel, "0" to leave the thickness unchanged, "+1" to increase the thickness by 1 pixel, and "+1" to increase the thickness by 2 pixels. Then, you can select your desired option from "-1", "0", "+1", and "+1". Figure 16B shows an example where "+1" has been selected.

[0100] Control 1605 is a thickness selection section for selecting the thickness of a graphic. Pressing Control 1605 displays List 1606. Control 1605 includes "-1" to decrease the graphic thickness by 1 pixel, "0" to leave the thickness unchanged, "+1" to increase the thickness by 1 pixel, and "+1" to increase the thickness by 2 pixels. You can then select the desired option from "-1", "0", "+1", and "+1". Figure 16B shows an example where "-1" is selected. Control 1607 is a thickness selection section for selecting the thickness of a line with a color that you want to adjust. Pressing Control 1607 displays List 1608. Control 1607 includes "-1" to decrease the thickness of the line in question by 1 pixel, "0" to leave the thickness unchanged, "+1" to increase the thickness by 1 pixel, and "+1" to increase the thickness by 2 pixels. Then, you can select the desired option from "-1", "0", "+1", and "+1". Figure 16B shows an example where "+2" is selected. In this way, the detailed settings screen 1600B allows you to independently adjust the thickness of text, lines, graphics, and lines with a color that can be adjusted.

[0101] <Processing after the drawing application accepts the print settings> Figure 17 is a sequence diagram showing the processes executed between the drawing application, general-purpose printing software, extended application, and printing device after the drawing application accepts the print settings. In the sequence diagram shown in Figure 19, unlike the sequence diagram shown in Figure 11, steps S1901 to S1909 are executed instead of steps S1206 to S1210. Depending on the acceptance of detailed settings in step S807, the sequence is divided into two parts: the sequence in Figure 17 in which steps 1902 to S1905 enclosed in rectangle [a] is executed, and the sequence in which steps 1906 to S1909 enclosed in rectangle [b] is executed.

[0102] First, we will explain the process when selecting text, graphics, or color in the detailed settings for thickness adjustment. As shown in Figure 17, in step S1901, the thickness adjustment processing unit 904 determines, based on the capability information acquired in step S1205, whether the detailed settings received in step S807 can be processed by the printing device 901. Here, if the detailed settings are text, graphics, or color, it is determined that the printing device 901 can process them, and the process proceeds to step S1902.

[0103] In step S1902, the intermediate data editing unit 207 generates print data using the print data and print setting information.

[0104] In step S1903, the intermediate data editing unit 207 sends the print data generated in step S1902 to the printing device 901.

[0105] In step S1904, the printing device 901 interprets the print data transmitted in step S1903 and performs necessary image processing on the print data.

[0106] In step S1905, the printing device 901 prints the print data that was image-processed in step S1904. As a result, the printed material is a print of the print data in which thickness adjustments have been performed on either the characters, graphics, or colors.

[0107] Next, we will explain the process when a ruled line is selected in the detailed settings for thickness adjustment. In step S1901, the thickness adjustment processing unit 904 determines, based on the capability information acquired in step S1205, whether the detailed settings accepted in step S807 can be processed by the printing device 901. Here, if the detailed setting is a ruled line, it is determined that it cannot be processed by the printing device 901, and the process proceeds to step S1906.

[0108] In step S1906, the line thickness adjustment processing unit 904 adjusts the line thickness of the print data based on the line thickness adjustment settings information obtained in step S1204, and saves the adjusted print data to the shared information 208. The line thickness adjustment processing unit 904 also edits the line thickness adjustment setting in the print settings information to "0", or deletes the line thickness adjustment setting from the print settings information.

[0109] In step S1907, the intermediate data editing unit 207 uses the thickness-adjusted print data and print setting information stored in the shared information 208 to generate printable data for the printing device 901.

[0110] In step S1908, the intermediate data editing unit 207 sends the print data generated in step S1907 to the printing device 901.

[0111] In step S1909, the printing device 901 interprets the print data transmitted in step S1908, performs the necessary image processing on the print data, and then prints. As a result, the printed material will be a print of the print data in which thickness adjustments have been performed on either the characters, graphics, or colors, excluding the ruled lines.

[0112] As described above, the thickness adjustment setting has two settings in the printing device 901 based on the thickness adjustment setting. The first setting is the first setting, which allows printing to be performed by the printing device 901. The first setting includes thickness adjustment for characters, graphics, or colors. The second setting is the second setting, which does not allow printing to be performed by the printing device 901. The second setting includes thickness adjustment for ruled lines. When the thickness adjustment setting is the first setting, the printing device 901 can be instructed to perform printing based on the first setting (instruction step). On the other hand, when the thickness adjustment setting is the second setting, print data based on the second setting is generated (generation control step), and then the print data is sent to the printing device 901 (transmission step). With this configuration, the printing device 901 can be made to perform printing according to the type of thickness adjustment setting.

[0113] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of its gist. The present invention can also be realized by supplying a program that implements one or more of the functions of the above embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0114] Each embodiment of the disclosure includes the following programs, methods, and configurations. (Program 1) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, An application program characterized by performing an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen. (Program 2) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, An application program characterized by causing the program to perform a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus. (Program 3) The computer, Prior to the display control step, an acquisition step is performed to acquire capability information relating to the printing capability of the image forming apparatus from the image forming apparatus, An application program according to Program 2, characterized by causing the program to perform a determination step of determining whether the capability information acquired in the acquisition step includes information that enables printing based on the thickness adjustment setting. (Program 4) The application program according to Program 3, characterized in that, as a result of the determination in the determination step, if it is determined that the information that enables printing based on the thickness adjustment setting is included, the computer is instructed to perform an instruction step to instruct the image forming apparatus to perform printing based on the thickness adjustment setting received on the setting reception screen, and if it is determined that the information that enables printing based on the thickness adjustment setting is not included, the computer is instructed to perform the generation control step and the transmission step in order. (Program 5) The thickness adjustment setting includes a first setting that enables printing based on the thickness adjustment setting in the image forming apparatus, and a second setting that prevents printing based on the thickness adjustment setting. If the thickness adjustment setting is the first setting, the computer is instructed to perform an instruction step that instructs the image forming apparatus to perform printing based on the first setting. An application program according to any one of programs 2 to 4, characterized in that, when the thickness adjustment setting is the second setting, the computer is instructed to perform a generation control step of generating image data based on the second setting, and a transmission step of transmitting the image data generated in the generation control step to the image forming apparatus. (Program 6) An application program according to any one of Programs 1 to 5, characterized in that the setting reception screen includes a setting selection unit for selecting whether to enable or disable the setting for adjusting the thickness. (Program 7) An application program according to any one of Programs 1 to 6, characterized in that the setting reception screen includes a thickness selection section for selecting the line thickness as a setting for thickness adjustment. (Program 8) An application program according to any one of Programs 1 to 7, characterized in that the setting reception screen allows adjustment of the thickness of at least one of the characters, lines, and graphics. (Program 9) An application program according to Program 8, characterized in that it includes a setting selection unit for selecting whether to enable or disable the adjustment of at least one thickness. (Program 10) An application program according to any one of Programs 1 to 9, characterized in that the setting reception screen includes a forced restoration unit that forcibly restores the thickness adjustment setting to its initial state. (Program 11) An application program according to any one of Programs 1 to 10, characterized in that the function for accepting the setting of the thickness adjustment is a function that cannot be executed by the standard driver. (Program 12) An application program according to any one of Programs 1 to 11, characterized in that it is stored on a storage medium. (Method 1) A method for performing control that supports a standard driver provided by the provider of an operating system, which is a standard driver pre-installed in the operating system, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A control method characterized by comprising: an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen. (Method 2) A method for performing control that supports a standard driver provided by the provider of an operating system, which is a standard driver pre-installed in the operating system, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, A control method characterized by comprising a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus. (Configuration 1) An information processing device comprising a standard driver provided by the provider of an operating system, which is pre-installed in the operating system, and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, An information processing device characterized by performing an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen. (Configuration 2) An information processing device comprising a standard driver provided by the provider of the operating system, which is pre-installed in the operating system, and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, An information processing apparatus characterized by causing it to perform a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus. [Explanation of symbols]

[0115] 101 Host computer 102 Printing device 202 General-purpose printing software 204 Extended Applications 300C, 300D Detailed Settings Screen (Settings Acceptance Screen)

Claims

1. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, An application program characterized by performing an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen.

2. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, An application program characterized by causing the program to perform a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus.

3. To the aforementioned computer, Prior to the display control step, an acquisition step is performed to acquire capability information relating to the printing capability of the image forming apparatus from the image forming apparatus, The application program according to claim 2, characterized in that it performs a determination step of determining whether the capability information acquired in the acquisition step includes information that enables printing based on the thickness adjustment setting.

4. The application program according to claim 3, characterized in that, if the determination in the determination step determines that the information that enables printing based on the thickness adjustment settings is included, the computer is instructed to perform an instruction step to instruct the image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen, and if it is determined that the information that enables printing based on the thickness adjustment settings is not included, the computer is instructed to perform the generation control step and the transmission step in order.

5. The thickness adjustment setting includes a first setting that enables printing based on the thickness adjustment setting in the image forming apparatus, and a second setting that prevents printing based on the thickness adjustment setting. If the thickness adjustment setting is the first setting, the computer is instructed to perform an instruction step that instructs the image forming apparatus to perform printing based on the first setting. The application program according to claim 2, characterized in that, when the thickness adjustment setting is the second setting, the computer is instructed to perform a generation control step of generating image data based on the second setting, and a transmission step of transmitting the image data generated in the generation control step to the image forming apparatus.

6. The application program according to claim 1 or 2, characterized in that the setting reception screen includes a setting selection section for selecting whether to enable or disable the setting for adjusting the thickness.

7. The application program according to claim 1 or 2, characterized in that the setting reception screen includes a thickness selection section for selecting the thickness of the line as a setting for adjusting the thickness.

8. The application program according to claim 1 or 2, characterized in that the setting reception screen allows adjustment of the thickness of at least one of the following: characters, ruled lines, and graphics.

9. The application program according to claim 8, characterized in that it includes a setting selection unit for selecting whether to enable or disable the adjustment of at least one thickness.

10. The application program according to claim 1 or 2, characterized in that the setting reception screen includes a forced restoration unit that forcibly restores the thickness adjustment setting to its initial state.

11. The application program according to claim 1 or 2, characterized in that the function for accepting the setting of the thickness adjustment is a function that cannot be executed by the standard driver.

12. The application program according to claim 1 or 2, characterized in that it is stored on a storage medium.

13. A standard driver provided by the provider of the operating system, and a method for performing control that supports a standard driver pre-installed in the operating system, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A control method characterized by comprising: an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen.

14. A standard driver provided by the provider of the operating system, and a method for performing control that supports a standard driver pre-installed in the operating system, A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, A control method characterized by comprising a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus.

15. An information processing device comprising a standard driver provided by the provider of an operating system, which is pre-installed in the operating system, and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, An information processing device characterized by performing an instruction step of instructing an image forming apparatus to perform printing based on the thickness adjustment settings received on the setting reception screen.

16. An information processing device comprising a standard driver provided by the provider of an operating system, which is pre-installed in the operating system, and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. A display control process that displays a setting acceptance screen that accepts settings for adjusting the line thickness of the lines that make up the image to be printed, A generation control process that generates image data based on the thickness adjustment settings received on the setting reception screen, An information processing apparatus characterized by causing it to perform a transmission step of transmitting the image data generated in the generation control step to an image forming apparatus.