US20180121141A1 - Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium - Google Patents
Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium Download PDFInfo
- Publication number
- US20180121141A1 US20180121141A1 US15/336,236 US201615336236A US2018121141A1 US 20180121141 A1 US20180121141 A1 US 20180121141A1 US 201615336236 A US201615336236 A US 201615336236A US 2018121141 A1 US2018121141 A1 US 2018121141A1
- Authority
- US
- United States
- Prior art keywords
- printer driver
- data
- standard
- image forming
- format
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1245—Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1275—Print workflow management, e.g. defining or changing a workflow, cross publishing
- G06F3/1276—Print 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Definitions
- the present disclosure relates to an information processing apparatus, a method of distributing a print job by the information processing apparatus, and a non-transitory computer readable recording medium that records a program for distributing print jobs to image forming devices.
- an information processing apparatus including: printer driver circuits that drive different image forming devices, respectively; a virtual printer driver circuit that describes a document to be printed in a device-independent format to generate device-independent spool data, and describes a variable for printing the document in a standard print setting storage format to generate standard-format job data; and a distribute circuit that selects a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits, and supplies the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- a method of distributing a print job by an information processing apparatus including printer driver circuits that drive different image forming devices, respectively, the method including: describing a document to be printed in a device-independent format to generate device-independent spool data; describing a variable for printing the document in a standard print setting storage format to generate standard-format job data; selecting a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits; and supplying the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- a non-transitory computer readable recording medium that records a program executable by a computer of an information processing apparatus, the information processing apparatus including printer driver circuits that drive different image forming devices, respectively, and a virtual printer driver circuit that describes a document to be printed in a device-independent format to generate device-independent spool data, and describes a variable for printing the document in a standard print setting storage format to generate standard-format job data, the program causing the computer to: select a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits; and supply the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- FIG. 1 shows a job distribution system according to an embodiment of the present disclosure
- FIG. 2 shows a hardware configuration of an information processing apparatus
- FIG. 3 shows a functional configuration of the information processing apparatus
- FIG. 4 shows a flowchart of the job distributing method
- FIG. 5 shows an example of a distribution condition table.
- FIG. 1 shows a job distribution system according to an embodiment of the present disclosure.
- the job distribution system 1 includes the information processing apparatus 10 and the image forming devices 20 .
- the information processing apparatus 10 and the image forming devices 20 are connected to the network N.
- the information processing apparatus 10 and each image forming device 20 are capable of communicating with each other via the network N.
- the network N is, for example, an LAN (Local Area Network) in an office.
- the information processing apparatus 10 and the image forming devices are installed in the office.
- the information processing apparatus 10 is, for example, an information terminal such as a personal computer that a worker (user) at the office uses.
- the information processing apparatus 10 is capable of distributing a print job of a document, which is created by application software installed in the information processing apparatus 10 , to one of the image forming devices 20 via the network N.
- Each image forming device 20 is capable of obtaining a print job from the information processing apparatus 10 via the network N and executing the print job.
- the specs of the image forming devices 20 are different.
- a first image forming device 20 is a high-spec MFP (Multifunction Peripheral)
- a second image forming device 20 is a low-spec black-and-white printer
- a third image forming device 20 is a high-spec MFP.
- those image forming devices 20 will be referred to as the first the image forming device 20 A, the second image forming device 20 B, and the third image forming device 20 C.
- FIG. 2 shows a hardware configuration of the information processing apparatus.
- the information processing apparatus 10 includes the controller unit 11 , and the storage/memory unit 12 , the display unit 13 , the operation unit 14 , and the communication control unit 15 connected to the controller unit 11 via the bus 16 .
- the controller unit 11 includes CPU (Central Processing Unit) and the like.
- the CPU of the controller unit 11 loads programs recorded in a ROM (Read Only Memory), which is an example of a non-transitory computer readable recording medium, into a RAM (Random Access Memory) and executes the programs.
- ROM Read Only Memory
- RAM Random Access Memory
- the storage/memory unit 12 includes the ROM, the RAM, and large-volume storage such as an HDD (Hard Disk Drive).
- the ROM fixedly records the programs executable by the controller unit 11 , data, and the like. The programs recorded in the ROM is loaded into the RAM.
- the display unit 13 includes an LCD (Liquid Crystal Display), an organic EL (Electroluminescence) display, or the like.
- the display unit 13 performs arithmetic processing based on information supplied from the controller unit 11 , and outputs generated image signals.
- the display unit 13 is an external display apparatus.
- the operation unit 14 includes a keyboard, a mouse, various switches, and the like.
- the operation unit 14 detects operation by a user, and outputs detection signals to the controller unit 11 .
- the communication control unit 15 is an interface for connecting to the network N to which the image forming devices 20 are connected.
- FIG. 3 shows a functional configuration of the information processing apparatus.
- the controller unit 11 of the information processing apparatus 10 loads the programs recorded in the ROM, which is an example of a non-transitory computer readable recording medium, into the RAM and executes the programs to thereby function as the application software 101 , the virtual printer driver 102 , the virtual printer spooler 103 , the distribute tool 104 , the printer drivers 105 , 106 , and 107 , and the printer spoolers 108 , 109 , and 110 .
- the application software 101 , the virtual printer driver 102 , the distribute tool 104 , and the printer drivers 105 , 106 , and 107 are realized by individual software programs previously installed in the information processing apparatus 10 .
- the virtual printer spooler 103 and the printer spoolers 108 , 109 , and 110 are realized by the standard printer spooler of the OS (operating system) of the information processing apparatus 10 .
- the application software 101 is word processor software, spreadsheet software, or the like.
- the application software 101 creates a document to be printed.
- the virtual printer driver 102 describes a document to be printed in a device-independent format to generate device-independent spool data.
- the “device-independent” means that all the printer drivers 105 , 106 , and 107 installed in the information processing apparatus 10 are capable of interpreting.
- Specific examples of the “device-independent format” include EMF (Enhanced Metafile) and XPS (XML Paper Specification.
- the virtual printer driver 102 describes variables for printing the document in a standard print setting storage format to generate standard-format job data. All the printer drivers 105 , 106 , and 107 installed in the information processing apparatus 10 are capable of interpreting the standard-format job data described in the standard print setting storage format. Specific examples of the “standard print setting storage format” include DEVMODE and PrintTicket. DEVMODE describes information on the environment of an image forming device. PrintTicket describes information on print-job functions such as duplex and staple.
- the virtual printer spooler 103 spools the device-independent spool data and the standard-format job data generated by the virtual printer driver 102 , and passes the device-independent spool data and the standard-format job data to the distribute tool 104 .
- the distribute tool 104 selects a printer driver to generate print data of the document out of the printer drivers 105 , 106 , and 107 based on the variables of functions described in the standard-format job data from the virtual printer spooler 103 .
- the distribute tool 104 starts up the selected printer driver 105 , 106 , or 107 , and supplies the device-independent spool data and the standard-format job data spooled by the virtual printer spooler 103 to the selected printer driver 105 , 106 , or 107 .
- the printer drivers 105 , 106 , and 107 drive the image forming devices 20 A, 20 B, and 20 C, respectively. Specifically, each printer driver 105 , 106 , or 107 interprets the device-independent spool data and the standard-format job data obtained from the distribute tool 104 , and generates print data described in a PDL (Page Description Language) that the image forming device 20 A, 20 B, or 20 C driven by each printer driver 105 , 106 , or 107 is capable of interpreting. Each printer driver 105 , 106 , or 107 supplies the generated print data to each image forming device 20 A, 20 B, or 20 C via each printer spooler 108 , 109 , or 110 .
- PDL Peage Description Language
- Each printer spooler 108 , 109 , or 110 spools the print data generated by each printer driver 105 , 106 , or 107 .
- FIG. 4 shows a flowchart of the job distributing method.
- the application software 101 detects a predetermined operation input in the operation unit 14 by a user as a command to print a document created by the application software 101 . Upon detecting the command to print a document, the application software 101 starts up the virtual printer driver 102 , and outputs the created document (Step S 101 ).
- the virtual printer driver 102 Upon starting up, the virtual printer driver 102 displays, on the display unit 13 , a user interface for selecting variables of functions.
- the “functions” are functions that all the printer drivers 105 , 106 , and 107 installed in the information processing apparatus 10 are capable of executing, and are typically basic functions.
- the “functions” include print size, color mode, duplex, print orientation, number of copies, and the like, which are basic functions to be selected by a user.
- the functions that the virtual printer driver 102 can select do not include functions that only one/some printer driver(s) is/are capable of executing such as staple and punch.
- the “variable” is a variable to be selected for each function, e.g., a variable “A4” for a function “print size”.
- the virtual printer driver 102 accepts predetermined operations input in the operation unit 14 by the user as variables selected by the user (Step S 102 ).
- the virtual printer driver 102 describes a document to be printed in a device-independent format to generate device-independent spool data.
- the virtual printer driver 102 describes variables for printing the document in a standard print setting storage format to generate standard-format job data (Step S 103 ).
- the virtual printer driver 102 spools the generated standard-format job data and device-independent spool data in the virtual printer spooler 103 .
- the distribute tool 104 is monitoring the virtual printer spooler 103 , and receives the standard-format job data and device-independent spool data spooled by the virtual printer spooler 103 .
- the distribute tool 104 extracts the variables of the functions included in the standard-format job data.
- the distribute tool 104 selects a printer driver to generate print data of the document out of the printer drivers 105 , 106 , and 107 based on the variables described in the standard-format job data (Step S 104 ).
- Step S 102 the selection of variables (Step S 102 ) to the selection of a printer driver (Step S 104 ) will be described.
- the specs of the first image forming device 20 A driven by the first printer driver 105 , the second image forming device 20 B driven by the second printer driver 106 , and the third image forming device 20 C driven by the third printer driver 107 are as follows.
- the first image forming device 20 A full-color available, A3-size available, staple/punch available, and user authentication available.
- the second image forming device 20 B full-color unavailable, A3-size available, staple/punch unavailable, and user authentication unavailable.
- the third image forming device 20 C full-color available, A3-size unavailable, staple/punch unavailable, and user authentication available.
- the virtual printer driver 102 accepts, as the variables selected by a user, the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex” (Step S 102 ).
- the virtual printer driver 102 describes the variables (the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”) for printing the document in a standard print setting storage format to generate standard-format job data (Step S 103 ).
- the distribute tool 104 retrieves a table (distribution condition table 104 A) that records combinations of variables of functions and the printer drivers 108 , 109 , and 110 in association with each other, and selects a printer driver to execute the print job (Step S 104 ).
- a table distributed condition table 104 A
- FIG. 5 shows an example of the distribution condition table.
- the distribution condition table 104 A records combinations of variables of functions (distribution conditions) and the printer drivers 108 , 109 , and 110 (distribution-destination printer drivers) in association with each other.
- the distribution condition table 104 A records the distribution conditions (1) to (3) and (other than above) and the printer drivers 108 , 109 , and 110 as follows, respectively.
- the distribution condition (1) Combination of the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”.
- the distribution-destination is the first printer driver 108 .
- the distribution condition (2) Combination of the variable “less than A4” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “Yes” of the function “duplex”.
- the distribution-destination is the third printer driver 110 .
- the distribution condition (3) Combination of the variable “A5” of the function “print size”, the variable “black-and-white printer” of the function “color mode”, and the variable “No” of the function “duplex”.
- the distribution-destination is the second printer driver 109 .
- the distribution condition (other than above):
- the distribution-destination is the third printer driver 110 .
- the priority of the distribution conditions (1) to (3) descends in this order.
- the distribution condition (1) has the highest (first) priority and the distribution condition (3) has the lowest (third) priority. Therefore, firstly, the distribute tool 104 determines if the combination of the accepted variables (Step S 102 ) matches the distribution condition (1) having the first priority or not, and if matches, selects the first printer driver 108 in association with the distribution condition (1).
- the distribute tool 104 determines if the combination of the variables matches the distribution condition (2) having the second priority or not, and if matches, selects the third printer driver 110 in association with the distribution condition (2).
- the distribute tool 104 determines if the combination of the variables matches the distribution condition (3) having the third priority or not, and if matches, selects the second printer driver 109 in association with the distribution condition (3).
- the distribute tool 104 selects the third printer driver 110 in association with the distribution condition (other than above).
- FIG. 5 shows the three distribution conditions (1) to (3), for example.
- distribution condition table 104 A may have higher priority, and a low-spec image forming device may have lower priority.
- a more-frequently-used image forming device may have higher priority, and a less-frequently-used image forming device may have lower priority.
- the distribute tool 104 determines if the combination of the accepted variables (the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”) matches the distribution condition (1) having the highest priority or not.
- the combination of the variables of the functions selected by the user matches the combination of the variables of the functions of the distribution condition (1). Therefore the distribute tool 104 determines that the combination of the accepted variables matches the distribution condition (1), and selects the first printer driver 108 in association with the distribution condition (1). In this way, the distribute tool 104 selects, as the printer driver to execute the print job, the first printer driver 108 in association with the combination of the variables of the functions selected by the user.
- the distribute tool 104 starts up the selected first printer driver 105 , and supplies the device-independent spool data and the standard-format job data spooled by the virtual printer spooler 103 to the first printer driver 105 , and causes the selected first printer driver 105 to generate print data for printing (Step S 105 ).
- the distribute tool 104 deletes the device-independent spool data and the standard-format job data from the virtual printer spooler 103 .
- the first printer driver 105 Upon starting up, the first printer driver 105 displays, on the display unit 13 , a user interface for selecting variables of functions specific to the first printer driver 105 .
- Examples of the “functions specific to a printer driver” may include staple, punch, user authentication, and storing a job.
- the first printer driver 105 accepts a predetermined operation input in the operation unit 14 by the user as variables of the functions specific to the first printer driver 105 selected by the user.
- the first printer driver 105 interprets the device-independent spool data and the standard-format job data, and generates print data further including the variables of the functions specific to the first printer driver 105 .
- the generated “print data” is print data described in a PDL (Page Description Language) that the first image forming device 20 A is capable of interpreting.
- the print data generated by the first printer driver 105 includes the variables of the basic functions described in the standard-format job data and the variables of the functions specific to the first printer driver 105 .
- the first printer driver 105 spools the generated print data in the first printer spooler 108 , and supplies the print data to the first image forming device 20 A via the network N (Step S 106 ).
- the first image forming device 20 A obtains the print data from the first printer driver 105 via the network N.
- the first image forming device 20 A interprets the obtained print data and executes the print job.
- To generate print data by a printer driver and thereafter select an image forming device to execute a print job may be one way to distribute a print job to an image forming device.
- the functions of the image forming device may not be used at a maximum.
- the virtual printer driver 102 generates the device-independent spool data and the standard-format job data including variables of basic functions.
- the selected printer driver 105 , 106 , or 107 interprets the device-independent spool data and the standard-format job data, and generates print data further including variables of device-specific functions.
- the virtual printer driver 102 performs virtual printing, and thereafter the selected printer driver 105 , 106 , or 107 performs re-printing.
- each printer driver 105 , 106 , or 107 and the functions of each image forming device 20 A, 20 B, or 20 C may be used at a maximum.
- the available functions of each printer driver 105 , 106 , or 107 and the available functions of each image forming device 20 A, 20 B, or 20 C are not reduced even after distribution.
- each printer driver 105 , 106 , or 107 dedicated to each image forming device 20 A, 20 B, or 20 C generates print data.
- each printer driver 105 , 106 , or 107 generates print data in a language dedicated to each image forming device 20 A, 20 B, or 20 C. Therefore each image forming device 20 A, 20 B, or 20 C obtains the appropriate print result, and device-dependent print failures may be reduced.
- the virtual printer driver 102 generates the standard-format job data, which describes only variables of basic functions that are described in a standard print setting storage format, and the device-independent spool data.
- Each printer driver 105 , 106 , or 107 describes functions specific to each image forming device 20 A, 20 B, or 20 C. Therefore the distribute tool 104 may distribute a print job to an image forming device appropriately irrespective of, for example, difference of manufacturers of the image forming devices 20 A, 20 B, and 20 C although PDLs are different between manufacturers, typically.
- a print job may be distributed to an image forming device of a specific manufacturer when the print size is A4, and another print job may be distributed to an image forming device of another manufacturer when the print size is other than A4.
- the virtual printer driver 102 presents a user interface for selecting variables of basic functions, and accepts variables selected by a user. Therefore the user selects variables without any feeling of strangeness as if he inputs variables of a user interface of a typical printer driver.
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)
- Facsimiles In General (AREA)
Abstract
Description
- The present disclosure relates to an information processing apparatus, a method of distributing a print job by the information processing apparatus, and a non-transitory computer readable recording medium that records a program for distributing print jobs to image forming devices.
- There is known a technology for distributing print jobs to image forming devices.
- According to an embodiment of the present disclosure, there is provided an information processing apparatus, including: printer driver circuits that drive different image forming devices, respectively; a virtual printer driver circuit that describes a document to be printed in a device-independent format to generate device-independent spool data, and describes a variable for printing the document in a standard print setting storage format to generate standard-format job data; and a distribute circuit that selects a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits, and supplies the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- According to an embodiment of the present disclosure, there is provided a method of distributing a print job by an information processing apparatus, the information processing apparatus including printer driver circuits that drive different image forming devices, respectively, the method including: describing a document to be printed in a device-independent format to generate device-independent spool data; describing a variable for printing the document in a standard print setting storage format to generate standard-format job data; selecting a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits; and supplying the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- According to an embodiment of the present disclosure, there is provided a non-transitory computer readable recording medium that records a program executable by a computer of an information processing apparatus, the information processing apparatus including printer driver circuits that drive different image forming devices, respectively, and a virtual printer driver circuit that describes a document to be printed in a device-independent format to generate device-independent spool data, and describes a variable for printing the document in a standard print setting storage format to generate standard-format job data, the program causing the computer to: select a printer driver circuit to generate print data of the document based on the variable described in the standard-format job data out of the printer driver circuits; and supply the device-independent spool data and the standard-format job data to the selected printer driver circuit.
- These and other objects, features and advantages of the present disclosure will become more apparent in light of the following detailed description of best mode embodiments thereof, as illustrated in the accompanying drawings.
-
FIG. 1 shows a job distribution system according to an embodiment of the present disclosure; -
FIG. 2 shows a hardware configuration of an information processing apparatus; -
FIG. 3 shows a functional configuration of the information processing apparatus; -
FIG. 4 shows a flowchart of the job distributing method; and -
FIG. 5 shows an example of a distribution condition table. - Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings.
- 1. Configuration of Job Distribution System
-
FIG. 1 shows a job distribution system according to an embodiment of the present disclosure. - The
job distribution system 1 includes theinformation processing apparatus 10 and theimage forming devices 20. Theinformation processing apparatus 10 and theimage forming devices 20 are connected to the network N. Theinformation processing apparatus 10 and eachimage forming device 20 are capable of communicating with each other via the network N. The network N is, for example, an LAN (Local Area Network) in an office. Theinformation processing apparatus 10 and the image forming devices are installed in the office. - The
information processing apparatus 10 is, for example, an information terminal such as a personal computer that a worker (user) at the office uses. Theinformation processing apparatus 10 is capable of distributing a print job of a document, which is created by application software installed in theinformation processing apparatus 10, to one of theimage forming devices 20 via the network N. - Each
image forming device 20 is capable of obtaining a print job from theinformation processing apparatus 10 via the network N and executing the print job. Typically, the specs of theimage forming devices 20 are different. For example, a firstimage forming device 20 is a high-spec MFP (Multifunction Peripheral), a secondimage forming device 20 is a low-spec black-and-white printer, and a thirdimage forming device 20 is a high-spec MFP. Hereinafter, thoseimage forming devices 20 will be referred to as the first theimage forming device 20A, the secondimage forming device 20B, and the thirdimage forming device 20C. - 2. Hardware Configuration of Information Processing Apparatus
-
FIG. 2 shows a hardware configuration of the information processing apparatus. - The
information processing apparatus 10 includes thecontroller unit 11, and the storage/memory unit 12, thedisplay unit 13, theoperation unit 14, and thecommunication control unit 15 connected to thecontroller unit 11 via the bus 16. - The
controller unit 11 includes CPU (Central Processing Unit) and the like. The CPU of thecontroller unit 11 loads programs recorded in a ROM (Read Only Memory), which is an example of a non-transitory computer readable recording medium, into a RAM (Random Access Memory) and executes the programs. - The storage/
memory unit 12 includes the ROM, the RAM, and large-volume storage such as an HDD (Hard Disk Drive). The ROM fixedly records the programs executable by thecontroller unit 11, data, and the like. The programs recorded in the ROM is loaded into the RAM. - The
display unit 13 includes an LCD (Liquid Crystal Display), an organic EL (Electroluminescence) display, or the like. Thedisplay unit 13 performs arithmetic processing based on information supplied from thecontroller unit 11, and outputs generated image signals. Typically, thedisplay unit 13 is an external display apparatus. - The
operation unit 14 includes a keyboard, a mouse, various switches, and the like. Theoperation unit 14 detects operation by a user, and outputs detection signals to thecontroller unit 11. - The
communication control unit 15 is an interface for connecting to the network N to which theimage forming devices 20 are connected. - 3. Functional Configuration of Information Processing Apparatus
-
FIG. 3 shows a functional configuration of the information processing apparatus. - The
controller unit 11 of theinformation processing apparatus 10 loads the programs recorded in the ROM, which is an example of a non-transitory computer readable recording medium, into the RAM and executes the programs to thereby function as theapplication software 101, thevirtual printer driver 102, thevirtual printer spooler 103, thedistribute tool 104, the 105, 106, and 107, and theprinter drivers 108, 109, and 110.printer spoolers - Typically, the
application software 101, thevirtual printer driver 102, thedistribute tool 104, and the 105, 106, and 107 are realized by individual software programs previously installed in theprinter drivers information processing apparatus 10. Thevirtual printer spooler 103 and the 108, 109, and 110 are realized by the standard printer spooler of the OS (operating system) of theprinter spoolers information processing apparatus 10. - The
application software 101 is word processor software, spreadsheet software, or the like. Theapplication software 101 creates a document to be printed. - The
virtual printer driver 102 describes a document to be printed in a device-independent format to generate device-independent spool data. The “device-independent” means that all the 105, 106, and 107 installed in theprinter drivers information processing apparatus 10 are capable of interpreting. Specific examples of the “device-independent format” include EMF (Enhanced Metafile) and XPS (XML Paper Specification. - The
virtual printer driver 102 describes variables for printing the document in a standard print setting storage format to generate standard-format job data. All the 105, 106, and 107 installed in theprinter drivers information processing apparatus 10 are capable of interpreting the standard-format job data described in the standard print setting storage format. Specific examples of the “standard print setting storage format” include DEVMODE and PrintTicket. DEVMODE describes information on the environment of an image forming device. PrintTicket describes information on print-job functions such as duplex and staple. - The virtual printer spooler 103 spools the device-independent spool data and the standard-format job data generated by the
virtual printer driver 102, and passes the device-independent spool data and the standard-format job data to thedistribute tool 104. - The
distribute tool 104 selects a printer driver to generate print data of the document out of the 105, 106, and 107 based on the variables of functions described in the standard-format job data from theprinter drivers virtual printer spooler 103. Thedistribute tool 104 starts up the 105, 106, or 107, and supplies the device-independent spool data and the standard-format job data spooled by theselected printer driver virtual printer spooler 103 to the 105, 106, or 107.selected printer driver - The
105, 106, and 107 drive theprinter drivers 20A, 20B, and 20C, respectively. Specifically, eachimage forming devices 105, 106, or 107 interprets the device-independent spool data and the standard-format job data obtained from the distributeprinter driver tool 104, and generates print data described in a PDL (Page Description Language) that the 20A, 20B, or 20C driven by eachimage forming device 105, 106, or 107 is capable of interpreting. Eachprinter driver 105, 106, or 107 supplies the generated print data to eachprinter driver 20A, 20B, or 20C via eachimage forming device 108, 109, or 110.printer spooler - Each
108, 109, or 110 spools the print data generated by eachprinter spooler 105, 106, or 107.printer driver - 4. Job Distributing Method
-
FIG. 4 shows a flowchart of the job distributing method. - The
application software 101 detects a predetermined operation input in theoperation unit 14 by a user as a command to print a document created by theapplication software 101. Upon detecting the command to print a document, theapplication software 101 starts up thevirtual printer driver 102, and outputs the created document (Step S101). - Upon starting up, the
virtual printer driver 102 displays, on thedisplay unit 13, a user interface for selecting variables of functions. The “functions” are functions that all the 105, 106, and 107 installed in theprinter drivers information processing apparatus 10 are capable of executing, and are typically basic functions. For example, the “functions” include print size, color mode, duplex, print orientation, number of copies, and the like, which are basic functions to be selected by a user. In other words, the functions that thevirtual printer driver 102 can select do not include functions that only one/some printer driver(s) is/are capable of executing such as staple and punch. The “variable” is a variable to be selected for each function, e.g., a variable “A4” for a function “print size”. Thevirtual printer driver 102 accepts predetermined operations input in theoperation unit 14 by the user as variables selected by the user (Step S102). - The
virtual printer driver 102 describes a document to be printed in a device-independent format to generate device-independent spool data. Thevirtual printer driver 102 describes variables for printing the document in a standard print setting storage format to generate standard-format job data (Step S103). Thevirtual printer driver 102 spools the generated standard-format job data and device-independent spool data in thevirtual printer spooler 103. - The distribute
tool 104 is monitoring thevirtual printer spooler 103, and receives the standard-format job data and device-independent spool data spooled by thevirtual printer spooler 103. The distributetool 104 extracts the variables of the functions included in the standard-format job data. The distributetool 104 selects a printer driver to generate print data of the document out of the 105, 106, and 107 based on the variables described in the standard-format job data (Step S104).printer drivers - By the way, a specific example of the flow from the selection of variables (Step S102) to the selection of a printer driver (Step S104) will be described.
- In this example, the specs of the first
image forming device 20A driven by thefirst printer driver 105, the secondimage forming device 20B driven by thesecond printer driver 106, and the thirdimage forming device 20C driven by thethird printer driver 107 are as follows. - The first
image forming device 20A: full-color available, A3-size available, staple/punch available, and user authentication available. - The second
image forming device 20B: full-color unavailable, A3-size available, staple/punch unavailable, and user authentication unavailable. - The third
image forming device 20C: full-color available, A3-size unavailable, staple/punch unavailable, and user authentication available. - In this example, the
virtual printer driver 102 accepts, as the variables selected by a user, the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex” (Step S102). Thevirtual printer driver 102 describes the variables (the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”) for printing the document in a standard print setting storage format to generate standard-format job data (Step S103). - The distribute
tool 104 retrieves a table (distribution condition table 104A) that records combinations of variables of functions and the 108, 109, and 110 in association with each other, and selects a printer driver to execute the print job (Step S104).printer drivers -
FIG. 5 shows an example of the distribution condition table. - The distribution condition table 104A records combinations of variables of functions (distribution conditions) and the
108, 109, and 110 (distribution-destination printer drivers) in association with each other. In this example, the distribution condition table 104A records the distribution conditions (1) to (3) and (other than above) and theprinter drivers 108, 109, and 110 as follows, respectively.printer drivers - The distribution condition (1): Combination of the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”. The distribution-destination is the
first printer driver 108. - The distribution condition (2): Combination of the variable “less than A4” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “Yes” of the function “duplex”. The distribution-destination is the
third printer driver 110. - The distribution condition (3): Combination of the variable “A5” of the function “print size”, the variable “black-and-white printer” of the function “color mode”, and the variable “No” of the function “duplex”. The distribution-destination is the
second printer driver 109. - The distribution condition (other than above): The distribution-destination is the
third printer driver 110. - The priority of the distribution conditions (1) to (3) descends in this order. In other words, the distribution condition (1) has the highest (first) priority and the distribution condition (3) has the lowest (third) priority. Therefore, firstly, the distribute
tool 104 determines if the combination of the accepted variables (Step S102) matches the distribution condition (1) having the first priority or not, and if matches, selects thefirst printer driver 108 in association with the distribution condition (1). When the combination of the variables does not match the distribution condition (1), next, the distributetool 104 determines if the combination of the variables matches the distribution condition (2) having the second priority or not, and if matches, selects thethird printer driver 110 in association with the distribution condition (2). When the combination of the variables does not match the distribution condition (2), next, the distributetool 104 determines if the combination of the variables matches the distribution condition (3) having the third priority or not, and if matches, selects thesecond printer driver 109 in association with the distribution condition (3). When the combination of the variables matches none of the distribution conditions of the distribution condition table 104A, the distributetool 104 selects thethird printer driver 110 in association with the distribution condition (other than above). -
FIG. 5 shows the three distribution conditions (1) to (3), for example. - Alternatively, as a matter of course, four or more distribution conditions may be provided. A user may previously and as necessary input distribution conditions and priority in the distribution condition table 104A by using the distribute
tool 104 to customize the distribution condition table 104A. For example, a high-spec image forming device may have higher priority, and a low-spec image forming device may have lower priority. Alternatively, a more-frequently-used image forming device may have higher priority, and a less-frequently-used image forming device may have lower priority. - In this example, firstly, the distribute
tool 104 determines if the combination of the accepted variables (the variable “A3” of the function “print size”, the variable “full-color” of the function “color mode”, and the variable “No” of the function “duplex”) matches the distribution condition (1) having the highest priority or not. The combination of the variables of the functions selected by the user matches the combination of the variables of the functions of the distribution condition (1). Therefore the distributetool 104 determines that the combination of the accepted variables matches the distribution condition (1), and selects thefirst printer driver 108 in association with the distribution condition (1). In this way, the distributetool 104 selects, as the printer driver to execute the print job, thefirst printer driver 108 in association with the combination of the variables of the functions selected by the user. - With reference to
FIG. 4 again, the flowchart of the job distributing method will be described again. - The distribute
tool 104 starts up the selectedfirst printer driver 105, and supplies the device-independent spool data and the standard-format job data spooled by thevirtual printer spooler 103 to thefirst printer driver 105, and causes the selectedfirst printer driver 105 to generate print data for printing (Step S105). The distributetool 104 deletes the device-independent spool data and the standard-format job data from thevirtual printer spooler 103. - Upon starting up, the
first printer driver 105 displays, on thedisplay unit 13, a user interface for selecting variables of functions specific to thefirst printer driver 105. Examples of the “functions specific to a printer driver” may include staple, punch, user authentication, and storing a job. Thefirst printer driver 105 accepts a predetermined operation input in theoperation unit 14 by the user as variables of the functions specific to thefirst printer driver 105 selected by the user. Thefirst printer driver 105 interprets the device-independent spool data and the standard-format job data, and generates print data further including the variables of the functions specific to thefirst printer driver 105. The generated “print data” is print data described in a PDL (Page Description Language) that the firstimage forming device 20A is capable of interpreting. Therefore the print data generated by thefirst printer driver 105 includes the variables of the basic functions described in the standard-format job data and the variables of the functions specific to thefirst printer driver 105. Thefirst printer driver 105 spools the generated print data in thefirst printer spooler 108, and supplies the print data to the firstimage forming device 20A via the network N (Step S106). - The first
image forming device 20A obtains the print data from thefirst printer driver 105 via the network N. The firstimage forming device 20A interprets the obtained print data and executes the print job. - 5. Conclusion
- To generate print data by a printer driver and thereafter select an image forming device to execute a print job may be one way to distribute a print job to an image forming device. However, according to this method, the functions of the image forming device may not be used at a maximum.
- To the contrary, according to this embodiment, the
virtual printer driver 102 generates the device-independent spool data and the standard-format job data including variables of basic functions. The selected 105, 106, or 107 interprets the device-independent spool data and the standard-format job data, and generates print data further including variables of device-specific functions. In a sense, theprinter driver virtual printer driver 102 performs virtual printing, and thereafter the selected 105, 106, or 107 performs re-printing.printer driver - Therefore the functions of each
105, 106, or 107 and the functions of eachprinter driver 20A, 20B, or 20C may be used at a maximum. In other words, the available functions of eachimage forming device 105, 106, or 107 and the available functions of eachprinter driver 20A, 20B, or 20C are not reduced even after distribution.image forming device - Further, each
105, 106, or 107 dedicated to eachprinter driver 20A, 20B, or 20C generates print data. In other words, eachimage forming device 105, 106, or 107 generates print data in a language dedicated to eachprinter driver 20A, 20B, or 20C. Therefore eachimage forming device 20A, 20B, or 20C obtains the appropriate print result, and device-dependent print failures may be reduced.image forming device - Further, the
virtual printer driver 102 generates the standard-format job data, which describes only variables of basic functions that are described in a standard print setting storage format, and the device-independent spool data. Each 105, 106, or 107 describes functions specific to eachprinter driver 20A, 20B, or 20C. Therefore the distributeimage forming device tool 104 may distribute a print job to an image forming device appropriately irrespective of, for example, difference of manufacturers of the 20A, 20B, and 20C although PDLs are different between manufacturers, typically. For example, a print job may be distributed to an image forming device of a specific manufacturer when the print size is A4, and another print job may be distributed to an image forming device of another manufacturer when the print size is other than A4.image forming devices - Further, the
virtual printer driver 102 presents a user interface for selecting variables of basic functions, and accepts variables selected by a user. Therefore the user selects variables without any feeling of strangeness as if he inputs variables of a user interface of a typical printer driver. - It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Claims (19)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/336,236 US9965234B1 (en) | 2016-10-27 | 2016-10-27 | Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium |
| JP2017203079A JP7081113B2 (en) | 2016-10-27 | 2017-10-20 | Information processing equipment, job distribution method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/336,236 US9965234B1 (en) | 2016-10-27 | 2016-10-27 | Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20180121141A1 true US20180121141A1 (en) | 2018-05-03 |
| US9965234B1 US9965234B1 (en) | 2018-05-08 |
Family
ID=62021485
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/336,236 Expired - Fee Related US9965234B1 (en) | 2016-10-27 | 2016-10-27 | Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9965234B1 (en) |
| JP (1) | JP7081113B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11150849B2 (en) * | 2018-11-09 | 2021-10-19 | Phoenix Contact Gmbh & Co. Kg | Device and method for checking the printing of an article |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030117638A1 (en) * | 2001-12-20 | 2003-06-26 | Ferlitsch Andrew Rodney | Virtual print driver system and method |
| US20110063660A1 (en) * | 2009-09-14 | 2011-03-17 | Satoru Yamada | Printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000322220A (en) | 1999-05-12 | 2000-11-24 | Nec Software Kobe Ltd | Network printer system |
| JP3449958B2 (en) | 2000-01-18 | 2003-09-22 | 理想科学工業株式会社 | Printing system, printing method, and computer-readable recording medium storing printing program |
| JP3639821B2 (en) | 2001-09-14 | 2005-04-20 | キヤノン株式会社 | Print control method, print control apparatus, print control program executable by information processing apparatus, and storage medium storing computer-readable program |
| JP2007272857A (en) | 2006-05-26 | 2007-10-18 | Riso Kagaku Corp | Device driver system |
| JP5338505B2 (en) | 2009-06-16 | 2013-11-13 | 株式会社リコー | Information processing apparatus, program, and recording medium |
| JP5577892B2 (en) | 2010-06-30 | 2014-08-27 | 株式会社リコー | Information processing apparatus, program, and recording medium |
| JP2013058010A (en) | 2011-09-07 | 2013-03-28 | Ricoh Co Ltd | Image processing system, image processing device, image forming device and program |
| JP2013196038A (en) | 2012-03-15 | 2013-09-30 | Ricoh Co Ltd | Information processing device, program, and storage media |
-
2016
- 2016-10-27 US US15/336,236 patent/US9965234B1/en not_active Expired - Fee Related
-
2017
- 2017-10-20 JP JP2017203079A patent/JP7081113B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030117638A1 (en) * | 2001-12-20 | 2003-06-26 | Ferlitsch Andrew Rodney | Virtual print driver system and method |
| US20110063660A1 (en) * | 2009-09-14 | 2011-03-17 | Satoru Yamada | Printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11150849B2 (en) * | 2018-11-09 | 2021-10-19 | Phoenix Contact Gmbh & Co. Kg | Device and method for checking the printing of an article |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7081113B2 (en) | 2022-06-07 |
| US9965234B1 (en) | 2018-05-08 |
| JP2018073409A (en) | 2018-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11989462B2 (en) | Information processing apparatus, method, and a non-transitory storage medium, receives first print settings information supports the internet printing protocol (IPP) and further receives second print settings that does not support the internet printing protocol (IPP) from printer | |
| US12229458B2 (en) | Print processing system and control method | |
| US12061828B2 (en) | Information processing apparatus, control method, and storage medium | |
| US9830544B2 (en) | Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password | |
| JP7707362B2 (en) | PROGRAM, INFORMATION PROCESSING APPARATUS, AND METHOD FOR CONTROLLING INFORMATION PROCESSING APPARATUS | |
| US9406007B2 (en) | Printing system, information processing apparatus and printing apparatus | |
| US9323481B2 (en) | Preview display device, and method and computer readable medium for the same | |
| US9160888B2 (en) | Information processing apparatus, user information management control method, and storage medium | |
| US9298522B2 (en) | Method of data communication between application program and printer driver, and program therefor | |
| US9373061B2 (en) | Non-transitory computer-readable storage medium, computing device, and display method of user interface of printer driver | |
| US9323484B2 (en) | Print instruction apparatus, printer, printing system, print instruction method, and non-transitory computer readable medium | |
| US8792107B2 (en) | Information processing apparatus, method for uninstalling printer driver, and recording medium | |
| CN111251732B (en) | Control method and storage medium | |
| US9965234B1 (en) | Information processing apparatus, method of distributing a print job, and non-transitory computer readable recording medium | |
| US8928933B2 (en) | Information processing apparatus for generating printing data by different methods, computer readable recording medium and method of controlling the information processing apparatus | |
| US20180084124A1 (en) | Image processing apparatus and non-transitory computer readable medium | |
| US20150262043A1 (en) | Information processing apparatus, information processing method, and information processing system | |
| US20190258436A1 (en) | Information processing apparatus, control method of information processing apparatus, and program | |
| US11216228B2 (en) | Information processing device, information processing method, and storage medium | |
| CN105988749B (en) | Print instruction device, print system, and print instruction method | |
| JP2013196038A (en) | Information processing device, program, and storage media |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: KYOCERA DOCUMENT SOLUTIONS INC., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MANABE, HIROSHI;LEE, SANG YOON;LAO, KATHERINE BAYQUEN;SIGNING DATES FROM 20161021 TO 20161024;REEL/FRAME:040153/0486 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220508 |