Information processing program and information processing device

By acquiring information about the paper tray of the printing device and the paper supply environment of the paper being printed, suitable capability information is generated, which solves the problem of mismatched paper size sent by the virtual printer, realizes accurate paper size setting, avoids unnecessary replacement or resetting, and improves printing efficiency.

CN121752987APending Publication Date: 2026-03-27BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-07
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In the prior art, the paper size capability information sent by the virtual printer to the operating system may include the size of the paper tray not stored in the printing device, causing users to have to change or reset the paper undesirably.

Method used

The printer application of the information processing device obtains information about the paper tray of the printing device and the paper feeding environment of the paper to be printed, generates effective capability information suitable for the paper feeding environment, and outputs it to the printing software to ensure that the paper size matches the actual paper tray of the printing device.

Benefits of technology

It prevents incorrect paper size settings, avoids unnecessary paper replacements or resets for users, and improves printing efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121752987A_ABST
    Figure CN121752987A_ABST
Patent Text Reader

Abstract

The present invention prevents erroneous setting of paper size based on capability information transmitted from a virtual printer to an OS. A printer application (170) is configured to execute the following steps: a step (S120), a step (S205), and a step (S220) of acquiring tray information, paper state information, and tray paper setting information relating to a paper tray provided in a printer (200) and paper to be printed stored in the paper tray; a step (S140) and a step (S150) for generating an attribute suitable for the paper feeding environment of the printer (200) on the basis of the tray information, the paper state information, and the tray paper setting information; and a step (S160) for outputting the generated attribute to the CUPS (160).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Currently, operating systems (OS) with so-called driverless printing capabilities—that is, printing according to prescribed printing standards without using printer drivers provided by the printer vendor—are becoming increasingly common. In this case, printing can be performed without installing printer drivers.

[0003] As a solution for utilizing such driverless OS printing functions and enabling support for or extending the functions of ordinary driverless printing to printing devices that do not support driverless printing, for example as described in Patent Document 1, there is a known solution for creating a virtual printer within an information processing device, which receives print jobs from the OS and sends the received print jobs to the printing device.

[0004] Existing technical documents

[0005] Patent documents

[0006] Patent Document 1: Japanese Patent Application Publication No. 2022-110712 Summary of the Invention

[0007] The problem that the invention aims to solve

[0008] In the aforementioned prior art, the capability information sent from the virtual printer to the OS's driverless printing function includes all paper sizes available in the connected printing device. Therefore, all paper sizes are displayed in a manner selectable by the user in the OS-based driverless printing function's print settings screen.

[0009] However, the paper sizes shown above may include paper sizes that are not actually contained in the paper tray of the printing device. In practice, when printing is performed using paper sizes not contained in the paper tray of the printing device, it is sometimes necessary to change or reset the paper to a size that the user does not want.

[0010] The purpose of this invention is to provide an information processing program and an information processing device that can prevent incorrect settings of paper size based on capability information sent from a virtual printer to an OS.

[0011] Methods for solving problems

[0012] To achieve the above objectives, the information processing program of this application can be executed by the arithmetic unit of an information processing device, and can perform printing control using a printing device capable of communicating with the information processing device. The printing device prints paper stored in a paper tray. The information processing device is equipped with an operating system that has printing software that prints according to instructions from an application. The information processing program can be registered as a virtual printing device with the printing software. When registered as a virtual printing device with the printing software, the information processing program causes the arithmetic unit of the information processing device to perform: environmental information acquisition processing, acquiring information related to the printing device... The system includes: a paper tray and paper storage environment information related to the paper supply environment of the printing device; a capability information generation process, which generates effective capability information suitable for the paper supply environment of the printing device based on the paper supply environment information obtained in the environment information acquisition process; a capability information output process, which outputs the effective capability information generated in the capability information generation process to the printing software; a print data acquisition process, which acquires first print data from the printing software corresponding to the effective capability information output in the capability information output process; and a print data transmission process, which sends second print data based on the first print data acquired in the print data acquisition process to the printing device.

[0013] When the information processing program of this invention is executed by the computing unit, environmental information acquisition processing is performed. In this environmental information acquisition processing, paper supply environment information related to the paper tray of the printing device and the paper to be printed stored in the paper tray is acquired. Based on the acquired paper supply environment information, effective capability information suitable for the paper supply environment of the printing device is generated in the capability information generation processing. Therefore, the generated capability information can be made to be effective information that matches the size of the paper to be printed actually stored in the paper tray of the printing device. As a result, it is possible to prevent the user from selecting and setting an incorrect paper size that does not match the actual paper size that can be printed by the printing device. Consequently, it is possible to prevent situations where users have to change or reset paper they do not want.

[0014] Invention Effects

[0015] According to the present invention, incorrect paper size settings based on capability information sent from the virtual printer to the OS can be prevented. Attached Figure Description

[0016] Figure 1 This is a block diagram illustrating an example of the system structure of a printing system and the functional structure of a terminal device according to an embodiment of the present invention.

[0017] Figure 2This is a diagram illustrating a specific example of the paper selection menu and tray selection menu displayed on the print settings screen, based on the application, in a comparative example where the attributes include all paper sizes that can be used in the printer.

[0018] Figure 3 This is a diagram illustrating a specific example of the paper selection menu and tray selection menu displayed on the print settings screen based on the application in the implementation.

[0019] Figure 4 This is a diagram illustrating a specific example of the paper selection menu and tray selection menu displayed on the print settings screen based on the application in the implementation.

[0020] Figure 5 This is a diagram illustrating a specific example of the paper selection menu and tray selection menu displayed on the print settings screen based on the application in the implementation.

[0021] Figure 6 This is a diagram illustrating a specific example of the paper selection menu and tray selection menu displayed on the print settings screen based on the application in the implementation.

[0022] Figure 7 This is a flowchart illustrating an example of the control process performed by the printer application to display the paper selection menu and tray selection menu in order to achieve the implementation of the embodiment.

[0023] Figure 8 This is a flowchart illustrating an example of the control process executed in the tray association process of step S100.

[0024] Figure 9 This is a flowchart illustrating an example of the control process executed in the tray investigation process of step S200.

[0025] Figure 10 This is a flowchart illustrating an example of a control process performed during pallet survey processing, showing a variation of the situation where the pallet selection menu displays an empty paper pallet.

[0026] Figure 11 This is a block diagram illustrating an example of the hardware structure of a terminal device and a printer. Detailed Implementation

[0027] <Implementation Method>

[0028] An embodiment of the present invention will be described with reference to the accompanying drawings.

[0029] <Overview of the Printing System>

[0030] Figure 1 An example of the system structure of the printing system 1 of this embodiment is shown. Figure 1In this system, printing system 1 includes a terminal device 100 and a printer 200. The terminal device 100 and the printer 200 are connected communicatively, for example, via the Internet, a wired LAN, or a wireless LAN. It should be noted that the terminal device 100 is an example of an information processing device, and the printer 200 is an example of a printing device.

[0031] <Functional Structure of Terminal Device>

[0032] Terminal device 100 sends print data to printer 200 to execute printing. Terminal device 100 may be, for example, a desktop PC, laptop PC, tablet computer, etc., but may also be a portable terminal such as a smartphone. Terminal device 100 has a processor 110 and a storage device 115 storing various print processing programs, as detailed below (see below). Figure 11 The terminal device 100 executes various printing processing programs via the processor 110. Figure 1 The functional structure is shown. It should be noted that in subsequent descriptions, it may sometimes be described as a program proceeding... This means that the program is executed by the processor 110. The processing.

[0033] like Figure 1 As shown, the terminal device 100 includes 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 prints according to the prescribed printing standards without using the printer driver provided by the printer vendor.

[0034] As an example, OS101 features a modular printing system called CUPS (Common Unix Printing System) 160 for use with the OS. It should be noted that OS101 is an example of an operating system, and CUPS 160 is an example of printing software. The printing software can also be standard software integrated into OS101.

[0035] <cups>

[0036] The CUPS160 features an HTTP server 161, a CUPSPnP management unit 162, an IPP client 163, and a print data scheduling & spooling program 164.

[0037] HTTP server 161 is server software running on CUPS160. HTTP server 161 uses the HTTP (Hypertext Transfer Protocol) protocol to obtain or provide information or functions to browser 104.

[0038] The CUPSPnP Management Unit 162 has a PnP (Plag and Play) function that creates print queues by registering printers (including virtual printing devices) detected using protocols such as mDNS / SD in the CUPS160.

[0039] The CUPSPnP management unit 162 changes the settings by executing a script during the installation of the printer application 170, restricting the PnP retrieval address to the internal network of the terminal device 100 (typically IP address 127.0.0.1). Therefore, the CUPS 160 cannot directly recognize the printer 200 and identifies the printer application 170 as a printer. The printer application 170 is not a physical printer, but a so-called virtual printer that operates relative to the CUPS 160. The printer application 170 enables printing using both the CUPS 160 and the printer 200. The printer application 170 is an example of a virtual printing device.

[0040] IPP client 163 uses the IPP protocol to send and receive print data or attributes with IPP / mDNS server 173, which will be described later.

[0041] The print data scheduling & spooling program 164 manages print jobs sent from applications such as 102, and manages multiple print jobs generated simultaneously by temporarily blocking and processing them sequentially before delivering them to the IPP client 163.

[0042] <Printer Applications>

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

[0044] The printer communication unit 171 communicates with the printer 200. The printer communication unit 171 receives capability information from the printer 200 and sends print data relative to the printer 200. Communication between the printer communication unit 171 and the printer 200 occurs via a network, USB, or similar means. In the case of a network, protocols such as IPP and LPD are used. Furthermore, regarding capability information, IPP attributes are used in the case of the IPP protocol, and PJL information is used in the case of other interfaces and protocols such as USB.

[0045] The attribute / mDNS conversion unit 172 obtains capability information representing the capabilities of the printer 200 via the printer communication unit 171. In this embodiment, the attribute / mDNS conversion unit 172 obtains information related to the paper tray of the printer 200 and the paper to be printed stored in the paper tray via the printer communication unit 171. The attribute / mDNS conversion unit 172 generates IPP attributes related to the paper tray of the printer 200 and the paper to be printed based on the obtained information. The attribute / mDNS conversion unit 172 converts the attributes obtained or generated from the printer 200 into IPP attributes corresponding to the printing functions that the CUPS 160 can handle.

[0046] It should be noted that the attribute / mDNS translation unit 172 has the function of mDNS (multicast Domain Name System). mDNS distributes DNS queries simultaneously within the local network via IP (Internet Protocol) multicast, querying all devices on the same network at the same time. Devices receiving the query send their own IP address in response.

[0047] IPP / mDNS server 173 processes the capability information obtained from CUPS 160 and outputs the attributes converted by attribute / mDNS translation unit 172 to CUPS 160. CUPS 160 outputs print data corresponding to the attributes converted by IPP client 163. IPP / mDNS server 173 processes the print data output from CUPS 160, obtains the print data corresponding to the converted attributes output from CUPS 160, and outputs it to print data conversion unit 174. It should be noted that IPP / mDNS server 173, like attribute / mDNS translation unit 172, has mDNS functionality.

[0048] Print data conversion unit 174 obtains print data from CUPS 160 via IPP / mDNS server 173. The acquisition of print data by this print data conversion unit 174 is one example of print data acquisition processing, and the acquired print data is an example of first print data. Print data conversion unit 174 converts the print data obtained from CUPS 160 into print data corresponding to the printing function of printer 200. Print data conversion unit 174 outputs the converted print data to printer communication unit 171.

[0049] The printer communication unit 171 sends the print data output from the print data conversion unit 174 to the printer 200. The transmission of print data based on this printer communication unit 171 is an example of print data transmission processing, and the transmitted print data is an example of second print data based on the first print data. It should be noted that the second print data can also remain unchanged from the first print data.

[0050] <Printer>

[0051] The printer 200 prints 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 have one or more paper trays.

[0052] Furthermore, printer 200 is configured to send paper blank information and paper information for each tray using PJL. This configuration is well-known, therefore detailed description is omitted.

[0053] <Features of this embodiment>

[0054] The user edits print data using application 102, selects the paper size, and executes the print command. At this time, printer application 170 queries printer 200 for information related to the paper size, generates paper-related attributes based on the obtained information, and sends these attributes to CUPS 160. CUPS 160 provides the received paper-related attributes to application 102. Thus, the selectable paper sizes are displayed on the print settings screen of application 102.

[0055] Assuming that the attributes sent from printer application 170 to CUPS 160 include all paper sizes in a manner that encompasses all potentially available paper sizes in printer 200, all paper sizes are selectively displayed on the print setup screen of application 102. In this case, the paper sizes displayed on the print setup screen may include paper sizes that are not actually set in the paper tray of printer 200. In practice, if printing is performed using paper sizes not set in the paper tray of printer 200, the user would have to change or reset the paper undesirably.

[0056] Figure 2 This section shows a specific example of the paper selection menu and tray selection menu displayed on the print settings screen of application 102, in a comparative example where the attributes include all paper sizes available in printer 200 as described above. Figure 2 In the example shown, printer 200 has three paper trays: tray 1, tray 2, and tray 3. The size of the paper to be printed, stored in each tray, is set, for example, to A4 for tray 1, A5 for tray 2, and B5 for tray 3 via an operating section such as the printer panel. In addition to A4, A5, and B5, printer 200 can also use paper sizes such as American letterhead, American legal paper, and postcards. Therefore, in this comparative example, as... Figure 2 As shown, the paper selection menu in application 102 displays all paper sizes, including A4, A5, B5, American Letter, American Legal, and Postcard. Additionally, the tray selection menu displays Tray 1, Tray 2, Tray 3 (all trays included in printer 200), and an "Auto" setting for automatically selecting the paper tray based on the selected paper size.

[0057] In this comparative example, the user might mistakenly set a paper size that is not actually set in the paper tray of printer 200 for American letter paper, American legal paper, or postcards. In this case, for example, an unexpected print job or a printing error might occur, forcing the user to change the paper or reset the settings.

[0058] Therefore, in this embodiment, the printer application 170 obtains information related to the size of the paper tray of the printer 200 and the size of the paper to be printed stored in the paper tray, generates attributes based on the obtained information, and sends the attributes to the CUPS 160. This allows the generated attributes to match the size of the paper to be printed actually stored in the paper tray of the printer 200. As a result, it prevents the user from selecting and setting an incorrect paper size that does not match the paper size that the printer 200 can actually print.

[0059] Figures 3 to 6 This illustrates a specific example of the paper selection menu and tray selection menu displayed on the print settings screen based on application 102 in this embodiment. Figure 3 In the example shown, printer 200 has three paper trays: tray 1, tray 2, and tray 3. The size of the paper to be printed stored in each tray is set to A4 for tray 1, A5 for tray 2, and B5 for tray 3. In this case, as... Figure 3 As shown, the paper selection menu in application 102 displays A4, A5, and B5 paper sizes, and the tray selection menu displays "Auto". Therefore, the user can only set the actual paper size stored in the paper tray of printer 200, thus preventing incorrect paper size settings. Furthermore, by setting the paper tray to "Auto", the appropriate paper tray for the user-selected paper size is automatically selected. In this example, tray 1 is automatically selected when A4 is selected, tray 2 is automatically selected when A5 is selected, and tray 3 is automatically selected when B5 is selected.

[0060] exist Figure 4 In the example shown, printer 200 has three paper trays: tray 1, tray 2, and tray 3. Regarding the size of the paper to be printed stored in each tray, tray 1 is A4, tray 2 is A5, and tray 3 is not specified. In this case, it is possible to place any size of paper that can be stored in tray 3 onto tray 3. In this example, tray 3 is configured to accommodate all paper sizes: A4, A5, B5, American letterhead, American legal letterhead, and postcards. Therefore, as... Figure 4 As shown, in the paper selection menu of application 102, in addition to A4 and A5 as set for trays 1 and 2, all paper sizes including B5, American letterhead, American legal paper, and postcard are displayed. Furthermore, in the tray selection menu, tray 3, which is not set, is also displayed in addition to "Auto". Therefore, when the user wants to print on A4 or A5 paper, selecting the corresponding paper size through the paper selection menu and then selecting "Auto" through the tray selection menu will automatically select the appropriate paper tray. Conversely, when the user wants to print on paper other than A4 and A5, selecting the corresponding paper size through the paper selection menu and then selecting "Auto" or tray 3 through the tray selection menu will prevent the selection of trays 1 and 2, which are set to A4 and A5. It should be noted that in this case, the paper of the desired size must be placed in tray 3 or placed towards tray 3.

[0061] exist Figure 5 In the example shown, printer 200 has three paper trays: tray 1, tray 2, and tray 3. The size of the paper to be printed stored in each tray is not specified in trays 1, 2, and 3. In this case, it is possible to place any size of paper that can be stored in each of trays 1, 2, and 3. In this example, trays 1, 2, and 3 are configured to accommodate all paper sizes: A4, A5, B5, American letterhead, American legal letterhead, and postcards. Therefore, as... Figure 5 As shown, the paper selection menu in application 102 displays all paper sizes: A4, A5, B5, American Letter, American Legal, and Postcard. Additionally, the tray selection menu displays trays 1, 2, and 3, which are not currently set. Therefore, when a user wants to print, they can select the appropriate paper size through the paper selection menu and then select the appropriate paper tray through the tray selection menu to perform printing according to the user's intention. It should be noted that in this case, the paper of the desired size must be placed in any one of trays 1, 2, or 3, or placed in any one of them.

[0062] exist Figure 6 In the example shown, printer 200 has three paper trays: tray 1, tray 2, and tray 3. The size of the paper stored in each tray is set to A4 for tray 1, A4 for tray 2, and A5 for tray 3. In this example, trays 1 and 2 hold the same paper size, but A4 standard paper is placed on one side of trays 1 and 2, while special A4 paper is placed on the other side. Special paper may be, for example, paper pre-printed with specified text or images, paper colored in a specified color, or paper made of a special material. In this case, if "Auto" is set in the tray selection menu, it is possible to print paper different from the paper the user expects. Therefore, as... Figure 6 As shown, the paper selection menu in application 102 displays A4 and A5 paper sizes, while the tray selection menu displays tray 1, tray 2, and tray 3 respectively. Therefore, when a user wants to print on A4 paper or special paper, they can select the A4 size through the paper selection menu and select the paper tray containing the corresponding A4 paper through the tray selection menu, thus performing the printing according to the user's intention. The same applies when printing on A5 paper.

[0063] It should be noted that, for example, if a priority order can be set between pallet 1 and pallet 2, such as... Figure 6 As shown by the dotted line, the tray selection menu can also display "Auto" in addition to Tray 1, Tray 2, and Tray 3. For example, in Tray 1 and Tray 2, which are set to A4 size, the priority of the tray for storing general paper can be pre-set to be higher than that for storing special paper, and the tray with the higher priority can be selected in "Auto". In this case, if the user wants to print on A4 general paper or A5 paper, by selecting the corresponding paper size in the paper selection menu and then selecting "Auto" in the tray selection menu, the printing can be performed according to the user's intention. Similarly, if the user wants to print on A4 special paper, by selecting the A4 size in the paper selection menu and then selecting the paper tray containing the corresponding A4 paper in the tray selection menu, the printing can be performed according to the user's intention.

[0064] Furthermore, in this case, if the same type of paper is placed in tray 1 and tray 2, by selecting the paper selection menu A4 and the tray selection menu "Auto", printing can be performed directly on the paper in tray 2 without resetting the menu when the paper in tray 1 is used up.

[0065] <Control Process>

[0066] pass Figures 7 to 9 The flowchart illustrates the control process performed by the printer application 170 to display the aforementioned paper selection menu and tray selection menu.

[0067] like Figure 7 As shown, in step S10, the printer application 170 waits for the occurrence of an event.

[0068] In step S20, printer application 170 determines whether there is a request from CUPS 160 for attributes related to the paper tray and the paper being printed. If there is an attribute request (step S20: yes), printer application 170 transfers the processing to the next step S100.

[0069] In step S100, printer application 170 performs tray association processing. Details regarding tray association processing will be described later. Afterward, the process returns to step S10 described above.

[0070] On the other hand, in step S20 above, if there is no request for an attribute (step S20: no), the printer application 170 transfers the processing to the next step S30.

[0071] In step S30, printer application 170 determines whether a new printer 200 has been added via the mDNS / SD (multicast Domain Name System / Service Discovery) protocol. If a new printer 200 has been added (step S30: Yes), printer application 170 proceeds to the next step S40.

[0072] In step S40, printer application 170 performs a reload process to notify CUPS 160 of the added printer 200 via the mDNS / SD protocol. CUPS 160 then registers the virtual printer corresponding to printer 200, generated by printer application 170, with itself. The data required for this registration is provided by mDNS / SD. Afterward, the process returns to step S10 described above.

[0073] On the other hand, in step S30 above, if no new printer 200 is added (step S30: no), printer application 170 causes the process to proceed to the next step S50.

[0074] In step S50, the printer application 170 performs processing corresponding to other events. Afterwards, the processing returns to step S10. This concludes the flowchart.

[0075] Figure 8 This represents an example of the control process executed in the tray association process of step S100 above.

[0076] like Figure 8 As shown, in step S110, printer application 170 sends a PJL (Printer Job Language) to printer 200, which is the requesting object of the requested attribute request, for investigating the tray setup status. The PJL for investigating the tray setup status is a command requesting the sending of tray information related to the paper trays possessed by printer 200. The tray information includes, for example, the number of paper trays possessed by printer 200, tray identification information used to identify the paper trays, etc. The tray identification information includes, for example, the tray number, tray ID, etc.

[0077] In step S120, printer application 170 receives tray information sent from printer 200 based on PJL used to investigate the tray setup status. The tray information is an example of paper feeding environment information, and step S120 is an example of environmental information acquisition and processing.

[0078] In step S200, printer application 170 performs a tray survey process to survey the paper trays of printer 200. If printer 200 has multiple paper trays, the tray survey process is repeated for each paper tray. Details of the tray survey process will be described later.

[0079] In step S130, the printer application 170 determines whether the tray inspection process described in step S200 has been completed for all paper trays of the printer 200. If the tray inspection process has not been completed for all paper trays (step S130: No), the printer application 170 moves the processing object 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 moves the processing to the next step S140.

[0080] In step S140, printer application 170 generates paper tray-related attributes based on the valid tray list generated in the tray survey processing of step S200 above. In other words, based on the tray paper setting information obtained in step S220 described later, paper tray-related attributes suitable for the paper supply environment of printer 200 are generated. These generated paper tray-related attributes are an example of tray capability information corresponding to the valid tray list, and an example of valid capability information suitable for the paper supply environment of printer 200. Step S140 is an example of capability information generation processing.

[0081] In step S150, printer application 170 generates attributes related to the paper to be printed based on the list of valid papers generated in the tray survey process of step S200 above. In other words, based on the tray paper setting information obtained in step S220 described later, attributes related to the paper to be printed suitable for the paper supply environment of printer 200 are generated. The generated attributes related to the paper to be printed are an example of paper capability information corresponding to the list of valid papers, and an example of effective capability information suitable for the paper supply environment of printer 200. Step S150 is an example of capability information generation processing.

[0082] In step S160, printer application 170 sends to CUPS 160 the attributes related to the paper tray generated in step S140 and the attributes related to the paper being printed generated in step S150. Step S160 is an example of capability information output processing. This concludes the flowchart.

[0083] Figure 9 An example of the control process performed in the tray investigation process of step S200 above is shown.

[0084] like Figure 9 As shown, in step S205, the printer application 170 acquires paper status information of the paper tray corresponding to the object being processed. The paper status information is the quantity of printed paper stored in the corresponding paper tray, detected, for example, by a sensor located on the paper tray. The paper status information is an example of paper supply environment information, and step S205 is an example of environmental information acquisition and processing.

[0085] In step S210, the printer application 170 determines whether the quantity of printed paper in the paper tray is 0, i.e., whether the paper tray is empty, based on the paper status information obtained in step S205 above. Empty is an example of a quantity less than a predetermined value, in which case the predetermined value is 1. Alternatively, quantity is an example of the storage capacity; step S210 is an example of storage capacity determination processing. It should be noted that the predetermined value can also be set to 2 or higher to determine whether the quantity of printed paper is less than the predetermined value. If the paper tray is determined to be empty (step S210: Yes), the printer application 170 ends the process without changing the effective tray list and the effective 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 effective tray list. As a result, the paper tray is not included in the attributes related to the paper tray created in the aforementioned step S140, and the paper tray is not displayed in the tray selection menu.

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

[0087] In step S215, printer application 170 sends a PJL to printer 200, which requests tray paper setting information related to the paper to be printed stored in the paper tray corresponding to the processing object. The tray paper setting information includes, for example, paper size information that corresponds to the tray identification information of the corresponding paper tray and can determine the size of the paper to be printed set in that paper tray. The paper size information is set for each tray, for example, via an operation unit such as a printer panel. It should be noted that the paper size information may also be, for example, paper size information that can determine the size of the paper to be printed actually stored in the corresponding paper tray. In this case, the paper size information may also be detected by a sensor installed on the paper tray.

[0088] In step S220, printer application 170 receives tray paper setting information sent from printer 200 based on PJL used to request the aforementioned tray paper setting information. The tray paper setting information is an example of paper supply environment information, and step S220 is an example of environment information acquisition processing.

[0089] In step S225, printer application 170 determines whether the tray paper setting information received in step S220 is unset information corresponding to the unset information of uncertain paper size. If the tray paper setting information is not unset information (step S225: No), printer application 170 transfers the processing to the next step S230.

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

[0091] In step S235, printer application 170, based on the tray paper setting information received in step S220, adds the paper size set for the paper tray corresponding to the processing object to the valid paper list. That is, in step S235, based on the tray paper setting information received in step S220, a valid paper list containing the sizes of the printed paper corresponding to the paper tray with the tray identification information is created. This step S235 is an example of a valid paper list creation process.

[0092] In step S250, if different paper trays have the same paper size, printer application 170 changes both from "automatic" to the tray identification information of the corresponding tray. That is, in step S250, if "automatic" is included in the valid tray list through step S230, it is determined whether the printed paper in multiple paper trays has a common size based on the tray paper setting information obtained in step S220. If the printed paper in multiple paper trays has a common size, the setting is changed to manual selection of the tray identification information corresponding to "automatic". This step S250 is an example of valid tray list change processing. This concludes the flowchart.

[0093] On the other hand, in step S225 above, if the tray paper setting information is not set (step S225: Yes), the printer application 170 transfers the processing to the next step S240.

[0094] In step S240, printer application 170 appends the tray identification information of the paper tray to the valid tray list. The tray identification information in the valid tray list represents the manual selection setting for manually selecting the paper tray corresponding to the tray identification information by the user. That is, in step S240, based on the tray paper setting information obtained in step S220 above, a valid tray list is created representing the manual selection setting for one of the multiple tray identification information corresponding to the multiple paper trays possessed by printer 200. This step S240 is an example of a valid tray list creation process.

[0095] In step S245, printer application 170 adds all paper sizes valid for the paper tray corresponding to the processing object to the valid paper list. That is, in step S245, based on the tray paper setting information received in step S220 above, a valid paper list containing all sizes of printed paper that can be accommodated in the corresponding paper tray is created. This step S245 is an example of a valid paper list creation process. Afterwards, the process ends.

[0096] It should be noted that, when a priority order is set among multiple paper trays as described above, in step S250 above, the tray identification information of the corresponding two paper trays can also be added to "automatically".

[0097] <Effects of the Implementation Method>

[0098] In this embodiment, steps S120, S205, and S220 are executed by the printer application 170. In these steps S120, S205, and S220, tray information, paper status information, and tray paper setting information related to the paper tray of the printer 200 and the paper to be printed stored in that paper tray are obtained. Based on the obtained tray information, paper status information, and tray paper setting information, attributes (effective capability information) suitable for the paper supply environment of the printer 200 are generated in steps S140 and S150. This allows the generated attributes to match the size of the paper actually stored in the paper tray of the printer 200. As a result, it prevents the user from selecting and setting an incorrect paper size that does not match the paper size that the printer 200 can actually print. Consequently, it prevents the need to change or reset paper that the user does not want.

[0099] Furthermore, in this embodiment, in particular, the tray information includes tray identification information for identifying the paper tray of the printer 200, and the tray paper setting information includes paper size information that can determine the size of the paper to be printed stored in or set in the paper tray corresponding to the tray identification information. By combining the tray identification information and the paper size information, it is possible to clearly identify which paper tray contains which size of paper to be printed or which size of paper to be printed is set accordingly.

[0100] Furthermore, in this embodiment, in particular, the printer application 170 performs steps S230 and S240. In steps S230 and S240, based on the tray paper setting information obtained in step S220, a valid tray list is created, representing at least one of the manual selection setting and automatic selection setting of one of the plurality of paper trays possessed by the printer 200. The attributes generated in step S140 include paper tray-related attributes corresponding to the valid tray list created in steps S230 and S240.

[0101] Based on the created list of valid paper trays, for example in application 102, the paper trays of the printer 200, excluding those unable to handle a paper size selected by the user, can be displayed in a manually selectable manner. Alternatively, the selection of that paper size can be set to be automatically chosen from the paper trays of the printer 200. Furthermore, since the generated attributes include attributes corresponding to the list of valid paper trays, attributes based on the paper trays of the printer 200 and the paper sizes of the printed paper corresponding to those paper trays can be reliably sent to CUPS160.

[0102] Furthermore, in this embodiment, in particular, when printer application 170 performs steps S235 and S245 to create a valid paper list, if the tray paper setting information obtained in step S220 includes unset information indicating an uncertain size of the paper to be printed, the valid paper list includes all sizes of the paper to be printed that can be accommodated in the paper tray. If the paper size information does not include unset information, the valid paper list includes the size of the paper to be printed corresponding to the paper tray that is associated with the tray identification information. The attributes generated in step S150 include attributes related to the paper to be printed that correspond to the valid paper list generated in steps S235 and S245.

[0103] Based on the created list of valid paper sizes, for example in application 102, a list of paper sizes stored in or corresponding to the paper tray of printer 200 can be displayed as manually selectable paper sizes. Alternatively, this can be explicitly indicated even if the paper tray of printer 200 is in a state where the size of the paper to be printed is uncertain and not set. Furthermore, since the generated attributes include attributes related to the paper to be printed, attributes based on the paper tray of printer 200 and the paper sizes corresponding to that paper tray can be reliably sent to CUPS160.

[0104] Furthermore, in this embodiment, in particular, the printer application 170 is configured to perform step S210, which determines whether the number of sheets to be printed in the paper tray is empty based on the paper status information obtained in step S205. If it is determined to be empty, the paper tray is not included in the attributes related to the paper tray generated in step S140. In other words, the printer application 170 is configured not to perform the generation of attributes related to the paper tray that is determined to be empty. Thus, when there is an empty paper tray in the printer 200, the user can avoid selecting that paper tray or the paper to be printed corresponding to that paper tray. Alternatively, it can be configured to exclude the paper tray from the attributes when it is not empty but the number of remaining sheets is less than the specified number. In this case, the undesirable situation of running out of paper midway through printing using the paper with a small number of remaining sheets can be prevented.

[0105] Furthermore, in this embodiment, especially when the list of valid trays created in steps S230 and S240 includes "automatic" and the printed paper stored in multiple paper trays in the tray paper setting information obtained in step S220 above has a common size, the printer application 170 performs step S250 to change "automatic" to the corresponding tray identification information.

[0106] When the paper size stored in at least one paper tray is known, or when at least one paper tray corresponds to a paper size, the paper tray can be automatically selected based on the paper size selected by the user by including "Auto" in the list of valid trays. However, when multiple paper trays contain or correspond to the same paper size, the aforementioned automatic selection cannot be performed because it is not determined which of these multiple paper trays to use. Therefore, in this embodiment, in this case, step S250 is performed to exceptionally cancel "Auto" and change to manual selection of the paper tray by the user. This avoids the aforementioned undesirable situation.

[0107] <Variation Example>

[0108] It should be noted that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from its spirit and technical concept.

[0109] (1) In the case where the tray selection menu displays an empty paper tray, in the above embodiment, the empty paper tray is not displayed in the tray selection menu by not including the paper tray in the attributes when the paper tray is empty, but this is not limited to this. For example, the empty paper tray may also be displayed in the tray selection menu.

[0110] Figure 10 This represents an example of the control process executed during the pallet investigation and handling in this variation. It should be noted that... Figure 10 With the aforementioned Figure 9 The difference lies in the addition of steps S255 and S260; the other steps are the same. Figure 9 Since they are the same, the explanation is omitted appropriately.

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

[0112] In step S255, the printer application 170 creates an attribute indicating that no paper is being printed in the paper tray corresponding to the processing object. This attribute includes information identifying the paper tray and information indicating that the amount of paper to be printed in the identified paper tray is empty. This attribute is an example of effective capability information, the information identifying the paper tray is an example of determining tray capability information, and the information indicating that it is empty is an example of determining paper capability information. Furthermore, step S255 is an example of capability information generation processing.

[0113] In step S260, printer application 170 adds an empty paper tray to the list of valid trays. Then, the process proceeds to step S250. It should be noted that the steps other than those described above are... Figure 9 Since they are the same, the explanation is omitted.

[0114] Next, in step S140, based on the valid tray list, attributes related to the paper trays are generated in a manner that includes empty paper trays. Then, in step S160, the attributes related to the paper trays generated in step S140, the attributes related to the paper being printed generated in step S150, and the attribute indicating that there is no paper being printed in the paper tray generated in step S255 are sent to CUPS160.

[0115] Based on the variations described above, when the paper tray of printer 200 is empty, the user can be notified. Alternatively, the user can be notified when the paper tray is not empty but has fewer sheets remaining than the specified number. In this case, the user can be informed in advance that printing with a small number of remaining sheets is being performed and that there is a possibility of running out of paper midway through the process.

[0116] (2) Other

[0117] Alternatively, the user can choose to display all paper sizes available in the printer 200, as in the aforementioned comparative example, or to display the paper size actually set or stored in the printer 200, as in the aforementioned implementation.

[0118] In this embodiment, when there is an attribute request from CUPS160, the printer application 170 updates the valid tray list and valid paper list during tray survey processing. However, tray survey processing can also be performed periodically (e.g., every 5 seconds). If the paper and tray conditions change, CUPS160 is reloaded to reflect the changes in the valid tray list and valid paper list. Furthermore, at this time, the printer 200 can be periodically queried for changes in tray and paper relationships using a low-communication-load method (e.g., USB control transmission). Paper and tray information queries and changes to the valid paper list and valid tray list are only performed when the printer 200 notifies the printer of such a change.

[0119] Furthermore, the tray setting information is usually not dynamically changing, so steps S110 and S120 can also be omitted by using the response from the last query.

[0120] Furthermore, in the above embodiment, the case where the tray paper setting information refers to the paper size information set in the paper tray has been described, but it is not limited to this. The tray paper setting information may also be paper category information indicating the type of paper being printed, such as plain paper, recycled paper, heavy paper, or envelope. In this case, the type of paper being printed may be added to the list of valid paper to create an attribute (validity information), and the paper category may be displayed in the paper selection menu.

[0121] In addition, the above Figures 7 to 10 The flowchart shown does not limit the present invention to the process shown above. Processes may be added, deleted, or their order changed without departing from the spirit and technical concept of the invention.

[0122] In addition to the above-mentioned content, the methods of the above-described embodiments and various modifications can also be appropriately combined and utilized.

[0123] Furthermore, although not all examples are provided, the invention can be implemented with various modifications without departing from its spirit.

[0124] <Hardware Structure of Terminal Devices and Printers>

[0125] use Figure 11 This illustrates an example of the hardware structure of the terminal device 100 and the printer 200.

[0126] <Terminal Device>

[0127] like Figure 11 As shown, the terminal device 100 includes a processor 110, a storage device 115, a display unit 140, an operation unit 150, and a communication interface 190. These components—processor 110, storage device 115, display unit 140, operation unit 150, and communication interface 190—are connected to each other via a bus 105 in a manner that enables them to send and receive data.

[0128] Storage device 115 includes volatile storage device 120 and non-volatile storage device 130. Volatile storage device 120 is, for example, DRAM, which stores various programs and data that are processed. Non-volatile storage device 130 is, for example, a hard disk drive or solid-state drive, which has a program storage area 131 and a data storage area 132.

[0129] Various programs are stored in program storage area 131. These programs include those based on the aforementioned... Figures 7 to 10 The aforementioned printer application 170, print processing program, etc., are included in the flowcharts, etc. Data required for the execution of various programs is stored in the data storage area 132.

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

[0131] The display unit 140, such as an LCD, is capable of displaying various information. The operation unit 150, such as a mouse or keyboard, handles user operations. By operating the operation unit 150, the user can input various instructions into the terminal device 100.

[0132] Communication interface 190 is an interface used for communicating with other devices and connecting to a network NT. Communication interface 190 is an example of communication I / F.

[0133] It should be noted that the storage device 115 is not limited to the structure of the device elements described above. For example, it may be composed of removable recording media such as RAM, ROM, EEPROM, HDD, USB memory that is detachable from the terminal device 100, buffers provided by the processor 110, or combinations thereof.

[0134] It should be noted that storage device 115 can also be a computer-readable storage medium. Computer-readable storage media are non-transitory media. Besides the examples mentioned above, non-transitory media include recording media such as CD-ROMs and DVD-ROMs. Furthermore, non-transitory media are also tangible media. The same applies to storage device 215 of printer 200, which will be described later.

[0135] <Printer>

[0136] like Figure 11 As shown, printer 200 includes processor 210, storage device 215, display unit 240, operation unit 250, communication interface 270, and printing unit 290. These components, including processor 210, storage device 215, display unit 240, operation unit 250, communication interface 270, and printing unit 290, are connected to each other via bus 205 in a manner that enables them to send and receive data.

[0137] Storage device 215 includes a volatile storage device 220 and a non-volatile storage device 230. The volatile storage device 220 is, for example, DRAM, and includes an image data storage area 222 for storing image data of the object to be printed. The non-volatile storage device 230 is, for example, NVRAM, flash memory, etc., and includes a program storage area 231 and a data storage area 232. Various programs are stored in the program storage area 231. These programs include firmware such as printing processing programs. Various data for executing these programs are stored in the data storage area 232.

[0138] Processor 210 is a device for performing data processing, such as a CPU. Processor 210 executes various programs stored in program storage area 231.

[0139] The display unit 240 is, for example, a liquid crystal display (LCD) capable of displaying various information. The operation unit 250 is a device that accepts user operations. The user can input various commands 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 a network NT.

[0140] The printing unit 290 prints an image onto a sheet of paper conveyed by a transport mechanism (not shown). The printing unit 290 prints the image onto the sheet of paper based on print data sent from the terminal device 100 or on a print job generated by itself based on operations in the operation unit 250.

[0141] Explanation of reference numerals in the attached figures

[0142] 1. Printing System

[0143] 100. Terminal device (an example of an information processing device)

[0144] 101 OS (An example of an operating system)

[0145] 110 processor

[0146] 160 CUPS (An example of printing software)

[0147] 170 Printer Application (An Example of an Information Processing Program)

[0148] 190 Communication Interface (An Example of Communication I / F)

[0149] 200 Printer (an example of a printing device).< / cups>

Claims

1. An information processing program, executable by the arithmetic unit of an information processing device, and capable of performing print control using a printing device capable of communicating with the information processing device, wherein, The printing device prints on paper stored in a paper tray. The information processing device contains an operating system with printing software that prints according to instructions from an application. The information processing program can be registered as a virtual printing device within the printing software. The information processing program is configured to cause the arithmetic unit of the information processing device to execute the following when the virtual printing device is registered with the printing software: Environmental information acquisition and processing: acquiring paper supply environment information related to the paper tray of the printing device and the paper to be printed stored in the paper tray; Capability information generation processing generates effective capability information suitable for the paper supply environment of the printing device based on the paper supply environment information obtained in the environmental information acquisition processing. Capability information output processing outputs the effective capability information generated in the capability information generation processing to the printing software. The print data acquisition process acquires first print data from the printing software that corresponds to the valid capability information output in the capability information output process. and The print data sending process sends second print data to the printing device based on the first print data obtained in the print data acquisition process.

2. The information processing program according to claim 1, wherein, The paper supply environment information includes: Tray identification information, used to identify the paper tray of the printing device; and The paper size information can determine the size of the printed paper stored in the paper tray that corresponds to the tray identification information, or the size of the printed paper set for the paper tray that corresponds to the tray identification information.

3. The information processing program according to claim 2, wherein, The information processing program is configured to cause the arithmetic unit to further perform a valid tray list creation process. This valid tray list creation process, based on the paper supply environment information obtained in the environment information acquisition process, creates a valid tray list representing at least one of two options: a manual selection setting for one of a plurality of tray identification information corresponding to a plurality of paper trays provided by the printing device, and an automatic selection setting for one of the plurality of tray identification information. The effective capacity information includes pallet capacity information corresponding to the effective pallet list created in the effective pallet list creation process.

4. The information processing program according to claim 2, wherein, The information processing program is configured to cause the arithmetic unit to further perform a valid paper list creation process. This valid paper list creation process is based on the paper supply environment information obtained in the environment information acquisition process. If the paper size information includes undefined information indicating that the size of the paper to be printed is uncertain, the process creates a valid paper list containing all sizes of the paper to be printed that can be accommodated in the paper tray. If the paper size information does not include the undefined information, the process creates a valid paper list containing all sizes of the paper to be printed corresponding to the paper tray that has been associated with the tray identification information. The effective capacity information includes paper capacity information corresponding to the effective paper list created in the effective paper list creation process.

5. The information processing program according to claim 1, wherein, The information processing program is configured to cause the arithmetic unit to also perform a storage quantity determination process. This storage quantity determination process, based on the paper supply environment information obtained in the environment information acquisition process, determines whether the storage quantity of the printed paper in any of the paper trays is less than a predetermined value. If the storage capacity is determined to be less than the specified value during the storage capacity determination process, the generation of the effective capacity information based on the capacity information generation process will not be performed.

6. The information processing program according to claim 1, wherein, The information processing program is configured to cause the arithmetic unit to also perform a storage quantity determination process. This storage quantity determination process, based on the paper supply environment information obtained in the environment information acquisition process, determines whether the storage quantity of the printed paper in any of the paper trays is less than a predetermined value. If the storage capacity determination process determines that the storage capacity is less than the specified value, the capacity information generation process performs the generation of effective capacity information, which includes determination pallet capacity information that determines the paper pallet and determination paper capacity information indicating that the storage capacity in the determined paper pallet is less than the specified value.

7. The information processing program according to claim 3, wherein, The information processing program is configured to cause the arithmetic unit to also perform a valid tray list change process. In the case that the valid tray list created in the valid tray list creation process includes the automatic selection setting and that the printed papers stored in multiple paper trays in the paper supply environment information obtained in the environment information acquisition process are of a common size, the automatic selection setting is changed to the manual selection setting for the corresponding tray identification information.

8. An information processing apparatus comprising: a communication I / F capable of communicating with a printing device; and a control unit having an information processing program and an operating system having printing software, wherein, The printing device prints on the paper stored in the paper tray, and the information processing program is registered in the printing software as a virtual printing device. The control unit is configured to execute: Environmental information acquisition and processing: acquiring paper supply environment information related to the paper tray of the printing device and the paper to be printed stored in the paper tray; Capability information generation processing generates effective capability information suitable for the paper supply environment of the printing device based on the paper supply environment information obtained in the environmental information acquisition processing. Capability information output processing outputs the effective capability information generated in the capability information generation processing to the printing software. The print data acquisition process acquires first print data from the printing software that corresponds to the valid capability information output in the capability information output process. and The print data sending process sends second print data to the printing device based on the first print data obtained in the print data acquisition process.

Citation Information

Patent Citations

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

    JP2022110712A