(57)【要約】【課題】プリンタ〜ホストコンピュータの間のデータ通信負荷を低減し、複数部数の印刷出力においてプリンタのジョブスプール機能を確実に利用できるようにする。【解決手段】ホストコンピュータにおいて、プリンタがスプール記憶手段に一時的に記憶できる印刷データの最大データサイズを取得し（Ｓ５０５）、プリンタドライバが生成しテンポラリファイルに記憶した印刷データの総データサイズと、取得した最大記憶データサイズを比較し（Ｓ５０６）、テンポラリファイルに記憶した印刷データの総データサイズの方が取得した最大記憶データサイズよりも大きいと判定された場合、プリンタの最大記憶データサイズを再設定（Ｓ５０９）した後、前記一時記憶手段に記憶しておいた印刷データをプリンタヘ出力し、前記ジョブスプール機能を利用して指定回数だけ印刷させる（Ｓ５１０）。【選択図】図５
2006053946.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷制御コマンドをスプール記憶手段へ一時的に記憶し前記受信した印刷制御コマンドを該印刷制御コマンドで指定された回数分連続的に印刷処理することにより印刷出力を行なうジョブスプール機能を有するプリンタと通信可能な情報処理装置であって、
印刷要求に丁合い印刷が指定されているか否かを判定する丁合い指定判定手段と、
前記丁合い指定判定手段により丁合い印刷が指定されていると判定された場合、全ての印刷制御コマンドの総データサイズと前記スプール記憶手段に記憶可能なデータサイズを用いて、前記全ての印刷制御コマンドを前記スプール記憶手段に格納して、前記ジョブスプール機能を用いた印刷を実行することが可能であるか否かを判定する第１判定手段と、
前記第１判定手段により、前記ジョブスプール機能を用いた印刷処理を実行できると判定された場合、前記ジョブスプール機能を実行すべき特定の情報を付加して前記全ての印刷制御コマンドを出力し、前記第１判定手段により前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記全ての印刷制御コマンドを指定された回数だけ繰り返して出力することにより生成される印刷ジョブを送信する第１送信制御手段と、
前記丁合い指定判定手段により丁合い印刷が指定されていないと判定された場合、前記第１判定手段による処理を実行することなく前記プリンタに対して印刷制御コマンドを出力することにより生成される印刷ジョブを送信する第２送信制御手段を有することを特徴とする情報処理装置。
【請求項２】
前記第１判定手段により前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷が可能であるか否かを判定する第２判定手段と、
前記第２判定手段により前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷を実行できると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信する変更指示送信手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２判定手段により、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷をすることができると判定された場合、前記スプール記憶手段のデータサイズの変更処理およびジョブスプール機能を利用した出力処理と、前記印刷制御コマンドを前記指定された回数だけプリンタへ出力する出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて実行すべき処理を決定する決定手段を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
受信した印刷制御コマンドをスプール記憶手段へ一時的に記憶し前記受信した印刷制御コマンドを該印刷制御コマンドで指定された回数分連続的に印刷処理することにより印刷出力を行なうジョブスプール機能を有するプリンタと通信可能な情報処理装置の制御方法であって、
印刷要求に丁合い印刷が指定されているか否かを判定する丁合い指定判定ステップと、
前記丁合い指定判定ステップにより丁合い印刷が指定されていると判定された場合、全ての印刷制御コマンドの総データサイズと前記スプール記憶手段に記憶可能なデータサイズを用いて、前記全ての印刷制御コマンドを前記スプール記憶手段に格納して、前記ジョブスプール機能を用いた印刷を実行することが可能であるか否かを判定する第１判定ステップと、
前記第１判定ステップにより、前記ジョブスプール機能を用いた印刷処理を実行できると判定された場合、前記ジョブスプール機能を実行すべき特定の情報を付加して前記全ての印刷制御コマンドを出力し、前記第１判定ステップにより前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記全ての印刷制御コマンドを指定された回数だけ繰り返して出力することにより生成される印刷ジョブを送信する第１送信制御ステップと、
前記丁合い指定判定ステップにより丁合い印刷が指定されていないと判定された場合、前記第１判定ステップによる処理を実行することなく前記プリンタに対して印刷制御コマンドを出力することにより生成される印刷ジョブを送信する第２送信制御ステップを有することを特徴とする情報処理装置の制御方法。
【請求項５】
前記第１判定ステップにより前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷が可能であるか否かを判定する第２判定ステップと、
前記第２判定ステップにより前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷を実行できると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信する変更指示送信ステップを有することを特徴とする請求項４に記載の情報処理装置の制御方法。
【請求項６】
前記第２判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷をすることができると判定された場合、前記スプール記憶手段のデータサイズの変更処理およびジョブスプール機能を利用した出力処理と、前記印刷制御コマンドを前記指定された回数だけプリンタへ出力する出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて実行すべき処理を決定する決定ステップを有することを特徴とする請求項４に記載の情報処理装置の制御方法。
【請求項７】
受信した印刷制御コマンドをスプール記憶手段へ一時的に記憶し前記受信した印刷制御コマンドを該印刷制御コマンドで指定された回数分連続的に印刷処理することにより印刷出力を行なうジョブスプール機能を有するプリンタと通信可能な情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体であって、
印刷要求に丁合い印刷が指定されているか否かを判定する丁合い指定判定ステップと、
前記丁合い指定判定ステップにより丁合い印刷が指定されていると判定された場合、全ての印刷制御コマンドの総データサイズと前記スプール記憶手段に記憶可能なデータサイズを用いて、前記全ての印刷制御コマンドを前記スプール記憶手段に格納して、前記ジョブスプール機能を用いた印刷を実行することが可能であるか否かを判定する第１判定ステップと、
前記第１判定ステップにより、前記ジョブスプール機能を用いた印刷処理を実行できると判定された場合、前記ジョブスプール機能を実行すべき特定の情報を付加して前記全ての印刷制御コマンドを出力し、前記第１判定ステップにより前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記全ての印刷制御コマンドを指定された回数だけ繰り返して出力することにより生成される印刷ジョブを送信する第１送信制御ステップと、
前記丁合い指定判定ステップにより丁合い印刷が指定されていないと判定された場合、前記第１判定ステップによる処理を実行することなく前記プリンタに対して印刷制御コマンドを出力することにより生成される印刷ジョブを送信する第２送信制御ステップを含む制御プログラムを格納したことを特徴とする情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。
【請求項８】
前記第１判定ステップにより前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷が可能であるか否かを判定する第２判定ステップと、
前記第２判定ステップにより前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷を実行できると判定された場合、前記スプール記憶手段に記憶可能なデータサイズを変更するための変更指示を前記プリンタに対して送信する変更指示送信ステップを含む制御プログラムを格納したことを特徴とする請求項７に記載の情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。
【請求項９】
前記第２判定ステップにより、前記スプール記憶手段に記憶可能なデータサイズを変更することにより前記ジョブスプール機能を用いた印刷をすることができると判定された場合、前記スプール記憶手段のデータサイズの変更処理およびジョブスプール機能を利用した出力処理と、前記印刷制御コマンドを前記指定された回数だけプリンタへ出力する出力処理のうち、いずれの処理が高速に処理できるかを判定し、その判定結果に応じて実行すべき処理を決定する決定ステップを含む制御プログラムを格納したことを特徴とする請求項７に記載の情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信データをスプール記憶手段へ一時的に記憶し、指定された回数分連続的に処理するジョブスプール機能を有するプリンタと通信可能な情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体に関するものである。
【背景技術】
【０００２】
従来より、印刷装置において、複数ページから成る印刷物を複数部数印刷させるための構成が種々知られている。
【０００３】
たとえば、ホストコンピュータから複数ページを構成する印刷データを複数回繰り返してプリンタへ送信すれば、プリンタ排紙部へ出力用紙を送信回数分に丁合いしながら積載していく事（以下「丁合い出力」という）が可能となり、ユーザはページを揃え直（丁合い）す必要なく、１部ぶんのページを綴じる（ステープラなどの排紙機構があればこれも必要なくなる）だけで、複数ページから成る複数部の印刷物を得られる。
【０００４】
しかし、上記のように複数ページを構成する印刷データを複数回繰り返してプリンタへ送信する処理によると、ホストコンピュータとプリンタ間でのデータ通信負荷が送信回数に比例して大きくなってしまう問題がある。
【０００５】
この点に鑑み、近年のプリンタには、受信データを特定の記憶手段へ一時的に記憶しておき、指定された回数分データを繰り返し受信したかのように実行できる蓄積印刷機能（以下「ジョブスプール機能」という）を持つものがある。このジョブスプール機能によると、おおよそ１回（１部）ぶんの印刷データをプリンタへ送信するだけの通信負荷で前記のような丁合い出力を実現することができる。
【０００６】
このようなプリンタのジョブスプール機能を用いて丁合い出力を行う場合には、ホストコンピュータ上で動作する従来のプリンタドライバは、通常生成するプリンタ制御コマンド群に加えて、プリンタが一時的に記憶した受信データを何回繰り返して処理するかを指定するプリンタ制御コマンドを付加し、プリンタに送信する。
【特許文献１】特開平０９−２７７６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のようにプリンタのジョブスプール機能を利用して、プリンタに１部ぶんのデータをあらかじめ送信し、指定回数（部数）だけ印刷させる方式では、次のような問題がある。
【０００８】
すなわち、プリンタドライバが生成するプリンタ制御コマンドの総データサイズはコマンド生成処理の終了時まで分からないため、前記プリンタで一次的に記憶可能である最大データサイズをプリンタ制御コマンドの総データサイズが超えてしまう可能性があった。従って、従来構成によると、プリンタのジョブスプール機能を用いた丁合い出力は、常に成功する、という保証がなかった。
【０００９】
また、上記の問題を解決するために、単にホストコンピュータ上で動作するプリンタドライバが指定された回数だけプリンタ制御コマンドを常に繰り返して出力する旧来の方法を用いれば、プリンタ制御コマンドの総データサイズや指定回数に比例してホストコンピュータとプリンタ間の通信負荷が大きく増加してしまう問題が生じるのは前述の通りである。
【００１０】
このようなプリンタ〜ホストコンピュータの間のデータ通信負荷の増大により、システム環境や条件によっては、システム全体のパフォーマンス劣化を生じる恐れもある。特に、複数のホストコンピュータ、プリンタがネットワーク接続され、相互にネットワーク共有している資源が多ければ多いほどこのような問題は生じやすくなる。
【００１１】
本発明の課題は上記の問題を解決し、プリンタ〜ホストコンピュータのような情報処理装置の間のデータ通信負荷を低減し、しかも、丁合い出力のような複数部数の印刷出力においてプリンタのジョブスプール機能を確実に利用できるように保証できるようにすることにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明においては、受信した印刷制御コマンドをスプール記憶手段へ一時的に記憶し前記受信した印刷制御コマンドを該印刷制御コマンドで指定された回数分連続的に印刷処理することにより印刷出力を行なうジョブスプール機能を有するプリンタと通信可能な情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを格納したコンピュータ読取可能な記憶媒体において、
印刷要求に丁合い印刷が指定されているか否かを判定する丁合い指定判定手段（またはステップ）と、
前記丁合い指定判定手段（またはステップ）により丁合い印刷が指定されていると判定された場合、全ての印刷制御コマンドの総データサイズと前記スプール記憶手段に記憶可能なデータサイズを用いて、前記全ての印刷制御コマンドを前記スプール記憶手段に格納して、前記ジョブスプール機能を用いた印刷を実行することが可能であるか否かを判定する第１判定手段（またはステップ）と、
前記第１判定手段（またはステップ）により、前記ジョブスプール機能を用いた印刷処理を実行できると判定された場合、前記ジョブスプール機能を実行すべき特定の情報を付加して前記全ての印刷制御コマンドを出力し、前記第１判定手段（またはステップ）により前記ジョブスプール機能を用いた印刷を実行できないと判定された場合、前記全ての印刷制御コマンドを指定された回数だけ繰り返して出力することにより生成される印刷ジョブを送信する第１送信制御手段（またはステップ）と、
前記丁合い指定判定手段（またはステップ）により丁合い印刷が指定されていないと判定された場合、前記第１判定手段（またはステップ）による処理を実行することなく前記プリンタに対して印刷制御コマンドを出力することにより生成される印刷ジョブを送信する第２送信制御手段（またはステップ）を
含む構成を採用した。
【発明の効果】
【００１３】
以上の構成により、本発明では、丁合い印刷が指定されている場合、順次生成したプリンタ制御コマンドを直ちにプリンタへは出力せず、情報処理装置上で一時的に記憶しておき、その総データサイズがジョブスプール機能を用いた際にプリンタが一時記憶可能である最大データサイズを超えていないかどうかを判定し、超えている場合には記憶されている印刷制御コマンドを指定された回数分繰り返してプリンタに出力する。また、印刷制御コマンドの総データサイズがジョブスプール機能を用いた際にプリンタが一時記憶可能である最大データサイズを越えていない場合にはジョブスプール機能を用いた処理を行なう。さらに、丁合い印刷が指定されていない場合には、プリンタ制御コマンドの総データサイズがプリンタが一時記憶可能である最大データサイズを超えていないかどうかを判定することなくプリンタに出力する。この構成により、効率的かつ確実な印刷処理を実行することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明を実施する最良の形態を説明するための実施例を示す。
【実施例１】
【００１５】
図１は本発明を採用した印刷システムの全体構成を示している。ここでは、便宜上ホストコンピュータ３０００とプリンタ１５００から成るシステムを示しているが、この２つが一体化された単体の機器から成る印刷システムであってもよい。また、複数の機器からなる印刷システムであっても、その数には制限はなく、また、ＬＡＮ、ＷＡＮ等のネットワークを介して複数のホストコンピュータやプリンタなどの機器の相互接続が行われる印刷システムであっても本発明を適用できるのはいうまでもない。
【００１６】
図１において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御することにより上記の処理を行なう。
【００１７】
また、図１のＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１（ハードディスクなどの外部記憶装置）は、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶する。ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１は上記の文書処理等を行う際に使用する各種データ（例えば、ディレクトリ情報、プリンタドライバテーブル等）を記憶する。
【００１８】
ホストコンピュータ３０００の制御の主体は、ハードウェア上はＣＰＵである。一方、ソフトウェア上は制御の主体はプリンタ制御コマンド生成プログラム（以下プリンタドライバ）というアプリケーションソフトウェアである。本実施例では、ＯＳは例えば、ウィンドウズ９５（商標名：マイクロソフト社製）を想定しているが、これに限るものではない。
【００１９】
図１において符号２はＲＡＭで、ＣＰＵ１の主メモリ、およびワークエリア等として機能する。後述のように、本実施例のプリンタ制御においても、このＲＡＭ２がワークエリアとして用いられる。
【００２０】
符号５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶するハードディスク（ＨＤ）、フロッピーディスク（商標名）（ＦＤ）等の外部メモリ１１とのアクセスを制御する。
【００２１】
符号８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。双方向性インターフェース２１としては、ＩＥＥＥ１２８４などが考えられるが、他のインターフェース、たとえばＳＣＳＩ、ＵＳＢ、ＩＥＥＥ１３９４などのバスやイーサネット（登録商標）などのネットワークインターフェースによりホストコンピュータ３０００とプリンタ１５００が接続されていてもよい。
【００２２】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上においてＧＵＩを用いたＷＹＳＩＷＹＧ（What You See Is What You Get）な処理を可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【００２３】
プリンタ１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００２４】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【００２５】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できるように構成されている。
【００２６】
符号１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、このＲＡＭ１９は、ビットマップ情報の展開処理に用いられる領域、環境データ格納領域、バッテリバックアップされたＮＶＲＡＭ領域などとして割り当てられている。ＲＡＭ１９は不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２７】
外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１５０１は操作パネルで、この操作パネル１５０１上にはスイッチ、ＬＥＤ、ＬＣＤなどの表示器、その他の部品が配置されている。
【００２８】
前述の外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００２９】
前述のハードディスク、ＩＣカード等の外部メモリ１４は、ディスクコントローラ（ＤＫＣ）２０によりアクセスを制御される。
【００３０】
本実施例においては、上記のＲＡＭ１９は、特定のプリンタ制御コマンドを受け付けた場合、それ以降に受信したデータを直ちに処理せずに一時的に記憶し、同データを指定された回数だけ連続的に受信したかのように処理できる機能（以下ジョブスプール機能という）のジョブスプール記憶領域として用いられる。このジョブスプール記憶領域として割り当て（確保）可能な最大サイズは後述のプリンタ制御コマンドを用いて、設定することができる。このジョブスプール記憶領域の確保は、前記のオプションＲＡＭ増設によるメモリ容量拡張とは別に後述のようにソフトウェア的に行なわれるものである。
【００３１】
さて、本実施例のプリンタ１５００は、特定のプリンタ制御コマンドを受け付けた場合、それ以降に受信したデータを直ちに処理せず、ＲＡＭ１９へ一時的に記憶し、同データを指定された回数だけ連続的に受信したかのように処理できる機能（ジョブスプール機能）を有する。前記機能を指定するプリンタ制御コマンドのフォーマットを以下に示す。
【００３２】
@PJL JOBSPOOL COPIES=num ENDSTRING="word"<CR><LF>  …（１）
num  一時記憶したデータを何度連続処理するかを示す数値
word  印刷データの終了を指示するための文字列
<CR>  キャリッジリターンキャラクタ
<LF>  ラインフィードキャラクタ
ここで、「@PJL」は、プリンタ制御コマンドの開始を、また、「JOBSPOOL」はコマンドの種別を示すニーモニックであり、プリンタ１５００が上記の「@PJL」で始まるコマンドを受信すると、同コマンド直後のデータから「word」で指定された文字列の直前までのデータをＲＡＭ１９へ保存する。そして保存終了後に、プリンタ１５００はＲＡＭ１９に保存されたデータを上記コマンドの「num」で指定された回数だけあたかも受信したように連続処理する。
【００３３】
このようなジョブスプール機能を用いる事により、プリンタ排紙部へ出力用紙を「word」で指定された回数分に丁合いしながら積載していく（以下丁合い出力）ことが可能となる。
【００３４】
ここで、上記のジョブスプール機能において、プリンタ１５００に一時記憶可能な受信データサイズはＲＡＭ１９のハードウェア容量や他の処理との兼ねあいにより、予めプリンタに設定されている最大容量以下に制限される。この最大確保容量を変更する場合は、操作パネル１５０１を用いて所定の方法で設定変更を行うか、同様の効果を持つ以下に示すプリンタ制御コマンドをプリンタ１５００へ送信し、プリンタ再起動を行うかハードウェア設定を更新するためのプリンタ制御コマンド（以下ハードウェアリセット命令）をプリンタ１５００へ送信するものとする。
【００３５】
@PJL SET SPOOL-SIZE=x <CR><LF>  …（２）
x    一時記憶可能なデータサイズを示す数値（Mega-Byte単位）
<CR>  キャリッジリターンキャラクタ
<LF>  ラインフィードキャラクタ
ここで、「@PJL」は、プリンタ制御コマンドの開始を、また、「SET」はコマンドの種別を示すニーモニックであり、その後の「SPOOL-SIZE=x」の部分とともにジョブスプール機能においてプリンタ１５００に保存可能な受信データサイズを設定するためのものである。
【００３６】
なお、上記のプリンタ制御コマンドにより確保されるジョブスプール記憶領域の確保容量の最大値は、ＲＡＭ１９のハードウェア的な最大容量、他の用途のための記憶領域との兼ねあいによりおのずと制限がある。ホストコンピュータ３０００から要求されたジョブスプール記憶領域の容量を確保できれば、プリンタ１５００は所定の肯定レスポンスを、また確保できなければ、確保不可能である旨のレスポンスをホストコンピュータ３０００に返すものとする。
【００３７】
また、プリンタ１５００に設定されている前記容量サイズは、ホストコンピュータ３０００から特定のプリンタ制御コマンドによる情報取得請求があった場合に、ホストコンピュータ３０００へ通知できるものとする。
【００３８】
なお、本実施例で示すプリンタ１５００は、上記プリンタ制御コマンド（１）を受け付けた場合に、受信データをＲＡＭ１９へ記憶すると限定しているが、プリンタ１５００に内蔵されている外部メモリ１４などの任意の記憶手段へ記憶しても良いし、これらを組み合わせて記憶手段として活用しても良い。たとえば、ＲＡＭ１９上で要求されたジョブスプール記憶領域の容量を確保できなければ、自動的に外部メモリ１４の空きを調べ、そのうちの妥当な量をジョブスプール記憶領域として確保し、ホストコンピュータ３０００の要求を満足させる構成も考えられる。
【００３９】
ホストコンピュータ３０００において、ＢＩＯＳ、ＯＳ、アプリケーション、及び本発明による情報処理方法が適用されたプリンタドライバが、ＣＰＵ１により動作する。ＢＩＯＳはプログラムＲＯＭ３に書き込まれており、ＯＳは外部メモリ１１であるハードディスクに書き込まれている。そして、ホストコンピュータ３０００の電源がＯＮされた時に、ＢＩＯＳプログラム中のＩＰＬ（Initial Program Loading）機能により、ＯＳの実行コードイメージがハードディスクからＲＡＭ２へ読み込まれ、該ＯＳの動作が開始する。
【００４０】
そして、実際にプリンタドライバが動作可能となるのは、ユーザ等の指示により、前記ホストコンピュータ３０００上でＯＳ管理のもとに動作するアプリケーションが印刷処理を開始した場合で、プリンタドライバを記憶している外部メモリ１１等の媒体から、ＯＳ及びＢＩＯＳの制御のもとに、プリンタドライバが読み出され、ＲＡＭ２へロードされた時である。
【００４１】
ここで、本実施例のプリンタドライバは、狭義のドライバ、つまりプリンタポートを駆動するためだけのドライバソフトウェアではなく、後述のプリンタのジョブスプール機能の設定、上記のプリンタ制御コマンドの生成などを含む本発明の処理を行なうものであり、ＲＡＭ２へロードされるまでは、その任意の部分はホストコンピュータ上の任意の記憶媒体の任意の記憶位置に記憶されるものであってよい。
【００４２】
以下では、プリンタドライバに本発明の処理が実装される場合の例を示すが、本発明の特徴的な処理の全部、あるいは任意の一部はプリンタドライバのみならず、アプリケーションソフトウェアなどの上に実装されていてもかまわない。
【００４３】
図２は、本発明を採用したプリンタドライバがホストコンピュータ３０００上のＲＡＭ２へロードされ、実行可能となった状態のメモリマップ２１を示している。符号２２は印刷を行なうアプリケーションの記憶領域、２３は使用されていない空きメモリ、２４はプリンタドライバの制御に必要な各種のパラメータを記憶するデータ領域、２５はプリンタドライバ本体の記憶領域、２６はＯＳの記憶領域、２７はＢＩＯＳの記憶領域（この一部はＲＯＭ上に割り合てられる場合もある）である。図２のメモリ配置はあくまでも一例であり、ＯＳの仕様や慣習に応じてこれとは異なる配置になっていてもかまわない。
【００４４】
以下、本発明を適用したプリンタドライバの処理について詳しく説明する。
【００４５】
本発明を適用したプリンタドライバがＯＳを介したアプリケーションの印刷要求を受け付けてプリンタ制御コマンドを順次生成する際の処理の概略を図３のフローチャートに示す。また、図４は図３のステップ３０３、図５は図３のステップ３０７の処理内容を示したものである。
【００４６】
図３に示した通り、アプリケーションが印刷処理を開始してから終了するまでの間、プリンタドライバはＯＳを介したアプリケーションからの印刷要求を受け付け続ける（ステップＳ３０１）。受け付けた印刷要求は、まず、印刷開始を意味するものかどうかを判定され（ステップＳ３０２）、もしそうであれば、ステップＳ３０３（図４）を処理した後、再びアプリケーションからの印刷要求を受け付け始める。
【００４７】
ステップＳ３０２で印刷要求が印刷開始を意味するものではないと判定された後、それが印刷終了を意味するものであると判定された（ステップＳ３０４）場合には、ステップＳ３０７（図５）へ進み、その後、プリンタ制御コマンド生成処理を終了する。
【００４８】
ステップＳ３０２とステップＳ３０４で、それぞれ、印刷要求が印刷開始または印刷終了を意味するものではないと判定された場合には、印刷要求の内容に応じたプリンタ制御コマンドを生成（ステップＳ３０５）し、ＯＳが管理するシステムスプーラを介して、同プリンタ制御コマンドを出力する（ステップＳ３０６）処理を行ない、ステップＳ３０１にループする。
【００４９】
なお、ステップＳ３０５で生成されたプリンタ制御コマンドは、下記のステップＳ４０５で出力先情報によりプリンタを指定した印刷ジョブをオープンするか、またはステップＳ４０４でテンポラリファイルを出力先とした印刷ジョブをオープンした後、プリンタ１５００へ直接、あるいは一旦テンポラリファイルを経由してステップＳ３０６において出力される。すなわち、後述のようにステップＳ４０５では、アプリケーションまたはＯＳより入力された出力ポート名などを含む出力先情報に基づきプリンタデバイスを出力先とした印刷ジョブがオープンされ、一方、ステップＳ４０４では、テンポラリファイルを出力先とした印刷ジョブがオープンされる。これらのいずれのタイプの印刷ジョブが生成されるかは、以下の図４に示すように丁合い出力指定の有無（ステップＳ４０１）により決定される。
【００５０】
次に、アプリケーションからの印刷要求が印刷開始を意味するものであった場合のプリンタドライバ処理（ステップＳ３０３）を図４を用いて詳細に説明する。
【００５１】
まず、プリンタドライバは印刷開始要求を受け付けた際に得た追加情報を参照して丁合い出力が指定されていないかどうかを判定（ステップＳ４０１）し、指定されていないと判定した場合には、アプリケーションまたはＯＳより入力された出力ポート名などを含む出力先情報をもとに印刷ジョブをオープンする（ステップＳ４０５）。
【００５２】
一方、ステップＳ４０１において丁合い出力が指定されていると判定した場合には、アプリケーション、またはＯＳより入力された出力先情報をホストコンピュータ３０００のＲＡＭ２上へ保存（ステップＳ４０２）した後、ＯＳが提供するファンクションコールを利用してテンポラリファイルのフルパス名を生成する（ステップＳ４０３）。また、これと同時に前記のテンポラリファイルのフルパス名もＲＡＭ２上へ保存する（ステップＳ４０３）。
【００５３】
次にプリンタドライバは、ステップＳ４０３で生成したテンポラリファイルのフルパス名でアプリケーションまたはＯＳより入力された出力先情報を置き換えて印刷ジョブをオープンする（ステップＳ４０４）。
【００５４】
ちなみに、ＯＳが提供するシステムスプーラを用い、テンポラリファイルのフルパス名を出力先として指定した印刷ジョブをオープンして、印刷終了時に印刷ジョブをクローズすれば、結果、指定したフルパス名が示すファイルに全てのプリンタ制御コマンドを記憶することが可能となる。これは、印刷ジョブをオープンした際に取得した識別子（ハンドル）を用いてシステムスプーラへデータを書き込めば、印刷ジョブのオープン時に指定した出力先へのデータ出力が、システムスプーラによって透過的に行われるからである。
【００５５】
次に、アプリケーションからの印刷要求が印刷終了を意味するものであった場合のプリンタドライバ処理（ステップＳ３０７）を図５を用いて詳細に説明する。
【００５６】
まず、最初に、プリンタドライバはオープン中の印刷ジョブをクローズした（ステップＳ５０１）後、印刷終了要求を受け付けた際に得た追加情報を参照して丁合い出力が指定されていないかどうかを判定（ステップＳ５０２）する。ステップＳ５０２において丁合い出力が指定されていないと判定された場合には、そのまま処理を終了するが、丁合い出力が指定されていると判定された場合には、前記ステップＳ４０２で保存しておいた出力先情報をＲＡＭ２上から読み込み、その情報をもとにして、今度はプリンタを出力先とした印刷ジョブを新たにオープンする（ステップＳ５０３）。
【００５７】
続いて、プリンタドライバは、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドの総データサイズをＯＳのファンクションコールを用いて求め、ＲＡＭ２上へ記憶する（ステップＳ５０４）。次にプリンタドライバはジョブスプール機能を用いた場合にプリンタ１５００が一時記憶可能な最大データサイズを取得し、ＲＡＭ２上へ記憶する（ステップＳ５０５）。なお、本実施例においては、プリンタ１５００が一時記憶可能な最大データサイズは、専用アプリケーション（たとえばプリンタドライバのインストーラなど）が所定のタイミングでプリンタ１５００と通信して取得した上、外部メモリ１１上の予め決められた場所へ、予め決められたフォーマットで保存されているものとし、プリンタドライバはこの情報をＯＳのファンクションコールを用いてＲＡＭ２上へ読み込む事により、前記ステップＳ５０５の処理を行なうものとする。ただし、ステップＳ５０５の処理は、プリンタ１５００がジョブスプール記憶領域に一時記憶可能な最大データサイズの情報が必要になる毎にプリンタ１５００と通信して該情報を取得するものであってもよい。
【００５８】
そしてプリンタドライバは、ステップＳ５０４で取得したプリンタ制御コマンドの総データサイズとステップＳ５０５で取得したプリンタ１５００のジョブスプール機能における最大記憶データサイズを比較（ステップＳ５０６）し、前者の方が小さい、もしくは等しいと判定した場合には直ちにステップＳ５１０へ進み、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドの先頭に上述の（１）として示したプリンタ制御コマンドを、また後尾に印刷データの終了を指示するための文字列を付加して、システムスプーラへ出力する。
【００５９】
一方、ステップＳ５０６において、前者（プリンタ制御コマンドの総データサイズ）の方が大きいと判定した場合には、プリンタ１５００のジョブスプール記憶領域の最大記憶データサイズを更新可能かどうかをプリンタ構成情報から判定すると共に、更新したらプリンタ制御コマンドの総データサイズが収まるのに十分な領域を確保できるのかどうかを判定する（ステップＳ５０７）。
【００６０】
ステップＳ５０７において、プリンタ１５００のジョブスプール記憶領域の最大記憶データサイズを更新しても依然プリンタ制御コマンドの総データサイズの方が大きいと判定された場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してシステムスプーラへ出力する（ステップＳ５０８）。
【００６１】
一方、ステップＳ５０７において、プリンタ１５００のジョブスプール記憶領域の最大記憶データサイズを更新すればプリンタ制御コマンドの総データサイズ分をプリンタ１５００に一時記憶可能と判定した場合には、プリンタ１５００のジョブスプール記憶領域の最大記憶データサイズを更新する印刷ジョブをシステムスプーラへ出力し（ステップＳ５０９）、ステップＳ５１０に移行する。
【００６２】
なお、ステップＳ５０９においては、上述の（２）として示したプリンタ制御コマンドとハードウェアリセット命令で構成される印刷ジョブをシステムスプーラを介して（ＯＳなどの構成によってはシステムスプーラを介さずに送信してもよい）プリンタ１５００へ出力することにより、プリンタ１５００のジョブスプール記憶領域の最大記憶データサイズを更新する処理を行なうものとする。
【００６３】
そして、ステップＳ５０８または５１０に続いて、プリンタドライバはステップＳ５０３において新たにオープンした印刷ジョブをクローズし（ステップＳ５１１）、丁合い出力が指定された場合の処理（ステップＳ５０３〜５１１）を終了する。
【００６４】
以上に示したように、本実施例によれば、丁合い出力が指定されている場合に、順次生成したプリンタ制御コマンドを直ちにプリンタ１５００へは出力せず、ホストコンピュータ３０００上の外部メモリ１１へ一時的に記憶しておき、その総データサイズがジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最大データサイズを超えていないかどうかを判定し、超えている場合にはプリンタ１５００が一時記憶可能な最大データサイズを更新する印刷ジョブをプリンタ１５００へ発行してから、ジョブスプール機能を適用した印刷ジョブを出力するので、従来のようにオーバーフローを生じることなく、丁合い出力のような複数部数の印刷出力において、プリンタのジョブスプール機能を利用して、所定の回数分の印刷出力を確実に保証でき、プリンタ〜ホストコンピュータ間の通信負荷増大を回避することができる、という優れた効果がある。
【００６５】
また、プリンタの最大記憶データサイズを再設定してもプリンタから取得した最大記憶データサイズを超えてしまう場合、ジョブスプール機能を利用せず、テンポラリファイルに記憶しておいた印刷データを指定回数だけプリンタへ出力させるようにしているので、印刷出力が不可能になってしまう事がなく、確実に印刷出力を得ることができる、という優れた効果がある。
【実施例２】
【００６６】
第１実施例では、プリンタ１５００のジョブスプールのための最大記憶データサイズを更新不可能であればテンポラリファイルに一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ１５００へ出力するようにしている。しかし、前述の図５のステップＳ５０６〜５１０を改良し、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ１５００へ出力する手法と、プリンタ１５００のジョブスプールのための最大記憶データサイズを更新する印刷ジョブをプリンタ１５００へ出力してからジョブスプール機能を適用した印刷ジョブを出力する手法のどちらが高速に印刷処理を行えるか判定してから、いずれかの手法を選択実行する構成も考えられる。以下では、このような印刷処理の最適化を含む構成を例示する。
【００６７】
本実施例が示すプリンタドライバでは、図６に示した処理を実行する。図６のステップＳ５０６〜５１０は、第１実施例の図５のステップＳ５０６〜５１０を置換するのである。図６の各処理フローを示す符号のうち、図５と同じ番号を付した処理フローは、前記実施例と全く同一の処理内容を示しているものとする。
【００６８】
図６のステップＳ５０６において、ホストコンピュータ３０００の外部メモリ１１へテンポラリファイルとして記憶しておいたプリンタ制御コマンドの総データサイズがプリンタ１５００で一時記憶可能な最大データサイズよりも小さいか等しいと、判定された場合には、前記実施例と同様にステップＳ５１０へ進み、ジョブスプール機能を適用した印刷ジョブを生成し、出力する。
【００６９】
一方、ステップＳ５０６において、テンポラリファイルとして記憶しておいたプリンタ制御コマンドの総データサイズがプリンタ１５００で一時記憶可能な最大データサイズよりも大きいと判定された場合には、プリンタ１５００の最大記憶データサイズを更新可能かどうかをプリンタ１５００の構成情報から判定すると共に、更新したらプリンタ制御コマンドの総データサイズが収まるのに十分な領域をプリンタ１５００へ確保できるのかどうかを判定する（ステップＳ５０７）。
【００７０】
ここで、プリンタ１５００の最大記憶データサイズを更新しても依然としてプリンタ制御コマンドの総データサイズをプリンタ１５００の一時記憶領域へ収めることが不可能だと判定された場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してプリンタ１５００へ出力する（ステップＳ５０８）。
【００７１】
一方、プリンタ１５００の最大記憶データサイズを更新すればプリンタ制御コマンドの総データサイズをプリンタ１５００へ一時記憶可能であるとステップＳ５０７において判定した場合には、ステップＳ５０８が示す処理手法とステップＳ５０９及び５１０が示す処理手法に要するそれぞれの処理時間を計算する（ステップＳ６０１）。
【００７２】
本実施例で示したプリンタ１５００が保持するジョブスプール機能とは受信データを単純に指定された回数だけ繰り返して受信したかのように処理する機能である。従って、前記に示した２つの処理手法に要する処理時間を比較する場合には、次に示した処理内容に必要となる処理時間がそれぞれ分かれば良いこととなる。
【００７３】
１．ホストコンピュータ３０００上における印刷データ生成処理の処理時間  ２．ホストコンピュータ３０００上におけるプリンタ１５００の最大記憶データサイズを更新するための印刷データ生成処理の処理時間  ３．上記２．の印刷データに関するホストコンピュータ３０００からプリンタ１５００へのデータ通信処理の処理時間  ４．プリンタ１５００で最大記憶データサイズを更新するための処理時間  ５．上記１．の印刷データに関するホストコンピュータ３０００からプリンタ１５００へのデータ通信処理の処理時間
本実施例では、上記１．及び上記５．に要する処理時間は単純に扱うデータサイズに比例して増加するものとし、上記４に要する処理時間は概ね一定になることとする。なお、前記実施例で示した通り、プリンタ１５００の最大記憶データサイズを更新するための印刷ジョブは、上記（２）で示したプリンタ制御コマンドとハードウェアリセット命令で構成されるので、この印刷ジョブ自体のデータサイズは相対的に非常に小さいものとなる。従って、本実施例では上記２及び上記３のプリンタ１５００のジョブスプールにおける最大記憶データサイズ更新処理の要する処理時間は無視して、２つの印刷手法に必要となる処理時間をそれぞれ計算し、比較することにする（もちろん、正確を期す場合にはジョブスプールにおける最大記憶データサイズ更新処理の処理時間を加味した計算を行なうようにしてもよい）。
【００７４】
ここで、上記の処理時間１、５、４に要する総処理時間を、それぞれＰ，Ｑ，Ｒ（単位：ｍｓｅｃ）で表現するものとすれば、１バイトの印刷データの処理速度ｐ（単位：ｍｓｅｃ／ｂｙｔｅ，テンポラリファイルを読み出し、送信準備する処理に要する速度）、および１バイトの印刷データの通信速度ｑ（単位：ｍｓｅｃ／ｂｙｔｅ）に対して扱うデータサイズを乗算するとＰ、Ｑがそれぞれ求められる。さらに、ホストコンピュータ３０００上の外部メモリ１１上にテンポラリファイルとして記憶しておいたプリンタ制御コマンド群の総データサイズをＳ（単位：ｂｙｔｅ）とし、丁合いする回数（丁合い出力する部数）をＴとする。そして、ステップＳ５０８（テンポラリファイルのプリンタコマンドを複数回送信する場合）の処理時間をγ（単位：ｍｓｅｃ）、また、ステップＳ５０９およびステップＳ５１０（プリンタのジョブスプール機能を利用する場合）の処理を行ったとした場合の合計処理時間をθ（単位：ｍｓｅｃ）で表現すれば、これらγ、θはそれぞれ次のような計算式で表すことが可能となる。
γ(msec)=P(msec)+Q(msec)
=(p(msec/byte)×S(byte))×T+(q(msec/byte)×S(byte)×T)
=(p+q)×S×T
θ(msec)=P(msec)+Q(msec)+R(msec)
≒(p(msec/byte)×S(byte))+(q(msec/byte)×S(byte))+R
≒(p+q)×S+R
したがって、ステップＳ６０２において、本実施例で示すプリンタドライバは上記の計算式で算出したγとθを比較する。ここで、γがθよりも小さいか等しいと判定された場合には、ステップＳ５０８へ進むが、γの方が大きいと判定された場合にはステップＳ５０９へ進み、プリンタ１５００の最大記憶データサイズを更新する印刷ジョブをシステムスプーラを介してプリンタ１５００へ出力した後、ジョブスプール機能を適用した印刷ジョブを出力する（ステップＳ５１０）。すなわち、テンポラリファイルのプリンタコマンドを複数回送信したほうが速いと判定すればステップＳ５０８に進み、一方、プリンタのジョブスプール機能を利用したほうが速いと判定すればステップＳ５０９に進む。
【００７５】
本実施例の処理（図６）によれば、ホストコンピュータ３０００上に一時記憶しておいたプリンタ制御コマンド群の総データサイズがプリンタ１５００の最大記憶データサイズを超えてしまうが、プリンタ１５００の最大記憶データサイズを更新することによりジョブスプール機能を利用できる場合であっても、予めジョブスプール機能を利用しない方法との処理速度を比較し、これらのうちいずれか高速な処理手法を選択実行することができ、比較的に高速な印刷処理を行いながら、所定の回数分の丁合いされた用紙出力結果を保証できるという優れた効果がある。
【００７６】
本発明の処理を実現するためのプログラム、および制御データは、印刷システムを構成するホストコンピュータ、プリンタなど任意の装置の任意の記憶媒体に格納されていてよい。特に、プリンタのジョブスプール機能において受信データを一時的に記憶可能な最大データサイズについては、種々の構成が考えられる。
【００７７】
たとえば、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズをホストコンピュータの記憶手段に記憶する構成が考えられ、その場合、ホストコンピュータ内のＮＶＲＡＭなどの不揮発性のメモリ、着脱可能な記憶手段など、任意の記憶手段に記憶させておくことができる。また、一旦プリンタから取得した最大データサイズに関する情報は、リソースファイルなどの形式でＯＳがシャットダウンされる際などにハードディスクなどの外部記憶装置に退避されるような構成であってもよい。特に、上記のように不揮発的に最大データサイズを保持しておく構成によれば、面倒な再設定操作を行なわなくても、継続的にジョブスプールに関しては同一の条件でシステムを動作させることができる。
【００７８】
また、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズは、ユーザがホストコンピュータ上で動作する任意のプログラムのユーザインターフェイス（たとえばプリンタドライバの動作をカスタマイズするユーザインターフェース、プリンタを用いるあらゆる情報処理を行なうアプリケーションプログラムのユーザインターフェースなど）を介して好みの値を設定できるようにすることが考えられる。このような構成により、たとえば、ユーザはプリンタの用途に応じ、好みのプリンタ内蔵フォントの展開や外部からプリンタへのフォントダウンロードのために必要なメモリ容量をプリンタ上に確保しておくことが可能となる。
【００７９】
また、前述のように、プリンタのジョブスプール記憶領域の受信データを一時的に記憶可能な最大データサイズをプリンタのメモリ（内蔵メモリ、あるいは着脱可能な拡張メモリなど）に格納しておき、ホストコンピュータ側からプリンタ制御コマンドのインターフェースを用い、双方向インターフェイスやネットワークを介して取得し、また再設定できるようにしておくことができる。
【００８０】
特に、上記のようにホストコンピュータ側に最大データサイズを記憶できる機構も設けられている場合には、プリンタのメモリに記憶されているジョブスプール記憶領域の最大データサイズの情報と、ホストコンピュータのメモリに記憶されている最大データサイズの情報をなんらかの手法で同期させる必要があるが、このためには当業者において必要に応じて任意の手法を採用すればよい。たとえば、前記のように丁合い印刷が必要となった時に、プリンタ側から取得し、これにホストコンピュータ側のメモリの内容を同期させ、再設定の必要が生じた場合は両者を同時に更新するような方法が考えられる。
【００８１】
また、以上の各実施例では、プリンタのジョブスプール機能の最大データサイズを再設定するところまでを示したが、その後の処理については、種々の構成が考えられる。たとえば、ジョブスプール機能の最大データサイズの設定をプリンタ側の設定メモリに残しても良いし、また、再設定の必要となった（丁合い）出力ジョブの処理が終了したらジョブスプール機能の最大データサイズの設定を当該ジョブが開始される前の状態に復帰させるようにしてもよい。
【産業上の利用可能性】
【００８２】
以上では、本発明の機能がプリンタドライバに実装される構成を例示したが、外部からホストコンピュータにインストールされるプログラムに本発明の機能が実装されていてもかまわない。その場合、本発明を適用した処理プログラムは任意のコンピュータ読取可能な記憶媒体から読み込まれるものであってよい。すなわち、本発明を適用した処理プログラムはＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいは、電子メールやパソコン通信等のネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置やホストコンピュータを含むシステム内にロードすることにより、ホストコンピュータあるいは出力装置に供給することが可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明を採用した印刷システムの構成を示したブロック図である。
【図２】本発明を採用したプリンタドライバがホストコンピュータのＲＡＭ上にロードされて実行可能となった状態におけるメモリマップ図である。
【図３】本発明を採用したプリンタドライバの処理の概略を示したフローチャート図である。
【図４】図３のステップＳ３０３の処理を示したフローチャート図である。
【図５】図３のステップＳ３０７の処理を示したフローチャート図である。
【図６】異なる実施例における図５の変更部分を示したフローチャート図である。
【符号の説明】
【００８４】
１、１２  ＣＰＵ
２、１９  ＲＡＭ
３、１３  ＲＯＭ
４、１５  システムバス
５  ＫＢＣ
６  ＣＲＴＣ
７、２０  ＤＫＣ
８  ＰＲＴＣ
１１、１４  外部メモリ
１８  入力部
１５００  プリンタ
１５０１  操作パネル
３０００  ホストコンピュータ
【図１】
2006053946.tif 000003
【図２】
2006053946.tif 000004
【図３】
2006053946.tif 000005
【図４】
2006053946.tif 000006
【図５】
2006053946.tif 000007
【図６】
2006053946.tif 000008