Support Program
The support program addresses image quality degradation in cloud printing by allowing direct transmission of compatible file formats like PDF to virtual printers, reducing redundant processing and maintaining high-quality printouts.
Patent Information
- Application Number
- JP2022051673
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-28
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-03-28
AI Technical Summary
Existing cloud printing systems require unnecessary file format conversions when printing PDF data, leading to potential image quality degradation due to redundant processing.
A support program that integrates with the OS's general-purpose printing program to bypass intermediate data generation for specific file formats like PDF when printing via a virtual printer, ensuring that image data in compatible formats is directly sent to the printer without conversion.
This approach minimizes unnecessary processing and maintains high image quality by eliminating redundant file format conversions, particularly for PDF data, when using cloud print systems.
Smart Images

Figure 0007718305000001 
Figure 0007718305000002 
Figure 0007718305000003
Abstract
Description
[Technical Field]
[0001] The technical field disclosed in this specification relates to a support program that supports control of a printer. [Background technology]
[0002] In recent years, a technology has been put into practical use that controls printers using a general-purpose printing program that is built into the operating system (OS) as standard, without using a printer driver. With this technology, when the OS detects a printer, it associates it with the OS's standard general-purpose printing program, and thereafter, when a print instruction for that printer is received, printing can be performed using the OS's standard general-purpose printing program without using a printer driver.
[0003] Also known is a configuration in which a support program is associated with an OS-standard general-purpose printing program, and printing is achieved through cooperation between the general-purpose printing program and the support program. For example, Patent Document 1 discloses a configuration in which the general-purpose printing program generates intermediate data in XPS format based on image data to be printed, the support program generates print data in PDL format based on the intermediate data, and the print data is sent to a printer by the general-purpose printing program, or a configuration in which the support program edits the intermediate data, and then the general-purpose printing program generates print data in RWGraster or PDF format based on the edited intermediate data, and sends the print data to a printer. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-056755 Summary of the Invention [Problem to be solved by the invention]
[0005] There is a technology known as a cloud printing system, in which a cloud server on the Internet acts as a virtual printer, a print job is submitted to the virtual printer from a general-purpose printing program provided by the operating system, and a printer connected to the cloud server retrieves the print job and prints it. In this cloud printing system, for example, if the printer is a model that supports PDF, PDF data can simply be submitted to the cloud server. However, when printing via a general-purpose printing program, as described above, intermediate data is generated based on the image data to be printed, and print data is then generated based on that intermediate data. Therefore, if the image data to be printed is PDF data, even though the printer can handle the image data, a file format conversion (PDF → intermediate data → print data) is performed, resulting in redundant processing. Furthermore, because image quality can be degraded when converting file formats, it is preferable to minimize file format conversion opportunities. [Means for solving the problem]
[0006] A support program made for the purpose of solving the above-mentioned problems is a support program that can be executed by a computer of an information processing device, and supports a general-purpose printing program that is pre-installed in an operating system of the information processing device, wherein the information processing device is connectable to a virtual printer provided on a server on a network, the server is capable of receiving and storing print jobs sent to the virtual printer, and the server is further capable of sending the stored print jobs to the printer connected to the server in response to a request from the printer, and when the virtual printer is the destination of a print job, the general-purpose printing program is configured to generate intermediate data for a predetermined file format when the virtual printer is the destination of the print job. and when a process is requested from the general-purpose printing program due to a print instruction output from an application program incorporated in the information processing device, the print instruction instructing the general-purpose printing program to print an image on the virtual printer, if intermediate data is passed from the general-purpose printing program, the computer is caused to execute a process to generate print data based on the passed intermediate data and send a print job including the generated print data to the virtual printer, and when image data in the specified file format is passed from the general-purpose printing program, the computer is caused to execute a process to send a print job including the passed image data to the virtual printer.
[0007] When a print command is issued, the general-purpose printing program typically generates intermediate data from the image data to be printed, and then passes the generated intermediate data to the support program. However, if a specific file format is registered in the general-purpose printing program as a file format for which intermediate data is not generated, and the image data to be printed is in the specific file format, the general-purpose printing program passes the image data to the support program as is. Therefore, the support program performs the above registration when a virtual printer is the destination of a print job. As a result, when a print job is submitted to the virtual printer, the support program sends the print job to the virtual printer containing image data in the specific file format. As a result, a printer connected to the virtual printer can retrieve and print image data in the specific file format from the virtual printer. This procedure allows the image data to be printed to be passed to the virtual printer without being converted into intermediate data, eliminating unnecessary processing and suppressing degradation of image quality.
[0008] An apparatus for realizing the functions of the support program, a control method, and a computer-readable storage medium storing the support program are also novel and useful. [Effects of the Invention]
[0009] The technology disclosed in this specification realizes a technology that suppresses degradation of image quality with a simple processing procedure when printing is performed on a printer from a general-purpose print program that is standard on the OS via a cloud print system. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a schematic configuration diagram of a printing system. [Figure 2] FIG. 10 is a sequence diagram showing an example of a procedure when printing is selected. [Figure 3] FIG. 10 is a sequence diagram illustrating an example of a procedure when a print instruction is received. [Figure 4]10 is a flowchart illustrating a procedure of a setting process. [Figure 5] FIG. 10 is a sequence diagram showing an example of a procedure when printing is selected. [Figure 6] FIG. 10 is a sequence diagram showing an example of a procedure when printing is selected. [Figure 7] FIG. 10 is a sequence diagram illustrating an example of a procedure when a print instruction is received. DETAILED DESCRIPTION OF THE INVENTION
[0011] A personal computer (hereinafter referred to as "PC") that uses the support program of this embodiment will be described in detail below with reference to the accompanying drawings. This specification discloses a printing system that causes a printer to print from a general-purpose printing program that is standard in the OS via a cloud print system.
[0012] (First embodiment) FIG. 1 is a schematic diagram of a printing system 9. The printing system 9 has a PC 1, a printer 2, and a printer 3. The printer 2 may be connected to the Internet 8 or may be directly connected to the PC 1. The PC 1 and the printer 3 can communicate with a cloud server 6 provided on the Internet 8. The cloud server 6 is provided with a virtual printer 5. The printers 2 and 3 are real physical printers, whereas the virtual printer 5 is a logical printer that is virtually treated as a single printer. For ease of explanation, the real physical printer may be referred to as a "real printer" below.
[0013] The printing system 9 is a system that uses a cloud service provided by, for example, Microsoft, and realizes universal printing by printing via a virtual printer 5. In other words, the cloud server 6 can be provided by a company other than the printer manufacturer. The Internet 8 is an example of a network. The cloud server 6 is an example of a server. In this embodiment, it is assumed that a real printer that can handle PDF image data is connected to the virtual printer 5 of the cloud server 6.
[0014] As shown in Fig. 1, the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12. The PC 1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC 1 also includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Fig. 1 is a collective term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware that actually exists in the PC 1.
[0015] The CPU 11 executes various processes in accordance with programs read from the memory 12 and based on user operations. Various programs and various data are stored in the memory 12. The memory 12 is also used as a work area when various processes are executed. A buffer provided in the CPU 11 is also an example of the memory 12. Note that the example of the memory 12 is not limited to a ROM, RAM, HDD, etc. built into the PC 1, but may also be a storage medium readable and writable by the CPU 11, such as a recording medium such as a CD-ROM or DVD-ROM.
[0016] The user IF 13 includes hardware for displaying a screen for notifying the user of information and hardware for accepting user operations. The user IF 13 may be a combination of a display 13a capable of displaying information and a mouse or keyboard having an input acceptance function, or may be a touch panel having the display 13a and an input acceptance function.
[0017] The communication IF 14 includes hardware for communicating with an external device such as the printer 2. The communication IF 14 is compatible with a communication standard such as Ethernet (registered trademark), Wi-Fi (registered trademark), or USB. The PC 1 may be connectable to the Internet via the communication IF 14. The PC 1 may be equipped with multiple communication IFs 14 compatible with multiple communication standards.
[0018] As shown in Fig. 1, the memory 12 of the PC 1 stores an operating system (hereinafter referred to as "OS") 21 including a general-purpose printing program 41, an auxiliary program 42, and various application programs (hereinafter referred to as "apps"). The OS 21 is, for example, Windows (registered trademark). The OS 21 may also be macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), or Android (registered trademark). The auxiliary program 42 is an example of a support program.
[0019] The PC 1 of this embodiment incorporates various applications, such as an information application 43. The information application 43 is, for example, a map application, a calendar application, or a browser, and has a function of displaying various information on the display 13a in response to a user request. The information application 43 is an example of an application program. Note that the information application 43 itself does not necessarily have a function of printing the displayed information.
[0020] The generic printing program 41 is an OS standard program provided together with the OS 21, and has a function for causing the printer 2 or the like to print information displayed on the display 13a by the information application 43 or the like. The generic printing program 41 of this embodiment is a program that includes a function for generating intermediate data based on image data to be printed. The generic printing program 41 supports functions that can be used in common by multiple models of printers provided by various printer vendors. Unlike printer drivers that are specific to various printers, the generic printing program 41 does not support all of the specific functions that various printers have, and the functions it supports are limited to generic ones.
[0021] The auxiliary program 42 is a program or group of programs that executes processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is a program that supports the control of the target hardware. The auxiliary program 42 of this embodiment corresponds to the model of the printer 2 connected to the PC 1, and is launched from the general-purpose printing program 41 when, for example, an instruction to cause the printer 2 to execute printing using the general-purpose printing program 41 is received. The auxiliary program 42 is, for example, called a print support app (abbreviated as PSA) or a hardware support app (abbreviated as HSA).
[0022] The auxiliary program 42 may be a combination of multiple programs that each accept an execution command, or a single program that can execute different processes in response to commands. The auxiliary program 42 may also be a program prepared by a printer vendor for each printer type. For example, an auxiliary program for inkjet printers and an auxiliary program for laser printers may be prepared. A separate auxiliary program may be prepared not only for each printer type, but also for each printer model or series of printer models.
[0023] As shown in Fig. 1, the PC 1 of this embodiment is connected to a cloud server 6 via the Internet 8. The cloud server 6 is an information processing device equipped with a communication function. The virtual printer 5 of the cloud server 6 receives and stores a print job from the PC 1 as one of the printers, and when a request to send a print job is received from the real printer, it can send the stored print job to the real printer.
[0024] When a real printer is connected, the OS 21 registers printer information, which is information about the real printer. For example, when a new virtual printer is connected to the PC 1, the OS 21 registers the virtual printer as one of the printers that can be connected to the PC 1, just like a real printer.
[0025] Printer 2 and printer 3 are real printers that have at least a printing function and a communication function. Printer 2 and printer 3 receive print data and print settings from an external device and perform printing according to the print settings. Printer 2 is not connected to cloud server 6. Printer 3 is communicatively connected to cloud server 6. When printer 3 is connected to cloud server 6, it receives, for example, a print job sent to virtual printer 5 from virtual printer 5 and performs printing.
[0026] At the time of installation, the auxiliary program 42 is registered in the general-purpose printing program 41 or the OS 21 as a program to be started based on the selection of the printer 2. The auxiliary program 42 is also registered in the general-purpose printing program 41 or the OS 21 as a program to be started based on the selection of the virtual printer 5.
[0027] The auxiliary program 42 of this embodiment has a function for setting whether or not to execute pass-through registration. Pass-through registration is a process for registering a predetermined file format in the general-purpose printing program 41 as a file format for which intermediate data is not generated. The predetermined file format is, for example, PDF. In this embodiment, registration feasibility information 46 indicating whether or not to execute pass-through registration is stored in the memory 12. The registration feasibility information 46 is set to ON when pass-through registration is to be executed, and set to OFF when pass-through registration is not to be executed, by a setting process described later. The setting process will be described later.
[0028] Next, the printing procedure including the operation of the auxiliary program 42 of this embodiment, and the procedure performed by each program when printing is selected in the information application 43, will be described with reference to the sequence diagram of Fig. 2. Note that Fig. 2 and other sequence diagrams described later show the operation when the auxiliary program 42 corresponding to the printer 2 is installed in the PC 1.
[0029] Note that the processes, flowcharts, and sequence diagrams in the following explanation basically represent the processing of the CPU 11 in accordance with instructions written in a program such as the auxiliary program 42. The processing by the CPU 11 also includes hardware control using the API of the OS 21. In this specification, the operation of each program will be explained without a detailed description of the OS 21. Also, the term "acquire" is used as a concept that does not necessarily require a request.
[0030] At the beginning of the procedure, the user launches the information application 43 (A01). In response to a user instruction, the information application 43 displays an information screen containing various information on the display 13a (A02). If the user wants to print an image based on the displayed information screen, the user selects print on the information screen (A03). The information application 43 sends a display request and image data to be printed to the general-purpose printing program 41 of the OS 21 (A04). The information application 43 sends the image data to be printed in a file format that corresponds to its own capabilities. Therefore, the general-purpose printing program 41 receives the image data of the image to be printed in a file format that corresponds to the capabilities of the data sender, such as the information application 43.
[0031] In response to the display request, the general-purpose print program 41 displays a general-purpose print setting screen on the display 13a (A06). The general-purpose print setting screen is a screen that accepts instructions for print settings and instructions for printing. The general-purpose print setting screen may display a preview of the data received from the information application 43 in A04.
[0032] The user can select a printer on the displayed general-purpose print setting screen (A07). For example, if the selected printer is printer 2 or virtual printer 5, the general-purpose print program 41 starts the auxiliary program 42 and requests processing corresponding to the printer selection (A08). In A08, the general-purpose print program 41 passes information about the selected printer and information about the print settings that were set when the printer was selected to the auxiliary program 42.
[0033] When printer 2 is set as the printer to be normally used by the OS 21, the general-purpose printing program 41 displays the general-purpose printing setting screen with printer 2 selected (A06) and starts the auxiliary program 42 (A08). That is, printer 2 is automatically selected by the OS 21, and the general-purpose printing program 41 executes A08 based on the information of the selected printer 2. In this case, the user does not need to operate A07. The same applies when virtual printer 5 is set as the printer to be normally used.
[0034] Alternatively, instead of the general-purpose printing program 41 displaying the general-purpose printing setting screen, the information application 43 may be configured to display the general-purpose printing setting screen. In this case, the information application 43 starts the general-purpose printing program 41 in response to the selection of printing in A03, obtains data to be displayed on the general-purpose printing setting screen from the general-purpose printing program 41, and displays the general-purpose printing setting screen on the display 13a. Then, in response to the selection of printer 2 or virtual printer 5, or in response to the selection of printer 2 or virtual printer 5 in A07, the information application 43 passes information about the selected printer to the general-purpose printing program 41. As a result, the general-purpose printing program 41 starts the auxiliary program 42 in A08.
[0035] When the auxiliary program 42 is started, it requests the OS 21 for the capability information of the selected printer (A11). For example, if printer 2 is selected in A07, the OS 21 receives the request from the auxiliary program 42, sends an acquisition request for the capability information to printer 2, and acquires the capability information from printer 2 (A12). The OS 21 passes the capability information acquired from printer 2 to the auxiliary program 42 (A13).
[0036] The OS 21 communicates with the printer 2, for example, using IPP (Internet Printing Protocol) communication. Note that the auxiliary program 42 may obtain capability information directly from the printer 2, for example, using MIB (Management Information Base), instead of making a request to the OS 21.
[0037] The capability information acquired from printer 2, which is a real printer, includes information on parameters that can be set as print settings. The capability information also includes, for example, status information, information on remaining consumables, information on installed trays, paper information for each tray, and information on supported print resolutions. Printer 2 may also have a function for performing image processing based on a received print job and printing based on the processed data, such as aggregate printing (N in 1), composite printing with watermarks, and colorant-saving printing. If printer 2 has an image processing function that it can execute, printer 2 may pass information about that function to OS 21 as capability information. The capability information acquired from printer 2 may also include information indicating post-processing, such as stapling, which secures printed materials with staples.
[0038] The capability information acquired from the printer 2 may include information on functions that are not processed by the printer 2 but are processed by the auxiliary program 42. Examples of functions that are not processed by the printer 2 but are processed by the auxiliary program 42 include booklet printing and poster printing.
[0039] Furthermore, the capability information acquired from printer 2 includes specific information for identifying the printer. An example of specific information is device identification information for identifying the device. Examples of device identification information include a hardware key unique to the printer and information possessed by printers manufactured by a specific printer manufacturer.
[0040] On the other hand, the capability information acquired from the virtual printer 5 also includes specification information. However, this specification information does not include device identification information. The specification information acquired from the virtual printer 5 may include identification information for the virtual printer 5. Furthermore, the capability information from the virtual printer 5 may or may not include information on print setting parameters.
[0041] In this embodiment, the timing and method of acquiring the identification information and the capability information are the same, but they may be different. For example, the auxiliary program 42 may acquire the identification information from the printer 2 when searching for devices during installation and store it in the memory 12. For example, the auxiliary program 42 may acquire either the identification information or the capability information directly from the selected printer 2.
[0042] The auxiliary program 42, having acquired the capability information, performs a printer determination process (A14). The printer determination process is a process for determining whether the selected printer is a virtual printer based on the specification information included in the capability information. For example, if the specification information received from the general-purpose printing program 41 in A08 includes device identification information, the auxiliary program 42 determines that the selected printer is a real printer, not a virtual printer 5. On the other hand, if the specification information received from the general-purpose printing program 41 in A08 does not include device identification information or includes identification information for the virtual printer 5, the auxiliary program 42 determines that the selected printer is a virtual printer 5. Furthermore, the auxiliary program 42 acquires registration availability information 46 from the memory 12 (A15).
[0043] If the selected printer is a virtual printer 5 and the registration availability information 46 is set to ON (alt: virtual printer and registration availability information ON), the auxiliary program 42 executes pass-through registration with PDF as the registration target (A16). A16 is an example of the registration process. On the other hand, if the selected printer is a real printer or the registration availability information 46 is set to OFF, the auxiliary program 42 does not execute pass-through registration. In other words, the auxiliary program 42 restricts the execution of pass-through registration. The auxiliary program 42 may also execute processing to cancel the pass-through registration.
[0044] Next, the procedures performed by each program when a print instruction is received via the general-purpose print setting screen will be described with reference to the sequence diagram in Fig. 3. The sequence diagram in Fig. 3 shows the operation when a print instruction is received with the virtual printer 5 selected. Note that the print instruction from the user may be input directly to the general-purpose print program 41, or may be input to the information application 43 and output from the information application 43 to the general-purpose print program 41.
[0045] When the general-purpose printing program 41 receives a print execution instruction from the user via the general-purpose printing setting screen in which the virtual printer 5 is selected as the printer to perform printing (D01), it passes the image data indicating the image to be printed and the print settings received via the general-purpose printing setting screen to the auxiliary program 42 (D02). The general-purpose printing program 41 handles image data differently depending on whether pass-through registration is performed or not and the file format of the image data to be printed.
[0046] That is, when the auxiliary program 42 executes pass-through registration for PDF at A16 in FIG. 2, and the file format of the image data to be printed received from the information application 43 at A04 in FIG. 2 is PDF, the general-purpose printing program 41 passes the PDF image data directly to the auxiliary program 42.
[0047] On the other hand, if the auxiliary program 42 has not executed pass-through registration for PDF in A16 of FIG. 2, or if the file format of the image data to be printed is not PDF, the general-purpose printing program 41 generates intermediate data by converting the format of the image data representing the image to be printed into the format of intermediate data. The general-purpose printing program 41 passes the generated intermediate data to the auxiliary program 42 as image data. The image data contained in the information application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate data suitable for generating print data. The intermediate data is, for example, XPS data.
[0048] The pass-through registration is stored in association with the auxiliary program 42. Therefore, if a printer associated with the auxiliary program 42 is selected after pass-through registration by the auxiliary program 42, the pass-through registration becomes valid. On the other hand, if a printer not associated with the auxiliary program 42 is selected, the pass-through registration does not become valid.
[0049] When the auxiliary program 42 receives image data from the general-purpose printing program 41 in D02, it determines the file format of the received image data (D11). If the determination result is a file format other than PDF (alt: non-PDF), the auxiliary program 42 generates print data in PDF file format based on the intermediate data received from the general-purpose printing program 41 (D13). On the other hand, if the determination result is PDF, it does not generate print data.
[0050] The auxiliary program 42 adds information indicating print settings to the PDF image data passed in D02 or to the print job including the PDF print data generated in D13 (D31). The added print settings are, for example, the print settings received from the general-purpose printing program 41 in D02. The general-purpose printing program 41 supports general-purpose print settings and does not support printer-specific print settings. Examples of print settings supported by the general-purpose printing program 41 include the number of copies, double-sided printing, color printing, paper tray, paper type, paper size, and layout printing (Nin1).
[0051] When the auxiliary program 42 receives print settings specific to the printer 2 via the detailed settings screen, the auxiliary program 42 may assign the received print settings to the print job. Examples of print settings specific to the printer 2 include print settings related to post-processing such as watermarks, economical printing, PIN settings, poster printing, booklet printing, and stapling.
[0052] The auxiliary program 42 sends the print job with the print settings to the selected printer along with a print command instructing the execution of printing (D32). The virtual printer 5 receives the print data and print command and accumulates and stores the print job (D33). The auxiliary program 42 returns a completion notice to the general-purpose printing program 41 (D34).
[0053] When the printer 3, which is a real printer, receives a selection of the pull print function for receiving and printing a print job from the cloud server 6 (E11), it acquires job registration information from the virtual printer 5 (E13). The job registration information is, for example, a list showing the job names of print jobs stored in the virtual printer 5, and is information that does not include print data or print settings. The printer 3 displays the acquired job registration information (E14). The printer 3 accepts the selection of a print job to be printed from the displayed job registration information, and further accepts an instruction to execute printing (E15).
[0054] The printer 3 then obtains the selected print job from the virtual printer 5 (E16). For example, the printer 3 requests the virtual printer 5 to send the selected print job, and the virtual printer 5 sends the print job to the printer 3 in response to the request. The printer 3 executes printing based on the print job received from the virtual printer 5 (E17). For example, if the print job has a print setting for economical printing, the printer 3 executes printing while reducing the amount of colorant used. For example, if the print job has a print setting for stapling, the printer 3 staples the printed sheets of paper. This generates a printed product. The printer 3 may perform authorization authentication based on PIN information when connecting to the virtual printer 5, obtaining job registration information, or obtaining a print job.
[0055] In this embodiment, printer 3, which is a real printer connected to virtual printer 5, is compatible with PDF. Therefore, when printer 3 receives a print job including PDF image data at E16, it can print the PDF image data as is without converting the file format. In this way, in the printing system 9 of this embodiment, when printer 3 is compatible with PDF, the file format of the image data is not converted from PDF to intermediate data to PDF, eliminating unnecessary processing. Furthermore, the degradation of image quality that accompanies file format conversion is suppressed for the PDF image data to be printed. Therefore, printer 3 can generate high-quality printouts based on the PDF image data.
[0056] If printer 2, which is the actual printer, is selected, pass-through registration is not executed. Therefore, the auxiliary program 42 receives intermediate data from the general-purpose printing program 41. The auxiliary program 42 rasterizes the received intermediate data to generate PDL data that can be processed by printer 2. Rasterization by the auxiliary program 42 corresponding to printer 2 allows greater flexibility than rasterization by the general-purpose printing program 41, and generates print data suitable for printing on printer 2. The print data generated by the auxiliary program 42 may be in a format that can also be used for printing on printers other than the printer 2 model.
[0057] The general-purpose printing program 41 may transmit print data and print commands to the virtual printer 5 or printer 2. In other words, the auxiliary program 42 may pass the generated print data to the general-purpose printing program 41 so that the data is sent from the PC 1 to the virtual printer 5 or printer 2 as the destination. In this case, the general-purpose printing program 41 transmits the print data and the like received from the auxiliary program 42 to the virtual printer 5 or printer 2.
[0058] Next, the procedure of the setting process described above will be explained with reference to the flowchart of Fig. 4. Here, the explanation will be given assuming that the auxiliary program 42 corresponding to the printer 2 performs the setting process of Fig. 4.
[0059] When the auxiliary program 42 receives an instruction to set pass-through registration on a utility screen provided by the auxiliary program 42, for example, the CPU 11 displays a setting screen on the display 13a (S1). The setting screen is a screen for setting whether or not to execute pass-through registration. The setting screen receives, for example, the designation of a file format to be registered as a target for pass-through registration, an instruction to execute pass-through registration, an instruction to cancel pass-through registration, and a completion instruction to complete the setting. The setting screen receives a completion instruction, for example, by operating a completion button.
[0060] The CPU 11 determines whether the pass-through registration setting is complete (S2). If the CPU 11 has not received a completion instruction, it determines that the pass-through registration setting is not complete (S2: NO), and continues to accept the pass-through registration setting.
[0061] When the CPU 11 receives a completion instruction (S2: YES), it stores the setting contents entered on the setting screen in the memory 12 (S3) and ends the setting process. For example, if PDF is specified as the file format to be registered as the target of pass-through registration and an instruction to execute pass-through registration is input, the CPU 11 sets the registration possibility information 46 to ON. Thereafter, for example, if the target of pass-through registration is changed from PDF to another file format on the setting screen, the CPU 11 changes the registration target from PDF to another file format and updates the registration possibility information 46. For example, if an instruction to cancel pass-through registration is received on the setting screen, the CPU 11 sets the registration possibility information 46 to OFF. Also, for example, there are cases where the printer 3 cannot print even PDF files. For example, if, as a result of pass-through registration, a print job containing PDF image data sent directly from the information application 43 to the general-purpose printing program 41 is printed on the printer 3 via the virtual printer 5, an error occurs. By setting the registration possibility information 46 to OFF, the occurrence of the error can be avoided. This is because when the registration availability information 46 is set to OFF, the auxiliary program 42 generates PDF print data that can be processed by the printer 3 (FIG. 3: D13). Note that if there is only one file format that is the target of pass-through registration, it is not necessary to accept the specification of the file format on the setting screen. Also, there may be multiple file formats that are the target of pass-through registration.
[0062] In this embodiment, the path of the registration possibility information 46 to be stored may be determined in advance by the auxiliary program 42, or the path of the registration possibility information 46 to be stored may be specified and the specified path may be registered in the auxiliary program 42. Furthermore, although the registration possibility information 46 is used in this embodiment, the registration possibility information 46 is not essential, and the auxiliary program 42 may operate with pass-through registration always possible.
[0063] As described above, in the PC 1 of this embodiment, when a print instruction is received, the general-purpose printing program 41 typically generates intermediate data from image data to be printed, and the generated intermediate data is passed to the auxiliary program 42. However, if pass-through registration is performed for PDF, which is registered in the general-purpose printing program 41 as a file format for which intermediate data is not generated (A16 in FIG. 2), and if PDF data is the image data to be printed, the general-purpose printing program 41 passes the image data directly to the auxiliary program 42 (D02 in FIG. 3). Therefore, the auxiliary program 42 performs the pass-through registration when the virtual printer 5 is the destination of the print job. As a result, when a print job is submitted to the virtual printer 5, the auxiliary program 42 that performed the pass-through registration sends a print job including PDF image data to the virtual printer 5 (D12, D32 in FIG. 3). As a result, the printer 3 connected to the virtual printer 5 can import and print PDF image data from the virtual printer 5. This procedure allows the image data to be printed to be passed to the virtual printer 5 without being converted to intermediate data, eliminating unnecessary processing and suppressing degradation in image quality.
[0064] Furthermore, the auxiliary program 42 of this embodiment performs pass-through registration at the timing when the virtual printer 5 is selected, which is the timing before a print instruction is input (A16 in FIG. 2). As a result, when a print instruction is given to have the virtual printer 5 print (D01, D02 in FIG. 3), if the image data to be printed is PDF image data, the PDF image data is passed as is from the general-purpose print program 41 to the auxiliary program 42, increasing the possibility that the auxiliary program 42 can send the image data to the virtual printer 5 as PDF.
[0065] (Second embodiment) Next, a second embodiment of the support program and printing system disclosed in this specification will be described. FIG. 5 is a sequence diagram showing an example of the procedure when printing is selected. This embodiment differs from the first embodiment in that if a real printer connected to the virtual printer 5 has a printer that supports PDF, pass-through registration is automatically performed, and registration availability information 46 is not stored in memory 12. Here, differences from the first embodiment will be mainly described. Note that configurations or processes in this embodiment that are common to the first embodiment will be assigned the same reference numerals as in the first embodiment, and descriptions will be omitted as appropriate.
[0066] As shown in FIG. 5, for example, real printer A and real printer B are communicatively connected to virtual printer 5. Virtual printer 5 inquires of a newly connected real printer whether it supports PDF. In response to the inquiry, the real printer replies by informing the virtual printer whether it is a PDF-compatible printer. For example, if at least one of connected real printer A and real printer B supports PDF, virtual printer 5 sets supportability information 51 stored in its internal memory to ON. On the other hand, for example, if all connected real printers do not support PDF, virtual printer 5 sets supportability information 51 stored in its internal memory to OFF. Virtual printer 5 updates supportability information 51 every time a new real printer is connected. Note that the number of real printers connected to virtual printer 5 may be one, three, or more.
[0067] When the virtual printer 5 is selected (A07) and the general-purpose printing program 41 requests processing (A08), the auxiliary program 42A acquires capability information from the virtual printer 5 through A11 to A13. A11 to A13 are an example of the acquisition process.
[0068] When the virtual printer 5 receives the capability information acquisition request from the OS 21 at A12, the virtual printer 5 transmits the capability information including the supportability information 51 to the OS 21.
[0069] The auxiliary program 42A acquires supportability information 51 from the capability information of the virtual printer 5 acquired from the general-purpose printing program 41 (A115). If the selected printer is a virtual printer 5 and the supportability information 51 is set to ON (alt: virtual printer and supportability information ON), the auxiliary program 42A executes pass-through registration for PDF to be registered in the general-purpose printing program 41 (A116). A116 is an example of registration processing. On the other hand, if the selected printer is not a virtual printer 5 but a real printer, or if the supportability information 51 is set to OFF, the auxiliary program 42A does not execute pass-through registration for PDF to be registered in the general-purpose printing program 41. The processing when a print instruction is input with the virtual printer 5 selected is the same as that shown in FIG. 3. However, if the image data passed from the general-purpose printing program 41 is non-PDF intermediate data, the print data generated in D13 is print data in PDL format.
[0070] As described above, in the auxiliary program 42A of this embodiment, if the real printers connected to the virtual printer 5 are compatible with PDF, the real printer compatible with PDF can retrieve and print PDF image data from the virtual printer 5. According to this procedure, the image data to be printed is passed to the virtual printer 5 without being converted into intermediate data, eliminating unnecessary processing and suppressing deterioration in image quality.
[0071] For example, suppose that neither real printer A nor real printer B connected to virtual printer 5 supports PDF. In this case, even if auxiliary program 42A sends print data of image data based on PDF to virtual printer 5, real printers A and B cannot receive and print the print data from virtual printer 5. However, the auxiliary program 42A of this embodiment does not register pass-through if no real printer that supports PDF is connected to virtual printer 5. As a result, for example, if neither real printer A nor real printer B connected to virtual printer 5 supports PDF, PDF image data will not be input to virtual printer 5. This avoids a situation where PDF image data input to virtual printer 5 cannot be printed.
[0072] (Third embodiment) Next, a third embodiment of the support program and printing system disclosed in this specification will be described. FIG. 6 is a sequence diagram showing an example of the procedure when printing is selected. This embodiment differs from the first embodiment in that file formats that are compatible with the real printer connected to the virtual printer 5 are automatically registered as pass-through files to be registered, and registration availability information 46 is not stored in memory 12. Here, the differences from the first embodiment will be mainly described. Note that the same reference numerals as in the first embodiment will be used for configurations or processes in this embodiment that are common to the first embodiment, and descriptions thereof will be omitted as appropriate.
[0073] As shown in FIG. 6, for example, real printers C and D are communicatively connected to virtual printer 5. Virtual printer 5 inquires of newly connected real printers about supported file formats. In response to the inquiry, the real printers respond with their supported file formats. Virtual printer 5 stores, for example, file formats acquired from connected real printers C and D as format information 52 in its internal memory. For example, if real printer C is a printer that can support a first file format X1, while real printer D is a printer that can support a second file format X2 different from the first file format X1, virtual printer 5 stores format information 52 including the first file format X1 and the second file format X2 in its internal memory. Note that the number of real printers connected to virtual printer 5 may be one or three or more. Furthermore, the real printers connected to virtual printer 5 may support the same file format.
[0074] When the virtual printer 5 is selected (A07) and the general-purpose printing program 41 requests processing (A08), the auxiliary program 42B acquires capability information from the virtual printer 5 through A11 to A13. In this case, when the virtual printer 5 receives an acquisition request for capability information from the OS 21 through A12, the virtual printer 5 transmits the capability information including the format information 52 to the OS 21. A11 to A13 are an example of the acquisition process.
[0075] The auxiliary program 42B acquires format information 52 from the capability information of the virtual printer 5 acquired from the general-purpose printing program 41 (A215). The auxiliary program 42B reads the file format included in the format information 52 acquired in A215 (A216). The auxiliary program 42B executes pass-through registration for the general-purpose printing program 41, with the file format read in A216 as the registration target (A217). In this embodiment, pass-through registration is executed with the first file format X1 and the second file format X2 as the registration targets. A217 is an example of registration processing. The processing when a print instruction is input with the virtual printer 5 selected is the same as that shown in FIG. 3. However, if the image data passed from the general-purpose printing program 41 is non-PDF intermediate data, the print data generated in D13 is print data in the first file format X1 or the second file format X2.
[0076] As described above, in the present embodiment, if the first file format X1, which is compatible with real printer C, and the second file format X2, which is compatible with real printer D, are registered in the general-purpose printing program 41 as file formats for which intermediate data is not generated (A217 in FIG. 6), for example, when data in the first file format X1 is image data to be printed, the general-purpose printing program 41 passes the image data to the auxiliary program 42B without converting the file format. Therefore, when submitting a print job to the virtual printer 5, the auxiliary program 42B sends a print job including image data in the first file format X1 to the virtual printer 5 (D12, D32 in FIG. 3). This allows, for example, real printer C connected to the virtual printer 5 to retrieve and print image data in the first file format X1 from the virtual printer 5. This procedure allows the image data to be printed to be passed to the virtual printer 5 without being converted to intermediate data, eliminating unnecessary processing and suppressing degradation in image quality.
[0077] The auxiliary program 42B of this embodiment registers the first file format X1 and the second file format X2 that are compatible with the real printers C and D connected to the virtual printer 5 as pass-through, thereby avoiding a situation where image data in the first file format X1 or the second file format X2 input into the virtual printer 5 cannot be printed.
[0078] (Fourth embodiment) Next, a fourth embodiment of the support program and printing system disclosed in this specification will be described. FIG. 7 is a sequence diagram showing an example of the procedure when a print instruction is received. This embodiment differs from the first embodiment in that pass-through registration is performed when a print instruction is received instead of when a printer is selected, and the processes shown in A11 to A16 in FIG. 2 are not performed when a printer is selected. Here, the differences from the first embodiment will be mainly described. Note that the same reference numerals as in the first embodiment are used for configurations or processes in this embodiment that are common to the first embodiment, and descriptions thereof will be omitted as appropriate.
[0079] When the auxiliary program 42C receives a processing request from the general-purpose printing program 41 in response to a print instruction, as in D01 and D02 of Fig. 7, it acquires capability information from the selected printer (D301 to D303) and identifies the printer based on the capability information (D311). D301 to D303 and D311 are the same processes as A11 to A14 shown in Fig. 2. The auxiliary program 42C identifies the file format of the image data received from the general-purpose printing program 41 (D312).
[0080] If the determination result of D312 is the file format of intermediate data (alt: intermediate data) and the determination result of D311 is virtual printer 5 (alt: virtual printer), the auxiliary program 42C executes pass-through registration with PDF as the registration target (D313). D313 is an example of registration processing. Furthermore, the auxiliary program 42C generates print data in PDF format based on the intermediate data (D13). If the determination result of D312 is the file format of intermediate data (alt: intermediate data) but the determination result of D311 is a real printer, not virtual printer 5 (alt: real printer), the auxiliary program 42C does not execute pass-through registration and generates print data in PDL format based on the intermediate data (D314). If the determination result of D312 is PDF, the auxiliary program 42C does not execute pass-through registration or generate print data. The processing from D31 onwards is the same as that of FIG. 3.
[0081] As described above, when intermediate data is passed while the virtual printer 5 is selected, i.e., when pass-through registration is not performed, the auxiliary program 42C of this embodiment executes pass-through registration for PDF data. As a result, the next time a print instruction is issued for PDF image data while the virtual printer 5 is selected, the PDF image data is passed directly from the general-purpose printing program 41 to the auxiliary program 42, and the auxiliary program 42C sends a print job including the PDF data to the virtual printer 5 (D12, D32 in FIG. 3). This allows the printer 3 connected to the virtual printer 5 to retrieve and print the PDF image data from the virtual printer 5. This procedure allows the image data to be printed to the virtual printer 5 without being converted into intermediate data, eliminating unnecessary processing and suppressing image quality degradation. Furthermore, the general-purpose printing program 41 can omit generating intermediate data for PDF data from the next print instruction.
[0082] In this embodiment, the auxiliary program 42C determines whether pass-through registration has been performed based on whether intermediate data has been received, but it is also possible to memorize that pass-through registration has been performed, or to be able to confirm whether pass-through registration has been performed from the general-purpose printing program 41, so that pass-through registration is performed on the condition that pass-through registration has not been performed.
[0083] The embodiments disclosed in this specification are merely examples and do not limit the present invention in any way. Therefore, the technology disclosed in this specification can naturally be improved and modified in various ways without departing from the spirit and scope of the invention. For example, the device connected to PC 1 is not limited to a printer, but may be any device with a printing function, such as a multifunction device, copier, or fax machine. Furthermore, the number of real printers connected to PC 1 and the number of real printers connected to virtual printer 5 are not limited to the illustrated examples and may be two or more.
[0084] For example, instead of performing pass-through registration when selecting a printer as shown in FIGS. 2, 5, and 6, or when accepting a print instruction as shown in FIG. 7, it may be performed when installing an auxiliary program.
[0085] Alternatively, another program may execute the setting process of FIG. 4 instead of the auxiliary program 42. The setting process shown in FIG. 4 may be omitted, and the registration availability information 46 may not be stored in the memory 12. In this case, the auxiliary program 42 may execute pass-through registration if the selected printer in A07 of FIG. 2 is the virtual printer 5, and may not execute pass-through registration if the selected printer is not the virtual printer 5. However, there is a possibility that only real printers that do not support PDF may be connected to the virtual printer 5. If the setting process of FIG. 4 can be executed, pass-through registration can be set according to the capabilities of the real printer connected to the virtual printer 5. As a result, it is possible to avoid a situation where PDF image data is input to the virtual printer 5, but printing is not possible because a real printer that supports PDF is not connected to the virtual printer 5.
[0086] 3 may be omitted, and information indicating the print settings may not be added to the print job to be sent. However, if the general-purpose print program 41 sends information indicating the print settings to the auxiliary program 42 along with the image data, the auxiliary program 42 can reflect the printer-specific settings in the printing.
[0087] Furthermore, cloud server 6 may be a server installed on the Internet 8 by a manufacturer that provides auxiliary program 42, or may be a commercial server such as OneDrive (registered trademark) or DropBox (registered trademark). Instead of registration availability information 46, memory 12 may store registration availability information only when pass-through registration is set to be performed in the setting process.
[0088] In the embodiment, only the printing operation is described in detail as the operation of the auxiliary program 42, but the auxiliary program 42 may have other roles as well. The program that executes the processing of this embodiment is not limited to the auxiliary program 42, and may be any program that receives instructions from the OS 21 or the general-purpose print program 41 when printing using the general-purpose print program 41. For example, it may be a print workflow application (Print workflow) whose specifications have been made public by Microsoft.
[0089] Furthermore, the execution timing of the auxiliary program 42 is not limited to that of the embodiment. For example, the auxiliary program 42 may be executed in response to a direct execution instruction from the OS 21, or may be a resident auxiliary program 42. If the auxiliary program 42 is resident, it may simply receive an execution command and perform the above-described operation.
[0090] Furthermore, in any flowchart disclosed in the embodiments, the execution order of multiple processes in any multiple steps can be changed or they can be executed in parallel as long as no contradiction occurs in the processing content.
[0091] The processes disclosed in the embodiments may be executed by hardware such as a single CPU, multiple CPUs, or ASIC, or a combination thereof. The processes disclosed in the embodiments may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method. [Explanation of symbols]
[0092] 1...PC, 2...printer, 11...CPU, 21...OS, 41...general-purpose printing program, 42...auxiliary program
Claims
1. A support program that can be executed by a computer of an information processing device and supports a general-purpose printing program that is pre-installed in an operating system of the information processing device, wherein the information processing device can be connected to a virtual printer provided on a server on a network, the server can receive and store print jobs sent to the virtual printer, and the server can send the stored print jobs to a printer connected to the server based on a request from the printer, The computer, When the virtual printer is set as a destination of a print job, a registration process is executed to register a predetermined file format in the general-purpose print program as a file format for which intermediate data is not generated; Furthermore, the computer When a print instruction is output from an application program installed in the information processing device, the print instruction being to cause the general-purpose print program to print an image on the virtual printer, and processing is requested from the general-purpose print program, When the intermediate data is passed from the general-purpose printing program, a process is executed to generate print data based on the passed intermediate data and to transmit a print job including the generated print data to the virtual printer; When image data in the predetermined file format is received from the general-purpose printing program, a process is executed to transmit a print job including the received image data to the virtual printer. A support program configured to:
2. 2. The support program according to claim 1, In the registration process, The PDF is set as the predetermined file format, and the PDF is registered in the general-purpose printing program as a file format for which intermediate data is not generated. A support program configured to:
3. The support program according to claim 1 or 2, The computer, When a process is requested by the general-purpose printing program due to the selection of the virtual printer, the registration process is executed. A support program configured to:
4. The support program according to claim 1 or 2, The computer, executes the registration process when a process is requested from the general-purpose printing program due to the printing instruction output from the application program installed in the information processing device, the printing instruction being to cause the general-purpose printing program to print an image on the virtual printer; A support program configured to:
5. 5. The support program according to claim 1, The computer, Execute a setting process for setting whether or not to execute the registration process; Furthermore, the computer If execution of the registration process is not set in the setting process, execution of the registration process is restricted. A support program configured to:
6. 5. The support program according to claim 1, The computer, executes an acquisition process to acquire capability information indicating the capability of the virtual printer, and the virtual printer that has received the request to transmit the capability information responds by including compatibility information indicating that the specified file format is compatible in the capability information if the connected printers include a printer that supports the specified file format, and responds by not including the compatibility information in the capability information if the connected printers do not include a printer that supports the specified file format; Furthermore, the computer If the capability information acquired in the acquisition process includes the supportable information, the registration process is executed; If the capability information acquired in the acquisition process does not include the supportable information, the registration process is not executed. A support program configured to:
7. 5. The support program according to claim 1, The computer, executes an acquisition process to acquire capability information indicating the capability of the virtual printer, and the virtual printer, upon receiving a request to transmit the capability information, responds by including format information indicating a file format that is compatible with the connected printer in the capability information; Furthermore, the computer and executing the registration process by setting the file format indicated in the format information included in the capability information acquired in the acquisition process as the predetermined file format. A support program configured to:
8. 8. The support program according to claim 1, The process for sending a print job to the virtual printer includes: information indicating print settings is added to the print job to be sent; A support program configured to:
Citation Information
Patent Citations
Data conversion device, data conversion method, and computer-readable storage medium storing program for executing this method in computer
JP2002163087A
Information processing device, control method thereof, and program
JP2013020391A
Information processing system, information processing device, information processing method, and program
JP2015158721A
Printing control apparatus, information processing apparatus, print service system, control method thereof, and program
JP2020047244A
Information processing apparatus, control method, and application program
JP2020107241A