(57)【特許請求の範囲】
【請求項１】
プリンタの印刷を制御する印刷データを複数のデータに分割して、かつ、分割したデータを識別するための情報を分割したそれぞれのデータに付加し、これらをサブファイルとして記録する処理と、
前記サブファイルを特定するための情報を含むデータを作成し、前記サブファイルとは別にスプールファイルとして記録する処理と、
前記スプールファイルを読み込み、前記サブファイルを特定するための情報を参照する処理と、
特定されたサブファイルを読み込み、サブファイルに含まれる印刷データを出力する処理と、
出力した印刷データを含むサブファイルを消去する処理と、
をコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項２】
印刷命令に従って、プリンタを制御する印刷データを作成する処理をコンピュータに実行させるためのプログラムを記録した、コンピュータ読取可能な記録媒体であって、
前記プログラムは、
前記コンピュータで利用できるプリンタ転送モジュールが、前記プログラムが作成するサブファイルを用いてプリンタへの転送制御ができるものであるかどうかを判定する処理と、
前記プリンタ転送モジュールが、前記プログラムが作成するサブファイルを用いてプリンタへの転送制御ができるものであると判定された場合に、印刷データを複数のデータに分割して、かつ、分割したデータを識別するための情報を分割したそれぞれのデータに付加し、これらをサブファイルとして記録する処理と、
前記サブファイルを特定するための情報を含むデータを、前記サブファイルとは別に作成する処理と、
をコンピュータに実行させることを特徴とするコンピュータ読取可能な記録媒体。
【請求項３】
前記サブファイルを特定するための情報を含むデータには、前記プログラムが作成したことを示す情報を含めることを特徴とする請求項２記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項２記載の記録媒体であって、前記プログラムは、さらに、
複数部数の印刷命令を受付け可能とする処理と、
複数部数の印刷命令を受付けた場合に、前記サブファイルを特定するための情報を含むデータに、前記複数部数の印刷命令に関する情報を含める処理とを、
コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５】
請求項２〜４のいずれか一項に記載の記録媒体であって、
前記プログラムは、
前記プリンタ転送モジュールが、前記プログラムが作成するサブファイルを用いてプリンタへの転送制御ができるものでないと判定された場合には、印刷データをスプールファイルとして出力することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項６】
コンピュータにおける印刷データ作成方法であって、
印刷命令を受付ける段階と、
前記コンピュータで利用できるプリンタ転送モジュールが、前記コンピュータが作成するサブファイルを用いてプリンタへの転送制御ができるものであるかどうかを判定する段階と、
前記プリンタ転送モジュールが、前記プログラムが作成するサブファイルを用いてプリンタへの転送制御ができるものであると判定された場合に、印刷データ複数のデータに分割して、かつ、分割データを識別するための情報を分割したそれぞれのデータに付加し、これらをサブファイルとして記録する段階と、
前記サブファイルを特定するための情報を含むデータを、前記サブファイルとは別に作成する段階とを有することを特徴とする印刷データ作成方法。
【請求項７】
印刷命令に従って、プリンタを制御する印刷データを作成する手段を有するコンピュータであって、
印刷データを複数のデータに分割して、かつ、分割したデータを識別するための情報を分割したそれぞれのデータに付加し、これらをサブファイルとして記録する手段と、
前記サブファイルを特定するための情報を含むデータを、前記サブファイルとは別に作成する手段と、
を有することを特徴とするコンピュータ。
【請求項８】
分割された印刷データが含まれる複数のサブファイルを特定するための情報を、スプールファイルが含むかどうかを判定する判定処理と、
前記スプールファイルが、印刷データが含まれる複数のサブファイルを特定するための情報を含むと判定された場合に、前記スプールファイルを読み込み、前記サブファイルを特定するための情報を参照する処理と、
特定されたサブファイルを読み込み、サブファイルに含まれる印刷データを出力する処理と、
出力した印刷データを含むサブファイルを消去する処理と、
をコンピュータに実行させるためのプログラムを記録した、コンピュータ読取可能な記録媒体。
【請求項９】
請求項８記載の記録媒体であって、前記プログラムは、さらに、
スプールファイルに、複数部数の印刷命令に関する情報が含まれているかどうかを判定する処理と、
スプールファイルに、複数部数の印刷命令に関する情報が含まれていると判定した場合に、上記特定されたサブファイルを読み込み、サブファイルに含まれる印刷データを出力する処理に代えて、
特定されたサブファイルを読み込み、ページ単位の印刷データからなるページデータファイルを作成し、記録する処理と、
複数部数の印刷命令に従って、前記ページデータファイルを参照し、ページ単位の印刷データを複数回数出力する処理と、
をコンピュータに実行させることを特徴とするコンピュータ読取可能な記録媒体。
【請求項１０】
分割された印刷データが含まれる複数のサブファイルを特定するための情報を、スプールファイルが含むかどうかを判定する段階と、
前記スプールファイルが、複数のサブファイルを特定するための情報を含むと判定された場合に、前記スプールファイルを読み込み、前記サブファイルを特定するための情報を参照する段階と、
特定されたサブファイルを読み込み、サブファイルに含まれる印刷データを出力する段階と、
出力した印刷データを含むサブファイルを消去する段階と、
を有することを特徴とする印刷データ転送方法。
【請求項１１】
分割された印刷データが含まれる、複数のサブファイルを特定するための情報を含むスプールファイルを読み込む手段と、
前記サブファイルを特定するための情報を参照する手段と、
特定されたサブファイルを読み込み、サブファイルに含まれる印刷データを出力する手段と、
出力した印刷データを含むサブファイルを消去する手段と、
を有することを特徴とするコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムにおける印刷処理に係り、特に、印刷時において、ハードディスク資源を有効利用する技術に関する。
【０００２】
【従来の技術】
印刷実行の際、プリンタへの出力によって、コンピュータシステム本体の計算完了が遅くなるのを防いだり、ネットワークに接続されたコンピュータからのプリンタ出力要求をさばき、順序を整えてプリンタにデータを送るという目的のため、コンピュータシステムはプリントスプールという手法を通常採用している。
【０００３】
図１０は、ローカル接続プリンタでの印刷時の処理の概要を示すブロック図である。プリンタドライバ２３１で生成された印刷データ（プリンタ制御言語で記述されたデータ）は、オぺレーティングシステムのプリントシステム２４０のモジュールの一つであるスプーラ２４１に送られる。印刷データを受け取ったスプーラ２４１は、印刷データを一旦スプールファイル２６０として、ハードディスク上に格納する。そしてプリントシステム２４０のモジュールの一つであるプリントプロセッサ２４２が、このスプールファイル２６０を読み込み、プリンタ２０に転送する。
【０００４】
図１１は、ネットワーク接続プリンタでの複数部数印刷時の処理の概要を示すブロック図である。本図において、ネットワークに接続されたクライアントコンピュータ２１０が生成した印刷データは、サーバコンピュータ２８０に接続されたプリンタ２０で印刷される。
【０００５】
クライアントコンピュータ２１０は、図１と同様に印刷データをスプールファイル２６０としてハードディスクに格納し、その後、プリンタサーバコンピュータ２８０のスプーラ２９１に転送する。
【０００６】
印刷データを受け取ったプリントサーバコンピュータ２８０のスプーラ２９１は、やはり、印刷データをスプールファイル３００として、ハードディスクに格納する。その後、プリントプロセッサ２９２がスプールファイル３００を読み込み、プリンタ２０に転送する。
【０００７】
【発明が解決しようとする課題】
しかし、オペレーティングシステムによっては、ローカル接続プリンタでの印刷時に、印刷データをハードディスク上にスプールすると、印刷終了までこの印刷データを保持する仕様のプリンタシステムを有するものがある。スプールファイル２６０は、印刷対象物によっては、数百メガバイトを越えるものもあり、このデータを印刷終了まで保持することは、ハードディスク資源を有効利用しているとは言い難い。
【０００８】
また、ネットワーク接続プリンタで複数部数印刷を実行する際には、同じ印刷データを複数部数分作成し、スプールファイル２６０としてハードディスクに格納した後、プリントサーバコンピュータ２８０のスプーラ２９１に印刷データを送る仕様となっている。このため、複数部数分の同じ印刷データにクライアントコンピュータ２１０、プリンタサーバコンピュータ２８０ともハードディスク資源が費やされるという問題がある。
【０００９】
本発明の目的は、印刷時において、印刷データによる外部記憶装置の記憶領域の占有時間を短縮することにある。
【００１０】
【課題を解決するための手段】
前記目的を達成するため、本発明は、プリンタの印刷を制御する印刷データを複数のデータに分割して、かつ、データを識別するための情報をそれぞれのデータに付加し、これらをファイルとして記録する処理と、前記ファイルを特定するための情報を含むデータを作成し、前記ファイルとは別にスプールファイルとして記録する処理と、前記プリントスプールファイルを読み込み、前記ファイルを特定するための情報を参照する処理と、特定されたファイルを読み込み、ファイルに含まれる印刷データを出力する処理と、出力した印刷データを含むファイルを消去する処理と、コンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体を提供する。これにより、プリンタに転送済みのファイルを消去することができるため、印刷データによる外部記憶装置の記憶領域の占有時間を短縮することが可能となる。
【００１１】
また、本発明は、操作者からの印刷命令に従って、プリンタを制御する印刷データを作成するプログラムであって、当該プログラムがインストールされたコンピュータで利用できるプリントプロセッサが、当該プログラムが作成可能な独自の印刷データに従って、プリンタへの転送制御ができるものであるかどうかを判定する判定手段と、プリントプロセッサが、当該プログラムが作成可能な独自の印刷データに従って、プリンタへの印刷制御ができるものであると判定された場合に、印刷データを１または複数のデータに分割して、かつ、データを識別するための情報をそれぞれのデータに付加し、これらをファイルとして記録する手段と、前記ファイルを特定するための情報を含むデータを、前記ファイルとは別に作成する手段と、を有することを特徴とするプログラムを記録した記録媒体を提供する。このプログラムにより作成されたスプールファイルを利用することにより、印刷データによる外部記憶装置の記憶領域の占有時間を短縮することが可能となる。
【００１２】
また、本発明では、プリントスプールファイルを読込み、プリンタへの転送を制御するプログラムであって、プリントスプールファイルが、印刷データが含まれる、一または複数のファイルを特定するための情報を含むかどうかを判定する判定手段と、プリントスプールファイルが、印刷データが含まれる、一または複数のファイルを特定するための情報を含むと判定された場合に、当該プリントスプールファイルを読み込み、前記ファイルを特定するための情報を参照する手段と、特定されたファイルを読み込み、ファイルに含まれる印刷データを出力する手段と、を有することを特徴とするプログラムを記録した記録媒体も提供する。このプログラムにより、印刷データによる外部記憶装置の記憶領域の占有時間の短縮が可能となる。
【００１３】
【発明の実施の形態】
本発明の第１の実施形態について、図面を参照して説明する。第１の実施形態は、ローカル接続されたプリンタで印刷を行うコンピュータシステムに、本発明を適用した場合である。
【００１４】
まず、第１の実施形態におけるコンピュータシステムの構成について説明する。
【００１５】
図８は、コンピュータシステムのハードウェア構成を示すブロック図である。本図において、コンピュータ本体１０は、ＣＰＵ１１と、画像制御装置１２と、主記憶装置１３と、外部記憶装置１４と、入出力制御装置１５と、インタフェース１６と、これらを接続するバス１７とから構成される。
【００１６】
ＣＰＵ１１は、コンピュータの中心的な制御を行う装置で、主記憶装置に格納された種々の命令を解読して、実行する機能を有している。画像制御装置１２は、画像を生成するための演算等を行う。主記憶装置１３は、コンピュータが取り扱うデータ、ソフトウェア、オペレーティングシステム等を一時的に格納する機能を有している。外部記憶装置１４は、ハードディスク等のデータを読み書き可能の記録媒体を有する記憶装置であって、ソフトウェア、一時ファイル等が格納される。入出力制御装置１５は、操作者の指示を受け付けるとともに、データを外部に接続された装置に出力する際の制御を行う。インタフェース１６は、プリンタ２０等の周辺装置と接続する際の仲立ちを行う。バス１７は、アドレス、データ等の信号が流れる線である。
【００１７】
コンピュータ本体１０には、インタフェース１６を介して、マウス１８とキーボード１９と、プリンタ本体２０が接続される。マウス１７およびキーボードは、コンピュータ操作者の入力を受付ける。プリンタ本体２０は、コンピュータ１０から印刷データを受付けて、印刷を実行する。
【００１８】
なお、コンピュータシステムの構成は、本構成に限られるものではない。
【００１９】
次に、ワードプロセッサ、グラフィック等のアプリケーションソフトウェアの印刷コマンドを実行した時の印刷データの流れの概要を、図９を参照して説明する。本図において、アプリケーションソフトウェア５０と、プリンタドライバ３１と、プリントシステム４０は、ソフトウェアで、主記憶装置１３に格納されている。ＣＰＵ１１は、これらのソフトウェアを参照して、本図に示す処理を行う。アプリケーションソフトウェア５０は、コンピュータ１０で実行しているプログラムである。操作者からの印刷命令を受付けると、アプリケーションソフトウェア５０は、印刷対象物の描画データ５１（主として、画像出力用データ形式）をプリンタドライバ３１に送る。
【００２０】
プリンタドライバ３１は、送られた描画データ５１を印刷データ５２（プリンタ制御言語で記述されたデータ）に展開して、プリントシステム４０に送る。
【００２１】
プリントシステム４０は、送られた印刷データ５２を外部記憶装置１４に一時的に格納する。その後、格納した印刷データ５２をプリンタ２０に送り、コンピュータ本体１０の印刷処理を終了する。
【００２２】
印刷データ５２を受け取ったプリンタ２０は、印刷を実行する。
【００２３】
図１は、第１の実施形態の構成および処理の概要を説明するブロック図である。本図において、スプーラ４１とプリントプロセッサ４２とは、プリントシステム４０を構成するソフトウェアモジュールである。スプーラ４１は、プリンタドライバ３１から送られ、プリントシステム４１が受け取ったデータを、外部記憶装置１４に格納する。プリントプロセッサ４２は、格納された印刷データを読み込んで、プリンタ２０に送る。プリントプロセッサ４２は、通常オぺレーティングシステムの一部として、提供されるが、独自仕様のものを開発し、利用することも可能である。
【００２４】
以上の構成により行われる、第１の実施形態における処理の概要について説明する。
【００２５】
プリンタドライバ３１は、印刷データを生成すると、この印刷データを後述するサブファイル７０に分割して、外部記憶装置１４に格納する。そして、サブファイル７０のファイル名と、印刷制御コマンドファイル７１のファイル名をスプーラ４１に送る。ここで、印刷制御コマンドファイル７１とは、プリンタドライバ３１が、プリンタを制御するコマンド、例えばキャンセル命令を書き込むために外部記憶装置１４等に作成するファイルである。
【００２６】
これらを受付けたスプーラ４１は、サブファイル名６１と、印刷制御コマンドファイルのファイル名６２をスプールファイル６０として外部記憶装置１４に格納する。
【００２７】
このように、印刷データをサブファイルに分割し、サブファイル名の情報等をスプールファイルに格納することにより、スプールファイルサイズを削減でき、ファイルサイズの制限からスプールファイルに展開できないような大サイズの印刷対象物の印刷を可能とすることができる。
【００２８】
プリントプロセッサ４２は、スプールファイル６０から、サブファイル名６１を参照し、対応するサブファイル７０を順次オープンする。そして、サブファイル７０を外部記憶装置１４から読込み、印刷データを再構成し、プリンタ２０に送る。そして、プリンタ２０に送った印刷データに対応するサブファイル７０を順次削除する。また、プリントプロセッサ４２は、スプールファイル６０から、印刷制御コマンドファイル名６２を参照し、対応する印刷制御コマンドファイル７１を監視する。
【００２９】
次に、第１の実施形態におけるプリンタドライバ３１の動作について詳細に説明する。プリンタドライバ３１は、プリントプロセッサ４２が本発明による印刷処理が可能である否かを調べ、可能である場合には、以下の処理を行う。可能でない場合には、従来の処理を行う。なお、プリントプロセッサ４２が本発明による印刷処理が可能か否かの判別は、例えば、本発明による印刷処理が可能なプリントプロセッサ４２に、識別用のコードを付し、プリンタドライバ３１が、そのコードを検出した場合には、本発明による印刷処理が可能であると決定すること等により実現できる。
【００３０】
ユーザからの印刷命令により、あるジョブに対する印刷処理を開始したプリンタドライバ３１は、本発明による印刷処理を行うことを示す識別データと、印刷制御コマンドファイルのファイル名とを、スプーラ４１に送る。なお、ジョブとは、１つの印刷命令で行われる印刷処理の単位をいう。印刷されるページ数の複単、部数の複単は問わない。
【００３１】
次に、プリンタドライバ３１は、印刷データを加工し、複数のサブファイル７０に分割し、外部記憶装置１４に格納する。そして、サブファイルのファイル名をスプーラ４１に送る。
【００３２】
ここで、プリンタドライバ３１が、印刷データを加工し、複数のサブファイル７０に分割する処理について説明する。
【００３３】
図２は、サブファイル７０を説明する概念図である。本図（ａ）に示すようにサブファイル７０は、ヘッダ部７１と、本体部７２と、フッタ部７３とを有する。本体部７２は、さらにパケット部（７２ａ、７２ｂ、…）を有する（本図（ｂ））。
【００３４】
ヘッダ部７１は、サブファイル７０の種類の識別等に用いられる。パケット部（７２ａ、７２ｂ、…）は、それぞれ、ジョブの開始を識別するためのコード、ページの開始を識別するためのコード、印刷データ等を有する。フッタ部７３は、サブファイルの終了の識別に用いられる。
【００３５】
ヘッダ部７１と、フッタ部７３と、パケット部（７２ａ、７２ｂ、…）とは、図２（ｃ）に示すような共通のフォーマットを有している。パケット部７２ａは、可変長で、パケットサイズ部７２１と、パケットコード部７２２と、パケットＩＤ部７２３と、パケットデータ部７２４とを有する。
【００３６】
パケットサイズ部７２１は、パケットデータ７２ａのデータサイズを格納する。パケットコード部７２２は、パケットの種類を示すコードを格納する。パケットＩＤ部７２３は、パケットデータ７２ａのデータ種類（パケットの種類におけるデータの種類）を識別するコードを格納する。パケットデータ部７２４は、データ本体を格納する。
【００３７】
なお、印刷制御コマンドファイル７１のデータ構成も、上記で説明したサブファイル７０と同様であり、両者はヘッダ部７１の内容で識別される。
【００３８】
図３は、プリントドライバ３１が、印刷データ５２を、サブファイル７０に分割する処理を説明する概念図である。本図において７０ａ、７０ｂ、７０ｃは、サブファイルである。それぞれのサブファイルは、ヘッダ部（７１ａ、７１ｂ、７１ｃ）と、フッタ部（７３ａ、７３ｂ、７３ｃ）と、本体部であるパケット部（７２ａ、７２ｂ…）とから構成される。
【００３９】
プリンタドライバ３１は、印刷データを、パケットに分解し、いくつかのパケットをまとめ、ヘッダ部と、フッタ部を付加してサブファイルとする。ここで、パケットに分解する単位は、少なくとも、ジョブ開始、ページ開始等の印刷用コマンドは１パケットとするが、それ以外の印刷データは任意のサイズにすることができる。また、パケットをまとめて１サブファイルとする単位も任意である。ただし、印刷データの並び順を変更することは許されない。
【００４０】
図４は、プリンタドライバ３１が作成するサブファイル７０と、プリンタドライバ３１からスプーラ４１にファイル名が送られ、スプーラ４１が作成するスプールファイル６０の関係について説明する図であり、（ａ）、（ｂ）の２例を示している。
【００４１】
図４（ａ）は、作成したサブファイルのファイル名をすべてスプールファイルで保持する方法を示す。本図においてスプールファイル６０は、印刷制御コマンドファイル名６１と、サブファイル名１、サブファイル名２…（６２ａ、６２ｂ…）とから構成される。
【００４２】
図４（ｂ）は、作成したサブファイルのファイル名の代表名をスプールファイルで保持する方法を示す。本図においてスプールファイル６０は、印刷制御コマンドファイル名６１と、サブファイル名６２とから構成される。サブファイル１、サブファイル２…は、サブファイル名６２を参照することにより、順次特定可能となる。
【００４３】
次に、プリンタドライバ３１が、ユーザが指示したキャンセル命令を受け取った場合の処理について説明する。
【００４４】
プリンタドライバ３１は、ユーザからの印刷キャンセル命令を受付けると、キャンセルを表すプリンタ制御コマンドを、印刷制御コマンドファイル７１に書き込む。
【００４５】
次に、第１の実施形態におけるプリントプロセッサ４２の動作について詳細に説明する。
【００４６】
プリントプロセッサ４２は、プリントシステム４０から印刷命令を受付けると、スプールファイル６０中に、本発明による印刷処理が行われていることを示す識別データがあるか否かを調べる。そして識別データを検出した場合は、以下の処理を行う。なお、識別データは、本処理を行ったプリンタドライバ３１からスプーラ４１に送られ、スプーラ４１がスプールファイル６０中に書き込んだものである。
【００４７】
プリントプロセッサ４２は、スプールファイル６０を参照し、サブファイル名６１と、印刷制御コマンドファイル名６２を取得する。プリントプロセッサ４２は、サブファイル名６１の最初のファイル名に対応するサブファイル７０をオープンし、パケット単位（ヘッダ部７１とフッタ部７３とを含む）で読み込む。そして、印刷データであるパケットデータ部７２４を順次、プリンタ２０に送る。
【００４８】
プリントプロセッサ４２がフッタ部７３を読み込んだときは、読込み済みのサブファイルをクローズして、サブファイル名６１の次のファイル名に対応するサブファイル７０をオープンし、同様の処理を行うと共に、読込み済みである最初のサブファイルを消去する。これにより、外部記憶装置のディスク容量の節約が実現される。以下この処理が印刷データの終了まで繰り返される。
【００４９】
プリントプロセッサ４２が、ジョブ終了パケットを読み込んだときは、印刷を終了し、最後のサブファイル７０をクローズし、消去する。
【００５０】
プリントプロセッサ４２は、最初のサブファイルが作成されると、ジョブ全体のサブファイルが完成されるのを待たずに、プリンタへのデータを開始することができるため、印刷開始までの待ち時間を短縮することが可能となる。
【００５１】
プリントプロセッサ４２は、パケット単位でのファイルの読込み毎に、印刷制御コマンドファイル７１を監視する。そして、印刷制御コマンドファイル７１のファイルサイズ増加等により、印刷制御コマンドファイル７１が更新されたことを検知すると、印刷制御コマンドファイル７１を読み込む。
【００５２】
読込みの結果、印刷制御コマンドファイル７１に印刷キャンセル命令が追加されていた場合は、それ以降のパケットのプリンタ２０への転送を中止し、ページ終了コマンドおよびジョブ終了コマンドをプリンタ２０に送り、印刷を終了させる。この印刷キャンセル処理により、迅速・確実に印刷のキャンセルを行うことが可能となる。
【００５３】
次に、本発明の第２の実施形態について、図面を参照して説明する。第２の実施形態は、ネットワーク接続されたプリンタから複数部数印刷を行うコンピュータシステムに、本発明を適用した場合である。
【００５４】
まず、第２の実施形態におけるコンピュータシステムの構成と処理について図５を用いて説明する。クライアントコンピュータ１０は、第１の実施例のコンピュータと同じである。サーバコンピュータ８０は、クライアントコンピュータ１０とネットワークで接続され、さらに、プリンタ２０が接続されている。サーバコンピュータは、プリントシステム９０を備えており、プリントシステム９０は、スプーラ９１と、プリントプロセッサ９２を有している。クライアントコンピュータ１０の印刷データは、プリントサーバコンピュータ８０のスプーラ９１に送られ、プリントプロセッサ９２を介してプリンタ２０に送られる。なお、サーバコンピュータ８０のハードウェア構成はクライアントコンピュータ１０と同様で、図８に示すとおりであるため、符号は同じものを用いるが、混乱を避けるため、クライアントコンピュータ１０、もしくはサーバコンピュータ８０を明記して使用する。
【００５５】
本実施形態におけるクライアントコンピュータ１０の処理について説明する
操作者から印刷命令を受付けた、クライアントコンピュータ１０のプリンタドライバ３１は、第１の実施形態同様、サブファイル名６１と印刷制御コマンドファイル名６２を含むスプールファイル６０と、サブファイル７０と、印刷制御コマンドファイル７１を作成する。プリントプロセッサ４２は、サブファイル名６１を参照して、サブファイル７０を順次オープンし、パケット単位で、プリントサーバコンピュータ８０のスプーラ９１に送り、転送済みのサブファイルを順次削除する。これにより、第１の実施形態同様、クライアントコンピュータ１０の外部記憶装置１４の有効利用が可能となる。
【００５６】
また、プリントプロセッサ４２は、操作者から受付けた複数部数印刷に関する情報（部数、帳合の有無）も、プリントサーバコンピュータ８０のスプーラ９１に送る。このように、複数印刷時に、複数印刷分の印刷データを送る必要が無いため、転送時間を削減し、また、印刷開始時間を早めることができる。
【００５７】
次に、上記のデータを送られたプリントサーバコンピュータ８０の処理について説明する。スプーラ９１は、送られたパケット単位の印刷データをスプールファイル１００として、プリントサーバコンピュータ８０の外部記憶装置１４に格納する。
【００５８】
プリントプロセッサ９２は、クライアントコンピュータ１０から送られた複数部数印刷に関する情報を参照し、印刷部数と、帳合印刷の有無を取得する。
【００５９】
複数部数印刷が指定されていない場合には、プリントプロセッサ９２は、スプールファイル１００をパケット単位で読込み、パケットデータ７２４を順次プリンタ２０に送り、印刷を実行する。
【００６０】
複数部数印刷が指定されている場合には、プリントプロセッサ９２は、スプールファイル１００をパケット単位で読込み、ページごとにページファイル１１０を一時的に作成し、サーバコンピュータ８０の外部記憶装置１４に格納する。
【００６１】
ここで、ページファイル１１０の作成は、最初に印刷開始ページの印刷データを格納するためのファイルを作成し、ページ終了を意味するパケットを読み込むまで、パケットデータ７２４をファイルに追加していき、ページ終了パケットを読み込むと、このファイルをクローズし、次ページ名の印刷データを格納するためのファイルを作成するという処理を、ジョブ終了のパケットを読み込むまで繰り返すことにより行われる。したがって、印刷ページ数分のページファイル１１０が作成される。
【００６２】
図６は、このときの処理の概念図である。本図において、１００はパケット単位のスプールファイルである。スプーファイル１００は、印刷の実体部分であるＤ１、Ｄ２、Ｄ３と、ページ終了を意味するＰＥ１、ＰＥ２と、ジョブ終了を意味するＪＥから構成されている。１１０ａと、１１０ｂは、ページファイルである。プリントプロセッサ９２は、スプールファイル１００を読込み、ページ終了ＰＥ１とＰＥ２を区切りとして、２つのページファイル１１０ａと１１０ｂとを作成する。
【００６３】
以上の処理により、複数部数印刷が指定されている場合であっても、複数部数分のスプールファイルが不用となり、サーバコンピュータ８０の外部記憶装置１４の有効利用が可能となる。
【００６４】
非帳合印刷の場合は、このページファイル１１０を、指定部数分繰り返して、ページ順にプリンタ２０に送り、転送済みのページファイル１１０は順次消去する。
【００６５】
図７（ａ）は、このときの処理の概念図である。本図において、１１０ａ、１１０ｂ、１１０ｃはページファイルである。これらを非帳合で３部印刷するものとする。１１２は、プリンタ２０に送られるデータである。プリントプロセッサ９２は、印刷開始ページＰ１のページファイル１１０ａを３部分プリンタ２０に送り、Ｐ１ページファイル１１０ａを消去する。その後Ｐ２ページファイル１１０ｂとＰ３ページファイル１１０ｃについて同様の処理を行い、印刷を終了する。
【００６６】
このように、印刷終了後のページファイルを順次削除することにより、プリントサーバコンピュータ８０の外部記憶装置１４の有効利用が可能となる。
【００６７】
帳合印刷の場合は、ページファイル１１０をページ順にプリンタ２０に送る処理を、指定部数分繰り返す。そして、処理終了後に一時ファイルを消去する。
【００６８】
図７（ｂ）は、このときの処理の概念図である。符号の意味は図７（ａ）と同様であり、帳合で３部印刷するものとする。プリントプロセッサ９２は、印刷開始ページＰ１のページファイル１１０ａと、Ｐ２のページファイル１１０ｂとＰ３のページファイル１１０ｃとを順次プリンタ２０に送る。これを印刷部数である３回繰り返し、最後にページファイル１１０ａと、１１０ｂと、１１０ｃとを削除して、印刷を終了する。
【００６９】
なお、複数部数印刷の処理は、ネットワーク接続プリンタでの印刷のみならず、ローカル接続プリンタでの印刷にも適用できることはいうまでもない。
【００７０】
【発明の効果】
上述のように本発明によれば、印刷時において、印刷データによる外部記憶装置の記憶領域の占有時間を短縮することが可能となる。
【図面の簡単な説明】
【図１】第１の実施形態の構成と処理の概要を説明するブロック図。
【図２】サブファイルを説明する概念図。
【図３】印刷データをサブファイルに分割する処理を説明する概念図。
【図４】スプールファイルとサブファイルの関係を説明する概念図。
【図５】第２の実施形態の構成と処理の概要を説明するブロック図。
【図６】ページファイルの作成を説明する概念図。
【図７】複数部数印刷を説明する概念図。
【図８】コンピュータシステムのハードウェア構成を示すブロック図。
【図９】印刷データの流れの概要を説明するブロック図。
【図１０】ローカル接続プリンタでの印刷時の処理の概要を示すブロック図。
【図１１】ネットワーク接続プリンタでの複数部数印刷時の処理の概要を示すブロック図。
【符号の説明】
１０…コンピュータ本体
２０…プリンタ
３１…プリンタドライバ
４０…プリントシステム
４１…スプーラ
４２…プリントプロセッサ
６０…スプールファイル
７０…サブファイル
７１…印刷制御コマンドファイル
【図１】
0003812277.tif 000002
【図２】
0003812277.tif 000003
【図３】
0003812277.tif 000004
【図４】
0003812277.tif 000005
【図５】
0003812277.tif 000006
【図６】
0003812277.tif 000007
【図７】
0003812277.tif 000008
【図８】
0003812277.tif 000009
【図９】
0003812277.tif 000010
【図１０】
0003812277.tif 000011
【図１１】
0003812277.tif 000012