(57)【特許請求の範囲】
【請求項１】
複数の言語フォーマットの何れかで記述された印刷データを受信し、前記印刷データを解釈し出力する印刷装置であって、
前記印刷データ及び該印刷データの言語フォーマットを示す記述言語フォーマット情報を受信する受信部と、
前記印刷データを記述言語フォーマットに基づき解釈し、出力用データを作成する解釈作成部と、
前記解釈作成部におけるエラーの発生を検知する検知部と、
前記検知部により検知された前記エラーの種類を判断するエラー判断部と、
各言語フォーマットの言語フォーマット情報及び各エラーの種類に対応して、前記受信部で受信した記述言語フォーマットを該受信部で受信した記述言語フォーマットと異なる他の複数の解釈可能な言語フォーマットとして処理する優先順位を示す優先順位情報が予め記憶される優先順位情報記憶部と、
前記検知部でエラー発生を検知すると、前記記述言語フォーマット情報及び前記エラー判断部により判断されたエラーの種類に基づき、前記優先順位情報記憶部から対応する優先順位情報を読み出して、該優先順位情報に基づき、何れかの言語フォーマットを変換言語フォーマットとして選択する読出選択部と、
受信した前記印刷データ及び前記記述言語フォーマット情報を、選択された前記変換言語フォーマットで記述された変換印刷データ及び変換言語フォーマット情報に切り替えて変換する変換部と、
前記解釈作成部を制御して、前記変換言語フォーマットに基づく前記変換印刷データの解釈及び出力用データの作成を実行させる制御部とを備え、
前記優先順位記憶部は、各言語フォーマット情報及びメモリフルエラーに対応して、それぞれのメモリフル優先順位情報を記憶し、各言語フォーマット情報及びリソース不足エラーに対応して、それぞれのリソース不足優先順位情報を記憶する
ことを特徴とする印刷装置。
【請求項２】
前記リソース不足エラーは、フォント又はカラープロファイルのリソース不足により発生するエラーであることを特徴とする請求項１記載の印刷装置。
【請求項３】
前記メモリフル優先順位情報には、前記解釈作成部においてラスタ単位で処理が実行される言語フォーマット情報の優先順位が、オブジェクト単位で処理を行う言語フォーマット情報の優先順位よりも高く設定され、前記リソース不足優先順位情報には、前記記述言語フォーマットで使用されるリソースと異なるリソースを使用する言語フォーマット情報の優先順位が、同一のリソースを使用する言語フォーマット情報の優先順位よりも高く設定されることを特徴とする請求項１記載の印刷装置。
【請求項４】
各言語フォーマット情報に対応して、前記解釈作成部による該言語フォーマットに基づく処理が実行済であるか否かを示す実行情報が格納される格納部と、
前記読出選択部により前記変換言語フォーマットが選択されると、前記格納部を参照し、該変換言語フォーマットの言語フォーマット情報に対応して格納されている実行情報に基づき、該変換言語フォーマットに基づく処理が実行済であるか否かを判断する実行判断部とを更に備え、
実行済であると判断されると、前記読出選択部は、更に前記優先順位情報に基づき変換言語フォーマットの選択を行う
ことを特徴とする請求項１記載の印刷装置。
【請求項５】
前記解釈作成部により前記変換言語フォーマットに基づく処理が実行されると、切替元である前記記述言語フォーマット及び切替先である前記変換言語フォーマットを通知すべく表示する表示部を更に備えることを特徴とする請求項１記載の印刷装置。
【請求項６】
前記解釈作成部により前記変換言語フォーマットに基づく処理が実行されると、切替先である前記変換言語フォーマットを通知すべく、対応する言語フォーマット情報を前記上位装置へ送信する送信部を更に備えることを特徴とする請求項１記載の印刷装置。
【請求項７】
前記解釈作成部による処理実行回数を計数するための計数部と、
前記検知部によりエラーの発生が検知されると、計数された前記処理実行回数に基づき、印刷処理を継続するか否かを判断する継続判断部とを更に備え、
継続すると判断されると、前記読出選択部は、変換言語フォーマットの選択を行う
ことを特徴とする請求項１記載の印刷装置。
【請求項８】
前記継続判断部により継続しないと判断されると、前記印刷処理を停止する停止部と、前記停止を通知する通知部とを更に備えることを特徴とする請求項７記載の印刷装置。
【請求項９】
前記印刷処理が停止されると、切替元である記述言語フォーマット及び切替先である各変換言語フォーマットを通知すべく表示する表示部を更に備えることを特徴とする請求項８記載の印刷装置。
【請求項１０】
前記言語フォーマットは、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）からなることを特徴とする請求項１記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ言語で記述された印刷データを受信して印刷を行う印刷装置に関し、特に、複数のプリンタ言語が搭載された印刷装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の上位装置と、該上位装置に接続するプリンタ等の印刷装置とからなる印刷処理システムでは、上位装置上で動作するアプリケーションにおいて印刷が指示されると、アプリケーションが作成した印刷原稿データを、上位装置にインストールされたプリンタドライバが、プリンタが解釈可能な言語フォーマットとしてのプリンタ言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ；以下、ＰＤＬと記す）に変換する。変換された印刷原稿データ、即ちＰＤＬデータは、上位装置から印刷装置へ送信され、印刷装置が、受信したＰＤＬデータを解釈してドットイメージへ展開した後、ページ毎に印刷を行う。
【０００３】
ところで、近年、多くの印刷装置が複数のＰＤＬを搭載し、印刷処理能力や画質の向上を図っている。このように複数のＰＤＬに対応する印刷処理システムでは、印刷原稿データからＰＤＬデータへの変換処理に先立ち、プリンタドライバにおいて、何れかのＰＤＬが選択して設定される。そして、上位装置は、設定されたＰＤＬに基づいて印刷原稿データの変換処理を行って、ＰＤＬデータと該ＰＤＬを示すＰＤＬ識別データとからなる印刷ジョブを印刷装置へ送信する。印刷装置は、上位装置から印刷ジョブを受信すると、ＰＤＬ識別データに対応するＰＤＬに基づいて、ＰＤＬデータを解釈して展開するＰＤＬ処理を実施する。
【０００４】
このＰＤＬ処理の実行中に、例えばメモリ不足によりエラーが発生した場合、印刷装置は、オペレータパネルにメモリ不足を通知するエラー画面を表示して、印刷処理を停止する。そのため、停止された印刷処理を完了させるには、オペレータが、印刷装置の設置場所に出向いて、エラー画面に表示されたエラーの内容を確認した後、エラーの発生を回避すべく、上位装置を操作して、プリンタドライバにおけるＰＤＬの設定変更或いはアプリケーションにおける印刷原稿データの内容変更等の作業を行わなければならず、手間がかかっていた。
【０００５】
そこで、上記した問題を解決するため、下記特許文献１には、ＰＤＬを自動的に切り替えて印刷処理を再開可能なプリンタドライバ及び印刷制御装置の技術が開示されている。この開示技術では、ＰＤＬ処理の実行中にエラーが発生すると、印刷装置からプリンタドライバへエラーの発生が通知される。そして、プリンタドライバにより、他のＰＤＬに設定が変更された後、印刷原稿データのＰＤＬデータへの変換処理が実行され、該ＰＤＬデータを含む印刷ジョブが印刷装置へ送信される。
【特許文献１】特開２００３−２８０８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記開示技術では、特別なプリンタドライバを上位装置にインストールしなければならないうえ、エラーが発生すると、上位装置において印刷原稿データからＰＤＬデータへの変換処理及び印刷ジョブの送信処理を再度実行しなければならず、上位装置に負担がかかり不便であった。
【０００７】
したがって、ＰＤＬ処理実行中にエラーが発生した場合も、ユーザや上位装置に負担をかけることなく、他のＰＤＬに自動的に切り替えて印刷処理を継続可能な印刷装置が望まれていた。
【課題を解決するための手段】
【０００８】
本発明は、以上の点を解決するために、次の構成を採用する。
【０００９】
〈構成〉
本発明に係る印刷装置は、複数の言語フォーマットの何れかで記述された印刷データを受信し、印刷データを解釈し出力する印刷装置であって、印刷データ及び該印刷データの言語フォーマットを示す言語フォーマット情報を受信する受信部と、印刷データを言語フォーマットに基づき解釈し、出力用データを作成する解釈作成部と、解釈作成部におけるエラーの発生を検知する検知部と、各言語フォーマットの言語フォーマット情報に対応して、他の言語フォーマットとして処理する優先順位を示す優先順位情報が予め記憶される優先順位情報記憶部と、印刷データの言語フォーマット情報に基づき、優先順位情報記憶部から対応する優先順位情報を読み出して、該優先順位情報に基づき、何れかの言語フォーマットを変換言語フォーマットとして選択する読出選択部と、検知部でエラー発生を検知すると、受信した印刷データ及び該印刷データの言語フォーマット情報を選択された変換言語フォーマットで記述された変換印刷データ及び変換言語フォーマット情報に変換する変換部と、解釈作成部を制御して、変換言語フォーマットに基づく変換印刷データの解釈及び出力用データの作成を実行させる制御部とを備えることを特徴とする。
【００１０】
本発明の印刷装置によれば、上位装置により設定された言語フォーマットに基づいて、該上位装置から受信した印刷データの印刷処理を実行中に、エラーが発生した場合、他の言語フォーマットに自動的に切り替えて、印刷データを変換可能となるので、ユーザが特別な操作をせずとも、エラーを回避して印刷処理を継続可能となり、利便性が向上される。また、既存の上位装置をそのまま利用可能となるので、コストが軽減される。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を、図を用いて詳細に説明する。ここでは、本発明をプリンタに適用した場合を例に、説明を行う。
【実施例１】
【００１２】
図１は、本発明の実施例１に係るプリンタの構成を示すブロック図である。
本実施例のプリンタ１０は、上位装置としてのパーソナルコンピュータ９に接続され、該パーソナルコンピュータ９から印刷ジョブを受信して印刷処理を実行する。
【００１３】
パーソナルコンピュータ９は、プリンタ１０の上位装置として、印刷ジョブを生成してプリンタ１０へ送信する機能を有し、アプリケーションにおいて入力された印刷指示に基づいて、該アプリケーションが作成した印刷原稿データを、プリンタ１０が解釈可能な言語フォーマットとしてのプリンタ言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ；以下、ＰＤＬと記す）により記述したＰＤＬデータに変換する。そして、パーソナルコンピュータ９は、該ＰＤＬデータを含む印刷ジョブを生成し、プリンタ１０へ送信する。
【００１４】
パーソナルコンピュータ９により生成される印刷ジョブには、上記したＰＤＬデータに加えて、更に、プリンタ１０が解釈可能なプリンタジョブコントロール言語（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ；以下、ＰＪＬと記す）により記述されたＰＪＬデータが含まれる。このＰＪＬデータは、言語フォーマット情報として、印刷ジョブに含まれるＰＤＬデータを記述するＰＤＬ、即ち記述ＰＤＬの種類を示すＰＤＬ識別データからなる。
【００１５】
プリンタ１０は、本実施例では、複数のＰＤＬが搭載される印刷装置からなり、図１に示されるように、インタフェース部１１、一時記憶部１２、データ処理部１３、出力部１４、エラー処理部１５、パネル表示部１６及び制御部１７を備えている。なお、本実施例のプリンタ１０は、ＰＤＬ１、ＰＤＬ２及びＰＤＬ３の３種類のＰＤＬを搭載しているものとする。
【００１６】
インタフェース部１１は、受信部として、パーソナルコンピュータ９から印刷ジョブを受信する機能を有する。印刷ジョブは、上記したように、ＰＪＬデータ及びＰＤＬデータを含み、インタフェース部１１は、受信したＰＪＬデータ及びＰＤＬデータを、一時記憶部１２に送って記憶させる。また、インタフェース部１１は、印刷ジョブの受信を制御部１７に通知する。
【００１７】
一時記憶部１２は、各種データを一時的に記憶する機能を有し、受信バッファとして、インタフェース部１１により受信された印刷ジョブに含まれるＰＪＬデータ及びＰＤＬデータを、それぞれ対応させて記憶する。また、一時記憶部１２は、後述する記述ＰＤＬ名を上記したＰＤＬデータに対応させて記憶する。更に、一時記憶部１２は、後述する変換ＰＤＬ名と変換ＰＤＬデータとを対応させて記憶する。
【００１８】
データ処理部１３は、図１に示されるように、ＰＪＬ処理部１８、ＰＤＬ処理部１９及び展開処理部２０を備えている。
【００１９】
ＰＪＬ処理部１８は、制御部１７からの指示に基づき、ＰＪＬで記述されたＰＪＬデータの解析処理を行う処理部であり、言語判断部２１を備えている。
【００２０】
言語判断部２１は、一時記憶部１２からＰＪＬデータを読み出して、該ＰＪＬデータに基づき、対応するＰＤＬデータの記述ＰＤＬが、ＰＤＬ１、ＰＤＬ２及びＰＤＬ３の何れであるかを判断する。そして、言語判断部２１は、判断された記述ＰＤＬを識別するための識別データとして、記述ＰＤＬ名を一時記憶部１２に送り、ＰＤＬデータに対応して記憶させると共に、該記述ＰＤＬ名を制御部１７に通知する。なお、本実施例では、各ＰＤＬ、即ちＰＤＬ１、ＰＤＬ２及びＰＤＬ３に対応するＰＤＬ名を、それぞれ「ＰＤＬ１」、「ＰＤＬ２」及び「ＰＤＬ３」とする。
【００２１】
ＰＤＬ処理部１９は、図１に示されるように、ＰＤＬ１処理部２２、ＰＤＬ２処理部２３及びＰＤＬ３処理部２４を備えている。ＰＤＬ処理部１９は、解釈作成部として、制御部１７からの記述ＰＤＬ名の通知を受けて、一時記憶部１２から該記述ＰＤＬ名に対応して記憶されているＰＤＬデータを読み出す。そして、ＰＤＬ処理部１９は、記述ＰＤＬに基づきＰＤＬデータの解釈処理を行い、ＰＤＬデータを中間コードに変換する。また、ＰＤＬ処理部１９は、制御部１７から変換ＰＤＬ名を通知されると、一時記憶部１２から該変換ＰＤＬ名に対応して記憶されている変換ＰＤＬデータを読み出して、変換ＰＤＬに基づき変換ＰＤＬデータの解釈処理及び中間コードへの変換処理を行う。ＰＤＬデータ或いは変換ＰＤＬデータから変換された中間コードは、図示しないページバッファに格納される。そして、ＰＤＬ処理部１９は、解釈処理及び変換処理からなるＰＤＬ処理の完了を、展開処理部２０に通知する。
【００２２】
図２は、ＰＤＬ処理部におけるＰＤＬ処理を説明する図である。
図２（ａ）は、パーソナルコンピュータ９により作成されたＰＤＬデータを印刷イメージ３４として示す図であり、図２（ｂ）は、この印刷イメージ３４に対応するＰＤＬデータに対して、ＰＤＬ１処理部２２により実施されるＰＤＬ処理を説明する図である。また、図２（ｃ）は、ＰＤＬ２処理部２３におけるＰＤＬ処理を説明する図であり、図２（ｄ）及び図２（ｅ）は、ＰＤＬ３処理部２４におけるＰＤＬ処理を説明する図である。
【００２３】
ＰＤＬ１処理部２２は、ＰＤＬ１に基づきＰＤＬデータを解釈し、中間コードに変換する。本実施例では、ＰＤＬ１は、オブジェクト単位で処理を行うコマンド体系からなるＰＤＬであるとする。ＰＤＬ１処理部２２は、ＰＤＬ１に基づきＰＤＬデータを解釈し、図２（ｂ）に示されるように、一つのコマンド「コマンド１」からなる中間データ３５−１に変換する。
【００２４】
ＰＤＬ２処理部２３は、ＰＤＬ２に基づきＰＤＬデータを解釈し、中間コードに変換する。本実施例では、ＰＤＬ２は、ＰＤＬデータをラスタ単位で分割して処理するコマンド体系からなるＰＤＬであるとする。ＰＤＬ２処理部２３は、図２（ｃ）に示されるように、印刷イメージ３４に対応するＰＤＬデータをラスタ単位で分割して、分割された各データをそれぞれコマンドに変換し、複数のコマンドからなる中間データを得る。図２（ｃ）において、ＰＤＬデータは、ＰＤＬ２処理部２３により５つに分割されて、５つのコマンド「コマンド２−１」、「コマンド２−２」・・・「コマンド２−５」を含む中間データ３５−２に変換される。
【００２５】
ＰＤＬ３処理部２４は、ＰＤＬ３に基づきＰＤＬデータを解釈し、中間コードに変換する。本実施例では、ＰＤＬ３は、ＰＤＬデータを塗り潰しパタン及び透過パタンに分割して処理を行うコマンド体系からなるＰＤＬであるとする。ＰＤＬ３処理部２４は、ＰＤＬデータに対応する印刷イメージ３４を、まず、図２（ｄ）に示す塗り潰しパタン３６と、図２（ｅ）に示す透過パタン３７とに分割する。そして、ＰＤＬ３処理部２４は、塗り潰しパタン３６に対応するＰＤＬデータをコマンド「コマンド３−１」に、透過パタン３７に対応するＰＤＬデータをコマンド「コマンド３−２」に、それぞれ変換し、これら２つのコマンドからなる中間データ３５−３を得る。
【００２６】
展開処理部２０は、解釈作成部として、ＰＤＬ処理部１９からＰＤＬ処理の完了を通知されると、ページバッファから中間コードを読み出して、出力用データとしてのドットイメージへ変換する展開処理を行う。中間コードから変換されたドットイメージは、図示しないラスタバッファに格納される。また、展開処理部２０は、展開処理の完了を制御部１７に通知する。
【００２７】
出力部１４は、制御部１７からの指示に基づき、ラスタバッファからドットイメージを読み出して、該ドットイメージに基づき出力を行う。
【００２８】
エラー処理部１５は、データ処理部１３におけるエラーの発生を検知して、他のＰＤＬへの切替及び変換を行う処理部であり、図１に示されるように、検知判断部２５、カウンタ２６、継続判断部２７、リスト記憶部２８、格納部２９、読出選択部３０及び変換部３１を備えている。
【００２９】
検知判断部２５は、検知部及びエラー判断部として、データ処理部１３におけるエラーの発生を検知する検知機能と、発生したエラーの種類を判断する判断機能とを有する。
【００３０】
検知判断部２５は、データ処理部１３の動作状況を監視して、エラーの発生を検知する。そして、検知判断部２５は、発生したエラーの種類がメモリフルエラー及びリソース不足エラーの何れであるかを判断する。ここで、メモリフルエラーは、ＰＤＬ処理部１９におけるＰＤＬ処理実行中にメモリ不足により発生するエラーを指し、リソース不足エラーは、例えばフォントやカラープロファイル等のリソースの不足により発生するエラーを意味する。また、メモリフルエラー及びリソース不足エラーの何れでもないと判断すると、検知判断部２５は、該エラーの種類をその他のエラーと判断する。検知判断部２５は、各エラーの種類、即ちメモリフルエラー、リソース不足エラー及びその他のエラーに対して、それぞれエラーを識別するための識別データとして、エラー名「メモリフル」、「リソース不足」及び「その他」を付与する。また、検知判断部２５は、データ処理部１３において処理実行中であったＰＤＬのＰＤＬ名を判断する。そして、検知判断部２５は、エラーの検知と、判断されたエラー名及びＰＤＬ名とを、継続判断部２７に通知する。
【００３１】
カウンタ２６は、制御部１７の制御に基づいて、各印刷ジョブに対して、ＰＤＬ処理部１９において実行されたＰＤＬ処理の実行回数を、処理実行回数ｉとして計数する。
【００３２】
継続判断部２７は、検知判断部２５からエラーの検知、エラー名及びＰＤＬ名を通知されると、印刷処理を継続するか否かを判断する。継続判断部２７は、カウンタ２６から処理実行回数ｉを読み出して、プリンタ１０に搭載されているＰＤＬの数、即ち搭載ＰＤＬ数Ｎと、読み出した処理実行回数ｉとを比較する。継続判断部２７は、処理実行回数ｉが搭載ＰＤＬ数Ｎ未満である場合、印刷処理を継続すると判断し、検知判断部２５から通知されたＰＤＬ名を切替元ＰＤＬ名として、該切替元ＰＤＬ名と、検知判断部２５から通知されたエラー名とを、読出選択部３０に通知する。また、処理実行回数ｉが搭載ＰＤＬ数Ｎに等しい場合、継続判断部２７は、印刷処理を停止すると判断し、該判断結果とエラー名とを、制御部１７に通知する。なお、本実施例では、プリンタ１０の搭載ＰＤＬ数Ｎは「３」である。
【００３３】
リスト記憶部２８は、優先順位情報記憶部として、優先順位情報としてのＰＤＬ選択リストを記憶する記憶部である。
【００３４】
図３は、実施例１のリスト記憶部の構成を示す説明図である。
本実施例のリスト記憶部２８には、図３に示されるように、各切替元ＰＤＬ名「ＰＤＬ１」、「ＰＤＬ２」及び「ＰＤＬ３」と、各エラー名「メモリフル」、「リソース不足」及び「その他」とに対応して、ＰＤＬ選択リスト３８−１〜９が記憶されている。
【００３５】
リスト記憶部２８に記憶されているＰＤＬ選択リスト３８−１〜９は、ＰＤＬ処理部１９においてＰＤＬ処理を実行中にエラーが発生した場合に、切替先のＰＤＬを選択するために使用されるリストであり、優先順位「１」に対応するＰＤＬを第１優先ＰＤＬ、優先順位「２」に対応するＰＤＬを第２優先ＰＤＬとして、第（Ｎ−１）優先ＰＤＬまでを含んで構成される。ここで、Ｎは搭載ＰＤＬ数であり、本実施例では「３」である。
【００３６】
例えば、切替元ＰＤＬ名「ＰＤＬ１」及びエラー名「メモリフル」に対応して記憶されているＰＤＬ選択リスト３８−１は、ＰＤＬ１処理部２２においてＰＤＬ１に基づくＰＤＬ処理を実行中にメモリフルエラーが発生した場合に、読出選択部３０により読み出して使用されるリストであり、他のＰＤＬ、即ちＰＤＬ２及びＰＤＬ３の何れに切り替えるかの優先順位を示す。図３に示されるリスト記憶部２８では、ＰＤＬ選択リスト３８−１には、優先順位「１」に対応して第１優先ＰＤＬを示す第１優先ＰＤＬ名「ＰＤＬ２」が、優先順位「２」に対応して第２優先ＰＤＬを示す第２優先ＰＤＬ名「ＰＤＬ３」が、それぞれ記憶されている。
【００３７】
リスト記憶部２８に記憶されている各ＰＤＬ選択リスト３８−１〜９は、各ＰＤＬのコマンド体系の特性に基づいて、予め設定される。
【００３８】
例えば、ＰＤＬ１処理部２２及びＰＤＬ３処理部２４は、オブジェクト単位で処理を実行する（図２（ｂ）、図２（ｄ）及び図２（ｅ））ため、ＰＤＬ処理の実行に際して、オブジェクトの大きさのメモリ領域を取得する必要がある。一方、ＰＤＬ２処理部２３は、ラスタ単位で処理を行う（図２（ｃ））ため、ラスタの大きさのメモリ領域があれば、ＰＤＬ処理を実行可能である。したがって、ＰＤＬ１及びＰＤＬ３でメモリフルエラーが発生した場合でも、ＰＤＬ２ならばメモリフルエラーを回避できる可能性がある。
【００３９】
また、ＰＤＬ３処理部２４は、ＰＤＬデータを塗り潰しパタン及び透過パタンに分割して処理を行う（図２（ｄ）及び図２（ｅ））。そのため、ＰＤＬ１処理部２２による処理内容と比較して、カラーマッチング処理やデコード処理等の内容が単純になり、使用するメモリ領域が少なくて済む場合がある。したがって、ＰＤＬ１でメモリフルエラーが発生した場合も、ＰＤＬ３ならばメモリフルエラーを回避できる可能性がある。
【００４０】
上記した特性から、図３に示されるリスト記憶部２８において、例えば、切替元ＰＤＬ名「ＰＤＬ１」及びエラー名「メモリフル」に対応するＰＤＬ選択リスト３８−１には、第１優先ＰＤＬ名として「ＰＤＬ２」、第２優先ＰＤＬ名として「ＰＤＬ３」が設定されている。また、切替元ＰＤＬ名「ＰＤＬ２」及びエラー名「メモリフル」に対応するＰＤＬ選択リスト３８−２には、第１優先ＰＤＬ名として「ＰＤＬ３」、第２優先ＰＤＬ名として「ＰＤＬ１」が設定されている。
【００４１】
このように、切替元ＰＤＬのコマンド体系の特性を考慮して、各ＰＤＬ選択リスト３８−１〜９が、リスト記憶部２８に予め設定して記憶される。
【００４２】
格納部２９には、各切替元ＰＤＬ名に対応して、ＰＤＬ処理部１９によるＰＤＬ処理が実行済であることを示す実行済情報が格納される。
【００４３】
図４は、格納部の構成を示す説明図である。
格納部２９には、図４に示されるように、各ＰＤＬ名「ＰＤＬ１」、「ＰＤＬ２」及び「ＰＤＬ３」に対応して、実行情報としての実行済情報「済」を格納するための実行済情報項目が設けられている。
【００４４】
例えば、図４において、格納部２９には、ＰＤＬ名「ＰＤＬ１」に対応する実行済情報項目に、実行済情報「済」が格納されている。これは、プリンタ１０において印刷処理実行中の印刷ジョブに対して、ＰＤＬ処理部１９におけるＰＤＬ１に基づくＰＤＬ処理が実行済であることを示している。
【００４５】
読出選択部３０は、継続判断部２７から切替元ＰＤＬ名及びエラー名を通知されると、該切替元ＰＤＬ名及びエラー名に基づき、リスト記憶部２８から対応するＰＤＬ選択リストを読み出す。そして、読出選択部３０は、格納部２９を参照して、切替先のＰＤＬとして、変換ＰＤＬを選択する。
【００４６】
例えば、継続判断部２７から通知された切替元ＰＤＬ名が「ＰＤＬ１」であり、エラー名が「メモリフル」であった場合、読出選択部３０は、リスト記憶部２８（図３）から、切替元ＰＤＬ名「ＰＤＬ１」及びエラー名「メモリフル」に対応するＰＤＬ選択リスト３８−１を読み出す。図３において、ＰＤＬ選択リスト３８−１には、第１優先ＰＤＬ名「ＰＤＬ２」及び第２優先ＰＤＬ名「ＰＤＬ３」が記憶されている。読出選択部３０は、ＰＤＬ選択リスト３８−１から第１優先ＰＤＬ名「ＰＤＬ２」を読み出して、このＰＤＬ２に基づくＰＤＬ処理が実行済であるか否かを判断すべく、格納部２９（図４）を参照する。図４において、格納部２９には、ＰＤＬ名「ＰＤＬ２」に対応する実行済情報が格納されていないので、読出選択部３０は、ＰＤＬ２に基づくＰＤＬ処理が実行済ではないと判断し、変換ＰＤＬとして第１優先ＰＤＬ「ＰＤＬ２」を選択する。
【００４７】
また、継続判断部２７から通知された切替元ＰＤＬ名が「ＰＤＬ２」であり、エラー名が「リソース不足」であった場合、読出選択部３０は、リスト記憶部２８（図３）から、ＰＤＬ選択リスト３８−５を読み出す。図３において、ＰＤＬ選択リスト３８−５には、第１優先ＰＤＬ名「ＰＤＬ１」、第２優先ＰＤＬ名「ＰＤＬ３」が記憶されている。読出選択部３０は、まず、第１優先ＰＤＬ「ＰＤＬ１」に基づくＰＤＬ処理が実行済であるか否かを判断すべく、格納部２９（図４）を参照する。図４において、格納部２９には、ＰＤＬ名「ＰＤＬ１」に対応する実行済情報が格納されているので、読出選択部３０は、ＰＤＬ１に基づくＰＤＬ処理が実行済であると判断し、次に、第２優先ＰＤＬ「ＰＤＬ３」に基づくＰＤＬ処理が実行済であるか否かを判断する。格納部２９（図４）には、ＰＤＬ名「ＰＤＬ３」に対応する実行済情報は格納されていないので、読出選択部３０は、ＰＤＬ３に基づくＰＤＬ処理が実行済ではないと判断し、変換ＰＤＬとして第２優先ＰＤＬ「ＰＤＬ３」を選択する。
【００４８】
読出選択部３０は、変換ＰＤＬの選択を行うと、該変換ＰＤＬのＰＤＬ名を、変換ＰＤＬ名として変換部３１に通知する。また、変換ＰＤＬを選択不可であった場合、読出選択部３０は、選択不可を制御部１７に通知する。
【００４９】
変換部３１は、各ＰＤＬから他の各ＰＤＬへの変換機能を有し、読出選択部３０から変換ＰＤＬ名の通知を受けると、一時記憶部１２から記述ＰＤＬ名及び対応するＰＤＬデータを読み出す。そして、変換部３１は、記述ＰＤＬから変換ＰＤＬへの変換機能を用いて、該ＰＤＬデータを、変換ＰＤＬで記述した変換ＰＤＬデータに変換する。そして、変換部３１は、変換ＰＤＬ名及び変換ＰＤＬデータを、一時記憶部１２に送って記憶させる。また、変換部３１は、変換処理の完了及び変換ＰＤＬ名を、制御部１７に通知する。
【００５０】
パネル表示部１６は、通知部及び表示部として、エラーの発生やＰＤＬの切替等を通知するための各種通知画面を表示する機能を有し、図１に示されるように、オペレータパネル３２及び表示制御部３３を備えている。
【００５１】
オペレータパネル３２は、表示制御部３３の制御に基づき、各種通知画面を表示する。
【００５２】
図５は、実施例１のオペレータパネルに表示される通知画面の説明図である。
図５（ａ）は、プリンタ１０が印刷中であることを通知するための印刷中画面である。また、図５（ｂ）は、エラー発生後にＰＤＬを切り替えて印刷処理が継続されたことを通知するための切替印刷中画面である。そして、図５（ｃ）は、全てのＰＤＬへの切替処理を実施後、印刷処理がエラーにより停止されたことを通知するための印刷停止画面である。
【００５３】
表示制御部３３は、制御部１７からの指示に基づいて、通知画面の編集を行って、オペレータパネル３２に該通知画面の表示を指示する。
【００５４】
例えば、制御部１７から印刷中画面の表示指示を受けると、パネル表示部１６は、印刷中画面（図５（ａ））をオペレータパネル３２に表示させる。
【００５５】
また、制御部１７から切替印刷中画面の表示指示を受けると、表示制御部３３は、一時記憶部１２から記述ＰＤＬ名及び変換ＰＤＬ名を読み出して、該記述ＰＤＬ名及び変換ＰＤＬ名を含む切替印刷中画面（図５（ｂ））を編集し、オペレータパネル３２に表示させる。図５（ｂ）に示される切替印刷中画面は、記述ＰＤＬ名「ＰＤＬ１」及び変換ＰＤＬ名「ＰＤＬ２」を含んで構成される。
【００５６】
また、制御部１７から印刷停止画面の表示指示と共にエラー名を通知されると、表示制御部３３は、一時記憶部１２から記述ＰＤＬ名を読み出して、通知されたエラー名及び読み出した記述ＰＤＬ名を含む印刷停止画面（図５（ｃ））を編集し、オペレータパネル３２に表示させる。図５（ｃ）に示される印刷停止画面において、エラー名は「メモリフル」であり、記述ＰＤＬ名は「ＰＤＬ１」である。
【００５７】
制御部１７は、プリンタ１０の各部を制御する機能を有する。例えば、制御部１７は、インタフェース部１１から印刷ジョブの受信を通知されると、ＰＪＬ処理部１８にこれを通知して、言語判断部２１によるＰＪＬデータの解析処理を実施させる。そして、ＰＪＬ処理部１８から記述ＰＤＬ名を通知されると、カウンタ２６において計数される処理実行回数ｉを初期化すると共に、格納部２９に格納されている実行済情報を全て削除して格納部２９を初期化する。そして、制御部１７は、カウンタ２６の処理実行回数ｉに「１」を加算すると共に、格納部２９に対して、通知された記述ＰＤＬ名に対応する実行済情報項目に、実行済情報「済」を格納させた後、ＰＤＬ処理部１９に記述ＰＤＬ名を通知して、ＰＤＬ処理の実行を指示する。
【００５８】
また、制御部１７は、展開処理部２０から展開処理の完了を通知されると、カウンタ２６から処理実行回数ｉを読み出す。そして、ｉ＝１の場合、制御部１７は、印刷中画面の表示指示をパネル表示部１６に送る。また、ｉ＝１ではない場合、即ちｉ＝２或いは３の場合、制御部１７は、切替印刷中画面の表示指示をパネル表示部１６に送る。更に、制御部１７は、出力部１４による出力処理を実行させる。
【００５９】
また、制御部１７は、変換部３１から変換処理の完了及び変換ＰＤＬ名を通知されると、カウンタ２６の処理実行回数ｉに対する加算処理と、格納部２９の変換ＰＤＬ名に対応する実行済情報項目への実行済情報の格納処理とを実行する。そして、制御部１７は、ＰＤＬ処理部１９に変換ＰＤＬ名を通知して、変換ＰＤＬに基づくＰＤＬ処理の実行を指示する。
【００６０】
更に、制御部１７は、停止部として、継続判断部２７から印刷停止及びエラー名を通知されると、パネル表示部１６に印刷停止画面の表示指示とエラー名とを送ると共に、印刷処理を停止させる。
【００６１】
次に、本実施例のプリンタ１０の動作について、説明する。
ここでは、プリンタ１０がパーソナルコンピュータ９から印刷ジョブを受信して印刷処理を実行する場合の処理の流れについて、フローチャートに沿って説明する。
図６は、本発明に係るプリンタの実施例１における印刷動作を示すフローチャート（その１）であり、図７は、本発明に係るプリンタの実施例１における印刷動作を示すフローチャート（その２）である。
【００６２】
まず、エラーが発生することなく印刷処理が完了するまでの処理の流れについて、プリンタ１０がＰＤＬ１で記述されたＰＤＬデータを含む印刷ジョブを受信した場合を例に、説明する。
【００６３】
プリンタ１０において、インタフェース部１１がパーソナルコンピュータ９から印刷ジョブを受信する（ステップＳ１０１）と、該印刷ジョブに含まれるＰＪＬデータ及びＰＤＬデータが、一時記憶部１２に記憶される（ステップＳ１０１）。インタフェース部１１は、印刷ジョブの受信を制御部１７に通知する。
【００６４】
制御部１７は、インタフェース部１１からの通知を受けて、ＰＪＬ処理部１８にＰＪＬデータの解析を指示する。ＰＪＬ処理部１８は、この指示を受けると、言語判断部２１が一時記憶部１２からＰＪＬデータを読み出して、該ＰＪＬデータに対する解析処理を実施し、記述ＰＤＬがＰＤＬ１であると判断する（ステップＳ１０２）。言語判断部２１は、記述ＰＤＬの判断結果、即ち記述ＰＤＬ名「ＰＤＬ１」を、制御部１７に通知する。
【００６５】
記述ＰＤＬ名の通知を受けた制御部１７は、まず、カウンタ２６及び格納部２９の初期化を行う（ステップＳ１０３）。カウンタ２６において計数される処理実行回数ｉは「０」に初期化され、格納部２９に格納されている実行済情報は全て削除される（ステップＳ１０３）。
【００６６】
続いて、制御部１７は、カウンタ２６及び格納部２９を制御して、処理実行回数ｉの加算処理及び実行済情報の格納処理を行う（ステップＳ１０４）。カウンタ２６は、処理実行回数ｉに１を加算して「１」とする。また、格納部２９は、図４に示されるように、記述ＰＤＬ名「ＰＤＬ１」に対応する実行済情報項目に、実行済情報「済」を格納する。
【００６７】
そして、制御部１７は、ＰＤＬ処理部１９に記述ＰＤＬ名「ＰＤＬ１」を通知すると共に、ＰＤＬ処理の実行を指示する。ＰＤＬ処理部１９は、この指示に基づいて、一時記憶部１２から記述ＰＤＬ名「ＰＤＬ１」に対応するＰＤＬデータを読み出して、ＰＤＬ１処理部２２によるＰＤＬ処理を実行する（ステップＳ１０５）。ＰＤＬ１処理部２２は、ＰＤＬ１に基づきＰＤＬデータを解釈して、中間データに変換し、該中間データをページバッファに格納する。このＰＤＬ処理が完了すると、ＰＤＬ処理部１９は、展開処理部２０にＰＤＬ処理の完了を通知する。
【００６８】
展開処理部２０は、ＰＤＬ処理の完了を通知されると、ページバッファから中間データを読み出して、ドットイメージへの展開処理を行い、該ドットイメージをラスタバッファに格納する（ステップＳ１０７）。そして、展開処理部２０は、展開処理の完了を制御部１７に通知する。
【００６９】
制御部１７は、展開処理の完了を通知されると、カウンタ２６から処理実行回数「ｉ＝１」を読み出す。そして、制御部１７は、パネル表示部１６に対する印刷中画面の表示指示を行うと共に、出力部１４への出力指示を行う。この指示を受けて、パネル表示部１６のオペレータパネル３２は、表示制御部３３の制御に基づき、印刷中画面（図５（ａ））の表示を行う。また、出力部１４は、ラスタバッファからドットイメージを読み出して、該ドットイメージに基づく出力を行う（ステップＳ１０８）。これにより、プリンタ１０における印刷処理は終了する。
【００７０】
上記のように、プリンタ１０において、ＰＤＬデータを含む印刷ジョブが受信され、ＰＤＬ処理が実施された後、出力処理が実行される。
【００７１】
次に、ＰＤＬ処理実行中にエラーが発生した場合の処理の流れについて、ＰＤＬ１に基づくＰＤＬ処理実行中にメモリフルエラーが発生した場合を例に、説明する。
【００７２】
プリンタ１０が印刷ジョブを受信した（ステップＳ１０１）後、ＰＤＬ１に基づくＰＤＬ処理を実行する（ステップＳ１０５）までの処理の流れは、エラーが発生しない場合と同一なので、説明を省略する。
【００７３】
ＰＤＬ１処理部２２によるＰＤＬ処理の実行中に、エラーが発生する（ステップＳ１０６）と、エラー処理部１５において、検知判断部２５がエラーの発生を検知する。続いて、検知判断部２５は、エラーの種類がメモリフルエラー、リソース不足エラー及びその他のエラーの何れであるかを判断すると共に、処理実行中のＰＤＬがＰＤＬ１、ＰＤＬ２及びＰＤＬ３の何れであるかを判断する。検知判断部２５は、エラーの種類がメモリフルエラーであり、処理実行中のＰＤＬがＰＤＬ１であると判断すると、エラーの検知と、エラー名「メモリフル」及びＰＤＬ名「ＰＤＬ１」とを、継続判断部２７に通知する。
【００７４】
継続判断部２７は、この通知を受けると、カウンタ２６から処理実行回数ｉを読み出して、該処理実行回数ｉと搭載ＰＤＬ数Ｎとを比較する（ステップＳ１０９）。
【００７５】
処理実行回数ｉが搭載ＰＤＬ数Ｎ未満である場合、即ちｉ＜３である場合（ステップＳ１０９）、継続判断部２７は、印刷処理を継続すると判断する。そして、継続判断部２７は、検知判断部２５から通知されたＰＤＬ名「ＰＤＬ１」を切替元ＰＤＬ名として、判断結果と、切替元ＰＤＬ名「ＰＤＬ１」と、検知判断部２５から通知されたエラー名「メモリフル」とを、読出選択部３０に通知する。
【００７６】
読出選択部３０は、通知された切替元ＰＤＬ名「ＰＤＬ１」及びエラー名「メモリフル」に基づいて、リスト記憶部２８から対応するＰＤＬ選択リスト３８−１を読み出す（ステップＳ１１０）。
【００７７】
そして、読出選択部３０は、このＰＤＬ選択リスト３８−１に基づいて、変換ＰＤＬの選択を行って、変換部３１に変換ＰＤＬ名を通知する（ステップＳ１１１）。ステップＳ１１１における変換ＰＤＬの選択処理の詳細な流れについては、後述する。
【００７８】
読出選択部３０により変換ＰＤＬが選択される（ステップＳ１１２）と、変換ＰＤＬ名を通知された変換部３１により、ＰＤＬデータから変換ＰＤＬデータへの変換処理が実施される（ステップＳ１１３）。変換部３１は、一時記憶部１２から記述ＰＤＬ名とＰＤＬデータとを読み出して、記述ＰＤＬで記述されたＰＤＬデータを、変換ＰＤＬで記述した変換ＰＤＬデータへと変換する（ステップＳ１１３）。そして、変換部３１は、変換ＰＤＬ名及び変換ＰＤＬデータを一時記憶部１２に送って記憶させると共に、変換処理の完了と変換ＰＤＬ名とを制御部１７に通知する。
【００７９】
この通知を受けて、制御部１７は、カウンタ２６における処理実行回数ｉへの加算処理及び格納部２９への実行済情報の格納処理を行う（ステップＳ１０４）。カウンタ２６は処理実行回数ｉに１を加算して「ｉ＋１」とする。また、格納部２９は、変換ＰＤＬ名に対応する実行済情報項目に、実行済情報「済」を格納する。
【００８０】
そして、制御部１７は、ＰＤＬ処理部１９に変換ＰＤＬ名を通知すると共に、ＰＤＬ処理の実行を指示する。ＰＤＬ処理部１９は、この指示に基づいて、一時記憶部１２から変換ＰＤＬ名に対応する変換ＰＤＬデータを読み出して、変換ＰＤＬに基づくＰＤＬ処理を実行する（ステップＳ１０５）。そして、変換ＰＤＬデータを中間データに変換し、該中間データをページバッファに格納する（ステップＳ１０５）。
【００８１】
変換ＰＤＬデータに対するＰＤＬ処理実行中に、エラーが発生する（ステップＳ１０６）と、検知判断部２５によりエラーの発生が検知され、プリンタ１０は、ステップＳ１０９以降の処理を繰り返す。
【００８２】
変換ＰＤＬデータに対するＰＤＬ処理が完了し、ＰＤＬ処理部１９からＰＤＬ処理の完了が通知されると、展開処理部２０は、ページバッファから中間データを読み出して、ドットイメージへの展開処理及び該ドットイメージのラスタバッファへの格納処理を行う（ステップＳ１０７）。そして、展開処理部２０は、展開処理の完了を制御部１７に通知する。
【００８３】
そして、制御部１７が、カウンタ２６から処理実行回数ｉを読み出す。プリンタ１０は、記述ＰＤＬから変換ＰＤＬに切り替えて、印刷処理を継続中であり、カウンタ２６により計数される処理実行回数ｉは１ではなく、２或いは３である。したがって、制御部１７は、切替印刷中画面の表示指示をパネル表示部１６に送る。また、制御部１７は、出力部１４に出力指示を行う。パネル表示部１６は、切替印刷中画面の表示指示を受けると、表示制御部３３が、一時記憶部１２から記述ＰＤＬ名及び変換ＰＤＬ名を読み出して、切替印刷中画面の編集を行い、オペレータパネル３２が、記述ＰＤＬ名及び変換ＰＤＬ名を含む切替印刷中画面（図５（ｂ））の表示を行う。また、出力部１４は、出力指示に基づいて、ラスタバッファからドットイメージを読み出し、出力を行う（ステップＳ１０８）。これにより、プリンタ１０における印刷処理は終了する。
【００８４】
上記のように、ＰＤＬ処理実行中にエラーが発生すると、エラーの種類が判断された後、該エラーの種類に対応して切替先のＰＤＬが選択され、該ＰＤＬに切り替えて印刷処理が継続される。
【００８５】
なお、ステップＳ１０９において、処理実行回数ｉが搭載ＰＤＬ数Ｎに等しい場合、即ちｉ＝３である場合（ステップＳ１０９）、継続判断部２７は、印刷処理を停止すると判断し、該判断結果と共に、検知判断部２５から通知されたエラー名を、制御部１７に通知する。
【００８６】
制御部１７は、この通知を受けて、印刷停止画面の表示指示及びエラー名を、パネル表示部１６に送る。パネル表示部１６は、表示制御部３３により印刷停止画面の編集を行って、オペレータパネル３２によりエラー名を含む印刷停止画面（図５（ｃ））の表示を行う（ステップＳ１１４）。そして、制御部１７の制御により、プリンタ１０は、印刷処理を停止する（ステップＳ１１４）。
【００８７】
上記のように、全てのＰＤＬへの切替処理を実行後、再度エラーが発生すると、印刷処理が停止される。
【００８８】
また、ステップＳ１１１において、変換ＰＤＬが選択不可であった場合（ステップＳ１１２）、読出選択部３０は、選択不可を制御部１７に通知する。制御部１７は、この通知を受けて、印刷停止画面の表示指示及びエラー名を、パネル表示部１６に送る。そして、オペレータパネル３２によるエラー名を含む印刷停止画面（図５（ｃ））が表示され、プリンタ１０は、印刷処理を停止する（ステップＳ１１４）。
【００８９】
上記のように、変換ＰＤＬの選択が不可であった場合、印刷処理が停止される。
【００９０】
次に、ステップＳ１１１（図７）におけるＰＤＬ選択リストに基づく変換ＰＤＬの選択処理の流れについて、図８に沿って説明する。
図８は、本発明に係るプリンタの実施例１におけるＰＤＬ選択動作を示すフローチャートである。
【００９１】
ここでは、切替元ＰＤＬ名「ＰＤＬ１」及びエラー名「メモリフル」に対応するＰＤＬ選択リスト３８−１（図３）を例に、説明を行う。
【００９２】
読出選択部３０は、まず、ＰＤＬ選択リスト３８−１から第１優先ＰＤＬ名「ＰＤＬ２」を読み出す（ステップＳ２０１）。
【００９３】
次に、読出選択部３０は、格納部２９（図４）を参照して、第１優先ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目に、実行済情報「済」が格納されているか否かを判断する（ステップＳ２０２）。図４に示される格納部２９において、ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目には、実行済情報が格納されていないので、読出選択部３０は、第１優先ＰＤＬ「ＰＤＬ２」に基づくＰＤＬ処理は実行されていないと判断する（ステップＳ２０２）。
【００９４】
この判断に基づいて、読出選択部３０は、第１優先ＰＤＬ「ＰＤＬ２」を変換ＰＤＬとして選択する（ステップＳ２０３）。これにより、プリンタ１０におけるＰＤＬ選択処理は終了する。
【００９５】
ステップＳ２０２において、第１優先ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目に、実行済情報「済」が格納されている場合、読出選択部３０は、第１優先ＰＤＬ「ＰＤＬ２」に基づくＰＤＬ処理が実行済であると判断する（ステップＳ２０２）。
【００９６】
この判断に基づき、読出選択部３０は、ＰＤＬ選択リスト３８−２から第２優先ＰＤＬ名「ＰＤＬ３」を読み出す（ステップＳ２０４）。
【００９７】
そして、読出選択部３０は、格納部２９を参照して、第２優先ＰＤＬ「ＰＤＬ３」に対応する実行済情報項目に、実行済情報「済」が格納されているか否かを判断する（ステップＳ２０５）。ＰＤＬ名「ＰＤＬ３」に対応する実行済情報項目に、実行済情報が格納されていない場合、読出選択部３０は、第２優先ＰＤＬ「ＰＤＬ３」に基づくＰＤＬ処理は実行されていないと判断する（ステップＳ２０５）。
【００９８】
この判断に基づいて、読出選択部３０は、第２優先ＰＤＬ「ＰＤＬ３」を変換ＰＤＬとして選択する（ステップＳ２０６）。これにより、プリンタ１０におけるＰＤＬ選択処理は終了する。
【００９９】
また、ステップＳ２０５において、第２優先ＰＤＬ名「ＰＤＬ３」に対応する実行済情報項目に、実行済情報「済」が格納されている場合、読出選択部３０は、第２優先ＰＤＬ「ＰＤＬ３」に基づくＰＤＬ処理が実行済であると判断する（ステップＳ２０５）。そして、読出選択部３０は、変換ＰＤＬの選択が不可であると判断し、該判断結果を制御部１７に通知する（ステップＳ２０６）。これにより、プリンタ１０におけるＰＤＬ選択処理は終了する。
【０１００】
上記のように、ＰＤＬ選択リストに基づいて、第１優先ＰＤＬから順に、ＰＤＬ処理が実行済か否かの判断が実施され、変換ＰＤＬが選択される。
【０１０１】
以上のように、本実施例のプリンタは、各ＰＤＬから他のＰＤＬへの切替変換機能を備え、上位装置から受信したＰＤＬデータに対するＰＤＬ処理の実行中に、エラーが発生すると、他のＰＤＬに切り替えて、該ＰＤＬにＰＤＬデータを変換できるので、印刷処理の継続が可能となる。その際、プリンタは、発生したエラーの種類に応じて切替先のＰＤＬを選択するので、エラーの発生を回避して、効率的な印刷処理の実行が可能となる。また、上位装置への特別なプリンタドライバやアプリケーションのインストールが不要となり、既存の装置を利用可能となるので、コストを軽減できる。更に、上位装置からプリンタへデータを繰り返し送信する必要がなくなると共に、特別な操作が不要となるので、ユーザへの負担を軽減可能となる。
【０１０２】
なお、本実施例では、ＰＤＬの切替や印刷停止を通知する通知画面は、オペレータパネル３２において表示されるが、プリンタ１０からパーソナルコンピュータ９へ通知を行って、パーソナルコンピュータ９において通知画面を表示する構成をとることも可能である。
【実施例２】
【０１０３】
図９は、本発明の実施例２に係るプリンタの構成を示すブロック図である。
本実施例のプリンタ４０は、ＰＤＬ選択リストの設定を行う設定部４３を追加した構成が、実施例１とは異なる。
なお、本実施例において、実施例１と同様な構成を同一の符号で示し、これらについての説明を省略する。
【０１０４】
本実施例のプリンタ４０は、複数のＰＤＬが搭載される印刷装置からなり、図９に示されるように、上位装置としてのパーソナルコンピュータ９に接続され、インタフェース部１１、一時記憶部１２、データ処理部１３、出力部１４、エラー処理部４１、パネル表示部４２、設定部４３及び制御部４４を備えている。なお、本実施例のプリンタ４０は、ＰＤＬ１、ＰＤＬ２及びＰＤＬ３の３種類のＰＤＬを搭載しているものとする。
【０１０５】
エラー処理部４１は、図９に示されるように、検知判断部４５、カウンタ２６、継続判断部４６、リスト記憶部４７、格納部２９、読出選択部４８及び変換部３１を備えている。
【０１０６】
検知判断部４５は、データ処理部１３の動作状況を監視して、エラーの発生を検知する。また、検知判断部４５は、エラー発生時にデータ処理部１３において処理実行中であったＰＤＬの種類を判断する。そして、検知判断部４５は、エラーの検知と、判断されたＰＤＬの種類を示すＰＤＬ名とを、継続判断部２７に通知する。
【０１０７】
継続判断部４６は、検知判断部４５からエラーの検知及びＰＤＬ名を通知されると、カウンタ２６を参照して、印刷処理を継続するか否かを判断する。印刷処理を継続すると判断すると、継続判断部４６は、検知判断部４５から通知されたＰＤＬ名を切替元ＰＤＬ名として、読出選択部４８に通知する。また、印刷処理を停止すると判断すると、継続判断部４６は、該判断結果を制御部４４に通知する。
【０１０８】
リスト記憶部４７は、優先順位情報記憶部として、優先順位情報としてのＰＤＬ選択リストを記憶する記憶部である。
【０１０９】
図１０は、実施例２のリスト記憶部の構成を示す説明図である。
本実施例のリスト記憶部４７には、図１０に示されるように、各切替元ＰＤＬ名「ＰＤＬ１」、「ＰＤＬ２」及び「ＰＤＬ３」に対応して、ＰＤＬ選択リスト５０−１〜３が記憶されている。各ＰＤＬ選択リスト５０−１〜３は、パネル表示部４２において入力され、設定部４３によりリスト記憶部４７に設定される。
【０１１０】
例えば、リスト記憶部４７において、切替元ＰＤＬ名「ＰＤＬ１」に対応して記憶されているＰＤＬ選択リスト５０−１は、ＰＤＬ１処理部２２においてＰＤＬ１に基づくＰＤＬ処理を実行中にエラーが発生した場合に、読出選択部４８により読み出して使用されるリストである。図１０において、ＰＤＬ選択リスト５０−１には、優先順位「１」に対応して第１優先ＰＤＬを示す第１優先ＰＤＬ名「ＰＤＬ２」が、優先順位「２」に対応して第２優先ＰＤＬを示す第２優先ＰＤＬ名「ＰＤＬ３」が、それぞれ記憶されている。
【０１１１】
また、図１０において、切替元ＰＤＬ名「ＰＤＬ２」に対応して記憶されているＰＤＬ選択リスト５０−２には、優先順位「１」に対応して第１優先ＰＤＬ名「ＰＤＬ３」が記憶されているが、優先順位「２」に対応する第２優先ＰＤＬ名は「なし」と設定されている。
【０１１２】
更に、図１０において、切替元ＰＤＬ名「ＰＤＬ３」に対応して記憶されているＰＤＬ選択リスト５０−３には、優先順位「１」及び「２」の何れにも、「なし」が設定されている。
【０１１４】
読出選択部４８は、継続判断部４６から切替元ＰＤＬ名を通知されると、該切替元ＰＤＬ名に基づきリスト記憶部４７から対応するＰＤＬ選択リストを読み出す。そして、読出選択部４８は、格納部２９を参照して、変換ＰＤＬの選択を行い、変換ＰＤＬ名を変換部３１に通知する。また、変換ＰＤＬの選択に際して、ＰＤＬ選択リストから読み出したＰＤＬ名が「なし」であった場合、読出選択部４８は、変換ＰＤＬの選択が不可であると判断し、該判断結果を制御部４４に通知する。
【０１１５】
パネル表示部４２は、図９に示されるように、オペレータパネル５１及び表示制御部５２を備え、各種画面の表示機能及び各種情報の入力機能を有する。
【０１１６】
オペレータパネル５１は、表示制御部５２の制御に基づき、エラーの発生やＰＤＬの切替等を通知するための各種通知画面を表示する。
図１１は、実施例２のオペレータパネルに表示される通知画面の説明図である。
印刷中画面及び継続印刷中画面は、実施例１（図５（ａ）及び図５（ｂ））と同一である。図１１には、実施例２における印刷停止画面の表示例を示す。
【０１１７】
また、オペレータパネル５１は、表示制御部５２の制御に基づき、リスト記憶部４７へのＰＤＬ選択リストの設定のための各メニュー画面を表示する。そして、オペレータパネル５１は、メニュー画面において選択された各情報を入力し、表示制御部５２へ送る。
【０１１８】
オペレータパネル５１におけるメニュー画面の表示例を、図１２に示す。
図１２は、実施例２のオペレータパネルに表示されるメニュー画面の説明図である。
【０１１９】
図１２（ａ）は、エラー発生時にＰＤＬを切り替えてＰＤＬデータを変換する機能、即ちＰＤＬ切替変換機能のオン／オフを設定するためのオン／オフ設定画面の表示例である。
【０１２０】
オン／オフ設定画面は、図１２（ａ）に示されるように、ＰＤＬ切替変換機能のオン設定を行うための「オン」設定ボタン５３ａと、ＰＤＬ切替機能のオフ設定を行うための「オフ」設定ボタン５３ｂとを有する。オン／オフ設定画面において、「オン」設定ボタン５３ａが押下されると、オペレータパネル５１はオン設定情報を入力し、表示制御部５２へ送る。また、「オフ」設定ボタン５３ｂが押下されると、オペレータパネル５１はオフ設定情報を入力し、表示制御部５２へ送る。
【０１２１】
図１２（ｂ）は、切替元ＰＤＬ「ＰＤＬ１」に対して第１優先ＰＤＬを選択するための第１優先ＰＤＬ選択画面の一例である。
【０１２２】
図１２（ｂ）において、第１優先ＰＤＬ選択画面には、切替元ＰＤＬ名「ＰＤＬ１」に対応するＰＤＬ選択リスト５０−１に、第１優先ＰＤＬとして「ＰＤＬ２」を設定すべく選択するための「ＰＤＬ２」選択ボタン５６ｂと、「ＰＤＬ３」を設定すべく選択するための「ＰＤＬ３」選択ボタン５６ｃと、「なし」を設定すべく選択するための「なし」選択ボタン５７とが表示されている。「ＰＤＬ２」選択ボタン５６ｂ及び「ＰＤＬ３」選択ボタン５６ｃを総称して、ＰＤＬ選択ボタン５６とする。何れかのＰＤＬ選択ボタン５６が押下されると、オペレータパネル５１は、対応するＰＤＬ名、即ち「ＰＤＬ２」及び「ＰＤＬ３」の何れかを、第１優先ＰＤＬ名として入力し、表示制御部５２へ送る。また、「なし」選択ボタン５７が押下されると、オペレータパネル５１は、設定の終了を示す終了選択情報を入力し、表示制御部５２へ送る。
【０１２３】
図１２（ｃ）は、第１優先ＰＤＬ選択画面（図１２（ｂ））において「ＰＤＬ２」選択ボタン５６ｂが押下された場合に表示される第２優先ＰＤＬ選択画面の一例である。
【０１２４】
図１２（ｃ）において、第２優先ＰＤＬ選択画面には、切替元ＰＤＬ名「ＰＤＬ１」に対応するＰＤＬ選択リスト５０−１に、第２優先ＰＤＬとして「ＰＤＬ３」を設定すべく選択するための「ＰＤＬ３」選択ボタン５８ｃと、「なし」を設定すべく選択するための「なし」選択ボタン５９とが表示されている。「ＰＤＬ３」選択ボタン５８ｃが押下されると、オペレータパネル５１は、対応するＰＤＬ名、即ち「ＰＤＬ３」を、第２優先ＰＤＬ名として入力し、表示制御部５２へ送る。また、「なし」選択ボタン５９が押下されると、オペレータパネル５１は、終了選択情報を入力し、表示制御部５２へ送る。
【０１２５】
表示制御部５２は、制御部４４からの指示に基づき、各通知画面及び各メニュー画面の編集処理や、オペレータパネル５１への各画面の表示指示を行う。また、表示制御部５２は、オペレータパネル５１から受けた入力情報に基づいて、メニュー画面の表示制御を行うと共に、該入力情報を設定部４３へ送る。
【０１２６】
設定部４３は、リスト記憶部４７（図１０）への各ＰＤＬ選択リスト５０−１〜３の設定を行う。設定部４３は、表示制御部５２から受けた入力情報に基づいて、リスト記憶部４７にＰＤＬ選択リスト５０−１〜３を設定する。また、設定部４３は、表示制御部５２からオフ設定情報を受けると、ＰＤＬ切替選択機能のオフを設定すべく、各ＰＤＬ選択リスト５０−１〜３に対して、第１優先ＰＤＬ名「なし」及び第２優先ＰＤＬ名「なし」を設定する。
【０１２７】
制御部４４は、プリンタ４０の各部を制御する機能を有する。
【０１２８】
次に、本実施例のプリンタ４０の動作について、説明する。
まず、リスト記憶部４７にＰＤＬ選択リスト５０−１〜３を設定する処理の流れについて、フローチャートに沿って説明する。
図１３は、本発明に係るプリンタの実施例２におけるリスト設定動作を示すフローチャートである。
【０１２９】
ここでは、ＰＤＬ切替変換機能のオン設定を行って、各ＰＤＬ選択リスト５０−１〜３を設定する場合の処理の流れについて、説明する。
【０１３０】
プリンタ４０において、ＰＤＬ切替変換機能の設定要求がオペレータパネル５１により入力される（ステップＳ３０１）と、該入力を受けた表示制御部５２が、オペレータパネル５１にオンオフ設定画面（図１２（ａ））を表示させる（ステップＳ３０２）。
【０１３１】
オンオフ設定画面（図１２（ａ））において、「オン」設定ボタン５３ａが押下される（ステップＳ３０３）と、オペレータパネル５１は、オン設定情報を入力して、表示制御部５２へ送る（ステップＳ３０４）。
【０１３２】
オン設定情報が入力されると、表示制御部５２は、まず、オペレータパネル５１に、切替元ＰＤＬ「ＰＤＬ１」に対応する第１優先ＰＤＬ選択画面（図１２（ｂ））を表示させる（ステップＳ３０５）。
【０１３３】
この第１優先ＰＤＬ選択画面（図１２（ｂ））において、何れかのＰＤＬ選択ボタン５６が押下される（ステップＳ３０６）と、オペレータパネル５１は、対応するＰＤＬ名を第１優先ＰＤＬ名として入力し、表示制御部５２へ送る（ステップＳ３０７）。例えば、「ＰＤＬ２」選択ボタン５６ｂが押下される（ステップＳ３０６）と、ＰＤＬ名「ＰＤＬ２」が第１優先ＰＤＬ名として入力される（ステップＳ３０７）。
【０１３４】
続いて、表示制御部５２は、入力された第１優先ＰＤＬ名に基づいて、オペレータパネル５１に、対応する第２優先ＰＤＬ選択画面（図１２（ｃ））を表示させる（ステップＳ３０８）。この第２優先ＰＤＬ選択画面において、ＰＤＬ選択ボタン５８が押下される（ステップＳ３０９）と、オペレータパネル５１は、対応するＰＤＬ名を第２優先ＰＤＬ名として入力し、表示制御部５２へ送る（ステップＳ３１０）。例えば、「ＰＤＬ３」選択ボタン５８ｃが押下される（ステップＳ３０９）と、ＰＤＬ名「ＰＤＬ３」が第２優先ＰＤＬ名として入力される（ステップＳ３１０）。
【０１３５】
そして、表示制御部５２は、ＰＤＬ選択リストの設定要求と共に、オペレータパネル５１から受けた切替元ＰＤＬ名「ＰＤＬ１」、第１優先ＰＤＬ名「ＰＤＬ２」及び第２優先ＰＤＬ名「ＰＤＬ３」を、設定部４３に送る。設定部４３は、設定要求、切替元ＰＤＬ名、第１優先ＰＤＬ名及び第２優先ＰＤＬ名を受けると、リスト記憶部４７へのＰＤＬ選択リストの設定を行う（ステップＳ３１１）。即ち、設定部４３は、切替元ＰＤＬ名「ＰＤＬ１」に対応するＰＤＬ選択リスト５０−１として、第１優先ＰＤＬ名「ＰＤＬ２」及び第２優先ＰＤＬ名「ＰＤＬ３」を、リスト記憶部４７に記憶させる（ステップＳ３１１）。そして、設定部４３は、ＰＤＬ選択リスト５０−１の設定完了を、表示制御部５２に通知する。
【０１３６】
続いて、表示制御部５２の制御により、オペレータパネル５１に切替元ＰＤＬ「ＰＤＬ２」に対応する第１優先ＰＤＬ選択画面を表示され（ステップＳ３０５）、プリンタ４０は、切替元ＰＤＬ「ＰＤＬ２」に対応するＰＤＬ選択リスト５０−２を設定すべく、ステップＳ３０５からステップＳ３１１の処理を繰り返し、設定部４３により、切替元ＰＤＬ「ＰＤＬ２」に対応するＰＤＬ選択リスト５０−２がリスト記憶部４７に設定される（ステップＳ３１１）。
【０１３７】
更に、プリンタ４０は、切替元ＰＤＬ「ＰＤＬ３」に対応するＰＤＬ選択リスト５０−３を設定すべく、ステップＳ３０５からステップＳ３１１の処理を繰り返す。そして、切替元ＰＤＬ「ＰＤＬ３」に対応するＰＤＬ選択リスト５０−３がリスト記憶部４７に設定される（ステップＳ３１１）。
【０１３８】
第２優先ＰＤＬ選択画面（図１２（ｃ））において、「なし」選択ボタン５９が押下される（ステップＳ３１３）と、オペレータパネル５１は、終了選択情報を入力し、表示制御部５２へ送る（ステップＳ３１４）。これを受けて、表示制御部５２は、第２優先ＰＤＬ名を「なし」として、設定要求、切替元ＰＤＬ名及び第１優先ＰＤＬ名と共に、設定部４３に送る。そして、設定部４３により、対応するＰＤＬ選択リストの設定が実施される（ステップＳ３１１）。例えば、例えば、切替元ＰＤＬ「ＰＤＬ２」に対応して、第１優先ＰＤＬ名「ＰＤＬ３」が入力された（ステップＳ３０７）後、第２優先ＰＤＬ選択画面において、終了選択情報が入力される（ステップＳ３１３）と、表示制御部５２は、設定要求、切替元ＰＤＬ名「ＰＤＬ２」、第１優先ＰＤＬ名「ＰＤＬ３」及び第２優先ＰＤＬ名「なし」を設定部４３へ送る。そして、設定部４３により、切替元ＰＤＬ「ＰＤＬ２」に対応するＰＤＬ選択リスト５０−２として、第１優先ＰＤＬ名「ＰＤＬ３」及び第２優先ＰＤＬ名「なし」が、リスト記憶部４７（図１０）に設定される（ステップＳ３１１）。
【０１３９】
また、第１優先ＰＤＬ選択画面（図１２（ｂ））において、「なし」選択ボタン５７が押下される（ステップＳ３１５）と、オペレータパネル５１は、終了選択情報を入力し、表示制御部５２へ送る（ステップＳ３１６）。これを受けて、表示制御部５２は、第１優先ＰＤＬ名及び第２優先ＰＤＬ名を「なし」として、設定要求及び切替元ＰＤＬ名と共に、設定部４３に送る。そして、設定部４３により、対応するＰＤＬ選択リストの設定が実施される（ステップＳ３１１）。例えば、切替元ＰＤＬ「ＰＤＬ３」に対応する第１優先ＰＤＬ選択画面において、終了選択情報が入力される（ステップＳ３１６）と、表示制御部５２は、設定要求、切替元ＰＤＬ名「ＰＤＬ３」、第１優先ＰＤＬ名「なし」及び第２優先ＰＤＬ名「なし」を設定部４３へ送る。そして、設定部４３により、切替元ＰＤＬ「ＰＤＬ３」に対応するＰＤＬ選択リスト５０−３として、第１優先ＰＤＬ名「なし」及び第２優先ＰＤＬ名「なし」が、リスト記憶部４７（図１０）に設定される（ステップＳ３１１）。
【０１４０】
切替元ＰＤＬ「ＰＤＬ３」に対応するＰＤＬ選択リスト５０−３がリスト記憶部４７に設定され（ステップＳ３１１）、プリンタ４０に搭載されている３つのＰＤＬ「ＰＤＬ１」、「ＰＤＬ２」及び「ＰＤＬ３」に対して、ＰＤＬ選択リスト５０−１〜３の設定が完了する（ステップＳ３１２）と、設定部４３は、設定完了を制御部４４に通知する。これにより、プリンタ４０におけるリスト設定処理は終了する。
【０１４１】
上記のように、リスト記憶部４７において、ＰＤＬ選択リスト５０−１〜３が設定して記憶される。
【０１４２】
なお、オンオフ設定画面（図１２（ａ））において、「オフ」設定ボタン５３ｂが押下される（ステップＳ３１７）と、オペレータパネル５１は、オフ設定情報を入力して、表示制御部５２へ送る（ステップＳ３１８）。表示制御部５２は、入力されたオフ設定情報を設定部４３へ転送する。そして、設定部４３が、ＰＤＬ切替選択機能のオフを設定すべく、各ＰＤＬ選択リスト５０−１〜３に対して、第１優先ＰＤＬ名「なし」及び第２優先ＰＤＬ名「なし」を設定し（ステップＳ３１１）、設定完了を制御部４４に通知する。これにより、プリンタ４０におけるリスト設定処理は終了する。
【０１４３】
続いて、本実施例のプリンタ４０における印刷処理の流れについて、フローチャートに沿って説明する。
図１４は、本発明に係るプリンタの実施例２における印刷動作を示すフローチャート（その１）であり、図１５は、本発明に係るプリンタの実施例２における印刷動作を示すフローチャート（その２）である。
【０１４４】
エラーが発生しない場合の印刷処理の流れは、実施例１（図６及び図７）と同一なので、説明を省略する。ここでは、プリンタ４０において、ＰＤＬ処理を実行中に、エラーが発生した場合の処理の流れについて、説明する。
【０１４５】
プリンタ４０において、インタフェース部１１がパーソナルコンピュータ９から印刷ジョブを受信すると、一時記憶部１２が、該印刷ジョブに含まれるＰＪＬデータ及びＰＤＬデータを記憶する（ステップＳ１０１）。また、インタフェース部１１は、印刷ジョブの受信を制御部４４に通知する。
【０１４６】
制御部４４は、印刷ジョブの受信を通知されると、ＰＪＬ処理部１８にＰＪＬデータの解析を指示する。そして、言語判断部２１が一時記憶部１２からＰＪＬデータを読み出して、該ＰＪＬデータに対する解析処理を実施し、記述ＰＤＬ名を制御部４４に通知する（ステップＳ１０２）。
【０１４７】
制御部４４は、ＰＤＬ処理の実行に先立ち、まず、カウンタ２６及び格納部２９の初期化を行う（ステップＳ１０３）。そして、制御部４４は、カウンタ２６に対して、処理実行回数ｉの加算処理を行うと共に、格納部２９（図４）に対して、記述ＰＤＬ名に対応する実行済情報「済」の格納処理を行う（ステップＳ１０４）。
【０１４８】
そして、制御部４４は、ＰＤＬ処理部１９に記述ＰＤＬ名を通知して、ＰＤＬ処理を実行させる（ステップＳ１０５）。このＰＤＬ処理実行中に、エラーが発生する（ステップＳ１０６）と、エラー処理部１５において、検知判断部４５がエラーの発生を検知する。続いて、検知判断部４５は、処理実行中のＰＤＬがＰＤＬ１、ＰＤＬ２及びＰＤＬ３の何れであるかを判断する。そして、検知判断部４５は、処理実行中のＰＤＬのＰＤＬ名と共に、エラーの検知を継続判断部４６に通知する。
【０１４９】
継続判断部４６は、この通知を受けると、カウンタ６から処理実行回数ｉを読み出して、該処理実行回数ｉと搭載ＰＤＬ数Ｎとを比較する（ステップＳ１０９）。
【０１５０】
処理実行回数ｉが搭載ＰＤＬ数Ｎ未満、即ちｉ＜３である場合（ステップＳ１０９）、継続判断部４６は、印刷処理を継続すると判断すると共に、検知判断部４５から通知されたＰＤＬ名を切替元ＰＤＬ名として、該判断結果と切替元ＰＤＬ名とを、読出選択部４８に通知する。
【０１５１】
そして、読出選択部４８が、通知された切替元ＰＤＬ名に基づいて、リスト記憶部４７（図１０）から対応するＰＤＬ選択リストを読み出す（ステップＳ５０１）。
【０１５２】
続いて、読出選択部４８は、このＰＤＬ選択リストに基づいて、変換ＰＤＬの選択を行って、変換部３１に変換ＰＤＬ名を通知する（ステップＳ５０２）。ステップＳ５０２における変換ＰＤＬの選択処理の詳細な流れについては、後述する。
【０１５３】
読出選択部４８により変換ＰＤＬが選択される（ステップＳ５０２）と、変換ＰＤＬ名を通知された変換部３１により、ＰＤＬデータから変換ＰＤＬデータへの変換処理が実施され、変換ＰＤＬ名及び変換ＰＤＬデータが一時記憶部１２に記憶されると共に、変換処理の完了及び変換ＰＤＬ名が制御部４４に通知される（ステップＳ１１３）。
【０１５４】
制御部４４は、変換処理の完了を通知されると、カウンタ２６における処理実行回数ｉへの加算処理及び格納部２９への実行済情報「済」の格納処理を行う（ステップＳ１０４）。
【０１５５】
そして、制御部４４は、ＰＤＬ処理部１９に変換ＰＤＬ名を通知すると共に、ＰＤＬ処理の実行を指示する。ＰＤＬ処理部１９は、一時記憶部１２から変換ＰＤＬデータを読み出して、変換ＰＤＬに基づくＰＤＬ処理を実行し、中間データをページバッファに格納する（ステップＳ１０５）。
【０１５６】
変換ＰＤＬデータに対するＰＤＬ処理実行中に、エラーが発生する（ステップＳ１０６）と、検知判断部４５によりエラーの発生が検知され、プリンタ４０は、ステップＳ１０９以降の処理を繰り返す。
【０１５７】
変換ＰＤＬデータに対するＰＤＬ処理が完了すると、展開処理部２０が、ページバッファから読み出して中間データの展開処理を行って、ドットイメージをラスタバッファへ格納する（ステップＳ１０７）。展開処理部２０は、展開処理の完了を制御部４４に通知する。
【０１５８】
制御部４４は、カウンタ２６から処理実行回数ｉを読み出す。読み出されたｉは１ではなく、２或いは３であるので、制御部４４は、パネル表示部４２に対して切替印刷中画面の表示指示を行う。また、制御部４４は、出力部１４に出力指示を行う。この指示を受けて、表示制御部５２が、一時記憶部１２から記述ＰＤＬ名及び変換ＰＤＬ名を読み出して、切替印刷中画面の編集を行って、オペレータパネル５１が、記述ＰＤＬ名及び変換ＰＤＬ名を含む切替印刷中画面（図５（ｂ））の表示を行う。また、出力部１４は、ラスタバッファから読み出したドットイメージに基づいて、出力を行う（ステップＳ１０８）。これにより、プリンタ４０における印刷処理は終了する。
【０１５９】
上記のように、ＰＤＬ処理実行中にエラーが発生すると、予め設定されたＰＤＬ選択リストに基づいて、ＰＤＬを切り替えて、印刷処理が継続される。
【０１６０】
なお、ステップＳ１０９において、処理実行回数ｉが搭載ＰＤＬ数Ｎに等しい場合、即ちｉ＝３である場合（ステップＳ１０９）、継続判断部４６は、印刷処理を停止すると判断し、該判断結果を制御部４４に通知する。
【０１６１】
制御部４４は、この通知を受けて、パネル表示部４２に対して印刷停止画面の表示指示を行う。そして、オペレータパネル５１が、印刷停止画面（図１１）の表示を行い（ステップＳ５０３）、プリンタ４０は、印刷処理を停止する（ステップＳ５０３）。
【０１６２】
また、ステップＳ５０２において、変換ＰＤＬが選択不可であった場合（ステップＳ１１２）、読出選択部４８は、選択不可を制御部４４に通知する。制御部４４は、この通知を受けて、印刷停止画面の表示指示をパネル表示部４２に送る。そして、オペレータパネル５１により印刷停止画面（図１１）が表示され、プリンタ４０は、印刷処理を停止する（ステップＳ５０３）。
【０１６３】
上記のように、全てのＰＤＬへの切替処理を実行後、再度エラーが発生した場合、或いは、他のＰＤＬへの切替が不可である場合、印刷処理は停止される。
【０１６４】
次に、ステップＳ５０２（図１５）におけるＰＤＬ選択リストに基づく変換ＰＤＬの選択処理の流れについて、図１６に沿って説明する。
図１６は、本発明に係るプリンタの実施例２におけるＰＤＬ選択動作を示すフローチャートである。
【０１６５】
まず、切替元ＰＤＬ名「ＰＤＬ１」に対応するＰＤＬ選択リスト５０−１（図１０）を例に、説明を行う。
【０１６６】
読出選択部４８は、ＰＤＬ選択リスト５０−１から第１優先ＰＤＬ名を読み出して（ステップＳ２０１）、読み出された第１優先ＰＤＬ名がＰＤＬ名であるか否かを判断する（ステップＳ６０１）。図１０において、リスト記憶部４７のＰＤＬ選択リスト５０−１には、第１優先ＰＤＬ名として「ＰＤＬ２」が設定されているので、読出選択部４８は、ＰＤＬ名であると判断する（ステップＳ６０１）。
【０１６７】
続いて、読出選択部４８は、格納部２９（図４）を参照して、第１優先ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目に、実行済情報「済」が格納されているか否かを判断する（ステップＳ２０２）。第１優先ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目に実行済情報「済」が格納されていない場合、読出選択部４８は、第１優先ＰＤＬ「ＰＤＬ２」に基づくＰＤＬ処理は実行されていないと判断する（ステップＳ２０２）。
【０１６８】
この判断に基づいて、読出選択部４８は、第１優先ＰＤＬ「ＰＤＬ２」を変換ＰＤＬとして選択する（ステップＳ２０３）。これにより、プリンタ４０におけるＰＤＬ選択処理は終了する。
【０１６９】
ステップＳ２０２において、第１優先ＰＤＬ名「ＰＤＬ２」に対応する実行済情報項目に、実行済情報「済」が格納されている場合、読出選択部４８は、第１優先ＰＤＬ「ＰＤＬ２」に基づくＰＤＬ処理が実行済であると判断し（ステップＳ２０２）、ＰＤＬ選択リスト５０−１から第２優先ＰＤＬ名を読み出し（ステップＳ２０４）、該第２優先ＰＤＬ名がＰＤＬ名であるか否かを判断する（ステップＳ６０２）。図１０において、リスト記憶部４７のＰＤＬ選択リスト５０−１には、第２優先ＰＤＬ名として「ＰＤＬ３」が設定されているので、読出選択部４８は、ＰＤＬ名であると判断する（ステップＳ６０２）。
【０１７０】
続いて、読出選択部４８は、格納部２９を参照して、第２優先ＰＤＬ名「ＰＤＬ３」に対応する実行済情報項目に、実行済情報「済」が格納されているか否かを判断する（ステップＳ２０５）。実行済情報が格納されていない場合、読出選択部４８は、第２優先ＰＤＬ「ＰＤＬ３」に基づくＰＤＬ処理は実行されていないと判断し（ステップＳ２０５）、第２優先ＰＤＬ「ＰＤＬ３」を変換ＰＤＬとして選択する（ステップＳ２０６）。これにより、プリンタ４０におけるＰＤＬ選択処理は終了する。
【０１７１】
ステップＳ２０５において、第２優先ＰＤＬ名「ＰＤＬ３」に対応する実行済情報項目に、実行済情報「済」が格納されている場合、読出選択部４８は、第２優先ＰＤＬ「ＰＤＬ３」に基づくＰＤＬ処理が実行済であると判断する（ステップＳ２０５）。そして、読出選択部４８は、変換ＰＤＬの選択が不可であると判断し、該判断結果を制御部４４に通知する（ステップＳ２０６）。これにより、プリンタ４０におけるＰＤＬ選択処理は終了する。
【０１７２】
上記のように、ＰＤＬ選択リストに基づいて、第１優先ＰＤＬから順に、ＰＤＬ処理が実行済か否かの判断が実施され、変換ＰＤＬが選択される。
【０１７３】
次に、切替元ＰＤＬ名「ＰＤＬ３」に対応するＰＤＬ選択リスト５０−３（図１０）を例に、説明を行う。
【０１７４】
読出選択部４８は、ＰＤＬ選択リスト５０−３から第１優先ＰＤＬの読み出しを行って（ステップＳ２０１）、該第１優先ＰＤＬ名がＰＤＬ名であるか否かを判断する（ステップＳ６０１）。リスト記憶部４７（図１０）において、ＰＤＬ選択リスト５０−２には、第１優先ＰＤＬとして「なし」が設定されているので、読出選択部４８は、ＰＤＬ名ではないと判断する（ステップＳ６０１）。そして、読出選択部４８は、変換ＰＤＬの選択が不可であると判断し、制御部４４に通知する（ステップＳ２０６）。これにより、プリンタ４０におけるＰＤＬ選択処理は終了する。
【０１７５】
上記のように、ＰＤＬ選択リストに「なし」が設定されている場合、切替先のＰＤＬの選択が不可であると判断される。したがって、エラーが発生した場合も、ＰＤＬ切替変換処理は実行されず、印刷処理は停止される。
【０１７６】
なお、ステップＳ６０２において、第２優先ＰＤＬ名がＰＤＬ名でないと判断された場合、読出選択部４８は、変換ＰＤＬの選択が不可であると判断し、制御部４４に通知する（ステップＳ２０６）。
【０１７７】
以上のように、本実施例のプリンタは、切替先の優先順位となるＰＤＬ選択リストを、オペレータパネルを介して設定できるので、ユーザの好みに合わせたＰＤＬの切替が可能となる。また、全てのＰＤＬに切り替えずとも、印刷処理を停止可能となるので、無駄なＰＤＬ処理を省略可能となり、更なる利便性の向上が実現される。
【０１７８】
なお、本実施例では、オンオフ画面（図１２（ａ））においてオフ設定情報が入力されると、各ＰＤＬ選択リストに含まれる第１優先ＰＤＬ名及び第２優先ＰＤＬ名が「なし」と設定されるが、オフ設定情報が入力されると、エラー処理部の動作を停止して、ＰＤＬ切替変換機能をオフとし、オン設定情報が入力されると、エラー処理部の動作を開始して、ＰＤＬ切替変換機能をオンとする構成をとることも可能である。これにより、オン設定のたびにＰＤＬ選択リストの設定を繰り返す必要がなくなるので、ユーザの負担が軽減されると共に、オフ設定時における処理の短縮化が実現される。
【０１７９】
また、本実施例では、プリンタにおけるＰＤＬ選択リストの設定は、オペレータパネルによる入力を介して実施されるが、上位装置において設定情報を入力してプリンタに送信することも可能である。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施例１に係るプリンタの構成を示すブロック図である。
【図２】ＰＤＬ処理部におけるＰＤＬ処理を説明する図である。
【図３】実施例１のリスト記憶部の構成を示す説明図である。
【図４】格納部の構成を示す説明図である。
【図５】実施例１のオペレータパネルに表示される通知画面の説明図である。
【図６】本発明に係るプリンタの実施例１における印刷動作を示すフローチャート（その１）である。
【図７】本発明に係るプリンタの実施例１における印刷動作を示すフローチャート（その２）である。
【図８】本発明に係るプリンタの実施例１におけるＰＤＬ選択動作を示すフローチャートである。
【図９】本発明の実施例２に係るプリンタの構成を示すブロック図である。
【図１０】実施例２のリスト記憶部の構成を示す説明図である。
【図１１】実施例２のオペレータパネルに表示される通知画面の説明図である。
【図１２】実施例２のオペレータパネルに表示されるメニュー画面の説明図である。
【図１３】本発明に係るプリンタの実施例２におけるリスト設定動作を示すフローチャートである。である。
【図１４】本発明に係るプリンタの実施例２における印刷動作を示すフローチャート（その１）である。
【図１５】本発明に係るプリンタの実施例２における印刷動作を示すフローチャート（その２）である。
【図１６】本発明に係るプリンタの実施例２におけるＰＤＬ選択動作を示すフローチャートである。
【符号の説明】
【０１８１】
１０、４０  プリンタ
１１  インタフェース部
１２  一時記憶部
１３  データ処理部
１４  出力部
１５、４１  エラー処理部
１６、４２  パネル表示部
１７、４４  制御部
４３  設定部
【図１】
0004431159.tif 000002
【図２】
0004431159.tif 000003
【図３】
0004431159.tif 000004
【図４】
0004431159.tif 000005
【図５】
0004431159.tif 000006
【図６】
0004431159.tif 000007
【図７】
0004431159.tif 000008
【図８】
0004431159.tif 000009
【図９】
0004431159.tif 000010
【図１０】
0004431159.tif 000011
【図１１】
0004431159.tif 000012
【図１２】
0004431159.tif 000013
【図１３】
0004431159.tif 000014
【図１４】
0004431159.tif 000015
【図１５】
0004431159.tif 000016
【図１６】
0004431159.tif 000017