(57)【特許請求の範囲】
【請求項１】
印刷制御コマンドを生成するコマンド生成プログラムが動作可能なコンピュータとしての上位装置と、前記上位装置からの印刷制御コマンドを一時的に記憶し、前記印刷制御コマンドを指定された回数連続処理するジョブスプール機能を備える印刷装置とを有する情報処理システムであって、
前記上位装置は、
前記印刷装置に送信する印刷制御コマンドを一時記憶する印刷制御コマンド記憶手段と、
丁合い出力が指定されているか否かを判断する判断手段と、
前記判断手段で丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段において一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較手段と、
前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で一時記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で一時記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御手段と、
を有することを特徴とする情報処理システム。
【請求項２】
印刷制御コマンドを一時的に格納して指定された回数連続処理するジョブスプール機能を備える印刷装置で印刷すべき前記印刷制御コマンドを生成するコマンド生成プログラムが動作可能な情報処理装置であって、
前記印刷装置に送信する全ての印刷制御コマンドを一時記憶する印刷制御コマンド記憶手段と、
丁合い出力が指定されているか否かを判断する判断手段と、
前記判断手段で丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段において一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較手段と、
前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御手段と、
を有することを特徴とする情報処理装置。
【請求項３】
前記印刷装置のジョブスプール機能で使用する前記印刷制御コマンドを一時的に記憶可能な前記印刷装置の最大データ量を取得する取得手段を更に有し、
前記データサイズ比較手段は、前記取得手段で取得された前記印刷装置の最大データ量と、前記印刷制御コマンド記憶手段に一時記憶された印刷制御コマンドの総データサイズとを比較することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記取得手段は、前記印刷制御コマンド記憶手段が前記印刷制御コマンドを一時記憶した後で、前記印刷装置からジョブスプール機能で使用する前記印刷制御コマンドを一時的に記憶可能な最大データ量を取得することを特徴とする請求項３記載の情報処理装置。
【請求項５】
印刷制御コマンドを一時的に格納して指定された回数連続処理するジョブスプール機能を備える印刷装置で印刷すべき前記印刷制御コマンドを生成するコマンド生成プログラムが動作可能な情報処理装置における印刷制御方法であって、
前記印刷装置に送信する全ての印刷制御コマンドを印刷制御コマンド記憶手段に一時記憶する記憶ステップと、
丁合い出力が指定されているか否かを判断する判断ステップと、
前記判断ステップで丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段に一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較ステップと、
前記データサイズ比較ステップによる比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段に一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較ステップによる比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段に一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御ステップと、
を有することを特徴とする印刷制御方法。
【請求項６】
前記印刷装置のジョブスプール機能で使用する前記印刷制御コマンドを一時的に記憶可能な前記印刷装置の最大データ量を取得する取得ステップを更に有し、
前記データサイズ比較ステップでは、前記取得ステップで取得された前記印刷装置の最大データ量と、前記印刷制御コマンド記憶手段に一時記憶された印刷制御コマンドの総データサイズとを比較することを特徴とする請求項５記載の印刷制御方法。
【請求項７】
前記取得ステップでは、前記印刷制御コマンド記憶手段が前記印刷制御コマンドを一時記憶した後で、前記印刷装置からジョブスプール機能で使用する前記印刷制御コマンドを一時的に記憶可能な最大データ量を取得することを特徴とする請求項６記載の印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置、及び印刷制御方法に係り、更に詳しくは、ホストコンピュータ及び該ホストコンピュータに接続されたプリンタからなるシステムに適用する場合に好適な情報処理システム、情報処理装置、及び印刷制御方法に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータ及び該ホストコンピュータに接続されたプリンタから構成され、ホストコンピュータからプリンタへ印刷データを送信して印刷を行うシステムがある。該システムにおいては、複数ページを構成する印刷データをホストコンピュータから複数回繰り返してプリンタへ送信すれば、プリンタに装備されている排紙部へ出力用紙を送信回数分に丁合いしながら積載していくこと（以下、丁合い出力と称す）が可能となる。しかし、このような処理を行うと、ホストコンピュータとプリンタとの間におけるデータ通信負荷が送信回数に比例して大きくなる現象が発生する。
【０００３】
他方、近年のプリンタには、受信データを特定の記憶手段へ一時的に記憶しておき、指定された回数分データを繰り返し受信したかのように実行できる機能を持つものがある。この機能を用いれば、おおよそ一回分の印刷データをプリンタへ送信するだけの通信負荷で、上述したような丁合い出力を実現することが可能である。上記のプリンタの機能を用いて丁合い出力を行う場合、ホストコンピュータ上で動作する従来のプリンタドライバは、通常生成するプリンタ制御コマンド群に加えて、プリンタが一時的に記憶した受信データを何回繰り返して処理するかを指定するプリンタ制御コマンドを付加し、常に出力するようになっていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述した従来技術においては下記のような問題があった。即ち、一般的にプリンタドライバが生成するプリンタ制御コマンドの総データサイズはコマンド生成処理の終了時まで分からないため、プリンタで一時的に記憶可能である最大データサイズをプリンタ制御コマンドの総データサイズが超過してしまうことがあった。従って、上述したプリンタ機能を用いた丁合い出力は、常に完全に保証されるわけではないという問題があった。
【０００５】
本発明は、上述した点に鑑みなされたものであり、印刷装置のジョブスプール機能を用いた丁合い出力を実現できない場合であっても、常に所定の回数分で丁合いされた用紙出力結果を得られるようにした情報処理システム、情報処理装置、及び印刷制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明は、印刷制御コマンドを生成するコマンド生成プログラムが動作可能なコンピュータとしての上位装置と、前記上位装置からの印刷制御コマンドを一時的に記憶し、前記印刷制御コマンドを指定された回数連続処理するジョブスプール機能を備える印刷装置とを有する情報処理システムであって、前記上位装置は、前記印刷装置に送信する印刷制御コマンドを一時記憶する印刷制御コマンド記憶手段と、丁合い出力が指定されているか否かを判断する判断手段と、前記判断手段で丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段において一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較手段と、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で一時記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で一時記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御手段と、を有することを特徴とする。
【０００７】
上記目的を達成するため、本発明は、印刷制御コマンドを一時的に格納して指定された回数連続処理するジョブスプール機能を備える印刷装置で印刷すべき前記印刷制御コマンドを生成するコマンド生成プログラムが動作可能な情報処理装置であって、前記印刷装置に送信する全ての印刷制御コマンドを一時記憶する印刷制御コマンド記憶手段と、丁合い出力が指定されているか否かを判断する判断手段と、前記判断手段で丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段において一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較手段と、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較手段による比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段により一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御手段と、を有することを特徴とする。
【０００８】
上記目的を達成するため、本発明は、印刷制御コマンドを一時的に格納して指定された回数連続処理するジョブスプール機能を備える印刷装置で印刷すべき前記印刷制御コマンドを生成するコマンド生成プログラムが動作可能な情報処理装置における印刷制御方法であって、前記印刷装置に送信する全ての印刷制御コマンドを印刷制御コマンド記憶手段に一時記憶する記憶ステップと、丁合い出力が指定されているか否かを判断する判断ステップと、前記判断ステップで丁合い出力が指定されていると判断された場合に、前記印刷制御コマンド記憶手段に一時記憶した印刷制御コマンドの総データサイズと、前記印刷装置のジョブスプール機能を用いた場合に前記印刷装置が一時記憶可能な最大データ量とを比較するデータサイズ比較ステップと、前記データサイズ比較ステップによる比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より大きい場合、前記印刷制御コマンド記憶手段に一時記憶されている印刷制御コマンドを丁合い出力で指定される回数分読み出してシステムスプーラに出力し、一方、前記データサイズ比較ステップによる比較の結果、前記印刷制御コマンド記憶手段により一時記憶された印刷制御コマンドの総データサイズが、前記印刷装置で記憶可能な最大データ量より小さい場合、前記印刷制御コマンド記憶手段に一時記憶されている印刷制御コマンドに前記印刷装置にジョブスプール機能を実行させる特定の印刷制御コマンドを付加してシステムスプーラに出力する出力制御ステップと、を有することを特徴とする。
【００３３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００３４】
［１］第１の実施の形態
先ず、第１の実施の形態に係るプリンタ制御システムの構成を図１のブロック図を参照して説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Ｌocal Ａrea Ｎetwork：ローカルエリアネットワーク）、ＷＡＮ（Ｗide Ａrea Ｎetwork：広域ネットワーク）等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用することができることは言うまでもない。
【００３５】
また、本発明を適用可能な実際の商品の形態としては、ＦＤ（Ｆllopy Ｄisk）、ＣＤ−ＲＯＭ（Ｃompact Ｄisk ＲＯＭ）、インターネットＷｅｂサイト、Ｎifty Ｓerve等のＢＢＳ（Ｂulletin Ｂoard Ｓystem：コンピュータを利用したメッセージ交換システム）を挙げることができる。即ち、プリンタ制御システムに対して本発明のプログラムをＦＤやＣＤ−ＲＯＭから供給し、また、プリンタ制御システムをインターネットやＮifty Ｓerveに接続することが可能である。
【００３６】
第１の実施の形態に係るプリンタ制御システムは、ホストコンピュータ３０００とプリンタ１５００とから構成されている。ホストコンピュータ３０００は、ＣＰＵ１と、ＲＡＭ２と、ＲＯＭ３と、キーボードコントローラ（ＫＢＣ）５と、ＣＲＴコントローラ（ＣＲＴＣ）６と、ディスクコントローラ（ＤＫＣ）７と、プリンタコントローラ（ＰＲＴＣ）８と、キーボード（ＫＢ）９と、ＣＲＴディスプレイ（ＣＲＴ）１０と、外部メモリ１１とを備えている。また、プリンタ１５００は、ＣＰＵ１２と、ＲＡＭ１９と、ＲＯＭ１３と、入力部１８と、印刷部インタフェース（Ｉ／Ｆ）１６と、ディスクコントローラ（ＤＫＣ）２０と、印刷部１７と、操作部１５０１と、外部メモリ１４とを備えている。
【００３７】
先ず、ホストコンピュータ３０００各部の構成を詳述すると、ＣＰＵ１は、システムバス４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ３のプログラム用ＲＯＭ３ｂ（後述）に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。また、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴディスプレイ１０上でのＷＹＳＩＷＹＧ（Ｗhat Ｙou Ｓee Ｉs Ｗhat Ｙou Ｇet：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）を可能としている。
【００３８】
更に、ＣＰＵ１は、ＣＲＴディスプレイ１０上のマウスカーソル（図示略）等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ１５００を使用して印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタ１５００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００３９】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。ＲＯＭ３は、フォント用ＲＯＭ３ａと、プログラム用ＲＯＭ３ｂと、データ用ＲＯＭ３ｃとを備えている。フォント用ＲＯＭ３ａ或いは外部メモリ１１は、上記文書処理の際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ３ｂ或いは外部メモリ１１は、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下、ＯＳ）等を記憶する。データ用ＲＯＭ３ｃ或いは外部メモリ１１は、上記文書処理等を行う際に使用する各種データ（例えばディレクトリ情報、プリンタドライバテーブル情報等）を記憶する。
【００４０】
この場合、ハードウエア上の制御の主体は、ＣＰＵ１である。一方、ソフトウエア上の制御の主体は、プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）というアプリケーションソフトウエアである。第１の実施の形態では、ＯＳは例えばウィンドウズ９５（マイクロソフト社製）を想定しているが、これに限定されるものではない。
【００４１】
キーボードコントローラ（ＫＢＣ）５は、キーボード９やポインティングデバイス（図示略）からのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ１０の表示を制御する。ディスクコントローラ（ＤＫＣ）７は、外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。キーボード９は、各種キーを備えている。
【００４２】
ＣＲＴディスプレイ（ＣＲＴ）１０は、図形、イメージ、文字、表等を表示する。外部メモリ１１は、ハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等から構成されており、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム等を記憶する。
【００４３】
上述したＣＰＵ１、ＲＡＭ２、ＲＯＭ３、キーボードコントローラ（ＫＢＣ）５、ＣＲＴコントローラ（ＣＲＴＣ）６、ディスクコントローラ（ＤＫＣ）７、プリンタコントローラ（ＰＲＴＣ）８は、コンピュータ制御ユニット２０００上に配設されている。
【００４４】
次に、プリンタ１５００各部の構成を詳述すると、ＣＰＵ１２は、システムバス１５に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ１３のプログラム用ＲＯＭ１３ｂ（後述）に記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいて、印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる構成となっている。
【００４５】
ＲＡＭ１９は、ＣＰＵ１２の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ１３は、フォント用ＲＯＭ１３ａと、プログラム用ＲＯＭ１３ｂと、データ用ＲＯＭ１３ｃとを備えている。フォント用ＲＯＭ１３ａは、上記出力情報を生成する際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ１３ｂは、ＣＰＵ１２の制御プログラム等を記憶する。データ用ＲＯＭ１３ｃは、プリンタ１５００にハードディスク等の外部メモリ１４が接続されていない場合には、ホストコンピュータ３０００上で利用される情報等を記憶する。
【００４６】
入力部１８は、双方向性インタフェース２１を介してプリンタ１５００とホストコンピュータ３０００との間におけるデータの送受を行う。印刷部インタフェース（Ｉ／Ｆ）１６は、ＣＰＵ１２と印刷部１７との間におけるデータの送受を行う。ディスクコントローラ（ＤＫＣ）２０は、外部メモリ１４のアクセスを制御する。印刷部１７は、ＣＰＵ１２の制御に基づき印刷動作を行う。操作部１５０１は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
【００４７】
外部メモリ１４は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ１５００にオプションとして接続される。外部メモリ１４は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、ディスクコントローラ（ＤＫＣ）２０によりアクセスを制御される。
【００４８】
尚、外部メモリ１４は、１個に限らず複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ１５００に複数接続できるように構成されていてもよい。更に、ＮＶＲＡＭ（図示略）を有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００４９】
上述したＣＰＵ１２、ＲＡＭ１９、ＲＯＭ１３、入力部１８、印刷部インタフェース（Ｉ／Ｆ）１６、ディスクコントローラ（ＤＫＣ）２０は、プリンタ制御ユニット１０００上に配設されている。
【００５０】
更に、第１の実施の形態に係るプリンタ制御システムのプリンタ１５００は、特定のプリンタ制御コマンドを受け付けた場合、それ以降に受信したデータを直ちに処理せず、ＲＡＭ１９等の記憶手段へ一時的に記憶し、同データを指定された回数だけ連続的に受信したかのように処理できる機能（以下、ジョブスプール機能）を有する。上記のプリンタ制御コマンドのフォーマットを下記に示す。
【００５１】
＠ＰＪＬ  ＪＯＢＳＰＯＯＬ  ＣＰＩＥＳ＝ｎｕｍ  ＥＮＤＳＴＲＩＮＧ  ＝″ｗｏｒｄ″＜ＣＲ＞＜ＬＦ＞    ・・・ （１）
ｎｕｍ  ：一時記憶したデータを何度連続処理するかを示す数値
ｗｏｒｄ：印刷データの終了を指示するための文字列
＜ＣＲ＞：キャリッジリターンキャラクタ
＜ＬＦ＞：ラインフィードキャラクタ
プリンタ１５００が上記コマンドを受信すると、同コマンド直後のデータから「ｗｏｒｄ」で指定された文字列の直前までのデータをＲＡＭ１９へ保存する。尚、保存可能なデータ量は予めプリンタ１５００に設定されている容量以下であり、容量を変更する場合は、操作部１５０１を用いて所定の方法で設定変更を行うか、同様の効果をもたらすプリンタ制御コマンドをプリンタ１５００へ送信し、プリンタ１５００の再起動を行わなければならない。
【００５２】
また、プリンタ１５００に設定されている上記容量サイズは、特定のプリンタ制御コマンドによる情報取得要求があった場合に、ホストコンピュータ３０００へ通知可能となっている。スプール終了後にプリンタ１５００は、ＲＡＭ１９に保存されたデータを、上記コマンドの「ｎｕｍ」で指定された回数だけあたかも受信したように連続動作する。このような機能を用いることにより、プリンタ１５００に装備されている排紙部へ出力用紙を「ｗｏｒｄ」で指定された回数分に丁合いしながら積載していく（以下、丁合い出力）ことが可能となる。
【００５３】
尚、第１の実施の形態で示したプリンタ１５００は、上記コマンドを受け付けた場合に、受信データをＲＡＭ１９へ記憶しておくと限定しているが、プリンタ１５００に内蔵されている外部メモリ１１等といった任意の記憶手段へ記憶してもよいし、これらを組み合わせて記憶手段として活用してもよい。
【００５４】
他方、第１の実施の形態に係るプリンタ制御システムのホストコンピュータ３０００においては、ＢＩＯＳ（Ｂasic Ｉnput Ｏutput Ｓystem：入出力装置のインタフェースで必要な最も基本的な処理を行うプログラム）、ＯＳ、アプリケーション及び本発明による情報処理方法が適用されたプリンタドライバが、ＣＰＵ１により動作する。ＢＩＯＳはＲＯＭ３のプログラム用ＲＯＭ３ｂに書き込まれており、ＯＳは外部メモリ１１であるハードディスク（以下、ＨＤ）に書き込まれている。
【００５５】
そして、ホストコンピュータ３０００の電源が投入された時に、ＢＩＯＳプログラム中のＩＰＬ（Ｉnitial Ｐrogram Ｌoading：ＯＳを外部記憶から主記憶へロードするためのプログラム）機能により、ＯＳがＨＤからＲＡＭ２へ読み込まれＯＳの動作が開始する。実際にプリンタドライバが動作可能となるのは、ユーザ等の指示により、ホストコンピュータ３０００上でＯＳ管理のもとに動作するアプリケーションが印刷処理を実行した場合で、プリンタドライバを記録している外部メモリ１１等の媒体から、ＯＳ及びＢＩＯＳの制御のもとにプリンタドライバが読み出され、ＲＡＭ２へロードされた時である。
【００５６】
図２は第１の実施の形態で示す情報処理方法が適用されたプリンタドライバ２５がホストコンピュータ３０００上のＲＡＭ２へロードされ、実行可能となった状態のメモリマップを示している。図中２１０はＲＡＭ２の領域であり、アプリケーション２２、空きメモリ２３、プリンタドライバ関連データ２４、プリンタドライバ２５、ＯＳ２６、ＢＩＯＳ２７がロードされている。
【００５７】
次に、上記の如く構成してなる第１の実施の形態に係るプリンタ制御システムのプリンタドライバ２５が、ＯＳ２６を介したアプリケーション２２の印刷要求を受け付けてプリンタ制御コマンドを順次生成する様子の概略について、図３乃至図６のフローチャートを中心に詳細に説明する。図３はプリンタドライバ２５の処理概略を示すフローチャート、図４は図３のステップＳ３０３の処理内容を示すフローチャート、図５及び図６は図３のステップＳ３０７の処理内容を示すフローチャートである。
【００５８】
図３において、アプリケーション２２が印刷処理を開始してから終了するまでの間、プリンタドライバ２５はＯＳ２６を介したアプリケーション２２からの印刷要求を受け付け続ける（ステップＳ３０１）。受け付けた印刷要求は、先ず、印刷開始を意味するものか否かを判定され（ステップＳ３０２）、印刷要求が印刷開始を意味するものであると判定された場合は（ステップＳ３０２の答がＹｅｓ）、ステップＳ３０３（後述の図４参照）を処理した後、再びアプリケーション２２からの印刷要求を受け付け始める。
【００５９】
上記ステップＳ３０２で印刷要求が印刷開始を意味するものではないと判定された後（ステップＳ３０２の答がＮｏ）、上記ステップＳ３０４でそれが印刷終了を意味するものであると判定された場合には（ステップＳ３０４の答がＹｅｓ）、ステップＳ３０７（後述の図５及び図６参照）へ移行し、その後、プリンタ制御コマンド生成処理を終了する。
【００６０】
上記ステップＳ３０２と上記ステップＳ３０４で、それぞれ、印刷要求が印刷開始または印刷終了を意味するものではないと判定された場合には（ステップＳ３０２の答がＮｏ、ステップＳ３０４の答がＮｏ）、印刷要求の内容に応じたプリンタ制御コマンドを生成し（ステップＳ３０５）、ＯＳ２６が管理するシステムスプーラを介して、同プリンタ制御コマンドをプリンタ１５００へ出力する（ステップＳ３０６）。
【００６１】
アプリケーション２２からの印刷要求が印刷開始を意味するものであった場合のプリンタドライバ処理（ステップＳ３０３）を図４に基づき詳細に説明する。図４において、先ず、プリンタドライバ２５は印刷開始要求を受け付けた際に得た追加情報を参照して、丁合い出力が指定されていないか否かを判定する（ステップＳ４０１）。丁合い出力が指定されていないと判定した場合には（ステップＳ４０１の答がＮｏ）、アプリケーション２２またはＯＳ２６から入力された出力ポート名等を含む出力先情報を基に印刷ジョブをオープンする（ステップＳ４０５）。
【００６２】
他方、丁合い出力が指定されていると判定した場合には（ステップＳ４０１の答がＹｅｓ）、アプリケーション２２またはＯＳ２６から入力された出力先情報をホストコンピュータ３０００のＲＡＭ２上へ保存（ステップＳ４０２）した後、ＯＳ２６が提供するファンクションコール（関数サブプログラムを使うためにプログラム内に関数の名前を用いて呼び出す意）を利用してテンポラリファイル（アプリケーションが動作しているとき必要のため一時的に作成するファイル）のフルパス（あるファイルの指定時にドライブ名にルートからの全てのディレクトリを付けてファイル名を書く意）名を生成する（ステップＳ４０３）。
【００６３】
次に、プリンタドライバ２５は、上記ステップＳ４０３で生成したテンポラリファイルのフルパス名でアプリケーション２２またはＯＳ２６から入力された出力先情報を置き換えて、印刷ジョブをオープンする（ステップＳ４０４）。ちなみに、ＯＳ２６が提供するシステムスプーラを用い、テンポラリファイルのフルパス名を出力先として指定した印刷ジョブをオープンして、印刷終了時に印刷ジョブをクローズすれば、その結果、指定したフルパス名が示すファイルに全てのプリンタ制御コマンドを記憶することが可能となる。これは、印刷ジョブをオープンした際に取得した識別子（ハンドル）を用いてシステムスプーラへデータを書き込めば、印刷ジョブのオープン時に指定した出力先へのデータ出力が、システムスプーラによって透過的に行われるからである。
【００６４】
次に、アプリケーション２２からの印刷要求が印刷終了を意味するものであった場合のプリンタドライバ処理（図３のステップＳ３０７）を図５及び図６に基づき詳細に説明する。図５及び図６において、先ず最初に、プリンタドライバ２５はオープン中の印刷ジョブをクローズした（ステップＳ５０１）後、印刷終了要求を受け付けた際に得た追加情報を参照して丁合い出力が指定されていないか否かを判定する（ステップＳ５０２）。丁合い出力が指定されていないと判定した場合には（ステップＳ５０２の答がＮｏ）、そのまま処理を終了する。
【００６５】
他方、丁合い出力が指定されていると判定した場合には（ステップＳ５０２の答がＹｅｓ）、上記図４のステップＳ４０２で保存しておいた出力先情報をＲＡＭ２上から読み込み、その情報を基にして印刷ジョブを新たにオープンする（ステップＳ５０３）。続いて、プリンタドライバ２５はテンポラリファイルとして一時記憶しておいたプリンタ制御コマンドの総データサイズ（Ａ）をＯＳ２６のファンクションコールを用いて求め、ＲＡＭ２上へ記憶する（ステップＳ５０４）。
【００６６】
次に、プリンタドライバ２５はジョブスプール機能を用いた場合にプリンタ１５００が一時記憶可能な最大データ量（Ｂ）を取得し、ＲＡＭ２上へ記憶する（ステップＳ５０５）。尚、第１の実施の形態においては、上記の最大データ量は、専用アプリケーションによって外部メモリ１１上の予め決められた場所へ、予め決められたフォーマットで保存されているものとし、プリンタドライバ２５はこの情報をＯＳ２６のファンクションコールを用いてＲＡＭ２上へ読み込むことにより、上記ステップＳ５０５の処理がなされることとする。
【００６７】
プリンタドライバ２５は上記ステップＳ５０４で取得したプリンタ制御コマンドの総データサイズ（Ａ）と、上記ステップＳ５０５で取得したプリンタ１５００の最大記憶データ量（Ｂ）を比較し（ステップＳ５０６）、（Ａ）の方が大きいと判定した場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドを所定の回数だけ繰り返してシステムスプーラへ出力する（ステップＳ５０７）。
【００６８】
他方、（Ｂ）の方が大きいと判定した場合には、テンポラリファイルへ一時記憶しておいたプリンタ制御コマンドの先頭に上述した式（１）に示したプリンタ制御コマンドを付加し、また後尾に印刷データの終了を指示するための文字列を付加して、システムスプーラへ出力する（ステップＳ５０８）。続いて、プリンタドライバ２５は上記ステップＳ５０３において新たにオープンした印刷ジョブをクローズして（ステップＳ５０９）、丁合い出力が指定された場合の処理（ステップＳ５０３〜５０９）を終了する。
【００６９】
ここまでの第１の実施の形態に示した通り、本発明が示す情報処理方法を適用したプリンタドライバ２５は、丁合い出力が指定されている場合に、順次生成したプリンタ制御コマンドを直ちにプリンタ１５００へは出力せず、ホストコンピュータ３０００上の外部メモリ１１へ一時的に記憶しておき、その総データサイズがジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最大データ量を超えていないか否かを判定し、超えている場合には一時記憶しておいたプリンタ制御コマンドをプリンタドライバ２５自身が所定の回数だけ繰り返してプリンタ１５００へ出力するので、常に所定の回数分で丁合いされた用紙出力結果を保証することができるという効果がある。
【００７０】
尚、第１の実施の形態で示した機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されてもよい。そして、その場合、その機能がＣＤ−ＲＯＭやフラッシュメモリやフロッピーディスク（ＦＤ）等の記憶媒体により、或いは電子メールやパソコン通信等のネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置やホストコンピュータを含むシステム内にロードすることにより、ホストコンピュータ或いは出力装置に供給される場合でも本発明は適用されるものである。
【００７１】
上述したように、第１の実施の形態によれば、プリンタ制御システムは、プリンタ制御コマンド生成プログラムであるプリンタドライバ２５が動作可能なホストコンピュータ３０００と、指定された回数分データを繰り返し受信したかのように実行可能なプリンタ１５００とから構成すると共に、ホストコンピュータ３０００は、プリンタ１５００で一時記憶可能な受信データの最大データ量を一時記憶する外部メモリ１１と、プリンタ制御コマンドの総データサイズが最大データ量を超えているか否かを判定し、超えている場合は一時記憶しておいたプリンタ制御コマンドを指定された回数だけプリンタ１５００へ出力するプリンタドライバ２５とを有するため、従来の如く、プリンタドライバが生成するプリンタ制御コマンドの総データサイズはコマンド生成処理の終了時まで分からないために、プリンタで一時的に記憶可能である最大データサイズをプリンタ制御コマンドの総データサイズが超過する不具合を解消でき、この結果、常に所定の回数分で丁合いされた用紙出力結果を保証することができるという効果がある。
【００７２】
［２］第２の実施の形態
第２の実施の形態に係るプリンタ制御システムは、ＣＰＵ１、ＲＡＭ２、ＲＯＭ３、キーボードコントローラ（ＫＢＣ）５、ＣＲＴコントローラ（ＣＲＴＣ）６、ディスクコントローラ（ＤＫＣ）７、プリンタコントローラ（ＰＲＴＣ）８、キーボード（ＫＢ）９、ＣＲＴディスプレイ（ＣＲＴ）１０、外部メモリ１１を備えたホストコンピュータ３０００と、ＣＰＵ１２、ＲＡＭ１９、ＲＯＭ１３、入力部１８、印刷部インタフェース（Ｉ／Ｆ）１６、ディスクコントローラ（ＤＫＣ）２０、印刷部１７、操作部１５０１、外部メモリ１４を備えたプリンタ１５００とから構成されている（上記図１参照）。各部の構成は上記第１の実施の形態で詳述したので説明は省略する。
【００７３】
また、第２の実施の形態に係るプリンタドライバ２５がホストコンピュータ３０００上のＲＡＭ２へロードされ実行可能となった状態のメモリマップ、即ち、アプリケーション２２、空きメモリ２３、プリンタドライバ関連データ２４、プリンタドライバ２５、ＯＳ２６、ＢＩＯＳ２７の構成（上記図２参照）も上記第１の実施の形態と同様であるため説明は省略する。
【００７４】
第２の実施の形態は、ジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最大データ量を、プリンタドライバ２５が双方向インタフェースを介して動的に取得し、これに応じて上記第１の実施の形態に示したような処理を行うという改良に関するものである。
【００７５】
次に、上記の如く構成してなる第２の実施の形態に係るプリンタ制御システムのプリンタドライバが、ＯＳを介したアプリケーションの印刷要求を受け付けてプリンタ制御コマンドを順次生成する様子の概略について、図７及び図８のフローチャートを中心に詳細に説明する。図７及び図８は上記図３のステップＳ３０７の処理内容を示すフローチャートである。尚、図７及び図８において上記図５及び上記図６と共通する処理には同一のステップ番号を付し、説明を省略または簡略化する。
【００７６】
第２の実施の形態に係るプリンタドライバ２５は、上記第１の実施の形態の処理内容を示した図５のステップＳ５０５に代えて、図７のステップＳ７０１を実行する。図７及び図８において、プリンタドライバ２５は、アプリケーション２２からの印刷終了要求を受け付けた際に丁合い出力が指定されていると判定した場合、上記第１の実施の形態と同様に、ステップＳ５０１〜ステップＳ５０４の処理に続いて、ジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最大データ量を、双方向性インタフェース２１を介して動的に取得し、ＲＡＭ２上へ記憶する（ステップＳ７０１）。
【００７７】
続いて、プリンタドライバ２５は、上記ステップＳ７０１で取得したプリンタ１５００の最大記憶データ量とプリンタ制御コマンドの総データサイズを比較し、ステップＳ５０７或いはステップＳ５０８の何れかが処理されることになる。他の全てのプリンタドライバ処理内容は上記第１の実施の形態に示したものと全く同様である。
【００７８】
尚、第２の実施の形態では、プリンタドライバ２５がプリンタ１５００の最大記憶データ量を双方向通信を介して取得すると説明したが、これに限定されるものではない。プリンタドライバ２５もしくはホストコンピュータ３０００上においてプリンタドライバ２５と協調して動作する専用アプリケーションや専用プロセスを用い、ネットワークを経由して上記の最大記憶データ量を取得してもよい。
【００７９】
第２の実施の形態で示した改良により、ジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最新の最大データ量を、プリンタドライバ２５が常にプリンタ本体から動的に取得できる。これにより、例えばプリンタ１５００の上記設定値が不特定のタイミングで変更されてしまったような場合にも、上記第１の実施の形態で示した情報処理方法に対して、比較的に正確な条件設定（図８のステップＳ５０６）が可能となる効果がある。
【００８０】
上述したように、第２の実施の形態によれば、プリンタ制御システムは、プリンタ制御コマンド生成プログラムであるプリンタドライバ２５が動作可能なホストコンピュータ３０００と、指定された回数分データを繰り返し受信したかのように実行可能なプリンタ１５００とから構成すると共に、プリンタ１５００は、該プリンタ１５００で一時記憶可能な受信データの最大データ量を一時記憶する外部メモリ１４を有し、ホストコンピュータ３０００は、プリンタ制御コマンドの総データサイズが双方向性インタフェース２１を介してプリンタ１５００から取得した最大データ量を超えているか否かを判定し、超えている場合は一時記憶しておいたプリンタ制御コマンドを指定された回数だけプリンタ１５００へ出力するプリンタドライバ２５を有するため、従来の如く、プリンタドライバが生成するプリンタ制御コマンドの総データサイズはコマンド生成処理の終了時まで分からないために、プリンタで一時的に記憶可能である最大データサイズをプリンタ制御コマンドの総データサイズが超過する不具合を解消でき、この結果、常に所定の回数分で丁合いされた用紙出力結果を保証することができるという効果がある。
【００８１】
また、上記のようにジョブスプール機能を用いた際にプリンタ１５００が一時記憶可能である最新の最大データ量を、プリンタドライバが常にプリンタ本体から動的に取得するため、プリンタ１５００の上記設定値が不特定のタイミングで変更された場合でも、上記第１の実施の形態で示した情報処理方法に対して、比較的に正確な条件設定が可能となる効果がある。
【００８２】
尚、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば複写機、プリンタ、ファクシミリ装置等）に適用してもよい。
【００８３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００８４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
【発明の効果】
以上説明したように、本発明によれば、情報処理装置では、印刷データを印刷装置に送信する前に、印刷装置のジョブスプール機能を用いた丁合い出力を行うことが可能であるか判断することができ、その判断結果により、印刷制御コマンドの出力方法を適宜切り替えることが可能となり、印刷装置のジョブスプール機能を用いた丁合い出力を実現できない場合であっても、常に所定の回数分で丁合いされた用紙出力結果を得られるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１及び第２の実施の形態に係るプリンタ制御システムの全体構成を示すブロック図である。
【図２】本発明の第１及び第２の実施の形態に係るプリンタドライバがホストコンピュータのＲＡＭ上にロードされて実行可能となった状態のメモリマップを示す説明図である。
【図３】本発明の第１の実施の形態に係るプリンタドライバ処理の概略を示すフローチャートである。
【図４】本発明の第１の実施の形態に係るアプリケーションからの印刷要求が印刷開始を意味する場合のプリンタドライバ処理の詳細を示すフローチャートである。
【図５】本発明の第１の実施の形態に係るアプリケーションからの印刷要求が印刷終了を意味する場合のプリンタドライバ処理の詳細を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るアプリケーションからの印刷要求が印刷終了を意味する場合のプリンタドライバ処理の詳細を示すフローチャートである。
【図７】本発明の第２の実施の形態に係るアプリケーションからの印刷要求が印刷終了を意味する場合のプリンタドライバ処理の詳細を示すフローチャートである。
【図８】本発明の第２の実施の形態に係るアプリケーションからの印刷要求が印刷終了を意味する場合のプリンタドライバ処理の詳細を示すフローチャートである。
【符号の説明】
１、１２  ＣＰＵ
２、１９  ＲＡＭ
３、１３  ＲＯＭ
７、２０  ディスクコントローラ
８  プリンタコントローラ
１１、１４  外部メモリ
１７  印刷部
２１  双方向性インタフェース
２２  アプリケーション
２５  プリンタドライバ
１５００  プリンタ
３０００  ホストコンピュータ
【図１】
0003667043.tif 000002
【図２】
0003667043.tif 000003
【図３】
0003667043.tif 000004
【図４】
0003667043.tif 000005
【図５】
0003667043.tif 000006
【図６】
0003667043.tif 000007
【図７】
0003667043.tif 000008
【図８】
0003667043.tif 000009