(57)【特許請求の範囲】
【請求項１】
プリンタに一連の１ページ以上の印刷データを送るものであって、
前記印刷データを記憶するデータ記憶領域と、
前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するデータ送信部と、
前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカと、
を備え、
前記データ送信部は、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直す印刷データ送信装置。
【請求項２】
前記データ送信部は、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する請求項１記載の印刷データ送信装置。
【請求項３】
プリンタに一連の１ページ以上の印刷データを送るものであって、
前記印刷データを記憶するデータ記憶領域と、
前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するデータ送信部と、
前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックする印刷異常チェッカと、
を備え、
前記データ送信部は、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直す印刷データ送信装置。
【請求項４】
前記データ送信部は、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する請求項３記載の印刷データ送信装置。
【請求項５】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記スプーラから受け取った各ページの印刷データがページとして完全なページとして完全か否かをチェックするページチェッカを有し、前記ページチェッカによって完全と判断されたページの印刷データだけを前記プリンタに送る、
コンピュータ。
【請求項６】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカを有し、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータ。
【請求項７】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックする印刷異常チェッカを有し、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータ。
【請求項８】
プリンタに一連の１ページ以上の印刷データを送る方法であって、
前記印刷データを記憶するステップと、
前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するステップと、
前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックするステップと、
前記送信異常を検知した後、送信異常発生時に送信未完了であったページの最初から前記プリンタへの印刷データの送信をやり直すステップと、
を有する印刷データ送信方法を、
コンピュータに実行させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項９】
プリンタに一連の１ページ以上の印刷データを送る方法であって、
前記印刷データを記憶するステップと、
前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するステップと、
前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックするステップと、
前記印刷異常を検知した場合には、印刷異常発生時に印刷未完了であったページの最初から前記プリンタへの印刷データの送信をやり直すステップと、
を有するデータ送信方法を、コンピュータに実行させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項１０】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記スプーラから受け取った各ページの印刷データがページとして完全か否かをチェックするページチェッカを有し、前記ページチェッカによって完全と判断されたページの印刷データだけを前記プリンタに送る、
コンピュータを機能させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項１１】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカを有し、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータを機能させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項１２】
一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、
前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、
前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックする印刷異常チェッカを有し、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータを機能させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項１３】
プリンタと、このプリンタに一連の１ページ以上の印刷データを送る印刷データ送信装置とを備え、
前記印刷データ送信装置が、前記印刷データを記憶するデータ記憶領域と、前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するデータ送信部と、前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカと、を有し、前記データ送信部は、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直す、
印刷システム。
【請求項１４】
プリンタと、このプリンタに一連の１ページ以上の印刷データを送る印刷データ送信装置とを備え、
前記印刷データ送信装置が、前記印刷データを記憶するデータ記憶領域と、前記データ記憶領域から前記印刷データを取得して前記プリンタへ送信するデータ送信部と、前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックする印刷異常チェッカと、を有し、前記データ送信部は、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直す、
印刷システム。
【請求項１５】
プリンタと、このプリンタと通信可能なコンピュータとを備え、
前記コンピュータが、一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと、
を有し、
前記ランゲージモニタが、前記スプーラから受け取った各ページの印刷データがページとして完全か否かをチェックするページチェッカを有し、前記ページチェッカによって完全と判断されたページの印刷データだけを前記プリンタに送る、
コンピュータシステム。
【請求項１６】
プリンタと、このプリンタと通信可能なコンピュータとを備え、
前記コンピュータが、一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカを有し、前記送信異常チェッカが送信異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータシステム。
【請求項１７】
プリンタと、このプリンタと通信可能なコンピュータとを備え、
前記コンピュータが、一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、前記スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、前記ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタと
を有し、
前記ランゲージモニタが、前記印刷データを前記プリンタが印刷しているときに、印刷ができなくなる印刷異常が前記プリンタで発生したか否かをチェックする印刷異常チェッカを有し、前記印刷異常チェッカが印刷異常を検知したとき、前記プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する、
コンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステム等におけるプリンタへの印刷データの送信方法に関する。
【０００２】
【従来の技術】
従来、ホストからプリンタへ印刷データを送信する際、ホストでは、プリンタドライバが印刷データを作成してスプーラに渡し、スプーラ等が印刷データを先頭から単純にプリンタへ転送する。
【０００３】
【発明が解決しようとする課題】
この従来の印刷データ送信方法によると、データ送信途中に何らかの異常が発生して（例えばケーブルが外れたり、プリンタの電源を切ってしまった場合等）送信データの一部が欠落してしまった場合に、（物理的にデータを送信可能な状態に戻してから）そのまま続きを印刷すると、以降、すべてのプリントアウトが意味不明ないわゆるゴミ印字になってしまう。この場合、続きを印刷するには、プリンタドライバで途中からのデータの再作成が必要である。
【０００４】
また、ユーザが印刷途中でスプーラに対して「印刷中止」の指示を行った時等、何らかの理由で、ページとして不完全な印刷データが作成された場合に、スプーラはその不完全なデータをそのままプリンタに出力して終了してしまう。そのため、ユーザは手操作で不完全なデータを排紙しなければならず、面倒であり、用紙も無駄になるという問題がある。
【０００５】
また、スプーラはプリンタへのデータ送信が完了すればそのまま処理を終了してしまうため、ページデータの送信完了後にプリンタ側の異常（電源断等）により印刷完了前にプリンタバッファ内の印刷データが消失した場合、消失したデータが印刷されない。この消失したデータを印刷するには、プリンタドライバで途中からのデータの再作成が必要である。
【０００６】
従って、本発明の目的は、ホストからプリンタへの印刷データの送信に異常があった場合でも、異常のあったページから正しく印刷データを再送して、完全なページが印刷されるようにすることにある。
【０００７】
本発明の別の目的は、ホストでページとして不完全な印刷データが生成された場合に、その不完全なデータのプリンタへの送信を防止して、完全なページだけが印刷されるようにすることにある。
【０００８】
また、本発明の別の目的は、ホストからプリンタへ印刷データを送った後にプリンタバッファ内でその印刷データが消失してしまった場合でも、その消失したページから印刷データをプリンタへ自動的に再送して正しく印刷できるようにすることにある。
【０００９】
【課題を解決するための手段】
本発明の原理は、印刷データをページ単位で管理して、ページ単位でプリンタへ送ることにより、上述した課題を解決するものである。
【００１０】
本発明の第１の観点に従う印刷データ送信装置は、印刷データを記憶するデータ記憶領域と、このデータ記憶領域から印刷データを取得してプリンタへ送信するデータ送信部と、各ページの印刷データがページとして完全か否かをチェックするページチェッカとを備え、データ送信部は、ページチェッカによって完全と判断されたページの印刷データだけをプリンタに送る。従って、ユーザによる「印刷中止」などでページとして不完全がデータが生成された場合でも、そのような不完全なデータはプリンタに送られないから、プリンタが不完全な印刷結果を出して用紙を無駄にするようなことはない。
【００１１】
本発明の第２の観点に従う印刷データ送信装置は、印刷データを記憶するデータ記憶領域と、このデータ記憶領域から印刷データを取得してプリンタへ送信するデータ送信部と、印刷データをプリンタへ送信しているときに、送信異常が発生したか否かをチェックする送信異常チェッカとを備え、データ送信部は、送信異常チェッカが送信異常を検知したとき、プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直す。これにより、送信異常が生じた後、未送信のページをプリンタへ再送した場合でも、完全な印刷結果を得ることができる。
【００１２】
好適な実施形態では、送信異常を検知したとき、プリンタへの印刷データの送信をやり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄して、プリンタへは送らない。これにより、ページとして不完全なデータがプリンタへ送られることがなくなる。
【００１３】
本発明の第３の観点に従う印刷データ送信装置は、印刷データを記憶するデータ記憶領域と、このデータ記憶領域から印刷データを取得して前記プリンタへ送信するデータ送信部と、印刷データをプリンタが印刷しているときに、印刷ができなくなる印刷異常がプリンタで発生したか否かをチェックする印刷異常チェッカとを備え、データ送信部は、印刷異常チェッカが印刷異常を検知したとき、プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直す。これにより、プリンタで印刷異常が生じた場合でも、続けて正しい印刷結果を得ることができる。
【００１４】
好適な実施形態では、印刷異常を検知したとき、プリンタへの印刷データの送信をやり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄して、プリンタへは送らない。これにより、ページとして不完全なデータがプリンタへ送られることがなくなる。
【００１５】
本発明の第４の観点に従うコンピュータは、一連の１ページ以上の印刷データをスプールし先頭から送出するスプーラと、スプーラの送出した印刷データを受け取り、受け取った印刷データをページ単位で管理することによりページ単位で送出するランゲージモニタと、ランゲージモニタの送出した印刷データを前記プリンタに送るポートモニタとを有する。ページ単位で印刷データをプリンタへ送信するので、スプーラからの印刷データが中断した場合や、異常によりデータ送信が中断した後に続きのデータを再送する場合、ページとして不完全なデータはプリンタへ送らない。
【００１６】
好適な実施形態では、ランゲージモニタが、スプーラから受け取った各ページの印刷データがページとして完全なページとして完全か否かをチェックするページチェッカと、印刷データをプリンタへ送信しているときに送信異常が発生したか否かをチェックする送信異常チェッカと、印刷データをプリンタが印刷しているときに、印刷ができなくなる印刷異常がプリンタで発生したか否かをチェックする印刷異常チェッカとを有する。そして、ランゲージモニタは、ページチェッカによって完全と判断されたページの印刷データだけをプリンタに送り、その送信中に送信異常が生じたときは、プリンタへの印刷データの送信をやり直す場合には、送信異常発生時に送信未完了であったページの最初から送信をやり直し、やり直さない場合には、送信異常発生時に送信未完了であった全てのページの印刷データを破棄する。また、プリンタで印刷異常が発生したときは、プリンタへの印刷データの送信をやり直す場合には、印刷異常発生時に印刷未完了であったページの最初から送信をやり直し、やり直さない場合には、印刷発生時に送信未完了であった全てのページの印刷データを破棄する。
【００１７】
本発明は典型的にはコンピュータにより実施することができるが、そのためのコンピュータプログラムは、ディスク型ストレージ、半導体メモリおよび通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。
【００１８】
【発明の実施の形態】
図１は、本発明の一実施形態の構成を示す。
【００１９】
図１に示すように、ホスト１は例えばパーソナルコンピュータであって、プリンタ３へ印刷データを転送する作業を行うためのプログラムモジュールとして、スプーラ５、ランゲージモニタ７及びポートモニタ９を有している。プリンタ３は、ホスト１に対して双方向通信が可能であり、プリンタ３がホスト１から受信した印刷データの印刷が正常に終了したことや異常が発生したことなどを（ステータス等により）ホスト１に知らせる手段を有している。このプリンタ３からの知らせは、ホスト１のランゲージモニタ７に伝えられる。
【００２０】
ホスト１において、スプーラ５は、図示しないプリンタドライバが作成した印刷データを受け取り、その印刷データを頭からランゲージモニタ７に送る。ランゲージモニタ７は、後に詳述するように、スプーラ５から受け取った印刷データを、ホスト内のメモリ１１上に確保したページデータ領域１３に一旦格納しつつ、完全な１ページ分の印刷データがページデータ領域１３に揃ったところで、ページデータ領域１３から完全な１ページ分の印刷データを取り出してポートモニタ９に渡す。もし、ユーザによる「印刷中止」命令などで、ページとして不完全な印刷データ、つまり、１ページを完全に印刷できないような欠落部分をもつ印刷データをスプーラ５から受け取った場合には、ランゲージモニタ７は、そのページとして不完全な印刷データをページデータ領域１３から削除し、ポートモニタ９には渡さない。更に、ランゲージモニタ９は、プリンタ３からの知らせを適時にチェックすることによりプリンタ３との通信状態及びプリンタの状態が正常か否かも監視していて、もし、通信異常又はプリンタ異常などで或るページのデータを完全に送信又は印刷できなかった場合には、ページデータ領域１３から再度当該ページの完全な印刷データを取得してプリンタ３へ再送する（続いて、後続のページのデータも送信する）か、又は、再送の必要の無い場合は、当該ページの印刷データをページデータ領域１３から削除してポートモニタ９には渡さない（後続のページのデータも破棄する）。ポートモニタ９は、ランゲージモニタ７から送出された印刷データをプリンタ３へ転送する。
【００２１】
図２及び図３は両図合わせて、ランゲージモニタ７の全体的な動作を示す。
【００２２】
まず、印刷データの全部が正常にプリンタへ送信されるときの動作を図２及び図３を参照して説明する。
【００２３】
図２に示すように、ランゲージモニタ７は、スプーラ５が頭から単純に送り込んでくる印刷データを受け取りメモリ１１内のバッファ（図示省略）に一時格納した（ステップＳ３）上で、そのバッファから印刷データを頭から取り出しこれを解析する（Ｓ４）ことにより、１ページ分の完全な印刷データを受け取り終わったか否かをチェックし（Ｓ５）つつ、その印刷データをページデータ領域１３に書き込んでいく（Ｓ６）。１ページ分の完全な印刷データを受け取り終わると（Ｓ５でＹＥＳ）、その受け取った１ページ分の完全な印刷データの最後までページデータ領域１３に格納した（Ｓ７）上で、図３へ移行し、ページデータ領域１３から未送信の印刷データ読み出して（Ｓ９）、それをポートモニタ９を通じてプリンタへ送信する（Ｓ１０）。こうしてプリンタ３へ印刷データを送っている間、ランゲージモニタ７は、ポートモニタ９からの信号を監視してプリンタ３へのデータ送信が成功しているか否かをチェックしつづけ（Ｓ１１）、かつ、送信が正常に行われている（Ｓ１１でＹＥＳ）間、プリンタ３からそのステータス等の情報を取得してプリンタ３側に異常がないかのチェック及び印刷が完了したページデータのページデータ領域１３からの削除を行い（Ｓ１２）つつ、今送っている１ページ分の印刷データの全部がプリンタ３へ送信し終わったか否かチェックしつづける（Ｓ８）。
【００２４】
１ページ分の印刷データの全てがプリンタ３へ成功裏に送信し終わると（Ｓ８でＹＥＳ）、ランゲージモニタ７は、次のページの印刷データがまだバッファに残っていれば、当該次のページのデータをページデータ領域１３へ書きこみ（Ｓ１７）、そして、図２の最初のステップへ戻って、上記と同様の動作を繰り返す。
【００２５】
スプーラ５から来る印刷データが終了すると（つまり、スプーラ５から印刷データが来ないまま所定時間が経過する、または、スプーラ５から「印刷終了」のメッセージが来ると）（Ｓ２でＹＥＳ）、ランゲージモニタ７は、ステップＳ５のチェック結果に基づいて、ページバッファ領域１３に格納した印刷データがページとして不完全な状態で終わってしまっていないかチェックする（Ｓ１８）。印刷データが正常に終了した場合には、ページとして完全な状態で印刷データが終わっているので（Ｓ１８でＮＯ）、その場合には前述したステップＳ７以下の動作により既に送信済みのデータに対し、印刷が完了しているかチェックし（Ｓ２０）、まだ印刷が完了してないデータがあるなら（Ｓ２０でＹＥＳ）、プリンタ３からそのステータス等の情報を取得してプリンタ３側に異常がないかのチェック及び印刷が完了したページデータのページデータ領域１３からの削除を行ない（Ｓ２１）、全データの印刷が完了したところで（ステップＳ２０でＮＯ）、動作を終了する。
【００２６】
次に、プリンタ３へのデータ送信途中で、（例えばケーブルが外れたり、プリンタの電源を切ってしまった等の）送信異常が発生した場合について説明する。
【００２７】
このような場合、図３に示したデータ送信の流れの中で、ステップＳ１１のチェック結果がＮＯとなるので、ステップＳ１４に進んで、（例えばユーザに尋ねるなどして）未送信の印刷データを再送するか否かを判断する。その結果、再送するなら、異常発生時に送信していたページの状態を未送信に戻して（Ｓ１５）からステップＳ７へ戻り、再びページバッファ領域１３からそのページの印刷データを最初から読み出してプリンタ３へ再送する。従って、ページとして完全な印刷データがプリンタ３へ送られることになる。以後、後続のページも同様に、ページとして完全なデータをプリンタ３へ送る。
【００２８】
また、ステップＳ１１で再送不要と判断した場合には、ステップＳ１４へ進み、ページバッファ領域１３に残って印刷データ、およびバッファ内に残っている後続のページのデータ、並びに以後スプーラからバッファに受け取る後続のページのデータを全て消去し（Ｓ１６）、その後に動作を終了する。従って、プリンタ３からゴミ印刷が出ることはない。
【００２９】
次に、印刷の途中でユーザがスプーラ５に「印刷中止」を指示した場合について説明する。
【００３０】
スプーラ５から送られてくる印刷データが途中で中断されると（つまり、スプーラ５から印刷データが来ないまま所定時間が経過する、または、スプーラ５から「印刷中止」のメッセージが来ると）（Ｓ１でＹＥＳ）、ランゲージモニタ７は、ステップＳ１６へ進み、ページデータ領域１３に残っているページとして不完全なデータを全て消去して、これをプリンタ３へ送ることなく動作を終了する。従って、プリンタ３から不完全な印刷結果が出力されることはない。
【００３１】
次に、プリンタ３側で異常が発生した場合の動作を説明する。
【００３２】
プリンタ３側での異常発生は、図３に示したステップ２１又は図２に示したステップＳ１２の印刷完了データ削除と異常発生チェックの処理の中で検出される。図４は、この処理の詳細を示している。
【００３３】
図４に示すように、プリンタ３からそのステータスを示す情報を受信し（Ｓ３１）、この情報に基づいて、プリンタ３へ送信済みのページの印刷が完了したか否かをチェックし（Ｓ３３、Ｓ３４）、また、プリンタ３のステータスに異常がないかをチェックする（Ｓ３６）。ステップＳ３３、３４のチェックの結果、送信済みのページの印刷が完了すれば、その印刷完了したページのデータをページデータ領域１３から削除する（Ｓ３５）。また、ステップＳ３６のチェックの結果、プリンタ３のステータスが正常であれば、戻り値に正常終了をセットして図２、３に示したメインルーチンへ戻る（Ｓ２８）。一方、プリンタ３のステータスの受信に失敗した場合（Ｓ３２でＮＯ）、及びプリンタ３から受信したステータスが異常を示していた場合（Ｓ３６でＹＥＳ）には、戻り値に異常発生をセットしてメインルーチンへ戻る（Ｓ３７）。メインルーチンへ戻ると、戻り値をチェックし（図３のステップＳ１３、図２のステップＳ２２）、それが異常発生であれば（ＹＥＳ）、図３のステップＳ１４へ進んで、前述した送信異常時と同様に、再送の必要があれば、印刷の未完了のページのデータを再度プリンタに送り、再送不要であれば、残っている印刷データを全て消去する（Ｓ１６）。従って、再送した場合は、続きのページを正しく印刷できる。再送しない場合は、異常発生時に印刷が完了していたページだけで印刷が終わり、後にゴミ印刷が出ることはない。
【００３４】
図５は、図４に示した印刷完了データの削除と異常チェックの処理の変形例を示す。
【００３５】
図４の処理はプリンタ３が自己のステータスをホストに返す機能をもっている場合であったが、図５の処理はプリンタ３がステータスを返す機能をもっていない場合である。この場合、ランゲージモニタ７は、プリンタ３のステータスは正常であるとみなして、単に、プリンタへ送信済みのページのデータをページデータ領域４１から削除して（Ｓ４１、４２）、戻り値に正常終了をセットして（Ｓ４３）、メインルーチンへ戻る。
【００３６】
以上、本発明の一実施形態を説明したが、この実施形態はあくまで本発明の説明のための例示であり、本発明をこの実施形態にのみ限定する趣旨ではない。従って、本発明は、上記実施形態以外の様々な形態でも実施することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の構成を示すブロック図。
【図２】図３と合わせてランゲージモニタ７の全体動作を示すフローチャート。
【図３】図２と合わせてランゲージモニタ７の全体動作を示すフローチャート。
【図４】印刷完了データの削除と異常チェックの処理（図２のＳ２１、図３のＳ１２）を示すフローチャート。
【図５】図４の処理の変形例を示すフローチャート。
【符号の説明】
１  ホスト
３  プリンタ
５  スプーラ
７  ランゲージモニタ
９  ポートモニタ
１１  メモリ
１３  ページデータ領域
【図１】
0003573258.tif 000002
【図２】
0003573258.tif 000003
【図３】
0003573258.tif 000004
【図４】
0003573258.tif 000005
【図５】
0003573258.tif 000006