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

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

Info

Publication number
WO2020158715A1
WO2020158715A1 PCT/JP2020/002923 JP2020002923W WO2020158715A1 WO 2020158715 A1 WO2020158715 A1 WO 2020158715A1 JP 2020002923 W JP2020002923 W JP 2020002923W WO 2020158715 A1 WO2020158715 A1 WO 2020158715A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
print
status
printer
general
Prior art date
Application number
PCT/JP2020/002923
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 WO2020158715A1 publication Critical patent/WO2020158715A1/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/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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/1259Print job monitoring, e.g. job status
    • 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
    • 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/1291Pool of printer devices: self-managing printing devices in a network, e.g. without a server

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.
  • the present specification discloses a technique in which, in an information processing apparatus incorporating an OS standard general-purpose print program, the status of processing based on a print instruction can be recognized in detail by an application program that has input the print instruction.
  • 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 print instruction output from an application program installed in the computer, the print instruction for causing the printer to print an image is issued to a general-purpose print program installed in advance in the operating system of the information processing apparatus. Based on this, after the general-purpose printing program generates print data, a specific process, a status acquisition process, and a status providing process are executed, and in the specific process, a print job corresponding to the print instruction is executed.
  • the printer is identified, and in the status acquisition process, the status of the print job corresponding to the print instruction is inquired to the printer identified in the identification process via the communication interface of the information processing apparatus to check the print job status.
  • Status information is acquired, and in the status providing process, the status information of the print job acquired in the status acquiring process is output to be provided to the application program.
  • the support program disclosed in this specification acquires the status information of the print job from the printer and outputs the acquired status information of the print job to the application program. Accordingly, the application program can display the processing status of the print job based on the information obtained from the output status information. Therefore, the user who is using the application program can recognize the progress of processing in detail by the application program.
  • 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.
  • the status of processing based on a print instruction can be recognized in detail by an application program that has input the print instruction. Is realized.
  • 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
  • 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 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 editing application 43 is an example of an application program.
  • 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 indicates various information included in the print instruction, for example, information indicating a printer to be printed, information indicating print parameters set by the application, and image data to be printed. Information and information for identifying the user who has instructed to print can be acquired. As will be described later, these pieces of information can also be used by the auxiliary program 42.
  • the general-purpose print program 41 generates intermediate image data by converting the format of image data included in the print execution notification into the format of intermediate image data, and generates a print job including the intermediate image data (arrow C).
  • 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. 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 printing 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. The general-purpose print program 41 operates the auxiliary program 42 before starting the generation of print data by the general-purpose print program 41 or after generating the print data by the general-purpose print program 41.
  • the general-purpose print program 41 generates print data based on the intermediate image data (arrow D).
  • 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.
  • the general-purpose print program 41 After the print data is generated, the general-purpose print program 41 outputs an execution command to execute the print data editing process for editing the generated print data (arrow E).
  • the print data is attached to the execution instruction of the print data editing process.
  • the auxiliary program 42 that has received the execution command from the general-purpose print program 41 starts the print data editing process (arrow F).
  • the auxiliary program 42 can acquire various information included in the print instruction in addition to the print parameters from the general-purpose print program 41 by an execution command of the print data editing process.
  • the print data editing process is an example of print data generation post-processing
  • the edited print data is an example of post-processing information.
  • the auxiliary program 42 adds a command for executing a function peculiar to the printer 2 to the print data in the print data editing process.
  • 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 auxiliary program 42 returns an end notification indicating the end of the process to the general-purpose print program 41 and ends the process.
  • the general-purpose print program 41 sends a print command to the printer 2 in response to receiving the end notification from the auxiliary program 42 (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 auxiliary program 42 may transmit the print command to the printer 2 via the communication IF 30 without using the general-purpose print program 41.
  • the auxiliary program 42 provides the requested program with the status information of the print job in response to the request from the general-purpose print program 41 or the editing application 43.
  • the general-purpose printing program 41 requests the status information of the print job from the auxiliary program 42 in response to a request from an application such as the editing application 43 that has received a print instruction to cause the printer 2 to print.
  • the editing application 43 may request the status information from the auxiliary program 42.
  • a user who has input a print instruction with an application such as the editing application 43 may want to know the progress of printing according to the print instruction via the application.
  • the editing application 43 of the present embodiment receives a notification instruction for notifying the progress status of the print job for which the print instruction has been received, using the UI 20.
  • the editing application 43 accepts a print instruction to be printed by the printer 2 using the general-purpose print program 41, to which the notification instruction is added.
  • the outline of the processing procedure by each program when the printing instruction added with the progress notification instruction is received by the editing application 43 will be described with reference to the sequence diagram of FIG.
  • print data is generated by the general-purpose print program 41 and printed by the general-purpose print program 41 to the printer 2 as described above.
  • Data is transmitted (arrow H in FIG. 2, arrow b in FIG. 3).
  • the printer 2 receives the print data and starts printing (arrow c in FIG. 3).
  • the print job is provided with identification information corresponding to the print instruction in the editing application 43, and the editing application 43 and the general-purpose print program 41 share the identification information of the print job.
  • the auxiliary program 42 executes the print data editing process before the print data is transmitted from the general-purpose print program 41 (arrow F in FIG. 2).
  • the auxiliary program 42 acquires the identification information of the print job from the information attached to the print data in the print data editing process. Then, the auxiliary program 42 edits the print data as needed.
  • the auxiliary program 42 outputs an end notification to the general-purpose print program 41 and starts monitoring the status of the print job. Then, the auxiliary program 42 causes the memory 12 to store information about each print job being monitored.
  • the auxiliary program 42 associates the print job identification information and the status information of the print job with respect to each print job executed by all the printers corresponding to the auxiliary program 42.
  • the list 51 is stored in the memory 12.
  • the status information list 51 shown in FIG. 4 is an example of a list in which status information is stored for each print job instructed to print by the printers “printer A” and “printer B” corresponding to the auxiliary program 42. ..
  • the auxiliary program 42 stores the latest status information list 51 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 auxiliary program 42 acquires information indicating the status of the print job from the printer, for example, by inquiring the printer with identification information of the print job.
  • the status of the print job includes print execution, print standby, print cancel, and no job. For example, if the print job has disappeared from the printer due to a print end or delete command, the status of the print job is no corresponding job. If communication with the printer 2 is impossible due to a communication error or power off, the status of the print job is unknown.
  • the auxiliary program 42 monitors the status of the print job while the print job remains in the printer 2.
  • the auxiliary program 42 executes, for example, a status monitoring process of periodically inquiring the printer 2 to obtain status information (arrow d in FIG. 3), and updates the status information list 51 with the obtained information (arrow e). Details of the status monitoring process will be described later.
  • the printer 2 In response to the inquiry from the auxiliary program 42, the printer 2 provides status information including, for example, information indicating the status of the apparatus itself, information indicating a stored print job, and information indicating a print job in print execution to the auxiliary program 42. Return to. After the printing of the print job is completed, the printer 2 may send information indicating the completion to the auxiliary program 42 before deleting the print data of the print job.
  • the auxiliary program 42 sets the status information of the print job in which printing is being executed to “printing in progress”, and displays the status information of the print job that has received the print data and has not yet started printing. It is "not executed”.
  • the auxiliary program 42 sets the status information of the print job to “printing is being stopped”.
  • the auxiliary program 42 acquires information indicating that printing is completed from the printer, the status information of the print job is set to “print completed”. It should be noted that the auxiliary program 42 may determine that the printing of the print job has ended if the print job has been started by the printer and the printer does not have the print job.
  • the timing at which the auxiliary program 42 starts monitoring the status may be before or after the print data transmission by the general-purpose printing program 41 is started, or may be after a certain time has elapsed since the end notification was returned to the general-purpose printing program 41. .. Further, the time interval for repeating the inquiry may be a predetermined fixed time or a variable time set by the user.
  • the auxiliary program 42 provides the status information of the print job to the general-purpose print program 41 based on the information acquired from the printer 2 (arrow f in FIG. 3). Further, the auxiliary program 42 ends the monitoring when the print job being monitored disappears from the printer 2. After that, the auxiliary program 42 provides the general-purpose print program 41 with status information indicating that there is no job, for example (arrow g). The print job is deleted from the printer 2 when it is completed normally or when it is deleted by the user.
  • the general-purpose printing program 41 passes the status information provided by the auxiliary program 42 to the editing application 43 based on the request from the editing application 43 (arrow h).
  • the editing application 43 can display a screen showing the status information of the print job.
  • the user can recognize the progress status of the print job by the editing application 43.
  • the general-purpose printing program 41 passes the status information provided by the arrows f and g to the editing application 43 at any time. If it is a status request only at the end of printing, the general-purpose printing program 41 does not pass the status information with the arrow f but only the status information provided with the arrow g to the editing application 43. Further, the editing application 43 may receive a notification instruction of the current progress status regarding the received print instruction, and in this case, requests the general-purpose print program 41 for the current status information. The general-purpose print program 41 passes the current status information based on the request from the editing application 43.
  • the status monitoring process is executed by the CPU 11 of the PC 1 according to the auxiliary program 42, for example, when the completion notification of the process of editing the print data by the auxiliary program 42 is output to the general-purpose printing program 41.
  • the CPU 11 acquires the identification information of the print job that outputs the end notification to the general-purpose print program 41 (S101).
  • the print job identification information also includes information about the printer that executes printing.
  • S101 the printer that executes the print job to be monitored is also specified. S101 is an example of a specific process. Then, the CPU 11 inquires of the specified printer about the status of the print job (S102).
  • the CPU 11 determines whether or not the printer has the print job based on the response from the printer (S103). For example, if there are no print jobs due to the completion of printing, there is no need to continue monitoring the print jobs. Therefore, when it is determined that there is no print job (S103: NO), the CPU 11 stores in the status information list 51 that there is no print job (S104), and ends monitoring of this print job.
  • the condition determined to be NO in S103 is an example of the execution end condition.
  • the CPU 11 outputs the status information of the print job for which monitoring has been completed to the general-purpose print program 41 (S105).
  • S105 is an example of the status providing process.
  • the CPU 11 acquires the status information of the print job from the printer (S106).
  • S106 is an example of the status acquisition process.
  • the CPU 11 stores the acquired status information in the status information list 51 (S107).
  • the acquired status information is output to the general-purpose print program 41 (S108).
  • S108 is an example of the status providing process. Instead of acquiring the status information for each print job, the CPU 11 may collectively acquire the status information of all the print jobs as the printer status.
  • the CPU 11 determines whether or not to finish monitoring the print job (S109).
  • the CPU 11 determines to end monitoring of the progress status of the print job, for example, when printing of the print job is completed, or when a predetermined time has elapsed from the start of transmission of print data.
  • S109 is an example of the execution end condition. Also, after making an inquiry to the printer, if no response is obtained within a predetermined waiting time, the monitoring may be ended.
  • the CPU 11 determines whether or not a predetermined wait time has elapsed (S110). When it is determined that the wait time has not elapsed (S110: NO), the CPU 11 waits for the wait time to elapse. When it is determined that the wait time has elapsed (S110: YES), the CPU 11 returns to S102 and inquires the printer again.
  • the status information list 51 is deleted, for example, when the power of the PC 1 is turned off. Further, the auxiliary program 42 may delete, from the status information list 51, the status information of the print job for which a predetermined holding time has elapsed after the status monitoring is completed.
  • the auxiliary program 42 may provide the status information when receiving a request from the editing application 43, instead of providing the status information as appropriate.
  • the editing application 43 receives a request for status information from the user, adds identification information of the received print job, and requests the general-purpose printing program 41 for status information.
  • the general-purpose print program 41 adds the identification information of the print job and requests status information from the auxiliary program 42.
  • This status reply process is executed by the CPU 11 of the PC 1 according to the auxiliary program 42 upon receiving a status providing request from the general-purpose print program 41.
  • the CPU 11 acquires the identification information of the print job specified by the received provision request (S201). The CPU 11 determines whether the status information of the print job corresponding to the acquired identification information is stored in the status information list 51 (S202).
  • the CPU 11 When it is determined that the status information of the print job corresponding to the acquired identification information is not stored in the status information list 51 (S202: NO), the CPU 11 causes the printer designated by the print job to perform the printing. The job status is inquired (S203). Based on the response from the printer, the CPU 11 acquires the status information of the print job (S204). S204 is an example of the status acquisition process.
  • the CPU 11 reads the status information of the print job (S205). After S204 or S205, the CPU 11 passes the response including the acquired status information to the general-purpose print program 41 (S206), and ends the status response process.
  • S206 is an example of the status providing process. If the status information of the designated print job is stored in the status information list 51, the auxiliary program 42 can reply without communicating with the printer, so that a reply can be expected in a short time.
  • auxiliary program 42 may inquire of the printer 2 about a print job that has received a provision request, instead of monitoring and storing the status information of all print jobs. In that case, S202 and S205 of the status response process are deleted, and after S201, the process proceeds to S203. An outline of the processing procedure of each program in this case will be described with reference to the sequence diagram of FIG. 7. In FIG. 7, the same steps as those in FIG. 3 are designated by the same reference numerals.
  • the print instruction is accepted by the editing application 43 (arrow a), print data is transmitted from the general-purpose print program 41 to the printer 2 (arrow b), and the printer 2 executes printing (arrow c).
  • the editing application 43 receives a status inquiry from the user, the editing application 43 adds the print job identification information to the general-purpose printing program 41 and outputs the status information inquiry (arrow i).
  • the general-purpose print program 41 inquires the auxiliary program 42 about the status (arrow j).
  • the auxiliary program 42 inquires of the printer 2 about the status (arrow k), and acquires the status information from the printer 2 (arrow l).
  • the auxiliary program 42 may inquire about the status of the designated print job, and the printer 2 may reply only the status information of the print job corresponding to the identification information included in the inquiry.
  • the auxiliary program 42 passes the status information acquired from the printer 2 to the general-purpose printing program 41 (arrow m), and the general-purpose printing program 41 passes the received status information to the editing application 43 (arrow n).
  • the editing application 43 can display the status information requested by the user via the UI 20.
  • the communication load with the printer is small compared to the case of continuing to monitor the status by inquiring the printer in response to the request.
  • the timing at which the general-purpose print program 41 inquires the status of the auxiliary program 42 is not limited to the case where an inquiry from an application such as the editing application 43 is accepted.
  • the general-purpose print program 41 may inquire the auxiliary program 42 in response to the inquiry from the OS 21.
  • the general-purpose printing program 41 may make an inquiry about the status of the auxiliary program 42 at its own timing.
  • the auxiliary program 42 may directly receive the status information providing instruction from the application such as the editing application 43 and directly provide the status information to the application such as the editing application 43.
  • the procedure of processing by each program is as shown in FIG. 8, for example.
  • the editing application 43 Upon receiving the print execution instruction (arrow a), the editing application 43 outputs an execution notification to the general-purpose print program 41 and also passes a status information provision request to the corresponding auxiliary program 42 (arrow p).
  • the auxiliary program 42 executes the status monitoring process as described above based on the request from the editing application 43. For example, the auxiliary program 42 monitors the status of the print job while the print job remains in the printer 2. The auxiliary program 42 executes, for example, a status monitoring process for periodically inquiring the printer 2 to obtain status information (arrow d), and updates the status information list 51 with the obtained information (arrow e).
  • the auxiliary program 42 If the request from the editing application 43 is a request for a regular status until the end of printing, the auxiliary program 42 outputs the information acquired by the arrow d to the editing application 43 at any time (arrow q). On the other hand, if the request is for a status only at the end of printing, the auxiliary program 42 does not output the status information at arrow q, but outputs the status information to the editing application 43 after the end of the job (arrow r). Further, the editing application 43 may receive a notification instruction of the current progress status regarding the received print instruction, and in this case, requests the auxiliary program 42 for the current status information. The auxiliary program 42 outputs the current status information based on the request from the editing application 43.
  • the auxiliary program 42 of the present embodiment specifies the printer corresponding to the print job and acquires the status information from the specified printer when a print instruction using the general-purpose print program 41 is given. Output status information.
  • the general-purpose printing program 41 provides the editing application 43 and the like with the information on the status, the editing application 43 and the like can display the status of the print job. Therefore, the user inputs the print progress status of the processing. You can recognize it in detail with the application.
  • the auxiliary program 42 repeatedly inquires the printer of the status based on the start of the transmission of the print data of the print job. Therefore, when an inquiry is made from the editing application 43, the status of the print job is promptly confirmed. I can answer. Furthermore, since the condition for ending the inquiry about the status is provided, it is possible to avoid the unnecessary continuation of the processing. In particular, when the execution of the print job is completed, or when there are no more print jobs, it is not necessary to monitor the status, so it is preferable to end the inquiry about the status. Further, when a predetermined time has elapsed after starting the transmission of the print data, it is less necessary to monitor the status of the print job for a long time, and thus it is preferable to end the inquiry about the status.
  • the status information of each print job is stored in the status information list 51, it is possible to reply in a short time in response to a request from the general-purpose printing program 41.
  • the printer 2 is inquired each time an inquiry is made, the increase in the load on the PC 1 can be suppressed.
  • the general-purpose print program 41 determines the print job identification information and returns it to the application, so the print job identification information can be shared between the application and the general-purpose print program 41. ..
  • the general-purpose print program 41 can share the print job identification information with the auxiliary program 42 by including the print job identification information in the instruction to the auxiliary program 42, so that the necessary information can be accurately provided.
  • 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 module that executes each process of the present embodiment is not limited to the auxiliary program 42, and may be a program that receives an instruction from the OS 11 when printing is performed by the general-purpose print program 41 of the OS 11.
  • it may be a print workflow application (Print workflow) published by Microsoft.
  • auxiliary program 42 may have another role.
  • 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 11 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は、PC1に、編集アプリ43から出力された印刷指示であって、汎用印刷プログラム41に対して、画像の印刷をプリンタに行わせる印刷指示があったことに基づいて汎用印刷プログラム41が印刷データを生成した後、印刷指示に対応する印刷ジョブを実行するプリンタを特定させ、通信IF30を介して、特定したプリンタに印刷指示に対応する印刷ジョブのステータスを問い合わせてステータス情報を取得させ、プリンタから取得したステータス情報を、編集アプリ43に提供するために出力させる。

Description

サポートプログラム、情報処理装置、および印刷方法
 本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
 パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特開2017-134718号公報)。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
 近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
 前述したOS標準の汎用印刷プログラムによる印刷であっても、プリンタドライバによる印刷と同様に、アプリケーションプログラムにとっては、印刷データがOSのプリントキューに蓄積されることで印刷指示に対する処理が終了する。そのため、印刷データがプリントキューに登録された後の処理の状況については、ユーザがそのアプリケーションプログラムを介して知ることはできない。
 本明細書は、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷指示に基づく処理の状況を、その印刷指示を入力したアプリケーションプログラムで詳細に認識できる技術を開示する。
 上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行させ、前記特定処理では、前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、前記ステータス取得処理では、前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、前記ステータス提供処理では、前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、ことを特徴としている。
 本明細書に開示されるサポートプログラムは、印刷ジョブのステータス情報をプリンタから取得し、取得した印刷ジョブのステータス情報を、アプリケーションプログラムに提供するために出力する。これにより、アプリケーションプログラムは、出力されたステータス情報から得られる情報に基づいて、印刷ジョブの処理の状況を表示できる。従って、アプリケーションプログラムを使用しているユーザは、処理の進行状況をアプリケーションプログラムで詳細に認識できる。
 上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
 本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、印刷指示に基づく処理の状況を、その印刷指示を入力したアプリケーションプログラムで詳細に認識できる技術が実現される。
印刷システムの電気的構成を示すブロック図である。 各プログラムによる動作の順序の例を示すシーケンス図である。 ステータス情報を提供する手順を示すシーケンス図である。 ステータス情報リストの例を示す説明図である。 ステータス監視処理の手順を示すフローチャートである。 ステータス回答処理の手順を示すフローチャートである。 ステータス情報を提供する手順を示すシーケンス図である。 ステータス情報を提供する手順を示すシーケンス図である。
 以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
 本形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、プリンタ3と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2およびプリンタ3は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
 PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
 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に印刷を実行させる印刷指示を受け付ける。編集アプリ43は、アプリケーションプログラムの一例である。
 なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム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は、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する(矢印C)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
 さらに、汎用印刷プログラム41は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム41は、例えば、プリンタ2が指定されている場合、メモリ12に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ2のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、汎用印刷プログラム41は、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させる。汎用印刷プログラム41は、汎用印刷プログラム41による印刷データの生成を開始する前、または、汎用印刷プログラム41による印刷データの生成後に、補助プログラム42を動作させる。
 汎用印刷プログラム41は、中間画像データに基づいて印刷データを生成する(矢印D)。汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、PWGRasterデータまたはPDFデータである。
 印刷データの生成後、汎用印刷プログラム41は、生成した印刷データを編集する印刷データ編集処理を実行させる実行命令を出力する(矢印E)。印刷データ編集処理の実行命令には、印刷データが付される。
 汎用印刷プログラム41からの実行命令を受け付けた補助プログラム42は、印刷データ編集処理を開始する(矢印F)。補助プログラム42は、印刷データ編集処理の実行命令にて、印刷パラメータの他、印刷指示に含まれる各種の情報を汎用印刷プログラム41から取得できる。印刷データ編集処理は、印刷データ生成後処理の一例であり、編集後の印刷データは、後処理情報の一例である。
 補助プログラム42は、印刷データ編集処理にて、例えば、プリンタ2に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ2に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定、がある。プリンタ2が自身でウォータマークやヘッダ/フッタ等を画像に付加できる機能を有している場合、補助プログラム42は、これらの機能を実行させるコマンドを印刷データに付加しても良い。補助プログラム42は、印刷データを編集する処理を行った場合、処理の終了を示す終了通知を汎用印刷プログラム41に返して処理を終了する。
 汎用印刷プログラム41は、補助プログラム42から終了通知を受け取ったことに応じて、プリンタ2に対して印刷命令を送信する(矢印H)。これにより、印刷命令を受信したプリンタ2では、印刷命令に付された印刷データに従って、印刷データの画像の印刷が実行される。プリンタ2は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。なお、印刷データを編集する処理の終了後、補助プログラム42が、通信IF30を介して、汎用印刷プログラム41を介さずにプリンタ2に対して印刷命令を送信してもよい。
 本形態の印刷システムでは、補助プログラム42は、汎用印刷プログラム41または編集アプリ43からの要求に応じて、印刷ジョブのステータス情報を要求されたプログラムに提供する。例えば、汎用印刷プログラム41は、編集アプリ43等の、プリンタ2に印刷させる印刷指示を受け付けたアプリからの要求に応じて、印刷ジョブのステータス情報を補助プログラム42に要求する。あるいは、編集アプリ43が、補助プログラム42にステータス情報を要求しても良い。
 編集アプリ43等のアプリで印刷指示を入力したユーザは、そのアプリを介して、その印刷指示による印刷の進行状況を知りたい場合がある。本形態の編集アプリ43は、印刷指示を受け付けた印刷ジョブの進行状況を、UI20にて通知する通知指示を受け付ける。例えば、編集アプリ43は、汎用印刷プログラム41を使用してプリンタ2に印刷させる印刷指示であって、通知指示が付加された印刷指示を受け付ける。本形態の印刷システムにおいて、編集アプリ43にて進行状況の通知指示を付加した印刷指示を受け付けた場合の、各プログラムによる処理の手順の概略について、図3のシーケンス図を参照して説明する。
 編集アプリ43にて印刷指示を受け付けると(図2の矢印A、図3の矢印a)、前述したように、汎用印刷プログラム41にて印刷データが生成され、汎用印刷プログラム41からプリンタ2に印刷データが送信される(図2の矢印H、図3の矢印b)。プリンタ2は、印刷データを受信して、印刷の実行を開始する(図3の矢印c)。なお、印刷ジョブには編集アプリ43での印刷指示に対応して識別情報が与えられ、編集アプリ43と汎用印刷プログラム41とは、印刷ジョブの識別情報を共有する。
 補助プログラム42は、前述したように、汎用印刷プログラム41から印刷データが送信される前に、印刷データ編集処理を実行する(図2の矢印F)。補助プログラム42は、印刷データ編集処理にて印刷データに付された情報から、印刷ジョブの識別情報を取得する。そして、補助プログラム42は、必要に応じて印刷データを編集する。補助プログラム42は、印刷データ編集処理の終了後に、汎用印刷プログラム41に終了通知を出力するとともに、当該印刷ジョブのステータスの監視を開始する。そして、補助プログラム42は、監視中の各印刷ジョブの情報をメモリ12に記憶させる。
 補助プログラム42は、自身の対応する全てのプリンタにて実行される各印刷ジョブについて、印刷ジョブの識別情報とその印刷ジョブのステータス情報とを関連付けて、例えば、図4に示すような、ステータス情報リスト51をメモリ12に記憶させる。図4に示すステータス情報リスト51は、補助プログラム42が対応するプリンタである「プリンタA」と「プリンタB」での印刷が指示された各印刷ジョブについて、ステータス情報を記憶するリストの例である。補助プログラム42は、最新のステータス情報リスト51をメモリ12内の補助プログラム42用の記憶領域に記憶する。補助プログラム42用の記憶領域は、例えば、OS21によって準備されるレジストリであっても良い。
 補助プログラム42は、例えば、印刷ジョブの識別情報を付してプリンタに問い合わせることで、その印刷ジョブのステータスを示す情報をプリンタから取得する。印刷ジョブのステータスには、印刷実行中、印刷待機中、印刷中止中、該当ジョブ無しが該当する。例えば、印刷終了や削除命令によって印刷ジョブがプリンタに無くなっていれば、印刷ジョブのステータスは、該当ジョブ無しとなる。また、通信エラーや電源オフによってプリンタ2との通信が不可能であれば、印刷ジョブのステータスは不明である。
 補助プログラム42は、印刷ジョブがプリンタ2に残っている間、印刷ジョブのステータスの監視を行う。補助プログラム42は、例えば、定期的にプリンタ2に問い合わせてステータス情報を取得するステータス監視処理を実行し(図3の矢印d)、取得した情報でステータス情報リスト51を更新する(矢印e)。ステータス監視処理の詳細に付いては、後述する。
 プリンタ2は、補助プログラム42からの問い合わせに応じて、例えば、自装置の状態を示す情報、蓄積済みの印刷ジョブを示す情報、印刷実行中の印刷ジョブを示す情報を含むステータス情報を補助プログラム42に返す。プリンタ2は、印刷ジョブの印刷が終了した後、当該印刷ジョブの印刷データを削除する前に、補助プログラム42に終了を示す情報を送信してもよい。
 補助プログラム42は、例えば、図4に示すように、印刷を実行中の印刷ジョブのステータス情報を「印刷実行中」とし、印刷データを受信済みであって印刷開始前の印刷ジョブのステータス情報を「未実行」とする。補助プログラム42は、プリンタにてエラーなどが発生し、印刷ジョブの印刷が中止されている場合、その印刷ジョブのステータス情報を「印刷中止中」とする。
 また、補助プログラム42は、プリンタから印刷が終了したことを示す情報を取得した場合、当該印刷ジョブのステータス情報を「印刷終了」とする。なお、補助プログラム42は、プリンタでの印刷が開始された印刷ジョブであって、プリンタにその印刷ジョブが無い場合、印刷ジョブの印刷が終了したと判断しても良い。
 補助プログラム42がステータスの監視を開始するタイミングは、汎用印刷プログラム41による印刷データの送信開始より前でも後でも良いし、終了通知を汎用印刷プログラム41に返してから一定時間の経過後としても良い。また、問い合わせを繰り返す時間間隔は、所定の固定時間であっても良いし、ユーザの設定による可変時間であっても良い。
 補助プログラム42は、プリンタ2から取得した情報に基づいて、印刷ジョブのステータス情報を汎用印刷プログラム41に提供する(図3の矢印f)。また、補助プログラム42は、監視を行っている印刷ジョブがプリンタ2から無くなった場合、監視を終了する。その後、補助プログラム42は、例えば、ジョブ無しを示すステータス情報を汎用印刷プログラム41に提供する(矢印g)。印刷ジョブは、正常終了した場合やユーザによって削除された場合、プリンタ2から削除される。
 汎用印刷プログラム41は、編集アプリ43からの要求に基づいて、補助プログラム42から提供を受けたステータス情報を編集アプリ43に渡す(矢印h)。これにより、編集アプリ43は、印刷ジョブのステータス情報を示す画面を表示させることができる。これにより、ユーザは、印刷ジョブの進行状況を、編集アプリ43にて認識できる。
 編集アプリ43からの要求が、印刷終了までの定期的なステータスの要求であれば、汎用印刷プログラム41は、矢印fや矢印gにて提供されたステータス情報を随時、編集アプリ43に渡す。印刷終了時のみのステータス要求であれば、汎用印刷プログラム41は、矢印fではステータス情報を渡さず、矢印gにて提供されたステータス情報のみを編集アプリ43に渡す。また、編集アプリ43は、受け付け済みの印刷指示に関して、現在の進行状況の通知指示を受け付けても良く、その場合、汎用印刷プログラム41に現在のステータス情報を要求する。汎用印刷プログラム41は、編集アプリ43からの要求に基づいて、現在のステータス情報を渡す。
 次に、図3の矢印dで実行される補助プログラム42のステータス監視処理の手順について、図5のフローチャートを参照して説明する。このステータス監視処理は、例えば、補助プログラム42による印刷データを編集する処理の終了通知を汎用印刷プログラム41に出力したことを契機に、補助プログラム42に従って、PC1のCPU11にて実行される。
 ステータス監視処理では、CPU11は、終了通知を汎用印刷プログラム41に出力した印刷ジョブの識別情報を取得する(S101)。印刷ジョブの識別情報には、印刷を実行させるプリンタの情報も含まれる。S101では、監視する印刷ジョブを実行するプリンタも特定される。S101は、特定処理の一例である。そして、CPU11は、特定されたプリンタに、当該印刷ジョブのステータスを問い合わせる(S102)。
 CPU11は、プリンタからの回答に基づいて、プリンタに当該印刷ジョブが有るか否かを判断する(S103)。例えば、印刷が終了したことで印刷ジョブが無くなっている場合は、その印刷ジョブの監視を継続する必要はない。そこで、印刷ジョブが無いと判断した場合(S103:NO)、CPU11は、印刷ジョブが無いことをステータス情報リスト51に記憶し(S104)、この印刷ジョブの監視を終了する。S103でNOと判断される条件は、実行終了条件の一例である。
 さらに、CPU11は、監視を終了した印刷ジョブのステータス情報を汎用印刷プログラム41に出力する(S105)。S105は、ステータス提供処理の一例である。
 印刷ジョブが有ると判断した場合(S103:YES)、CPU11は、プリンタからその印刷ジョブのステータス情報を取得する(S106)。S106は、ステータス取得処理の一例である。そして、CPU11は、取得したステータス情報をステータス情報リスト51に記憶する(S107)。さらに、取得したステータス情報を汎用印刷プログラム41に出力する(S108)。S108は、ステータス提供処理の一例である。なお、CPU11は、印刷ジョブごとのステータス情報を取得する代わりに、プリンタのステータスとして、全ての印刷ジョブのステータス情報を纏めて取得しても良い。
 さらに、CPU11は、印刷ジョブの監視を終了するか否かを判断する(S109)。CPU11は、例えば、印刷ジョブの印刷が終了した場合や、印刷データの送信開始から所定時間が経過した場合、印刷ジョブの進行状況の監視を終了すると判断する。S109は、実行終了条件の一例である。また、プリンタへの問い合わせを行った後、所定の待ち時間を超えて回答が得られなかった場合も、監視を終了するとしても良い。
 印刷ジョブの監視を終了しないと判断した場合(S109:NO)、CPU11は、所定のウエイト時間が経過したか否かを判断する(S110)。ウエイト時間が経過していないと判断した場合(S110:NO)、CPU11は、ウエイト時間の経過を待つ。ウエイト時間が経過したと判断した場合(S110:YES)、CPU11は、S102に戻って、再度プリンタに問い合わせる。
 S105の後、または、印刷ジョブの監視を終了すると判断した場合(S109:YES)、CPU11は、ステータス監視処理を終了する。
 なお、ステータス情報リスト51は、例えば、PC1の電源がオフされた場合に消去される。また、補助プログラム42は、例えば、ステータスの監視を終了した後、所定の保持時間が経過した印刷ジョブのステータス情報を、ステータス情報リスト51から削除しても良い。
 補助プログラム42は、ステータス情報を適宜提供する代わりに、編集アプリ43からの要求を受けた場合にステータス情報を提供するとしても良い。例えば、編集アプリ43は、ユーザによるステータス情報の要求を受け付け、受け付けた印刷ジョブの識別情報を付加して、汎用印刷プログラム41にステータス情報を要求する。汎用印刷プログラム41は、印刷ジョブの識別情報を付加して、補助プログラム42にステータス情報を要求する。
 汎用印刷プログラム41からの要求に応じてステータス情報を提供する処理であるステータス回答処理の手順について、図6のフローチャートを参照して説明する。このステータス回答処理は、汎用印刷プログラム41からステータスの提供要求を受け付けたことを契機に、補助プログラム42に従って、PC1のCPU11にて実行される。
 このステータス回答処理では、CPU11は、受け付けた提供要求にて指定された印刷ジョブの識別情報を取得する(S201)。CPU11は、取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト51に記憶されているか否かを判断する(S202)。
 取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト51に記憶されていないと判断した場合(S202:NO)、CPU11は、その印刷ジョブにて指定されているプリンタに、当該印刷ジョブのステータスを問い合わせる(S203)。プリンタからの回答に基づいて、CPU11は、当該印刷ジョブのステータス情報を取得する(S204)。S204は、ステータス取得処理の一例である。
 一方、取得した識別情報に対応する印刷ジョブのステータス情報が、ステータス情報リスト51に記憶されていると判断した場合(S202:YES)、CPU11は、その印刷ジョブのステータス情報を読み出す(S205)。S204の後、または、S205の後、CPU11は、取得したステータス情報を含む回答を汎用印刷プログラム41に渡して(S206)、ステータス回答処理を終了する。S206は、ステータス提供処理の一例である。指定された印刷ジョブのステータス情報がステータス情報リスト51に記憶されていれば、補助プログラム42は、プリンタと通信することなく回答できることから、短時間での回答が期待できる。
 なお、補助プログラム42は、全ての印刷ジョブのステータス情報を監視し記憶する代わりに、提供要求を受け付けた印刷ジョブについて、提供要求を受け付けた場合にプリンタ2に問い合わせてもよい。その場合、ステータス回答処理のS202とS205とを削除し、S201の後、S203に進む。この場合の各プログラムの処理の手順の概略について、図7のシーケンス図を参照して説明する。なお、図7では、図3と同じ手順については、同じ符号を付している。
 編集アプリ43にて印刷指示を受け付け(矢印a)、汎用印刷プログラム41からプリンタ2へ印刷データが送信され(矢印b)、プリンタ2は、印刷を実行する(矢印c)。その後、編集アプリ43は、ユーザによるステータスの問い合わせを受け付けると、汎用印刷プログラム41に印刷ジョブの識別情報を付してステータス情報の問い合わせを出力する(矢印i)。
 編集アプリ43からの問い合わせに応じて、汎用印刷プログラム41は、補助プログラム42に、ステータスを問い合わせる(矢印j)。補助プログラム42は、汎用印刷プログラム41からの問い合わせを受けて、プリンタ2にステータスを問い合わせ(矢印k)、プリンタ2からステータス情報を取得する(矢印l)。なお、この場合には、補助プログラム42は、指定された印刷ジョブのステータスを問い合わせ、プリンタ2は、問い合わせに含まれる識別情報に対応する印刷ジョブのステータス情報のみを回答すればよい。
 さらに、補助プログラム42は、プリンタ2から取得したステータス情報を汎用印刷プログラム41に渡し(矢印m)、汎用印刷プログラム41は、受け取ったステータス情報を編集アプリ43に渡す(矢印n)。これにより、編集アプリ43は、ユーザの求めるステータス情報をUI20を介して表示させることができる。
 このようにすれば、要求に応じてプリンタに問い合わせることで、ステータスを監視し続ける場合に比較して、プリンタとの通信負荷が小さい。
 なお、汎用印刷プログラム41が補助プログラム42にステータスを問い合わせるタイミングは、編集アプリ43等のアプリからの問い合わせを受け付けた場合に限らない。例えば、OS21が汎用印刷プログラム41にジョブステータスを問い合わせる機能を有していれば、OS21からの問い合わせを受けて、汎用印刷プログラム41が補助プログラム42に問い合わせるとすればよい。また、汎用印刷プログラム41は、独自のタイミングで補助プログラム42にステータスの問い合わせを行っても良い。
 また、補助プログラム42は、編集アプリ43等のアプリから直接ステータス情報の提供指示を受け付け、編集アプリ43等のアプリに直接ステータス情報を提供しても良い。その場合、各プログラムによる処理の手順は、例えば、図8に示すようになる。編集アプリ43は、印刷実行の指示を受け付けると(矢印a)、汎用印刷プログラム41へ実行通知を出力すると共に、該当する補助プログラム42にステータス情報の提供要求を渡す(矢印p)。
 補助プログラム42は、編集アプリ43からの要求に基づいて、前述したようにステータスの監視処理を実行する。例えば、補助プログラム42は、印刷ジョブがプリンタ2に残っている間、印刷ジョブのステータスの監視を行う。補助プログラム42は、例えば、定期的にプリンタ2に問い合わせてステータス情報を取得するステータス監視処理を実行し(矢印d)、取得した情報でステータス情報リスト51を更新する(矢印e)。
 編集アプリ43からの要求が、印刷終了までの定期的なステータスの要求であれば、補助プログラム42は、矢印dで取得した情報を随時、編集アプリ43に出力する(矢印q)。一方、印刷終了時のみのステータス要求であれば、補助プログラム42は、矢印qではステータス情報を出力せず、ジョブ終了後にステータス情報を編集アプリ43に出力する(矢印r)。また、編集アプリ43は、受け付け済みの印刷指示に関して、現在の進行状況の通知指示を受け付けても良く、その場合、補助プログラム42に現在のステータス情報を要求する。補助プログラム42は、編集アプリ43からの要求に基づいて、現在のステータス情報を出力する。
 以上、詳細に説明したように、本形態の補助プログラム42は、汎用印刷プログラム41を用いる印刷指示があった場合に、印刷ジョブに対応するプリンタを特定し、特定したプリンタからステータス情報を取得して、ステータス情報を出力する。例えば、汎用印刷プログラム41が編集アプリ43等にそのステータスの情報を提供することで、編集アプリ43等は印刷ジョブのステータスを表示できることから、ユーザは、処理の進行状況を、その印刷指示を入力したアプリで詳細に認識できる。
 さらに、本形態では、補助プログラム42は、印刷ジョブの印刷データの送信開始に基づいてプリンタに繰り返しステータスを問い合わせるので、編集アプリ43からの問い合わせがあった場合に、その印刷ジョブのステータスを速やかに回答することができる。さらに、ステータスの問い合わせを終了する条件を設けているので、無駄な処理の継続を回避できる。特に、印刷ジョブの実行が終了した場合、あるいは印刷ジョブが無くなった場合は、ステータスを監視する必要がなくなるため、ステータスの問い合わせを終了する方が好ましい。また、印刷データの送信を開始してから所定時間が経過した場合、印刷ジョブのステータスを長時間監視する必要性は低いため、ステータスの問い合わせを終了する方が好ましい。
 また、本形態では、ステータス情報リスト51に各印刷ジョブのステータス情報を記憶するので、汎用印刷プログラム41からの要求に応じて、短時間で回答することができる。一方、問い合わせの都度プリンタ2に問い合わせるとすれば、PC1の負荷の増大を抑えることができる。
 また、本形態では、印刷実行をアプリから指示するときに、汎用印刷プログラム41が印刷ジョブの識別情報を決めてアプリに返すので、印刷ジョブの識別情報をアプリと汎用印刷プログラム41とで共有できる。そして、汎用印刷プログラム41は、補助プログラム42への指示に印刷ジョブの識別情報を含ませることで、補助プログラム42とも印刷ジョブの識別情報を共有できることから、必要な情報を正確に提供できる。
 なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、図示の例に限らず、1台でも良いし、3台以上でもよい。
 また、本形態の各処理を実行するモジュールは、補助プログラム42に限らず、OS11の汎用印刷プログラム41にて印刷を行う際に、OS11から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
 また、実施の形態では、補助プログラム42の動作として、ステータス情報の提供処理のみを記載しているが、補助プログラム42は、さらに他の役割を有していても良い。
 また、実施の形態では、汎用印刷プログラム41から補助プログラム42の実行命令が出力されることで、補助プログラム42が実行されるとしているが、補助プログラム42の実行タイミングはこれに限らない。例えば、OS11から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
 また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
 また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
 1 PC
 2 プリンタ
 11 CPU
 12 メモリ
 21 OS
 41 汎用印刷プログラム
 42 補助プログラム
 43 編集アプリ

 

Claims (13)

  1.  情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
     前記コンピュータに、
      前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行させ、
     前記特定処理では、
      前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
     前記ステータス取得処理では、
      前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
     前記ステータス提供処理では、
      前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
     ことを特徴とするサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記汎用印刷プログラムが前記印刷データを生成した後に、前記汎用印刷プログラムが生成した前記印刷データの生成に伴う通知が前記汎用印刷プログラムから提供されたことに応じて、前記汎用印刷プログラムが生成した前記印刷データを加工する処理を行う印刷データ生成後処理と、前記ステータス取得処理と、を実行させ、前記印刷データ生成後処理の処理結果を示す後処理情報を前記汎用印刷プログラムに提供した後、前記後処理情報に対応した前記印刷データが前記汎用印刷プログラムから前記プリンタに対して送信される、
     ことを特徴とするサポートプログラム。
  3. 請求項1または請求項2に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記印刷データの前記プリンタへの送信開始に対応するタイミングで、前記ステータス取得処理を繰り返し実行させる、
     ことを特徴とするサポートプログラム。
  4. 請求項3に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記印刷データの前記プリンタへの送信が開始された後、実行終了条件を満たすまで前記ステータス取得処理を繰り返し実行させる、
     ことを特徴とするサポートプログラム。
  5. 請求項4に記載するサポートプログラムにおいて、
     前記ステータス取得処理にて前記印刷ジョブが正常終了したことを示すステータス情報あるいは前記印刷ジョブが無いことを示すステータス情報を取得した場合に、前記実行終了条件を満たす、
     ことを特徴とするサポートプログラム。
  6. 請求項4に記載するサポートプログラムにおいて、
     前記印刷データの前記プリンタへの送信が開始された後から所定時間が経過した場合に、前記実行終了条件を満たす、
     ことを特徴とするサポートプログラム。
  7. 請求項1または請求項2に記載するサポートプログラムにおいて、
     前記コンピュータに、
      前記汎用印刷プログラムから提供要求があったことに応じて、前記ステータス取得処理を実行させる、
     ことを特徴とするサポートプログラム。
  8. 請求項7に記載するサポートプログラムにおいて、
     前記提供要求は、前記アプリケーションプログラムから前記汎用印刷プログラムに対して前記印刷ジョブのステータスを取得する取得要求があったことに応じて、前記汎用印刷プログラムから前記サポートプログラムに入力される、
     ことを特徴とするサポートプログラム。
  9. 請求項8に記載するサポートプログラムにおいて、
     前記アプリケーションプログラムから前記汎用印刷プログラムに入力される前記取得要求には、前記印刷ジョブの識別情報が含まれ、前記汎用印刷プログラムから前記サポートプログラムに入力される前記提供要求には、前記取得要求に含まれる前記識別情報が含まれ、
     前記ステータス提供処理では、前記提供要求に含まれる前記識別情報に対応する印刷ジョブのステータス情報を前記汎用印刷プログラムに提供し、前記ステータス情報には、前記提供要求に含まれる前記識別情報が含まれ、前記汎用印刷プログラムは、前記取得要求に含まれる前記識別情報を含むステータス情報を前記アプリケーションプログラムに提供する、
     ことを特徴とするサポートプログラム。
  10. 請求項7から請求項9のいずれか1つに記載するサポートプログラムにおいて、
     前記汎用印刷プログラムからの前記提供要求には、前記印刷ジョブの識別情報が含まれ、
     前記ステータス提供処理では、
      前記提供要求に含まれる前記識別情報に対応する前記印刷ジョブのステータス情報を、前記汎用印刷プログラムに提供する、
     ことを特徴とするサポートプログラム。
  11. 請求項1から請求項10のいずれか1つに記載するサポートプログラムにおいて、
     前記汎用印刷プログラムは、前記ステータス提供処理の実行によって前記サポートプログラムから提供されたステータス情報を、前記アプリケーションプログラムに提供する、
     ことを特徴とするサポートプログラム。
  12.  コンピュータとメモリとを備える情報処理装置であって、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記コンピュータは、
      前記サポートプログラムによって、前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に、特定処理と、ステータス取得処理と、ステータス提供処理とを実行し、
     前記特定処理では、
      前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
     前記ステータス取得処理では、
      前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定処理にて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
     前記ステータス提供処理では、
      前記ステータス取得処理にて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
     ことを特徴とする情報処理装置。
  13.  情報処理装置にプリンタが接続され、
     前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
     前記情報処理装置には、前記情報処理装置と接続するプリンタに対応するサポートプログラムと、前記汎用印刷プログラムを介して前記プリンタに画像の印刷を行わせる印刷指示の入力が可能なアプリケーションプログラムと、が組み込まれており、
     前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
      前記サポートプログラムによって、前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して、画像の印刷を前記プリンタに行わせる前記印刷指示があったことに基づいて前記汎用印刷プログラムが印刷データを生成した後に行うステップとして、特定ステップと、ステータス取得ステップと、ステータス提供ステップとを含み、
     前記特定ステップでは、
      前記印刷指示に対応する印刷ジョブを実行する前記プリンタを特定し、
     前記ステータス取得ステップでは、
      前記情報処理装置の通信インタフェースを介して、前記印刷指示に対応する印刷ジョブのステータスを前記特定ステップにて特定した前記プリンタに問い合わせて前記印刷ジョブのステータス情報を取得し、
     前記ステータス提供ステップでは、
      前記ステータス取得ステップにて取得した前記印刷ジョブのステータス情報を、前記アプリケーションプログラムに提供するために出力する、
     ことを特徴とする印刷方法。

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

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=71836374

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US11301190B2 (ja)
JP (1) JP7479121B2 (ja)
WO (1) WO2020158715A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7243207B2 (ja) * 2019-01-18 2023-03-22 富士フイルムビジネスイノベーション株式会社 情報処理システム、情報処理装置及びプログラム
JP2022148580A (ja) * 2021-03-24 2022-10-06 ブラザー工業株式会社 サポートプログラムおよび印刷システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305520A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 印刷指示装置
JP2017016480A (ja) * 2015-07-02 2017-01-19 セイコーエプソン株式会社 通信制御装置、通信制御ドライバーおよび通信制御方法
JP2018084978A (ja) * 2016-11-24 2018-05-31 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3935334B2 (ja) * 2001-10-24 2007-06-20 キヤノン株式会社 印刷システム、情報処置装置、情報処理方法、制御プログラム及び制御プログラムを記憶したコンピュータ読取り可能な記憶媒体
WO2006073137A1 (ja) * 2005-01-05 2006-07-13 Seiko Epson Corporation 分散印刷システムおよび分散印刷制御装置
JP2007323332A (ja) * 2006-05-31 2007-12-13 Konica Minolta Business Technologies Inc 画像形成システム、画像形成装置およびプリントジョブ管理方法
JP5264297B2 (ja) * 2008-06-03 2013-08-14 キヤノン株式会社 ジョブ処理方法及び画像処理システム並びに画像処理装置
JP5949106B2 (ja) * 2012-04-27 2016-07-06 ブラザー工業株式会社 印刷システム、印刷装置および印刷制御プログラム
JP6604834B2 (ja) * 2015-12-04 2019-11-13 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP6631278B2 (ja) 2016-01-29 2020-01-15 ブラザー工業株式会社 ドライバプログラム、及びドライバプログラムとプリンタとのセット
JP6784538B2 (ja) 2016-08-18 2020-11-11 キヤノン株式会社 情報処理装置、方法およびプログラム
JP6882060B2 (ja) 2017-05-12 2021-06-02 キヤノン株式会社 情報処理装置、ドライバのインストール方法およびプログラム
JP6944281B2 (ja) 2017-06-19 2021-10-06 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305520A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 印刷指示装置
JP2017016480A (ja) * 2015-07-02 2017-01-19 セイコーエプソン株式会社 通信制御装置、通信制御ドライバーおよび通信制御方法
JP2018084978A (ja) * 2016-11-24 2018-05-31 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2020126319A (ja) 2020-08-20
US20200249890A1 (en) 2020-08-06
US11301190B2 (en) 2022-04-12
JP7479121B2 (ja) 2024-05-08

Similar Documents

Publication Publication Date Title
JP7355147B2 (ja) アプリケーションプログラム
WO2020195329A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
WO2020158716A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7099007B2 (ja) アプリケーションプログラム
JP7517506B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2020166350A (ja) サポートプログラム、情報処理装置、および印刷方法
JP7456527B2 (ja) サポートプログラム、情報処理装置、および印刷方法
WO2020158715A1 (ja) サポートプログラム、情報処理装置、および印刷方法
JP2020126370A (ja) アプリケーションプログラム、情報処理装置、および印刷方法
JP2020126316A (ja) サポートプログラム、情報処理装置、および印刷方法
US20230350613A1 (en) Computer-readable storage medium, information processing device, and method for printing composite image
JP6801265B2 (ja) サービス提供システム、情報処理装置、プログラム、情報処理システム及び連携処理方法
US11604613B2 (en) Support program for driverless general-purpose print program, information processing device, and printing method for aggregate printing
US11064088B2 (en) Non-transitory computer-readable recording medium, information processing apparatus and printing method
WO2022202480A1 (ja) サポートプログラムおよび印刷システム
US12073137B2 (en) Information processing apparatus, control method for controlling information processing apparatus, and storage medium for displaying a print setting screen
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP6248563B2 (ja) 出力システム、端末装置、プログラム、及び出力方法
US20230333793A1 (en) Information processing apparatus, control method for controlling information processing apparatus, and storage medium
JP2022109423A (ja) サポートプログラム
JP2023088909A (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: 20748844

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

Country of ref document: EP

Kind code of ref document: A1