(57)【要約】      （修正有）【課題】従来の印刷システム構成を変えることなく、印刷装置の変更を不要とし、描画コマンドを処理する印刷装置の能力に合わせて、プリンタドライバが印刷ジョブを生成することで印刷処理効率向上を図る、汎用的な印刷ジョブ生成方法を実現する。【解決手段】中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバによる印刷ジョブ生成方法であり、プリントプロセッサが、中間言語ファイルを解析し、描画命令情報を抽出するステップと、印刷ジョブ生成モードを変更する判断基準となるジョブ生成モード判定情報を設定しておくステップと、描画命令情報とジョブ生成モード判定情報より最適な印刷ジョブ生成モードを決定するステップと、プリンタドライバが、ジョブ生成モード決定ステップで決定した印刷ジョブ生成モードをプリンタドライバ描画情報として描画エンジンに応答するステップとを有する。【選択図】図１
2009238070.tif 000002
【特許請求の範囲】
【請求項１】
中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバによる印刷ジョブ生成方法であって、
前記プリントプロセッサに、ラスターイメージまたはグラフィックデータの何れにて印刷ジョブデータを生成するかのモードを変更する判断基準となるジョブ生成モード判定情報として、各描画オブジェクト毎の描画コマンド数が予め設定され、
前記プリントプロセッサが、中間言語ファイルを解析し、描画命令情報を抽出する描画命令抽出ステップと、
前記描画命令情報と前記ジョブ生成モード判定情報とから適切な印刷ジョブ生成モードを決定する印刷ジョブ生成モード決定ステップと、
前記プリンタドライバが、前記ジョブ生成モード決定ステップで決定した印刷ジョブ生成モードを、描画命令を印刷装置に指示する描画エンジンへ送信する描画情報応答ステップと、を含むことを特徴とする印刷ジョブ生成方法。
【請求項２】
中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバによる印刷ジョブ生成方法であって、
前記プリントプロセッサに、ラスターイメージまたはグラフィックデータの何れにて印刷ジョブデータを生成するかのモードを変更する判断基準となるジョブ生成モード判定情報として、各描画オブジェクト毎の描画コマンド数が予め設定され、
前記プリントプロセッサが、中間言語ファイルを解析し、描画命令情報を抽出する描画命令抽出ステップと、
前記描画命令情報と前記ジョブ生成モード判定情報とからページ毎に印刷ジョブ生成モードを決定するページ単位ジョブ生成モード決定ステップと、
当該ページデータが印刷ジョブ生成モードの変更が必要であるときに、前記描画エンジンに対しプリンタドライバ描画情報を取得要求する描画情報取得要求ステップと、
前記プリンタドライバが、前記描画情報取得要求ステップによる印刷ジョブ生成モードの変更時に、当該ページデータに対する印刷ジョブ生成モードを、描画命令を印刷装置に指示する描画エンジンへ送信する描画情報応答ステップと、を含むことを特徴とする印刷ジョブ生成方法。
【請求項３】
請求項１及び請求項２記載の印刷ジョブ生成方法を行うことが可能なプリントプロセッサ及びプリンタドライバを備え、
前記プリントプロセッサが、前記中間言語ファイル解析時に、前記描画命令情報と前記ジョブ生成モード判定情報とにより、請求項１または請求項２記載の印刷ジョブ生成方法の何れが最適な方法かを決定し、決定した印刷ジョブ生成方法を実行することを特徴とする印刷ジョブ生成方法。
【請求項４】
前記プリントプロセッサにおける前記ジョブ生成モード判定情報の描画コマンド数は、変更可能であることを特徴とする請求項１乃至３のいずれか１項に記載の印刷ジョブ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置で印刷可能なジョブをホストコンピュータ上で生成するソフトウェアに係り、中間言語ファイルにより印刷ジョブの生成モードを変更する印刷ジョブ生成方法に関するものである。
【背景技術】
【０００２】
近年、ホストコンピュータの処理能力、記憶装置／メモリの格納領域及び処理速度、ネットワーク速度などが格段に向上しており、印刷装置の処理能力もまた向上している。このため、今日の印刷システムの処理能力は格段に向上しているといえる。例えば、基幹系印刷では、一般に、大量のジョブを印刷するため、印刷速度の速い印刷装置が利用される。このような基幹系印刷システムでは、特に、帳票データを印刷するケースが多い。
【０００３】
印刷速度に影響を与える要因として、ホストコンピュータ／ネットワークの処理速度、そして、印刷データ内容／データサイズが考えられる。近年の印刷システム環境の向上により、前者のホストコンピュータ／ネットワークの処理速度については、それ程大きな要因では無くなってきている。
【０００４】
そのため、後者の印刷データ内容／データサイズの方が、大きく印刷速度に影響を与えていると言える。特に、大量ページのドキュメントや複雑なドキュメントであれば、印刷データサイズが大きくなり、印刷装置の処理能力に依存してくる。しかし、実際のところ、印刷装置においては、単なるデータサイズではなく、１ページ当たりのデータサイズが印刷速度に大きな影響を与える。
【０００５】
ドキュメントは、一般に、テキストデータ、イメージデータ、グラフィックデータから構成され、これらのデータを組み合わせてページ内容が形成される。従って、ドキュメントデータは、単純なテキストデータだけのものから、全種類のデータが混在したり、重ね合わせたりする複雑なデータのものまで多種多様である。基幹系印刷の場合にも、上記各種データを組み合わせた様々なケースが考えられる。
【０００６】
上記ドキュメントが、テキスト・イメージ・グラフィックの３データから構成される場合、それらの描画方法はアプリケーションソフトウェアに依存する。そのため、矩形描画１つ取っても、その描画方法には差異が発生する場合がある。
【０００７】
例えば、帳票ソフトウェアにおいて、２次元バーコードデータの描画方法は、ラスターイメージでの描画以外に、グラフィックデータ（パス、塗りつぶし処理）で描画する方法がある。このグラフィックデータでの描画方法について、例えば、描画コマンドとしてページ記述言語（例えば、代表的なものとして、「ＰＣＬ」「ＰｏｓｔＳｃｒｉｐｔ」（登録商標）などがある。）用いる印刷装置がある。このとき、上位装置のプリンタドライバにおいてグラフィックでの描画能力が有る場合には、印刷装置側の描画エンジンは、プリンタドライバに対してグラフィックデータでの描画要求を行っている。
【０００８】
例えば、２次元バーコードを描画する場合について考える。２次元バーコードは、複数の矩形（塗り潰しを含む）の集まりであり、グラフィックデータで形成するとデータ数も膨大となる。加えて、１ページに複数の２次元バーコードデータが存在する場合には、さらに帳票データとして複雑な印刷ジョブになってしまう可能性がある。
【０００９】
そのため、１ページ当たりのグラフィックデータ数が、印刷装置における印刷速度を維持できる印刷性能上限値を超えてしまえば、つまり、膨大なグラフィックデータ用描画コマンドが印刷速度を維持できないほど、印刷装置におけるページデータの描画処理時間に影響を与えてしまえば、印刷速度の低下にまで陥ってしまう可能性まである。
【００１０】
このような場合には、印刷装置で処理する描画コマンドとして、印刷データ内のグラフィックデータを、グラフィックデータではなく、単純にラスターイメージで描画するように変更した方が、１ページ当たりのデータサイズは減少し、処理効率が向上すると考えられる。
【００１１】
その他、印刷システムの処理効率を向上させる技術がいくつか知られている。
【００１２】
例えば、特許文献１には、システム全体の状態に応じて、適切にプリンタドライバで中間コードに変換したドライバページモードを選択する方法が記載されている。これにより、プリンタドライバと印刷装置で設けた特殊な中間コードを利用して実現している。
【００１３】
また、特許文献２には、描画コマンドに対し、ページ記述言語データかラスターデータかの選択処理をプリントサーバー側で決定し、プリンタドライバに印刷指示する構成が記載されている。
【００１４】
ここで、従来の印刷の流れを図を用いて説明する。
【００１５】
図６は、印刷システムの全体ブロック図である。なお、図６のオペレーティングシステム２００に関しては、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）を、プリンタドライバ２３０に関しては、中間言語スプーリング形式（ＥＭＦ形式）を前提として説明する。
【００１６】
ホストコンピュータ１００には、コンピュータを動作させるための基本ソフトウェアであるオペレーティングシステム２００、ドキュメントを作成し印刷するためのアプリケーションソフトウェア２１０が設けられている。
【００１７】
オペレーティングシステム２００は、アプリケーションソフトウェア２１０からの印刷指示により、描画命令を印刷装置に指示する描画エンジンであるＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）２２０を介し、一時的にＥＭＦ形式で中間言語ファイルとして保存する。
【００１８】
そして、印刷スプーラ２４０のプリントプロセッサ２４１が、その中間言語ファイルを元にＧＤＩ２２０に対し、各ページデータを順に印刷指示する。
【００１９】
ＧＤＩ２２０は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）と呼ばれる描画関数をプリンタドライバ２３０に対しコールする。ＧＤＩ２２０からの最初のＤＤＩコールは、プリンタドライバの描画能力を取得するものであり、その後は各ページデータ上のテキスト／イメージ／グラフィック描画用のＤＤＩである。
【００２０】
プリンタドライバ２３０は、ＧＤＩ２２０からのＤＤＩコールにより、まず、ユーザーインターフェイス２３１で設定されているジョブ生成オプション（例えば、ジョブ生成モードとして“グラフィックスをラスターとして印刷”など）に従ったプリンタドライバの描画情報（テキスト、グラフィック描画能力など）を応答する。続いて、描画用ＤＤＩコールに対して、印刷装置４００が解読可能なページ記述言語（ＰＤＬ）データに変換し、ポートモニタ２４２を介し、双方向インターフェイス３００を経由して印刷装置４００に送信され印刷される。
【００２１】
なお、ユーザーインターフェイス２３１は、プリンタドライバ２３０において、オペレータ（ユーザ）とのインターフェイスを担っており、印刷装置４００で指定可能な印刷オプションを設定・保持する。
【００２２】
図７に、プリントプロセッサでの処理についてのフローチャートを示す。
【００２３】
プリントプロセッサ２４１は、印刷スプーラ２４０から中間言語ファイルの印刷要求により起動される。プリントプロセッサ２４１は、まず、中間言語ファイルを取得する（Ｓ１００）。中間言語ファイルの各ページデータを順に描画エンジンのＧＤＩ２２０に印刷指示する（Ｓ１０１）。ページデータが出力終了でなければ、再度ＧＤＩに印刷指示し、出力終了するまで継続する（Ｓ１０２）。全ページが出力終了するまで継続し（Ｓ１０３）、出力終了後は本処理を終了する。
【００２４】
図８に、印刷ジョブ生成処理のフローチャートを示す。
【００２５】
印刷ジョブ生成処理２３２は、ＧＤＩ２２０からプリンタドライバ描画情報要求が有るかどうかについて確認する（Ｓ２００）。プリンタドライバ描画情報要求が有る場合、現在のユーザーインターフェイス２３１の設定に基づくジョブ生成オプション（以降、印刷ジョブ生成モードと呼ぶ）をプリンタドライバ描画情報に設定する（Ｓ２０１）。次に、そのプリンタドライバ描画情報をＧＤＩ２２０へ応答する（Ｓ２０２）。
【００２６】
一方、プリンタドライバ描画情報要求が無い場合、描画データ印刷処理（Ｓ２０３）により、ＧＤＩ２２０からの印刷要求に従いＰＤＬデータに変換し、ページが出力終了するまで継続する（Ｓ２０４）。これを全ページ出力終了するまで継続し（Ｓ２０５）、出力終了後は本処理を終了する。
【００２７】
図９は、描画データ印刷処理のフローチャートである。
【００２８】
描画データ印刷処理Ｓ２０３は、テキストデータ印刷要求であれば（Ｓ３００）、テキストデータ用描画コマンドを生成して出力し（Ｓ３０１）、イメージデータ印刷要求であれば（Ｓ３０２）、イメージデータ用描画コマンドを生成して出力し（Ｓ３０３）、それ以外であればグラフィック系データとして、グラフィックデータ用描画コマンドを生成して出力する（Ｓ３０４）。
【００２９】
【特許文献１】特開平１０−４００３１号公報
【特許文献２】特開２００７−８７３９２号公報
【特許文献３】特開２００４−３０３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
しかしながら、上記従来の方法では以下の問題が生じる。特許文献１ではプリンタドライバと印刷装置に特殊な中間コードを設けるため、新たな中間コード処理に対する仕組みを追加し、印刷装置も変更する必要がある。他の印刷装置への適用を考えた場合、同様な変更が必要となり、汎用的でなくなる。
【００３１】
特許文献２では、アプリケーションソフトウェアからの描画コマンド要求時、ＰＤＬデータかラスターデータへ展開処理する判断はプリントサーバーを介して行う必要がある。実現構成にはプリントサーバーが必須となり、物理的制約が発生する。
【００３２】
ここで、特許文献３には、ＰＤＬモードでありながら、局所的にデータ量が多くなってしまう箇所のみをビットマップに展開して置換し、それ以外はＰＤＬ描画コマンドとしてプリンタに転送する情報処理システムでの処理方法が記載されている。
【００３３】
しかしながら、特許文献３の場合、ビットマップコマンドのサイズよりもＰＤＬ描画コマンドのサイズが大きいかどうかにより、どちらの形式で送るのが好ましいかを判断しているため、ＰＤＬ描画コマンドとビットマップコマンドの処理時間や印刷装置の処理能力等については考慮されていなかった。
【００３４】
加えて、プリンタドライバによっては、印刷ジョブ生成モードの設定をユーザーインターフェイス上に用意し、オペレータはアプリケーションデータによって、適宜この設定を変更して印刷しているが、どの設定で印刷すれば良いかは実際に試してみなければ分からず、設定によっては著しく印刷速度が低下する場合がある。
【００３５】
また、帳票データ系ではなく、ページ毎にページ書式が異なるようなアプリケーションデータでも固定の印刷ジョブ生成モードでジョブ生成されるため、ページ毎に処理効率が考慮されておらず、必ずしも印刷処理効率は良くなかった。
【００３６】
そこで、本発明の目的は、従来の印刷システム構成を変えることなく、印刷装置の変更が不要となる方法を見出し、描画コマンドを処理する印刷装置の能力に合わせて、プリンタドライバが印刷ジョブを生成することによって、印刷処理効率向上を図った汎用的な印刷ジョブ生成方法を実現することにある。
【課題を解決するための手段】
【００３７】
上記課題を解決するため、本発明では、中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバによる印刷ジョブ生成方法であって、前記プリントプロセッサに、ラスターイメージまたはグラフィックデータの何れにて印刷ジョブデータを生成するかのモードを変更する判断基準となるジョブ生成モード判定情報として、各描画オブジェクト毎の描画コマンド数が予め設定され、前記プリントプロセッサが、中間言語ファイルを解析し、描画命令情報を抽出する描画命令抽出ステップと、前記描画命令情報と前記ジョブ生成モード判定情報とから適切な印刷ジョブ生成モードを決定する印刷ジョブ生成モード決定ステップと、前記プリンタドライバが、前記ジョブ生成モード決定ステップで決定した印刷ジョブ生成モードを、描画命令を印刷装置に指示する描画エンジンへ送信する描画情報応答ステップと、を含むことを特徴とする。
【００３８】
また、中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバによる印刷ジョブ生成方法であって、前記プリントプロセッサに、ラスターイメージまたはグラフィックデータの何れにて印刷ジョブデータを生成するかのモードを変更する判断基準となるジョブ生成モード判定情報として、各描画オブジェクト毎の描画コマンド数が予め設定され、前記プリントプロセッサが、中間言語ファイルを解析し、描画命令情報を抽出する描画命令抽出ステップと、前記描画命令情報と前記ジョブ生成モード判定情報とからページ毎に印刷ジョブ生成モードを決定するページ単位ジョブ生成モード決定ステップと、当該ページデータが印刷ジョブ生成モードの変更が必要であるときに、前記描画エンジンに対しプリンタドライバ描画情報を取得要求する描画情報取得要求ステップと、前記プリンタドライバが、前記描画情報取得要求ステップによる印刷ジョブ生成モードの変更時に、当該ページデータに対する印刷ジョブ生成モードを、描画命令を印刷装置に指示する描画エンジンへ送信する描画情報応答ステップと、を含むことを特徴とする。
【００３９】
さらに、上記２つの印刷ジョブ生成方法を行うことが可能なプリントプロセッサ及びプリンタドライバを備え、前記プリントプロセッサが、前記中間言語ファイル解析時に、前記描画命令情報と前記ジョブ生成モード判定情報とにより、上記２つの印刷ジョブ生成方法の何れが最適な方法かを決定し、決定した印刷ジョブ生成方法を実行することを特徴とする。
【００４０】
また、前記プリントプロセッサにおける前記ジョブ生成モード判定情報の描画コマンド数は、変更可能であることを特徴とする。
【発明の効果】
【００４１】
本発明によれば、プリントプロセッサが該印刷データに対する印刷ジョブ生成モードを決定するため、オペレータはアプリケーションデータによって適宜変更する必要はなく、該印刷データ全体に対し最適な印刷ジョブ生成モードでプリンタドライバがジョブを生成することができる。
【発明を実施するための最良の形態】
【００４２】
ホストコンピュータ上のプリントプロセッサとプリンタドライバのみを変更し、印刷装置の処理能力に合わせたプリンタドライバの印刷ジョブ生成モードを、プリントプロセッサの中間言語ファイル解析時に決定し、描画エンジンに対してプリンタドライバ描画情報を取得要求することで実現した。
【実施例１】
【００４３】
本発明の一実施例を、図１の本発明に係る印刷ジョブ生成方法の実施例を示す全体ブロック図により説明する。
【００４４】
図１に示すように、本実施例では、図６として記載した従来の印刷システムの構成に対し、プリントプロセッサ２４１に中間言語ファイルから描画命令情報を抽出する描画命令抽出処理２４３、描画命令情報から、予め設定しておいたジョブ生成モード判定情報を元に印刷装置で処理効率の良いプリンタドライバの印刷ジョブ生成モードを決定するジョブ生成モード決定処理２４４を追加し、また、印刷ジョブ生成処理２３２に、プリントプロセッサ２４１により決定されたジョブ生成モードに変更するジョブ生成モード変更処理２３３を追加した構成となっている。従って、上記の描画命令抽出処理２４３、ジョブ生成モード決定処理２４４、ジョブ生成モード変更処理２３３の追加以外のその他構成については従来と同様であり、説明を省略する。
【００４５】
図２に、本発明の一実施例となるプリントプロセッサ２４１における処理のフローチャートを示す。
【００４６】
印刷スプーラ２４０から印刷要求される中間言語ファイル取得し（Ｓ１００）、次に、中間言語ファイルを解析し描画命令情報をすべて抽出する（Ｓ１１０）。
【００４７】
その描画命令情報から、予め設定しておいたジョブ生成モード判定情報をもとに、該印刷ジョブに対し、印刷装置で処理効率の最適なプリンタドライバの印刷ジョブ生成モードを決定する（Ｓ１１１）。
【００４８】
そして、中間言語ファイルの各ページデータを順に描画エンジンのＧＤＩ２２０に印刷指示する（Ｓ１０１）。ページデータが出力終了でなければ、再度ＧＤＩに印刷指示し、出力終了するまで継続する（Ｓ１０２）。全ページが出力終了するまで継続し（Ｓ１０３）、出力終了後は本処理を終了する。
【００４９】
図３に、印刷ジョブ生成処理２３２における処理のフローチャートを示す。
【００５０】
印刷ジョブ生成処理２３２は、ＧＤＩ２２０からプリンタドライバ描画情報要求が有るかどうかについて確認する（Ｓ２００）。
【００５１】
プリンタドライバ描画情報要求が有る場合、プリントプロセッサ２４１から印刷ジョブ生成モードを取得する（Ｓ２１０）。このため、従来のユーザーインターフェイス２３１の印刷設定における印刷ジョブ生成モードに代えて、プリントプロセッサ２４１で決定された印刷ジョブ生成モードがプリンタドライバ描画情報に設定される。
【００５２】
次に、印刷ジョブ生成モードをプリンタドライバ描画情報に設定する（Ｓ２０１）。次に、そのプリンタドライバ描画情報をＧＤＩ２２０へ応答する（Ｓ２０２）。
【００５３】
一方、プリンタドライバ描画情報要求が無い場合、描画データ印刷処理（Ｓ２０３）により、ＧＤＩ２２０からの印刷要求に従いＰＤＬデータに変換し、ページが出力終了するまで継続する（Ｓ２０４）。これを全ページ出力終了するまで継続し（Ｓ２０５）、出力終了後は本処理を終了する。
【００５４】
なお、描画データ印刷処理Ｓ２０３は、図９で示した従来のフローチャートと同様、テキストデータ印刷要求であれば（Ｓ３００）、テキストデータ用描画コマンドを生成して出力し（Ｓ３０１）、イメージデータ印刷要求であれば（Ｓ３０２）、イメージデータ用描画コマンドを生成して出力し（Ｓ３０３）、それ以外であればグラフィック系データとして、グラフィックデータ用描画コマンドを生成して出力する（Ｓ３０４）。
【００５５】
ここで、アプリケーションデータ及び描画命令情報について説明する。
【００５６】
例えば、下記のように、印刷装置のジョブ生成モード判定情報がページデータ当たりテキスト／グラフィック共に１０００個であり、アプリケーションデータとして５ページの帳票データＡを帳票ソフトから印刷する場合を考える。
＜印刷装置のジョブ生成モード判定情報＞
テキスト：１０００個／ページ、グラフィック：１０００個／ページ
＜アプリケーションデータ＞
（１）帳票データＡ：５ページ
（２）中間言語ファイルＡ中の描画命令数（ページ毎）（表１）
【００５７】
【表１】
2009238070.tif 000003
【００５８】
なお、オペレーティングシステム２００上には中間言語ファイルを作成処理するソフトウェアが存在し、また、プリンタドライバ２３０は中間言語ファイルスプーリング可能であり、そのユーザーインターフェイス上で中間言語ファイルスプーリングが有効になっているものとし、印刷ジョブ生成モードの初期値は指定されたテキスト／イメージ／グラフィック通りにコマンド生成する「通常モード」とする（以下同様）。
【００５９】
帳票ソフトから上記帳票データＡを印刷すると、ＧＤＩ２２０にて一時的に中間言語ファイルＡとして作成される。中間言語ファイルＡ作成後、印刷スプーラ２４０からプリントプロセッサ２４１に対し印刷要求され、プリントプロセッサ２４１は本ファイルを解析し、全ての描画命令数をページ毎に抽出する。抽出後、テキスト、グラフィックの描画命令数それぞれの平均値を算出する。
【００６０】
表１の場合、平均値はそれぞれ、テキスト＝２１０、グラフィック＝１００００となり、予め設定されたジョブ生成モード判定情報と比較した結果、中間言語ファイルＡ中のグラフィックデータが、１００００＞１０００で印刷性能上限値を超える。
【００６１】
このため、グラフィックデータの印刷ジョブ生成モードを「ラスターイメージモード」に変更し、プリンタドライバ描画情報に設定する印刷ジョブ生成モードとして決定する。そして、中間言語ファイルＡにおける全てのページデータに対し、描画エンジンＧＤＩ２２０に印刷指示する。
【００６２】
印刷指示を受けた描画エンジンＧＤＩ２２０は、まず、プリンタドライバ２３０の描画情報を取得するため、プリンタドライバ２３０に対しその問合せを行う。その問合せに対し、プリンタドライバ２３０は、プリントプロセッサ２４１で決定された中間言語ファイルＡのグラフィックデータに対する印刷ジョブ生成モードが「ラスターイメージモード」であるとして描画エンジンに応答する。
【００６３】
その結果、描画エンジンＧＤＩ２２０は、中間言語ファイルＡのグラフィックデータに対するＤＤＩコールはラスターイメージとなり、プリンタドライバ２３０は、全てのページデータ上のグラフィックデータに対し、ラスターイメージで描画コマンドを生成し、印刷装置４００に送信する。
【００６４】
以上により、印刷装置の印刷性能上限数を超えていたグラフィックデータから、ラスターイメージデータへ描画コマンドを変えることで、この印刷データに対する印刷処理効率を上げることが可能となる。特に、帳票データのようなページ間でデータフォーマットの差のない場合に有効である。また、ここでは中間言語ファイルの描画命令情報、および印刷装置のジョブ判定情報は単純なケースを考え個数のみとしたが、１描画命令に対する文字数やパス数などのパラメータについても考慮してもよい。
【００６５】
また、描画オブジェクト（テキスト、イメージ、グラフィック）毎の描画コマンドの処理時間はほぼ均一である。なお、著しく異なる場合は、その処理時間の違いに合わせ、予め設定すべき描画コマンド数を適宜増減させる。
【実施例２】
【００６６】
本発明の別の一実施例を図面を用いて説明する。
【００６７】
図４は、プリントプロセッサ２４１における処理のフローチャートである。
【００６８】
プリントプロセッサ２４１は、印刷スプーラ２４０から印刷要求される中間言語ファイル取得し（Ｓ１００）、次に、中間言語ファイルを解析し描画命令情報をすべて抽出する（Ｓ１１０）。
【００６９】
その後、その描画命令情報から、予め設定しておいたジョブ生成モード判定情報をもとに、該印刷ジョブのページデータごとに、印刷装置で処理効率の最適なプリンタドライバの印刷ジョブ生成モードを決定する（Ｓ１１２）。
【００７０】
そして、、描画エンジンＧＤＩ２２０に対し印刷要求するとき、該ページデータに対する印刷ジョブ生成モード変更が必要有無を判定する（Ｓ１１３）。モード変更が必要であれば、ＧＤＩ２２０にプリンタドライバ描画情報の取得要求を指示する（Ｓ１１４）。
【００７１】
次に、印刷ジョブ生成処理２３２について説明する。
【００７２】
図５は、印刷ジョブ生成処理２３２における処理のフローチャートである。
【００７３】
印刷ジョブ生成処理２３２は、ＧＤＩ２２０からプリンタドライバ描画情報要求が有るかどうかについて確認する（Ｓ２００）。
【００７４】
プリンタドライバ描画情報要求が有る場合、プリントプロセッサ２４１からページ毎の印刷ジョブ生成モードを取得する（Ｓ２１１）。そして、該当ページの印刷ジョブ生成モードをプリンタドライバ描画情報に設定する（Ｓ２１２）。次に、そのプリンタドライバ描画情報をＧＤＩ２２０へ応答する（Ｓ２０２）。
【００７５】
一方、プリンタドライバ描画情報要求が無い場合、描画データ印刷処理（Ｓ２０３）により、ＧＤＩ２２０からの印刷要求に従いＰＤＬデータに変換し、ページが出力終了するまで継続する（Ｓ２０４）。これを全ページ出力終了するまで継続し（Ｓ２０５）、出力終了後は本処理を終了する。
【００７６】
なお、描画データ印刷処理Ｓ２０３は、図９の従来フローチャートと同様、テキストデータ印刷要求であれば（Ｓ３００）、テキストデータ用描画コマンドを生成して出力し（Ｓ３０１）、イメージデータ印刷要求であれば（Ｓ３０２）、イメージデータ用描画コマンドを生成して出力し（Ｓ３０３）、それ以外であればグラフィック系データとして、グラフィックデータ用描画コマンドを生成して出力する（Ｓ３０４）。
【００７７】
例えば、下記のように、印刷装置のジョブ生成モード判定情報が、ページデータあたりテキスト／グラフィックともに１０００個であり、アプリケーションデータとして５ページの一般データＢを文書作成ソフトから印刷する場合を考える。
＜印刷装置のジョブ生成モード判定情報＞
テキスト：１０００個／ページ、グラフィック：１０００個／ページ
＜アプリケーションデータ＞
（１）一般データＢ：５ページ
（２）中間言語ファイルＢ中の描画命令数（ページ毎）（表２）
【００７８】
【表２】
2009238070.tif 000004
【００７９】
文書作成ソフトから上記一般データＢを印刷すると、描画エンジンＧＤＩ２２０にて一時的に中間言語ファイルＢとして作成される。中間言語ファイルＢ作成後、印刷スプーラ２４０からプリントプロセッサ２４１に対し印刷要求され、プリントプロセッサ２４１は本ファイルを解析し、全ての描画命令数をページ毎に抽出する。
【００８０】
抽出後、ページ毎の描画命令数をチェックする。１ページ目は、テキスト＝５００、グラフィック＝５００であるので、ジョブ生成モード判定情報と比較した結果、どちらも印刷性能上限値を超えていないため、１ページ目のグラフィックデータの印刷ジョブ生成モードを「通常モード」のままとしてプリンタドライバ描画情報に設定する。
【００８１】
２ページ目は、テキスト＝１００、グラフィック＝１２００であり、グラフィックデータが、１２００＞１０００で印刷性能上限値を超えているため、グラフィックデータの印刷ジョブ生成モードを「ラスターモード」に変更し、プリンタドライバ描画情報に設定する印刷ジョブ生成モードとして決定する。
【００８２】
以降、全てのページで決定すると、１ページ目：「通常モード」、２ページ目：グラフィックデータ→「ラスターモード」、３ページ目：「通常モード」、４ページ目：テキストデータ→「ラスターモード」、５ページ目：「通常モード」、となる。
【００８３】
そして、中間言語ファイルＢにおける各ページデータに対し、描画エンジンＧＤＩ２２０に印刷指示するが、２ページ目以降、印刷ジョブ生成モードを切り替える必要があるので、それらのページデータの描画エンジンＧＤＩ２２０に対する印刷指示前に、プリンタドライバ描画情報取得要求を行う。
【００８４】
印刷指示を受けた描画エンジンＧＤＩ２２０は、まず、プリンタドライバ２３０の描画情報を取得するため、プリンタドライバ２３０に対しその問合せを行う。プリンタドライバ２３０は、その問合せに対し、プリントプロセッサ２４１で決定された上記の中間言語ファイルＢの印刷ジョブ生成モードを、描画エンジンＧＤＩ２２０に応答する。その結果、描画エンジンＧＤＩ２２０の中間言語ファイルＢに対するＤＤＩコールは以下（表３）の通りとなる。
【００８５】
【表３】
2009238070.tif 000005
【００８６】
最後に、プリンタドライバ２３０は、対応する描画コマンドを生成し、印刷装置４００に送信する。
【００８７】
以上説明した構成により、ページ毎に印刷装置の印刷性能を最大限に満足できる描画コマンドで印刷ジョブを生成できるため、この印刷データに対し印刷処理効率を上げることができる。
【実施例３】
【００８８】
なお、上記実施例１と実施例２は、それぞれジョブ単位、ページ単位で印刷ジョブ生成モードを決定しているが、これらを組み合わせ、プリントプロセッサの中間言語ファイル解析時に最適な方法を選択しても良い。そうすれば、様々な印刷ケースに対しより柔軟に対応でき、印刷処理効率を上げることが期待できる。
【００８９】
また、他の印刷装置のジョブ生成モード判定情報を抽出し、上記実施例のジョブ生成モード判定情報に適用すれば、上記と同様な結果が得られる。上記ジョブ生成モード判定情報を変更可能とすることで、異なる印刷装置に汎用的に適用できる。
【００９０】
なお、中間言語ファイルを処理するプリントプロセッサと中間言語ファイルスプーリング可能なプリンタドライバ、およびページ記述言語を用いた印刷装置とを有する印刷システムにおいても適用可能である。
【００９１】
以上、本発明によれば、プリントプロセッサが該印刷データに対する印刷ジョブ生成モードを決定するため、オペレータはアプリケーションデータによって適宜変更する必要はなく、該印刷データ全体に対し最適な印刷ジョブ生成モードでプリンタドライバがジョブを生成することができる。
【００９２】
また、帳票データ系ではなく、ページごとにページ書式が異なるようなアプリケーションデータにおいても、プリントプロセッサが該印刷データのページデータごとに印刷ジョブ生成モードを決定するため、ページごとに最適な印刷ジョブ生成モードでプリンタドライバが印刷ジョブを生成することができる。
【００９３】
また、ジョブ単位またはページ単位のどちらかの最適な方法で印刷ジョブ生成モードを決定して実行すれば、プリンタドライバは常に最適な印刷ジョブを生成することができる。
【００９４】
さらに、印刷装置の処理能力に応じた最適な印刷ジョブ生成モード判定情報を抽出すれば、他の印刷装置に対しても印刷装置の処理を変更することなく同様に適用できる。
【００９５】
以上より、プリントプロセッサが印刷装置の能力に合わせた最適な印刷ジョブ生成モードを決定し、プリンタドライバがそれに応じた最適な印刷ジョブを生成することにより、印刷処理効率向上を図った汎用的な印刷ジョブ生成方法を実現できる。
【００９６】
また、本発明は、ラスター／グラフィックモードを切り換える判断材料として、描画コマンド数により判断を行うことで、印刷装置の処理能力を考慮でき、しかも印刷装置毎に適宜バリアブルに判定基準を変更可能な構成である。そのため、判定基準変更のみで他の印刷装置にも適用可となり、より最適且つ汎用的な構成を構築可能である。
【図面の簡単な説明】
【００９７】
【図１】本発明に係る印刷ジョブ生成方法の実施例を示す全体ブロック図である。
【図２】本発明の第１実施例におけるプリントプロセッサのフローチャートである。
【図３】本発明の第１実施例における印刷ジョブ生成処理のフローチャートである。
【図４】本発明の第２実施例におけるプリントプロセッサのフローチャートである。
【図５】本発明の第２実施例における印刷ジョブ生成処理のフローチャートである。
【図６】従来の印刷システムの全体ブロック図である。
【図７】従来のプリントプロセッサのフローチャートである。
【図８】従来の印刷ジョブ生成処理のフローチャートである。
【図９】従来の描画データ印刷処理のフローチャートである。
【符号の説明】
【００９８】
１００はホストコンピュータ、２００はオペレーティングシステム、２１０はアプリケーションソフトウェア、２２０はＧＤＩ、２３０はプリンタドライバ、２３１はユーザーインターフェイス、２３２は印刷ジョブ生成処理、２４０は印刷スプーラ、２４１はプリントプロセッサ、２４２はポートモニタ、３００は双方向インターフェイス、４００は印刷装置、２３３はジョブ生成モード変更処理、２４３は描画命令抽出処理、２４４はジョブ生成モード決定処理である。
【図１】
2009238070.tif 000006
【図２】
2009238070.tif 000007
【図３】
2009238070.tif 000008
【図４】
2009238070.tif 000009
【図５】
2009238070.tif 000010
【図６】
2009238070.tif 000011
【図７】
2009238070.tif 000012
【図８】
2009238070.tif 000013
【図９】
2009238070.tif 000014