WO2023189413A1 - サポートプログラム - Google Patents

サポートプログラム Download PDF

Info

Publication number
WO2023189413A1
WO2023189413A1 PCT/JP2023/009283 JP2023009283W WO2023189413A1 WO 2023189413 A1 WO2023189413 A1 WO 2023189413A1 JP 2023009283 W JP2023009283 W JP 2023009283W WO 2023189413 A1 WO2023189413 A1 WO 2023189413A1
Authority
WO
WIPO (PCT)
Prior art keywords
printer
program
print
general
information
Prior art date
Application number
PCT/JP2023/009283
Other languages
English (en)
French (fr)
Inventor
仁人 細溝
建樹 成田
Original Assignee
ブラザー工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブラザー工業株式会社 filed Critical ブラザー工業株式会社
Publication of WO2023189413A1 publication Critical patent/WO2023189413A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof

Definitions

  • the technical field disclosed herein relates to a support program that supports printer control.
  • a configuration is known in which a support program is associated with an OS standard general-purpose printing program and printing is realized through cooperation between the general-purpose printing program and the support program.
  • a general-purpose printing program generates intermediate data in XPS format based on image data to be printed
  • a support program generates print data in PDL format based on the intermediate data
  • the print data is
  • the general-purpose printing program After the configuration sent to the printer by the general-purpose printing program or the intermediate data is edited by the support program, the general-purpose printing program generates print data in RWGraster or PDF format based on the edited intermediate data, and the print data
  • a configuration is disclosed in which the information is sent to the printer.
  • a cloud server on the Internet is treated as a virtual printer, a print job is submitted to the virtual printer from an OS-standard general-purpose printing program, and the printer connected to the cloud server takes in the print job and executes printing.
  • PDF data may be input to the cloud server.
  • intermediate data is generated based on the image data to be printed, and print data is further generated based on the intermediate data. Therefore, if the image data to be printed is PDF data, even though the printer can handle the image data, the file format conversion from PDF to intermediate data to print data is performed, resulting in redundant processing. be. Furthermore, there is a possibility that the image quality will deteriorate when converting the file format, so it is preferable to have fewer opportunities to convert the file format.
  • a support program made for the purpose of solving the above-mentioned problems is a support program that is executable by a computer of an information processing device and supports a general-purpose printing program that is pre-installed in the operating system of the information processing device.
  • the information processing device can be connected to a virtual printer provided on a server on a network, and the server can receive and store a print job sent to the virtual printer, and the server can also receive and store a print job sent to the virtual printer.
  • the server is capable of transmitting the stored print job to the printer based on a request from a printer connected to the server, and instructs the computer to specify the virtual printer as a print job destination.
  • the computer executes a registration process for registering a predetermined file format in the general-purpose printing program as a file format that does not generate intermediate data, and further causes the computer to print data output from an application program built into the information processing device.
  • the general-purpose printing program requests processing due to the instruction to cause the general-purpose printing program to print an image on the virtual printer
  • the general-purpose printing program requests the virtual printer to print an image. If intermediate data is passed, generate print data based on the passed intermediate data, execute a process for transmitting a print job including the generated print data to the virtual printer, and perform the general-purpose printing.
  • image data in the predetermined file format is passed from the program, processing for transmitting a print job including the passed image data to the virtual printer is executed.
  • a general-purpose printing program When there is a print instruction, normally a general-purpose printing program generates intermediate data from the image data to be printed, and the generated intermediate data is passed to a support program, but file formats that do not generate intermediate data for certain file formats
  • the general-purpose printing program passes the image data as is to the support program. Therefore, the support program performs the above-mentioned registration when the virtual printer is to be the destination of the print job.
  • the support program sends the print job including image data in a predetermined file format to the virtual printer.
  • a printer connected to the virtual printer can import image data in a predetermined file format from the virtual printer and print it. According to this procedure, the image data to be printed is passed to the virtual printer without being converted into intermediate data, thereby eliminating wasteful processing and suppressing deterioration in image quality.
  • a device and a control method for realizing the functions of the support program, and a computer-readable storage medium that stores the support program are also new and useful.
  • a technology is realized that suppresses deterioration of image quality with a simple processing procedure when a printer prints from an OS standard general-purpose printing program via a cloud print system. be done.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when printing is selected.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when a print instruction is received. It is a flowchart explaining the procedure of setting processing.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when printing is selected.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when printing is selected.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when a print instruction is received.
  • PC personal computer
  • FIG. 1 is a schematic diagram of the printing system 9. As shown in FIG.
  • the printing system 9 includes 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.
  • a virtual printer 5 is provided in the cloud server 6.
  • Printer 2 and printer 3 are actual physical printers, whereas virtual printer 5 is a logical printer that is virtually treated as one printer. Note that hereinafter, for convenience of explanation, an existing physical printer may be referred to as a "real printer.”
  • the printing system 9 is, for example, a system that uses a cloud service provided by Microsoft Corporation, and is a system that realizes universal printing in which printing is performed via the virtual printer 5. That is, the cloud server 6 can be provided by a company other than the printer manufacturer.
  • the Internet 8 is an example of a network.
  • Cloud server 6 is an example of a server. In this embodiment, it is assumed that a real printer capable of handling PDF image data is connected to the virtual printer 5 of the cloud server 6.
  • the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12.
  • PC1 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.
  • user IF user interface
  • communication IF communication interface
  • the controller 10 in FIG. 1 is a general 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.
  • the CPU 11 executes various processes according to the program read from the memory 12 and based on user operations.
  • the memory 12 stores various programs and various data.
  • the memory 12 is also used as a work area when various processes are executed.
  • a buffer included in the CPU 11 is also an example of the memory 12. Note that an example of the memory 12 is not limited to a ROM, RAM, HDD, etc. built into the PC 1, but also a storage medium readable and writable by the CPU 11, such as a recording medium such as a CD-ROM or a DVD-ROM. Also good.
  • the user IF 13 includes hardware that displays a screen to notify the user of information and hardware that accepts operations by the user.
  • the user IF 13 may be a combination of a display 13a that can display information and a mouse, keyboard, etc. that has an input reception function, or may be a touch panel that has the display 13a and an input reception function. .
  • the communication IF 14 includes hardware for communicating with external devices such as the printer 2.
  • the communication standard of the communication IF 14 is Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc.
  • the PC 1 may be connectable to the Internet via the communication IF 14.
  • the PC 1 may include multiple communication IFs 14 that support multiple communication standards.
  • 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”). ) and are memorized.
  • the OS 21 is, for example, Windows (registered trademark).
  • the OS 21 may 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.
  • the PC 1 of this embodiment includes, for example, an information application 43 as various applications.
  • 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 according to a user's request.
  • the information application 43 is an example of an application program. Note that the information application 43 itself does not need to have a function to print the displayed information.
  • the general-purpose printing program 41 is an OS standard program provided together with the OS 21, and has a function of causing the printer 2 or the like to print the information displayed on the display 13a by the information application 43 or the like.
  • the general-purpose printing program 41 of this embodiment is a program that includes a function of generating intermediate data based on image data to be printed.
  • the general-purpose printing program 41 supports functions that can be commonly used by multiple types of printer models provided by various printer vendors. Unlike printer drivers specific to various printers, the general-purpose printing program 41 does not support all of the functions unique to various printers, and only supports general-purpose functions.
  • the auxiliary program 42 is a program or a 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 control of target hardware.
  • the auxiliary program 42 of this embodiment corresponds to the model of the printer 2 connected to the PC 1.
  • the auxiliary program 42 when receiving an instruction to cause the printer 2 to execute printing using the general-purpose printing program 41, corresponds to the model of the printer 2 connected to the PC 1. It is started from the print program 41.
  • the auxiliary program 42 is, for example, a print support application (abbreviation: PSA) or a hardware support application (abbreviation: HSA).
  • auxiliary program 42 may be a combination of a plurality of programs, each of which accepts an execution command, or may be a single program that can execute different processes depending on the command. Further, the auxiliary program 42 may be a program prepared for each type of printer by the printer vendor. For example, an auxiliary program for an inkjet printer and an auxiliary program for a laser printer may be prepared. There may be an auxiliary program prepared not only for each printer type but also for each printer model or printer model series.
  • the PC 1 of this embodiment is connected to the cloud server 6 via the Internet 8, as shown in FIG.
  • 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 print jobs from the PC 1, and when there is a request to send a print job from a real printer, sends the accumulated print job to the real printer. I can do it.
  • the OS 21 When a real printer is connected, the OS 21 registers printer information that is information regarding 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 connectable to the PC 1, just like a real printer.
  • 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. The printer 2 is not connected to the cloud server 6. The printer 3 is communicably connected to the cloud server 6. When connected to the cloud server 6, the printer 3 receives, for example, a print job sent to the virtual printer 5 from the virtual printer 5, and executes printing.
  • the auxiliary program 42 is registered in the general-purpose printing program 41 or the OS 21 as a program that is started based on the selection of the printer 2 at the time of installation.
  • the auxiliary program 42 is also registered in the general-purpose printing program 41 or the OS 21 as a program that is started based on the selection of the virtual printer 5.
  • the auxiliary program 42 of this embodiment has a function of setting whether or not to execute pass-through registration.
  • Pass-through registration is a process of registering a predetermined file format in the general-purpose printing program 41 as a file format that does not generate intermediate data.
  • the predetermined file format is, for example, PDF.
  • registration permission information 46 indicating whether or not to perform pass-through registration is stored in the memory 12.
  • the registration permission information 46 is set to ON when pass-through registration is executed, and set to OFF when pass-through registration is not executed, by a setting process described later. The setting process will be described later.
  • FIG. 2 shows operations when the auxiliary program 42 corresponding to the printer 2 is installed in the PC 1.
  • processing and each processing step in the flowchart and sequence diagram in the following description basically indicates processing by the CPU 11 according to 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.
  • the detailed description of the OS 21 will be omitted and the operation of each program will be explained.
  • acquisition is used as a concept that does not require a request.
  • the user launches the information application 43 (A01).
  • the information application 43 causes the display 13a to display an information screen including various types of information in response to a user's instruction (A02). If the user wants to print an image based on the currently 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 transmits image data to be printed in a file format according to its own capabilities. Therefore, the general-purpose printing program 41 receives image data of an image to be printed in a file format according to the capabilities of the data transmission source, such as the information application 43.
  • the general-purpose printing program 41 displays a general-purpose printing setting screen on the display 13a in response to the display request (A06).
  • the general-purpose print setting screen is a screen that accepts print setting instructions and print execution instructions.
  • the general-purpose print setting screen may display a preview of the data received from the information application 43 in A04.
  • the user can select a printer on the general-purpose print setting screen being displayed (A07). For example, if the selected printer is printer 2 or virtual printer 5, the general-purpose printing program 41 starts the auxiliary program 42 and requests processing corresponding to the printer selection (A08). At A08, the general-purpose printing program 41 passes information on the selected printer and information on print settings that were set at the time of printer selection to the auxiliary program 42.
  • printer 2 is set as the normally used printer in the OS 21, the general-purpose printing program 41 displays the general-purpose printing setting screen with printer 2 selected (A06), and runs the auxiliary program 42. Start it up (A08). That is, the 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 operation A07 by the user is not necessary. The same applies when the virtual printer 5 is set as the normally used printer.
  • the information application 43 displays the general-purpose print setting screen.
  • the information application 43 starts the general-purpose printing program 41 in response to the selection of print in A03, acquires data to be displayed on the general-purpose printing setting screen from the general-purpose printing program 41, and sets the general-purpose printing setting.
  • the screen is displayed on the display 13a.
  • the information application 43 displays information about the selected printer in response to the printer 2 or the virtual printer 5 being selected, or in response to the printer 2 or the virtual printer 5 being selected in A07. It is passed to the general-purpose printing program 41.
  • the general-purpose printing program 41 starts up the auxiliary program 42 at A08.
  • the auxiliary program 42 Upon activation, the auxiliary program 42 requests the OS 21 for capability information of the selected printer (A11). For example, when the printer 2 is selected in A07, the OS 21 receives a request from the auxiliary program 42, transmits an acquisition request requesting capability information to the printer 2, and acquires the capability information from the printer 2 (A12). ). The OS 21 passes the capability information acquired from the printer 2 to the auxiliary program 42 (A13).
  • the OS 21 communicates with the printer 2, for example, by communication according to IPP (abbreviation for internet printing protocol).
  • IPP abbreviation for internet printing protocol
  • the auxiliary program 42 may directly obtain the capability information from the printer 2 using, for example, MIB (abbreviation for Management Information Base).
  • the capability information acquired from the printer 2, which is a real printer, includes information on parameters that can be set as print settings.
  • the capacity information includes, for example, status information, information on the remaining amount of consumables, information on installed trays, paper information on paper set for each tray, and information on compatible print resolutions.
  • the printer 2 also has a function of performing image processing based on the received print job and printing based on the data after image processing, such as aggregate printing such as layout printing (Nin1), composite printing such as watermark, etc. It may also have a function to perform economical printing that saves coloring agents. If the printer 2 has an executable image processing function, the printer 2 may pass information on the function to the OS 21 as capability information.
  • the capability information acquired from the printer 2 may include information indicating post-processing such as stapling of printed matter with staples.
  • the capability information acquired from the printer 2 may include information about 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.
  • the capability information acquired from the printer 2 includes specific information for specifying the printer.
  • An example of specific information is device identification information for identifying a device.
  • Examples of device identification information include a printer-specific hardware key and information possessed by a printer manufactured by a specific printer manufacturer.
  • the capability information acquired from the virtual printer 5 also includes specific information.
  • the specific information does not include device identification information.
  • the specific information acquired from the virtual printer 5 may include identification information for the virtual printer 5. Further, the capability information from the virtual printer 5 may or may not include information on print setting parameters.
  • the acquisition timing and acquisition method of specific information and ability information are the same, but they may be different.
  • the auxiliary program 42 may acquire specific information from the printer 2 and store it in the memory 12 when searching for a device during installation.
  • the auxiliary program 42 may directly obtain either specific information or capability information from the selected printer 2.
  • the auxiliary program 42 that has acquired the capability information performs printer discrimination processing (A14).
  • the printer determination process is a process for determining whether the selected printer is a virtual printer based on specific information included in the capability information. For example, if the specific information received from the general-purpose printing program 41 at A08 includes device identification information, the auxiliary program 42 determines that the selected printer is not the virtual printer 5 but a real printer. On the other hand, if the specific information received from the general-purpose printing program 41 at 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 It is determined that it is the virtual printer 5. Furthermore, the auxiliary program 42 acquires the registration permission information 46 from the memory 12 (A15).
  • the auxiliary program 42 When the selected printer is the virtual printer 5 and the registration permission information 46 is set to ON (alt: virtual printer and registration permission information ON), the auxiliary program 42 performs pass-through registration for PDF. (A16). A16 is an example of registration processing. On the other hand, the auxiliary program 42 does not perform pass-through registration if the selected printer is a real printer or if the registration permission information 46 is set to OFF. In other words, the auxiliary program 42 limits execution of pass-through registration. Note that the auxiliary program 42 may execute processing to cancel pass-through registration.
  • the sequence diagram shown in FIG. 3 shows the operation when an instruction to execute printing is received with the virtual printer 5 selected.
  • the user's instruction to execute printing may be directly input into the general-purpose printing program 41 or may be input into the information application 43 and output from the information application 43 to the general-purpose printing program 41.
  • the general-purpose printing program 41 When the general-purpose printing program 41 receives an instruction to execute printing from the user via the general-purpose printing setting screen in which the virtual printer 5 is selected as the printer for printing (D01), the general-purpose printing program 41 receives image data indicating the image to be printed and , and the print settings received via the general-purpose print settings screen are passed to the auxiliary program 42 (D02).
  • the general-purpose printing program 41 handles image data differently depending on the presence or absence of pass-through registration and the file format of the image data to be printed.
  • the pass-through registration for PDF as the registration target is executed by the auxiliary program 42 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 as is to the auxiliary program 42.
  • the general-purpose printing program 41 Intermediate data is generated by converting the image data format representing the image into the intermediate data format.
  • the general-purpose printing program 41 passes the generated intermediate data to the auxiliary program 42 as image data.
  • the image data included 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.
  • the pass-through registration is stored in association with the auxiliary program 42. Therefore, after pass-through registration by the auxiliary program 42, if a printer associated with the auxiliary program 42 is selected, the pass-through registration becomes valid. On the other hand, if a printer that is not associated with the auxiliary program 42 is selected, its pass-through registration will not be valid.
  • the auxiliary program 42 When the auxiliary program 42 receives image data from the general-purpose printing program 41 in D02, it determines the file format of the image data that has been passed (D11). If the determination result is that the file format is not PDF (alt: non-PDF), the auxiliary program 42 generates print data in the PDF file format based on the intermediate data passed from the general-purpose printing program 41 (D13). On the other hand, if the determination result is PDF, no print data is generated.
  • the auxiliary program 42 adds information indicating print settings to the print job including the PDF image data passed in D02 or the PDF print data generated in D13 (D31).
  • the print settings to be provided 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 number of copies, double-sided printing, color printing, paper feed tray, paper type, paper size, and layout printing (Nin1).
  • the auxiliary program 42 When the auxiliary program 42 receives print settings specific to the printer 2 via the detailed settings screen, it may add the received print settings to the print job.
  • print settings unique to the printer 2 include print settings related to post-processing such as watermarking, economical printing, PIN settings, poster printing, booklet printing, and stapling.
  • the auxiliary program 42 sends the print job to which the print settings have been added, along with a print command instructing execution of printing, to the selected printer (D32).
  • the virtual printer 5 that has received the print data and print command accumulates and stores the print job (D33).
  • the auxiliary program 42 returns a termination notification to the general-purpose printing program 41 (D34).
  • the printer 3 which is a real printer, receives a print job from the cloud server 6 and accepts the selection of the pull print function for printing (E11), it acquires job registration information from the virtual printer 5 (E13).
  • the job registration information is, for example, a list indicating job names of print jobs stored in the virtual printer 5, and is information that does not include print data, print settings, or the like.
  • the printer 3 displays the acquired job registration information (E14).
  • the printer 3 accepts the selection of a print job to be printed from among the job registration information to be displayed, and further receives an instruction to execute the print (E15).
  • the printer 3 acquires 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 is given a print setting that performs economical printing, the printer 3 executes printing while suppressing the amount of colorant used. For example, if the print job is given a print setting that performs stapling, the printer 3 performs a process of stapling the printed paper. As a result, printed matter is generated.
  • the printer 3 may perform authority authentication based on PIN information when connecting to the virtual printer 5, acquiring job registration information, or acquiring a print job.
  • the printer 3 which is a real printer connected to the virtual printer 5, is compatible with PDF. Therefore, when the printer 3 receives a print job including PDF image data at E16, the printer 3 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 the printer 3 is compatible with PDF, the file format of image data is no longer converted from PDF to intermediate data to PDF, and unnecessary processing can be omitted. Further, the image data of the PDF to be printed is suppressed from deteriorating in image quality due to file format conversion. Therefore, the printer 3 can generate high-quality printed matter based on the PDF image data.
  • auxiliary program 42 rasterizes the passed intermediate data and generates PDL data that the printer 2 can process.
  • the print data generated by the auxiliary program 42 may be in a format that can be used for printing with printers other than the printer model 2.
  • the general-purpose printing program 41 may send print data and print commands to the virtual printer 5 or the printer 2. That is, the auxiliary program 42 may pass the generated print data to the general-purpose print program 41 so that it is transmitted from the PC 1 to the virtual printer 5 or printer 2 as the destination. In that case, the general-purpose printing program 41 transmits the print data etc. received from the auxiliary program 42 to the virtual printer 5 or the printer 2.
  • the setting screen is a screen for setting whether or not to perform pass-through registration.
  • the setting screen accepts, for example, a designation of a file format to be subjected to 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 accepts a completion instruction by operating a completion button, for example.
  • the CPU 11 determines whether the settings for pass-through registration are completed (S2). If the CPU 11 does not receive the completion instruction, it determines that the pass-through registration setting is not completed (S2: NO) and accepts the pass-through registration setting as is.
  • the CPU 11 receives the completion instruction (S2: YES), it stores the setting contents input on the setting screen in the memory 12 (S3), and ends the setting process. For example, when PDF is specified as the file format to be subjected to pass-through registration and an instruction to execute pass-through registration is input, the CPU 11 sets the registration permission information 46 to ON. After that, for example, if the pass-through registration target 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 permission information 46. For example, when receiving an instruction to cancel pass-through registration on the setting screen, the CPU 11 sets the registration permission information 46 to OFF. For example, even if it is a PDF, the printer 3 may not be able to print it.
  • a print job containing the image data of the PDF sent from the information application 43 to the general-purpose printing program 41 as it is is sent via the virtual printer 5.
  • the occurrence of the error can be avoided by setting the registration permission information 46 to OFF. This is because when the registration permission 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).
  • the printer 3 FIG. 3: D13
  • the path of the registration permission information 46 as the storage destination may be determined in advance by the auxiliary program 42, or the path of the registration permission information 46 as the storage destination may be specified, and the specified path is transferred to the auxiliary program 42. may be registered.
  • the registration permission information 46 is used in this embodiment, the registration permission information 46 is not essential, and the auxiliary program 42 may operate with pass-through registration always possible.
  • the general-purpose printing program 41 when there is a print instruction, the general-purpose printing program 41 normally generates intermediate data from the image data to be printed, and the generated intermediate data is passed to the auxiliary program 42.
  • pass-through registration is executed to register PDF as a file format that does not generate intermediate data in the general-purpose printing program 41 (A16 in Figure 2), if the PDF data is image data to be printed, the general-purpose The image data is directly passed from the print program 41 to the auxiliary program 42 (D02 in FIG. 3). Therefore, the auxiliary program 42 performs the above-mentioned pass-through registration when the virtual printer 5 is to be the destination of the print job.
  • the auxiliary program 42 that has executed pass-through registration will send the print job including PDF image data to the virtual printer 5 (D12 and D32 in FIG. 3).
  • the printer 3 connected to the virtual printer 5 can import PDF image data from the virtual printer 5 and print it. According to this procedure, the image data to be printed is passed to the virtual printer 5 without being converted into intermediate data, thereby eliminating wasteful processing and suppressing deterioration in image quality.
  • 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).
  • the general-purpose printing program 41 sends the PDF image data to the auxiliary program 42. is passed as is, increasing the possibility that the auxiliary program 42 can send the image data as PDF to the virtual printer 5.
  • FIG. 5 is a sequence diagram showing an example of the procedure when printing is selected.
  • This embodiment is different from the first embodiment in that when a real printer connected to the virtual printer 5 includes a printer that supports PDF, pass-through registration is automatically performed, and the registration permission information 46 is not stored in the memory 12. It differs from the form.
  • differences from the first embodiment will be mainly explained. Note that in this embodiment, the same reference numerals as in the first embodiment are used for configurations or processes that are common to the first embodiment, and explanations thereof will be omitted as appropriate.
  • a real printer A and a real printer B are communicably connected to the virtual printer 5.
  • the virtual printer 5 inquires of the newly connected real printer whether it is compatible with PDF. In response to the inquiry, the actual printer responds by indicating whether or not it is a printer that supports PDF. For example, if at least one of the connected real printers A and B is compatible with PDF, the virtual printer 5 sets ON in the compatibility information 51 stored in the internal memory. On the other hand, if, for example, all the connected real printers are not compatible with PDF, the virtual printer 5 sets OFF in the compatibility information 51 stored in the internal memory. The virtual printer 5 updates the compatibility information 51 every time a new real printer is connected. Note that the number of real printers connected to the virtual printer 5 may be one or three or more.
  • the auxiliary program 42A When the auxiliary program 42A is requested to perform processing by the general-purpose printing program 41 (A08) with the virtual printer 5 selected (A07), the auxiliary program 42A acquires capability information from the virtual printer 5 through A11 to A13.
  • A11 to A13 are examples of acquisition processing.
  • the virtual printer 5 When the virtual printer 5 receives an acquisition request for capability information from the OS 21 at A12, it transmits capability information including the compatibility information 51 to the OS 21.
  • the auxiliary program 42A acquires the compatibility information 51 from the capability information of the virtual printer 5 acquired from the general-purpose printing program 41 (A115).
  • the auxiliary program 42A performs pass-through registration for PDF. is executed on the general-purpose printing program 41 (A116).
  • A116 is an example of registration processing.
  • the auxiliary program 42A performs pass-through registration for PDF. is not executed for 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 PDL format print data.
  • the auxiliary program 42A of the present embodiment is configured such that when there is a printer that supports PDF among the real printers connected to the virtual printer 5, the real printer that supports the PDF converts the image data of the PDF into a virtual printer. It can be imported from the printer 5 and printed. According to this procedure, the image data to be printed is passed to the virtual printer 5 without being converted into intermediate data, thereby eliminating wasteful processing and suppressing deterioration in image quality.
  • auxiliary program 42A sends print data of image data based on PDF to the virtual printer 5
  • the real printers A and B cannot receive the print data from the virtual printer 5 and print it.
  • the auxiliary program 42A of the present embodiment does not perform pass-through registration when a real printer compatible with PDF is not connected to the virtual printer 5. This prevents PDF image data from being input to the virtual printer 5, for example, when neither of the real printers A and B connected to the virtual printer 5 supports PDF. Therefore, a situation in which PDF image data input to the virtual printer 5 cannot be printed is avoided.
  • FIG. 6 is a sequence diagram showing an example of the procedure when printing is selected.
  • This embodiment is different from the first embodiment in that file formats that can be supported by the real printer connected to the virtual printer 5 are automatically pass-through registered as registration targets, and the registration permission information 46 is not stored in the memory 12. It differs from the form.
  • differences from the first embodiment will be mainly explained. Note that in this embodiment, the same reference numerals as in the first embodiment are used for configurations or processes that are common to the first embodiment, and explanations thereof will be omitted as appropriate.
  • a real printer C and a real printer D are communicably connected to the virtual printer 5.
  • the virtual printer 5 inquires of the newly connected real printer about file formats that can be supported. In response to the inquiry, the actual printer responds with file formats that it can handle.
  • the virtual printer 5 stores, for example, the file formats acquired from the connected real printers C and D in its internal memory as format information 52. For example, if the real printer C is a printer compatible with the first file format X1, while the real printer D is a printer compatible with the second file format X2, which is different from the first file format X1,
  • the virtual printer 5 stores format information 52 including a first file format X1 and a second file format X2 in its internal memory. Note that the number of real printers connected to the virtual printer 5 may be one or three or more. Further, the real printers connected to the virtual printer 5 may support the same file format.
  • the auxiliary program 42B When the auxiliary program 42B is requested to perform processing by the general-purpose printing program 41 (A08) with the virtual printer 5 selected (A07), the auxiliary program 42B acquires capability information from the virtual printer 5 through A11 to A13. In this case, upon receiving an acquisition request requesting capability information from the OS 21 at A12, the virtual printer 5 transmits capability information including the format information 52 to the OS 21.
  • A11 to A13 are examples of acquisition processing.
  • the auxiliary program 42B acquires the 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 at A215 (A216).
  • the auxiliary program 42B performs pass-through registration on the general-purpose printing program 41, using the file format read in A216 as a registration target (A217). In this embodiment, pass-through registration is performed for the first file format X1 and the second file format X2.
  • 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. .
  • the auxiliary program 42B of the present embodiment is configured to, for example, create files for which intermediate data is not generated for the first file format X1 compatible with the real printer C and the second file format X2 compatible with the real printer D. If the format is registered in the general-purpose printing program 41 (A217 in FIG. 6), for example, if data in the first file format The format is not converted and is passed as is to the auxiliary program 42B. Therefore, when inputting a print job to the virtual printer 5, the auxiliary program 42B sends the print job including the image data of the first file format X1 to the virtual printer 5 (D12 and D32 in FIG. 3).
  • the real printer C connected to the virtual printer 5 can import image data in the first file format X1 from the virtual printer 5 and print it.
  • the image data to be printed is passed to the virtual printer 5 without being converted into intermediate data, thereby eliminating wasteful processing and suppressing deterioration in image quality.
  • the auxiliary program 42B of this embodiment inputs the first file format X1 and the second file format X2, which are compatible with the real printer C and the real printer D connected to the virtual printer 5, into the virtual printer 5 by pass-through registration. It is possible to avoid a situation in which the image data of the first file format X1 or the second file format X2 cannot be printed.
  • FIG. 7 is a sequence diagram illustrating an example of a 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 accepted instead of when selecting a printer, and the processes shown in A11 to A16 in FIG. 2 are not performed when selecting a printer.
  • differences from the first embodiment will be mainly explained. Note that in this embodiment, the same reference numerals as in the first embodiment are used for configurations or processes that are common to the first embodiment, and explanations thereof will be omitted as appropriate.
  • auxiliary program 42C When the auxiliary program 42C is requested to perform processing by the general-purpose printing program 41 in response to a print instruction, as shown in D01 and D02 in FIG.
  • the printer is discriminated (D311).
  • D301 to D303 and D311 are the same processes as A11 to A14 shown in FIG.
  • the auxiliary program 42C determines the file format of the image data received from the general-purpose printing program 41 (D312).
  • the auxiliary program 42C registers PDF. Pass-through registration is executed (D313).
  • D313 is an example of registration processing.
  • the auxiliary program 42C generates print data in PDF format based on the intermediate data (D13).
  • the auxiliary program 42C performs pass-through registration if the determination result of D312 is an intermediate data file format (alt: intermediate data), but the determination result of D311 is a real printer and not the virtual printer 5 (alt: real printer). , and generates PDL format print data based on the intermediate data (D314). If the determination result in D312 is PDF, the auxiliary program 42C does not perform pass-through registration or generate print data.
  • the processing after D31 is the same as that in FIG.
  • the auxiliary program 42C of this embodiment performs pass-through registration for PDF when intermediate data is passed while the virtual printer 5 is selected, that is, when pass-through registration is not performed. Execute. As a result, the next time there is a print instruction to print PDF image data while the virtual printer 5 is selected, the PDF image data will be passed as is from the general-purpose printing program 41 to the auxiliary program 42. , the auxiliary program 42C sends the print job including the PDF data to the virtual printer 5 (D12 and D32 in FIG. 3). Thereby, the printer 3 connected to the virtual printer 5 can import PDF image data from the virtual printer 5 and print it.
  • the image data to be printed is passed to the virtual printer 5 without being converted into intermediate data, thereby eliminating wasteful processing and suppressing deterioration in image quality. Further, the general-purpose printing program 41 can omit generating intermediate data regarding PDF from the next print instruction.
  • auxiliary program 42C of this embodiment determines whether or not pass-through registration has been performed based on whether or not intermediate data has been received. 41, the pass-through registration may be executed on the condition that the pass-through registration is not performed.
  • the device connected to the PC 1 is not limited to a printer, but may be any device that has a printing function, such as a multifunction device, a copier, or a fax machine.
  • the number of real printers connected to the PC 1 and the number of real printers connected to the virtual printer 5 are not limited to the illustrated example, and may be two or more.
  • the auxiliary program 42 executes pass-through registration if the selected printer is virtual printer 5, and does not execute pass-through registration if the selected printer is not virtual printer 5. You can do it like this. However, there is a possibility that only a real printer that does not support PDF is connected to the virtual printer 5. If the setting process shown in 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, even if PDF image data is input to the virtual printer 5, it is possible to avoid a situation where the real printer corresponding to the PDF is not connected to the virtual printer 5 and therefore cannot be printed.
  • D31 in FIG. 3 may be omitted and information indicating print settings may not be added to the print job to be sent.
  • the general-purpose printing program 41 also sends information indicating print settings to the auxiliary program 42 along with the image data, the auxiliary program 42 can reflect printer-specific settings in printing.
  • the cloud server 6 may be a server installed on the Internet 8 by a manufacturer that provides the auxiliary program 42, or may be a commercial server such as OneDrive (registered trademark) or DropBox (registered trademark). .
  • the memory 12 may store registration permission information only when a setting is made to execute pass-through registration in the setting process.
  • the auxiliary program 42 may have other roles.
  • the program that executes the process 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 printing program 41 when printing using the general-purpose printing program 41.
  • it may be a print workflow application (Print workflow) whose specifications have been published by Microsoft.
  • the execution timing of the auxiliary program 42 is not limited to the example of the embodiment.
  • the program may be executed by receiving a direct execution instruction from the OS 21, or may be a resident auxiliary program 42.
  • the auxiliary program 42 may perform the operations described above upon receiving an execution command.
  • the execution order of the plurality of processes in any plurality of steps can be arbitrarily changed or executed in parallel within the range where there is no inconsistency in the processing contents.
  • processing disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination thereof. Further, the processes disclosed in the embodiments can be realized in various forms such as a recording medium recording a program for executing the processes, or a method.

Abstract

OS標準の汎用印刷プログラムからクラウドプリントシステムを経由してプリンタに印刷を行わせる場合に、シンプルな処理手順で、画質の劣化を抑制すること。 PC1は、補助プログラム42によって、仮想プリンタ5を印刷ジョブの送信先とする場合に、PDFについて中間データを生成しないファイル形式として登録するパススルー登録を実行することが可能である。仮想プリンタ5に印刷を行わせる印刷指示が情報アプリ43から出力された場合、補助プログラム42は、汎用印刷プログラム41から中間データが渡された場合には、渡された中間データに基づいて印刷データを生成し、生成された印刷データを含む印刷ジョブを仮想プリンタ5に送信する。一方、補助プログラム42は、汎用印刷プログラム41からPDFの画像データが渡された場合には、渡されたPDFの画像データを含む印刷ジョブを仮想プリンタ5に送信する。

Description

サポートプログラム
 本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
 近年、プリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
 また、OS標準の汎用印刷プログラムにサポートプログラムを関連付け、汎用印刷プログラムとサポートプログラムとの連携によって印刷を実現する構成が知られている。例えば特許文献1には、汎用印刷プログラムが印刷対象の画像データに基づいてXPS形式の中間データを生成し、サポートプログラムがその中間データに基づいてPDL形式の印刷データを生成し、その印刷データが汎用印刷プログラムによってプリンタに送信される構成、あるいはサポートプログラムがその中間データを編集した後、汎用印刷プログラムがその編集後の中間データに基づいてRWGrasterまたはPDF形式の印刷データを生成し、その印刷データをプリンタに送信する構成が開示されている。
特開2021-056755号公報
 インターネット上のクラウドサーバを仮想プリンタに見立て、OS標準の汎用印刷プログラムからその仮想プリンタに印刷ジョブを投入し、クラウドサーバに接続されたプリンタがその印刷ジョブを取り込んで印刷を実行する、いわゆるクラウドプリントシステムに関する技術がある。このクラウドプリントシステムにおいて、例えばプリンタがPDFに対応可能なモデルである場合、クラウドサーバにはPDFのデータを投入すればよい。しかしながら、汎用印刷プログラムを経由する印刷では、前述したように印刷対象の画像データに基づいて中間データが生成され、さらにその中間データに基づいて印刷データが生成される。そのため、印刷対象の画像データがPDFのデータであった場合、プリンタが画像データに対応できるにもかかわらず、PDF→中間データ→印刷データといったファイル形式の変換が行われることから、処理が冗長である。また、ファイル形式を変換する際に画質が劣化する可能性があり、ファイル形式の変換の機会は少ない方が好ましい。
 上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記情報処理装置は、ネットワーク上のサーバに設けられた仮想プリンタと接続可能であり、前記サーバは、前記仮想プリンタに対して送信された印刷ジョブを受信して記憶することが可能であり、さらに前記サーバは、記憶されている前記印刷ジョブを、前記サーバに接続されるプリンタからの要求に基づいて前記プリンタに送信することが可能であり、前記コンピュータに、前記仮想プリンタを印刷ジョブの送信先とする場合、所定のファイル形式について中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する登録処理を実行させ、さらに前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記仮想プリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、前記汎用印刷プログラムから前記中間データが渡された場合、渡された前記中間データに基づいて印刷データを生成し、生成された前記印刷データを含む印刷ジョブを前記仮想プリンタに送信するための処理を実行させ、前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合、渡された前記画像データを含む印刷ジョブを前記仮想プリンタに送信するための処理を実行させる、ように構成される。
 印刷指示があった場合、通常、汎用印刷プログラムによって印刷対象の画像データから中間データが生成され、生成された中間データがサポートプログラムに渡されるが、所定のファイル形式について中間データを生成しないファイル形式として汎用印刷プログラムに登録されていると、所定のファイル形式のデータが印刷対象の画像データであった場合に、汎用印刷プログラムからその画像データがそのままサポートプログラムに渡される。そこで、サポートプログラムは、仮想プリンタを印刷ジョブの送信先とする場合に、上記の登録を行う。これにより、仮想プリンタに印刷ジョブを投入する際、サポートプログラムは所定のファイル形式の画像データを含む印刷ジョブを仮想プリンタに送信することになる。その結果として、仮想プリンタに接続されるプリンタは、所定のファイル形式の画像データを仮想プリンタから取り込んで印刷できる。この手順によれば、印刷対象の画像データが中間データに変換されることなく仮想プリンタに渡されることになるため、処理の無駄がなくなり、画質の劣化も抑制される。
 上記サポートプログラムの機能を実現するための装置、制御方法、および当該サポートプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
 本明細書に開示される技術によれば、OS標準の汎用印刷プログラムからクラウドプリントシステムを経由してプリンタに印刷を行わせる場合に、シンプルな処理手順で、画質の劣化を抑制する技術が実現される。
印刷システムの概略構成図である。 印刷が選択された場合の手順の例を示すシーケンス図である。 印刷指示を受け付けた場合の手順の例を示すシーケンス図である。 設定処理の手順説明するフローチャートである。 印刷が選択された場合の手順の例を示すシーケンス図である。 印刷が選択された場合の手順の例を示すシーケンス図である。 印刷指示を受け付けた場合の手順の例を示すシーケンス図である。
 以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、OS標準の汎用印刷プログラムからクラウドプリントシステムを経由してプリンタに印刷を行わせる印刷システムを開示する。
(第1実施形態)
 図1は、印刷システム9の概略構成図である。印刷システム9は、PC1とプリンタ2とプリンタ3とを有する。プリンタ2は、インターネット8に接続されていてもよいし、PC1と直接接続されていてもよい。PC1およびプリンタ3は、インターネット8上に設けられたクラウドサーバ6と相互に通信可能である。クラウドサーバ6には仮想プリンタ5が設けられている。プリンタ2およびプリンタ3は、実在する物理的なプリンタであるのに対して、仮想プリンタ5は、仮想的に一台のプリンタとして取り扱われる論理的なプリンタである。なお、以下では、説明の便宜上、実在する物理的なプリンタを「実プリンタ」と称することもある。
 印刷システム9は、例えば、マイクロソフト社によって提供されるクラウドサービスを利用したシステムであり、仮想プリンタ5を経由して印刷を行うユニバーサル印刷を実現するシステムである。すなわち、クラウドサーバ6は、プリンタメーカ以外の会社によって提供可能である。インターネット8はネットワークの一例である。クラウドサーバ6はサーバの一例である。本実施形態では、クラウドサーバ6の仮想プリンタ5には、PDFの画像データに対応可能な実プリンタが接続されているものとする。
 本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
 CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリ12の一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
 ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aと入力受付機能とを備えるタッチパネルであっても良い。
 通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
 PC1のメモリ12には、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、各種のアプリケーションプログラム(以下、「アプリ」とする)と、が記憶されている。OS21は、例えば、Windows(登録商標)である。OS21は、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)であってもよい。補助プログラム42は、サポートプログラムの一例である。
 本形態のPC1には、各種のアプリとして、例えば、情報アプリ43が組み込まれている。情報アプリ43は、例えば、地図アプリ、カレンダアプリ、ブラウザ、であり、ユーザの要求に応じて各種の情報をディスプレイ13aに表示させる機能を備えている。情報アプリ43は、アプリケーションプログラムの一例である。なお、情報アプリ43自身は、表示させた情報を印刷させる機能を備えていなくても良い。
 汎用印刷プログラム41は、OS21とともに提供されるOS標準のプログラムであり、情報アプリ43等によってディスプレイ13aに表示されている情報を、プリンタ2等に印刷させるための機能を有する。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、中間データを生成する機能を含むプログラムである。汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタに固有のプリンタドライバとは異なり、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
 補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするプログラムである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。
 なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラム42は、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
 本形態のPC1は、図1に示すように、インターネット8を介してクラウドサーバ6に接続されている。クラウドサーバ6は、通信機能を備える情報処理装置である。クラウドサーバ6の仮想プリンタ5は、プリンタの1つとしてPC1から印刷ジョブを受信して記憶し、実プリンタから印刷ジョブの送信要求があった場合に、蓄積した印刷ジョブをその実プリンタに送信することができる。
 OS21は、実プリンタが接続されると、その実プリンタに関する情報であるプリンタ情報を登録する。OS21は、例えば、新たな仮想プリンタがPC1に接続された場合、実プリンタと同様、PC1に接続可能なプリンタの1つとしてその仮想プリンタを登録する。
 プリンタ2およびプリンタ3は、少なくとも印刷機能と通信機能とを有する実プリンタである。プリンタ2およびプリンタ3は、印刷データと印刷設定とを外部装置から受信し、印刷設定に従って印刷を行う。プリンタ2はクラウドサーバ6に接続されていない。プリンタ3は、クラウドサーバ6に通信可能に接続されている。プリンタ3は、クラウドサーバ6に接続されている場合、例えば、仮想プリンタ5に送信された印刷ジョブを仮想プリンタ5から受け取り、印刷を実行する。
 補助プログラム42は、インストール時に、プリンタ2の選択に基づいて起動されるプログラムとして、汎用印刷プログラム41あるいはOS21に登録される。また、補助プログラム42は、仮想プリンタ5の選択に基づいて起動されるプログラムとしても、汎用印刷プログラム41あるいはOS21に登録される。
 本実施形態の補助プログラム42は、パススルー登録を実行するか否かを設定する機能を有する。パススルー登録は、所定のファイル形式について中間データを生成しないファイル形式として汎用印刷プログラム41に登録する処理である。所定のファイル形式は例えばPDFである。本実施形態では、パススルー登録を実行するか否かを示す登録可否情報46がメモリ12に記憶されている。登録可否情報46は、後述する設定処理により、パススルー登録を実行する場合にはONを設定され、パススルー登録を実行しない場合にはOFFを設定される。設定処理については後述する。
 次に、本形態の補助プログラム42の動作を含む印刷の手順であって、情報アプリ43にて印刷が選択された場合の各プログラムによる手順について、図2のシーケンス図を参照して説明する。なお、図2および後述する他のシーケンス図では、プリンタ2に対応する補助プログラム42がPC1に組み込まれている場合の動作について示している。
 なお、以下の説明における処理およびフローチャート、シーケンス図の各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
 手順の最初に、ユーザが情報アプリ43を起動する(A01)。情報アプリ43は、ユーザの指示に応じて、各種の情報を含む情報画面をディスプレイ13aに表示させる(A02)。表示中の情報画面に基づく画像を印刷させたい場合、ユーザは、情報画面にて印刷を選択する(A03)。情報アプリ43は、OS21の汎用印刷プログラム41に表示要求と印刷対象の画像データを送る(A04)。情報アプリ43は、自身の能力に応じたファイル形式で印刷対象の画像データを送信する。よって、汎用印刷プログラム41は、情報アプリ43などのデータ送信元の能力に応じたファイル形式で印刷対象となる画像の画像データを受け取る。
 汎用印刷プログラム41は、表示要求がされたことに応じて、汎用印刷設定画面をディスプレイ13aに表示させる(A06)。汎用印刷設定画面は、印刷設定の指示や印刷実行の指示を受け付ける画面である。汎用印刷設定画面は、A04にて情報アプリ43から受け取ったデータをプレビュー表示してもよい。
 ユーザは、表示中の汎用印刷設定画面にて、プリンタの選択を行うことができる(A07)。例えば、選択されたプリンタがプリンタ2あるいは仮想プリンタ5である場合、汎用印刷プログラム41は、補助プログラム42を起動して、プリンタの選択に対応する処理を要求する(A08)。A08では、汎用印刷プログラム41は、選択されたプリンタの情報や、プリンタの選択時に設定されていた印刷設定の情報を、補助プログラム42に渡す。
 なお、汎用印刷プログラム41は、OS21にて通常使用するプリンタとしてプリンタ2が設定されている場合には、プリンタ2が選択された状態で汎用印刷設定画面を表示し(A06)、補助プログラム42を起動する(A08)。すなわち、OS21によってプリンタ2が自動的に選択され、汎用印刷プログラム41は、選択されたプリンタ2の情報に基づいて、A08を実行する。この場合、ユーザによるA07の操作は不要である。通常使用するプリンタとして仮想プリンタ5が設定されている場合も同様である。
 また、汎用印刷プログラム41が汎用印刷設定画面を表示する代わりに、情報アプリ43が汎用印刷設定画面を表示させる構成でも良い。その場合、情報アプリ43は、A03で印刷が選択されたことに応じて汎用印刷プログラム41を起動し、汎用印刷設定画面に表示させるためのデータを汎用印刷プログラム41から取得して、汎用印刷設定画面をディスプレイ13aに表示させる。そして、情報アプリ43は、プリンタ2あるいは仮想プリンタ5が選択されていることに応じて、もしくは、A07にてプリンタ2あるいは仮想プリンタ5が選択されたことに応じて、選択されたプリンタの情報を汎用印刷プログラム41に渡す。これにより、汎用印刷プログラム41は、A08にて、補助プログラム42を起動する。
 補助プログラム42は、起動されたことに応じて、OS21に対して選択されたプリンタの能力情報を要求する(A11)。OS21は、例えば、A07にてプリンタ2が選択された場合、補助プログラム42からの要求を受けて、プリンタ2に能力情報を要求する取得要求を送信し、プリンタ2から能力情報を取得する(A12)。OS21は、プリンタ2から取得した能力情報を補助プログラム42に渡す(A13)。
 OS21は、例えば、IPP(internet printing protocolの略)に応じた通信によって、プリンタ2との通信を行う。なお、補助プログラム42は、OS21に要求する代わりに、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、能力情報を取得しても良い。
 実プリンタであるプリンタ2から取得する能力情報には、印刷設定として設定可能なパラメータの情報が含まれる。また、能力情報には、例えば、ステータス情報、消耗品の残量情報、装着されているトレイの情報、トレイごとに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれる。また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って、画像処理後のデータに基づいて印刷する機能、例えば、割り付け印刷(Nin1)等の集約印刷、ウォータマーク等の合成印刷、着色剤を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を能力情報としてOS21に渡しても良い。プリンタ2から取得する能力情報には、印刷物を針でとめるステープルなどの後処理を示す情報が含まれていてもよい。
 プリンタ2から取得する能力情報には、プリンタ2で処理しないが、補助プログラム42で処理する機能の情報が含まれていてもよい。プリンタ2で処理しないが、補助プログラム42で処理する機能の例としては、小冊子印刷、ポスター印刷がある。
 さらに、プリンタ2から取得する能力情報には、プリンタを特定するための特定情報が含まれている。特定情報の例としては、デバイスを識別するためのデバイス識別情報がある。デバイス識別情報の例としては、プリンタ固有のハードウェアキー、特定のプリンタメーカが製造したプリンタなら持っている情報がある。
 一方、仮想プリンタ5から取得する能力情報にも、特定情報が含まれている。ただし、その特定情報には、デバイス識別情報が含まれているわけではない。仮想プリンタ5から取得する特定情報には、仮想プリンタ5用の識別情報が含まれる場合がある。また、仮想プリンタ5からの能力情報には、印刷設定のパラメータの情報が含まれていてもいなくてもよい。
 本実施形態では特定情報と能力情報の取得タイミングと取得方法が同じであるが、異なってもよい。例えば、補助プログラム42は、インストール時にデバイス検索する際にプリンタ2から特定情報を取得してメモリ12に記憶していてもよい。例えば、補助プログラム42は、特定情報と能力情報との何れか一方を選択されたプリンタ2から直接取得してもよい。
 能力情報を取得した補助プログラム42は、プリンタ判別処理を行う(A14)。プリンタ判別処理は、能力情報に含まれる特定情報に基づいて、選択されたプリンタが仮想プリンタであるか否かを判別するための処理である。補助プログラム42は、例えば、A08にて汎用印刷プログラム41から受け取った特定情報にデバイス識別情報が含まれている場合、選択されたプリンタは、仮想プリンタ5でなく、実プリンタであると判断する。一方、補助プログラム42は、例えば、A08にて汎用印刷プログラム41から受け取った特定情報にデバイス識別情報が含まれていない、あるいは、仮想プリンタ5用の識別情報が含まれる場合、選択されたプリンタは仮想プリンタ5であると判断する。さらに、補助プログラム42は、登録可否情報46をメモリ12から取得する(A15)。
 補助プログラム42は、選択されたプリンタが仮想プリンタ5であり、かつ、登録可否情報46がONを設定されている場合(alt:仮想プリンタかつ登録可否情報ON)、PDFを登録対象とするパススルー登録を実行する(A16)。A16は登録処理の一例である。一方、補助プログラム42は、選択されたプリンタが実プリンタである、または、登録可否情報46がOFFを設定されている場合、パススルー登録を実行しない。つまり、補助プログラム42は、パススルー登録の実行を制限する。なお、補助プログラム42は、パススルー登録を解除する処理を実行してもよい。
 次に、汎用印刷設定画面を介して印刷実行の指示を受け付けた場合の各プログラムによる手順について、図3のシーケンス図を参照して説明する。図3に示すシーケンス図では、仮想プリンタ5が選択された状態で印刷実行の指示を受け付けた場合の動作について示している。なお、ユーザによる印刷実行の指示は、汎用印刷プログラム41に直接入力されてもよいし、情報アプリ43に入力され、情報アプリ43から汎用印刷プログラム41に出力されてもよい。
 汎用印刷プログラム41は、印刷を行うプリンタとして仮想プリンタ5が選択されている汎用印刷設定画面を介して、ユーザによる印刷実行の指示を受け付けた場合(D01)、印刷対象の画像を示す画像データと、汎用印刷設定画面を介して受け付けた印刷設定とを補助プログラム42に渡す(D02)。汎用印刷プログラム41は、パススルー登録の有無や印刷対象の画像データのファイル形式によって、画像データの取り扱いが異なる。
 すなわち、図2のA16にてPDFを登録対象とするパススルー登録が補助プログラム42によって実行され、かつ、図2のA04にて情報アプリ43から受け取った印刷対象の画像データのファイル形式がPDFである場合、汎用印刷プログラム41は、PDFの画像データをそのまま補助プログラム42に渡す。
 一方、図2のA16にてPDFを登録対象とするパススルー登録が補助プログラム42によって実行されていない場合、あるいは、印刷対象の画像データのファイル形式がPDFでない場合、汎用印刷プログラム41は、印刷対象の画像を示す画像データの形式を中間データの形式に変換することで中間データを生成する。汎用印刷プログラム41は、その生成した中間データを画像データとして補助プログラム42に渡す。情報アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間データに変換する。中間データは、例えば、XPSデータである。
 なお、パススルー登録は、補助プログラム42と関連付けて記憶される。そのため、補助プログラム42によるパススルー登録後、補助プログラム42に関連付けられたプリンタが選択されている場合には、そのパススルー登録が有効になる。一方、補助プログラム42に関連付けられていないプリンタが選択されている場合には、そのパススルー登録が有効にならない。
 補助プログラム42は、D02にて汎用印刷プログラム41から画像データを渡されると、渡された画像データのファイル形式を判別する(D11)。補助プログラム42は、判別結果がPDFでないファイル形式である場合(alt:非PDF)、汎用印刷プログラム41から渡された中間データに基づきPDFのファイル形式の印刷データを生成する(D13)。一方、判別結果がPDFの場合、印刷データを生成しない。
 補助プログラム42は、D02にて渡されたPDFの画像データ、あるいは、D13にて生成したPDFの印刷データを含む印刷ジョブに、印刷設定を示す情報を付与する(D31)。付与する印刷設定は、例えば、D02にて汎用印刷プログラム41から受け取った印刷設定である。汎用印刷プログラム41は、汎用的な印刷設定をサポートし、プリンタ固有の印刷設定をサポートしていない。汎用印刷プログラム41がサポートする印刷設定の例としては、部数、両面印刷、カラー印刷、給紙トレイ、用紙種類、用紙サイズ、割り付け印刷(Nin1)などがある。
 補助プログラム42は、詳細設定画面を介してプリンタ2に固有の印刷設定を受け付けた場合、受け付けた印刷設定を印刷ジョブに付与してもよい。プリンタ2に固有の印刷設定の例としては、例えば、ウォータマーク、節約印刷、PIN設定、ポスター印刷、小冊子印刷、ステープルなどの後処理に関する印刷設定がある。
 補助プログラム42は、印刷設定を付与した印刷ジョブを、印刷の実行を指示する印刷コマンドとともに、選択されたプリンタに送信する(D32)。印刷データと印刷コマンドとを受信した仮想プリンタ5は、その印刷ジョブを蓄積して記憶する(D33)。補助プログラム42は、汎用印刷プログラム41に対して終了通知を返す(D34)。
 実プリンタであるプリンタ3は、クラウドサーバ6から印刷ジョブを受信して印刷するプルプリント機能の選択を受け付けると(E11)、仮想プリンタ5からジョブ登録情報を取得する(E13)。ジョブ登録情報は、例えば、仮想プリンタ5に蓄積された印刷ジョブのジョブ名を示すリストであり、印刷データや印刷設定などを含まない情報である。プリンタ3は、取得したジョブ登録情報を表示する(E14)。プリンタ3は、表示するジョブ登録情報の中から、印刷実行対象となる印刷ジョブの選択を受け付け、さらに、印刷実行の指示を受け付ける(E15)。
 すると、プリンタ3は、選択された印刷ジョブを仮想プリンタ5から取得する(E16)。例えば、プリンタ3は、選択された印刷ジョブの送信を仮想プリンタ5に対して要求し、仮想プリンタ5は、要求に応じた印刷ジョブをプリンタ3に送信する。プリンタ3は、仮想プリンタ5から受信した印刷ジョブに基づいて印刷を実行する(E17)。例えば、印刷ジョブが節約印刷を行う印刷設定を付与されている場合、プリンタ3は、着色剤の使用量を抑制して印刷を実行する。また例えば、印刷ジョブがステープルを行う印刷設定を付与されている場合、プリンタ3は、印刷した用紙を針でとめる処理を行う。これにより、印刷物が生成される。なお、プリンタ3は、仮想プリンタ5に接続する際や、ジョブ登録情報を取得する際や、印刷ジョブを取得する際に、PIN情報に基づく権限認証を行ってもよい。
 本実施形態において、仮想プリンタ5に接続する実プリンタであるプリンタ3はPDFに対応可能である。よって、プリンタ3は、E16にて、PDFの画像データを含む印刷ジョブを受信した場合、ファイル形式を変換しなくても、PDFの画像データをそのまま印刷することができる。このように、本実施形態の印刷システム9では、プリンタ3がPDFに対応できる場合に、画像データのファイル形式がPDF→中間データ→PDFのように変換されなくなり、無駄な処理を省略できる。また、印刷されるPDFの画像データは、ファイル形式の変換に伴う画質の劣化が抑制されている。よって、プリンタ3は、PDFの画像データに基づいて、品質のよい印刷物を生成できる。
 実プリンタであるプリンタ2が選択されている場合、パススルー登録が実行されない。そのため、補助プログラム42は、汎用印刷プログラム41から中間データが渡される。補助プログラム42は、渡された中間データをラスタライズして、プリンタ2が処理できるPDLデータを生成する。プリンタ2に対応する補助プログラム42にてラスタライズすることで、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適した印刷データが生成される。補助プログラム42によって生成される印刷データは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
 仮想プリンタ5またはプリンタ2への印刷データや印刷コマンドの送信は、汎用印刷プログラム41が行っても良い。つまり、補助プログラム42は、生成した印刷データを、仮想プリンタ5またはプリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡しても良い。その場合、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データ等を仮想プリンタ5またはプリンタ2に送信する。
 次に、前述した設定処理の手順について、図4のフローチャートを参照して説明する。ここでは、プリンタ2に対応する補助プログラム42が図4の設定処理を行うものとして説明する。
 補助プログラム42は、例えば補助プログラム42によって提供されるユーティリティ画面においてパススルー登録を設定する指示を受け付けると、CPU11が、設定画面をディスプレイ13aに表示させる(S1)。設定画面は、パススルー登録を実行するか否かを設定するための画面である。設定画面は、例えば、パススルー登録の対象となるファイル形式の指定や、パススルー登録を実行する指示や、パススルー登録を解除する指示や、設定を完了する完了指示を受け付ける。設定画面は、例えば、完了ボタンの操作により完了指示を受け付ける。
 CPU11は、パススルー登録の設定が完了したか否かを判断する(S2)。CPU11は、完了指示を受け付けていない場合、パススルー登録の設定が完了していないと判断し(S2:NO)、そのままパススルー登録の設定を受け付ける。
  CPU11は、完了指示を受け付けた場合(S2:YES)、設定画面に入力された設定内容をメモリ12に記憶し(S3)、設定処理を終了する。例えば、パススルー登録の対象となるファイル形式としてPDFを指定し、パススルー登録を実行する指示が入力されている場合、CPU11は、登録可否情報46にONを設定する。その後、例えば、設定画面にて、パススルー登録の対象がPDFから別のファイル形式に変更された場合、CPU11は、登録対象をPDFから別のファイル形式に変更して登録可否情報46を更新する。例えば、設定画面にて、パススルー登録を解除する指示を受け付けた場合、CPU11は、登録可否情報46にOFFを設定する。また例えば、PDFであってもプリンタ3が印刷できない場合があり、例えば、パススルー登録した結果、情報アプリ43から汎用印刷プログラム41に送られたPDFの画像データをそのまま含む印刷ジョブを仮想プリンタ5経由でプリンタ3にて印刷するとエラーが生じるような場合には、登録可否情報46にOFFを設定することで、エラーの発生を回避することができる。登録可否情報46にOFFを設定すると、補助プログラム42がプリンタ3にて処理可能なPDFの印刷データを生成する(図3:D13)ためである。なお、パススルー登録の対象となるファイル形式が1種類である場合、設定画面にてファイル形式の指定を受け付けなくてもよい。また、パススルー登録の対象となるファイル形式は、複数種類であってもよい。
 本実施形態では、記憶先となる登録可否情報46のパスがあらかじめ補助プログラム42によって決められていてもよいし、記憶先の登録可否情報46のパスを指定し、指定されたパスが補助プログラム42に登録されてもよい。また本実施形態では登録可否情報46を用いているが、登録可否情報46は必須なものではなく、常にパススルー登録が可能として補助プログラム42が動作しても良い。
 以上説明したように、本実施形態のPC1は、印刷指示があった場合、通常、汎用印刷プログラム41によって印刷対象の画像データから中間データが生成され、生成された中間データが補助プログラム42に渡されるが、PDFについて中間データを生成しないファイル形式として汎用印刷プログラム41に登録するパススルー登録が実行されていると(図2のA16)、PDFデータが印刷対象の画像データであった場合に、汎用印刷プログラム41からその画像データがそのまま補助プログラム42に渡される(図3のD02)。そこで 補助プログラム42は、仮想プリンタ5を印刷ジョブの送信先とする場合に、上記のパススルー登録を行う。これにより、仮想プリンタ5に印刷ジョブを投入する際、パススルー登録を実行した補助プログラム42はPDFの画像データを含む印刷ジョブを仮想プリンタ5に送信することになる(図3のD12、D32)。その結果として、仮想プリンタ5に接続されるプリンタ3は、PDFの画像データを仮想プリンタ5から取り込んで印刷できる。この手順によれば、印刷対象の画像データが中間データに変換されることなく仮想プリンタ5に渡されることになるため、処理の無駄がなくなり、画質の劣化も抑制される。
 また、本実施形態の補助プログラム42は、印刷指示が入力される前のタイミングである仮想プリンタ5が選択されたタイミングでパススルー登録する(図2のA16)。これにより、仮想プリンタ5に印刷させる印刷指示があった際に(図3D01,D02)、印刷対象の画像データがPDFの画像データであれば、汎用印刷プログラム41から補助プログラム42にPDFの画像データがそのまま渡されることになり、補助プログラム42が画像データをPDFのまま仮想プリンタ5に送信できる可能性が高まる。
(第2実施形態)
 続いて、本明細書にて開示するサポートプログラムおよび印刷システムの第2実施形態について説明する。図5は、印刷が選択された場合の手順の例を示すシーケンス図である。本実施形態は、仮想プリンタ5に接続されている実プリンタにPDFに対応するプリンタがある場合に自動的にパススルー登録し、登録可否情報46をメモリ12に記憶していない点が、第1実施形態と相違する。ここでは、第1実施形態と相違する点を中心に説明する。なお、本実施形態において第1実施形態と共通する構成あるいは処理には、第1実施形態と同じ符号を使用し、説明を適宜省略する。
 図5に示すように、仮想プリンタ5には、例えば、実プリンタAと実プリンタBとが通信可能に接続されている。仮想プリンタ5は、新規に接続される実プリンタに、PDFに対応可能か否かを問い合わせる。実プリンタは、問い合わせに応じて、自装置がPDFに対応するプリンタであるか否かを応答する。仮想プリンタ5は、例えば、接続されている実プリンタAと実プリンタBの少なくとも一方がPDFに対応するプリンタである場合、内部メモリに記憶されている対応可否情報51にONを設定する。一方、仮想プリンタ5は、例えば、接続されている全ての実プリンタがPDFに対応するプリンタでない場合、内部メモリに記憶されている対応可否情報51にOFFを設定する。仮想プリンタ5は、実プリンタが新規に接続される度に対応可否情報51を更新する。なお、仮想プリンタ5に接続する実プリンタの数は、1台でも3台以上でもよい。
 補助プログラム42Aは、仮想プリンタ5が選択された状態で(A07)、汎用印刷プログラム41から処理を要求されると(A08)、A11~A13により、仮想プリンタ5から能力情報を取得する。A11~A13は取得処理の一例である。
 仮想プリンタ5は、A12にてOS21から能力情報を要求する取得要求を受信すると、対応可否情報51を含む能力情報をOS21に送信する。
 補助プログラム42Aは、汎用印刷プログラム41から取得した仮想プリンタ5の能力情報から対応可否情報51を取得する(A115)。補助プログラム42Aは、選択されたプリンタが仮想プリンタ5であり、かつ、対応可否情報51がONを設定されている場合(alt:仮想プリンタかつ対応可否情報ON)、PDFを登録対象とするパススルー登録を汎用印刷プログラム41に対して実行する(A116)。A116は登録処理の一例である。これに対して、補助プログラム42Aは、選択されたプリンタが仮想プリンタ5でなく、実プリンタである場合、または、対応可否情報51がOFFを設定されている場合、PDFを登録対象とするパススルー登録を汎用印刷プログラム41に対して実行しない。仮想プリンタ5が選択された状態で印刷指示が入力された場合の処理は、図3と同様である。ただし、汎用印刷プリグラム41から渡された画像データが非PDFである中間データである場合には、D13にて生成される印刷データはPDL形式の印刷データである。
 以上説明したように、本実施形態の補助プログラム42Aは、仮想プリンタ5に接続されている実プリンタにPDFに対応するプリンタがある場合、そのPDFに対応する実プリンタは、PDFの画像データを仮想プリンタ5から取り込んで印刷できる。この手順によれば、印刷対象の画像データが中間データに変換されることなく仮想プリンタ5に渡されることになるため、処理の無駄がなくなり、画質の劣化も抑制される。
 例えば、仮想プリンタ5に接続されている実プリンタA,Bが何れもPDFに対応しないとする。この場合、補助プログラム42Aが仮想プリンタ5にPDFに基づく画像データの印刷データを送信しても、実プリンタA,Bは仮想プリンタ5からその印刷データを受信して印刷することができない。しかし、本実施形態の補助プログラム42Aは、仮想プリンタ5に、PDFに対応可能な実プリンタが接続されていない場合にパススルー登録しない。これにより、例えば、仮想プリンタ5に接続されている実プリンタA,Bが何れもPDFに対応しない場合に、PDFの画像データが仮想プリンタ5に投入されないようになる。そのため、仮想プリンタ5に投入されたPDFの画像データが印刷できない状況が回避される。
(第3実施形態)
 続いて、本明細書にて開示するサポートプログラムおよび印刷システムの第3実施形態について説明する。図6は、印刷が選択された場合の手順の例を示すシーケンス図である。本実施形態は、仮想プリンタ5に接続されている実プリンタで対応可能なファイル形式を登録対象として自動的にパススルー登録し、登録可否情報46をメモリ12に記憶していない点が、第1実施形態と相違する。ここでは、第1実施形態と相違する点を中心に説明する。なお、本実施形態において第1実施形態と共通する構成あるいは処理には、第1実施形態と同じ符号を使用し、説明を適宜省略する。
 図6に示すように、仮想プリンタ5には、例えば、実プリンタCと実プリンタDとが通信可能に接続されている。仮想プリンタ5は、新規に接続される実プリンタに、対応可能なファイル形式を問い合わせる。実プリンタは、問い合わせに応じて、自装置が対応可能なファイル形式を応答する。仮想プリンタ5は、例えば、接続されている実プリンタCと実プリンタDから取得したファイル形式を形式情報52として内部メモリに記憶している。例えば、実プリンタCは、第1ファイル形式X1に対応可能なプリンタであるのに対して、実プリンタDは、第1ファイル形式X1と異なる第2ファイル形式X2に対応可能なプリンタである場合、仮想プリンタ5は、第1ファイル形式X1と第2ファイル形式X2とを含む形式情報52を内部メモリに記憶する。なお、仮想プリンタ5に接続する実プリンタの数は、1台でも3台以上でもよい。また、仮想プリンタ5に接続する実プリンタは、対応可能なファイル形式が同じであってもよい。
 補助プログラム42Bは、仮想プリンタ5が選択された状態で(A07)、汎用印刷プログラム41から処理を要求されると(A08)、A11~A13により、仮想プリンタ5から能力情報を取得する。この場合において、仮想プリンタ5は、A12にてOS21から能力情報を要求する取得要求を受信すると、形式情報52を含む能力情報をOS21に送信する。A11~A13は取得処理の一例である。
 補助プログラム42Bは、汎用印刷プログラム41から取得した仮想プリンタ5の能力情報から形式情報52を取得する(A215)。補助プログラム42Bは、A215にて取得した形式情報52に含まれるファイル形式を読み込む(A216)。補助プログラム42Bは、A216にて読み込んだファイル形式を登録対象として、パススルー登録を汎用印刷プログラム41に対して実行する(A217)。本実施形態では、第1ファイル形式X1と第2ファイル形式X2を登録対象して、パススルー登録が実行される。A217は登録処理の一例である。仮想プリンタ5が選択された状態で印刷指示が入力された場合の処理は、図3と同様である。ただし、汎用印刷プリグラム41から渡された画像データが非PDFである中間データである場合には、D13にて生成される印刷データは第1ファイル形式X1または第2ファイル形式X2の印刷データである。
 以上説明したように、本実施形態の補助プログラム42Bは、例えば、実プリンタCが対応可能な第1ファイル形式X1と実プリンタDが対応可能な第2ファイル形式X2について、中間データを生成しないファイル形式として汎用印刷プログラム41に登録されていると(図6のA217)、例えば、第1ファイル形式X1のデータが印刷対象の画像データであった場合に、汎用印刷プログラム41からその画像データがファイル形式を変換されずにそのまま補助プログラム42Bに渡される。そこで、仮想プリンタ5に印刷ジョブを投入する際、補助プログラム42Bは第1ファイル形式X1の画像データを含む印刷ジョブを仮想プリンタ5に送信する(図3のD12、D32)。これにより、例えば、仮想プリンタ5に接続されている実プリンタCは、第1ファイル形式X1の画像データを仮想プリンタ5から取り込んで印刷できる。この手順によれば、印刷対象の画像データが中間データに変換されることなく仮想プリンタ5に渡されることになるため、処理の無駄がなくなり、画質の劣化も抑制される。
 本実施形態の補助プログラム42Bは、仮想プリンタ5に接続される実プリンタCと実プリンタDで対応可能な第1ファイル形式X1と第2ファイル形式X2をパススルー登録することで、仮想プリンタ5に投入された第1ファイル形式X1あるいは第2ファイル形式X2の画像データが印刷できない状況を回避できる。
(第4実施形態)
 続いて、本明細書にて開示するサポートプログラムおよび印刷システムの第4実施形態について説明する。図7は、印刷指示を受け付けた場合の手順の例を示すシーケンス図である。本実施形態は、プリンタ選択時に代えて印刷指示の受け付け時にパススルー登録し、プリンタ選択時に、図2のA11~A16に示す処理を行わない点が、第1実施形態と相違する。ここでは、第1実施形態と相違する点を中心に説明する。なお、本実施形態において第1実施形態と共通する構成あるいは処理には、第1実施形態と同じ符号を使用し、説明を適宜省略する。
 補助プログラム42Cは、図7のD01,D02のように、印刷指示により汎用印刷プログラム41から処理を要求された場合、選択されたプリンタから能力情報を取得し(D301~D303)、能力情報に基づいてプリンタを判別する(D311)。D301~D303、D311は、図2に示すA11~A14と同様の処理である。補助プログラム42Cは、汎用印刷プログラム41から受け取った画像データのファイル形式を判別する(D312)。
 補助プログラム42Cは、D312の判別結果が中間データのファイル形式であり(alt:中間データ)、かつ、D311の判別結果が仮想プリンタ5である場合(alt:仮想プリンタ)、PDFを登録対象とするパススルー登録を実行する(D313)。D313は登録処理の一例である。さらに、補助プログラム42Cは、中間データに基づくPDF形式の印刷データを生成する(D13)。補助プログラム42Cは、D312の判別結果が中間データのファイル形式であるが(alt:中間データ)、D311の判別結果が実プリンタであって、仮想プリンタ5でない場合(alt:実プリンタ)、パススルー登録を実行せず、中間データに基づくPDL形式の印刷データを生成する(D314)。補助プログラム42Cは、D312の判別結果がPDFである場合、パススルー登録も、印刷データの生成も行わない。D31以降の処理は、図3と同様である。
 以上説明したように、本実施形態の補助プログラム42Cは、仮想プリンタ5が選択されている状態で中間データが渡された場合、すなわち、パススルー登録されていない場合、PDFを登録対象とするパススルー登録を実行する。これにより、次回、仮想プリンタ5が選択されている状態でPDFの画像データを印刷対象とする印刷指示があった場合に、そのPDFの画像データがそのまま汎用印刷プログラム41から補助プログラム42に渡され、補助プログラム42CはそのPDFデータを含む印刷ジョブを仮想プリンタ5に送信することになる(図3のD12、D32)。これにより、仮想プリンタ5に接続されるプリンタ3は、PDFの画像データを仮想プリンタ5から取り込んで印刷できる。この手順によれば、印刷対象の画像データが中間データに変換されることなく仮想プリンタ5に渡されることになるため、処理の無駄がなくなり、画質の劣化も抑制される。また、汎用印刷プログラム41は、次の印刷指示からはPDFについて中間データの生成を省略できる。
 なお、本形態の補助プログラム42Cは、中間データを受け取ったか否かによってパススルー登録をしたか否かを判断しているが、パススルー登録をしたことを記憶する、あるいはパススルー登録の有無を汎用印刷プログラム41から確認できることで、パススルー登録していないことを条件としてパススルー登録を実行するようにしてもよい。
 なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続される実プリンタの数や仮想プリンタ5に接続される実プリンタの数は、図示の例に限らず、2台以上でも良い。
 例えば、パススルー登録は、図2、図5、図6に示すプリンタ選択時、あるいは、図7に示す印刷指示受け付け時に行う代わりに、補助プログラムのインストール時に行ってもよい。
 また、補助プログラム42の代わりに、別のプログラムが図4の設定処理を実行してもよい。また、図4に示す設定処理を省略し、登録可否情報46がメモリ12に記憶されていなくてもよい。この場合、補助プログラム42は、図2のA07にて、選択されたプリンタが仮想プリンタ5であれば、パススルー登録を実行し、選択されたプリンタが仮想プリンタ5でなければ、パススルー登録を実行しないようにしてもよい。ただし、仮想プリンタ5にはPDFに対応していない実プリンタのみが接続される可能性もある。図4の設定処理を実行できるようにすれば、仮想プリンタ5に接続される実プリンタの能力に応じてパススルー登録が設定できるようになる。その結果、仮想プリンタ5にPDFの画像データが投入されても、PDFに対応する実プリンタが仮想プリンタ5に接続していないため、印刷できないといった状況を回避できる。
 また、図3のD31を省略し、送信対象の印刷ジョブに印刷設定を示す情報を付与しなくてもよい。ただし、汎用印刷プログラム41が印刷設定を示す情報も画像データとともに補助プログラム42に送信することで、補助プログラム42がプリンタ固有の設定を印刷に反映することができる。
 また、クラウドサーバ6は、補助プログラム42を提供するメーカによってインターネット8上に設置されたサーバであってもよいし、OneDrive(登録商標)やDropBox(登録商標)などの商用サーバであってもよい。また、メモリ12は、登録可否情報46に代えて、設定処理にてパススルー登録を実行する設定がされた場合のみ登録可情報を記憶するものであってもよい。
 また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
 また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
 また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
 また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
 1……PC、2……プリンタ、11……CPU、21……OS、41……汎用印刷プログラム、42……補助プログラム

Claims (8)

  1.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記情報処理装置は、ネットワーク上のサーバに設けられた仮想プリンタと接続可能であり、前記サーバは、前記仮想プリンタに対して送信された印刷ジョブを受信して記憶することが可能であり、さらに前記サーバは、記憶されている前記印刷ジョブを、前記サーバに接続されるプリンタからの要求に基づいて前記プリンタに送信することが可能であり、
     前記コンピュータに、
      前記仮想プリンタを印刷ジョブの送信先とする場合、所定のファイル形式について中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する登録処理を実行させ、
     さらに前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記仮想プリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、
       前記汎用印刷プログラムから前記中間データが渡された場合、渡された前記中間データに基づいて印刷データを生成し、生成された前記印刷データを含む印刷ジョブを前記仮想プリンタに送信するための処理を実行させ、
       前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合、渡された前記画像データを含む印刷ジョブを前記仮想プリンタに送信するための処理を実行させる、
     ように構成されるサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
     前記登録処理では、
      PDFを前記所定のファイル形式とし、PDFについて中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する、
     ように構成されるサポートプログラム。
  3. 請求項1または請求項2に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記仮想プリンタが選択されたことによって前記汎用印刷プログラムから処理が要求された場合に、前記登録処理を実行させる、
     ように構成されるサポートプログラム。
  4. 請求項1または請求項2に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記情報処理装置に組み込まれている前記アプリケーションプログラムから出力された前記印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記仮想プリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、前記登録処理を実行させる、
     ように構成されるサポートプログラム。
  5. 請求項1から請求項4のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記登録処理を実行するか否かを設定する設定処理を実行させ、
     さらに前記コンピュータに、
      前記設定処理にて前記登録処理を実行することが設定されていない場合、前記登録処理の実行を制限する、
     ように構成されるサポートプログラム。
  6. 請求項1から請求項4のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記仮想プリンタの能力を示す能力情報を取得する取得処理を実行させ、前記能力情報の送信要求を受信した前記仮想プリンタは、接続されているプリンタに前記所定のファイル形式に対応するプリンタがある場合、前記所定のファイル形式に対応可能であることを示す対応可情報を前記能力情報に含めて応答し、接続されているプリンタに前記所定のファイル形式に対応するプリンタがない場合、前記対応可情報を前記能力情報に含めずに応答し、
     さらに前記コンピュータに、
      前記取得処理にて取得された前記能力情報に前記対応可情報が含まれる場合、前記登録処理を実行させ、
      前記取得処理にて取得された前記能力情報に前記対応可情報が含まれない場合、前記登録処理を実行させない、
     ように構成されるサポートプログラム。
  7. 請求項1から請求項4のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記仮想プリンタの能力を示す能力情報を取得する取得処理を実行させ、前記能力情報の送信要求を受信した前記仮想プリンタは、接続されているプリンタで対応可能なファイル形式を示す形式情報を前記能力情報に含めて応答し、
     さらに前記コンピュータに、
      前記取得処理にて取得された前記能力情報に含まれる前記形式情報に示されるファイル形式を前記所定のファイル形式として、前記登録処理を実行させる、
     ように構成されるサポートプログラム。
  8. 請求項1から請求項7のいずれか1つに記載するサポートプログラムにおいて、
     印刷ジョブを前記仮想プリンタに送信するための前記処理では、
      送信対象の前記印刷ジョブに印刷設定を示す情報が付与される、
     ように構成されるサポートプログラム。
PCT/JP2023/009283 2022-03-28 2023-03-10 サポートプログラム WO2023189413A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022051673A JP2023144608A (ja) 2022-03-28 2022-03-28 サポートプログラム
JP2022-051673 2022-03-28

Publications (1)

Publication Number Publication Date
WO2023189413A1 true WO2023189413A1 (ja) 2023-10-05

Family

ID=88200782

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009283 WO2023189413A1 (ja) 2022-03-28 2023-03-10 サポートプログラム

Country Status (2)

Country Link
JP (1) JP2023144608A (ja)
WO (1) WO2023189413A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163087A (ja) * 2000-11-22 2002-06-07 Ricoh Co Ltd データ変換装置、データ変換方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013002039A (ja) * 2011-06-13 2013-01-07 Kensho Co Ltd 削孔用エアハンマー装置
JP2015158721A (ja) * 2014-02-21 2015-09-03 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2020047244A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 印刷制御装置、情報処理装置、プリントサービスシステム、及びそれらの制御方法、並びにプログラム
JP2020107241A (ja) * 2018-12-28 2020-07-09 キヤノン株式会社 情報処理装置、制御方法及びアプリケーションプログラム
JP2021093079A (ja) * 2019-12-12 2021-06-17 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163087A (ja) * 2000-11-22 2002-06-07 Ricoh Co Ltd データ変換装置、データ変換方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013002039A (ja) * 2011-06-13 2013-01-07 Kensho Co Ltd 削孔用エアハンマー装置
JP2015158721A (ja) * 2014-02-21 2015-09-03 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2020047244A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 印刷制御装置、情報処理装置、プリントサービスシステム、及びそれらの制御方法、並びにプログラム
JP2020107241A (ja) * 2018-12-28 2020-07-09 キヤノン株式会社 情報処理装置、制御方法及びアプリケーションプログラム
JP2021093079A (ja) * 2019-12-12 2021-06-17 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Also Published As

Publication number Publication date
JP2023144608A (ja) 2023-10-11

Similar Documents

Publication Publication Date Title
EP2437157B1 (en) Printing system, printing method, print server, control method, and program
US7304760B2 (en) Providing capabilities matching for cluster printing
JP5719198B2 (ja) プリントシステム、情報処理装置、制御方法、およびプログラム
US20130222829A1 (en) Information processing apparatus, control method, and storage medium
US20110019226A1 (en) Server, printer, and computer readable medium
US8218185B2 (en) Information processing apparatus and information processing method
US20230315361A1 (en) Information processing apparatus, print setting application, and print system
WO2023189413A1 (ja) サポートプログラム
JP7410622B2 (ja) 情報処理装置、情報処理装置の制御方法ならびにプログラム、および当該情報処理装置と通信することのできるサーバシステム
JP2023108440A (ja) サポートプログラム
WO2023190151A1 (ja) サポートプログラム
WO2023181987A1 (ja) サポートプログラムおよび印刷システム
WO2022163430A1 (ja) サポートプログラム
JP2023143184A (ja) サポートプログラムおよび印刷システム
WO2023190149A1 (ja) サポートプログラムおよび印刷システム
WO2022154061A1 (ja) サポートプログラムおよび印刷システム
WO2022163429A1 (ja) サポートプログラム
WO2023176579A1 (ja) サポートプログラム
WO2023140240A1 (ja) サポートプログラム
WO2023190147A1 (ja) サポートプログラム
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
US11520547B2 (en) Image forming apparatus, control method of image forming apparatus, and storage medium
US20240134584A1 (en) Information processing apparatus, method, and non-transitory computer-readable storage medium storing program
WO2023190148A1 (ja) サポートプログラム
US20240069818A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23779437

Country of ref document: EP

Kind code of ref document: A1