(57)【要約】【課題】発生したエラーを回避して印刷の続行を行うとともに、個々の印刷ジョブの出力結果をより好ましいものとする。【解決手段】印刷装置は、与えられた印刷ジョブに従って印刷を実行する。この印刷装置は、エラー検出部と、印刷条件変更部と、を備えている。エラー検出部は、印刷ジョブに設定された印刷条件によって印刷ジョブの印刷が完了しない可能性を表すエラーを検出する。また、印刷条件変更部は、エラー検出部がエラーを検出した場合に、印刷を完了し得るように印刷ジョブの印刷条件を変更する。印刷条件変更部による印刷ジョブの印刷条件の変更は、エラー検出部により検出されたエラーの種別と、エラーの種別に関連付けられエラーを回避するために印刷ジョブに対して設定される変更印刷条件とに基づいて行われる。【選択図】図６
2007276119.tif 000002
【特許請求の範囲】
【請求項１】
与えられた印刷ジョブに従って印刷を実行する印刷装置であって、
前記印刷ジョブに設定された印刷条件によって前記印刷ジョブの印刷が完了しない可能性を表すエラーを検出するエラー検出部と、
前記エラー検出部がエラーを検出した場合に、前記印刷を完了し得るように前記印刷ジョブの印刷条件を変更する印刷条件変更部と、
を備え、
前記印刷条件変更部は、前記エラー検出部により検出されたエラーの種別と、前記エラーの種別に関連付けられ前記エラーを回避するために前記印刷ジョブに対して設定される変更印刷条件とに基づいて、前記印刷ジョブの印刷条件を変更する、印刷装置。
【請求項２】
請求項１記載の印刷装置であって、
前記変更印刷条件は、前記印刷ジョブを前記印刷装置に与える際に前記印刷装置に供給されるデータにより設定される、印刷装置。
【請求項３】
請求項１記載の印刷装置であって、
前記印刷条件変更部は、前記エラー検出部が前記印刷の実行中に前記エラーを検出した場合に前記変更印刷条件を取得し、取得された変更印刷条件に基づいて前記印刷ジョブの印刷条件を変更する、印刷装置。
【請求項４】
請求項１ないし３のいずれか記載の印刷装置であって、
前記変更印刷条件は、前記エラーの種別に対して複数設定可能であり、
前記印刷条件変更部は、前記変更印刷条件が前記エラーの種別に対して複数設定された場合には、複数の変更印刷条件のそれぞれに設定された優先順位に従って、前記印刷条件の変更に適用する変更印刷条件を選択する、印刷装置。
【請求項５】
請求項１ないし４のいずれか記載の印刷装置であって、
前記エラー検出部により検出されたエラーが解除された場合に、前記印刷条件変更部により変更される前の印刷条件で印刷を実行する、印刷装置。
【請求項６】
与えられた印刷ジョブに従って印刷を実行する印刷装置の制御方法であって、
（ａ）前記印刷ジョブに設定された印刷条件によって前記印刷ジョブの印刷が完了しない可能性を表すエラーを検出する工程と、
（ｂ）前記工程（ａ）でエラーが検出された場合に、前記印刷を完了し得るように前記印刷ジョブの印刷条件を変更する工程と、
を備え、
前記工程（ｂ）は、前記工程（ａ）で検出されたエラーの種別と、前記エラーの種別に関連付けられ前記エラーを回避するために前記印刷ジョブに対して設定される変更印刷条件とに基づいて、前記印刷ジョブの印刷条件を変更する、印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、印刷装置において発生したエラーを回避することにより、印刷を続行する技術に関する。
【背景技術】
【０００２】
一般に、印刷装置においては、印刷用紙がなくなる用紙切れ等のエラーの発生により、印刷を続行できない状態（エラー状態）となる場合がある。印刷装置がエラー状態になると、エラー状態が解除されるまで実行中の印刷ジョブが中断される。また、実行中の印刷ジョブが中断されると、後続の印刷ジョブがそのエラー状態で印刷可能であっても、エラー状態が解除され実行中の印刷ジョブの処理が完了するまでその実行が延期され、印刷装置の利用効率が低下する。このような問題を解決するため、プリンタに予めエラーを回避する条件を設定することにより、発生したエラーを回避して印刷を続行する方法が提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００２−２６４４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、エラー回避の条件をプリンタに設定すると、印刷ジョブによっては、出力結果が好ましくないものとなる可能性がある。
【０００５】
本発明は、上述した従来の課題を解決するためになされたものであり、発生したエラーを回避して印刷の続行を行うとともに、個々の印刷ジョブの出力結果をより好ましいものとすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的の少なくとも一部を達成するために、本発明の印刷装置は、与えられた印刷ジョブに従って印刷を実行する印刷装置であって、前記印刷ジョブに設定された印刷条件によって前記印刷ジョブの印刷が完了しない可能性を表すエラーを検出するエラー検出部と、前記エラー検出部がエラーを検出した場合に、前記印刷を完了し得るように前記印刷ジョブの印刷条件を変更する印刷条件変更部と、を備え、前記印刷条件変更部は、前記エラー検出部により検出されたエラーの種別と、前記エラーの種別に関連付けられ前記エラーを回避するために前記印刷ジョブに対して設定される変更印刷条件とに基づいて、前記印刷ジョブの印刷条件を変更することを特徴とする。
【０００７】
この構成によれば、印刷ジョブに設定された印刷条件を変更印刷条件に基づいて変更することにより、エラーを回避して印刷を続行することが可能になる。また、変更印刷条件が印刷ジョブに対して設定されることにより、個々のジョブに対してより適した変更印刷条件を設定することが可能であるので、個々の印刷ジョブの出力結果をより好ましいものにすることができる。
【０００８】
前記変更印刷条件は、前記印刷ジョブを前記印刷装置に与える際に前記印刷装置に供給されるデータにより設定されるものとしても良い。
【０００９】
この構成によれば、印刷ジョブを印刷装置に与える際のデータにより変更印刷条件が設定されるので、印刷ジョブの実行中断状態をより短縮することができる。
【００１０】
前記印刷条件変更部は、前記エラー検出部が前記印刷の実行中に前記エラーを検出した場合に前記変更印刷条件を取得し、取得された変更印刷条件に基づいて前記印刷ジョブの印刷条件を変更するものとしても良い。
【００１１】
この構成によれば、検出されたエラーに応じて変更印刷条件を設定できるので、より柔軟に変更印刷条件を設定することができる。
【００１２】
前記変更印刷条件は、前記エラーの種別に対して複数設定可能であり、前記印刷条件変更部は、前記変更印刷条件が前記エラーの種別に対して複数設定された場合には、複数の変更印刷条件のそれぞれに設定された優先順位に従って、前記印刷条件の変更に適用する変更印刷条件を選択するものとしても良い。
【００１３】
この構成によれば、複数の変更印刷条件を設定することにより、複数の原因でエラーが発生した場合においても、エラーを回避して印刷を続行することが可能となる。また、複数の変更印刷条件に優先順位を設けることにより、個々の印刷ジョブにより適した変更印刷条件でエラーの回避を行うことができる。
【００１４】
前記印刷装置は、前記エラー検出部により検出されたエラーが解除された場合に、前記印刷条件変更部により変更される前の印刷条件で印刷を実行するものとしても良い。
【００１５】
この構成によれば、印刷ジョブの実行中に発生したエラーが解除された場合、個々の印刷ジョブに設定されている当初の印刷条件により近い印刷条件で印刷が実行される。そのため、エラー解除後の印刷結果をより印刷ジョブに適したものとすることができる。
【００１６】
なお、本発明は、種々の態様で実現することが可能である。例えば、印刷装置と印刷装置の制御方法、それらの印刷装置と制御方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．変形例：
【００１８】
Ａ．第１実施例：
図１は、本発明の第１実施例を適用するネットワークシステム１０の構成を示す説明図である。このネットワークシステム１０は、３台のクライアントＣＬ１〜ＣＬ３と、２台のプリンタＰＲＴ１，ＰＲＴ２とが、ローカルエリアネットワークＬＡＮを介して互いに接続された構成となっている。ローカルエリアネットワークＬＡＮとしては、例えば、ＩＥＥＥ８０２．３で規定される有線ネットワークや、ＩＥＥＥ８０２．１１ｂ／ｇ／ａなどの無線ネットワークが使用される。
【００１９】
クライアントＣＬ１〜ＣＬ３のユーザがプリンタＰＲＴ１，ＰＲＴ２に印刷を実行させる場合、クライアントＣＬ１〜ＣＬ３からプリンタＰＲＴ１，ＰＲＴ２にジョブデータ（後述する）が送信される。これらのジョブデータは、ＴＣＰ／ＩＰ等のネットワークプロトコルに従った通信データとして、クライアントＣＬ１〜ＣＬ３から特定のプリンタＰＲＴ１，ＰＲＴ２に送信される。
【００２０】
ジョブデータの送信をＴＣＰ／ＩＰを用いて行う場合、ジョブデータの送信先はＩＰアドレスにより特定される。なお、ジョブデータの送信に用いるネットワークプロトコルは、ＴＣＰ／ＩＰに限らず、ローカルエリアネットワークＬＡＮを介してプリンタへのジョブデータ送信が可能であれば任意のネットワークプロトコルを使用することができる。例えば、Ａｐｐｌｅｔａｌｋ（登録商標）などのネットワークプロトコルを使用することも可能である。
【００２１】
図１の例では、第１のクライアントＣＬ１のユーザがプリンタＰＲＴ１に印刷を実行させているので、クライアントＣＬ１からプリンタＰＲＴ１にジョブデータＪＤ１が送信されている。同様に、プリンタＰＲＴ１には、第２のクライアントＣＬ２からジョブデータＪＤ２が送信されている。一方、第３のクライアントＣＬ３からは、プリンタＰＲＴ２にジョブデータが送信されている。これにより、プリンタＰＲＴ１では、第１および第２のクライアントＣＬ１，ＣＬ２のユーザの指示に従って印刷が実行される。そして、第２のプリンタＰＲＴ２は、第３のクライアントＣＬ３のユーザの指示に従って印刷を実行する。
【００２２】
図２は、プリンタＰＲＴとクライアントＣＬとのそれぞれの構成を示す説明図である。なお、図１に示す３台のクライアントＣＬ１〜ＣＬ３はいずれも同様な構成であるので、図２では、これらのクライアントＣＬ１〜ＣＬ３を代表するクライアントとして１つのクライアントＣＬを図示している。同様に、図１に示す２台のプリンタＰＲＴ１，ＰＲＴ２はいずれも同様な構成であるので、これらのプリンタＰＲＴ１，ＰＲＴ２を代表するプリンタとして１つのプリンタＰＲＴを図示している。
【００２３】
クライアントＣＬは、アプリケーション１１０と、ジョブデータ生成部１２０と、ＴＣＰ／ＩＰ処理部１３０とを有している。クライアントＣＬのユーザは、アプリケーション１１０を操作することにより、印刷対象となる文書を作成する。作成された文書の印刷を行う場合、クライアントＣＬのユーザは、アプリケーション１１０に文書を印刷する指示を与える。ユーザの印刷指示に従って、アプリケーション１１０は、文書を印刷するためのデータをジョブデータ生成部１２０に供給する。ジョブデータ生成部１２０は、プリンタＰＲＴで印刷を実行させるための印刷コマンドを生成し、印刷コマンドを含むジョブデータをＴＣＰ／ＩＰ処理部１３０に供給する。ＴＣＰ／ＩＰ処理部１３０は、ジョブデータをＴＣＰ／ＩＰに従った通信データとしてローカルエリアネットワークＬＡＮを介してプリンタＰＲＴに送信する。
【００２４】
プリンタＰＲＴは、ネットワーク処理部２００と、プリンタ制御部３００と、プリントエンジン４００と、を備えている。ネットワーク処理部２００と、プリンタ制御部３００とは、それぞれ、図示しない中央処理装置（ＣＰＵ）とメモリとを備えるコンピュータとして構成されている。プリントエンジン４００は、与えられた印刷データに応じて印刷を実行する印刷機構であり、シアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ）と黒（Ｋ）との４色のトナーを用いてカラー印刷を実行する機能を有している。但し、プリントエンジン４００は、４色のトナーを用いてカラー印刷を行うものに限定されない。プリントエンジン４００は、例えば、モノクロ印刷のみを実行するプリントエンジンであっても良く、インクジェット方式のプリントエンジンであっても良い。
【００２５】
ネットワーク処理部２００は、ＴＣＰ／ＩＰ処理部２１０と、印刷ジョブ受信部２３０と、印刷ジョブ実行部２４０と、代替処理情報格納部２５０と、を備えている。ＴＣＰ／ＩＰ処理部２１０は、クライアントＣＬから供給されるＴＣＰ／ＩＰに従った通信データを受信し、通信データに含まれるジョブデータを印刷ジョブ受信部２３０に供給する。
【００２６】
印刷ジョブ受信部２３０と印刷ジョブ実行部２４０とは、ＴＣＰ／ＩＰ処理部２１０から供給されるジョブデータから印刷コマンドを抽出する。抽出された印刷コマンドは、プリンタ制御部３００が有するプリントバッファ３１０に供給される。プリントバッファ３１０に供給された印刷コマンドは、プリンタ制御部３００により解釈され、プリントエンジン４００での印刷に使用される印刷データが生成される。生成された印刷データがプリントエンジン４００に供給されることにより、プリントエンジン４００からアプリケーション１１０を用いて作成された文書が印刷される。なお、印刷ジョブ受信部２３０と、印刷ジョブ実行部２４０と、代替処理情報格納部２５０との詳細な機能については、後述する。
【００２７】
図３は、クライアントＣＬからプリンタＰＲＴに送信されるジョブデータの一例を示している。ジョブデータＪＤは、図３（ａ）に示すように、ジョブ制御言語部５０１と、ページ記述言語部５０２を有している。ページ記述言語部５０２は、印刷内容を表す印刷コマンドが所定のページ記述言語を用いて記述されている部分である。ページ記述言語としては、ESC/PageやPostscript等が使用される。ジョブ制御言語部５０１には、ページ記述言語部５０２に記述された印刷コマンドに基づいて印刷を行うための設定が、所定のジョブ制御言語を用いて記述されている。
【００２８】
図２の印刷ジョブ実行部２４０は、ジョブ制御言語部５０１に含まれる情報を解釈し、その解釈結果に基づいてプリンタ制御部３００で行われる種々の印刷処理の条件（印刷処理条件）を設定する。このように、ジョブ制御言語部５０１に含まれる情報に基づいてプリンタ制御部３００での印刷処理条件が設定されることにより、プリントエンジン４００（図２）からジョブ制御言語部５０１に含まれる情報の指定内容に従って出力が行われる。なお、印刷処理条件は、印刷を行うために設定される条件であるので、「印刷条件」とも呼ぶことができる。
【００２９】
図３（ｂ）は、ジョブ制御言語部５０１に記述された内容の具体例を示している。図３の例では、ジョブ制御言語は、ＥＪＬ（Epson Job Language）を用いて記述されている。但し、ジョブ制御言語としては、例えば、ＸＭＬ（eXtensible Markup Language）等のＥＪＬとは異なる言語を使用することも可能である。
【００３０】
ジョブ制御言語部５０１には、ジョブ情報ＪＩと、印刷設定情報ＳＴと、代替処理設定情報ＡＰとが記述されている。ジョブ情報ＪＩには、印刷ジョブ発行の日時（ＤＡＴＥ）や、ページ記述言語部５０２中の印刷コマンドで表されるページの総数（総ページ数：ＰＡＧＥＳ）等が含まれている。印刷設定情報ＳＴには、印刷用紙サイズ（ＰＳ）、印刷部数（ＱＴ）等の印刷処理条件を設定するための情報と、ページ記述言語部５０２の記述に使用されているページ記述言語の種別を表す情報（ＬＡ）と、が含まれている。
【００３１】
代替処理設定情報ＡＰは、プリントエンジン４００（図２）やプリンタ制御部３００においてエラーが発生した場合、エラーを回避して印刷を続行しうるようにプリンタ制御部３００に設定される印刷処理条件を表す情報である。なお、本明細書において、「エラー」とは、予め設定された印刷処理条件により印刷が続行できない状態の他、その印刷処理条件により印刷が完了しない可能性がある状態を含む状態をいう。
【００３２】
これらの代替処理設定情報ＡＰは、図２に示す印刷ジョブ受信部２３０により解釈される。そして、解釈結果が代替処理情報格納部２５０（図２）に格納される。図３の例では、代替処理設定情報ＡＰには、４種類のパラメータ（COLOR，SIZE，LOWRESOLUTION，SINGLESIDE）と、それぞれのパラメータに対する設定値が記述されている。なお、第１の種類のパラメータ（COLOR）は、異なる設定値で３回記述されている。
【００３３】
図４は、図３（ｂ）に示す代替処理設定情報ＡＰが解釈された場合に、代替処理情報格納部２５０に格納される情報（以下、単に「代替処理情報」とも呼ぶ）を示している。図４のハッチング部分は、図３（ｂ）に示す代替処理設定情報ＡＰにより、代替処理が適用されるように設定された部分を示している。なお、以下では、代替処理が適用されるように設定することを「代替処理を適用する」ともいう。図４に示すように、プリントエンジン４００やプリンタ制御部３００において発生し得るエラーの種別毎に、各エラーに対して適用可能な代替処理が分類されている。適用可能な代替処理の数は、エラーの種別によって異なっている。
【００３４】
なお、エラーの種別と代替処理との関係は、図４の例に示すものに限定されず、プリンタの特性などに応じて適宜設定される。エラー種別は、図４とは別の方法で分類することも可能である。また、図４に示した代替処理の一部を省略し、あるいは、図４に示していない代替処理を追加することも可能である。一般に、エラーの種別に対応付けられた代替処理が予め定められており、代替処理を適用することにより対応するエラーを回避して印刷を続行しうるものであれば、エラー種別と代替処理との組み合わせは任意に設定することが可能である。
【００３５】
図４に示す代替処理情報では、設定値が０である場合、対応する代替処理が適用されないことを表している。一方、設定値が０でない場合、対応するエラーが発生した場合には、代替処理が適用されることを表している。１つのエラー種別に対して適用可能な代替処理が複数ある場合、設定値にはそれらの代替処理の優先順位を表す値が格納される。但し、代替処理に優先順位を付けないものとしても良い。この場合、適用可能な代替処理が複数あるエラー種別に対しては、例えば、代替処理設定情報ＡＰ（図３（ｂ））では代替処理を適用するか否かのみを記述し、デフォルトの優先順位に従って適用される代替処理が選択される。
【００３６】
図３（ｂ）の例では、モノクロ印刷中に黒トナーがなくなった（黒トナーエンド）場合、カラートナーで印刷することを許容すること（ＣＯＬＯＲ）が記述されている。第１実施例の代替処理設定情報ＡＰでは、記述が先の方から後の方に行くに従って、優先順位が低くなっている。そのため、黒トナーエンドに対する代替処理としては、図４に示すように、シアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ）の各トナーを使用して印刷する処理が最優先される。そして、イエロー（Ｙ）トナーがない場合には、ＣＭＹの各トナーでの印刷ができないので、次の優先順位のＣＭの各トナーを用いた印刷が代替処理となる。さらに、マゼンタ（Ｍ）トナーがない場合には、シアン（Ｃ）トナーを用いた印刷が代替処理となる。
【００３７】
図４の例では、カラー印刷中に発生しうるエラーの種別として、ＣＭＹのいずれかのトナーがなくなったカラートナーエンドと、ＣＭＹＫのいずれかのトナーがなくなったトナーエンドと、の２つのエラーが示されている。なお、ＣＭＹのいずれかのトナーがなくなった場合には、モノクロ印刷を行う代替処理と、残量のあるトナーのみで印刷を行う代替処理との、２つの代替処理のうちから適用される代替処理が選択される。
【００３８】
図４に示すように、ＣＭＹＫのいずれかのトナーの残量が所定の下限値に到達した場合（トナーニアエンド）の代替処理としては、トナーの消費量が低減されるトナー節約モード（「ドラフト印刷モード」とも呼ばれる）で印刷する代替処理が設定可能となっている。
【００３９】
指定用紙が切れた場合、代替処理では指定用紙とは異なる用紙での印刷が行われる。指定用紙切れの場合には、図４に示すように、印刷用紙サイズを変更する（例えば、Ａ３からＡ４）代替処理と、指定用紙種類を変更する（例えば、色紙から白紙）代替処理とが設定可能である。指定用紙の残量が少ない場合には、残りの指定用紙で印刷可能な範囲まで印刷を行う部分印刷が代替処理として設定可能である。
【００４０】
また、図４の例では、プリンタ制御部３００（図２）が備えるメモリの容量の制限等により高解像度（例えば、６００ｄｐｉ）での印刷ができない場合の代替処理として、低解像度（例えば、３００ｄｐｉ）で印刷する代替処理が設定できる。両面印刷を行うための両面印刷ユニットが故障した場合には、両面印刷に替えて片面印刷を行う代替処理が設定できる。
【００４１】
プリンタＰＲＴ（図２）がステープラ止めを自動で行う機能を有しており、ステープラがなくなったステープラ切れが発生した場合には、ステープラ止めを省略する代替処理が設定可能である。さらに、プリンタＰＲＴが、受信した印刷ジョブを他のプリンタに振り分ける分散印刷が可能なように構成されている場合、印刷ジョブの振り分け先のプリンタが停止しているとき（分散先プリンタ停止）の代替処理として、印刷ジョブの振り分けを行わずにプリンタＰＲＴ単体で印刷を実行する処理が設定可能である。
【００４２】
図５は、印刷ジョブ受信部２３０（図２）により実行される印刷ジョブ受信ルーチンを示すフローチャートである。図５に示す印刷ジョブ受信ルーチンは、プリンタＰＲＴの起動の際に実行が開始される。
【００４３】
ステップＳ１１０では、印刷ジョブ受信部２３０がクライアントＣＬから印刷ジョブを受信したか否かを判断する。印刷ジョブを受信した場合、制御はステップＳ１２０に移される。一方、印刷ジョブを受信しなかった場合、制御は戻され、印刷ジョブを受信するまでステップＳ１１０が繰り返し実行される。
【００４４】
ステップＳ１２０において、印刷ジョブ受信部２３０は、受信した印刷ジョブに印刷ジョブを特定するためのジョブ番号を割り当て、ジョブ番号をジョブキュー（図示しない）に登録する。なお、ジョブ番号とは、印刷ジョブの受信順に大きくなる連続番号である。ジョブデータは、割り当てられたジョブ番号に対応付けられて、プリンタＰＲＴが有するメモリの一部である図示しない印刷ジョブ格納部に格納される。なお、第１実施例では、プリンタＰＲＴが印刷ジョブ格納部を有しているものとしているが、印刷ジョブ格納部をローカルエリアネットワークＬＡＮに接続された他のネットワークデバイスに設けるものとしても良い。
【００４５】
ステップＳ１３０において、印刷ジョブ受信部２３０は、ジョブ制御言語部５０１（図３）に代替処理設定情報ＡＰ（図３）が含まれているか否かを判断する。代替処理設定情報ＡＰが含まれていると判断した場合、制御はステップＳ１４０に移される。代替処理設定情報ＡＰが含まれていないと判断した場合、制御はステップＳ１１０に戻され、印刷ジョブ受信部２３０は印刷ジョブの受信待ちの状態になる。
【００４６】
ステップＳ１４０において、印刷ジョブ受信部２３０は、ジョブ制御言語部５０１の代替処理設定情報ＡＰの記述を解釈し、代替処理情報（図４）を生成する。そして、生成された代替処理情報をジョブ番号に対応付けて代替処理情報格納部２５０（図２）に保存する。代替処理情報の保存の後、制御はステップＳ１１０に戻され、印刷ジョブ受信部２３０は印刷ジョブの受信待ちの状態になる。
【００４７】
図６は、印刷ジョブ実行部２４０（図２）により実行される印刷ジョブ実行ルーチンを示すフローチャートである。この印刷ジョブ実行ルーチンも、図５に示す印刷ジョブ受信ルーチンと同様に、プリンタＰＲＴの起動の際に実行が開始される。
【００４８】
ステップＳ２１０において、印刷ジョブ実行部２４０は、未印刷の印刷ジョブの有無を判断する。未印刷の印刷ジョブの有無は、ジョブキューにジョブ番号が登録されているか否かを調べることにより判断することが可能である。未印刷の印刷ジョブがある場合には、制御はステップＳ２２０に移される。一方、未印刷の印刷ジョブがない場合には、制御は戻されてステップＳ２１０が繰り返し実行される。
【００４９】
ステップＳ２２０では、未印刷のジョブ番号に対応付けられ、印刷ジョブ格納部に格納されたジョブデータが取り出される。そして、ステップＳ２３０において、印刷ジョブ実行部２４０は、取り出されたジョブデータに含まれるジョブ制御言語部５０１（図３）の記述を解釈して得られる印刷処理条件をプリンタ制御部３００（図２）に設定する。
【００５０】
ステップＳ２４０において、印刷ジョブ実行部２４０は、ジョブデータからページ記述言語部５０２に登録されている印刷コマンドを抽出し、プリンタ制御部３００に転送する。印刷コマンドの転送により、プリンタ制御部３００により生成された印刷データがプリントエンジン４００に供給され、印刷が実行される。そして、印刷が終了した時、あるいは、エラーの発生により印刷が中断した時、制御はステップＳ２５０に移される。
【００５１】
ステップＳ２５０において、印刷ジョブ実行部２４０は、エラーの発生により印刷が中断したか否かを判断する。エラーの発生は、印刷ジョブ実行部２４０がプリンタ制御部３００からエラー状態を表す情報を取得することにより判断することができる。エラーが発生した場合、制御はステップＳ２５０に移される。一方、エラーが発生することなく印刷が終了した場合には、制御はステップＳ２１０に戻される。
【００５２】
ステップＳ２６０において、印刷ジョブ実行部２４０は、代替処理情報格納部２５０にジョブ番号に対応付けて格納された代替処理情報（図４）から、エラーを回避して実行中の印刷ジョブの印刷を続行可能か否かを判断する。具体的には、発生したエラーの種別に対して、適用可能な代替処理が設定されている場合、印刷の続行が可能と判断される。印刷の続行が可能と判断された場合、制御はステップＳ３００に移される。一方、印刷の続行が不可能と判断された場合には、制御はステップＳ２７０に移される。
【００５３】
ステップＳ２７０では、エラーが解除されたかが判断され、エラーが解除されるまでステップＳ２７０が繰り返し実行される。エラーが解除された場合、ステップＳ２８０において、印刷ジョブ実行部２４０がプリンタ制御部３００に印刷再開する指示を転送することにより、中断した印刷が再開される。
【００５４】
図７は、図６のステップＳ３００で実行される印刷続行サブルーチンを示すフローチャートである。ステップＳ３１０において、印刷ジョブ実行部２４０は、発生したエラーの種別と代替処理情報格納部２５０に格納された代替処理情報（図４）とに基づいて、印刷処理条件を代替処理条件に変更する。具体的には、印刷ジョブ実行部２４０は、代替処理情報格納部２５０に格納された代替処理情報から、発生したエラーを回避するための代替処理を選択する。そして、選択された代替処理により印刷処理を行うように、印刷処理条件を変更する指示をプリンタ制御部３００に転送する。ステップＳ３１０における印刷処理条件の変更の後、ステップＳ３２０において印刷ジョブ実行部２４０がプリンタ制御部３００に印刷再開する指示を転送することにより、代替処理による印刷が続行される。
【００５５】
なお、上述の説明から理解できるように、印刷ジョブ実行部２４０は、エラーの発生を検出するエラー検出部としての機能と、印刷処理条件（印刷条件）を変更する印刷条件変更部としての機能と、を有している。また、代替処理情報は印刷条件を変更するための条件であるので、代替処理情報は、印刷条件を変更する変更印刷条件ともいうことができる。
【００５６】
図８は、クライアントＣＬ（図２）において代替処理の設定が行われる様子を示している。第１実施例においては、代替処理設定情報ＡＰを含むジョブデータがクライアントＣＬからプリンタＰＲＴ（図２）に送信されることにより、代替処理が設定される。そのため、プリンタＰＲＴで代替処理を適用するか否かの設定は、クライアントＣＬのユーザがアプリケーション１１０（図２）に対して印刷指示を与える以前に設定される。
【００５７】
ユーザがクライアントＣＬ上でプリンタの印刷処理条件を設定する操作を行うと、クライアントＣＬには、図８に示すプロパティ設定画面Ｗ１が表示される。プロパティ設定画面Ｗ１は、印刷を行う際の種々の印刷処理条件を設定するための複数のタブが設けられている。ユーザが各タブを選択することによって、クライアントＣＬには、「基本設定」，「レイアウト」，「代替処理」等の種々の設定画面が表示される。また、プロパティ設定画面Ｗ１には、「ＯＫ」ボタンＢ１などの種々のボタンが設けられている。
【００５８】
図８では、プロパティ設定画面Ｗ１の複数のタブのうち「代替処理」タブが選択されており、プロパティ設定画面Ｗ１上には代替処理設定画面Ｗ２が表示されている。代替処理設定画面Ｗ２には、「エラー時の代替処理」設定フィールドＦ２と、２つの「詳細設定」ボタンＢ２ａ，Ｂ２ｂが設けられている。「エラー時の代替処理」設定フィールドＦ２内には、代替処理情報（図４）中の各項目に対応するエラーの種別と、各エラー種別に適用される代替処理が表示される。エラー種別の左側には、個々のエラー種別に対応してチェックボックスが設けられている。これらのチェックボックスにチェックマークを付与することにより、各エラー種別に対して対応する代替処理が設定される。
【００５９】
設定フィールドＦ２のうち、複数の代替処理が適用可能なエラー種別（黒トナーエンド、指定用紙切れ）に対しては、設定フィールドＦ２の右端に「詳細設定」ボタンＢ２ａ，Ｂ２ｂがそれぞれ設けられている。ユーザがこれらのボタンＢ２ａ，Ｂ２ｂをクリックすると、複数の代替処理のうちいずれの代替処理を設定するかを指定する詳細設定画面がクライアントＣＬに表示される。
【００６０】
図９は、黒トナーエンド時の代替処理を設定する詳細設定画面Ｗ３を示している。この詳細設定画面Ｗ３は、ユーザが図８に示す黒トナーエンドに対して設けられている詳細設定ボタンＢ２ａをクリックすることにより、クライアントＣＬに表示される。詳細設定画面Ｗ３には、複数の代替処理のうち適用される代替処理を設定する設定フィールドＦ３と、優先順位を変更する２つのボタンＢ３ａ，Ｂ３ｂと、「ＯＫ」ボタンＢ３ｃ等の種々のボタンとが設けられている。
【００６１】
設定フィールドＦ３内には、黒トナーの代わりに使用されるトナー（代替トナー）と、それぞれの代替トナーを使用して印刷した場合に印刷される色（印刷色）とが表示される。代替トナーの表示の左側には、個々の代替トナーに対応してチェックボックスが設けられている。これらのチェックボックスにチェックマークを付与することにより、各代替トナーを黒トナーの代わりに使用して印刷する代替処理が設定される。
【００６２】
ユーザは、設定フィールドＦ３のうち、特定の代替トナー名が表示されている領域をクリックすることにより、特定の代替トナーを選択することができる。図９の例では、シアン（Ｃ）トナーが選択されており、代替トナー名として「Ｃトナー」が表示されている領域Ｒ３が反転表示されている。ユーザが優先順位を高くするためのボタンＢ３ａをクリックすると、選択された代替トナーの表示は順次上方に移動し、選択された代替トナーを用いる代替処理の優先順位が高くなる。一方、ユーザが優先順位を低くするためのボタンＢ３ｂをクリックすると、選択された代替トナーの表示は順次下方に移動し、選択された代替トナーを用いる代替処理の優先順位が低くなる。
【００６３】
このようにして、黒トナーエンド時の代替処理を設定した後ユーザが「ＯＫ」ボタンＢ３ｃをクリックすると、詳細設定画面Ｗ３は閉じられ、図８に示すプロパティ設定画面Ｗ１がクライアントＣＬに表示される。そして、ユーザがプロパティ設定画面Ｗ１に設けられた「ＯＫ」ボタンＢ１をクリックすると代替処理の設定がクライアントＣＬの図示しないメモリに格納される。
【００６４】
ユーザの印刷指示に従って文書を印刷をする際には、クライアントＣＬのジョブデータ生成部１２０（図２）は、クライアントＣＬのメモリに格納された代替処理の設定に基づいて代替処理設定情報ＡＰ（図３）を生成する。生成された代替処理設定情報ＡＰを含むジョブデータがプリンタＰＲＴに送信されることにより、ジョブデータに対応するプリンタＰＲＴの印刷ジョブに対して代替処理の設定が行われる。
【００６５】
このように、第１実施例では、エラーの発生により印刷が中断した場合には、代替処理条件に印刷処理条件が変更され、印刷処理条件の変更の後、印刷が再開される。代替処理条件を設定して印刷を再開することにより、印刷の中断の原因となったエラーを回避し、エラーの発生で中断した印刷を続行することが可能となる。
【００６６】
また、第１実施例では、クライアントＣＬからプリンタＰＲＴに送信されるジョブデータに、代替処理を設定するための代替処理設定情報ＡＰが含まれている。そのため、プリンタＰＲＴは、エラーが発生した場合に適用する代替処理を印刷ジョブ毎に設定することができる。そのため、エラーが発生した場合には、印刷ジョブ毎に設定された代替処理により印刷が続行されるので、エラー発生時の処理を印刷ジョブに適したものにすることができる。
【００６７】
Ｂ．第２実施例：
図１０は、第２実施例における印刷続行サブルーチンを示すフローチャートである。第２実施例は、図６に示す印刷ジョブ実行ルーチンのステップＳ３００で実行される印刷続行サブルーチンが図７に示すサブルーチンと異なっている点で第１実施例と異なっている。他の点は、第１実施例と同様である。
【００６８】
ステップＳ３０２において、印刷ジョブ実行部２４０（図２）は、印刷ジョブのうち印刷が完了した範囲（既印刷範囲）をプリンタ制御部３００（図２）から取得する。具体的には、エラーの発生により印刷が中断するまでに印刷されたページが、印刷ジョブの何部目の何ページ目であるかを取得する。その後、ステップＳ３０４において、印刷ジョブ実行部２４０は、プリンタ制御部３００に印刷処理をキャンセルする指示を供給する。
【００６９】
ステップＳ３０４において、印刷ジョブ実行部２４０は、実行中の印刷ジョブのジョブ番号を参照することにより、印刷ジョブ格納部から実行中の印刷ジョブに対応するジョブデータを取り出す。
【００７０】
ステップＳ３１２において、印刷ジョブ実行部２４０は、取り出されたジョブデータに含まれるジョブ制御言語部５０１の記述を解釈して印刷処理条件を取得する。印刷ジョブ実行部２４０は、ジョブデータで指定されている印刷処理条件のうち発生したエラーに応じて代替処理を適用することにより印刷処理条件を代替処理条件に変更する。そして、変更後の印刷処理条件をプリンタ制御部３００に設定する。
【００７１】
ステップＳ３１４において、印刷ジョブ実行部２４０は、印刷開始位置を設定する。具体的には、印刷ジョブ格納部からジョブデータを取り出し、ジョブデータ（図３）中に含まれる印刷部数Ｍ（ＱＴ）および総ページ数Ｎ（ＰＡＧＥＳ）を抽出する。印刷ジョブ実行部２４０は、抽出された印刷部数Ｍおよび総ページ数Ｎと、ステップＳ３０２で取得された既印刷範囲とに基づいて印刷開始位置を算出し、プリンタ制御部３００に設定する。
【００７２】
印刷開始位置（ｍ１部目のｎ１ページ）は、ステップＳ３０２において取得された既印刷範囲がｍ０部目のｎ０ページ目であった場合、例えば、以下の式を用いて求めることができる。
１．ｎ０＝Ｎの場合：ｍ１＝ｍ０＋１、ｎ１＝１
２．ｎ０≠Ｎの場合：ｍ１＝ｍ０、ｎ１＝ｎ０＋１
【００７３】
ステップＳ３２２において、印刷ジョブ実行部２４０は、ジョブデータからページ記述言語部５０２に登録されている印刷コマンドを抽出し、プリンタ制御部３００に転送する。印刷コマンドを転送することにより、ステップＳ３１４で設定された印刷開始位置から、ステップＳ３１２で設定された印刷処理条件での印刷が実行される。
【００７４】
このように、第２実施例では、エラーの発生により印刷が中断した場合には、印刷中断以前の既印刷範囲を取得し、代替処理条件を設定した後、既印刷範囲の次のページの印刷開始位置から印刷が行われる。代替処理条件を設定して印刷開始位置から印刷することにより、第１実施例と同様に、印刷の中断の原因となったエラーを回避し、エラーの発生で中断した印刷を続行することが可能となる。
【００７５】
また、第２実施例においても、第１実施例と同様に、プリンタＰＲＴは、エラーが発生した場合に適用する代替処理を印刷ジョブ毎に設定することができる。そのため、エラー発生時の処理を印刷ジョブに適したものにすることができる。
【００７６】
なお、第２実施例は、印刷開始時以外に印刷処理条件の変更が不可能な場合であっても、代替処理条件による印刷の続行が可能となる点で、第１実施例よりも好ましい。一方、第１実施例は、印刷の実行の後、印刷ジョブ格納部からジョブデータを廃棄でき、印刷ジョブ格納部の容量を低減可能である点で第２実施例よりも好ましい。
【００７７】
Ｃ．第３実施例：
図１１は、第３実施例におけるプリンタＰＲＴａとクライアントＣＬａとのそれぞれの構成を示す説明図である。第３実施例は、ジョブデータ（図３）が代替処理設定情報ＡＰを含んでおらず、代替処理がエラーの発生時に指定される点で、第１実施例と異なっている。他の点は、第１実施例と同じである。
【００７８】
図１１に示す第３実施例のクライアントＣＬａは、ＳＮＭＰマネージャ１４０とプリンタモニタ部１５０とが付加されている点で、図２に示す第１実施例のクライアントＣＬと異なっている。また、図１１に示す第３実施例のプリンタＰＲＴａは、ネットワーク処理部２００ａとプリンタ制御部３００ａとそれぞれの構成が図２に示す第１実施例のプリンタＰＲＴと異なっている。第３実施例のネットワーク処理部２００ａは、ＳＮＭＰエージェント２２０が付加されている点と、代替処理情報格納部２５０が省略されている点と、で第１実施例のネットワーク処理部２００と異なっている。第３実施例のプリンタ制御部３００ａは、ＭＩＢ３２０が付加されている点で第１実施例のプリンタ制御部３００と異なっている。他の点は、第１実施例と同じである。
【００７９】
ＳＮＭＰマネージャ１４０は、ＳＮＭＰエージェント２２０との間で、ＳＮＭＰ（Simple Network Management Protocol）に従ったメッセージを授受する機能を有している。ＳＮＭＰマネージャ１４０とＳＮＭＰエージェント２２０との間のメッセージの授受は、ＴＣＰ／ＩＰ処理部１３０，２１０と、ローカルエリアネットワークＬＡＮと、を介して行われる。
【００８０】
ＳＮＭＰマネージャ１４０は、特定の情報の送信を要求するメッセージ（送信要求メッセージ）をＳＮＭＰエージェント２２０に送信する。送信要求メッセージを受信したＳＮＭＰエージェント２２０は、プリンタ制御部３００ａが有するＭＩＢ（Management Information Base）３２０にアクセスすることにより、ＭＩＢ３２０に格納された情報を含むメッセージ（応答メッセージ）をＳＮＭＰマネージャ１４０に送信する。ＳＮＭＰマネージャ１４０は、また、特定の情報の格納を要求するメッセージ（格納要求メッセージ）をＳＮＭＰエージェント２２０に送信する。格納要求メッセージを受信したＳＮＭＰエージェント２２０は、ＭＩＢ３２０にアクセスすることにより、格納要求メッセージに含まれる特定の情報をＭＩＢ３２０に格納する。なお、ＭＩＢ３２０は、プリンタＰＲＴａの状態等を表す情報を格納する一種のデータベースである。
【００８１】
このＳＮＭＰマネージャ１４０とＳＮＭＰエージェント２２０との間でのメッセージの授受により、クライアントＣＬａに設けられたプリンタモニタ部１５０は、プリンタ制御部３００ａから特定の情報を取得し、あるいは、プリンタ制御部３００ａに特定の情報を格納することができる。但し、プリンタＰＲＴａとクライアントＣＬａとの間での特定の授受が可能であれば、ＳＮＭＰとは異なるプロトコルを使用することも可能である。
【００８２】
図１２は、第３実施例における印刷ジョブ受信ルーチンを示すフローチャートである。図５に示す第１実施例のルーチンとは、ジョブデータ（図４）に含まれる代替処理設定情報ＡＰを取り扱う２つのステップＳ１３０、Ｓ１４０が省略されている点で、異なっている。他の点は、第１実施例と同じである。
【００８３】
図１３は、第３実施例における印刷ジョブ実行ルーチンを示すフローチャートである。図１３に示す第３実施例の印刷ジョブ実行ルーチンは、ステップＳ２６０が２つのステップＳ２６２，Ｓ２６４に置き換えられている点で、図６に示す第１実施例のルーチンと異なっている。他の点は、第１実施例と同じである。
【００８４】
ステップＳ２６２において、印刷ジョブ実行部２４０（図１１）は、クライアントＣＬａのユーザに印刷続行のために適用する代替処理を問い合わせる。具体的には、印刷ジョブ実行部２４０は、プリンタ制御部３００ａのＭＩＢ３２０にエラーの種別を表すエラー種別情報をジョブ番号に対応付けて格納する。クライアントＣＬａのプリンタモニタ部１５０は、ＳＮＭＰマネージャ１４０とＳＮＭＰエージェント２２０を介して定期的にエラー種別情報を取得することにより、エラーが発生したことを検知する。
【００８５】
図１４は、プリンタモニタ部１５０が黒トナーエンドを検知した場合にクライアントＣＬａに表示される代替処理選択画面Ｗ４を示す説明図である。代替処理選択画面Ｗ４には、エラーが発生した印刷ジョブのジョブ番号とともに、ユーザに代替処理を選択させる選択フィールドＦ４が表示される。但し、エラーの発生時にクライアントＣＬａに表示される代替処理選択画面は、エラーの種別や代替処理の内容に応じて適宜変更される。
【００８６】
選択フィールドＦ４内には、黒トナーの代わりに使用される代替トナーと、それぞれの代替トナーを使用して印刷した場合の印刷色とが表示される。代替トナーの表示の左側には、個々の代替トナーに対応してラジオボックスが設けられている。また、選択フィールドＦ４内には、代替トナーを使用しないことが選択可能であることを表す文字列「代替トナーを使用しない」が表示されている。この文字列の表示の左側には、代替トナーと同様にラジオボックスが設けられている。ユーザは、これらのラジオボックスをクリックすることにより、クリックされた１つのラジオボックスにマークが付与される。
【００８７】
ユーザが代替処理の選択を行った後、「ＯＫ」ボタンをクリックすると、マークが付されたラジオボックスに対応する代替処理選択情報が、プリンタモニタ部１５０からプリンタＰＲＴａのＭＩＢ３２０に格納される。図１３のステップＳ２６２では、印刷ジョブ実行部２４０がＭＩＢ３２０に格納された代替処理選択情報から、適用する代替処理についてのユーザの指示を取得する。
【００８８】
ステップＳ２６４において、印刷ジョブ実行部２４０は、ユーザの指示が代替処理を適用する指示か否かを判断する。ユーザの指示が代替処理を適用する指示であった場合には、制御はステップＳ３００に移される。一方、ユーザの指示が代替処理を適用しない指示であった場合には、制御はステップＳ２７０に移される。なお、ステップＳ３００においては、代替処理選択情報に基づいて印刷処理条件（印刷条件）が変更されるので、代替処理選択情報も印刷条件を変更する変更印刷条件であるとも言える。
【００８９】
このように、第３実施例においても、ユーザに適用する代替処理を問い合わせ、ユーザの指示に従って代替処理を適用する。これにより、印刷の中断の原因となったエラーを回避し、エラーの発生で中断した印刷を続行することが可能となる。また、エラーが発生した場合に適用する代替処理は、印刷ジョブ毎にユーザにより選択される。そのため、エラー発生時の処理を印刷ジョブに適したものにすることができる。
【００９０】
なお、第３実施例では、印刷ジョブ実行部２４０（図１１）が、適用する代替処理を問い合わせ（ステップＳ２６２）、ユーザの指示が代替処理を適用するか否かを判断し（ステップＳ２６４）、代替処理条件に従って印刷処理を続行させている（ステップＳ３００）が、これらの処理は、クライアントＣＬａのプリンタモニタ部１５０が行うようにすることも可能である。この場合、プリンタモニタ部１５０は、適用する代替処理を設定する情報と印刷再開を指示する情報とを、プリンタＰＲＴａのＭＩＢ３２０に格納させることにより、代替処理を適用し印刷を続行させることが可能となる。この場合、クライアントＣＬａのＳＮＭＰマネージャ１４０とプリンタモニタ部１５０とは、本発明の印刷装置の一部分に相当する。
【００９１】
また、第３実施例では、印刷ジョブ実行部２４０（図１１）が、プリンタモニタ部１５０からＭＩＢ３２０に送信される代替処理選択情報に基づいて代替処理を設定しているが、代替処理の設定を異なる方法で行うことも可能である。例えば、エラーの検出の後、プリンタモニタ部１５０が、ユーザの指示に応じた代替処理設定情報ＡＰ（図３（ｂ））と、代替処理が設定されるジョブ番号と、を含むデータを印刷ジョブ受信部２３０（図１１）に送信することにより代替処理を設定することも可能である。
【００９２】
第３実施例では、エラーの発生時に印刷ジョブ実行部２４０が適用する代替処理をクライアントＣＬａのユーザに問い合わせているが、一般に、代替処理を指定する情報がエラーの発生時に取得できればよい。例えば、印刷ジョブ実行部２４０は、プリンタＰＲＴａを管理する管理コンピュータのユーザに、あるいは、プリンタＰＲＴａにＵＳＢ（Universal Serial Bus）等で接続されたコンピュータのユーザに、適用する代替処理を問い合わせるものとしても良い。また、プリンタＰＲＴａの図示しない表示部に代替処理を問い合わせるメッセージを表示し、操作部（図示しない）への入力内容から代替処理を指定する情報を取得するものとしても良い。
【００９３】
Ｄ．第４実施例
図１５は、第４実施例における印刷ジョブ実行ルーチンを示すフローチャートである。第４実施例は、印刷ジョブ中の各ページ毎にエラー発生の有無を検出し、ページ毎に代替処理条件による印刷を行う点で、第１実施例と異なっている。他の点は、第１実施例と同じである。図１５に示す印刷ジョブ実行ルーチンは、ステップＳ２４０〜Ｓ２８０がステップＳ２４２〜Ｓ２９０に換えられている点で、図６に示す印刷ジョブ実行ルーチンと異なっている。なお、ステップＳ２６０，Ｓ２７０は、図６に示す印刷ジョブ実行ルーチンと同じであるので、ここではその説明を省略する。
【００９４】
ステップＳ２４２において、印刷ジョブ実行部２４０は、印刷ジョブ中の未印刷のページの１ページ（印刷対象ページ）が印刷可能か否かを判断する。具体的には、印刷ジョブ実行部２４０がプリンタ制御部３００からエラー状態を表す情報を取得する。取得した情報がエラー状態を示している場合には、印刷対象ページの印刷が不可能であると判断され、制御はステップＳ２６０に移される。一方、取得した情報がエラー状態を示していない場合には、印刷対象ページの印刷が可能であると判断され、制御はステップＳ２４４に移される。但し、印刷ジョブ実行部２４０は、エラーがトナーニアエンドや残り用紙不足などの予め設定された印刷処理条件で印刷が続行可能である場合には、印刷対象ページの印刷が可能であると判断するものとしても良い。
【００９５】
ステップＳ２４４において、印刷ジョブ実行部２４０は、印刷ジョブに設定された元の印刷処理条件で印刷対象ページの印刷を実行する。具体的には、印刷ジョブ実行部２４０は、ジョブデータＪＤ（図３）のページ記述言語部５０２に格納されている印刷対象ページ分の印刷コマンドを抽出する。そして、抽出された印刷コマンドをプリンタ制御部３００に供給することにより印刷対象ページの印刷が実行される。
【００９６】
ステップＳ３３０において、印刷ジョブ実行部２４０は、代替処理を適用して印刷対象ページの印刷を実行する。印刷ジョブ実行部２４０は、印刷処理条件を代替処理条件に変更した後、ページ記述言語部５０２に格納されている印刷対象ページ分の印刷コマンドをプリンタ制御部３００に供給する。印刷コマンドのプリンタ制御部３００への供給の後、印刷条件は、ジョブ制御言語部５０１に記述されている元の印刷処理条件に戻される。
【００９７】
ステップＳ２５２において、ステップＳ２５０（図６）と同様に、印刷ジョブ実行部２４０は、印刷対象ページの印刷がエラーで中断したか否かを判断する。印刷対象ページの印刷が中断した場合、制御はステップＳ２６０に移される。一方、印刷対象ページの印刷が完了した場合、制御はステップＳ２９０に移される。
【００９８】
ステップＳ２９０において、印刷ジョブ実行部２４０は、印刷ジョブに未印刷のページがあるか否かを判断する。未印刷のページがあるか否かの判断は、ページ記述言語部５０２に格納されている全ての印刷コマンドをプリンタ制御部３００に送信したか否かにより判断することができる。未印刷のページがあると判断された場合、制御はステップＳ２４２に戻される。一方、未印刷のページがないと判断された場合、印刷ジョブの印刷が完了しているので、制御はステップＳ２１０に戻される。
【００９９】
このように、第４実施例においても、エラーが発生した場合には、代替処理条件により印刷対象ページが印刷されるため、エラーを回避して印刷を続行することが可能になる。さらに、第４実施例では、印刷ジョブの各ページ毎にエラーが発生したか否かが判断される。そのため、印刷ジョブの実行中にエラーが解除された場合には、エラー解除後の印刷は印刷ジョブの元の印刷処理条件で印刷されるので、エラー解除後に印刷される各ページの印刷結果は、より印刷ジョブに適したより好ましいものになる。
【０１００】
第４実施例は、印刷ジョブの実行中にエラーが解除された場合、エラー解除後の印刷結果をより好ましいものとすることができる点で、第１実施例よりも好ましい。一方、第１実施例は、印刷ジョブ実行部２４０による制御がより容易となる点で第４実施例よりも好ましい。
【０１０１】
なお、第４実施例では、印刷の実行とエラーの検出とを印刷ジョブのページ毎に行っているが、印刷の実行とエラーの検出とを他の印刷単位毎に行うものとしてもより。例えば、印刷の実行とエラーの検出とを、所定の行数毎、あるいは、所定のページ数毎に行うものしても良い。このようにしても、各印刷単位毎にエラーが発生したか否かが判断されるので、エラー解除後の印刷単位の印刷結果は、より印刷ジョブに適したより好ましいものとなる。
【０１０２】
Ｅ．変形例：
なお、この発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１０３】
Ｅ１．変形例１：
上記第１ないし第３実施例では、エラーの発生により印刷が中断した場合に代替処理を適用し、印刷の続行を行っているが、エラーを印刷の実行前に検出し、エラーが検出された場合には、印刷の実行前に印刷処理条件を代替処理条件に変更することも可能である。この場合、検出されたエラーが、予め設定された印刷処理条件で印刷が続行可能なエラー（例えば、トナーニアエンドや残り用紙不足）である場合には、印刷を中断しないものとすることも可能である。このようにしても、同様の原因で発生する印刷が続行不可能なエラー（例えば、トナーエンドや指定用紙切れ）に対して代替処理を設定することにより、エラーを回避して代替処理条件で印刷を続行することが可能となる。
【０１０４】
Ｅ２．変形例２：
上記各実施例では、第１および第２実施例と、第３実施例とを、別個のプリンタに適用しているが、第１および第２実施例と、第３実施例とを単一のプリンタに適用することも可能である。この場合、クライアントのユーザに対する適用する代替処理の問い合わせは、例えば、ジョブデータに含まれる代替処理設定情報ＡＰで設定される代替処理によりエラーを回避することができない時に行われる。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１実施例を適用するネットワークシステム１０の構成を示す説明図。
【図２】プリンタＰＲＴとクライアントＣＬとのそれぞれの構成を示す説明図。
【図３】クライアントＣＬから  プリンタＰＲＴに送信されるジョブデータの一例を示す説明図。
【図４】図３（ｂ）に示す代替処理設定情報ＡＰが解釈された場合に、代替処理情報格納部２５０に格納される情報を示す説明図。
【図５】印刷ジョブ受信部２３０により実行される印刷ジョブ受信ルーチンを示すフローチャート。
【図６】印刷ジョブ実行部２４０により実行される印刷ジョブ実行ルーチンを示すフローチャート。
【図７】図６のステップＳ３００で実行される印刷続行サブルーチンを示すフローチャート。
【図８】プリンタの印刷処理条件を設定するプロパティ設定画面Ｗ１を示す説明図。
【図９】黒トナーエンドに対する代替処理を設定する詳細設定画面Ｗ３を示す説明図。
【図１０】第２実施例における印刷続行サブルーチンを示すフローチャート。
【図１１】第３実施例におけるプリンタＰＲＴａとクライアントＣＬａとのそれぞれの構成を示す説明図。
【図１２】第３実施例における印刷ジョブ受信ルーチンを示すフローチャート。
【図１３】第３実施例における印刷ジョブ実行ルーチンを示すフローチャート。
【図１４】プリンタモニタ部１５０が黒トナーエンドを検知した場合に表示される代替処理選択画面Ｗ４を示す説明図である。
【図１５】第４実施例における印刷ジョブ実行ルーチンを示すフローチャート。
【符号の説明】
【０１０６】
１０…ネットワークシステム
１１０…アプリケーション
１２０…ジョブデータ生成部
１３０…ＴＣＰ／ＩＰ処理部
１４０…ＳＮＭＰマネージャ
１５０…プリンタモニタ部
２００，２００ａ…ネットワーク処理部
２１０…ＴＣＰ／ＩＰ処理部
２２０…ＳＮＭＰエージェント
２３０…印刷ジョブ受信部
２４０…印刷ジョブ実行部
２５０…代替処理情報格納部
３００，３００ａ…プリンタ制御部
３１０…プリントバッファ
３２０…ＭＩＢ
４００…プリントエンジン
ＣＬ，ＣＬａ，ＣＬ１〜ＣＬ３…クライアント
ＬＡＮ…ローカルエリアネットワーク
ＰＲＴ，ＰＲＴａ，ＰＲＴ１，ＰＲＴ２…プリンタ
【図１】
2007276119.tif 000003
【図２】
2007276119.tif 000004
【図３】
2007276119.tif 000005
【図４】
2007276119.tif 000006
【図５】
2007276119.tif 000007
【図６】
2007276119.tif 000008
【図７】
2007276119.tif 000009
【図８】
2007276119.tif 000010
【図９】
2007276119.tif 000011
【図１０】
2007276119.tif 000012
【図１１】
2007276119.tif 000013
【図１２】
2007276119.tif 000014
【図１３】
2007276119.tif 000015
【図１４】
2007276119.tif 000016
【図１５】
2007276119.tif 000017