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

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

Info

Publication number
WO2021065126A1
WO2021065126A1 PCT/JP2020/025802 JP2020025802W WO2021065126A1 WO 2021065126 A1 WO2021065126 A1 WO 2021065126A1 JP 2020025802 W JP2020025802 W JP 2020025802W WO 2021065126 A1 WO2021065126 A1 WO 2021065126A1
Authority
WO
WIPO (PCT)
Prior art keywords
printing
program
print
printer
information processing
Prior art date
Application number
PCT/JP2020/025802
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 ブラザー工業株式会社
Priority to EP20872724.8A priority Critical patent/EP4040281A4/en
Priority to CN202080067238.XA priority patent/CN114450929A/zh
Priority to US17/212,273 priority patent/US11277540B2/en
Publication of WO2021065126A1 publication Critical patent/WO2021065126A1/ja
Priority to US17/665,972 priority patent/US11659125B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • 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
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2338Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity according to user specified instructions, e.g. user selection of reproduction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • H04N1/32566Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor at the transmitter or at the receiver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • the technical fields disclosed herein relate to support programs, information processing devices, and printing methods that support printer control.
  • Patent Document 1 As a technique for controlling a printer from an information processing device such as a personal computer, for example, as disclosed in Patent Document 1, a collate that prints one copy at a time by a printer driver when printing a plurality of copies of a multi-page document. It is widely known that a job for which printing is set is input to a printer.
  • This specification discloses a technique for causing a printer to perform collate printing in a method that does not impose a load on the printer in an information processing device incorporating an OS standard printing program.
  • the support program made for the purpose of solving the above-mentioned problems is a support program that can be executed by a computer of the information processing device and corresponds to a printer connected to the information processing device.
  • collate printing is performed in which printing of a plurality of pages of images within the range of the printing target is regarded as printing of one copy, and printing of N (N is a natural number of 2 or more) is sequentially performed one by one.
  • the first acquisition process for acquiring the print data of the first copy rasterized based on the images on the plurality of pages and the print data of the first copy acquired in the first acquisition process are obtained.
  • the first output process for outputting data is executed over the N units one by one so that the printer is used as a transmission destination and is transmitted from the information processing apparatus.
  • the information processing apparatus when a print instruction is output from an application program to a general-purpose print program and a printer is made to perform collate printing in a job based on the print instruction, the information processing apparatus is used to display a multi-page image. Based on this, one copy of the print data rasterized is acquired, and each copy is transmitted to the printer over N copies. As a result, even if the general-purpose printing program does not support collate printing, the printer can perform collate printing.
  • An information processing device in which the above program is incorporated, a storage medium that can be read by a computer that stores the program, and a control method for realizing the function of the program are also new and useful.
  • PC personal computer
  • the PC 1 of the present embodiment includes, for example, a controller 10, a user interface (hereinafter referred to as "UI") 20, and a communication interface (hereinafter referred to as "communication IF") 30. ing.
  • the UI 20 and the communication IF 30 are electrically connected to the controller 10.
  • PC1 is an example of an information processing device.
  • the printer 2 is a device having a printing function, and is connected to the PC 1 via local communication or network communication.
  • the UI 20 includes hardware that displays various displays and accepts user's instruction input.
  • the UI 20 may be a touch panel having both a display function and an input reception function, or may be a combination of a display having a display function and a keyboard, a mouse, or the like having an input reception function.
  • the communication IF30 includes hardware for communicating with an external device such as a printer 2 and hardware for accessing the Internet.
  • the communication IF 30 may include a plurality of interfaces having different communication methods. Communication methods include, for example, 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 “applications”) and various data.
  • the CPU 11 executes various processes according to the program read from the memory 12 and based on the user's instruction.
  • the controller 10 in FIG. 1 is a general 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 storage medium that can be read by a computer.
  • a computer-readable storage medium is a non-transitory medium.
  • the non-transitory medium also includes a recording medium such as a CD-ROM or a DVD-ROM.
  • the non-transitory medium is also a tangible medium.
  • an electric signal that carries a program downloaded from a server on the Internet is a computer-readable signal medium, which is a kind of computer-readable medium, but is a storage that can be read by a non-transitory computer. Not included in the medium.
  • the memory 12 stores an 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 editing application 43 is an example of an application program.
  • OS21 is, for example, Microsoft Windows (registered trademark), MacOS (registered trademark), and Linux (registered trademark).
  • various data including information of the connected printer 2 and various programs such as a browser are stored in the memory 12.
  • the general-purpose printing program 41 is an OS standard program for causing various printers such as the printer 2 to execute printing according to an instruction from the PC 1.
  • the general-purpose printing program 41 of the present embodiment is a program including a function of generating print data used for printing by a corresponding printer based on image data to be printed.
  • the general-purpose printing program 41 supports a function that can be commonly used by a plurality of types of printers provided by various printer vendors.
  • the general-purpose printing program 41 does not correspond to all the functions uniquely provided by various printers, and the supporting functions are limited to general-purpose ones.
  • the auxiliary program 42 is a program or a group of programs that executes the process based on the instruction from the OS 21 in association with the process of the general-purpose print program 41, and is an application that supports the control of the target hardware.
  • the auxiliary program 42 of this embodiment corresponds to the model of the printer 2 connected to the PC 1.
  • the general-purpose printing program 41 is used to receive an instruction to cause the printer 2 to perform printing
  • the general-purpose program 42 is general-purpose. It is started from the print program 41.
  • the auxiliary program 42 is called, for example, a hardware support application (abbreviation, HSA).
  • the auxiliary program 42 receives a plurality of types of instructions from the general-purpose printing program 41, and executes various processes based on the received instructions.
  • the auxiliary program 42 can execute different processes depending on the content of the execution instruction from the general-purpose printing program 41.
  • the auxiliary program 42 may be a combination of a plurality of programs, each of which receives an execution instruction, or may be a single program that can execute different processes according to the instruction.
  • the auxiliary program may be a program prepared for each printer type by the printer vendor. For example, an auxiliary program for an inkjet printer and an auxiliary program for a laser printer are prepared.
  • the printer vendor registers the auxiliary program on the platform provided by the OS21 vendor according to the procedure specified by the OS21 vendor.
  • the OS21 downloads the auxiliary program from the server in which the auxiliary program is stored and incorporates the auxiliary program into the PC1.
  • the OS 21 associates the identification information of the incorporated auxiliary program with the printer information of the newly connected printer and stores it in the memory 12.
  • 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 or PowerPoint.
  • the editing application 43 may be an application provided by a vendor such as the printer 2.
  • the editing application 43 accepts 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 printing instruction for the printer 2 to execute printing via the UI 20.
  • each processing step of the processing and the flowchart in the embodiment basically indicates the processing of the CPU 11 according to the instruction described in the program such as the auxiliary program 42. That is, the processing of "judgment”, “extraction”, “selection”, “calculation”, “decision”, “specification”, “acquisition”, “acceptance”, “control”, etc. in the following description is the processing of the CPU 11. 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 to the effect that "program B controls hardware C” may refer to “program B controls hardware C using the API of OS21".
  • the processing of the CPU 11 according to the instructions described in the program may be described in abbreviated terms.
  • the program may be omitted, such as "CPU 11 performs”.
  • the processing of the CPU 11 according to the instruction described in the program may be described by a wording that omits the CPU, such as "program A performs”.
  • acquisition is used as a concept that does not require a request. That is, the process of receiving data without the CPU 11 requesting is also included in the concept of "the CPU 11 acquires the data".
  • data in the present specification is represented by a bit string that can be read by a computer. Then, data having the same substantial meaning and contents but different formats are treated as the same data. The same applies to "information” in the present specification.
  • requesting and “instructing” are concepts indicating that information indicating that a request is being made or information indicating that an instruction is being given is output to the other party. In addition, the information indicating that the request is made or the information indicating that the instruction is given is simply described as "request” or "instruction”.
  • the process of determining whether or not the information A indicates that the information A is the matter B by the CPU 11 is conceptually described as "determining whether or not the information A is the matter B from the information A". There is.
  • the process of determining whether the information A indicates that the information A is the matter B or the matter C by the CPU 11 is "determined from the information A whether the information A is the matter B or the matter C.” It may be described conceptually as.
  • the printing order includes collate printing and uncollate printing.
  • the collate printing is a printing method in which a specified number of copies are sequentially printed one by one, with a printed matter including one page from the first page to the last page as one copy.
  • Uncollate printing is a printing method in which each page from the first page to the last page is continuously printed for a specified number of copies. For example, when printing three copies of a three-page image, the print order is "123123123" in collate printing and "111122233" in uncollate printing.
  • the PC 1 of this embodiment can realize collate printing on the printer 2 by using the auxiliary program 42.
  • the general-purpose printing program 41 of this embodiment may not correspond to the print setting for printing multiple copies, or may have a configuration in which only the uncoordinated printing is supported in the print setting for printing multiple copies. Further, the printer 2 of this embodiment does not have to have a function of performing printing of a plurality of copies by its own device, and has a configuration in which only uncoordinated printing is supported in the print setting for printing a plurality of copies. Is also good.
  • the editing application 43 receives the designation of the image to be printed and the input of the instruction for printing execution via the UI 20 (arrow A).
  • the editing application 43 receives an instruction to set an image to be printed, for example, a document edited by the editing application 43 or a photo read by the editing application 43.
  • 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.
  • 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 includes various information included in the print instruction, for example, information indicating a printer to be printed, information indicating print settings set by the editing application 43, and image data to be printed. Information indicating that can be obtained.
  • the general-purpose printing program 41 identifies a printer designated as a device for executing printing based on the information included in the print execution notification. If the designated printer is the printer 2, since the auxiliary program 42 corresponding to the printer 2 is stored in the memory 12, the general-purpose print program 41 outputs an execution command for processing of the auxiliary program 42 and assists. Operate the program 42 (arrow C). That is, when the general-purpose print program 41 detects the print execution notification, the general-purpose print program 41 outputs an execution command to the auxiliary program 42.
  • the auxiliary program 42 executes various processes based on the content of the execution instruction from the general-purpose print program 41.
  • the general-purpose print program 41 passes the print settings received by the editing application 43 to the auxiliary program 42, and requests verification of the print settings.
  • the auxiliary program 42 verifies the print settings based on the execution command of arrow C (arrow D). The auxiliary program 42 determines whether or not the received print setting conforms to the function of the printer 2, and the print setting that does not conform, for example, a paper having a size not set in the printer 2 is selected, is set. If it is included, disable its print settings.
  • the auxiliary program 42 of this embodiment can accept changes in print settings and additional settings during the execution of the process indicated by the arrow D.
  • the image designated as the print target range is a multi-page image
  • the auxiliary program 42 specifies the printing of N parts (N is a natural number of 2 or more) in collate printing by the arrow D.
  • N is a natural number of 2 or more
  • the case of acceptance will be described. That is, the print setting passed by arrow C does not include the setting for printing multiple copies in collate printing, and the print setting at the end of the processing of arrow D includes printing N copies in collate printing. Settings are included.
  • the editing application 43 can accept the setting of printing multiple copies and the specification of collate printing
  • the setting of printing multiple copies and the specification of collate printing are added to the print settings passed to the auxiliary program 42 by the arrow C. May be included.
  • the arrow C may pass a print setting including a setting for printing multiple copies and a designation for collate printing.
  • the general-purpose printing program 41 does not support collate printing, for example, from the editing application 43 to the auxiliary program 42 via a storage area that can be commonly used by the editing application 43 and the auxiliary program 42.
  • the setting for printing multiple copies and the specification for collate printing may be passed.
  • the auxiliary program 42 When the auxiliary program 42 finishes the print setting verification process, the auxiliary program 42 passes the end notification to the general-purpose print program 41 (arrow E).
  • the auxiliary program 42 deletes the setting for printing multiple copies and the designation for collate printing from the print settings, and passes the auxiliary program 42 to the general-purpose print program 41 together with the end notification by the arrow E.
  • the general-purpose print program 41 converts the format of the image data included in the print execution notification of the arrow B into the format of the intermediate data for printing in response to receiving the end notification indicating the end of verification of the print settings from the auxiliary program 42. This creates intermediate data and generates a print job containing the intermediate data (arrow F).
  • the image data specified by the editing application 43 is of various types, and the general-purpose printing program 41 converts the received image data into intermediate data suitable for generating print data. If the image data included in the print execution notification is data suitable for generating the print data, the generation of the intermediate data may be omitted and the image data may be used as the intermediate data as it is.
  • the intermediate data is, for example, XPS data.
  • the general-purpose print program 41 After generating the intermediate data, the general-purpose print program 41 passes the generated intermediate data and the print settings to the auxiliary program 42, outputs an execution command for processing of the auxiliary program 42, and operates the auxiliary program 42 (arrow G). ..
  • the auxiliary program 42 generates print data for one page from the first page of the intermediate data based on the received intermediate data (arrow H).
  • the process of the arrow H is an example of the first acquisition process.
  • the auxiliary program 42 rasterizes the intermediate data to generate print data.
  • the print data generated by the arrow H is data in a format that can be used for printing by the printer 2, and is, for example, PDL data dedicated to the model of the printer 2.
  • the print data generated by the arrow H may be data in a format that can be used for printing with a printer other than the model of the printer 2.
  • the auxiliary program 42 temporarily stores the generated print data in the memory 12 (arrow I). Then, the auxiliary program 42 passes the generated print data for one page and the transmission request of the print data to the printer 2 as the transmission destination to the general-purpose print program 41 (arrow J).
  • the general-purpose print program 41 transmits the received print data and the print command to the printer 2 based on the request of the arrow J (arrow K). Since the print data is transmitted to the printer 2 at the request of the arrow J, the process of the arrow J is an example of the first output process.
  • the printer 2 that has received the print command prints the first copy of the image for one page according to the received print data for one page.
  • the waiting time until the first sheet is printed is compared with the case where the print data for all pages is generated and then sent. Becomes shorter.
  • the general-purpose print program 41 sets the print setting that does not include the setting for printing multiple copies when transmitting the print data with the arrow K. Give and send. As a result, even if the printer 2 is a device capable of printing a plurality of copies by its own device, there is no possibility that the printer 2 will further print a plurality of copies.
  • the auxiliary program 42 periodically transmits a signal inquiring about the status to the printer 2 after passing the transmission request of the arrow J to the general-purpose print program 41 in accordance with the transmission timing of the print data to the printer 2.
  • the printer 2 responds to the inquiry about the situation, and when the reception of the print data is completed, the printer 2 transmits a reception completion notification indicating that the reception is completed to the auxiliary program 42 (arrow L).
  • the reception completion notification is a notification indicating that reception has been completed, and printing may not be completed.
  • the reception completion notification may be sent to the general-purpose printing program 41.
  • the auxiliary program 42 Upon receiving the reception completion notification transmitted from the printer 2, the auxiliary program 42 requests the general-purpose print program 41 to transmit the execution command of the auxiliary program 42 (arrow M). As a result, the general-purpose printing program 41 passes the execution instruction to the auxiliary program 42 (arrow N). The auxiliary program 42 receives an execution command from the general-purpose print program 41 and generates print data for the next page by the arrow H.
  • the execution command request (arrow M) is omitted, and the general-purpose printing program 41 issues an execution command (arrow N) in response to the reception completion notification of the auxiliary program 42. You may pass it to.
  • the general-purpose printing program 41 and the auxiliary program 42 repeat arrows H to N for all pages in the print target range.
  • the auxiliary program 42 also receives information indicating the number of pages of the image to be printed by the arrow G, for example, and repeats the generation and storage of the print data until the number of processes of the arrow H reaches the number of pages.
  • the arrow I stores the print data of the next page following the print data of the previous page that has been stored. As a result, the print data of the first copy is transmitted to the printer 2 every time each page is acquired, and the print data of all pages is stored in the memory 12.
  • the auxiliary program 42 can start the generation of print data when the notification of the arrow L is received without receiving the execution command, the exchange between the arrow M and the arrow N is unnecessary. Further, if the general-purpose printing program 41 is configured to pass the intermediate data one page at a time, the auxiliary program 42 requests the intermediate data for the next one page with the arrow M, and the middle one page with the arrow N. You just have to receive the data. In this case, when passing the intermediate data of the last page of the range to be printed, the general-purpose printing program 41 may pass information indicating that it is the last page to the auxiliary program 42.
  • the auxiliary program 42 When the auxiliary program 42 receives the execution command of the arrow N after the generation and transmission of the print data of all the pages are completed, the auxiliary program 42 stores the printed data of all the stored pages, that is, the print data of the first copy in the memory 12 And pass it to the general-purpose printing program 41 together with the transmission request (arrow O).
  • the general-purpose print program 41 transmits the received print data and the print command to the printer 2 based on the request of the arrow O (arrow P). Since the print data is transmitted to the printer 2 at the request of the arrow O, the process of the arrow O is an example of the first output process.
  • the printer 2 that has received the print instruction executes the printing of the second copy of all the pages based on the print data of all the pages attached to the print instruction.
  • the auxiliary program 42 receives the reception completion notification from the printer 2 (arrow Q), and passes the next copy of the transmission request to the general-purpose printing program 41 (arrow O). If the auxiliary program 42 needs to request and receive an execution instruction in the same manner as the processing of the first part in order to execute the next step, the arrow M and the arrow N are also added after the arrow Q. It is good to carry out the same exchange as.
  • the auxiliary program 42 repeats the transmission request of the arrow O one less than the specified number of copies. As a result, the designated N copies are printed together with the printing of the first copy by the transmission request indicated by the arrow J.
  • the auxiliary program 42 executes the transmission request of the arrow O (N-1) times and then receives the reception completion notification by the arrow Q, the auxiliary program 42 passes the end notification to the general-purpose printing program 41 (arrow R), and the auxiliary program 42 of this job End the process.
  • the general-purpose print program 41 ends the process of the print execution notification received from the editing application 43 by the arrow B.
  • the reception completion notification of the arrow Q may be sent from the printer 2 to the general-purpose printing program 41.
  • the general-purpose print program 41 may request print data from the auxiliary program 42 in response to the reception completion notification.
  • the auxiliary program 42 may include information indicating the existence or nonexistence of the subsequent print data when the print data is transmitted by the arrow O.
  • the auxiliary program 42 copies the print data to generate the print data of the (N-1) part, and the print data of the (N-1) part is collectively printed by a single transmission request of the arrow O. It may be passed to the program 41.
  • the PC 1 has a print instruction in the general-purpose print program 41, and causes the printer 2 to print a plurality of copies by collate printing based on the print instruction.
  • the auxiliary program 42 acquires one copy of print data based on the images of a plurality of pages, which is the range to be printed, and outputs the print data so as to be transmitted to the printer 2 over N copies one copy at a time.
  • the printer 2 can perform collate printing.
  • the auxiliary program 42 passes the print data and the transmission request to the general-purpose print program 41 by the arrows J and O, and the general-purpose print program 41 transmits the print data to the printer 2.
  • the auxiliary program 42 may transmit to the printer 2. That is, instead of the arrows J and K in FIG. 2, the auxiliary program 42 transmits the generated print data for one page to the printer 2 (arrow Ka) when the generation and storage of the print data are completed. Is also good.
  • the auxiliary program 42 may transmit the print data for all pages to the printer 2 (arrow Pa).
  • the processing of the arrow Ka and the arrow Pa is an example of the first output processing.
  • the reception completion notification of the arrow L and the arrow Q may be sent from the printer 2 to the general-purpose printing program 41.
  • the general-purpose print program 41 may pass a transmission command to the auxiliary program 42 in response to the reception completion notification, and the auxiliary program 42 may transmit the next print data.
  • the print data of the first copy is transmitted to the printer 2 every time one page is generated, and the elapsed time until the first sheet is printed is short.
  • the auxiliary program 42 transmits the print data to the printer 2 after the print data is transmitted, for example, the success or failure of the print data transmission and the response (normal end or error signal) from the printer may be received and passed to the OS 21. ..
  • the printing procedure including the operation of the auxiliary program 42 of the second form will be described with reference to the sequence diagram of FIG.
  • the procedure for generating and transmitting print data is different from that in the first embodiment.
  • the same processing as in the first embodiment is designated by the same reference numerals and the description thereof will be omitted.
  • the difference from the first form will be described as a code with a lowercase subscript.
  • the processes of arrows A to G are executed.
  • the auxiliary program 42 receives the intermediate data for all pages of the print range and generates the print data for all pages by the execution command of the arrow G (arrow Ha).
  • the processing of the arrow Ha is an example of the first acquisition processing.
  • the auxiliary program 42 temporarily stores the generated print data for all pages in the memory 12 (arrow Ia).
  • the auxiliary program 42 passes the end notification to the general-purpose print program 41 (arrow S).
  • the general-purpose printing program 41 passes an execution instruction to the auxiliary program 42 (arrow N).
  • the process of transmitting the generated print data for all pages to the printer 2 by repeating the specified number of copies N times is performed. That is, the auxiliary program 42 passes the print data for all pages and the transmission request to the general-purpose print program 41 (arrow O), and the general-purpose print program 41 collectively transmits the print data for all pages to the printer 2 (arrow). P).
  • the processing of the arrow O is an example of the first output processing.
  • the auxiliary program 42 receives the reception completion notification from the printer 2 (arrow Q)
  • the auxiliary program 42 passes the print data for all the pages of the next copy and the transmission request to the general-purpose print program 41.
  • the printer 2 prints the N part.
  • the auxiliary program 42 passes the end notification to the general-purpose printing program 41 (arrow R), and ends the processing of this job.
  • the auxiliary program 42 may transmit to the printer 2 as shown by the arrow Pa in FIG.
  • the reception completion notification of the arrow Q may be sent from the printer 2 to the general-purpose printing program 41.
  • the general-purpose print program 41 may request the auxiliary program 42 for subsequent print data in response to the reception completion notification.
  • the auxiliary program 42 may include information indicating the existence or nonexistence of the subsequent print data when the print data is transmitted by the arrow O.
  • the auxiliary program 42 may copy the print data to generate the print data of the N part, and the print data of the N part may be collectively passed to the general-purpose print program 41 by one transmission request of the arrow O. Good.
  • the auxiliary program 42 of this embodiment also realizes printing of a plurality of copies by collate printing.
  • the number of exchanges between the auxiliary program 42 and the general-purpose print program 41 is small, and the processing of the auxiliary program 42 is simplified. Design man-hours can be reduced. Also, the number of communications between the PC 1 and the printer 2 is small.
  • the printing procedure including the operation of the auxiliary program 42 of the third form will be described with reference to the sequence diagram of FIG.
  • the procedure for generating and transmitting print data is different from that in the first embodiment.
  • the same processing as in the first embodiment is designated by the same reference numerals and the description thereof will be omitted.
  • the difference from the first form will be described as a code with a lowercase subscript.
  • the processes of arrows A to G are executed.
  • the auxiliary program 42 receives the intermediate data of all the pages in the range to be printed by the execution instruction of the arrow G, and stores the received intermediate data in the memory 12 (arrow T). Further, the auxiliary program 42 of the present embodiment acquires the intermediate data for all pages stored in the memory 12 (arrow U), and passes the acquired intermediate data for all pages and the end notification to the general-purpose printing program 41 (arrow). V).
  • the general-purpose print program 41 rasterizes the received intermediate data for all pages and generates print data for all pages (arrow W).
  • the print data generation process by the general-purpose print program 41 is different from the print data generation process by the auxiliary program 42 of the first form and the second form.
  • the print data generated by the general-purpose print program 41 is data in a format that can be used for printing by various printers including the printer 2, and is, for example, PWGRaster data and PDF data. If rasterization is performed by the general-purpose printing program 41, the processing of the auxiliary program 42 is small, and the design man-hours of the auxiliary program 42 can be suppressed.
  • the general-purpose printing program 41 passes an execution instruction to the auxiliary program 42 (arrow N).
  • the auxiliary program 42 passes the transmission request to the general-purpose printing program 41 in response to the execution instruction (arrow Oa). Since the general-purpose printing program 41 has generated the print data, it is not necessary to pass the print data in the processing of the arrow Oa.
  • the general-purpose printing program 41 transmits the print data for all pages generated by the arrow W to the printer 2 (arrow P). As a result, printing is executed by the printer 2, and one copy of the printed matter can be created.
  • the processing of the arrow V is an example of the second output processing.
  • the end notification of the arrow V is configured to generate and transmit the print data, the execution command of the arrow N and the transmission request of the arrow Oa are unnecessary.
  • the auxiliary program 42 When the auxiliary program 42 receives the reception completion notification from the printer 2 (arrow Q), the auxiliary program 42 passes an execution command request to the general-purpose print program 41 (arrow X).
  • the general-purpose printing program 41 passes an execution instruction to the auxiliary program 42 in response to the request of the arrow X (arrow Y).
  • the auxiliary program 42 Upon receiving the execution instruction, the auxiliary program 42 returns to the arrow U, acquires intermediate data for printing the second copy from the memory 12, and passes it to the general-purpose printing program 41.
  • the process from the arrow U to the arrow Y is repeated N times, which is the specified number of copies, to create an N-part printed matter.
  • the auxiliary program 42 Instead of repeating the process of passing the intermediate data N times, the auxiliary program 42 generates a copy of the intermediate data, and the intermediate data of all pages of the N part is collectively passed to the general-purpose printing program 41 with one arrow V. It may be configured as follows.
  • the auxiliary program 42 passes the Nth intermediate data to the general-purpose printing program 41 and then receives an execution instruction from the general-purpose printing program 41 (arrow Y), the auxiliary program 42 passes a completion notification to the general-purpose printing program 41 (arrow R). , End the processing of this job.
  • the auxiliary program 42 of this embodiment also realizes printing of a plurality of copies by collate printing.
  • the processing of the auxiliary program 42 is simple and the design man-hours are small.
  • the auxiliary program 42 of this embodiment also accepts the designation of printing a plurality of copies in uncolate printing.
  • the print setting received by the arrow D in FIG. 2 is the print setting of the M part (M is a natural number of 2 or more) in the uncollate printing
  • the operation procedure of the auxiliary program 42 is, for example, It becomes as shown in FIG.
  • the auxiliary program 42 receives intermediate data from the general-purpose printing program 41 (arrow G) and generates print data for one page (arrow H). Then, the auxiliary program 42 passes the generated print data for one page and the transmission request to the general-purpose print program 41 (arrow J), and the general-purpose print program 41 transmits the print data for one page to the printer 2 (). Arrow K). As in the case of collate printing, the auxiliary program 42 receives the reception completion notification from the printer 2 (arrow L) and passes the execution command request to the general-purpose print program 41 (arrow M), so that the general-purpose print program 41 gives an execution command. (Arrow N). By repeating the arrow J to the arrow N M times, which is the specified number of copies, the print data of the first page is continuously transmitted to the printer 2 M times.
  • the auxiliary program 42 returns to the arrow H and generates the print data of the next page in response to the execution command with the arrow N after the print data is transmitted several times. Then, the auxiliary program 42 causes the general-purpose printing program 41 to repeatedly transmit the generated next page several times.
  • the process of repeating the arrow H to the arrow N is an example of the uncolate transmission process.
  • the general-purpose printing program 41 may generate print data.
  • the auxiliary program 42 may transmit the print data to the printer 2.
  • the auxiliary program 42 of this embodiment When the auxiliary program 42 of this embodiment receives a print instruction for printing a plurality of copies of an image whose print target range is a plurality of pages, it accepts either a collate print designation or an uncollate print designation. Then, according to the received designation, any of the processes of FIGS. 2 to 5 or the process of FIG. 6 is executed. By supporting uncoordinated printing, the degree of freedom in print settings is increased.
  • the device connected to the PC 1 is not limited to a printer, and may be a device having a printing function such as a multifunction device, a copying machine, or a fax machine. Further, the number of printers connected to the PC 1 may be two or more.
  • print settings that can be processed by the general-purpose print program 41 are processed by the general-purpose print program 41, and print settings that cannot be processed by the general-purpose print program 41 are processed by the auxiliary program 42. It may be processed in. In each embodiment, only the process related to printing a plurality of copies is described as the operation of the auxiliary program 42, but the auxiliary program 42 may have other roles.
  • the auxiliary program 42 generates the print data, but the general-purpose print program 41 may generate the print data.
  • the auxiliary program 42 may receive the print data of all pages generated by the general-purpose print program 41, store the print data in the memory 12, and send the print data to the printer 2 one by one.
  • collate printing may be executed.
  • auxiliary program 42 may be a program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41.
  • a print workflow application Print workflow
  • Microsoft whose specifications have been released by Microsoft may be used.
  • the auxiliary program 42 is executed by outputting the execution command of the auxiliary program 42 from the general-purpose printing program 41, but the execution timing of the auxiliary program 42 is not limited to this.
  • it may be directly instructed to be executed by the OS 21 and executed, or it may be a resident auxiliary program 42.
  • the auxiliary program 42 may perform the above-described operation in response to the execution instruction.
  • the plurality of processes in the arbitrary plurality of steps can be arbitrarily changed in the execution order or executed in parallel as long as the processing contents do not conflict with each other.
  • the process disclosed in the embodiment may be executed by a single CPU, a plurality of CPUs, hardware such as an ASIC, or a combination thereof.
  • the process disclosed in the embodiment can be realized in various aspects such as a recording medium or a method in which a program for executing the process is recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

OS標準の印刷プログラムが組み込まれた情報処理装置において、プリンタに負荷をかけることのない方式にてコレート印刷をプリンタに行わせる技術を提供すること。編集アプリ43から出力された印刷指示であって、OS21に組み込まれた汎用印刷プログラム41に対して、画像の印刷をプリンタ2に行わせる印刷指示があり、印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部として、N部の印刷を1部ずつ順次に行うコレート印刷をプリンタ2に実行させる場合、補助プログラム42は、PC1のCPU11に、複数ページの画像に基づいてラスタライズされた1部の印刷データを取得させ、取得した1部の印刷データを、1部ずつN部にわたって、プリンタ2を送信先としてPC1に送信させる。

Description

サポートプログラム、情報処理装置、および印刷方法
 本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
 パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、例えば特許文献1に開示されているように、プリンタドライバによって、複数ページの原稿を複数部印刷するときに1部ずつ順番に印刷するコレート印刷が設定されたジョブを、プリンタに入力する構成が広く知られている。
特開2008-77158号公報
 近年、前述したプリンタドライバを利用せず、オペレーティングシステム(以下、「OS」とする)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
 しかしながら、OS標準の汎用の印刷プログラムによる印刷では、印刷パラメータの選択の際、選択可能な設定項目がOS標準の印刷プログラムに登録されている一般的なものになる。そのため、コレート印刷がサポートされない可能性があり、ユーザに不便を強いる。また、プリンタ側の処理にてコレート印刷を行うことも可能であるが、その場合には、プリンタに搭載するメモリ量が増加するなど、プリンタに負荷がかかってしまう。
 本明細書は、OS標準の印刷プログラムが組み込まれた情報処理装置において、プリンタに負荷をかけることのない方式にてコレート印刷をプリンタに行わせる技術を開示する。
 上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、前記複数ページの画像に基づいてラスタライズされた前記1部の印刷データを取得する第1取得処理と、前記第1取得処理にて取得した前記1部の前記印刷データを、前記1部ずつ前記N部にわたって、前記プリンタを送信先として前記情報処理装置から送信されるように、出力する第1出力処理と、を実行させる、ことを特徴としている。
 本明細書に開示されるサポートプログラムは、アプリケーションプログラムから汎用印刷プログラムに印刷指示が出力され、その印刷指示に基づくジョブにおいてコレート印刷をプリンタに行わせる場合、情報処理装置に、複数ページの画像に基づいてラスタライズされた1部の印刷データを取得させ、1部ずつN部にわたってプリンタに送信させる。これにより、汎用印刷プログラムがコレート印刷をサポートしていない場合でも、プリンタにコレート印刷を行わせることができる。
 上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
 本明細書に開示される技術によれば、OS標準の印刷プログラムが組み込まれた情報処理装置において、プリンタに負荷をかけることのない方式にてコレート印刷をプリンタに行わせる技術が実現される。
PCの電気的構成を示すブロック図である。 第1の形態の動作の順序の例を示すシーケンス図である。 第1の形態の動作の順序の例を示すシーケンス図である。 第2の形態の動作の順序の例を示すシーケンス図である。 第3の形態の動作の順序の例を示すシーケンス図である。 アンコレート印刷の場合の動作の順序の例を示すシーケンス図である。
 以下、第1の形態のプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本形態は、印刷機能を有するプリンタに接続されるPCにて実行されるプログラムを具体化した実施の形態を開示するものである。
 本形態のPC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。PC1は、情報処理装置の一例である。プリンタ2は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介してPC1と接続されている。
 UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
 通信IF30は、プリンタ2などの外部装置との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信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を含むOS21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。OS21は、例えば、マイクロソフト ウィンドウズ(登録商標)、MacOS(登録商標)、Linux(登録商標)である。なお、メモリ12には、図示したもの以外にも、接続されているプリンタ2の情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
 汎用印刷プログラム41は、PC1からの指示によってプリンタ2等の各種のプリンタに印刷を実行させるためのOS標準のプログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、対応するプリンタが印刷に用いる印刷データを生成する機能を含むプログラムである。
 汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
 補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするアプリである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。補助プログラム42は、例えば、ハードウェアサポートアプリ(略称、HSA)と呼ばれる。
 補助プログラム42は、汎用印刷プログラム41から複数種の命令を受け付け、受け付けた命令に基づいて、各種の処理を実行する。補助プログラム42は、汎用印刷プログラム41からの実行命令の内容に応じて異なる処理を実行できる。なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。
 なお、補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが用意される。プリンタのベンダは、OS21のベンダが指定する手順に従って、補助プログラムをOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタが接続され、そのプリンタに対応する補助プログラムがプラットフォームに登録されている場合には、当該補助プログラムを格納されているサーバからダウンロードしてPC1に組み込む。そして、OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
 編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード、パワーポイントである。編集アプリ43は、プリンタ2等のベンダから提供されるアプリであってもよい。編集アプリ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の動作を含む印刷手順について、図2のシーケンス図を参照して説明する。複数ページからなる印刷対象の画像を複数部数印刷する場合の印刷の順序には、コレート印刷とアンコレート印刷とがある。コレート印刷は、先頭ページから最終ページまでを1枚ずつ含む印刷物を1部として、指定された部数の印刷を1部ずつ順次に行う印刷方法である。アンコレート印刷は、先頭ページから最終ページまでの各ページを指定された部数だけそれぞれ連続して印刷する印刷方法である。例えば、3ページの画像を3部印刷する場合の印刷順序は、コレート印刷では、「123123123」であり、アンコレート印刷では、「111222333」である。本形態のPC1は、補助プログラム42を使用することで、プリンタ2にコレート印刷を実現させることができる。
 本形態の汎用印刷プログラム41は、複数部印刷の印刷設定に対応していなくても良いし、複数部印刷の印刷設定ではアンコレート印刷のみをサポートしている構成であっても良い。また、本形態のプリンタ2は、自装置で複数部印刷の処理を行う機能を有していなくても良いし、複数部印刷の印刷設定ではアンコレート印刷のみをサポートしている構成であっても良い。
 まず、編集アプリ43は、UI20を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける(矢印A)。編集アプリ43は、例えば、編集アプリ43にて編集された文書や編集アプリ43にて読み込んだ写真などを、印刷対象の画像とする指示を受け付ける。そして、印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示の内容を示す印刷実行通知をOS21に渡す。なお、図2では、OS21の動作を省略して示している。
 OS21は、汎用印刷プログラム41を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に印刷実行通知を渡す(矢印B)。汎用印刷プログラム41は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、編集アプリ43にて設定された印刷設定を示す情報、印刷対象となる画像データを示す情報を、取得できる。
 汎用印刷プログラム41は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。指定されているプリンタがプリンタ2であれば、プリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、汎用印刷プログラム41は、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させる(矢印C) 。すなわち、汎用印刷プログラム41が印刷実行通知を検知したことを契機に、補助プログラム42への実行命令が汎用印刷プログラム41から出力される。
 補助プログラム42は、汎用印刷プログラム41からの実行命令の内容に基づいて各種の処理を実行する。矢印Cの実行命令では、汎用印刷プログラム41は、編集アプリ43にて受け付けた印刷設定を補助プログラム42に渡し、印刷設定の検証を要求する。
 補助プログラム42は、矢印Cの実行命令に基づいて、印刷設定の検証を行う(矢印D)。補助プログラム42は、受け付けた印刷設定がプリンタ2の機能に適合しているか否かを判断し、例えば、プリンタ2にセットされていないサイズの用紙が選択されているなど適合していない印刷設定が含まれている場合、その印刷設定を無効にする。
 本形態の補助プログラム42は、矢印Dでの処理の実行中に印刷設定の変更や追加での設定を受け付けることができる。本形態では、印刷対象の範囲として指定された画像が複数ページの画像であって、矢印Dにて補助プログラム42がコレート印刷でのN部(Nは、2以上の自然数)の印刷の指定を受け付けた場合について説明する。つまり、矢印Cにて渡される印刷設定には、コレート印刷での複数部印刷の設定が含まれておらず、矢印Dの処理の終了時における印刷設定には、コレート印刷でのN部の印刷の設定が含まれる。
 なお、編集アプリ43にて複数部印刷の設定およびコレート印刷の指定を受け付けることができる場合には、矢印Cにて補助プログラム42に渡される印刷設定に複数部印刷の設定とコレート印刷の指定とが含まれていても良い。例えば、汎用印刷プログラム41がコレート印刷に対応している場合には、矢印Cにて複数部印刷の設定とコレート印刷の指定とを含む印刷設定が渡されても良い。あるいは、汎用印刷プログラム41がコレート印刷に対応していない場合であっても、例えば、編集アプリ43と補助プログラム42とで共通して使用できる記憶領域を介して、編集アプリ43から補助プログラム42へ複数部印刷の設定とコレート印刷の指定とが渡されても良い。
 補助プログラム42は、印刷設定の検証処理を終了したら、終了通知を汎用印刷プログラム41に渡す(矢印E)。なお、補助プログラム42は、印刷設定から複数部印刷の設定とコレート印刷の指定とを削除して、矢印Eでの終了通知と共に汎用印刷プログラム41に渡す。
 汎用印刷プログラム41は、補助プログラム42から印刷設定の検証終了を示す終了通知を受け取ったことに応じて、矢印Bの印刷実行通知に含まれる画像データの形式を印刷用中間データの形式に変換することで中間データを作成し、中間データを含む印刷ジョブを生成する(矢印F)。編集アプリ43にて指定される画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間データの生成を省略し、画像データをそのまま中間データとしても良い。中間データは、例えば、XPSデータである。
 汎用印刷プログラム41は、中間データの生成後、生成した中間データと印刷設定とを補助プログラム42に渡して、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させる(矢印G)。
 補助プログラム42は、受け取った中間データに基づいて、中間データの先頭ページから1ページ分の印刷データを生成する(矢印H)。矢印Hの処理は、第1取得処理の一例である。矢印Hでは、補助プログラム42は、中間データをラスタライズして印刷データを生成する。矢印Hにて生成される印刷データは、プリンタ2にて印刷に使用できる形式のデータであり、例えば、プリンタ2のモデルに専用のPDLデータである。補助プログラム42にてラスタライズすることで、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適した印刷データが生成される可能性が高い。なお、矢印Hにて生成される印刷データは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
 さらに、補助プログラム42は、生成した印刷データをメモリ12に一時的に記憶する(矢印I)。そして、補助プログラム42は、生成した1ページ分の印刷データとプリンタ2を送信先とした印刷データの送信要求とを汎用印刷プログラム41に渡す(矢印J)。汎用印刷プログラム41は、矢印Jの要求に基づいて、受け取った印刷データと印刷命令とをプリンタ2に送信する(矢印K)。矢印Jの要求によって印刷データがプリンタ2に送信されることから、矢印Jの処理は、第1出力処理の一例である。
 印刷命令を受信したプリンタ2では、受信した1ページ分の印刷データに従って、最初の1部の1ページ分の画像の印刷が実行される。1ページ分の印刷データが生成されるごとにプリンタ2に送信することで、全ページ分の印刷データの生成を待って送信する場合と比較して、1枚目が印刷されるまでの待ち時間が短くなる。
 なお、汎用印刷プログラム41は、矢印Eにて受け取る印刷設定に複数部印刷の設定が含まれていないことから、矢印Kでの印刷データの送信時には、複数部印刷の設定を含まない印刷設定を付与して送信する。これにより、プリンタ2が自装置で複数部印刷の処理が可能な装置であっても、プリンタ2にてさらに複数部の印刷が行われる可能性は無い。
 補助プログラム42は、プリンタ2への印刷データの送信タイミングに合わせて、例えば、矢印Jの送信要求を汎用印刷プログラム41に渡した後、プリンタ2に状況を問い合わせる信号を定期的に送信する。プリンタ2は、問い合わせに応じて状況を応答し、印刷データの受信が完了した場合には、受信完了したことを示す受信完了通知を補助プログラム42に送信する(矢印L)。受信完了通知は、受信が完了したことを示す通知であり、印刷は完了していなくても良い。なお、受信完了通知は、汎用印刷プログラム41に送られても良い。
 補助プログラム42は、プリンタ2から送信された受信完了通知を受け取ると、補助プログラム42の実行命令の送信を汎用印刷プログラム41に要求する(矢印M)。これにより、汎用印刷プログラム41は、実行命令を補助プログラム42に渡す(矢印N)。補助プログラム42は、汎用印刷プログラム41からの実行命令を受けて、矢印Hにて次の1ページ分の印刷データを生成する。なお、矢印Lの受信完了通知が汎用印刷プログラム41に送られる場合、実行命令要求(矢印M)を省略し、汎用印刷プログラム41が受信完了通知に応じて実行命令(矢印N)を補助プログラム42に渡すようにしても良い。
 汎用印刷プログラム41と補助プログラム42とは、矢印H~矢印Nを印刷対象の範囲の全てのページについて繰り返す。補助プログラム42は、例えば、矢印Gにて印刷対象の画像のページ数を示す情報をも受け取り、矢印Hの処理の回数がページ数の回数に達するまで、印刷データの生成と記憶とを繰り返す。矢印Iでは、記憶されている前のページの印刷データに続いて、次のページの印刷データを記憶する。これにより、最初の1部の印刷データは毎ページ取得される度にプリンタ2に送信され、さらに、全ページの印刷データがメモリ12に記憶される。
 なお、補助プログラム42が、実行命令を受けなくても矢印Lの通知を受け取ったことを契機に印刷データの生成を開始できるのであれば、矢印Mと矢印Nのやり取りは不要である。また、汎用印刷プログラム41が中間データを1ページ分ずつ渡す構成であれば、補助プログラム42は、矢印Mにて次の1ページ分の中間データを要求し、矢印Nにて1ページ分の中間データを受け取るとすればよい。この場合、印刷対象の範囲の最終ページの中間データを渡す際には、汎用印刷プログラム41は、最終ページであることを示す情報を補助プログラム42に渡すとよい。
 補助プログラム42は、全てのページの印刷データの生成と送信が終了した後に矢印Nの実行命令を受け取ると、記憶されている全てのページの印刷データ、すなわち、1部目の印刷データをメモリ12から取得し、送信要求とともに汎用印刷プログラム41に渡す(矢印O)。汎用印刷プログラム41は、矢印Oの要求に基づいて、受け取った印刷データと印刷命令とをプリンタ2に送信する(矢印P)。矢印Oの要求によって印刷データがプリンタ2に送信されることから、矢印Oの処理は、第1出力処理の一例である。これにより、印刷命令を受信したプリンタ2は、印刷命令に付された全ページ分の印刷データに基づいて、全ページ分の2部目の印刷を実行する。
 補助プログラム42は、矢印Lと同様に、プリンタ2から受信完了通知を受け取り(矢印Q)、次の1部の送信要求を汎用印刷プログラム41に渡す(矢印O)。なお、補助プログラム42が、次のステップを実行するために、1部目の処理と同様に実行命令を要求して受け取ることが必要な構成であれば、矢印Qの後にも矢印Mや矢印Nと同様のやり取りを行うとよい。補助プログラム42は、矢印Oの送信要求を指定された部数より1少ない回数繰り返す。これにより、矢印Jでの送信要求による1部目の印刷と合わせて指定されたN部の印刷が行われる。
 補助プログラム42は、矢印Oの送信要求を(N-1)回実行した後、矢印Qにて受信完了通知を受け取ったら、汎用印刷プログラム41に終了通知を渡して(矢印R)、このジョブの処理を終了する。これにより、汎用印刷プログラム41は、編集アプリ43から矢印Bにて受け付けた印刷実行通知の処理を終了する。
 なお、矢印Qの受信完了通知は、プリンタ2から汎用印刷プログラム41に送られても良い。この場合、汎用印刷プログラム41は、受信完了通知に応じて、補助プログラム42に印刷データを要求しても良い。また、補助プログラム42は、矢印Oにて印刷データを送信する際に、後続の印刷データの存否を示す情報を含めるようにしても良い。あるいは、補助プログラム42が印刷データをコピーして(N-1)部の印刷データを生成し、1回の矢印Oの送信要求にて、(N-1)部の印刷データをまとめて汎用印刷プログラム41に渡すようにしてもよい。
 以上、詳細に説明したように、本形態の補助プログラム42によれば、PC1は、汎用印刷プログラム41に印刷指示があり、その印刷指示に基づくコレート印刷での複数部印刷をプリンタ2に実行させる場合に、補助プログラム42にて印刷対象の範囲である複数ページの画像に基づく1部の印刷データを取得し、1部ずつN部にわたって、印刷データがプリンタ2に送信されるように出力する。これにより、汎用印刷プログラム41がコレート印刷をサポートしていない場合であっても、プリンタ2にコレート印刷を行わせることができる。
 なお、第1の形態では、矢印Jや矢印Oにて、補助プログラム42が汎用印刷プログラム41に印刷データと送信要求を渡して、汎用印刷プログラム41がプリンタ2に印刷データを送信するとしたが、例えば、図3に示すように、補助プログラム42がプリンタ2に送信しても良い。つまり、図2の矢印Jと矢印Kとに代えて、補助プログラム42は、印刷データの生成と記憶とが終了したら、生成した1ページ分の印刷データをプリンタ2に送信する(矢印Ka)としても良い。また、図2の矢印Oと矢印Pとに代えて、補助プログラム42が全ページ分の印刷データをプリンタ2に送信する(矢印Pa)としても良い。この場合、矢印Kaおよび矢印Paの処理は、第1出力処理の一例である。
 なお、この場合でも、矢印Lや矢印Qの受信完了通知は、プリンタ2から汎用印刷プログラム41に送られても良い。汎用印刷プログラム41は、受信完了通知に応じて補助プログラム42に送信命令を渡し、補助プログラム42が次の印刷データを送信するとしてもよい。
 このようにしても、1部目の印刷データは、1ページ分が生成されるごとにプリンタ2に送信されることになり、1枚目の印刷までの経過時間が短い。なお、補助プログラム42がプリンタ2に印刷データを送信する場合、印刷データの送信後、例えば、印刷データの送信成否やプリンタからの応答(正常終了やエラー信号)を受け取ってOS21に渡してもよい。
 次に、第2の形態の補助プログラム42の動作を含む印刷手順について、図4のシーケンス図を参照して説明する。本形態は、印刷データの生成や送信の手順が第1の形態とは異なる。図4および以下の説明では、第1の形態と同じ処理については、同じ符号を付して説明を省略する。また、第1の形態の処理と似ているが異なる処理には、小文字の添え字を付けた符号として、第1の形態との違いを説明する。
 本形態では、第1の形態と同様に、まず、矢印A~矢印Gの処理を実行する。本形態では、補助プログラム42は、矢印Gの実行命令にて、印刷範囲の全ページ分の中間データを受け取り、全ページ分の印刷データを生成する(矢印Ha)。矢印Haの処理は、第1取得処理の一例である。さらに、補助プログラム42は、生成した全ページ分の印刷データをメモリ12に一時的に記憶する(矢印Ia)。
 全ページ分の印刷データの生成と記憶とが終了したら、補助プログラム42は、終了通知を汎用印刷プログラム41に渡す(矢印S)。汎用印刷プログラム41は終了通知を受けて、補助プログラム42に実行命令を渡す(矢印N)。
 そして、本形態では、生成された全ページ分の印刷データを、指定された部数であるN回繰り返してプリンタ2に送信する処理が行われる。つまり、補助プログラム42は、全ページ分の印刷データと送信要求とを汎用印刷プログラム41に渡し(矢印O)、汎用印刷プログラム41が全ページ分の印刷データを纏めてプリンタ2に送信する(矢印P)。矢印Oの処理は、第1出力処理の一例である。補助プログラム42は、プリンタ2から受信完了通知を受信したら(矢印Q)、次の1部の全ページ分の印刷データと送信要求とを汎用印刷プログラム41に渡す。
 矢印Oから矢印Qまでの処理をN回繰り返すことで、プリンタ2にてN部の印刷が行われる。補助プログラム42は、N回目の受信完了通知を受信した後、汎用印刷プログラム41に終了通知を渡して(矢印R)、このジョブの処理を終了する。なお、本形態でも、矢印Oと矢印Pとに代えて、図3の矢印Paのように、補助プログラム42がプリンタ2に送信してもよい。
 なお、本形態でも、矢印Qの受信完了通知は、プリンタ2から汎用印刷プログラム41に送られても良い。この場合、汎用印刷プログラム41は、受信完了通知に応じて、補助プログラム42に後続の印刷データを要求するとしても良い。また、補助プログラム42は、矢印Oにて印刷データを送信する際に、後続の印刷データの存否を示す情報を含めるようにしても良い。あるいは、補助プログラム42が印刷データをコピーしてN部の印刷データを生成し、1回の矢印Oの送信要求にて、N部の印刷データをまとめて汎用印刷プログラム41に渡すようにしてもよい。
 以上、詳細に説明したように、本形態の補助プログラム42によってもコレート印刷での複数部数印刷が実現される。本形態では、全ページ分の印刷データを生成した後に纏めてプリンタ2に送信するので、補助プログラム42と汎用印刷プログラム41とのやり取りの回数が少なく、補助プログラム42の処理がシンプルとなることから設計工数を削減できる。また、PC1とプリンタ2との通信回数も少ない。
 次に、第3の形態の補助プログラム42の動作を含む印刷手順について、図5のシーケンス図を参照して説明する。本形態は、印刷データの生成や送信の手順が第1の形態とは異なる。図5および以下の説明では、第1の形態と同じ処理については、同じ符号を付して説明を省略する。また、第1の形態の処理と似ているが異なる処理には、小文字の添え字を付けた符号として、第1の形態との違いを説明する。
 本形態では、第1の形態と同様に、まず、矢印A~矢印Gの処理を実行する。本形態では、補助プログラム42は、矢印Gの実行命令にて、印刷対象の範囲の全てのページの中間データを受け取り、受け取った中間データをメモリ12に記憶する(矢印T)。さらに、本形態の補助プログラム42は、メモリ12に記憶した全ページ分の中間データを取得し(矢印U)、取得した全ページ分の中間データと終了通知とを汎用印刷プログラム41に渡す(矢印V)。
 汎用印刷プログラム41は、受け取った全ページ分の中間データをラスタライズして、全ページ分の印刷データを生成する(矢印W)。なお、汎用印刷プログラム41による印刷データの生成処理は、第1の形態や第2の形態の補助プログラム42による印刷データの生成処理とは異なる処理である。汎用印刷プログラム41によって生成される印刷データは、プリンタ2を含む各種のプリンタにて印刷に使用できる形式のデータであり、例えば、PWGRasterデータ、PDFデータである。汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42の設計工数が抑えられる。
 さらに、汎用印刷プログラム41は、補助プログラム42に実行命令を渡す(矢印N)。補助プログラム42は、実行命令に応じて送信要求を汎用印刷プログラム41に渡す(矢印Oa)。汎用印刷プログラム41が印刷データを生成したことから、矢印Oaの処理では、印刷データを渡す必要はない。汎用印刷プログラム41は、矢印Wにて生成した全ページ分の印刷データをプリンタ2に送信する(矢印P)。これにより、プリンタ2にて印刷が実行され、1部の印刷物が作成できる。
 本形態では、矢印Vの処理に基づいて印刷データが生成されてプリンタ2に送信されることから、矢印Vの処理は、第2出力処理の一例である。なお、矢印Vの終了通知にて、印刷データの生成と送信がされるように構成した場合には、矢印Nの実行命令と矢印Oaの送信要求とは不要である。
 補助プログラム42は、プリンタ2から受信完了通知を受け取ると(矢印Q)、汎用印刷プログラム41に実行命令要求を渡す(矢印X)。汎用印刷プログラム41は、矢印Xの要求に応えて、補助プログラム42に実行命令を渡す(矢印Y)。実行命令を受けて、補助プログラム42は、矢印Uに戻り、2部目の印刷のための中間データをメモリ12から取得して、汎用印刷プログラム41に渡す。本形態では、矢印Uから矢印Yまでの処理を指定された部数であるN回繰り返すことで、N部の印刷物が作成される。なお、中間データを渡す処理をN回繰り返す代わりに、補助プログラム42が中間データのコピーを生成し、1回の矢印VにてN部の全ページの中間データをまとめて汎用印刷プログラム41に渡すように構成しても良い。
 補助プログラム42は、N回目の中間データを汎用印刷プログラム41に渡した後、さらに汎用印刷プログラム41から実行命令を受け取ると(矢印Y)、汎用印刷プログラム41に終了通知を渡して(矢印R)、このジョブの処理を終了する。
 以上、詳細に説明したように、本形態の補助プログラム42によってもコレート印刷での複数部数印刷が実現される。本形態では、印刷データの生成と送信とを汎用印刷プログラム41に行わせることで、補助プログラム42の処理がシンプルであり、設計工数が少ない。
 なお、以上の各実施の形態では、コレート印刷について説明したが、本形態の補助プログラム42は、アンコレート印刷での複数部数印刷の指定も受け付ける。例えば、図2の矢印Dにて受け付けた印刷設定が、アンコレート印刷でのM部(Mは、2以上の自然数)の印刷の設定であった場合、補助プログラム42の動作手順は、例えば、図6に示すようになる。
 補助プログラム42は、汎用印刷プログラム41から中間データを受け取り(矢印G)、1ページ分の印刷データを生成する(矢印H)。そして、補助プログラム42が、生成した1ページ分の印刷データと送信要求とを汎用印刷プログラム41に渡し(矢印J)、汎用印刷プログラム41が、1ページ分の印刷データをプリンタ2に送信する(矢印K)。コレート印刷の場合と同様に、補助プログラム42は、プリンタ2から受信完了通知を受け取り(矢印L)、汎用印刷プログラム41に実行命令要求を渡すことで(矢印M)、汎用印刷プログラム41から実行命令を受け取る(矢印N)。矢印Jから矢印Nを指定された部数であるM回繰り返すことで、1ページ目の印刷データがM回連続してプリンタ2に連続送信される。
 部数回の印刷データの送信後の矢印Nでの実行命令に応じて、補助プログラム42は、矢印Hに戻り、次のページの印刷データを生成する。そして、補助プログラム42は、汎用印刷プログラム41に、生成した次のページも部数回繰り返して送信させる。矢印Hから矢印Nまでを繰り返す処理は、アンコレート送信処理の一例である。
 なお、アンコレート印刷の場合にも、当然複数のバリエーションが有る。例えば、印刷データの生成は、汎用印刷プログラム41が行っても良い。また、印刷データのプリンタ2への送信は、補助プログラム42が行っても良い。
 本形態の補助プログラム42は、印刷対象の範囲が複数ページである画像の複数部数印刷の印刷指示を受け付けた場合、コレート印刷の指定とアンコレート印刷の指定とのいずれかを受け付ける。そして、受け付けた指定に応じて、図2~図5のいずれかの処理、または、図6の処理を実行する。アンコレート印刷にも対応することで、印刷設定の自由度が高くなる。
 なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、2台以上でもよい。
 また、複数部数印刷以外の印刷設定については、汎用印刷プログラム41にて処理可能な印刷設定については汎用印刷プログラム41にて処理を行い、汎用印刷プログラム41にて処理できない印刷設定については補助プログラム42にて処理を行うとしても良い。各実施の形態では、補助プログラム42の動作として、複数部数印刷に関する処理のみを記載しているが、補助プログラム42は、さらに他の役割を有していても良い。
 また、第1または第2の形態では、補助プログラム42が印刷データを生成するとしたが、印刷データの生成は、汎用印刷プログラム41が行っても良い。例えば、補助プログラム42は、汎用印刷プログラム41にて生成された全ページの印刷データを受け取ってメモリ12に保存し、1部ずつプリンタ2に送信するとしても良い。
 また、本形態では、アンコレート印刷の指定も受け付けるとしたが、受け付けなくても良い。例えば、複数ページの画像を複数部数印刷する印刷指示を受け付けた場合、コレート印刷を実行するとしても良い。
 また、補助プログラム42は、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
 また、実施の形態では、汎用印刷プログラム41から補助プログラム42の実行命令が出力されることで、補助プログラム42が実行されるとしているが、補助プログラム42の実行タイミングはこれに限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
 また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
 また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
 1 PC
 2 プリンタ
 11 CPU
 21 OS
 41 汎用印刷プログラム
 42 補助プログラム
 43 編集アプリ

Claims (11)

  1.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
     前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記複数ページの画像に基づいてラスタライズされた前記1部の印刷データを取得する第1取得処理と、
       前記第1取得処理にて取得した前記1部の前記印刷データを、前記1部ずつ前記N部にわたって、前記プリンタを送信先として前記情報処理装置から送信されるように、出力する第1出力処理と、
      を実行させる、
     ことを特徴とするサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
     前記第1出力処理では、
      前記第1取得処理によって取得した前記1部の前記印刷データを、前記N回繰り返して前記汎用印刷プログラムに渡し、前記汎用印刷プログラムは、渡された前記印刷データを、前記プリンタに送信する、
     ことを特徴とするサポートプログラム。
  3. 請求項1に記載するサポートプログラムにおいて、
     前記第1出力処理では、
      前記第1取得処理によって取得した前記1部の前記印刷データを、前記N回繰り返して前記プリンタに送信する、
     ことを特徴とするサポートプログラム。
  4. 請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、 前記第1取得処理では、
      1ページごとにラスタライズされた前記印刷データを取得し、
     前記第1出力処理では、
      最初の前記1部の前記印刷データについて、前記印刷データを毎ページ取得する度に出力する、
     ことを特徴とするサポートプログラム。
  5. 請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、 前記第1出力処理では、
      前記第1取得処理にて前記1部の前記印刷データの取得が完了した後、前記印刷データの出力を開始する、
     ことを特徴とするサポートプログラム。
  6.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
     前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記複数ページの画像に基づく印刷用中間データを前記汎用印刷プログラムから受け取り、受け取った前記印刷用中間データを前記1部ずつ前記N部にわたって前記汎用印刷プログラムに渡すことで、前記N部の印刷データが前記プリンタを送信先として前記情報処理装置から送信されるように、出力する第2出力処理を実行させる、
     ことを特徴とするサポートプログラム。
  7. 請求項1から請求項6のいずれか1つに記載するサポートプログラムにおいて、 前記コンピュータに、
      前記汎用印刷プログラムに対して前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像について、1ページずつM(Mは2以上の自然数)回の印刷を連続して行うアンコレート印刷を前記プリンタに実行させる場合、
       前記複数ページの画像に基づいてラスタライズされた印刷データを、1ページずつ前記M回連続して前記プリンタに送信する連続送信を全ページ分について行うアンコレート送信処理を実行させる、
     ことを特徴とするサポートプログラム。
  8.  コンピュータを備える情報処理装置であって、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記コンピュータは、
      前記アプリケーションプログラムから出力された前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記サポートプログラムによって、前記複数ページの画像に基づいてラスタライズされた前記1部の印刷データを取得する第1取得処理と、
       前記サポートプログラムによって、前記第1取得処理にて取得した前記複数ページの前記印刷データを、前記1部ずつ前記N部にわたって、前記プリンタを送信先として前記情報処理装置から送信されるように、出力する第1出力処理と、
      を実行する、
     ことを特徴とする情報処理装置。
  9.  コンピュータを備える情報処理装置であって、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記コンピュータは、
      前記アプリケーションプログラムから出力された前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記サポートプログラムによって、前記複数ページの画像に基づく印刷用中間データを前記汎用印刷プログラムから受け取り、受け取った前記印刷用中間データを前記1部ずつ前記N部にわたって前記汎用印刷プログラムに渡すことで、前記N部の印刷データが前記プリンタを送信先として前記情報処理装置から送信されるように、出力する第2出力処理を実行する、
     ことを特徴とする情報処理装置。
  10.  情報処理装置にプリンタが接続され、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続する前記プリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
      前記アプリケーションプログラムから出力された前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記サポートプログラムによって、前記複数ページの画像に基づいてラスタライズされた前記1部の前記印刷データを取得し、
       前記サポートプログラムによって、取得した前記複数ページの前記印刷データを、前記1部ずつ前記N部にわたって、前記プリンタを送信先として前記情報処理装置から送信されるように、出力する、
     ことを特徴とする印刷方法。
  11.  情報処理装置にプリンタが接続され、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続する前記プリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
      前記アプリケーションプログラムから出力された前記印刷指示があり、前記印刷指示に基づくジョブにおいて、印刷対象の範囲である複数ページの画像の印刷を1部の印刷として、N(Nは2以上の自然数)部の印刷を1部ずつ順次に行うコレート印刷を前記プリンタに実行させる場合、
       前記サポートプログラムによって、前記複数ページの画像に基づく印刷用中間データを前記汎用印刷プログラムから受け取り、受け取った前記印刷用中間データを前記1部ずつ前記N部にわたって前記汎用印刷プログラムに渡すことで、前記N部の前記印刷データが前記プリンタを送信先として前記情報処理装置から送信されるように、出力する、 ことを特徴とする印刷方法。
PCT/JP2020/025802 2019-09-30 2020-07-01 サポートプログラム、情報処理装置、および印刷方法 WO2021065126A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20872724.8A EP4040281A4 (en) 2019-09-30 2020-07-01 SUPPORT PROGRAM, INFORMATION PROCESSING APPARATUS AND PRINTING METHOD
CN202080067238.XA CN114450929A (zh) 2019-09-30 2020-07-01 支持程序、信息处理装置及打印方法
US17/212,273 US11277540B2 (en) 2019-09-30 2021-03-25 Non-transitory computer readable storage medium, information processing device and printing method
US17/665,972 US11659125B2 (en) 2019-09-30 2022-02-07 Non-transitory computer readable storage medium, information processing device and printing method for collate printing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-179047 2019-09-30
JP2019179047A JP7342577B2 (ja) 2019-09-30 2019-09-30 サポートプログラム、情報処理装置、および印刷方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/212,273 Continuation US11277540B2 (en) 2019-09-30 2021-03-25 Non-transitory computer readable storage medium, information processing device and printing method

Publications (1)

Publication Number Publication Date
WO2021065126A1 true WO2021065126A1 (ja) 2021-04-08

Family

ID=75270908

Family Applications (1)

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

Country Status (5)

Country Link
US (2) US11277540B2 (ja)
EP (1) EP4040281A4 (ja)
JP (1) JP7342577B2 (ja)
CN (1) CN114450929A (ja)
WO (1) WO2021065126A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115576506A (zh) * 2021-06-21 2023-01-06 东芝泰格有限公司 打印机驱动方法及打印机驱动单元
JP2023079524A (ja) 2021-11-29 2023-06-08 ブラザー工業株式会社 サポートプログラム及び印刷システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250613A (ja) * 2012-05-30 2013-12-12 Canon Inc 情報処理装置、制御方法及びプログラム
JP2018092583A (ja) * 2016-09-08 2018-06-14 株式会社リコー プリンタドライバ、情報処理装置および画像処理システム
JP2018099804A (ja) * 2016-12-20 2018-06-28 セイコーエプソン株式会社 印刷装置および印刷装置の制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604843A (en) * 1992-12-23 1997-02-18 Microsoft Corporation Method and system for interfacing with a computer output device
JP4011044B2 (ja) * 2004-06-25 2007-11-21 キヤノンマーケティングジャパン株式会社 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP2007207194A (ja) * 2006-02-06 2007-08-16 Canon Inc 印刷装置、外部装置、印刷システム及び印刷装置の制御方法
JP4923899B2 (ja) 2006-09-19 2012-04-25 セイコーエプソン株式会社 プリンタ・ドライバ・プログラム
JP5979893B2 (ja) * 2012-02-01 2016-08-31 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP6429584B2 (ja) * 2014-10-14 2018-11-28 キヤノン株式会社 印刷装置、印刷方法およびプログラム
US10275192B2 (en) 2016-09-08 2019-04-30 Ricoh Company, Ltd. Information processing apparatus, image processing system, and printer driver
JP7218496B2 (ja) * 2017-09-29 2023-02-07 ブラザー工業株式会社 プログラムおよび印刷システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250613A (ja) * 2012-05-30 2013-12-12 Canon Inc 情報処理装置、制御方法及びプログラム
JP2018092583A (ja) * 2016-09-08 2018-06-14 株式会社リコー プリンタドライバ、情報処理装置および画像処理システム
JP2018099804A (ja) * 2016-12-20 2018-06-28 セイコーエプソン株式会社 印刷装置および印刷装置の制御方法

Also Published As

Publication number Publication date
US20220159142A1 (en) 2022-05-19
EP4040281A1 (en) 2022-08-10
US11277540B2 (en) 2022-03-15
US20210218864A1 (en) 2021-07-15
JP7342577B2 (ja) 2023-09-12
CN114450929A (zh) 2022-05-06
EP4040281A4 (en) 2023-11-01
JP2021056756A (ja) 2021-04-08
US11659125B2 (en) 2023-05-23

Similar Documents

Publication Publication Date Title
EP2437157B1 (en) Printing system, printing method, print server, control method, and program
JP2013126754A (ja) プリントシステム、画像形成装置、プリントサーバおよびその制御方法、並びにプログラム
WO2021117278A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2016200934A (ja) 画像出力システム、画像処理装置、画像出力装置、これらにおける方法及びプログラム
US11659125B2 (en) Non-transitory computer readable storage medium, information processing device and printing method for collate printing
JP2023014081A (ja) サポートプログラム、情報処理装置、および印刷方法
WO2021117277A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP6594632B2 (ja) 画像処理システム
US11175871B2 (en) Image forming apparatus, non-transitory computer readable medium, and image forming system for receipt of print data including print settings
CN114503069B (zh) 存储有支持程序的存储介质、信息处理装置及打印方法
US11604613B2 (en) Support program for driverless general-purpose print program, information processing device, and printing method for aggregate printing
US8213032B2 (en) Information processing apparatus and method and computer-readable storage medium thereof
JP7259373B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7200632B2 (ja) 印刷システム、プリンタ、およびサポートプログラム
WO2022163430A1 (ja) サポートプログラム
WO2022163429A1 (ja) サポートプログラム
JP2012181695A (ja) 情報処理装置、プリントシステム、制御方法、及び、プログラム
WO2021065124A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2021179912A (ja) サポートプログラム、情報処理装置、および印刷方法
JP2011139271A (ja) 情報処理装置、方法、システム及びプログラム
JP2020047094A (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: 20872724

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020872724

Country of ref document: EP

Effective date: 20220502