Application Program

By developing applications for managing and printing server programs on information processing equipment, the problem of printers that do not support driver printing technology in the OS environment cannot be printed, and the high availability of printers in this environment is achieved.

JP7666710B2Active Publication Date: 2025-04-22BROTHER KOGYO KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024086195
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-05-28
Publication Date
2025-04-22
Estimated Expiration
2038-03-29

AI Technical Summary

Technical Problem

In an OS environment, printers that do not support driver printing technology cannot print because the printing function of the operating system cannot be used.

Method used

An application has been developed that can be executed on the control unit of the information processing device, including a management program and a print server program. The manager is used to determine the printer's connection status and the running status of the print server program, and to start the print server program. If the print server program is not running, the application starts it and registers it as a printer in the operating system. The print server program accepts printing tasks and converts the standard print data into a compatible print data format and transmits it to the printer.

Benefits of technology

Through this application, printers that do not support driver printing technology can also print normally in the OS environment, improving the usability of the printer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007666710000001
    Figure 0007666710000001
  • Figure 0007666710000002
    Figure 0007666710000002
  • Figure 0007666710000003
    Figure 0007666710000003
Patent Text Reader

Abstract

To provide a technique for increasing the availability of a printer in the case of using the printer from an information processing device.SOLUTION: An information processing device 1 includes a management program 43 and a print server program 44. The management program 43 determines whether or not a non-corresponding printer 3 is connected to the information processing device 1, determines whether or not the print server program 44 is started in the case that the non-corresponding printer is connected, starts the print server program 44 in the case that the print server program is not started, and registers a printer server formed by the print server program 44 in an OS 41. The print server program 44 receives a print job which designates a print server corresponding to itself as an output destination, acquires individual print data printable by the non-corresponding printer 3 on the basis of the received print job, and transmits the acquired individual print job to the non-corresponding printer 3.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The technical field disclosed in this specification relates to an application program that controls a printer. [Background technology]

[0002] Conventionally, driverless printing technology has become widespread, which uses the printing functions of an operating system (hereinafter referred to as "OS") to print without installing a printer driver. Here, printers that are not compatible with driverless printing technology, such as low-cost machines, cannot print in an OS environment in which a printer driver cannot be installed. Meanwhile, for example, Patent Document 1 discloses a configuration in which, when a printer driver is not built into an information processing device, a printer driver is sent from the printer, the information processing device installs the printer driver, and the information processing device operates as a print server. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2009-76068 A Summary of the Invention [Problem to be solved by the invention]

[0004] Even in a configuration in which an information processing device 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 OS's printing function in an OS environment in which a printer driver cannot be installed, and therefore printing cannot be performed.

[0005] The technology disclosed in this specification has been made to solve the problems of the conventional technology described above. That is, the object of the technology is to provide a technology that improves the availability of a printer when the printer is used from an information processing device. [Means for solving the problem]

[0006] The application program devised for solving this problem is an application program executable by a control unit of an information processing device, and includes a management program and a print server program, the management program having a first connection determination process for determining whether or not a specific printer is connected to the control unit 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 by the first connection determination process that the specific printer is connected, a start-up process for starting the print server program when it is determined by the start-up determination process that the print server program is not running, and a start-up process for starting the print server program when it is determined by the start-up determination process that the print server program is not running. When the print server program is started, the print server registration process is executed to register the print server constituted by the started print server program as a printer in the operating system of the information processing device, and the print server program causes the control unit to execute a reception process to accept, via the operating system, a print job that specifies the registered print server as an output destination, a print data acquisition process to acquire print data of a specific format that can be printed by the specific printer based on the print job when the print job is accepted in the reception process, and a transmission process to transmit 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 launches a print server program corresponding to the specific printer and registers the print server configured by the launched print server program as a printer in the operating system. This makes it possible to select the specific printer in the operating system. Furthermore, the print server program accepts a print job that specifies the registered print server as an output destination, and based on the print job, obtains print data in a specific format that the specific printer can print, and sends the print data to the specific printer. Therefore, the specific printer receives the print data in the specific format, and can execute printing using this print data.

[0008] A control method for implementing the above functions and a computer-readable storage medium storing an application program are also novel and useful. Effect of the Invention

[0009] According to the application program disclosed in this specification, a technique is realized that enhances the availability of a printer when the printer is used from an information processing device. [Brief description of the drawings]

[0010] [Figure 1] 1 is a schematic configuration diagram of an information processing device according to an embodiment; [Diagram 2] FIG. 2 is an explanatory diagram showing printing procedures using a compatible printer and a non-compatible printer. [Diagram 3] FIG. 11 is a sequence diagram showing a procedure for starting and registering a print server. [Figure 4] FIG. 4 is a sequence diagram showing a procedure for executing printing. [Diagram 5] FIG. 11 is a sequence diagram showing a procedure for shutting down the print server. [Figure 6] 13 is a flowchart showing a procedure for a server startup process. [Figure 7]FIG. 11 is an explanatory diagram showing an example of using a print server program of another information processing apparatus; [Figure 8] 10 is a flowchart showing a procedure of a print server process. [Figure 9] 10 is a flowchart showing a procedure of a printing process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an application program (hereinafter, referred to as an "app") according to the present embodiment will be described in detail with reference to the accompanying drawings. The present embodiment is an app for causing a printer in an information processing device to execute printing.

[0012] The application of this embodiment is executed on an information processing device 1 to which a printer is connected, as shown in Fig. 1. The information processing device 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 by a printer, transmits print execution instructions to each printer, and so on.

[0013] 1, the information processing device 1 of the present embodiment includes a controller 10 including a CPU 11, a ROM 12, a RAM 13, and a non-volatile memory 14. The information processing device 1 further 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, which 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 each an example of a communication interface.

[0014] The ROM 12 stores a startup program for starting up the information processing device 1. The RAM 13 is used as a working area when various processes are executed, or as a storage area for temporarily storing data. The non-volatile memory 14 is, for example, a 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 programs read from the ROM 12 or the non-volatile memory 14, and based on user operations. Note that the controller 10 in Fig. 1 is a collective term for hardware and software used to control the information processing device 1, and does not necessarily represent a single piece of hardware actually present in the information processing device 1.

[0016] The user IF 15 is hardware that accepts operations by a user and displays information. The user IF 15 may be equipped with both an input function and an output function, such as a touch panel, or may be configured by combining a display with a keyboard and a mouse.

[0017] The network IF16 includes hardware for communicating with an external device via a network such as the Internet. The communication standard of the network IF16 is, for example, Ethernet (registered trademark) or Wi-Fi (registered trademark). The USB-IF17 includes hardware for performing communication based on the USB standard. The communication mode of the network IF16 and the USB-IF17 may be wired or wireless.

[0018] The information processing device 1 of this embodiment has a driverless printing function that performs 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 transmits the print job to the printer, for example, AirPrint (registered trademark) and Mopria (registered trademark).

[0019] 1, two printers 2 and 3 are connected to the information processing device 1. Both printer 2 and printer 3 are devices capable of forming an image on a medium to be printed, such as a page printer, a copier, a multifunction device, or a fax machine.

[0020] The printer 2 is connected to the information processing device 1 via the network IF 16, and is compatible with the driverless printing function of the information processing device 1. Hereinafter, the printer 2 will be referred to as the "compatible printer 2." The compatible printer 2 has a program for creating print image data to be used for printing on the printer itself, based on the standard print data of a print job sent from the information processing device 1. The compatible 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 device 1 via the network IF 16 or the USB-IF 17, and is a printer that cannot support the driverless printing function of the information processing device 1. Hereinafter, the printer 3 is referred to as the "non-compatible printer 3." The non-compatible printer 3 does not have a configuration for creating print image data from standard print data. Therefore, the non-compatible printer 3 cannot execute printing even if it receives standard print data. When the non-compatible printer 3 receives print data that it can handle, it executes printing by converting the received print data into print image data or by converting the received print data into print image data. In addition, the non-compatible 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 device 1 does not recognize the non-compatible printer 3 as a printing device. The non-compatible printer 3 is an example of a specific printer.

[0022] The information processing device 1 of this embodiment includes an application for causing the non-compatible printer 3 to execute printing. As shown in Fig. 1, the non-volatile memory 14 of the information processing device 1 stores various programs including an OS 41, a content creation application 42, a management program 43, and a print server program 44. Note that a part of the OS 41 may be included in the ROM 12.

[0023] The OS 41 of the information processing device 1 of this embodiment is a version that has a driverless printing function and does not accept installation of a printer driver corresponding to an individual model of printer. Therefore, the non-volatile memory 14 of the information processing device 1 does not store, for example, a printer driver program for the incompatible printer 3.

[0024] The content creation application 42 is an application for creating content to be printed, such as documents, images, charts, etc. The content creation application 42 includes a function for receiving a print instruction based on a user operation. Note that the information processing device 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 printing based on content created by the content creation application 42 or the like is executed by the non-compatible printer 3 connected to the information processing device 1. The management program 43 and the print server program 44 are examples 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 configured 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, the content creation application 42 etc. can select the virtual printer as an output destination. The print server program 44 is a program that converts a print job output by the driverless printing function into a format compatible with the non-compatible printer 3 and transmits the converted job to the non-compatible printer 3.

[0027] There is one management program 43 for the information processing device 1, and one print server program 44 for each non-compatible printer 3. In an information processing device 1 to which multiple non-compatible printers 3 are connected, a print server is started for each non-compatible printer 3, and each is registered as a virtual printer.

[0028] 2, the information processing device 1 of the present embodiment executes different processes depending on whether printing is to be performed by a compatible printer 2 or a non-compatible printer 3. For example, when a print instruction is received from a content creation application 42, the OS 41 of the information processing device 1 transmits standard print data created by a driverless printing function to the compatible printer 2 if the printer specified in the received print instruction is the compatible printer 2. The compatible printer 2 executes printing based on the standard print data.

[0029] On the other hand, if the printer specified in the print instruction is a virtual printer compatible with the non-compatible printer 3, the information processing device 1 passes the standard print data created by the driverless printing function to the print server program 44. The print server program 44 obtains individual print data, which is print data in a format compatible with 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 format.

[0030] Next, the operation of causing the non-compatible printer 3 to execute printing in the information processing device 1 will be described. Note that the processes and each processing step of the flowchart in the following description basically indicate the processing of the CPU 11 according to instructions written in programs such as the management program 43 and the print server program 44. The processing by the CPU 11 also includes hardware control using an IF (also called an API) for data exchange with other modules of the OS 41 of the information processing device 1. Note that in this specification, the description of the OS 41 will be omitted and the operation of each program will be described.

[0031] First, an overview of the operation will be described with reference to the sequence diagrams of Figures 3 to 5. The print preparation operation by the management program 43 will be described with reference to the sequence diagram of Figure 3. The management program 43 is started, for example, when the information processing device 1 is started, and upon starting, searches for printers connected to the information processing device 1. The search by the management program 43 differs from a search by a driverless printing function in that the information processing device 1 multicasts a search signal to which any non-compatible printer 3 can respond.

[0032] Then, the management program 43 determines whether or not there is a non-compatible printer 3 connected to the information processing device 1 (step 51). For example, if the only printers connected are compatible printers 2 that support the driverless printing function, the information processing device 1 does not need to execute the print server program 44.

[0033] If a non-compatible printer 3 is found, the management program 43 acquires printer information for executing printing on the non-compatible printer 3 (step 52). Specifically, the management program 43 acquires model information, version information, etc. of the found non-compatible printer 3.

[0034] 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 multiple non-compatible printers 3 are searched for, the management program 43 performs steps 52 and 53 for each printer.

[0035] Furthermore, the management program 43 judges whether or not a print server configured 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 print server configured by the print server program 44 is not included in the acquired printer list, the management program 43 registers the print server configured 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, a printing operation using the print server program 44 will be described with reference to the sequence diagram of Fig. 4. The information processing device 1 receives a content print instruction from a user through the running content creation application 42 (step 61). The content creation application 42 creates a print job based on the received print instruction and registers it in the OS 41 (step 62). The OS 41 processes the received print job using a driverless printing function, and generates a print job including standard print data.

[0037] The OS 41 passes the print job, in which the 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 or not it is in a printable state (step 64).

[0038] If the non-compatible printer 3 is in a printing state, it sends the 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. Furthermore, based on the printer information, the print server program 44 takes over the print settings included in the print job and converts them into information in a format compatible with the non-compatible printer 3 (step 66).

[0039] The print server program 44 then transmits the generated individual print data and 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 printing 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 is unable to 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 offline 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 application 42 (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 the print job processing is not being executed (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 of an error that the non-compatible printer 3 is not connected (step 82).

[0042] Then, for example, when an instruction to terminate the server is received by a user operation, if the print server configured by the print server program 44 has already been registered in the OS 41, the print server program 44 deletes the registration of the corresponding virtual printer from the OS 41 (step 83). Furthermore, the print server program 44 terminates itself (step 84). By terminating unnecessary print server programs 44, the processing load of the information processing device 1 is reduced.

[0043] Next, the operation of each program will be described in detail with reference to the flowcharts of Figures 6 to 9. Note that the procedure numbers added in the following description correspond to the procedure numbers shown in the sequence diagrams of Figures 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 in Fig. 6. This server startup process is executed by the CPU 11, for example, when the information processing device 1 is started, a printer is connected, or a print instruction is received.

[0045] In the server startup process, the CPU 11 first determines whether or not the environment is a driverless printing environment (S101). For example, the CPU 11 acquires version information of the OS 41 of the information processing device 1, and determines whether or not the operating environment is one in which the OS 41 has a driverless printing function and does not accept installation of a printer driver. The CPU 11 may also determine whether or not a printer driver is installed. If it is determined that the environment is not a driverless printing environment (S101: NO), the CPU 11 ends the server startup process.

[0046] If the environment allows the installation of a printer driver, the processing load can be reduced by installing the printer driver. Also, by checking the version of the OS 41, for example, if the operating environment changes to driverless printing due to an upgrade of the OS 41, the management program 43 and the print server program 44 can be made to function. Therefore, the user can continue to be provided with a printing environment that is as easy to use as before.

[0047] If it is determined that the environment is a driverless printing environment (S101: YES), the CPU 11 searches for printers connected to the information processing device 1 in order (S102). Then, the CPU 11 determines whether the searched printer is a non-compatible printer 3 that is not compatible with the driverless printing function (S103, step 51). S103 is an example of a first connection determination process.

[0048] For example, the CPU 11 inquires of each printer connected via the network IF 16 and determines whether or not it has the capability to support the driverless printing function. Also, for example, if the information processing device 1 has a list of external devices connected thereto, the CPU 11 may check the connection of the incompatible printer 3 in the list in S103.

[0049] If it is determined that a non-compatible printer 3 has been found (S103: YES), the CPU 11 acquires printer information (S104, step 52). As the printer information, the CPU 11 acquires, for example, printer model information, version information, and the data format of print data supported by the printer. The CPU 11 may acquire the printer information by inquiring of the found non-compatible printer 3, or may acquire the printer information from a list of external devices, etc.

[0050] Furthermore, the CPU 11 determines whether or not the print server program 44 corresponding to the searched non-compatible printer 3 is running (S105). S105 is an example of a startup determination process. If it is determined that the print server program 44 is not running (S105: NO), the CPU 11 determines whether or not the print server program 44 corresponding to the non-compatible printer 3 is running in another device that can communicate with the information processing device 1 (S106). S106 is also an example of a startup determination process.

[0051] 7, in a system in which a plurality of information processing devices 1, 100, 200 are connected to each other so as to be able to communicate with each other and can use the same non-compatible printer 3, when a print server program 44 is running on the other information processing device 100, the information processing device 1 can use the print server program 44 of the other information processing device 100. In this case, the print server configured by the print server program 44 of the other information processing device 100 is registered as a virtual printer in the OS 41, so that the information processing device 1 can use the print server program 44. In this case, the print server configured by the print server program 44 running on the other information processing device 100 is an example of an existing print server.

[0052] 7, the information processing device 1 can pass standard print data to another information processing device 100, have the print server program 44 of the other information processing device 100 create individual print data, and have the other information processing device 100 send the individual print data to the non-compliant printer 3. In this way, there is no need to start the print server program 44 on the information processing device 1, and the processing load on the information processing device 1 can be reduced.

[0053] If it is determined that the print server program 44 is not running in either the own device or another device (S106: NO), the CPU 11 starts the print server program 44 corresponding to the searched incompatible printer 3 (S107, step 53). S107 is an example of the start-up process.

[0054] Furthermore, 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 or not the print server configured by the print server program 44 is registered in the OS 41 (S108). Specifically, the CPU 11, for example, queries the OS 41 to obtain a list of printers registered in the OS 41 (steps 54, 55), and determines whether or not 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 or not there is a print job that specifies a virtual printer corresponding to the non-compatible printer 3 as the output destination (S201). A print job is generated, for example, when a print instruction is received by the content creation application 42, and is registered in the OS 41 (step 62 in FIG. 4). In S201, the CPU 11 determines whether or not there is a corresponding print job, for example, by periodically inquiring of the OS 41 or by monitoring a print spooler of the OS 41. The CPU 11 may also receive a print job that specifies 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 a non-compatible printer 3 that is compatible with this print server program 44 (S202, step 64), and determines whether or not a non-compatible printer 3 has been found (S203). If it is determined that a non-compatible printer 3 has been found (S203: YES), the CPU 11 executes a print process (S204). The print process is a process in which the print server program 44 causes the non-compatible printer 3 to execute printing.

[0061] The procedure of the print process will be described with reference to the flowchart in FIG. 9. In the print process, the CPU 11 first acquires a print job (S301). S301 is an example of a reception process. The CPU 11 then acquires print data included in the acquired print job (S302). The print data included in the print job is data in a format created by a driverless printing function, for example, standard print data. The print data included in the print job is an example of original print data.

[0062] Then, the CPU 11 determines whether the print data included in the print job is in a format that can be supported by the non-compatible printer 3 (S303). S303 is an example of a format determination process. The format that can be supported by the non-compatible printer 3 is not limited to individual print data. Also, the print data created by the driverless printing function is not limited to standard print data. In other words, the non-compatible printer 3 may be able to print even print data created by the driverless printing function.

[0063] If it is determined that the print data included in the print job is in a format that cannot be 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 that is supported by the non-compatible printer 3 (S304, step 66).

[0064] The print data may be converted by the print server program 44 or 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 information on the format of the print data that is compatible with the non-compatible printer 3 to the management program 43 and request the management program 43 to convert the print data. In this case, S304 is an example of the conversion process.

[0065] By having the management program 43 convert the print data, the print server program 44 does not need to perform the conversion process, and the size of each print server program 44 can be reduced. In particular, even if multiple print server programs 44 are running, one program can handle them, so the size of the programs running on the information processing device 1 can be reduced. On the other hand, if each print server program 44 converts the print data, there is no need to transfer data to and from the management program 43, and the conversion of the print data can be speeded up.

[0066] Then, the CPU 11 acquires the individual print data after conversion (S305). S305 is an example of a print data acquisition process. If the CPU 11 determines that the print data included in the print job is in a format that can be supported by the non-compatible printer 3 (S303: YES), or after S305, the CPU 11 takes over the print settings (S306, step 66). If the determination is YES in S303, S302 is an example of a print data acquisition process.

[0067] The print settings include, for example, the number of copies to be printed and double-sided printing. The non-compatible printer 3 may not be able to properly handle the print setting commands added by the driverless printing function. The CPU 11 creates a print job to which print settings compatible with the non-compatible printer 3 are added by changing the print setting commands by the driverless printing function to print setting commands for the non-compatible printer 3.

[0068] The CPU 11 controls the network IF 16 or the USB-IF 17 to transmit a print job including the print settings taken over in S306 and the print data acquired in S302 or S305 to the non-compatible printer 3 (S307). S307 is an example of a transmission process. Furthermore, the CPU 11 determines whether the transmission is completed (S308).

[0069] If it is determined that the transmission is complete (S308: YES), the CPU 11 passes status information indicating that the transmission is complete to the OS 41 (S309). On the other hand, if it is determined that the transmission is not complete because an error occurred during transmission (S308: NO), the CPU 11 passes status information indicating that an error occurred 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 if the print job was received from another device, in S309 or S310, it is preferable to send the status information to the device that sent the print job.

[0070] Returning to the explanation of Fig. 8, after the print process of S204 ends, the CPU 11 returns to S201 and judges whether or not there is another print job. If it is judged that there is no print job (S201: NO), the CPU 11 judges whether or not it is a predetermined timing (S205). For example, the CPU 11 judges that it is a predetermined timing when the print server program 44 is running and a predetermined time has passed since the start or the previous print process. Furthermore, the predetermined timing may occur only once, or may be determined to be the predetermined timing periodically.

[0071] When it is determined that the predetermined timing has come (S205: YES), the CPU 11 searches for a non-compatible printer 3 that is compatible with the print server program 44 (S206, step 81). S206 is the same process as S202. Then, the CPU 11 determines whether or not a non-compatible printer 3 has been found (S207). S207 is an example of a second connection determination process.

[0072] If it is determined that the non-compatible printer 3 was not found by the search in S202 or S206 (S203: NO or S207: NO), the CPU 11 notifies an error (S208). For example, the CPU 11 controls the user IF 15 to display error information indicating that the non-compatible printer 3 is offline. If the non-compatible printer 3 is offline, printing cannot be performed. By not executing the print process when the answer is NO in S203 or S207, the processing load on the CPU 11 can be reduced.

[0073] Then, the CPU 11 judges whether or not to terminate the print server program 44 (S209). The CPU 11, for example, controls the user IF 15 to display a message inquiring of the user as to whether or not to terminate the print server program 44, and accepts the user's instruction. Alternatively, the CPU 11 may judge to terminate the print server program 44 when a condition is met, such as the non-compatible printer 3 being offline for a predetermined period of time or more.

[0074] If it is determined that it is not the specified timing (S205: NO), or if an incompatible printer 3 is found (S207: YES), or if it is determined that the print server program 44 should not be terminated (S209: NO), the CPU 11 returns to S201 and determines whether or not a print job is present.

[0075] On the other hand, when it is determined that the print server program 44 is to be terminated (S209: YES), the CPU 11 determines whether or not the print server configured by this print server program 44 is registered in the OS 41 (S210). When it is determined that the print server 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-compatible printer 3 cannot be selected even from a normal application, and it is possible to prevent the user from inputting a print instruction by mistake. If the print server configured by the print server program 44 of the information processing device 1 is registered in another device, it is preferable to notify the other device to delete the registration.

[0077] After S211, or if it is determined that the printer is not registered (S210: NO), the CPU 11 terminates the print server program 44 (S212) and terminates the print server processing. S212 is an example of the termination processing. When terminating the print server program 44, the user may be notified of the termination. If the incompatible printer 3 is offline, printing cannot be performed. Therefore, by terminating the print server program 44, the processing load of the information processing device 1 is reduced.

[0078] As described above in detail, according to this embodiment, when a 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. The print server program 44 then accepts a print job via the OS 41, and obtains individual print data that can be printed by the non-compatible printer 3 based on the standard print data of the accepted print job, and transmits the individual print data to the non-compatible printer 3. This allows the non-compatible printer 3 to print even in an environment where a printer driver for the non-compatible printer 3 is not installed.

[0079] It should be noted 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 be naturally improved and modified in various ways without departing from the scope of the invention. For example, the number of information processing devices and printers constituting this embodiment is not limited to the examples in FIG. 1 and FIG. 7. For example, the compatible printer 2 does not have to be connected.

[0080] Also, for example, the print server program 44 running on another device may not be used. For example, S106 of the server startup process may be deleted, and if NO is determined in S105, the process may proceed 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, it is not necessary to determine whether the print data of a print job created by the driverless printing function is in a format that can be supported by the non-compatible printer 3. In other words, S303 of the print process may be deleted and the print data may be converted each time. However, since the print data may be in a supportable format, making the determination in S303 may reduce the processing load.

[0082] Also, for example, the printer search may be performed when the print data is transmitted. In other words, even if the non-compatible printer 3 is offline, the print data may be converted. For example, instead of steps S202 and S203 of the print server process, the non-compatible printer 3 may be searched for before step S307 of the print process.

[0083] Even if the non-compatible printer 3 is offline, the print server program 44 does not have to be terminated. Also, when the print server program 44 is terminated, the user does not have to be notified.

[0084] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination of these. The processes disclosed in the embodiments may be realized in various forms, such as a recording medium having a program for executing the processes recorded thereon, or a method. [Explanation of symbols]

[0085] 1. Information processing device 3. Unsupported Printers 11 CPU 14 Non-volatile memory 16 Network Interface 17 USB-IF 41 OS 43 Management Program 44 Print Server Program

Claims

1. an application program executable by a control unit of an information processing device, the application program including a management program and a printing program corresponding to a specific printer, an operating system of the information processing device having a driverless printing function for printing without installing a printer driver, the driverless printing function being configured to generate a print job including generic standard print data that is independent of the printer model, the operating system being configured to, when printing is requested with a specified real printer, transmit the generated print job including the generic standard print data to the real printer; The management program causes the control unit to a printer detection process for detecting the specific printer via a communication interface of the information processing device; a registration process that operates to register the printing program in the operating system as a virtual printer corresponding to the specific printer; Run the command, The printing program is a print job acceptance process for accepting a print job including the general-purpose standard print data generated by the operating system as the specific printer when a print request is made specifying the specific printer; a transmission process for transmitting print data based on the print job received in the print job reception process to the specific printer; Execute the 1. An application program comprising:

2. 2. The application program according to claim 1, In the registration process of the management program, When the specific printer is not registered in the operating system, the printing program is registered in the operating system as the virtual printer corresponding to the specific printer.

1. An application program comprising:

3. 2. The application program according to claim 1, In the registration process of the management program, When a plurality of specific printers are detected in the printer detection process, the printing program is registered in the operating system as a plurality of virtual printers corresponding to the plurality of specific printers.

1. An application program comprising:

4. 4. The application program according to claim 1, a print setting compatible with the specific printer is added to the print data transmitted to the specific printer in the transmission process; 1. An application program comprising:

5. 4. The application program according to claim 1, The printing program further includes: A status information process for obtaining status information from the specific printer and transmitting the status information to the operating system; An application program characterized by being executed.

6. 4. The application program according to claim 1, The registration process uses the model name or nickname of the specific printer.

1. An application program comprising:

7. 4. The application program according to claim 1, The registration process uses a name designated by the user.

1. An application program comprising:

Citation Information

Patent Citations

  • Information processing apparatus, information processing method, information processing system, and program used in the information processing system and computer readable recording medium

    JP2009076068A

  • Computer program for controlling job processing, server device, portable device and system

    JP2010128859A

  • Information processor, distributed printing system, printing control method, and program

    JP2015162026A

  • Image forming system, repeating installation, and program

    JP2015185048A

  • Image formation system, image processing apparatus, and image processing apparatus control program

    JP2016126444A