Information processing program and information processor

The information processing program addresses incorrect paper size settings in driverless printing by generating valid capacity information, ensuring only compatible paper sizes are displayed, thereby preventing user inconvenience.

JP2025147713APending Publication Date: 2025-10-07BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024048098
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-25
Publication Date
2025-10-07

AI Technical Summary

Technical Problem

Conventional driverless printing systems display all available paper sizes, including those not actually stored in the printing device, leading to incorrect paper size settings and potential user inconvenience.

Method used

An information processing program that acquires and generates valid capacity information based on the actual paper feed environment of the printing device, ensuring only compatible paper sizes are displayed on the user interface.

Benefits of technology

Prevents incorrect paper size settings and reduces user inconvenience by ensuring only valid paper sizes are selectable, thus avoiding the need to change paper or reset settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025147713000001_ABST
    Figure 2025147713000001_ABST
Patent Text Reader

Abstract

To prevent incorrect setting of paper size based on capability information transmitted from a virtual printer to an OS.SOLUTION: A printer application 170 is configured to execute a step S120 to acquire tray information, paper status information, and tray paper setting information related to a paper tray provided in a printer 200 and a printing paper stored in the paper tray; a step 205; a step S 220; steps S140 and S150 to generate attributes suited to a paper feed environment of the printer 200 according to the tray information, the paper status information, and the tray paper setting information; and a step S160 to output the generated attribute to a CUPS 160.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing program executed by an information processing device capable of communicating with a printing device, and the information processing device. [Background technology]

[0002] In the past, operating systems (OS) with so-called driverless printing capabilities, which allow printing according to a predetermined printing standard without using a printer driver provided by the printer vendor, have become common. In this case, printing can be performed without installing a printer driver.

[0003] As a way to utilize such driverless OS printing functions and support printing devices that do not support driverless printing or to extend the functions of normal driverless printing, for example, as described in Patent Document 1, a virtual printer is created within an information processing device that receives print jobs from the OS and sends the received print jobs to the printing device. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-110712 Summary of the Invention [Problem to be solved by the invention]

[0005] In the above-mentioned conventional technology, the capability information sent from the virtual printer to the OS's driverless printing function includes all paper sizes available on the connected printing device, and as a result, all of these paper sizes are displayed for the user to select on the print settings screen based on the OS's driverless printing function.

[0006] However, the paper sizes displayed as described above may include sizes that are not actually stored in the paper tray of the printing device. If a paper size that is not actually stored in the paper tray of the printing device is selected and printing is executed, the user may be forced to unintentionally change the paper size or reset the settings.

[0007] An object of the present invention is to provide an information processing program and an information processing apparatus that can prevent an incorrect setting of paper size based on capability information sent from a virtual printer to an OS. [Means for solving the problem]

[0008] In order to achieve the above object, an information processing program of the present invention is an information processing program that can be executed by a calculation unit of an information processing device and can execute print control using a printing device that can communicate with the information processing device, wherein the printing device prints on print media stored in a paper tray, the information processing device is equipped with an operating system having printing software that prints in response to commands from an application, the information processing program can be registered in the printing software as a virtual printing device, and when the information processing program is registered in the printing software as the virtual printing device, the information processing program causes the calculation unit of the information processing device to execute print control using the printing device that can communicate with the information processing device, The printing apparatus is configured to execute an environmental information acquisition process that acquires paper feed environment information related to a paper tray and the printing paper stored in the paper tray; a capacity information generation process that generates effective capacity information suited to the paper feed environment of the printing device according to the paper feed environment information acquired in the environmental information acquisition process; a capacity information output process that outputs the capacity information generated in the capacity information generation process to the printing software; a print data acquisition process that acquires first print data from the printing software corresponding to the effective capacity information output in the capacity information output process; and a print data transmission process that transmits second print data based on the first print data acquired in the print data acquisition process to the printing device.

[0009] When the information processing program of the present invention is executed by the calculation unit, an environmental information acquisition process is executed. In the environmental information acquisition process, paper feed environment information related to the paper trays provided in the printing device and the print paper stored in the paper trays is acquired. In response to the acquired paper feed environment information, valid capacity information adapted to the paper feed environment of the printing device is generated in a capacity information generation process. This makes it possible to generate valid capacity information that matches the size of the print paper actually stored in the paper trays provided in the printing device. As a result, it is possible to prevent the paper size selected and set by the user from being incorrectly set inconsistent with the paper size actually printable by the printing device. As a result, it is possible to prevent the user from being forced to unintentionally change paper or reset settings. [Effects of the Invention]

[0010] According to the present invention, it is possible to prevent an incorrect paper size from being set based on the capability information sent from the virtual printer to the OS. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a block diagram illustrating an example of a system configuration of a printing system and a functional configuration of a terminal device according to an embodiment of the present invention. [Figure 2] 10A and 10B are diagrams illustrating specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in a comparative example in which attributes include all paper sizes available in a printer. [Figure 3] 10A to 10C are diagrams illustrating specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen of an application in an embodiment. [Figure 4] 10A to 10C are diagrams illustrating specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen of an application in an embodiment. [Figure 5]10A to 10C are diagrams illustrating specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen of an application in an embodiment. [Figure 6] 10A to 10C are diagrams illustrating specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen of an application in an embodiment. [Figure 7] 10 is a flowchart illustrating an example of a control procedure executed by a printer application to realize display of a paper selection menu and a tray selection menu according to an embodiment. [Figure 8] 10 is a flowchart illustrating an example of a control procedure executed in a tray-related process in step S100. [Figure 9] 10 is a flowchart illustrating an example of a control procedure executed in the tray inspection process in step S200. [Figure 10] 10 is a flowchart illustrating an example of a control procedure executed in a tray investigation process in a modified example in which the tray selection menu displays that the paper tray is empty. [Figure 11] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a terminal device and a printer. DETAILED DESCRIPTION OF THE INVENTION

[0012] <Embodiment> An embodiment of the present invention will be described with reference to the drawings.

[0013] <Printing system overview> Fig. 1 shows an example of the system configuration of a printing system 1 according to this embodiment. In Fig. 1, the printing system 1 has a terminal device 100 and a printer 200. The terminal device 100 and the printer 200 are communicably connected via, for example, the Internet, a wired LAN, or a wireless LAN. The terminal device 100 is an example of an information processing device, and the printer 200 is an example of a printing device.

[0014] <Functional configuration of terminal device> The terminal device 100 transmits print data to the printer 200 to execute printing. The terminal device 100 is, for example, a desktop PC, a notebook PC, a tablet computer, or the like, but may also be a mobile terminal such as a smartphone. As will be described in detail later, the terminal device 100 has a processor 110 and a storage device 115 that stores various print processing programs (see FIG. 11 described later). The processor 110 executes the various print processing programs, thereby giving the terminal device 100 the functional configuration shown in FIG. 1. Note that in the following description, although it may be stated that a program performs ***, this means that the process *** is executed when the program is executed by the processor 110.

[0015] 1, the terminal device 100 has an OS (Operating System) 101, an application 102 that supports the printing function of the OS, a printer application 170, and a browser 104. The OS 101 has a so-called driverless printing function that prints according to a predetermined printing standard without using a printer driver provided by a printer vendor.

[0016] As an example, the OS 101 includes a CUPS (Common Unix Printing System) 160, which is a modularized printing system for the OS. The OS 101 is an example of an operating system, and the CUPS 160 is an example of printing software. The printing software may be built into the OS 101 as standard.

[0017] <cups> The CUPS 160 includes an HTTP server 161, a CUPSPnP manager 162, an IPP client 163, and a print data scheduler and spooler 164.

[0018] The HTTP server 161 is server software that runs on the CUPS 160. The HTTP server 161 obtains information and functions using the HTTP (Hypertext Transfer Protocol) via the browser 104, or provides information and functions to them.

[0019] The CUPSPnP management unit 162 has a PnP (Plag and Play) function that registers a printer (including a virtual printing device) detected using a protocol such as mDNS / SD in the CUPS 160 and creates a print queue. A script executed when the printer application 170 is installed modifies the settings of the CUPS PnP management unit 162 so that the search address for PnP is limited to the internal network of the terminal device 100 (usually IP address 127.0.0.1). As a result, the CUPS 160 cannot directly recognize the printer 200, but recognizes the printer application 170 as the printer. The printer application 170 is not an actual printer, but rather a so-called virtual printer that behaves as a printer to the CUPS 160. The printer application 170 mediates between the CUPS 160 and the printer 200, thereby enabling printing using the CUPS 160 and the printer 200. The printer application 170 is an example of a virtual printing device.

[0020] The IPP client 163 transmits and receives print data or attributes to and from an IPP / mDNS server 173, which will be described later, using the IPP protocol. The print data scheduler and spooler 164 manages print jobs sent from the application 102 and the like, and also manages multiple print jobs generated simultaneously so that they are temporarily blocked and processed sequentially before being handed over to the IPP client 163.

[0021] <Printer application> The printer application 170 can be registered in the CUPS 160 as a virtual printer corresponding to the connected printer 200. The CUPS 160 treats the printer application 170 as a virtual printer and executes various processes related to printing. These processes include, for example, a capability information acquisition process and a print data output process. The printer application 170 includes a printer communication unit 171, an attribute / mDNS conversion unit 172, an IPP / mDNS server 173, and a print data conversion unit 174. The printer application 170 is an example of an information processing program.

[0022] The printer communication unit 171 communicates with the printer 200. The printer communication unit 171 receives capability information from the printer 200 and transmits print data to the printer 200. Communication between the printer communication unit 171 and the printer 200 is performed via a network, USB, or the like. In the case of a network, protocols such as IPP and LPD are used. In the case of an IPP protocol, IPP attributes are used as capability information, and in the case of other interfaces or protocols such as USB, PJL information is used.

[0023] The attribute / mDNS conversion unit 172 acquires capability information indicating the capabilities of the printer 200 via the printer communication unit 171. In this embodiment, the attribute / mDNS conversion unit 172 acquires information related to the paper trays provided in the printer 200 and the paper to be printed stored in those paper trays via the printer communication unit 171. The attribute / mDNS conversion unit 172 generates IPP attributes related to the paper trays and paper to be printed of the printer 200 based on the acquired information. The attribute / mDNS conversion unit 172 converts the attributes acquired from or generated by the printer 200 into IPP attributes based on the printing functions that CUPS 160 can handle.

[0024] The attribute / mDNS conversion unit 172 has a function of mDNS (multicast Domain Name System). mDNS simultaneously distributes DNS queries within a local network using IP (Internet Protocol) multicast, and simultaneously queries all devices on the same network. Devices that receive a query respond by transmitting their own IP address.

[0025] In response to the capability information acquisition process of CUPS 160, IPP / mDNS server 173 outputs the attribute converted by attribute / mDNS conversion unit 172 to CUPS 160. CUPS 160 outputs print data corresponding to the attribute converted by IPP client 163. In response to the print data output process of CUPS 160, IPP / mDNS server 173 acquires print data corresponding to the converted attribute output from CUPS 160 and outputs it to print data conversion unit 174. Note that IPP / mDNS server 173 has the mDNS function just like attribute / mDNS conversion unit 172.

[0026] Print data conversion unit 174 acquires print data from CUPS 160 via IPP / mDNS server 173. The acquisition of print data by print data conversion unit 174 is an example of a print data acquisition process, and the acquired print data is an example of first print data. Print data conversion unit 174 converts the print data acquired from CUPS 160 into print data that corresponds to the printing function of printer 200. Print data conversion unit 174 outputs the converted print data to printer communication unit 171.

[0027] Printer communication unit 171 transmits the print data output from print data conversion unit 174 to printer 200. The transmission of the print data by printer communication unit 171 is an example of a print data transmission process, and the transmitted print data is an example of second print data based on the first print data. Note that the second print data may be the first print data as is.

[0028] <Printer> The printer 200 executes printing on printing paper stored in a paper tray based on a print job transmitted from the printer communication unit 171 of the terminal device 100. The printer 200 may be equipped with one or more paper trays. The printer 200 is also configured to be able to send paper empty information and paper information for each tray using PJL. This configuration is well known, so a detailed description will be omitted.

[0029] <Features of this embodiment> The user edits the print data using the application 102, selects the size of the paper to be printed, and issues a print execution instruction. At this time, the printer application 170 queries the printer 200 for information related to the size of the paper to be printed, generates attributes related to the paper to be printed based on the acquired information, and sends them to the CUPS 160. The CUPS 160 provides the received attributes related to the paper to the application 102. As a result, selectable paper sizes to be printed are displayed on the print setting screen of the application 102.

[0030] If the attributes sent from the printer application 170 to the CUPS 160 include all paper sizes, including paper sizes potentially available in the printer 200, all of these paper sizes are displayed as selectable sizes on the print setting screen of the application 102. In this case, there is a possibility that the paper sizes displayed on the print setting screen may include paper sizes that are not actually loaded in the paper tray of the printer 200. If a print paper size that is not actually loaded in the paper tray of the printer 200 is selected and printing is executed, the user will be forced to unintentionally change the paper size or reset the settings.

[0031] FIG. 2 shows specific examples of a paper selection menu and a tray selection menu displayed on a print setting screen by the application 102 in a comparative example in which the attributes include all paper sizes available in the printer 200 as described above. In the example shown in FIG. 2, the printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The sizes of the paper to be printed stored in each tray are set, for example, via an operation unit such as a printer panel: A4 for Tray 1, A5 for Tray 2, and B5 for Tray 3. In addition to the A4, A5, and B5 sizes, the printer 200 can also use other paper sizes, such as Letter, Legal, and Postcard. Therefore, in this comparative example, as shown in FIG. 2, the paper selection menu of the application 102 displays all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. The tray selection menu also displays all trays available in the printer 200, namely, Tray 1, Tray 2, and Tray 3, as well as an automatic selection setting, Auto, which automatically selects a paper tray based on the selected paper size.

[0032] In this comparative example, the user may mistakenly set the paper size to Letter, Legal, or Postcard, which is not actually set in the paper tray of the printer 200. In this case, printing may be performed that the user did not intend, or a printing error may occur, forcing the user to change the paper or reset the settings.

[0033] Therefore, in this embodiment, the printer application 170 acquires information related to the paper trays provided in the printer 200 and the sizes of the paper to be printed stored in those paper trays, generates attributes based on the acquired information, and sends them to the CUPS 160. This makes it possible to make the generated attributes consistent with the size of the paper to be printed actually stored in the paper trays provided in the printer 200. As a result, it is possible to prevent the paper size selected and set by the user from being incorrectly set inconsistent with the paper sizes that can actually be printed by the printer 200.

[0034] 3 to 6 show specific examples of the paper selection menu and tray selection menu displayed on the print setting screen of the application 102 in this embodiment. In the example shown in FIG. 3, the printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The sizes of the paper to be printed stored in each tray are set to A4 for Tray 1, A5 for Tray 2, and B5 for Tray 3. In this case, as shown in FIG. 3, the paper selection menu of the application 102 displays paper sizes A4, A5, and B5, and the tray selection menu displays Auto. This allows the user to set only the paper sizes actually stored in the paper trays provided in the printer 200, preventing incorrect paper size setting. Furthermore, by setting the paper tray to Auto, a paper tray compatible with the paper size selected by the user is automatically selected. In this example, if A4 is selected as the paper size, Tray 1 is automatically selected; if A5 is selected, Tray 2; and if B5 is selected, Tray 3 is automatically selected.

[0035] In the example shown in FIG. 4, printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The print paper sizes stored in each tray are A4 for Tray 1, A5 for Tray 2, and not specified for Tray 3. In this case, any print paper size that can be stored in Tray 3 may be loaded into Tray 3. In this example, Tray 3 is configured to be able to store all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. Therefore, as shown in FIG. 4, the paper selection menu of application 102 displays all paper sizes: B5, Letter, Legal, and Postcard, in addition to the A4 and A5 sizes that are set in Tray 1 and Tray 2. The tray selection menu also displays Tray 3, which is not set, in addition to Auto. Thus, when printing on A4 or A5 paper, a user can select the appropriate paper size in the paper selection menu and select Auto in the tray selection menu to automatically select a paper tray that matches the paper size. Furthermore, when printing on paper other than A4 and A5, the user can prevent Tray 1 and Tray 2, which are set to A4 and A5, from being selected by selecting the appropriate paper size in the paper selection menu and selecting Auto or Tray 3 in the tray selection menu. In this case, the paper size the user intends to print on must be loaded or be loaded in Tray 3.

[0036] In the example shown in FIG. 5, printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The paper sizes stored in each tray are not yet set for Tray 1, Tray 2, and Tray 3. In this case, any paper size that can be stored in Tray 1, Tray 2, or Tray 3 may be loaded into each tray. In this example, Tray 1, Tray 2, and Tray 3 are each configured to accommodate all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. Therefore, as shown in FIG. 5, the paper selection menu of application 102 displays all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. Furthermore, the tray selection menu displays Tray 1, Tray 2, and Tray 3, which are not yet set. This allows a user to select the appropriate paper size in the paper selection menu and then select a paper tray that matches the selected paper size in the tray selection menu, thereby enabling printing that matches the user's intentions. In this case, the printing paper of the size that the user wants to print on must be set or will be set in advance in either tray 1, tray 2 or tray 3.

[0037] In the example shown in FIG. 6, the printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The paper sizes stored in each tray are set to A4 for Tray 1, A4 for Tray 2, and A5 for Tray 3. In this example, the paper sizes in Tray 1 and Tray 2 are the same, but one of Tray 1 and Tray 2 is set to A4 standard paper, and the other is set to A4 specialty paper. Special paper includes, for example, paper printed with predetermined characters or designs, paper colored in a predetermined color, or paper made of a special material. In this case, if Auto is selected in the tray selection menu, printing may be performed on a different type of paper than the one intended by the user. Therefore, as shown in FIG. 6, the paper selection menu of the application 102 displays A4 and A5 paper sizes, and the tray selection menu displays Tray 1, Tray 2, and Tray 3, respectively. This allows the user to print on A4 regular or special paper by selecting the A4 size in the paper selection menu and the paper tray containing the A4 paper in the tray selection menu, allowing the user to print in a way that matches their intentions. The same applies when printing on A5 paper.

[0038] If priority can be set between Tray 1 and Tray 2, the tray selection menu may display Auto in addition to Tray 1, Tray 2, and Tray 3, as shown by the dotted lines in FIG. 6 . For example, of Trays 1 and 2 set to A4, the tray containing general paper may be set to a higher priority than the tray containing specialty paper, and Auto may select the tray with the higher priority. In this case, when printing on A4 general paper or A5, a user can select the appropriate paper size in the paper selection menu and Auto in the tray selection menu to execute printing that matches the user's intention. Similarly, when printing on A4 specialty paper, a user can select A4 size in the paper selection menu and the paper tray containing the appropriate A4 paper in the tray selection menu to execute printing that matches the user's intention. Furthermore, in this case, if the same type of paper is loaded in Tray 1 and Tray 2, by selecting A4 in the paper selection menu and Auto in the tray selection menu, when the paper in Tray 1 runs out, you can print directly onto the paper in Tray 2 without having to reset the menu.

[0039] <Control procedure> The control procedure executed by printer application 170 to realize the display of the paper selection menu and tray selection menu described above will be described with reference to the flowcharts of FIGS.

[0040] As shown in FIG. 7, in step S10, printer application 170 waits until an event occurs.

[0041] In step S20, the printer application 170 determines whether or not there is a request for attributes related to the paper tray and the paper to be printed from the CUPS 160. If there is a request for attributes (step S20: Yes), the printer application 170 proceeds to the next step S100.

[0042] In step S100, the printer application 170 executes tray-related processing. The tray-related processing will be described in detail later. Thereafter, the process returns to step S10.

[0043] On the other hand, in step S20, if there is no request for attributes (step S20: No), the printer application 170 proceeds to the next step S30. In step S30, the printer application 170 determines, by the mDNS / SD (multicast Domain Name System / Service Discovery) protocol, whether or not a new printer 200 has been added. If a new printer 200 has been added (step S30: Yes), the printer application 170 proceeds to the next step S40.

[0044] In step S40, the printer application 170 executes a reload process to notify the CUPS 160 of the added printer 200 via the mDNS / SD protocol. The CUPS 160 then registers a virtual printer corresponding to the printer 200 created by the printer application 170. The data required for this registration is provided by the mDNS / SD. Then, the process returns to step S10.

[0045] On the other hand, in step S30, if a new printer 200 has not been added (step S30: No), the printer application 170 proceeds to the next step S50. In step S50, the printer application 170 executes processing corresponding to other events, and then returns to step S10, whereupon the process of this flowchart ends.

[0046] FIG. 8 shows an example of a control procedure executed in the tray-related process in step S100.

[0047] 8, in step S110, the printer application 170 transmits PJL (Printer Job Language) for checking the tray installation status to the printer 200 that is the target of the requested attribute request. The PJL for checking the tray installation status is a command requesting the transmission of tray information related to the paper trays provided in the printer 200. The tray information includes, for example, the number of paper trays provided in the printer 200 and tray identification information for identifying the paper trays. The tray identification information is, for example, a tray number or a tray ID.

[0048] In step S120, printer application 170 receives tray information sent from printer 200 in accordance with PJL for investigating the tray installation status. Tray information is an example of paper feed environment information, and step S120 is an example of environment information acquisition processing.

[0049] In step S200, printer application 170 executes a tray check process to check the paper trays included in printer 200. If printer 200 has multiple paper trays, the tray check process is repeatedly executed for each paper tray. Details of the tray check process will be described later.

[0050] In step S130, printer application 170 determines whether or not the tray inspection process of step S200 has been completed for all paper trays provided in printer 200. If printer application 170 has not completed the tray inspection process for all paper trays (step S130: No), it moves on to the next paper tray and repeats step S200. On the other hand, if printer application 170 has completed the tray inspection process for all paper trays (step S130: Yes), it proceeds to the next step S140.

[0051] In step S140, printer application 170 generates attributes related to paper trays based on the valid tray list generated in the tray investigation process in step S200. In other words, attributes related to paper trays that are compatible with the paper feed environment of printer 200 are generated in accordance with the tray paper setting information acquired in step S220, which will be described later. The generated attributes related to paper trays are an example of tray capability information corresponding to the valid tray list and an example of valid capability information that is compatible with the paper feed environment of printer 200, and step S140 is an example of capability information generation processing.

[0052] In step S150, printer application 170 generates attributes related to the print paper based on the valid paper list generated in the tray investigation process in step S200. In other words, it generates attributes related to the print paper that are suitable for the paper feed environment of printer 200 according to the tray paper setting information acquired in step S220, which will be described later. The generated attributes related to the print paper are an example of paper capability information corresponding to the valid paper list and an example of valid capability information that is suitable for the paper feed environment of printer 200, and step S150 is an example of capability information generation processing.

[0053] In step S160, the printer application 170 transmits the attributes related to the paper tray generated in step S140 and the attributes related to the paper to be printed generated in step S150 to the CUPS 160. Step S160 is an example of capability information output processing. This completes the process of this flowchart.

[0054] FIG. 9 shows an example of a control procedure executed in the tray inspection process in step S200.

[0055] 9, in step S205, printer application 170 acquires paper status information for the paper tray that is the processing target. The paper status information is the number of sheets of paper to be printed stored in the paper tray, and is detected, for example, by a sensor provided in the paper tray. The paper status information is an example of paper feed environment information, and step S205 is an example of environment information acquisition processing.

[0056] In step S210, the printer application 170 determines whether the quantity of printable paper in the paper tray is 0, i.e., whether the paper tray is empty, based on the paper status information acquired in step S205. Empty is an example of being less than a predetermined value, and the predetermined value in this case is 1. The quantity is also an example of a storage capacity, and step S210 is an example of a storage capacity determination process. The predetermined value may be 2 or greater to determine whether the quantity of printable paper is less than the predetermined value. If the printer application 170 determines that the paper tray is empty (step S210: Yes), it terminates the process without changing the valid tray list or valid paper list. That is, if the printer application 170 determines that the paper tray is empty in step S210, it does not add the paper tray to the valid tray list. As a result, the paper tray is not included in the paper tray-related attributes created in step S140, and the paper tray is no longer displayed in the tray selection menu.

[0057] On the other hand, in step S210, if the printer application 170 determines that the paper tray is not empty (step S210: No), the process proceeds to the next step S215.

[0058] In step S215, the printer application 170 sends a PJL to the printer 200 requesting tray paper setting information related to the print paper stored in the paper tray that is the processing target. The tray paper setting information includes, for example, paper size information that is associated with the tray identification information of the corresponding paper tray and that can identify the size of the print paper set in that paper tray. The paper size information is set for each tray via an operation unit such as a printer panel. Note that the paper size information may also be paper size information that can identify the size of the print paper actually stored in the corresponding paper tray. In this case, the paper size information may be detected, for example, by a sensor provided in the paper tray.

[0059] In step S220, printer application 170 receives the tray paper setting information sent from printer 200 in response to the PJL for requesting the tray paper setting information. The tray paper setting information is an example of paper feed environment information, and step S220 is an example of environment information acquisition processing.

[0060] In step S225, printer application 170 determines whether the tray paper setting information received in step S220 is unset information corresponding to unset information that does not specify the size of the printing paper. If the tray paper setting information is not unset information (step S225: No), printer application 170 proceeds to the next step S230.

[0061] In step S230, the printer application 170 adds Auto to the valid tray list. Auto in the valid tray list represents an automatic selection setting for automatically selecting one of multiple paper trays. That is, in step S230, a valid tray list representing an automatic selection setting of one of multiple tray identification information is created based on the tray paper setting information acquired in step S220. Step S230 is an example of a valid tray list creation process.

[0062] In step S235, the printer application 170 adds the paper size set in the paper tray corresponding to the processing target to the valid paper list based on the tray paper setting information received in step S220. That is, in step S235, a valid paper list is created based on the tray paper setting information received in step S220, including the print paper size corresponding to the paper tray associated with the tray identification information. Step S235 is an example of a valid paper list creation process.

[0063] In step S250, if the same paper size is present in different paper trays, the printer application 170 changes both from Auto to the tray identification information of the corresponding tray. That is, in step S250, if Auto is included in the valid tray list in step S230, it is determined whether the print paper stored in the multiple paper trays is a common size based on the tray paper setting information acquired in step S220. If the print paper stored in each of the multiple paper trays is a common size, Auto is changed to a manual selection setting for the corresponding tray identification information. Step S250 is an example of valid tray list change processing. This concludes this flowchart.

[0064] On the other hand, in step S225, if the tray paper setting information is unset information (step S225: Yes), printer application 170 proceeds to the next step S240.

[0065] In step S240, printer application 170 adds the tray identification information of the paper tray to the valid tray list. The tray identification information in the valid tray list represents a manual selection setting for the user to manually select a paper tray corresponding to the tray identification information. That is, in step S240, a valid tray list is created based on the tray paper setting information acquired in step S220, representing a manual selection setting for one of multiple tray identification information corresponding to each of multiple paper trays provided in printer 200. Step S240 is an example of a valid tray list creation process.

[0066] In step S245, the printer application 170 adds all paper sizes valid for the paper tray corresponding to the processing target to the valid paper list. That is, in step S245, a valid paper list including all sizes of paper to be printed that can be stored in the corresponding paper tray is created based on the tray paper setting information received in step S220. Step S245 is an example of a valid paper list creation process. Then, the process ends.

[0067] If priorities are set among a plurality of paper trays as described above, the tray identification information of both of the corresponding paper trays may be added to Auto in step S250.

[0068] <Effects of the embodiment> In this embodiment, steps S120, S205, and S220 are executed by the printer application 170. In steps S120, S205, and S220, tray information, paper status information, and tray paper setting information related to the paper trays provided in the printer 200 and the paper to be printed stored in those paper trays are acquired. In steps S140 and S150, attributes (valid capability information) suited to the paper feed environment of the printer 200 are generated based on the acquired tray information, paper status information, and tray paper setting information. This allows the generated attributes to be matched to the size of the paper to be printed actually stored in the paper trays provided in the printer 200. As a result, it is possible to prevent the paper size selected and set by the user from being incorrectly set inconsistent with the paper size that can actually be printed by the printer 200. As a result, it is possible to prevent the user from being forced to unintentionally change paper or reset settings.

[0069] Furthermore, particularly in this embodiment, the tray information includes tray identification information for identifying the paper trays provided in the printer 200, and the tray paper setting information includes paper size information that can specify the size of the paper to be printed stored in or set in the paper tray associated with the tray identification information. By combining the tray identification information and the paper size information, it is possible to clarify what size of paper to be printed is stored in or set in association with which paper tray.

[0070] Furthermore, particularly in this embodiment, printer application 170 executes steps S230 and S240 to create a valid tray list that indicates at least one of manual selection setting for any of the multiple paper trays provided in printer 200 and automatic selection setting for any one of the paper trays, based on the tray paper setting information acquired in step S220. The attributes created in step S140 include attributes related to the paper trays corresponding to the valid tray lists created in steps S230 and S240.

[0071] Based on the created valid tray list, for example, the application 102 can display a list of paper trays equipped in the printer 200 so that they can be manually selected, excluding paper trays that cannot accommodate a single paper size selected by the user. Alternatively, it is possible to set the printer 200 to automatically select a paper tray from among the paper trays equipped in the printer 200 when that single paper size is selected. Furthermore, by including attributes corresponding to the valid tray list in the generated attributes, attributes based on the paper trays equipped in the printer 200 and the associated paper sizes of the paper to be printed can be reliably sent to CUPS 160.

[0072] Furthermore, particularly in this embodiment, if the tray paper setting information acquired in step S220 includes unset information that does not specify the size of the print paper, printer application 170 executes steps S235 and S245 to create a valid paper list that includes all sizes of print paper that can be stored in the paper tray, and if the paper size information does not include unset information, the printer application executes steps S235 and S245 to create a valid paper list that includes sizes of print paper that correspond to the paper tray associated with the tray identification information. The attributes created in step S150 include attributes related to the print paper that correspond to the valid paper lists created in steps S235 and S245.

[0073] Based on the created valid paper list, for example, application 102 can display a list of paper sizes stored in or associated with paper trays provided in printer 200 as manually selectable paper sizes. Alternatively, if a paper tray provided in printer 200 is in an unsized state where the size of the paper to be printed is not specified, it is also possible to clearly indicate this. Furthermore, by including attributes related to the paper to be printed in the generated attributes, attributes based on the paper trays provided in printer 200 and the paper sizes of the paper to be printed associated therewith can be reliably sent to CUPS 160.

[0074] In particular, in this embodiment, the printer application 170 executes step S210 to determine whether the paper tray is empty based on the paper status information acquired in step S205. If it is determined to be empty, the printer application 170 does not include the paper tray in the attributes related to the paper tray generated in step S140. In other words, the printer application 170 is configured not to generate attributes related to a paper tray determined to be empty. This prevents the user from selecting an empty paper tray or the paper corresponding to that paper tray when the printer 200 has an empty paper tray. Alternatively, if the paper tray is not empty but the number of remaining sheets is less than a predetermined number, the printer application 170 may be configured not to include the paper tray in the attributes. In this case, it is possible to prevent the inconvenience of running out of paper during printing using the paper tray with a small number of remaining sheets.

[0075] Furthermore, particularly in this embodiment, if Auto is included in the valid tray list created in step S230 and step S240, and if the tray paper setting information acquired in step S220 indicates that the printing paper stored in each of the multiple paper trays is a common size, the printer application 170 executes step S250 to change Auto to the corresponding tray identification information.

[0076] If the paper size stored in at least one paper tray is known or is associated with at least one paper tray, including "Auto" in the available tray list enables automatic selection of a paper tray based on the paper size selected by the user. However, if multiple paper trays contain or are associated with paper of the same size, it is impossible to determine which of the multiple paper trays to use, making this automatic selection impossible. Therefore, in this embodiment, step S250 is performed to exceptionally cancel "Auto" and allow the user to manually select a paper tray. This avoids the aforementioned inconvenience.

[0077] <Modification> The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the spirit and technical concept of the present invention.

[0078] (1) To display that the paper tray is empty in the tray selection menu In the above embodiment, when a paper tray is empty, the paper tray is not included in the attributes so that the empty paper tray is not displayed in the tray selection menu, but this is not limiting. For example, the tray selection menu may display that the paper tray is empty.

[0079] An example of the control procedure executed in the tray inspection process in this modified example is shown in Fig. 10. Note that Fig. 10 differs from Fig. 9 in that steps S255 and S260 are added, and the other steps are the same as Fig. 9, so their explanation will be omitted where appropriate.

[0080] As shown in FIG. 10, in step S210, if the printer application 170 determines that the paper tray is empty (step S210: Yes), the process proceeds to the next step S255.

[0081] In step S255, printer application 170 creates an attribute indicating that the paper tray to be processed is empty of paper to be printed. The attribute includes information identifying the paper tray and information indicating that the identified paper tray is empty of paper to be printed. The attribute is an example of valid capability information, the information identifying the paper tray is an example of specific tray capability information, and the information indicating that the tray is empty is an example of specific paper capability information. Step S255 is also an example of capability information generation processing.

[0082] In step S260, printer application 170 adds the empty paper tray to the valid tray list. Then, the process proceeds to step S250. Note that the other steps are the same as those in FIG. 9, and therefore their explanations are omitted.

[0083] Thereafter, in step S140, attributes related to paper trays are generated based on the valid tray list so as to include empty paper trays. Then, in step S160, the attributes related to paper trays generated in step S140 and the attributes related to the paper to be printed generated in step S150 are sent to CUPS 160 together with the attribute generated in step S255 indicating that the paper tray contains no paper to be printed.

[0084] According to the modified example described above, when the paper tray provided in the printer 200 is empty of printing paper, the user can be notified of this. Alternatively, the user may be notified of this when the tray is not empty but the number of remaining sheets is less than a predetermined number. In this case, printing is performed using the printing paper with the few remaining sheets, and the user can be made aware in advance that there is a possibility that the printer may run out of paper during the printing process.

[0085] (2) Other The user may be able to select whether all paper sizes available in printer 200 are displayed, as in the comparative example described above, or whether the paper size actually set or stored in printer 200 is displayed, as in the embodiment described above.

[0086] In addition, in this embodiment, when an attribute request is received from CUPS 160, the printer application 170 updates the valid tray list and valid paper list through tray investigation processing, but it may also be configured to perform tray investigation processing periodically (for example, every 5 seconds) and, if there is a change in the paper and tray status, to reflect the changes to the valid tray list and valid paper list by reloading CUPS 160. Furthermore, at that time, it may also be configured to periodically inquire of the printer 200 using a method with a relatively low communication load (for example, USB control transfer) only about whether there have been any changes related to the tray and paper, and to perform paper and tray information inquiries and valid paper list change processing only when the change is notified from the printer 200. Furthermore, since tray placement information is not normally changed dynamically, steps S110 and S120 can be omitted by reusing the response from the previous inquiry.

[0087] In the above embodiment, the tray paper setting information is paper size information set in the paper tray, but this is not limited to this. The tray paper setting information may be paper type information indicating the type of paper to be printed on, such as plain paper, recycled paper, cardboard, envelopes, etc. In this case, the type of paper to be printed on may be added to the valid paper list to create an attribute (valid capacity information), and the paper type may be displayed in the paper selection menu.

[0088] Furthermore, the flowcharts shown in Figures 7 to 10 do not limit the present invention to the procedures shown in the above flows, and steps may be added or deleted or the order may be changed within the scope that does not deviate from the spirit and technical idea of ​​the invention.

[0089] In addition to the above, the methods according to the above embodiments and modifications may be used in appropriate combination.

[0090] Although not specifically illustrated, the present invention can be implemented with various modifications within the scope of the invention.

[0091] <Hardware configuration of terminal device and printer> An example of the hardware configuration of the terminal device 100 and the printer 200 will be described with reference to FIG.

[0092] <Terminal Device> 11, the terminal device 100 has a processor 110, a storage device 115, a display unit 140, an operation unit 150, and a communication interface 190. The processor 110, the storage device 115, the display unit 140, the operation unit 150, and the communication interface 190 are connected via a bus 105 so as to be able to transmit and receive data to and from each other.

[0093] The storage device 115 includes a volatile storage device 120 and a nonvolatile storage device 130. The volatile storage device 120 is, for example, a DRAM, and stores various programs and data to be processed. The nonvolatile storage device 130 is, for example, a hard disk drive or a solid state drive, and includes a program storage area 131 and a data storage area 132.

[0094] Various programs are stored in the program storage area 131. The various programs include the printer application 170 and print processing program based on the flowcharts of Figures 7 to 10. The data storage area 132 stores data necessary for executing the various programs.

[0095] The processor 110 is a device that performs data processing, such as a CPU, and executes various programs stored in a program storage area 131. The processor 110 performs various processes including data communication with the printer 200 connected to the network NT. The processor 110 and the programs stored in the program storage area 131 are examples of a calculation unit and a control unit.

[0096] The display unit 140 is, for example, a liquid crystal display, and is capable of displaying various types of information. The operation unit 150 is, for example, a mouse, a keyboard, and the like, and accepts operations by a user. The user can input various instructions to the terminal device 100 by operating the operation unit 150.

[0097] The communication interface 190 is an interface for communicating with other devices, and is connected to the network NT. The communication interface 190 is an example of a communication I / F.

[0098] The storage device 115 is not limited to being configured with the above-mentioned device elements, but may also be configured with, for example, RAM, ROM, EEPROM, HDD, a portable recording medium such as a USB memory that can be attached to or detached from the terminal device 100, a buffer provided in the processor 110, or a combination thereof. The storage device 115 may be a computer-readable storage medium. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, non-transitory media also include recording media such as CD-ROMs and DVD-ROMs. Non-transitory media are also tangible media. The same applies to the storage device 215 of the printer 200, which will be described later.

[0099] <Printer> 11, the printer 200 has a processor 210, a storage device 215, a display unit 240, an operation unit 250, a communication interface 270, and a printing unit 290. The processor 210, the storage device 215, the display unit 240, the operation unit 250, the communication interface 270, and the printing unit 290 are connected via a bus 205 so as to be able to send and receive data to and from each other.

[0100] The storage device 215 includes a volatile storage device 220 and a nonvolatile storage device 230. The volatile storage device 220 is, for example, a DRAM, and includes an image data storage area 222 that stores image data to be printed. The nonvolatile storage device 230 is, for example, an NVRAM, a flash memory, or the like, and includes a program storage area 231 and a data storage area 232. Various programs are stored in the program storage area 231. The various programs include firmware such as a print processing program. The data storage area 232 stores various data and the like for executing the various programs.

[0101] The processor 210 is a device that performs data processing, such as a CPU, and executes various programs stored in the program storage area 231.

[0102] The display unit 240 is, for example, a liquid crystal display, and is capable of displaying various types of information. The operation unit 250 is a device that accepts operations by the user. The user can input various instructions to the printer 200 by operating the operation unit 250. The communication interface 270 is a wired or wireless network interface for communicating with other devices, and is connected to the network NT.

[0103] The printing unit 290 prints an image on a printing paper sheet transported by a transport mechanism (not shown). The printing unit 290 prints an image on a printing paper sheet based on print data sent from the terminal device 100 or a print job that the printing unit 290 itself has generated based on an operation on the operation unit 250. [Explanation of symbols]

[0104] 1 Printing System 100 Terminal device (an example of an information processing device) 101 OS (an example of an operating system) 110 processors 160 CUPS (an example of printing software) 170 Printer application (an example of an information processing program) 190 Communication Interface (Example of communication I / F) 200 Printer (an example of a printing device)< / cups>

Claims

1. An information processing program that can be executed by a calculation unit of an information processing device and can execute print control using a printing device that can communicate with the information processing device, wherein the printing device prints on print media stored in a paper tray, the information processing device is equipped with an operating system having printing software that prints in response to commands from an application, and the information processing program can be registered in the printing software as a virtual printing device; When the information processing program is registered as the virtual printing device in the printing software, the information processing program causes a calculation unit of the information processing device to: an environmental information acquisition process for acquiring paper feed environmental information relating to the paper tray provided in the printing device and the printing paper stored in the paper tray; a capability information generation process for generating valid capability information adapted to the paper feed environment of the printing device in accordance with the paper feed environment information acquired in the environment information acquisition process; a capability information output process for outputting the valid capability information generated in the capability information generation process to the printing software; a print data acquisition process for acquiring first print data from the printing software corresponding to the valid capability information output in the capability information output process; a print data transmission process for transmitting second print data based on the first print data acquired in the print data acquisition process to the printing device; An information processing program configured to execute the

2. The paper feeding environment information is tray identification information for identifying the paper tray provided in the printing device; paper size information that can identify the size of the printing paper stored or set in the paper tray associated with the tray identification information; The information processing program according to claim 1 , comprising:

3. The calculation unit further a valid tray list creation process that creates a valid tray list that indicates at least one of manual selection setting to one of a plurality of tray identification information corresponding to each of a plurality of paper trays provided in the printing device and automatic selection setting to one of the plurality of tray identification information, based on the paper feed environment information acquired in the environment information acquisition process; and Execute The valid capability information is Including tray capacity information corresponding to the valid tray list created in the valid tray list creation process, 3. The information processing program according to claim 2, wherein the information processing program is configured to:

4. The calculation unit further a valid paper list creation process that creates a valid paper list based on the paper feed environment information acquired in the environment information acquisition process, the valid paper list including all sizes of the print paper that can be stored in the paper tray if the paper size information includes unset information that does not specify the size of the print paper, and the valid paper list including all sizes of the print paper that correspond to the paper tray associated with the tray identification information if the paper size information does not include the unset information; Execute The valid capability information is The paper capacity information corresponding to the valid paper list created in the valid paper list creation process is included.

3. The information processing program according to claim 2, wherein the information processing program is configured to:

5. The calculation unit further a storage amount determination process for determining whether the storage amount of the printing paper in any of the paper trays is less than a predetermined value based on the paper feed environment information acquired in the environment information acquisition process; Execute When it is determined in the storage amount determination process that the storage amount is less than the predetermined value, the generation of the effective capacity information by the capacity information generation process is not executed.

2. The information processing program according to claim 1, wherein the information processing program is configured to:

6. The calculation unit further a storage amount determination process for determining whether the storage amount of the printing paper in any of the paper trays is less than a predetermined value based on the paper feed environment information acquired in the environment information acquisition process; Execute When it is determined in the storage amount determination process that the storage amount is less than the predetermined value, the effective capacity information including specific tray capacity information that identifies the paper tray and specific paper capacity information that indicates that the storage amount in the identified paper tray is less than the predetermined value is generated in the capacity information generation process.

2. The information processing program according to claim 1, wherein the information processing program is configured to:

7. The calculation unit further a valid tray list change process for changing the automatic selection setting to the manual selection setting for the corresponding tray identification information when the automatic selection setting is included in the valid tray list created in the valid tray list creation process and the paper feed environment information acquired in the environment information acquisition process indicates that the printing papers stored in each of the plurality of paper trays have a common size; 4. The information processing program according to claim 3, configured to cause the program to execute the following.

8. An information processing device having a communication I / F capable of communicating with a printing device, and a control unit having an operating system having printing software and an information processing program, wherein the printing device prints on printing paper stored in a paper tray, and the information processing program is registered in the printing software as a virtual printing device; The control unit an environmental information acquisition process for acquiring paper feed environmental information relating to the paper tray provided in the printing device and the printing paper stored in the paper tray; a capability information generation process for generating valid capability information adapted to the paper feed environment of the printing device in accordance with the paper feed environment information acquired in the environment information acquisition process; a capability information output process for outputting the valid capability information generated in the capability information generation process to the printing software; a print data acquisition process for acquiring first print data from the printing software corresponding to the valid capability information output in the capability information output process; a print data transmission process for transmitting second print data based on the first print data acquired in the print data acquisition process to the printing device; An information processing device configured to execute the above.

Citation Information

Patent Citations

  • Information processing device, program, and control method of information processing device

    JP2022110712A