JP3726634B2 - Distributed printing control apparatus, distributed printing control method, and recording medium - Google Patents
Distributed printing control apparatus, distributed printing control method, and recording medium Download PDFInfo
- Publication number
- JP3726634B2 JP3726634B2 JP2000107231A JP2000107231A JP3726634B2 JP 3726634 B2 JP3726634 B2 JP 3726634B2 JP 2000107231 A JP2000107231 A JP 2000107231A JP 2000107231 A JP2000107231 A JP 2000107231A JP 3726634 B2 JP3726634 B2 JP 3726634B2
- Authority
- JP
- Japan
- Prior art keywords
- printer
- print data
- printers
- data
- printer driver
- 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.)
- Expired - Fee Related
Links
- 238000007639 printing Methods 0.000 title claims description 212
- 238000000034 method Methods 0.000 title claims description 76
- 238000012545 processing Methods 0.000 claims description 104
- 230000008569 process Effects 0.000 claims description 59
- 238000006243 chemical reaction Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 4
- 230000008676 import Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 23
- 238000009877 rendering Methods 0.000 description 16
- 102100029968 Calreticulin Human genes 0.000 description 14
- 238000011084 recovery Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 101001065658 Homo sapiens Leukocyte-specific transcript 1 protein Proteins 0.000 description 4
- 102100027233 Solute carrier organic anion transporter family member 1B1 Human genes 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 101100326671 Homo sapiens CALR gene Proteins 0.000 description 3
- 101100533803 Homo sapiens SLCO1B3 gene Proteins 0.000 description 3
- 102100027239 Solute carrier organic anion transporter family member 1B3 Human genes 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- 101150026176 zfyve28 gene Proteins 0.000 description 3
- 102100022749 Aminopeptidase N Human genes 0.000 description 2
- 101000757160 Homo sapiens Aminopeptidase N Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000795655 Canis lupus familiaris Thymic stromal cotransporter homolog Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010017 direct printing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- User Interface Of Digital Computer (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタに分散して出力する技術に関する。
【0002】
【従来の技術】
近年、コンピュータネットワークを用いることで、パーソナルコンピュータ等の一の情報処理装置に対して複数のプリンタを容易に接続することが可能となった。こうした一の情報処理装置に複数のプリンタを接続した構成では、情報処理装置で作成した印刷データを各プリンタに分散して出力することができ、全体としての印刷時間の短縮を図ることができる。例えば、情報処理装置からアプリケーションプログラムによって作成した文書を3部印刷しようとする場合、3台のプリンタに1部ずつ分散して印刷を行なうことで、理論的には1部の印刷に要する時間で3部の印刷を済ますことができる。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、分散印刷を行なおうとするとき、アプリケーションプログラムから各プリンタのプリンタドライバに対して印刷データをプリンタ毎に個別に出力する必要があった。このために、作業者は、アプリケーションプログラムにおいて印刷の作業を分散先のプリンタの数の回数だけ行なう必要があり、作業性が悪いという問題があった。
【0004】
この発明は、汎用のアプリケーションプログラムからでも作業性よく分散印刷を行なうことができるようにすることを目的としている。
【0005】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【0006】
この発明の第1の分散印刷制御装置は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを、前記プリンタの機種に対応したプリンタドライバを介して各プリンタに出力する分散印刷制御装置であって、
前記プリンタドライバを記憶するプリンタドライバ記憶手段と、
前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記プリンタドライバ記憶手段に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
前記中間印刷データを前記複数のプリンタに割り当てる印刷データ割当手段と、
前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送る出力データ制御手段と
を備えることを要旨としている。
【0007】
上記構成の分散印刷制御装置によれば、アプリケーションプログラムからは仮想的なプリンタドライバに対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから同一機種である各プリンタへの分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で印刷の作業を一度行なえばよく、作業性に優れているという効果を奏する。また、この分散印刷制御装置では、アプリケーションプログラムにより生成された印刷データをプリンタに適合させるために行なうデータ変換の処理を、仮想プリンタドライバ実行手段により1度行なうだけでよく、各プリンタ毎に何度も行なう必要がない。このために、同一機種のプリンタへの分散印刷を高速度で行なうことができるという効果も奏する。
【0008】
上記構成の分散印刷制御装置において、前記印刷データ割当手段にて割り当てられる前記中間印刷データの区切りの所定の単位が、印刷データで示す文書のページの単位であるものとすることができる。この構成によれば、印刷すべき文書のページを区切りとして、各プリンタへの分散印刷を行なうことができる。
【0009】
上記構成の分散印刷制御装置において、前記仮想プリンタドライバ実行手段により生成された中間印刷データを、外部記憶装置に中間印刷ファイルとして一旦格納するよう構成することができる。この構成によれば、中間印刷データの再利用が可能となる。
【0010】
上記中間印刷ファイルを外部記憶装置に格納させる分散印刷制御装置において、外部からの指示を受けて、前記外部記憶装置に記憶される前記中間印刷ファイルを読み出し、該中間印刷ファイルの中間印刷データを用いて、前記各プリンタへの分散印刷を再実行するように構成することができる。この構成によれば、印刷した印刷物に不備があったり、印刷の部数が不足していたりして再印刷を行ないたいという場合に、アプリケーションプログラムを起動せずに印刷を行なうことができる。
【0011】
上記再印刷を行なう構成の分散印刷制御装置において、前記印刷データ割当手段および出力データ制御部を再実行することで前記分散印刷の再実行を行なうよう構成することができる。この構成によれば、印刷データの分散の割り当てを、印刷データ割当手段にて変更した上で再印刷を行なうことができる。
【0012】
上記第1の分散印刷制御装置において、前記各プリンタ毎に設けられたプリンタドライバから、前記プリンタの性能についての情報を取り込む性能情報取込手段と、該性能情報取込手段により取り込んだ全てのプリンタの性能から前記複数のプリンタが同一機種であることを判別する同一機種判別手段とを備える構成とすることができる。この構成によれば、各プリンタ毎に設けられたプリンタドライバからプリンタの性能の情報を取り込むことが可能となり、それら性能の情報からプリンタが同一機種であることを判別することができる。
【0013】
上記第1の分散印刷制御装置において、前記印刷データの分配についての入力用ウィンドウを表示するとともに、入力装置からの入力データに基づいて、前記印刷データを前記複数のプリンタ用に分配するための各種情報を設定する分配情報設定手段を備え、前記印刷データ割当手段は、前記分配情報設定手段により設定された各種情報に基づいて前記中間印刷データの割り当てを行なうよう構成することができる。この構成によれば、プリンタの分散先を定めるために必要な各種情報を、分配情報設定手段によって指定することができる。
【0014】
上記分配情報設定手段を備える構成の分散印刷制御装置において、前記印刷データを前記複数のプリンタ用に分配するための各種情報のうちの一つが、当該分散印刷制御装置に接続される複数のプリンタから選択される所定のグループ内のプリンタに分配先を制限するための情報であるとすることができる。この構成によれば、接続された全てのプリンタの内から予め定めたグループ内のプリンタに印刷の分散先を限ることができる。このため、作業者は印刷物の出力先を予め限られた範囲内とすることができ、この結果、作業性に優れている。
【0015】
上記分配情報設定手段を備える構成の分散印刷制御装置において、前記仮想プリンタドライバ実行手段により生成された中間印刷データを中間印刷ファイルとし、該中間印刷ファイルと前記分配情報設定手段により設定した各種情報を示すデータとを、外部記憶装置に一旦格納するよう構成することもできる。この構成によれば、上記各種情報を示すデータが外部記憶装置に格納されていることから、中間印刷ファイルに基づく再印刷時において、分配情報設定手段による処理のデフォルト値を上記データに基づいて定めることができる。このため、単なる印刷のやり直しのような設定情報の変更を必要としない場合に、データの再入力が不要であることから、再印刷時の作業性に、より一層優れている。
【0016】
上記第1の分散印刷制御装置において、前記複数のプリンタのうちの少なくとも一つを、コンピュータネットワークにより接続した構成とすることができる。この構成によれば、コンピュータネットワークを用いることで、多数のプリンタに容易に接続することが可能となる。
【0017】
この発明の第2の分散印刷制御装置は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを各プリンタに出力する分散印刷制御装置であって、
前記プリンタの機種毎に設けられたプリンタドライバを記憶するプリンタドライバ記憶手段と、
前記プリンタドライバ記憶手段に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
前記中間印刷データを前記複数のプリンタに割り当てる印刷データ割当手段と、
前記複数のプリンタが同一機種であるか否かを判別する同一機種判別手段と、
前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送る出力データ制御手段と
を備えることを要旨としている。
【0018】
上記構成の第2の分散印刷制御装置によれば、アプリケーションプログラムからは仮想的なプリンタドライバに対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタへの分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で印刷の作業を一度行なえばよく、作業性に優れているという効果を奏する。
【0019】
また、この第2の分散印刷制御装置では、分散先である複数のプリンタが同一機種であろうと異機種であろうと共に分散印刷を行なうことができ、特に、同一機種のプリンタへの分散印刷を行なうときには、アプリケーションプログラムにより生成された印刷データをプリンタに適合させるために行なうデータ変換の処理を、仮想プリンタドライバ実行手段により1度行なうだけでよく、各プリンタ毎に何度も行なう必要がない。このために、プリンタの機種に関わらない分散印刷を可能としながら、同一機種のプリンタへの分散印刷を高速度で行なうことができるという効果も奏する。
【0020】
この発明の第1の分散印刷制御方法は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを、前記プリンタの機種に対応したプリンタドライバを介して各プリンタに出力する分散印刷制御方法であって、
(a)前記プリンタドライバを記憶装置に予め用意する工程と、
(b)前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記記憶装置に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と
(c)前記中間印刷データを前記複数のプリンタに割り当てる工程と、
(d)前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送る工程と
を備えることを要旨としている。
【0021】
この構成の第1の分散印刷制御方法は、この発明の第1の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができるとともに、同一機種のプリンタへの分散印刷を高速度で行なうことができる。
【0022】
この発明の第2の分散印刷制御方法は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを各プリンタに出力する分散印刷制御方法であって、
(a)前記プリンタの機種毎に設けられたプリンタドライバを記憶装置に予め用意する工程と、
(b)前記記憶装置に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と、
(c)前記中間印刷データを前記複数のプリンタに割り当てる工程と、
(d)前記複数のプリンタが同一機種であるか否かを判別する工程と、
(e)前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送る工程と
を備えることを要旨としている。
【0023】
この構成の第2の分散印刷制御方法は、この発明の第2の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができる。また、プリンタの機種に関わらない分散印刷を可能としながら、同一機種のプリンタへの分散印刷を高速度で行なうことができる。
【0024】
この発明の第1の記録媒体は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを、前記プリンタの機種に対応したプリンタドライバを介して各プリンタに出力する分散印刷制御装置において用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
(a)前記プリンタドライバを記憶装置に予め用意する機能と、
(b)前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記記憶装置に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と
(c)前記中間印刷データを前記複数のプリンタに割り当てる機能と、
(d)前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送る機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録したことを要旨としている。
【0025】
上記構成の第1の記録媒体も、上記発明の第1の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができるとともに、同一機種のプリンタへの分散印刷を高速度で行なうことができる。
【0026】
この発明の第2の記録媒体は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して、各分配された印刷データを各プリンタに出力する分散印刷制御装置において用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
(a)前記プリンタの機種毎に設けられたプリンタドライバを記憶装置に予め用意する機能と、
(b)前記記憶装置に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と、
(c)前記中間印刷データを前記複数のプリンタに割り当てる機能と、
(d)前記複数のプリンタが同一機種であるか否かを判別する機能と、
(e)前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送る機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録したことを要旨としている。
【0027】
上記構成の第2の記録媒体も、この発明の第2の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができる。また、プリンタの機種に関わらない分散印刷を可能としながら、同一機種のプリンタへの分散印刷を高速度で行なうことができる。
【0028】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明の記録媒体による機能と同様の機能を持つコンピュータプログラムとしての態様である。その第2の態様は、そのコンピュータプログラムを含むことで搬送波内に具現化されたデータ信号としての態様である。第3の態様は、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第3の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の装置や方法を実現することができる。
【0029】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。
【0030】
1.ハードウェアの全体構成
図1はこの発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。図示するように、この一実施例のコンピュータシステムは、コンピュータ10を備え、このコンピュータ10には、実質的にコンピュータ機能を有する複数のプリンタ70,80,…が、ローカルエリアネットワーク(LAN)により構築されたコンピュータネットワーク90を介して接続されている。なお、コンピュータネットワーク90は、LANに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク(WAN)など、各種ネットワークに替えることができる。
【0031】
コンピュータ10には、周辺機器としてのCRTディスプレイ12が接続され、さらにはローカルにてもう一台のプリンタ60が接続されている。また、コンピュータ10は、コンピュータ本体16とキーボード18とマウス20を備える。このコンピュータ本体16には、フロッピィディスク22の内容を読み取るフロッピィディスクドライブ24が搭載されている。
【0032】
コンピュータ本体16は、中央演算処理装置としてのCPU30を中心にバスにより相互に接続されたROM31、RAM32、表示画像メモリ33、マウスインタフェース34、キーボードインタフェース35、FDC36、HDC37、CRTC38、プリンタインタフェース39およびネットワーク制御回路40を備える。
【0033】
ROM31は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。RAM32は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ33はCRTディスプレイ12に表示する画像の画像データを記憶するメモリである。マウスインタフェース34は、マウス20とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース35は、キーボード18からのキー入力を司るインタフェースである。FDC36は、フロッピィディスクドライブ(FDD)24を制御するフロッピィディスクコントローラである。HDC37は、ハードディスクドライブ(HDD)41を制御するハードディスクコントローラである。CRTC38は、表示画像メモリ33に記憶される表示画像データに基づいてCRTディスプレイ12における画像の表示を制御するCRTコントローラである。プリンタインタフェース39は、ローカルにて接続されるプリンタ14へのデータの出力を制御するインタフェースである。ネットワーク制御回路40は、ネットワークカードなどから成り、コンピュータネットワーク90に接続されている。
【0034】
このコンピュータシステムでは、オペレーティングシステムはHDD41に記憶されており、コンピュータ本体16に電源を投入すると、HDD41のブートブロックに書き込まれたローダに従ってRAM32の所定の領域にロードされる。また、プリンタ60,70,80の機種毎に用意されるプリンタドライバ(以下、実プリンタドライバと呼ぶ)は、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた実プリンタドライバは、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。
【0035】
また、このコンピュータシステムでは、仮想的なプリンタについての情報を定める仮想的なプリンタドライバ(仮想プリンタドライバ)110を備えている。この仮想プリンタドライバ110は、実際のプリンタドライバと同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた仮想プリンタドライバ110は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、仮想プリンタドライバ110のコンピュータプログラムは、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、このコンピュータプログラムは、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0036】
プリンタ60,70,80は、ドラムにレーザ光を当てて像を作り、トナーで現像して用紙に転写する所謂レーザプリンタである。なお、プリンタ60,70,80としては、インクジェットプリンタ、熱転写プリンタなど、各種プリンタを適用することができる。
【0037】
2.分散印刷処理の様子
かかる構成のコンピュータシステムによれば、大まかには、コンピュータ本体16により、印刷すべき印刷データを作成し、この印刷データをコンピュータ本体16に接続されているプリンタ60,70,80に分散して印刷させる分散印刷処理を行なう。こうした分散印刷処理の様子について以下詳しく説明する。
【0038】
図2は、分散印刷処理の全体の様子を概略的に示すブロック図である。図3は、分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。図4は、分散印刷処理の一部を実現する分散印刷ユーティリティプログラム(以下、単に「分散印刷ユーティリティ」と呼ぶ)120の処理の様子を示すブロック図である。
【0039】
図2に示すように、コンピュータ本体16の内部で動作しているアプリケーションプログラム100は、画像の処理を行って画像データを生成し、この画像データを印刷すべく印刷命令を発行する。アプリケーションプログラム100から印刷命令が発行されると、仮想プリンタドライバ110が、印刷命令を受けて、この仮想プリンタドライバ110が想定する仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。詳細には、図3に示すように、仮想プリンタドライバ110は、印刷命令受信部111により、アプリケーションプログラム100から発行される印刷命令を受信して、その印刷命令を受信した旨を印刷命令受信部111から受けた性能情報返信部112により、仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。
【0040】
ここで仮想的なプリンタの性能というのは、分散先となり得る全てのプリンタのうちの最も性能の高いプリンタについての性能である。一般に、性能の高いプリンタは、高級なプログラム言語により描画を行なっている。例えば、数式等を用いた高度な描画命令により図形を表わすものは高級なプログラム言語であり、ビットマップを用いた程度の低い描画命令により図形を表わすものは低級なプログラム言語である。したがって、この実施例では、仮想的なプリンタの性能を上述したように分配先となり得る全てのプリンタのうちの最も高いプリンタについての性能と定めることで、この仮想プリンタドライバ110において高級なプログラム言語に従うデータ変換処理(レンダリング処理)を可能としている。すなわち、高級なプログラム言語は前述したように、高度な描画命令を使用するものであるから、この仮想プリンタドライバ110では、もっとも高性能なプリンタに合わせて効率的なレンダリング処理を実現し得るようにしている。
【0041】
なお、分散先となり得るプリンタというのは、コンピュータ本体16にローカルもしくはネットワークで接続される全てのプリンタのうちのプロパティ設定部113により設定されるプリンタグループに属するプリンタであり、ここでは、プリンタ60,70,80が該当するものとする。なお、この実施例では、これら3台のプリンタ60,70,80が同一機種である場合には、3台のプリンタのうち のいずれか一つのプリンタの性能が仮想的なプリンタの性能として定められている。
【0042】
詳細には、上記プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150(プリンタ60,70,80が同一機種の場合には、一の実プリンタドライバ130が用意されるだけである)から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、性能情報入力部114により取り込んで、仮想プリンタ性能決定部115により、これら各プリンタ60,70,80の性能情報から最も高いものを抽出して、これを仮想的なプリンタの性能情報とする。なお、各プリンタ60,70,80の性能情報が同一である場合には、最初に読み込んだプリンタ60の性能情報を仮想的なプリンタ性能情報とする。性能情報返信部112は、こうして定めた仮想的なプリンタの性能情報をアプリケーションプログラム100に返している。
【0043】
また、仮想プリンタドライバ110は、プロパティ設定部113により、ユーザインタフェース116を動作させて印刷のための各種情報を設定・記憶するが、この印刷のための各種情報のうちのいくつかの情報を上記性能情報とともに性能情報返信部112を介してアプリケーションプログラム100に返す。印刷のための各種情報としては、印刷品質、色補正、ハーフトーンの種類等の印刷の基本設定に関するもの、用紙のサイズ、印刷方向等の用紙設定に関するもの、分散先となり得るプリンタを指定するプリンタグループに関するもの、分散印刷する場合の分散形態に関するもの等があるが、ここでは、これら情報の内のプリンタグループおよび分散形態に関するものを除いた情報をアプリケーションプログラム100に送る。
【0044】
アプリケーションプログラム100は、性能情報やこれら情報を受け取り、上記生成した画像データを性能情報やこれら情報に基づいて、プリンタ(ここでは仮想的なプリンタ)に適合した印刷データに変換して、この変換後の印刷データを仮想プリンタドライバ110に送る。この印刷データの変換の処理は、前述したように効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理についてはここでは実施されない。
【0045】
図2に示すように、仮想プリンタドライバ110は、アプリケーションプログラム100から送られてきた印刷データを中間印刷データとし、その中間印刷データをまとめたデータセットを中間印刷ファイルMFとしてHDD41に一旦格納する。詳細には、図3に示すように、アプリケーションプログラム100から送られてきた印刷データを印刷データ受信部117により受信して、その後、その印刷データを中間印刷データとし、その中間印刷データを中間印刷ファイルMFとして、中間印刷データ出力部118によりHDD41に出力する。
【0046】
なお、分散先となり得るプリンタ60,70,80が同一機種である場合には、仮想プリンタドライバ110は、その同一機種のプリンタに対応した実プリンタドライバをコールして、実プリンタドライバ130と同じデータ変換の処理を行なっている。すなわち、分散先となり得るプリンタ60,70,80が同一機種である場合には、上記中間印刷データは一の実プリンタドライバ130から得られる最終印刷データと実質的に同一のものとなる。ここで、実プリンタドライバ130から得られる最終印刷データというのは、アプリケーションプログラム100から各プリンタ60,70,80の実プリンタドライバ1300に対して直接印刷を指示した場合に実プリンタドライバ130から出力される印刷データのことであり、仮想プリンタドライバ110では実施されなかった各プリンタに対応した色変換やハーフトーン等の処理も施されたものである。上記のように中間印刷データが最終印刷データと同一のものとなるのは、分散先となり得るプリンタ60,70,80が同一機種である場合に、仮想プリンタドライバ110は、どのプリンタ60,70,80とも一致する性能情報をアプリケーションプログラムに返すことになることから、実プリンタドライバ130と全く同じ働きをするためである。
【0047】
中間印刷ファイルMFは、HDD41に格納されてるが、HDD41に替えてRAM32に格納する構成としたり、フロッピィディスク22に格納する構成としたりすることもでき、さらには、他の外部記憶装置に格納する構成とすることもできる。こうした中間印刷ファイルMFの中間印刷データを、その後、分散印刷ユーティリティ120は読み取る。また、仮想プリンタドライバ110は、プロパティ設定部113で設定された各種情報をプリンタプロパティデータPDとしてプロパティデータ出力部119を介して分散印刷ユーティリティ120に送る処理も行なう。なお、このプリンタプロパティデータPDについても、中間印刷ファイルMFと対にHDD41に格納する。
【0048】
図2に示すように、分散印刷ユーティリティ120は、中間印刷ファイルMFを構成する中間印刷データと、上記プリンタプロパティデータPDとを受け取り、その中間印刷データを、プリンタプロパティデータPDに含まれるプリンタグループと分散形態に関する情報に従って各プリンタ60,70,80用に分配して、各プリンタ60,70,80に対応して設けられた実プリンタドライバ130,140,150に送る。分散印刷ユーティリティ120によるこうした処理について、次に詳しく説明する。
【0049】
図4に示すように、分散印刷ユーティリティ120は、まず、中間印刷データ入力部121により、中間印刷ファイルMFを構成する中間印刷データを取り込むとともに、プロパティデータ入力部122により、仮想プリンタドライバ110から送られてくるプリンタプロパティデータPDを受け取る。次いで、そのプリンタプロパティデータPDに含まれるプリンタグループと分散形態に関する情報に基づいて、割り振り決定部123により中間印刷データの割り振りを決定する。ここでいう割り振りというのは、中間印刷データをページ単位に分け、プリンタグループに属するプリンタ60,70,80がそれぞれ引き受けるべきページを定めることである。
【0050】
こうして決定された割り振りの情報は出力データ制御部124に送られる。出力データ制御部124は、中間印刷データ入力部121で取り込んだ中間印刷データの各ページを、上記割り振りの情報に基づいて、上記プリンタ60,70,80の実プリンタドライバ130,140,150に対して振り分けながらそれぞれ出力する。なお、この実プリンタドライバ130,140,150へのデータ出力の際には、具体的には次のような作業を経て行なう。
【0051】
まず、分散先となり得る全てのプリンタが同一機種であるか否かを判別する。そして、同一機種でない、すなわち異機種であると判別された場合には、次の処理を行なう。まず、上記割り振りの情報から定まる割り振り先のプリンタに対して実プリンタドライバ130,140,150を介して設定変更を指示する処理を、プリンタ設定部125により行なう。次いで、出力命令出力部126により割り振り先のプリンタの実プリンタドライバ130,140,150に対して出力命令を発行して、その出力命令の発行を受けた実プリンタドライバ130,140,150から返送されてくるプリンタ60,70,80の性能についての性能情報を、性能情報入力部127により受け取る。
【0052】
出力データ制御部124は、性能情報入力部127から受け取った性能情報と、プロパティデータ入力部122から受け取ったプリンタプロパティデータPDに含まれる印刷の基本設定に関する情報や用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)に基づいて、中間印刷データの割り振るべきページを割り振り先のプリンタ60,70,80に適合したデータに変換する処理を行なう(以下、このデータ変換の処理をレンダリング処理と呼ぶ)。また、出力データ制御部124は、これら変換後の印刷データを最終印刷データとして、最終印刷データ出力部128を介して実プリンタドライバ130,140,150に送る。実プリンタドライバ130,140,150は、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0053】
一方、分散先となり得るプリンタが同一機種と判別された場合には、次の処理を行なう。まず、上記割り振りの情報から定まる割り振り先のプリンタ60,70,80に対して実プリンタドライバ130,140,150を介して設定変更を指示する処理を、プリンタ設定部125により行なう。次いで、中間印刷データの割り振るべきページを、上記割り振りの情報から定まる割り振り先のプリンタ60,70,80の実プリンタドライバ130に対して最終印刷データ出力部128を介して送る。プリンタ60,70,80が同一機種である場合には、前述したように、中間印刷データは色変換やハーフトーン等の処理が施されたものであることから、実プリンタドライバ130は、その中間印刷データをそのまま最終印刷データとして各プリンタ60,70,80に送信する。
【0054】
また、分散印刷ユーティリティ120は、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視するプリンタ監視部129を備えている。プリンタ監視部129は、各プリンタの混み具合やプリンタのエラー状態(故障は勿論のこと、用紙詰まり、用紙切れの状態等も含む)を監視するものである。出力データ制御部124は、このプリンタ監視部129からの信号を受け取り、上記印刷データの出力に際して、混み合っていたりエラー状態にあるプリンタについては出力先を変更したり、出力を一旦中止したりする処理を行なう。
【0055】
なお、実プリンタドライバ130,140,150から送られてくる各プリンタ60,70,80の性能情報は、前述したように分散印刷ユーティリティ120で利用されるとともに、性能情報出力部12aを介して仮想プリンタドライバ110にも送られる。
【0056】
3.仮想プリンタドライバ
仮想プリンタドライバ110がコンピュータ10にインストールされたときに、オペレーティングシステムがどのような状態に変わるかを、次に説明する。なお、この説明に当たり、この仮想プリンタドライバ110が動作するオペレーティングシステムとして、Windows95(マイクロソフト社の商標)を例にとって説明する。
【0057】
ユーザ(作業者)は、コンピュータ10を次のように操作して、印刷のための各種情報を設定するダイアログボックスをCRTディスプレイ12の画面上に開く。すなわち、[スタート]→[設定]→[プリンタ]の操作を行なうことで、「プリンタ」ウィンドウを開く。図5は、この「プリンタ」ウィンドウを示す説明図である。仮想プリンタドライバ110がコンピュータ10にインストールされた場合、図示するように、「プリンタ」ウィンドウWN1には、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150のアイコンIC1,IC2,IC3に加えて、仮想プリンタドライバ110に対応する例えば「分散印刷」と表記されたアイコンIC4が表示されることになる。即ち、仮想プリンタドライバ110も実プリンタドライバと同様に、インストールされると、その仮想プリンタドライバ110に対応したアイコンIC4が「プリンタ」ウィンドウWN1に表示されることになる。
【0058】
なお、その「プリンタ」ウィンドウ上の仮想プリンタドライバ110に対応した「分散印刷」のアイコンIC4をダブル・クリックして、その仮想プリンタドライバ110についてのウィンドウを開き、その後、そのウィンドウから[プリンタ]→[プロパティ]の操作を行なうと、その仮想のプリンタについての各種情報を設定する「分散印刷プロパティ」のダイアログボックスが表示される。作業者は、この「分散印刷プロパティ」のダイアログボックスに従ってマウス20およびキーボード18を操作することにより、各種の設定情報を入力することが可能となる。なお、この「分散印刷プロパティ」のダイアログボックスが、前述したユーザインタフェース116に相当する。
【0059】
4.ユーザインタフェース
図6は、「分散印刷プロパティ」のダイアログボックスWN2を例示する説明図である。図示するように、「分散印刷プロパティ」のダイアログボックスWN2には、「分散設定」、「プリンタ」の2種類のカードCD1,CD2が用意されている。「分散設定」のカードCD1は、分散印刷する場合の分散形態に関わる情報等を設定するためのものである。「プリンタ」のカードCD2は、分散先となり得るプリンタグループに関わる情報、印刷の基本設定に関する情報および用紙設定に関する情報等を設定するためのものである。両カードCD1,CD2のいずれかが、作業者によって、マウス20を操作することにより選択されて、ダイアログボックスWN2に表示される。図6には、「分散設定」のカードCD1が表示された状態が例示されている。なお、カードCD1,CD2の内容の組み分けは、上記例に限る訳ではなく、1枚のカードで全ての内容を含む構成としてもよく、あるいは、より細かく分けて3枚以上のカードに分ける構成としてもよい。
【0060】
図示するように、「分散設定」のカードCD1には、「ドキュメント」、「リカバリ」、「指定日時」の3つのフィールドfd1,fd2,fd3が設けられている。「ドキュメント」のフィールドfd1は、文書の印刷形態を設定するためのもので、「部数」についてのデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3、「ジョブのまとめ方」についてのデータ入力欄id4、「区切りページ」についてのデータ入力欄id5が設けられている。各データ入力欄(チェックボックスを含む、以下同じ)id1〜id5は次のような仕様にて設計されている。
【0061】
1)「部数」のデータ入力欄id1:
印刷する部数を入力する。アプリケーションプログラム100で設定された内容がデフォルトとして入力される。
2)「部単位で印刷する」のチェックボックスid2:
このチェックボックスid2がオン状態のとき、丁合い印刷となり、オフ状態のとき、スタック印刷となる。ここで、丁合い印刷とは、部単位で、各部はページ順にて出力を行なうものであり、スタック印刷とは、ページ単位で、同一ページを部数分まとめて出力を行なうものである。
3)「部、ページ単位でまとめる」のチェックボックスid3:
このチェックボックスid3がオン状態のときには、上記部単位もしくはページ単位の一集合が複数のプリンタに渡ることを禁止し、オフ状態のときには、その一集合が複数のプリンタに渡ることを許可する。
【0062】
4)「ジョブのまとめ方」のデータ入力欄id4:
このデータ入力欄id4における「プリンタ単位」のラジオボタンが選択されると、一のプリンタから出力する全ページを一つのまとまりとして扱う。このラジオボタンが選択されると、ネットワークに接続された共有プリンタ70,80において他の使用者の印刷結果との混在がなくなる。一方、「部、ページ番号単位」のラジオボタンが選択されると、上記部単位やページ単位の一集合ごとを一つのまとまりとして扱う。ローカルのプリンタ60に分散する場合や他の使用者の印刷結果と混在しても問題ないような場合に利用する。
【0063】
5)「区切りページ」のデータ入力欄id5:
区切りページとは、他の使用者の印刷結果と上記まとまりの単位で混在した場合に判別できるように、上記まとまりの先頭や末尾に設けるページである。「先頭」のチェックボックスがクリックされた場合には、まとまりの先頭位置に区切りページを印刷する。「末尾」のチェックボックスがクリックされた場合には、まとまりの末尾位置に区切りページを印刷する。なお、区切りページには、印刷する文書名や部数、ページ数、使用者名などが印刷される。
【0064】
なお、この「ドキュメント」のフィールドfd1には、上記データ入力欄id1〜id5の他に、上記データ入力欄id1〜id5の設定内容によって決定される分散形態を表わす分散形態表示欄ddが設けられている。この分散形態表示欄ddは、データ入力欄id1〜id5の設定内容によって決定される分散形態がどのようなものであるかをイラスト画像にて示すものである。
【0065】
次に、データ入力欄id1〜id5の設定の内容によって分散形態表示欄ddのイラスト画像がどのように決まるかを、図7および図8を用いて説明する。まず最初に、「部数」のデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3によってイラスト画像がどのように決まるかを説明する。
【0066】
図7は、データ入力欄id1と2つのチェックボックスid2,id3の設定の内容によって分散形態表示欄ddのイラスト画像がどのように変わるかを示す説明図である。図示の表において、列は、部単位で印刷するか否か、すなわち、「部単位で印刷する」のチェックボックスid2がオン状態であるかオフ状態であるかによって定まり、行は、部、ページ単位でまとめないか否か、すなわち、「部、ページ単位でまとめる」のチェックボックスid3がオフ状態であるかオン状態であるかによって定まる。この表は、「部数」データ入力欄id1から設定される部数が4部である場合の一例である。
【0067】
「部単位で印刷する」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第1列のセルC11に示すように、1台目のプリンタ60には、丁合で第1部の第1ページと第2ページが次いで第2部の第1ページが印刷され、2台目のプリンタ70には、第2部の第2ページ、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0068】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第2列のセルC12に示すように、スタック印刷となることから、1台目のプリンタ60には、第1ページが3部印刷され、2台目のプリンタ70には、第1ページの必要部数の残り分と第2ページが2部印刷され、3台目のプリンタ80には、第2部の必要部数の残り分とが印刷されることを示すイラスト画像が表示される。
【0069】
「部単位で印刷する」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第1列のセルC21に示すように、1台目のプリンタ60は、1単位が複数のプリンタに渡ることを禁止することから、第1部の第1ページから第2部の第2ページまで印刷され、2台目のプリンタ70には、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0070】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第2列のセルC22に示すように、1台目のプリンタ60には、第1ページが必要部数分印刷され、2台目のプリンタ70には、第2ページが必要部数分印刷されることを示すイラスト画像が表示される。
【0071】
次に、データ入力欄id1〜id3の設定内容から決まるイラスト画像が、「ジョブのまとめ方」のデータ入力欄id4と「区切りページ」のデータ入力欄id5によってどのように変わるかを説明する。図8は、データ入力欄id4,id5によって分散形態表示欄ddのイラスト画像がどのように決まるかを示す説明図である。図8に示したイラスト画像の一例は、データ入力欄id1〜id3の内容によって図7中のセルC11に示すようにイラスト画像が決定した場合に、データ入力欄id4,id5の設定内容に応じてさらにどのように変わるかを示すものである。
【0072】
図8の表において、列は、「ジョブのまとめ方」のデータ入力欄id4において「プリンタ単位」、「部、ページ番号単位」のいずれのラジオボタンが選択されたかによって定まり、行は、「区切りページ」のデータ入力欄id5において「先頭」、「末尾」の両チェックボックスがどのように指示されているかによって定まる。
【0073】
「ジョブのまとめ方」のデータ入力欄id4において、「プリンタ単位」のラジオボタンがクリックされている場合、表中の第1行、第1列のセルCE11に示すように、図7のセルC11とそのイラスト画像は変わらず、一のプリンタから印刷される全ページはまとめられた形となる。一方、「部、ページ番号単位」のラジオボタンがクリックされている場合には、第1行、第2列のセルCE12に示すように、部、もしくはページ単位の集合がまとめられ、それらは次の集合との間で一旦分けられる。なお、実際は、「プリンタ単位」のラジオボタンがクリックされている場合も「部、ページ番号単位」のラジオボタンがクリックされている場合にも、区切りページがないことから同じ印刷結果となる。
【0074】
「区切りページ」のデータ入力欄id5から区切りページがあると判別された場合には、表中の第2行目、第3行目、第4行目に示すように、第1行目にてまとめられた区分に対して、先頭、末尾、または両者に区切りページ(図中黒塗りの部分)が差し込まれた形にイラスト画像は定められる。この表によって決定されるイラスト画像が、分散形態表示欄ddに表示される。
【0075】
図6に戻り、「リカバリ」のフィールドfd2は、分散印刷されるプリンタでエラーが発生した場合に他のプリンタでリカバリさせる際のリカバリ先を指定するためのものである。この「リカバリ」のフィールドfd2には、「リカバリしない」、「出力先を指定する」、「リカバリ先を自動で選択する」の3つのラジオボタンが設けられている。「リカバリしない」のラジオボタンが選択された場合には、分散印刷されるプリンタでエラーが発生した場合にもリカバリをしないものとする。「出力先を指定する」のラジオボタンが選択された場合には、「プリンタ」のデータ入力欄から入力された出力先をリカバリ先とする。「リカバリ先を自動で選択する」のラジオボタンが選択された場合には、エラーが発生したプリンタと同機種のプリンタをリカバリ先とする。同機種のプリンタがなければ空いているプリンタをリカバリ先とする。
【0076】
「指定日時」のフィールドfd3は、印刷時間を指定するもので、「印刷日時を指定する」のチェックボックスが指定された場合には、「指定日時」の欄から入力された時間に印刷が開始される。
【0077】
「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2について、図9を用いて次に説明する。図示するように、「プリンタ」のカードCD2には、「プリンタグループ」のフィールドfd4と、「用紙設定」のフィールドfd5と、内容表示欄fd6が設けられている。
【0078】
「プリンタグループ」のフィールドfd4は、文書を分散して印刷するプリンタのグループを指定するためのもので、「グループ名」のデータ入力欄id11と「プリンタ」の表示欄id12と「グループ設定」のボタンid13とが設けられている。「グループ名」のデータ入力欄id11は、そのグループの名前を設定するためのものであり、予め設定されたグループ名が選択肢として用意される。「プリンタ」の表示欄id12は、「グループ名」のデータ入力欄id1から設定されたグループに属するプリンタ名を表示する。「グループ設定」のボタンid13は、図示しない新たなウィンドウを開き作業者からのデータ入力を受け付けることで、「グループ名」のデータ入力欄id11に用意される選択肢の追加、削除を行なう。「プリンタグループ」のフィールドfd4によって指定されるグループに属する全てのプリンタ、すなわち、「プリンタ」の表示欄id12に表示される各プリンタに対して、コンピュータ10は分散印刷を行なうことになる。すなわち、コンピュータ本体16にローカルまたはコンピュータネットワーク90にて接続される全てのプリンタの中でも、この「プリンタグループ」のフィールドfd4によって指定されるグループのプリンタ群だけが印刷の分散先となることになる。なお、以下の説明では、前述した3台のプリンタ60,70,80を含むグループが指定されているものとして話を進める。
【0079】
「用紙設定」のフィールドfd5は、用紙や印刷品質を設定するためのもので、「用紙サイズ」、「用紙方向」、「用紙種類」、「色」、「解像度」をそれぞれ設定するデータ入力欄id14,id15,id16,id17が設けられている。
【0080】
「用紙サイズ」のデータ入力欄id14は、使用する用紙サイズを用紙の種類と共に設定するもので、例えば、「A4 210×297mm」、「A4横 210×297mm」、「洋封筒 120×235」、「ハガキ 100×147mm」等が選択肢として用意されている。「用紙方向」のデータ入力欄id15は、プリンタにおいて用紙のセットされる方向を示すものであり、「縦」と「横」とが選択可能である。「用紙種類」のデータ入力欄id16は、用紙の種類を設定するもので、「普通紙」、「スーパーファイン専用紙」、「専用光沢紙」が選択肢として用意されている。「色」のデータ入力欄id17は、プリンタ14に使用するインクの種類を設定するもので、「カラー」と「モノクロ」とが選択肢として用意されている。「解像度」のデータ入力欄id18は、印刷する解像度を設定するもので、「はやい」、「きれい」の2種類が選択肢として用意されている。ここで、「はやい」、「きれい」は、例えば、順に360×360(dot)、720×720(dot)の解像度を示すものである。
【0081】
内容表示欄fd6は、「プリンタグループ」のフィールドfd1と「用紙設定」のフィールドfd5から設定された内容のうちの所望のデータを表示する。
【0082】
以上のように構成された「分散印刷プロパティ」のダイアログボックスWN2に従って、作業者はマウス20およびキーボード18を操作することにより、各種の設定情報がプリンタプロパティデータとしてコンピュータ本体16に入力されることになる。なお、このデータ入力の際に、各プリンタ60,70,80の性能情報によっては上記入力データの取り込みは制限されるように構成されている。例えば、各プリンタ60,70,80の性能情報から、これらプリンタ60,70,80は共にA4までの用紙サイズのみ印刷可能な場合には、「分散印刷プロパティ」のダイアログボックスWN2の「用紙サイズ」のデータ入力欄id14は、A4より大きい用紙サイズは選択肢から除外する構成として、A4より大きい用紙サイズについての入力データは取り込み不可能としている。
【0083】
5.コンピュータプログラム
図3に示した仮想プリンタドライバ110にて実現される各部111〜119は、実際は、コンピュータプログラムである仮想プリンタドライバ110とその仮想プリンタドライバ110に従ってCPU30により実行される各種処理とにより実現されている。また、図4に示した分散印刷ユーティリティ120にて実現される各部121〜129は、実際は、コンピュータプログラムである分散印刷ユーティリティ120とその分散印刷ユーティリティ120に従ってCPU30により実行される各種処理とにより実現されている。
【0084】
上記分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた分散印刷ユーティリティ120は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、この分散印刷ユーティリティ120は、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0085】
図10は、仮想プリンタドライバ110で記述される処理ルーチンを、アプリケーションプログラム100で記述される処理ルーチンとともに示すフローチャートである。図示するように、このコンピュータ本体16のCPU30は、まず、アプリケーションプログラム100に処理を移して、画像の処理を行って画像データを作成する処理を行なう(ステップS210)。このアプリケーションプログラム100は、文書や絵図等を作成する汎用のアプリケーションプログラムであり、それぞれのアプリケーションプログラム特有の機能を使って画像データが作成される。
【0086】
次いで、CPU30は、この作成されたアプリケーションプログラムに備えられる[印刷]のコマンドを実行することで、分散印刷を行なう旨の印刷命令を発行する処理を行なう(ステップS220)。詳細には、印刷のコマンドが操作されたときに、CRTディスプレイ12に「印刷」のダイアログボックス(図示せず)が表示されるが、ここで「OK」のボタンがクリックされるのを受けて、アプリケーションプログラムは仮想プリンタドライバ110に対して印刷命令を発行する処理を行なう。なお、この「印刷」のダイアログボックスにおいて「プロパティ」のボタンがクリックされた場合には、仮想プリンタドライバ110に従う処理ルーチンにより、「分散印刷プロパティ」のダイアログボックスを表示させ、キーボード18とマウス20からの入力データを読み取ることで、分散印刷に係わる各種情報を設定する処理を行なっており、その後、印刷命令が発行される。上記印刷命令の発行は、アプリケーションプログラムからオペレーティングシステムを介して行なう構成とすることもできる。
【0087】
アプリケーションプログラム100に従う処理により印刷命令が発行されると、CPU30は、仮想プリンタドライバ110に処理を移して、アプリケーションプログラム100による処理から印刷命令を取り込んだか否かを判別する(ステップS310)。ここで、印刷命令を取り込んでいないと判別されると、ステップS310の判別処理を繰り返し実行して、アプリケーションプログラム100からの印刷命令が取り込まれるのを待つ。一方、ステップS310で印刷命令が取り込まれたと判別されたときには、以下の処理を実行する。
【0088】
CPU30は、まず、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、分散印刷ユーティリティ120から取り込む(ステップS320)。その後、CPU30は、これら各プリンタ60,70,80の性能情報から最も高いものを抽出して、これを仮想プリンタの性能情報と決定する(ステップS330)。なお、ステップS330では、各プリンタ60,70,80の性能情報が同一である場合には、各プリンタ60,70,80の性能情報のうちのいずれか一つのプリンタの性能、ここでは最初に読み込んだプリンタ60の性能情報を仮想プリンタの性能情報と決定する。その後、CPU30は、この仮想プリンタの性能情報をアプリケーションプログラム100に送る(ステップS340)。
【0089】
仮想プリンタドライバ110から仮想プリンタの性能情報が送られてくると、CPU30は、アプリケーションプログラム100に処理を移して、その仮想プリンタの性能情報を取り込む(ステップS240)。次いで、CPU30は、その性能情報と、仮想プリンタドライバ110で設定入力された各種情報のうちの印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)とに基づいて、ステップS210で作成した画像データを仮想プリンタに適合した印刷データに変換する(ステップS250)。
【0090】
なお、前述したように、各プリンタ60,70,80が異機種である場合には、この印刷データの変換の処理は、効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理は含まない。一方、各プリンタ60,70,80が同一機種である場合には、その同一機種のプリンタに対応した実プリンタドライバ130をコールして、実プリンタドライバ130と同じデータ変換の処理を行なうことで、実プリンタドライバ130により実現される色変換やハーフトーン等の処理も行なっている。その後、この変換後の印刷データを仮想プリンタドライバ110に送る(ステップS260)。CPU30は、ステップS260の処理を終えると、アプリケーションプログラム100の処理ルーチンを終了する。
【0091】
アプリケーションプログラム100から仮想プリンタに適合した印刷データが送られてくると、CPU30は、仮想プリンタドライバ110に処理を移して、その印刷データを取り込む(ステップS350)。続いて、CPU30は、その取り込んだ印刷データを中間印刷データとして、その中間印刷データをHDD41に出力する(ステップS360)。この結果、この中間印刷データをまとめたデータセットが中間印刷ファイルMFとしてHDD41に格納される。
【0092】
分散先となり得るプリンタ60,70,80が同一機種である場合、中間印刷ファイルMFとして格納される中間印刷データは、前述したように、これらプリンタ60,70,80の実プリンタドライバ130,140,150により得られる最終印刷データと実質的に同一のものである。このために、ステップS360では、中間印刷データがこの種のデータ、すなわち最終印刷データと同一のデータであるか否かを示すフラグデータを、中間印刷データとともに中間印刷ファイルMFに書き込む処理も行なっている。なお、最終印刷データと同一のものであるか否かの判別は、ステップS330によって行なわれる分散先となり得るプリンタ60,70,80の性能情報の比較によって知ることが可能となっている。
【0093】
ステップS330で中間印刷ファイルMFがHDD41に出力されると、次いで、仮想プリンタドライバ110で設定入力した各種情報を示すプリンタプロパティデータPDを、中間印刷ファイルMFと対に格納されるようHDD41に出力する(ステップS370)。その後、CPU30は、仮想プリンタドライバ110の処理ルーチンを終了する。
【0094】
図11は、分散印刷ユーティリティ120で記述される処理ルーチンを示すフローチャートである。この処理ルーチンは、仮想プリンタドライバ110の処理ルーチンを終了後、自動的に起動されるものである。処理が開始されると、CPU30は、まず、HDD41から中間印刷ファイルMFの中間印刷データを取り込む(ステップS410)。次いで、CPU30は、仮想プリンタドライバ110で設定された各種情報であるプリンタプロパティデータPDをHDD41から取り込む(ステップS420)。
【0095】
続いて、CPU30は、ステップS420で取り込んだプリンタプロパティデータPDに含まれるプリンタグループと分散形態に関する情報に基づいて、ステップS410で取り込んだ中間印刷データの割り振りを決定する処理を行なう(ステップS430)。詳しくは、中間印刷データをページ単位に分け、「分散印刷プロパティ」のダイアログボックスWN2で設定した分散形態、即ち、「分散設定」のカードCD1の分散形態表示欄ddに表示された図8に例示した分散形態が実現されるように、プリンタグループに属するプリンタ60,70,80がそれぞれ引き受けるべきページを定める。この結果、こうして定めた各プリンタに割り当てられたページについての情報は出力先リストデータとしてRAM32に記憶される。
【0096】
図12は、その出力先リストデータの一例を示す説明図である。図示の例は、3ページから構成される文書を3台のプリンタ60,70,80に1部ずつ印刷する場合を示している。図示するように、3台のプリンタ60,70,80に対して1ページから3ページまでの各ページがそれぞれ、印刷するページ番号として定められる。
【0097】
ステップS430で各ページの出力先の割り振りが決まると、次いで、CPU30は、分散先となり得るプリンタが同一機種であるか否かを判別する(ステップS432)。この判別は、ステップS410で取り込んだ中間印刷ファイルMFに備えられる前述したフラグデータの値によってなされる。すなわち、フラグデータが、中間印刷データが最終印刷データと同一であることを示す値である場合には、各プリンタは同一機種であると判別し、印刷データが最終印刷データと同一でないことを示す値である場合には、各プリンタは異機種であると判別する。ステップS432で、同一機種でないと判別されると、異機種プリンタ出力処理ルーチンを実行し(ステップS434)、一方、同一機種であると判別されると、同一機種プリンタ出力処理ルーチンを実行する(ステップS436)。ステップS434またはS436の実行後、「エンド」に抜けてこの分散印刷ユーティリティの処理を終了する。
【0098】
図13は、異機種プリンタ出力処理ルーチンの詳細を示すフローチャートである。図示するように、CPU30は、まず、印刷の対象となるプリンタを示すプリンタカウンタC1を値1にセットする(ステップS440)。ここで、プリンタカウンタC1は、値1のとき1台目のプリンタ60を、値2のとき2台目のプリンタ70を、値3のとき3台目のプリンタ70というように分散先の各プリンタを示すものとする。
【0099】
次いで、CPU30は、プリンタカウンタC1の値に対応するプリンタに対して設定変更を指示する処理を行なう(ステップS450)。この処理は、印刷しようとするプリンタに対してプリンタドライバを介して印刷の用意を促すもので、上記ステップS420で取り込んだプリンタプロパティデータPDに含まれる印刷の基本設定に関する情報と用紙設定に関する情報のうちから必要な設定情報をプリンタドライバに対して指示を行なう。例えば、用紙の種類は「専用光沢紙」であるということをプリンタドライバに知らせることで、プリンタに対してその用紙に適した印刷が可能な状態となるように定める。
【0100】
続いて、CPU30は、印刷の対象となるページ数を示すページカウンタC2を値1にセットする(ステップS460)。その後、CPU30は、ステップS430で求めた出力先リストデータに、プリンタカウンタC1およびページカウンタC2で特定されるプリンタに割り振られたページが含まれるか否かを判別する(ステップS470)。ここで、出力先リストデータに含まれると判別されると、以下の処理を行なう。まず、プリンタカウンタC1の値に対応するプリンタに対して印刷を実行させるべく、そのプリンタの実プリンタドライバ130(140,150)に対して出力命令を発行する(ステップS480)。その出力命令の発行を受けた実プリンタドライバ130(140,150)からは、プリンタ60(70,80)の性能についての性能情報が返送されてくることから、次いで、CPU30は、その性能情報を取り込む(ステップS490)。
【0101】
続いて、その性能情報と、ステップS420で取り込んだプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)に基づいて、ページカウンタC2で特定されるページについてのプリンタカウンタC1で特定されるプリンタへの最終印刷データを作成する処理を行なう(ステップS500)。詳しくは、ステップS410で取り込んだ中間印刷データの中からページカウンタC2の値に対応したページのページデータを抽出し、この抽出したページデータを、上記性能情報、印刷の基本設定に関する情報および用紙設定に関する情報等に基づいて、プリンタカウンタC1の値に対応したプリンタ60(70,80)に適合したデータに変換することにより、最終印刷データを作成する。
【0102】
その後、CPU30は、その最終印刷データをプリンタカウンタC1の値に対応したプリンタ60(70,80)の実プリンタドライバ130(140,150)に出力する(ステップS510)。実プリンタドライバ130,140,150では、前述したように、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0103】
なお、ステップS480ないしS510で印刷を実行させる前に、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視する処理を行ない、この監視結果が、出力先のプリンタが混み合っていたりエラー状態であるときには、その出力先へのプリンタについては出力先を変更したり、出力を一旦中止したりする処理を行なうよう構成することもできる。
【0104】
その後、CPU30は、ページカウンタC2の値を1だけインクリメントする(ステップS520)。なお、ステップS470で否定判別されたときには、ステップS480ないしS510を読み飛ばして直ちにステップS520に進む。その後、CPU30は、ページカウンタC2の値が最終ページを示す値LC2を超えたか否かを判別する(ステップS530)。ここで、最終ページを示す値LC2を超えていないと判別されると、処理をステップS470に戻して、上記値1を増加したページについての最終印刷データの作成および出力の処理を行なう。
【0105】
一方、ステップS530でページカウンタC2の値が最終ページを示す値LC2を超えたと判別されたときには、CPU30は、プリンタカウンタC1の値を1だけインクリメントして(ステップS540)、そのプリンタカウンタC1の値が最後のプリンタを示す値LC1を超えたか否かを判別する(ステップS550)。ここで、最後のプリンタを示す値LC1を超えていないと判別されると、処理をステップS450に戻して、上記値1を増加したプリンタカウンタC1で示される次のプリンタ70(80,60)についての各ページの最終印刷データの作成および出力の処理を行なう。一方、ステップS550でプリンタカウンタC1の値が最終ページを示す値LC1を超えたと判別されたときには、全てのプリンタについての印刷を要する全てのページの最終印刷データの作成・出力が終了したとして、「リターン」に抜けて、異機種プリンタ出力処理ルーチンを終了する。
【0106】
なお、この異機種プリンタ出力処理ルーチンは、前述したように、1ページから最終ページまでの最終印刷データの作成および出力の処理を第1のプリンタから最終のプリンタまで各プリンタ単位で順に行なうよう記述されているが、これはフローチャートの記載上の便宜のためにこのように記述されたものであり、実際は、1ページから最終ページまでの最終印刷データの作成および出力の処理を、各プリンタ毎に時分割によりマクロ的に並行処理されるよう構成されている。
【0107】
図14は、ステップS436で実行される同一機種プリンタ出力処理ルーチンの詳細を示すフローチャートである。図示するように、CPU30は、まず、印刷の対象となるプリンタを示すプリンタカウンタC1を値1にセットする(ステップS610)。ここで、プリンタカウンタC1は、値1のとき1台目のプリンタ60を、値2のとき2台目のプリンタ70を、値3のとき3台目のプリンタ70というように分散先の各プリンタを示すものとする。
【0108】
次いで、CPU30は、プリンタカウンタC1の値に対応するプリンタに対して設定変更を指示する処理を行なう(ステップS620)。この処理は、印刷しようとするプリンタに対してプリンタドライバを介して印刷の用意を促すもので、上記ステップS420で取り込んだプリンタプロパティデータPDに含まれる印刷の基本設定に関する情報と用紙設定に関する情報のうちから必要な設定情報をプリンタドライバに対して指示を行なう。例えば、用紙の種類は「専用光沢紙」であるということをプリンタドライバに知らせることで、プリンタに対してその用紙に適した印刷が可能な状態となるように定める。
【0109】
続いて、CPU30は、印刷の対象となるページ数を示すページカウンタC2を値1にセットする(ステップS630)。その後、CPU30は、ステップS430で求めた出力先リストデータに、プリンタカウンタC1およびページカウンタC2で特定されるプリンタに割り振られたページが含まれるか否かを判別する(ステップS635)。ここで、出力先リストデータに含まれると判別されると、CPU30は、ステップS410で取り込んだ中間印刷データの中からページカウンタC2の値に対応したページのページデータを抽出し、この抽出したページデータをそのまま最終印刷データとして、プリンタカウンタC1の値に対応したプリンタ60(70,80)の実プリンタドライバ130に出力する(ステップS640)。実プリンタドライバ130は、各プリンタ60,70,80が同一機種である場合には、前述したように、中間印刷データは色変換やハーフトーン等の処理が施されたものであることから、実プリンタドライバ130は、そのまま最終印刷データを各プリンタ60,70,80に送信するだけである。その後、ステップS650に処理を進める。
【0110】
なお、この実施例では、最終印刷データを実プリンタドライバ130を介して各プリンタ60,70,80に送信するように構成していたが、これに替えて、実プリンタドライバ130を介さずに直接、分散先である各プリンタ60,70,80に送信する構成とすることもできる。
【0111】
一方、ステップS635で、出力先リストデータに含まれないと判別された場合には、ステップS640の処理を実行することなしにステップS650に処理を進める。ステップS650では、CPU30は、ページカウンタC2の値を1だけインクリメントする。続いて、CPU30は、ページカウンタC2の値が最終ページを示す値LC2を超えたか否かを判別する(ステップS660)。ここで、最終ページを示す値LC2を超えていないと判別されると、処理をステップS635に戻して、上記値1を増加したページについての最終印刷データの出力の処理を行なう。一方、ステップS660でページカウンタC2の値が最終ページを示す値LC2を超えたと判別されたときには、CPU30は、プリンタカウンタC1の値を1だけインクリメントして(ステップS670)、そのプリンタカウンタC1の値が最後のプリンタを示す値LC1を超えたか否かを判別する(ステップS680)。ここで、最後のプリンタを示す値LC1を超えていないと判別されると、処理をステップS620に戻して、上記値1を増加したプリンタカウンタC1で示される次のプリンタ70(80,60)についての各ページの最終印刷データの出力を行なう。一方、ステップS680で、プリンタカウンタC1の値が最終ページを示す値LC1を超えたと判別されたときには、全てのプリンタについての印刷を要する全てのページの最終印刷データの出力が終了したとして、「リターン」に抜けて、同一機種プリンタ出力処理ルーチンを終了する。
【0112】
なお、この同一機種プリンタ出力処理ルーチンは、前述したように、1ページから最終ページまでの最終印刷データの出力の処理を第1のプリンタから最終のプリンタまで各プリンタ単位で順に行なうよう記述されているが、これはフローチャートの記載上の便宜のためにこのように記述されたものであり、実際は、1ページから最終ページまでの最終印刷データの出力の処理を各プリンタ毎に多重プログラミングにより並行処理されるよう構成されている。
【0113】
図15は、以上のように構成されたコンピュータシステムによって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。図示の例は、3ページから構成される文書を3台のプリンタに1部ずつ印刷する場合についてが示されている。図示の中段に示すように、この実施例では、3台のプリンタが異機種である場合(ここでは、3台をプリンタ60′,70′,80′とする)、最初、中間印刷データの作成がなされ(▲1▼)、次いで、その中間印刷データの1ページ目のページデータが、並行処理により、プリンタ60′用、プリンタ70′用、プリンタ80′用と順に各プリンタに適合するようにレンダリング処理される(▲2▼、▲3▼、▲4▼)。なお、プリンタ60′用に変換されたデータ(最終印刷データ)のプリンタ60′への送信の処理は、次のプリンタ70′用へのレンダリング処理と並列に行なわれており、同様に、プリンタ70′への送信の処理もプリンタ80′への送信も次のレンダリング処理と並列に行なわれる。次いで、中間印刷データの2ページ目のページデータが、並行処理により、プリンタ60′用、プリンタ70′用、プリンタ80′用と順に各プリンタに適合するようにレンダリング処理され(▲5▼、▲6▼、▲7▼)、続いて、中間印刷データの3ページ目のページデータが、並行処理により、プリンタ60′用、プリンタ70′用、プリンタ80′用と順に各プリンタに適合するようにレンダリング処理される(▲8▼、▲9▼、○10:図15中の10以上の数字を○で囲んだ記号をこの明細書では○に数字を並べた文字列により示すものとする)。こうして全ての印刷が終了する。
【0114】
また、図示の下段に示すように、プリンタ60,70,80が同一機種である場合には、まず中間印刷データの作成により、プリンタ60に適合(70,80にも適合)するようにレンダリング処理がなされ(○11)、次いで、その中間印刷データの1ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタへ送られる(○12,○13,○14)。続いて、中間印刷データの2ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタへ送られ(○15,○16,○17)、さらに、中間印刷データの3ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタへ送られる(○18,○19,○20)。
【0115】
これらに対して、従来例では、図示の上段に示すように、まず、1ページ目のページデータを1台目のプリンタAに適合するようにレンダリング処理がなされ、その後、そのレンダリング処理により変換されたデータをプリンタAに送信する。次いで、2ページ目のページデータを1台目のプリンタAに適合するようにレンダリング処理がなされ、その後、その変換されたデータをプリンタAに送信する。続いて、3ページ目のページデータを1台目のプリンタAに適合するようにレンダリング処理がなされ、その後、その変換されたデータをプリンタAに送信する。さらにその後、2台目のプリンタBについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、レンダリング処理およびプリンタへの送信が行なわれる。その後、3台目のプリンタCについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、レンダリング処理およびプリンタへの送信が行なわれる。
【0116】
したがって、この実施例では、印刷しようとするプリンタが異機種の場合には、レンダリング処理とプリンタへの送信の処理とが並列に行なわれることから、従来例と比較して、印刷に要する全体の時間を短縮することができるという効果を奏する。また、この実施例では、印刷しようとするプリンタが同一機種の場合には、中間印刷データを作成するだけで、各プリンタ60,70,80用に個別に行なうデータ変換の処理が不要となることから、印刷しようとするプリンタが異機種の場合と比べてもさらに、印刷に要する全体の時間を短縮することができる。
【0117】
また、この実施例によれば、アプリケーションプログラム100からは仮想プリンタドライバ110に対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタ60,70,80への分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で[印刷]のコマンドを一度行なえばよく、作業性に優れているという効果を奏する。
【0118】
この実施例では、「分散印刷プロパティ」のダイアログボックスWN2から分散形態に関わる情報や分散先となり得るプリンタグループに関わる情報を設定することができる。このために、作業者はプリンタの分散先を定めるために必要な各種情報を容易に設定することができる。特にこの実施例では、プリンタグループに関わる情報を設定することにより、コンピュータネットワーク90に接続された全てのプリンタの内から予め定めたグループ内のプリンタに印刷の分散先を制限することができることから、作業者は印刷物の出力先を予め限られた範囲内とすることができ、この結果、作業性に優れている。
【0119】
6.中間印刷ファイルの再利用について
分散印刷ユーティリティは、上述したように、HDD41に格納された中間印刷ファイルMFを利用して分散印刷を行なっているが、この分散印刷ユーティリティの終了後においても、中間印刷ファイルMFを用いて再印刷を行なうことが可能な構成とすることができる。こうした構成を上記実施例の変形例として次に説明する。
【0120】
図16は、この変形例の分散印刷ユーティリティで記述される処理ルーチンを示すフローチャートである。この変形例は、前述した実施例と比較して、分散印刷ユーティリティで記述される処理ルーチンの内容が相違するだけで、ハードウェアの構成やその他のソフトウェアの構成については同じである。また、図16に示すように、分散印刷ユーティリティで記述される処理ルーチンのステップS410ないしS436についても上記実施例と同じである。ステップS434またはS436の処理を終えると、次いで、CPU30は、終了ジョブリストが掲載されるウィンドウをCRTディスプレイ12に表示する処理を行なう(ステップS700)。
【0121】
図17は、終了ジョブリストが掲載されるウィンドウWN3を例示する説明図である。図示するように、このウィンドウWN3は、メイン画面SC1とその左側に位置するサブ画面SC2とに分かれており、さらにメイン画面SC1は上下に2分割され、その上部にジョブ用リスト欄LST1が設けられ、下部に分散状況用リスト欄LST2が設けられている。
【0122】
サブ画面SC2には、ジョブ用リスト欄LST1に表示される内容を印刷ジョブリストと終了ジョブリストのいずれかに切り替えるアイコンIC11,IC12が設けられている。図17の例は、アイコンIC12がクリックされて、ジョブ用リスト欄LST1に終了ジョブリストが表示された状態が示されている。終了ジョブリストは、これまでに印刷が完了しているジョブ(印刷の一単位)の一覧を示すものである。終了ジョブリストには、印刷文書名を示す「ドキュメント名」、印刷する部数を示す「部数」、文書のページ数を示す「ページ数」、分散形態を示す「分散形態」、印刷の状態を示す「状態」、ジョブの所有者を示す「オーナー」、印刷を開始した日時を示す「開始日時」の各フィールドが設けられている。
【0123】
分散状況用リスト欄LST2は、ジョブ用リスト欄LST1に表示された複数のジョブの中で選択状態にあるジョブについての分散状況を表示するものである。この分散状況用リスト欄LST2は、各行が一の分散先に対応しており、各行は、分散先のプリンタを示す「プリンタ名」、印刷結果の回収順を示す「回収順」、分散先での印刷文書の開始ページを示す「開始ページ」、その印刷文書の終了ページを示す「終了ページ」、その印刷文書の枚数を示す「枚数」、分散先での印刷の状態を示す「進行状態」、分散先での印刷の開始日時を示す「開始日時」等の各フィールドが設けられている。
【0124】
図16のステップS700が実行されることで、上記構成のウィンドウWN3がCRTディスプレイ12に表示されることになる。なお、ここでは、このウィンドウWN3が、ステップS434またはS436の実行後、直ちに表示されるように構成されているが、これに替えて、ウィンドウWN3をデスクトップのタスクバーに最小化する構成としてもよい。タスクバーに設けられたウィンドウWN3をアクティブにするボタンが、マウス20によってクリックされて始めて、このウィンドウWN3を表示することになる。
【0125】
ステップS700で終了ジョブリストのウィンドウWN3が表示されると、次いで、CPU30は、ウィンドウWN3上からのマウス20またはキーボード18による入力操作を読み取り、一旦印刷が完了したジョブを再印刷する指令がなされたか否かを判別する(ステップS710)。この再印刷の指令は、例えば次のようなものである。終了ジョブリスト内の再印刷すべきジョブの位置で右クリックし、それによって表示されるダイアログボックス上の「再印刷」を選択するというもので、マウス20によるこうした操作がなされたと判断されたときに、再印刷する指令がなされたものとする。
【0126】
ステップS710で、再印刷するという指令がなされたと判別されると、次いで、CPU30は、再印刷用のウィンドウをCRTディスプレイ12に表示する処理を行なう(ステップS720)。図18は、再印刷用のウィンドウWN4を例示する説明図である。図示するように、このウィンドウWN4には、「分散設定」、「プリンタ」、「オプション」の3種類のカードCD11,CD12,CD13が用意されている。
【0127】
「分散設定」のカードCD11は、再印刷時の分散形態に関わる情報等を設定するためのものである。「プリンタ」のカードCD12は、再印刷時の分散先となり得るプリンタグループに関わる情報、印刷の基本設定に関する情報および用紙設定に関する情報等を設定するためのものである。「オプション」のカードCD13はその他の追加情報を設定するためのものである。「分散設定」のカードCD11は、図6を用いて前述した「分散印刷プロパティ」のダイアログボックスWN2に表示される「分散設定」のカードCD1と同じデータ入力用のフィールドを幾つか有し、さらには、再印刷する指令がなされた印刷文書名を示す「ドキュメント名」のフィールドfd11と文書のページ数を示す「ページ数」のフィールドfd12等を有する。「プリンタ」のカードCD12は、前述した「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2と同一である。なお、「分散設定」のカードCD11や「プリンタ」のカードCD12の各フィールドのデフォルトの値は、先に印刷したときの設定内容、即ちステップ420で取り込んだプリンタプロパティデータPDの内容がそのまま保持されているものとする。
【0128】
作業者は、CRTディスプレイ12に表示された再印刷用のウィンドウWN4を見て、再印刷する文書やその再印刷時の分散形態等を確認し、必要に応じて、印刷部数を変更したり出力先のプリンタグループを変更したりし、「分散設定」のカードCD11に設けられた「印刷」のボタンBTをクリックする。CPU30は、ステップS720で再印刷用のウィンドウWN4の表示を終えると、続いて、再印刷用のウィンドウWN4上からのマウス20またはキーボード18による入力操作を読み取り、「印刷」のボタンBT1がクリックされて印刷開始の指令がなされたか否かを判別する(ステップS730)。
【0129】
ステップS730で印刷開始の指令がなされたと判別されると、CPU30は、処理をステップS410に戻し、HDD41に残っている中間印刷ファイルMFを用いて上記再印刷を指定した文書についての再印刷を行なう。一方、ステップS730で、再印刷用のウィンドウWN4上の「終了」のボタンBT2がクリックされて印刷終了の指令がなされたと判別されると、ステップS740に処理を進めて、HDD41に格納された中間印刷ファイルMFおよびプリンタプロパティデータPDを削除し(ステップS740)、その後、「エンド」に抜けてこの分散印刷ユーティリティの処理を終了する。
【0130】
以上のように構成されたこの変形例では、分散印刷を一度終えた後でも、例えば、印刷物に不備があったり印刷物の部数が不足していたりして再印刷を行ないたいという場合に、アプリケーションプログラムを起動せずに印刷を行なうことができる。このため、再印刷時の作業性に優れているという効果を奏する。また、この変形例では、再印刷用のウィンドウWN4を用いることで、分散印刷の形態や分散先等のプリンタプロパティデータPDの情報を最初の印刷時と変更して再印刷をすることができる。このために、再印刷時の作業性に、より優れている。
【0131】
また、この実施例では、中間印刷ファイルMFと共に、プリンタプロパティデータPDをHDD41に格納していることから、再印刷時に用いる再印刷用のウィンドウWN4のデフォルト値をプリンタプロパティデータPDに基づいて定めることができる。このため、単なる印刷のやり直しのようなプリンタプロパティデータPDの変更を必要としない場合に、データの再入力が不要であることから、再印刷時の作業性に、より一層優れている。
【0132】
本発明の他の実施形態について、次に説明する。上記実施例およびその変形例では、この発明の分散印刷装置として、印刷を行なう1台のコンピュータ10から複数のプリンタ60,70,80に対して直接印刷データを出力する構成としていたが、これに替えて、コンピュータネットワーク90上に、サーバを用意し、サーバ上でプリンタを管理して分散印刷を行なうクライアント/サーバ方式の構成とすることもできる。この構成では、各クライアントに仮想プリンタドライバを内蔵し、サーバに分散印刷ユーティリティを内蔵するようにすればよい。
【0133】
以上、本発明の一実施例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【図1】この発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図2】分散印刷処理の全体の様子を概略的に示すブロック図である。
【図3】分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。
【図4】分散印刷処理の一部を実現する分散印刷ユーティリティ120の処理の様子を示すブロック図である。
【図5】「プリンタ」ウィンドウWN1を示す説明図である。
【図6】「分散印刷プロパティ」のダイアログボックスWN2に表示される「分散設定」のカードCD1を示す説明図である。
【図7】データ入力欄id1〜id3の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図8】データ入力欄id4、id5の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図9】「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2を示す説明図である。
【図10】アプリケーションプログラム100で記述される処理ルーチンと仮想プリンタドライバ110で記述される処理ルーチンを示すフローチャートである。
【図11】分散印刷ユーティリティ120で記述される処理ルーチンを示すフローチャートである。
【図12】出力先リストデータの一例を示す説明図である。
【図13】異機種プリンタ出力処理ルーチンの詳細を示すフローチャートである。
【図14】同一機種プリンタ出力処理ルーチンの詳細を示すフローチャートである。
【図15】この実施例によって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。
【図16】変形例における分散印刷ユーティリティで記述される処理ルーチンを示すフローチャートである。
【図17】終了ジョブリストが掲載されるウィンドウWN3を例示する説明図である。
【図18】再印刷用のウィンドウWN4を例示する説明図である。
【符号の説明】
10…コンピュータ
12…CRTディスプレイ
14…プリンタ
16…コンピュータ本体
18…キーボード
20…マウス
22…フロッピィディスク
24…フロッピィディスクドライブ
30…CPU
31…ROM
32…RAM
33…表示画像メモリ
34…マウスインタフェース
35…キーボードインタフェース
36…FDC
37…HDC
38…CRTC
39…プリンタインタフェース
40…ネットワーク制御回路
41…HDD
60,70,80…プリンタ
90…コンピュータネットワーク
100…アプリケーションプログラム
110…仮想プリンタドライバ
111…印刷命令受信部
112…性能情報返信部
113…プロパティ設定部
114…性能情報入力部
115…仮想プリンタ性能決定部
116…ユーザインタフェース
117…印刷データ受信部
118…中間印刷データ出力部
119…プロパティデータ出力部
120…分散印刷ユーティリティ
121…中間印刷データ入力部
122…プロパティデータ入力部
123…割り振り決定部
124…出力データ制御部
125…出力命令出力部
126…性能情報入力部
127…最終印刷データ出力部
128…プリンタ監視部
129…性能情報出力部
130,140,150…実プリンタドライバ
IC1〜IC4…アイコン
MF…中間印刷ファイル
PG…ページカウンタ
WN1…ウィンドウ
WN2…「分散印刷プロパティ」のダイアログボックス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for distributing print data to be printed generated by an application program to a plurality of printers.
[0002]
[Prior art]
In recent years, by using a computer network, it has become possible to easily connect a plurality of printers to one information processing apparatus such as a personal computer. In a configuration in which a plurality of printers are connected to such a single information processing apparatus, print data created by the information processing apparatus can be distributed and output to each printer, and the overall printing time can be reduced. For example, when three copies of a document created by an application program from an information processing apparatus are to be printed, it is theoretically possible to print one copy on three printers. You can print 3 copies.
[0003]
[Problems to be solved by the invention]
However, in the above conventional technique, when performing distributed printing, it is necessary to individually output print data for each printer from the application program to the printer driver of each printer. For this reason, there is a problem that the worker needs to perform printing work in the application program as many times as the number of distribution destination printers, and the workability is poor.
[0004]
An object of the present invention is to enable distributed printing with good workability even from a general-purpose application program.
[0005]
[Means for solving the problems and their functions and effects]
As means for solving at least a part of the problems described above, the following configuration is adopted.
[0006]
A first distributed printing control apparatus according to the present invention includes:
The print data to be printed generated by the application program is distributed to a plurality of printers, and each distributed print data is transferred to the printer.TA distributed printing control device that outputs to each printer via a printer driver corresponding to the model of
Printer driver storage means for storing the printer driver;
When the plurality of printers are the same model,PerformanceinformationFrom the printer driver of the model stored in the printer driver storage means, from the performance information about the imported printerVirtual printerDetermining performance information, causing the application program to execute data conversion processing based on the determined performance information,Obtain intermediate print data suitable for the virtual printer from the application programVirtual printer driver executionMeans and,
Print data assigning means for assigning the intermediate print data to the plurality of printers;
PreviousThe intermediate print data is processed without data conversion by the printer driver.According to the assignment by the print data assigning meansOutput data control means for sending to each of the printers;
The gist is to provide.
[0007]
According to the distributed printing control apparatus configured as described above, intermediate print data can be obtained from an application program by simply issuing a single print command to a virtual printer driver. Distributed printing to each printer is automatically performed. For this reason, the worker only needs to perform the printing work once on the application program, and the workability is excellent. Further, in this distributed printing control apparatus, data conversion processing to be performed in order to adapt the print data generated by the application program to the printer,Virtual printer driver executionIt only needs to be performed once by means, and it is not necessary to perform it again and again for each printer. For this reason, there is also an effect that distributed printing to the same model printer can be performed at high speed.
[0008]
In the distributed printing control apparatus having the above-described configuration, the predetermined unit for delimiting the intermediate print data assigned by the print data assigning unit may be a page unit of the document indicated by the print data. According to this configuration, it is possible to perform distributed printing to each printer with the page of the document to be printed as a break.
[0009]
In the distributed printing control apparatus configured as described above,Virtual printer driver executionThe intermediate print data generated by the means can be temporarily stored as an intermediate print file in the external storage device. According to this configuration, the intermediate print data can be reused.
[0010]
In the distributed printing control apparatus for storing the intermediate print file in an external storage device, the intermediate print file stored in the external storage device is read in response to an external instruction, and the intermediate print data of the intermediate print file is used. Thus, the distributed printing to each of the printers can be re-executed. According to this configuration, when it is desired to perform reprinting because the printed matter is deficient or the number of copies is insufficient, printing can be performed without starting the application program.
[0011]
In the distributed printing control apparatus configured to perform the reprinting, the distributed printing can be reexecuted by reexecuting the print data allocating unit and the output data control unit. According to this configuration, it is possible to perform reprinting after changing the allocation of distribution of print data by the print data allocation unit.
[0012]
In the first distributed printing control apparatus, performance information fetching means for fetching information about the performance of the printer from a printer driver provided for each printer, and all printers fetched by the performance information fetching means The same model discriminating means for discriminating that the plurality of printers are of the same model from the above performance can be provided. According to this configuration, it is possible to capture printer performance information from a printer driver provided for each printer, and it is possible to determine from the performance information that the printer is the same model.
[0013]
In the first distributed printing control apparatus, an input window for distributing the print data is displayed, and various types for distributing the print data to the plurality of printers based on input data from the input apparatus. Distribution information setting means for setting information may be provided, and the print data allocation means may be configured to allocate the intermediate print data based on various information set by the distribution information setting means. According to this configuration, various information necessary for determining the distribution destination of the printer can be designated by the distribution information setting means.
[0014]
In the distributed printing control apparatus having the distribution information setting unit, one of various information for distributing the print data to the plurality of printers is received from a plurality of printers connected to the distributed printing control apparatus. The information may be information for restricting a distribution destination to printers in a predetermined group to be selected. According to this configuration, the distribution destination of printing can be limited to printers in a predetermined group among all connected printers. For this reason, the operator can set the output destination of the printed matter within a limited range in advance, and as a result, the workability is excellent.
[0015]
In the distributed printing control apparatus configured to include the distribution information setting unit,Virtual printer driver executionThe intermediate print data generated by the means may be used as an intermediate print file, and the intermediate print file and data indicating various information set by the distribution information setting means may be temporarily stored in an external storage device. According to this configuration, since the data indicating the various types of information is stored in the external storage device, a default value for processing by the distribution information setting unit is determined based on the data when reprinting based on the intermediate print file. be able to. For this reason, when it is not necessary to change the setting information such as simple re-printing, re-input of data is unnecessary, so that the workability at the time of re-printing is further improved.
[0016]
In the first distributed printing control apparatus, at least one of the plurality of printers may be connected by a computer network. According to this configuration, it is possible to easily connect to a large number of printers by using a computer network.
[0017]
A second distributed printing control apparatus according to the present invention includes:
Distribute print data to be printed generated by an application program to multiple printers, and distribute each print dataEachA distributed printing control device that outputs to a printer,
Printer driver storage means for storing a printer driver provided for each model of the printer;
Incorporating information about the performance of the plurality of printers from each printer driver stored in the printer driver storage means,Especially when the plurality of printers are the same model,About performanceinformationImport from the printer driver of the model, and from the performance information about the imported printerVirtual printerDetermining performance information, causing the application program to execute data conversion processing based on the determined performance information,Obtain intermediate print data suitable for the virtual printer from the application programVirtual printer driver executionMeans and,
Print data assigning means for assigning the intermediate print data to the plurality of printers;
The same model discriminating means for discriminating whether or not the plurality of printers are of the same model;
When it is determined that the plurality of printers are the same model,PreviousThe intermediate print data is processed without data conversion by the printer driver.According to the assignment by the print data assigning meansWhen it is determined that the plurality of printers are not the same model,,PreviousThe intermediate print data is subjected to data conversion processing by the printer driver.According to the assignment by the print data assigning meansOutput data control means for sending to each of the printers;
The gist is to provide.
[0018]
According to the second distributed printing control apparatus configured as described above, the intermediate print data can be obtained from the application program only by issuing one print command to the virtual printer driver. Distributed printing to the printer is automatically performed. For this reason, the worker only needs to perform the printing work once on the application program, and the workability is excellent.
[0019]
In the second distributed printing control apparatus, a plurality of distribution destination printers can perform distributed printing regardless of whether they are the same model or different models, and in particular, distributed printing to printers of the same model. When performing, the data conversion processing to be performed in order to adapt the print data generated by the application program to the printer,Virtual printer driver executionIt only needs to be performed once by means, and it is not necessary to perform it again and again for each printer. For this reason, it is possible to perform distributed printing on a printer of the same model at a high speed while enabling distributed printing regardless of the printer model.
[0020]
A first distributed printing control method according to the present invention includes:
A distributed printing control method for distributing print data to be printed generated by an application program to a plurality of printers and outputting each distributed print data to each printer via a printer driver corresponding to the printer model Because
(A)Preparing the printer driver in a storage device in advance;
(B)When the plurality of printers are the same model,PerformanceinformationFrom the printer driver of the model stored in the storage device, from the performance information about the imported printerVirtual printerDetermining the performance information, and causing the application program to execute a data conversion process based on the determined performance information,Obtaining intermediate print data suitable for the virtual printer from the application program;
(C) assigning the intermediate print data to the plurality of printers;
(D)PreviousWithout performing the data conversion processing by the printer driver, the intermediate print data,According to the assignment according to step (c)Sending to each of the printers;
The gist is to provide.
[0021]
The first distributed printing control method with this configuration has the same operation and effect as the first distributed printing control apparatus of the present invention, and can perform distributed printing with good workability from the application program and is the same. Distributed printing to a printer of a model can be performed at high speed.
[0022]
The second distributed printing control method of the present invention is
Distribute print data to be printed generated by an application program for multiple printers, and distribute each print dataEachA distributed printing control method for outputting to a printer,
(A)Provided for each printer modelPreparing a printer driver in a storage device in advance;
(B)Incorporating information about the performance of the plurality of printers from each printer driver stored in the storage device,Especially when the plurality of printers are the same model,About performanceinformationImport from the printer driver of the model, and from the performance information about the imported printerVirtual printerDetermining performance information, causing the application program to execute data conversion processing based on the determined performance information,Obtaining intermediate print data suitable for the virtual printer from the application program;
(C) assigning the intermediate print data to the plurality of printers;
(D) determining whether the plurality of printers are of the same model;
(E) When it is determined that the plurality of printers are the same model,PreviousThe intermediate print data is processed without data conversion by the printer driver., According to step (c)When it is determined that the plurality of printers are not the same model,,PreviousThe intermediate print data is subjected to data conversion processing by the printer driver.According to the assignment by step (c)Sending to each of the printers;
The gist is to provide.
[0023]
The second distributed printing control method having this configuration has the same operations and effects as the second distributed printing control apparatus of the present invention, and can perform distributed printing with good workability from an application program. In addition, it is possible to perform distributed printing on a printer of the same model at a high speed while enabling distributed printing regardless of the printer model.
[0024]
The first recording medium of the present invention is:
Print data to be printed generated by the application programDuplicateDistribute to a number of printers, and each distributed print dataCompatible with the printer modelA computer-readable recording medium that records a computer program used in a distributed printing control apparatus that outputs to each printer via a printer driver,
(A)Prepare the printer driver in a storage device in advanceFunction and
(B) When the plurality of printers are of the same model,PerformanceinformationFrom the printer driver of the model stored in the storage device, from the performance information about the imported printerVirtual printerDetermining the performance information, and causing the application program to execute a data conversion process based on the determined performance information,A function for obtaining intermediate print data suitable for the virtual printer from the application program;
(C) a function of assigning the intermediate print data to the plurality of printers;
(D)PreviousWithout performing the data conversion processing by the printer driver, the intermediate print data,According to the assignment by function (c)A function to send to each of the printers;
The gist is that a computer program for realizing the above is recorded on a computer.
[0025]
The first recording medium having the above configuration also has the same operation and effect as the first distributed printing control apparatus of the present invention, can perform distributed printing with good workability from an application program, and is of the same model Distributed printing to a printer can be performed at high speed.
[0026]
The second recording medium of the present invention is
Distribute print data to be printed generated by an application program for multiple printers, and distribute each print dataEachA computer-readable recording medium that records a computer program used in a distributed printing control apparatus that outputs to a printer,
(A)Provided for each printer modelA function of preparing a printer driver in a storage device in advance;
(B)Incorporating information about the performance of the plurality of printers from each printer driver stored in the storage device,Especially when the plurality of printers are the same model,About performanceinformationImport from the printer driver of the model, and from the performance information about the imported printerVirtual printerDetermining performance information, causing the application program to execute data conversion processing based on the determined performance information,Obtain intermediate print data suitable for the virtual printer from the application programfunctionWhen,
(C) a function of assigning the intermediate print data to the plurality of printers;
(D) a function of determining whether or not the plurality of printers are of the same model;
(E) When it is determined that the plurality of printers are the same model,PreviousThe intermediate print data is processed without data conversion by the printer driver., According to the function (c)When it is determined that the plurality of printers are not the same model,,PreviousThe intermediate print data is subjected to data conversion processing by the printer driver.According to the assignment by function (c)A function to send to each of the printers;
The gist is that a computer program for realizing the above is recorded on a computer.
[0027]
The second recording medium having the above configuration also has the same operation and effect as the second distributed printing control apparatus of the present invention, and can perform distributed printing with good workability from the application program. In addition, it is possible to perform distributed printing on a printer of the same model at a high speed while enabling distributed printing regardless of the printer model.
[0028]
Other aspects of the invention
The present invention includes other aspects as follows. The first mode is a mode as a computer program having the same function as the function of the recording medium of the present invention. The second mode is a mode as a data signal embodied in a carrier wave by including the computer program. A 3rd aspect is an aspect as a program supply apparatus which supplies a computer program via a communication path. In the third aspect, the above-described apparatus and method are realized by placing a computer program on a server or the like on a computer network, downloading a necessary program to a computer via a communication path, and executing the program. Can do.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
In order to further clarify the configuration and operation of the present invention described above, embodiments of the present invention will be described based on examples.
[0030]
1. Overall hardware configuration
FIG. 1 is a block diagram showing a schematic configuration of hardware of a computer system to which one embodiment of the present invention is applied. As shown in the figure, the computer system of this embodiment includes a
[0031]
A
[0032]
The computer
[0033]
The
[0034]
In this computer system, the operating system is stored in the
[0035]
The computer system also includes a virtual printer driver (virtual printer driver) 110 that defines information about a virtual printer. The
[0036]
The
[0037]
2. Distributed printing process
According to the computer system having such a configuration, roughly, print data to be printed is created by the computer
[0038]
FIG. 2 is a block diagram schematically showing the overall state of the distributed printing process. FIG. 3 is a block diagram showing a state of processing of the
[0039]
As shown in FIG. 2, the
[0040]
Here, the performance of the virtual printer is the performance of the printer with the highest performance among all the printers that can be distributed. Generally, a high-performance printer performs drawing using a high-level program language. For example, a high-level program language represents a graphic by an advanced drawing command using a mathematical expression or the like, and a low-level program language represents a graphic by a low-level drawing command using a bitmap. Therefore, in this embodiment, the performance of the virtual printer is determined as the performance of the highest printer among all the printers that can be the distribution destination as described above, so that the
[0041]
A printer that can be a distribution destination is a printer that belongs to a printer group set by the
[0042]
More specifically,
[0043]
Also, the
[0044]
The
[0045]
As shown in FIG. 2, the
[0046]
When the
[0047]
The intermediate print file MF is stored in the
[0048]
As shown in FIG. 2, the distributed
[0049]
As shown in FIG. 4, the distributed
[0050]
The allocation information determined in this way is sent to the output
[0051]
First, it is determined whether or not all the printers that can be distributed are the same model. When it is determined that the models are not the same, that is, different models, the following processing is performed. First, the
[0052]
The output
[0053]
On the other hand, when it is determined that the printers that can be distributed are the same model, the following processing is performed. First, the
[0054]
The distributed
[0055]
Note that the performance information of each
[0056]
3. Virtual printer driver
Next, how the operating system changes when the
[0057]
The user (operator) operates the
[0058]
Note that a “distributed printing” icon IC4 corresponding to the
[0059]
4). User interface
FIG. 6 is an explanatory diagram illustrating a dialog box WN2 of “distributed printing properties”. As shown in the figure, in the “distributed printing property” dialog box WN2, two types of cards CD1 and CD2 of “distributed setting” and “printer” are prepared. The “distribution setting” card CD1 is used to set information related to the distribution mode in the case of distributed printing. The “printer” card CD2 is for setting information relating to a printer group that can be a distribution destination, information relating to basic printing settings, information relating to paper settings, and the like. Either one of the cards CD1 and CD2 is selected by the operator by operating the
[0060]
As shown in the figure, the “distribution setting” card CD1 is provided with three fields fd1, fd2, and fd3 of “document”, “recovery”, and “designated date”. The “document” field fd1 is for setting the print form of the document. The data input field id1 for “number of copies”, the check box id2 for “print in units of copies”, and “combined in units of copies and pages”. Check box id3, a data input field id4 for "how to organize jobs", and a data input field id5 for "separator page". Each data entry field (including check boxes, the same applies hereinafter) id1 to id5 is designed with the following specifications.
[0061]
1) Data entry field id1: “Number of copies”
Enter the number of copies to print. The content set by the
2) Check box id2 of “Print by copy”:
When this check box id2 is on, collate printing is performed, and when it is off, stack printing is performed. Here, collate printing is output in units of copies, and each unit is output in page order. Stack printing is output in batches of the same page by the number of copies.
3) Check box id3 of “Group by page, page”:
When the check box id3 is in an on state, a set of the unit or page is prohibited from passing to a plurality of printers. When the check box id3 is in an off state, the set is allowed to pass to a plurality of printers.
[0062]
4) Data input field id4 of “How to organize jobs”:
When the “printer unit” radio button in the data input field id4 is selected, all pages output from one printer are handled as one unit. When this radio button is selected, the shared
[0063]
5) Data input field id5 of “separator page”:
The separator page is a page provided at the beginning or end of the group so that it can be discriminated when the print result of another user is mixed in the unit of the group. When the “top” check box is clicked, a separator page is printed at the top position of the group. When the “end” check box is clicked, a separator page is printed at the end position of the group. Note that the name of the document to be printed, the number of copies, the number of pages, the user name, and the like are printed on the separator page.
[0064]
In addition to the data input fields id1 to id5, the “document” field fd1 is provided with a distributed form display field dd representing a distributed form determined by the setting contents of the data input fields id1 to id5. Yes. This distributed form display field dd indicates what kind of distributed form is determined by the setting contents of the data input fields id1 to id5 as an illustration image.
[0065]
Next, how the illustration image of the distributed form display field dd is determined by the setting contents of the data input fields id1 to id5 will be described with reference to FIGS. First, how the illustration image is determined by the data input field id1 of “number of copies”, the check box id2 of “print in units of copies”, and the check box id3 of “collect in units of pages” will be described.
[0066]
FIG. 7 is an explanatory diagram showing how the illustration image in the distributed form display field dd changes depending on the setting contents of the data input field id1 and the two check boxes id2 and id3. In the illustrated table, the column is determined by whether or not printing is performed in units of copies, that is, whether the check box id2 of “printing in units of copies” is in an on state or in an off state, and a row is a section, page It is determined by whether or not the data is not grouped, that is, whether or not the check box id3 of “group by page, page” is in an off state or an on state. This table is an example when the number of copies set from the “number of copies” data input field id1 is four.
[0067]
In the case of “print in units of copies” and “not grouped in units of pages,” as shown in the cell C11 in the first row and first column in the table, the
[0068]
In the case of “Do not print in units of copies” and “Do not collect in units of pages and pages”, as shown in the cell C12 in the first row and second column in the table, stack printing is performed. The
[0069]
In the case of “printing in units of copies” and “combining in units of pages and pages”, as shown in the cell C21 in the second row and first column in the table, the
[0070]
In the case of “do not print in units of copies” and “combine in units of pages and pages”, the
[0071]
Next, how the illustration image determined from the setting contents of the data input fields id1 to id3 changes depending on the data input field id4 of “How to assemble jobs” and the data input field id5 of “separator page” will be described. FIG. 8 is an explanatory diagram showing how the illustration image in the distributed form display field dd is determined by the data input fields id4 and id5. An example of the illustration image shown in FIG. 8 corresponds to the setting contents of the data input fields id4 and id5 when the illustration image is determined as shown in the cell C11 in FIG. 7 by the contents of the data input fields id1 to id3. It also shows how it changes.
[0072]
In the table of FIG. 8, the column is determined depending on which radio button of “unit of printer” or “unit of page number” is selected in the data input field id4 of “how to organize jobs”, and the row is “delimited” It is determined by how both the “start” and “end” check boxes are designated in the data input field id5 of “page”.
[0073]
When the “printer unit” radio button is clicked in the data input field id4 of “job grouping”, as shown in the cell CE11 in the first row and the first column in the table, the cell C11 in FIG. And the illustration image does not change, and all pages printed from one printer are combined. On the other hand, when the “unit, page number unit” radio button is clicked, as shown in the cell CE12 in the first row and the second column, a set of units or pages is grouped, Once divided into a set. Actually, when the “printer unit” radio button is clicked and when the “copy, page number unit” radio button is clicked, the same print result is obtained because there is no separator page.
[0074]
When it is determined that there is a separator page from the data input field id5 of “separator page”, as shown in the second, third, and fourth lines in the table, the first line An illustration image is determined in a form in which a separator page (black portion in the figure) is inserted at the head, tail, or both for the grouped sections. The illustration image determined by this table is displayed in the distributed form display field dd.
[0075]
Returning to FIG. 6, the “recovery” field fd <b> 2 is for designating a recovery destination when recovery is performed by another printer when an error occurs in a printer that performs distributed printing. The “recovery” field fd2 is provided with three radio buttons “not recover”, “designate an output destination”, and “automatically select a recovery destination”. When the “Do not recover” radio button is selected, recovery is not performed even if an error occurs in a printer that performs distributed printing. When the “designate output destination” radio button is selected, the output destination input from the data input field of “printer” is set as the recovery destination. When the “automatically select recovery destination” radio button is selected, the printer of the same model as the printer in which the error has occurred is set as the recovery destination. If there is no printer of the same model, a free printer is the recovery destination.
[0076]
The “designated date / time” field fd3 is for designating the printing time. When the “designated date / time” check box is designated, printing starts at the time entered from the “designated date / time” column. Is done.
[0077]
Next, the “printer” card CD2 displayed in the “distributed printing property” dialog box WN2 will be described with reference to FIG. As illustrated, the “printer” card CD2 is provided with a “printer group” field fd4, a “paper setting” field fd5, and a content display field fd6.
[0078]
A “printer group” field fd4 is used to specify a group of printers to which a document is to be distributed and printed. A “group name” data input field id11, a “printer” display field id12, and a “group setting” field. A button id13 is provided. The “group name” data entry field id11 is for setting the name of the group, and a preset group name is prepared as an option. The “printer” display column id12 displays the printer names belonging to the group set from the “group name” data input column id1. The “group setting”
[0079]
A “paper setting” field fd5 is used to set paper and print quality. Data input fields for setting “paper size”, “paper orientation”, “paper type”, “color”, and “resolution”, respectively. id14, id15, id16, and id17 are provided.
[0080]
The “paper size” data input field id14 is used to set the paper size to be used together with the type of paper. For example, “A4 210 × 297 mm”, “A4 width 210 × 297 mm”, “
[0081]
The content display field fd6 displays desired data among the contents set from the “printer group” field fd1 and the “paper setting” field fd5.
[0082]
In accordance with the “distributed printing property” dialog box WN2 configured as described above, the operator operates the
[0083]
5. Computer program
Each
[0084]
Similar to the
[0085]
FIG. 10 is a flowchart showing a processing routine described by the
[0086]
Next, the
[0087]
When the print command is issued by the process according to the
[0088]
First, the
[0089]
When the performance information of the virtual printer is sent from the
[0090]
As described above, when the
[0091]
When print data suitable for the virtual printer is sent from the
[0092]
If the
[0093]
When the intermediate print file MF is output to the
[0094]
FIG. 11 is a flowchart showing a processing routine described by the distributed
[0095]
Subsequently, the
[0096]
FIG. 12 is an explanatory diagram showing an example of the output destination list data. The illustrated example shows a case where a document composed of three pages is printed one by one on three
[0097]
When the allocation of the output destination of each page is determined in step S430, the
[0098]
FIG. 13 is a flowchart showing details of the heterogeneous printer output processing routine. As shown in the figure, the
[0099]
Next, the
[0100]
Subsequently, the
[0101]
Subsequently, the page counter C2 specifies the performance information, information on basic settings of printing, information on paper settings, etc. (excluding information on printer groups and distribution forms) included in the property data acquired in step S420. Processing for creating final print data for the printer specified by the printer counter C1 for the page to be processed is performed (step S500). Specifically, the page data of the page corresponding to the value of the page counter C2 is extracted from the intermediate print data fetched in step S410, and the extracted page data is used as the performance information, information on basic printing settings, and paper settings. The final print data is created by converting the data into data suitable for the printer 60 (70, 80) corresponding to the value of the printer counter C1 based on the information related to the printer counter C1.
[0102]
Thereafter, the
[0103]
Before executing printing in steps S480 to S510, processing for monitoring the status of each
[0104]
Thereafter, the
[0105]
On the other hand, when it is determined in step S530 that the value of the page counter C2 has exceeded the value LC2 indicating the last page, the
[0106]
This heterogeneous printer output processing routine is described so that the process of creating and outputting the final print data from the first page to the last page is sequentially performed for each printer from the first printer to the final printer, as described above. However, this is described for the convenience of description of the flowchart. Actually, the final print data generation and output processing from one page to the last page is performed for each printer. It is configured to perform macro-parallel processing by time division.
[0107]
FIG. 14 is a flowchart showing details of the same-model printer output processing routine executed in step S436. As shown in the figure, the
[0108]
Next, the
[0109]
Subsequently, the
[0110]
In this embodiment, the final print data is configured to be transmitted to each of the
[0111]
On the other hand, if it is determined in step S635 that it is not included in the output destination list data, the process proceeds to step S650 without executing the process in step S640. In step S650,
[0112]
This printer output processing routine of the same model is described so that the process of outputting the final print data from the first page to the last page is sequentially performed for each printer from the first printer to the last printer, as described above. However, this is described in this way for the convenience of description of the flowchart. Actually, the process of outputting the final print data from one page to the last page is processed in parallel by multiple programming for each printer. It is configured to be.
[0113]
FIG. 15 is a timing chart showing a procedure for performing distributed printing by the computer system configured as described above, in comparison with a conventional example. The illustrated example shows a case where a document composed of three pages is printed one by one on three printers. As shown in the middle part of the figure, in this embodiment, when the three printers are of different types (here, three printers are 60 ', 70', 80 '), the intermediate print data is created first. Then, the page data of the first page of the intermediate print data is adapted to each printer in order of the printer 60 ', the printer 70', and the printer 80 'by parallel processing. Rendering is performed ((2), (3), (4)). The process of transmitting data converted for the
[0114]
Also, as shown in the lower part of the figure, when the
[0115]
On the other hand, in the conventional example, as shown in the upper part of the drawing, first, page data of the first page is rendered so as to be adapted to the first printer A, and then converted by the rendering process. The data is transmitted to printer A. Next, rendering processing is performed so that the page data of the second page is adapted to the first printer A, and then the converted data is transmitted to the printer A. Subsequently, rendering processing is performed so that the page data of the third page is adapted to the first printer A, and then the converted data is transmitted to the printer A. Further, the rendering process and transmission to the printer are performed for the second printer B in the order of the first page, the second page, and the third page in the same manner as the first printer A. Thereafter, for the third printer C, similarly to the first printer A, rendering processing and transmission to the printer are performed in order of the first page, the second page, and the third page.
[0116]
Therefore, in this embodiment, when the printer to be printed is of a different model, the rendering process and the transmission process to the printer are performed in parallel. There is an effect that the time can be shortened. Further, in this embodiment, when the printers to be printed are the same model, only the intermediate print data is created, and the data conversion process individually performed for each
[0117]
Further, according to this embodiment, the intermediate print data can be obtained from the
[0118]
In this embodiment, information relating to the distribution form and information relating to the printer group that can be the distribution destination can be set from the “distributed print property” dialog box WN2. For this reason, the operator can easily set various information necessary for determining the distribution destination of the printer. In particular, in this embodiment, by setting information related to the printer group, it is possible to limit the distribution destination of printing to printers in a predetermined group from among all printers connected to the
[0119]
6). Reusing intermediate print files
As described above, the distributed printing utility performs distributed printing using the intermediate print file MF stored in the
[0120]
FIG. 16 is a flowchart showing a processing routine described by the distributed printing utility of this modification. This modified example is the same in hardware configuration and other software configurations as the processing routine described in the distributed printing utility is different from the above-described embodiment. Also, as shown in FIG. 16, steps S410 to S436 of the processing routine described by the distributed printing utility are the same as in the above embodiment. When the process of step S434 or S436 is completed, the
[0121]
FIG. 17 is an explanatory diagram illustrating a window WN3 in which the end job list is posted. As shown in the figure, this window WN3 is divided into a main screen SC1 and a sub-screen SC2 positioned on the left side thereof. The main screen SC1 is further divided into two parts in the vertical direction, and a job list field LST1 is provided at the top. The distribution status list field LST2 is provided at the bottom.
[0122]
The sub screen SC2 is provided with icons IC11 and IC12 for switching the contents displayed in the job list field LST1 to either the print job list or the end job list. The example of FIG. 17 shows a state in which the end job list is displayed in the job list field LST1 when the icon IC12 is clicked. The end job list is a list of jobs that have been printed so far (one unit of printing). The end job list includes a “document name” indicating a print document name, a “number of copies” indicating the number of copies to be printed, a “number of pages” indicating the number of pages of a document, a “distributed form” indicating a distributed form, and a print state. Fields of “status”, “owner” indicating the owner of the job, and “start date / time” indicating the date and time when printing is started are provided.
[0123]
The distribution status list column LST2 displays the distribution status of jobs in a selected state among a plurality of jobs displayed in the job list column LST1. In this distribution status list column LST2, each line corresponds to one distribution destination, and each line includes a “printer name” indicating a distribution destination printer, a “collection order” indicating a collection order of print results, and a distribution destination. "Start page" indicating the start page of the print document, "End page" indicating the end page of the print document, "Number of sheets" indicating the number of print documents, and "Progress status" indicating the print status at the distribution destination Each field such as “start date and time” indicating the start date and time of printing at the distribution destination is provided.
[0124]
By executing step S700 of FIG. 16, the window WN3 having the above-described configuration is displayed on the
[0125]
When the window WN3 of the end job list is displayed in step S700, the
[0126]
If it is determined in step S710 that a reprint command has been issued, the
[0127]
The “distribution setting” card CD11 is used for setting information relating to the distribution mode at the time of reprinting. The “printer”
[0128]
The operator looks at the reprint window WN4 displayed on the
[0129]
If it is determined in step S730 that an instruction to start printing has been issued, the
[0130]
In this modified example configured as described above, even after the distributed printing is finished once, for example, when there is a deficiency in the printed material or the number of copies of the printed material is insufficient, the application program You can print without starting up. For this reason, there exists an effect that the workability | operativity at the time of reprinting is excellent. Further, in this modification, by using the reprint window WN4, it is possible to perform reprinting by changing the information of the printer property data PD such as the form of distributed printing and the distribution destination to the time of the first printing. For this reason, it is more excellent in workability at the time of reprinting.
[0131]
In this embodiment, since the printer property data PD is stored in the
[0132]
Another embodiment of the present invention will be described next. In the above embodiment and its modifications, the distributed printing apparatus of the present invention is configured to output print data directly from a
[0133]
As mentioned above, although one Example of this invention was explained in full detail, this invention is not limited at all to such an Example, In the range which does not deviate from the summary of this invention, it can implement in various aspects. Of course.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of hardware of a computer system to which an embodiment of the present invention is applied.
FIG. 2 is a block diagram schematically showing an overall state of distributed printing processing.
FIG. 3 is a block diagram showing a state of processing of a
FIG. 4 is a block diagram illustrating a processing state of a distributed
FIG. 5 is an explanatory diagram showing a “printer” window WN1.
FIG. 6 is an explanatory diagram showing a “distribution setting” card CD1 displayed in a “distribution print property” dialog box WN2.
FIG. 7 is an explanatory diagram showing how the illustration image in the distributed form display field changes depending on the setting contents of the data input fields id1 to id3.
FIG. 8 is an explanatory diagram showing how the illustration image in the distributed form display field changes depending on the setting contents of the data input fields id4 and id5.
FIG. 9 is an explanatory diagram showing a “printer” card CD2 displayed in a “distributed printing property” dialog box WN2.
10 is a flowchart showing a processing routine described by an
FIG. 11 is a flowchart showing a processing routine described by the distributed
FIG. 12 is an explanatory diagram illustrating an example of output destination list data.
FIG. 13 is a flowchart showing details of a heterogeneous printer output processing routine.
FIG. 14 is a flowchart showing details of a printer output processing routine of the same model.
FIG. 15 is a timing chart showing a procedure for performing distributed printing according to this embodiment, as compared with a conventional example.
FIG. 16 is a flowchart illustrating a processing routine described by a distributed printing utility in a modified example.
FIG. 17 is an explanatory diagram illustrating a window WN3 in which an end job list is posted.
FIG. 18 is an explanatory diagram illustrating a reprint window WN4.
[Explanation of symbols]
10 ... Computer
12 ... CRT display
14 ... Printer
16 ... computer body
18 ... Keyboard
20 ... Mouse
22 ... Floppy disc
24 ... Floppy disk drive
30 ... CPU
31 ... ROM
32 ... RAM
33 ... Display image memory
34 ... Mouse interface
35 ... Keyboard interface
36 ... FDC
37 ... HDC
38 ... CRTC
39 ... Printer interface
40. Network control circuit
41 ... HDD
60, 70, 80 ... printer
90 ... computer network
100 ... Application program
110: Virtual printer driver
111: Print command receiving unit
112 ... Performance information reply section
113 ... Property setting section
114 ... Performance information input unit
115... Virtual printer performance determination unit
116: User interface
117: Print data receiving unit
118: Intermediate print data output section
119 ... Property data output section
120: Distributed printing utility
121: Intermediate print data input section
122 ... Property data input section
123 ... Allocation determination unit
124: Output data control unit
125 ... Output command output section
126 ... Performance information input section
127: Final print data output section
128: Printer monitoring unit
129 ... Performance information output unit
130, 140, 150 ... actual printer driver
IC1 to IC4 ... icon
MF ... Intermediate print file
PG ... Page counter
WN1 ... Window
WN2 ... "Distributed printing properties" dialog box
Claims (21)
前記プリンタドライバを記憶するプリンタドライバ記憶手段と、
前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記プリンタドライバ記憶手段に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
前記中間印刷データを前記複数のプリンタに割り当てる印刷データ割当手段と、
前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送る出力データ制御手段と
を備える分散印刷制御装置。And distributing the print data to be printed generated by the application program for multiple printers, the print data each distribution, distributed printing control output via a printer driver corresponding to the model of the printer in the printers A device,
Printer driver storage means for storing the printer driver;
When the plurality of printers are the same model, the performance information about the printer of the model is fetched from the printer driver of the model stored in the printer driver storage means, and the virtual information is obtained from the performance information about the fetched printer. A virtual printer driver that determines printer performance information, causes the application program to execute data conversion processing based on the determined performance information, and obtains intermediate print data suitable for the virtual printer from the application program Execution means ;
Print data assigning means for assigning the intermediate print data to the plurality of printers;
The pre-Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, distributed printing control apparatus and an output data control means for directing each of said each printer in accordance with the assignment by the printing data allocating unit.
前記各プリンタ毎に設けられたプリンタドライバから、前記プリンタの性能についての情報を取り込む性能情報取込手段と、
該性能情報取込手段により取り込んだ全てのプリンタの性能から前記複数のプリンタが同一機種であることを判別する同一機種判別手段と
を備える分散印刷制御装置。The distributed printing control apparatus according to any one of claims 1 to 5,
Performance information fetching means for fetching information about the performance of the printer from a printer driver provided for each printer;
A distributed printing control apparatus comprising: the same model discriminating unit for discriminating that the plurality of printers are of the same model from the performances of all printers fetched by the performance information fetching unit.
前記印刷データの分配についての入力用ウィンドウを表示するとともに、入力装置からの入力データに基づいて、前記印刷データを前記複数のプリンタ用に分配するための各種情報を設定する分配情報設定手段を備え、
前記印刷データ割当手段は、前記分配情報設定手段により設定された各種情報に基づいて前記中間印刷データの割り当てを行なうよう構成した分散印刷制御装置。The distributed printing control apparatus according to any one of claims 1 to 6,
A distribution information setting unit configured to display an input window for distributing the print data and to set various information for distributing the print data to the plurality of printers based on the input data from the input device; ,
The distributed print control apparatus, wherein the print data assigning means assigns the intermediate print data based on various information set by the distribution information setting means.
前記プリンタの機種毎に設けられたプリンタドライバを記憶するプリンタドライバ記憶手段と、
前記プリンタドライバ記憶手段に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
前記中間印刷データを前記複数のプリンタに割り当てる印刷データ割当手段と、
前記複数のプリンタが同一機種であるか否かを判別する同一機種判別手段と、
前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記印刷データ割当手段による割り当てに従って前記各プリンタにそれぞれ送る出力データ制御手段と
を備える分散印刷制御装置。A distributed print control device that distributes print data to be printed generated by an application program to a plurality of printers and outputs each distributed print data to each printer,
Printer driver storage means for storing a printer driver provided for each model of the printer;
Information about the performance of the plurality of printers is taken from each printer driver stored in the printer driver storage means, and in particular , when the plurality of printers are of the same model, information about the performance of the printer of the model is used as the model. A virtual printer performance information is determined from the performance information about the captured printer, and the application program is caused to execute a data conversion process based on the determined performance information. Virtual printer driver execution means for obtaining intermediate print data suitable for the virtual printer from a program ;
Print data assigning means for assigning the intermediate print data to the plurality of printers;
The same model discriminating means for discriminating whether or not the plurality of printers are of the same model;
When said plurality of printers is determined to be the same models, a pre-Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, each of the in each printer feed in accordance with the assignment by the printing data allocating unit , whereas, when said plurality of printers is not determined to be the same model, the pre-Symbol intermediate print data, performs a process of data conversion by the printer driver, and sends each of the in each printer in accordance with the assignment by the printing data allocating unit A distributed printing control apparatus comprising: output data control means.
(a)前記プリンタドライバを記憶装置に予め用意する工程と、
(b)前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記記憶装置に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と
(c)前記中間印刷データを前記複数のプリンタに割り当てる工程と、
(d)前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送る工程と
を備える分散印刷制御方法。A distributed printing control method for distributing print data to be printed generated by an application program to a plurality of printers and outputting each distributed print data to each printer via a printer driver corresponding to the printer model Because
(A) preparing the printer driver in a storage device in advance;
(B) When the plurality of printers are the same model, the performance information about the printer of the model is fetched from the printer driver of the model stored in the storage device, and the performance information about the fetched printer is virtually Determining performance information of a printer , causing the application program to execute data conversion processing based on the determined performance information, and obtaining intermediate print data suitable for the virtual printer from the application program; (C) assigning the intermediate print data to the plurality of printers;
(D) is pre-Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, distributed printing control method and a step of sending each said each printer in accordance with the assignment by said step (c).
請求項2ないし10のいずれかに記載の分散印刷制御装置の構成に対応した構成を備える分散印刷制御方法。A distributed printing control method for distributing print data to be printed generated by an application program to a plurality of printers and outputting each distributed print data to each printer via a printer driver corresponding to the printer model Because
A distributed printing control method comprising a configuration corresponding to the configuration of the distributed printing control device according to claim 2.
(a)前記プリンタの機種毎に設けられたプリンタドライバを記憶装置に予め用意する工程と、
(b)前記記憶装置に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と、
(c)前記中間印刷データを前記複数のプリンタに割り当てる工程と、
(d)前記複数のプリンタが同一機種であるか否かを判別する工程と、
(e)前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記工程(c)による割り当てに従って前記各プリンタにそれぞれ送る工程と
を備える分散印刷制御方法。A distributed print control method for distributing print data to be printed generated by an application program to a plurality of printers and outputting each distributed print data to each printer,
(A) preparing a printer driver provided for each printer model in a storage device in advance;
(B) when capture information about the performance of the plurality of printers from the printer driver stored in the storage device, in particular a plurality of printers of the same model, the information about the performance of該機species printer Import from the model printer driver, determine the performance information of the virtual printer from the performance information about the captured printer, and execute the data conversion processing based on the determined performance information for the application program, Obtaining intermediate print data suitable for the virtual printer from an application program;
(C) assigning the intermediate print data to the plurality of printers;
(D) determining whether the plurality of printers are of the same model;
(E) when said plurality of printers is determined to be the same models, a pre-Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, each printer in accordance with the assignment by said step (c) each feed, whereas, when said plurality of printers is not determined to be the same model, the pre-Symbol intermediate print data, performs a process of data conversion by the printer driver, each printer in accordance with the assignment by said step (c) to A distributed printing control method comprising the steps of:
(a)前記プリンタドライバを記憶装置に予め用意する機能と、
(b)前記複数のプリンタが同一機種であるときに、該機種のプリンタについての性能情報を前記記憶装置に記憶された前記機種のプリンタドライバから取り込み、該取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と
(c)前記中間印刷データを前記複数のプリンタに割り当てる機能と、
(d)前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送る機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。And distributing the print data to be printed generated by the application program for multiple printers, distributed printing control the print data each distribution, and outputs via the printer driver corresponding to the model of the printer for each printer A computer-readable recording medium recording a computer program used in the apparatus,
(A) a function of preparing the printer driver in a storage device in advance ;
(B) When the plurality of printers are the same model, the performance information about the printer of the model is fetched from the printer driver of the model stored in the storage device, and the performance information about the fetched printer is virtually A function of determining performance information of a printer , causing the application program to execute data conversion processing based on the determined performance information, and obtaining intermediate print data suitable for the virtual printer from the application program; (C) a function of assigning the intermediate print data to the plurality of printers;
(D) is pre-Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, the function and a function for sending each of the in each printer in accordance with the assignment by (c), a computer program for implementing on a computer A computer-readable recording medium on which is recorded.
(e)前記印刷データの分配についての入力用ウィンドウを表示するとともに、入力装置からの入力データに基づいて、前記印刷データを前記複数のプリンタ用に分配するための各種情報を設定する機能を、さらにコンピュータに実現させ、前記機能(c)は、前記機能(e)により設定された各種情報に基づいて前記中間印刷データの割り当てを行なうよう構成するとともに、
(f)前記機能(b)で得た中間印刷データを中間印刷ファイルとし、該中間印刷ファイルと前記機能(e)により設定した各種情報を示すデータとを、外部記憶装置に出力する機能を、さらにコンピュータに実現させるコンピュータ読み取り可能な記録媒体。A computer-readable recording medium according to any one of claims 15 to 18,
(E) A function for displaying an input window for distributing the print data and setting various information for distributing the print data to the plurality of printers based on input data from an input device. Further, the function (c) is realized by a computer, and is configured to allocate the intermediate print data based on various information set by the function (e).
(F) A function for setting the intermediate print data obtained by the function (b) as an intermediate print file, and outputting the intermediate print file and data indicating various information set by the function (e) to an external storage device, Furthermore, a computer-readable recording medium to be realized by a computer.
請求項5ないし8、請求項10のいずれかに記載の分散印刷制御装置の構成に対応した構成をコンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。And distributing the print data to be printed generated by the application program for multiple printers, the print data each distribution, distributed printing control apparatus for outputting via a printer driver corresponding to the model of the printer for each printer A computer-readable recording medium recording a computer program used in
A computer-readable recording medium having recorded thereon a computer program for causing a computer to realize a configuration corresponding to the configuration of the distributed printing control apparatus according to claim 5.
(a)前記プリンタの機種毎に設けられたプリンタドライバを記憶装置に予め用意する機能と、
(b)前記記憶装置に記憶された各プリンタドライバから前記複数のプリンタの性能についての情報を取り込み、特に前記複数のプリンタが同一機種であるときに、該機種のプリンタの性能についての情報を前記機種のプリンタドライバから取り込み、前記取り込んだプリンタについての性能情報から仮想的なプリンタの性能情報を決定して、前記アプリケーションプログラムに対して前記決定した性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と、
(c)前記中間印刷データを前記複数のプリンタに割り当てる機能と、
(d)前記複数のプリンタが同一機種であるか否かを判別する機能と、
(e)前記複数のプリンタが同一機種であると判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なうことなしに、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送り、一方、前記複数のプリンタが同一機種でないと判別されたときには、前記中間印刷データを、前記プリンタドライバによるデータ変換の処理を行なって、前記機能(c)による割り当てに従って前記各プリンタにそれぞれ送る機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable record in which a computer program used in a distributed printing control apparatus that distributes print data to be printed generated by an application program to a plurality of printers and outputs the distributed print data to each printer A medium,
(A) a function of preparing in advance in a storage device a printer driver provided for each printer model ;
(B) when capture information about the performance of the plurality of printers from the printer driver stored in the storage device, in particular a plurality of printers of the same model, the information about the performance of該機species printer Import from the model printer driver, determine the performance information of the virtual printer from the performance information about the captured printer, and execute the data conversion processing based on the determined performance information for the application program, A function of obtaining intermediate print data compatible with the virtual printer from an application program;
(C) a function of assigning the intermediate print data to the plurality of printers;
(D) a function of determining whether or not the plurality of printers are the same model;
(E) when said plurality of printers is determined to be the same model, the front Symbol intermediate print data, without performing the processing of the data conversion by the printer driver, each printer in accordance with the assignment by the function (c) each feed, whereas, when said plurality of printers is not determined to be the same model, the pre-Symbol intermediate print data, performs a process of data conversion by the printer driver, each printer in accordance with the assignment by the function (c) to A computer-readable recording medium having recorded thereon a computer program for causing a computer to realize the functions to be sent to the computer.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000107231A JP3726634B2 (en) | 2000-04-07 | 2000-04-07 | Distributed printing control apparatus, distributed printing control method, and recording medium |
US09/980,210 US7167260B2 (en) | 2000-04-07 | 2001-04-05 | Control of distributed printers using virtual printer driver execute module |
PCT/JP2001/002968 WO2001077809A1 (en) | 2000-04-07 | 2001-04-05 | Control of distributed printers |
EP01917838A EP1191434A4 (en) | 2000-04-07 | 2001-04-05 | CONTROL OF DISTRIBUTED PRINTERS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000107231A JP3726634B2 (en) | 2000-04-07 | 2000-04-07 | Distributed printing control apparatus, distributed printing control method, and recording medium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068449A Division JP2003296077A (en) | 2003-03-13 | 2003-03-13 | Distributed printing control device, distributed printing control method, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001290626A JP2001290626A (en) | 2001-10-19 |
JP3726634B2 true JP3726634B2 (en) | 2005-12-14 |
Family
ID=18620250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000107231A Expired - Fee Related JP3726634B2 (en) | 2000-04-07 | 2000-04-07 | Distributed printing control apparatus, distributed printing control method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3726634B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12267473B2 (en) | 2023-09-05 | 2025-04-01 | Kyocera Document Solutions Inc. | Industrial printing system, print server, and processing management method that print peer-to-peer according to attribute of printing apparatus at distributed destination in production printing |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3932875B2 (en) | 2001-11-28 | 2007-06-20 | 富士ゼロックス株式会社 | Printing control method and printing system |
JP3740472B2 (en) | 2002-03-12 | 2006-02-01 | キヤノン株式会社 | Program, print job control system, print data processing method, and storage medium |
JP3854941B2 (en) | 2002-05-31 | 2006-12-06 | キヤノン株式会社 | Printing control method, host computer, program, and storage medium |
JP4966097B2 (en) * | 2007-05-30 | 2012-07-04 | キヤノン株式会社 | Information processing apparatus and information processing method |
CN114330402B (en) * | 2021-12-28 | 2024-03-05 | 北京鼎盾信息科技有限公司 | Article destroying method, device and system |
-
2000
- 2000-04-07 JP JP2000107231A patent/JP3726634B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12267473B2 (en) | 2023-09-05 | 2025-04-01 | Kyocera Document Solutions Inc. | Industrial printing system, print server, and processing management method that print peer-to-peer according to attribute of printing apparatus at distributed destination in production printing |
Also Published As
Publication number | Publication date |
---|---|
JP2001290626A (en) | 2001-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1191434A1 (en) | Control of distributed printers | |
WO2001077808A1 (en) | Control of decentralized printing by printers | |
JP3997504B2 (en) | Document printing method, document processing method, and printer | |
JP4834256B2 (en) | Information processing apparatus, print data generation method, print control program, and storage medium | |
JPH10340165A (en) | Information processing device and method, and memory medium | |
JP3733288B2 (en) | Information processing apparatus, print control method, and storage medium | |
JP2001290630A (en) | Distributed printing control device, distributed printing control method, and recording medium | |
JP3757749B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JP3726634B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JPH11203077A (en) | Printing system and printer selection method | |
JP3788184B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JP3804395B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JP4863475B2 (en) | Information processing apparatus and method | |
JP2002014797A (en) | Information processor, print controller and its control method, and storage medium and its control program | |
JP3788206B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JP2003296086A (en) | Distributed printing control device, distributed printing control method, and recording medium | |
JP4771528B2 (en) | Distributed processing system and distributed processing method | |
JP2000085216A (en) | Printer, discharging method, print system and memory medium | |
JP2003296077A (en) | Distributed printing control device, distributed printing control method, and recording medium | |
JP4098457B2 (en) | Distributed printing control apparatus, distributed printing control method, and recording medium | |
JP2008257628A (en) | Information processing device, document combining program, and recording medium | |
JP3472064B2 (en) | Printing equipment | |
JP2003296076A (en) | Distributed printing control device, distributed printing control method, and recording medium | |
JP5879948B2 (en) | Preview image display device, image forming device, preview image display method, and preview image display program | |
JP2003263295A (en) | Distributed printing control device, distributed printing control method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050509 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050919 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091007 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101007 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101007 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131007 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |