(57)【要約】【課題】従来のページプリンタ、シリアルプリンタ及びラインプリンタ等の印刷装置に変更を加えることなく、かつ印刷中断要因が何ページ目の印刷実行中に発生したかを監視する必要なく、印刷中断要因から復帰後に自動的に再印刷を実行する印刷システム及び印刷システムにおける印刷制御方法を提供する。【解決手段】ページ終了情報が付加された１ページ分の印刷データを記憶保持する印刷データ管理部２２は、ＰＯＳプリンタ４がページ終了情報を読み出して送信する終了通知を監視する印刷完了監視部２４が当該終了通知を検知した場合、記憶保持していた１ページ分の印刷データを破棄する。印刷中断監視部２３が印刷処理実行中に中断要因発生を検知し、その後、中断要因が解消された場合、印刷データ管理部２２は、記憶保持している１ページ分の印刷データを最初から再度ＰＯＳプリンタ４へ送信する。【選択図】図４
2008152401.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと、前記ホストコンピュータから送信される印刷データに応じて印刷処理を実行する印刷装置と、を備えた印刷システムにおける印刷制御方法であって、
１ページ分の印刷データの終了を示すページ終了情報を前記印刷データに付加する付加ステップと、
前記ページ終了情報が付加された１ページ分の印刷データを記憶保持する記憶ステップと、
前記ページ終了情報が付加された印刷データを前記印刷装置へ送信する送信ステップと、
前記印刷装置が前記ページ終了情報を読み出すことで前記印刷装置から送信される終了通知を受信する受信ステップと、
前記終了通知を受信した場合に、記憶保持していた前記１ページ分の印刷データを破棄する破棄ステップと、
前記印刷装置による前記１ページの印刷処理の実行中に印刷中断要因が発生したか否かを監視し、前記印刷中断要因が発生した場合に、記憶保持している前記１ページ分の印刷データの初めから前記印刷装置へ再送信する再送信ステップと、を有することを特徴とする印刷システムにおける印刷制御方法。
【請求項２】
前記再送信ステップにおいて、前記印刷データに更新ページ終了情報を付加して前記印刷装置へ送信し、
前記受信ステップにおいて、前記更新ページ終了情報に対応する終了通知を受信した場合に、記憶保持していた前記１ページ分の印刷データを破棄することを特徴とする請求項１に記載の印刷システムにおける印刷制御方法。
【請求項３】
ホストコンピュータと、前記ホストコンピュータから送信される印刷データに応じて印刷処理を実行する印刷装置と、を備えた印刷システムであって、
前記ホストコンピュータは、
１ページ分の印刷データの終了を示すページ終了情報を前記印刷データに付加するページ終了情報付加部と、
前記ページ終了情報が付加された１ページ分の印刷データを記憶保持する印刷データ管理部と、
前記ページ終了情報が付加された印刷データを前記印刷装置へ送信する送信制御部と、
前記印刷装置が前記ページ終了情報を読み出すことで前記印刷装置から送信される終了通知を監視する印刷完了監視部と、
前記１ページの印刷処理の実行中に印刷中断要因が発生したか否かを監視する印刷中断監視部と、を備え、
前記印刷データ管理部は、前記印刷完了監視部が前記終了通知を検知した場合に、記憶保持していた前記１ページ分の印刷データを破棄し、前記印刷中断監視部が前記印刷装置に印刷中断要因が発生したことを検知した場合に、記憶保持している前記１ページ分の印刷データの初めから前記印刷装置へ送信することを特徴とする印刷システム。
【請求項４】
前記送信制御部は、更新ページ終了情報が付加された印刷データを前記印刷装置へ送信し、
前記印刷完了監視部が前記更新ページ終了情報に対応する終了通知を検知した場合に、
前記印刷データ管理部は、記憶保持していた前記１ページ分の印刷データを破棄することを特徴とする請求項３に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータと、ホストコンピュータから送信される印刷データに応じて印刷処理を実行する印刷装置とを備えた印刷システム及び印刷システムにおける印刷制御方法に関する。
【背景技術】
【０００２】
ホストコンピュータと、ホストコンピュータと通信可能に接続され送信された印刷データに応じて印刷処理を実行する印刷装置とを備えた印刷システムが知られている。このような印刷システムにおける印刷装置としては、例えばページ単位で印刷を行うページプリンタ、１文字ずつあるいは１ドットずつ印刷を行うシリアルプリンタ、１行単位で印刷を行うラインプリンタなどが挙げられる。
【０００３】
このうち、ページプリンタでは、ホストコンピュータから送信された印刷データに基づき、１ページ分の印刷イメージをプリンタ内のイメージバッファに展開生成することによって、ページ単位の印刷を可能にしている。一方、シリアルプリンタやラインプリンタでは、ホストコンピュータから所定サイズの印刷データを受信すると、行単位で印字バッファに印刷データを蓄積し、１行分の印刷処理が終了すると印字バッファからデータを破棄するよう構成されているものがある。すなわち、一般的にシリアルプリンタやラインプリンタでは１ページ分の印刷データを保持することがない。
【０００４】
ところで、上記プリンタにおいて印刷処理の実行中に、用紙切れ、紙ジャム、カバーオープン等の印刷処理の実行を中断する中断要因が発生すると、中断要因からの復帰処理として、プリンタ側では既に送信されてイメージバッファや印字バッファに蓄積された印刷データを破棄し、ホストコンピュータでは未送信データを破棄することが行われる場合がある。印刷処理が中断された以降のデータを破棄することによって、復帰後に中途半端な印刷データによる印刷が行われてしまう不具合を解消するためである（特許文献１参照）。
【０００５】
しかし、中断要因が発生すると、イメージバッファや印字バッファに蓄積されていた印刷データをすべて破棄してしまうと、印刷処理が中断された印刷処理を再開するには、オペレータが再びホストコンピュータから中断されたページの印刷処理の実行を指示して、再びバッファに印刷データを蓄積させることから行わなければならない。
【０００６】
そこで、中断要因が発生した場合に、オペレータが再印刷の実行指示を与える必要性をなくすため、プリンタ側の印刷データを破棄せず保持しておき、中断要因から復帰すると中断されたページの途中から自動的に印刷を再開する印刷制御方法が提案されている。具体的な印刷制御方法について図６及び図７を参照して説明する。
【０００７】
ここで説明するホストコンピュータは、複数の印刷要求を受け付けてこれを一時ハードディスクなどに貯え、順次これらをプリンタに送信するスプーラとLanguage Monitor（以下、本明細書において「言語モニタ」と呼ぶ。）を備えた構成となっており、このスプーラとプリンタの間に言語モニタを介在させることによってホストコンピュータとプリンタとで双方向通信が可能となっている。ここでは、ロール紙に印刷を行うロール紙プリンタを例にして説明する。
【０００８】
言語モニタはスプーラから印刷開始通知を受けると（ステップＳ６１）、プリンタに対して状態確認を行いプリンタからの印刷可能応答を待って（ステップＳ６２，ステップＳ６３）、印刷処理の準備が完了したことをスプーラへ通知する（ステップＳ６４）。
【０００９】
スプーラから、１印刷ジョブ分の印刷データのうち１回分の送信データＡが送られると（ステップＳ６５）、言語モニタは１回分の送信データＡを一時的に保持して、再びプリンタの状態確認を行い印刷可能応答を待って（ステップＳ６６，ステップＳ６７）１回分の送信データＡをプリンタへ送信する（ステップＳ６８）。そして、送信を完了すると送信完了サイズをスプーラへ通知する（ステップＳ６９）。一方、１回分の送信データＡを受信したプリンタは、印刷処理を実行する。
【００１０】
スプーラは、言語モニタからの格納サイズ通知に応じて、次の１回分の送信データＢを言語モニタへ渡し（ステップＳ７０）、保持していた１回分の送信データＡを破棄して、新たに受け付けた１回分の送信データＢを保持する。言語モニタは再びプリンタの状態確認を行い印刷可能応答を待って（ステップＳ７１，ステップＳ７２）１回分の送信データＢをプリンタへ送信する（ステップＳ７３）。一方、プリンタでは１回分の送信データＢを受信して、印刷処理を続行する。
【００１１】
ここで、印刷処理を実行していたプリンタにおいて、ロール紙切れが発生すると、プリンタから紙切れ通知が言語モニタへ送られ（ステップＳ７４）、プリンタが印刷可能状態に復帰するまで、保持している１回分の送信データＢの送信にリトライする。プリンタに新しいロール紙が補充され復帰処理が実行されて印刷可能応答が返ってくると（ステップＳ７５）、言語モニタは再び１回分の送信データＢをプリンタへ送信し（ステップＳ７６）、送信を完了すると送信完了サイズをスプーラ１へ通知する（ステップＳ７７）。
【００１２】
このとき、送信データＢを受信したプリンタでは、新しいロール紙の先頭から続きの印刷処理が実行される。すなわち、図７に示すように１ページ目（５０ａ）の印刷データ「１」の印刷中にロール紙切れが発生したとすると、１回分の送信データの途中から（「１」の文字の途中から）新しいロール紙の先頭（５０ｂ）に印刷されることになる。以降、スプーラからは次の１回分の送信データＣが送信され（ステップＳ７８）、プリンタに中断要因が発生しない限り、ステップＳ６６からステップＳ７３の処理を繰り返し実行する。そして、スプーラから印刷終了通知を受けると言語モニタは印刷終了処理を実行し（ステップＳ７９）終了処理完了をスプーラに通知してスプーラは印刷ジョブを削除する。
【００１３】
このほかにも、印刷装置が中断要因から復帰したときに自動的に印刷処理を再開する処理が提案されている。特許文献２には、印刷処理が中断したページ数を監視し、そのページ数に基づき中断したページ以降の印刷データを自動的に再び読み出して印刷装置へ転送するよう構成された再印刷方法が提案されている。
【００１４】
また、特許文献３には、１行毎の印刷データを印刷すると同時に、その１行分の印刷データをバックアップメモリに順次蓄積していき、印刷中断要因が発生した場合にバックアップメモリから中断したページに相当する印刷データを読み出して、自動的に再印刷を実行するよう構成されたシリアルプリンタが記載されている。
【００１５】
【特許文献１】特開２００５−０７７６２号公報
【特許文献２】特開２００２−９１７４０号公報
【特許文献３】特開平１０−２２８３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、図６に示した印刷制御方法では、新しいロール紙に交換すると、図７に示すように、１ページ目の印刷データ「１」の途中から印刷が開始されてしまうためその分の印刷結果を使うことができない。このため、その１ページ目だけを印刷しなおさなければならない必要がある。また、特許文献２に記載された再印刷方法では、何ページ目の印刷実行中に印刷中断要因が発生したかを監視し、記憶しておかなければならない。
【００１７】
さらに、特許文献３では、ホストコンピュータから送信される１行毎の印刷データを蓄積して、１ページ分保持可能な容量のバックアップメモリをプリンタ側に備えた構成となっている。このため、１ページ分の印刷データを必ずしも保持しておく必要のないシリアルプリンタやラインプリンタにおいては製造コストや消費電力が嵩んでしまい、実用的でない。
【００１８】
本発明は、上記課題を考慮し、従来のページプリンタ、シリアルプリンタ及びラインプリンタ等の印刷装置に変更を加えることなく、かつ印刷中断要因が何ページ目の印刷実行中に発生したかを監視する必要なく、印刷中断要因から復帰後に自動的に再印刷を実行する印刷システム及び印刷システムにおける印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決することのできる本発明は、ホストコンピュータと、前記ホストコンピュータから送信される印刷データに応じて印刷処理を実行する印刷装置と、を備えた印刷システムにおける印刷制御方法であって、
１ページ分の印刷データの終了を示すページ終了情報を前記印刷データに付加する付加ステップと、前記ページ終了情報が付加された１ページ分の印刷データを記憶保持する記憶ステップと、前記ページ終了情報が付加された印刷データを前記印刷装置へ送信する送信ステップと、前記印刷装置が前記ページ終了情報を読み出すことで前記印刷装置から送信される終了通知を受信する受信ステップと、前記終了通知を受信した場合に、記憶保持していた前記１ページ分の印刷データを破棄する破棄ステップと、前記印刷装置による前記１ページの印刷処理の実行中に印刷中断要因が発生したか否かを監視し、前記印刷中断要因が発生した場合に、記憶保持している前記１ページ分の印刷データの初めから前記印刷装置へ再送信する再送信ステップと、を有することを特徴とする。
【００２０】
また、上記課題を解決することのできる本発明は、ホストコンピュータと、前記ホストコンピュータから送信される印刷データに応じて印刷処理を実行する印刷装置と、を備えた印刷システムであって、前記ホストコンピュータは、
１ページ分の印刷データの終了を示すページ終了情報を前記印刷データに付加するページ終了情報付加部と、前記ページ終了情報が付加された１ページ分の印刷データを記憶保持する印刷データ管理部と、前記ページ終了情報が付加された印刷データを前記印刷装置へ送信する送信制御部と、前記印刷装置が前記ページ終了情報を読み出すことで前記印刷装置から送信される終了通知を監視する印刷完了監視部と、前記１ページの印刷処理の実行中に印刷中断要因が発生したか否かを監視する印刷中断監視部と、を備え、
前記印刷データ管理部は、前記印刷完了監視部が前記終了通知を検知した場合に、記憶保持していた前記１ページ分の印刷データを破棄し、前記印刷中断監視部が前記印刷装置に印刷中断要因が発生したことを検知した場合に、記憶保持している前記１ページ分の印刷データの初めから前記印刷装置へ送信することを特徴とする。
【００２１】
上記構成によれば、ホストコンピュータは、印刷装置が印刷データに付加されたページ終了情報を読み出すことで印刷装置から送信される終了通知を受信すると、記憶保持していた１ページ分の印刷データを破棄するように構成されている。したがって、印刷装置から終了通知を受信しない限り、１ページ分の印刷データがホストコンピュータに保持されるので、１ページの印刷処理の途中で印刷中断要因が発生しても、再び印刷装置に１ページ分の印刷データを送信することが可能となる。
【００２２】
また、印刷装置による１ページの印刷処理の実行中に印刷中断要因が発生したか否かを監視し、印刷中断要因が発生した場合に、記憶保持している１ページ分の印刷データの初めから印刷装置へ送信するよう構成されているので、印刷中断要因から復帰後に自動的に再印刷を実行することができ、また自動的に再印刷を実行しても中途半端な印刷結果が出てくることを防止することができる。
【００２３】
また、印刷中断要因が発生しても、発生したときにホストコンピュータが記憶保持している１ページ分の印刷データの初めから印刷装置へ送信すればよいので、従来のように印刷中断要因が何ページ目の印刷実行中に発生したかを監視する必要がない。
【００２４】
なお、印刷中断要因とは、１ページ分の印刷データのうちページの途中の印刷データを処理中に、印刷処理を中断する要因であれば特に限定されるものではない。たとえば、紙ジャム、インク切れ、記憶している用紙サイズと検出した用紙サイズとが異なっていた場合や、カバーオープン、ロール紙のような連続紙に対する印刷を行う場合に生じる用紙切れ、等が含まれる。したがって、印刷システム及び印刷システムにおける印刷制御方法における印刷装置には、ページ単位で印刷を行うページプリンタ、１文字ずつあるいは１ドットずつ印刷を行うシリアルプリンタ、１行単位で印刷を行うラインプリンタ等、あらゆるタイプのプリンタを含む概念である。
【００２５】
また、本発明は、前記再送信ステップにおいて、前記印刷データに更新ページ終了情報を付加して前記印刷装置へ送信し、前記受信ステップにおいて、前記更新ページ終了情報に対応する終了通知を受信した場合に、記憶保持していた前記１ページ分の印刷データを破棄することを特徴とする。
また、本発明において、前記送信制御部は、更新ページ終了情報が付加された印刷データを前記印刷装置へ送信し、前記印刷完了監視部が前記更新ページ終了情報に対応する終了通知を検知した場合に、前記印刷データ管理部は、記憶保持していた前記１ページ分の印刷データを破棄することを特徴とする。
【００２６】
上記構成によれば、印刷データを印刷装置へ更新ページ情報を付加して再送信し、更新ページ情報に対応する終了情報を検知した場合に、記憶保持していた１ページ分の印刷データを破棄するので、更新ページ情報と終了情報とが対応していない場合には、１ページ分の印刷データを破棄することがない。したがって例えば、更新ページ情報と対応しない終了情報を、再印刷処理の実行中にホストコンピュータが受信しても、誤って印刷データを破棄することがないので、再印刷処理を正しく実行させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態における印刷システムについて、図面を用いて説明する。
【００２８】
図１は、本実施形態の印刷システムの内部処理の概要を示すブロック図である。印刷システム１０は、スプーラ１、言語モニタ２、ポートモニタ３を含むホストコンピュータと、ＰＯＳプリンタ４とで構成される。スプーラ１は、印刷データをホストコンピュータのメモリーやハードディスクに一時的に保存し、ＰＯＳプリンタ４の印刷状況に合わせてデータを送る仕組みを備えたプログラムであり、プリンタドライバの１機能を構成している。また、本実施形態では、スプーラ１（ページ終了情報付加部）は１ページ分の印刷データの終端にプロセスＩＤ要求コマンド（ページ終了情報）を付加して言語モニタ２へ渡すようになっている。尚、上記以外のホストコンピュータの機能部については説明を省略する。
【００２９】
ここで、プロセスＩＤ要求コマンドとは、ＰＯＳプリンタ４に対して印刷データの処理が終了したことを示すプロセスＩＤ応答（終了通知）を返すよう要求するコマンドである。すなわち、ＰＯＳプリンタ４による印刷データの処理に伴い、印刷データの終端に付加されたプロセスＩＤ要求コマンドをＰＯＳプリンタ４が読み出すとホストコンピュータへプロセスＩＤ応答を返信するようになっている。本実施形態では、１ページ分の印刷データの終端にプロセスＩＤ要求を付加してＰＯＳプリンタへ送信する。ＰＯＳプリンタは１ページ分の印刷データの印刷処理を終了すると、プロセスＩＤ要求に対するプロセスＩＤ応答をホストコンピュータへ返信する。ホストコンピュータは、このプロセスＩＤ応答を受信することで１ページ分の印刷処理が終了したことを認識し、次の１ページ分の印刷データをＰＯＳプリンタへ送信するよう設定されている。
【００３０】
本発明の実施の形態における印刷システム１０では、従来の言語モニタ９の機能に加え、送信制御部２１、再印刷データ管理部２２、印刷中断監視部２３、印刷完了監視部２４、データ送受信処理部２５を新に追加した構成をとる。
【００３１】
図２は、本実施形態のＰＯＳプリンタ４に印刷中断要因が発生した場合にホストコンピュータが行う再印刷処理に着目した機能ブロック図である。言語モニタ２の再印刷データ管理部２２は、スプーラ１から渡される印刷データを解析し、プロセスＩＤ要求コマンドまでの印刷データを再印刷用データとして情報記憶部２７に保持する。そして、プロセスＩＤ要求コマンドを検出するか、または印刷の中断が発生するまで、解析した印刷データを送信処理部２６を介してＰＯＳＰＯＳプリンタ４へ送信する。
【００３２】
また、再印刷データ管理部２２がスプーラ１から送信された印刷データに付加されているプロセスＩＤ要求コマンドを検出すると、送信処理部２６は送信制御部２１にプロセスＩＤ要求コマンドをＰＯＳプリンタ４へ送信したことを通知する。送信制御部２１は、送信通知を受けてＰＯＳプリンタ４に対する印刷データの送信を停止する。さらに、送信処理部２６は、プロセスＩＤ要求コマンドに対するプロセスＩＤ応答、すなわちＰＯＳプリンタ４からの印刷完了待ち通知を監視するよう印刷完了監視部２４へ指示する。印刷完了監視部２４は、ＰＯＳプリンタ４から印刷完了を示すプロセスＩＤ応答をデータ受信処理部２５を介して受信すると、送信制御部２１へ次の印刷データの送信を再開するよう通知する。
【００３３】
印刷中断監視部２３は、ＰＯＳプリンタ４における印刷処理の実行中に印刷中断要因が発生したか否かを監視する。この場合、言語モニタ２から行うＰＯＳプリンタ４の状態確認に対してＰＯＳプリンタ４から応答がないことによってＰＯＳプリンタ４に印刷中断要因が発生したと判断するよう設定しても、ＰＯＳプリンタ４から印刷中断要因の発生通知を受けて印刷中断要因を監視するよう設定してもよい。印刷中断要因の発生を検知すると、送信制御部２１情報記憶部２７に対する印刷データの格納を中止する。
また、印刷中断要因が解消されてＰＯＳプリンタ４が再印刷可能となると、送信制御部２１へ再印刷開始が通知されて、再び情報記憶部２７に印刷データを格納する。
【００３４】
次に、上記構成の印刷システムにおける具体的な印刷制御方法について図３および図４を参照して説明する。
【００３５】
（通常印刷処理について）
はじめに、図３は、通常時の印刷制御方法を説明するシーケンス図である。まず、言語モニタはスプーラ１から印刷開始通知を受けると（ステップＳ１１）、ＰＯＳプリンタ４に対して状態確認を行い（ステップＳ１２）、ＰＯＳプリンタ４からの印刷可能応答を待って（ステップＳ１３）、印刷処理の準備が完了したことをスプーラ１へ通知する（ステップＳ１４）。
【００３６】
スプーラ１から、１印刷ジョブ分の印刷データのうち１回分の送信データ１が送られると（ステップＳ１５）、言語モニタ２の送信制御部２１を介して、再印刷データ管理部２２の情報記憶部２７に、１回分の送信データ１を一時的に格納して、再びＰＯＳプリンタ４の状態確認を行い（ステップＳ１６）、印刷可能応答を待って（ステップＳ１７）１回分の送信データ１をＰＯＳプリンタ４へ送信する（ステップＳ１８）。そして、送信を完了すると送信完了サイズをスプーラ１へ通知する（ステップＳ１９）。一方、１回分の送信データ１を受信したＰＯＳプリンタ４は、印刷処理を実行する。
【００３７】
スプーラ１は、言語モニタ２からの格納サイズ通知に応じて、次の１回分の送信データ２を言語モニタ２へ渡す（ステップＳ２０）。情報記憶部２７に格納している１回分の送信データ１に、新たに受け付けた１回分の送信データ２を追加、格納する。言語モニタ２は、再びＰＯＳプリンタ４の状態確認を行い（ステップＳ２１）、印刷可能応答を待って（ステップＳ２２）、次の１回分の送信データ２をＰＯＳプリンタ４へ送信する（ステップＳ２３）。次の１回分の送信データ２を受信したＰＯＳプリンタ４は、印刷処理を続行する。
【００３８】
上記と同様に、言語モニタ２は、送信を完了すると送信完了サイズをスプーラ１へ通知する（ステップＳ２４）。次に、スプーラ１は、言語モニタ２からの格納サイズ通知に応じて、更に、次の１回分の送信データ３を言語モニタ２へ渡す（ステップＳ２５）。ただし、今回の印刷データには、ページの区切りであるプロセスＩＤ要求コマンド（プロセスＩＤ＝１とする）が付加されており、再印刷データ管理部２２が印刷データ内にプロセスＩＤ要求コマンドを検出するので、１ページの終端までの印刷データのみが情報記憶部２７に格納される。
【００３９】
言語モニタ２は、再びＰＯＳプリンタ４の状態確認を行い（ステップＳ２６）、印刷可能応答を待って（ステップＳ２７）、プロセスＩＤ要求コマンドを含む１ページ目の終端までの送信データをＰＯＳプリンタ４へ送信する（ステップＳ２８）。
【００４０】
言語モニタ２の印刷完了監視部２４は、印刷の完了を監視しており、１ページ分の印刷完了まで待機する。１ページ目の終わりまでの印刷データを受信したＰＯＳプリンタ４は、印刷を実行し、印刷が完了すると１ページの印刷完了を示すプロセスＩＤ応答＝１ａを言語モニタ２へ通知する（ステップＳ２９）。印刷完了監視部２４が印刷完了を示すプロセスＩＤ応答を検知すると、再印刷データ管理部２２は、これまで情報記憶部２７に格納していた３回分の送信データ１，２，３を全て破棄する。
【００４１】
言語モニタ２は、ステップＳ２８において送信した印刷データの格納サイズをスプーラ１へ通知し（ステップＳ３０）、スプーラ１は、言語モニタ２からの格納サイズ通知に応じて、２ページ目の先頭から新たな１回分の送信データ３ａを言語モニタ２へ渡す（ステップＳ３１）。このとき言語モニタ２に渡す送信データは、図に示すように、許容サイズ内において次の１回分の送信データを含んでもかまわない。送信データと送信データの間にページの区切りが存在しないからである。
【００４２】
以降、ＰＯＳプリンタ４に中断要因が発生しない限り、ステップＳ２１からステップＳ３０まで（または、その一部）の処理を繰り返し実行する。なお、２ページ目の新たな送信データ４ａには、カウントＵＰされたプロセスＩＤが付加される。そして、言語モニタ２が２ページ目の終端に付加されたプロセスＩＤ＝２に対するプロセスＩＤ応答＝２ａを受信後、スプーラ１からの印刷終了通知を受けて、言語モニタ２が印刷終了処理を実行し、言語モニタ２からの終了処理完了を受けて、スプーラ１が印刷ジョブを削除する（ステップＳ３３，ステップＳ３４）。
【００４３】
このように、１ページ分の印刷データの終了を示すプロセスＩＤ（ページ終了情報）を印刷データに付加しておくことによって、ＰＯＳプリンタ４からは付加されたプロセスＩＤに対応するプロセスＩＤ応答を送信し、言語モニタ２は対応するプロセスＩＤ応答を受信すると１ページ目の印刷処理が正常に終了したと判断すると、情報記憶部２７に格納しておいた１ページ分の印刷データを破棄して、２ページ目の印刷処理へ移行するようになっている。
【００４４】
（印刷中断要因が発生した場合の印刷処理について）
次に、印刷中断要因が発生した場合の印刷処理について説明する。図４は、図３のステップＳ２８からステップＳ２９の間に、ＰＯＳプリンタ４において用紙切れなどの印刷中断要因が発生した場合の印刷制御方法を説明するシーケンス図である。図中のステップＳ１１からステップＳ２８までの処理は、図３における処理と同じであるので、説明を省略する。
【００４５】
ステップＳ２８において、プロセスＩＤ要求コマンドを含む１ページ目の終端までの送信データをＰＯＳプリンタ４へ送信するものの、印刷中にＰＯＳプリンタ４で用紙切れなどの印刷中断要因が発生し、言語モニタ２からの状態確認に対して印刷中断が通知される(ステップＳ４１，ステップＳ４２)。これに対して、言語モニタ２の送信処理部２６は情報記憶部２７に今まで格納した１ページ分の印刷データをＰＯＳプリンタ４へ再送信し（ステップＳ４３）、ＰＯＳプリンタ４では再印刷データに基づき１ページ目の再印刷処理を再開する。
ここで、ステップＳ４３において、送信処理部２６は、プロセスＩＤをカウントＵＰしてプロセスＩＤ＝２（更新ページ終了情報）として送信する。
【００４６】
一方、ＰＯＳプリンタ４では、用紙切れになる前に受信した印刷データ（プロセスＩＤ＝１が含まれている。）を保持しているため、用紙交換後この印刷データを処理する際に、読み出したプロセスＩＤ要求コマンドに対してプロセスＩＤ応答＝１Ａを言語モニタ２へ通知する（ステップＳ４４）。一方、ＰＯＳプリンタ４では、再印刷処理を実行し、再印刷データに付加されていたプロセスＩＤ要求コマンド（プロセスＩＤ＝２）を読み出すと、これに対応するプロセスＩＤ応答＝２Ａを言語モニタ２へ通知する（ステップＳ４５）。プロセスＩＤ応答が通知されたことで、言語モニタ２は１ページ目の終端までの印刷処理が終了したことを認識し、これまで情報記憶部２７に格納されていた１ページ目の印刷データを破棄し、改めてスプーラへ、情報記憶部２７のデータ格納サイズを通知する（ステップＳ４６）。
【００４７】
これに応じて、スプーラ１は、新たな１回分の送信データ３ａを言語モニタ２へ渡し、情報記憶部２７には２ページ目の印刷データの先頭から格納される（ステップＳ４７）。言語モニタ２はＰＯＳプリンタ４の状態確認を行い（ステップＳ４８）、印刷可能応答を待って（ステップＳ４９）新たな１回分の送信データ３ａをＰＯＳプリンタ４へ送信する（ステップＳ５０）。そして、送信を完了すると格納サイズをスプーラ１へ通知する（ステップＳ５１）。一方、新たな１回分の送信データ３ａを受信したＰＯＳプリンタ４は、２ページ目の印刷処理を実行する。
【００４８】
スプーラ１は、言語モニタ２からの格納サイズ通知に応じて、次の新たな１回分の送信データ４ａを言語モニタ２へ渡す（ステップＳ５２）。情報記憶部２７に格納している１回分の送信データ３aに、新たに受け付けた１回分の送信データ４ａを追加、格納する。言語モニタ２は、再びＰＯＳプリンタ４の状態確認を行い（ステップＳ５３）、印刷可能応答を待って（ステップＳ５４）、次の１回分の送信データ４ａをＰＯＳプリンタ４へ送信する（ステップＳ５５）。次の１回分の送信データ４ａを受信したＰＯＳプリンタ４は、印刷処理を続行する。
ここで、ステップＳ５５において、送信処理部２６は、プロセスＩＤをカウントＵＰしてプロセスＩＤ＝３（更新ページ終了情報）として送信する。
【００４９】
言語モニタ２の印刷完了監視部２４は、２ページ目の印刷が完了するまで待機する。２ページ目の終わりまでの印刷データを受信したＰＯＳプリンタ４は、印刷を実行し、印刷が完了すると２ページ目の印刷完了を示すプロセスＩＤ応答＝３Ａを言語モニタ２へ通知する（ステップＳ５６）。印刷完了監視部２４が印刷完了を示すプロセスＩＤ応答３Ａを検知すると、再印刷データ管理部２２は、これまで情報記憶部２７に格納していた２ページ目の送信データ３ａ，４ａを全て破棄する。
【００５０】
そして、言語モニタ２が情報記憶部２７の格納サイズを通知して、スプーラ１からの印刷終了通知を受けて、印刷終了処理を実行し、言語モニタ２からの終了処理完了を受けて、スプーラ１が印刷ジョブを削除する（ステップＳ５７，ステップＳ５８，ステップＳ５９）。
【００５１】
このように、本実施形態の送信処理部２６は、印刷データをＰＯＳプリンタ４へ送信する毎にプロセスＩＤをカウントＵＰする（更新する）。プロセスＩＤをカウントＵＰすることによって、ステップＳ４３で送信した印刷データに基づく印刷処理の実行中に、言語モニタ２が失敗した印刷データに付加されたプロセスＩＤ＝２に対するプロセスＩＤ応答＝１Ａを受信しても（ステップＳ４４）、プロセスＩＤ応答を受信したことによって印刷処理が終了したと誤って判断して次のページの印刷プロセスに移行してしまうことを防止することができる。
すなわち、ステップＳ４３でＰＯＳプリンタ４へ送信された１ページ目の再印刷データに基づく印刷処理は、再印刷データに付加されたプロセスＩＤ＝２に対応するプロセスＩＤ応答＝２Ａを言語モニタ２が受信するまで、中断することなく実行される。したがって、１ページ目の再印刷処理の実行中に、プロセスＩＤ＝２と対応しないプロセスＩＤ応答＝１Ａを受信しても、誤って再印刷処理を中断させてしまうことがないので、印刷中断要因に基づく再印刷処理において、所望の印刷結果を得ることができる。
【００５２】
以上のように、再印刷データ管理部２２の情報記憶部２７に蓄積された印刷データは、プロセスＩＤと対応するプロセスＩＤ応答を受信するまで、すなわちページ終端の印刷が完了するまで、破棄されないので、印刷中断要因が発生しても、図５に示すように印刷の再開時には該当ページの最初から適切に印刷を開始することができる。従って、無駄な印刷を防止し、紙資源を有効に利用することができる。
【００５３】
また、本実施形態では、ロール紙に対して印刷を行うＰＯＳプリンタにおいて印刷途中でロール紙がなくなってしまった場合を例示したが、このようなタイプのＰＯＳプリンタに限られることはない。たとえば、ページ単位で印刷を行うレーザープリンタ等において発生する紙ジャム、インク切れあるいはカバーオープン、１文字ずつあるいは１ドットずつ印刷を行うインクジェットプリンタのようなシリアルプリンタ等において発生する紙ジャム、インク切れ、カバーオープン、あるいは記憶している用紙サイズと検出した用紙サイズとが異なっていた場合などにおいても適用することが可能となる。
【図面の簡単な説明】
【００５４】
【図１】本実施形態の印刷システムの概要を示すブロック図である。
【図２】本実施形態のプリンタに印刷中断要因が発生した場合にホストコンピュータが行う再印刷処理に着目した機能ブロック図である。
【図３】本実施形態の印刷システムにおける通常時の印刷制御方法を説明するシーケンス図である。
【図４】本実施形態の印刷システムにおける印刷中断要因が発生した場合の印刷制御方法を説明するシーケンス図である。
【図５】本実施形態の印刷システムにおける具体的な印刷イメージを示した図である。
【図６】従来の印刷システムにおける印刷中断要因が発生した場合の印刷制御方法を説明するシーケンス図である。
【図７】従来の印刷システムにおける具体的な印刷イメージを示した図である。
【符号の説明】
【００５５】
１：スプーラ、２：言語モニタ、３：ポートモニタ、４：ＰＯＳプリンタ、２１：送信制御処理部、２２：再印刷データ管理部、２３：印刷中断監視部、２４：印刷完了監視部、２５：データ受信処理、２６：言語モニタ関数、２７：送受信スレッド
【図１】
2008152401.tif 000003
【図２】
2008152401.tif 000004
【図３】
2008152401.tif 000005
【図４】
2008152401.tif 000006
【図５】
2008152401.tif 000007
【図６】
2008152401.tif 000008
【図７】
2008152401.tif 000009