(57)【特許請求の範囲】
【請求項１】
指示に応じて複数部数の印刷を行う印刷装置であって、
データを受信して第１の記憶部に記憶する受信手段と、
前記受信手段により受信したデータから、部数を示す部数情報を含む複数部数の印刷の指示の有無を判別する判別手段と、
複数部数の印刷の指示がある場合、前記第１の記憶部から第２の記憶部にデータを移動させるデータ移動手段と、
複数部数の印刷の指示がない場合には、前記第１の記憶部からデータを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶されたデータを前記部数情報により指示される部数の回数繰り返し読み出して中間コードを生成して展開処理し、前記部数情報により指示される部数を印刷する印刷制御手段とを有し、
前記印刷制御手段は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する手段を有し、不要なデータの処理を行わないことを特徴とする印刷装置。
【請求項２】
印刷データを受信し、指示に応じて複数部数の印刷を行う印刷装置であって、
部数を示す部数情報を含む複数部数の印刷の指示の有無に応じて、受信された印刷データを、第１の記憶部または第２の記憶部に記憶しておく記憶手段と、
複数部数の印刷の指示がない場合には、前記第１の記憶部から印刷データを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶された印刷データを前記部数情報により指示される部数の回数繰り返し読み出して展開処理し、前記部数情報により指示される部数を印刷する印刷制御手段とを有し、
前記印刷制御手段は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する手段を有し、不要なデータの処理を行わないことを特徴とする印刷装置。
【請求項３】
前記印刷制御手段は、第２部目以降の印刷のために、フォントを登録するコマンドを処理しないことを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
指示に応じて複数部数の印刷を行う印刷制御方法であって、
データを受信して第１の記憶部に記憶する受信工程と、
前記受信工程により受信したデータから、部数を示す部数情報を含む複数部数の印刷の指示の有無を判別する判別工程と、
複数部数の印刷の指示がある場合、前記第１の記憶部から第２の記憶部にデータを移動させるデータ移動工程と、
複数部数の印刷の指示がない場合には、前記第１の記憶部からデータを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶されたデータを前記部数情報により指示される部数の回数繰り返し読み出して展開処理し、前記部数情報により指示される部数を印刷する印刷制御工程とを有し、
前記印刷制御工程は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する工程を有し、不要なデータの処理を行わないことを特徴とする印刷制御方法。
【請求項５】
印刷データを受信し、指示に応じて複数部数の印刷を行う印刷制御方法であって、
部数を示す部数情報を含む複数部数の印刷の指示の有無に応じて、受信された印刷データを、第１の記憶部または第２の記憶部に記憶しておく記憶工程と、
複数部数の印刷の指示がない場合には、前記第１の記憶部からデータを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶されたデータを前記部数情報により指示される部数の回数繰り返し読み出して展開処理し、前記部数情報により指示される部数を印刷する印刷制御工程とを有し、
前記印刷制御工程は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する工程を有し、不要なデータの処理を行わないことを特徴とする印刷制御方法。
【請求項６】
前記印刷制御工程は、第２部目以降の印刷のために、フォントを登録するコマンドを処理しないことを特徴とする請求項４または５に記載の印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばホストから複数部印刷の指定が可能な印刷装置および印刷制御方法に関するものである。
【０００２】
【従来の技術】
従来、この種の印刷装置においては、印刷部数の指定が行なわれると同一ページを指定された部数だけ連続して印刷した後、次ページの印字処理を行なっていた。あるいは、大容量の記憶装置を利用することにより、コマンド解析後のイメージを該記憶装置に記憶することにより複数部印刷を行なっていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来例における、印刷部数の指定が行なわれると同一ページを指定された部数だけ連続して印刷した後、次ページの印字処理を行う印刷装置では、１枚排紙するごとに排紙口を移動して各部の別の排紙口に排紙する機能がない場合、出力された印刷物を１部毎に分けるには、印字終了後に仕分けをする必要があった。また、そのような印刷装置では、自動的に各部ごとにステイプル処理を行なうことはできなかった。
【０００４】
また、大容量の記憶装置を利用することにより、コマンド解析後のイメージを該記憶装置に記憶することによりより複数部印刷を行なう印刷装置においては、データをコマンドを処理、展開した形式で保存するため必要になる容量が非常に大きいという問題点があった。
【０００５】
また、ページ番号順に並んだ複数部の印刷を行なうためにまったく同じデータを複数送信すると、そのデータに例えばあるフォントを永久登録するコマンドが含まれている場合、同じフォントが複数登録されてしまい記憶容量を浪費してしまうなどの問題点があった。
【０００６】
本発明は上記従来例に鑑みてなされたもので、大容量の記憶装置がない場合にも、受信した１部分の印刷データから、指定された印刷部数だけ１部ずつまとめて印刷できる印刷装置及び印刷制御方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は上記目的を達成するために成されたもので、次のような構成を備える。
指示に応じて複数部数の印刷を行う印刷装置であって、
データを受信して第１の記憶部に記憶する受信手段と、
前記受信手段により受信したデータから、部数を示す部数情報を含む複数部数の印刷の指示の有無を判別する判別手段と、
複数部数の印刷の指示がある場合、前記第１の記憶部から第２の記憶部にデータを移動させるデータ移動手段と、
複数部数の印刷の指示がない場合には、前記第１の記憶部からデータを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶されたデータを前記部数情報により指示される部数の回数繰り返し読み出して中間コードを生成して展開処理し、前記部数情報により指示される部数を印刷する印刷制御手段とを有し、
前記印刷制御手段は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する手段を有し、不要なデータの処理を行わない。
【０００８】
さらに好ましくは、前記印刷制御手段は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する手段を有し、不要なデータの処理を行わない。
さらに好ましくは、前記第２の記憶部に記憶されたデータと対応した識別子が記憶される第３の記憶部と、前記識別子から対応するデータを特定する特定手段とを更に備え、前記印刷制御手段は、前記特定手段により特定されたデータに基づいて、複数部数の印刷を行う。
さらに好ましくは、前記印刷制御手段は、第２部目以降の印刷のために、フォントを登録するコマンドを処理しない。
【０００９】
あるいは、他の側面によれば本発明は次のような構成から成る。
印刷データを受信し、指示に応じて複数部数の印刷を行う印刷装置であって、
部数を示す部数情報を含む複数部数の印刷の指示の有無に応じて、受信された印刷データを、第１の記憶部または第２の記憶部に記憶しておく記憶手段と、
複数部数の印刷の指示がない場合には、前記第１の記憶部から印刷データを読み出して印刷し、複数部数の印刷の指示がある場合には、前記第２の記憶部に一度記憶された印刷データを前記部数情報により指示される部数の回数繰り返し読み出して展開処理し、前記部数情報により指示される部数を印刷する印刷制御手段とを有し、
前記印刷制御手段は、第２部目以降の印刷のために、前記第２の記憶部からデータを読み出した場合、データの処理が不要であるかを判定する手段を有し、不要なデータの処理を行わない。
さらに好ましくは、前記印刷制御手段は、第２部目以降の印刷のために、フォントを登録するコマンドを処理しない。
【００１０】
【発明の実施の形態】
［第１の実施の形態］
図１は、本実施例に適用されるレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは不図示のデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。同図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータ（図２の２０００）から供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶すると共に、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。
【００１１】
操作パネル１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている。プリンタ制御ユニット１００１はＬＢＰ全体の制御およびホストコンピュータから供給される文字情報などを解析する。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１２】
図２は本発明の実施例を示すためのプリンタ制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ（図１）を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できる。
【００１３】
図において、ホストコンピュータ２０００は、図示しない所定のインターフェースを介してプリンタ１０００に接続されている。
【００１４】
プリンタ１０００において、プリンタＣＰＵ２００１は、ＲＯＭ２００４のプログラム用ＲＯＭ２００４ｂに記憶された制御プログラム或いは外部メモリ２０１０に記憶された制御プログラム等に基づいて、システムバス２００５に接続される各種のデバイスとのアクセスを統括的に制御し、印刷部インタフェース２００７を介して接続される印刷部（プリンタエンジン）２００９に出力情報としての画像信号を出力する。
【００１５】
ＲＯＭ２００４のプログラムＲＯＭ２００４ｂには、図３，図４〜図９のフローチャートで示されるようなＣＰＵ２００１の制御プログラムを記憶する。ＲＯＭ２００４のフォント用ＲＯＭ２００４ａには出力情報を生成する際に使用するフォントデータ（フォントの実体）等を記憶し、ＲＯＭ２００４のデータ用ＲＯＭ２００４ｃには、ハードディスク等の外部メモリ２０１０が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ２００１は入力部２００６を介してホストコンピュータとの通信が可能となっており、プリンタ内の情報をホストコンピュータ２０００に通知可能に構成されている。ＲＡＭ２００２は、ＣＰＵ２００１の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモり容量を拡張することができるように構成されている。ＮＶＲＡＭ２００３は、環境データの格納領域あるいは登録外字など保存領域として用いられる不揮発性のＲＡＭである。
【００１６】
前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ２０１０は、メモリコントローラ（ＭＣ）２００８によりアクセスを制御される。外部メモリ２０１０は、オプションとして接続される。また、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶することも可能である。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されても良い。
【００１７】
プリンタ１０００は、ホストコンピュータ２０００から印刷データを受信すると、ＲＡＭ２００２あるいは外部メモリ２０１０に設けられた受信バッファに一旦受信したデータを格納しておく。その後、受信したデータを後述する手順により出力する。
【００１８】
図３は本発明に係る印刷装置におけるメインデータ処理手順の一例を示すフローチャートである。本実施例のプリンタは、ホストコンピュータからデータを受信すると、それが複数部数の印刷の指定かを調べ、そうであれば受信バッファからスプール領域へと受信したデータを移動しておく。その後、複数部数の指定の場合には、受信バッファの代わりにスプール領域からデータを読み、印刷を行う。それを指定された部数の回数だけ繰り返すことにより、指定された部数を印刷する。
【００１９】
図３において、まず、印刷装置の初期化処理を行なう（ステップＳ３０１）。その後、データを受信すると、受信処理を実行し（ステップＳ３０２）、受信したデータの解析ルーチンを実行する（ステップＳ３０３）。次いで、展開・出力処理を実行し（４）、その後受信処理に戻る。
【００２０】
図４は、本発明に係る印刷装置の受信バッファの一例を表す概念図である。受信バッファはリングバッファ構造をしており、終端まで読んだり書いたりした場合は、先頭に戻って続きを行なうようになっている。また、データの読み出し位置と書き込み位置はそれぞれ記憶されており、リングバッファ上でそれぞれが他方を追い越すことがないように、データの読み出し／書き込みの際にはそれぞれチェックされるようになっている。
【００２１】
図４に示した通り、本実施例においてはスプールデータはスプールコマンドとスプール終了コマンドに挟まれている。印刷装置はスプールコマンドを解釈すると、それ以降スプール終了コマンドまでのデータ（本図における縞模様の部分）をスプール終了コマンドであるか否かを判断する以外は一切解釈せずにＲＡＭ２００２あるいは外部メモリ２０１０に確保されたスプール領域に保存する。なお、図４では、スプールコマンドを伴う印刷データを受信した場合を例として示されているが、本実施例のプリンタでは、スプールコマンドを伴わない印刷データを印刷出力することもできる。その場合には、図４のスプールデータの前後のスプールコマンド及びスプール終了コマンドはホストコンピュータから送られてこず、したがって受信バッファにも格納されない。
【００２２】
図５は、本発明に係る印刷装置の受信処理ルーチンの詳細手順の一例を示すフローチャートである。この手順は図３のステップＳ３０２に相当する。
【００２３】
まず、ＲＡＭ２００２あるいは外部メモリ２０１０に設けられた、スプール処理中であることを示す内部的なフラグあるいは変数（以下、スプールフラグと呼ぶ）を参照して、スプール処理中であることかどうか判断する（ステップＳ５０１）。スプール処理とは、後述する手順により、ＲＡＭ２００２あるいは外部メモリ２０１０に設けられたスプール領域に受信データを一時的に保存し、スプール領域に保存されたデータをホストから指定された部数出力処理することをいう。スプール中であれば、ＲＡＭ２００２あるいは外部メモリ２０１０に設けられたスプール領域に一時的に保存されている受信データを読み出す処理を行ない（ステップＳ５０２）、スプール中でなければ、受信バッファから受信データを読み出す処理を行なう（ステップＳ５０３）。
【００２４】
図６は本発明に係る印刷装置におけるデータ解析処理ルーチンの詳細手順の一例を示すフローチャートである。この手順は図３のステップＳ３０３に相当する。
【００２５】
まず、ステップＳ３０２で読み出された受信データがスプールコマンドであるか判断する（ステップＳ６０１）。スプールコマンドとは、ＲＡＭ２００２あるいは外部メモリ２０１０に設けられたスプール領域に受信データを一時的に保持し、ホストから指定された部数だけ印刷させるコマンドである。スプールコマンドは、ホストコンピュータが、複数部の印刷を行う場合に印刷データに付加してプリンタに送信する。ステップＳ６０１の判定の結果、受信データがスプールコマンドであればスプールコマンドの処理を行ない（ステップＳ６０２）、スプールコマンドでなければ、その他のコマンドの処理を行なう（ステップＳ６０３）。
【００２６】
図７は本発明に係る印刷装置におけるスプールコマンド解析処理ルーチンの詳細手順の一例を示すフローチャートである。この手順は図６のステップＳ６０２に相当し、スプールコマンドに続く受信バッファ内の印刷データをスプール領域に書き込む。
【００２７】
まず、スプールコマンド自体の処理を行なう（ステップＳ７０１）。ここではスプールコマンド中に、印刷部数や、スプール処理されるデータの終わりを表す文字列（以下、スプール終了コマンドと略す）などに関する情報を含むものとする。したがって、このスプールコマンド自体の処理にはそれらの解析処理をも含む。これらの情報は、ＲＡＭ２００２あるいは外部メモリ２０１０に記憶しておく。また、以下の処理で受信バッファのデータを調べるために、受信バッファの読み出し開始位置を、ＲＡＭ２００２に設けた読み出しポインタに設定しておく。この読み出しポインタで示されるデータを注目ポインタと呼ぶ。
【００２８】
次に、受信バッファ内の受信データを最後まで読んだか否かの判断を行なう（ステップＳ７０２）。この判定は、読み出しポインタと受信バッファの書き込み開始位置とを比較することで判定できる。なお、スプールコマンドはスプール領域には書き込まれないため、スプールコマンドは受信バッファから読み出される。したがってスプールコマンドの処理は、受信バッファ内のデータを対象として行われる。
【００２９】
ステップＳ７０２の判定の結果、受信バッファ内のデータが全部読み出されている場合には、スプール終了コマンドはないので、それに対する必要なエラー処理を行ない（ステップＳ７０３）、処理を終了する。ステップＳ７０２の判断の結果、受信データがまだある場合には、注目データがスプール終了コマンドと等しいかどうかを判断する（ステップＳ７０４）。スプール終了コマンドに関する情報は、ステップＳ７０１でＲＡＭ２００２あるいは外部メモリ２０１０に保存されており、その情報に基づいてスプール終了コマンドの判定が行われる。ステップＳ７０４における判定の結果、注目データが終了コマンドに等しくない場合には、読み出しポインタを次のデータに進め、ステップＳ７０２の処理に戻る（ステップＳ７０５）。
【００３０】
ステップＳ７０４の結果、注目データがスプール終了コマンドに等しい場合には、前述のＲＡＭ２００２あるいは外部メモリ２０１０に記憶している読んだデータ量が、スプール領域の容量を越えていないかどうかを判断する（ステップＳ７０６）。越えている場合には、データを読み捨ててエラーを操作部１０１２に表示するなどのエラー処理を行ない（ステップＳ７０７）、解析処理を終了する。ステップＳ７０６の判断の結果、データ量がスプール領域の容量を越えていない場合には、受信バッファ上のデータを、スプールコマンドとスプール終了コマンドとを除いてスプール領域に書き込む（ステップＳ７０８）。それとともに、ステップＳ７０１で得た印刷部数やスプール領域などの情報をＲＡＭ２００２あるいは外部メモリ２０１０に記憶する（ステップＳ７０９）。そして、スプールフラグをスプール中である状態に設定して（ステップＳ７０１０）、処理を終了する。
【００３１】
図８は本発明に係る第１の印刷装置における、スプールコマンド以外のデータの解析処理ルーチンの詳細手順の一例を示すフローチャートである。この手順では、スプールコマンドなしでホストコンピュータから送られてきた印刷データ、あるいは、図７の手順でスプール領域に移動された印刷データが印刷出力される。この手順は、図６のステップＳ６０３に相当する。
【００３２】
まず、データの処理を行なう（ステップＳ８０１）。この処理はデータに応じたもので、たとえばページ記述言語におけるオブジェクトを記述したコマンドであれば、それを解析して中間コードを生成する、といった処理である。次にスプールフラグを参照することによりスプール中であるかどうかを判断し、しかもデータの終わりであるかどうかを判断し（ステップＳ８０２）、スプール中でないか、あるいはスプール中であってもデータの終わりでなければ処理を終了する。データの終わりとは、スプールされたデータが最後までステップＳ８０１により処理されたことである。
【００３３】
（ステップＳ８０２）の判断の結果、スプール中かつデータの終わりであれば、スプールコマンドによりＲＡＭ２００２あるいは外部メモリ２０１０などの記憶領域に保存されたデータの処理回数に１を加える（ステップＳ８０３）。その後、ステップＳ８０３で１加算されたデータの処理回数と、ステップＳ７０１でＲＡＭ２００２あるいは外部メモリ２０１０などの記憶装置に記憶しておいた、ホストから指定された印刷部数とを比較する（ステップＳ８０４）。比較の結果、指定された印刷部数のデータ処理が完了していない場合には図８の処理を終了し、指定部数の印刷処理が完了した場合にはスプールフラグをスプール中でない状態に変更する（ステップＳ８０５）。
【００３４】
以上の処理により、ホストコンピュータから受信したデータに対してスプール処理が指定されている場合には、受信バッファから一旦スプール領域に受信したデータを移動し、スプール領域のデータを指定された部数分繰り返し印刷出力する。スプール領域に移動されるのは受信バッファのデータであるため、１部しか印刷されない通常の印刷処理と同様の手順でそのデータを処理することができる。そのため、スプール領域も小さい領域で良く、ホストコンピュータからのデータの送信も１部分で済む。また、１部ずつまとめて指定された部数分繰り返して印刷を行うため、印刷後に印刷物をソートする手間が省ける。
【００３５】
また、受信バッファは、データをスプール領域に移動した後は空くため、直ちに次の印刷ジョブを受信することができる。
【００３６】
また、受信処理において、複数部数の印刷を行っているか否かに応じて、受信バッファかスプール領域かいずれかからデータを読み出すか制御しているため、印字コマンドを処理するモジュールが意識しなくとも複数部印刷を行なうことが可能となる。
［第２の実施の形態］
図９は本発明に係る第２の実施例の印刷装置における、スプールコマンド以外のデータの解析処理ルーチンの詳細手順の一例を示すフローチャートである。すなわち、本実施の形態のプリンタは、第１の実施の形態における図８の手順を図９の手順で置き換えたものであり、他の構成は同様である。
【００３７】
図９において、まず、スプールフラグを参照することによりスプール中であるかどうかの判断を行なう（ステップＳ９０１）。スプール中でなければデータの処理を行ない（ステップＳ９０２）、処理を終了する。ステップＳ９０１の判断の結果、スプール中であるならば、現在のデータ処理が１部目の処理であるかどうかを判断し（ステップＳ９０３）、１部目の処理であれば通常のデータ処理を行なう（ステップＳ９０６）。
【００３８】
ステップＳ９０３の判断の結果、１部目の処理でなければ、処理対象としているデータが、全く同じデータを複数回処理することが不要なコマンドであるか判定する（ステップＳ９０４）。処理不要コマンドとは、例えばフォントを永久登録するコマンドである。このコマンドを複数回処理すると、同じフォントが複数登録されてしまい記憶容量を浪費してしまうことになるため、複数部出力する場合でも、処理は第１部目のときに行われる１回で十分である。ステップＳ９０４では、こういった処理不要コマンドであるかどうかを、あらかじめプログラムＲＯＭ２００４に記憶されている処理不要コマンドの一覧を検索することにより判断する。
【００３９】
ステップＳ９０４の判断の結果、前述のような処理不要コマンドでなければデータの処理を行ない（ステップＳ９０６）、前述のような処理不要コマンドであるならば、そのコマンドの読み捨て処理を行なう（ステップＳ９０５）。次にデータの終わりであるかどうかを判断し（ステップＳ９０７）、データの終わりでなければ処理を終了する。ステップＳ９０７の判断の結果、データの終わりであれば、ＲＡＭ２００２あるいは外部メモリ２０１０などの記憶領域に保存されたデータの処理回数に１を加える（ステップＳ９０８）。その後、該データの処理回数とステップＳ７０１で記憶しておいたホストから指定された印刷部数とを比較し（ステップＳ９０９）、指定された印刷部数のデータ処理が完了していない場合には処理を終了する。処理が完了した場合には、スプールフラグをスプール中でない状態に変更する（ステップＳ９１０）。
【００４０】
図９の処理は、図８のステップＳ８０１をステップＳ９０１〜Ｓ９０７に置換したものである。この手順により、繰り返し行うことが不要な処理、あるいは悪影響をもたらす処理を、最初の１部の出力時にのみ行わせることができる。
【００４１】
なお、第１あるいは第２の実施の形態における印刷装置において、複数部印刷のためにＲＡＭ２００２あるいは外部メモリ２０１０に一時的に保存するデータの終わりを、スプール終了コマンドによらず、あらかじめスプールコマンドにより保存するデータ量を指定しておき、データ量を計測することにより判断しても良い。
【００４２】
本発明にかかる印刷装置において、図８のステップＳ８０５あるいは図９のステップＳ９１０の処理の後に、複数部印刷のためにＲＡＭ２００２あるいは外部メモリ２０１０に一時的に保存したデータを削除する処理を追加することにより、記憶領域の有効利用を図るようにしても良い。
【００４３】
また、本発明に係る印刷装置において、複数部印刷のためにＲＡＭ２００２あるいは外部メモリ２０１０に一時的に保存したデータに識別子をつけておき、後にホストから保存データの識別子と印刷部数を指示することにより、保存したデータを後で再利用できるようにしても良い。この識別子は、ホストコンピュータから指定してもよいし、双方向インターフェースで接続されているならば、プリンタで指定し、指定した識別子をホストコンピュータに通知してもよい。いずれにしても、識別子はスプール領域に対応して、データを受信バッファからスプール領域に移動する時などにＲＡＭ２００２や外部メモリ２０１０に記憶される。
【００４４】
【他の実施の形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００４５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【００４６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００４９】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、大容量の記憶装置がない場合にも、同一ページが指定された部数だけ連続して印刷されるのではなく、ページ番号順に１部印刷した後に次の部を印刷する方法で希望した印刷部数を印刷することが可能となり、同じデータを部数分ホストから送るのに比べてホストと印刷装置との通信量を削減することが可能となる。
【００５１】
【図面の簡単な説明】
【図１】ＬＢＰの内部構造を示す断面図である。
【図２】プリンタ制御システムのブロック図である。
【図３】メインデータ処理手順を示すフローチャートである。
【図４】受信バッファの概念図である。
【図５】受信処理ルーチンの詳細手順を示すフローチャートである。
【図６】解析処理ルーチンの詳細手順を示すフローチャートである。
【図７】スプールコマンド処理ルーチンの詳細手順を示すフローチャートである。
【図８】第１の印刷装置におけるその他のコマンドの処理ルーチンの詳細手順を示すフローチャートである。
【図９】第２の印刷装置におけるその他のコマンドの処理ルーチンの詳細手順を示すフローチャートである。
【符号の説明】
１０００  ＬＢＰ本体
１００１  プリンタ制御ユニット
１００２  レーザドライバ
１００３  半導体レーザ
１００４  レーザ
１００５  回転多面鏡
１００６  静電ドラム
１００７  現像ユニット
１００８  用紙カセット
１００９  給紙ローラ
１０１０  搬送ローラ
１０１１  搬送ローラ
１０１２  操作パネル
２０００  ホストコンピュータ
２００１  プリンタＣＰＵ
２００２  ＲＡＭ
２００３  ＮＶＲＡＭ
２００４  ＲＯＭ
２００５  システムバス
２００６  入力部
２００７  印刷部Ｉ／Ｆ
２００８  メモリコントローラ
２００９  印刷部
２０１０  外部メモリ
【図１】
0003639685.tif 000002
【図２】
0003639685.tif 000003
【図３】
0003639685.tif 000004
【図４】
0003639685.tif 000005
【図５】
0003639685.tif 000006
【図６】
0003639685.tif 000007
【図７】
0003639685.tif 000008
【図８】
0003639685.tif 000009
【図９】
0003639685.tif 000010