Application program
The application program enhances printer usability by determining if a specific printer is connected, starting the print server program, and registering it as a virtual printer, thus enabling printing for printers that do not support driverless printing technology.
Patent Information
- Application Number
- JP2025063549
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2038-03-29
AI Technical Summary
Printers that do not support driverless printing technology, such as low-cost printers, cannot be selected or used for printing in an OS environment where a printer driver cannot be installed, limiting their usability.
An application program that executes on an information processing apparatus, including a management program and a print server program, determines if a specific printer is connected, starts the corresponding print server program, and registers it as a printer with the OS, allowing the printer to be selected and used for printing.
Enables the selection and use of printers that do not support driverless printing technology by registering the print server program as a virtual printer, allowing printing to be executed even without a printer driver installed.
Smart Images

Figure 2025096441000001_ABST
Abstract
Description
Technical Field
[0001] The technical field disclosed in this specification relates to an application program for controlling a printer.
Background Art
[0002] Conventionally, a driverless printing technology that performs printing using the printing function of an operating system (hereinafter referred to as "OS") without installing a printer driver has become widespread. Here, printers that do not support driverless printing technology, such as low-cost printers, cannot execute printing in an OS environment where a printer driver cannot be installed. On the other hand, for example, Patent Document 1 discloses a configuration in which when a printer driver is not incorporated in an information processing apparatus, the printer driver is transmitted from the printer, the information processing apparatus installs the printer driver, and the apparatus operates as a print server.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Even in a configuration where an information processing apparatus operates as a print server as in Patent Document 1, a printer that does not support driverless printing technology such as AirPrint (registered trademark) cannot be selected using the printing function of the OS in an OS environment where a printer driver cannot be installed, and thus printing cannot be executed.
[0005] The technology disclosed in this specification is made to solve the problems of the above-described conventional technology. That is, the problem to be solved is to provide a technology for enhancing the usability of a printer when using the printer from an information processing apparatus.
Means for Solving the Problem
[0006] An application program made for solving this problem is an application program executable by a control unit of an information processing apparatus, and includes a management program and a print server program. The management program causes the control unit to execute a first connection determination process for determining whether a specific printer is connected via a communication interface of the information processing apparatus, a startup determination process for determining whether the print server program corresponding to the specific printer is started when it is determined by the first connection determination process that the specific printer is connected, a startup process for starting the print server program when it is determined in the startup determination process that the print server program is not started, and a print server registration process for registering, as a printer, the print server configured by the print server program to be started in the startup process in an operating system of the information processing apparatus. The print server program causes the control unit to execute a reception process for receiving a print job designating the registered print server as an output destination via the operating system, a print data acquisition process for acquiring print data in a specific format printable by the specific printer based on the print job when the print job is received in the reception process, and a transmission process for transmitting the print data acquired in the print data acquisition process to the specific printer.
[0007] When the application program disclosed in this specification determines that a specific printer is connected, it starts the print server program corresponding to the specific printer, and registers the print server constituted by the started print server program as a printer with the operating system. As a result, the specific printer becomes selectable in the operating system. Further, the print server program receives a print job designating the registered print server as an output destination, obtains print data in a specific format printable by the specific printer based on the print job, and transmits the print data to the specific printer. Therefore, since the specific printer receives the print data in the specific format, printing can be executed using this print data.
[0008] A control method for realizing the above functions and a computer-readable storage medium storing an application program are also novel and useful.
Effects of the Invention
[0009] According to the application program disclosed in this specification, a technique for enhancing the availability of a printer when using the printer from an information processing apparatus is realized.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Mode for Carrying Out the Invention
[0011] Hereinafter, an application program (hereinafter referred to as "app") according to the present embodiment will be described in detail with reference to the accompanying drawings. This embodiment is an app for causing an information processing apparatus to execute printing on a printer.
[0012] As shown in FIG. 1, the app of this embodiment is executed on the information processing apparatus 1 to which a printer is connected. The information processing apparatus 1 is, for example, a personal computer, a smartphone, or a tablet computer, and is a device that generates and edits image data to be printed on a printer, transmits a print execution instruction to each printer, and the like.
[0013] As shown in FIG. 1, the information processing apparatus 1 of this embodiment includes a controller 10 including a CPU 11, a ROM 12, a RAM 13, and a non-volatile memory 14. Further, it includes a user interface (hereinafter referred to as "user IF") 15, a network interface (hereinafter referred to as "network IF") 16, and a USB interface (hereinafter referred to as "USB-IF") 17, and these are electrically connected to the controller 10. The CPU 11 is an example of a control unit. The buffer of the CPU 11, the ROM 12, the RAM 13, and the non-volatile memory 14 are examples of memories. The network IF 16 and the USB-IF 17 are examples of communication interfaces, respectively.
[0014] The ROM 12 stores a startup program and the like for starting up the information processing apparatus 1. The RAM 13 is used as a work area when various processes are executed or as a storage area for temporarily storing data. The non-volatile memory 14 is, for example, an HDD or a flash memory, and is used as an area for storing various programs, data such as image data, and various settings.
[0015] The CPU 11 executes various processes according to the programs read from the ROM 12 and the non-volatile memory 14 and based on the operations of the user. Note that the controller 10 in FIG. 1 is a general term for the hardware and software used for controlling the information processing apparatus 1, and does not necessarily represent a single piece of hardware actually existing in the information processing apparatus 1.
[0016] The user IF 15 is hardware that receives operations by the user and displays information. The user IF 15 may have both an input function and an output function such as a touch panel, or may be configured by a combination of a display and a keyboard or a mouse.
[0017] The network IF 16 includes hardware for communicating with an external device via a network such as the Internet. The communication standard of the network IF 16 is, for example, Ethernet (registered trademark), Wi-Fi (registered trademark), etc. The USB-IF 17 includes hardware for performing communication based on the USB standard. Note that the communication mode of the network IF 16 and the USB-IF 17 may be wired or wireless.
[0018] The information processing apparatus 1 of this embodiment has a driverless printing function, which is a function for performing printing without installing a printer driver. The driverless printing function is a printing function that creates a print job including standard print data, which is general-purpose print data independent of the printer model, based on the content to be printed and the like, and transmits it to the printer. For example, there are AirPrint (registered trademark) and Mopria (registered trademark).
[0019] As shown in FIG. 1, two printers 2 and 3 are connected to the information processing apparatus 1. Both the printer 2 and the printer 3 are apparatuses capable of forming an image on a medium to be printed, and for example, are page printers, copiers, multifunction devices, or FAX devices.
[0020] The printer 2 is connected to the information processing apparatus 1 via the network IF 16 and is a printer capable of corresponding to the driverless printing function of the information processing apparatus 1. Hereinafter, the printer 2 is referred to as the "corresponding printer 2". The corresponding printer 2 has a program for creating print image data to be used for printing at the own device based on the standard print data of the print job transmitted from the information processing apparatus 1. The corresponding printer 2 creates print image data based on the received standard print data, and executes printing using the created print image data.
[0021] On the other hand, the printer 3 is connected to the information processing apparatus 1 via the network IF 16 or the USB-IF 17 and is a printer incapable of corresponding to the driverless printing function of the information processing apparatus 1. Hereinafter, the printer 3 is referred to as the "non-corresponding printer 3". The non-corresponding printer 3 does not have a configuration for creating print image data from the standard print data. Therefore, the non-corresponding printer 3 cannot execute printing even when receiving the standard print data. When the non-corresponding printer 3 receives print data that it can handle at its own device, it executes printing using the received print data as print image data or after converting the received print data into print image data. Also, the non-corresponding printer 3 does not respond to a printer search signal based on the driverless printing function. Therefore, the driverless printing function of the information processing apparatus 1 does not recognize the non-corresponding printer 3 as a printing apparatus. The non-corresponding printer 3 is an example of a specific printer.
[0022] The information processing apparatus 1 of this embodiment includes an application for causing the non - compatible printer 3 to execute printing. As shown in FIG. 1, various programs including an OS 41, a content creation application 42, a management program 43, and a print server program 44 are stored in the non - volatile memory 14 of the information processing apparatus 1. Note that a part of the OS 41 may be included in the ROM 12.
[0023] The OS 41 of the information processing apparatus 1 of this embodiment has a driverless printing function and is a version that does not accept the installation of a printer driver corresponding to individual printer models. Therefore, for example, a printer driver program for the non - compatible printer 3 is not stored in the non - volatile memory 14 of the information processing apparatus 1.
[0024] The content creation application 42 is an application for creating content to be printed, such as documents, images, and charts. The content creation application 42 includes a function of receiving a printing instruction based on a user operation. Note that the information processing apparatus 1 may have, for example, a plurality of content creation applications 42.
[0025] The management program 43 and the print server program 44 are programs used when causing the non - compatible printer 3 connected to the information processing apparatus 1 to execute printing based on the content created by the content creation application 42 or the like. The management program 43 and the print server program 44 are an example of application programs.
[0026] The management program 43 is a program that starts a print server program 44 corresponding to the non-compatible printer 3 and registers the print server constituted by the print server program 44 as a virtual printer in the OS 41. By registering the print server as a virtual printer in the OS 41, in the content creation app 42 etc., the virtual printer can be selected as an output destination. The print server program 44 is a program that converts the print job output by the driverless printing function into a form that can be handled by the non-compatible printer 3 and transmits it to the non-compatible printer 3.
[0027] Note that there is one management program 43 in the information processing apparatus 1, and there is one print server program 44 for each non-compatible printer 3. In the information processing apparatus 1 to which a plurality of non-compatible printers 3 are connected, a print server is started for each non-compatible printer 3 and registered as a virtual printer respectively.
[0028] The information processing apparatus 1 of this embodiment executes different processes, for example, as shown in FIG. 2, when causing the compatible printer 2 to execute printing and when causing the non-compatible printer 3 to execute printing. When the OS 41 of the information processing apparatus 1 receives a print instruction in the content creation app 42, for example, if the printer specified by the received print instruction is the compatible printer 2, the standard print data created by the driverless printing function is transmitted to the compatible printer 2. The compatible printer 2 executes printing based on the standard print data.
[0029] On the other hand, when the printer specified by the print instruction is a virtual printer corresponding to the non-compatible printer 3, the information processing apparatus 1 passes the standard print data created by the driverless printing function to the print server program 44. The print server program 44 acquires individual print data, which is print data in a form that can be handled by the non-compatible printer 3, based on the standard print data and transmits it to the non-compatible printer 3. The individual print data is an example of print data in a specific form.
[0030] Next, the operation of causing the information processing apparatus 1 to execute printing on the non - compatible printer 3 will be described. Note that each process and each process step in the flowchart in the following description basically shows the processing of the CPU 11 according to instructions described in programs such as the management program 43 and the print server program 44. The processing by the CPU 11 includes hardware control using an IF (also called an API) for data exchange with other modules of the OS 41 of the information processing apparatus 1. In this specification, the description of the OS 41 is omitted, and the operations of each program are described.
[0031] First, the outline of the operation will be described with reference to the sequence diagrams in FIGS. 3 to 5. The printing preparation operation by the management program 43 will be described with reference to the sequence diagram in FIG. 3. The management program 43 is started, for example, when the information processing apparatus 1 is started. When started, the management program 43 searches for printers connected to the information processing apparatus 1. Different from the search by the driverless printing function, the information processing apparatus 1 multicasts a search signal that can be responded to if it is the non - compatible printer 3.
[0032] Then, the management program 43 determines whether there is a non - compatible printer 3 connected to the information processing apparatus 1 (step 51). For example, if the only printer connected is the compatible printer 2 that supports the driverless printing function, the information processing apparatus 1 does not need to execute the print server program 44.
[0033] When a non - compatible printer 3 is searched, the management program 43 acquires printer information for causing the non - compatible printer 3 to execute printing (step 52). Specifically, the management program 43 acquires the model information, version information, etc. of the searched non - compatible printer 3.
[0034] Then, if the print server program 44 corresponding to the searched non-compatible printer 3 is not running, the management program 43 starts the print server program 44 (step 53). If a plurality of non-compatible printers 3 are searched, the management program 43 performs steps 52 and 53 for each one.
[0035] Furthermore, the management program 43 determines whether a print server constituted by the print server program 44 is registered in the OS 41. That is, the management program 43 searches for printers registered in the OS 41 (step 54) and acquires a list of printers from the OS 41 (step 55). If the list of acquired printers does not include a print server constituted by the print server program 44, the management program 43 registers the print server constituted by the print server program 44 in the OS 41 as a virtual printer corresponding to the searched non-compatible printer 3 (step 56).
[0036] Next, the printing operation using the print server program 44 will be described with reference to the sequence diagram of FIG. 4. The information processing apparatus 1 receives a user's content printing instruction in the content creation application 42 being executed (step 61). The content creation application 42 creates a print job based on the received printing instruction and registers it in the OS 41 (step 62). The OS 41 processes the received print job with the driverless printing function and generates a print job including standard print data.
[0037] The OS 41 passes a print job for which a virtual printer corresponding to the non-compatible printer 3 is specified as the output destination to the print server program 44 corresponding to the non-compatible printer 3 (step 63). The print server program 44 searches for the non-compatible printer 3 that is the output destination and determines whether it is in a printable state (step 64).
[0038] If the non-compatible printer 3 is in a printable state, it transmits printer information to the print server program 44 (step 65). Based on the printer information, the print server program 44 generates individual print data in a format compatible with the non-compatible printer 3 from the standard print data. Further, based on the printer information, the print server program 44 inherits the print settings included in the print job and makes them into information in a format compatible with the non-compatible printer 3 (step 66).
[0039] Then, the print server program 44 transmits the generated individual print data and the print settings to the non-compatible printer 3 (step 67). The non-compatible printer 3 executes printing based on the received individual print data (step 68) and transmits status information such as print completion to the print server program 44 (step 69). The print server program 44 passes the received status information to the OS 41 (step 70).
[0040] On the other hand, if the print server program 44 cannot find the non-compatible printer 3 by searching for the printer in step 64, it passes status information indicating that the non-compatible printer 3 is in an offline state to the OS 41 (step 71). The OS 41 notifies the user of the status information received in step 70 or step 71 via, for example, the content creation app 42 or the like (step 72).
[0041] Next, the termination operation of the print server program 44 will be described with reference to the sequence diagram of FIG. 5. The print server program 44 searches for the non-compatible printer 3 at a predetermined timing when it is not executing the processing of the print job (step 81). If there is no response from the non-compatible printer 3 and the search fails, the print server program 44 notifies the user that the non-compatible printer 3 is not connected as an error (step 82).
[0042] Then, for example, when receiving an instruction to terminate the server through a user operation, if the print server program 44 determines that the print server configured by itself is already registered with the OS 41, the print server program 44 deletes the registration of the corresponding virtual printer from the OS 41 (step 83). Further, the print server program 44 terminates itself (step 84). By terminating the unnecessary print server program 44, the processing load on the information processing apparatus 1 is reduced.
[0043] Next, the operations of each program will be described in detail with reference to the flowcharts of FIGS. 6 to 9. Note that the step numbers added in the following description correspond to the step numbers shown in the sequence diagrams of FIGS. 3 to 5.
[0044] First, the procedure of the server startup process by the management program 43 will be described with reference to the flowchart of FIG. 6. This server startup process is executed by the CPU 11, for example, triggered by the startup of the information processing apparatus 1, the connection of the printer, and the reception of a print instruction.
[0045] In the server startup process, the CPU 11 first determines whether it is a driverless printing environment (S101). The CPU 11, for example, obtains the version information of the OS 41 of the information processing apparatus 1 and determines whether the OS 41 has a driverless printing function and is an operating environment that does not accept the installation of a printer driver. Also, the CPU 11 may determine whether a printer driver is installed. If it is determined that it is not a driverless printing environment (S101: NO), the CPU 11 ends the server startup process.
[0046] In an environment where the installation of a printer driver is possible, the processing load can be reduced by installing the printer driver. Also, by checking the version of the OS 41, for example, when the operating environment for driverless printing changes due to an OS 41 version upgrade, the management program 43 and the print server program 44 can be made to function. Therefore, a printing environment with the same usability as before can be continuously provided to the user.
[0047] When it is determined that the environment is a driverless printing environment (S101: YES), the CPU 11 sequentially searches for printers connected to the information processing apparatus 1 (S102). Then, the CPU 11 determines whether the searched printer is a non - compatible printer 3 that does not support the driverless printing function (S103, step 51). S103 is an example of the first connection determination process.
[0048] For example, the CPU 11 inquires of each printer connected via the network IF 16 to determine whether it has the ability to support the driverless printing function. Also, for example, if the information processing apparatus 1 has a list of connected external devices, the CPU 11 may check the connection of the non - compatible printer 3 in the list in S103.
[0049] When it is determined that the non - compatible printer 3 has been searched (S103: YES), the CPU 11 acquires printer information (S104, step 52). As printer information, the CPU 11 acquires, for example, the model information and version information of the printer, and the data format of the print data supported by the printer. The CPU 11 may inquire of the searched non - compatible printer 3 to acquire the printer information, or may acquire the printer information from a list of external devices or the like.
[0050] Furthermore, the CPU 11 determines whether the print server program 44 corresponding to the searched non - compatible printer 3 is running (S105). S105 is an example of the startup determination process. When it is determined that the print server program 44 is not running (S105: NO), the CPU 11 determines whether the print server program 44 corresponding to the non - compatible printer 3 is running on another device that can communicate with the information processing apparatus 1 (S106). S106 is also an example of the startup determination process.
[0051] For example, as shown in FIG. 7, in a system where a plurality of information processing apparatuses 1, 100, and 200 are connected to be communicable with each other and can use the same non - compatible printer 3, when a print server program 44 is running on another information processing apparatus 100, the information processing apparatus 1 can use the print server program 44 of the other information processing apparatus 100. In this case, by registering the print server constituted by the print server program 44 of the other information processing apparatus 100 as a virtual printer in the OS 41, the information processing apparatus 1 can use the print server program 44. In this case, the print server constituted by the print server program 44 running on the other information processing apparatus 100 is an example of an existing print server.
[0052] For example, as shown in FIG. 7, the information processing apparatus 1 can pass the standard print data to another information processing apparatus 100, cause the print server program 44 of the other information processing apparatus 100 to create individual print data, and cause it to be sent from the other information processing apparatus 100 to the non - compatible printer 3. In this way, it is not necessary to start the print server program 44 on its own device, and the processing load on its own device is reduced.
[0053] When it is determined that the print server program 44 is not running on its own device or on other devices (S106: NO), the CPU 11 starts the print server program 44 corresponding to the searched non - compatible printer 3 (S107, step 53). S107 is an example of a startup process.
[0054] Also, when it is determined that the print server program 44 corresponding to the searched non - compatible printer 3 is running on another device (S106: YES), the CPU 11 determines whether the print server constituted by the print server program 44 is registered in the OS 41 (S108). Specifically, for example, the CPU 11 inquires the OS 41 to obtain a list of printers registered in the OS 41 (steps 54, 55), and determines whether the list includes a print server registered as a virtual printer corresponding to the non - compatible printer 3.
[0055] Then, after S107, or when it is determined that the print server corresponding to the non-compatible printer 3 is not registered in the OS 41 (S108: NO), the CPU 11 registers the print server configured by the print server program 44 as a printer in the OS 41 (S109, step 56). S109 executed after S107 is an example of a print server registration process. Also, S109 executed after determining NO in S108 is an example of an existing print server registration process.
[0056] In S109, the CPU 11 registers the print server configured by the print server program 44 using the model name, nickname, or the like of the searched non-compatible printer 3. A name designated by the user may also be accepted. By registering the print server configured by the print server program 44 in the OS 41 as the non-compatible printer 3, the non-compatible printer 3 becomes a target for selection as a printing device when a print instruction is given by the content creation application 42 or the like.
[0057] On the other hand, if it is determined that the printer is not an incompatible printer 3 (S103: NO), or if it is determined that the print server program 44 is running (S105: YES), or if it is determined that a print server configured by the print server program 44 of another device is registered in the OS 41 (S108: YES), after S109, the CPU 11 determines whether the printer search is complete (S110). If it is determined that the search is not complete (S110: NO), the CPU 11 returns to S102 and searches for more printers. On the other hand, if it is determined that the search is completed (S110: YES), the CPU 11 ends the server startup process.
[0058] Next, the procedure of print server processing by the print server program 44 will be described with reference to the flowchart of Fig. 8. This print server processing is executed by the CPU 11 when the print server program 44 is started in S107 of the server start-up processing.
[0059] In the print server process, the CPU 11 determines whether there is a print job that designates a virtual printer corresponding to the non - compatible printer 3 as the output destination (S201). The print job is generated, for example, when the content creation application 42 receives a print instruction and is registered in the OS 41 (step 62 in FIG. 4). The CPU 11 determines whether there is a corresponding print job in S201, for example, by periodically querying the OS 41 or monitoring the print spooler of the OS 41. Also, the CPU 11 may receive a print job that designates a virtual printer corresponding to the non - compatible printer 3 as the output destination from another information processing device connected to the information processing device 1.
[0060] If it is determined that there is a print job (S201: YES), the CPU 11 searches for the non - compatible printer 3 corresponding to this print server program 44 (S202, step 64) and determines whether the non - compatible printer 3 has been searched (S203). If it is determined that the non - compatible printer 3 has been searched (S203: YES), the CPU 11 executes the print process (S204). The print process is a process of causing the non - compatible printer 3 to execute printing in the print server program 44.
[0061] The procedure of the print process will be described with reference to the flowchart of FIG. 9. In the print process, the CPU 11 first acquires the print job (S301). S301 is an example of the reception process. Further, the CPU 11 acquires the print data included in the acquired print job (S302). The print data included in the print job is data in a format created by the driverless printing function and is, for example, standard print data. The print data included in the print job is an example of the original print data.
[0062] Then, the CPU 11 determines whether the print data included in the print job is data in a format supported by the non - compatible printer 3 (S303). S303 is an example of format determination processing. The format supported by the non - compatible printer 3 is not limited to only individual print data. Also, the print data created by the driverless printing function is not limited to only standard print data. That is, the non - compatible printer 3 may be able to print even if the print data is created by the driverless printing function.
[0063] If it is determined that the print data included in the print job is data in a format not supported by the non - compatible printer 3 (S303: NO), the CPU 11 converts the print data into individual print data which is print data in a format supported by the non - compatible printer 3 (S304, procedure 66).
[0064] Note that the conversion of the print data may be performed by the print server program 44, or may be performed by another program such as the management program 43. For example, the CPU 11 may pass the print data included in the print job and the information on the format of the print data supported by the non - compatible printer 3 to the management program 43, and request the management program 43 to convert the print data. In that case, S304 is an example of conversion processing.
[0065] By the management program 43 performing the conversion of the print data, the conversion process is not required for the print server program 44, and the size of each print server program 44 can be reduced. In particular, even if a plurality of print server programs 44 are started, since it can be handled by one program, the size of the programs running in the information processing apparatus 1 can be reduced. On the other hand, if each print server program 44 performs the conversion of the print data, there is no data transfer process with the management program 43, and the conversion of the print data is speeded up.
[0066] Then, the CPU 11 acquires the converted individual print data (S305). S305 is an example of print data acquisition processing. And when it is determined that the print data included in the print job is data in a format supported by the non-compatible printer 3 (S303: YES), or after S305, the CPU 11 inherits the print settings (S306, step 66). When it is determined YES in S303, S302 is an example of print data acquisition processing.
[0067] The print settings include, for example, the setting of the number of copies to be printed and the setting of double-sided printing. The non-compatible printer 3 may not be able to appropriately respond to the commands of the print settings added by the driverless printing function. The CPU 11 creates a print job with additional print settings that can be supported by the non-compatible printer 3 by changing the commands of the print settings by the driverless printing function to the commands of the print settings of the non-compatible printer 3.
[0068] The CPU 11 controls the network IF 16 or the USB-IF 17 to cause the non-compatible printer 3 to transmit a print job including the print settings inherited in S306 and the print data acquired in S302 or S305 (S307). S307 is an example of transmission processing. Further, the CPU 11 determines whether the transmission has been completed (S308).
[0069] When it is determined that the transmission has been completed (S308: YES), the CPU 11 passes the status information of the transmission completion to the OS 41 (S309). On the other hand, when it is determined that the transmission has not been completed due to an error occurring during the transmission or the like (S308: NO), the CPU 11 passes the status information of the error occurrence to the OS 41 (S310). After S309 or S310, the CPU 11 ends the print processing and returns to the print server processing. Note that when the print job is received from another device, in S309 or S310, it is preferable to transmit the status information to the device that is the transmission source of the print job.
[0070] Returning to the description of FIG. 8, after the printing process of S204 ends, the CPU 11 returns to S201 and further determines whether there is another print job. If it determines that there is no print job (S201: NO), the CPU 11 determines whether it is a predetermined timing (S205). The CPU 11 determines that it is a predetermined timing, for example, when the print server program 44 is running and a predetermined time has elapsed since startup or the previous printing process. Also, the predetermined timing may be only once, or it may be determined to be a predetermined timing periodically.
[0071] If it determines that it is a predetermined timing (S205: YES), the CPU 11 searches for the incompatible printer 3 corresponding to the print server program 44 (S206, step 81). S206 is the same process as S202. Then, the CPU 11 determines whether the incompatible printer 3 has been searched (S207). S207 is an example of the second connection determination process.
[0072] If it determines that the incompatible printer 3 has not been searched by the search in S202 or S206 (S203: NO, or S207: NO), the CPU 11 notifies an error (S208). The CPU 11 controls, for example, the user IF 15 to display error information indicating that the incompatible printer 3 is offline. If the incompatible printer 3 is offline, printing cannot be performed. By not executing the printing process when the result in S203 or S207 is NO, the processing load on the CPU 11 can be reduced.
[0073] Then, the CPU 11 determines whether to terminate the print server program 44 (S209). The CPU 11 controls, for example, the user IF 15 to display a query to the user asking whether to terminate the print server program 44 and accepts the user's instruction. Alternatively, the CPU 11 may determine to terminate the print server program 44 when conditions such as the offline state of the incompatible printer 3 continuing for a predetermined time or more are satisfied.
[0074] If it is determined that it is not the specified timing (S205: NO), or if the non-corresponding printer 3 is searched (S207: YES), or if it is determined not to terminate the print server program 44 (S209: NO), the CPU 11 returns to S201 and determines whether there is a print job.
[0075] On the other hand, if it is determined to terminate the print server program 44 (S209: YES), the CPU 11 determines whether the print server configured by this print server program 44 is registered in the OS 41 (S210). If it is determined that it is registered (S210: YES), the CPU 11 deletes the registration (S211).
[0076] By deleting the registration of the print server configured by the print server program 44, the virtual printer corresponding to the non-corresponding printer 3 cannot be selected even from a normal application, and it is possible to suppress the user from accidentally inputting a print instruction. If the print server configured by the print server program 44 of the information processing apparatus 1 is registered in another apparatus, it may be notified to the other apparatus to delete the registration.
[0077] After S211, or if it is determined that it is not registered (S210: NO), the CPU 11 terminates the print server program 44 (S212) and terminates the print server process. S212 is an example of an end process. When terminating the print server program 44, the end may be notified to the user. When the non-corresponding printer 3 is offline, printing cannot be performed. Therefore, by terminating the print server program 44, the processing load on the information processing apparatus 1 is reduced.
[0078] As described in detail above, according to this embodiment, when the non - compatible printer 3 that does not support the driverless printing function is connected, the management program 43 starts the print server program 44 corresponding to the non - compatible printer 3. Then, the print server program 44 receives a print job via the OS 41, and based on the standard print data of the received print job, acquires the individual print data printable by the non - compatible printer 3 and transmits it to the non - compatible printer 3. Thereby, even in an environment where the printer driver for the non - compatible printer 3 is not installed, the non - compatible printer 3 can be made to perform printing.
[0079] Note that this embodiment is merely an example and does not limit the present invention in any way. Therefore, the technology disclosed in this specification can naturally be variously improved and modified without departing from the gist thereof. For example, the number of information processing devices and printers constituting this embodiment is not limited to the examples in FIGS. 1 and 7. For example, the compatible printer 2 may not be connected.
[0080] Also, for example, it may be assumed that the use of the print server program 44 running on another device is not performed. For example, if the server startup process S106 is deleted and it is determined as NO in S105, it may be assumed that the process proceeds to S107. However, by using the print server program 44 of another device, the processing load of the information processing device 1 is reduced.
[0081] Also, for example, the determination as to whether the print data of the print job created by the driverless printing function is in a format supported by the non - compatible printer 3 may not be performed. That is, the print process S303 may be deleted and the conversion of the print data may be performed every time. However, since there is also a possibility that the print data is in a supported format, the processing load may be reduced by performing the determination of S303.
[0082] Also, for example, the search for the printer may be performed at the time of transmitting the print data. That is, even if the non - compatible printer 3 is offline, the conversion of the print data may be performed up to that point. For example, instead of S202 and S203 of the print server processing, the non - compatible printer 3 may be searched before S307 of the printing process.
[0083] Also, even if the non - compatible printer 3 is offline, the print server program 44 does not have to terminate. Also, the notification to the user when terminating the print server program 44 does not have to be performed.
[0084] Also, the processing disclosed in the embodiment may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processing disclosed in the embodiment can be realized in various forms such as a recording medium recording a program for executing the processing, or a method.
Explanation of Signs
[0085] 1 Information processing apparatus 3 Non - compatible printer 11 CPU 14 Non - volatile memory 16 Network IF 17 USB - IF 41 OS 43 Management program 44 Print server program
Claims
1. An application program executable by a control unit of the information processing device, the application program including a management program and a print server program; The management program causes the control unit to a first connection determination process for determining whether or not a specific printer is connected via a communication interface of the information processing device; a start-up determination process for determining whether or not the print server program corresponding to the specific printer is running when it is determined that the specific printer is connected by the first connection determination process; a start process for starting the print server program when it is determined in the start determination process that the print server program is not started; a print server registration process for registering a print server constituted by the print server program to be started as a printer in an operating system of the information processing device when the print server program is started in the start-up process; Run the command, The print server program causes the control unit to an acceptance process for accepting, via the operating system, a print job that specifies the registered print server as an output destination; a print data acquisition process for acquiring print data of a specific format printable by the specific printer based on the print job when the print job is accepted by the accepting process; a transmission process of transmitting the print data acquired in the print data acquisition process to the specific printer; Execute the 1. An application program comprising:
2. 2. The application program according to claim 1, In the print data acquisition process of the print server program, the print server program transmits original print data of a format different from the specific format included in the print job to the management program, and requests the management program to convert the original print data into print data of the specific format; The management program causes the control unit to Executing a conversion process for converting the original print data passed in the print data acquisition process into print data in the specific format; In the print data acquisition process of the print server program, after requesting conversion to the print data of the specific format, the print server program acquires the print data converted by the conversion process performed by the management program; 1. An application program comprising:
3. 2. The application program according to claim 1, In the print data acquisition process of the print server program, the print server program converts original print data included in the print job and having a format different from the specific format into print data in the specific format; 1. An application program comprising:
4. 4. The application program according to claim 1, wherein the print server program causes the control unit to executes a format determination process for determining whether or not the original print data included in the print job accepted in the acceptance process is print data in a format that can be printed by the specific printer; When the format determination process determines that the specific printer is capable of printing the format, In the print data acquisition process of the print server program, the print server program acquires the original print data as print data in the specific format.
1. An application program comprising:
5. 5. The application program according to claim 1, wherein the start determination process of the management program includes: Even if the print server program is running on another information processing apparatus connected to the information processing apparatus, the print server program is determined to be running; The management program causes the control unit to even if it is determined in the start-up determination process that the print server program is started, if an existing print server configured by the print server program of the other information processing device is not registered in the operating system, an existing print server registration process is executed to register the existing print server in the operating system as a printer.
1. An application program comprising:
6. 6. The application program according to claim 1, wherein the print server program causes the control unit to a second connection determination process for determining whether or not the specific printer is connected via the communication interface at a predetermined timing while the print server program is running; a termination process for terminating the print server program when it is determined by the second connection determination process that the specific printer is not connected; Execute the 1. An application program comprising:
7. 7. The application program according to claim 6, In the termination process of the print server program, deleting the registration of the print server from the operating system; 1. An application program comprising:
8. 8. The application program according to claim 1, wherein the print data acquisition process of the print server program includes: when the print job is accepted in the accepting process, it is determined whether or not the specific printer is connected via the communication interface, and if it is determined that the specific printer is connected, the print data of the specific format is acquired.
1. An application program comprising:
9. 9. The application program according to claim 1, wherein the management program comprises: even if it is determined in the first connection determination process that the specific printer is connected, if a printer driver program corresponding to the specific printer is stored in a memory of the information processing device, the start-up determination process and the start-up process are not executed.
1. An application program comprising:
10. 9. The application program according to claim 1, wherein the management program comprises: even if it is determined in the first connection determination process that the specific printer is connected, if the version of the operating system is a predetermined version, the start-up determination process and the start-up process are not executed.
1. An application program comprising:
Citation Information
Patent Citations
Information processor, distributed printing system, printing control method, and program
JP2015162026A
Image forming system, repeating installation, and program
JP2015185048A
Information processing apparatus and method of controlling the same, printing system, and program
JP2017045201A
Information processing apparatus, information processing method, information processing system, and program used in the information processing system and computer readable recording medium
JP2009076068A