WO2023181987A1 - サポートプログラムおよび印刷システム - Google Patents

サポートプログラムおよび印刷システム Download PDF

Info

Publication number
WO2023181987A1
WO2023181987A1 PCT/JP2023/009280 JP2023009280W WO2023181987A1 WO 2023181987 A1 WO2023181987 A1 WO 2023181987A1 JP 2023009280 W JP2023009280 W JP 2023009280W WO 2023181987 A1 WO2023181987 A1 WO 2023181987A1
Authority
WO
WIPO (PCT)
Prior art keywords
print
printer
general
program
setting
Prior art date
Application number
PCT/JP2023/009280
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 WO2023181987A1 publication Critical patent/WO2023181987A1/ja

Links

Images

Classifications

    • 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
    • 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

Definitions

  • the technical field disclosed herein relates to a support program and a printing system that support printer control.
  • 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.
  • Technologies related to cloud print systems are known.
  • Patent Document 1 discloses a configuration in which an extended cloud print service is provided separately from a general-purpose cloud print service, and the extended cloud print service handles settings based on printer-specific functions.
  • 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 providing the computer with specific information identifying the selected printer.
  • a determination process is executed to determine whether the selected printer is the virtual printer based on the specific information acquired in the first acquisition process, and the determination process determines whether or not the selected printer is the virtual printer.
  • a first print setting screen that accepts print settings based on the capability information acquired in the second acquisition process when it is determined that the printer currently being installed is not the virtual printer; a first display process to perform a first display process, and if it is determined in the determination process that the selected printer is the virtual printer, a second display process that accepts print settings based on common capabilities of printers connectable to the server; A second display process for displaying a print setting screen on the display of the information processing apparatus is executed.
  • the support program having such a configuration executes processing for displaying a print setting screen based on the common capabilities of printers connectable to the server.
  • the information processing device that executes the auxiliary program can handle settings based on common capabilities even when a virtual printer is selected, without having to separately prepare a service that handles settings based on printer-specific functions. .
  • a control method, a computer program, and a computer-readable storage medium storing the computer program for realizing the functions of the above device are also new and useful.
  • FIG. 1 is a schematic configuration diagram of a printing system.
  • FIG. 3 is a diagram illustrating a procedure for storing setting data.
  • FIG. 3 is a diagram showing an example of an initial value setting screen.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when printing is selected.
  • FIG. 3 is a diagram illustrating an example of a general-purpose print setting screen.
  • FIG. 7 is a diagram illustrating an example of a general-purpose print setting screen (first print setting screen) that is displayed when no virtual printer is selected.
  • FIG. 7 is a diagram illustrating an example of a general-purpose print setting screen (second print setting screen) that is displayed when a virtual printer is selected.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when a print instruction is received.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when a print instruction is received.
  • FIG. 7 is a sequence diagram illustrating an example of a procedure when printing is selected.
  • FIG. 7 is a sequence diagram illustrating a procedure when detailed settings are selected. It is a figure which shows the example of the 1st detailed setting screen. It is a figure which shows the example of the 2nd detailed setting screen.
  • 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.
  • the Internet 8 is an example of a network.
  • Cloud server 6 is an example of a server.
  • 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.
  • the buffer included in the CPU 11 is also an example of memory. 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.
  • User IF 13 includes an example of a display.
  • 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), 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 OS 21 of the PC 1 can download an appropriate auxiliary program from a server or the like and incorporate it into the PC 1, depending on the type and model of the connected printer.
  • the OS 21 stores the identification information of the installed auxiliary program in the memory 12 in association with the printer information of the newly connected printer.
  • 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 can register 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 virtual printer 5 at the time of installation.
  • the auxiliary program 42 includes common ability information 45.
  • the common capability information 45 may be downloaded by the auxiliary program 42 from the printer manufacturer's server and stored in the memory 12. Further, the common capability information 45 may be downloaded from the virtual printer 5 and stored in the memory 12. In this case, the virtual printer 5 acquires the capabilities of the currently connected real printer in response to a request from the auxiliary program 42, creates executable common capability information 45 based on that capability, and The ability information 45 may be responded to the auxiliary program 42 .
  • the common capability information 45 is information indicating the common capabilities of printers that can be connected to the cloud server 6.
  • extended data 45b based on extended capabilities not supported by the general-purpose printing program 41 is also written in the common capability information 45. It is.
  • the expansion data 45b includes print settings based on common expansion capabilities among the expansion capabilities of printer models or models compatible with the auxiliary program 42.
  • the common capability information 45 may include the contents of print settings that can be set by printers manufactured by different manufacturers as long as the printers are connected to the cloud server 6.
  • the common capability information 45 includes “plain paper” and “envelope” as part of the basic data 45a, and “glossy paper” as part of the extended data 45b.
  • “cloth” is capability information specific to the printer 2 and is not included in the common capability information 45.
  • the extended data 45b includes print settings that can be processed not on the printer side but on the auxiliary program 42 side.
  • print settings that can be processed by the auxiliary program 42 include print settings based on image processing, such as layout printing, booklet printing, poster printing, watermarking, and saving printing.
  • print settings based on processes that can be executed by the auxiliary program 42 include print settings that the auxiliary program 42 can associate with print jobs, such as PIN settings for setting PIN information used for authority authentication. .
  • the printer side does not have the print setting, it may be included in the extended data 45b if the printer side can operate while ignoring the setting. For example, in a case where a printer without a stapling function can eject paper ignoring the stapling setting, the "staple" setting may be included in the extended data 45b.
  • Setting data 46 is stored in the memory 12 of the PC 1.
  • the setting data 46 is data that is set for each setting item written in the common ability information 45 and indicates a setting value that is an initial value.
  • the setting data 46 is stored in the memory 12 by the auxiliary program 42, but may be stored in the memory 12 by a program different from the auxiliary program 42.
  • the configuration data 46 may be a text file or a file in a predetermined format such as json, csv, or xml.
  • the setting data 46 may be prepared by a printer vendor or system administrator to customize printer operation, or may be prepared by an individual user to improve convenience.
  • processing and each processing step in the flowchart and sequence diagram in the following embodiment basically shows 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 CPU 11 When the auxiliary program 42 receives an instruction to set an initial value on the utility screen of the auxiliary program 42, for example, the CPU 11 causes the initial value setting screen to be displayed on the display 13a (S1).
  • the initial value setting screen is a screen for accepting input of setting values to be written in the setting data 46.
  • S1 is an example of setting processing.
  • FIG. 3 is a diagram showing an example of the initial value setting screen D4.
  • the initial value setting screen D4 includes an initial value setting area 71 and a completion button SW31.
  • the initial value setting area 71 is an area for setting initial values for each setting item of print settings.
  • the completion button SW31 is an operator that accepts a completion instruction to complete input of setting values.
  • the initial value setting area 71 includes an item name display field 711, a writability setting field 712, and a setting value input field 713.
  • the item name display column 711 displays the item name of the print settings written in the common ability information 45.
  • the item name display column 711 for example, as shown at 241 in the figure, the name of a setting item based on the basic data 45a is displayed, and as shown at 242 in the figure, the item name of a setting item based on the extended data 45b is displayed. is displayed.
  • the write permission setting field 712 is a setting field for setting whether or not to write the setting value as an initial value on the general-purpose print setting screen. In the writability setting field 712, either "allow”, which allows writing as an initial value, or "disable”, which does not permit writing as an initial value, can be set.
  • the setting value input field 713 is an input field for setting a setting value to be written as an initial value.
  • settable parameters written in the common ability information 45 for each item are displayed.
  • a check box is provided for each parameter, allowing the user to select the parameter to be set as an initial value.
  • the setting value input field 713 in addition to parameters based on the basic data 45a, parameters based on the extended data 45b of the printer 2 as shown at 261 in the figure are displayed.
  • the CPU 11 determines whether the initial value setting is completed (S2). For example, if the completion button SW31 is not operated and a completion instruction is not received, the CPU 11 determines that the initial value setting is not completed (S2: NO) and accepts the initial value setting as is.
  • the CPU 11 stores the contents input on the initial value setting screen D4 as the setting data 46 in the memory 12 (S3), and sets the initial value. Finish the setting process. For example, as shown in FIG. 2B, the CPU 11 stores setting data by associating the setting value selected in the setting value input field 713 with the setting item for which "permitted" is set in the write permission setting field 712. 46 is generated and stored in the memory 12.
  • the processing in S3 is an example of storage processing.
  • the CPU 11 stores this setting content in the memory 12 as setting data 46, as shown in FIG. 2(b). That is, the CPU 11 generates setting data 46 that lists setting values to be displayed as initial values, and stores it in the memory 12.
  • the path of the setting data 46 to be stored may be determined in advance by the auxiliary program 42, or the path of the setting data 46 to be stored may be specified, and the specified path is registered in the auxiliary program 42. may be done.
  • the path of the setting data 46 to be stored may be determined in advance by the auxiliary program 42, or the path of the setting data 46 to be stored may be specified, and the specified path is registered in the auxiliary program 42. may be done.
  • the path of the setting data 46 to be stored may be determined in advance by the auxiliary program 42, or the path of the setting data 46 to be stored may be specified, and the specified path is registered in the auxiliary program 42. may be done.
  • FIG. 2(b) for items whose setting values are not written in the setting data 46, nothing is written in the setting data 46.
  • information indicating that no setting value has been written may be written in the setting data 46.
  • FIG. 4 shows operations when the auxiliary program 42 corresponding to the printer 2 is installed in the PC 1.
  • 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 wishes to print the image of the information screen being displayed, the user selects print on the information screen (A03).
  • the information application 43 sends a display request and information screen data to the general-purpose printing program 41 of the OS 21 (A04).
  • 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 settings screen D2 includes a printer selection field 51 that accepts printer selection, a notification field 52 that displays a notification image, and a print settings field 53 that accepts various print settings. , a preview field 54 that shows an image of the information screen to be printed, a detailed settings button SW2 that accepts instructions to perform detailed print settings, and a print button SW3 that accepts instructions to execute printing.
  • printers registered in the OS 21 are displayed in a selectable manner. For example, if printer 2 and virtual printer 5 are registered in the OS 21, printer 2 and virtual printer 5 are displayed in the printer selection column 51 so that they can be selected.
  • the print setting field 53 displays print setting items for functions supported by the general-purpose printing program 41, and can accept print setting values. Examples of items that can be set via the print setting field 53 include number of copies, print orientation, double-sided printing, paper size, paper feed tray, print range, paper type, color, borderless printing, scaling, and print quality (resolution). There is. In the print setting field 53, in order to facilitate print settings, only main items may be displayed, and other items may be additionally displayed when other settings are operated.
  • the notification image displayed in the notification column 52 is an image showing the content of the notification to be notified to the user.
  • the notification image may include, for example, text, a still image, a video, or a combination thereof.
  • the user can select a printer by operating the printer selection field 51 on the general-purpose print setting screen D2 being displayed (A07).
  • the general-purpose printing program 41 starts the auxiliary program 42 and requests processing corresponding to the printer selection (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 when printer 2 is set as a normally used printer in the OS 21, the general-purpose printing program 41 displays the general-purpose printing setting screen D2 with printer 2 selected, as shown in FIG. 5, for example. It is displayed (A06), and the auxiliary program 42 is started (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 D2.
  • 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 D2 from the general-purpose printing program 41, and prints the general-purpose printing.
  • the setting screen D2 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 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.
  • A11 to A13 are examples of the first acquisition process and the second acquisition process.
  • 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 ability information performs judgment processing (A15).
  • the determination process is a process of determining whether the printer selected on the general-purpose print setting screen D2 is the virtual printer 5, based on the capability information acquired from the general-purpose printing program 41 in A08.
  • the auxiliary program 42 determines that the selected printer is a real printer (alt: real printer). In other words, the auxiliary program 42 determines that the selected printer is not the virtual printer 5. In this case, the auxiliary program 42 generates the first display data using the capability information of the printer 2 acquired in A11 to A13 (A21).
  • the first display data is data for additionally displaying the contents of setting items of print settings that reflect the capability information acquired from the selected printer 2 on the general-purpose print settings screen D2.
  • the auxiliary program 42 passes the generated first display data to the general-purpose printing program 41 (A22).
  • the general-purpose printing program 41 displays a general-purpose printing setting screen D2 as shown in FIG. 6 on the display 13a according to the first display data received from the auxiliary program 42 (A23).
  • A21 and A22 are examples of the first display process.
  • the general-purpose print setting screen D2 shown in FIG. 6 is an example of the first print setting screen.
  • the capability information obtained from printer 2 can set "Cloth” and "Glossy Paper” in the "Paper Type” field, "Additional Tray” can be set in the “Paper Source Tray” field, and "Layout Printing” can be set in the "Paper Type” field.
  • ⁇ poster printing,'' and ⁇ economy printing'' settings are included as expanded capabilities.
  • the general-purpose print setting screen D2 shown in FIG. 6 additionally displays print settings based on these expanded capabilities with respect to the general-purpose print setting screen D2 based on the general-purpose print program 41 shown in FIG.
  • the general-purpose print setting screen D2 shown in FIG. 6 additionally displays the items "allocation printing,” “poster printing,” and “economy printing,” as shown by arrows 120, 121, and 122 in the figure.
  • the general-purpose print setting screen D2 shown in FIG. 6 when the list button 113 for "paper type” is operated, setting parameters "cloth” and “glossy paper” shown by arrows 123 in the figure are additionally displayed in the list box 112. be done.
  • the setting parameter "Additional tray” indicated by an arrow 124 is additionally displayed in the list box 112.
  • the auxiliary program 42 reads the common ability information 45 and the setting data 46 from the memory 12 (A31, A32).
  • the auxiliary program 42 generates second display data using the read common ability information 45 and setting data 46 (A33).
  • the second display data is data for displaying the contents of setting items of print settings based on the common capability information 45 on the general-purpose print setting screen D2.
  • the auxiliary program 42 passes the generated second display data to the general-purpose printing program 41 (A34).
  • the general-purpose printing program 41 displays a general-purpose printing setting screen D2 as shown in FIG. 7 on the display 13a according to the received second display data (A35).
  • A33 and A34 are examples of second display processing.
  • the general-purpose print setting screen D2 shown in FIG. 7 is an example of the second print setting screen.
  • the extended data 45b of the common ability information 45 allows setting of "glossy paper” in the "Paper type” item, "Layout printing”, “Poster printing”, “Booklet printing”, “Watermark”, “Economic printing”, It is assumed that information that can be set regarding "PIN settings” is included.
  • the general-purpose print setting screen D2 shown in FIG. 7 The following items are additionally displayed. Furthermore, in the general-purpose print setting screen D2 shown in FIG. 7, "glossy paper” is additionally displayed in the "paper type” list box 112 with respect to the general-purpose print setting screen D2 based on the general-purpose print program 41 shown in FIG. .
  • initial values are displayed for each item based on, for example, the setting data 46 shown in FIG. 2(b).
  • the setting data 46 shown in FIG. 2(b) For example, in the general-purpose print setting screen D2 shown in FIG. 5 or 6, there is no limit to the "number of copies.”
  • the default values for the "Paper Tray”, “Color Printing”, “Duplex Printing”, and “Layout Printing” items are "Automatic Selection”, “Color”, “Single-Sided Printing", and "Standard (1 in 1)". is displayed as.
  • a limit of "1 to 10" is set for the "number of copies” as shown by an arrow 141 in the figure, based on the setting data 46 shown in FIG. 2(b). It is being In addition, as shown by arrows 142, 143, and 144 in the figure, the initial values for the items “Paper Tray”, “Color Printing”, and “Duplex Printing” include “Tray 2", “Monochrome”, and “Duplex Printing”. ' is displayed. In addition, the initial values based on the setting data 46 for the expansion capabilities of "layout printing", “poster printing”, “economy printing”, and "PIN setting” are as shown by arrows 145, 146, 147, and 133 in the figure. Displayed. In the PIN setting field, the PIN information input in the PIN information setting field 715 of the initial value setting screen D4 shown in FIG. 3 is displayed.
  • FIG. 8 shows a process when the print button SW3 is operated on the general-purpose print setting screen D2 shown in FIG. 7, which is displayed when the virtual printer 5 is selected.
  • Intermediate data is generated by converting the image data format representing the image into an intermediate data format (D02), and the generated intermediate data is passed to the auxiliary program 42 (D03).
  • 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. Note that if the image data to be printed is data suitable for generating print data, generation of intermediate data may be omitted and the intermediate data may be used as is.
  • the intermediate data is, for example, XPS data.
  • the auxiliary program 42 processes the intermediate data by reflecting the print settings set in the auxiliary program 42 on the intermediate data received in D03 (D04). For example, if there is a print setting to add a watermark, the auxiliary program 42 combines the watermark with the intermediate data.
  • the auxiliary program 42 rasterizes the processed intermediate data and generates print data representing the image to be printed (D05).
  • the print data generated in D05 is, for example, PDL data that can be handled by the virtual printer 5.
  • the auxiliary program 42 sends the print data generated in D05 to the virtual printer 5 along with a print command instructing execution of printing (D06).
  • D06 is an example of transmission processing. If there is image processing that the virtual printer 5 has decided to perform, the auxiliary program 42 generates a print command that also includes information about that processing. The auxiliary program 42 may further notify the general-purpose printing program 41 that the transmission of print data has ended (D08).
  • the virtual printer 5 that has received the print data and print command accumulates and stores the print job (D07).
  • the virtual printer 5 stores the print job in association with the PIN information attached to the print data.
  • the printer 3 When the printer 3 receives a print job from the cloud server 6 and accepts selection of the pull print function for printing (D11), it displays a PIN input screen and accepts input of PIN information (D12).
  • the printer 3 that has received the input of the PIN information acquires job registration information from the virtual printer 5 (D13).
  • 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. In the job registration information, each job name is associated with PIN information associated with the print job.
  • the printer 3 extracts and displays the job name corresponding to the PIN information received in D12 from the received job registration information (D14). For example, when the printer 3 accepts the selection of a job name through a touch operation (D15), the printer 3 acquires the print job corresponding to the selected job name by receiving it from the virtual printer 5 (D16), and adds the print job to the acquired print job. Printing based on the information is executed (D17). For example, if a print job includes print data including a watermark and print settings for executing economized printing, printed matter with the watermark is generated with the amount of coloring material used suppressed. D16 and D17 are examples of print processing.
  • the printer 3 receives all job names of print jobs stored in the cloud server 6 as job registration information.
  • the printer 3 requests the cloud server 6 to send job registration information with PIN information attached, and obtains and displays a list of job names corresponding to the PIN information from the cloud server 6 as job registration information. You may.
  • the auxiliary program 42 when the auxiliary program 42 receives a print instruction via the general-purpose print setting screen D2 shown in FIG. 6 with printer 2, which is a real printer, selected (A08), and when virtual printer 5 is selected, Similarly, the processes D02 to D05 are executed, and print data and print commands are sent to the printer 2 (D06).
  • the auxiliary program 42 generates print data in a format that can be used for printing by the printer 2.
  • the auxiliary program 42 generates PDL data dedicated to the printer 2.
  • the printer 2 receives the print command and print data in D06, it executes printing.
  • 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 generate the print data.
  • the auxiliary program 42 may pass the intermediate data processed in D04 and print execution information to the general-purpose printing program 41, and the general-purpose printing program 41 may rasterize the intermediate data to generate print data.
  • the general-purpose printing program 41 passes the generated print data to the auxiliary program 42.
  • the auxiliary program 42 receives print data from the general-purpose printing program 41, it sends the print data received from the general-purpose printing program 41 to the virtual printer 5 or the printer 2 together with a print command instructing execution of printing.
  • the print data generated by the general-purpose printing program 41 is print data in a format that can be used for printing with various printers, and is, for example, PWGRaster data or PDF data. If rasterization is performed by the general-purpose printing program 41, the amount of processing required by the auxiliary program 42 is reduced, an increase in processing time can be expected to be avoided, and the program size of the auxiliary program 42 can be suppressed.
  • 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. In this case, the process by which the auxiliary program 42 passes print data and the like to the general-purpose print program 41 is an example of the transmission process.
  • the auxiliary program 42 of this embodiment displays the general print setting screen D2 (see FIG. 7) based on the common capabilities of printers that can connect to the cloud server 6. Execute the process to do so.
  • the PC 1 executing the auxiliary program 42 can store the common capability information 45 (including the extended data 45b) without separately preparing a service that handles settings based on printer-specific functions. )-based settings.
  • the auxiliary program 42 is not limited to a specific printer model, but can exert the capabilities of various printer models that can be connected to the virtual printer 5.
  • auxiliary program 42 of the present embodiment takes the printer selection shown at A08 in FIG. , input of print settings that match the common capability information 45 of the real printers connected to the virtual printer 5 can be immediately accepted.
  • the auxiliary program 42 of this embodiment provides an initial value setting screen D4 for writing initial setting values into the setting data 46, so that printer vendors, system administrators, and individual users can configure settings according to their purposes. Easy to edit initial values.
  • the initial value setting screen D4 is prepared as a dedicated screen, but the initial value setting screen D4 may be provided as a part of the detailed setting screen D3 (see FIGS. 11 and 12), which will be described later.
  • the auxiliary program 42 provides an icon that instructs to display the initial value setting screen D4 on the detailed setting screen D3 (see FIGS. 11 and 12), which will be described later.
  • a setting screen D4 may be displayed.
  • the auxiliary program 42 may accept settings for writability for each item displayed on a detailed setting screen D3 (see FIGS. 11 and 12), which will be described later.
  • the auxiliary program 42 can start the initial value setting screen D4 at any timing and edit the initial values.
  • FIG. 9 is a sequence diagram showing an example of the procedure when printing is selected.
  • This embodiment differs from the first embodiment in that when the virtual printer 5 is selected, a detailed setting screen reflecting the common capability information 45 is displayed on the display 13a.
  • 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.
  • the auxiliary program 42A Capability information is acquired from the virtual printer 5 (A11 to A13).
  • the auxiliary program 42A stores the capability information acquired from the virtual printer 5 in the memory 12 (A51).
  • the capability information stored in A51 includes, for example, information indicating an appropriate combination of print settings.
  • the general-purpose printing program 41 When the auxiliary program 42A responds to the general-purpose printing program 41 (A52), the general-purpose printing program 41 displays general-purpose initial values for the general-purpose printing program 41 on the general-purpose printing setting screen D2 (A53). On the general-purpose print setting screen D2, as shown in FIG. 5, instructions for detailed settings can be accepted using the detailed settings button SW2.
  • the general-purpose printing program 41 starts the auxiliary program 42A (B02) based on a detailed setting instruction from the user (B01).
  • the general-purpose printing program 41 passes the print settings set in the print setting field 53 of the general-purpose print setting screen D2 in FIG. 4 to the auxiliary program 42A, and requests processing.
  • the auxiliary program 42A reads the ability information from the memory 12 (B04) and performs judgment processing (B05). The determination process of B05 is performed in the same manner as A15 of FIG.
  • the auxiliary program 42A determines that the selected printer is the virtual printer 5 (alt: virtual printer)
  • the auxiliary program 42A reads the common capability information 45 from the memory 12 (B31) and stores the details based on the common capability information 45 shown in FIG.
  • the setting screen D3 is displayed on the display 13a (B32).
  • the detailed setting screen D3 shown in FIG. 12 reflects the common capability information 45 similarly to the general print setting screen D2 shown in FIG. 7, so a detailed description thereof will be omitted.
  • B32 is an example of reception processing.
  • the auxiliary program 42A reads the setting data 46 from the memory 12 (B33) and reflects the setting data 46 on the detailed setting screen D3 shown in FIG. 12 (B34). Since the reflection of the setting data 46 is the same as the general-purpose print setting screen D2 shown in FIG. 7, a detailed explanation will be omitted.
  • the process B32 is an example of the second display process.
  • the detailed setting screen D3 shown in FIG. 12 is an example of the second print setting screen.
  • the auxiliary program 42A receives an instruction to complete detailed settings (B42).
  • the auxiliary program 42A edits the print settings by reflecting the detailed print settings received via the detailed settings screen D3 on the print settings received from the general-purpose print program 41 in B02 (B43).
  • the auxiliary program 42A passes the edited print settings to the general-purpose print program 41 (B44).
  • the general-purpose printing program 41 reflects the edited print settings on the general-purpose print setting screen D2 in FIG. 4 (B45).
  • the auxiliary program 42A may read only the extended data 45b of the common capability information 45 from the memory 12 at B31, and display the detailed setting screen D3 based only on the extended data 45b at B33. In this case, the contents of the basic capability-based print settings that overlap with the general print settings screen D2 are no longer displayed on the detailed settings screen D3, making the detailed settings screen D3 easier to see.
  • the auxiliary program 42A when displaying the detailed setting screen D3 based on the common capability information 45 on the display 13a, the auxiliary program 42A performs print settings based on the basic data 45a and the extended data 45b on one detailed setting screen D3. It is possible and convenient.
  • the auxiliary program 42A when the auxiliary program 42A receives a processing request from the general-purpose printing program 41 with the printer 2 selected (B01, B02), the auxiliary program 42A stores the capability information corresponding to the printer 2 from the memory 12. is read out (B04) and judgment processing is performed (B05).
  • the auxiliary program 42A determines that the selected printer is not the virtual printer 5 but a real printer (alt: real printer), it displays a detailed setting screen D3 based on the capability information of the printer 2 shown in FIG. 11 on the display 13a. (B11).
  • the detailed setting screen D3 shown in FIG. 11 reflects the capability information of the printer 2 similarly to the general print setting screen D2 shown in FIG. 6, so a detailed description thereof will be omitted.
  • the process B11 is an example of the first display process.
  • the detailed setting screen D3 shown in FIG. 11 is an example of the first print setting screen. Note that FIG. 11 shows a detailed setting screen D3 in a state in which a restriction process, which will be described later, is not executed.
  • the auxiliary program 42A receives parameter settings for each item via the user IF 13 (B13).
  • information indicating an appropriate combination of print settings is included in the capability information acquired from the printer 2.
  • the virtual printer 5 is not set as the printer to be selected and the detailed setting screen D3 reflecting the capability information shown in FIG. Acceptance of settings can be restricted (B14 in FIG. 10).
  • printer 2 has tray 1 and tray 2 and can feed envelopes from tray 1 but cannot feed envelopes from tray 2.
  • auxiliary program 42A sets "envelope” in the "paper type” item shown by arrow 321 on the detailed setting screen D3 in FIG. "Tray 2" shown in the table is hidden, and settings for Tray 2 are not accepted.
  • auxiliary program 42 Such restrictions also apply to print settings that can be processed by the auxiliary program 42.
  • poster printing is a printing method in which an image to be printed is divided and printed on paper. Therefore, when the auxiliary program 42A sets "Yes” to the "poster printing” item shown by the arrow 323 on the detailed setting screen D3 in FIG. 11, the "double-sided printing” item shown by the arrow 324 in the figure Display only "One-sided printing” and do not accept the "Double-sided printing” setting as a parameter. Note that the manner in which acceptance of settings is restricted may be grayed out instead of hidden.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in FIG. 12 that is displayed when the virtual printer 5 is selected.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in FIG. 12 that is displayed when the virtual printer 5 is selected.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in FIG. 12 that is displayed when the virtual printer 5 is selected.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in FIG. 12 that is displayed when the virtual printer 5 is selected.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in FIG. 12 that is displayed when the virtual printer 5 is selected.
  • the auxiliary program 42A does not perform the restriction process shown in B14 in FIG. 10 on the detailed setting screen D3 shown in
  • the auxiliary program 42A of this embodiment displays the detailed setting screen D3 (see FIG. 12) based on the common capabilities of printers that can connect to the cloud server 6. Execute the processing for As a result, even if the virtual printer 5 is selected, the PC 1 that executes the auxiliary program 42A can use the common capability information 45 or the extended data 45b without separately preparing a service that handles settings based on printer-specific functions. Can handle settings.
  • the auxiliary program 42A of this embodiment displays the common ability information 45 shown in FIG. A detailed setting screen D3 based on the screen is displayed. Therefore, the user can display the detailed setting screen D3 based on the common ability information 45 shown in FIG. 12 on the display 13a at the timing when the user wants to handle the settings based on the common ability information 45.
  • 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 printers connected to the PC 1 is not limited to the illustrated example, and may be two or more.
  • the general-purpose print setting screen D2 shown in FIG. 5 may accept a display instruction to display the detailed setting screen D3 using an object such as a link instead of the detailed setting button SW2.
  • the process of B14 in FIG. 10 may be omitted.
  • printer 2 which is a real printer
  • errors in printer 2 can be suppressed by restricting acceptance of print settings for settings that cannot be set based on the capability information.
  • the virtual printer 5 it is unknown which printer will ultimately print, and it is not possible to determine whether the settings are acceptable or not, so the restriction process is not executed. Thereby, the processing load on the auxiliary program 42A can be reduced.
  • the processes of A32 in FIG. 4 and B33 and B34 in FIG. 10 are omitted, and the general print setting screen D2 shown in FIG. 7 or the detailed setting screen D3 shown in FIG. 12 is displayed when the virtual printer 5 is selected.
  • the general-purpose printing setting screen D2 or detailed setting screen D3 displays the initial value setting data 46 in addition to displaying items and parameters corresponding to the extended data 45b.
  • the selection of whether to write setting values into the setting data 46 may be made all at once, rather than for each print setting item.
  • the writability setting field 712 shown in FIG. 3 may be omitted and one writability setting button may be provided on the initial value setting screen D4.
  • the setting data 46 can distinguish between items that are commonly used and items that are not commonly used when the virtual printer 5 is selected. This will increase operational freedom.
  • the auxiliary program 42 includes information for not accepting print settings that are not an appropriate combination in the first display data in A21.
  • the first display data may be passed to the general-purpose printing program 41 in A22.
  • the auxiliary program 42 does not include information for not accepting print settings that are not an appropriate combination in the second display data at A33 in FIG. Such a restriction may not be applied in D2.
  • the auxiliary program 42 may execute the process of reflecting the common capabilities on the detailed setting screen D3 during detailed settings as shown in FIG.
  • the cloud server 6 provided with the virtual printer 5 may be a server connected to a LAN or WAN.
  • 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

シンプルな構成で、プリンタ固有の機能に基づく設定を扱うことを可能にする。 PC1は、OS21標準の汎用印刷プログラム41と補助プログラム42とを有する。PC1は、補助プログラム42によって、選択されているプリンタを特定する特定情報と、プリンタの能力を示す能力情報とを取得する。さらに、PC1は、汎用印刷プログラム41から処理が要求された際、補助プログラム42によって取得された特定情報に基づいて、選択されているプリンタが仮想プリンタ5であるか否かを判断し、選択されているプリンタが仮想プリンタ5でない場合には、能力情報に基づく印刷設定を受け付ける第1印刷設定画面をディスプレイ13aに表示させ、選択されているプリンタが仮想プリンタ5である場合には、クラウドサーバ6に接続可能なプリンタの共通能力に基づく印刷設定を受け付ける第2印刷設定画面をディスプレイ13aに表示させる。

Description

サポートプログラムおよび印刷システム
 本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムおよび印刷システムに関する。
 近年、プリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
 また、インターネット上のクラウドサーバを仮想プリンタに見立て、OS標準の汎用印刷プログラムからその仮想プリンタに印刷ジョブを投入し、クラウドサーバに接続されたプリンタがその印刷ジョブを取り込んで印刷を実行する、いわゆるクラウドプリントシステムに関する技術が知られている。クラウドプリントシステムの技術としては、例えば特許文献1に、汎用クラウドプリントサービスとは別に拡張クラウドプリントサービスを設け、拡張クラウドプリントサービスによってプリンタ固有の機能に基づく設定を扱う構成が開示されている。
特開2021-86426号公報
 OS標準の汎用印刷プログラムでは、標準的な印刷設定しか対応しておらず、プリンタ固有の機能に基づく設定は対応していないという問題がある。そのため、汎用印刷プログラムからクラウドプリントシステムを経由して印刷を行う場合も、プリンタ固有の機能に基づく設定を扱うことが難しい。特許文献1に開示されているような、拡張クラウドプリントサービスを別途用意することでプリンタ固有の機能に基づく設定を扱う場合、設備が大がかりになり易く、コストアップを招き易い。
 上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記情報処理装置は、ネットワーク上のサーバに設けられた仮想プリンタと接続可能であり、前記サーバは、前記仮想プリンタに対して送信された印刷ジョブを受信して記憶することが可能であり、さらに前記サーバは、記憶されている前記印刷ジョブを、前記サーバに接続されるプリンタからの要求に基づいて前記プリンタに送信することが可能であり、前記コンピュータに、選択されているプリンタを特定する特定情報を取得する第1取得処理と、前記選択されているプリンタの能力を示す能力情報を取得する第2取得処理と、を実行させ、さらに前記コンピュータに、前記汎用印刷プログラムから処理が要求された場合に、前記第1取得処理にて取得された前記特定情報に基づいて、前記選択されているプリンタが前記仮想プリンタであるか否かを判断する判断処理を実行させ、前記判断処理にて前記選択されているプリンタが前記仮想プリンタでないと判断された場合に、前記第2取得処理にて取得された前記能力情報に基づく印刷設定を受け付ける第1印刷設定画面を、前記情報処理装置のディスプレイに表示させる第1表示処理を実行させ、前記判断処理にて前記選択されているプリンタが前記仮想プリンタであると判断された場合に、サーバに接続可能なプリンタの共通能力に基づく印刷設定を受け付ける第2印刷設定画面を、前記情報処理装置の前記ディスプレイに表示させる第2表示処理を実行させる。
 このような構成を有するサポートプログラムは、仮想プリンタが選択されている場合、サーバに接続可能なプリンタの共通能力に基づく印刷設定画面を表示するための処理を実行する。これにより、補助プログラムを実行する情報処理装置は、仮想プリンタが選択されている場合でも、プリンタ固有の機能に基づく設定を扱うサービスを別途用意することなく、共通能力に基づく設定を扱うことができる。
 上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
 本明細書に開示される技術によれば、OS標準の汎用印刷プログラムからクラウドプリントシステムを経由してプリンタに印刷を行わせる場合に、シンプルな構成で、プリンタ固有の機能に基づく設定を扱うことが可能になる技術が実現される。
印刷システムの概略構成図である。 設定データを記憶する手順を説明する図である。 初期値設定画面の例を示す図である。 印刷が選択された場合の手順の例を示すシーケンス図である。 汎用印刷設定画面の例を示す図である。 仮想プリンタが選択されていない場合に表示される汎用印刷設定画面(第1印刷設定画面)の例を示す図である。 仮想プリンタが選択されている場合に表示される汎用印刷設定画面(第2印刷設定画面)の例を示す図である。 印刷指示を受け付けた場合の手順の例を示すシーケンス図である。 印刷が選択された場合の手順の例を示すシーケンス図である。 詳細設定が選択された場合の手順を説明するシーケンス図である。 第1詳細設定画面の例を示す図である。 第2詳細設定画面の例を示す図である。
 以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「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はサーバの一例である。インターネット8はネットワークの一例である。クラウドサーバ6はサーバの一例である。
 本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
 CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
 ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aと入力受付機能とを備えるタッチパネルであっても良い。ユーザIF13は、ディスプレイの一例を含む。
 通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
 PC1のメモリ12には、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、各種のアプリケーションプログラム(以下、「アプリ」とする)と、が記憶されている。OS21は、例えば、Windows(登録商標)、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のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプやモデルに応じて、適切な補助プログラムをサーバ等からダウンロードしてPC1に組み込むことができる。OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。
 本形態の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は、インストール時に、仮想プリンタ5の選択に基づいて起動されるプログラムとして、汎用印刷プログラム41あるいはOS21に登録されている。補助プログラム42には、共通能力情報45が組み込まれている。
 共通能力情報45は、補助プログラム42に組み込まれる代わりに、補助プログラム42がプリンタメーカのサーバからダウンロードしてメモリ12に記憶したものであってもよい。また、共通能力情報45は、仮想プリンタ5からダウンロードしてメモリ12に記憶したものであってもよい。この場合、仮想プリンタ5は、補助プログラム42からの要求に応じて、現在接続されている実プリンタの能力を取得し、その能力に基づいて実行可能な共通能力情報45を作成し、作成した共通能力情報45を補助プログラム42に応答してもよい。
 共通能力情報45は、クラウドサーバ6に接続可能なプリンタの共通能力を示す情報である。共通能力情報45には、汎用印刷プログラム41でサポートされている基本能力に基づく印刷設定が書き込まれた基本データ45aの他、汎用印刷プログラム41でサポートされていない拡張能力に基づく拡張データ45bも書き込まれている。
 拡張データ45bには、補助プログラム42が対応可能なモデルあるいは機種のプリンタの拡張能力のうち共通する拡張能力に基づく印刷設定が含まれている。なお、共通能力情報45は、クラウドサーバ6に接続されるプリンタであれば、異なるメーカによって製造されたプリンタが設定可能な印刷設定の内容を含んでいてもよい。
 例えば、「用紙種類」の項目について、基本能力では「普通紙」と「封筒」を設定でき、プリンタ3の拡張能力では「光沢紙」を設定でき、プリンタ2の拡張能力では「光沢紙、「布」を設定でき、他のモデルの異なる実プリンタの拡張能力においても「光沢紙」を設定できるとする。この場合、共通能力情報45は、「普通紙」と「封筒」を基本データ45aの一部として含み、「光沢紙」を拡張データ45bの一部として含む。一方、「布」はプリンタ2固有の能力情報であり、共通能力情報45には含まれない。
 また、拡張データ45bには、プリンタ側ではなく補助プログラム42側で処理可能な印刷設定が含まれている。補助プログラム42が処理可能な印刷設定の例としては、例えば、割り付け印刷、小冊子印刷、ポスター印刷、ウォータマーク、節約印刷など画像処理に基づく印刷設定がある。また、補助プログラム42が実行可能な処理に基づく印刷設定の例としては、権限認証に用いるPIN情報を設定するためのPIN設定など、補助プログラム42が印刷ジョブに対応付けることが可能な印刷設定がある。また、プリンタ側ではその機能を有していない印刷設定であっても、その設定をプリンタ側で無視しつつ動作可能であれば拡張データ45bに含まれていてもよい。例えばステープル機能がないプリンタがステープルの設定を無視して用紙を排出できるような場合、「ステープル」の設定が拡張データ45bに含まれていてもよい。
 PC1のメモリ12には、設定データ46が記憶されている。設定データ46は、共通能力情報45に書き込まれた設定項目ごとに設定され、初期値とされる設定値を示すデータである。本実施形態において、設定データ46は、補助プログラム42によってメモリ12に記憶させるが、補助プログラム42と別のプログラムによってメモリ12に記憶させてもよい。設定データ46は、テキストファイルでもよいし、jsonやcsvやxmlのような決められた形式のファイルでもよい。設定データ46は、プリンタのベンダやシステム管理者がプリンタの運用のカスタマイズのために用意したものであってもよいし、ユーザ個人が利便性の向上のために用意したものであってもよい。
 次に、設定データ46をメモリ12に記憶する初期値設定の手順について、図2(a)のフローチャートを参照して説明する。ここでは、プリンタ2に対応する補助プログラム42が図2(a)に示す初期値設定処理を行うものとして説明する。
 なお、以下の実施形態における処理およびフローチャート、シーケンス図の各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
 補助プログラム42は、例えば補助プログラム42のユーティリティ画面において初期値を設定する指示を受け付けると、CPU11が、初期値設定画面をディスプレイ13aに表示させる(S1)。初期値設定画面は、設定データ46に書き込まれる設定値の入力を受け付けるための画面である。S1は設定処理の一例である。
 図3は、初期値設定画面D4の一例を示す図である。初期値設定画面D4には、初期値設定領域71と、完了ボタンSW31とを備えている。初期値設定領域71は、印刷設定の設定項目ごとに初期値を設定するための領域である。完了ボタンSW31は、設定値の入力を完了する完了指示を受け付ける操作子である。
 初期値設定領域71は、項目名表示欄711と、書き込み可否設定欄712と、設定値入力欄713とを備えている。項目名表示欄711には、共通能力情報45に書き込まれている印刷設定の項目名が表示されている。項目名表示欄711には、例えば、図中241に示すように、基本データ45aに基づく設定項目の項目名が表示され、図中242に示すように、拡張データ45bに基づく設定項目の項目名が表示されている。
  
 書き込み可否設定欄712は、設定値を初期値として汎用印刷設定画面に書き込むか否かを設定するための設定欄である。書き込み可否設定欄712には、初期値としての書き込みを許可する「可」と、初期値としての書き込みを許可しない「不可」との何れかを設定できる。
 設定値入力欄713は、初期値として書き込まれる設定値を設定するための入力欄である。設定値入力欄713には、共通能力情報45に項目ごとに書き込まれた設定可能なパラメータが表示されている。各パラメータには、チェックボックスが設けられ、初期値として設定するパラメータを選択できるようになっている。設定値入力欄713には、基本データ45aに基づくパラメータの他、図中261に示すようなプリンタ2の拡張データ45bに基づくパラメータが表示される。
 図2(a)に戻り、CPU11は、初期値の設定が完了したか否かを判断する(S2)。CPU11は、例えば、完了ボタンSW31が操作されず、完了指示を受け付けていない場合、初期値の設定が完了していないと判断し(S2:NO)、そのまま初期値の設定を受け付ける。
  CPU11は、例えば、完了ボタンSW31が操作され、完了指示を受け付けた場合(S2:YES)、初期値設定画面D4に入力された内容を設定データ46としてメモリ12に記憶し(S3)、初期値設定処理を終了する。CPU11は、例えば、図2(b)に示すように、書き込み可否設定欄712において「可」が設定された設定項目に、設定値入力欄713にて選択された設定値を関連付けることにより設定データ46を生成し、メモリ12に記憶する。S3の処理は記憶処理の一例である。
 例えば、着色剤や用紙の節約を促進する場合、図3において、「部数」、「両面印刷」、「カラー印刷」、「割り付け印刷」、「節約印刷」の項目について、書き込み可否設定欄712に「可」を設定する。そして、「部数」の項目に「制限あり(1以上10以下)」を設定し、「両面印刷」の項目にパラメータとしての「両面印刷」を設定し、「カラー印刷」の項目に「モノクロ」を設定し、「割り付け印刷」の項目に「2in1」を設定し、「節約印刷」の項目に「する」を設定する。CPU11は、図2(b)に示すように、この設定内容を設定データ46としてメモリ12に記憶する。つまり、CPU11は、初期値として表示する対象となる設定値を列記した設定データ46を生成し、メモリ12に記憶する。
 本実施形態では、記憶先となる設定データ46のパスがあらかじめ補助プログラム42によって決められていてもよいし、記憶先の設定データ46のパスを指定し、指定されたパスが補助プログラム42に登録されてもよい。本実施形態では、図2(b)に示すように、設定値を設定データ46に書き込まない項目については、設定データ46に何も書き込まない。あるいは、設定値が書き込まれていないことを示す情報が設定データ46に書き込まれてもよい。
 次に、本形態の補助プログラム42の動作を含む印刷の手順であって、情報アプリ43にて印刷が選択された場合の各プログラムによる手順について、図4のシーケンス図を参照して説明する。なお、図4および後述する他のシーケンス図では、プリンタ2に対応する補助プログラム42がPC1に組み込まれている場合の動作について示している。
 手順の最初に、ユーザが情報アプリ43を起動する(A01)。情報アプリ43は、ユーザの指示に応じて、各種の情報を含む情報画面をディスプレイ13aに表示させる(A02)。表示中の情報画面の画像を印刷させたい場合、ユーザは、情報画面にて印刷を選択する(A03)。情報アプリ43は、OS21の汎用印刷プログラム41に表示要求と情報画面のデータを送る(A04)。
 汎用印刷プログラム41は、表示要求がされたことに応じて、汎用印刷設定画面をディスプレイ13aに表示させる(A06)。汎用印刷設定画面は、印刷設定の指示や印刷実行の指示を受け付ける画面である。
 例えば、図5に示すように、汎用印刷設定画面D2には、プリンタの選択を受け付けるプリンタ選択欄51と、通知画像を表示する通知欄52と、各種の印刷設定の指定を受け付ける印刷設定欄53と、印刷対象となる情報画面の画像を示すプレビュー欄54と、詳細な印刷設定を行う指示を受け付ける詳細設定ボタンSW2と、印刷実行の指示を受け付ける印刷ボタンSW3と、が含まれる。
 プリンタ選択欄51には、OS21に登録されているプリンタが選択可能に表示される。例えば、プリンタ2と仮想プリンタ5とがOS21に登録されている場合、プリンタ2と仮想プリンタ5とがプリンタ選択欄51に選択可能に表示される。
 印刷設定欄53は、汎用印刷プログラム41がサポートする機能について印刷設定の項目が表示され、印刷設定値を受け付けることができる。印刷設定欄53を介して設定可能な項目の例としては、部数、印刷向き、両面印刷、用紙サイズ、給紙トレイ、印刷範囲、用紙種類、カラー、ふちなし印刷、拡縮、印刷品質(解像度)がある。印刷設定欄53では、印刷設定を容易にするため、主要な項目だけを表示し、その他の設定を操作した場合に、他の項目を追加表示するようにしてもよい。
 通知欄52に表示される通知画像は、ユーザに通知する通知内容を示す画像である。通知画像は、例えば、テキスト、静止画像、動画を含んでも良く、これらの組み合わせであっても良い。
 図4に示すように、ユーザは、表示中の汎用印刷設定画面D2にて、プリンタ選択欄51への操作を行うことでプリンタの選択を行うことができる(A07)。例えば、選択されたプリンタがプリンタ2あるいは仮想プリンタ5である場合、汎用印刷プログラム41は、補助プログラム42を起動して、プリンタの選択に対応する処理を要求する(A08)。A08では、汎用印刷プログラム41は、選択されたプリンタの情報や、プリンタの選択時に設定されていた印刷設定の情報を、補助プログラム42に渡す。
 なお、汎用印刷プログラム41は、OS21にて通常使用するプリンタとしてプリンタ2が設定されている場合には、例えば、図5に示すように、プリンタ2が選択された状態で汎用印刷設定画面D2を表示し(A06)、補助プログラム42を起動する(A08)。すなわち、OS21によってプリンタ2が自動的に選択され、汎用印刷プログラム41は、選択されたプリンタ2の情報に基づいて、A08を実行する。この場合、ユーザによるA07の操作は不要である。通常使用するプリンタとして仮想プリンタ5が設定されている場合も同様である。
 また、汎用印刷プログラム41が汎用印刷設定画面D2を表示する代わりに、情報アプリ43が汎用印刷設定画面D2を表示させる構成でも良い。その場合、情報アプリ43は、A03で印刷が選択されたことに応じて汎用印刷プログラム41を起動し、汎用印刷設定画面D2に表示させるためのデータを汎用印刷プログラム41から取得して、汎用印刷設定画面D2をディスプレイ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で処理しないが、補助プログラム42で処理する機能の情報が含まれていてもよい。プリンタ2で処理しないが、補助プログラム42で処理する機能の例としては、小冊子印刷、ポスター印刷がある。
 さらに、プリンタ2から取得する能力情報には、プリンタを特定するための特定情報が含まれている。特定情報の例としては、デバイスを識別するためのデバイス識別情報がある。デバイス識別情報の例としては、プリンタ固有のハードウェアキー、特定のプリンタメーカが製造したプリンタなら持っている情報がある。
 一方、仮想プリンタ5から取得する能力情報にも、特定情報が含まれている。ただし、その特定情報には、デバイス識別情報が含まれているわけではない。仮想プリンタ5から取得する特定情報には、仮想プリンタ5用の識別情報が含まれる場合がある。A11~A13は、第1取得処理および第2取得処理の一例である。
 本実施形態では特定情報と能力情報の取得タイミングと取得方法が同じであるが、異なってもよい。例えば、補助プログラム42は、インストール時にデバイス検索する際にプリンタ2から特定情報を取得してメモリ12に記憶していてもよい。例えば、補助プログラム42は、特定情報と能力情報との何れか一方を選択されたプリンタ2から直接取得してもよい。
 能力情報を取得した補助プログラム42は、判断処理を行う(A15)。判断処理は、A08にて汎用印刷プログラム41から取得した能力情報に基づいて、汎用印刷設定画面D2にて選択されているプリンタが仮想プリンタ5であるか否かを判断する処理である。
 補助プログラム42は、例えば、A08にて汎用印刷プログラム41から受け取った特定情報にデバイス識別情報が含まれている場合、選択されたプリンタは実プリンタであると判断する(alt:実プリンタ)。つまり、補助プログラム42は、選択されたプリンタが仮想プリンタ5でないと判断する。この場合、補助プログラム42は、A11~A13にて取得したプリンタ2の能力情報を用いて第1表示データを生成する(A21)。第1表示データは、選択されたプリンタ2から取得した能力情報を反映した印刷設定の設定項目の内容を、汎用印刷設定画面D2に追加表示するためのデータである。
 補助プログラム42は、生成した第1表示データを汎用印刷プログラム41に渡す(A22)。汎用印刷プログラム41は、補助プログラム42から受け取った第1表示データに従って、図6に示すような汎用印刷設定画面D2をディスプレイ13aに表示する(A23)。A21、A22は第1表示処理の一例である。図6に示す汎用印刷設定画面D2は、第1印刷設定画面の一例である。
 例えば、プリンタ2から取得した能力情報が、「用紙種類」の項目に「布」、「光沢紙」を設定でき、「給紙トレイ」の項目に「増設トレイ」を設定でき、「割り付け印刷」、「ポスター印刷」、「節約印刷」の設定を行うことができる情報を、拡張能力として含むとする。
 この場合、図6に示す汎用印刷設定画面D2は、図5に示す汎用印刷プログラム41に基づく汎用印刷設定画面D2に対して、これらの拡張能力に基づく印刷設定が追加表示されている。例えば、図6に示す汎用印刷設定画面D2は、図中矢印120,121,122に示すように、「割り付け印刷」、「ポスター印刷」と「節約印刷」の項目が追加表示されている。また、図6に示す汎用印刷設定画面D2は、「用紙種類」のリストボタン113を操作した場合に、図中矢印123に示す設定パラメータ「布」、「光沢紙」がリストボックス112に追加表示される。また、図6に示す汎用印刷設定画面D2は、「給紙トレイ」のリストボタン113を操作した場合に、矢印124に示す設定パラメータ「増設トレイ」がリストボックス112に追加表示される。
 上記に対して、 図4に示すように、補助プログラム42は、例えば、A13にて取得したプリンタ2の能力情報に含まれる特定情報が、デバイス識別情報を含まない、あるいは、仮想プリンタ5用の識別情報を含む場合、選択されたプリンタは仮想プリンタ5であると判断する(alt:仮想プリンタ)。この場合、補助プログラム42は、メモリ12から共通能力情報45と設定データ46を読み込む(A31、A32)。補助プログラム42は、読み込んだ共通能力情報45と設定データ46を用いて第2表示データを生成する(A33)。第2表示データは、共通能力情報45に基づく印刷設定の設定項目の内容を汎用印刷設定画面D2に表示するためのデータである。
 補助プログラム42は、生成した第2表示データを汎用印刷プログラム41に渡す(A34)。汎用印刷プログラム41は、受け取った第2表示データに従って、図7に示すような汎用印刷設定画面D2をディスプレイ13aに表示する(A35)。A33、A34は第2表示処理の一例である。図7に示す汎用印刷設定画面D2は、第2印刷設定画面の一例である。
 共通能力情報45の拡張データ45bは、「用紙種類」の項目に「光沢紙」を設定でき、「割り付け印刷」、「ポスター印刷」、「小冊子印刷」、「ウォータマーク」、「節約印刷」、「PIN設定」について設定できる情報を含むとする。
 この場合、図7に示す汎用印刷設定画面D2は、図5に示す汎用印刷プログラム41に基づく汎用印刷設定画面D2に対して、「割り付け印刷」、「ポスター印刷」、「小冊子印刷」、「ウォータマーク」、「節約印刷」、「PIN設定」の項目が追加表示されている。また、図7に示す汎用印刷設定画面D2は、図5に示す汎用印刷プログラム41に基づく汎用印刷設定画面D2に対して、「用紙種類」のリストボックス112に「光沢紙」が追加表示される。
 図7に示す汎用印刷設定画面D2では、汎用印刷プログラム41でサポートされていない共通能力情報45(拡張データ45b)に基づく印刷設定の内容が表示されるので、プリンタ2に限らず、クラウドサーバ6に接続するプリンタの拡張能力に基づく印刷設定を、受け付けることができる。
 また、図7に示す汎用印刷設定画面D2は、例えば図2(b)に示す設定データ46に基づいて、各項目に初期値が表示されている。例えば、図5あるいは図6に示す汎用印刷設定画面D2では、「部数」に制限がない。また、「給紙トレイ」、「カラー印刷」、「両面印刷」、「割り付け印刷」の項目には、「自動選択」、「カラー」、「片面印刷」、「標準(1in1)」が初期値として表示されている。これに対して、図7の汎用印刷設定画面D2では、図2(b)に示す設定データ46に基づいて、図中矢印141に示すように「部数」に「1~10」の制限が設けられている。また、図中矢印142,143,144に示すように、「給紙トレイ」、「カラー印刷」、「両面印刷」の項目の初期値には、「トレイ2」、「モノクロ」、「両面印刷」が表示されている。また、「割り付け印刷」、「ポスター印刷」、「節約印刷」、「PIN設定」の拡張能力についても、図中矢印145,146,147,133に示すように、設定データ46に基づく初期値が表示されている。PIN設定には、図3に示す初期値設定画面D4のPIN情報設定欄715に入力されたPIN情報が表示されている。
 次に、汎用印刷設定画面D2の表示中、印刷ボタンSW3へのユーザの操作による印刷実行の指示を受け付けた場合の各プログラムによる手順について、図8のシーケンス図を参照して説明する。なお、ユーザによる印刷実行の指示は、汎用印刷プログラム41に直接入力されてもよいし、情報アプリ43に入力され、情報アプリ43から汎用印刷プログラム41に出力されてもよい。図8は、仮想プリンタ5が選択された場合に表示される図7に示す汎用印刷設定画面D2において印刷ボタンSW3が操作された場合の処理を示している。
 汎用印刷プログラム41は、図7に示す汎用印刷設定画面D2を介して、ユーザによる印刷実行の指示を受け付けると(D01)、汎用印刷設定画面D2にて受け付けた印刷設定を用いて、印刷対象の画像を示す画像データの形式を中間データの形式に変換することで中間データを生成して(D02)、生成した中間データを補助プログラム42に渡す(D03)。情報アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間データの生成を省略し、そのまま中間データとしても良い。中間データは、例えば、XPSデータである。
 補助プログラム42は、D03にて受け取った中間データに、補助プログラム42に設定されている印刷設定を反映させ、中間データを加工する(D04)。例えば、補助プログラム42は、ウォータマークを付す印刷設定がある場合、中間データにウォータマークを合成する。
 補助プログラム42は、加工した中間データにラスタライズを実行し、印刷対象の画像を示す印刷データを生成する(D05)。D05にて生成される印刷データは、例えば、仮想プリンタ5が対応可能なPDLデータである。
 補助プログラム42は、D05にて生成した印刷データを、印刷の実行を指示する印刷コマンドとともに仮想プリンタ5に送信する(D06)。このとき、補助プログラム42は、図7に示す汎用印刷設定画面D2を介してPIN情報の設定や、節約印刷を実行する設定を受け付けた場合、それらの設定を印刷データに付す。D06は、送信処理の一例である。補助プログラム42は、仮想プリンタ5に実行させると決定した画像処理がある場合、その処理の情報も含む印刷コマンドを生成する。補助プログラム42は、さらに、印刷データの送信を終了したことを汎用印刷プログラム41に通知しても良い(D08)。
 印刷データと印刷コマンドとを受信した仮想プリンタ5は、その印刷ジョブを蓄積して記憶する(D07)。この場合、仮想プリンタ5は、印刷データに付されたPIN情報と関連付けて印刷ジョブを記憶する。
 プリンタ3は、クラウドサーバ6から印刷ジョブを受信して印刷するプルプリント機能の選択を受け付けると(D11)、PIN入力画面を表示し、PIN情報の入力を受け付ける(D12)。PIN情報の入力を受け付けたプリンタ3は、仮想プリンタ5からジョブ登録情報を取得する(D13)。ジョブ登録情報は、例えば、仮想プリンタ5に蓄積された印刷ジョブのジョブ名を示すリストであり、印刷データや印刷設定などを含まない情報である。ジョブ登録情報において、ジョブ名には、それぞれ、印刷ジョブに関連付けられたPIN情報が対応付けられている。
 プリンタ3は、受信したジョブ登録情報から、D12にて受け付けたPIN情報に対応するジョブ名を抽出して表示する(D14)。プリンタ3は、例えば、タッチ操作によりジョブ名の選択を受け付けると(D15)、選択されたジョブ名に対応する印刷ジョブを仮想プリンタ5から受信することで取得し(D16)、取得した印刷ジョブに基づく印刷を実行する(D17)。例えば、印刷ジョブがウォータマークを含む印刷データと節約印刷を実行する印刷設定を含む場合、ウォータマークを付した印刷物が着色材の使用量を抑制した状態で生成される。D16、D17は印刷処理の一例である。本実施形態では、D13において、プリンタ3がクラウドサーバ6に蓄積されている印刷ジョブのジョブ名を全て、ジョブ登録情報として受信した。これに対して、プリンタ3は、PIN情報を付してクラウドサーバ6にジョブ登録情報の送信を要求し、PIN情報に対応するジョブ名のリストをジョブ登録情報としてクラウドサーバ6から取得して表示してもよい。
 補助プログラム42は、例えば実プリンタであるプリンタ2が選択された状態で、図6に示す汎用印刷設定画面D2を介して印刷指示を受け付けた場合(A08)、仮想プリンタ5が選択された場合と同様にD02~D05の処理を実行し、プリンタ2に印刷データと印刷コマンドを送信する(D06)。この場合、補助プログラム42は、プリンタ2にて印刷に使用できる形式で印刷データを生成する。例えば、補助プログラム42は、プリンタ2に専用のPDLデータを生成する。プリンタ2は、D06にて印刷コマンドと印刷データを受信すると、印刷を実行する。
 プリンタ2に対応する補助プログラム42にてラスタライズすることで、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適した印刷データが生成される可能性が高い。補助プログラム42によって生成される印刷データは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
 なお、補助プログラム42が印刷データを生成する代わりに、汎用印刷プログラム41が印刷データの生成を行っても良い。例えば、補助プログラム42は、D04にて加工した中間データと印刷実行の情報とを汎用印刷プログラム41に渡し、汎用印刷プログラム41が、中間データをラスタライズして印刷データを生成しても良い。その場合、汎用印刷プログラム41は、生成した印刷データを補助プログラム42に渡す。そして、補助プログラム42は、汎用印刷プログラム41から印刷データを受け取った場合、汎用印刷プログラム41から受け取った印刷データを、印刷の実行を指示する印刷コマンドとともに仮想プリンタ5またはプリンタ2に送信する。
 汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データであり、例えば、PWGRasterデータ、または、PDFデータである。汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、処理時間増大の回避が見込まれ、また、補助プログラム42のプログラムサイズが抑えられる。
 仮想プリンタ5またはプリンタ2への印刷データや印刷コマンドの送信は、汎用印刷プログラム41が行っても良い。つまり、補助プログラム42は、生成した印刷データを、仮想プリンタ5またはプリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡しても良い。その場合、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データ等を仮想プリンタ5またはプリンタ2に送信する。この場合、補助プログラム42が汎用印刷プログラム41に印刷データ等を渡す処理が、送信処理の一例である。
 以上説明したように、本実施形態の補助プログラム42は、仮想プリンタ5が選択されている場合、クラウドサーバ6に接続可能なプリンタの共通能力に基づく汎用印刷設定画面D2(図7参照)を表示するための処理を実行する。これにより、補助プログラム42を実行するPC1は、仮想プリンタ5が選択されている場合でも、プリンタ固有の機能に基づく設定を扱うサービスを別途用意することなく、共通能力情報45(拡張データ45bを含む)に基づく設定を扱うことができる。その結果として、補助プログラム42は、特定のプリンタのモデルに限らず、仮想プリンタ5に接続可能な様々なモデルのプリンタの能力を発揮させることができる。
 また、本実施形態の補助プログラム42は、図4のA08に示すプリンタの選択を契機に、選択されたプリンタが仮想プリンタ5である場合、図7に示す汎用印刷設定画面D2を表示させることで、仮想プリンタ5に接続されている実プリンタの共通能力情報45に合った印刷設定の入力を直ぐに受け付けることができる。
 また、本実施形態の補助プログラム42は、初期値となる設定値を設定データ46に書き込む初期値設定画面D4を提供することで、プリンタのベンダやシステム管理者やユーザ個人が目的に応じて設定値の初期値を編集し易い。本実施形態では、初期値設定画面D4を専用の画面として準備したが、後述する詳細設定画面D3(図11、図12参照)の一部として初期値設定画面D4を設けてもよい。例えば、補助プログラム42は、後述する詳細設定画面D3(図11、図12参照)に初期値設定画面D4の表示を指示するアイコンを設け、そのアイコンの操作に応じて、補助プログラム42が初期値設定画面D4を表示するようにしてもよい。あるいは、補助プログラム42は、後述する詳細設定画面D3(図11、図12参照)に表示される項目ごとに書き込み可否の設定を受け付けるようにしてもよい。一方、補助プログラム42は、初期値設定画面D4を詳細設定画面と別の専用画面とすることで、初期値設定画面D4を任意のタイミングで起動し、初期値を編集することが可能になる。
(第2実施形態)
 続いて、本明細書にて開示するサポートプログラムおよび印刷システムの第2実施形態について説明する。図9は、印刷が選択された場合の手順の例を示すシーケンス図である。本実施形態は、仮想プリンタ5が選択された場合に共通能力情報45を反映した詳細設定画面をディスプレイ13aに表示する点が、第1実施形態と相違する。ここでは、第1実施形態と相違する点を中心に説明する。なお、本実施形態において第1実施形態と共通する構成あるいは処理には、第1実施形態と同じ符号を使用し、説明を適宜省略する。
 図9に示すように、例えば、汎用印刷プログラム41が図4の汎用印刷設定画面D2にて仮想プリンタ5を選択した状態で補助プログラム42Aを起動した場合(A07、A08)、補助プログラム42Aは、仮想プリンタ5から能力情報を取得する(A11~A13)。補助プログラム42Aは、仮想プリンタ5から取得した能力情報をメモリ12に記憶する(A51)。A51にて記憶される能力情報には、例えば、印刷設定の適正な組み合わせを示す情報が含まれる。
 補助プログラム42Aが汎用印刷プログラム41に応答すると(A52)、汎用印刷プログラム41は、汎用印刷設定画面D2に汎用印刷プログラム41用の汎用初期値を表示する(A53)。汎用印刷設定画面D2では、図5に示したように、詳細設定ボタンSW2によって詳細設定の指示を受け付けることができる。
 図10のシーケンス図に示すように、汎用印刷プログラム41は、ユーザによる詳細設定の指示に基づいて(B01)、補助プログラム42Aを起動する(B02)。汎用印刷プログラム41は、図4の汎用印刷設定画面D2の印刷設定欄53に設定されている印刷設定を、補助プログラム42Aに渡し、処理を要求する。
 補助プログラム42Aは、メモリ12から能力情報を読み出し(B04)、判断処理を行う(B05)。B05の判断処理は、図4のA15と同様に行われる。補助プログラム42Aは、選択されたプリンタが仮想プリンタ5であると判断した場合(alt:仮想プリンタ)、メモリ12から共通能力情報45を読み込み(B31)、図12に示す共通能力情報45に基づく詳細設定画面D3をディスプレイ13aに表示させる(B32)。図12に示す詳細設定画面D3は、図7に示す汎用印刷設定画面D2と同様に共通能力情報45が反映されているので、具体的な説明を省略する。B32は、受付処理の一例である。
 さらに、補助プログラム42Aは、メモリ12から設定データ46を読み込み(B33)、図12に示す詳細設定画面D3に設定データ46を反映させる(B34)。設定データ46の反映は、図7に示す汎用印刷設定画面D2と同様なので、具体的な説明を省略する。B32の処理は第2表示処理の一例である。図12に示す詳細設定画面D3は第2印刷設定画面の一例である。
 補助プログラム42Aは、図12の適用ボタンSW22が操作されると(B41)、詳細設定を完了する指示を受け付ける(B42)。補助プログラム42Aは、詳細設定画面D3を介して受け付けた詳細な印刷設定を、B02にて汎用印刷プログラム41から受け取った印刷設定に反映させて、印刷設定を編集する(B43)。補助プログラム42Aは、編集済みの印刷設定を汎用印刷プログラム41に渡す(B44)。汎用印刷プログラム41は、図4の汎用印刷設定画面D2に編集済みの印刷設定を反映させる(B45)。
 なお、補助プログラム42Aは、B31にて共通能力情報45の拡張データ45bのみをメモリ12から読み込み、B33にてその拡張データ45bのみに基づいて詳細設定画面D3を表示してもよい。この場合、汎用印刷設定画面D2と重複する基本能力に基づく印刷設定の内容が、詳細設定画面D3で表示されなくなり、詳細設定画面D3が見やすくなる。一方、上述したように、補助プログラム42Aは、共通能力情報45に基づく詳細設定画面D3をディスプレイ13aに表示する場合、基本データ45aと拡張データ45bに基づく印刷設定を1つの詳細設定画面D3で行うことができ、便利である。
 一方、図9に示すように、汎用印刷プログラム41が汎用印刷設定画面D2にてプリンタ2を選択した状態で補助プログラム42Aを起動した場合(A07、A08)、補助プログラム42Aは、プリンタ2から能力情報を取得し(A11~A13)、メモリ12に記憶する(A51)。A52,A53の処理については上述したので説明を省略する。
 図10のシーケンス図に示すように、補助プログラム42Aは、プリンタ2が選択された状態で汎用印刷プログラム41から処理を要求されると(B01,B02)、メモリ12からプリンタ2に対応する能力情報を読み出し(B04)、判断処理を行う(B05)。補助プログラム42Aは、選択されたプリンタは仮想プリンタ5でなく、実プリンタであると判断すると(alt:実プリンタ)、図11に示すプリンタ2の能力情報に基づく詳細設定画面D3をディスプレイ13aに表示させる(B11)。図11に示す詳細設定画面D3は、図6に示す汎用印刷設定画面D2と同様にプリンタ2の能力情報が反映されているので、具体的な説明を省略する。B11の処理は第1表示処理の一例である。図11に示す詳細設定画面D3は、第1印刷設定画面の一例である。なお、図11は後述する制限処理が実行されていない状態の詳細設定画面D3を示す。
 補助プログラム42Aは、ユーザIF13を介して、項目ごとにパラメータの設定を受け付ける(B13)。本実施形態では、前述したように、印刷設定の適正な組み合わせを示す情報がプリンタ2から取得した能力情報に含まれている。補助プログラム42Aは、選択するプリンタとして仮想プリンタ5が設定されておらず、図11に示す能力情報を反映した詳細設定画面D3を表示する場合、印刷設定の適正な組み合わせを示す情報に基づいて印刷設定の受け付けを制限することができる(図10のB14)。
 例えば、プリンタ2がトレイ1とトレイ2とを有し、トレイ1から封筒を給紙できるが、トレイ2から封筒を給紙できないとする。この場合、補助プログラム42Aは、図11の詳細設定画面D3において、矢印321に示す「用紙種類」の項目に「封筒」を設定した場合、「給紙トレイ」の項目では、図中矢印322に示す「トレイ2」を非表示とし、トレイ2の設定を受け付けないようにする。
 このような制限は、補助プログラム42が処理可能な印刷設定でも同様である。例えば、ポスター印刷は、印刷対象となる画像を分割して用紙に印刷する印刷方法である。そのため、補助プログラム42Aは、図11の詳細設定画面D3において、矢印323に示す「ポスター印刷」の項目に「する」を設定した場合、図中矢印324に示す「両面印刷」の項目には「片面印刷」のみを表示して、パラメータとしての「両面印刷」の設定を受け付けないようにする。なお、設定の受け付けを制限する態様は、非表示に代えて、グレイアウトにしてもよい。
 一方、補助プログラム42Aは、仮想プリンタ5が選択されている場合に表示される図12に示す詳細設定画面D3では、図10のB14に示す制限処理を行わない。すなわち、図12の図中矢印341に示すように、「用紙種類」の設定に「封筒」を設定した場合でも、図中矢印342に示すように、「給紙トレイ」の項目では「トレイ2」を設定可能に表示する。また、図中矢印343に示すように、「ポスター印刷」の設定に「する」を設定した場合でも、図中矢印344に示すように、「両面印刷」の項目ではパラメータとしての「両面印刷」を設定することができる。
 以上説明したように、本実施形態の補助プログラム42Aは、仮想プリンタ5が選択されている場合、クラウドサーバ6に接続可能なプリンタの共通能力に基づく詳細設定画面D3(図12参照)を表示するための処理を実行する。これにより、補助プログラム42Aを実行するPC1は、仮想プリンタ5が選択されている場合でも、プリンタ固有の機能に基づく設定を扱うサービスを別途用意することなく、共通能力情報45あるいは拡張データ45bに基づく設定を扱うことができる。
 また、本実施形態の補助プログラム42Aは、汎用印刷設定画面D2の詳細設定ボタンSW2を操作して、詳細設定画面D3の表示指示を受け付けたことに応じて、図12に示す共通能力情報45の基づく詳細設定画面D3を表示させる。そのため、ユーザは、共通能力情報45の基づく設定を扱いたいタイミングで、図12に示す共通能力情報45の基づく詳細設定画面D3をディスプレイ13aに表示させることができる。
 なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
 また、図5に示す汎用印刷設定画面D2は、詳細設定ボタンSW2に代えて、リンクなどのオブジェクトによって詳細設定画面D3を表示する表示指示を受け付けてもよい。
 また、図10のB14の処理は省略してもよい。ただし、実プリンタであるプリンタ2が選択されている場合には、能力情報に基づいて設定不可の設定内容について印刷設定の受け付けを制限することで、プリンタ2でのエラーを抑制できる。一方、仮想プリンタ5が選択されている場合には、最終的にどのプリンタで印刷されるか不明であり、設定内容の可否を判断できないので、制限処理を実行しないようにする。これにより、補助プログラム42Aの処理負荷を軽減できる。
 また、図4のA32、図10のB33,B34の処理を省略し、仮想プリンタ5が選択されている場合に表示される図7に示す汎用印刷設定画面D2あるいは図12に示す詳細設定画面D3において、設定データ46の設定値を初期値として設定しなくてもよい。ただし、汎用印刷プログラム41によって仮想プリンタ5が選択されている場合、汎用印刷設定画面D2あるいは詳細設定画面D3は、拡張データ45bに対応する項目およびパラメータの表示に加え、初期値となる設定データ46が設定値に設定されることで、仮想プリンタ5を利用する際に共通の設定値での運用を図ることができる。
 また、設定値を設定データ46に書き込むかの選択は、印刷設定の項目ごとに行わず、一括して行ってもよい。例えば、図3に示す書き込み可否設定欄712を省略し、書き込み可否設定ボタンを1つ、初期値設定画面D4に設けてもよい。ただし、印刷設定の項目ごとに設定値を設定データ46に書き込むか否かを選択できることで、仮想プリンタ5が選択された場合に共通利用する項目と、共通利用しない項目とを設定データ46で区別できるようになり、運用の自由度が高まる。
 また、補助プログラム42は、図4のA13にて取得する能力情報が適正な印刷設定の組み合わせを含む場合、A21にて適正な組み合わせでない印刷設定を受け付けないための情報を第1表示データに含め、A22にてその第1表示データを汎用印刷プログラム41に渡してもよい。これにより、汎用印刷プログラム41は、例えば図6に示す汎用印刷設定画面D2において、図11に示す詳細設定画面D3と同様に適正な組み合わせでない印刷設定の受け付けを制限することが可能になる。一方、補助プログラム42は、仮想プリンタ5が選択した状態では、図4のA33にて適正な組み合わせでない印刷設定を受け付けないための情報を第2表示データに含めず、図7の汎用印刷設定画面D2にてそのような制限を行わないようにしてもよい。
 また、補助プログラム42は、図4に示すようにプリンタ選択時に共通能力を表示する場合でも、図10に示す詳細設定時に共通能力を詳細設定画面D3に反映する処理を実行してもよい。仮想プリンタ5が設けられたクラウドサーバ6は、LANやWANに接続されるサーバであってもよい。
 また、クラウドサーバ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、13a……ディスプレイ、21……OS、41……汎用印刷プログラム、42……補助プログラム

Claims (11)

  1.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、前記情報処理装置は、ネットワーク上のサーバに設けられた仮想プリンタと接続可能であり、前記サーバは、前記仮想プリンタに対して送信された印刷ジョブを受信して記憶することが可能であり、さらに前記サーバは、記憶されている前記印刷ジョブを、前記サーバに接続されるプリンタからの要求に基づいて前記プリンタに送信することが可能であり、
     前記コンピュータに、
      選択されているプリンタを特定する特定情報を取得する第1取得処理と、
      前記選択されているプリンタの能力を示す能力情報を取得する第2取得処理と、
      を実行させ、
     さらに前記コンピュータに、
      前記汎用印刷プログラムから処理が要求された場合に、
       前記第1取得処理にて取得された前記特定情報に基づいて、前記選択されているプリンタが前記仮想プリンタであるか否かを判断する判断処理を実行させ、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタでないと判断された場合に、
        前記第2取得処理にて取得された前記能力情報に基づく印刷設定を受け付ける第1印刷設定画面を、前記情報処理装置のディスプレイに表示させる第1表示処理を実行させ、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタであると判断された場合に、
        前記サーバに接続可能なプリンタの共通能力に基づく印刷設定を受け付ける第2印刷設定画面を、前記情報処理装置の前記ディスプレイに表示させる第2表示処理を実行させる、
     ように構成されるサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
     前記コンピュータに、
      プリンタが選択されたことによって前記汎用印刷プログラムから処理が要求された場合に、前記判断処理を実行させる、
     ように構成されるサポートプログラム。
  3. 請求項2に記載するサポートプログラムにおいて、
     前記汎用印刷プログラムは、前記情報処理装置の前記ディスプレイに汎用印刷設定画面を表示させる機能を有し、
     前記第1表示処理では、
      前記第2取得処理にて取得された前記能力情報を反映した印刷設定の設定項目の内容を前記汎用印刷設定画面に追加表示するための第1表示データを生成し、生成された前記第1表示データを前記汎用印刷プログラムに渡し、前記第1印刷設定画面として前記第1表示データに従った前記汎用印刷設定画面を前記情報処理装置の前記ディスプレイに表示させ、
     前記第2表示処理では、
      前記共通能力に基づく印刷設定の設定項目の内容を前記汎用印刷設定画面に表示するための第2表示データを生成し、生成された前記第2表示データを前記汎用印刷プログラムに渡し、前記第2印刷設定画面として前記第2表示データに従った前記汎用印刷設定画面を前記情報処理装置の前記ディスプレイに表示させる、
     ように構成されるサポートプログラム。
  4. 請求項1に記載するサポートプログラムにおいて、
     前記サポートプログラムは、前記プリンタで対応可能な印刷設定を受け付ける詳細設定画面を、前記情報処理装置の前記ディスプレイに表示させる機能を有し、前記汎用印刷プログラムは、前記詳細設定画面の表示指示を受け付けることが可能であり、
     前記コンピュータに、
      前記汎用印刷プログラムが前記表示指示を受け付けたことによって前記汎用印刷プログラムから処理が要求された場合に、前記判断処理を実行させ、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタでないと判断された場合に、前記第1表示処理を実行させ、前記第1表示処理では、前記第2取得処理にて取得された前記能力情報に基づく印刷設定を受け付ける前記詳細設定画面を第1印刷設定画面とし、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタであると判断された場合に、前記第2表示処理を実行させ、前記第2表示処理では、前記共通能力に基づく印刷設定を受け付ける前記詳細設定画面を第2印刷設定画面とする、
     ように構成されるサポートプログラム。
  5. 請求項4に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記詳細設定画面にて前記印刷設定を受け付ける受付処理を実行させ、
     さらに前記コンピュータに、
      前記第1表示処理によって前記詳細設定画面が表示されている場合、
       前記第2取得処理にて取得された前記能力情報に基づいて設定不可の設定内容について、前記受付処理による前記印刷設定の受け付けを制限する制限処理を実行させ、
      前記第2表示処理によって前記詳細設定画面が表示されている場合、
       前記制限処理を実行させない、
     ように構成されるサポートプログラム。
  6. 請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
     前記共通能力は、前記汎用印刷プログラムでサポートされていない拡張能力を含む、
     ように構成されるサポートプログラム。
  7. 請求項6に記載するサポートプログラムにおいて、
     前記第2表示処理では、
      前記拡張能力に基づく設定内容が書き込まれた拡張データと、印刷設定の項目ごとの設定値が書き込まれた設定データと、を読み込み、読み込まれた前記拡張データに基づく印刷設定を受け付ける前記第2印刷設定画面を、前記情報処理装置の前記ディスプレイに表示させ、前記第2印刷設定画面には、読み込まれた前記設定データに書き込まれた前記設定値が初期値として設定される、
     ように構成されるサポートプログラム。
  8. 請求項7に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記設定データに書き込まれる前記設定値の入力を受け付ける初期値設定画面を、前記情報処理装置の前記ディスプレイに表示させる設定処理と、
      前記初期値設定画面に入力された前記設定値が書き込まれた前記設定データを、前記情報処理装置のメモリに記憶する記憶処理と、
      を実行させ、
     前記第2表示処理では、
      前記拡張データと、前記記憶処理にて記憶された前記設定データと、を読み込み、読み込まれた前記拡張データに基づく印刷設定を受け付ける前記第2印刷設定画面を、前記情報処理装置の前記ディスプレイに表示させ、前記第2印刷設定画面には、読み込まれた前記設定データに書き込まれた前記設定値が初期値として設定される、
     ように構成されるサポートプログラム。
  9. 請求項8に記載するサポートプログラムにおいて、
     前記設定処理では、
      前記印刷設定の項目ごとに、前記設定値を前記設定データに書き込むか否かの選択と、前記設定値の入力と、を受け付ける前記初期値設定画面を、前記情報処理装置の前記ディスプレイに表示させ、
     前記記憶処理では、
      前記印刷設定のうち、前記設定値を前記設定データに書き込む前記選択を受け付けた前記項目について、前記初期値設定画面に入力された前記設定値を前記設定データに書き込む、
     ように構成されるサポートプログラム。
  10. 請求項1から請求項9のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記仮想プリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、
       前記汎用印刷プログラムから前記画像を示す画像データを取得し、前記画像データを印刷させる印刷ジョブを前記仮想プリンタに送信するための送信処理を実行させる、
     ように構成されるサポートプログラム。
  11.  情報処理装置に組み込まれたサポートプログラムと、サーバに接続されたプリンタと、を有する印刷システムであって、
     前記サポートプログラムは、前記情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするプログラムであり、前記情報処理装置は、ネットワーク上の前記サーバに設けられた仮想プリンタと接続可能であり、
     前記サポートプログラムは、前記情報処理装置の前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記仮想プリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、前記汎用印刷プログラムから前記画像を示す画像データを取得し、前記画像データを印刷させる印刷ジョブを前記仮想プリンタに送信するための送信処理を実行させ、
     前記サーバは、
      前記仮想プリンタに対して送信された前記印刷ジョブを受信して記憶し、
     前記プリンタは、
      前記サーバに記憶されている前記印刷ジョブの送信要求を前記サーバに送信し、前記送信要求に基づいて送信された前記印刷ジョブを受信し、受信した前記印刷ジョブに基づく印刷処理を実行し、
     さらに前記サポートプログラムは、前記情報処理装置の前記コンピュータに、
      選択されているプリンタを特定する特定情報を前記汎用印刷プログラムから取得する第1取得処理と、
      前記選択されているプリンタの能力を示す能力情報を取得する第2取得処理と、
      を実行させ、
     さらに前記サポートプログラムは、前記情報処理装置の前記コンピュータに、
      前記汎用印刷プログラムから処理が要求された場合に、
       前記第1取得処理にて取得された前記特定情報に基づいて、前記選択されているプリンタが前記仮想プリンタであるか否かを判断する判断処理を実行させ、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタでないと判断された場合に、
        前記第2取得処理にて取得された前記能力情報に基づく印刷設定を受け付ける第1印刷設定画面を、前記情報処理装置のディスプレイに表示させる第1表示処理を実行させ、
       前記判断処理にて前記選択されているプリンタが前記仮想プリンタであると判断された場合に、
        前記サーバに接続可能なプリンタの共通能力に基づく印刷設定を受け付ける第2印刷設定画面を、前記情報処理装置の前記ディスプレイに表示させる第2表示処理を実行させる、
     ように構成される印刷システム。
PCT/JP2023/009280 2022-03-23 2023-03-10 サポートプログラムおよび印刷システム WO2023181987A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-047229 2022-03-23
JP2022047229A JP2023141093A (ja) 2022-03-23 2022-03-23 サポートプログラムおよび印刷システム

Publications (1)

Publication Number Publication Date
WO2023181987A1 true WO2023181987A1 (ja) 2023-09-28

Family

ID=88101303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009280 WO2023181987A1 (ja) 2022-03-23 2023-03-10 サポートプログラムおよび印刷システム

Country Status (2)

Country Link
JP (1) JP2023141093A (ja)
WO (1) WO2023181987A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232940A (ja) * 2010-04-27 2011-11-17 Brother Ind Ltd 制御装置、プログラム、及び管理方法
JP2020047244A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 印刷制御装置、情報処理装置、プリントサービスシステム、及びそれらの制御方法、並びにプログラム
JP2020107241A (ja) * 2018-12-28 2020-07-09 キヤノン株式会社 情報処理装置、制御方法及びアプリケーションプログラム
JP2020166467A (ja) * 2019-03-29 2020-10-08 ブラザー工業株式会社 画像処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232940A (ja) * 2010-04-27 2011-11-17 Brother Ind Ltd 制御装置、プログラム、及び管理方法
JP2020047244A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 印刷制御装置、情報処理装置、プリントサービスシステム、及びそれらの制御方法、並びにプログラム
JP2020107241A (ja) * 2018-12-28 2020-07-09 キヤノン株式会社 情報処理装置、制御方法及びアプリケーションプログラム
JP2020166467A (ja) * 2019-03-29 2020-10-08 ブラザー工業株式会社 画像処理システム

Also Published As

Publication number Publication date
JP2023141093A (ja) 2023-10-05

Similar Documents

Publication Publication Date Title
US8994970B2 (en) Information processing apparatus, control method, and storage medium
JP2003091389A (ja) 印刷制御方法及び装置
EP2388685B1 (en) Information processing apparatus and control method thereof, and storage medium
KR20210098343A (ko) 정보 처리 장치, 제어 방법 및 그 프로그램, 및 정보 처리 장치와 통신할 수 있는 서버 시스템
WO2023181987A1 (ja) サポートプログラムおよび印刷システム
JP2023108440A (ja) サポートプログラム
JP7410622B2 (ja) 情報処理装置、情報処理装置の制御方法ならびにプログラム、および当該情報処理装置と通信することのできるサーバシステム
WO2023176579A1 (ja) サポートプログラム
WO2023189413A1 (ja) サポートプログラム
JP5042926B2 (ja) 印刷設定装置,プログラム,および記録媒体
JP3740448B2 (ja) 制御装置、制御方法、プログラム及び記憶媒体
WO2023190149A1 (ja) サポートプログラムおよび印刷システム
WO2023190148A1 (ja) サポートプログラム
JP3833090B2 (ja) 制御方法、制御装置、プログラム及び記憶媒体
WO2022163430A1 (ja) サポートプログラム
WO2023190151A1 (ja) サポートプログラム
WO2023162772A1 (ja) サポートプログラム
WO2023190147A1 (ja) サポートプログラム
WO2022163429A1 (ja) サポートプログラム
WO2023145531A1 (ja) サポートプログラム
JP2023145003A (ja) サポートプログラム
JP2023143184A (ja) サポートプログラムおよび印刷システム
WO2023145636A1 (ja) サポートプログラム
US20230315361A1 (en) Information processing apparatus, print setting application, and print system
WO2022163428A1 (ja) サポートプログラム

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: 23774586

Country of ref document: EP

Kind code of ref document: A1