(57)【要約】【課題】印刷ジョブのキャンセル要求に応答して、キャンセル要求に対応する印刷ジョブの印刷に起因して発生したエラーを、オペレータによるエラー解除の操作を必要とすることなく解除可能にする。【解決手段】ホストから印刷データを受信し、当該印刷データに対応する画像を印刷するプリンタにおいて、印刷データを含む印刷ジョブデータをホストから受信して、当該印刷ジョブを実行する印刷手段（１７）と、受信した印刷ジョブに対応する印刷が行われる時に、印刷キャンセル要求の操作に応答して、当該印刷を停止し、更に、印刷キャンセル要求に対応する印刷ジョブに起因して発生したエラーを復帰状態にする印刷キャンセル手段（１５）とを有する。【選択図】    図３
2005067003.tif 000002
【特許請求の範囲】
【請求項１】
ホストから印刷データを受信し、当該印刷データに対応する画像を印刷するプリンタにおいて、
印刷データを含む印刷ジョブデータをホストから受信して、当該印刷ジョブを実行する印刷手段と、
受信した印刷ジョブに対応する印刷が行われる時に、プリンタの操作パネルでの印刷キャンセル要求の操作に応答して、当該印刷を停止し、更に、前記印刷キャンセル要求に対応する印刷ジョブに起因して発生したエラーを復帰状態にする印刷キャンセル手段とを有することを特徴とするプリンタ。
【請求項２】
請求項１において、
前記印刷キャンセル手段は、前記印刷を停止するとともに、前記ホストにデータキャンセル要求を送信して、前記ホストに当該印刷ジョブに対する印刷データの送信を中止させることを特徴とするプリンタ。
【請求項３】
請求項１または２において、
前記印刷ジョブデータは、更に、ジョブ識別情報を含み、終端にジョブエンドコマンドが付加され、
前記印刷キャンセル手段は、前記ホストにデータキャンセル要求を送信して、前記印刷データの送信を中止させるとともに、当該印刷ジョブに対応する印刷ジョブデータに前記ジョブエンドコマンドを付加して返信させ、
前記プリンタは、更に、前記プリンタ内に受信済みの印刷データを前記ジョブエンドコマンドまで読み捨て処理を行う読み捨て処理手段を有することを特徴とするプリンタ。
【請求項４】
ホストから印刷データを受信し、当該印刷データに対応する画像を印刷するプリンタにおいて、
印刷データを含む印刷ジョブデータをホストから受信して、当該印刷ジョブを実行する印刷手段と、
前記ホストでの印刷キャンセル要求の操作に応答して、当該印刷キャンセル要求に対応する印刷ジョブの印刷を停止し、更に、前記印刷キャンセル要求に対応する印刷ジョブに起因して発生したエラーを復帰状態にする印刷キャンセル手段とを有することを特徴とするプリンタ。
【請求項５】
請求項１または４において、
前記印刷ジョブに起因して発生したエラーは、少なくとも、印刷ジョブの用紙と用紙トレー内の用紙とが異なる用紙サイズエラーを含むことを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブのキャンセルを行うことができるプリンタに関し、特に、キャンセル対象の印刷ジョブにより発生したプリンタのエラー状態を印刷ジョブのキャンセル要求により自動的に復帰することができるプリンタに関する。
【背景技術】
【０００２】
プリンタがホストコンピュータからのデータを印刷しているとき、印刷をキャンセルする場合には、通常、ホストコンピュータの画面で印刷キャンセルの操作を行う必要がある。この場合は、ホスト側からリセットコマンドがプリンタ側に送られるとともに、ホスト側のプリンタドライバが印刷データを破棄している。
【０００３】
また別の方法として、ホストコンピュータのＯＳ（オペレーティングシステム）が持っているスプーラの画面で印刷中止を操作する方法もあるが、この場合はスプーラ内部に格納されていたデータが削除される。
【０００４】
プリンタ側で印刷を中止する方法としては、例えば特開2000-289297号公報（特許文献１）に記載されているように、受信した印刷データを印字することなくデータの読み捨て（消去）を行う。この特許文献によると、プリンタは、ホストから印刷データを受信すると印刷を開始するが、その直後にプリンタがリセットされると、実行中のジョブの印刷データは、ゴミ印刷データとなってしまう。そこで、プリンタは、この様なゴミ印刷データを印刷せず、受信しても解析することなく受信バッファから読み捨てる（消去する）。
【０００５】
また、プリンタ側の操作でプリンタを強制停止する別の方法として、特開平10-44557号公報（特許文献２）がある。この例では、プリンタにエラー等が発生した際、プリンタ側の操作でプリンタを強制停止するものである。即ち、プリンタは、ホストからの印刷データを受信すると、印刷を開始する。印刷開始後に何らかのエラーにより、プリンタ側で強制停止スイッチが押下されると、プリンタからホストにエラー信号出力が送信され、ホストは一時停止して、プリンタへの印刷データの転送を停止する。この間に、プリンタはエラーＬＥＤを点灯して、順次、ＲＡＭをクリアして印刷データを消去し、印刷停止、用紙排出を行う。プリンタのエラーが解除されると、プリンタはホストにエラー解除信号を送信しエラーＬＥＤを消灯する。
【０００６】
更に、特開2002−200825号公報（特許文献３）には、プリンタのパネルからのジョブキャンセルに応答して、プリンタがホストにジョブキャンセルを通知し、それに応答してホストがジョブエンドを意味するエンドマークを付加した印刷データをプリンタに送信し、プリンタはエンドマークまで受信する印刷データを破棄して、ゴミ印刷を行わないようにすることが提案されている。
【特許文献１】特開2000-289297号公報
【特許文献２】特開平10-44557号公報
【特許文献３】特開2002-200825号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
印刷ジョブのキャンセルをホスト側またはプリンタ側から行えるようにする例が、前述の特許文献１、２、３に開示されている。しかしながら、これらの特許文献には、キャンセルした印刷ジョブに起因して発生したプリンタ内のエラーをどのように解除するかについての記載はない。通常、プリンタ内のエラーを解除するためには、オペレータにエラー状態を除去させ又はエラー状態にないことを確認させ、エラー解除のための特別の操作を要求する。
【０００８】
例えば、用紙サイズＡ３で印刷すべき印刷ジョブに対して、用紙トレー内にＡ４の用紙が入れられていることが検出されると、用紙サイズエラーが発生し、プリンタは操作パネルのランプを点滅するなどによりオペレータに用紙サイズエラーを通知する。この場合、その印刷ジョブをキャンセルしても、用紙サイズエラーのステータスは解除されないので、次の印刷ジョブを開始することができない。次の印刷ジョブを開始可能にするためには、キャンセルした印刷ジョブに起因して発生したエラーステータスを、そのエラーに対応するパネル操作、例えばエラー修正完了スイッチを操作するなどして、解除しておく必要がある。用紙サイズエラーや、用紙なしエラーなど、そのキャンセルされた印刷ジョブに固有に発生したエラーは、オペレータがマニュアルで操作するなどにより解除すれば、次の印刷ジョブでは発生しないかもしれない。しかし、従来のプリンタでは、印刷ジョブのキャンセルの操作に加えて、発生しているエラーを解除する操作もオペレータに要求しているので、次の印刷ジョブを開始するためには、オペレータは印刷ジョブのキャンセル要求の操作と、エラー解除の操作とが必要になる。
【０００９】
そこで、本発明の目的は、印刷ジョブのキャンセル要求以外に、その印刷ジョブに起因するプリンタのエラー状態を解除する操作を必要としないプリンタを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の第１の側面は、ホストから印刷データを受信し、当該印刷データに対応する画像を印刷するプリンタにおいて、
印刷データを含む印刷ジョブデータをホストから受信して、当該印刷ジョブを実行する印刷手段と、
受信した印刷ジョブに対応する印刷が行われる時に、プリンタの操作パネルでの印刷キャンセル要求の操作に応答して、当該印刷を停止し、更に、前記印刷キャンセル要求に対応する印刷ジョブに起因して発生したエラーを復帰状態にする印刷キャンセル手段とを有することを特徴とする。
【００１１】
上記第１の側面によれば、プリンタの操作パネルでの印刷キャンセル要求の操作に応答して、印刷キャンセル要求に対応する印刷に起因して発生したエラーを復帰状態にするので、印刷キャンセル要求の操作を行うだけで、エラー状態を解除して次の印刷ジョブを開始可能にすることができ、特別のエラー状態解除の操作をオペレータに要求することがない。
【００１２】
上記の目的を達成するために、本発明の第２の側面は、ホストから印刷データを受信し、当該印刷データに対応する画像を印刷するプリンタにおいて、
印刷データを含む印刷ジョブデータをホストから受信して、当該印刷ジョブを実行する印刷手段と、
前記ホストでの印刷キャンセル要求の操作に応答して、当該印刷キャンセル要求に対応する印刷ジョブの印刷を停止し、更に、前記印刷キャンセル要求に対応する印刷ジョブに起因して発生したエラーを復帰状態にする印刷キャンセル手段とを有することを特徴とする。
【００１３】
上記第２の側面によれば、ホストでの印刷キャンセル要求の操作に応答して、プリンタに印刷ジョブのキャンセルを行う場合に、当該印刷キャンセル要求に対応する印刷に起因して発生したエラーを復帰状態にするので、ホスト側から印刷キャンセル要求の操作を行うだけで、エラー状態を解除して次の印刷ジョブを開始可能にすることができ、特別のエラー状態解除の操作をオペレータに要求することがない。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１５】
図１は、本発明の実施の形態例におけるプリンタの基本構成を示す図である。本実施の形態例のプリンタ１は、図1に示されるように、図示しないホストから印刷データを含む印刷ジョブデータを受信するデータ受信部３と、受信した印刷ジョブデータを一時保管する受信データバッファ５、受信したデータを解析するコマンド解析部７とを有する。
【００１６】
コマンド解析部７は、印刷ジョブデータの解析をし、それに含まれている印刷データをイメージバッファ展開部９に送るとともに、紙送り部１３に紙送り信号を送る。イメージバッファ展開部９は、コマンド解析部７から送られた印刷データをイメージバッファ１１内に印刷イメージデータとして展開し、ステータス管理部１５に印刷イメージデータを送る。
【００１７】
一方、紙送り部１３は、ステータス管理部１５に紙送り命令を送り、この紙送り命令に応答して、ステータス管理部１５は、印刷エンジン１７を駆動しペーパーフィード部１７Ｃに紙を送らせる。
【００１８】
ステータス管理部１５は、印刷ジョブに対する印刷の管理を行い、上述したように印刷エンジン１７を駆動する。この印刷エンジン１７は、インクジェットのヘッド動作部１７Ａ、キャリッジリターン部１７Ｂ、ペーパーフィード部１７Ｃ等からなり、これらの機械的動作部分を各々制御して印刷を実行する。
【００１９】
また、ステータス管理部１５は、ステータス情報作成部１９を介して、ホストからプリンタのステータス要求を受信し、そのステータス要求に応答して、ステータス情報作成部１９を介して、ステータス情報をホストに回答する。このステータス情報には、プリンタの内部情報が含まれ、内部情報を付加したステータス情報を回答する。この内部情報にはプリンタ側がエラーの時の情報が含まれ、プリンタのエラーには、例えば、印刷ジョブの用紙サイズと異なるサイズの用紙が給紙トレーに存在する場合の用紙サイズエラーや、給紙トレーに用紙が存在しない場合の用紙なしエラーや、ヘッドの温度が所定以上に上昇した場合のヘッドホットエラーや、インクが不足している場合のインクエラーや、インクカバーがオープンになっている場合のインクカバーオープンエラーや、用紙が詰まった状態の紙つまりエラーなどが含まれる。上記のエラーのうち、用紙サイズエラー、用紙なしエラー、ヘッドホットエラーなどは、特定の印刷ジョブに起因して発生するエラーであり、全ての印刷ジョブに共通するエラーではなく、別の印刷ジョブに対しては発生しないエラーであり、更に、オペレータによる特定のエラー解除のための操作を必要とするものでもない。一方、インクエラー、インクカバーオープンエラー、紙つまりエラーなどは、特定の印刷ジョブに起因して発生しても、他の印刷ジョブにも同様に発生する共通のエラーであり、オペレータによる何らかのエラー解除の操作を必要とする。
【００２０】
ホストは、ステータス情報の回答にエラー情報が付加されている時は、プリンタに印刷データを送らない。ホストは、プリンタが正常であるというステータス情報の回答を得るまで、ステータス情報を要求し続ける。そして、ホストはステータス情報の回答で、プリンタ側にエラーがなく印刷ができると判断した時に、プリンタへ印刷データの送信を再開する。
【００２１】
更に、ステータス管理部１５は、プリンタのパネルスイッチ２１にある各スイッチを押下することにより制御され、一方でその押下されたスイッチに対応する発光部を制御することでプリンタの状態を表示する。この発光部は、プリンタのパネルスイッチそのもの、もしくは各スイッチに対応したＬＥＤ等である。プリンタのパネルスイッチには、例えばリセットスイッチ２１Ａ、インクスイッチ２１Ｂ、用紙スイッチ２１Ｃ、電源スイッチ２１Ｄ等がある。
【００２２】
オペレータは、プリンタのパネルスイッチを押下することで、ステータス管理部１５に命令を伝達してプリンタを制御する。ステータス管理部１５は、この命令に応答して押下したスイッチを点灯または点滅させ、オペレータにプリンタの状態を伝達する。更に、プリンタ内部にエラーが発生すると、パネルの発光部が点滅などによりオペレータにエラーの発生を通知する。オペレータが一定の操作によりエラーを除去した後にエラー解除のパネル操作を行うと、プリンタのエラー状態が解除される。
【００２３】
ステータス管理部１５は、プリンタのエラー状態を管理するために、前述のエラーに対応してエラーステータスレジスタを有する。そして、エラーの発生に伴い、対応するエラーステータスレジスタをセットし、操作パネルからのエラー解除操作に応答して、エラー状態がなくなっていれば、エラーステータスレジスタをリセットする。そして、ステータス管理部１５は、そのエラーステータスレジスタの状態を、ステータス情報作成部１９に伝え、ステータス情報作成部１９が、ホストからのステータス要求に応答して、エラーステータスをホストに回答する。
【００２４】
次に、上記構成のプリンタにおいて、用紙サイズを間違えたり、カット紙とロール紙を間違えるなどの用紙サイズエラー等、印刷中の印刷ジョブをキャンセルしたい要求が生じた時の動作を説明する。
【００２５】
図２は、本実施の形態における印刷データの構成を示す図である。本実施の形態では、印刷ジョブの先頭と終端を識別できるように、ジョブスタートコマンドＪＳとジョブエンドコマンドＪＥとが印刷データPDATAの先頭と後端に付加されている。更に、ジョブを識別するジョブ識別情報JOBIDも付加されている。ジョブ識別情報は、どのホストからのどの印刷ジョブであることを識別可能な情報である。印刷データは、図２に示されるとおり、ヘッダと画像データからなるバンド単位の印刷データの集合である。ヘッダには、色情報、解像度、データ長、圧縮方式情報などの画像データの管理コマンドが含まれている。また、印刷データは、所定数のバンド毎に、画像の終了を示すコードZZZが付加されている。
【００２６】
図３は、本実施の形態においてプリンタのパネルスイッチから印刷ジョブをキャンセルするシーケンスチャートを示す図である。ホストコンピュータには、プリンタドライバがインストールされ、プリンタのステータスを管理するステータス管理手段ＳＴＭが設けられている。図３に示されるとおり、印刷開始にあたり、ドライバはプリンタにステータス要求を送信し（Ｓ３００）、それに応答して、プリンタは、ステータス情報作成部１９により現在のステータスを回答する（Ｓ３０２）。現在のステータスがエラー状態ではない通常状態であれば、ドライバは印刷ジョブの開始を示すジョブスタートコマンドＪＳを送信し（Ｓ３０４）、更に、ジョブ識別情報コマンドJOBIDを送信し（Ｓ３０６）、それに続いて、印刷データを送信する（Ｓ３０８）。これに応答して、プリンタは、印刷を開始する（Ｓ３１０）。印刷開始後でも、数秒毎にステータス要求とステータス回答が繰り返され、そのやりとりを通じて、ドライバは現在印刷対象のジョブ識別情報を取得している。
【００２７】
印刷を開始した段階で、用紙サイズエラーなどの何らかの理由でオペレータがその印刷ジョブをキャンセルするために、プリンタパネルのジョブキャンセルスイッチを操作すると（Ｓ３１２）、プリンタのステータス管理部１５は、そのスイッチ操作に応答して、即座に印刷を停止し、用紙を排出し、残っている印刷データの読み捨て処理を開始する（Ｓ３１４）。それと共に、プリンタは、ステータス情報作成部１９を介して、ジョブキャンセル要求を、ステータス要求に対する回答としてドライバに送信する（Ｓ３１６）。このジョブキャンセル要求のステータスが回答された時点では、ドライバはキャンセル対象のジョブ識別情報を取得済みである。若しくは、このステータス回答の時にジョブ識別情報JOBIDを送信してもよい。
【００２８】
また、プリンタのステータス管理部１９は、その時に発生しているエラーのうち、用紙サイズエラーや、用紙なしエラーのようにキャンセル対象の印刷ジョブに起因して発生したエラーであって、オペレータの補助を必要としないで復帰可能なエラーであれば、対応するエラーステータスレジスタをリセットしてエラー解除し、その後のホストからのデータ受信を可能にする。これにより、オペレータからの印刷ジョブキャンセルの操作のみで、復帰可能なエラーを復帰させることができ、オペレータによるエラー解除の操作を必要としない。また、オペレータによるエラー解除の操作を待たずに、次の印刷ジョブを開始することが可能になる。
【００２９】
ドライバは、ジョブキャンセル要求の通知を受け取ると、現在作成中の印刷ジョブかどうかを判断し（Ｓ３１８）、一致していれば、データ作成を中止し、作成中の印刷データにジョブエンドコマンドＪＥを付加して、プリンタに送信し、それ以上の印刷データの送信を中止する（Ｓ３２２）。また、一致していなければ、ドライバは、キャンセル対象の印刷データの送信を完了しているので、現在作成中の印刷データの作成を継続する。但し、ドライバは、印刷データの終端には必ずジョブエンドコマンドＪＥを付加しているので、プリンタの受信データバッファに格納されている送信済みの印刷データには、ジョブエンドコマンドＪＥが付加されている。更に、ドライバは、ジョブ取消要求コマンドをジョブ識別情報JOBIDと共にプリンタに送信する（Ｓ３２４）。工程Ｓ３２２とＳ３２４は順番が逆であってもよい。
【００３０】
プリンタは、ジョブ取消要求コマンドに応答して、ステータス情報作成部１９からジョブ取消中のステータスをドライバに返信する（Ｓ３２６）。また、プリンタのステータス管理部１５は、工程Ｓ３１４の印刷中断処理を継続し、データ読み捨て処理を、受信した印刷データのジョブエンドコマンドＪＥまで実行する。従って、複数の印刷ジョブを受付済みであっても、印刷をキャンセルされた印刷ジョブの印刷データのみを読み捨て処理することができる。工程Ｓ３１４の印刷中断処理中は、ドライバからのステータス要求に応答して、ジョブ取消中のステータスを通知する（Ｓ３２６）。やがて、印刷データの読み捨て処理が完了すると、プリンタは、取消終了をステータス回答としてドライバに通知する（Ｓ３２８）。ドライバは、この通知に応答して、ステータス要求Ｓ３３０を出して、通常状態とのステータス回答を受信すれば（Ｓ３３２）、次の印刷ジョブのデータを送信する。この時点で、キャンセル対象の印刷ジョブに起因する用紙サイズエラーなどのエラーが自動的に復帰済みであるので、次の印刷ジョブを即座に開始することができる。
【００３１】
図４は、本実施の形態におけるジョブキャンセル要求に応答するドライバ側の動作を説明する図である。図４（Ａ）では、プリンタのパネルスイッチからジョブキャンセルが要求されたとき、印刷中のジョブＩＤがJOB#1であり、ジョブキャンセル要求を受信した時のホストのドライバ側でデータ作成中のジョブＩＤがJOB#1と一致した場合を示す。この場合は、ホストのドライバは、現在進行中のデータ作成を中止し、印刷データにジョブエンドコマンドＪＥを付加して送信する。
【００３２】
一方、図４（Ｂ）では、プリンタのパネルスイッチからジョブキャンセルが要求されたとき、印刷中のジョブＩＤがJOB#1であり、ジョブキャンセル要求を受信した時にドライバ側でデータ作成中のジョブＩＤがJOB#2と不一致の場合を示す。この場合は、データ作成を継続して、即座にジョブエンドコマンドの送信は行わない。このように、ジョブ識別情報を付加したことにより、プリンタのパネルキャンセル要求時に、既にドライバ側で次の印刷ジョブの印刷データを作成中であれば、そのデータ作成を中止しないようにして、タイムラグが生じても、不適切にデータ作成が中止されないようにしている。
【００３３】
以上のように、本実施の形態では、ジョブ識別情報とジョブスタートコマンド及びジョブエンドコマンドを追加し、ジョブキャンセル要求に応答してドライバ側が印刷データにジョブエンドコマンドを付加してプリンタに送信する。これにより、プリンタ側は、キャンセル要求の対象となる印刷ジョブのみをデータ読み捨て処理することができる。更に、プリンタは、キャンセル要求された印刷ジョブに起因して発生したエラーであって、オペレータの操作を必要とすることなく復帰可能なエラーを、自動的に復帰し、ホストからのジョブエンドコマンドの受信を可能にする。
【００３４】
本実施の形態において、プリンタ側が適切に印刷データの読み捨て処理を行うためには、ドライバ側からジョブエンドコマンドを受信する必要がある。しかしながら、ネットワーク上の何らかの障害、仕様不足などにより、ジョブエンドコマンドを受信できない場合でも、ジョブキャンセルを行ってゴミ印刷が行われないようにすることが必要である。
【００３５】
図５は、ネットワークのコネクションエラーなどの緊急事態が発生した時の印刷ジョブキャンセルを説明するシーケンスチャート図である。図３と同じ工程には同じ番号を与えている。最初に、印刷ジョブを要求する時、ホストはプリンタとのコネクションを確立する（Ｓ３４０）。その後、ステータス要求Ｓ３００、ステータス回答Ｓ３０２、ジョブスタートコマンドの送信Ｓ３０４、ジョブ識別情報の送信Ｓ３０６、印刷データの送信Ｓ３０８、印刷開始Ｓ３１０までは、図３と同じである。印刷開始された後に、プリンタのパネルスイッチによるジョブキャンセル要求が操作されるとＳ３１２、図３と同様に、プリンタは、印刷を停止し、用紙を排紙し、印刷データの読み捨て処理を開始する（Ｓ３１４）。また、プリンタは、復帰可能なエラーを解除する。更に、プリンタは、ジョブキャンセル要求をステータスリプライでドライバに送信する（Ｓ３１６）。ドライバは、ジョブ識別情報により処理中の印刷ジョブと一致するか否かをチェックし（Ｓ３１８）、一致するならそのデータ作成を中止する（Ｓ３２０）。ここまでは、図３と同じである。
【００３６】
図５の例では、ネットワークケーブルが切断されたり、ネットワークの仕様上ジョブエンドコマンドを送信できなかったり、確立中のコネクションを介してデータが受信されなくなるなどの緊急事態が発生すると、プリンタに接続又は内蔵されているネットワークカードがタイムアウトによりコネクションエラーを検出する（Ｓ３４２，Ｓ３４４）。所定時間にわたってデータが受信されない場合は、ネットワークがクローズされたものとみなして、プリンタは、自己リセットを開始する（Ｓ３４６）。この自己リセットでは、受信済みの印刷ジョブのデータを全て削除し、ヘッドや給紙機構などをリセットするメカニカルリセットを行う。これにより、ドライバ側からジョブエンドコマンドＪＥを受信することができない場合でも、受信済みの印刷データを全て削除することができ、その後のゴミ印刷を回避することができる。
【００３７】
自己リセットが完了し、新たなコネクションが確立されると（Ｓ３４８）、以後、ステータス要求Ｓ３３０とステータス回答Ｓ３３２、それに続く印刷処理が行われる。自己リセットによりキャンセル対象の印刷データは全て破棄されているので、残されている印刷データと新たな印刷データとが結合されて意味不明のゴミ印刷が実行されることは回避される。
【００３８】
図６は、ホスト側から印刷ジョブをキャンセルする場合のシーケンスチャート図である。本実施の形態によれば、ホスト側から印刷ジョブをキャンセルする場合も、同様の仕様で対応することができる。図６において、ステータス要求Ｓ３００から印刷開始Ｓ３１０までは、図３と同じである。印刷が開始された時に、ホストのドライバのステータス管理手段STMからキャンセル要求が出されると（Ｓ３５０）、そのキャンセル要求がドライバに伝えられ、ドライバは対応する印刷データの生成を中止し、それ以降のデータ生成を行わない（Ｓ３５０）。そして、ドライバは、ジョブ取消要求をジョブ識別情報JOBIDと共にプリンタに送信し（Ｓ３５４）、更に、作成済みの印刷データにジョブエンドコマンドＪＥを付加してプリンタに送信する（Ｓ３５６）。
【００３９】
プリンタでは、ジョブ取消要求で指示されたジョブ識別情報JOBIDに対応する印刷データの印刷実行中であるか否かを確認し、一致すれば、印刷の停止、用紙の排紙、ジョブエンドコマンドまでの印刷データの読み捨て処理を行う（Ｓ３５８）。この時、キャンセル要求された印刷ジョブに起因して発生したエラーであって、オペレータの操作なしで復帰可能なエラー、例えば、用紙サイズエラーや、用紙なしエラーや、ヘッドホットエラーなどを解除する。ジョブ取消要求に対応する印刷ジョブが未だ印刷中でない場合は、印刷処理を中止せずに、受信データバッファ内のジョブ識別情報JOBIDに対応する印刷データをジョブエンドコマンドまで破棄する。これにより、ジョブ取消要求時と印刷時とにタイムラグが発生していても、ジョブ取消要求に対応する印刷ジョブのみを破棄することができる。
【００４０】
図６の印刷ジョブのキャンセルは、図３の実施の形態におけるシーケンスの工程Ｓ３１８以降の工程と同じであり、同じプリンタドライバで、プリンタのパネルスイッチからの印刷ジョブのキャンセルと、ドライバ側からのキャンセルとを実行することができる。しかも、ホスト側での印刷ジョブのキャンセル要求に応答して、プリンタ側ではその印刷ジョブに起因するエラーであって、復帰可能なエラーを復帰させるので、エラー解除に伴うオペレータの操作を別途必要とせずに、次の印刷ジョブの実行を可能にする。
【００４１】
上記実施の形態では、ホストのドライバからのジョブエンドコマンドを受信し、そのコマンドまでの印刷データの読み捨て処理を行う。しかし、ジョブエンドコマンドが何らかの理由により受信できない場合を想定して、コネクションエラーを検出して自己リセットすることで、ゴミ印刷を回避している。従って、好ましくは、プリンタは、１回のコネクションにおいて１つの印刷ジョブしか受け付けないようにする。そして、プリンタは受信した印刷ジョブを完了するまでは、次の印刷ジョブを受け付けないようにする。このようにすることで、自己リセットにより受信データバッファ内の印刷データが強制的に破棄されても、キャンセル対象外の印刷データまで破棄されることが防止できる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態例におけるプリンタの基本構成を示す図である。
【図２】本実施の形態における印刷データの構成を示す図である。
【図３】本実施の形態においてプリンタのパネルスイッチから印刷ジョブをキャンセルするシーケンスチャート図である。
【図４】本実施の形態におけるジョブキャンセル要求に応答するドライバ側の動作を説明する図である。
【図５】ネットワークのコネクションエラーなどの緊急事態が発生した時の印刷ジョブキャンセルを説明するシーケンスチャート図である。
【図６】ホスト側から印刷ジョブをキャンセルする場合のシーケンスチャート図である。
【符号の説明】
【００４３】
１：プリンタ、３：データ受信部、５：受信データバッファ、７：コマンド解析部
９：イメージバッファ展開部、１１：イメージバッファ、１３：紙送り制御部
１５：ステータス管理部、１７：印刷エンジン、１９：ステータス情報作成部
２１：パネルスイッチ
【図１】
2005067003.tif 000003
【図２】
2005067003.tif 000004
【図３】
2005067003.tif 000005
【図４】
2005067003.tif 000006
【図５】
2005067003.tif 000007
【図６】
2005067003.tif 000008