Application program, information processing device, and its control method
The extended application program addresses printing failures by alerting users to mismatched print settings and providing paper loading guidance, ensuring correct orientation and reducing errors.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2026-03-02
- Publication Date
- 2026-05-19
AI Technical Summary
Standard printer drivers do not provide warnings for correct orientation of papers like envelopes, leading to printing failures.
An extended application program that includes a determination means to alert users if print settings mismatch the printing device's settings, displaying guidance on how to load paper correctly.
Reduces printing failures by ensuring correct paper orientation through user alerts and guidance.
Smart Images

Figure 2026083229000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an extended application program, an information processing apparatus, and a storage medium.
Background Art
[0002] There is known a configuration in which a printer driver installed in a host computer is used as software for controlling a printing apparatus, and a printing instruction is given to the printing apparatus connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The printer driver is configured according to the specifications defined by the OS and is called from the OS to operate. Then, a vendor providing the printing apparatus provides a printer driver compatible with the specifications of the OS, so that a user can instruct the printing apparatus to print using that OS.
[0003] In recent years, in Windows (registered trademark), a standard class driver (hereinafter also referred to as "standard driver") that can be commonly used in printing apparatuses provided by a plurality of vendors has been provided. Since this standard driver is included in the OS package, by connecting an arbitrary printing apparatus to a host computer implementing that OS, printing can be easily performed using that printing apparatus. As a result, it is highly convenient because printing data can be transmitted to the printing apparatus for printing without separately installing a model-specific printer driver suitable for the connected printing apparatus. Also, the standard driver can specify a printing function according to the capability information (PrintDeviceCapabilities (hereinafter, "PDC")) generated based on information acquired from the connected printing apparatus. Thus, a user using the standard driver can specify a printing function according to the capabilities of the connected printing apparatus even though using one standard driver.
[0004] Furthermore, a standard driver can be associated with an application for extending functionality (hereinafter also referred to as an "extension application program" or "extension application"). This extension application can be provided by the vendor providing the printing device. By editing the PDC generated by the standard driver, the extension application can provide functions (extensions) that cannot be realized by the standard driver alone. Patent Document 1 describes a technique for extending functions such as stamping using an extension application. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2019-74906 [Overview of the project] [Problems that the invention aims to solve]
[0006] When loading paper for use in a printer, if the paper has a specific orientation, such as envelope paper, loading it in the wrong direction may result in printing failure. However, the standard driver mentioned above does not provide any warnings to the user to ensure that paper with a specific orientation, such as envelopes, is loaded correctly into the printer, which could lead to printing failures due to incorrect orientation.
[0007] The object of the present invention is to solve at least one of the problems of the prior art described above.
[0008] The object of the present invention is to provide a technology that can alert the user if the print settings of the print data do not match the print settings of the printing device when printing is performed by an extended application program. [Means for solving the problem]
[0009] To achieve the above objective, an extended application program according to one aspect of the present invention has the following configuration. That is, An extension application program that extends the functionality of a printer driver that can be used commonly for multiple different printing devices, A means of obtaining the print settings for a print job, A determination means for determining whether to display instructions on how to load paper in the printing device that performs printing based on the print job, based on the print settings, The device is characterized by having a display control means that, when the determination means determines that the guidance should be displayed, causes the guidance on how to set the paper to be displayed on the display unit. [Effects of the Invention]
[0010] According to the present invention, if the print settings of the print data do not match the print settings of the printing device, the user can be alerted, thereby reducing printing failures due to mismatched print settings.
[0011] Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are given the same reference numeral. [Brief explanation of the drawing]
[0012] The attached drawings are included in the specification and constitute part thereof, illustrating embodiments of the present invention and are used together with the description to explain the principles of the present invention. [Figure 1] A block diagram illustrating the configuration of the printing system according to Embodiment 1. [Figure 2] A functional block diagram schematically showing the functional configuration of the printing system according to this embodiment. [Figure 3] This figure shows an example of a print settings screen displayed by the print settings screen extension module of the extended application according to Embodiment 1. [Figure 4]Block diagram for explaining the PDC editing process by the printing function expansion module in the printing system according to Embodiment 1. [Figure 5] Flowchart for explaining the main processes in the PDC editing process by the printing function expansion module in the printing system according to Embodiment 1. [Figure 6] Flowchart for explaining the processing of the printing data editing module for displaying guidance on the paper setting method in the printing system according to Embodiment 1. [Figure 7] Diagram showing an example of the printing setting information (PT) when guiding the paper setting method in Embodiment 1. [Figure 8] Diagram showing an example of the paper setting method guidance screen displayed in S603 of FIG. 6. [Figure 9] Flowchart for explaining the processing by the printing data editing module for changing the printing settings in the printing system according to Embodiment 2. [Figure 10] Diagram showing an example of the printing setting change confirmation screen according to Embodiment 2. [Figure 11] Flowchart for explaining the processing by the printing data editing module for displaying a notice of mismatch between the printing settings and the paper information of the printing device in the printing system according to Embodiment 3. [Figure 12] Flowchart for explaining the display processing (S1101) of the printing setting mismatch screen by the printing data editing module according to Embodiment 2. [Figure 13] Diagram showing an example of the printing setting mismatch screen according to Embodiment 3.
Mode for Carrying Out the Invention
[0013] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the present invention according to the claims, and not all combinations of the features described in this embodiment are essential for the solution means of the present invention. The same reference numerals are assigned to the same components, and the description thereof will be omitted.
[0014] [Embodiment 1] FIG. 1 is a block diagram for explaining the configuration of a printing system according to Embodiment 1.
[0015] This printing system includes a host computer 101, and in FIG. 1, mainly shows the hardware configuration of the host computer 101 at the center. The host computer 101 is an example of an information processing device. The host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, an input / output interface 116, and a network interface (NETI / F) 120. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115. The NETI / F 120 controls data transfer with external devices via a network. In the example of FIG. 1, the display unit 119, the pointing device 117, and the keyboard 118 are described as examples of devices separate from the host computer 101, but these may be included in the host computer 101. Also, the display unit 119 may be a touch panel display having the function of an input / output device. An initialization program is stored in the ROM 112. An application program group, an operating system (OS), printing data generation software, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory or the like when executing various programs stored in the external storage device 114, whereby various programs can operate within the host computer 101. In Embodiment 1, the CPU 111 executes the functions and processes described below in the host computer 101 by performing processing according to the procedures of the programs stored in the ROM 112.
[0016] The output device, the printing device 102, is connected to the host computer 101 via the input / output interface 116. In the example shown in Figure 1, the host computer 101 and the printing device 102 are shown as separate entities, but they may also be configured as a single information processing device. The printing device is described using an inkjet printer that prints by ejecting ink onto the paper surface as an example, but printing may be performed by other methods (e.g., electrophotography).
[0017] The host computer 101 may be a desktop PC, a smartphone, a tablet device, or a laptop computer. The input / output interface 116 may be wired or wireless. The host computer 101 and the printer 102 may be connected via a LAN or a WAN such as the Internet.
[0018] Figure 2 is a functional block diagram schematically showing the functional configuration of the printing system according to the embodiment. Here, the explanation assumes a printing system using a host computer 101 equipped with Microsoft's Windows® 11 as the OS, but a configuration including Windows® 10 may also be used.
[0019] Figure 2(a) shows a typical configuration when the extended application is not associated with the print data generation software 202 and the printing device 102. In other words, it shows the configuration of a printing system without the extended application.
[0020] On the other hand, Figure 2(b) shows the configuration of the printing system according to Embodiment 1, in which the extended application 204 is associated with the print data generation software 202 and the printing device 102.
[0021] First, referring to Figure 2(a), we will explain an example of the functionality of a typical printing system, using the host computer 101 as an example.
[0022] A typical printing system includes a drawing application 201 and print data generation software 202. Print function information 203 is stored in RAM 113 or an external storage device 114. The drawing application 201 and print data generation software 202 are programs that can run on the host computer 101.
[0023] The drawing application 201 is software that creates content (drawing data) to be printed. Examples of drawing applications 201 include various user-operated applications such as word processing applications and spreadsheet applications. When the drawing application 201 receives a print request from the user, it issues a print command to the OS. This print command includes print setting information to instruct the operation of the print data generation software 202 and the printing device 102. This print setting information is also called a PrintTicket (hereinafter abbreviated as "PT").
[0024] The drawing application 201 can display a print settings screen provided by either the print data generation software 202, the OS, or the drawing application 201 in order to set print settings information (PT). This print settings screen includes setting items (hereinafter also called "control items") that indicate the configurable printing functions and control items that indicate their setting values. The control items on this print settings screen are displayed according to the capability information (information that can be set as print settings) obtained from the print data generation software 202. This capability information is also called PrintCapabilities (hereinafter abbreviated as "PC"). The print data generation software 202 determines PT and PC based on the print function information 203. The print function information 203 is data indicating the printing functions that describes all configurable printing functions, their setting values, and the mutual exclusion relationships between the setting values. The print function information 203 is also called PDC (PrintDeviceCapabilities). The print function information 203 is included in the configuration file of the print data generation software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, the print function information 203 can be dynamically generated by the print data generation software 202.
[0025] Specifically, the print data generation software 202 or the OS can be configured to acquire attribute data of the printing device 102 from the printing device 102 and generate print function information 203 according to the attribute information in the acquired attribute data. When the print function information 203 is generated dynamically, the generated print function information 203 is editable. The attribute data of the printing device 102 acquired from the printing device 102 is the response data obtained by issuing the IPP Get-Printer-Attributes operation to the printing device 102. IPP stands for InternetPrintProtocol. This response includes attribute information indicating the functions that can be specified by the printing device 102 (the capabilities of the printing device 102) and setting values related to that attribute information. This response data is stored in RAM 113. With this configuration, the print data generation software 202 can be configured so that the user can specify the print functions available on the connected printing device 102. In other words, even when printing devices with different functions, or printing devices developed by different vendors, are connected, the print data generation software 202 can be configured so that the user can specify the available printing functions according to the connected printing device.
[0026] This section describes a configuration using IPPClassDriver, which is included in Windows® 10, as the print data generation software 202. IPPClassDriver 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. IPPClassDriver is not a printer driver specific to the model of the connected printer, but a standard class driver that can be used in common for multiple printers. Furthermore, IPPClassDriver acquires attribute information of the connected printer so that the user can specify the printing functions supported by the connected printer, and generates print function information 203 based on that information. In this way, IPPClassDriver, the print data generation software 202, can dynamically generate print function information 203 (PDC).
[0027] The print settings information (PT) specified through the print settings screen displayed based on the capability information PC derived from the print function information 203 (PDC) is included in the print instruction output from the drawing application 201. In addition to the print settings information (PT), the print instruction output from the drawing application 201 also includes the data to be drawn.
[0028] The OS generates intermediate data (also called input data) based on the print instructions output from the drawing application 201 and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is either GraphicDeviceInterface format data (GDI format data) or XMLPaperSpecification format data (XPS format data).
[0029] When using IPPClassDriver as the print data generation software 202, if the data output by the drawing application 201 is in GDI format, the OS performs a data format conversion. Specifically, the OS converts the GDI format data output from the drawing application 201 into XPS format data. Then, it passes this converted XPS format data to the print data generation software 202 as intermediate data.
[0030] On the other hand, if the data output by the drawing application 201 is in XPS format, the OS passes the XPS format data to the print data generation software 202 as intermediate data. The intermediate data includes drawing data, which is information about the image to be formed on the paper, and print setting information (PT) set by the user. The print data generation software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102 and sends it to the printing device 102.
[0031] Furthermore, print data includes drawing data, which is information about the image to be formed on the paper, and print setting attribute information (attribute information that specifies print settings) generated based on the print setting information set by the user. The print setting attribute information includes attribute information that indicates the functions that can be specified on the connected printing device (capabilities of the printing device), and setting values related to that attribute information.
[0032] The printing device 102 prints on the paper based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data contained in the print data on the paper in accordance with the print setting attribute information contained in the print data. The print setting attribute information includes attribute information and setting values for specifying print quality (e.g., image quality priority or speed priority), and double-sided printing. For example, if the print setting attribute information includes attribute information for specifying double-sided printing, the printing device 102 will perform double-sided printing.
[0033] Figure 2(b) illustrates the case in Embodiment 1 where the extended application 204 is associated with the print data generation software 202 and the printing device 102. Note that configurations and processes not specifically mentioned below are equivalent to those in Figure 2(a).
[0034] The extension application 204 is software that extends the functionality of the print data generation software 202, and is not pre-installed (not bundled) with the OS. Therefore, the user must operate the host computer 101 to download the extension application 204 from a server via the Internet and install it on the host computer 101. Alternatively, the extension application 204 may be automatically installed on the host computer 101 based on the connection of the printer 102 to the host computer 101.
[0035] Specifically, when a printer 102 is connected to the host computer 101, the OS obtains device identification information from the printer 102. The OS may also download an extension application 204 corresponding to the obtained device identification information from a server via the internet and install it on the host computer 101. In this way, the print data generation software 202 and the extension application 204 are stored as separate files on the host computer 101. Note that the print data generation software 202 and the extension application 204 may be updated and upgraded, but this update process is also performed at different times. In other words, the timing at which the host computer 101 obtains the print data generation software 202 and the timing at which it obtains the extension application 204 are different.
[0036] Furthermore, the triggers for acquiring the print data generation software 202 by the host computer 101 and the triggers for acquiring the extended application 204 are different. When the extended application 204 is installed, the OS associates the extended application 204 with the print data generation software 202 and the corresponding printing device 102.
[0037] The extended application 204 according to Embodiment 1 includes a print settings screen extension module 205, a skip control module 206, a print function extension module 207, a print data editing module 208, and a notification module 209. The extended application 204 also includes shared information 210 that can be accessed from all modules. The shared information 210 is in the form of a file stored in the external storage device 114 or information stored on the RAM 113.
[0038] The extended application 204 uses the API (ApplicationProgramInterface) provided by the OS to write and read information to and from the shared information 210. The extended application 204 may terminate its operation after each module has finished processing. In this case, the OS will start the extended application 204 each time a request to use a module is received. Other configurations are also possible. For example, the OS may terminate the extended application 204 after the print settings screen extended module 205 has finished processing, but may keep the extended application 204 running even after the skip control module 206 has finished processing. Furthermore, the extended application 204 may cancel processing within each module's processing. If the extended application 204 cancels processing, the OS will delete the jobs currently being processed on the print queue.
[0039] When the drawing application 201 receives a print request from the user, it issues a print command to the OS. This print command includes print setting information (PT), similar to the configuration in Figure 2(a). Even under the configuration in Figure 2(b), the drawing application 201 can display a print settings screen for specifying the print setting information (PT), similar to the configuration in Figure 2(a).
[0040] Furthermore, in the configuration shown in Figure 2(b), the print settings screen provided by the extended application 204 is displayed. Specifically, the print settings screen provided by the print settings screen extension module 205, which is included in the extended application 204, is displayed. In other words, the display of the print settings screen is controlled by the print settings screen extension module 205. Whether or not the print settings screen provided by the print settings screen extension module 205 is displayed depends on the user's operation. In addition, the print settings screen extension module 205 can also extend the display items of the print settings screen provided by the OS based on information obtained from the printing device 102 and information related to the drawing application 201. This function will be described later with reference to Figure 4.
[0041] When the drawing application 201 receives a print request from the user and a print command is issued to the OS, the OS activates the skip control module 206. The skip control module 206 performs control processing to determine whether or not to perform a skip process that skips the processing of the print data generation software 202. The skip control module 206 cannot obtain intermediate data or print setting information. After the skip control processing by the skip control module 206, the OS generates intermediate data based on the print command output from the drawing application 201 and passes this intermediate data to the print data generation software 202. If the skip control module 206 does not perform a skip process, the intermediate data is converted into print data that can be interpreted by the printing device 102 by the print data generation software 202 and passed to the print data editing module 208.
[0042] On the other hand, if the print data generation software 202 skips processing, the intermediate data generated by the OS is not processed by the print data generation software 202 but is passed to the print data editing module 208. This makes it possible to process the intermediate data in the print data editing module 208. An example where it is preferable to skip processing by the print data generation software 202 is when scaling is to be performed in the print data editing module 208. This intermediate data can be stored in vector format. Vector format data degrades less when scaled compared to raster format data. Therefore, if the print data generation software 202 outputs raster format image data, it is generally preferable to skip processing by the print data generation software 202 and process the intermediate data in the print data editing module 208.
[0043] The print data editing module 208 edits intermediate data received from the OS or print data processed by the print data generation software 202. For example, in the case of layout printing, the print data editing module 208 modifies the layout of the intermediate data or print data based on the layout printing settings information received from the OS. Layout printing, for example, involves allocating data from N pages onto one page for printing, and is sometimes called Nin1 or N-up (where N represents the number of pages).
[0044] Furthermore, the print data editing module 208 can display a UI screen on the display unit 119, and can display the layout result of intermediate data or print data as a preview screen. After the print data editing module 208 edits the print data, the print data is passed to the printing device 102 via the OS. The printing device 102 prints on the paper based on the received print data. If the skip control module 206 skips the processing by the print data generation software 202, the print data editing module 208 may convert the intermediate data received from the OS into print data that the printing device 102 can interpret.
[0045] Furthermore, the extended application 204 includes a print function extension module 207. The print function extension module 207 can edit the print function information 203 (PDC) generated by the print data generation software 202 or the OS. In other words, the print function extension module 207 can modify the print function information 203 even if it is stored in the external storage device 114 as an immutable file.
[0046] Thus, the extended application 204 has the function of editing the print function information 203 (PDC). The print function extension module 207 can add functions provided by the extended application 204. In addition, the print function extension module 207 can also add functions that are supported by the printing device 102 but not by the print data generation software 202, and add mutual exclusion relationships between print function settings, etc.
[0047] The OS starts the print function extension module 207 when the extension application 204 is first associated with the printer 102 and the print data generation software 202. Furthermore, the OS may start the print function extension module 207 at any other time, such as when the OS starts up. This allows the print function extension module 207 to detect and add to the print function information 203 any additional optional equipment (e.g., a finisher) added to the printer 102 that expands the printing functionality.
[0048] The extended application 204 also has a notification module 209. The notification module 209 can display a notification to the user in response to an error occurring in the printer 102. For example, if a no-paper error occurs in the printer 102, the print data generation software 202 detects the error. The OS then uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification module 209 of the extended application 204, and the UI screen of the notification module 209 is displayed. This UI screen of the notification module 209 can display, for example, a detailed message about the no-paper error and / or instructions on how to load paper. Pressing the toast notification includes not only a click operation on a pointing device, but also a touch or tap operation on a touch panel display.
[0049] Furthermore, the configuration of the extended application 204 for realizing Embodiment 1 is not limited to having all of the aforementioned functions (modules), but may have only some of those functions, or other functions. The extended application 204 may also simply be called printing software.
[0050] As described above, the extended application 204 according to Embodiment 1 includes at least one of the following functions. These functions are: a function to display a print settings screen (print settings screen extension module 205); a function to control whether or not to skip processing in the print data generation software 202 (skip control module 206); a function to edit print data output to the printing device (print data editing module 208); a function to extend the functions that can be specified in the print data generation software 202 (print function extension module 207); and a function to display a UI screen in response to the occurrence of an error in the printing device 102 (notification module 209).
[0051] Figure 3 shows an example of the print settings screen displayed by the print settings screen extension module 205 of the extended application 204 according to Embodiment 1. This print settings screen is generated by capability information (PC) based on PDC203 edited by the print function extension module 207.
[0052] Figure 3(a) shows the print settings screen 301, which is an example of a screen displayed by the print settings screen extension module 205. The print settings screen extension module 205 is called by the OS when the user instructs the display of the print settings screen on the drawing application 201. Based on capability information (PC) and shared information 210 obtained from the OS, the print settings screen extension module 205 displays a screen in which the user can specify the settings values of the print functions that can be specified in the print data generation software 202. Control 302 is a control item that allows setting the type of paper to be used for printing, for example, items such as plain paper and photo paper can be set. Control 303 is a control item that allows setting the paper size to be used for printing, for example, items such as A4 and letter can be set. In Figure 3(a), the type of paper to be used for printing is displayed as "plain paper" and the paper size as "A4".
[0053] Figure 3(b) shows the display state when control 303 is expanded, and list 310 displays a list of paper sizes that can be selected by the user.
[0054] The control 304 in Figure 3(a) is a control that allows setting the paper feed slot for the printer 102, and can be set to items such as the main tray or the rear tray. In Figure 3(a), "Automatic" is displayed. Figure 3(c) shows the display state when the control 304 is expanded, and list 311 displays a list of paper feed slots that can be selected by the user. In this list 311, "Automatic," "Main Tray," and "Rear Tray" are displayed, and any of these can be selected.
[0055] In Figure 3(a), control 305 is a control item that allows you to set the print orientation, and you can set it to portrait or landscape. In Figure 3(a), "Portrait" is selected. Control 306 is a control item that allows you to switch between enabling and disabling duplex printing, and in Figure 3(a), "Duplex Printing" is selected. Control 307 is a control item that allows you to set the binding direction when printing duplex, and you can set items such as long edge binding and short edge binding. In Figure 3(a), "Long edge binding" is selected. Control 309 is a cancel button, and the screen closes without saving the settings. Control 308 is an OK button, and the screen closes after saving the settings on this screen.
[0056] Figure 4 is a block diagram illustrating the editing process of the PDC by the printing function extension module 207 in the printing system according to Embodiment 1.
[0057] The print data generation software 202 acquires capability information 402 from the printing device 102 connected to the host computer 101, and generates a PDC 203 based on that information. The capability information 402 acquired from the printing device 102 includes information that the user can set as print settings when printing to the printing device 102. The OS 401 requests the print function extension module 207 of the extended application 204 to edit the PDC 203 when the extended application 204 is associated with the print queue for the printing device 102, etc. In addition to the time when the extended application 204 is first associated, the OS 401 also requests the editing of the PDC 203 when the print settings screen is opened by the print settings screen extension module 205, etc.
[0058] When the print function extension module 207 receives a PDC editing request from the OS401, it retrieves the PDC203 generated by the print data generation software 202 and begins editing the PDC203. Details of the print function extension through editing the PDC203 are described below.
[0059] Figure 5 is a flowchart illustrating the main processes of the PDC editing process performed by the printing function extension module 207 in the printing system according to Embodiment 1. In the following description, since the CPU 101 functions as the printing function extension module 207 to realize this process, the CPU 101 will be described as the main entity of each process. The process shown in the flowchart of Figure 5 is started when the extension application 204 receives a PDC editing instruction from the OS 401.
[0060] In S501, the CPU 101 obtains capability information from the printer 102. The capability information 402 is included in the response obtained by issuing the IPP Get-Printer-Attributes operation to the printer 102. This capability information 402 includes attribute information indicating the functions (Features) that can be specified on the printer 102, and setting values (Options) associated with that attribute information. Note that the Feature names and Option names used in the following explanation are merely examples, and other names (information indicating functions) and setting values may also be used.
[0061] Next, the process proceeds to S502, where the CPU 101 retrieves a list of printing functions supported by the extended application 204 from the shared information 210. The list of printing functions supported by the extended application 204 is stored in the shared information 210 and includes all printing functions that the extended application 204 can process and their settings. The list of printing functions supported by the extended application 204 includes functions that can be set during printing, such as paper size and media (paper type), as well as the settings that can be set for each function. Note that the list of printing functions supported by the extended application 204 may be updated due to updates to the extended application 204.
[0062] Next, the process proceeds to S503, where the CPU 101 obtains the PDC 203 created by the print data generation software 202 from the OS 401. The PDC 203 created by the print data generation software 202 is created based on the capability information obtained from the printing device 102 by executing the print data generation software 202.
[0063] Next, proceeding to S504, the CPU 101 extends the printing functionality of the PDC 203 by adding candidate option settings for features that can be specified by the printing device 102, which are supported by the extended application 204.
[0064] The user now specifies print settings, including extended print settings, from the print settings screen 301 in Figure 3(a) or the print settings screen of the drawing application 201, and prints to the print queue associated with the extended application 204. This causes the OS 401 to call the skip control module 206. The skip control module 206 can control whether or not to skip the processing of the print data generation software 202.
[0065] In Embodiment 1, the conversion from intermediate data to print data is described in a configuration in which the conversion is performed by the print data editing module 208 rather than the print data generation software 202. However, this does not limit the present invention, and the intermediate data may also be converted by the print data generation software 202. In Embodiment 1, the skip control module 206 performs skip control of the print data generation software 202. When the skip control module 206 finishes processing, the intermediate data is passed from the OS 401 to the print data generation software 202. In Embodiment 1, the intermediate data is passed to the print data generation software 202 regardless of whether skip control is performed or not, but it is also possible to have a configuration in which the intermediate data is passed directly to the print data editing module 208 when skip control is performed. In Embodiment 1, the skip control module 206 does not display anything on the display unit 119. The intermediate data is passed to the print data generation software 202, and processing of the print data generation software 202 is skipped based on the skip control of the skip control module 206. Subsequently, the intermediate data is passed to the print data editing module 208 by OS401.
[0066] Figure 6 is a flowchart illustrating the processing of the print data editing module 208 for displaying instructions on how to load paper in the printing system according to Embodiment 1. Note that each processing step shown in this flowchart is implemented by the CPU 101 executing the extended application 204 and each module; therefore, the CPU 101 will be described as the main processor. The processing shown in this flowchart begins when the print data editing module 208 receives intermediate data from the print data generation software 202.
[0067] First, in S601, the CPU 101, which executes the print data editing module 208, obtains the intermediate data received from the print data generation software 202 and the print settings contained in that intermediate data. Next, proceeding to S602, the CPU 101 determines whether to display instructions on how to load paper in the printing device used for printing, based on the print settings obtained in S601. The combination of paper type and paper size to be used as the criterion for determining whether to display the instructions is set in advance and stored in the shared information 210. In Embodiment 1, envelope printing is used as an example, but any combination of paper settings can be used as long as the paper has a specific orientation.
[0068] Normally, when printing on plain A4 paper, there is no top / bottom or front / back orientation, so the method of loading the paper into the printer 102 is not a concern. However, when printing on envelopes, if the paper is loaded into the rear tray of the printer 102 with the flap facing outwards, the printer may misjudge the paper size, potentially causing the print position to be misaligned. Similarly, if there is a postal code printing area on a postcard or similar, incorrect orientation of the paper during loading will result in the same problem.
[0069] In S602, the CPU 101 determines whether it is necessary to display a screen guiding users on how to load paper. If it determines that it is not necessary, the process proceeds to 605, where the CPU 101 converts the job's intermediate data from XPS format to PDL format, which is print data that the printer 102 can interpret. Then, the process proceeds to S606, where the CPU 101 passes the print data converted in S605 to the OS 401, which then sends it to the printer 102. Printing is then performed by the printer 102.
[0070] On the other hand, if the CPU 101 determines in S602 that it is necessary to display instructions on how to load the paper, it proceeds to S603. In S603, the CPU 101, which executes the print data editing module 208, displays a screen showing instructions on how to load the paper. This visually shows the user how to load the envelopes into the printer 102. Once the loading of the envelopes into the printer 102 is complete, the process proceeds to S604. In S604, if the CPU 101 selects "Start Printing" on that screen, it proceeds to S605 and executes the aforementioned process; if "Cancel" is selected, it proceeds to S607. In S607, the CPU 101 executes the print job cancellation process and terminates this process.
[0071] Figure 7 shows an example of print setting information (PT) 701 when displaying instructions on how to load paper in Embodiment 1.
[0072] This print setting information is acquired by CPU101 in S601 along with intermediate data. Reference number 702 specifies a No. 3 long envelope as the paper size. Reference number 703 is the paper feed setting for printer 102, which is set to "automatic". Reference number 704 specifies the paper type, which is envelope.
[0073] In this case, S602 determines whether to proceed to processing S603 based on PT701. In Embodiment 1, the conditions for displaying the paper loading method guidance in S603 are that the paper size is long size 3, the paper type is an envelope, and the paper feed slot is automatic or the rear tray. In the PT701 settings in Figure 7, the paper size is long size 3, the paper feed slot setting is automatic, and the paper type is an envelope, so the conditions for displaying the paper loading method guidance are met, and the process proceeds from S602 to S603.
[0074] Figure 8 shows an example of the paper loading method guidance screen 801 displayed on the S603.
[0075] This guidance screen 801 displays a message and illustration instructing the user on the paper loading direction included in the print settings, and, if the paper is an envelope, on how to load the envelope into the rear tray with the flap facing upwards. Therefore, the user can load the paper according to the instructions. If the user loads the paper into the printer 102 according to the instructions on this screen 801 and executes printing, the user confirms that the paper is loaded and then presses the print start button 803. On the other hand, if the user wishes to cancel printing, the user presses the cancel button. S604 determines which button the user pressed.
[0076] As described above, according to Embodiment 1, by extending the paper loading guidance function with an extended application, the correct method of loading the printing paper can be presented to the user. This reduces printing failures due to incorrect paper loading.
[0077] Furthermore, although Embodiment 1 used an envelope as an example, the same effect can be obtained by providing instructions on how to load the paper, regardless of the combination of paper type and size, as long as the orientation of the paper is important.
[0078] In Embodiment 1, the conditions for displaying instructions on how to load paper were set to "long paper size No. 3, paper type envelope, and paper feed slot automatic or rear tray." Other combinations of settings may also be conditions for displaying instructions on how to load paper, and the extended application may store multiple such conditions.
[0079] Furthermore, in Embodiment 1, the determination was made based on the paper size, paper type, and paper feed slot settings, but the instructions for loading the paper may be displayed based on the setting value of any of the setting items. For example, if the paper type is an envelope, the instructions for loading the paper may be displayed regardless of the paper size or paper feed slot.
[0080] [Embodiment 2] Next, Embodiment 2 will be described. In Embodiment 2, if printing is not possible with the current print settings based on the print settings and the paper information set in the printer 102, the system automatically changes to printable print settings and continues printing. At this time, the extended application displays a confirmation screen asking whether it is OK to change to printable print settings. Note that configurations and processes not mentioned in the following description are the same as in Embodiment 1, and therefore their descriptions will be omitted.
[0081] Figure 9 is a flowchart illustrating the processing performed by the print data editing module 208 in the printing system according to Embodiment 2, which modifies the print settings. Each processing step shown in this flowchart is implemented by the CPU 101 executing the extended application 204 and each module; therefore, the CPU 101 will be described as the main processor. The processing shown in this flowchart begins when the print data editing module 208 receives intermediate data from the print data generation software 202. In Figure 9, the same processing steps as those in Figure 6 are given the same reference numbers, and their explanations are omitted.
[0082] In S901, the CPU 101 executes the print data editing module 208 and obtains information about the paper loaded in each paper feed slot of the printer 102. Next, in S902, the CPU 101 compares the intermediate data received from the print data generation software 202 in S601, the print settings contained in that intermediate data, and the paper information of the printer 102 obtained in S901 to determine whether printing is possible. Printing is impossible if the paper feed slot, paper type, and paper size selected in the print settings differ from the paper information for each paper feed slot of the printer 102. If S902 determines that printing is possible, the process proceeds to S605.
[0083] On the other hand, if the CPU 101 determines in S902 that printing is not possible, it proceeds to S903 and displays a print setting change confirmation screen on the display unit 119. The print setting change confirmation screen will be described later with reference to Figure 10. Then, proceeding to S904, the CPU 101 waits on that screen for the user to select either the print start button 1003 or the cancel button 1002. If the print start button 1003 is pressed, proceeding to S905, the CPU 101 changes the print settings included in the intermediate data to settings that can be printed with the paper loaded in the printer 102 and proceeds to S605. On the other hand, if the cancel button 1002 is selected, proceeding to S607, the CPU 101 executes the print job cancellation process and terminates this process.
[0084] Figure 10 shows an example of a screen for confirming changes to print settings according to Embodiment 2.
[0085] This screen is displayed on the display unit 119 when S903 in Figure 9 is executed. This screen displays a message indicating that the current print settings cannot be used to print on the paper loaded in the printer 102, and also displays a list of alternative print settings (paper size, paper type, paper feed slot). If the user agrees to print with the changed print settings, they select the print start button 1003. In this case, the print settings are changed according to the display, and the print job is executed using the printer 102. On the other hand, if the user does not agree to print with the changed print settings, they select the cancel button 1002. In this case, the print job is canceled in S607.
[0086] As described above, according to Embodiment 2, even if an extended application attempts to print with print settings that are not possible on the printer, the printer can be used to perform the printing operation by changing the printer's print settings to print settings that enable printing. Furthermore, Embodiment 1 may be combined with Embodiment 1 to form a single printing system.
[0087] [Embodiment 3] Next, Embodiment 3 will be described. In Embodiment 3, if printing is not possible with the current print settings based on the print settings of the print data and the paper information set in the printer, the extended application displays a screen notifying the user that printing is not possible. Note that configurations and processes not mentioned in the following description are the same as those in Embodiments 1 and 2, and therefore will not be described.
[0088] Figure 11 is a flowchart illustrating the processing performed by the print data editing module 208, which displays a mismatch notification between the print settings and the paper information of the printing device 102, in the printing system according to Embodiment 3. Each processing step shown in this flowchart is implemented by the CPU 101 executing the extended application 204 and each module; therefore, the CPU 101 will be described as the main processor. The processing shown in this flowchart begins when the print data editing module 208 receives intermediate data from the print data generation software 202. In Figure 11, the same processing steps as those described in Figures 6 and 9 are given the same reference numbers, and their explanations are omitted.
[0089] In S902, the CPU 101 compares the intermediate data received from the print data generation software 202, the print settings contained in the intermediate data, and the information of the paper set in each paper feed slot from the printer 102 to determine whether printing is possible. If it is determined that printing is not possible, the process proceeds to S1101, where the CPU 101 displays a print setting mismatch screen, for example, as shown in Figure 13. Then, in S1102, the CPU 101 waits for the user to select either the retry button or the cancel button on that screen. If the cancel button is selected, the process proceeds to S607, where the print job cancellation process is executed and the process ends. On the other hand, if the user selects the retry button in S1102, the process proceeds to S901, where the aforementioned process is executed.
[0090] Figure 12 is a flowchart illustrating the display process (S1101) of the print setting mismatch screen by the print data editing module 208 according to Embodiment 2. Note that each processing step shown in this flowchart is realized by the CPU 101 executing the extended application 204 and each module; therefore, the CPU 101 will be described as the main processor.
[0091] First, in S1201, CPU101 retrieves PDC203. Next, in S1202, CPU101 uses PDC203 to determine if the paper type and size specified in the print settings can be fed from the paper feed slot specified in the print settings. If CPU101 determines in S1202 that paper feeding is possible, it proceeds to S1203 and displays a print setting mismatch screen that allows for a retry by changing the paper and re-evaluating. On the other hand, if CPU101 determines in S1202 that paper feeding is not possible, it proceeds to S1204 and displays a print setting mismatch screen that does not allow for a retry.
[0092] Figure 13 shows an example of a print setting mismatch screen according to Embodiment 3.
[0093] Figure 13(a) shows an example of the screen displayed in S1203. If the user wishes to change (reset) the paper loaded in the printer 102 and try again, following the instructions on screen 1301, the user selects the retry button 1303. On the other hand, if the user wishes to cancel printing, the user selects the cancel button 1302. The CPU 101 determines which button the user pressed in S1102.
[0094] Figure 13(b) shows the screen displayed in S1204, which appears when paper that cannot be loaded into the paper feed slot of the printer 102 specified in the print settings is selected. In this case, printing using printer 102 is not possible with the current print settings. Therefore, the user selects the cancel button 1303 to cancel the print job. The CPU 101 determines which button the user selected in S1102.
[0095] As described above, according to Embodiment 3, even if an extended application attempts to print with print settings that are not possible to print on the printing device, the user is notified of the reason why printing could not be performed, making it easy to correct the print settings. Furthermore, this embodiment may be combined with Embodiment 1 to form a single printing system.
[0096] (Other embodiments) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described 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. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0097] This specification and drawings disclose the following extended application programs, information processing devices, and storage media.
[0098] [Item 1] An extension application program that extends the functionality of a printer driver that can be used commonly for multiple different printing devices, A means of obtaining the print settings for a print job, A determination means for determining whether to display instructions on how to load paper in the printing device that performs printing based on the print job, based on the print settings, When the determination means determines that the guidance should be displayed, the display control means causes the guidance on how to set the paper to be displayed on the display unit. An extended application program characterized by having the following features.
[0099] [Item 2] The extended application program according to item 1, characterized in that it is launched in response to the occurrence of a print job for the printer driver.
[0100] [Item 3] The extended application program according to item 1 or 2, characterized in that the determination means obtains the print settings set on the printing device from the printing device and determines whether or not to display the guidance.
[0101] [Item 4] The extended application program according to any one of items 1 to 3, characterized in that the determination means determines whether or not to display the guidance based on the type or size of the paper.
[0102] [Item 5] The extended application program according to item 4, further comprising a storage means for storing a combination of paper type and paper size that serves as a determination criterion for the determination means.
[0103] [Item 6] The extended application program according to any one of items 1 to 5, characterized in that the display control means causes the display unit to display a screen including a message and an illustration image explaining how to set the paper.
[0104] [Item 7] The extended application program according to item 6, further characterized in that the screen includes a button that instructs the printing device to start printing.
[0105] [Item 8] An extension application program that extends the functionality of a printer driver that can be used commonly for multiple different printing devices, A means of obtaining the print settings for a print job, A determination means for determining whether printing is possible with the print settings set on the printing device using the print settings acquired by the acquisition means, If the determination means determines that printing is not possible, the display control means causes a screen to be displayed on the display unit indicating that printing is not possible with the print settings set on the printing device. An extended application program characterized by having the following features.
[0106] [Item 9] The extended application program according to item 8, characterized in that the screen includes print settings modified to change the print settings of the printing device in order to print using the print settings acquired by the acquisition means.
[0107] [Item 10] The extended application program according to item 9, further characterized in that the screen includes a button that instructs the user to start printing with the modified print settings.
[0108] [Item 11] The extended application program according to item 8 or 9, characterized in that the display control means displays on the screen a message indicating that printing is not possible with the print settings acquired by the acquisition means, the print settings set on the printing device, and the current print settings set on the printing device.
[0109] [Item 12] The extended application program according to item 11, further characterized in that the display control means displays a button on the screen that resets the print settings of the printing device and starts printing when the paper feed slot setting among the print settings set on the printing device corresponds to the print setting acquired by the acquisition means.
[0110] [Item 13] The extended application program according to any one of items 8 to 12, characterized in that the print settings include at least one of the paper type, paper size, and paper feed slot settings.
[0111] [Item 14] An information processing device that implements an extended application program as described in any one of items 1 through 13.
[0112] [Item 15] A computer-readable storage medium storing an extended application program as described in any one of items 1 through 13.
[0113] The present invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are attached to make the scope of the invention public. [Explanation of symbols]
[0114] 102…Printing device, 201…Drawing application, 203…Print function information, 204…Extended application, 208…Print data editing module
Claims
[Claim 1] An extension application program that extends the functionality of a printer driver that can be used commonly for multiple different printing devices, A means of obtaining the print settings for a print job, A determination means for determining whether to display instructions on how to load paper in the printing device that performs printing based on the print job, based on the print settings, When the determination means determines that the guidance should be displayed, the display control means causes the guidance on how to set the paper to be displayed on the display unit. An extended application program characterized by having the following features.