(57)【要約】【課題】印刷データに基づいて印刷を行う印刷装置において、エラーが発生し電源を再投入したときにエラー発生前に印刷が終了していたページを重複して印刷しないようにする。【解決手段】第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部３０８と、第１の印刷データの印刷が完了したか否か判断する印刷完了判断部３０４と、第１の印刷データと第２の印刷データの異同を判断する印刷ジョブ判断部３０３と、印刷ジョブ判断部３０３により第１の印刷データと第２の印刷データとが同じ印刷ジョブであると判断された場合に印刷範囲記憶部３０８に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部３０６とを設け、第１の印刷データの印刷を完了していないと判断し、かつ第１の印刷データと第２の印刷データが同じ印刷ジョブであると判断したときは、印刷未完のページから第２の印刷データを印刷するようにした。【選択図】図１
2010131949.tif 000002
【特許請求の範囲】
【請求項１】
受信した第１の印刷データと第２の印刷データに基づいて印刷する印刷装置であって、
前記第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、
前記第１の印刷データの印刷が完了したか否か判断する印刷完了判断部と、
前記第１の印刷データと前記第２の印刷データの異同を判断する印刷ジョブ判断部と、
前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データとが同じ印刷ジョブであると判断された場合に、前記印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、
前記印刷完了判断部により前記第１の印刷データの印刷が完了していないと判断され、かつ前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データが同じ印刷ジョブであると判断されたときは、前記印刷未完ページ判断部の判断と前記第２の印刷データとに基づいて印刷する印刷制御部とを有することを特徴とする印刷装置。
【請求項２】
前記印刷した範囲は先頭ページから印刷したページまでのページ数であることを特徴とする請求項１記載の印刷装置。
【請求項３】
前記印刷した範囲は印刷したページの集合であることを特徴とする請求項１記載の印刷装置。
【請求項４】
両面印刷及び集合印刷の場合には、前記印刷した範囲は印刷媒体単位で必要なページ数であることを特徴とする請求項２または請求項３記載の印刷装置。
【請求項５】
前記第１の印刷データ及び前記第２の印刷データはそれぞれ属性情報を有し、
前記印刷ジョブ判断部は、属性情報に基づいて第１の印刷データと第２の印刷データとの異同を判断することを特徴とする請求項１ないし請求項４いずれか記載の印刷装置。
【請求項６】
前記属性情報は、ジョブ名、ホスト名、印刷実行時間の組み合わせであることを特徴とする請求項５記載の印刷装置。
【請求項７】
前記印刷完了判断部は、前記印刷した範囲と前記第２の印刷データとから印刷が完了したか否かを判断することを特徴とする請求項１ないし請求項６いずれか記載の印刷装置。
【請求項８】
前記印刷装置は、印刷が完了したか否かを示す印刷完了フラグを記憶する印刷完了フラグ記憶部を有し、
前記印刷完了判断部は、前記印刷完了フラグから印刷が完了したか否かを判断することを特徴とする請求項１ないし請求項６いずれか記載の印刷装置。
【請求項９】
印刷データを作成する上位装置と受信した第１の印刷データと第２の印刷データに基づいて印刷する印刷装置とを備えた印刷システムであって、
前記上位装置は、
前記第１の印刷データの印刷が完了したか否か判断する第１の印刷完了判断部と、
前記第１の印刷データ及び第２の印刷データを送信する送信部と、
を備え、
前記第１の印刷データが送信された後、前記第１の印刷完了判断部により前記第１の印刷データの印刷が完了していないと判断された場合に、第２の印刷データを送信し、
前記印刷装置は、
前記第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、
前記第１の印刷データの印刷が完了したか否か判断する第２の印刷完了判断部と、
前記第１の印刷データと前記第２の印刷データの異同を判断する印刷ジョブ判断部と、
前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データとが同じ印刷ジョブであると判断された場合に、前記印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、
前記第２の印刷完了判断部により前記第１の印刷データの印刷が完了していないと判断され、かつ前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データが同じ印刷ジョブであると判断されたときは、前記印刷未完ページ判断部の判断と前記第２の印刷データとに基づいて印刷する印刷制御部とを有することを特徴とする印刷システム。
【請求項１０】
前記印刷した範囲は先頭ページから印刷したページまでのページ数であることを特徴とする請求項９記載の印刷システム。
【請求項１１】
前記印刷した範囲は印刷したページの集合であることを特徴とする請求項９記載の印刷装置。
【請求項１２】
両面印刷及び集合印刷の場合には、前記印刷した範囲は印刷媒体単位で必要なページ数であることを特徴とする請求項１０または請求項１１記載の印刷装置。
【請求項１３】
前記第１の印刷データ及び前記第２の印刷データはそれぞれ属性情報を有し、
前記印刷ジョブ判断部は、属性情報に基づいて第１の印刷データと第２の印刷データとの異同を判断することを特徴とする請求項９ないし請求項１２いずれか記載の印刷装置。
【請求項１４】
前記属性情報は、ジョブ名、ホスト名、印刷実行時間の組み合わせであることを特徴とする請求項１３記載の印刷装置。
【請求項１５】
前記印刷完了判断部は、前記印刷した範囲と前記第２の印刷データとから印刷が完了したか否かを判断することを特徴とする請求項９ないし請求項１４いずれか記載の印刷装置。
【請求項１６】
前記印刷装置は、印刷が完了したか否かを示す印刷完了フラグを記憶する印刷完了フラグ記憶部を有し、
前記印刷完了判断部は、前記印刷完了フラグから印刷が完了したか否かを判断することを特徴とする請求項９ないし請求項１４いずれか記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、受信した印刷データを印刷する印刷装置および印刷システムに関するものである。
【背景技術】
【０００２】
従来、プリンタ等の印刷装置において、受信した印刷データに基づき印刷を行っているときに給紙ジャムなどのエラーが発生すると印刷処理が一旦中断され、電源がオフされると印刷装置内の印刷データが消失するため、電源再投入により上位装置から印刷データが再送され最初からすべての印刷データを再印刷していた（例えば、特許文献１参照）。
【０００３】
なお、上記再印刷は、上位装置が、印刷装置で管理するジョブログを取得し、取得したジョブログの内容に基づき印刷データの再送信を行うと、印刷装置にて最初からすべての印刷データを再印刷するようになっている。
【特許文献１】特開２００３−３２３２７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の印刷装置では、エラー発生後に上位装置から印刷データが再送され、再送された印刷データを最初からすべて印刷するようになっているため、エラー発生前に印刷が正常に終了していたページが重複して印刷され、用紙が無駄に使用されてしまうという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、前述の課題を解決するため次の方法を採用する。すなわち、受信した第１の印刷データと第２の印刷データに基づいて印刷する印刷装置において、前記第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、前記第１の印刷データの印刷が完了したか否か判断する印刷完了判断部と、前記第１の印刷データと前記第２の印刷データの異同を判断する印刷ジョブ判断部と、前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データとが同じ印刷ジョブであると判断された場合に、前記印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、前記印刷完了判断部により前記第１の印刷データの印刷が完了していないと判断され、かつ前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データが同じ印刷ジョブであると判断されたときは、前記印刷未完ページ判断部の判断と前記第２の印刷データとに基づいて印刷する印刷制御部とを設けた。
【発明の効果】
【０００６】
本発明の印刷装置によれば、受信した第１の印刷データと第２の印刷データに基づいて印刷する印刷装置において、前記第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、前記第１の印刷データの印刷が完了したか否か判断する印刷完了判断部と、前記第１の印刷データと前記第２の印刷データの異同を判断する印刷ジョブ判断部と、前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データとが同じ印刷ジョブであると判断された場合に、前記印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、前記印刷完了判断部により前記第１の印刷データの印刷が完了していないと判断され、かつ前記印刷ジョブ判断部により前記第１の印刷データと前記第２の印刷データが同じ印刷ジョブであると判断されたときは、前記印刷未完ページ判断部の判断と前記第２の印刷データとに基づいて印刷するようにしたので、ジャムなどでプリンタの電源が再投入されても、すでに印刷したページと重複することなく、印刷未完のページだけを印刷することができ、用紙が無駄に使用されないようにすることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明に係わる実施の形態例を、図面を用いて説明する。図面に共通する要素には同一の符号を付す。なお、以下の実施例の説明ではプリンタを例として説明するが、印刷機能を有する複写機、ファクシミリ等の他の印刷装置であってもよい。
【実施例１】
【０００８】
（構成）
実施例１の印刷装置の構成について、図１の印刷装置の機能ブロック図および印刷システムの構成図、図２のジョブログテーブルの構成図を用いて以下説明する。
【０００９】
実施例１の印刷装置は、図１に示したように、ネットワーク２００を介して、パーソナルコンピュータ１００、印刷装置の１つであるプリンタ３００が接続されており、相互にネットワーク２００を介して通信できるようになっている。
【００１０】
パーソナルコンピュータ１００は、図示しないアプリケーションから印刷が指示されると、属性情報としてジョブ名、ホスト名、印刷実行時間が含まれる第１の印刷データとしての印刷データを生成し、プリンタ３００に送信し、ジャム等が発生しプリンタ３００の電源がオフされたなどのエラーが発生して印刷データをすべて送信できなかった場合は、第２の印刷データとして印刷データをプリンタに再送するものである。
【００１１】
プリンタ３００は、受信した印刷データに基づき用紙に印刷を行うもので、受信部３０１、抽出部３０２、印刷ジョブ判断部３０３、印刷完了判断部３０４、印刷制御部３０５、印刷未完ページ判断部３０６、印刷部３０７、印刷範囲記憶部３０８、印刷完了フラグ記憶部３０９、ハードディスク３１０、ＲＡＭ３２０とから構成される。
【００１２】
ハードディスク３１０は、不揮発性記憶装置でありジョブログテーブル３１１が格納される。ジョブログテーブル３１１は、図２に示したように、1つのエントリにログ番号３１１Ａ、ジョブ名３１１Ｂ、ホスト名３１１Ｃ、印刷実行時間３１１Ｄ、印刷範囲３１１Ｅ、印刷完了フラグ３１１Ｆを記憶する。
【００１３】
ログ番号３１１Ａにはジョブログテーブルのエントリを示す一意の番号を記憶し、ジョブ名３１１Ｂ、ホスト名３１１Ｃ、印刷実行時間３１１Ｄには印刷データから抽出したジョブ名、ホスト名、印刷実行時間を記憶する。印刷範囲３１１Ｅには印刷データの先頭ページから印刷したページまでのページ数を記憶する。印刷完了フラグ３１１Ｆには印刷が完了している場合には"１"を、印刷が完了していない場合には"０"を記憶する。
【００１４】
再び図１に戻って、ＲＡＭ３２０は、揮発性記憶装置で、印刷データ、ログ番号、再送フラグ、完了フラグを記憶する。印刷データは受信部３０１が受信した印刷データを記憶する。ログ番号には、現在処理している印刷データと一致するジョブログテーブル３１１のログ番号を記憶する。
【００１５】
再送フラグには、現在処理している印刷データが再送のときは"１"を、再送でないときは"０"を記憶する。完了フラグは、現在処理している印刷データの印刷が完了しているときは"１"を、完了していないときは"０"を記憶する。
【００１６】
受信部３０１は、パーソナルコンピュータ１００から印刷データを受信し、ＲＡＭ３２０に記憶して、最初の受信では抽出部３０２に、その後の受信では印刷制御部３０５に通知する。特定のサイズを超える場合は、パーソナルコンピュータ１００からの受信を一時停止し、印刷制御部３０５からの要求により、再開する。
【００１７】
抽出部３０２は、受け取った印刷データから属性情報であるジョブ名、ホスト名、印刷実行時間を抽出し、印刷ジョブ判断部３０３に渡す。
【００１８】
印刷ジョブ判断部３０３は、受け取ったジョブ名、ホスト名、印刷実行時間とすべて一致するエントリがジョブログテーブル３１１に存在する場合は、同じ印刷データが再送されたと判断し、一致するエントリのジョブ番号および再送フラグ１をＲＡＭ３２０に記憶し、印刷完了判断部３０４に通知する。
【００１９】
一方、一致するエントリが存在しない場合は、再送ではないと判断し、ジョブログテーブル３１１にエントリを追加し、最新ログの次のログ番号をログ番号３１１Ａに、ジョブ名をジョブ名３１１Ｂに、ホスト名をホスト名３１１Ｃに、印刷実行時間を印刷実行時間３１１Ｄに、印刷範囲３１１Ｅに"０"を、印刷完了フラグ３１１Ｆに"０"を書き込み、追加したエントリのログ番号および再送フラグ０をＲＡＭ３２０に記憶し、印刷完了判断部３０４に通知する。
【００２０】
印刷完了判断部３０４は、ＲＡＭ３２０のログ番号と一致するジョブログテーブル３１１内のエントリの印刷完了フラグ３１１Ｆを読み出し、ＲＡＭ３２０の完了フラグに記憶し、印刷制御部３０５に通知する。
【００２１】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが存在し、ＲＡＭ３２０の完了フラグが"１"の場合は、すべてのページの印刷データを印刷しない。ＲＡＭの完了フラグが"０"で、再送フラグが"０"の場合は、すべてのページの印刷データを印刷部３０７に渡す。
【００２２】
ＲＡＭの完了フラグが"０"で、再送フラグが"１"の場合は、印刷データのページごとに印刷未完ページ判断部３０６にページ数を渡し、印刷未完ページ判断部３０６から印刷未完ページではないと通知された場合は、そのページは印刷せず、印刷未完ページであると通知された場合は、そのページの印刷データを印刷部３０７に渡す。
【００２３】
ＲＡＭ３２０に次のページの印刷データが存在しない場合は、ＲＡＭ３２０の不要な印刷データをクリアし、未受信の印刷データが存在すれば、受信部３０１に受信の再開を要求する。未受信の印刷データが存在せず、未排出の用紙があれば、印刷部３０７に用紙の排出を要求する。未排出の用紙がなければ、印刷完了フラグ記憶部３０９に通知する。
【００２４】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号と一致するジョブログテーブル３１１内のエントリの印刷範囲３１１Ｅのページ数が受け取ったページ数よりも小さい場合は印刷未完ページであると判断し、等しいか大きい場合は印刷未完ページではないと判断し、印刷制御部３０５に通知する。
【００２５】
印刷部３０７は、印刷制御部３０５から受け取った印刷データのページを印刷する。両面印刷の表面印刷後は、次は裏面に印刷を行うため用紙を反転させる。用紙を排出したら、印刷範囲記憶部３０８に印刷したページ数を渡す。
【００２６】
印刷範囲記憶部３０８は、ＲＡＭ３２０のログ番号と一致するジョブログテーブル３１１内のエントリの印刷範囲３１１Ｅに受け取った印刷ページ数を書き込む。
【００２７】
印刷完了フラグ記憶部３０９は、ＲＡＭ３２０のログ番号と一致するジョブログテーブル３１１内のエントリの印刷完了フラグ３１１Ｆに"１"を書き込み、ＲＡＭ３２０のログ番号、再送フラグ、完了フラグをクリアして、終了する。
【００２８】
（動作）
以上の構成により、実施例１の印刷装置は以下のように動作する。この動作を図３および図４の動作フローチャート図を用いて以下詳細に説明する。なお、図３および図４は実施例１の印刷装置の動作フローチャート図を便宜上２つに分割し連結子Ａ、Ｂにより連結して表わしたものである。
【００２９】
以下の説明では、ホスト名が、"ＰＣ−１"のパーソナルコンピュータ１００で、ジョブ名が"ＤＯＣ１"で、５ページを両面印刷する印刷データが"２００８年７月１８日１５時４５分３０秒"に生成され、プリンタ３００に受信バッファの容量以内である４ページ分の印刷データが最初に送信され、プリンタ３００で３ページ印刷されたあと、４ページ目でジャムが発生し、プリンタ３００の電源が再投入され、プリンタ３００が再起動後、パーソナルコンピュータ１００から同じ印刷データが再送信されるときの動作を一例として、図１ないし図４を用いて説明する。
【００３０】
まず、パーソナルコンピュータ１００にて、"ホスト名ＰＣ−１"、"ジョブ名ＤＯＣ１"、"印刷実行時間２００８０７１８１５４５３０"が含まれる印刷データが生成され、プリンタ３００に送信されると、受信部３０１は受信した印刷データをＲＡＭ３２０に記憶し（ステップＳ０１）、すべての印刷データを受信しておらず（ステップＳ０２）受信バッファに余裕があるときはステップＳ０１に戻り次の印刷データを受信する。
【００３１】
本例では、４ページ分を受信すると受信バッファの容量を超え特定のサイズ以上となるので（ステップＳ０３）、受信を一時停止し（ステップＳ０４）、最初の受信であるため（ステップＳ０５）、抽出部３０２に通知する（ステップＳ０６）。
【００３２】
抽出部３０２は印刷データから属性情報であるホスト名、ジョブ名、印刷実行時間を抽出し、印刷ジョブ判断部３０３に渡す（ステップＳ０７）。
【００３３】
最初の受信であるので、印刷ジョブ判断部３０３はジョブログテーブル３１１に受け取ったジョブ名、ホスト名、印刷実行時間と一致するエントリが存在しないため（ステップＳ０８）、再送ではないと判断して、ジョブログテーブル３１１にエントリを追加し、ログ番号３１１Ａに"１"、ジョブ名３１１Ｂに"ＤＯＣ１"、ホスト名３１１Ｃに"ＰＣ−１"を、印刷実行時間３１１Ｄに"２００８０７１８１５４５３０"を、印刷範囲３１１Ｅに"０"を、印刷完了フラグ３１１Ｆに"０"を書き込み（ステップＳ０９）、追加したエントリのログ番号"１"、再送フラグ"０"をＲＡＭ３２０に記憶し、印刷完了判断部３０４に通知する（ステップＳ１０）。
【００３４】
すると、印刷完了判断部３０４は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷完了フラグ"０"をＲＡＭ３２０の完了フラグに記憶し、印刷制御部３０５に通知し（ステップＳ１２）、連結子Ｂを経由し図４のステップＳ１３に進む。
【００３５】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"であり（ステップＳ１４）、再送フラグが"０"のため（ステップＳ１５）、１ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。
【００３６】
印刷部３０７は１ページ目を印刷し（ステップＳ２１）、両面印刷で、表面の印刷であり（ステップＳ２２）、次は裏面への印刷となるので用紙を反転し（ステップＳ２３）、ステップＳ１３に戻る。
【００３７】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"０"のため（ステップＳ１５）、２ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。
【００３８】
印刷部３０７は２ページ目を印刷し（ステップＳ２１）、裏面の印刷であるので（ステップＳ２２）、用紙を排出し（ステップＳ２４）、印刷範囲記憶部３０８に印刷ページ"２"を渡す（ステップＳ２５）。
【００３９】
印刷範囲記憶部３０８は、両面分である２ページ分の印刷を完了したので、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅに"２"を書き込み（ステップＳ２６）、ステップＳ１３に戻る。
【００４０】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"０"のため（ステップＳ１５）、３ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。
【００４１】
印刷部３０７は３ページ目を印刷し（ステップＳ２１）、両面印刷で、表面の印刷であり（ステップＳ２２）、次は裏面への印刷となるので用紙を反転し（ステップＳ２３）、ステップＳ１３に戻る。
【００４２】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"０"のため（ステップＳ１５）、４ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。
【００４３】
本例では印刷部３０７にて４ページ目を印刷中にジャムが発生し、用紙を取り出し、ジャム復旧後、プリンタ３００の電源が再投入される。
【００４４】
このとき、両面印刷した１枚目の用紙については正常に印刷を終了し、ジョブログテーブル３１１のログ番号３１１Ａが"１"の印刷範囲３１１ＥにはステップＳ２６にて２"が書き込まれており、印刷完了フラッグ３１１Ｆには印刷が完了していない旨を示す"０"が書き込まれた状態となっている。
【００４５】
そして、プリンタ３００が再起動されると、パーソナルコンピュータ１００は、すべての印刷データを送信していないため、"ホスト名ＰＣ−１"、"ジョブ名ＤＯＣ１"、"印刷実行時間２００８０７１８１５４５３０"が含まれる印刷データが再度プリンタ３００に送信されると、受信部３０１は受信した印刷データをＲＡＭ３２０に記憶し（ステップＳ０１）、すべての印刷データを受信しておらず（ステップＳ０２）受信バッファに余裕があるときはステップＳ０１に戻り次の印刷データを受信する。
【００４６】
本例では、４ページ分を受信すると受信バッファの容量を超え特定のサイズ以上となるので（ステップＳ０３）、受信を一時停止し（ステップＳ０４）、最初の受信であるため（ステップＳ０５）、抽出部３０２に通知する（ステップＳ０６）。
【００４７】
抽出部３０２は印刷データから属性情報であるホスト名、ジョブ名、印刷実行時間を抽出し、印刷ジョブ判断部３０３に渡す（ステップＳ０７）。
【００４８】
印刷ジョブ判断部３０３は、ジョブログテーブル３１１に受け取ったジョブ名、ホスト名、印刷実行時間と一致するエントリが存在するため（ステップＳ０８）、再送であると判断して、一致するエントリのログ番号"１"、再送フラグ１をＲＡＭ３２０に記憶し、印刷完了判断部３０４に通知する（ステップＳ１１）。
【００４９】
印刷完了判断部３０４は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷完了フラグ"０"をＲＡＭ３２０の完了フラグに記憶し、印刷制御部３０５に通知し（ステップＳ１２）、連結子Ｂを経由し図４のステップＳ１３に進む。
【００５０】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"１"のため（ステップＳ１５）、ページ数"１"を印刷未完ページ判断部３０６に渡す（ステップＳ１６）。
【００５１】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅから取得した印刷ページ"２"が、受け取ったページ数"１"よりも小さくないため（ステップＳ１７）、印刷完了のページであることを、印刷制御部３０５に通知し（ステップＳ１８）、ステップＳ１３に戻る。
【００５２】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"１"のため（ステップＳ１５）、ページ数"２"を印刷未完ページ判断部３０６に渡す（ステップＳ１６）。
【００５３】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅから取得した印刷ページ"２"が受け取ったページ数"２"より小さくないため（ステップＳ１７）、印刷完了のページであることを、印刷制御部３０５に通知し（ステップＳ１８）、ステップＳ１３に戻る。
【００５４】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"１"のため（ステップＳ１５）、ページ数"３"を印刷未完ページ判断部３０６に渡す（ステップＳ１６）。
【００５５】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅから取得した印刷ページ"２"が受け取ったページ数"３"よりも小さいため（ステップＳ１７）、印刷未完のページであることを、印刷制御部３０５に通知する（ステップＳ１９）。
【００５６】
印刷制御部３０５は３ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。印刷部３０７は３ページ目を印刷し（ステップＳ２１）、両面印刷で、表面の印刷であり（ステップＳ２２）、次は裏面への印刷となるので用紙を反転する（ステップＳ２３）。
【００５７】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"１"のため（ステップＳ１５）、ページ数"４"を印刷未完ページ判断部３０６に渡す（ステップＳ１６）。
【００５８】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅから取得した印刷ページ"２"が受け取ったページ数"４"よりも小さいため（ステップＳ１７）、印刷未完のページであることを、印刷制御部３０５に通知する（ステップＳ１９）。
【００５９】
印刷制御部３０５は、４ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。印刷部３０７は４ページ目を印刷し（ステップＳ２１）、裏面の印刷のため（ステップＳ２２）、用紙を排出し（ステップＳ２４）、印刷範囲記憶部３０８に印刷ページ"４"を渡す（ステップＳ２５）。印刷範囲記憶部３０８は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅに"４"を書き込む（ステップＳ２６）。
【００６０】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データがないため（ステップＳ１３）、ＲＡＭの不要な印刷データをクリアし（ステップＳ２７）、未受信の印刷データがあるため（ステップＳ２８）、受信部３０１に通知する（ステップＳ２９）。
【００６１】
受信部３０１は受信を再開し（ステップＳ３０）、連結子Ａを経由し図３のステップＳ０１に戻り、残りの１ページ分を受信し、印刷データをＲＡＭ３２０に記憶して（ステップＳ０１）、すべての印刷データを受信し（ステップＳ０２）、最初の受信ではないため（ステップＳ０５）、印刷制御部３０５に通知し（ステップＳ３５）、連結子Ｂを経由し図４のステップＳ１３に進む。
【００６２】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データが有り（ステップＳ１３）、ＲＡＭ３２０の完了フラグが"０"で（ステップＳ１４）、再送フラグが"１"のため（ステップＳ１５）、ページ数"５"を印刷未完ページ判断部３０６に渡す（ステップＳ１６）。
【００６３】
印刷未完ページ判断部３０６は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅから取得した印刷ページには上記ステップＳ２６にて"４"が書込まれており、受け取ったページ数"５"よりも小さいので（ステップＳ１７）、印刷未完のページであることを、印刷制御部３０５に通知する（ステップＳ１９）。
【００６４】
印刷制御部３０５は、５ページ目の印刷データを印刷部３０７に渡す（ステップＳ２０）。印刷部３０７は５ページ目を印刷し（ステップＳ２１）、両面印刷で、表面の印刷であり（ステップＳ２２）、次は裏面への印刷であるので用紙を反転し（ステップＳ２３）、ステップＳ１３に戻る。
【００６５】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データがないため（ステップＳ１３）、ＲＡＭ３２０の不要な印刷データをクリアし（ステップＳ２７）、未受信の印刷データがなく（ステップＳ２８）、未排出の用紙があるため（ステップＳ３１）、ステップＳ２４に進み用紙を排出し（ステップＳ２４）、印刷範囲記憶部３０８に印刷ページ５を渡す（ステップＳ２５）。印刷範囲記憶部３０８は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷範囲３１１Ｅに"５"を書き込み（ステップＳ２６）、ステップＳ１３に戻る。
【００６６】
印刷制御部３０５は、ＲＡＭ３２０に次のページの印刷データがないため（ステップＳ１３）、ＲＡＭの不要な印刷データをクリアし（ステップＳ２７）、未受信の印刷データがなく（ステップＳ２８）、未排出の用紙もないため（ステップＳ３１）、印刷完了フラグ記憶部３０９に通知する（ステップＳ３２）。
【００６７】
印刷完了フラグ記憶部３０９は、ＲＡＭ３２０のログ番号"１"に一致するジョブログテーブル３１１のエントリの印刷完了フラグ３１１Ｆに"１"を書き込んで（ステップＳ３３）、ＲＡＭ３２０のログ番号、再送フラグ、完了フラグをクリアして（ステップＳ３４）、終了する。
【００６８】
（実施例１の効果）
以上詳細に述べたように、実施例１のプリンタによれば、受信した第１の印刷データと第２の印刷データに基づいて印刷する印刷装置において、第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、第１の印刷データの印刷が完了したか否か判断する印刷完了判断部と、第１の印刷データと第２の印刷データの異同を判断する印刷ジョブ判断部と、印刷ジョブ判断部により第１の印刷データと第２の印刷データとが同じ印刷ジョブであると判断された場合に、印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、印刷完了判断部により第１の印刷データの印刷が完了していないと判断され、かつ印刷ジョブ判断部により第１の印刷データと第２の印刷データが同じ印刷ジョブであると判断されたときは、印刷未完ページ判断部の判断と第２の印刷データとに基づいて印刷するようにしたので、ジャムなどでプリンタの電源が再投入されても、すでに印刷したページと重複することなく、印刷未完のページだけを印刷することができ、用紙が無駄に使用されないようにすることができる。
【実施例２】
【００６９】
（構成）
本発明の実施例２の印刷装置の構成について、図５の実施例２の印刷装置、パーソナルコンピュータの機能ブロック図を用いて以下詳細に説明する。
【００７０】
まず、図５に示したように、ネットワーク２００を介して、上位装置としてのパーソナルコンピュータ４００Ａ、パーソナルコンピュータ４００Ｂ、印刷装置の１つであるプリンタ３００が接続されており、それぞれネットワーク２００を介して通信できるようになっている。
【００７１】
パーソナルコンピュータ４００Ａは、アプリケーション４０１から印刷が指示されると、プリンタ３００に印刷させるための印刷データを生成し、プリンタ３００に送信するもので、アプリケーション４０１、データ生成部４０２、ジョブ管理部４０３、送信部４０４、印刷完了判断部４０５、ハードディスク４１０、ＲＡＭ４２０から構成される。なお、パーソナルコンピュータ４００Ｂの内部の構成は図示していないが、パーソナルコンピュータ４００Ａと同様の構成である。
【００７２】
ハードディスク４１０は、不揮発性記憶装置で、ジョブログテーブル４１１、スプールファイル４１２から構成される。スプールファイル４１２はデータ生成部４０２が生成した印刷データを保存する。
【００７３】
ジョブログテーブル４１１は、図６に示したように、１つのエントリにログ番号４１１Ａ、ジョブ名４１１Ｂ、ホスト名４１１Ｃ、印刷実行時間４１１Ｄ、スルールファイル名４１１Ｅ、送信完了フラグ４１１Ｆ、印刷完了フラグ４１１Ｇを記憶する。ログ番号４１１Ａにはジョブログテーブル４１１のエントリを示す一意の番号を記憶する。
【００７４】
ジョブ名４１１Ｂ、ホスト名４１１Ｃ、印刷実行時間４１１Ｄには印刷データに含められるジョブ名、ホスト名、印刷実行時間を記憶する。スルールファイル名４１１Ｅには、スプールファイル４１２の名前を記憶する。
【００７５】
送信完了フラグ４１１Ｆには送信が完了している場合には"１"を、完了していない場合には"０"を記憶する。印刷完了フラグ４１１Ｇにはプリンタ３００で印刷が完了している場合には"１"を、印刷が完了していない場合には"０"を記憶する。
【００７６】
再び図５に戻って、ＲＡＭ４２０は、揮発性記憶装置であり、ログ番号を記憶する。ログ番号には、現在送信している印刷データと一致するジョブログテーブル４１１のログ番号を記憶する。
【００７７】
アプリケーション４０１は、文書の作成や印刷行うもので、印刷が指示されると、データ生成部４０２に印刷用のデータを生成させる。
【００７８】
データ生成部４０２は、属性情報としてジョブ名、ホスト名、印刷実行時間が含まれる第１の印刷データとしての印刷データを生成し、スプールファイル４１２に保存し、ジョブログテーブル４１１にエントリを追加し、ログ番号４１１Ａに最新ログの次のログ番号を、ジョブ名４１１Ｂ、ホスト名４１１Ｃ、印刷実行時間４１１Ｄに印刷データに含めたジョブ名、ホスト名、印刷実行時間を、スルールファイル名４１１Ｅに保存したスプールファイル名を、送信完了フラグ４１１Ｆに"０"を、印刷完了フラグ４１１Ｇに"０"を書き込み、ジョブ管理部４０３に通知する。
【００７９】
ジョブ管理部４０３は、データ生成部４０２からの通知および定期的にジョブログテーブル４１１のエントリを読み込み、送信完了フラグ４１１Ｆが"０"のエントリが見つかったら、そのエントリのログ番号４１１ＡをＲＡＭ４２０のログ番号に記憶し、送信部４０４にスプールファイル名４１１Ｅを通知する。
【００８０】
送信完了フラグ４１１Ｆが"１"で、印刷完了フラグ４１１Ｇが"０"のジョブが見つかったら、印刷完了判断部４０５にそのエントリのジョブ名４１１Ｂ、ホスト名４１１Ｃ、印刷実行時間４１１Ｄを渡し、印刷完了と通知された場合は、そのエントリの印刷完了フラグ４１１Ｇに"１"を書き込む。
【００８１】
印刷未完了と通知された場合は、そのエントリの送信完了フラグ４１１Ｆに"０"を書き込み、そのエントリのログ番号４１１ＡをＲＡＭ４２０のログ番号に記憶し、送信部４０４に送信させる、第２の印刷データとしての印刷データが保存されたスプールファイル名４１１Ｅを通知する。印刷中と通知された場合は、次のエントリを読み込む。
【００８２】
送信部４０４は、受け取ったスプールファイル名のスプールファイル４１２の印刷データをプリンタ３００に送信する。
【００８３】
印刷完了判断部４０５は、ジョブ管理部４０３から渡されたジョブ名、ホスト名、印刷実行時間をプリンタ３００のジョブログ問い合わせ部３３０に渡し、結果をジョブ管理部４０３に通知する。
【００８４】
プリンタ３００は、実施例１の構成に、ジョブログ問い合わせ部３３０が付加されている。その他の構成は、実施例１と同様であるので、簡略化のためにその説明を省略する。
【００８５】
ジョブログ問い合わせ部３３０は、パーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂから受け取ったジョブ名、ホスト名、印刷実行時間とすべて一致するエントリがジョブログテーブル３１１に存在しない場合は、印刷未完了をパーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂに通知する。
【００８６】
ジョブログ問い合わせ部３３０は、パーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂから受け取ったジョブ名、ホスト名、印刷実行時間とすべて一致するエントリがジョブログテーブル３１１に存在し、一致するエントリのジョブ完了フラグが"１"の場合は、印刷完了をパーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂに通知する。
【００８７】
一致するエントリのジョブ完了フラグが"０"で、一致するエントリのジョブ番号とＲＡＭ３２０のジョブ番号が一致する場合は、印刷中をパーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂに通知する。ジョブ番号が一致しない場合は、印刷未完了をパーソナルコンピュータ４００Ａもしくはパーソナルコンピュータ４００Ｂに通知する。
【００８８】
（動作）
以上の構成により、実施例２の印刷装置は以下のように動作する。図７のデータ生成部４０２の処理を説明するフローチャート、図８および図９のパーソナルコンピュータ４００Ａやパーソナルコンピュータ４００Ｂにて印刷データをプリンタに送信するときの処理を説明するフローチャート、図１０のジョブログ問い合わせ部３３０の処理を説明するフローチャートを用いて以下詳細に説明する。なお、図８および図９は実施例２のパーソナルコンピュータ側の動作フローチャート図を便宜上２つに分割し連結子Ｃ、Ｄにより連結して表わしたものである。
【００８９】
以下の説明では、ホスト名が"ＰＣ−１"のパーソナルコンピュータ４００Ａで、ジョブ名が"ＤＯＣ１で"、４ページを両面印刷する印刷データが"２００８年７月１８日１５時４５分３０秒"に生成され、プリンタ３００に印刷データが４ページ分送信され、プリンタ３００で３ページ印刷されたあと、４ページ目でジャムが発生し、プリンタ３００の電源が再投入され、プリンタ３００が再起動後、ホスト名が"ＰＣ−２"のパーソナルコンピュータ４００Ｂで、ジョブ名が"ＤＯＣ２"で、１ページを片面印刷する印刷データが"２００８年７月１８日１５時４６分１５秒"に生成され、プリンタ３００に印刷データが"１"ページ分送信され、プリンタ３００で１ページ印刷されたあと、パーソナルコンピュータ４００Ａから同じ印刷データが再送信されるときの動作を詳細に説明する。
【００９０】
まず、パーソナルコンピュータ４００Ａで、アプリケーション４０１で印刷が指示されると、データ生成部４０２は、"ホスト名ＰＣ−１"、"ジョブ名ＤＯＣ１"、"印刷実行時間２００８０７１８１５４５３０"が含まれる印刷データを生成し、印刷データをスプールファイル４１２に"ｓｐｏｏｌ００１"という名前で保存する（ステップＳ４１）。
【００９１】
そして、ジョブログテーブル４１１にエントリを追加して、ログ番号４１１Ａに"１"、ジョブ名４１１Ｂに"ＤＯＣ１"、ホスト名４１１Ｃに"ＰＣ−１"を、印刷実行時間４１１Ｄに"２００８０７１８１５４５３０"を、スプールファイル名４１１Ｅに"ｓｐｏｏｌ００１"を、送信完了フラグ４１１Ｆに"０"を、印刷完了フラグ４１１Ｇに"０"を書き込み（ステップＳ４２）、ジョブ管理部４０３に通知する（ステップＳ４３）。
【００９２】
ジョブ管理部４０３は、ジョブログテーブル４１１にエントリが存在するため（ステップＳ５１）、１つ目のエントリを読み込み（ステップＳ５２）、送信完了フラグ４１１Ｆが"０"のため（ステップＳ５３、Ｓ５４）、ステップＳ６３に進み、ＲＡＭ４２０のログ番号にログ番号４１１Ａの"１"を記憶し（ステップＳ６３）、送信部４０４にスプールファイル名４１１Ｅのファイル名"ｓｐｏｏｌ００１"を通知する（ステップＳ６４）。
【００９３】
送信部４０４はスプールファイル４１２のファイル"ｓｐｏｏｌ００１"の印刷データをプリンタ３００に送信し（ステップＳ６５）、すべての送信が終了したら（ステップＳ６６）、ジョブ管理部４０３に通知する（ステップＳ６７）。
【００９４】
ジョブ管理部４０３はジョブログテーブル４１１のＲＡＭ４２０のログ番号に一致するエントリの送信完了フラグ４１１Ｆに"１"を書き込み（ステップＳ６８）、ＲＡＭ４２０のログ番号をクリアし（ステップＳ６９）、連結子Ｄを経由し図８のステップＳ５１に戻り、ジョブログテーブル４１１に次のエントリが無いため（ステップＳ５１）、終了する。
【００９５】
前記ステップＳ６５にてプリンタ３００に送信された印刷データに基づき印刷を行う動作は、図３および図４を用いて説明した実施例１の印刷装置の動作と同様であるので、簡略化のためにその詳細な説明は省略する。
【００９６】
再び図８に戻って、パーソナルコンピュータ４００Ａで、一定時間が経過すると、ジョブ管理部４０３は、ジョブログテーブル４１１にエントリが存在するため（ステップＳ５１）、１つ目のエントリを読み込み（ステップＳ５２）、送信完了フラグ４１１Ｆが"１"で、印刷完了フラグ４１１Ｇが"０"のため（ステップＳ５３、Ｓ５４）、印刷完了判断部４０５に"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"を渡す（ステップＳ５５）。印刷完了判断部４０５は、プリンタ３００のジョブログ問い合わせ部３３０に"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"を渡す（ステップＳ５６）。
【００９７】
プリンタ３００のジョブログ問い合わせ部３３０は、図１０に示したように、受け取った"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"とすべて一致するエントリがジョブログテーブル３１１に存在し（ステップＳ８１）、そのエントリのジョブ完了フラグが"０"で（ステップＳ８２）、そのエントリのログ番号"１"とＲＡＭ３２０のログ番号と一致しないため（ステップＳ８５）、ステップＳ８４に進み、印刷未完了をパーソナルコンピュータ４００Ａの印刷完了判断部４０５に通知する（ステップＳ８４）。  
【００９８】
再び図８に戻って、プリンタ３００から通知されると（ステップＳ５７）、印刷完了判断部４０５は、印刷未完了をジョブ管理部４０３に通知する（ステップＳ５８）。ジョブ管理部４０３は、印刷未完了と通知されたため（ステップＳ５９、Ｓ６０）、ジョブログテーブル３１１の読み込んだエントリの送信完了フラグ４１１Ｆに"０"を書き込み（ステップＳ６２）、連結子Ｃを経由し、図９のステップＳ６３に進み、ログ番号"１"をＲＡＭ４２０のログ番号に記憶し（ステップＳ６３）、スプールファイル名"ｓｐｏｏｌ００１"を送信部４０４に通知する（ステップＳ６４）。
【００９９】
送信部４０４はスプールファイル４１２のファイルｓｐｏｏｌ００１の印刷データをプリンタ３００に送信する（ステップＳ６５）。すべての送信が終了したら（ステップＳ６６）、ジョブ管理部４０３に通知する（ステップＳ６７）。ジョブ管理部４０３はジョブログテーブル４１１のＲＡＭ４２０のログ番号に一致するエントリの送信完了フラグ４１１Ｆに"１"を書き込み（ステップＳ６８）、ＲＡＭ４２０のログ番号をクリアし（ステップＳ６９）、連結子Ｄを経由し図８のステップＳ５１に戻り、ジョブログテーブル４１１に次のエントリが無いため（ステップＳ５１）、終了する。
【０１００】
前記ステップＳ６５にてプリンタ３００に送信された印刷データに基づき印刷を行う動作は、図３および図４を用いて説明した実施例１の印刷装置の動作と同様であるので、簡略化のためにその詳細な説明は省略する。
【０１０１】
そして、パーソナルコンピュータ４００Ａで、一定時間が経過すると、ジョブ管理部４０３は、ジョブログテーブル４１１にエントリが存在するため（ステップＳ５１）、１つ目のエントリを読み込み（ステップＳ５２）、送信完了フラグ４１１Ｆが"１"で、印刷完了フラグ４１１Ｇが"０"のため（ステップＳ５３、Ｓ５４）、印刷完了判断部４０５に"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"を渡す（ステップＳ５５）。
【０１０２】
印刷完了判断部４０５は、プリンタ３００のジョブログ問い合わせ部３３０に"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"を渡す（ステップＳ５６）。
【０１０３】
プリンタ３００のジョブログ問い合わせ部３３０は、図１０に示したように、受け取った"ジョブ名ＤＯＣ１"、"ホスト名ＰＣ−１"、"印刷実行時間２００８０７１８１５４５３０"とすべて一致するエントリがジョブログテーブル３１１に存在し（ステップＳ８１）、そのエントリのジョブ完了フラグが"１"のため（ステップＳ８２）、印刷完了をパーソナルコンピュータ４００Ａの印刷完了判断部４０５に通知する（ステップＳ８３）。
【０１０４】
再び図８に戻って、プリンタ３００から通知されると（ステップＳ５７）、印刷完了判断部４０５は、印刷完了をジョブ管理部４０３に通知する（ステップＳ５８）。ジョブ管理部４０３は、印刷完了と通知されたため（ステップＳ５９、Ｓ６０）、ジョブログテーブル３１１の読み込んだエントリの印刷完了フラグ４１１Ｇに１を書き込み（ステップＳ６１）、連結子Ｄを経由しステップＳ５１に戻って、ジョブログテーブル４１１に次のエントリが無いため（ステップＳ５１）、終了する。
【０１０５】
（実施例２の効果）
以上詳細に述べたように、実施例２の印刷システムによれば、印刷データを作成するパーソナルコンピュータと受信した第１の印刷データと第２の印刷データに基づいて印刷するプリンタとを備えた印刷システムにおいて、パーソナルコンピュータは、第１の印刷データの印刷が完了したか否か判断する第１の印刷完了判断部と、第１の印刷データ及び第２の印刷データを送信する送信部とを備え、第１の印刷データが送信された後、第１の印刷完了判断部により第１の印刷データの印刷が完了していないと判断された場合に、第２の印刷データを送信し、プリンタは、第１の印刷データに基づき印刷した範囲を記憶する印刷範囲記憶部と、第１の印刷データの印刷が完了したか否か判断する第２の印刷完了判断部と、第１の印刷データと第２の印刷データの異同を判断する印刷ジョブ判断部と、印刷ジョブ判断部により第１の印刷データと第２の印刷データとが同じ印刷ジョブであると判断された場合に、印刷範囲記憶部に記憶された印刷した範囲から印刷未完のページか否か判断する印刷未完ページ判断部と、第２の印刷完了判断部により第１の印刷データの印刷が完了していないと判断され、かつ印刷ジョブ判断部により第１の印刷データと第２の印刷データが同じ印刷ジョブであると判断されたときは、印刷未完ページ判断部の判断と第２の印刷データとに基づいて印刷するようにしたので、印刷装置に全ての印刷データが送信された後に、ジャムなどでプリンタの電源がオフされても、電源オフ前に印刷されていたページと重複することなく、プリンタ再起動後に残りのページが印刷され、用紙が無駄に使用されない。
【０１０６】
《その他の変形例》
以上の実施例の説明では、両面印刷を行う例を説明したが、両面印刷ではなくマルチページ印刷等の割り付け印刷を行う場合にも、本発明を適用することができる。
【０１０７】
また、以上の実施例の説明では、ジャムの発生を原因として電源を再投入する例として説明したが、ジャム以外の原因、例えば、通信状態が不安定となり、印刷が開始されない状態となったことを原因として電源を再投入する場合であっても本発明を適用することができる。
【０１０８】
また、以上の実施例の説明では、プリンタ側の電源が再投入され、パーソナルコンピュータが再度プリンタに対し印刷データを送信する例を示したが、印刷データのヘッダに総ページ数を記録しておき、当該印刷データを受信したプリンタは総ページ数と印刷済みのページを不揮発性記憶装置に記憶しておき、パーソナルコンピュータ側の内部処理にて異常が生じ、印刷データが途中までしか送信されず、アプリケーションの再起動若しくはパーソナルコンピュータの再起動が生じたときなど、パーソナルコンピュータの再起動後にプリンタ側からパーソナルコンピュータに対して印刷途中のジョブ名と未印刷ページを通知する構成としてもよい。
【産業上の利用可能性】
【０１０９】
以上述べたように、本発明は、プリンタ、コピー機、多機能周辺装置（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の印刷装置に広く用いることができる。
【図面の簡単な説明】
【０１１０】
【図１】実施例１の印刷装置の機能ブロック図である。
【図２】実施例１の印刷装置のジョブログテーブルの構成図である。
【図３】実施例１の印刷装置の動作フローチャート図（ａ）である。
【図４】実施例１の印刷装置の動作フローチャート図（ｂ）である。
【図５】実施例２の印刷装置の機能ブロック図である。
【図６】実施例２の印刷装置のジョブログテーブルの構成図である。
【図７】実施例２の印刷装置のデータ生成部の動作フローチャート図である。
【図８】実施例２の印刷装置のパーソナルコンピュータ側の動作フローチャート図（ａ）である。
【図９】実施例２の印刷装置のパーソナルコンピュータ側の動作フローチャート図（ｂ）である。
【図１０】実施例２の印刷装置のジョブログ問合せ部の動作フローチャート図である。
【符号の説明】
【０１１１】
１００、４００Ａ、４００Ｂ  パーソナルコンピュータ
３００    プリンタ
３０１    受信部
３０３    印刷ジョブ判断部
３０４、４０５    印刷完了判断部
３０５    印刷制御部
３０６    印刷未完ページ判断部
３０８    印刷範囲記憶部
３１１、４１１    ジョブログテーブル
３３０    ジョブログ問合せ部
４０４    送信部
【図１】
2010131949.tif 000003
【図２】
2010131949.tif 000004
【図３】
2010131949.tif 000005
【図４】
2010131949.tif 000006
【図５】
2010131949.tif 000007
【図６】
2010131949.tif 000008
【図７】
2010131949.tif 000009
【図８】
2010131949.tif 000010
【図９】
2010131949.tif 000011
【図１０】
2010131949.tif 000012