(57)【特許請求の範囲】
【請求項１】
プレビュージョブであるか否かを判定する判定手段と、
前記判定手段によりプレビュージョブであると判定された場合、プレビュー情報を作成する作成手段と、
前記作成手段により作成されたプレビュー情報を要求元に返信する返信手段と、
前記判定手段によりプレビュージョブであると判定されたジョブが登録済みであるか判別する判別手段と、
前記判別手段により登録済みでないと判別された場合、当該プレビュージョブにＲＩＰ処理を実施し、登録する登録手段と、
前記判定手段によりプレビュージョブでないと判定された場合、前記登録手段により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録手段により登録されたジョブの印刷処理を実行する実行手段と
を有することを特徴とするプリンタ装置。
【請求項２】
前記実行手段は、前記判定手段によりプレビュージョブでないと判定された場合、前記登録手段により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録手段により登録されたジョブの印刷処理を実行し、相違があると判断された場合、設定変更が影響する部分のＲＩＰ処理を実行し、印刷処理を実行することを特徴とする請求項１記載のプリンタ装置。
【請求項３】
プレビュージョブであるか否かを判定する判定手段と、
前記判定手段によりプレビュージョブであると判定された場合、プレビュー情報を作成する作成手段と、
前記作成手段により作成されたプレビュー情報を要求元に返信する返信手段と、
前記判定手段によりプレビュージョブであると判別されたジョブが登録済みであるか判別する判別手段と、
前記判別手段により登録済みでないと判別された場合、当該プレビュージョブにＲＩＰ処理を実施し、登録する登録手段と、
前記判定手段によりプレビュージョブでないと判定された場合、前記登録手段により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録手段により登録されたジョブの印刷処理を実行する実行手段と
してコンピュータを機能させるためのプログラム。
【請求項４】
前記実行手段は、前記判定手段によりプレビュージョブでないと判定された場合、前記登録手段により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録手段により登録されたジョブの印刷処理を実行し、相違があると判断された場合、設定変更が影響する部分のＲＩＰ処理を実行し、印刷処理を実行することを特徴とする請求項３記載のしてコンピュータを機能させるためのプログラム。
【請求項５】
判定手段と作成手段と返信手段と判別手段と登録手段と実行手段とを備えたプリンタ装置による印刷方法であって、
判定手段が、プレビュージョブであるか否かを判定する判定工程と、
作成手段が、前記判定工程によりプレビュージョブであると判定された場合、プレビュー情報を作成する作成工程と、
返信手段が、前記作成工程により作成されたプレビュー情報を要求元に返信する返信工程と、
判別手段が、前記判定工程によりプレビュージョブであると判別されたジョブが登録済みであるか判別する判別工程と、
登録手段が、前記判別工程により登録済みでないと判別された場合、当該プレビュージョブにＲＩＰ処理を実施し、登録する登録工程と、
実行手段が、前記判定工程によりプレビュージョブでないと判定された場合、前記登録工程により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録工程により登録されたジョブの印刷処理を実行する実行工程と
を有することを特徴とする印刷方法。
【請求項６】
前記実行工程では、前記判定工程によりプレビュージョブでないと判定された場合、前記登録工程により登録されたジョブと印刷設定に相違があるか判断し、相違がないと判断された場合、前記登録工程により登録されたジョブの印刷処理を実行し、相違があると判断された場合、設定変更が影響する部分のＲＩＰ処理を実行し、印刷処理を実行することを特徴とする請求項５記載の印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばプリンタに印刷データを送信するパーソナルコンピュータ等の情報処理装置と、印刷データを受け取るプリンタ装置とに関する。特に、印刷指示時に印刷データに基づくプレビューを表示する情報処理装置およびプリンタ装置に関する。
【背景技術】
【０００２】
従来、印刷実行前にホストコンピュータ等の情報処理装置上で印刷結果を表示するプレビュー方式には、大きく分けて二つの方式が存在してきた。
【０００３】
一つは、ステイプルなどの機能を使ったときのフィニッシング結果を確認するために、プリンタが行う処理を情報処理装置でシュミレーションしてプレビュー画像を生成し、そのプレビュー画像を表示するプレビュー方式である（たとえば特許文献１等参照）。
【０００４】
もう一つは、情報処理装置から印刷命令をプリンタに送り、プリンタでＲＩＰ処理（ラスタライズ処理）したイメージデータをホストに送りかえし、それをホストで表示するプレビュー方式である（たとえば特許文献２等参照）。
【特許文献１】特開2001-67347号公報
【特許文献２】特開平08-030410号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
コンピュータ周辺装置であるプリンタは、近年、オンデマンド印刷（ＰＯＤと省略する）に対応し、完全な製本を行う印刷機なみの高機能を持つものもある。高機能のプリンタを利用する場合、フィニッシング結果、カラー判定結果、白紙判定結果など、実際の印刷前にユーザが知っておきたい印刷結果に関する情報は複雑であり、さらに間違いが許されないものが増えている。これらの情報は、プリンタ毎に、印刷命令毎、ページ毎に異なるため、コンピュータで完全にシュミレーションすることは困難になってきている。
【０００６】
本発明は上記従来例に鑑みてなされたもので、多機能プリンタを用いて印刷する場合であっても、そのプリンタで実施される処理を反映した正確なプレビュー表示を実現できる情報処理装置およびプリンタ装置およびプログラムを提供することを目的とする。さらに、プレビュー画面を表示しながらの印刷設定の変更を利用者に許し、施された印刷設定の変更をプレビューおよび印刷出力物に正確に反映できる情報処理装置およびプリンタ装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明は以下の構成を有する。すなわち、受信したプリンタ制御コマンドに従って、物理ページごとのレイアウトおよびフィニッシング処理を示すプレビュー情報を作成するプリンタと接続された情報処理装置により実行されるプログラムであって、
データのプレビューが指示された場合、プレビューを示すジョブ種別とともに、印刷データに応じたプリンタ制御コマンドを生成してプリンタに送信する印刷命令送信手段と、
前記プリンタ制御コマンドに応じて前記プリンタにより生成されたプレビュー情報に基づいて、プレビュー画像を生成して表示するプレビュー手段としてコンピュータを機能させる。
【０００８】
あるいは、本発明は、ホスト装置からプリンタ制御コマンドを受信する受信手段と、
前記プリンタ制御コマンドに対応するジョブ種別がプレビューである場合には、プリンタ制御コマンドに含まれるジョブ制御情報および印刷データに従って、印刷される物理ページごとの論理ページのレイアウト及びフィニッシング処理を示すプレビュー情報を生成するプレビュー情報生成手段と、
前記プレビュー情報を前記ホスト装置に送信する送信手段とを備えるプリンタ装置にある。
【０００９】
あるいは、受信したプリンタ制御コマンドに従って物理ページごとのレイアウトおよびフィニッシング処理を示すプレビュー情報を作成するプリンタ装置と情報処理装置とを接続したプリンタシステムであって、
前記情報処理装置は、
データのプレビューが指示された場合、プレビューを示すジョブ種別とともに、印刷データに応じたプリンタ制御コマンドを生成して前記プリンタに送信する印刷命令送信手段と、
前記プリンタ制御コマンドに応じて前記プリンタにより生成されたプレビュー情報に基づいて、プレビュー画像を生成して表示するプレビュー手段とを備え、
前記プリンタ装置は、
前記情報処理装置からプリンタ制御コマンドを受信する受信手段と、
前記プリンタ制御コマンドに対応するジョブ種別がプレビューである場合には、プリンタ制御コマンドに含まれるジョブ制御情報および印刷データに従って、印刷される物理ページごとの論理ページのレイアウト及びフィニッシング処理を示すプレビュー情報を生成するプレビュー情報生成手段と、
前記プレビュー情報を前記情報処理装置に送信する送信手段とを備える。
【００１０】
あるいは、本発明は、アプリケーションから入力される文書データの印刷プレビューを表示制御する情報処理装置は、アプリケーションから入力された文書データから印刷プレビュー属性付の印刷データを生成する手段と、生成した印刷データを印刷装置に送る手段と、前記印刷装置から送り返されるプレビュー情報（出力ジョブチケット）を受信する手段と、受信したプレビュー情報を解析して、アプリケーションから入力された文書データのプレビュー表示を行う手段を有し、
前記印刷プレビュー属性付の印刷データを受信した印刷装置は、印刷データから各物理ページの印刷設定情報（出力ジョブチケット）を作成し、送信元に返信する手段を有する。前記、情報処理装置と印刷装置で構成される印刷プレビューシステムにある。
【発明の効果】
【００１１】
本発明によれば、プリンタによる出力物の様子を反映した正確なプレビュー表示を実現できる。さらに、プレビュー画面を表示しながらの印刷設定の変更を利用者に許し、施された印刷設定の変更をプレビューおよび印刷出力物に正確に反映できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を適用するのに好適である実施形態について説明を行う。図１は本発明の実施形態を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【００１３】
同図において、ホストコンピュータ３０００は、ＣＰＵ１０１を備える。ＣＰＵ１は、システムバス１０４に接続される各デバイスを総括的に制御する。ＣＰＵ１は、ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理や印刷等の制御を実行する。ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１には、オペレーティングシステムプログラム（以下ＯＳ）や、図５−図７や図１４に示す手順のプログラムが記憶されている。ＲＯＭ１０３のフォント用ＲＯＭあるいは外部メモリ１１１には上記文書処理の際に使用するフォントデータ等が記憶されている。ＲＯＭ１０３のデータ用ＲＯＭあるいは外部メモリ１１１には上記文書処理等を行う際に使用する各種データが記憶される。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００１４】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０の表示を制御する。ディスクコントローラ（ＤＫＣ）１０７は、ブートプログラム、各種のアプリケーション、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１１とのアクセスを制御する。ハードディスクや外部メモリ１１１には、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等のプログラムやデータが記憶されている。プリンタコントローラ（ＰＲＴＣ）１０８は、ネットワークや双方向性インターフェース（インターフェース）１２１を介してプリンタ２０００に接続されており、プリンタ２０００との通信制御処理を実行する。また、プリンタ（印刷装置）２０００は、イーサネット（登録商標）等のネットワークに接続されている場合も多い。
【００１５】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへ、印刷プレビュー画像の展開処理を実行し、ＣＲＴ１１０上でのプレビューを可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、操作者による操作に応じて種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。また、プレビュー表示画面からも印刷設定（印刷属性ともいう）のためのウインドウを呼び出して表示させることができ、印刷設定のウインドウから設定を変更することができる。なお、本実施形態では、印刷のための種々の設定を印刷設定と呼び、印刷設定がまとめて含まれた情報を印刷設定情報と呼ぶ。印刷設定情報はたとえばウインドウズ（登録商標）ではＤＥＶＭＯＤＥと呼ばれる構造体である。また、印刷設定情報は、プリンタドライバで変更され、また、印刷ジョブ毎にスプーラに引き渡されて、当該ジョブの印刷設定として保存される。このスプーラに保存されたジョブ毎の印刷設定を示す情報を、ジョブ設定情報と呼ぶことにする。
【００１６】
プリンタ２０００は、プリンタＣＰＵ１１２により制御される。プリンタＣＰＵ１１２は、ＲＯＭ１１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１１４に記憶された制御プログラム等に基づいてシステムバス１１５に接続される印刷部（プリンタエンジン）１１７に出力情報としての画像信号を出力する。また、このＲＯＭ１１３のプログラムＲＯＭには、プリンタＣＰＵ１１２の制御プログラム等を記憶する。ＲＯＭ１１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００１７】
プリンタＣＰＵ１１２は入力部１１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１１９は、プリンタＣＰＵ１１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１１４は、メモリコントローラ（ＭＣ）１２０によりアクセスを制御される。外部メモリ１１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１１８には操作のためのスイッチおよびＬＥＤ表示器等が配されている。プリンタＣＰＵ１１２は、図１５の手順のプログラムを実行し、コンピュータ３０００から受信した印刷データをラスタライズして、用紙上に印刷する。また、プレビュージョブであれば、コンピュータ３０００から受信したジョブ設定情報に基づいて、ページ単位のレイアウト等やフィニッシング処理を反映したプレビュー情報を作成し、コンピュータ３０００に送信する。
【００１８】
外部メモリ１１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル２００１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１９】
＜プリンタの構成＞
図４は、プリンタ２０００の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
このプリンタはホストコンピュータ３０００より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー３１により感光ドラム１５を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体９へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材２へ転写し、転写材２上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム１５を有するドラムユニット、接触帯電ローラ１７を有する一次帯電部、クリーニング部、現像部、中間転写体９、用紙カセット１や各種ローラ３、４、５、７を含む給紙部、転写ローラ１０を含む転写部及び定着部２５によって構成されている。
【００２０】
ドラムユニット１３は、感光ドラム(感光体)１５と感光ドラム１５のホルダを兼ねたクリーニング機構を有するクリーナ容器１４とを一体に構成したものである。このドラムユニット１３はプリンタ本体に対して着脱自在に支持され、感光ドラム１５の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム１５はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器１４に回転可能に支持されている。感光ドラム１５は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム１５を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム１５の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部３０では、変調されたレーザ光を、モータ３１ａにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ３２、反射鏡３３を介して感光ドラムを照射する。
【００２１】
現像部は、上記静電潜像を可視画像化するために、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の現像を行う３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃと、ブラック（Ｂ）の現像を行う１個のブラック現像器２１Ｂとを備えた構成を有する。カラー現像器２０Ｙ、２０Ｍ、２０Ｃ及びブラック現像器２１Ｂには、スリープ２０ＹＳ、２０ＭＳ、２０ＣＳ及び２１ＢＳと、これらスリープ２０ＹＳ、２０ＭＳ、２０ＣＳ、２１ＢＳそれぞれの外周に圧接する塗布ブレード２０ＹＢ、２０ＭＢ、２０ＣＢ及び２１ＢＢとがそれぞれ設けられる。また３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃには塗布ローラ２０ＹＲ、２０ＭＲ、２０ＣＲが設けられている。
【００２２】
また、ブラック現像器２１Ｂはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器２０Ｙ、２０Ｍ、２０Ｃは回転軸２２を中心に回転する現像ロータリー２３にそれぞれ着脱可能に取り付けられている。
ブラック現像器２１Ｂのスリープ２１ＢＳは感光ドラム１５に対して例えば３００μｍ程度の微小間隔を持って配置されている。ブラック現像器２１Ｂは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ２１ＢＳの外周に塗布ブレード２１ＢＢによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリープ２１ＢＳに現像バイアスを印加することにより、静電潜像に応じて感光ドラム１５に対して現像を行って感光ドラム１５にブラックトナーによる可視画像を形成する。
【００２３】
３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃは、画像形成に際して現像ロータリー２３の回転に伴って回転し、所定のスリープ２０ＹＳ、２０ＭＳ、２０ＣＳが感光ドラム１５に対して３００μｍ程度の微小間隔を持って対向することになる。これにより所定のカラー現像器２０Ｙ、２０Ｍ、２０Ｃが感光ドラム１５に対向する現像位置に停止し、感光ドラム１５に可視画像が作成される。
【００２４】
カラー画像形成時には、中間転写体９の１回転毎に現像ロータリー２３が回転し、イエロー現像器２０Ｙ、マゼンダ現像器２０Ｍ、シアン現像器２０Ｃ、次いでブラック現像器２１Ｂの順で現像工程がなされ、中間転写体９が４回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体９上に形成する。
【００２５】
中間転写体９は、感光ドラム１５に接触して感光ドラム１５の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム１５から４回の可視画像の多重転写を受ける。また、中間転写体９は画像形成時に後述する転写ローラ１０が接触して転写材２を挟持搬送することにより転写材２に中間転写体９上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体９の回転方向に関する位置を検知するためのＴＯＰセンサ９ａ及びＲＳセンサ９ｂと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ９ｃが配置されている。
【００２６】
転写ローラ１０は、感光ドラム１５に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【００２７】
転写ローラ１０は、図４に実線で示すように中間転写体９上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体９上に４色のカラー可視画像が形成された後は、このカラー可視画像を転写材２に転写するタイミングにあわせてカム部材（不図示）により転写ローラ１０を図示点線で示す上方に位置させる。これにより転写ローラ１０は転写材２を介して中間転写体９に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体９上のカラー可視画像が転写材２に転写される。
【００２８】
定着部２５は、転写２を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材２を加熱する定着ローラ２６と転写材２を定着ローラ２６に圧接させるための加圧ローラ２７とを備えている。定着ローラ２６と加圧ローラ２７とは中空状に形成され、内部にそれぞれヒータ２８、２９が内蔵されている。即ち、カラー可視画像を保持した転写材２は定着ローラ２６と加圧ローラ２７とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【００２９】
可視画像定着後の転写材２は、その後排紙ローラ３４、３５、３６によって排紙部３７へ排出して画像形成動作を終了する。
【００３０】
クリーニング手段は、感光ドラム１５上及び中間転写体９上に残ったトナーをクリーニングするものであり、感光ドラム１５上に形成されたトナーによる可視画像を中間転写体９に転写した後の廃トナーあるいは、中間転写体９上に作成された４色のカラー可視画像を転写材２に転写した後の廃トナーは、クリーナ容器１４に蓄えられる。
【００３１】
印刷される転写材（記録用紙）２は、給紙トレイ１から給紙ローラ３により取り出されて中間転写体９と転写ローラ１０との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部２５を通過してトナー像が定着される。片面印刷の場合には、案内３８が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【００３２】
両面ユニットに導かれた記録用紙は、搬送ローラ４０によりトレイ１の下部（二点鎖線で示す搬送経路）に一旦送り込まれた後に逆方向に搬送され、両面トレイ３９に送られる。両面トレイ３９上では、用紙は給紙トレイ１に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【００３３】
＜ホストコンピュータのソフトウエア構成＞
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１１に保存されたファイルとして存在する。実行される場合には、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行される。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１１のＨＤに追加することが可能となっている。外部メモリ１１１に保存されているアプリケーション２０１はＲＡＭ１０２にロードされて実行される。このアプリケーション２０１からプリンタ２０００に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン２０２を利用して描画データの出力を行う。ここで、米国マイクロソフト社のWindows（登録商標）OSを用いて説明を行う。Windows（登録商標）では、ＯＳの描画手段であるグラフィックエンジン２０２は、一般にＧＤＩ（Graphic Device Interface）と呼ばれ、アプリケーションは、グラフィックエンジンであるＧＤＩに対してＧＤＩ関数と呼ばれる描画データを出力する。
【００３４】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション２０１からのＧＤＩ関数の出力をライブラリに基づいてＤＤＩ関数（Device Driver Interface）に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（PageDescription Language）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ２０４を経てインタフェース１２１経由でプリンタ２０００へ印刷データとして出力される仕組みとなっている。特開2001-067347で提案されているプレビュー用印刷システムは、図２で示すプリンタとホストコンピュータからなる印刷システムに加えて、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有することで、実現していた。
【００３５】
本実施形態のプレビュー印刷システムを図３を使って説明する。
図３は、図２のシステムを拡張したもので、ＯＳの描画手段であるグラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。一旦、中間コードを作成することで、スプールファイル３０３の中間コードの内容をプレビューアが読み込んでプレビューおよび印刷設定の変更を実施するためのものである。
これらの目的のために、図２のシステムに対し、図３の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの設定の変更を行うためには、通常プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上あるいは外部メモリ１１１上に保管する。
【００３６】
＜本実施形態のホストコンピュータのソフトウエア構成＞
以下、図３の詳細を説明する。図２と共通する構成ブロックは図２と同じ参照番号で示す。図に示す通り、この拡張された処理方式では、ディスパッチャ３０１は、グラフィックエンジン２０２から出力される印刷命令を受け取る。ディスパッチャ３０１が受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１から発行された印刷命令（ＧＤＩ関数）の場合には、ディスパッチャ３０１は外部メモリ１１１に格納されているスプーラ３０２をＲＡＭ１０２にロードする。また、ディスパッチャ３０１は受け取った印刷命令（ＧＤＩ関数）をプリンタドライバ２０３ではなくスプーラ３０２へを送付する。ディスパッチャ３０１が印刷命令のソースを判定するためには、たとえば印刷命令にその送信元であるプロセスのＩＤを付するなどの方法がある。
【００３７】
スプーラ３０２は受け取った印刷命令を解釈し、ページ単位に、加工の容易な予め定めた形式の中間コードに変換し、スプールファイル３０３に出力して蓄積する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＵＤＬ：Ｕｎｉｆｉｅｄ  Ｄｉｓｐｌａｙ  Ｌｉｓｔ）と呼ぶ。また、スプーラ３０２は、プリンタドライバ２０３において設定された印刷設定情報をプリンタドライバ２０３から取得して、ジョブ単位のファイルとしてスプールファイル３０３に保存する。このジョブ単位に格納される印刷設定のファイルをジョブ設定ファイルと呼ぶ。JDF（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）と呼ぶこともある。このジョブ設定ファイルについては後述する。プリンタドライバにおける印刷設定の変更は、アプリケーションから印刷指示を出す前に、予め操作者が行っておく。プリンタドライバにおいて設定可能な印刷設定の項目には、たとえばＮページを１ページに縮小レイアウトするＮｕｐ設定、両面／片面設定、ステイプル設定、カラー／モノクロ設定等がある。
【００３８】
スプーラ３０２は、外部メモリ１１１に格納されているスプールファイルマネージャ３０４をＲＡＭ１０２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された中間データで印刷が行える状態であることを判断すると、外部メモリ１１１に格納されているデスプーラ３０５をＲＡＭ１０２にロードする。そして、スプールファイルマネージャ３０４は、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コード（ＵＤＬ）で記述されたページ描画ファイルの印刷処理を行うように指示する。その際、外部メモリ１１１に格納されているプレビュア３０６をＲＡＭ１０２にロードし、ジョブＩＤを通知して待機状態にしておく。
【００３９】
デスプーラ３０５は、スプールファイル３０３に含まれる中間コードのページ描画ファイル（ＵＤＬ）と、スプールファイル３０３に含まれるジョブ設定情報（ＪＤＦ）の内容とに従って、ＧＤＩ関数を再生成する。再生成されたＧＤＩ関数は、もう一度ＯＳの描画手段であるグラフィックエンジン２０２経由で出力される。
【００４０】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、デスプーラ３０５から発行された印刷命令（ＧＤＩ関数）の場合には、ディスパッチャ３０１はプリンタドライバ２０３に印刷命令を渡す。
【００４１】
プリンタドライバ２０３はグラフィックエンジン２０２から取得した印刷命令（ＤＤＩ関数）に基づいて、ページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ２０００に出力する。本実施形態では、プリンタドライバのユーザインターフェースなどからプレビューが指定されているときは、プリンタ制御コマンドにプレビュー属性を付けてプリンタに送信する。たとえば、印刷処理の単位であるジョブに関する情報（ジョブ制御情報）にプレビュー属性を付し、それをプリンタに送信する。プリンタ２０００は、プレビュー属性が付された印刷ジョブについては用紙上への印刷を行わず、ジョブＩＤに関連づけたプレビュー情報を作成してコンピュータ３０００にそれを送信する。プレビュー情報には、実際に印刷される用紙上への、スプールファイル３０３に保存されたページのレイアウトを示すレイアウト情報や、各物理ページのステープル位置などのプレビューに必要な情報が含まれている。なお、実際に印刷される用紙をシートあるいは物理ページともいう。また、スプールファイル３０３に保存されたページを論理ページともいう。このほか、プレビュー情報には、白紙であるか否かを示す白紙判定結果（白紙情報）や、モノクローム又はカラーの何れかを示すカラーモード情報も、含まれる。
【００４２】
プレビューア３０６は、設定変更エディタ３０７とともにプレビューユニット３１０を構成する。プレビューア３０６は、スプールファイルマネージャ３０４から受け取ったジョブＩＤに対応したプレビュー情報をプリンタ（印刷装置）から受け取ると、受け取ったプレビュー情報をスプールファイル３０３に保存する。それと共に、スプールファイルマネージャのウィンドウ画面をポップアップさせ、スプールファイル３０３にスプールされたプレビュー情報に関連づけられたジョブＩＤをリスト表示する。なおプレビュー情報は、略してJDFP（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ  Ｆｏｒ  Ｐｒｅｖｉｅｗ）とも呼ぶ。
【００４３】
プレビューを行うことの設定は、例えば図８に示すようなユーザインターフェイスを提供することによって、利用者が行うことができる。印刷プレビューおよび印刷設定変更を行うためには、図８に示すプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニュー（出力方法選択手段ともいう）８０３において「ストア」を指定する必要がある。なお、プレビューをみたいだけの場合は、出力先の指定としてプルダウンメニュー８０３から「プレビュー」を選択する。
【００４４】
図９には、１つの印刷ジョブがスプールされている場合の印刷状態の表示例を示している。メニューバー９０１もしくはそのすぐ下のメニューアイコン９０２を押下することにより、ジョブの操作を行うことができる。メニューバー９０１で行える操作とメニューアイコン９０２で行える操作は同じである。操作には、「印刷」、「セーブして印刷」、「プレビュー」、「削除」、「複製」、「ジョブ編集」、「順序変更」等がある。「印刷」は、リスト９０３から選択されている印刷ジョブをプリンタ２０００により印刷するための操作である。「セーブして印刷」は、リスト９０３から選択されている印刷ジョブの中間コードのスプールファイルをそのまま残して印刷を行わせるための操作である。「プレビュー」は、リスト９０３から選択されている印刷ジョブの、印刷設定を反映したプレビューを見るための操作である。「削除」は、リスト９０３から選択されている印刷ジョブの中間コードのスプールファイルを削除するための操作である。「複製」は、リスト９０３から選択されている印刷ジョブの中間コードのスプールファイルを複製するための操作である。「ジョブ編集」は、リスト９０３から選択されているジョブの印刷設定（レイアウト設定やフィニッシング設定等）を変更するための操作である。「順序変更」は、ジョブの印刷順序の入れ替えを行うための操作である。
【００４５】
スプールファイルマネージャ３０４のウィンドウ画面（図９）上で、ある印刷ジョブが選択されてそのプレビューが指定された場合、スプールファイルマネージャ３０４は、外部メモリ１１１に格納されているプレビューア３０６をＲＡＭ２にロードする。そして、スプールファイルマネージャ３０４は、プレビューア３０６に対して、スプールファイル３０３に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【００４６】
指示を受けたプレビューア３０６は、プリンタからプレビュー情報を受け取ると、スプールファイル３０３に含まれる対応する中間コードのページ描画ファイル（ＵＤＬ）を順次読み出す。そしてプレビュー情報（ＪＤＦＰ）に含まれるページ毎の設定情報の内容に従ってページ描画ファイルを加工し、加工された中間データ（ページ描画ファイル）に基づいてＧＤＩ関数を再生成してグラフィックエンジン２０２に対して出力する。この際、出力先をプレビューア３０６のクライアント領域、つまり表示デバイスにしておく。これによって、ＧＤＩ関数を入力されたグラフィックエンジン２０２は、表示デバイス用のＤＤＩ関数を出力するため、画面上への表示出力が可能となる。なお、プレビュー情報とページ描画ファイルとの関連づけは、印刷ジョブのジョブＩＤにより行える。ジョブＩＤは、プレビュー情報とスプールファイルとにそれぞれ含まれているため、一致するジョブＩＤを持つプレビュー情報とスプールファイルとを同一の印刷ジョブに係る情報として関連づけることができる。
【００４７】
グラフィックエンジン２０２は、指定された出力先に応じて適切なレンダリングを行うことが可能である。たとえば、表示デバイスと印刷装置とは解像度が異なる。グラフィックエンジン２０２は、指定された出力先の解像度等の属性情報をたとえばＯＳが管理するデータベースなどから獲得し、それを用いてレンダリングを実行する。このことから、プレビューア３０６は、スプールファイル３０３に含まれる中間コードを、プレビュー情報（ＪＤＦＰ）に従って加工し、グラフィックエンジン２０２を利用して出力する方法で実現可能となる。
【００４８】
＜印刷装置２０００のソフトウエア構成＞
続けて、図３の印刷装置２０００の動作の説明を行う。印刷装置２０００は、ホストコンピュータ３０００からＰＤＬコマンドなどのプリンタ制御コマンドを受け取って受信バッファ２００３に一時格納する。そのプリンタ制御コマンドはコマンド解析部２００７で解析処理される。解析の結果、受け取ったプリンタ制御コマンドが印刷コマンドである場合、当該印刷ジョブの印刷設定に従い、描画処理実行部２００５はイメージデータを展開し、ＨＤ２０１１に一時格納する。出力可能なイメージデータが格納されると、出力制御部２００８が、エンジン回転に同期してビデオ信号に変換（シップ処理）し、プリンタエンジン２０１０にビデオ信号を渡して、ビデオ信号に応じた画像がシート上に形成される。なお、ジョブは、ジョブ開始コマンドによって区切られる一連のプリンタ制御コマンドにより構成される。印刷設定を示すジョブ設定情報は、たとえばジョブ開始コマンドに次いでホストコンピュータ３０００から印刷装置２０００に送信される。ひとつのジョブが印刷ジョブかプレビュージョブかは、たとえばジョブ設定情報の「ジョブ種」フィールドの値により示される。あるいは、ジョブ開始コマンドに、ジョブ設定情報の「ジョブ種」フィールドの値を複製するなどして、ジョブ開始コマンドによりジョブ種を示すこともできる。
【００４９】
本実施形態では、印刷装置２０００が受け取ったジョブがプレビュージョブの場合、印刷ジョブ同様に、指示された設定に従って、描画処理実行部２００５でイメージデータを展開する。そして展開したイメージデータを、ＨＤ２０１１にジョブＩＤを付けて一時格納する。描画処理実行部２００５は、イメージデータを展開して印刷直前の状態まで処理する過程において、その途中で生成される物理ページ毎の詳細なプレビュー情報（ＪＤＦＰ）と、一時保存したイメージデータとを関連づけ、セットで保存する。
【００５０】
生成したプレビュー情報は、ジョブの送信元のホストコンピュータ３０００のプレビューア３０６に向けて返信する。なお、プレビュー処理を高速化するために、イメージに展開する処理の簡略化によりプレビュー情報（ＪＤＦＰ）の作成時間を短縮し、プレビュー情報をプレビューアに返信した後に、印刷されるイメージデータの展開を実施する形式をとってもかまわない。
【００５１】
プレビューア３０６は、ジョブ設定情報（ＪＤＦ）とページ描画ファイル（ＵＤＬ）から、プリンタドライバ２０３によって生成したプレビュー属性付の印刷命令をプリンタに送る。その結果、プリンタは、実際に印字処理をするのと同じ処理を実行して、実際に印刷された場合と同様に正確なプレビュー情報（ＪＤＦＰ）を作成する。印刷装置により作成されるプレビュー情報は、データの形式はジョブ設定情報と同様である。ただし、プレビュー情報は、物理ページごとに作成されている点で相違する。また、含まれる項目も相違している。ジョブ設定情報やプレビュー情報については図１２，図１３等を参照して説明する。プレビューア３０６は、プリンタから受け取ったプレビュー情報（ＪＤＦＰ）に基づいて、スプールされているページ描画ファイル（ＵＤＬ）のデータを加工してディスプレーに出力する。こうすることで、正確なプレビュー表示が可能となる。
【００５２】
上記のようにプレビュー処理を行うことにより、図１１のようにスプールファイル３０３に含まれるジョブ設定を反映した印刷出力物の大プレビューがプレビューア３０６によって画面上に表示される。その後、ユーザにより非表示指示がされると、プレビューア３０６がクローズされ、制御がスプールファイルマネージャ３０４に移行する。スプールファイルマネージャ３０４は、ウィンドウ画面（図９）を表示する。
【００５３】
プレビューア３０６によって表示されたジョブ設定印刷を行う場合には、ユーザがスプールファイルマネージャ３０４のウインドウ上で、「印刷」もしくは「セーブして印刷」を指示することにより、グラフィックエンジン２０２に対して印刷要求を発行する。印刷設定に変更がない場合には、印刷要求においてジョブＩＤを指定すればよい。グラフィックエンジン２０２等を介して印刷要求のプリンタ制御コマンドを受信したプリンタは、指定されたジョブＩＤに対応する、既にＲＩＰ済み（イメージデータに展開済み）のイメージを、高速に出力することが可能である。
【００５４】
印刷設定を変更する場合は、利用者は、プレビューア３０６の提供する印刷設定画面から、レイアウトや用紙方向、印刷順序、使用する給紙トレイなどの印刷設定を変更し、確定の操作を行う。設定変更エディタ３０７は、変更された印刷設定の内容に応じて、スプールファイル３０３に保存された当該プレビュージョブに対応するジョブ設定情報（ＪＤＦ）を編集する。編集されたジョブ設定情報は、デスプーラ３０５によりスプールファイル３０３から読み出されて、ジョブＩＤとともにグラフィックエンジン２０２等を経由してプリンタドライバ２０３に渡される。プリンタドライバ２０３は、既に送信した当該ジョブのプリンタ制御コマンドとの差分だけのプリンタ制御コマンドを生成して印刷装置２０００に送出する。この場合、相違するのはジョブ設定情報に限られる。したがって、たとえばジョブ設定情報を印刷装置２０００に送信するためのプリンタ制御コマンドが新たに生成され、ジョブＩＤとともに印刷装置２０００に送信される。このジョブＩＤは、最初に印刷装置２０００に送信されたプレビュージョブのジョブＩＤと同一である。
【００５５】
＜データフロー＞
図２および図１６を使って、従来のプレビュー方式の処理フローを示す。図１６は、従来プレビュー方式のシステム全体の処理フローの一例を示すものである。アプリケーション２０１から、印刷指示を受け取ったプリンタドライバ２０３は、中間コード１６０１を生成する。生成された中間コードは、スプールファイルに保存される。プレビューユーティリティは生成された中間コードを読み込んで表示用の画像を生成し、パーソナルコンピュータの画面にプレビュ表示を行う（１６０２）。表示結果に問題がなければ、利用者が印刷ボタンを押すことで、プリンタドライバ２０３が呼ばれる。プリンタドライバ２０３はＰＤＬコマンド（プリンタ制御コマンド）を生成する（１６０３）。プリンタ６００は、プリンタドライバ２０３から印刷命令を受け取ると、ＰＤＬコマンド解析を行うところからの印刷処理を開始する（１６０４）。プレビュー画像は、ホストコンピュータのプレビューユーティリティが中間コードを用いて生成し、それを表示している。
【００５６】
図１７は、本実施形態のシステム全体の処理フローの一例である。アプリケーション２０１から印刷指示を受け取ったプリンタドライバ２０３は、中間コード１７０１を生成する。スプーラ３０２は中間コードをスプールファイル３０３に保存する。プレビューユニット３１０は、スプールされた中間コードを読み込んで、プリンタドライバ１７０４に印刷指示を出す。ただしこの印刷指示には、プレビューであることを示す情報が含まれている。たとえば、ジョブ設定情報にプレビューであることをしめす情報が記述されている。印刷指示を受け取ったプリンタドライバ２０３は、ＰＤＬコマンド１７０２を生成し、それにプレビュー属性を付け、プレビュー属性付印刷命令としてプリンタ２０００に送信する。プレビュー属性付印刷命令を受け取ったプリンタ２０００は、プリンタ制御コマンドを解析し、プレビュー情報（ＪＤＦＰ）を生成してホストコンピュータに返す（１７０３）。ホストコンピュータにおけるプレビュ情報の最終的な受け取り手はプレビューユニット３１０である。プリンタ２０００は、プリンタ制御コマンドの解析後に受け取ったプレビュー属性付印刷命令のＲＩＰ処理も実施してイメージデータも生成し、ジョブＩＤと関連づけてプレビュー情報と共にハードディスクに保存する（１７０５）。ただしこのＲＩＰ処理では、印刷用のイメージデータを生成するために、印刷ジョブ受信時と同じＲＩＰ処理を実行する。またプリンタ制御コマンドも保存しておけば、設定変更後に差分に関する情報のみ受信すればよいことから、プリンタ制御コマンドを保存するくことが望ましい。本実施形態では受信したプリンタ制御コマンドも保存しておく。
【００５７】
プレビューユニット３１０はスプールされた中間コードを読み込み、プリンタ２０００から受け取ったプレビュー情報（ＪＤＦＰ）にしたがって、プレビュー表示を行う（１７０４）。スプールされた中間コードには、論理ページごとに描画されるオブジェクト等、ページ単位での画像情報が含まれる。また、プレビュー情報には、物理ページ単位でのレイアウトやフィニッシング情報等の印刷設定に関する情報が含まれる。プレビューユニット３１０は、中間コードを表示用に展開し、プレビュー情報に記述された印刷設定に従って論理ページをレイアウトし、また出力物に応じた画像オブジェクトを付加する。付加される画像オブジェクトには、たとえばパンチ孔やステープル、透かし、タブ紙の文字列などを表す画像オブジェクトがある。また、フィニッシャがインサータ機能を有する場合には、インサータで挿入される表紙、裏表紙、タブ紙などのシートを表す画像オブジェクトや、それら挿入シートに書き込まれる文字列や画像などのオブジェクトが、プレビュー情報に従って挿入される。また、製本機能を持つフィニッシャがプリンタに付加されていれば、綴じ位置を示す識別用オブジェクトなどもプレビューユニット３１０により付加される。このように、プレビュー情報にしたがってプレビュー画像が生成され表示される。
【００５８】
プレビューユニット３１０は、利用者が印刷設定変更を行ったときには、変更された印刷設定をジョブ設定情報に反映する。また、グラフィックエンジン２０２を介してプリンタドライバ２０３に対して印刷指示を送る。プリンタドライバ１７１０は、差分プリンタ制御コマンド１７１１を生成する。プレビューユニット３１０で変更されているのはジョブ設定情報に限られるので、たとえばジョブ設定情報を印刷装置２０００に送信するためのプリンタ制御コマンドが差分プリンタ制御コマンドとして新たに生成される。差分プリンタ制御コマンドはジョブＩＤとともに印刷装置２０００に送信される。このジョブＩＤは、最初に印刷装置２０００に送信されたプレビュージョブのジョブＩＤと同一である。プリンタ２０００は、差分プリンタ制御コマンドを受信すると、そのジョブＩＤを参照して、再度プレビュー情報を生成する（１７０７）。たとえば、差分プリンタ制御コマンドとして受信したジョブ設定情報を、そのジョブＩＤと関連づけて保存されているプリンタ制御コマンド中の、ジョブ設定情報と置換する。そして置換後のプリンタ制御コマンドに基づいてプレビュー情報を生成する。生成したプレビュー情報はプレビューユニット３１０に送信される。この後、プリンタ２０００は、変更された印刷設定をイメージデータに反映するために変更されたジョブ設定情報を用いてＲＩＰ処理を行い、保存されているイメージデータを更新する。このＲＩＰ処理は、変更が部分的であれば変更された部分に限っても良いが、一般的にはジョブ設定情報の変更は一部の変更であっても当該ジョブに含まれる全ページに影響するので、あらためジョブ全体についてあらためてＲＩＰ処理を実行することが望ましい。
【００５９】
プレビューユニット３１０は、受信したプレビュー情報とスプールされている中間コードとを用いてプレビュー画像を生成して表示する（１７０８）。利用者がプレビュー確認後に印刷を指示すると、プリンタドライバ１７１０に対して印刷指示を送る。プリンタドライバ２０３は、差分プリンタ制御コマンド１７１０を生成し、プリンタ１７０５に印刷ジョブを送る（１７１０）。ただし、印刷設定が変更されていない場合には、送るべき差分情報はないので、この時プリンタ２０００に送信される印刷ジョブは、それた印刷ジョブであることを示す情報とジョブＩＤを含んでいればよい。
【００６０】
プリンタ２０００は、格納済みプリンタ制御コマンドに変更がなければ、ステップ１７０９で生成したイメージを印刷出力する。変更があれば、その変更を反映したイメージデータを生成して印刷する（１７１１）。変更部分のみ再ＲＩＰしたイメージデータを、同じジョブＩＤのイメージデータに差し替えて印刷を実行してもよいが、改めて全体をＲＩＰ処理し直しても良い。
【００６１】
＜スプーラによる処理＞
図５は、スプーラ３０２における、スプールファイル３０３の生成における、中間コードのページ単位での保存処理をフローチャートで示したものである。この処理は、アプリケーションから印刷要求があった場合に、グラフィックエンジン２０２から出力された描画データであるＤＤＩ関数をディスパッチャ３０１が受け付け、この描画データをスプーラ３０２に渡した後に実行される。
【００６２】
まずステップ５０１では、スプーラ３０２は、アプリケーションからグラフィックエンジン２０２を介して印刷要求をディスパッチャ３０１から受けつける。前述したように、アプリケーション２０１においては、図８に示すような印刷設定を入力するダイアログが印刷指示前に表示され、このダイアログから入力された印刷設定を示すジョブ設定情報がプリンタドライバ２０３よりスプーラ３０２に渡される。なお、図８に示す設定入力ダイアログにおいては、１物理ページ８０１にレイアウトされる論理ページの数を決定するような設定項目等を含んでいる。
【００６３】
ステップ５０２において、スプーラ３０２は、受け付けた印刷要求がジョブ開始要求か判定する。もしステップ５０２でジョブ開始要求であると判断した場合には、ステップ５０３−１に進み、スプーラ３０２は、中間データを一時的に保存するためのスプールファイル３０３をＲＡＭ１０２（ハードディスクでもよい）に作成する。続いて、スプーラ３０２は、プリンタドライバ２０３から、印刷設定情報（ウインドウズ（登録商標）のDEVMODに相当する。）を受け取り、スプールファイル３０３にジョブ設定情報（ＪＤＦ）を格納する（ステップ５０３−２）。その後、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。ここでは、利用者から指示されたジョブがプレビュージョブであればプレビュー通知を、印刷ジョブであれば印刷開始通知をスプールファイルマネージャ３０４に送る（ステップ５０４）。
【００６４】
続いて、ステップ５０５では、スプーラ３０２の管理するページ数カウンタを１に初期化する。ここで、スプールファイルマネージャ３０４は、印刷が開始されたジョブに対するジョブの情報や加工設定であるジョブ設定情報をスプールファイル３０３のジョブ設定ファイルより読み込んでおく。
【００６５】
一方、ステップ５０２において、スプーラ３０２が、受け付けた印刷要求がジョブ開始要求ではないと判断した場合には、ステップ５０６に進む。ステップ５０６では、スプーラ３０２は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップ５０７に進み、スプーラ３０２は、受け付けた要求が改ページかどうかの判別を行う。もしもステップ５０７で改ページであると判断した場合には、ステップ５０８−１に進み、ページ数カウンタをインクリメントする。そしてステップ５０８−２で、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。ここでは進捗情報として改ページがあったことを通知する。同時にページカウンタの値を通知しても良い。
【００６６】
ステップ５０７において、スプーラ３０２が受け付けた印刷要求が改ページではないと判断した場合には、ステップ５０９に進み、スプーラ３０２は、ページ描画ファイルへの中間コード（ＵＤＬ）の書き出しの準備を行う。次に、ステップ５１０では、スプーラ３０２は、印刷要求とともに引き渡された文字やグラフィックや画像などの描画データを、スプールファイル３０３へ格納する中間データに変換する。ステップ５１１では、スプーラ３０２は、ステップ５１０において格納可能な形（中間データ）に変換された印刷要求をスプールファイル３０３のページ描画ファイル（ＵＤＬ）へ書き込む。その後、ステップ５０１に戻り、再びアプリケーションからの印刷要求を受けつける。この一連のステップ５０１からステップ５１１までの処理を、アプリケーションよりジョブ終了要求（End Doc）を受け取るまで続ける。
【００６７】
また、スプーラ３０２は、同時にプリンタドライバ２０３からDEVMODE構造体（すなわち印刷設定情報）に格納されている加工設定等の印刷設定情報を取得し、ジョブ設定情報（ＪＤＦ）としてスプールファイル３０３に格納する。一方、ステップ５０６にて、スプーラ３０２が、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了である。そこでステップ５１２に進み、スプールファイルをクローズする。そして、ステップ５１３でスプールファイルマネージャ３０４へ印刷処理の進捗（この段階ではジョブの終了通知）を通知し、処理を終える。
【００６８】
＜スプールファイルマネージャによる処理＞
図６は、スプールファイルマネージャ３０４における、スプールファイル３０３生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。ステップ６０１では、スプールファイルマネージャ３０４は、スプーラ３０２あるいはデスプーラ３０５からの印刷処理の進捗通知を受け付ける。
【００６９】
ステップ６０２において、スプールファイルマネージャ３０４は、もし進捗通知が前述のステップ５０４においてスプーラ３０２から通知される、プレビューまたは印刷開始通知であるかどうか判定する。もしそうであればステップ６０３に進み、ジョブＩＤを取得し、ジョブの管理を開始する。ジョブＩＤは、たとえばシリアル番号を順番に割り当てるためのジョブＩＤ生成カウンタ等から取得できる。
【００７０】
一方、ステップ６０２において、スプーラ３０２からの印刷開始通知でなければステップ６０４へすすむ。スプールファイルマネージャ３０４は、進捗通知が前述のステップ５０８において通知されるスプーラ３０２からの改ページ通知すなわち１論理ページの処理終了通知であるかどうか判定する。ここで１論理ページの印刷終了通知であればステップ６０５へ進み、スプールファイルマネージャ３０４は、このページに対するページ情報を格納する。ページ情報にはたとえばページＩＤ（物理ページおよび論理ページ）や、論理ページと物理ページとの対応付けを示す情報などがある。ステップ６０６では、スプールファイルマネージャ３０４は、１物理ページに相当する印刷命令（中間コード）がスプールされる都度、印刷するページ番号を決定し、当該物理ページが処理可能であることを示す処理可能通知をデスプーラに送る。処理可能通知には、たとえば出力可能となった物理ページのページＩＤが含まれる。たとえば１物理ページに複数の論理ページがレイアウトされる場合には、その１物理ページにレイアウトされる論理ページを受信するごとに、スプーラから改ページ通知を受信する。そして、１物理ページにレイアウトされるすべての論理ページのデータがスプールされていなければ、ステップ６０６では処理可能通知は出されず、１物理ページ分のデータがスプールされて初めて処理可能通知が出力される。なおここでいう印刷には、プレビュー処理も含む。
【００７１】
その後ステップ６０１に戻り、スプールファイルマネージャ３０４は、次の通知を待つ。本実施形態においては、１物理ページ分の印刷データがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【００７２】
一方、ステップ６０４において、進捗通知がスプーラ３０２からの１論理ページの印刷終了通知でなかった場合ステップ６０７へ進む。スプールファイルマネージャ３０４は、受信した通知が、前述のステップ５１２においてスプーラ３０２から通知されるジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップ６０６へ進む。一方、ジョブ終了通知でない場合、ステップ６０８へ進み、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５からの１物理ページの印刷終了（出力終了）通知であるかどうか判定する。ここで、１ページの印刷終了通知である場合はステップ６０９へ進み、印刷が全て終了したかを判定する。
【００７３】
印刷終了（出力終了）した場合、ステップ６１０へ進み、デスプーラ３０５に印刷終了の通知を行う。一方、印刷がまだ終了していないと判断した場合、ステップ６０６へ進む。本実施形態におけるデスプーラ３０５は同時に印刷処理（出力処理）を行えるページ数を１と想定している。
【００７４】
一方、ステップ６０８において、入力された通知が、デスプーラ３０５からの１ページの印刷終了通知でないと判断された場合、ステップ６１１へ進む。ここでは、スプールファイルマネージャ３０４は、入力された通知がデスプーラ３０５からの印刷終了通知かどうかを判定する。デスプーラ３０５からの印刷終了通知と判定された場合、処理を終了する。一方、デスプーラ３０５からの印刷終了通知でなかった場合はステップ６１２へ進み、その他通常処理を行い、次の通知を待つ。
【００７５】
なお、ステップ６０５，６０６では、１物理ページの印刷処理を行うのに必要な情報がファイルに逐次保存されると、それを再利用可能な形式にして処理可能通知をしているいる。これに対して、再利用不要な場合には、共有メモリ等高速な媒体を使用し、デスプールされた物理ページに関しては次々と上書きするようにして、リソースを節約するような実装形式にしてもよい。１物理ページの区切りは、ジョブ設定情報を参照して判定する。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、ステップ６０６で１ページ毎にページ印刷可能を通知しない構成にしても良い。その場合、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約する。
【００７６】
＜デスプーラによる処理＞
図７は、デスプーラ３０５における、印刷データの生成プロセスの詳細をフローチャートで示したものである。デスプーラ３０５は、スプールファイルマネージャ３０４からの印刷要求に応じて、スプールファイル３０３から必要な情報（ページ描画ファイル（ＵＤＬ）およびジョブ設定情報（ＪＤＦ））を読みだして印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図３で説明した通りである。デスプーラ３０５による印刷データの生成では、まず、プレビュージョブであるかどうかを判定し、プレビュージョブである場合はステップ７０２でプレビューユニット３１０に、処理するジョブＩＤを知らせて起動する。プレビュージョブか印刷ジョブかを示すジョブ種類の判定は、ジョブ設定情報のジョブ種欄を参照して行える。
【００７７】
続いて、ステップ７０３において、スプールファイルマネージャ３０４からの通知を受ける。通知が入力されればステップ７０４に進む。ステップ７０４では、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップ７０５へ進み、終了フラグを立て、ステップ７０７へ進む。
【００７８】
一方、ステップ７０４においてジョブ終了通知でない場合は、ステップ７０６に進み、デスプーラ３０５は、入力された通知が、図６のステップ６０６における処理可能通知であるかどうか判定する。ステップ７０６において処理可能通知と判定されなかった場合は、ステップ７０８へ進み、その他エラー処理を行い、ステップ７０１へ戻り次の通知を待つ。一方、ステップ７０６において処理可能通知と判定された場合、ステップ７０７へ進み、デスプーラ３０５は、処理可能通知により印刷処理が可能であることが知らされたページＩＤを保存する。
【００７９】
続くステップ７０９では、デスプーラ３０５は、ステップ７０７で保存した物理ページＩＤのすべてのページに関して出力処理が済んでいるかどうかを判定する。ここで全ページの処理が済んでいる場合は、ステップ７１０へ進み、終了フラグが立てられているか判定する。終了フラグが立っている場合は、ジョブの印刷が終了したとみなし、デスプーラ３０５の処理終了の通知をスプールファイルマネージャ３０４に通知して処理を終える。ステップ７１０では、終了フラグが立っていないと判定された場合は、ステップ７０１へ戻り次の通知を待つ。
【００８０】
一方、ステップ７０９で、出力処理可能なページが残っていると判定された場合にはステップ７１１へ進む。ステップ７１１では、デスプーラ３０５は、保存された物理ページＩＤから未処理の物理ページＩＤを順に読み出す。そして、読み出した物理ページＩＤに対応する物理ページの印刷データ生成に必要な情報をスプールファイルから読み込み、印刷処理（出力処理）を行う。
【００８１】
印刷処理では、スプールファイル３０３に格納された印刷要求命令（ＵＤＬ）と、ジョブ設定情報（ＪＤＦ）とをデスプーラ３０５においてグラフィックエンジン２０２が認識可能な形式、ウインドウズ（登録商標）ＯＳではＧＤＩ関数に変換する。そのＧＤＩ関数を、グラフィックエンジン２０２に転送する。印刷処理が終えたならば、続くステップ７１２において１ページの印刷データ生成終了の通知をスプールファイルマネージャ３０４に対して行う。そしてステップ７０９へ戻り、ステップ７０７で保存しておいた印刷可能な物理ページＩＤすべてについて印刷処理を行うまで繰り返す。
【００８２】
以上の手順で、デスプーラは、スプールされた中間コードを印刷命令（ＧＤＩ関数）に変換して物理ページ単位で出力する。
【００８３】
＜プリンタによる処理＞
図１５は、ステップ７１１で生成したプレビュー属性の印刷命令を受け取った、プリンタのプロセスの詳細をフローチャートで示したものである。
【００８４】
ステップ１５０１で、受信したプリンタ制御コマンドに含まれるジョブの種別を判定する。ステップ１５０２でプレビュージョブであると判定されると、ステップ１５０３へ進む。ステップ１５０３では、受信したプリンタ制御コマンドを解析し、プレビューに必要な情報の収集を行う。プレビューに必要な情報が、各物理ページの給紙段、排紙先、ステイプル位置などの情報であれば、処理時間がかかるＲＩＰ処理（ビットマップへの展開処理）を行うことなく、ジョブ設定情報の解析で情報の収集は可能である。プレビューに必要な情報として、白紙判定、カラーモノクロ判定など、ＲＩＰ処理が必要な情報が含まれている場合は、このステップでＲＩＰ処理を実施することで情報収集することになる。
【００８５】
ステップ１５０４では、ステップ１５０３収集した情報からプレビュー情報（ＪＤＦＰ）を作成し、ステップ１５０５でプレビュージョブを送ってきた要求元（本実施形態ではホストコンピュータ３０００）に返信する。
【００８６】
続いて、ステップ１５０６において、受信したプリンタ制御コマンドが既に登録されたジョブのものかどうかを判定する。既に登録されているとは、受信したプリンタ制御コマンドと同一のジョブＩＤのジョブに関する印刷データやプレビュー情報が、プリンタ１５００に登録されていることである。受信したプリンタ制御コマンドが未登録ジョブに属する場合は、ステップ１５１０で、印刷装置２０００の描画処理部２００５でＲＩＰ処理を行い、ステップ１５０４で生成したプレビュー情報（ＪＤＦＰ）、オリジナルデータと共にＨＤ２０１１に保存して処理を終了する。
【００８７】
ステップ１５０６で、登録済みジョブと判定された場合には、ステップ１５０７で、登録済みジョブの印刷設定と受信したジョブの印刷設定とを、それぞれのジョブ設定情報を参照して比較する。登録済みジョブに関してプリンタ制御コマンドを受信した場合、たとえばそのコマンドにジョブ制御情報やいずれかのページの印刷データが含まれていれば、そのジョブ制御情報と既に保存されているプレビュー情報のジョブ制御情報とを比較する。また、受信した印刷データと保存されている印刷データとを比較する。プリンタに保存された情報がプレビュー情報である場合には、受信したプリンタ制御コマンドからプレビュー情報を構成して同じ形式に変換してから比較しても良い。
【００８８】
ステップ１５０８で印刷設定に相違があると判定された場合は、ステップ１５０９で設定変更が影響する部分のＲＩＰ処理を行い、新たに生成したプレビュー情報（ＪＤＦＰ）と共にＨＤ２０１１に保存して処理を終了する。すなわち、未変更の部分があれば、新たに生成したものを既に保存されているイメージデータにマージ（併合）する。未変更の部分がなければ上書きでよい。また、ステップ１５１６で排紙処理を実施し、ステップ１５１８へ分岐する。なおＲＩＰ処理はプレビュ情報送信後に行っても良い。
【００８９】
ステップ１５０２でプレビュージョブではないと判断された場合、ステップ１５１１で、受信したプリンタ制御コマンドのジョブＩＤを、ＨＤ２０１１に登録されているジョブＩＤから検索する。ヒットした場合、受信したプリンタ制御コマンドのジョブＩＤが既に登録されているのでステップ１５１２へ分岐する。ステップ１５１２で、受信したプリンタ制御コマンドが印刷中止（キャンセル）指示と判定された場合は、ステップ１５１８へ分岐し、印刷指示の場合は、ステップ１５１３へ分岐する。
【００９０】
ステップ１５１３で、保存済みジョブの印刷設定と受信したジョブの印刷設定とを、それぞれのジョブ設定情報を参照して比較する。ステップ１５１４で印刷設定に相違があると判定されたときは、ステップ１５１５で、設定変更が影響する部分のＲＩＰ処理を行い、新たに生成したイメージデータをＨＤ２０１１に保存する。このとき、未変更の部分があれば、新たに生成したものを既に保存されているイメージデータにマージする。ステップ１５１６で排紙処理を実施し、ステップ１５１８へ分岐する。
【００９１】
ステップ１５１４で印刷設定に変化がないと判定された場合は、ＨＤ２０１１に格納されているＲＩＰ済みデータをステップ１５１６で排紙して処理を終了する。ステップ１５１１で、ＨＤ２０１１に保存されていないジョブと判断された場合はステップ１５１７でＲＩＰ処理を実行し、ＨＤ２０１１に保存し、ステップ１５１６で排紙する。続くステップ１５１８で、スプールファイル３０３内の対応するジョブのファイルを全て削除し、処理を終了する。
【００９２】
＜プレビュー処理＞
図１４は、プレビューユニット３１０における、プレビュープロセスの詳細をフローチャートで示したものである。プレビューア３０６は、デスプーラ３０５が起動されたあと、ステップ１４０１で、プリンタからのイベントを待機している。イベントとはたとえばプレビュー情報の送信を含む。イベントがプリンタから返ってくると、ステップ１４０２で、送られてきたプレビュー情報（ＪＤＦＰ）を読み込む。
【００９３】
続くステップ１４０３で、スプールファイル３０３から、プレビュー情報のジョブＩＤに対応する（一致する）ジョブＩＤのページ描画ファイル（ＵＤＬ）を読み出す。ステップ１４０４で、プレビュー情報（ＪＤＦＰ）に従って、ページ描画ファイル（ＵＤＬ）のプレビュー描画処理を実施する（プレビュー表示）。
【００９４】
ステップ１４０５でユーザからのイベントを待つ。ステップ１４０６で、ユーザがプレビュー表示した設定のまま印刷を実行するときはステップ１４０７で印刷指示命令を生成し、プリンタに発行し、ステップ１４１２へ分岐する。生成する印刷指示命令は、プレビューアからの要求に従い、プリンタドライバで生成される。この印刷命令指示は、プリンタに格納済みジョブをそのまま印刷出力するための命令であるから、印刷設定の変更を伴わず、ジョブＩＤだけで構成される単純なものである。
【００９５】
ステップ１４０６で、印刷続行ではない場合は、ステップ１４０８へ分岐する。ステップ１４０８でユーザがこのジョブの印刷中止を決定したときはステップ１４０９で印刷中止命令を生成し、ステップ１４１２へ分岐する。
【００９６】
ステップ１４０８で印刷設定の変更をしたときは、ステップ１４１０へ分岐する。ステップ１４１０で、印刷設定を変更したときは、１４０２で受け取ったプレビュー情報（ＪＤＦＰ）からジョブ設定情報（ＪＤＦ）を作成し、デスプーラ３０５を使って再度印刷命令をプリンタに送出しなおす。その際、変更部分だけを送ることで処理を高速化することが可能である。このステップは設定変更エディタ３０７により実行される。
【００９７】
再度プレビューが要求されているときは、続くステップ１４１１で判定して、ステップ１４０１へ分岐する。プレビューが要求されていないときは、ステップ１４１２で、スプールファイル３０３内の、プレビュー情報（ＪＤＦＰ）、ページ描画ファイル（ＵＤＬ）を削除し処理を終了する。
【００９８】
以上が、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５、印刷装置２０００、プレビューア３０６を用いた印刷プレビュー、印刷処理の流れである。
【００９９】
＜ジョブ設定情報及びプレビュー情報＞
ここで図１２を参照して、プレビュージョブについて説明する。プレビュージョブは、この例では、ジョブ設定情報（ＪＤＦ）１２０１と、印刷命令（１２０２〜１２０６）で構成される。これら情報が、プリンタ制御コマンドとしてプリンタに送信される。図１２では模式的に表現されている。ジョブ設定情報（ＪＤＦ）１２０１は、図１２では１０個のレコードを含み、それぞれのレコードの項目名（インデックス）とその内容はタブで区切られ、それぞれのレコードは改行コードで区切られてたテキストファイルとして与えられている。その内容として、ジョブ設定情報（ＪＤＦ）１２０１には、プレビューか印刷かの種別を示すジョブ種１２０１ａ、ジョブ名（ジョブＩＤ）１２０１ｂのほか、印刷設定情報から複製された印刷設定が含まれている。
【０１００】
Windows（登録商標）プリンティングシステムにおいては、印刷前に、プリンタドライバの印刷設定で設定された設定がジョブ全体を対象として施されるため、ジョブ設定情報１２０１のように、ジョブ全体に対してひとつの設定データが作成されることになる。
【０１０１】
ところが、ＰＤＬコマンドなどで作られる印刷命令については、Ａ４縦で始まるＬ１、Ｌ２に続いて、Ｌ３はＡ５縦、Ｌ４はＡ４横、Ｌ５はＡ４縦などのように、ジョブの途中で切り替えることが可能である。
【０１０２】
図１０のプレビュー情報１００１は、ジョブ設定情報１２０１と、印刷命令（１２０２〜１２０６）を受け取った、プリンタ２０００が作成したプレビュー情報（ＪＤＦＰ）の一例である。プレビュー情報にはジョブ設定情報と物理ページ情報とが含まれる。また物理ページ情報には、ステープル等の物理ページに表れるフィニッシング処理を示すフィニッシング情報や、その物理ページを構成する構成論理ページ情報が含まれる。
【０１０３】
プレビュー情報１００１が意味することは、模式的にページ１００２，１００３，１００４，１００５に表現されている。すなわち、Ａ３横用紙の両面に対して、2-upに分けたそれぞれの領域に順に、Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５が割り当てられている。このようにプレビュー情報を用いて、印刷される出力物を再構成することができる。ここで着目すべきは、構成論理ページ情報１０１０である。この情報は、プレビュー情報を作成したプリンタが、論理ページのレイアウトを記述した情報である。すなわち、ひとつの物理ページに含まれる論理ページＩＤ、そのサイズ、回転角度、変倍後のサイズ（変倍率でも良い）、基準位置座表等が含まれている。この構成論理ページ情報を参照することで、プリンタが印刷する物理ページと同じひとつの物理ページを再構成できる。
【０１０４】
このほか、各ページごとにステープル位置情報、白紙判定情報、課金情報が含まれている。ステープル位置情報はステープル位置の再構成のために、白紙判定情報は、その内部のイメージの有無を示すために参照される。
【０１０５】
一方、図１３のプレビュー情報１３０１も、図１２のジョブ設定情報１２０１と、印刷命令（１２０２〜１２０６）を受け取ったプリンタが作成した、図１０とは異なるプレビュー情報（ＪＤＦＰ）の例である。図１０のプレビュー情報１００１とは異なり、裏面は表面とは上下がひっくり返っていることが、構成論理ページ情報１３１０に含まれる論理ページの回転角度で表現されている。また、Ｌ４ページは、横方向のままＡ４用紙幅に縮小されたレイアウトになることを示している。
【０１０６】
このように、プリンタは、プリンタ毎のジョブ設定情報の解釈に従って行う論理ページのレイアウトやフィニッシング処理の情報をプレビュー情報に含めて生成する。
【０１０７】
図１８のジョブ設定情報１８０１は、プレビュー情報１００１を受け取ったプレビューアで、一ページ目裏の印刷設定を、プレビュー情報１３０１の１ページ目裏の設定へと変更した場合に生成される印刷指示情報である。設定変更エディタ３０７は、ジョブ設定情報と、設定が変更された物理ページについて、図１８のような印刷指示を作成してプリンタドライバに送信する。これがプリンタドライバではプリンタ制御コマンドに変換されてプリンタに送信される。図１２の例では、ジョブ設定情報１２０１と、ページＬ３およびＬ４に関する印刷命令がプリンタ制御コマンドに変換され、プリンタに送信される。プリンタでは、この受信した差分を、既に保存されている印刷データとマージして保存すると共に新たなプレビュー情報を生成する。それをホストコンピュータ３０００に送信する。その後ＲＩＰ処理してイメージデータを生成して保存する。差分は保存されている当該上部のデータにマージされる。
【０１０８】
図１９のメッセージ１９０１は、プレビュー情報１００１を受け取ったプレビューアで、印刷中止指示を示すものである。印刷中止命令には、ジョブ種と中止するジョブＩＤが含まれている。なお図１９のジョブ種を「印刷」とすれば、印刷設定に変更がない場合の印刷命令となる。
【０１０９】
このように、プリンタは機種、メーカなどにより、アプリケーションからは同じ印刷設定で同じデータを出力しても出力結果は多種多様であるが、本実施形態によれば、こうした機種による動作の違いを反映した完全なプレビューを実現する。
【０１１０】
さらに、プレビュー時には既にプリンタに印刷命令が送られているため、印刷を決定してからの印刷終了までの時間を短縮することが可能である。
【０１１１】
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１２】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施形態を示す印刷制御装置の構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図４】本発明におけるプリンタについて説明した図である。
【図５】スプーラ３０５における処理を示したフローチャートである。
【図６】スプールファイルマネージャ３０４における印刷制御について示したフローチャートである。
【図７】デスプーラ３０５における処理を示したフローチャートである。
【図８】プリンタドライバの印刷設定画面の一例である。
【図９】スプールファイルをリスト表示した画面の一例である。
【図１０】プレビュー情報（ＪＤＦＰ）の一例を示した図である。
【図１１】プレビュー画面の一例を示した図である。
【図１２】プレビュージョブの一例を示した図である。
【図１３】プレビュージョブの一例を示した図である。
【図１４】プレビュアのプレビュー処理を説明したフローチャートである。
【図１５】プリンタのプレビュー処理、印刷処理を説明したフローチャートである。
【図１６】従来のプレビュー処理のシステム全体の流れを説明した図である。
【図１７】本発明のプレビュー処理のシステム全体の流れを説明した図である。
【図１８】印刷指示ジョブの一例を示す図である。
【図１９】印刷中止ジョブの一例を示す図である。
【図１】
0004693664.tif 000002
【図２】
0004693664.tif 000003
【図３】
0004693664.tif 000004
【図４】
0004693664.tif 000005
【図５】
0004693664.tif 000006
【図６】
0004693664.tif 000007
【図７】
0004693664.tif 000008
【図８】
0004693664.tif 000009
【図９】
0004693664.tif 000010
【図１０】
0004693664.tif 000011
【図１１】
0004693664.tif 000012
【図１２】
0004693664.tif 000013
【図１３】
0004693664.tif 000014
【図１４】
0004693664.tif 000015
【図１５】
0004693664.tif 000016
【図１６】
0004693664.tif 000017
【図１７】
0004693664.tif 000018
【図１８】
0004693664.tif 000019
【図１９】
0004693664.tif 000020