(57)【要約】【課題】印刷終了時刻を指定し、その時間内で印刷するためにプリンタ１台で足りなければ複数台で同時印刷を行い、印刷終了時刻まで余裕があればプリンタでの出力を待機することを目的とする。【解決手段】スプールファイルをもとに、プリンタ性能やＰＣ性能、そしてドライバ設定値をもとに印刷時間を算出し、算出した時間を元に指定した印刷終了時間と照合する。指定した時刻より遅くなりそうであればネットワーク上の複数の同機種に同時に印刷を行って印刷短縮を試み、指定した時刻より早そうであれば印刷データを溜めておくようにする。【選択図】        図１
2004192240.tif 000002
【特許請求の範囲】
【請求項１】
印刷ファイルからトータル印刷時間を算出するために各種パラメータ情報を保持し、参照する処理部を備えた印刷制御プログラム。
【請求項２】
印刷時間を算出するために、ネットワーク上に格納してあるネットワークプリンタの占有情報をサーバに保持し、参照し、さらに更新する制御部を備えた印刷制御プログラム。
【請求項３】
印刷指定時刻に間に合わせるために、ジョブ生成前にジョブを分割して、分割分のプリンタに出力実現できる処理部を備えた印刷制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷終了時刻を指定し、その時刻に印刷が終了するように、必要であれば印刷データをネットワーク上の複数の同種印刷装置に出力することを可能とする印刷制御装置に関する。
【０００２】
【従来の技術】
印刷装置は、印刷のためのコマンドおよび印刷データを入力ポートから入力し、印刷データを一時的に蓄えておく受信バッファメモリを備えている。
【０００３】
この受信バッファの容量が小さいと印刷装置はデータ処理装置に対してデータ転送の一時中断要求を行い、受信バッファに空きが出来た時点でデータ転送の再開を行う。
【０００４】
以上の処理を印刷データがなくなるまで繰り返し実行する。
【０００５】
ここで印刷データを転送するデータ処理装置は、印刷装置側に転送すべき印刷データの全データ量と、転送済みのデータ量とを把握しているため、全データ中にどれだけ印刷装置側に転送したかがわかる。
【０００６】
さらに、印刷装置側に転送された印刷データが、処理された時間がわかるため、すべての転送データについての処理時間を割り出すことが可能であった。
【０００７】
このことから、印刷開始してから、印刷処理を終了するまでに要する時間を予測することが可能であった。
【０００８】
【発明が解決しようとする課題】
しかしながら、印刷を開始するまで印刷終了時間が把握できず、ある時間内に印刷終了させたい印刷物があったとしても実際に印刷してみないとわからなかった。
【０００９】
また、目標時刻までに印刷終了したい場合、印刷終了予定時刻を設定することができかった。
【００１０】
本発明の課題は、印刷終了時刻を指定し、該処理時間内で印刷を完了するために、印刷制御装置側での設定内容、印刷装置側の情報および性能、さらに情報処理装置本体側の性能等を情報として加味し、スプールデータよりおおよその印刷終了時間を予測し、さらに指定された印刷終了時刻までに印刷を完了させる印刷制御装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の印刷制御装置は、印刷装置にローカル接続もしくはネットワーク接続された情報処理装置内において、通信インターフェイスを備えた印刷装置に対して、印刷処理及び印刷データ転送を実行し得るという特徴を備えている。
【００１２】
また、印刷設定を行った際にそれら設定内容をメモリまたはハードディスクに保持し、さらに印刷時間算出のために利用できるという特徴を備えている。
【００１３】
また、上記印刷時間算出の際に、演算処理等を行う上で必要な情報処理装置のＣＰＵ、クロック数等のハードウェアの性能情報をメモリまたはハードディスクに保持し、印刷時間算出のために利用できるという特徴を備えている。
【００１４】
また、上記印刷時間算出の愛に、印刷データを転送し、印刷処理を行う印刷装置のエンジン性能等の情報をメモリまたはハードディスクに保持し、印刷時間算出のために利用できるという特徴を備えている。
【００１５】
さらに上記印刷時間算出のために必要なパラメータ情報を、印刷時間算出が実行されるための演算式に変換するためのパラメータ解釈部を備えている。
【００１６】
さらに、パラメータ解釈部を利用して、印刷データファイル（スプールファイル）からトータル印刷時間を算出するための印刷時間算出部を備えている。
【００１７】
さらに印刷時刻を指定することにより、印刷予約状態となり、その時間帯はプリンタが占有されることになるが、そのようなプリンタがどの時間帯で使用されるかといった情報を、情報処理装置と印刷装置とがローカル接続のみされていれば、情報処理装置単体にプリンタ毎の印刷占有情報を保持し、それを参照し、さらに情報を更新できる、という特徴を備えている。
【００１８】
上記について、情報処置装置と印刷装置とがネットワーク接続されている場合には、ネットワーク上にサーバＰＣとしての情報処理装置を設置し、そこで各プリンタ毎の印刷占有情報を一元的に保持し、ネットワーク上の各情報処理装置から参照でき、さらにネットワーク上の各情報処理装置から更新できる、という特徴を備えている。
【００１９】
【発明の実施の形態】
（第１の実施形態）
以下、本発明の実施形態を図面に基づいて説明する。
【００２０】
図１において、本発明の印刷制御装置を具備したパソコン１はＬＡＮ等の通信回線１０に接続され、その他複数のパソコン１と同等の１ａ、サーバＰＣ６、複数のネットワークプリンタ１１ａ、１１ｂが接続されている。またこの図にはないが、パソコン１および１ａとプリンタは通信回線１０を介さず、直接パラレルケーブル、シリアルケーブル、その他ローカル接続用ポートによってのみ接続されている可能性もある。
【００２１】
パソコン１およびサーバＰＣ６は、情報処理全体を制御するＣＰＵ２を備え、システムバスを介して制御プログラム及び各種データが格納されるメインメモリ３、ファイルデータを格納するＨＤＤ４、情報送受信を行う通信Ｉ／Ｆ５を備えている。
【００２２】
プリンタ１１には、装置全体を制御するＣＰＵ１５を備え、システムバスを介して印刷部１７へのインターフェイス部１６、制御プログラムおよび各種データが格納されるメモリ１４、印刷データが受信され、一時的に格納される受信バッファ１３、そして、情報処理装置より印刷データが入力される入力部１２を備えている。
【００２３】
図２はパソコン１およびサーバＰＣ６の印刷制御部２０および３０の構成／機能を概略的に表したものである。
【００２４】
印刷制御部２０の中において、印刷制御部としてのプリンタドライバをユーザが設定した場合にその設定値を一時的に格納しておく情報２１と、パソコンで印刷処理を行うにあたっての処理時間に大いに関わるＰＣの性能値を一時的に格納しておく情報２２と、印字する対象のプリンタの性能値を一時的に格納しておく情報２３とを利用して、これらパラメータ情報を印刷時間算出のための計算値に変換するパラメータ解釈部２４を通して、印刷データファイルについて印刷時間算出部２５においてトータル印刷時間を算出する。
【００２５】
さらにパソコン１とプリンタとがローカル接続されている場合には、ローカル接続用プリンタ毎の印刷占有情報２８を参照し、そのプリンタですでに印刷することになっている時間帯が設定されている場合にはそれを避けて印刷を行うようにする。そして印刷を行うことになったときにはその情報を更新する。
【００２６】
さらにパソコン１とプリンタとがネットワーク接続されている場合には、ネットワーク上の各パソコンは、サーバＰＣ６内の印刷制御部３０において、ネットワーク接続用プリンタ毎の印刷占有情報３１を参照し、一元的に管理されているネットワーク上の利用可能なプリンタでの印刷時間予約状況を把握する。空き時間に印刷を行うことに決定した場合には、新しい時間情報を付加して３１を更新する。
【００２７】
次に印刷制御部においての動作例を以下に示す。
【００２８】
図３はユーザが所望の印刷終了時刻を指定してその時刻に合わせて印刷可能かどうかを判断するために、まず所望の印刷ファイルがトータルどれくらいの印刷時間がかかるのかといったことを求める処理となる。
【００２９】
なお、ここではスプールファイルを元に印刷時間を算出しようとしている。通常はそのままプリンタに転送可能なラスタライズ・二値化されコマンド化された印字データをもとに印刷時間を算出することが印刷時間算出の精度を上げることになるのだが、ユーザは最初に所望のドキュメントファイルが大体どれくらいの印刷時間がかかるのかをすぐに把握し、それから印刷実行を行いたいという要望がある場合が多い。コマンド化された印字データを作成する場合、時としてそれ自体に時間を要するケースがあるため、この時点ではスプールファイルをもとに印刷時間を割り出すようにする。
【００３０】
もちろん多少時間をかけてもより精度の良い印刷時間を割り出したい場合にはコマンド化された印字データをもとに算出することも可能である。
【００３１】
Ｓ１０１において、印刷実行されてスプールされたファイルのサイズを取得する。
【００３２】
Ｓ１０２は、印刷対象プリンタの性能、例えば毎分何枚印字できるエンジンかなのかなどの情報を取得し、Ｓ１０３で対象プリンタで、ドライバの設定がデフォルトの場合のファイル印刷時間を割り出す。次にＳ１０４でラスタライズや二値化処理、コマンド化などの印刷実行処理を行うパソコン側のＣＵＰやクロック数や使用可能なメモリ量等の情報を取得し、印刷実行処理かかる時間を割り出すための情報を得ておく。そしてＳ１０５で印刷の際に使用するプリンタドライバ上での設定値（印刷品質、印字メディア、カラー／グレースケール、ハーフトーン処理、その他色補正設定、など）をすべて保持、取得し、その情報によって、印刷実行処理スピードに関わると共に、プリンタヘッドのスピードの尺度としてのＰＡＳＳ数や倍速／通常などの動作に変化を生じさせることがあるためにそういったプリンタスピードの変化の情報も考慮する。
【００３３】
Ｓ１０６ではさらに印刷データの転送スピードを考慮するためにインターフェイスの転送スピード情報を取得する。
【００３４】
Ｓ１０７はこれまでのデフォルトでの概算印刷時間に、ＰＣ性能パラメータ・プリンタドライバ設定パラメータ・インターフェイス性能パラメータを加味して、印刷時間の加減を調整する。
【００３５】
なお、この結果はあまり精度が高くないため、印刷時間の何％分かのプラスマイナスの誤差がある可能性を示したほうがよい。
【００３６】
図４は上記図３で割り出したスプールファイルの印刷時間をもとに、パソコンとプリンタとが１対１で接続されているローカル接続の場合に、指定された印刷終了時刻より遅くなる場合と早く終了する場合の処理を示す。
【００３７】
Ｓ１１１は図３で算出された予定印刷時間がユーザが指定した印刷終了時刻より遅くなるかどうかの分岐である。遅くならない場合はＳ１１２で同パソコン内に保持してあるプリンタを使用する予約状況の情報を参照し、Ｓ１１３空き時間をチェックする。空き時間がなければ遅くなる予定の印刷終了時刻を表示し、問題なければＳ１１６で印刷処理に入る。
【００３８】
Ｓ１１３で空き時間があればそのまま印刷実行処理へ進む。この間にユーザへの確認ダイアログを表示するなどのステップの追加も有り得る。
【００３９】
上記Ｓ１１１で遅くなると判断された場合には、Ｓ１１４で実際の印刷終了時刻を表示する。多少遅くてもこれで問題なしとなればＳ１１６へいき、これでは遅いとユーザが判断すれば印刷しないＳ１１７へ進む。
【００４０】
印刷処理が実行されたら、予定の時間までジョブを待機させておく。これにより、それまでの間パソコンを他の用途で使用が可能となる。
【００４１】
次に図５は図４のローカル接続ではなくネットワーク接続の場合で部数：１、ページ数：複数の場合に、指定された印刷終了時刻より遅くなる場合と早く終了する場合の処理を示す。
【００４２】
Ｓ１２１は図３で算出された予定印刷時間がユーザが指定した印刷終了時刻より遅くなるかどうかの分岐である。遅くなると判断された場合はＳ１２２で複数ページをほぼ均等に分割し、分割分と同数のプリンタに並列に出力して時間を短縮して、指定時間内に印刷が終了可能かどうかを判断する。指定時間内に印刷終了しそうであればＳ１２３でサーバＰＣ上で管理されているプリンタ毎にプリンタを使用する予約状況の情報を参照し、空き時間をチェックする。Ｓ１２４で空き時間のあるプリンタが、上記Ｓ１２２のページ分割分と同数あるか判断し、なければＳ１２５で多少遅くなる予定終了時間を表示するＳ１２６。それでユーザが遅いと判断すればＳ１３１に進み、印刷をしない、問題なければＳ１２７へ進み、今回プリンタを使用することになった情報を更新して保持しておく。
【００４３】
Ｓ１２２でページ分割分と同数のプリンタに並列に出力しても、指定時間内に印刷が終了しなさそうであれば、その多少遅くなる予定時間を表示するＳ１２５。
【００４４】
Ｓ１２８で印刷処理を行い、予定時刻まで余裕がある場合にはジョブを停止状態にしておき、パソコンを使用可能な状態にしておく。予定時刻まで余裕がない場合にはすぐに印刷データ転送を実行する。
【００４５】
（第２の実施形態）
図１〜図４までは同等の構成、処理となり、図５に代わって図６の実施形態も考えられる。
【００４６】
図６は、ネットワーク接続の場合で部数：複数、ページ数：１ｏｒ複数の場合に、指定された印刷終了時刻より遅くなる場合と早く終了する場合の処理を示す。
【００４７】
Ｓ１４１は図５のＳ１２１と同様のステップである。これで印刷指定時刻よりも遅くなるときは、Ｓ１４２に進み、複数部数を印刷指定時間内に収まるよう分割し、それで指定時間内に終了するかどうか判断となる。なお、部数が２部のときは最大２分割にしかならないため、割り振るプリンタは最大２台となる。
【００４８】
その後Ｓ１４３で、サーバＰＣ上で管理されているプリンタ毎にプリンタを使用する予約状況の情報を参照し、空き時間をチェックする。Ｓ１４４で分割した部数分の使用可能プリンタがあるかの判断をする。あとのステップは図５でのステップと同様となる。
【００４９】
（第３の実施形態）
図１〜図４までは同等の構成、処理となり、図６に代わって図７の実施形態も考えられる。
【００５０】
図７は、ネットワーク接続の場合で部数：複数、ページ数：１ｏｒ複数の場合で、プリンタ側にコピーモードがある場合、指定された印刷終了時刻より遅くなる場合と早く終了する場合の処理を示す。
【００５１】
第２の実施形態との差異は、プリンタ側でコピーコマンドを解釈し、一つの印刷データジョブをコピーコマンドで指定した部数分プリンタ側で複製して印刷する機能を備えており、この機能をパソコン側からコマンド指定するところにある。
【００５２】
Ｓ１６１は図５のＳ１２１と同様のステップである。これで印刷指定時刻よりも遅くなるときは、Ｓ１６２に進み、プリンタ側コピーモードがあるかどうか判断する。あればＳ１６３に進み、第２実施形態のように部数を分割するのではなく、部数の指定だけをプリンタに割り振るのみとし、それによって印刷終了時間が指定時間内に収まるかどうか判断する。その後のステップについては図５と同様となる。Ｓ１６２でコピーモードがプリンタ側にない場合は、第２実施形態のように、複数部数を印刷指定時間内に収まるよう分割し、それで指定時間内に終了するかどうか判断となる。その後のステップは図５と同様である。
【００５３】
さらに、コピーモードがある場合でも、プリンタ側で印刷データを溜めておくバッファのサイズに制限があるが、その制限を越えた場合のステップとしても考慮に入れるべきだと思われる。
【００５４】
【発明の効果】
以上の説明から、あらかじめ印刷時刻を指定し、その時刻に印刷が終了することが可能となり、印刷指定時間内に印刷を終了するために行われる分割処理および並列プリンタ出力によって、印刷時間の短縮が実現可能である。
【図面の簡単な説明】
【図１】ネットワーク上パソコン、サーバおよびプリンタの構成。
【図２】パソコンおよびサーバの印刷制御部の構成／機能を概略的に表したもの。
【図３】印刷時間算出部。
【図４】印刷制御部。
【図５】印刷制御部。
【図６】印刷制御部。
【図７】印刷制御部。
【符号の説明】
１  パソコン（印刷制御装置）
２  パソコン内ＣＰＵ
３  パソコン内メインメモリ
４  パソコン内ＨＤＤ
５  パソコン内通信インターフェイス
６  サーバＰＣ
１０  ネットワーク（通信回線）
１１  ネットワークプリンタ
１２  プリンタ内入力部
１３  プリンタ内受信バッファ
１４  プリンタ内制御プログラム
１５  プリンタ内ＣＰＵ
１６  プリンタ内印刷インターフェイス
１７  プリンタ内印刷部
【図１】
2004192240.tif 000003
【図２】
2004192240.tif 000004
【図３】
2004192240.tif 000005
【図４】
2004192240.tif 000006
【図５】
2004192240.tif 000007
【図６】
2004192240.tif 000008
【図７】
2004192240.tif 000009