(57)【要約】【課題】オプションが装着されても、システム全体のデータ転送効率及び印刷生産性が低下しない印刷装置等を提供することを目的とする。【解決手段】印刷データ受信手段３１と、バッファメモリ３９と、第１の記憶手段６０と、第１の記憶手段に空き容量がない場合、印刷データを記憶する第２の記憶手段７０と、印刷データを用紙に印刷する印刷制御手段４０と、印刷制御手段に第１又は第２の記憶手段から印刷データを送信するデータ送信手段３３と、を有する印刷装置３０であって、用紙の排紙を検知すると印刷データを第１の記憶手段に上書きする第１の記憶手段制御手段３５と、第１の記憶手段に空き容量がないことを条件に、印刷データを第２の記憶手段に上書きする第２の記憶手段制御手段３６と、を有し、第２の記憶手段制御手段が第２の記憶手段に印刷データを書き込んだ場合、印刷データが印刷された用紙の排紙が検知されるまで前記バッファメモリに該印刷データを記憶しておく、ことを特徴とする。【選択図】図３
2011037027.tif 000002
【特許請求の範囲】
【請求項１】
ホストＰＣから送信される印刷データを外部コントローラを介して受信するデータ受信手段と、
印刷データを用紙に印刷する印刷手段と、
該用紙を排紙位置まで配送する配送手段と、該用紙に所定の処理を施し搬送時間に影響を与えるオプションが印刷手段に装着されたことを検出する検出手段と、排紙を検知する排紙検知手段と、配送エラーを検知するエラー検知手段と、を備えた印刷制御手段と、
ホストＰＣから受信した印刷データを一時的に記憶するバッファメモリと、
前記バッファメモリに記憶された印刷データをページ単位で記憶する第１の記憶手段と、
前記検出手段がオプションが装着されたことを検出し、かつ、前記第１の記憶手段に空き容量がない場合、前記バッファメモリに記憶された印刷データをページ単位で記憶する第２の記憶手段と、
前記印刷制御手段に第１又は第２の記憶手段から印刷データを送信するデータ送信手段と、を有する印刷装置であって、
前記第１の記憶手段に記憶された印刷データが印刷された用紙の排紙を検知すると、前記データ受信手段が受信した印刷データを、排紙が検知された用紙の印刷データを記憶していた前記第１の記憶手段に上書きする第１の記憶手段制御手段と、
前記第２の記憶手段に記憶された印刷データの一部が、前記印刷制御手段に送信されると、前記第１の記憶手段に空き容量がないことを条件に、前記データ受信手段が受信した印刷データを前記第２の記憶手段に上書きする第２の記憶手段制御手段と、を有し、
前記第２の記憶手段制御手段が前記第２の記憶手段に印刷データを書き込んだ場合、該印刷データが印刷された用紙の排紙が検知されるまで、前記バッファメモリに該印刷データを記憶しておく、
を有することを特徴とする印刷装置。
【請求項２】
前記エラー検知手段が配送エラーを検知した場合、
前記第１の記憶手段制御手段は、排紙が検知された用紙の印刷データを記憶していた前記第１の記憶手段に、前記バッファメモリに記憶されていた印刷データを上書きする、
ことを特徴とする請求項１記載の印刷装置。
【請求項３】
前記第１と第２の記憶手段は、デュアルインラインメモリである、  
ことを特徴とする請求項１又は２記載の印刷装置。
【請求項４】
前記デュアルインラインメモリは、第１ページ分の印刷データを記憶する前記第１の記憶手段と、第１ページ分より少ない第２ページ分の印刷データを記憶する前記第２の記憶手段と、が実装されている、
ことを特徴とする請求項３記載の印刷装置。
【請求項５】
前記データ受信手段は、
前記第１の記憶手段制御手段が、前記バッファメモリの印刷データを前記第１の記憶手段に上書きすると、前記バッファメモリの該印刷データを破棄し、
前記第２の記憶手段制御手段が、前記バッファメモリの印刷データを前記第２の記憶手段に上書きすると、前記バッファメモリの該印刷データを破棄しない、
ことを特徴とする請求項１〜４いずれか１項記載の印刷装置。
【請求項６】
前記第１の記憶手段制御手段と、前記第２の記憶手段制御手段は、それぞれ非同期に、  前記バッファメモリの印刷データを前記第１の記憶手段に上書きし、前記バッファメモリの印刷データを前記第２の記憶手段に上書きする、
ことを特徴とする請求項１〜５いずれか１項記載の印刷装置。
【請求項７】
前記データ送信手段は、ページ順に印刷データが前記印刷制御手段に送信されるよう、印刷データを読み出す第１又は第２の記憶手段を切り替える、
ことを特徴とする請求項１〜６いずれか１項記載の印刷装置。
【請求項８】
ホストＰＣから印刷データを受信する外部コントローラと、外部コントローラから受信した印刷データを印刷する印刷装置と、を有するプリンタシステムであって、
前記印刷装置は、
印刷データを用紙に印刷する印刷手段と、
該用紙を排紙位置まで配送する配送手段と、該用紙に所定の処理を施し搬送時間に影響を与えるオプションが印刷手段に装着されたことを検出する検出手段と、排紙を検知する排紙検知手段と、配送エラーを検知するエラー検知手段と、を備えた印刷制御手段と、
ホストＰＣから受信した印刷データを一時的に記憶するバッファメモリと、
前記バッファメモリに記憶された印刷データをページ単位で記憶する第１の記憶手段と、
前記検出手段がオプションが装着されたことを検出し、かつ、前記第１の記憶手段に空き容量がない場合、前記バッファメモリに記憶された印刷データをページ単位で記憶する第２の記憶手段と、
前記印刷制御手段に第１又は第２の記憶手段から印刷データを送信するデータ送信手段と、
前記第１の記憶手段に記憶された印刷データが印刷された用紙の排紙を検知すると、前記データ受信手段が受信した印刷データを、排紙が検知された用紙の印刷データを記憶していた前記第１の記憶手段に上書きする第１の記憶手段制御手段と、
前記第２の記憶手段に記憶された印刷データの一部が、前記印刷制御手段に送信されると、前記第１の記憶手段に空き容量がないことを条件に、前記データ受信手段が受信した印刷データを前記第２の記憶手段に上書きする第２の記憶手段制御手段と、を有し、
前記第２の記憶手段制御手段が前記第２の記憶手段に印刷データを書き込んだ場合、該印刷データが印刷された用紙の排紙が検知されるまで、前記バッファメモリに該印刷データを記憶しておく、
を有することを特徴とするプリンタシステム。
【請求項９】
前記外部コントローラは、
ホストＰＣから受信した印刷データをページ単位で第３の記憶手段に記憶した後、前記印刷装置に送信し、送信が終了すると、送信済みページに新たなページの印刷データを上書きして消去する、
ことを特徴とする請求項８記載のプリンタシステム。
【請求項１０】
ホストＰＣから送信される印刷データを外部コントローラを介して受信するデータ受信手段と、
印刷データを用紙に印刷する印刷手段と、
該用紙を排紙位置まで配送する配送手段と、該用紙に所定の処理を施し搬送時間に影響を与えるオプションが印刷手段に装着されたことを検出する検出手段と、排紙を検知する排紙検知手段と、配送エラーを検知するエラー検知手段と、を備えた印刷制御手段と、
ホストＰＣから受信した印刷データを一時的に記憶するバッファメモリと、
前記バッファメモリに記憶された印刷データをページ単位で記憶する第１の記憶手段と、
前記検出手段がオプションが装着されたことを検出し、かつ、前記第１の記憶手段に空き容量がない場合、前記バッファメモリに記憶された印刷データをページ単位で記憶する第２の記憶手段と、
前記印刷制御手段に第１又は第２の記憶手段から印刷データを送信するデータ送信手段と、を有する印刷装置の印刷方法であって、
第１の記憶手段制御手段が、前記第１の記憶手段に記憶された印刷データが印刷された用紙の排紙を検知すると、前記データ受信手段が受信した印刷データを、排紙が検知された用紙の印刷データを記憶していた前記第１の記憶手段に上書きするステップと、
第２の記憶手段制御手段が、前記第２の記憶手段に記憶された印刷データの一部が、前記印刷制御手段に送信されると、前記第１の記憶手段に空き容量がないことを条件に、前記データ受信手段が受信した印刷データを前記第２の記憶手段に上書きするステップと、
前記第２の記憶手段制御手段が前記第２の記憶手段に印刷データを書き込んだ場合、前記データ受信手段が、該印刷データが印刷された用紙の排紙が検知されるまで、前記バッファメモリに該印刷データを記憶しておく、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オプションの装着が可能な印刷装置において、オプションの装着により、用紙の搬送距離が長くなり、再印刷のために保持しておく印刷データが増加しメモリの空き容量が不足した場合、印刷データを所定手順で再印刷する印刷装置、プリンタシステム及び印刷方法に関する。
【背景技術】
【０００２】
ホストＰＣからプリンタに印刷データを送信し、プリンタが順次、印刷データを用紙に印刷するプリンタシステムがある。プリンタの印刷速度と印刷データの送信速度の違いを吸収するため、プリンタには印刷データを記憶する画像メモリが設けられており、画像メモリに記憶された印刷データをラスタライズして例えば電子写真方式やインクジェット方式にて印刷する。
【０００３】
画像メモリの容量は有限であるので、印刷が終了した印刷データから順に画像メモリから開放（上書き）されるが、印刷中に用紙ジャムが発生したり停止指示などが入力されると、実際に印刷を終了していない印刷データの上書きが生じる場合がある。このような場合は、再度、ホストＰＣからプリンタに印刷データを送信したり、プリンタ内部の再処理が必要になり印刷生産性が低下することになる。
【０００４】
従来、このような印刷生産性の低下を防止するための提案がいくつかなされている（例えば、特許文献１〜３参照。）。特許文献１には、所定の用紙数を越える数のページメモリを汎用バスよりプリンタに近いインターフェース回路部に設けて、ページメモリのビットマップイメージはプリントエンジンで印刷後に用紙が排紙されたことを検知して廃棄することで、プリントエンジンから正常に印刷排紙されるまで印刷データをページメモリに保持するプリント装置が開示されている。
【０００５】
しかしながら、現実には、プリントエンジンに所定の用紙数を超える数ページ分のページメモリを装備するのはメモリ容量が増加してコストアップとなるため、実現が容易でない。
【０００６】
また、特許文献２の画像形成装置は、画像送出装置から送り出される画像データを画像処理装置で受け取り、数ページ分の容量を持つ画像バッファに記録し、画像バッファからプリンタに画像データを送信すると、プリンタから記録完了の通知が返信され送信したページに対し上書きを許可し、画像送出装置から新しいページの画像データを受け取り上書きする。一方、プリンタからエラーが報告された場合、画像形成装置は、記録媒体上に形成された画像のうちの最終の画像に続く次の画像以降の画像に対応する画像データが、画像バッファ上に可能な限り格納された状態を回復するため、画像送出装置から再度受け取る必要のある画像データが最小となるようにデータ回復処理を行なう。
【０００７】
また、特許文献３記載には、用紙づまりのような出力エラーが生じても、原稿の画像データの読み込みを可能とするため、画像記憶領域（ＲＡＭ）の一部を予備のページメモリとして区分しておく画像形成装置が開示されている。
【０００８】
ところで、プリンタには、ステープル、ソーター、排紙トレイ、Ｚ折り、製本ユニット等のオプションが後から装着されることがある。オプションが装着されると、用紙の搬送距離が長くなり、搬送される用紙枚数及び排紙完了までの時間が増えることで、再印刷のために保持する印刷データが増加し画像メモリの空き容量が不足する傾向が生じる。
【０００９】
このような課題に対し、オプションの装着を考慮して画像メモリの解放を制御する考案が提案されている（例えば、特許文献４参照。）。特許文献４には、第二の記憶手段（画像メモリ）の記憶容量が、所要記憶容量よりも少ない場合には、排出検知手段からの排出検知に基づいて、第二の記憶手段の画像データを消去し、第二の記憶手段の記憶容量が所要記憶容量以上の場合には、後処理終了検知手段からの終了検知に基づいて、第二の記憶手段の画像データを消去する、画像形成システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献２記載の画像形成装置は、データ回復処理のため、画像バッファ内で上書きしたページのみの画像データを再度画像送出装置から再送する必要があるため、再送に時間を消費してしまうという問題がある。
【００１１】
また、特許文献３記載の画像形成装置は、ページメモリの容量が十分であることが前提であるため、特許文献１と同様に現実は容易でない。また、オプション装着時にどのように対応するかについては何ら考慮されていない。
【００１２】
また、特許文献４記載の画像形成システムでは、画像形成システム内部の用紙最大滞留枚数に基づいて所要記憶容量を算出するため、搬送中の用紙数により再印刷データが増えメモリの記憶容量が不足した場合、用紙が排紙完了する前にメモリ内の印刷データを消去することになる。第二の記憶手段の記憶容量が、所要記憶容量よりも少ない場合に仮にエラーが生じると、排出検知手段による排出検知がなされていない印刷ジョブを再度、コントローラから取得することになるため、印刷効率が低下するという問題がある。
【００１３】
本発明は、上記課題に鑑み、外部から印刷データを取得してメモリへ記憶し印刷するプリンタシステムにおいて、オプションが装着されても、システム全体のデータ転送効率及び印刷生産性が低下しない印刷装置、プリンタシステム及び印刷方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題に鑑み、本発明は、ホストＰＣから送信される印刷データを外部コントローラを介して受信するデータ受信手段（例えば、印刷データ受信制御部３１）と、  印刷データを用紙に印刷する印刷手段と、該用紙を排紙位置まで配送する配送手段と、該用紙に所定の処理を施し搬送時間に影響を与えるオプションが印刷手段に装着されたことを検出する検出手段と、排紙を検知する排紙検知手段と、配送エラーを検知するエラー検知手段と、を備えた印刷制御手段と（例えば、印刷機構部４０）と、ホストＰＣから受信した印刷データを一時的に記憶するバッファメモリ（例えば、受信データバッファ３９）と、前記バッファメモリに記憶された印刷データをページ単位で記憶する第１の記憶手段（例えば、フルドットメモリ６０）と、前記検出手段がオプションが装着されたことを検出し、かつ、前記第１の記憶手段に空き容量がない場合、前記バッファメモリに記憶された印刷データをページ単位で記憶する第２の記憶手段（例えば、印刷データバッファ（ＰＤＢ）７０）と、前記印刷制御手段に第１又は第２の記憶手段から印刷データを送信するデータ送信手段と、を有する印刷装置であって、前記第１の記憶手段に記憶された印刷データが印刷された用紙の排紙を検知すると、前記データ受信手段が受信した印刷データを、排紙が検知された用紙の印刷データを記憶していた前記第１の記憶手段に上書きする第１の記憶手段制御手段と、前記第２の記憶手段に記憶された印刷データの一部が、前記印刷制御手段に送信されると、前記第１の記憶手段に空き容量がないことを条件に、前記データ受信手段が受信した印刷データを前記第２の記憶手段に上書きする第２の記憶手段制御手段と、を有し、前記第２の記憶手段制御手段が前記第２の記憶手段に印刷データを書き込んだ場合、該印刷データが印刷された用紙の排紙が検知されるまで、前記バッファメモリに該印刷データを記憶しておく、を有することを特徴とする。
【発明の効果】
【００１５】
外部から印刷データを取得してメモリへ記憶し印刷するプリンタシステムにおいて、オプションが装着されても、システム全体のデータ転送効率及び印刷生産性が低下しない印刷装置、プリンタシステム及び印刷方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】プリンタシステムの概略構成図の一例である。
【図２】データ転送方法を説明するための図の一例である。
【図３】プリンタシステムの全体ブロック図の一例である。
【図４】ＤＩＭＭ２の状態、ラスタデータの展開、及び、用紙の排紙の時間的な推移の一例を示す図である。
【図５】プリンタシステムの動作手順の一例を示すフローチャート図の一例である。
【図６】プリンタシステムの動作手順の一例を示すフローチャート図の一例である。
【図７】プリンタシステムの動作手順の一例を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図１は、本実施形態のプリンタシステム４００の概略構成図の一例を示す。プリンタシステム４００はホストＰＣ１００とプリンタ全体２００を有する。ホストＰＣ１００とプリンタ全体２００は、ＵＳＢのように１対１、又は、ＬＡＮ等のネットワークを介して接続されている。プリンタ全体２００は、例えば、複写機、ファックス等、画像形成機能を有していればよく、これらの１以上の機能を備えたＭＦＰであってもよい。
【００１８】
プリンタ全体２００には、図示するようにオプション３００を装着することができる。オプション３００は、ソーター、コレーター、自動給紙装置、排紙ユニット、ステープラ、パンチ装置、製本ユニット等である。本実施形態のオプション３００は、プリンタ全体２００に装着されることで、印刷装置から排紙トレイまでの用紙の搬送距離又は搬送時間が長くなる全てのオプション３００を対象とする。なお、本実施形態のデータ転送方法は、オプション３００の装着の有無に関わりなく適用することができ、オプション装着時により効果的に作用する。
【００１９】
プリンタ全体２００は、外部コントローラ２０及びプリンタ３０を有する。それぞれについては後述するが、外部コントローラ２０は、ホストＰＣ１００から受信した印刷データを描画コマンドによるジョブデータに変換すると共に、プリンタ３０とホストＰＣ１００間のバッファとなる。プリンタ３０は、本実施形態の特徴部であって、次述するデータ転送方法を実行する。印刷機構部４０は、用紙に画像を形成する印刷装置である。
【００２０】
図２は、本実施形態のデータ転送方法を説明するための図の一例である。プリンタ３０はＤＩＭＭ（Dual Inline Memory Module）２メモリを有する。ＤＩＭＭ２は、よく知られているようにＣＰＵがプログラムを実行する際の作業メモリとなり、また、印刷データをラスタライズして得られたラスタデータを記憶するフルドットメモリ６０となる。フルドットメモリ６０の容量（マス数）は、用紙に画像データが印刷されてから排紙されるまで、後続のページのラスタデータを記憶するだけの十分な容量を備えている。
【００２１】
フルドット（データ）とは１ページ分の画像データの全ての画素値が印刷用に変換されたラスタデータ（ビットマップデータ）をいい、フルドットメモリ６０は、該データを記憶する記憶手段である。したがって、フルドットメモリ６０はＤＩＭＭである必要はなくフルドットのデータが記憶される記憶手段がフルドットメモリ６０となる。図２では、１つのマスに１ページのラスタデータが記憶されるものとする。
【００２２】
そして、本実施形態では、フルドットメモリ６０に加えて「印刷データバッファ（以下、ＰＤＢという）」７０を有する。ＰＤＢ７０は、フルドットメモリ６０と同様に１つのマスに１つのラスタデータを記憶する。ＰＤＢ７０は、フルドットメモリ６０に空きページがない場合にラスタデータを記憶するためのバッファメモリとして利用される。
【００２３】
フルドットメモリ６０は十分な容量を備えているので、オプションが装着されていない場合、連続して印刷されるページ数が多い場合でも、原則的にＰＤＢ７０が利用されることはない。一方、オプションが装着されていない場合、ＰＤＢ７０を利用できない理由はない。したがって、ＰＤＢ７０は、「第６のフルドットメモリ」として機能させてもよい。このように、オプションが追加された際にメモリを新たに装備することなく、予め、オプション装着時のための特定の記憶領域としてＰＤＢ７０を確保しておくことができる。
【００２４】
例えば、ＰＤＢ７０は、連続して印刷されるページ数が多い場合に利用されることがある。また、プリンタ全体２００にオプション３００が装着され経路長や搬送時間が延びた場合には、利用されることが多くなる。そして、ＰＤＢ７０のラスタデータとフルドットメモリ６０のラスタデータは、その後、異なる取り扱いを受ける。換言すると、ＰＤＢ７０とフルドットメモリ６０を区分したことで、ＰＤＢ７０をバッファとして使用した際に配送エラー（用紙が適切に排紙されない全てのエラーをいう）が発生しても、印刷効率の低下を防ぐことができる。
【００２５】
本実施形態では、配送エラーが生じた場合と生じない場合で、ＰＤＢ７０のラスタデータの処理手順が変わる。まず、配送エラーが生じない場合について説明する。
（Ｉ）オプション３００が装着され、原稿のページ数も多いためＰＤＢ７０にラスタデータ（例えばＰ６）が一時保存される。
（II）配送エラーが発生しない場合は、ＰＤＢ７０からフルドットメモリ６０にラスタデータを移動する時間的な余裕が生じないので、ＰＤＢ７０のラスタデータは直接、印刷機構部４０に送信される。
【００２６】
次に、配送エラーが生じた場合について説明する。本実施形態では配送エラーが生じた場合に特徴がある。
（Ｉ）オプション３００が装着され、原稿のページ数も多いためＰＤＢ７０にラスタデータが一時保存される。
（III）配送エラーが発生した場合は、ＰＤＢ７０にラスタデータが滞留することになる。しかし、ＰＤＢ７０は早期に開放することが好ましいため、フルドットメモリ６０よりも早期に開放されるようになっている。具体的には、例えば、フルドットメモリ６０は用紙が排紙されるまでラスタデータを保持するのに対し、ＰＤＢ７０は印刷開始〜完了するまでの間に開放される。
【００２７】
このため、ＰＤＢ７０に格納されたラスタデータは用紙の搬送途中にＰＤＢ７０から廃棄され、配送エラーが発生すると、プリンタ３０が、ラスタデータをホストＰＣ１００又は外部コントローラ２０から再送してもらう必要が発生してしまう。
（IV)  そこで、本実施形態のプリンタ３０は、ＰＤＢ７０に格納したラスタデータに対応するＰＤＬデータをＰＤＢ７０以外の場所で保持することとする（例えば、後述する印刷データ受信制御部３１）。
（V）配送エラーが発生した場合、プリンタ３０は、ＰＤＢ７０にいったん格納したラスタデータに対応するＰＤＬデータを再ラスタライズして、すでに用紙が排紙されたページのラスタデータが格納されているフルドットメモリ６０に記憶（格納）する。
【００２８】
こうすることで、プリンタ３０は、配送エラーが発生しても、ＰＤＬデータをホストＰＣ１００又は外部コントローラ２０から再送してもらうことなく、ＰＤＢ７０に格納されたラスタデータを再印刷することができる。したがって、システム全体のデータ転送効率及び印刷生産性が低下しない。
【００２９】
また、ＰＤＢ７０をフルドットメモリと同じＤＩＭＭ２内に設けることで、物理的にメモリを増設することなく効率のよいデータ転送が可能となる。
【００３０】
図３は、プリンタシステム４００の全体ブロック図の一例を示す。なお、図３において図１と同一構成部には同一の符号を付した。外部コントローラ２０は、印刷データ受信制御部２１、印刷制御部２２、印刷データ送信制御部２４、及び、ハードディスクドライブ２３を有する。印刷データ受信制御部２１は、印刷要求と共に、ホストＰＣ１００からシリアル通信で印刷データを受信する。印刷データ受信制御部２１は、ホストＰＣ１００から受信した印刷データをページ単位にＤＩＭＭ１又はハードディスクドライブ２３に記憶する。印刷データ受信制御部２１は、印刷制御部２２に印刷データを送出する。
【００３１】
印刷制御部２２には、ハードディスクドライブ２３とコントローラ用メモリ（ＤＩＭＭ）２５が接続されている（以下、コントローラ用メモリ２５をＤＩＭＭ１という。）。ハードディスクドライブ２３には、制御用ソフトウェア等が予め記憶されている。
【００３２】
印刷制御部２２は、印刷データ受信制御部２１が印刷データを受信すると、ラスタライズすることなく、ページ毎に、プリンタで展開可能な「描画コマンド（ページ記述言語ＰＤＬ＝Page Description Language））によるジョブデータ」に変換し、このＰＤＬデータをプリンタに送信する。ＤＩＭＭ１は、印刷制御部２２がこのような変換を行ったり、制御プログラムを実行する際の作業メモリとなる。
【００３３】
例えば、ホストＰＣ１００から送信される印刷データは、多種のフォントを含むテキスト文書、グラフ、文字・イメージ混在文書等であるが、印刷制御部２２は、これらの印刷イメージをＰＤＬデータに変換する。
【００３４】
印刷制御部２２は、必要であれば印刷データやＰＤＬデータをＤＩＭＭ１にバッファリングしながら、展開が完了したＰＤＬデータから印刷データ送信制御部２４に送出する。なお、ホストＰＣ１００から送られた印刷データにビットマップデータが含まれていた場合、印刷制御部２２はビットマップデータも含んで送信する。印刷データ送信制御部２４は、フロー制御しながらＰＤＬデータをプリンタ３０に送信する。ここで、外部コントローラ２０は、プリンタ３０にＰＤＬデータの送信が終了すると、送信済みページに新たなページのＰＤＬデータを上書きして消去していく。すなわち、外部コントローラ２０は、送信済みＰＤＬデータを保持しない。これは、配送エラーが発生してもプリンタ２０がＰＤＬデータの再送が不要であるため可能となった、本実施形態に特有の効果である。
【００３５】
次に、プリンタ３０について説明する。プリンタ３０は、印刷データ受信制御部３１、印刷制御部３２、印刷データ送信制御部３３、印刷機構部４０、プリンタ用メモリ（ＤＩＭＭ）３４、操作パネル３７、及び、ハードディスクドライブ３８を有する。以下、プリンタ用メモリ３４をＤＩＭＭ２という。印刷データ受信制御部３１は、印刷データ送信制御部２４からＰＤＬデータを受信する。印刷データ受信制御部３１は、ＤＩＭＭ２の空きを確認しながら印刷データ送信制御部２４に、ＰＤＬデータの送信許可・送信停止等を要求する。
【００３６】
そのため、印刷データ受信制御部３１は受信データバッファ３９を有する。この受信データバッファ３９は、印刷データ受信制御部３１内又はＤＩＭＭ２内に設けてもよい。受信データバッファ３９には、そのジョブのページ毎のＰＤＬデータが記憶される。受信データバッファ３９で受けたＰＤＬデータを、ＤＩＭＭ２内やハードディスクドライブ３８に記憶してもよい。このケースは、プリンタが同じジョブを複数部印刷する際に、一度受信したＰＤＬデータを繰り返しフルドットメモリ６０に展開する際に採用される。
【００３７】
なお、受信データバッファ３９にはＰＤＬデータが記憶され、ＰＤＢ７０にはラスターデータが記憶される。したがって、同じページでも１ページ当たりのデータサイズは異なる。受信データバッファ３９の容量は適宜設定すればよいが、例えば、ＰＤＢ７０がラスタデータ１ページ分の容量なら、受信データバッファ３９もＰＤＬデータ１ページ分以上の容量とする。
【００３８】
印刷制御部３２は、ＰＤＬデータを解釈してプリンタ３０の解像度に合わせてラスタデータに変換する（ラスタライズ）する。例えば、文字の描画命令であればラスタパターンから対応する文字の輪郭情報を呼びだし指定された位置や大きさに応じたドットパターンに変換する。このため、ＤＩＭＭ２は、制御用ソフトウェア、ラスタパターン及びラスタデータを記憶するために使用される。ラスタパターンは、例えばフォントデータであり、印刷データをラスタデータに変換するためのデータである。
【００３９】
印刷制御部３２には、操作パネル３７、ハードディスクドライブ３８及びＤＩＭＭ２が接続される。印刷制御部３２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＡＳＩＣ等が内部バスを介して接続されたコンピュータを実体とする。
【００４０】
操作パネル３７は、プリンタ３０とユーザ間のインターフェースを提供する。操作パネル３７は、ＬＣＤ（液晶表示装置）、タッチパネル及びキースイッチから構成され、プリンタ３０の各種状態や操作方法をＬＣＤに表示し、ユーザからのタッチ及びキースイッチ入力を検知する。ハードディスクドライブ３８は、印刷制御部３２が実行する制御用プログラムを記憶している。なお、このハードディスクドライブ３８は、ハードディスクドライブ２３と同じものであってもよい。本実施形態のデータ転送方法は、この制御用ソフトウェアを印刷制御部３２のＣＰＵが実行することで実現される。
【００４１】
ＤＩＭＭ２は、印刷制御部３２の作業メモリとなると共に、フルドットメモリ６０とＰＤＢ７０を実装するために利用される。後述するように、フルドットメモリ６０として５ページ分の容量が、ＰＤＢ７０として１ページ分の容量がそれぞれ確保されている。印刷制御部３２は、フルドットメモリ６０とＰＤＢ７０の使用態様をオプション装着の有無に応じて使い分ける。オプションが装着されていない場合、印刷制御部３２は、ＰＤＢ７０をフルドットメモリ６０として使用する。オプションが装着された場合、印刷制御部３２は、ＰＤＢ７０をフルドットメモリ６０に空きがない場合にのみ使用する（ＰＤＢ７０をＰＤＢとして使用する）。印刷機構部４０は、印刷機構部４０にオプションが装着されたことをその種類と共に検出し、印刷制御部３２に通知する。
【００４２】
また、印刷制御部３２は、フルドットメモリ展開制御部３５と印刷データバッファ展開制御部３６を有する。フルドットメモリ展開制御部３５は、ラスタデータをフルドットメモリ６０に書き込む。印刷データバッファ展開制御部３６は、ラスタデータをＰＤＢ７０に書き込む。フルドットメモリ展開制御部３５による書き込みルールは以下の通りである。以下の説明は、プリンタ全体２００にオプション３００が装着されていることが前提である。
【００４３】
＜フルドットメモリ展開制御部３５の書き込みルール＞
(i)フルドットメモリ展開制御部３５は、フルドットメモリ６０の１マスに１ページのラスタデータを書き込む。
(ii)印刷データ受信制御部３１は、ラスタデータがフルドットメモリ６０に書き込まれた場合、対応するＰＤＬデータを受信データバッファ３９に保持しない（フルドットメモリ６０に書き込まれたら、印刷データ受信制御部３１はそのＰＤＬデータを破棄する）。
【００４４】
印刷データ受信制御部３１において、フルドットメモリ６０に記憶した印刷データを破棄することで、外部コントローラ２０が印刷データを滞らせることなく転送可能となり、かつ、プリンタ３０が間欠印刷に陥ることなく生産性も維持できる。
(iii)フルドットメモリ６０に書き込まれたラスタデータが用紙に印刷され、かつ、その用紙が排紙されると、フルドットメモリ展開制御部３５は、印刷されたページが書き込まれていたフルドットメモリ６０のマスが上書き可能であると判定する。
【００４５】
これに対し、印刷データバッファ展開制御部３６による書き込みルールは以下の通りである。
【００４６】
＜印刷データバッファ展開制御部３６の書き込みルール＞
(i) 印刷データバッファ展開制御部３６は、全てのフルドットメモリ６０に空きページがないと、ＰＤＢ７０にラスタデータを書き込む。
(ii)印刷データ受信制御部３１は、ＰＤＢ７０に書き込まれたラスタデータに対応するＰＤＬデータを受信データバッファ３９に保持する。
(iii)印刷データバッファ展開制御部３６は、ＰＤＢ７０に書き込まれたラスタデータが半分以上、印刷機構部４０に送信されたら、ＰＤＢ７０の前半分までは上書き可能であると判定する。
(iv)印刷データ受信制御部３１は、ＰＤＢ７０に書き込まれたラスタデータが用紙に印刷され、かつ、その用紙が排紙されると、受信データバッファ３９のＰＤＬデータを破棄する。
(v)印刷データ受信制御部３１は、ＰＤＢ７０に書き込まれたラスタデータの用紙が搬送中に配送エラーの発生を検知すると、受信データバッファ３９のＰＤＬデータをフルドットメモリ６０に展開するよう、フルドットメモリ展開制御部３５に要求する。こうすることで、ＰＤＢ７０に書き込まれたラスタデータに対応するＰＤＬデータを、外部コントローラ２０から再送する必要をなくすことができる。
【００４７】
なお、フルドットメモリ展開制御部３５と印刷データバッファ展開制御部３６とは、非同期にラスタデータをＤＩＭＭ２に格納する。
【００４８】
また、印刷制御部３２は、フルドットメモリ６０及びＰＤＢ７０に書き込まれたラスタデータのページ順を管理している。原則的にはフルドットメモリ６０のアドレス順に、次いで、ＰＤＢ７０のアドレス順にラスタデータを印刷制御部３２に送信するよう印刷データ送信制御部３３に命令する。例外的に、配送エラーが生じると、印刷制御部３２は、排紙されていない１以上のページのページ番号を特定し、先頭のページからページ順に印刷を再開する（印刷機構部４０にラスタデータを送信する）。また、受信データバッファ３９からフルドットメモリ６０にラスタデータが格納されることで、アドレス順とページ順が一致しなくなっても、ページ順に、ラスタデータを印刷制御部３２に送信するよう印刷データ送信制御部３３に命令する。
【００４９】
印刷機構部４０は、各用紙の排紙完了を検知し印刷制御部３２に知らせる機能を備えた、プリントエンジンである。また、印刷機構部４０は、各種のセンサ（配送パスに設けられた異物の検出センサ）から用紙づまり等の配送エラーを検出して印刷制御部３２に通知する。印刷機構部４０は、レーザービームを用いた電子写真プロセスを使って、用紙にラスタデータを印刷する。また、印刷機構部４０は、液滴を吐出して用紙に画像を形成するインクジェットタイプであってもよい。
【００５０】
〔ＤＩＭＭ２の状態遷移〕
図４は、フルドットメモリ６０、ＰＤＢ７０の状態、ラスタデータの格納、及び、用紙の排紙の時間的な推移の一例を示す図である。図４では右に行くほど時間が経過することを示す。便宜的に、横方向の１マスを１単位時間と称する。外部コントローラ２０、プリンタ３０、フルドットメモリ６０、ＰＤＢ７０、用紙搬送、及び、用紙搬送完了の１単位時間Ｔｎ（ｎ＝１，２、３…）は、それぞれ同一でなくてもよく、図４はおよそのタイミングを模式的に示す。なお、フルドットメモリ６０の各ページをフルドットメモリ領域ｎ（ｎ：１〜５）とした。
【００５１】
外部コントローラ２０は、ホストＰＣ１００から受け取った印刷データをＰＤＬデータに変換し、プリンタ３０のＤＩＭＭ２の状況を確認しながらＰＤＬデータをプリンタ３０に送信する（なお、本実施例では、一例として、印刷データのページ数が１７ページ（Ｐ１〜Ｐ１７）の場合で説明する。）。
【００５２】
外部コントローラ２０の印刷データ送信制御部２４は、Ｐ１〜Ｐ１７のＰＤＬデータをプリンタ３０に１ページずつ順次、送信する。プリンタ３０の印刷データ受信制御部３１はＰ１〜Ｐ１７のＰＤＬデータを１ページずつ順次、受信する。印刷データ受信制御部３１は、一時的にＰＤＬデータを受信データバッファ３９に記憶する。印刷データ受信制御部３１は、受信したＰＤＬデータをフルドットメモリ展開制御部３５に送出する。
【００５３】
フルドットメモリ展開制御部３５は、フルドットメモリ６０（全体）のアドレス順に、１ページずつラスタデータに変換しこれを記憶する。単位時間Ｔ２の経過時、フルドットメモリ展開制御部３５はＰ１のラスタデータをフルドットメモリ領域１に格納する。プリンタ３０の印刷データ送信制御部３３はフルドットメモリ６０（全体）に格納されたラスタデータをページ順に印刷機構部４０に送信する。これにより、印刷機構部４０はラスタデータを用紙に印刷する。
【００５４】
図４では、単位時間Ｔ３の経過時に、Ｐ１の印刷が完了している。印刷の完了した用紙は、排紙トレイまで排紙される。印刷が完了してから排紙トレイに用紙が排出されるまでの時間が、オプション３００の装着により増加する。本実施形態では、単位時間Ｔ１２にＰ１の用紙が排紙されているので、印刷が完了してから排紙トレイに用紙が排出されるまでの時間は８単位時間である。
【００５５】
Ｐ１の用紙が排紙されるまでの間に、フルドットメモリ展開制御部３５は、単位時間Ｔ４経過時にＰ２のラスタデータをフルドットメモリ領域２に格納する。印刷機構部４０は、単位時間Ｔ５経過時にＰ２の印刷を完了する。
【００５６】
また、フルドットメモリ展開制御部３５は、単位時間Ｔ６経過時にＰ３のラスタデータをフルドットメモリ領域３に格納する。印刷機構部４０は、単位時間Ｔ７経過時にＰ３の印刷を完了する。
【００５７】
また、フルドットメモリ展開制御部３５は、単位時間Ｔ８経過時にＰ４のラスタデータをフルドットメモリ領域４に格納する。印刷機構部４０は、単位時間Ｔ９経過時にＰ４の印刷を完了する。
【００５８】
また、フルドットメモリ展開制御部３５は、単位時間Ｔ１０経過時にＰ５のラスタデータをフルドットメモリ領域５に格納する。印刷機構部４０は、単位時間Ｔ１１経過時にＰ５の印刷を完了する。
【００５９】
この、単位時間Ｔ１０経過時、フルドットメモリ６０（全体）は空きページがなくなる。また、単位時間Ｔ１０の経過時、Ｐ１が印刷された用紙は排紙されていない。フルドットメモリ６０（全体）に格納されたラスタデータは、用紙詰まりなどのエラーに対応するため、用紙が排紙トレイに到達するまで上書きされない。このため、フルドットメモリ展開制御部３５は、単位時間Ｔ１２経過時、印刷データ受信制御部３１が受信したＰ６のラスタデータをフルドットメモリ６０（全体）に格納することはできない。
【００６０】
そこで、印刷データバッファ展開制御部３６は、Ｐ６のラスタデータをＰＤＢ７０に格納する。印刷データ受信制御部３１は、印刷データバッファ展開制御部３６がラスタデータをＰＤＢ７０に格納した場合、そのＰＤＬデータを受信データバッファ３９に記憶したままである。なお、印刷データ受信制御部３１は、ラスタデータがフルドットメモリ６０（全体）に書き込まれると、印刷データ受信制御部３１ではそのラスタデータに対応するＰＤＬデータを破棄する。
【００６１】
そして、ほぼ同時期に、Ｐ１が印刷された用紙が排紙トレイに到達する。また、単位時間Ｔ１３経過時、印刷データ送信制御部３３はＰ６のラスタデータを印刷機構部４０に送出する。これにより、単位時間Ｔ１３経過時、Ｐ６の印刷が完了する。したがって、単位時間Ｔ１３経過時、搬送中の用紙はＰ２〜Ｐ６の５枚となる。
【００６２】
また、Ｐ６の印刷の完了により、単位時間Ｔ１３経過時、ＰＤＢ７０のＰ６は上書きが許可される。図では単位時間Ｔ１３以降はＰＤＢ７０のＰ６を消去している。しかし、単位時間Ｔ１３経過時、印刷データ受信制御部３１は受信データバッファ３９にＰ６のＰＤＬデータを保持している。
【００６３】
次に、単位時間Ｔ１４経過時、フルドットメモリ展開制御部３５は、フルドットメモリ領域１にＰ７のラスタデータを格納する。また、単位時間Ｔ１４経過時、Ｐ２の用紙が排紙トレイに到達する。したがって、フルドットメモリ領域２に別のラスタデータを格納してよいことになる。これにより、単位時間Ｔ１４〜１５では、搬送中の用紙はＰ３〜Ｐ７の５枚となる。
【００６４】
そして、単位時間Ｔ１４経過時、配送エラーが発生する。配送エラーが発生すると、搬送中の用紙が正常に(ユーザが使用できる品質で)取り出される可能性は低いので、プリンタ３０は、搬送中の用紙のラスタデータを再度、用紙に印刷する。印刷制御部３２は、印刷機構部４０からの通知により、排紙されたページがＰ１とＰ２であることを検知しているので、印刷機構部３２は、Ｐ３〜Ｐ７の５枚を再印刷することを決定する。
【００６５】
また、ＰＤＢ７０に格納したラスタデータがある場合、フルドットメモリ展開制御部３５は、印刷データ受信制御部３１から受信データバッファ３９のＰＤＬデータを受け取り、フルドットメモリ６０（全体）に格納する。こうすることで、外部コントローラ２０が、ＰＤＢ７０に格納されたラスタデータに対応するＰＤＬデータをプリンタ３０に再送することなく、プリンタ３０が再印刷することができる。
【００６６】
単位時間Ｔ１４経過時すでにＰ７までのラスタデータがフルドットメモリ領域１に格納されているので、フルドットメモリ展開制御部３５は、受信データバッファ３９に記憶されていたＰ６のＰＤＬデータをラスタデータに変換して、フルドットメモリ領域２に格納する。以上から、単位時間Ｔ１６経過時、フルドットメモリ領域１にはＰ７のラスタデータが、フルドットメモリ領域２にはＰ６のラスタデータが、フルドットメモリ領域３〜５にはＰ３〜５のラスタデータが記憶された状態となる。
【００６７】
配送エラーが解消された後、印刷制御部３２は、排紙の完了していないファーストページを決定し、印刷データ送信制御部３３に通知する。図４ではＰ３がファーストページである。このため、印刷データ送信制御部３３はＰ３を印刷機構部４０に送信し、単位時間Ｔ１３経過時、Ｐ３が印刷されている。次いで、Ｐ４、Ｐ５が再印刷される。
【００６８】
フルドットメモリ６０（全体）のアドレス順ではＰ７，Ｐ６となっているが、印刷制御部３２は、フルドットメモリ領域２のラスターデータ（Ｐ６）に対応するＰＤＬデータが受信データバッファ３９に記憶されていることを、フルドットメモリ６０（全体）への格納時に検出している。このため、印刷制御部３２は、Ｐ６、Ｐ７の順に印刷されるように、印刷順を制御する。このように、アドレス順とページ番号が対応しなくても、印刷制御部３２が印刷の順番を管理しているので、用紙はページ順に印刷される。
【００６９】
なお、Ｐ３の用紙が排紙トレイに到達するまでの間、フルドットメモリ６０（全体）に空きページがないので、Ｐ８のラスタデータはＰＤＢ７０に格納される。
【００７０】
〔印刷手順〕
以上のプリンタシステム４００の動作について、図５〜７のフローチャート図に基づき詳細に説明する。図５〜７は、プリンタシステム４００がページを印刷する手順のフローチャート図の一例を示す。以下、（１）〜（３）の状況毎に説明する。
【００７１】
（１）配送エラーが生じることなく印刷が進む場合。
Ｐ６のラスタデータはＰＤＢ７０に、Ｐ７のラスタデータはフルドットメモリ６０（全体）に、それぞれ格納されるが、配送エラーが生じない場合を説明する。
【００７２】
図５〜７のフローチャート図は、外部コントローラ２０から印刷データを受信した印刷制御部３２が、印刷データを解析後、スタートする。
【００７３】
印刷制御部３２は、まず、なんらかの配送エラーが生じたか否かを判定する（Ｓ１０１）。配送エラーは、各センサーからの割り込み線が「Ｈｉ信号」になること等から検出される。
【００７４】
配送エラーが生じていない場合（Ｓ１０１のＮｏ）、ラスタデータを格納するため、フルドットメモリ展開制御部３５はフルドットメモリ６０（全体）に空きページがあるか否かを判定する（Ｓ１０２）。
【００７５】
フルドットメモリ６０（全体）に空きページがある場合（Ｓ１０２のＹｅｓ）、フルドットメモリ６０（全体）にラスタデータを格納すればよいので、フルドットメモリ展開制御部３５はラスタデータをフルドットメモリ６０（全体）に格納する（Ｓ１０３）。例えば、図４ではＰ１〜Ｐ５まではステップＳ１０１〜Ｓ１０３によりフルドットメモリ６０（全体）に格納される。
【００７６】
次いで、印刷データ受信制御部３１は、フルドットメモリ６０（全体）に格納したラスタデータに対応する受信したＰＤＬデータを破棄する（Ｓ１０４）。
【００７７】
次いで、印刷データ受信制御部３１は全てのＰＤＬデータを受信データバッファ３９に格納したか否かを判定する（Ｓ１０５）。全てのＰＤＬデータを格納したか否かは、外部コントローラ２０の印刷データ送信制御部３３から通知される。ステップＳ１０１〜Ｓ１０４を繰り返すことで、単位時間Ｔ１０経過時のように、フルドットメモリ領域１〜５にはそれぞれＰ１〜Ｐ５のラスタデータが格納される。また、印刷データ受信制御部３１はＰ１〜Ｐ５のＰＤＬデータを受信データバッファ３９から破棄している。
【００７８】
次に、フルドットメモリ展開制御部３５は、Ｐ６のラスタデータの記憶のためフルドットメモリ６０（全体）に空きページがあるか否かを判定する（Ｓ１０２）。フルドットメモリ６０（全体）には既に空きページがないので、Ｐ６に対するステップ１０２の判定はＮｏになる。
【００７９】
図６に進み、印刷データバッファ展開制御部３６は、当該ページ（Ｐ６）は、ＰＤＢ７０に書き込まれているページの直後のページか否かを判定する（Ｓ３０１）。換言すると、印刷データバッファ展開制御部３６は、Ｐ６がＰＤＢ７０に書き込まれているページに連続しているか否かを判定する。この判定により、連続ページの場合は、（３）で説明するように半ページずづ印刷機構部４０に転送することで、ラスタデータの格納を少しでも進め間欠印刷を防ぐことができる。
【００８０】
この時点ではＰＤＢ７０に何も記憶されていない（以前のジョブのラスタデータが残っているか、初期化されている）ので、Ｐ６はＰＤＢ７０に書き込まれているページの直後のページではない（Ｓ３０１のＮｏ）。すなわち、ＰＤＢ７０に格納されているラスタデータはＰ６の直前のＰ５ではない。
【００８１】
このため、印刷データバッファ展開制御部３６は、１ページ分のラスタデータをＰＤＢ７０に一時的に書き込む（Ｓ３０３）。なお、ステップＳ３０３では、ＰＤＢ７０に格納されているラスタデータと連続するページを格納する場合は、１ページ分の前半分のページをＰＤＢ７０に格納する。
【００８２】
次いで、印刷データバッファ展開制御部３６は、ＰＤＢ７０に１ページ分（Ｐ６）のラスタデータの格納が完了したか否かを判定する（Ｓ３０４）。ＰＤＢ７０に１ページ分のラスタデータが格納されたら、次のページを処理するためステップＳ１０１に戻る。
【００８３】
この時点で単位時間Ｔ１２の状態となる。これでフルドットメモリ領域１が開放されるので、フルドットメモリ展開制御部３５はＰ７のラスタデータがフルドットメモリ領域１に格納する。また、同時期に、Ｐ２を印刷した用紙が排紙トレイに到達する（単位時間Ｔ１４）。
【００８４】
（２）配送エラーが発生した場合
Ｐ６のラスタデータがＰＤＢ７０に、Ｐ７のラスタデータをフルドットメモリ領域１に、それぞれ格納された後、Ｐ８のラスタデータが格納される前に配送エラーが発生した場合を説明する。
＜エラー処理＞
ステップＳ１０１にて、印刷制御部３２は配送エラーの発生を検出する。したがって、処理はステップＳ４０１に進む。
【００８５】
印刷制御部３２は、まず、排紙が終了しているページを確認し、再印刷を開始するページ（ファーストページ）を決定する（Ｓ４０１）。排紙が終了しているページは、排紙トレイに到達した用紙のページ数から明らかである。例えば、Ｐ２までの排紙が完了しているので、再印刷を開始するファーストページはＰ３である。
【００８６】
印刷制御部３２は、配送エラーが解除されるまで待機する（Ｓ４０２のＮｏ）。配送エラーが解除されると（Ｓ４０２のＹｅｓ）、印刷データ送信制御部３３はＰ３のラスタデータを印刷機構部４０に送信する（Ｓ４０３）。
【００８７】
また、ステップＳ４０３の送信と並行して、印刷制御部３２は、ＰＤＢ７０に格納したがまだ排紙されていないラスタデータがあるか否かを判定する（Ｓ４０４）。ＰＤＢ７０に格納されたラスタデータは印刷後（排紙後でなく）に上書きされうるので、この判定により、受信データバッファ３９に格納されたＰＤＬデータを使用するか否かが判定される。
【００８８】
ＰＤＢ７０に格納したがまだ排紙されていないラスタデータがない場合（Ｓ４０４のＮｏ）、ＰＤＢ７０のラスタデータに関する処理は不要なので、印刷制御部３２は、フルドットメモリ６０（全体）に格納していないページからフルドットメモリ６０（全体）への格納を再開する（Ｓ４０５）。具体的には、印刷制御は、Ｐ８からフルドットメモリ６０（全体）への格納を再開する。すなわち、配送エラー処理は完了し、以降は、ステップＳ１０１から処理が再開される。
【００８９】
ＰＤＢ７０に格納したがまだ排紙されていないラスタデータがある場合（Ｓ４０４のＹｅｓ）、フルドットメモリ展開制御部３５は、ＰＤＢ７０に格納したページのラスタデータ（受信データバッファ３９のＰＤＬデータ）を、排紙された用紙のラスタデータが格納されているフルドットメモリ６０（全体）に格納する（Ｓ４０６）。すなわち、印刷データ受信制御部３１はＰ６のＰＤＬデータを受信データバッファ３９から読み出してフルドットメモリ展開制御部３５に送出し、フルドットメモリ展開制御部３５は受け取ったＰＤＬデータをラスタデータに変換しフルドットメモリ領域２に格納する。これにより、ＰＤＢ７０に書き込まれたが排紙されていないページを、再度印刷することができる。
【００９０】
フルドットメモリ展開制御部３５は、受信データバッファ３９のＰＤＬデータがラスタデータとしてフルドットメモリ６０（全体）に格納されたか否かを判定し（Ｓ４０７）、格納が完了すると（Ｓ４０７のＹｅｓ）、印刷制御部３２は、フルドットメモリ６０（全体）に格納していないページからフルドットメモリ６０（全体）への格納を再開する（Ｓ４０５）。したがって、印刷制御部３２は、Ｐ８からフルドットメモリ６０（全体）への格納を再開する。
【００９１】
（３）Ｐ６を書き込んだ時点でＰ１〜Ｐ５がまだ排紙完了していない状態が発生し、Ｐ７をＰＤＢ７０に上書きする場合
図４と異なる状況として、Ｐ６に次いでＰ７をＰＤＢ７０に格納する場合について説明する。
【００９２】
Ｐ１〜Ｐ５までは、Ｓ１０１（ＹＥＳ）〜Ｓ１０５（ＮＯ）を繰り返すことで、それぞれフルドットメモリ領域１〜５に格納される。
【００９３】
フルドットメモリ展開制御部３５がＰ６をＤＩＭＭ２に格納する際、フルドットメモリ６０（全体）に空きがないので、ステップＳ１０２の判定がＮｏとなり、処理はステップＳ３０１に進む。
【００９４】
まず、印刷データバッファ展開制御部３６は、Ｐ６が前回、ＰＤＢ７０に書き込んだページに連続したページ番号のページか否かを判定する（Ｓ３０１）。既に説明したように、この判定はＮｏとなる。
【００９５】
Ｐ６が前回、ＰＤＢ７０に書き込んだページに連続したページ番号のページでないため（Ｓ３０１のＮｏ）、印刷データバッファ展開制御部３６はＰ６のラスタデータをＰＤＢ７０に格納する（Ｓ３０３）。この場合、印刷データバッファ展開制御部３６はＰ６の１ページ分のラスタデータをＰＤＢ７０に一時的に書き込む。
【００９６】
次いで、ステップＳ３０４では、Ｐ６の１ページ分のラスタデータをＰＤＢ７０に格納したので、判定が「Ｙｅｓ」となり、処理はステップＳ１０１に戻る。なお、ステップＳ３０４の判定が「Ｎｏ」の場合でも、いずれはＰ６の格納が完了してステップＳ１０１に戻る。
【００９７】
まずステップＳ１０１で配送エラーは生じていないものとする。
【００９８】
次に、フルドットメモリ展開制御部３５は、Ｐ７のラスタデータを格納するため、フルドットメモリ６０（全体）に空きページがあるか否かを判定する（Ｓ１０２）。（１）と（２）では単位時間Ｔ１２においてフルドットメモリ領域１に空きページがあったが、例えば、用紙排紙が完了していないため、単位時間Ｔ１２ではフルドットメモリ領域１に空きページがないものとする。すなわち、フルドットメモリ６０（全体）からの印刷機構部４０への送信は、前ページの１ページ分のデータが格納終了した時点で始まる。一方、フルドットメモリ６０（全体）への上書き条件は、そのフルドットメモリ６０（全体）のページの用紙が「排紙完了したこと」である。このため、Ｐ６のラスタデータがＰＤＢ７０に格納された後、Ｐ１の用紙が排紙されていない場合は、依然として、フルドットメモリ６０（全体）は空き無しとなる。したがって、この場合、Ｐ７はＰＤＢ７０に格納されることになる。
【００９９】
このため、ステップＳ１０２の判定は「Ｎｏ」となり、処理はステップＳ３０１に進む。
印刷データバッファ展開制御部３６は、Ｐ７が前回、ＰＤＢ７０に書き込んだページに連続したページ番号のページか否かを判定する（Ｓ３０１）。印刷データバッファ展開制御部３６は、ＰＤＢ７０に格納したページのページ番号とＰ７のページ番号を比較して、Ｐ７が前回、ＰＤＢ７０に書き込んだページに連続したページ番号であると判定する。したがって、ステップＳ３０１の判定は「Ｙｅｓ」となる。
【０１００】
このため、印刷データバッファ展開制御部３６は、前ページのラスタデータの前半分が印刷機構部４０に送信されたか否かを判定する（Ｓ３０２）。前ページのラスタデータの前半分が印刷機構部４０に送信されていない場合（Ｓ３０２のＮｏ）、印刷データバッファ展開制御部３６は待機状態となる。
【０１０１】
また、本実施例では、後続するＰ７のＰＤＢ７０への格納条件として、前ページＰ６のラスタデータの前半が印刷機構部４０へ送信終了したこと、としたが、前ページＰ６の１／１０、１／５、１／４、１／３等のラスタデータの印刷機構部４０へ送信終了したことを格納条件としてもよい。すなわち、早期にＰ７のラスタデータをＰＤＢ７０に書き込めるようにすることで間欠印刷を防止する。
【０１０２】
前ページのラスタデータの前半分が印刷機構部４０に送信された場合（Ｓ３０２のＹｅｓ）、印刷データバッファ展開制御部３６は、Ｐ７のラスタデータの前半分のＰＤＢ７０への格納を開始する（Ｓ３０３）。ステップＳ３０２からステップＳ３０３へ処理が移行した場合、ステップＳ３０３の処理は「但し、連続ページの時は、前半ページ分の印刷データを格納する」となる。
【０１０３】
次いで、ステップＳ３０４において、印刷データバッファ展開制御部３６は、Ｐ７の１ページ分のラスタデータをＰＤＢ７０に格納したか否かを判定するが、この判定は「Ｎｏ」となり、処理はステップＳ３０６となる。そして、印刷データバッファ展開制御部３６は、前ページＰ６の後半分のラスタデータが印刷機構部４０に送信されたか否かを判定する（Ｓ３０６）。前ページＰ６の後半分のラスタデータが印刷機構部４０に送信されるまで（Ｓ３０６のＮｏ）、印刷データバッファ展開制御部３６は待機する（Ｓ３０６の判定の繰り返し）。
【０１０４】
前ページＰ６の後半分のラスタデータが印刷機構部４０に送信されると（Ｓ３０６のＹｅｓ）、印刷データバッファ展開制御部３６はＰ７の後半分のラスタデータをＰＤＢ７０に格納する（Ｓ３０５）。
【０１０５】
ステップＳ３０５により、Ｐ７の１ページ分のラスタデータがＰＤＢ７０に格納されたので、続くステップＳ３０４の判定はＹｅｓになる。したがって、以上で処理はステップＳ１０１に戻る。以降は、Ｐ８がフルドットメモリ６０（全体）又はＰＤＢ７０に格納されることになる。
【０１０６】
以上説明したように、本実施例のプリンタシステム４００は、プリンタにオプション３００を装着して、用紙の搬送距離が延び、ＰＤＢ７０にラスタデータを格納することができる。ＰＤＢ７０に格納されたラスタデータの用紙が排紙されるまでに配送エラーが発生しても、ＰＤＢ７０に格納されたページに対応するＰＤＬデータを受信データバッファ３９に保持しておくことで、ホストＰＣ１００から印刷データを再送することなく再印刷できる。オプションが装着されるまでは、ＰＤＢ７０をフルドットメモリ６０として使用できるので、ＤＩＭＭ２の記憶容量を有効に活用でき、オプション装着時にＤＩＭＭ２を増設する必要もない。したがって、オプション３００が装着されても、システム全体のデータ転送効率及び印刷生産性が低下することを防止できる。
【符号の説明】
【０１０７】
２０      外部コントローラ
３０      プリンタ
３１      印刷データ受信制御部
３２      印刷制御部
３３      印刷データ送信制御部
３４      ＤＩＭＭ２
３５      フルドットメモリ展開制御部
３６      印刷データバッファ展開制御部
３７      操作パネル
３８      ハードディスクドライブ
３９      受信データバッファ
１００    ホストＰＣ
２００    プリンタ全体
３００    オプション
４００    プリンタシステム
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２００１−３３４７０４号公報
【特許文献２】特開２００４−１９４０５２号公報
【特許文献３】特開２００９−０５５２０５号公報
【特許文献４】特開２００８−５３７９１号公報
【図１】
2011037027.tif 000003
【図２】
2011037027.tif 000004
【図３】
2011037027.tif 000005
【図４】
2011037027.tif 000006
【図５】
2011037027.tif 000007
【図６】
2011037027.tif 000008
【図７】
2011037027.tif 000009