Information processing program and information processing device

The information processing program facilitates the registration of a virtual printing device in OS standard printing software, addressing the inconvenience of requiring a connected real device for initial settings, enabling pre-connection setup and subsequent printing.

WO2025197344A1PCT designated stage Publication Date: 2025-09-25BROTHER KOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Conventional driverless printing systems require a real printing device to be connected for initial settings, which is inconvenient and limits the ability to perform printing operations until the device is connected.

Method used

An information processing program that allows a virtual printing device to be registered in the OS standard printing software without a connected real printing device, by simulating the real device's capabilities and storing its information, enabling initial settings and subsequent printing operations when the real device is connected.

Benefits of technology

Enables initial settings and printing operations to be performed on a virtual printing device before the real device is connected, improving convenience and allowing for batch setup of multiple devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025004105_25092025_PF_FP_ABST
    Figure JP2025004105_25092025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention makes it possible to register a virtual printing device and perform initial settings, etc., in advance, even in a state where an actual printing device is not connected, and execute a printing operation later when the actual printing device is connected. A printer application 170 causes the following steps to be executed: when a printer 200 is not yet connected to a terminal device 100, a step S30 for causing a CUPS 160 to register the printer application 170 as a virtual printer corresponding to the printer 200, by responding to a search for the printer 200 by the CUPS 160, and a step S60 for outputting capability information of the printer 200 in response to a request for the capability information from the CUPS 160; and after the printer 200 is connected to the terminal device 100, a step S120 for acquiring print data from the CUPS 160 corresponding to the output capability information, and a step S170 for transmitting print data obtained by converting the acquired print data to the connected printer 200.
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 connectable to 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 the functions of such driverless OS standard printing software and support printers 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 printing device is created within an information processing device that receives print jobs from the OS standard printing software and sends the received print jobs to a printer.

[0004] Japanese Patent Application Laid-Open No. 2019-175313

[0005] In the above-described conventional technology, a virtual printing device is registered in the OS's standard printing software, and print data from the OS's standard printing software is output to the virtual printing device, and printing is performed based on that print data. When registering the virtual printing device, capability information is obtained from a real, non-virtual printing device (hereinafter referred to as the "real printing device"), and registration is performed based on that capability information. As a result, initial settings on the information processing device cannot be performed until the real printing device is connected, which is inconvenient.

[0006] An object of the present invention is to provide an information processing program and an information processing device that can register a virtual printing device in advance and perform initial settings, etc., even when a real printing device is not connected, and can then perform printing operations when the real printing device is connected later.

[0007] In order to achieve the above object, the 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 that can communicate with a printing device that is to be connected to the information processing device and execute printing control using the printing device, wherein the information processing device is equipped with an operating system having OS standard printing software, and the information processing program causes the calculation unit of the information processing device to execute a registration process that, when the printing device is not yet connected to the information processing device, registers the information processing program in the OS standard printing software as a virtual printer corresponding to the printing device by responding to a printer search by the OS standard printing software, and a capability information output process that outputs the capability information of the printing device in response to a capability information request from the OS standard printing software, and after the printing device is connected to the information processing device, the information processing program is configured to cause the calculation unit of the information processing device to execute a print data acquisition process that acquires first print data from the OS standard printing software that corresponds to the capability information output in the capability information output process, and a print data transmission process that transmits second print data based on the first print data to the connected printing device.

[0008] The information processing program of the present invention causes the processing unit of the information processing device to execute a registration process and a capability information output process when a printing device is not yet connected to the information processing device. In the registration process, the information processing program registers the printing device as a virtual printer in the OS-standard printing software by responding to a printer search by the OS-standard printing software. In the capability information output process, capability information of the printing device is output in response to a capability information request from the OS-standard printing software. In this way, according to the present invention, even when a printing device is not actually connected, a virtual printing device can be registered in advance and capability information of a printing device to be connected can be output, thereby enabling various initial settings, setup, etc. to be performed in the information processing device. This improves convenience. Furthermore, after a printing device is connected to the information processing device, the information processing program of the present invention causes the processing unit of the information processing device to execute a print data acquisition process and a print data transmission process. In the print data acquisition process, first print data is acquired from the OS-standard printing software corresponding to the capability information output in the capability information output process. In the print data transmission process, second print data based on the first print data is transmitted to the connected printing device, and printing is executed. In this way, according to the present invention, when a printing device that was not originally connected is later connected, the printing operation can be executed.

[0009] According to the present invention, even when a real printing device is not connected, a virtual printing device can be registered in advance to perform initial settings, etc., and printing operations can be performed later when the real printing device is connected.

[0010] 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. 2 is a diagram showing an example of printer setting value information. FIG. 3 is a flowchart showing an example of a control procedure in which a printer application is registered in CUPS after installation of the printer application, with no printer connected to the terminal device. FIG. 4 is a flowchart showing an example of a control procedure in which a user issues a print execution instruction after CUPS registers the printer application as a virtual printer. FIG. 5 is a block diagram showing an example of the system configuration of a printing system and the functional configuration of a terminal device in a modified example in which capability information and setting value information are acquired after installation. FIG. 6 is a flowchart showing an example of a control procedure in a modified example in which capability information and setting value information are acquired after installation. FIG. 7 is a block diagram showing an example of the hardware configuration of a terminal device and a printer.

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

[0012] <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 communicatively connected via, for example, the Internet, a wired LAN, or a wireless LAN. Note that the terminal device 100 is an example of an information processing device, and the printer 200 is an example of a printing device and an actual printing device.

[0013] <Functional Configuration of Terminal Device> The terminal device 100 transmits print data to the printer 200 to execute printing. The terminal device 100 is, for example, a desktop PC, a notebook PC, a tablet computer, or the like, but may also be a mobile terminal such as a smartphone. As will be described in detail later, the terminal device 100 has a processor 110 and a storage device 115 that stores various print processing programs (see FIG. 7 described later). The processor 110 executes the various print processing programs, thereby giving the terminal device 100 the functional configuration shown in FIG. 1 .

[0014] 1, the terminal device 100 has an OS (Operating System) 101, an editing application 102, 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.

[0015] The OS 101 includes, for example, a modularized printing system for the OS, CUPS (Common Unix Printing System) 160. The OS 101 is an example of an operating system, and the CUPS 160 is an example of OS standard printing software.

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

[0017] The HTTP server 161 is server software that runs on the CUPS 160. The HTTP server 161 obtains information and functions using the HTTP (Hypertext Transfer Protocol) via the browser 104, or provides information and functions to them. The CUPS PnP 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.

[0018] The CUPS PnP management unit 162 is configured by a script executed when the printer application 170 is installed so that the search address for PnP is limited to the internal network of the terminal device 100 (usually IP address 127.0.0.1). As a result, the CUPS 160 cannot directly recognize the printer 200, and instead recognizes the printer application 170 as the printer. The printer application 170 is not an actual printer, but rather a so-called virtual printer that behaves as a printer to the CUPS 160. The printer application 170 mediates between the CUPS 160 and the printer 200, thereby enabling printing using the CUPS 160 and the printer 200. The printer application 170 is an example of a virtual printing device.

[0019] 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 editing 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.

[0020] <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 printer search process and a capability information request process. The printer application 170 includes a printer communication unit 171, an attribute / mDNS conversion unit 172, an IPP / mDNS server 173, a print data conversion unit 174, and a printer capability and setting value storage unit 175. The printer application 170 is an example of an information processing program.

[0021] The printer communication unit 171 communicates with the printer 200 using the IPP protocol. The printer communication unit 171 receives attributes from the printer 200 and transmits print data to the printer 200.

[0022] When the printer 200 is connected to the terminal device 100, the attribute / mDNS conversion unit 172 acquires attributes indicating the capabilities of the printer 200 via the printer communication unit 171. When the printer 200 is not yet connected to the terminal device 100, the attribute / mDNS conversion unit 172 reads attributes, which are capability information and setting value information of the printer 200 to be connected, from the printer capability and setting value storage unit 175. The attribute / mDNS conversion unit 172 converts the attributes acquired from the printer 200 or the printer capability and setting value storage unit 175 into attributes corresponding to the printing functions that can be handled by CUPS 160.

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

[0024] In response to a capability information request process from 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. IPP / mDNS server 173 acquires the 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.

[0025] Print data conversion unit 174 acquires print data from CUPS 160 via IPP / mDNS server 173. 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. Printer communication unit 171 transmits the print data output from print data conversion unit 174 to printer 200.

[0026] The printer capability and setting value storage unit 175 pre-stores capability information and setting value information of the printer 200 to be connected to the terminal device 100, even when the printer 200 has not yet been connected to the terminal device 100. The printer application 170 may already have the capability information and setting value information when it is installed on the terminal device 100. For example, the capability information and setting value information may be customized in an installer for installing the printer application 170 on the terminal device 100. The capability information is information that indicates the printing capability of the printer 200 to be connected, and includes, for example, the print color (e.g., color or black and white), the size and type of print paper, etc.

[0027] FIG. 2 shows an example of the setting value information for the printer 200. In the example shown in FIG. 2, the setting value information includes the printer names, IP addresses, node names, serial numbers, MAC addresses, etc. of the two printers 200 to be connected. The printer names may be the printer model names or names given by the user. The IP addresses or node names are examples of access information for the printing devices, and the serial numbers or MAC addresses are examples of identification information. Note that while the example shown in FIG. 2 includes setting value information for multiple printers 200, it may also be setting value information for a single printer 200. Similarly, the capability information for the printers 200 to be connected may also be capability information for one or multiple printers 200. In other words, the capability information and setting value information for the printer 200 held by the printer application 170 may be for one printer 200 or for multiple printers 200.

[0028] <Control Procedure> In this embodiment, the printer application 170 is installed in the terminal device 100 regardless of whether the printer 200 is connected to the terminal device 100 or not yet connected. A situation in which the printer 200 is not yet connected to the terminal device 100 may occur, for example, when the terminal device 100 is delivered to a user first and the printer 200 is delivered later, and initial settings and setup are performed on the terminal device 100 first. A control procedure for registering the printer application 170 in the CUPS 160 when the printer 200 is not connected to the terminal device 100 after the printer application 170 has been installed will be described with reference to the flowchart in FIG. 3.

[0029] 3, first, in step S10, the printer application 170 determines whether or not a printer search process has been performed by the CUPS 160. The printer search process is a process for searching for a printer 200 (including a virtual printer) that is the target of printing processing, and is performed by the CUPSPnP management unit 162 of the CUPS 160 using a protocol such as mDNS / SD. The printer application 170 repeats this step S10 until the printer search process has been performed by the CUPS 160 (step S10: No), and if the printer search process has been performed (step S10: Yes), the printer application 170 proceeds to the next step S15.

[0030] In step S15, the printer application 170 detects the printer 200 connected to the terminal device 100 and acquires setting value information and capability information from the detected printer 200 (S15). As an example of a detection method, the printer application 170 sends an mDNS query from the attribute / mDNS conversion unit 172, and if a response is received, it detects that the printer 200 is connected. Next, in step S20, the printer application 170 reads setting value information of the printer 200 to be connected from the printer capability / setting value storage unit 175 (S20). Note that if the printer 200 to be connected is detected as connected in step S15, it is assumed that the printer 200 was connected later, and the processing of step S20 is skipped.

[0031] In step S30, in response to the printer search by CUPS 160, printer application 170 transmits the setting value information read in step S15 or S20 to CUPS 160. As a result, CUPS 160 registers the printer application 170 that responded with the new setting value information as a virtual printer corresponding to printer 200. Note that if the printer application 170 responds with setting value information for multiple printers 200, CUPS 160 registers the printer application 170 as multiple virtual printers corresponding to each of the multiple printers 200. Step S30 is an example of registration processing. After step S30, printer application 170 ends this flowchart.

[0032] Next, a flowchart will be described for the printer application 170's response to a request for capability information from the CUPS 160 to the printer application 170 registered as a virtual printer. As shown in FIG. 3 , in step S40, the printer application 170 determines whether or not a capability information request process has been performed by the CUPS 160. The capability information request process is a process for requesting the printing capabilities of the registered printer 200 (including virtual printers). If multiple printers 200 (including virtual printers) are registered, the CUPS makes a request for each printer. The printer application 170 repeats step S40 until the capability information request process is performed by the CUPS 160 (step S40: No). If the capability information request process has been performed (step S40: Yes), the printer application 170 proceeds to the next step S45.

[0033] In step S45, the printer application 170 determines whether the printer 200 is already connected to the terminal device 100. If it is determined that the printer 200 is already connected to the terminal device 100 (S45: Yes), the printer application 170 acquires capability information from the printer 200 (S46). On the other hand, if it is determined that the printer 200 is not yet connected to the terminal device 100 (S45: No), the printer application 170 reads capability information of the printer 200 to be connected from the printer capability and setting value storage unit 175 (S50).

[0034] In step S60, in response to the capability information request from CUPS 160, printer application 170 transmits the capability information read in step S46 or step S50 to CUPS 160. Step S60 is an example of capability information output processing. With this, printer application 170 ends this flowchart.

[0035] The control procedure when a user issues a print execution instruction after the CUPS 160 has registered the printer application 170 as a virtual printer will be described with reference to the flowchart of FIG.

[0036] As shown in FIG. 4 , first, in step S110, the printer application 170 determines whether a print command has been issued by the user. The print command is based on print data from the CUPS 160 corresponding to the capability information output in step S60. In this embodiment, the user can issue a print command regardless of whether the printer 200 is connected to the terminal device 100. The printer application 170 repeats step S110 until a print command has been issued (step S110: No). If a print command has been issued (step S110: Yes), the printer application 170 proceeds to the next step S120. Note that a Yes determination in step S110 when the printer 200 is not connected to the terminal device 100 is an example of command reception processing.

[0037] In step S120, printer application 170 receives print data from CUPS 160. This print data is print data from CUPS 160 that corresponds to the capability information output to CUPS 160 in step S60 described above. Note that the print data obtained when step S120 is executed with printer 200 connected to terminal device 100 is an example of first print data, and step S120 in this case is an example of print data acquisition processing. Note that the print data obtained when step S120 is executed with printer 200 not connected to terminal device 100 is an example of third print data.

[0038] In step S130, the printer application 170 determines whether or not the printer 200 is connected to the terminal device 100. For example, the printer application 170 distributes an mDNS query from the attribute / mDNS conversion unit 172 and makes this determination based on the presence or absence of a response. If the printer application 170 determines that the printer 200 is not connected to the terminal device 100 (step S130: No), the printer application 170 proceeds to the next step S140.

[0039] In step S140, the printer application 170 temporarily spools the print data received in step S120 in an appropriate storage area.

[0040] In step S150, the printer application 170 outputs a display signal to the display unit 140 (see FIG. 7 described below) to display an error message corresponding to the inability to print. The error message may be, for example, a message indicating that printing is not possible, such as toner empty or paper out. In addition to a display, the error may be notified by sound, for example. The error message is an example of a first error message, the display signal is an example of a first message signal, and step S150 is an example of first message signal output processing. After step S150, the printer application 170 proceeds to step S110.

[0041] On the other hand, if the printer application 170 determines in step S130 that the printer 200 is connected to the terminal device 100 (step S130: Yes), the process proceeds to the next step S160.

[0042] In step S160, the printer application 170 uses the print data conversion unit 174 to convert the print data received in step S120 into print data that corresponds to the printing function of the printer 200. Note that the print data converted in step S160 when step S120 is executed with the printer 200 connected to the terminal device 100 is an example of second print data based on the first print data. Also, the print data converted in step S160 when step S120 is executed with the printer 200 not connected to the terminal device 100 is an example of fourth print data based on the third print data.

[0043] In step S170, the printer application 170 transmits the print data converted in step S160 to the printer 200 connected to the terminal device 100. Step S170 is an example of a print data transmission process.

[0044] In step S180, the printer application 170 determines whether any spooled print data remains. If spooled print data remains (step S180: No), the printer application 170 returns to step S160 and repeats steps S160 and S170 until all spooled print data remains. If spooled print data remains (step S180: Yes), the printer application 170 ends this flowchart.

[0045] As described above, print data that has been spooled without being printed due to the disconnection of the printer 200 can be printed after the connection of the printer 200. Note that in the above control procedure, the spooled print data is not printed unless a print execution instruction is given, but the spooled print data may be automatically printed even if a print execution instruction is not given when the connection of the printer 200 is detected.

[0046] Effects of the Embodiment In this embodiment, if the printer 200 has not yet been connected to the terminal device 100, the printer application 170 causes the processor 110 of the terminal device 100 to execute steps S30 and S60. In step S30, the printer application 170 responds to the CUPS 160's search for the printer 200, thereby registering the printer application 170 as a virtual printer corresponding to the printer 200 to be connected to the CUPS 160. In step S60, in response to a capability information request from the CUPS 160, the printer application 170 outputs capability information of the printer 200 to be connected. In this way, according to this embodiment, even when the printer 200 is not actually connected, a virtual printer can be registered in advance and capability information of the printer 200 to be connected can be output, making it possible to perform various initial settings, setup, and the like in the terminal device 100. This improves convenience. Furthermore, after the printer 200 is connected to the terminal device 100, the printer application 170 causes the processor 110 of the terminal device 100 to execute steps S120 and S170. In step S120, print data is acquired from the CUPS 160 corresponding to the capability information output in step S60. In step S170, the print data is sent to the printer 200 connected to the terminal device 100, and printing is performed. In this way, according to this embodiment, when a printer 200 that was not originally connected is later connected, a print operation can be performed.

[0047] As a result, for example, in a case where the terminal device 100 is delivered to a user first and the printer 200 is delivered later, it is possible to first perform the initial settings and setup on the terminal device 100. In this case, the initial settings and setup can be performed on multiple terminal devices 100 at once, and the initial settings and setup can be performed on multiple printers 200 for each terminal device 100, thereby greatly improving convenience.

[0048] Furthermore, particularly in this embodiment, the printer application 170 executes step S110 of receiving a print execution instruction when the printer 200 is not yet connected to the terminal device 100. In step S170, the printer application 170 transmits print data based on the spooled print data to the printer 200 connected to the terminal device 100. As a result, even when a print execution instruction is received when the printer 200 is not connected, the print data can be transmitted to the printing device and printing can be executed when the printer 200 is subsequently connected.

[0049] In particular, in this embodiment, the printer application 170 executes step 150 to output a display signal for displaying a corresponding error message when a print execution instruction is received when the printer 200 is not yet connected to the terminal device 100. As a result, when a print execution instruction is received while the printer 200 is not connected, the error message is displayed, allowing the user to recognize that the printer 200 is not connected.

[0050] In particular, in this embodiment, the printer capability / setting value storage unit 175 stores and holds setting value information including the access information and identification information of the printer 200 to be connected, in addition to the capability information of the printer 200 to be connected. This makes it possible to register the printer application 170 as a virtual printer in the CUPS 160 using the access information and identification information, even if the printer 200 has not yet been connected to the terminal device 100.

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

[0052] (1) When capability information and setting value information are input after installation In the above embodiment, the capability information and setting value information of the printer 200 to be connected are stored in advance before the printer application 170 is installed on the terminal device 100. However, this information may also be input after installation, for example.

[0053] FIG. 5 shows an example of the system configuration of a printing system 1A according to this modified example. As shown in FIG. 5, the printing system 1A includes the terminal device 100, the printer 200, and the external device 300. In this modified example, when the printer application 170 is installed, the printer capability and setting value storage unit 175 does not store the capability information and setting value information of the printer 200 to be connected. The terminal device 100 includes an operation unit 150. The operation unit 150 is, for example, a mouse or keyboard, and accepts input of the capability information and setting value information of the printer 200 by a user. After installing the printer application 170, the user inputs the capability information and setting value information of the printer 200 via the operation unit 150 and stores the information in the printer capability and setting value storage unit 175.

[0054] The capability information and setting value information of the printer 200 may be acquired from the external device 300 instead of being input via the operation unit 150. The external device 300 is, for example, a removable recording medium such as a USB memory, an optical disk, or an external hard disk. The capability information and setting value information of the printer 200 to be connected are stored in the external device 300. When the external device 300 is connected to the terminal device 100, the capability information and setting value information are acquired and stored in the printer capability / setting value storage unit 175. The external device 300 may also be, for example, a terminal device such as a computer or a smartphone. In this case, the capability information and setting value information may be set and edited in the external device 300. The printing system 1A may include both the operation unit 150 and the external device 300, or only one of them.

[0055] <Control Procedure> In this modified example, as in the above embodiment, the printer application 170 is installed in the terminal device 100 when the printer 200 is not yet connected to the terminal device 100. In this modified example, the capability information and setting value information of the printer 200 to be connected are obtained before the printer application 170 is registered in the CUPS 160. The control procedure in this modified example will be described with reference to the flowchart in Fig. 6. Note that in Fig. 6, the same steps as those in Fig. 3 are denoted by the same reference numerals, and descriptions thereof will be omitted where appropriate.

[0056] 6, first, in step S3, the printer application 170 determines whether or not capability information and setting value information of the printer 200 have been input. The capability information and setting value information may be input, for example, by a user via the operation unit 150, or by connection to or transmission from the external device 300. The printer application 170 repeats step S3 until capability information and setting value information have been input (step S3: No), and if capability information and setting value information have been input (step S3: Yes), the process proceeds to the next step S6.

[0057] In step S6, the printer application 170 acquires capability information and setting value information of the printer 200 to be connected. As in the above embodiment, the acquired setting value information includes the IP address, node name, serial number, MAC address, etc. of the printer 200 to be connected. The printer application 170 may acquire the capability information and setting value information by accepting input via the operation unit 150 provided in the terminal device 100, for example. The printer application 170 may also acquire the capability information and setting value information by receiving it from, for example, the external device 300. Step S6 is performed before step S30, in which the printer application 170 is registered as a virtual printer in the CUPS 160. Step S6 is an example of a capability information acquisition process.

[0058] In step S9, the printer application 170 stores the capability information and setting value information acquired in step S6 in the printer capability and setting value storage unit 175. Step S9 is an example of capability information storage processing.

[0059] The subsequent steps S10 to S60 are the same as those in FIG. 3, and therefore the description thereof will be omitted.

[0060] <Effects of the Modification> In this modification, when the printer application 170 is installed on the terminal device 100, the capability information and setting value information of the printer 200 to be connected are not stored in the printer application 170. By executing step S6 before step S30, the printer application 170 can acquire, store, and store the capability information and setting value information of the printer 200. The printer application 170 can read out the stored setting value information and capability information as appropriate in response to a request from the CUPS 160, and output it to the CUPS 160. According to this modification, the capability information and setting value information can be stored in the printer application 170 after installation.

[0061] (2) When Notifying That the Printer Is Not Connected For example, when the printer 200 is not yet connected to the terminal device 100, the printer application 170 may notify that the printer 200 is not connected. The printer application 170 may output, to the display unit 140 (see FIG. 7 described later), a display signal for displaying an error corresponding to the printer 200 not being connected. The error display may be, for example, a display indicating that the printer 200 is not usable, such as that the printer 200 is powered off. In addition to a display, the error may be notified by sound, for example. The error display is an example of a second error notification, the display signal is an example of a second notification signal, and the process of displaying the error is an example of a second notification signal output process.

[0062] In this modified example, while the printer 200 is not connected, an error message is displayed to let the user know that the printer 200 is not connected and is not in a state where printing can be performed immediately.

[0063] (3) Others The flowcharts shown in Figures 3, 4, and 6 do not limit the present invention to the procedures shown in the above flows, and steps may be added or deleted, or the order may be changed, etc., within the scope of the spirit and technical concept of the invention.

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

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

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

[0067] 7, 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.

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

[0069] 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 in Figures 3, 4, and 6. The data storage area 132 stores data necessary for executing the various programs.

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

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

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

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

[0074] 7, 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.

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

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

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

[0078] The printing unit 290 prints an image on a sheet conveyed by a conveying mechanism (not shown). The printing unit 290 prints an image on a sheet based on print data transmitted from the terminal device 100 or a print job generated by the printing unit 290 itself based on an operation on the operation unit 250.

[0079] REFERENCE SIGNS LIST 1 Printing system 1A 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 OS standard 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) 300 External device

Claims

1. An information processing program that is executable by the calculation unit of an information processing device and is capable of communicating with a printing device to be connected to the information processing device and executing printing control using the printing device, wherein the information processing device is equipped with an operating system having OS standard printing software, and the information processing program causes the calculation unit of the information processing device to execute the following processes when the printing device is not yet connected to the information processing device: a registration process that responds to a printer search by the OS standard printing software, thereby causing the OS standard printing software to register the information processing program as a virtual printer corresponding to the printing device; and a capability information output process that outputs capability information of the printing device in response to a capability information request from the OS standard printing software, and after the printing device is connected to the information processing device, the information processing program is configured to cause the calculation unit of the information processing device to execute the following processes: a print data acquisition process that acquires first print data from the OS standard printing software corresponding to the capability information output in the capability information output process, and a print data transmission process that transmits second print data based on the first print data to the connected printing device.

2. The information processing program according to claim 1, wherein when the printing device is not yet connected to the information processing device, the information processing program causes the calculation unit of the information processing device to execute a capability information acquisition process for acquiring the capability information of the printing device before the registration process, and a capability information storage process for storing and retaining the capability information acquired in the capability information acquisition process.

3. An information processing program according to claim 2, wherein the capability information acquisition process is configured to accept and acquire the capability information via an operation unit provided in the information processing device.

4. An information processing program according to claim 2, wherein the capability information acquisition process is configured to receive and acquire the capability information transmitted from an external device.

5. An information processing program as described in claim 1, further configured to cause the calculation unit to execute an instruction receiving process for receiving a print execution instruction based on third print data from the OS standard printing software corresponding to the capability information output in the capability information output process when the printing device is not yet connected to the information processing device, and in the print data sending process, sending fourth print data based on the third print data to the connected printing device.

6. An information processing program as described in claim 1, further configured to cause the calculation unit to execute a first notification signal output process to output a first notification signal for issuing a corresponding first error notification when the printing device is not yet connected to the information processing device and a print execution instruction based on third print data from the OS standard printing software corresponding to the capability information output in the capability information output process is received.

7. An information processing program as claimed in claim 1, further configured to cause the calculation unit to execute a second notification signal output process for outputting a second notification signal for issuing a corresponding second error notification when the printing device has not yet been connected to the information processing device.

8. An information processing program according to any one of claims 2 to 4, wherein in the capability information acquisition process, in addition to the capability information, access information and identification information of the printing device to be connected are acquired.

9. An information processing device having a communication I / F capable of communicating with a printing device to be connected, and a control unit having an operating system with OS standard printing software and an information processing program, wherein the control unit is configured to execute the following: a registration process that, when the printing device is not yet connected to the information processing device, causes the OS standard printing software to register the information processing program as a virtual printer corresponding to the printing device by responding to a printer search by the OS standard printing software; a capability information output process that outputs capability information of the printing device in response to a capability information request from the OS standard printing software; a print data acquisition process that, after the printing device is connected to the information processing device, acquires first print data from the OS standard printing software corresponding to the capability information output in the capability information output process; and a print data transmission process that transmits second print data based on the first print data to the connected printing device.

Citation Information

Patent Citations

  • Image forming system and method for controlling the same, and program

    JP2020067893A

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

    JP2021002132A

  • Information processing apparatus, method for controlling information processing apparatus, and program

    JP2023158310A