WO2020158711A1 - サポートプログラム、情報処理装置、および印刷方法 - Google Patents

サポートプログラム、情報処理装置、および印刷方法 Download PDF

Info

Publication number
WO2020158711A1
WO2020158711A1 PCT/JP2020/002918 JP2020002918W WO2020158711A1 WO 2020158711 A1 WO2020158711 A1 WO 2020158711A1 JP 2020002918 W JP2020002918 W JP 2020002918W WO 2020158711 A1 WO2020158711 A1 WO 2020158711A1
Authority
WO
WIPO (PCT)
Prior art keywords
print
program
parameter
general
instruction
Prior art date
Application number
PCT/JP2020/002918
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 WO2020158711A1 publication Critical patent/WO2020158711A1/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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network

Definitions

  • the technical field disclosed in this specification relates to a support program that supports printer control, an information processing apparatus, and a printing method.
  • a printer driver As a technique for controlling a printer from an information processing device such as a personal computer, a configuration in which a printer driver is installed in the information processing device, print data is generated by the printer driver, and the print data is transmitted to the printer is widely known (for example, JP-A-2017-134718).
  • the printer driver is provided by the manufacturer of the printer, supports various functions of the printer, and can sufficiently use the printer.
  • This specification discloses a technique for reducing the user's time and effort when performing print settings in an information processing device in which an OS standard print program is incorporated.
  • a support program made for the purpose of solving the above-described problem is a support program that can be executed by a computer of an information processing apparatus and corresponds to a printer connected to the information processing apparatus.
  • a setting process in which the identification information of the print queue incorporated in the operating system of the printer and the print parameters are associated with each other is stored in the memory of the information processing apparatus.
  • the general-purpose print program is configured to operate the support program when there is a print instruction to cause the printer to print an image.
  • the computer is configured to operate one of the plurality of print queues.
  • the identification information of the print queue selected from the operating system or the general-purpose printing program is acquired, and the print parameter associated with the acquired identification information is set to the print parameter. It is characterized in that a read process for reading from the memory and an automatic setting process for setting the print parameter read by the read process to the print parameter indicated by the print instruction are executed.
  • the support program disclosed in this specification stores the identification information of the print queue and the print parameters in a memory in association with each other. Further, the support program is operated when one of the print queues is selected and a print instruction is issued to the print program. The support program reads out the print parameters stored in association with the selected print queue and outputs the print instruction. Set to print parameters. Therefore, only by selecting the print queue when inputting the print instruction, the print parameter corresponding to the print queue is automatically set, so that the user's labor for setting is reduced.
  • An information processing device incorporating the above program, a computer-readable storage medium storing the program, and a control method for realizing the function of the program are also new and useful.
  • FIG. 3 is a block diagram showing an electrical configuration of the printing system. It is a sequence diagram which shows the example of the order of the operation
  • FIG. 8 is an explanatory diagram illustrating an example of a display when a printer is selected.
  • FIG. 9 is a sequence diagram illustrating an example of print queue addition and change operations. It is explanatory drawing which shows the example of a setting screen.
  • 6 is a flowchart illustrating a procedure of print parameter editing processing. It is a flowchart which shows the procedure of an intermediate image data edit process. 6 is a flowchart illustrating a procedure of print data editing processing.
  • This embodiment discloses an embodiment that embodies a printing system including a personal computer (hereinafter referred to as “PC”) and a printer.
  • PC personal computer
  • Fig. 1 shows an example of the configuration of a printing system in which the program of this embodiment is executed.
  • the system shown in FIG. 1 includes a PC 1, a printer 2, and a printer 3.
  • the PC 1 is an example of an information processing device.
  • the printer 2 and the printer 3 are devices having a printing function, and are capable of communicating with the PC 1 via local communication or network communication.
  • the PC 1 includes, for example, as shown in FIG. 1, a controller 10, a user interface (hereinafter referred to as “UI”) 20, and a communication interface (hereinafter referred to as “communication IF”) 30.
  • the UI 20 and the communication IF 30 are electrically connected to the controller 10.
  • the UI 20 includes hardware that performs various displays and receives a user's instruction input.
  • the UI 20 may be a touch panel having both a display function and an input receiving function, or may be a combination of a display having a display function and a keyboard or mouse having the input receiving function.
  • the UI 20 is an example of a display device.
  • the communication IF 30 includes hardware for communicating with the printer 2 and the printer 3, and hardware for accessing the Internet.
  • the communication IF 30 may include a plurality of interfaces having different communication methods. Examples of communication methods include network communication and USB communication. Further, it may be wired communication or wireless communication.
  • the controller 10 includes a CPU 11 and a memory 12.
  • the CPU 11 is an example of a computer.
  • the memory 12 includes a ROM, a RAM, and a non-volatile memory, and stores programs such as various application programs (hereinafter referred to as “apps”) and various data. In this specification, details of the memory are not distinguished.
  • the CPU 11 executes various processes according to the program read from the memory 12 and based on the user's instruction. It should be noted that the controller 10 in FIG. 1 is a collective term for hardware and software used for controlling the PC 1, and does not necessarily represent a single hardware that actually exists in the PC 1.
  • An example of the memory 12 may be a computer-readable storage medium.
  • a computer-readable storage medium is a non-transmission medium.
  • the non-transmission medium also includes a recording medium such as a CD-ROM and a DVD-ROM.
  • the non-transmission medium is also a tangible medium.
  • an electric signal that carries a program downloaded from a server or the like on the Internet is a computer-readable signal medium that is a kind of computer-readable medium, but a non-transitory computer-readable storage medium. Not included in the media.
  • the memory 12 stores an operating system (hereinafter referred to as “OS”) 21 including a general-purpose printing program 41, an auxiliary program 42, and an editing application 43.
  • the auxiliary program 42 is an example of a support program.
  • the auxiliary program 42 is, for example, a hardware support application (abbreviation: HSA) created by a printer vendor based on specifications published by Microsoft Corporation.
  • the OS 21 is, for example, Microsoft Windows (registered trademark), MacOS (registered trademark), or Linux (registered trademark). It should be noted that the memory 12 stores various data including information on the connected printer and various programs such as a browser in addition to the illustrated ones.
  • the general-purpose print program 41 is an application for executing printing from the PC 1 to various printers such as the printer 2, and is a standard OS print program that is pre-installed in the OS 21.
  • the general-purpose print program 41 of the present embodiment is a program that generates print data compatible with a printer based on image data to be printed.
  • the general-purpose print program 41 is an example of a print program.
  • the general-purpose printing program 41 is a general-purpose application that can be applied to printers of a plurality of types of models provided by each printer vendor, and is a program that causes each printer to perform operations common to each model.
  • the general-purpose printing program 41 may be a program provided by the vendor of each printer to the vendor of the OS 21 in order to be incorporated in the OS 21 in advance, for example, a kind of printer driver provided to be incorporated in the OS 21 in advance.
  • the auxiliary program 42 is a program that executes processing in accordance with an instruction from the OS 21 accompanying activation of the general-purpose print program 41, and is an application that supports control of target hardware.
  • the auxiliary program 42 is activated from the general-purpose printing program 41, for example.
  • the auxiliary program 42 is a program prepared for each printer type by a vendor such as the printer 2.
  • the auxiliary program 42 for the inkjet printer and the auxiliary program 42 for the laser printer are prepared.
  • the printer vendor registers the auxiliary program 42 in the platform provided by the OS21 vendor according to the procedure specified by the OS21 vendor.
  • the OS 21 downloads the auxiliary program 42 from the server in which the auxiliary program 42 is stored. Installed in PC1.
  • the OS 21 stores the identification information of the incorporated auxiliary program 42 in the memory 12 in association with the printer information of the newly connected printer.
  • each auxiliary program corresponding to the type of each model is incorporated, and information associating each printer with each auxiliary program is stored in the memory 12. That is, in the memory 12, as the printer information of each printer connected to the PC 1, the model information and access information of the printer and the information of the corresponding auxiliary program 42 are stored.
  • the editing application 43 is, for example, an application for creating and editing image data and document data.
  • the editing application 43 is, for example, Microsoft Word (registered trademark) or PowerPoint (registered trademark). Further, it may be an application provided by the vendor of the printer 2 or the printer 3.
  • the editing application 43 receives a user operation including an instruction to cause the printer 2 to perform a predetermined operation. Specifically, the editing application 43 receives, for example, a print instruction for causing the printer 2 to execute printing via the UI 20.
  • the processing in the embodiment and each processing step of the flowchart basically indicate processing of the CPU 11 according to an instruction described in a program such as the auxiliary program 42. That is, the processes of “determination”, “extraction”, “selection”, “calculation”, “decision”, “specification”, “acquisition”, “reception”, “control”, etc. in the following description are performed by the CPU 11. It represents.
  • the processing by the CPU 11 also includes hardware control using the API of the OS 21.
  • the operation of each program will be described by omitting the detailed description of the OS 21. That is, in the following description, the description that "the program B controls the hardware C" may mean that "the program B controls the hardware C using the API of the OS 21".
  • the processing of the CPU 11 according to the instruction described in the program may be described in abbreviated wording.
  • the program may be omitted and described as "executed by the CPU 11".
  • the processing of the CPU 11 according to the instruction described in the program may be described in a word in which the CPU is omitted, such as “the program A performs”.
  • “acquisition” is used with the concept that the request is not mandatory. That is, the process of receiving data without request from the CPU 11 is also included in the concept of “the CPU 11 acquires data”.
  • “data” in the present specification is represented by a computer-readable bit string. Data having substantially the same meaning and different formats are treated as the same data. The same applies to "information" in this specification.
  • “request” and “instruct” are concepts indicating that information indicating a request or information indicating an instruction is output to the other party. Further, the information indicating that the request is made and the information indicating that the instruction is made are also simply referred to as “request” and “instruction”.
  • the process of determining whether or not the information A indicates the matter B by the CPU 11 is conceptually described as “determine whether or not the matter A is the matter B from the information A”. There is.
  • the process of determining whether the information A indicates the matter B or the matter C by the CPU 11 is described as "determine from the information A whether the matter B is the matter B or the matter C”. It may be described conceptually as ".
  • the auxiliary program 42 is executed from the general-purpose printing program 41 when a print instruction to print using the general-purpose printing program 41 is received via the editing application 43 or the like with the printer corresponding to the auxiliary program 42 being designated. It is a program that is instructed.
  • the PC 1 receives a print execution instruction from the printer 2 via the general-purpose print program 41 via the UI 20, for example, in a state where image data to be printed is specified by the editing application 43.
  • a case where the auxiliary program 42 corresponding to the model type of the printer 2 is installed in the PC 1 will be described.
  • the editing application 43 receives the designation of the image to be printed and the instruction input of the print execution via the UI 20 (arrow A).
  • the image displayed by the editing application 43 is an example of an image to be printed.
  • the editing application 43 displays, for example, a document edited by the editing application 43 or a photo read by the editing application 43 as an image.
  • the editing application 43 that has received the print instruction passes a print execution notification indicating the content of the received print instruction to the OS 21. In FIG. 2, the operation of the OS 21 is omitted.
  • the OS 21 executes the general-purpose print program 41 and passes the print execution notification to the general-purpose print program 41 (arrow B).
  • the general-purpose print program 41 displays various information included in the print instruction, for example, information indicating the printer to be printed, print queue information for specifying the print queue, and print parameters set by the application.
  • the information indicating the image data, the information indicating the image data to be printed, and the information identifying the user who has instructed to print can be acquired. As will be described later, these pieces of information are also used by the auxiliary program 42.
  • the general-purpose print program 41 identifies the printer designated as the device that executes printing, based on the information included in the print execution notification. For example, when the printer 2 is designated, the general-purpose printing program 41 specifies the model of the printer 2 based on the printer model information included in the printer information stored in the memory 12. Then, since the auxiliary program 42 corresponding to the printer 2 which is the printer designated by the print instruction is stored in the memory 12, the general-purpose print program 41 outputs the execution instruction of the processing of the auxiliary program 42, The program 42 is operated. That is, when the general-purpose printing program 41 detects the print execution notification, the general-purpose printing program 41 outputs an execution command to the auxiliary program 42.
  • the auxiliary program 42 executes various processes according to execution instructions from the general-purpose print program 41.
  • the processing by the auxiliary program 42 includes, for example, print parameter editing processing for editing the print parameters included in the print instruction.
  • the general-purpose print program 41 of the present embodiment outputs an execution command for executing the print parameter editing process of the auxiliary program 42 before the generation of the intermediate image data is started (arrow C).
  • the auxiliary program 42 that has received the execution command from the general-purpose print program 41 starts the print parameter editing process (arrow D, FIG. 7).
  • the print parameter editing process is a process executed before the generation of intermediate image data by the general-purpose print program 41 is started.
  • the auxiliary program 42 can acquire various information included in the print instruction in addition to the print parameter from the general-purpose print program 41 by an execution command of the print parameter editing process. Note that, among the information to be acquired, the print parameters are acquired in a state in which writing is permitted. Therefore, the auxiliary program 42 can edit the print parameters in the print parameter editing process.
  • the execution command output by the arrow C includes print parameters and print queue information.
  • the auxiliary program 42 of the present embodiment edits the print parameter included in the execution instruction according to the print queue information included in the execution instruction. Details of the print parameter editing process will be described later.
  • the print parameters include general parameters used for generating print data by the general-purpose printing program 41 and unique parameters not used for generating print data by the general-purpose printing program 41.
  • the auxiliary program 42 can edit general parameters and unique parameters in the print parameter editing process.
  • the general editing application 43 accepts editing of general-purpose parameters but does not accept editing of unique parameters.
  • General parameters are parameters that can be exchanged between the general-purpose printing program 41 and the auxiliary program 42.
  • the general-purpose parameters are, for example, paper size, print resolution, and color/monochrome.
  • the auxiliary program 42 edits the print parameters themselves of the print job for the general parameters.
  • the auxiliary program 42 may be edited by overwriting the print parameters of the print job, or by providing the print parameters to the general-purpose print program 41, the print parameters may be edited via the general-purpose print program 41. ..
  • the unique parameter is a parameter that cannot be exchanged between the general-purpose print program 41 and the auxiliary program 42.
  • the peculiar parameters are, for example, designation of a paper feed tray, double-sided/single-sided, aggregate printing, addition of watermark.
  • the auxiliary program 42 stores the unique parameter in the storage area for the auxiliary program 42 in the memory 12 without using the general-purpose printing program 41, and performs editing and reading.
  • the storage area for the auxiliary program 42 may be, for example, a registry prepared by the OS 21. If the general-purpose print program 41 can handle the unique parameter, the auxiliary program 42 may edit the unique parameter via the general-purpose print program 41.
  • the auxiliary program 42 returns an end notification indicating the end of the print parameter editing process to the general-purpose print program 41 and ends the process (arrow E).
  • the general-purpose print program 41 converts the format of the image data included in the print execution notification into the format of the intermediate image data in response to receiving the end notification indicating the end of the print parameter editing process from the auxiliary program 42.
  • Image data is generated, and a print job including intermediate image data is generated (arrow F).
  • the image data included in the editing application 43 is of various types, and the general-purpose print program 41 converts the received image data into intermediate image data suitable for generating print data.
  • This intermediate image data reflects the general-purpose parameters that have been edited in the print parameter editing process. If the image data included in the print execution notification is data suitable for generating print data, generation of intermediate image data may be omitted and the intermediate image data may be used as it is.
  • the intermediate image data is, for example, XPS data.
  • the general-purpose print program 41 generates print data based on the generated intermediate image data (arrow G).
  • the print data generated by the general-purpose print program 41 is print data in a format that can be used for printing by various printers.
  • the print data is, for example, PWGRaster data or PDF data. If the general-purpose print program 41 can generate the print data from the image data included in the print execution notification without using the intermediate image data, the process for generating the intermediate image data indicated by the arrow F may be omitted.
  • the auxiliary program 42 edits the intermediate image data or the print data. For example, the auxiliary program 42 edits the intermediate image data according to the unique parameter before the print data is generated based on the intermediate image data generated by the general-purpose print program 41. Alternatively, the auxiliary program 42 edits the print data according to the unique parameter before the print data generated by the general-purpose print program 41 is transmitted to the printer 2.
  • the auxiliary program 42 adds, for example, a command for executing a function specific to the printer 2 to the print data.
  • the functions peculiar to the printer 2 are, for example, toner save setting and finisher setting.
  • the auxiliary program 42 may add a command for executing these functions to the print data.
  • the general-purpose print program 41 attaches the generated print data or the print data after being edited by the auxiliary program 42, and sends a print command to the printer 2 (arrow H).
  • the printer 2 that has received the print command prints the image of the print data according to the print data attached to the print command.
  • the printer 2 receives the print data to which the command is added, the printer 2 performs the operation indicated by the command when executing the printing.
  • the print data is edited by the auxiliary program 42, even if the auxiliary program 42 sends a print command to the printer 2 via the communication IF 30 without passing through the general-purpose print program 41 after the processing is completed. Good.
  • the general-purpose printing program 41 allows one printer to create a plurality of print queues. For example, when the general-purpose printing program 41 detects that a new printer is connected to the printing system, the general-purpose printing program 41 accepts creation of a plurality of print queues for one printer. Alternatively, when the general-purpose print program 41 receives an instruction to create a copy of a registered print queue, it accepts creation of a new print queue for the same printer. Then, the general-purpose print program 41 stores the created print queue in the memory 12 in association with the identification information of the auxiliary program 42 corresponding to the printer. The general-purpose print program 41 causes the auxiliary program 42 stored in association with the print queue to be executed no matter which print queue the print instruction is in.
  • the print queue creation process may be a process performed by the OS 21.
  • the auxiliary program 42 of this embodiment includes a parameter list 51 that stores print queue information of all printers that the printer itself supports.
  • the parameter list 51 for example, as shown in FIG. 3, information identifying each created print queue and information indicating print parameters set in the print queue are associated and stored as one record. To be done.
  • the record stored in the parameter list 51 is an example of setting data.
  • the parameter list 51 is stored in the storage area for the auxiliary program 42 in the memory 12.
  • the storage area for the auxiliary program 42 may be, for example, a registry prepared by the OS 21.
  • the parameter list 51 includes, for example, as many records as the number of print queues that stores the name of the print queue designated by the user and the print parameters set in the print queue in association with each other.
  • the print queue name is an example of print queue identification information.
  • the print parameters are, for example, paper size, color/monochrome, double-sided/single-sided, print resolution, and can include both the above-mentioned general-purpose parameters and unique parameters.
  • the unique parameter is an example of a unique print parameter.
  • a user who wants to perform draft printing by monochrome double-sided printing and clear printing by single-sided color printing a user who wants to operate the same printer A as shown in FIG.
  • Two types of print queues can be set.
  • print parameters for double-sided printing in monochrome with paper size A4 Is set.
  • print parameters for double-sided printing in color with a paper size of A4 is set as a print job to be printed by the same printer A.
  • the general-purpose print program 41 When the editing application 43 or the like receives a print selection instruction for printing using the general-purpose print program 41, the general-purpose print program 41, as shown in FIG. The name of each print queue is displayed on the UI 20. When one of the print queues is selected and a print instruction is received via the general-purpose print program 41, the general-purpose print program 41 executes the auxiliary program 42 corresponding to the printer of the print queue. The auxiliary program 42 reads the print parameters stored in association with the selected print queue from the parameter list 51 and sets them as the print parameters of the print instruction.
  • the user selects the print queue "Printer A-for draft” from the options shown in FIG. 4 when confirming a draft, and selects the print queue "Printer A-for draft” when printing a clean copy.
  • the printer A which is the same printer, to perform printing with the print parameters according to each application.
  • the general-purpose print program 41 receives a print queue creation instruction from the user (arrow a).
  • the general-purpose print program 41 accepts the print queue creation instruction as described above by a plurality of print queue creation instructions for a new printer or a print queue copy instruction.
  • the general-purpose print program 41 receives the name of the print queue to be created and the information indicating the printer, associates the printer identification information with the identification information of the auxiliary program 42, and creates the print queue (arrow b).
  • the general-purpose print program 41 sets general print parameters in the created print queue, for example.
  • the general-purpose print program 41 operates the print parameter setting program, which is a part of the auxiliary program 42, and passes the newly created print queue information to the auxiliary program 42 (arrow c).
  • the print parameter setting program is a program executed after the print queue is created in response to the print queue creation instruction or when the print parameter change instruction of the print queue is received.
  • the print parameter setting program of the auxiliary program 42 may be executed by directly receiving an execution instruction from the user.
  • the auxiliary program 42 receives the created print queue information such as the print queue name and information indicating the printer from the general-purpose print program 41, and adds the created print queue record to the parameter list 51 (arrow d). At this time, the auxiliary program 42 may store the general print parameters set by the general-purpose print program 41 in the parameter list 51, or may store the initial values of the print parameters by itself and store the initial values. Alternatively, a record having blank print parameters may be created.
  • the auxiliary program 42 accepts a print parameter change instruction for each print queue stored in the parameter list 51. For example, when an instruction for designating a print queue and referring to print parameters is received by various applications or the general-purpose print program 41 (arrow e), the general-purpose print program 41 operates the print parameter setting program of the auxiliary program 42. Then, the instruction to refer to the print parameter is passed (arrow f).
  • the auxiliary program 42 causes the UI 20 to display a setting screen for setting print parameters in response to an instruction to refer to the print parameters (arrow g).
  • the process of arrow g is an example of the display process. Note that the auxiliary program 42 may proceed to arrow g and display the setting screen even when a record is added to the parameter list 51 by arrow d.
  • Figure 6 shows an example of the setting screen.
  • the selection fields such as the paper size and the paper feed tray are displayed with the print parameters stored in the parameter list 51 being selected. Further, buttons such as an OK button 62 and a cancel button 63 are also displayed on the setting screen 61. If the print parameter of the parameter list 51 is blank, the initial value of the print parameter may be displayed.
  • the auxiliary program 42 accepts the change of the print parameter on the setting screen 61 being displayed.
  • the auxiliary program 42 changes and displays the setting screen 61 based on the received instruction (arrow h).
  • the auxiliary program 42 stores the content displayed at that time in the parameter list 51 as a print parameter for the print queue being referred to (arrow i).
  • the process of arrow i is an example of a storage process.
  • the auxiliary program 42 passes an end notification to the general-purpose print program 41 (arrow j) and ends the process.
  • the auxiliary program 42 passes the end notice to the general-purpose print program 41 without storing in the parameter list 51, and ends the process.
  • the general-purpose printing program 41 may receive the print parameter information set by the auxiliary program 42 from the auxiliary program 42 and store the information in the area used by the general-purpose printing program 41 itself.
  • the processing of the general-purpose print program 41 in this case is also an example of the storage processing.
  • the general-purpose print program 41 is similar to the print parameters stored in the parameter list 51 of the auxiliary program 42 when the print parameter information of the print queue is requested during execution of various applications. Information can be displayed.
  • This print parameter editing process is executed by the CPU 11 of the PC 1 in accordance with the auxiliary program 42 upon receiving an execution command from the general-purpose print program 41 based on the print instruction.
  • the general-purpose print program 41 when one of the created print queues is selected and there is a print instruction to the general-purpose print program 41 to print an image, the general-purpose print program 41
  • the auxiliary program 42 stored in association with the printer for the selected print queue is executed.
  • the print parameter editing process is a process executed before the print data is generated by the general-purpose print program 41.
  • the CPU 11 stores print queue information indicating a print queue designated by a print instruction as a device for executing printing, and information indicating print parameters attached to the print instruction in a general-purpose print program. It is acquired from 41 (S101).
  • the print parameter attached to the print instruction is a print parameter set by an application or the like that has received the print instruction, and includes only general-purpose parameters.
  • the CPU 11 reads out print parameters stored in association with the acquired print queue from the parameter list 51 (S102).
  • S102 is an example of the reading process.
  • the print parameter read from the parameter list 51 may include both a general-purpose parameter and a unique parameter, or only one of them. As described above, the general-purpose parameters are exchanged between the general-purpose printing program 41 and the auxiliary program 42, but the unique parameters are not exchanged and are handled in the storage area for the auxiliary program 42.
  • the CPU 11 determines whether or not the print parameter read from the parameter list 51 includes a unique parameter (S103). When it is determined that the unique parameter is not included (S103: NO), the CPU 11 determines whether the print parameter acquired in S101 and the print parameter read in S102 match (S104). .. When it is determined that they do not match (S104: NO), the CPU 11 causes the UI 20 to display a confirmation dialog for inquiring which one to use in this printing (S105).
  • the CPU 11 determines whether or not the selection to use the print parameter read from the parameter list 51 in the current printing is accepted via the UI 20 in the displayed confirmation dialog (S106).
  • S106 is an example of a selection process.
  • the CPU 11 sets the print parameter set by the print instruction.
  • a confirmation dialog is displayed on the UI 20 to inquire whether to use the default print parameters of this print queue (S107).
  • the CPU 11 determines whether or not the selection that the print parameter set by the print instruction is set as the default print parameter of the print queue is accepted via the UI 20 in the displayed confirmation dialog (S108).
  • the CPU 11 changes the print parameter of the parameter list 51 to the print parameter attached to the print instruction,
  • the print parameters for this print are set (S109).
  • the change in S109 is an example of a change process.
  • the CPU 11 sets the print parameter read from the parameter list 51 to the current print parameter. Is set as the print parameter of the print instruction (S110). S110 is an example of an automatic setting process. As a result, the print parameters set in the parameter list 51 are used regardless of the print parameters set by the application.
  • the CPU 11 determines to use the print parameter read from the parameter list 51. Then, the CPU 11 sets a general parameter among the print parameters read from the parameter list 51 as the print parameter of the print job (S111).
  • the general-purpose parameters are shared with the general-purpose printing program 41. Further, the CPU 11 stores and sets the unique parameter among the print parameters read from the parameter list 51 in the storage area for the auxiliary program 42 (S112).
  • S111 and S112 are an example of automatic setting processing.
  • the PC 1 executes each process according to the general-purpose printing program 41 and the auxiliary program 42, as shown in the sequence diagram of FIG. 2 described above. Even when the print parameter read from the parameter list 51 includes the unique parameter, only the general-purpose parameter portion may be compared with the print parameter of the print instruction, and the processes of S104 to S110 may be performed.
  • the auxiliary program 42 edits the intermediate image data based on the execution instruction from the general-purpose print program 41.
  • the procedure of the intermediate image data editing process for realizing the operation of editing the intermediate image data will be described with reference to the flowchart of FIG.
  • This intermediate image data editing process is executed by the CPU 11 of the PC 1 according to the auxiliary program 42 upon receiving an execution command from the general-purpose printing program 41.
  • the intermediate image data editing process is a process executed before the print data is generated by the general-purpose print program 41.
  • the CPU 11 acquires print parameters. Specifically, the CPU 11 acquires general parameters from the area shared with the general printing program 41 (S201). Further, the CPU 11 reads the unique parameter from the storage area for the auxiliary program 42 (S202). The print parameters acquired in S201 and S202 are print parameters that have been edited in the print parameter editing process. Then, the CPU 11 determines whether or not the print parameters acquired in S201 and S202 include parameters that can be handled by editing the intermediate image data (S203).
  • the CPU 11 processes the intermediate image data (S204). After S204, or when it is determined that the corresponding parameter is not included by editing the intermediate image data (S203: NO), the CPU 11 notifies the general-purpose printing program 41 of the end of the intermediate image data editing process, The image data editing process ends.
  • the auxiliary program 42 edits the print data in the print data editing process, as in the intermediate image data editing process.
  • the auxiliary program 42 executes print data editing processing based on the execution instruction from the general-purpose print program 41.
  • the procedure of the print data editing process will be described with reference to the flowchart of FIG.
  • This print data editing process is executed by the CPU 11 of the PC 1 in accordance with the auxiliary program 42 upon receiving an execution command from the general-purpose print program 41.
  • the print data editing process is a process executed after the print data is generated by the general-purpose print program 41.
  • the CPU 11 acquires general parameters from the print parameters (S301). Further, the CPU 11 reads the unique parameter from the storage area for the auxiliary program 42 (S302). The print parameters acquired in S301 and S302 are print parameters that have been edited in the print parameter editing process. Then, the CPU 11 determines whether or not the print parameters acquired in S301 and S302 include parameters that can be handled by editing the print data (S303).
  • the CPU 11 processes the print data (S304). After S304, or when it is determined by editing the print data that the corresponding parameter is not included (S303: NO), the CPU 11 notifies the general-purpose print program 41 of the end of the print data editing process, and edits the print data. The process ends.
  • the print parameters set in the print queue are automatically set. For example, by storing print parameters including the peculiar parameters in the parameter list 51, the peculiar parameters are automatically used for printing by selecting the print queue.
  • the user can easily set unique parameters that cannot be selected in the print settings in the editing application 43 by selecting the print queue. Therefore, the user's setting operation is simple and convenient.
  • the editing application 43 may accept print parameter settings including unique parameters. Further, if the general-purpose print program 41 can accept the print parameters including the unique parameters, the print parameters including both may be exchanged between the general-purpose print program 41 and the auxiliary program 42.
  • the auxiliary program 42 does not need to store the unique parameter in the storage area for the auxiliary program 42 in the memory 12.
  • the CPU 11 may set the print parameters including the general-purpose parameters and the unique parameters as the print parameters of the print job. Further, the CPU 11 may acquire the print parameters including the general-purpose parameters and the peculiar parameters, with S201 and S202 of the intermediate image data editing process and S301 and S302 of the print data editing process as one step, respectively.
  • the general-purpose print program 41 may generate the print data using the general-purpose parameter of the received print parameters and do nothing to the unique parameter.
  • the unique parameter and the general-purpose parameter may be distinguished by, for example, a flag attached to each parameter.
  • auxiliary program 42 of the present embodiment a plurality of print queues are incorporated in one printer, and print parameters are associated with each print queue and stored in the parameter list 51. ..
  • the auxiliary program 42 is executed when a print instruction is issued in the state where the print queue is selected.
  • the auxiliary program 42 reads the print parameter corresponding to the selected print queue from the parameter list 51, and prints the print parameter corresponding to the print instruction. To do. Therefore, the user only needs to select the print queue when inputting the print instruction, and the print parameter corresponding to the print queue is automatically set. Therefore, the setting labor is reduced.
  • the setting of the print parameter corresponding to each of the plurality of print queues is received, and the received setting is stored in the parameter list 51 in association with the print queue.
  • the print parameters corresponding to can be read.
  • the auxiliary program 42 of the present embodiment receives a print parameter setting instruction based on a user operation such as clicking an icon of a print queue or operating an application provided by a printer vendor, and displays a print parameter setting screen 61. Therefore, it is easy to set print parameters.
  • the print parameter is also attached to the print instruction, if the print parameter attached to the print instruction and the print parameter stored in the parameter list 51 are different, the auxiliary program 42 confirms the user. Therefore, the user's intention can be reflected. Further, when the print parameter attached to the print instruction is selected, the instruction to overwrite the print parameter in the parameter list 51 is accepted, so that the changed print parameter can be used without confirmation from the next printing. ..
  • the device connected to the PC 1 is not limited to the printer, but may be a multifunction device, a copying machine, a FAX device, or any other device having a printing function.
  • the printer connected to the PC 1 is not limited to the example shown in the figure, and may be one printer or three or more printers.
  • the user is inquired when the print parameter set by the application is different from the print parameter stored in the parameter list 51, but the inquiry may not be made.
  • the print parameters stored in the parameter list 51 may always be used.
  • the CPU 11 may execute S102, S111, and S112.
  • the user when the instruction to use the print parameter attached to the print instruction is accepted, the user is inquired whether or not to change the print parameter stored in the parameter list 51. You don't have to.
  • the change of the print parameter stored in the parameter list 51 may be separately accepted as an instruction to change the print parameter and may not be changed at the time of printing.
  • a part of each process described as the process of the general-purpose print program 41 may be the process of the OS 21.
  • the display forms of the print queue selection screen and the like are all examples, and are not limited to the illustrated examples.
  • the auxiliary program 42 has three processes of the print parameter editing process, the intermediate image data editing process, and the print data editing process, but it is not necessary to have all of them.
  • the auxiliary program 42 may be a program including only print parameter editing processing.
  • the print parameter editing processing program, the intermediate image data editing processing program, and the print data editing processing program may be different programs.
  • the module that executes the print parameter editing process is not limited to the auxiliary program 42, and may be a program that receives an instruction from the OS 21 or the general-purpose printing program 41 when performing printing using the general-purpose printing program 41.
  • it may be a print workflow application (Print workflow) published by Microsoft.
  • auxiliary program 42 only the print parameter editing operation by the print parameter editing processing is described in detail, but the auxiliary program 42 may have another role. ..
  • the intermediate image data is generated by the general-purpose print program 41, but the reverse order is also possible.
  • the general-purpose print program 41 generates print data using the print parameters edited by the auxiliary program 42 and the intermediate image data.
  • the auxiliary program 42 is executed by outputting the execution instruction of the auxiliary program 42 from the general-purpose print program 41, but the execution timing of the auxiliary program 42 is not limited to this. For example, it may be directly executed by the OS 21 and executed, or may be the resident auxiliary program 42. When resident, the auxiliary program 42 may receive the execution instruction and perform the above-described operation.
  • a plurality of processes in arbitrary plurality of steps can be arbitrarily changed in execution order or executed in parallel as long as the contents of the process are not inconsistent.
  • the processing disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination thereof. Further, the processing disclosed in the embodiments can be realized in various aspects such as a recording medium recording a program for executing the processing, a method, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

補助プログラム42は、OS21に組み込まれたプリントキューの識別情報と印刷パラメータとを関連付けたパラメータリスト51を、メモリ12に記憶させる。OS21には、1台のプリンタ2に対して複数のプリントキューを組み込むことが可能であり、OS21は、複数のプリントキューのどれかが選択され、汎用印刷プログラム41に対して、画像の印刷をプリンタ2に行わせる印刷指示があった場合に、補助プログラム42を動作させる。補助プログラム42は、複数のプリントキューの1つが選択された状態で印刷指示があった場合に、選択されたプリントキューに対応する印刷パラメータをパラメータリスト51から読み出し、読み出した印刷パラメータを印刷指示の印刷パラメータに設定する。

Description

サポートプログラム、情報処理装置、および印刷方法
 本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
 パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特開2017-134718号公報)。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
 近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
 前述したOS標準の印刷プログラムによる印刷であっても、プリンタドライバによる印刷と同様に、印刷ごとに各種の印刷設定を行う必要が有る。しかしながら、印刷の度に多くの印刷設定を行うのは、ユーザにとって手間である。
 本明細書は、OS標準の印刷プログラムが組み込まれた情報処理装置において、印刷設定を行う際のユーザの手間を軽減する技術を開示する。
 上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置のオペレーティングシステムに組み込まれたプリントキューの識別情報と印刷パラメータとを関連付けた設定データを、前記情報処理装置のメモリに記憶する記憶処理を実行させ、前記オペレーティングシステムには、1台の前記プリンタに対して複数のプリントキューを組み込むことが可能であり、前記オペレーティングシステムは、前記複数のプリントキューのうちのどのプリントキューが選択された状態であっても、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムを動作させるものであり、さらに前記コンピュータに、前記複数のプリントキューのうちの1つが選択された状態において前記印刷指示があった場合に、前記オペレーティングシステムまたは前記汎用印刷プログラムから選択されたプリントキューの識別情報を取得し、取得した前記識別情報に関連付けられた前記印刷パラメータを前記メモリから読み出す読出処理と、前記読出処理にて読み出された前記印刷パラメータを、前記印刷指示によって示される印刷パラメータに設定する自動設定処理と、を実行させる、ことを特徴としている。
 本明細書に開示されるサポートプログラムは、プリントキューの識別情報と印刷パラメータとを関連付けてメモリに記憶する。さらに、サポートプログラムは、プリントキューの1つが選択された状態で印刷プログラムに対する印刷指示があった場合に動作され、選択されたプリントキューに関連付けて記憶されている印刷パラメータを読み出して、印刷指示の印刷パラメータに設定する。従って、印刷指示を入力する際にプリントキューを選択するだけで、そのプリントキューに対応する印刷パラメータが自動的に設定されることから、ユーザによる設定の手間が軽減されている。
 上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
 本明細書に開示される技術によれば、OS標準の印刷プログラムが組み込まれた情報処理装置において、印刷設定を行う際のユーザの手間を軽減する技術が実現される。
印刷システムの電気的構成を示すブロック図である。 各プログラムによる動作の順序の例を示すシーケンス図である。 パラメータデータの例を示す説明図である。 プリンタ選択時の表示の例を示す説明図である。 プリントキューの追加および変更動作の例を示すシーケンス図である。 設定画面の例を示す説明図である。 印刷パラメータ編集処理の手順を示すフローチャートである。 中間画像データ編集処理の手順を示すフローチャートである。 印刷データ編集処理の手順を示すフローチャートである。
 以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
 本形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、プリンタ3と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2およびプリンタ3は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
 PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
 UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。UI20は、表示デバイスの一例である。
 通信IF30は、プリンタ2やプリンタ3との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信IF30は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、USB通信がある。また、有線通信であっても無線通信であってもよい。
 コントローラ10は、CPU11と、メモリ12と、を含む。CPU11は、コンピュータの一例である。メモリ12は、ROMと、RAMと、不揮発性メモリと、を含み、各種のアプリケーションプログラム(以下、「アプリ」とする)などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
 メモリ12の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
 メモリ12には、例えば、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。補助プログラム42は、例えば、マイクロソフト社が公開した仕様に基づいてプリンタベンダによって作成された、ハードウェアサポートアプリ(略称、HSA)である。OS21は、例えば、マイクロソフトウィンドウズ(登録商標)、MacOS(登録商標)、Linux(登録商標)である。なお、メモリ12には、図示したもの以外にも、接続されているプリンタの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
 汎用印刷プログラム41は、PC1からプリンタ2等の各種のプリンタで印刷を実行させるためのアプリであり、OS21にあらかじめ組み込まれているOS標準の印刷プログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。汎用印刷プログラム41は、印刷プログラムの一例である。
 汎用印刷プログラム41は、各プリンタのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム41は、OS21にあらかじめ組み込むために、各プリンタのベンダによってOS21のベンダに提供されるプログラム、例えば、OS21にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
 補助プログラム42は、汎用印刷プログラム41の起動に付随してOS21からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム42は、例えば、汎用印刷プログラム41から起動される。補助プログラム42は、プリンタ2等のベンダによってプリンタのタイプごとに用意されるプログラムである。例えば、インクジェットプリンタ用の補助プログラム42やレーザプリンタ用の補助プログラム42が用意される。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラム42が有っても良い。
 プリンタのベンダは、OS21のベンダが指定する手順に従って、補助プログラム42をOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタ2が接続され、そのプリンタ2に対応する補助プログラム42がプラットフォームに登録されている場合には、当該補助プログラム42を補助プログラム42が格納されているサーバからダウンロードしてPC1に組み込む。
 そして、OS21は、組み込んだ補助プログラム42の識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。複数のモデルのプリンタが接続されているPC1では、各モデルのタイプに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ12に記憶される。つまり、メモリ12には、PC1に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム42の情報が記憶される。
 編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード(登録商標)、パワーポイント(登録商標)である。また、プリンタ2やプリンタ3のベンダから提供されるアプリであってもよい。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、UI20を介して、例えば、プリンタ2に印刷を実行させる印刷指示を受け付ける。
 なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOS21のAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
 なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
 また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
 次に、本形態の補助プログラム42の構成、および補助プログラム42の動作を含む印刷手順の一例について、図2のシーケンス図を参照して説明する。補助プログラム42は、編集アプリ43等を介して、補助プログラム42に対応するプリンタが指定された状態で汎用印刷プログラム41を使用して印刷する印刷指示を受け付けた場合に、汎用印刷プログラム41から実行指示されるプログラムである。以下では、PC1がUI20を介して、例えば、編集アプリ43にて、印刷対象の画像データが指定された状態で、汎用印刷プログラム41を介してのプリンタ2での印刷実行の指示を受け付けた場合であって、プリンタ2のモデルのタイプに対応する補助プログラム42がPC1に組み込まれている場合について説明する。
 まず、編集アプリ43は、UI20を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける(矢印A)。編集アプリ43が表示した画像は、印刷対象の画像の例である。編集アプリ43は、例えば、編集アプリ43にて編集された文書や、編集アプリ43にて読み込んだ写真などを画像として表示する。そして、印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示の内容を示す印刷実行通知をOS21に渡す。なお、図2では、OS21の動作を省略して示している。
 OS21は、汎用印刷プログラム41を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に印刷実行通知を渡す(矢印B)。汎用印刷プログラム41は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、プリントキューを特定するためのプリントキュー情報、アプリにて設定された印刷パラメータを示す情報、印刷対象となる画像データを示す情報、印刷を指示したユーザを識別する情報を、取得できる。なお、後述するように、これらの情報は、補助プログラム42でも使用される。
 汎用印刷プログラム41は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム41は、例えば、プリンタ2が指定されている場合、メモリ12に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ2のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、汎用印刷プログラム41は、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させる。すなわち、汎用印刷プログラム41が印刷実行通知を検知したことを契機に、補助プログラム42への実行命令が汎用印刷プログラム41から出力される。
 補助プログラム42は、汎用印刷プログラム41からの実行指示によって各種の処理を実行する。補助プログラム42による処理には、例えば、印刷指示に含まれる印刷パラメータを編集する印刷パラメータ編集処理がある。本形態の汎用印刷プログラム41は、中間画像データの生成開始前に、補助プログラム42の印刷パラメータ編集処理を実行させる実行命令を出力する(矢印C)。
 汎用印刷プログラム41からの実行命令を受け付けた補助プログラム42は、印刷パラメータ編集処理を開始する(矢印D、図7)。印刷パラメータ編集処理は、汎用印刷プログラム41による中間画像データの生成が開始される前に実行される処理である。補助プログラム42は、印刷パラメータ編集処理の実行命令にて、印刷パラメータの他、印刷指示に含まれる各種の情報を汎用印刷プログラム41から取得できる。なお、取得する情報のうち、印刷パラメータは、書き込みが許可された状態で取得される。そのため、補助プログラム42は、印刷パラメータ編集処理にて、印刷パラメータの編集ができる。
 本形態では、矢印Cにて出力される実行命令には、印刷パラメータとプリントキュー情報が含まれる。本形態の補助プログラム42は、印刷パラメータ編集処理にて、実行命令に含まれる印刷パラメータを実行命令に含まれるプリントキュー情報に応じて編集する。印刷パラメータ編集処理の詳細に付いては、後述する。
 なお、印刷パラメータには、汎用印刷プログラム41による印刷データの生成に用いられる汎用パラメータと、汎用印刷プログラム41による印刷データの生成には用いられない固有パラメータとがある。補助プログラム42は、印刷パラメータ編集処理にて、汎用パラメータの編集も固有パラメータの編集も行うことができる。なお、一般的な編集アプリ43では、汎用パラメータの編集は受け付けるが、固有パラメータの編集は受け付けないことが多い。
 汎用パラメータは、汎用印刷プログラム41と補助プログラム42との間で相互にやり取りができるパラメータである。汎用パラメータは、例えば、用紙サイズ、印刷解像度、カラー/モノクロ、である。補助プログラム42は、汎用パラメータについて、印刷ジョブの印刷パラメータそのものを編集する。補助プログラム42は、印刷ジョブの印刷パラメータに上書きすることで編集しても良いし、汎用印刷プログラム41に印刷パラメータを提供することで、汎用印刷プログラム41を介して印刷パラメータを編集しても良い。
 一方、固有パラメータは、汎用印刷プログラム41と補助プログラム42との間でやり取りできないパラメータである。固有パラメータは、例えば、給紙トレイの指定、両面/片面、集約印刷、ウォータマークの付加、である。補助プログラム42は、汎用印刷プログラム41を介さず、メモリ12内の補助プログラム42用の記憶領域に固有パラメータを記憶し、編集および読み出しを行う。補助プログラム42用の記憶領域は、例えば、OS21によって準備されるレジストリであっても良い。なお、汎用印刷プログラム41が、固有パラメータをも扱うことのできる場合は、補助プログラム42は、汎用印刷プログラム41を介して、固有パラメータを編集しても良い。
 そして、補助プログラム42は、印刷パラメータ編集処理の終了を示す終了通知を汎用印刷プログラム41に返して処理を終了する(矢印E)。
 汎用印刷プログラム41は、補助プログラム42から印刷パラメータ編集処理の終了を示す終了通知を受け取ったことに応じて、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する(矢印F)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。この中間画像データは、印刷パラメータ編集処理にて編集後の汎用パラメータを反映したものである。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
 汎用印刷プログラム41は、生成された中間画像データに基づいて印刷データを生成する(矢印G)。汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、PWGRasterデータ、または、PDFデータである。なお、汎用印刷プログラム41は、中間画像データを介さず、印刷実行通知に含まれる画像データから印刷データを生成できる場合には、矢印Fの中間画像データを生成する処理は無くてもよい。
 印刷パラメータ編集処理において、固有パラメータが設定された場合には、補助プログラム42は、中間画像データあるいは印刷データを編集する。例えば、補助プログラム42は、汎用印刷プログラム41が生成した中間画像データに基づき印刷データが生成される前に、固有パラメータに応じて中間画像データを編集する。あるいは、補助プログラム42は、汎用印刷プログラム41が生成した印刷データがプリンタ2に送信される前に、固有パラメータに応じて印刷データを編集する。
 補助プログラム42は、例えば、プリンタ2に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ2に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定、がある。プリンタ2が自身でウォータマークやヘッダ/フッタ等を画像に付加できる機能を有している場合、補助プログラム42は、これらの機能を実行させるコマンドを印刷データに付加しても良い。
 汎用印刷プログラム41は、生成した印刷データあるいは補助プログラム42によって編集後の印刷データを付して、プリンタ2に対して印刷命令を送信する(矢印H)。これにより、印刷命令を受信したプリンタ2では、印刷命令に付された印刷データに従って、印刷データの画像の印刷が実行される。プリンタ2は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。なお、補助プログラム42にて印刷データを編集した場合、処理の終了後、補助プログラム42が、通信IF30を介して、汎用印刷プログラム41を介さずにプリンタ2に対して印刷命令を送信してもよい。
 本形態の印刷システムでは、汎用印刷プログラム41は、1台のプリンタに対して、複数のプリントキューの作成を許容する。汎用印刷プログラム41は、例えば、印刷システムに新規のプリンタが接続されたことを検知した場合、1台のプリンタに対して複数のプリントキューの作成を受け付ける。あるいは、汎用印刷プログラム41は、登録済みのプリントキューのコピーを作成する指示を受け付けた場合、同じプリンタに対する新たなプリントキューの作成を受け付ける。そして、汎用印刷プログラム41は、作成したプリントキューを、そのプリンタに対応する補助プログラム42の識別情報と関連付けて、メモリ12に記憶する。汎用印刷プログラム41は、どのプリントキューが選択された状態での印刷指示であっても、プリントキューに関連付けて記憶されている補助プログラム42を実行させる。なお、プリントキューの作成処理は、OS21が行う処理であっても良い。
 本形態の補助プログラム42は、自身にて対応するすべてのプリンタの各プリントキュー情報を記憶するパラメータリスト51を備える。パラメータリスト51には、例えば、図3に示すように、作成された各プリントキューを識別する情報とそのプリントキューに設定されている印刷パラメータを示す情報とが関連付けられて、1つのレコードとして記憶される。パラメータリスト51に記憶されるレコードは、設定データの一例である。パラメータリスト51は、メモリ12内の補助プログラム42用の記憶領域に記憶される。補助プログラム42用の記憶領域は、例えば、OS21によって準備されるレジストリであっても良い。
 パラメータリスト51は、例えば、ユーザによって指定されたプリントキューの名称と、そのプリントキューに設定されている印刷パラメータと、を関連付けて記憶するレコードを、プリントキューの数だけ含む。プリントキューの名称は、プリントキューの識別情報の一例である。印刷パラメータは、例えば、用紙サイズ、カラー/モノクロ、両面/片面、印刷解像度であり、前述した汎用パラメータと固有パラメータとの何れも含むことができる。固有パラメータは、固有印刷パラメータの一例である。
 例えば、本形態の印刷システムで、下書き用の印刷はモノクロの両面印刷で行い、清書用の印刷はカラーの片面印刷で行う運用を図りたいユーザは、図3に示すように、同じプリンタAについて2種類のプリントキューを設定しておくことができる。図3に示した例では、「プリンタA-下書き用」というプリントキューには、名称がプリンタAであるプリンタに印刷を行わせる印刷ジョブとして、用紙サイズがA4でモノクロでの両面印刷の印刷パラメータが設定されている。また、「プリンタA-清書用」というプリントキューには、同じプリンタAに印刷を行わせる印刷ジョブとして、用紙サイズがA4でカラーでの片面印刷の印刷パラメータが設定されている。
 編集アプリ43等にて汎用印刷プログラム41を用いた印刷の印刷指示に際して、プリンタの選択を行う指示を受け付けると、汎用印刷プログラム41は、例えば、図4に示すように、プリンタ名の選択肢として、各プリントキューの名称をUI20に表示させる。プリントキューの1つが選択されて、汎用印刷プログラム41を介した印刷指示を受け付けた場合、汎用印刷プログラム41は、そのプリントキューのプリンタに対応する補助プログラム42を実行させる。補助プログラム42は、選択されたプリントキューに関連付けて記憶されている印刷パラメータをパラメータリスト51から読み出し、印刷指示の印刷パラメータとして設定する。
 ユーザは、例えば、図4に示す選択肢から、下書きの確認時には「プリンタA-下書き用」というプリントキューを選択し、清書を印刷する時には「プリンタA-清書用」というプリントキューを選択して印刷指示を行うことができる。これにより、プリントキューを選択するのみで、それぞれの用途に応じた印刷パラメータでの印刷を、同じプリンタであるプリンタAに行わせることができる。
 次に、プリントキューを汎用印刷プログラム41に登録する手順の一例について、図5のシーケンス図を参照して説明する。汎用印刷プログラム41は、ユーザによるプリントキュー作成の指示を受け付ける(矢印a)。汎用印刷プログラム41は、プリントキューの作成指示を、前述したように、新規のプリンタに対する複数のプリントキューの作成指示やプリントキューのコピー指示にて受け付ける。汎用印刷プログラム41は、作成するプリントキューの名称とプリンタを示す情報とを受け付け、プリンタの識別情報と補助プログラム42の識別情報とを関連付けて、プリントキューを作成する(矢印b)。汎用印刷プログラム41は、プリントキューの作成時には、例えば、作成したプリントキューに一般的な印刷パラメータを設定する。
 プリントキューの作成後、汎用印刷プログラム41は、補助プログラム42の一部分である印刷パラメータ設定用のプログラムを動作させ、新たに作成したプリントキュー情報を補助プログラム42に渡す(矢印c)。印刷パラメータ設定用のプログラムは、プリントキューの作成指示を受けてプリントキューを作成した後、または、プリントキューの印刷パラメータの変更指示を受け付けた場合、に実行されるプログラムである。なお、補助プログラム42の印刷パラメータ設定用のプログラムは、ユーザによる実行指示を直接受け付けて実行されても良い。
 補助プログラム42は、汎用印刷プログラム41から、プリントキューの名称やプリンタを示す情報など、作成したプリントキュー情報を受け取り、作成されたプリントキューのレコードをパラメータリスト51に追加する(矢印d)。このとき、補助プログラム42は、パラメータリスト51に、汎用印刷プログラム41にて設定された一般的な印刷パラメータを記憶しても良いし、自身で印刷パラメータの初期値を備えてその初期値を記憶しても良いし、印刷パラメータが空欄のレコードを作成しても良い。
 さらに、補助プログラム42は、パラメータリスト51に記憶されている各プリントキューについて、印刷パラメータの変更指示を受け付ける。例えば、各種のアプリや汎用印刷プログラム41でプリントキューを指定して印刷パラメータを参照する指示を受け付けた場合(矢印e)、汎用印刷プログラム41は、補助プログラム42の印刷パラメータ設定用のプログラムを動作させて、印刷パラメータを参照する指示を渡す(矢印f)。
 補助プログラム42は、印刷パラメータを参照する指示に応じて、UI20に、印刷パラメータを設定する設定画面を表示させる(矢印g)。矢印gの処理は、表示処理の一例である。なお、補助プログラム42は、矢印dにてパラメータリスト51にレコードを追加した場合にも、矢印gに進んで設定画面を表示させると良い。
 設定画面の例を図6に示す。図6に示す設定画面61では、用紙サイズ、給紙トレイ等の選択欄が、パラメータリスト51に記憶されている印刷パラメータが選択された状態で表示される。また、設定画面61には、OKボタン62やキャンセルボタン63等のボタンも表示される。パラメータリスト51の印刷パラメータが空欄であれば、印刷パラメータの初期値が表示されるとしてもよい。
 補助プログラム42は、表示中の設定画面61で、印刷パラメータの変更を受け付ける。ユーザによる変更指示を受け付けた場合、補助プログラム42は、受け付けた指示に基づいて設定画面61を変更して表示する(矢印h)。
 補助プログラム42は、OKボタン62の操作を受け付けた場合、その時点で表示されている内容を、参照中のプリントキューに対する印刷パラメータとして、パラメータリスト51に記憶する(矢印i)。矢印iの処理は、記憶処理の一例である。さらに、補助プログラム42は、汎用印刷プログラム41に終了通知を渡して(矢印j)、処理を終了する。キャンセルボタン63の操作を受け付けた場合には、補助プログラム42は、パラメータリスト51への記憶を行わずに、汎用印刷プログラム41に終了通知を渡して処理を終了する。
 なお、汎用印刷プログラム41は、補助プログラム42にて設定された印刷パラメータの情報を補助プログラム42から受け取って、汎用印刷プログラム41自身の使用する領域に記憶しても良い。この場合の汎用印刷プログラム41の処理も、記憶処理の一例である。このようにすれば、汎用印刷プログラム41は、各種のアプリの実行中にプリントキューの印刷パラメータの情報が要求された際に、補助プログラム42のパラメータリスト51に記憶されている印刷パラメータと同様の情報を表示させることができる。
 次に、本形態の印刷システムによる印刷実行時において、印刷パラメータを編集する動作を実現する印刷パラメータ編集処理の手順について、図7のフローチャートを参照して説明する。この印刷パラメータ編集処理は、印刷指示に基づいて汎用印刷プログラム41から実行命令を受け付けたことを契機に、補助プログラム42に従って、PC1のCPU11にて実行される。
 なお、前述したように、作成済みのプリントキューのうちの1つが選択された状態で、汎用印刷プログラム41に対して、画像の印刷を行わせる印刷指示があった場合、汎用印刷プログラム41は、選択されたプリントキューに対するプリンタに関連付けて記憶されている補助プログラム42を実行させる。印刷パラメータ編集処理は、汎用印刷プログラム41による印刷データの生成前に実行される処理である。
 印刷パラメータ編集処理では、CPU11は、印刷を実行させる装置として印刷指示にて指定されているプリントキューを示すプリントキュー情報と、印刷指示に付されている印刷パラメータを示す情報と、を汎用印刷プログラム41から取得する(S101)。印刷指示に付される印刷パラメータは、印刷指示を受け付けたアプリ等にて設定されている印刷パラメータであり、汎用パラメータのみが含まれる。
 また、CPU11は、パラメータリスト51から、取得したプリントキューに対応して記憶されている印刷パラメータを読み出す(S102)。S102は、読出処理の一例である。パラメータリスト51から読み出される印刷パラメータは、汎用パラメータと固有パラメータとの両方が含まれていても良いし、片方だけでも良い。前述したように、汎用パラメータは、汎用印刷プログラム41と補助プログラム42との間でやり取りされるが、固有パラメータはやり取りされず、補助プログラム42用の記憶領域にて扱われる。
 CPU11は、パラメータリスト51から読み出した印刷パラメータに、固有パラメータが含まれているか否かを判断する(S103)。固有パラメータが含まれていないと判断した場合(S103:NO)、CPU11は、S101にて取得した印刷パラメータと、S102にて読み出した印刷パラメータとが一致しているか否かを判断する(S104)。一致していないと判断した場合(S104:NO)、CPU11は、今回の印刷にて何れを使用するかを問い合わせる確認ダイアログを、UI20に表示させる(S105)。
 CPU11は、表示中の確認ダイアログにて、今回の印刷にて、パラメータリスト51から読み出した印刷パラメータを使用するとの選択をUI20を介して受け付けたか否かを判断する(S106)。S106は、選択処理の一例である。パラメータリスト51から読み出した印刷パラメータではなく、印刷指示にて設定された印刷パラメータを使用するとの選択を受け付けたと判断した場合(S106:NO)、CPU11は、印刷指示にて設定された印刷パラメータをこのプリントキューのデフォルトの印刷パラメータとするか否かを問い合わせる確認ダイアログを、UI20に表示させる(S107)。
 そして、CPU11は、表示中の確認ダイアログにて、印刷指示にて設定された印刷パラメータをプリントキューのデフォルトの印刷パラメータとするとの選択をUI20を介して受け付けたか否かを判断する(S108)。アプリの印刷パラメータをプリントキューのデフォルトの印刷パラメータとするとの選択を受け付けたと判断した場合(S108:YES)、CPU11は、パラメータリスト51の印刷パラメータを印刷指示に付された印刷パラメータに変更し、今回の印刷の印刷パラメータに設定する(S109)。S109での変更は、変更処理の一例である。
 印刷指示に付された印刷パラメータではなく、パラメータリスト51から読み出した印刷パラメータを使用するとの選択を受け付けたと判断した場合(S106:YES)、CPU11は、パラメータリスト51から読み出した印刷パラメータを、今回の印刷指示の印刷パラメータとして設定する(S110)。S110は、自動設定処理の一例である。これにより、アプリで設定された印刷パラメータに関わらず、パラメータリスト51に設定されている印刷パラメータが使用される。
 一方、パラメータリスト51から読み出した印刷パラメータに固有パラメータが含まれていると判断した場合(S103:YES)、CPU11は、パラメータリスト51から読み出した印刷パラメータを使用すると決定する。そして、CPU11は、パラメータリスト51から読み出した印刷パラメータのうち、汎用パラメータを、印刷ジョブの印刷パラメータとして設定する(S111)。汎用パラメータは、汎用印刷プログラム41と共有される。さらに、CPU11は、パラメータリスト51から読み出した印刷パラメータのうち、固有パラメータを補助プログラム42用の記憶領域に記憶して設定する(S112)。S111とS112とは、自動設定処理の一例である。
 印刷指示の印刷パラメータとパラメータリスト51の印刷パラメータとが一致していると判断した場合(S104:YES)、または、プリントキューのデフォルトの印刷パラメータを変更しないと判断した場合(S108:NO)、または、S109の後、または、S110の後、または、S112の後、CPU11は、印刷パラメータ編集処理の終了を汎用印刷プログラム41に通知し(図2の矢印E)、印刷パラメータ編集処理を終了する。
 以後、PC1は、汎用印刷プログラム41および補助プログラム42に従って、前述した図2のシーケンス図に示したように、各処理を実行する。なお、パラメータリスト51から読み出した印刷パラメータに固有パラメータが含まれている場合であっても、汎用パラメータ部分のみを印刷指示の印刷パラメータと比較して、S104~S110の処理を行っても良い。
 例えば、補助プログラム42は、汎用印刷プログラム41からの実行命令に基づいて、中間画像データを編集する。中間画像データを編集する動作を実現する中間画像データ編集処理の手順について、図8のフローチャートを参照して説明する。この中間画像データ編集処理は、汎用印刷プログラム41から実行命令を受け付けたことを契機に、補助プログラム42に従って、PC1のCPU11にて実行される。中間画像データ編集処理は、汎用印刷プログラム41による印刷データの生成前に実行される処理である。
 中間画像データ編集処理では、CPU11は、印刷パラメータを取得する。具体的には、CPU11は、汎用印刷プログラム41と共有される領域から汎用パラメータを取得する(S201)。さらに、CPU11は、補助プログラム42用の記憶領域から固有パラメータを読み出す(S202)。S201とS202で取得する印刷パラメータは、印刷パラメータ編集処理にて編集後の印刷パラメータである。そして、CPU11は、S201やS202にて取得した印刷パラメータに、中間画像データの編集によって対応できるパラメータが含まれているか否かを判断する(S203)。
 中間画像データの編集によって対応できるパラメータが含まれていると判断した場合(S203:YES)、CPU11は、中間画像データを加工する(S204)。S204の後、または、中間画像データの編集によって対応できるパラメータが含まれていないと判断した場合(S203:NO)、CPU11は、中間画像データ編集処理の終了を汎用印刷プログラム41に通知し、中間画像データ編集処理を終了する。
 なお、印刷データの編集によって対応できる印刷パラメータが含まれている場合、補助プログラム42は、中間画像データ編集処理と同様に、印刷データ編集処理にて印刷データの編集を行う。その場合、補助プログラム42は、汎用印刷プログラム41からの実行命令に基づいて、印刷データの編集処理を実行する。印刷データ編集処理の手順について、図9のフローチャートを参照して説明する。この印刷データ編集処理は、汎用印刷プログラム41から実行命令を受け付けたことを契機に、補助プログラム42に従って、PC1のCPU11にて実行される。印刷データ編集処理は、汎用印刷プログラム41による印刷データの生成後に実行される処理である。
 印刷データ編集処理では、CPU11は、印刷パラメータのうちの汎用パラメータを取得する(S301)。さらに、CPU11は、補助プログラム42用の記憶領域から固有パラメータを読み出す(S302)。S301とS302にて取得する印刷パラメータは、印刷パラメータ編集処理にて編集後の印刷パラメータである。そして、CPU11は、S301やS302にて取得した印刷パラメータに、印刷データの編集によって対応できるパラメータが含まれているか否かを判断する(S303)。
 印刷データの編集によって対応できるパラメータが含まれていると判断した場合(S303:YES)、CPU11は、印刷データを加工する(S304)。S304の後、または、印刷データの編集によって対応できるパラメータが含まれていないと判断した場合(S303:NO)、CPU11は、印刷データ編集処理の終了を汎用印刷プログラム41に通知し、印刷データ編集処理を終了する。
 つまり、編集アプリ43でプリントキューを選択するのみで、プリントキューに設定されている印刷パラメータが自動的に設定される。例えば、パラメータリスト51に固有パラメータを含む印刷パラメータを記憶させておくことで、プリントキューの選択によって自動的に固有パラメータが印刷に用いられる。ユーザは、編集アプリ43での印刷設定にて選択できない固有パラメータについても、プリントキューの選択だけで容易に設定できる。従って、ユーザの設定操作が簡単であり、利便性が高い。
 なお、編集アプリ43が固有パラメータにも対応するアプリであれば、編集アプリ43にて固有パラメータを含む印刷パラメータの設定を受け付けても良い。また、汎用印刷プログラム41が固有パラメータを含む印刷パラメータを受け付け可能であれば、両方を含む印刷パラメータを汎用印刷プログラム41と補助プログラム42との間で相互にやり取りしても良い。
 その場合、補助プログラム42は、固有パラメータをメモリ12内の補助プログラム42用の記憶領域に記憶する必要はない。例えば、印刷パラメータ編集処理のS111とS112を1つのステップとして、CPU11は、汎用パラメータと固有パラメータとを含む印刷パラメータを印刷ジョブの印刷パラメータに設定すればよい。また、中間画像データ編集処理のS201とS202、および、印刷データ編集処理のS301とS302を、それぞれ1つのステップとして、CPU11は、汎用パラメータと固有パラメータとを含む印刷パラメータを取得すればよい。
 汎用印刷プログラム41は、例えば、受け取った印刷パラメータのうちの汎用パラメータを用いて印刷データを生成し、固有パラメータには何もしないとすれば良い。なお、編集アプリ43や汎用印刷プログラム41では、例えば、各パラメータに付されたフラグによって、固有パラメータと汎用パラメータとを区別しても良い。
 以上、詳細に説明したように、本形態の補助プログラム42によれば、1つのプリンタに対して複数のプリントキューが組み込まれ、各プリントキューに印刷パラメータを関連付けてパラメータリスト51に記憶している。補助プログラム42は、プリントキューが選択された状態で印刷指示があった場合に実行され、その選択されたプリントキューに対応する印刷パラメータをパラメータリスト51から読み出して、印刷指示に対応する印刷パラメータとする。従って、ユーザは、印刷指示を入力する際にプリントキューを選択するだけで、そのプリントキューに対応する印刷パラメータが自動的に設定されることから、設定の手間が軽減されている。これにより、OS標準の印刷プログラムである汎用印刷プログラム41が組み込まれたPC1において、印刷設定を行う際のユーザの手間を軽減することが期待できる。また、簡単な操作によって印刷パラメータの切り替えが可能になるため、設定ミスが生じ難い。
 さらに、本形態の補助プログラム42によれば、複数のプリントキューのそれぞれに対応する印刷パラメータの設定を受け付け、受け付けた設定をプリントキューと関連付けてパラメータリスト51に記憶するので、選択されたプリントキューに対応する印刷パラメータを読み出すことができる。また、本形態の補助プログラム42は、印刷パラメータの設定指示を、プリントキューのアイコンのクリックやプリンタベンダ提供のアプリの操作等のユーザ操作に基づいて受け付け、印刷パラメータ設定用の設定画面61を表示するので、印刷パラメータの設定が容易である。
 さらに、印刷指示にも印刷パラメータが付されることから、印刷指示に付された印刷パラメータとパラメータリスト51に記憶されている印刷パラメータとが異なる場合には、補助プログラム42にてユーザ確認を行うので、ユーザの意図を反映できる。さらに、印刷指示に付された印刷パラメータが選択された場合、その印刷パラメータをパラメータリスト51に上書きする指示を受け付けるので、次回の印刷からは確認なしで変更後の印刷パラメータを利用することができる。
 なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、図示の例に限らず、1台でも良いし、3台以上でもよい。
 また、本形態では、アプリで設定された印刷パラメータとパラメータリスト51に記憶されている印刷パラメータとが異なる場合に、ユーザに問い合わせるとしたが、問い合わせなくてもよい。例えば、常にパラメータリスト51に記憶されている印刷パラメータを用いるとしても良い。その場合、印刷パラメータ編集処理では、CPU11は、S102とS111とS112とを実行すればよい。
 また、本形態では、印刷指示に付された印刷パラメータを使用する指示を受け付けた場合、さらにパラメータリスト51に記憶されている印刷パラメータを変更するか否かを、ユーザに問い合わせるとしたが、問い合わせなくても良い。例えば、パラメータリスト51に記憶されている印刷パラメータの変更は、印刷パラメータを変更する指示として別途受け付け、印刷実行時には変更しないとしても良い。
 また、本形態で、汎用印刷プログラム41の処理として説明した各処理の一部は、OS21の処理であっても良い。また、プリントキューの選択画面等の表示形態は、何れも一例であり、図示の例に限らない。
 また、例えば、実施の形態では、補助プログラム42は印刷パラメータ編集処理と中間画像データ編集処理と印刷データ編集処理との3つの処理を備えているとしたが、全てを備えていなくても良い。例えば、補助プログラム42は印刷パラメータ編集処理のみを含むプログラムであってもよい。また、印刷パラメータ編集処理のプログラムと中間画像データ編集処理のプログラムと印刷データ編集処理のプログラムとは、別のプログラムであっても良い。
 また、印刷パラメータ編集処理を実行するモジュールは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
 また、実施の形態では、補助プログラム42の動作として、印刷パラメータ編集処理による印刷パラメータの編集動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。
 また、実施の形態では、補助プログラム42による印刷パラメータ編集処理の後、汎用印刷プログラム41による中間画像データの生成が行われるとしたが、逆順でも良い。その場合、汎用印刷プログラム41は、補助プログラム42にて編集された印刷パラメータと、中間画像データとを用いて、印刷データを生成する。
 また、実施の形態では、汎用印刷プログラム41から補助プログラム42の実行命令が出力されることで、補助プログラム42が実行されるとしているが、補助プログラム42の実行タイミングはこれに限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
 また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
 また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
 1 PC
 2 プリンタ
 11 CPU
 12 メモリ
 20 UI
 21 OS
 41 汎用印刷プログラム
 42 補助プログラム

 

Claims (9)

  1.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
     前記コンピュータに、
      前記情報処理装置のオペレーティングシステムに組み込まれたプリントキューの識別情報と印刷パラメータとを関連付けた設定データを、前記情報処理装置のメモリに記憶する記憶処理を実行させ、前記オペレーティングシステムには、1台の前記プリンタに対して複数のプリントキューを組み込むことが可能であり、前記オペレーティングシステムは、前記複数のプリントキューのうちのどのプリントキューが選択された状態であっても、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムを動作させるものであり、
     さらに前記コンピュータに、
      前記複数のプリントキューのうちの1つが選択された状態において前記印刷指示があった場合に、前記オペレーティングシステムまたは前記汎用印刷プログラムから選択されたプリントキューの識別情報を取得し、取得した前記識別情報に関連付けられた前記印刷パラメータを前記メモリから読み出す読出処理と、
      前記読出処理にて読み出された前記印刷パラメータを、前記印刷指示によって示される印刷パラメータに設定する自動設定処理と、
      を実行させる、
     ことを特徴とするサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
     前記印刷パラメータは、前記汎用印刷プログラムが印刷データの生成においてサポートしない固有印刷パラメータを含み、
     前記自動設定処理において、前記固有印刷パラメータが設定される場合に、前記汎用印刷プログラムが出力する前記印刷データ、または、前記印刷データを生成するための中間画像データに、前記固有印刷パラメータに応じた加工を行う加工処理を、さらに前記コンピュータに実行させる、
     ことを特徴とするサポートプログラム。
  3. 請求項2に記載するサポートプログラムにおいて、
     前記自動設定処理では、前記設定した印刷パラメータを前記汎用印刷プログラムに渡す、
     ことを特徴とするサポートプログラム。
  4. 請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記複数のプリントキューのうちの1つが選択された状態において印刷設定を行う設定指示があった場合に、印刷パラメータの設定を受け付ける設定画面を前記情報処理装置の表示デバイスに表示させる表示処理を実行させ、
     前記記憶処理では、
      前記設定画面を介して印刷パラメータの設定を受け付けた場合に、選択された前記プリントキューの識別情報と、前記設定画面を介して受け付けた前記印刷パラメータと、を関連付けて前記メモリに記憶する、
     ことを特徴とするサポートプログラム。
  5. 請求項1から請求項4のいずれか1つに記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記読出処理にて読み出された前記印刷パラメータが、前記印刷指示によって示される印刷パラメータと一致しない場合、前記印刷指示によって示される印刷パラメータか、前記読出処理にて読み出された前記印刷パラメータか、の選択を受け付ける選択処理を実行させ、
     さらに前記コンピュータに、
      前記選択処理にて前記読出処理にて読み出された前記印刷パラメータが選択された場合、前記自動設定処理を実行させ、前記選択処理にて前記印刷指示によって示される印刷パラメータが選択された場合、前記自動設定処理を実行させない、
     ことを特徴とするサポートプログラム。
  6. 請求項5に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記選択処理にて前記印刷指示によって示される印刷パラメータが選択された場合、前記読出処理にて読み出された前記印刷パラメータを、前記印刷指示によって示される印刷パラメータに変更する変更処理を実行させる、
     ことを特徴とするサポートプログラム。
  7. 請求項1から請求項6のいずれか1つに記載するサポートプログラムにおいて、
     前記汎用印刷プログラムは、前記印刷指示を検知した後、前記印刷指示に対応する印刷データの生成を開始する前までに、前記印刷指示を検知したことに基づく実行命令を前記サポートプログラムに出力するものであり、前記サポートプログラムは、
     前記コンピュータに、
      前記実行命令が出力された場合に、前記読出処理を実行させる、
     ことを特徴とするサポートプログラム。
  8.  コンピュータとメモリとを備える情報処理装置であって、
     前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムが組み込まれ、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記コンピュータは、
      前記オペレーティングシステムに組み込まれたプリントキューの識別情報と印刷パラメータとを関連付けた設定データを、前記メモリに記憶する記憶処理を実行し、前記オペレーティングシステムには、1台の前記プリンタに対して複数のプリントキューを組み込むことが可能であり、前記オペレーティングシステムは、前記複数のプリントキューのうちのどのプリントキューが選択された状態であっても、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムを動作させるものであり、
     さらに前記コンピュータは、
      前記複数のプリントキューのうちの1つが選択された状態において前記印刷指示があった場合に、前記オペレーティングシステムまたは前記汎用印刷プログラムから選択されたプリントキューの識別情報を取得し、取得した前記識別情報に関連付けられた前記印刷パラメータを前記メモリから読み出す読出処理と、
      前記読出処理にて読み出された前記印刷パラメータを、前記印刷指示によって示される印刷パラメータに設定する自動設定処理と、
      を実行する、
     ことを特徴とする情報処理装置。
  9.  情報処理装置にプリンタが接続され、
     前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれ、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
      前記オペレーティングシステムに組み込まれたプリントキューの識別情報と印刷パラメータとを関連付けた設定データを、前記情報処理装置のメモリに記憶する記憶ステップを含み、前記オペレーティングシステムには、1台の前記プリンタに対して複数のプリントキューを組み込むことが可能であり、前記オペレーティングシステムは、前記複数のプリントキューのうちのどのプリントキューが選択された状態であっても、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記サポートプログラムを動作させるものであり、
     さらに、
      前記複数のプリントキューのうちの1つが選択された状態において前記印刷指示があった場合に、前記オペレーティングシステムまたは前記汎用印刷プログラムから選択されたプリントキューの識別情報を取得し、取得した前記識別情報に関連付けられた前記印刷パラメータを前記メモリから読み出す読出ステップと、
      前記読出ステップにて読み出された前記印刷パラメータを、前記印刷指示によって示される印刷パラメータに設定する自動設定ステップと、
      を含む、
     ことを特徴とする印刷方法。

     
PCT/JP2020/002918 2019-01-31 2020-01-28 サポートプログラム、情報処理装置、および印刷方法 WO2020158711A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-015953 2019-01-31
JP2019015953A JP7255209B2 (ja) 2019-01-31 2019-01-31 サポートプログラム、情報処理装置、および印刷方法

Publications (1)

Publication Number Publication Date
WO2020158711A1 true WO2020158711A1 (ja) 2020-08-06

Family

ID=71837452

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/002918 WO2020158711A1 (ja) 2019-01-31 2020-01-28 サポートプログラム、情報処理装置、および印刷方法

Country Status (3)

Country Link
US (2) US11531502B2 (ja)
JP (2) JP7255209B2 (ja)
WO (1) WO2020158711A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023145003A (ja) 2022-03-28 2023-10-11 ブラザー工業株式会社 サポートプログラム
JP2023147713A (ja) * 2022-03-30 2023-10-13 ブラザー工業株式会社 サポートプログラム
CN116560599B (zh) * 2023-07-11 2023-09-22 北京普云特科技有限公司 一种智能打印方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
JP2007172087A (ja) * 2005-12-19 2007-07-05 Brother Ind Ltd 仮想オブジェクトを登録するためのプログラム、該プログラムを記憶する記憶媒体、仮想オブジェクト登録方法、及び情報処理装置
JP2013182367A (ja) * 2012-03-01 2013-09-12 Konica Minolta Inc プリントキュー作成プログラム及びプリントキュー作成方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9007603B2 (en) * 2006-03-31 2015-04-14 Konica Minolta Laboratory U.S.A., Inc. Print management method and apparatus with destination panel
JP4941153B2 (ja) 2007-07-25 2012-05-30 ブラザー工業株式会社 デバイスドライバ
DE102009010902A1 (de) * 2009-03-02 2010-09-16 SOFHA GmbH Gesellschaft für Soft- und Hardware Verfahren und Anordnung zur Konfiguration eines Druckertreibers sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
JP5489619B2 (ja) * 2009-09-29 2014-05-14 キヤノン株式会社 情報処理装置及びその方法
JP5479166B2 (ja) * 2010-03-11 2014-04-23 キヤノン株式会社 情報処理装置、プリンタドライバのアンインストール方法、プログラム、及び、記録媒体
JP5537240B2 (ja) 2010-04-19 2014-07-02 キヤノン株式会社 情報処理装置及びその制御方法
JP2013089045A (ja) * 2011-10-18 2013-05-13 Canon Inc 情報処理装置、制御方法、及びプログラム
JP5955041B2 (ja) 2012-03-09 2016-07-20 キヤノン株式会社 印刷システム及びその方法
JP6489880B2 (ja) * 2015-03-09 2019-03-27 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム
JP6472368B2 (ja) * 2015-11-25 2019-02-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6631278B2 (ja) 2016-01-29 2020-01-15 ブラザー工業株式会社 ドライバプログラム、及びドライバプログラムとプリンタとのセット
JP2018049520A (ja) * 2016-09-23 2018-03-29 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6936634B2 (ja) * 2017-06-23 2021-09-22 キヤノン株式会社 情報処理装置および情報格納方法
US10949134B2 (en) * 2018-01-19 2021-03-16 Canon Kabushiki Kaisha Client apparatus, control method, and storage medium
US10795622B2 (en) * 2018-03-14 2020-10-06 Ricoh Company, Ltd. Information processing apparatus, printing method, and computer-readable medium
JP7102216B2 (ja) * 2018-05-07 2022-07-19 キヤノン株式会社 プログラム
JP7134719B2 (ja) * 2018-06-05 2022-09-12 キヤノン株式会社 画像形成システム、画像形成装置、情報処理装置、および制御方法
JP7086771B2 (ja) * 2018-07-23 2022-06-20 キヤノン株式会社 印刷装置、印刷装置の制御方法、並びにプログラム
JP7182934B2 (ja) * 2018-07-27 2022-12-05 キヤノン株式会社 画像形成装置、システム、それらの制御方法、及びプログラム
JP7230387B2 (ja) * 2018-09-19 2023-03-01 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
JP7255117B2 (ja) * 2018-09-25 2023-04-11 株式会社リコー 情報処理装置、印刷方法、およびプログラム
JP7175693B2 (ja) * 2018-09-27 2022-11-21 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
JP2007172087A (ja) * 2005-12-19 2007-07-05 Brother Ind Ltd 仮想オブジェクトを登録するためのプログラム、該プログラムを記憶する記憶媒体、仮想オブジェクト登録方法、及び情報処理装置
JP2013182367A (ja) * 2012-03-01 2013-09-12 Konica Minolta Inc プリントキュー作成プログラム及びプリントキュー作成方法

Also Published As

Publication number Publication date
JP7255209B2 (ja) 2023-04-11
JP2023073347A (ja) 2023-05-25
US20200249879A1 (en) 2020-08-06
US11531502B2 (en) 2022-12-20
JP2020123243A (ja) 2020-08-13
JP7517506B2 (ja) 2024-07-17
US20230124174A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
WO2020158716A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7517506B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7172800B2 (ja) サポートプログラム、情報処理装置、および印刷方法
WO2020158714A1 (ja) アプリケーションプログラム、情報処理装置、および印刷方法
US11843753B2 (en) Non-transitory computer-readable recording medium, information processing apparatus and printing method
JP2024075574A (ja) サポートプログラム、情報処理装置、および印刷方法
WO2020158715A1 (ja) サポートプログラム、情報処理装置、および印刷方法
US20240069818A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
US11064088B2 (en) Non-transitory computer-readable recording medium, information processing apparatus and printing method
JP2020129221A (ja) サポートプログラム、情報処理装置、および印刷方法
US20240143242A1 (en) Information processing apparatus, system, control method for the system, and storage medium
JP2023147323A (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: 20748713

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20748713

Country of ref document: EP

Kind code of ref document: A1