(57)【要約】【課題】  印刷装置とクライアントＰＣとがネットワークにより接続されたネットワーク印刷システムにおいて、印刷中に印刷装置の電源がオフになった場合であっても、自動的に印刷途中のページから印刷を再開することのできる印刷制御装置を提供することを課題とする。【解決手段】  クライアントＰＣ１は、印刷データに双方向通信開始コマンドを付加して印刷装置２に送信する。印刷装置２は各ページを印刷して排出する毎にページ完了通知をクライアントＰＣ１に送る。クライアントＰＣ１は、印刷途中で印刷装置２の電源がＯＦＦとなり、再びＯＮとなったら、印刷開始ページに関する情報を印刷データに付加して自動的に印刷装置２に再送する。印刷装置２は印刷開始ページに関する情報に基づいて、残りのページのみ印刷する。【選択図】  図６
2006031677.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置の動作を制御する印刷制御装置であって、
印刷データに双方向通信開始コマンドを付加する双方向通信開始コマンド付加部と、
送信した印刷データを保存する印刷データ保存部と、
前記印刷装置から送信される印刷済みページを示す情報を受信するページ情報受信部と
を有することを特徴とする印刷制御装置。
【請求項２】
請求項１記載の印刷制御装置であって、
印刷を開始するページを示すページ情報を印刷データに付加する印刷開始ページ付加部を有することを特徴とする印刷制御装置。
【請求項３】
請求項２記載の印刷制御装置であって、
前記印刷装置の電源の遮断を監視する機器監視部を更に有し、前記印刷装置の電源の遮断が検出された後に前記印刷装置との通信が復帰した際に、印刷データに前記ページ情報を付加して前記印刷装置に再度送信することを特徴とする印刷制御装置。
【請求項４】
請求項２記載の印刷制御装置であって、
印刷する部数に関する部数情報を生成する部数情報更新部を有し、前記印刷開始ページ付加部は前記ページ情報と該部数情報とを印刷データに付加することを特徴とする印刷制御装置。
【請求項５】
請求項２記載の印刷制御装置であって、
前記印刷装置の電源の遮断を監視する機器監視部を更に有し、前記印刷装置の電源の遮断が検出された後に前記印刷装置との通信が復帰した際に、印刷データに前記ページ情報及び前記部数情報を付加して前記印刷装置に再度送信することを特徴とする印刷制御装置。  
【請求項６】
受信した印刷データに基づいて印刷を行う印刷装置であって、
受信した印刷データに含まれる、印刷を開始するページを示すページ情報に基づいて印刷を開始することを特徴とする印刷装置。
【請求項７】
請求項６記載の印刷装置であって、
前記印刷を開始するページより前のページの印刷を行わず、前記印刷を開始するページから印刷を開始することを特徴とする印刷装置。
【請求項８】
請求項６記載の印刷装置であって、
受信した印刷データに含まれる、印刷する部数を示す部数情報に基づいて印刷を開始することを特徴とする印刷装置。
【請求項９】
請求項１記載の印刷制御装置と、請求項６記載の印刷装置とをネットワークで接続したことを特徴とする印刷ネットワークシステム。
【請求項１０】
受信した印刷データに基づいて印刷を行う印刷装置の印刷制御方法であって、
印刷データに双方向通信開始コマンドを付加して前記印刷装置に送信し、
各ページの印刷が終了する毎に、前記印刷装置からページ完了通知を送信し、
印刷の途中で前記印刷装置の電源が遮断されてから再び電源が投入された後、前記印刷データに印刷開始ページを示すページ情報を付加して、前記印刷装置に再送し、
該ページ情報に基づいて残りの印刷を行う
ことを特徴とする印刷制御方法。
【請求項１１】
請求項１０記載の印刷制御方法であって、
前記再送する段階において、残りの印刷部数を示す情報を付加することを特徴とする印刷制御方法。
【請求項１２】
請求項１０記載の印刷制御方法をコンピュータに行わせる印刷制御プログラム。
【請求項１３】
請求項１０記載の印刷制御方法をコンピュータに行わせる印刷制御プログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御技術に係わり、さらに詳しくは、ネットワークにより接続された印刷制御装置及び印刷装置に関する。
【背景技術】
【０００２】
従来、ネットワークを介して端末装置から送信した印刷データを印刷装置により印刷するネットワーク印刷システムがある。ネットワーク印刷システムとして、印刷装置側で印刷データを蓄積するための手段と、印刷したページ数を管理する手段とを設け、印刷装置に障害が発生した場合、印刷装置側でエラーリカバリーを行うシステムがある（例えば、特許文献１、２参照。）。このようなシステムでは、印刷装置に紙詰まりなどの障害が発生した場合に、その障害を取り除くために電源をＯＦＦにしないで印刷装置が印刷データを保持し、障害解除後自動的に保存していた印刷データを用いて続きの印刷を行う。
【０００３】
また、印刷装置でエラーが発生した場合、印刷制御装置内で管理しているページ情報をもとに、印刷要求元に対してエラー発生時の情報を通知するシステムが提案されている（例えば、特許文献３参照。）。印刷要求元では、印刷データをページ単位で管理しており、印刷が完了していないページからデータを再送することにより、印刷途中から再開するいわゆるエラーリカバリーを行う。
【特許文献１】特開平９−１１４６１８号公報
【特許文献２】特開平２−２１７２８１号公報
【特許文献３】特開２０００−０２０２７３公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１、２に開示されている印刷システムにおいて、印刷装置に障害が発生した場合、ユーザによっては、障害を取り除く作業を行うために印刷装置の電源をＯＦＦしてしまうことがある。あるいは、印刷装置の障害を取り除く作業を行う際に、電源をＯＦＦすることが作業手順で義務付けられている場合もある。印刷途中で電源をＯＦＦした場合、従来の印刷システムでは印刷途中の印刷データは保存されずに失われてしまう。この場合、障害を取り除いた後に印刷装置の電源をＯＮしても、印刷途中の印刷データは失われているので、印刷途中から印刷を再開することはできない、すなわち自動的にリカバリーすることができないという問題がある。
【０００５】
特許文献３に開示されている印刷システムでは、印刷装置内に印刷データを保存するための記憶手段を設ける必要はないが、印刷要求元（端末装置）は、印刷データをページ単位で管理する必要がある。また、印刷要求元（端末装置）は、印刷が完了していないページのデータを新たに作成して再度印刷装置に送信する必要がある。
【０００６】
また、ネットワーク内に印刷要求元（端末装置）が複数存在していた場合、残りのページの印刷を指示する前に、先に他の印刷要求元（端末装置）からの印刷指示が行われる可能性がある。
【０００７】
本発明は、かかる課題に鑑みなされたものであり、印刷装置と端末装置とがネットワークにより接続されたネットワーク印刷システムにおいて、印刷中に何らかの理由で印刷装置の電源をオフにした場合であっても、再び電源がＯＮとなった際に自動的に印刷途中のページから印刷を再開する印刷制御装置及び印刷装置、並びにそのような印刷制御装置と印刷装置を含む印刷ネットワークシステムを提供することを目的とする。  
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、本発明によれば、印刷装置の動作を制御する印刷制御装置であって、印刷データに双方向通信開始コマンドを付加する双方向通信開始コマンド付加部と、送信した印刷データを保存する印刷データ保存部と、前記印刷装置から送信される印刷済みページを示す情報を受信するページ情報受信部とを有することを特徴とする印刷制御装置が提供される。
【０００９】
上述の印刷制御装置において、印刷を開始するページを示すページ情報を印刷データに付加する印刷開始ページ付加部を有することが好ましい。また、上述の印刷制御装置は、前記印刷装置の電源の遮断を監視する機器監視部を更に有し、前記印刷装置の電源の遮断が検出された後に前記印刷装置との通信が復帰した際に、印刷データに前記ページ情報を付加して前記印刷装置に再度送信することとしてもよい。
【００１０】
上述の印刷制御装置は、印刷する部数に関する部数情報を生成する部数情報更新部を有し、前記印刷開始ページ付加部は前記ページ情報と該部数情報とを印刷データに付加することとしてもよい。また、上述の印刷制御装置は、前記印刷装置の電源の遮断を監視する機器監視部を更に有し、前記印刷装置の電源の遮断が検出された後に前記印刷装置との通信が復帰した際に、印刷データに前記ページ情報及び前記部数情報を付加して前記印刷装置に再度送信することとしてもよい。
【００１１】
また、本発明によれば、受信した印刷データに基づいて印刷を行う印刷装置であって、  受信した印刷データに含まれる、印刷を開始するページを示すページ情報に基づいて印刷を開始することを特徴とする印刷装置が提供される。
【００１２】
上述の印刷装置は、前記印刷を開始するページより前のページの印刷を行わず、前記印刷を開始するページから印刷を開始することが好ましい。また、受信した印刷データに含まれる、印刷する部数を示す部数情報に基づいて印刷を開始することとしてもよい。
【００１３】
また、本発明によれば、上述の印刷制御装置と、上述の印刷装置とをネットワークで接続したことを特徴とする印刷ネットワークシステムが提供される。
【００１４】
さらに、本発明によれば、受信した印刷データに基づいて印刷を行う印刷装置の印刷制御方法であって、印刷データに双方向通信開始コマンドを付加して前記印刷装置に送信し、  各ページの印刷が終了する毎に、前記印刷装置からページ完了通知を送信し、印刷の途中で前記印刷装置の電源が遮断されてから再び電源が投入された後、前記印刷データに印刷開始ページを示すページ情報を付加して、前記印刷装置に再送し、該ページ情報に基づいて残りの印刷を行うことを特徴とする印刷制御方法が提供される。
【００１５】
上述の印刷制御方法において、前記再送する段階において、残りの印刷部数を示す情報を付加することとしてもよい。
【００１６】
また、本発明によれば、上述の印刷制御方法をコンピュータに行わせる印刷制御プログラムが提供される。更に、本発明によれば、上述の印刷制御方法をコンピュータに行わせる印刷制御プログラムを格納した記録媒体が提供される。
【発明の効果】
【００１７】
本発明によれば、印刷途中で印刷装置の電源が遮断され、再び印刷装置の電源が投入された場合でも、印刷制御装置から再度印刷データが自動的に送信される。加えて、再送された印刷データには印刷開始ページに関するページ情報が付加されているので、印刷されなかった残りのページのみの印刷を自動的に再開することができる。
【００１８】
また、再送された印刷データに印刷開始部数及び印刷開始ページに関する情報を付加した場合、印刷されなかった残りのページ及び部数のみの印刷を自動的に再開することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図を参照しながら詳細に説明する。
【００２０】
図１は本発明の一実施形態によるネットワーク印刷システムの構成を示す図である。このネットワーク印刷システム１００は、端末装置１と、複数の印刷装置２ａ，２ｂ，．．．（以総称して印刷装置２と称する）と、これらを接続するネットワーク３とを含む。端末装置１はパーソナルコンピュータ（ＰＣ）やサーバ装置であり、印刷装置２に対して印刷要求を発行して印刷データを送信する。また、端末装置１は印刷装置２による印刷処理を制御することもでき、印刷制御装置として機能する。以下、端末装置１をクライアントＰＣ１と称する。
【００２１】
印刷装置２はプリンタやプリント機能を有するコピー機、ファクシミリ装置等であり、ネットワーク３によりクライアントＰＣ１に接続されている。印刷装置２は、クライアントＰＣ１から発行された印刷要求を受付け、クライアントＰＣ１から送信された印刷データを印刷する。
【００２２】
図２はクライアントＰＣ１の機能の一部を示すブロック図である。クライアントＰＣ１は、ソフトウェアとしてアプリケーション４を有する。アプリケーション４は、印刷処理を行うときに、グラフィカルユーザインタフェース（ＧＵＩ）５を介して、プリンタドライバ６に印刷データを作成させる。作成された印刷データは、ＧＵＩ５を介してスプーラ７に送られて一時的に格納される。スプーラ７は印刷ジョブの管理を行う印刷用モジュールである。なお、アプリケーション４、ＧＵＩ５及びスプーラ７は、例えばＷｉｎｄｏｗｓ（登録商標）のようなオペレーションシステム（ＯＳ）上で動作するソフトウェアである。
【００２３】
クライアントＰＣ１は、ポートモニタ８を介してネットワーク３に接続され、ネットワーク３を通じて印刷装置２に接続されている。したがって、スプーラ７に格納された印刷データは、ポートモニタ８に送られ、ポートモニタ８からネットワーク３に送出される。
【００２４】
以下、本発明の実施例について詳細に説明する。
（第１実施例）
本発明の第１実施例では、複数ページの文書の印刷中に印刷装置２の電源がＯＦＦとなり再びＯＮとなった際に、自動的に残りのページの印刷を開始する。
【００２５】
図３は、第１実施例によるクライアントＰＣ１に設けられたポートモニタ８の機能ブロック図である。
【００２６】
ポートモニタ８は、ワードプロセッサなどのアプリケーションからの印刷要求を受け付ける印刷要求受付部１１と、印刷データを送信するデータ送信部１２と、印刷データを保存して加工を施す印刷データ生成部１３と、印刷装置２からのジョブの進捗状況を管理するジョブ状態管理部１４と、印刷装置２の運転状態を監視する機器監視部１５とを有する。
【００２７】
印刷データ生成部１３は、印刷装置２に送信した印刷データを保存する印刷データ保存部１３ａと、印刷データに双方向通信開始コマンドを付加するコマンド付加部１３ｂと、印刷開始ページに関する情報を印刷データに付加するページ付加部１３ｃとを含む。
【００２８】
ジョブ状態管理部１４は、ページ排出完了通知（ページ情報）を受信するページ情報受信部１４ａと、受信したページ情報を解析するページ情報解析部１４ｂと、解析結果に基づいたページ情報（ジョブの進捗情報）を保存するページ情報保持部１４ｃとを含む。
【００２９】
図４は、第１実施例による印刷装置２に設けられたメイン制御部２０の機能ブロック図である。メイン制御部２０は、ネットワーク３とのインターフェースを司るネットワークＩ／Ｆ部２１と、印刷を制御する印刷制御部２２と、エンジンの制御を行うエンジン制御部２３とを有する。印刷制御部２２は、受信した印刷データ（ＰＪＬ／ＰＤＬ）を解釈するＰＤＬ解釈部２２ａと、その解釈結果に基づき印刷データをイメージに展開する印刷イメージ生成部２２ｂと、１ページ分の印刷イメージが作成できたらエンジン制御部２３に対し印刷指示を行う印刷指示部２２ｃと、エンジン制御部２３で用紙排出が検出されるとクライアントＰＣ１に送るページ排出完了情報（ページ情報）を作成するページ情報生成部２２ｄと、生成したページ情報を通知するページ情報通知部２２ｅとを含む。
【００３０】
図５は第１実施例によるクライアントＰＣ１が実行する印刷制御方法の動作を示すフローチャートである。まずクライアントＰＣ１でワードプロセッサなどのアプリケーション４からの印刷要求を印刷要求受付部１１で受け付けると、データ送信部１２は印刷装置２に対し印刷データを送信するための接続要求を行い、接続許可が得られたか否かを判定する（ステップＳ１）。印刷装置２がその接続要求に対して接続を許可すると（ステップＳ１のＹｅｓ）、データ送信部１２は、スプーラ７からの印刷データにコマンド付加部１３ｂにより双方向通信開始コマンドを付加して印刷装置２に送信する（ステップＳ２）。このとき、ページ情報保持部１４ｃのページ情報は初期化されてゼロに設定される。その後、次のイベントを待つイベント待ち状態となる（ステップＳ３）。このとき、印刷データに付加された双方向通信開始コマンドに基づいて、印刷装置２とクライアントＰＣ１との間での双方向通信が可能となる。
【００３１】
次に、イベント待ち状態において、印刷装置２の電源がＯＦＦになったか否かを判定する。ここで、印刷装置２の電源がＯＦＦになったか否かは、印刷装置２との通信が遮断されたか否かを検出することにより判断する。すなわち、印刷装置２の電源がＯＦＦとなれば、通信も遮断されるからである。
【００３２】
ステップＳ４において電源ＯＦＦとなったと判定されると（ステップＳ４のＹｅｓ）、ジョブ状態管理部１５のページ情報保持部１５で保持されていたページ情報に基づいて、印刷開始ページ付加部１３ｃにおいて印刷データに印刷開始ページ情報を付加する（ステップＳ５）。その後、ルーチンはステップＳ１に戻り、接続要求を行って、接続許可が得られたか否かを判定する。ステップＳ１の処理は接続許可が得られるまで一定時間ごとに繰り返し行われる。
【００３３】
一方、ステップＳ４で電源がＯＦＦでないと判定されると（ステップＳ４のＮｏ）、印刷装置２からページ排出通知が受信されたか否かを判定する（ステップＳ６）。ページ排出通知が受信されると（ステップＳ６のＹｅｓ）、ページ排出完了通知（ページ情報）をページ情報解析部１４ｂにて解析し、印刷装置２において排出完了したページ数を取得する（ステップＳ７）。そして、取得したページ数を新たなページ数としてページ情報保持部１４ｃで保持し（ステップＳ８）、ルーチンはステップＳ３に戻る。
【００３４】
ステップＳ６でページ排出通知を受信していないと判定されると（ステップＳ６のＮｏ）、ジョブ終了か否かを判定する（ステップＳ９）。ジョブ終了と判定されると（ステップＳ９のＹＥＳ）、今回の処理を終了し、ジョブ終了でなければ（ステップＳ９のＮｏ）、ステップＳ３に戻る。
【００３５】
なお、上述の処理において、ページカウンタを用いてページ数を保持することとしてもよい。すなわち、最初に印刷データを送信する際に（図５のステップＳ２）、ページカウンタを初期化しておき、印刷装置２からページ排出通知を受信する毎に（図５のステップＳ６のＹｅｓ）、ページカウンタをインクレメントする（図５のステップＳ８）。これにより、ページカウンタの値を印刷完了したページ数として用いることができる。
【００３６】
図６は第１実施例による印刷システムにおいて行われる印刷リカバリー動作の一例のシーケンス図である。この例では、３ページの文書の印刷を行う場合に、２ページ目まで排出完了した時点でエラーが発生し、印刷装置２の電源がＯＦＦの状態になったものとしている。尚、図６は、クライアントＰＣ１のポートモニタ８、印刷装置２の印刷制御部２２、エンジン制御部２３との間のシーケンス動作図である。
【００３７】
まずクライアントＰＣ１のポートモニタ８から印刷装置２の印刷制御部２２に対し接続要求が送られる（ステップＳ４０）。これに応答して印刷制御部２２から接続許可がクライアントＰＣ１に送られる（ステップＳ４１）。接続許可を受け取ると、クライアントＰＣ１は、ポートモニタ８を介して印刷データを印刷装置２に送信する（ステップＳ４２）。ここで、印刷装置２に送信される印刷データには、コマンド付加部１３ｂにより双方向通信開始コマンドが付加されている。これにより、印刷装置２はクライアントＰＣ１との双方向通信を設定する。そして、印刷データを受け取った印刷装置２の印刷制御部２２は、クライアントＰＣ１に対してジョブ開始通知を送信する（ステップＳ４３）。
【００３８】
そして印刷制御部２２からエンジン制御部２３に対して１ページ目の印刷開始指示が送られる（ステップＳ４４）。１ページ目が印刷されて排出されるとエンジン制御部２３から印刷制御部２２に対して１ページ目の排出通知が送られる（ステップＳ４５）。それにより印刷制御部２２はクライアントＰＣ１のポートモニタ８に対してページ１完了通知を送る（ステップＳ４６）。
【００３９】
同様に、印刷制御部２２からエンジン制御部２３に対して２ページ目の印刷開始指示が送られる（ステップＳ４７）。２ページ目が印刷されて排出されるとエンジン制御部２３から印刷制御部２２に対して２ページ目の排出通知が送られる（ステップＳ４８）。それにより印刷制御部２２はクライアントＰＣ１のポートモニタ８に対してページ２完了通知を送る（ステップＳ４９）。
【００４０】
ここで、２ページ目の排出完了後にエラーが発生し、印刷装置２の電源がＯＦＦとなる。その結果、印刷装置２との通信が断となり、クライアントＰＣ１は印刷装置２の電源がＯＦＦになったと判定する。電源ＯＦＦを検出すると、クライアントＰＣ１は接続要求を再度行う（ステップＳ５１）。この接続要求は、印刷装置２から接続許可が送られてくるまで、一定時間毎に繰り返し行なわれる。すなわち、印刷装置２の電源が再びONとなってクライアントＰＣ１と通信可能となり、接続許可が送られてくるまで接続要求の送信が続けられる。
【００４１】
印刷装置２の電源が再びONとなって接続許可が送られてきたら（ステップＳ５２）、クライアンＰＣ１のポートモニタ８は、印刷データ保存部１３ａに保存されている印刷データ（最初に印刷装置２に送った印刷データと同じ）に、開始ページ情報として、それまでに完了したページ数に１を加えたページ番号を付加し、印刷データを印刷装置２に対して送信する（ステップＳ５３）。印刷装置２は、ジョブ開始通知をクライアントＰＣ１に送る（ステップＳ５４）。そして、印刷装置２は、受信した印刷データ中に印刷開始ページ番号が含まれていた場合、開始指定ページ番号より前のページのデータの印刷処理を行わず、開始指定ページ番号から印刷を行う。この例では、開始指定ページ番号として“３”が印刷データに含まれており、印刷装置２の印刷制御部２２は、１ページ目と２ページ目の印刷を行わずにスキップし、３ページ目の印刷を行うようにエンジン制御部２３に指示する（ステップＳ５５）。そして、３ページ目の印刷が完了して３ページ目が排出されたら、エンジン制御部２３は印刷制御部２２に排出通知を送る（ステップＳ５６）。次に、印刷制御部２２はクライアントＰＣ１に対してページ３完了通知を送る（ステップＳ５７）。
【００４２】
ところで、スプーラ７からポートモニタ８に送られる印刷データは、例えば図７に示すような構造を有している。すなわち、印刷データは、ＰＪＬ（プリンタ・ジョブ・ランゲージ）で記述された印刷ジョブ制御コード３０とＰＤＬ（ページ・デスクリプション・ランゲージ）で記述された印刷制御コード３１を含んでいる。印刷制御コード３１は機器に依存している場合が多く、よって印刷制御コード３１を用いてページの区切りを検出するには、解析が複雑になる。これに対して、印刷ジョブ制御コード３０は多くのプリンタに対して共通の仕様で記述されており、印刷ジョブ制御コード３０のＰＪＬの開始コマンドから印刷制御コード３１の開始までの間に印刷開始ページを指定するコマンドを追加するだけで、印刷開始ページ番号を指定することができる。
【００４３】
図８は、上述のステップＳ４２において印刷装置に送られる印刷データを示す図である。印刷ジョブ制御コード３０の中に太字で示すように、双方向通信開始コマンド「＠ＰＪＬ（双方向通信開始コマンド）」が記述されている。このコマンドは図３に示すポートモニタ８の双方向通信コマンド付加部１３ｂにより、印刷データに付加されたコマンドである。
【００４４】
図９は、上述のステップＳ５３において印刷装置２に送られる印刷データを示す図であり、印刷ジョブ制御コード３０の中に「＠ＰＪＬ  ＳＥＴ（印刷開始ページ）＝３」というコマンドが付加されている。このコマンドは、図３に示すポートモニタ８の印刷開始ページ付加部１３ｃにより付加される。印刷装置２の印刷制御部２２は、このコマンドに基づいて、３ページ目から印刷開始することを認識する。ここで、実際の印刷データが格納された印刷制御コード３１は、最初に送信された印刷データと同じであり、全ページ分のデータを含んでいる。したがって、印刷制御コード３１に基づいてそのまま印刷すると１ページ目及び２ページ目も印刷されてしまう。そこで、印刷装置２の印刷制御部２２は、印刷ジョブ制御コード３０の中に含まれた（印刷開始ページ）＝３というコマンドに基づいて、１ページ目と２ページ目の印刷を行わずにスキップし、３ページ目からの印刷を行うようエンジン制御部２３に指示する。
【００４５】
このように、多くのプリンタに共通の印刷ジョブ制御コード３０にだけコマンドを付加し、印刷制御コード３１には変更を加えないで再送することで、印刷装置２に複雑なソフトウェアを組み込むことなく、簡単な構成で残りのページのみの印刷を再開することができる。
【００４６】
以上のように、本実施例によれば、印刷途中でプリンタの電源がＯＦＦとなり、再びプリンタの電源がＯＮとなった場合でも、印刷制御装置として機能するクライアントＰＣ１から再度印刷データが自動的に送信される。加えて、再送された印刷データには印刷開始ページに関する情報が付加されているので、印刷されなかった残りのページのみの印刷を自動的に再開することができる。
（第２実施例）
本発明の第２実施例では、複数ページよりなる文書を複数部印刷する途中で印刷装置の電源がＯＦＦとなり再びＯＮとなった際に、自動的に残りのページの印刷を開始する。
【００４７】
図１０は第２実施例によるクライアントＰＣ１に設けられたポートモニタ８の機能ブロック図である。図１０に示すポートモニタ８は基本的に図３に示すポートモニタ８と同じ構成であるが、以下の点が異なる。印刷データ生成部１３は、再送する際に付加する部数情報を生成するための部数情報更新部１３ｄを更に有する。ジョブ状態管理部１４は、ページ情報受信部１４ａ、ページ情報解析部１４ｂ及びページ情報保持部１４ｃの代わりに、ジョブ進捗情報受信部１４ｄ、ページ情報解析／保持部１４ｅ及び部数情報解析／保持部１４ｆを有する。また、図８に示すポートモニタ８は、印刷アプリケーションから最初に指定された部数を解析するためのＰＪＬ解析部２４を更に有する。ＰＪＬ解析部２４は、印刷データから部数情報を取得する部数情報取得部２４ａを有する。
【００４８】
図１１は、第２実施例による印刷装置２の機能ブロック図である。図１１に示す印刷装置２と図４に示す印刷装置２との相違点は、図９に示す印刷装置２のＰＤＬ解釈部２２ａが、１部のページ数検出部２２ｆを有することである。１部のページ数検出部２２ｆは、クライアントＰＣ１で部数を検出できるようなページ排出完了情報を生成するために１部あたりのページ数を検出する。
【００４９】
複数部数印刷の場合、印刷装置２からクライアントＰＣ１に対してページが排出される毎に、たとえば以下のようなページ情報が通知される。即ち、Ｐａｇｅ１、Ｐａｇｅ２、Ｐａｇｅ３、Ｐａｇｅ１（＊１）、Ｐａｇｅ２・・・。複数部数印刷の場合、クライアントＰＣ１は、Ｐａｇｅ１が２度目に通知された時点（上記の＊１）で、その前までに排出完了したページ数が１部あたりのページ数であることを検出できる。１部あたりのページ数が検出されたら、その後ページ排出完了通知を受信する１部あたりのページ数に達したかどうかをチェックする。これにより、排出完了したページ数や部数に関するジョブ進捗情報が更新できる。
【００５０】
３ページよりなる文書を５部印刷中に、３部目の２ページ目を排出完了した後にエラーが発生し電源断となったと仮定する。この場合、残りの印刷は、３部目の３ページ目からであり、印刷再開の情報として、『開始ページ＝３からの印刷を１部、開始ページ＝１からの印刷を２部』であること示すデータが印刷ジョブ制御コード３０に付加される。
【００５１】
印刷開始の部数番号とページ番号指定するには以下の方法が考えられる。
【００５２】
例えば、図１２に示すように、印刷開始のページ番号と部数番号とを指定するデータと、残りの部数を指定するデータとを印刷ジョブ制御コード３０に付加する。図１２において、「＠ＰＪＬ  ＳＥＴ  （開始ページ指定）＝３：１」は３ページ目から始めて一部印刷することを指定しており、「＠ＰＪＬ  ＳＥＴ  （開始ページ指定）＝１：２」は１ページ目から始めて２部を印刷することを指定している。
【００５３】
また、図１３に示すように、印刷を２度に分けて指定することもできる。最初の印刷データにおいて、「＠ＰＪＬ  ＳＥＴ  （開始ページ指定）＝３、＠ＰＪＬ  ＳＥＴ  （印刷部数指定）＝１」は３ページ目から１部だけ印刷開始することを指定している。したがって、この指定に基づき、続きの印刷コードデータ用いて印刷を行う。この場合、１ページ目と２ページ目をスキップし、３ページ目から初めて１部の印刷だけが行われる。
【００５４】
図１３に示す例では、最初の印刷制御コードに続いて、２回目の印刷ジョブ制御コード３１が設けられている。２回目の印刷ジョブ制御コード３１には、「＠ＰＪＬ  ＳＥＴ  （開始ページ指定）＝１、＠ＰＪＬ  ＳＥＴ（印刷部数指定）＝２」が付加されている。したがって、１ページ目から初めて２部印刷することが指定される。この指定に基づいて、２回目の印刷ジョブ制御コードに続いて供給される印刷制御コード３０を用いて残りの２部の印刷が行われる。
【００５５】
図１２に示す例のように１度で指定する場合、印刷データのサイズは、図１３に示す例のように２度に分けて指定する場合の約半分であるが、印刷装置での処理が多少複雑になるおそれがある。一方、２度に分けて指定する場合は、印刷データのサイズは大きくなるものの、第１実施例と同じ機能と複数部数の処理を単純に組み合わせているだけなので、印刷装置の処理も単純である。
【００５６】
なお、本発明は上述の例に限ることなく、印刷開始位置がわかるようなページ情報および部数情報を付加することができれば、任意の指定方法とすることができる。
【００５７】
図１４は第２実施例によるクライアントＰＣ１における、ジョブ進捗状況解析動作を示すフローチャートである。印刷が開始されると、まずページ数、部数情報を初期化するために、ページ数＝０、１部のページ数＝０、全部数＝ｎ、印刷済み部数＝０をセットする（ステップＳ１１）。そして印刷装置２からページ排出完了通知を受信し（ステップＳ１２）、受信したページ排出完了通知が２回目のＰａｇｅ１か否かを判定する（ステップＳ１３）。受信したページ排出完了通知が２回目のＰａｇｅ１でなければ（ステップＳ１３のＮｏ）、ページ数をインクリメントして  ページ数を更新する（ステップＳ１４）。そして、印刷が完了したか否かを判定する（ステップＳ１５）。印刷が完了していれば（ステップＳ１５のＹｅｓ）今回のルーチンは終了し、印刷が完了していなければ（ステップＳ１５のＮｏ）ルーチンはステップＳ１２に戻る。
【００５８】
一方、ステップＳ１３で２回目のＰａｇｅ１であると判定された場合、１部のページ数＝ページ数、ページ数＝１とし、印刷済み部数をインクリメンしてページ数、部数を更新する（ステップＳ１６）。そして、ページ排出完了通知を受信したら（ステップＳ１７）、ページ数＝１部のページ数か否かを判定する（ステップＳ１８）。ページ数＝１部のページ数でなければ（ステップＳ１８のＮｏ）、ページ数をインクリメントしてページ数を更新する（ステップＳ１９）。そして、印刷が完了したか否かを判定する（ステップＳ２０）。印刷が完了していれば（ステップＳ２０のＹｅｓ）今回のルーチンは終了し、印刷が完了していなければ（ステップＳ２０のＮｏ）ルーチンはステップＳ１７に戻る。
【００５９】
一方、ステップＳ１８でページ数が１部のページ数と等しいと判定されると（ステップＳ１８のＹｅｓ）、ページ数＝１とし、印刷済み部数をインクリメントしてページ数と部数を更新し（ステップＳ２１）、その後ステップＳ２０に進む。
【００６０】
図１５は第２実施例による印刷システムにおいて行われる印刷リカバリー動作の一例のシーケンス図である。図１５に示すシーケンスは、クライアントＰＣ１のポートモニタ８、印刷装置２の印刷制御部２２、エンジン制御部２３との間でのコマンド及びデータのやりとりや動作を示している。なお、図１５に示すシーケンスは図６に示すシーケンスと同様であり、図６に示すシーケンスの説明を参照すれば明らかなため各ステップについての詳細な説明は省略する。
【００６１】
図１５に示す例では、３ページの文書を３部印刷する場合に、３部目の２ページ目まで排出が完了した時点でエラーが発生し、印刷装置２の電源がＯＦＦの状態になったものとしている。印刷装置２の電源が復帰すると、クライアントＰＣ１と印刷装置との間の通信が自動的に再開される。そして、クライアントＰＣ１は、残りのページ（この例の場合、３部目の３ページ目）を印刷するための印刷データを印刷装置２に送る。なお、このときに送る印刷データにも双方向通信開始コマンドが付加されており、クライアントＰＣ1と印刷装置２との間の双方向通信が開始される。印刷装置２は、印刷データに付加された残りのページを指定するコマンドに基づいて、残りのページのみを印刷して、完了通知をクライアントＰＣ１に送る。
【００６２】
上述のように、本実施例によれば、印刷途中でプリンタの電源がＯＦＦとなり、再びプリンタの電源がＯＮとなった場合でも、印刷制御装置として機能するクライアントＰＣ１から再度印刷データが自動的に送信される。加えて、再送された印刷データには印刷開始部数及び印刷開始ページに関する情報が付加されているので、印刷されなかった残りのページ及び部数のみの印刷を自動的に再開することができる。
【００６３】
なお、上述の印刷制御方法は、印刷制御プログラムとして記述され、印刷制御装置として機能するクライアントＰＣにより実行することができる。また、そのような印刷制御プログラムは、図１に示すようにＣＤ−ＲＯＭのようなコンピュータ読み取り可能な記録媒体に格納され、印刷制御装置であるクライアントＰＣが記録媒体を読み取って印刷制御プログラムを実行することができる。
【図面の簡単な説明】
【００６４】
【図１】図１は本発明の一実施形態によるネットワーク印刷システムの構成を示す図である。
【図２】クライアントＰＣの機能の一部を示すブロック図である。
【図３】本発明の第１実施例によるクライアントＰＣに設けられたポートモニタの機能ブロック図である。
【図４】本発明の第１実施例による印刷装置に設けられたメイン制御部の機能ブロック図である。
【図５】本発明の第１実施によるクライアントＰＣが実行する印刷制御方法の動作を示すフローチャートである。
【図６】本発明の第１実施例による印刷システムにおいて行われる印刷リカバリー動作の一例のシーケンス図である。
【図７】印刷データの構造を示す図である。
【図８】双方向通信開始コマンドが付加された印刷データの内容を示す図である。
【図９】開始ページ指定コマンドが付加された印刷データの内容を示す図である。
【図１０】本発明の第２実施例によるクライアントＰＣに設けられたポートモニタの機能ブロック図である。
【図１１】本発明の第２実施例による印刷装置の機能ブロック図である。
【図１２】複数部数印刷の際に再送する印刷データの一例の内容を示す図である。
【図１３】複数部数印刷の際に再送する印刷データの他の例の内容を示す図である。
【図１４】本発明の第２実施例によるクライアントＰＣにおける、ジョブ進捗状況解析動作を示すフローチャートである。
【図１５】本発明の第２実施例による印刷システムにおいて行われる印刷リカバリー動作の一例のシーケンス図である。
【符号の説明】
【００６５】
１  クライアントＰＣ
２  印刷装置
３  ネットワーク
４  アプリケーション
５  グラフィックユーザインタフェース
６  プリンタドライバ
７  スプーラ
８  ポートモニタ
１１  印刷要求受付部、
１２  データ送信部
１３  印刷データ生成部
１４  ジョブ状態管理部
１５  機器監視部
２０  メイン制御部
２１  ネットワークＩ／Ｆ部
２２  印刷制御部
２３  エンジン制御部
【図１】
2006031677.tif 000003
【図２】
2006031677.tif 000004
【図３】
2006031677.tif 000005
【図４】
2006031677.tif 000006
【図５】
2006031677.tif 000007
【図６】
2006031677.tif 000008
【図７】
2006031677.tif 000009
【図８】
2006031677.tif 000010
【図９】
2006031677.tif 000011
【図１０】
2006031677.tif 000012
【図１１】
2006031677.tif 000013
【図１２】
2006031677.tif 000014
【図１３】
2006031677.tif 000015
【図１４】
2006031677.tif 000016
【図１５】
2006031677.tif 000017