(57)【特許請求の範囲】
【請求項１】
印刷装置で解釈可能な印刷ジョブを生成するプリンタドライバが動作可能なホストコンピュータとしての印刷制御装置における印刷制御方法において、
アプリケーションによって発行され、グラフィックエンジンを介して生成された描画情報から変換された中間データとして生成されるスプールファイルを、あらかじめ設定された印刷部数とともに記憶部に保存する保存工程と、
印刷の指示が試し刷りの指示か否かを判定する判定工程と、
前記印刷の指示が試し刷りの指示であったと判定した場合、前記保存工程で保存された前記印刷部数を１部に設定する設定工程と、
前記記憶部に保存されている中間データとしてのスプールファイルを読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記設定工程によって１部に設定された印刷部数とから印刷ジョブを生成する第１生成工程と、
前記第１生成工程によって生成された印刷ジョブを前記印刷装置で印刷すべく印刷装置へ送出する第１送出工程と、
前記第１送出工程により前記印刷ジョブを送出後、当該印刷ジョブの内容を変更する要求があるか否かを判定する変更要求判定工程と、
前記変更要求判定工程によって当該印刷ジョブの内容を変更する要求がないと判定された場合、前記保存工程において記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記あらかじめ設定された印刷部数から前記設定工程において設定された１部を差し引いた印刷部数とから印刷ジョブを生成する第２生成工程と、
前記第２生成工程によって生成された印刷ジョブを前記印刷装置で印刷すべく送出する第２送出工程と、
前記保存工程により保存された前記描画情報から変換された中間データとしてのスプールファイルは前記印刷装置で印刷すべく送出する形式に変換される以前の中間データであり、前記印刷指示が試し刷りの指示と判定された場合には、前記第１送出工程により前記印刷ジョブを送出後、前記保存工程において保存された前記中間データとしてのスプールファイルに関して、前記プリンタドライバによって提供されるユーザインタフェースを介して入力された設定値に従って印刷設定の変更を行う変更工程とを備え、
前記変更要求判定工程では、印刷指示が試し刷りの指示の場合、前記第１送出工程により前記印刷ジョブを送出後、前記保存工程において保存された中間データとしてのスプールファイルに関して前記印刷設定の変更を行うか否かを判定し、
前記変更要求判定工程において前記印刷設定の変更を行うと判定した場合、あらかじめ設定された印刷部数に戻す工程を更に備え、
前記第２生成工程は、前記変更要求判定工程において前記印刷設定の変更を行うと判定した場合、前記保存工程において記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、前記変更工程によって変更された印刷設定に基づく描画情報と前記あらかじめ設定された印刷部数とに従って印刷ジョブを生成することを特徴とする印刷制御方法。
【請求項２】
前記判定工程において印刷指示が試し刷りの指示でないと判定された場合、前記記憶部に保持されている前記中間データとともに前記あらかじめ設定された印刷部数を、前記記憶部から削除する削除工程をさらに備えることを特徴とする請求項１に記載の印刷制御方法。
【請求項３】
前記変更工程は、複数ページを１ページに縮小して印刷するＮアップ設定、または、ウォーターマークの設定への変更を可能とすることを特徴とする請求項１または２に記載の印刷制御方法。
【請求項４】
印刷装置で解釈可能な印刷ジョブを生成するプリンタドライバが動作可能なホストコンピュータとしての印刷制御装置であって、
アプリケーションによって発行され、グラフィックエンジンを介して生成された描画情報から変換された中間データとして生成されるスプールファイルを、あらかじめ設定された印刷部数とともに記憶部に保存する保存手段と、
印刷の指示が試し刷りの指示か否かを判定する判定手段と、
前記印刷の指示が試し刷りの指示であったと判定した場合、前記保存手段で保存された前記印刷部数を１部に設定する設定手段と、
前記記憶部に保存されている中間データとしてのスプールファイルを読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記設定手段によって１部に設定された印刷部数とから印刷ジョブを生成する生成手段と、
前記生成手段によって生成された印刷ジョブを前記印刷装置で印刷すべく印刷装置へ送出する送出手段と、
前記送出手段により前記印刷ジョブを送出後、当該印刷ジョブの内容を変更する要求があるか否かを判定する変更要求判定手段とを有し、
前記生成手段は、前記変更要求判定手段によって当該印刷ジョブの内容を変更する要求がないと判定された場合、前記保存手段により記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記あらかじめ設定された印刷部数から前記設定手段によって設定された１部を差し引いた印刷部数とから印刷ジョブを生成し、
前記送出手段は、前記生成手段によって生成された印刷ジョブを前記印刷装置で印刷すべく送出し、
前記保存手段により保存された前記描画情報から変換された中間データとしてのスプールファイルは前記印刷装置で印刷すべく送出する形式に変換される以前の中間データであり、前記印刷指示が試し刷りの指示と判定された場合には、前記送出手段により前記印刷ジョブを送出後、前記保存手段によって保存された前記中間データとしてのスプールファイルに関して、前記プリンタドライバによって提供されるユーザインタフェースを介して入力された設定値に従って印刷設定の変更を行う変更手段を更に有し、
前記変更要求判定手段は、印刷指示が試し刷りの指示の場合、前記第１送出手段により前記印刷ジョブを送出後、前記保存手段によって保存された中間データとしてのスプールファイルに関して前記印刷設定の変更を行うか否かを判定し、
前記変更要求判定手段により前記印刷設定の変更を行うと判定した場合、あらかじめ設定された印刷部数に戻す手段を更に有し、
前記第２生成手段は、前記変更要求判定手段により前記印刷設定の変更を行うと判定した場合、前記保存手段によって記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、前記変更手段により変更された印刷設定に基づく描画情報と前記あらかじめ設定された印刷部数とに従って印刷ジョブを生成することを特徴とする印刷制御装置。
【請求項５】
前記判定手段により印刷指示が試し刷りの指示でないと判定された場合、前記記憶部に保持されている前記中間データとともに前記あらかじめ設定された印刷部数を、前記記憶部から削除する削除手段をさらに備えることを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記変更手段は、複数ページを１ページに縮小して印刷するＮアップ設定、または、ウォーターマークの設定への変更を可能とすることを特徴とする請求項４または５に記載の印刷制御装置。
【請求項７】
ホストコンピュータを、印刷装置で解釈可能な印刷ジョブを生成するプリンタドライバが動作可能な印刷制御装置として機能させるためのプログラムを記録したコンピュータ可読記憶媒体であって、
アプリケーションによって発行され、グラフィックエンジンを介して生成された描画情報から変換された中間データとして生成されるスプールファイルを、あらかじめ設定された印刷部数とともに記憶部に保存する保存手段と、
印刷の指示が試し刷りの指示か否かを判定する判定手段と、
前記印刷の指示が試し刷りの指示であったと判定した場合、前記保存手段で保存された前記印刷部数を１部に設定する設定手段と、
前記記憶部に保存されている中間データとしてのスプールファイルを読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記設定手段によって１部に設定された印刷部数とから印刷ジョブを生成する第１生成手段と、
前記第１生成手段によって生成された印刷ジョブを前記印刷装置で印刷すべく印刷装置へ送出する第１送出手段と、
前記第１送出手段により前記印刷ジョブを送出後、当該印刷ジョブの内容を変更する要求があるか否かを判定する変更要求判定手段と、
前記変更要求判定手段によって当該印刷ジョブの内容を変更する要求がないと判定された場合、前記保存手段により記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記あらかじめ設定された印刷部数から前記設定手段によって設定された１部を差し引いた印刷部数とから印刷ジョブを生成する第２生成手段と、
前記第２生成手段によって生成された印刷ジョブを前記印刷装置で印刷すべく送出する第２送出手段と、
前記保存手段により保存された前記描画情報から変換された中間データとしてのスプールファイルは前記印刷装置で印刷すべく送出する形式に変換される以前の中間データであり、前記印刷指示が試し刷りの指示と判定された場合には、前記第１送出手段により前記印刷ジョブを送出後、前記保存手段により保存された前記中間データとしてのスプールファイルに関して、前記プリンタドライバによって提供されるユーザインタフェースを介して入力された設定値に従って印刷設定の変更を行う変更手段としてホストコンピュータを機能させ、
前記変更要求判定手段は、印刷指示が試し刷りの指示の場合、前記第１送出手段により前記印刷ジョブを送出後、前記保存手段により保存された中間データとしてのスプールファイルに関して前記印刷設定の変更を行うか否かを判定し、
前記変更要求判定手段によって前記印刷設定の変更を行うと判定した場合、あらかじめ設定された印刷部数に戻す手段として更にホストコンピュータを機能させ、
前記第２生成手段は、前記変更要求判定手段によって前記印刷設定の変更を行うと判定した場合、前記保存手段により記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、前記変更手段によって変更された印刷設定に基づく描画情報と前記あらかじめ設定された印刷部数とに従って印刷ジョブを生成するためのコンピュータプログラムを記録したことを特徴とするコンピュータ可読の記憶媒体。
【請求項８】
さらに、前記判定手段により印刷指示が試し刷りの指示でないと判定された場合、前記記憶部に保持されている前記中間データとともに前記あらかじめ設定された印刷部数を、前記記憶部から削除する削除手段としてホストコンピュータを機能させるためのコンピュータプログラムを記録したことを特徴とする請求項７に記載の記憶媒体。
【請求項９】
前記変更手段は、複数ページを１ページに縮小して印刷するＮアップ設定、または、ウォーターマークの設定への変更を可能とするコンピュータプログラムを記録したことを特徴とする請求項７または８に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御方法及び装置に関するもので、特にパーソナルコンピュータ等の情報処理とプリンタ又は複合機から成るシステムにおいて試し刷り機能を有する印刷制御方法及び装置に関するものである。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ等の情報処理装置等とプリンタや複合機等の印刷装置とから成るプリントシステムにおいて、ラスタライズされたデータを印刷装置のハードディスク等にスプールし、そのスプールされたデータを用いて試し刷りを行う機構が存在した。
【０００３】
また、そのようなプリントシステムでは、試し刷りの後、データがスプールされている印刷ジョブについて、ソートの仕方やステープルなどのフィニッシング機能の指定や、印刷部数、給紙口などの設定を変更することが可能であった。
【０００４】
【発明が解決しようとする課題】
しかしながらこのようなプリントシステムにおいては、試し刷り機能や試し刷り後の設定変更機能が可能であるか否かは、印刷装置による試し刷り機能のサポートの有無といったソフトウエア環境や、データをスプールするためのハードディスクの有無やメモリ容量などといった印刷装置のハードウエア環境に依存していた。
【０００５】
また、試し刷りの後、部数、フィニッシング機能、給紙口を変更することは可能であったが、スプールされているデータがラスタデータであったために、ラスタデータそのものを再描画しなければならないような設定変更、例えばＮアップ印刷等の出力体裁を変更すること、ウォーターマーク等の追加情報を変更することができないという欠点があった。なお、Ｎアップ印刷機能とは、１枚のシートの１面に、アプリケーション等で作成されたＮページ分の画像を必要に応じて変倍して配置し、印刷する機能のことである。
【０００６】
また、試し刷りの後、設定変更を行わないでそのまま印刷する場合、ユーザの所望する部数より試し刷りの分だけ多くの印刷結果を得ることになるという欠点があった。
【０００７】
本発明は上記従来例に鑑みて成されたもので、印刷装置の有する機能に関わらず、生成した印刷ジョブについて試し刷りを行う試し刷り機能を実現できる印刷制御方法および装置および印刷システムを提供することを目的とする。
【０００８】
また、試し刷り印刷後に、ラスタデータの再生成をともなう印刷設定の変更を行える印刷制御方法および装置および印刷システムを提供することを目的とする。
【０００９】
また、試し刷りによる記録媒体などの消耗品の浪費を防止することできる印刷制御方法および装置および印刷システムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成からなる。すなわち、印刷装置で解釈可能な印刷ジョブを生成するプリンタドライバが動作可能なホストコンピュータとしての印刷制御装置における印刷制御方法において、アプリケーションによって発行され、グラフィックエンジンを介して生成された描画情報から変換された中間データとして生成されるスプールファイルを、あらかじめ設定された印刷部数とともに記憶部に保存する保存工程と、印刷の指示が試し刷りの指示か否かを判定する判定工程と、前記印刷の指示が試し刷りの指示であったと判定した場合、前記保存工程で保存された前記印刷部数を１部に設定する設定工程と、前記記憶部に保存されている中間データとしてのスプールファイルを読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記設定工程によって１部に設定された印刷部数とから印刷ジョブを生成する第１生成工程と、前記第１生成工程によって生成された印刷ジョブを前記印刷装置で印刷すべく印刷装置へ送出する第１送出工程と、前記第１送出工程により前記印刷ジョブを送出後、当該印刷ジョブの内容を変更する要求があるか否かを判定する変更要求判定工程と、前記変更要求判定工程によって当該印刷ジョブの内容を変更する要求がないと判定された場合、前記保存工程において記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、少なくとも当該中間データとしてのスプールファイルに基づく描画情報と前記あらかじめ設定された印刷部数から前記設定工程において設定された１部を差し引いた印刷部数とから印刷ジョブを生成する第２生成工程と、前記第２生成工程によって生成された印刷ジョブを前記印刷装置で印刷すべく送出する第２送出工程と、前記保存工程により保存された前記描画情報から変換された中間データとしてのスプールファイルは前記印刷装置で印刷すべく送出する形式に変換される以前の中間データであり、前記印刷指示が試し刷りの指示と判定された場合には、前記第１送出工程により前記印刷ジョブを送出後、前記保存工程において保存された前記中間データとしてのスプールファイルに関して、前記プリンタドライバによって提供されるユーザインタフェースを介して入力された設定値に従って印刷設定の変更を行う変更工程とを備え、前記変更要求判定工程では、印刷指示が試し刷りの指示の場合、前記第１送出工程により前記印刷ジョブを送出後、前記保存工程において保存された中間データとしてのスプールファイルに関して前記印刷設定の変更を行うか否かを判定し、前記変更要求判定工程において前記印刷設定の変更を行うと判定した場合、あらかじめ設定された印刷部数に戻す工程を更に備え、前記第２生成工程は、前記変更要求判定工程において前記印刷設定の変更を行うと判定した場合、前記保存工程において記憶部に保存された前記中間データとしてのスプールファイルを再度読み出し、前記プリンタドライバを用いて、前記変更工程によって変更された印刷設定に基づく描画情報と前記あらかじめ設定された印刷部数とに従って印刷ジョブを生成する。
【００１５】
【発明の実施の形態】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。
【００１６】
先ず、第１の実施形態に係るプリンタ制御システムの構成を図１のブロック図を参照して説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Local Area Network：ローカルエリアネットワーク），ＷＡＮ（Wide Area Network：広域ネットワーク）等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００１７】
実施形態に係るプリント制御システムは、ホストコンピュータ３０００とプリンタ１５００とから構成されている。ホストコンピュータ３０００は、ＣＰＵ１とＲＡＭ２と、ＲＯＭ３とキーボードコントローラ（ＫＢＣ）５と、ＣＲＴコントローラ（ＣＲＴＣ）６とディスクコントローラ（ＤＫＣ）７と、プリンタコントローラ（ＰＲＴＣ）８と、キーボード（ＫＢ）９と、ＣＲＴディスプレイ（ＣＲＴ）１０と、外部メモリ１１とを備えている。
【００１８】
先ず、ホストコンピュータ３０００各部の構成を詳述すると、ＣＰＵ１はシステムバスに接続された各デバイスを統括的に制御する中央処理装置であり、ＲＯＭ３のプログラム用ＲＯＭ３ｂ（後述）或いは外部メモリ１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。また、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴディスプレイ１０上でのＷＳＹＩＷＹＧ（What You See Is What You Get：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）を可能としている。
【００１９】
更に、ＣＰＵ１はＣＲＴディスプレイ１０上のマウスカーソル（図示略）等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ１５００を使用して印刷する際、印刷の設定に関するウインドウを開き、プリンタ１５００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００２０】
ＲＡＭ２はＣＰＵ１の主メモリ、ワークエリア等として機能する。ＲＯＭ３はフォント用ＲＯＭ３ａと、プログラム用ＲＯＭ３ｂと、データ用ＲＯＭ３ｃとを備えている。フォント用ＲＯＭ３ａ或いは外部メモリ１１は、上記文書処理の際に使用するフォントデータなどを記憶する。プログラム用ＲＯＭ３ｂ或いは外部メモリ１１は、ＣＰＵ１の制御プログラムであるオペレーティングシステム（以下、ＯＳ）等を記憶する。データ用ＲＯＭ３ｃ或いは外部メモリ１１は、上記文書処理等を行う際に使用する各種データを記憶する。
【００２１】
キーボードコントローラ（ＫＢＣ）５は、キーボード９やポインティングデバイス（図示略）からのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。ディスクコントローラ（ＤＫＣ）７は、外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。キーボード９は、各種キーを備えている。
【００２２】
ＣＲＴディスプレイ（ＣＲＴ）１０は、図形，イメージ文字，表等を表示する。外部メモリ１１はハードディスク（ＨＤ），フロッピーディスク（ＦＤ）等から構成されており、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）等を記憶する。
【００２３】
上述したＣＰＵ１，ＲＡＭ２，ＲＯＭ３，キーボードコントローラ（ＫＢＣ）５，ＣＲＴコントローラ（ＣＲＴＣ）６，ディスクコントローラ（ＤＫＣ）７，プリンタコントローラ（ＰＲＴＣ）８は、コンピュータ制御ユニット２０００上に配設されている。
【００２４】
次に、プリンタ１５００各部の構成を詳述すると、ＣＰＵ１２は、システムバス１５に接続された各デバイスを統括的に制御する中央処理装置であり、ＲＯＭ１３のプログラム用ＲＯＭ１３ｂ（後述）に記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいて印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる構成となっている。
【００２５】
ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ１３は、フォント用ＲＯＭ１３ａと、プログラム用ＲＯＭ１３ｂと、データ用ＲＯＭ１３ｃとを備えている。フォント用ＲＯＭ１３ａは、上記出力情報を生成する際に使用するフォントデータなどを記憶する。プログラム用ＲＯＭ１３ｂは、ＣＰＵ１２の制御プログラム等を記憶する。データ用ＲＯＭ１３ｃは、プリンタ１５００にハードディスク等の外部メモリ１４が接続されていない場合には、ホストコンピュータ３０００上で利用される情報等を記憶する。
【００２６】
入力部１８は、双方向性インタフェース２１を介してプリンタ１５００とホストコンピュータ３０００との間におけるデータの送受を行う。印刷部インタフェース（Ｉ／Ｆ）１６は、ＣＰＵ１２と印刷部１７との間におけるデータの送受を行う。メモリコントローラ（ＭＣ）２０は、外部メモリ１４のアクセスを制御する。印刷部１７は、ＣＰＵ１２の制御に基づき印刷動作を行う。操作部１５０１は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
【００２７】
外部メモリ１４は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ１５００にオプションとして接続される。外部メモリ１４は、フォントデータ，エミュレーションプログラム，フォームデータ等を記憶するものであり、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。尚、外部メモリ１４は、１個に限らず、複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、ＮＶＲＡＭ（図示略）を有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００２８】
上述したＣＰＵ１２，ＲＡＭ１９，ＲＯＭ１３，入力部１８，印刷部インタフェース（Ｉ／Ｆ）１６，メモリコントローラ（ＭＣ）２０は、プリンタ制御ユニット１０００上に配設されている。
【００２９】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成を示すブロック図である。図２において、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、上記図１の外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。
【００３０】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤやＣＤ−ＲＯＭ或いはネットワーク（以上図示略）を経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、該アプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００３１】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ(Graphic Device Interface)関数からＤＤＩ(Device Driver Interface)関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００３２】
第１の実施形態に係るプリンタ制御システムは、上記図１及び図２で示すプリンタ１５００とホストコンピュータ３０００からなる印刷システムに加えて、更に図３に示す如くアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００３３】
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル３０３を生成する構成を示したものである。上記図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのは、プリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタ１５００の制御コマンドヘ変換し終った時点である。
【００３４】
これに対して、図３のシステムでは、アプリケーション２０１が印刷処理から開放されるのは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮアップ印刷等、アプリケーションの持たない機能を実現することができる。
【００３５】
これらの目的のために、上記図２のシステムに対し、図３の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。尚、印刷データの加工を行うためには、通常、プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する。
【００３６】
以下、図３の詳細を説明する。図示の如く、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。
【００３７】
スプーラ３０２は受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をプリンタドライバ２０３から取得してスプールファイル３０３に保存する。この中には印刷部数も含まれる。尚、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更に、スプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。
【００３８】
その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードの印刷処理を行うように指示する。
【００３９】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン２０２経由で出力する。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。プリンタドライバ２０３はプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００４０】
図７は、第１の実施例の形態に係るプリンタ１５００の一例としてレーザビームプリンタ（以下、ＬＢＰと略称）の場合の内部構造を示す断面図である。
【００４１】
ＬＢＰとしてのプリンタ１５００は、文字パターンデータ等を入力して記録紙に印刷することができる。
【００４２】
プリンタ１５００は、供給されるプリンタ制御コマンド等を基に記録媒体である記録用紙上に像を形成するＬＢＰ本体７４０に、プリンタ制御ユニット１０００と、操作部１５０１とレーザドライバ７０２と、半導体レーザ７０３と、回転多面鏡７０５と、静電ドラム７０６と、現像ユニット７０７と、用紙カセット７０８と、搬送ローラ７１０と、外部メモリ７１１と、フェイスダウン排出部７１５と、排紙トレイ７１６とを備えている。
【００４３】
上記各部の構成を動作とともに詳述すると、プリンタ制御ユニット１０００は、ＬＢＰ本体７４０全体の制御及び文字パターン情報等を解析するものであり、主にプリンタ制御コマンドをビデオ信号に変換してレーザドライバ７０２に出力する。プリンタ制御ユニット１０００には、フォントデータやページ記述言語のエミュレーションプログラム等を供給する外部メモリ７１１を接続することもできる。操作部１５０１には、上述した如く操作のためのスイッチ及び表示手段（例えばＬＥＤ表示器）等が配設されている。
【００４４】
レーザドライバ７０２は半導体レーザ７０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ７０３から発射されるレーザ光７０４をオン・オフ切替えする。半導体レーザ７０３は、回転多面鏡７０５に向けてレーザ光を発射する。回転多面鏡７０５は、レーザ光７０４を左右方向に振り、静電ドラム７０６上を走査させる。静電ドラム７０６は、レーザ光７０４の走査により文字パターンの静電潜像がドラム表面に形成される。
【００４５】
現像ユニット７０７は、静電ドラム７０６周囲に配設されており、静電潜像はを現像する。現像後は、記録紙に転写される。用紙カセット７０８は、記録紙として例えばカットシートを収納する。給紙ローラ７０９及び搬送ローラ７１０は、給紙カセット７０８内のカットシート記録紙をＬＢＰ本体７４０内に送り込み、静電ドラム７０６に供給する。この場合、用紙カセット７０８の蓋部上面に設けられた手差しトレイ（図示略）からカットシート記録紙を供給することもできる。
【００４６】
定着部７１２は、カットシート記録紙に転写されたトナー像を加熱してカットシート記録紙上に定着させる。画像が形成された記録紙は、切り替えくさび７１３を上向きにした場合にはフェイスアップ排出部７１４から記録面を上にした状態で排紙トレイ７１６に排出されくさび７１３を下向きにした場合にはフェイスダウン排出部７１５から記録面を下にした状態で排出される。
【００４７】
＜スプールファイルマネージャによる処理＞
図４、図５、図６、図８、図１０はスプールファイルマネージャ３０４における、本発明の試し刷り印刷処理方法の大まかな処理フローを表した図である。これらを用いて本発明の概略を説明する。
【００４８】
図９は、中間コードがスプールされた状態のスプールファイルマネージャ３０４を表した一例である。図９においては、印刷ジョブ９０１がスプールされ、印刷待ち状態で保持されている。この一時停止の状態（印刷待ち状態）にさせるには、スプールファイルマネージャ３０４のユーザーインターフェース上から一時停止ボタン（不図示）を押したり、プリンタドライバのインターフェースから印刷データのストア等の属性を選択する等が考えられるがその方法は問わない。ストアが指定された場合、スプールファイル３０３にその情報が蓄えられ、スプールファイルマネージャ３０４は自動的にその状態になるものとする。その後、スプールファイルマネージャ３０４のユーザーインターフェース上から、印刷又は試し刷り印刷等が選択が可能となる。
【００４９】
なお、印刷データのストアが指示されると、印刷データは中間データに変換されてそのままスプールファイルとして保持される。この中間データは印刷実行が指示され、印刷が成功裡に完了するまで、あるいは削除が指示されるまで保持される。印刷実行は、たとえは図９のなかで印刷待ち状態のジョブを利用者が選択し、選択されたジョブに対して、メニュー中から「印刷」コマンドを指定することなどで開始される。
【００５０】
＜印刷命令の処理＞
さて、ユーザーの選択により、印刷に関する命令が来た場合、まず、図４の試し刷り印刷であるかの判定処理４０１が行われる。ここで印刷命令の種類が判定されるわけである。ここで、試し刷り印刷であると判定されると、次にスプールした印刷ジョブの部数設定が１部であるかの判定処理４０３が行われる。これはアプリケーション上からユーザーが所望した元々の印刷部数が１部であるかを判定する処理である。試し刷り印刷はスプールファイル３０３に複数部数の設定がなされていても、複数部数印刷する必要がない。そのため、元々の印刷部数が１部であれば、そのまま印刷プロセスにはいれるが、複数部数の設定がされていれば、部数設定を１部に設定し直して印刷プロセスにはいる必要がある。そのための判断をここで行う。
【００５１】
ここで、部数設定が１部ではない、つまり、複数部数の設定がされていると判断されれば、次の、印刷部数変更処理４０４が行われる。ここで、何部の印刷設定がされていても１部の印刷設定に変更される。ここで変更された印刷部数の設定をもとに次のジョブのデスプール要求処理４０６が行われ、デスプーラ３０５により、デスプール処理が行われる。デスプーラ３０５による処理は、ステップ４０１で試し刷り印刷ではないと判定され、ステップ４０２で通常印刷であると判定された場合と同様の処理になる。ただし、試し刷り後の通常印刷では、印刷部数は元々設定された値に戻されてから印刷される。
【００５２】
また、ジョブのデスプール要求処理４０６の後、スプールファイルマネージャ３０４はデスプーラ３０５より印刷状況のメッセージを受ける。このメッセージを受けたとき、デスプール手段からの印刷終了通知であるかの判定処理５０１が行われる。これによりデスプール処理が終了した、つまり、印刷が終了したかがわかる。
【００５３】
ここで、印刷終了であると判断されると、次の、該当するジョブが試し刷り印刷だったのかの判定処理５０２が行われる。これは終了通知を受けたジョブが試し刷り印刷であったのか、通常印刷であったのかを判定する処理である。ここで試し刷り印刷ではないと判定されれば、次の、印刷ジョブの削除処理５０４が行われる。これは、その印刷終了に伴い、スプールファイル３０３を削除する等の終了処理である。これにより、印刷が終了したジョブのスプールデータに関する情報は消去される。これにより、図９で表示されているようなユーザーインターフェース上にも表示されなくなり、ジョブ９０１は表示上から消去される。
【００５４】
試し刷り印刷の場合は、スプールファイル３０３やジョブに関する情報は削除しないので、印刷ジョブの削除処理５０４は行われない。
【００５５】
これらの一連の動作により、ホストコンピュータ側による試し刷り印刷が実現される。
【００５６】
＜試し刷り後の設定変更＞
また、試し刷りのあと印刷設定を変更することもできる。
【００５７】
これは、図９のようなスプールファイルマネージャ３０４より、ユーザーの操作により、設定変更用のユーザーインターフェース等を立ち上げ、既にスプールしてあるジョブに対し、印刷設定を変更する処理であり、図６を用いて説明する。
【００５８】
試し刷り印刷を行った結果、その印刷設定を何らかの理由により変更したい場合、ユーザーはスプールファイルマネージャ３０４を操作し、設定変更要求を出す。これはスプールファイルマネージャ３０４のユーザーインターフェース上にボタン等で予め用意されているものとする。
【００５９】
そのため、まず、利用者によるＵＩ（図９など）を介しての入力があると、それが設定変更要求であるかの判定処理６０１が行われる。
【００６０】
ここで、スプールファイルマネージャ３０４により、設定変更要求であると判定された場合、設定変更用のユーザーインターフェース表示処理６０２が行われる。これは、具体的な印刷設定の変更をユーザーに促すものであり、このスプールファイルシステムで独自に用意しても、プリンタドライバのユーザーインターフェースを用いてもよい。このユーザーインターフェースを使って、ユーザーが所望する設定に変更するわけである。例えば、Ｎアップ印刷の設定、ウォーターマークの付加等である。その後、この変更内容が、変更情報の取得処理６０３により取得され、この情報をもとに変更情報に伴う物理ページデータの作成処理６０４が行われる。物理ページデータとはデスプーラ３０５によるデスプール処理が行われる際に用いられる各ページのデータで、印刷媒体であるシートの一面分に相当する。印刷設定が変更された場合には、この物理ページデータを再生成する必要があるため、ここでそれを行う。
【００６１】
例えば、Ｎアップ印刷の指定が変更されると、アプリケーションで作成されたページを物理ページ上に再配置する必要がある。そのために、ビットマップデータがスプールされている場合には、この指定をスプールデータについて変更することはできない。しかしながら、本実施形態のシステムでは、中間データスプールされているために、Ｎアップ印刷のパラメータを変更して再度ビットマップデータを生成しなおすことで、スプールされた印刷ジョブについて設定を変更することができる。これは、他の設定についても同様である。
【００６２】
そして、前記したようにデスプーラ３０５に処理が移り、変更された印刷設定により印刷が可能となる。
【００６３】
以上のようにして、印刷装置の機能に関わらず、ホストコンピュータ側で中間データをスプールすることで、スプールしたジョブに関して試し刷りを実行することができる。
【００６４】
また、中間データを保持するために、すでにスプールしたデータに関する設定変更の自由度を向上させることができる。
【００６５】
［第２の実施の形態］
第２の実施形態においては、試し刷り印刷後の印刷部数を自動的に減算し、試し刷りの結果が利用者の意図にかなっている場合には、試し刷りの出力も印刷部数に繰り入れ、消耗品の消費を節約できる。
【００６６】
これを図８を用いて説明する。図８は、本実施形態において、第１の実施形態における図５にかわって遂行される処理手順である。なお、印刷命令を受けた際の処理手順は第１の実施形態と同様図４に従う。
【００６７】
図８において、ジョブのデスプール要求処理４０６の後、スプールファイルマネージャ３０４はデスプーラ３０５より印刷状況のメッセージを受ける。このメッセージを受けたとき、デスプール手段からの印刷終了通知であるかの判定処理８０１が行われる。これによりデスプール処理が終了した、つまり、印刷が終了したかがわかる。
【００６８】
ここで、印刷終了であると判断されると、次の、該当するジョブが試し刷り印刷だったのかの判定処理８０２が行われる。これは終了通知を受けたジョブが試し刷り印刷であったのか、通常印刷であったのかを判定する処理である。ここで試し刷り印刷ではないと判定されれば、次の、印刷ジョブの削除処理８０４が行われる。これは、その印刷終了に伴い、スプールファイル３０３を削除する等の終了処理である。これにより、スプールされたジョブに関する情報は消去され、図９で表示されているようなユーザーインターフェース上にも表示されなくなる。
【００６９】
一方、試し刷り印刷だった場合は、スプールファイル３０３やジョブに関する情報は削除しないので、印刷ジョブの削除処理８０４は行われない。
【００７０】
試し刷り印刷であると判定された場合、次の印刷部数が減算有効部数以上であるかの判定処理８０５が行われる。減算有効部数とは印刷部数の設定をどこまで減算するかの判定に使われる定数である。そして、ここで、印刷部数が減算有効部数以上であると判定されれば、次の部数の減算処理８０６が行われる。これは設定印刷部数を１減算する処理である。
【００７１】
例えば、減算有効部数が２であり、印刷部数２であれば、試し刷り印刷を行うことにより、残りの印刷部数が１となり、後に本印刷を行った際には自動的に印刷部数は１部となる。また、２度目の試し刷り印刷を行った場合、１度目の試し刷り印刷によって、印刷部数が既に１となっているので、これは減算有効部数を下回る。そのため、ここで部数の減算処理８０６は行われず、後に本印刷を行った場合にも１部の出力となる。
【００７２】
また、前記したように、試し刷り印刷の後、印刷設定を変更した場合、減算された印刷部数を初期値に戻す必要がある。このフローを表したのが図１０である。
【００７３】
まず、設定変更要求があったかの判定処理１００１が行われる。試し刷り印刷を行った結果、その印刷設定を何らかの理由により変更したい場合、ユーザーはスプールファイルマネージャ３０４を操作し、設定変更要求を出す。これは前記同様、スプールファイルマネージャ３０４のユーザーインターフェース上にボタン等で予め用意されているものとする。ここで、スプールファイルマネージャ３０４により、設定変更要求であると判定された場合、ここで、印刷部数データの初期化処理１００２が行われる。これにより、試し刷り印刷によって減算された印刷部数が最初に指定された印刷部数に自動的に初期化されるわけである。以降は前記同様の処理により印刷設定が変更され、デスプール処理が行われる。
【００７４】
これら一連の処理により、試し刷り印刷後の印刷部数を自動的に減算し、設定変更があった場合はその印刷部数を初期値に戻すことを可能とする。
【００７５】
以上の手順により、試し刷りの出力が意に利用者の叶うものであれば、本印刷時にはその試し刷りされた１部を除いた部数だけ印刷される。これにより、用紙やインク、トナーの浪費を抑制することができる。また、設定が変更された場合には、設定後の変更で指定された部数だけ印刷させることができる。
【００７６】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダー、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【００７７】
また、本発明の目的は、前述した実施形態の機能を実現する、図４乃至図６，図８，図１０の手順のソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【００７８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７９】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、印刷装置の有する機能に関わらず、生成した印刷ジョブについて試し刷りを行う試し刷り機能を実現できる。
【００８３】
また、試し刷り印刷後に、ラスタデータの再生成をともなう印刷設定の変更を行える。
【００８４】
また、試し刷りによる消耗品の浪費を防止することできる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す印刷制御装置の構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図４】本発明の処理手順を特徴付ける部分のフローチャートである。
【図５】本発明の処理手順を特徴付ける部分のフローチャートである。
【図６】本発明の処理手順を特徴付ける部分のフローチャートである。
【図７】レーザビームプリンタの内部構造を示す断面図である。
【図８】本発明の処理手順を特徴付ける部分のフローチャートである。
【図９】本発明におけるスプールファイルマネージャを例示する図である。
【図１０】本発明の処理手順を特徴付ける部分のフローチャートである。
【符号の説明】
２）図面の主要な部分を表わす符号の説明
１，１２  ＣＰＵ
２，１９  ＲＡＭ
３，１３  ＲＯＭ
４  システムバス
７  ディスクコントローラ
３０００  ホストコンピュータ
１５００  プリンタ
【図１】
0003907362.tif 000002
【図２】
0003907362.tif 000003
【図３】
0003907362.tif 000004
【図４】
0003907362.tif 000005
【図５】
0003907362.tif 000006
【図６】
0003907362.tif 000007
【図７】
0003907362.tif 000008
【図８】
0003907362.tif 000009
【図９】
0003907362.tif 000010
【図１０】
0003907362.tif 000011