Information processing program and information processing device

The information processing program ensures accurate display of available paper sizes and trays by generating valid capacity information, preventing incorrect settings and user inconvenience in driverless printing systems.

WO2025204179A1PCT designated stage Publication Date: 2025-10-02BROTHER KOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/004103
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-25
Filing Date
2025-02-07
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing 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 and trays are displayed on the print setting screen.

Benefits of technology

Prevents incorrect paper size settings by aligning displayed options with the actual paper sizes and trays available in the printing device, reducing user intervention and errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025004103_02102025_PF_FP_ABST
    Figure JP2025004103_02102025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention prevents erroneous setting of a paper size based on capability information transmitted from a virtual printer to an OS. A printer application 170 is configured to execute: a step S120, step S205, and step S220 for acquiring tray information, paper status information, and tray paper setting information related to a paper tray provided to a printer 200 and related to printing paper that is stored in said paper tray; a step S140 and step S150 for generating, in accordance with the tray information, the paper status information, and the tray paper setting information, attributes suited to the paper feeding environment of the printer 200; and a step S160 for outputting the generated attributes to a CUPS 160.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing program and information processing device

[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.

[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 a printer vendor, have become commonplace. 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.

[0004] Japanese Patent Application Laid-Open No. 2022-110712

[0005] In the above-mentioned conventional technology, the capability information sent from the virtual printer to the driverless printing function of the OS 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 driverless printing function of the OS.

[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 erroneous setting of paper size based on capability information sent from a virtual printer to an OS.

[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.

[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.

[0011] FIG. 1 is a block diagram showing an example of the system configuration of a printing system and the functional configuration of a terminal device according to an embodiment of the present invention. FIG. 1 is a diagram showing a specific example of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in a comparative example when attributes include all paper sizes available in the printer. FIG. 2 is a diagram showing a specific example of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in an embodiment. FIG. 3 is a diagram showing a specific example of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in an embodiment. FIG. 4 is a diagram showing a specific example of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in an embodiment. FIG. 5 is a diagram showing a specific example of a paper selection menu and a tray selection menu displayed on a print setting screen by an application in an embodiment. FIG. 6 is a flowchart showing an example of a control procedure executed by a printer application to realize the display of the paper selection menu and the tray selection menu of the embodiment. FIG. 7 is a flowchart showing an example of a control procedure executed in the tray-related processing of step S100. FIG. 8 is a flowchart showing an example of a control procedure executed in the tray investigation processing of step S200. FIG. 9 is a flowchart showing an example of a control procedure executed in the tray investigation processing in a modified example in which the tray selection menu displays that the paper tray is empty. FIG. 10 is a block diagram showing an example of the hardware configuration of a terminal device and a printer.

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

[0013] <Outline of Printing System> 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 connected to each other so as to be able to communicate with each other 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, or a tablet computer, 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). When the processor 110 executes the various print processing programs, the terminal device 100 has the functional configuration shown in FIG. 1. Note that in the following description, it may be stated that a program does ***, but this means that the process of *** 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 corresponding to 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 performs printing according to a predetermined printing standard without using a printer driver provided by a printer vendor.

[0016] The OS 101 includes, for example, a Common Unix Printing System (CUPS) 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 management unit 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 via the browser 104 using the HTTP (Hypertext Transfer Protocol) protocol, or provides information and functions to them.

[0019] The CUPSPnP management unit 162 has a PnP (Plag and Play) function that registers printers (including virtual printing devices) detected using protocols such as mDNS / SD in the CUPS 160 and creates a print queue. A script executed during installation of the printer application 170 modifies the settings of the CUPSPnP 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). Therefore, the CUPS 160 cannot directly recognize the printer 200, but recognizes the printer application 170 as the printer. The printer application 170 is not a real 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, 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 uses the IPP protocol to send and receive print data or attributes to and from an IPP / mDNS server 173 (described later). The print data scheduler & spooler 164 manages print jobs sent from the application 102, etc., and also manages multiple print jobs that are generated simultaneously by temporarily blocking them and processing them sequentially before handing them 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 has 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. Furthermore, the capability information used is an IPP attribute in the case of the IPP protocol, and PJL information in the case of other interfaces or protocols such as USB.

[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 the functionality of an mDNS (multicast Domain Name System). mDNS simultaneously distributes DNS queries within a local network using IP (Internet Protocol) multicast, simultaneously querying all devices on the same network. Devices that receive queries respond by transmitting their own IP addresses.

[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 an mDNS function similar to 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] The printer communication unit 171 transmits the print data output from the print data conversion unit 174 to the printer 200. The transmission of the print data by the 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 prints on printing paper stored in a paper tray based on a print job sent 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 printer application 170 to CUPS 160 include all paper sizes, including paper sizes potentially available in printer 200, all of these paper sizes are displayed as selectable sizes on the print setting screen of 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 printer 200. If a print paper size that is not actually loaded in the paper tray of printer 200 is selected and printing is executed, the user will be forced to unintentionally change the paper size or reset the settings.

[0031] 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 the printer 200, in addition to the A4, A5, and B5 paper sizes, for example, Letter, Legal, and Postcard are available. Therefore, in this comparative example, as shown in FIG. 2, all paper sizes, A4, A5, B5, Letter, Legal, and Postcard, are displayed in the paper selection menu of the application 102. The tray selection menu also displays all trays provided in the printer 200, namely, tray 1, tray 2, and tray 3, as well as Auto, which is an automatic selection setting that automatically selects a paper tray according to 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 paper sizes 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 appropriate for 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 is automatically selected; and if B5 is selected, Tray 3 is automatically selected.

[0035] In the example shown in FIG. 4 , the printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The paper sizes stored in each tray are A4 for Tray 1, A5 for Tray 2, and unspecified for Tray 3. In this case, any paper size that can be stored in Tray 3 may be loaded into Tray 3. In this example, Tray 3 is configured to accommodate all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. Therefore, as shown in FIG. 4 , the paper selection menu of the 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 unspecified, in addition to Auto. Thus, when printing on A4 or A5 paper, the user selects the appropriate paper size in the paper selection menu and Auto in the tray selection menu, allowing the appropriate paper tray to be automatically selected. 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 Auto or Tray 3 in the tray selection menu. In this case, the paper size the user wants to print on must be set or will be set in Tray 3.

[0036] In the example shown in FIG. 5 , the printer 200 has three paper trays: Tray 1, Tray 2, and Tray 3. The paper sizes stored in each tray are not 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. In this example, Tray 1, Tray 2, and Tray 3 are each configured to store all paper sizes: A4, A5, B5, Letter, Legal, and Postcard. Therefore, as shown in FIG. 5 , the paper selection menu of the 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 set. Thus, when a user prints, they 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, allowing printing to be performed as intended by the user. In this case, it is necessary that the printing paper of the size that the user wants to print on is set or 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] In addition, 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 one containing general paper may be set to a higher priority than the one containing special paper, and the Auto setting may select the higher priority. In this case, when printing on A4 general paper or A5, the 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. Furthermore, when printing on A4 special paper, the 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 Tray 1 and Tray 2 are loaded with the same type of paper, by selecting A4 in the paper selection menu and Auto in the tray selection menu, printing can be executed directly on paper from Tray 2 when Tray 1 runs out of paper without having to reset the menu.

[0039] <Control Procedure> The control procedure executed by the 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, the 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, using the mDNS / SD (multicast Domain Name System / Service Discovery) protocol, whether 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 mDNS / SD. Then, the process returns to step S10.

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

[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, the printer application 170 receives the tray information transmitted from the printer 200 in response to the PJL for checking the tray installation status. The 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, the printer application 170 executes a tray check process to check the paper trays included in the printer 200. If the printer 200 has multiple paper trays, the tray check process is repeatedly executed for each paper tray. The tray check process will be described in detail later.

[0050] In step S130, the printer application 170 determines whether the tray inspection process of step S200 has been completed for all paper trays included in the printer 200. If the tray inspection process has not been completed for all paper trays (step S130: No), the printer application 170 moves on to the next paper tray and repeats step S200. On the other hand, if the tray inspection process has been completed for all paper trays (step S130: Yes), the printer application 170 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 suitable for 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 suitable for the paper feed environment of printer 200, and step S140 is an example of capability information generation processing.

[0052] In step S150, the 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 the 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 the 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 flow chart.

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

[0055] 9, in step S205, the 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 a value less than a predetermined value, and in this case, the predetermined value is 1. The quantity is also an example of a storage capacity, and step S210 is an example of a storage capacity determination process. Note that 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. In other words, 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, if the printer application 170 determines in step S210 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, the printer application 170 receives the tray paper setting information sent from the 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, the printer application 170 determines whether the tray paper setting information received in step S220 is unset information, which corresponds 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), the 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 the 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 paper sizes to be printed that correspond 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), the printer application 170 proceeds to the next step S240.

[0065] In step S240, the 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 the 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 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 size actually printable 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] In particular, in this embodiment, the printer application 170 executes steps S230 and S240 to create a valid tray list that indicates at least one of manual selection setting for one of the multiple paper trays provided in the printer 200 and automatic selection setting for 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 that correspond to the valid tray lists created in steps S230 and S240.

[0071] Based on the created valid tray list, for example, application 102 can display a list of paper trays equipped in 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 up so that when a single paper size is selected, a paper tray is automatically selected from among the paper trays equipped in printer 200. Furthermore, by including attributes corresponding to the valid tray list in the generated attributes, attributes based on the paper trays equipped in printer 200 and the paper sizes of the paper to be printed that are associated with them 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, the 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 170 creates 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 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 printer from running out of paper midway through 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 steps S230 and 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 of 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 a paper size is associated with at least one paper tray, including Auto in the valid tray list enables automatic selection of a paper tray according to 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 in such cases to cancel Auto as an exception and change to manual paper tray selection by the user. This avoids the aforementioned inconvenience.

[0077] <Modifications> 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) When the tray selection menu displays that the paper tray is empty 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 limited to this. 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, the 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 capacity information, the information identifying the paper tray is an example of specific tray capacity information, and the information indicating that the tray is empty is an example of specific paper capacity information. Step S255 is also an example of capacity information generation processing.

[0082] In step S260, the printer application 170 adds the empty paper tray to the available 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 relating to paper trays are generated based on the valid tray list so as to include empty paper trays. Then, in step S160, the attributes relating to paper trays generated in step S140 and the attributes relating 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 will run out of paper during the printing process.

[0085] (2) Others 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 this embodiment, when an attribute request is received from CUPS 160, printer application 170 updates the valid tray list and valid paper list through tray investigation processing. However, tray investigation processing may be performed periodically (e.g., every 5 seconds) and, if there is a change in the paper or tray status, CUPS 160 may be reloaded to reflect the changes to the valid tray list and valid paper list. Furthermore, at that time, printer 200 may be periodically inquired about whether there have been any changes to the tray and paper information using a method with a relatively low communication load (e.g., USB control transfer), and only when the change is notified by printer 200, paper and tray information may be queried and the valid paper list and valid tray list may be changed. Furthermore, because tray installation information is not usually changed dynamically, steps S110 and S120 may be omitted by reusing the response from the previous inquiry.

[0087] In the above embodiment, the tray paper setting information is described as paper size information set in a 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, deleted, or the order may be changed within the scope that does not deviate from the intent 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] 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 non-volatile storage device 130. The volatile storage device 120 is, for example, a DRAM, and stores various programs and data to be processed. The non-volatile 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 the 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 an example 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, etc. 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 the configuration of the device elements described above, and may be configured, for example, by RAM, ROM, EEPROM, HDD, portable recording medium such as a USB memory detachable 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. A non-transitory medium is also a tangible medium. The same applies to the storage device 215 of the printer 200 described below.

[0099] 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 non-volatile 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 non-volatile 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 sheet transported by a transport mechanism (not shown). The printing unit 290 prints an image on a printing 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.

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

Claims

1. An information processing program executable by a calculation unit of an information processing device and capable of executing print control using a printing device capable of communicating with the information processing device, wherein the printing device prints on print paper stored in a paper tray, and 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 is registerable as a virtual printing device in the printing software, and when the information processing program is registered as the virtual printing device in the printing software, the information processing program performs the following on the calculation unit of the information processing device: an environment information acquisition process that acquires paper feed environment information related to the paper tray provided in the printing device and the print 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 environment information acquisition process; a capacity information output process that outputs the effective capacity information generated in the capacity information generation process to the printing software; and 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. a print data transmission process of transmitting, to the printing device, second print data based on the first print data acquired in the print data acquisition process.

2. An information processing program as described in claim 1, wherein the paper feed environment information includes tray identification information for identifying the paper tray provided in the printing device, and paper size information that can specify the size of the printing paper stored or set in the paper tray associated with the tray identification information.

3. The information processing program of claim 2, further configured to cause the calculation unit to execute a valid tray list creation process that creates a valid tray list that represents at least one of manual selection setting to one of multiple tray identification information corresponding to each of multiple paper trays provided in the printing device and automatic selection setting to any one of the multiple tray identification information, based on the paper feed environment information acquired in the environment information acquisition process, and the valid capacity information includes tray capacity information corresponding to the valid tray list created in the valid tray list creation process.

4. The information processing program of claim 2, further configured to cause the calculation unit to execute 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, which creates a valid paper list that includes all sizes of the printable 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 printable paper, and which creates a valid paper list that includes all sizes of the printable paper that correspond to the paper tray associated with the tray identification information if the paper size information does not include the unset information, and the valid capacity information includes paper capacity information corresponding to the valid paper list created in the valid paper list creation process.

5. An information processing program as described in claim 1, further configured to cause the calculation unit to execute a storage amount determination process that determines 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, and not to generate the effective capacity information by the capacity information generation process if the storage amount determination process determines that the storage amount is less than the predetermined value.

6. The information processing program of claim 1, further configured to cause the calculation unit to execute a storage capacity determination process that determines whether the storage capacity 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, and if the storage capacity determination process determines that the storage capacity is less than the predetermined value, to execute a capacity information generation process that generates the effective capacity information including specific tray capacity information that identifies the paper tray and specific paper capacity information that indicates that the storage capacity in the identified paper tray is less than the predetermined value.

7. An information processing program as described in claim 3, further configured to cause the calculation unit to execute a valid tray list change process in which, if the automatic selection setting is included in the valid tray list created in the valid tray list creation process, and if the paper feed environment information acquired in the environment information acquisition process indicates that the printing paper stored in each of the multiple paper trays is a common size, the automatic selection setting is changed to the manual selection setting for the corresponding tray identification information.

8. An information processing device having a communication I / F capable of communicating with a printing device, and a control unit equipped with 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, and the control unit is configured to execute: an environmental information acquisition process that acquires paper feed environment information related to the paper tray provided in the printing device and the printing paper stored in the paper tray; a capacity information generation process that generates effective capacity information compatible with 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 effective 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.

Citation Information

Patent Citations

  • Method for controlling printer, and computer-readable recording medium storing program for performing the control method

    JP2004299188A

  • Information processing device and program

    JP2020087294A

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

    JP2022110712A