(57)【要約】【課題】  データ形式を特定できない印刷データでも適切な印刷形式にて印刷可能な印刷装置を提供する。【解決手段】  印刷データを解析してデータ形式を判定する判断部２１００と、１種類以上のデータ形式に対応可能とし、判断部が特定したデータ形式にて印刷データの印刷又はイメージデータの作成を行う印刷データ処理部（コマンド解析部２７００、中間コード作成部２８００、展開処理部１６００、印刷部１８００）と、印刷データの形式を特定できない場合、対応可能なデータ形式によるイメージデータの作成を印刷データ処理部に指示する処理制御部（制御部２２００、レイアウト部２３００）を有する。処理制御部は、判断部がデータ形式を特定できないと、印刷データ処理部が作成したイメージよりサンプルページを作成し、その印刷を印刷データ処理部に指示し、印刷結果よりユーザが選択したデータ形式による印刷を印刷データ処理部に指示する。【選択図】    図１
2012187761.tif 000002
【特許請求の範囲】
【請求項１】
上位装置よりページ記述言語にて送信される印刷データを受信して印刷を行う印刷装置であって、
前記受信した印刷データを解析してデータ形式を判定する判断部と、
少なくとも１種類以上のデータ形式に対応可能とし、前記判断部が特定したデータ形式にて前記印刷データの印刷又はイメージデータの作成を行う印刷データ処理部と、
前記判断部が前記印刷データの形式を特定できない場合に、前記印刷データ処理部が対応可能なデータ形式によるイメージデータの作成を前記印刷データ処理部に指示する処理制御部と、
を有し、
前記処理制御部は、前記判断部が前記印刷データの形式を特定できない場合に前記印刷データ処理部が作成した全てのイメージを集約してサンプルページを作成し、該サンプルページの印刷を前記印刷データ処理部に指示すると共に、該サンプルページの印刷結果よりユーザが選択したデータ形式による前記印刷データの印刷を前記印刷データ処理部に指示することを特徴とする印刷装置。
【請求項２】
前記サンプルページの作成にあたり、イメージ作成が不可のデータ形式については、該イメージに替えてエラー表示画像を用いることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記サンプルページの印刷結果よりデータ形式を選択するためのデータ形式選択画面を表示するパネル部を有することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
上位装置よりページ記述言語にて送信される印刷データを受信して印刷を行う印刷装置であって、
前記受信した印刷データを解析してデータ形式を判定する判断部と、
少なくとも１種類以上のデータ形式に対応可能とし、前記判断部の判定結果により選択されたデータ形式にて前記印刷データの印刷を行う印刷データ処理部と、
前記印刷データ処理部が異常印刷を検出すると、該印刷を継続するか否かを指示する処理制御部と
を有することを特徴とする印刷装置。
【請求項５】
前記印刷データ処理部が対応可能な各々データ形式には優先度が設けられ、前記判断部は該優先度に従って前記データ形式を決定することを特徴とする請求項４に記載の印刷装置。
【請求項６】
前記印刷データ処理部による異常印刷の検出は、データ形式ごとに設定されたコマンド判定基準に基づいて行われることを特徴とする請求項４又は５に記載の印刷装置。
【請求項７】
異常印刷の検出時に印刷を継続するか終了するかを選択するための確認画面を表示するパネル部を有することを特徴とする請求項４乃至６の何れかに記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置より送信される印刷データ（コマンドデータ群）を受信して、印刷を行う印刷装置に関するものである。
【背景技術】
【０００２】
一般に、係る印刷装置では、ＰＣ等の上位装置が生成したページ記述言語（Page Description Language：ＰＤＬ）で表現される印刷データを受信すると、受信データを解析してデータ形式の判定を行い、特定したデータ形式に従って印刷データを処理し、印刷を行うようになっている。
【０００３】
従来、データ形式を特定する様々な技術が提案されており、例えば、特許文献１には、受信した印刷データの形式と該印刷データを受信した印刷装置のデータ形式とが対応していない場合には、印刷動作を停止して外部にデータ形式が異なる旨を報知する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０４−３７９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のように、印刷装置が受信した印刷データの形式を特定できない場合に、その都度、印刷を停止してしまうと、利用者にとって印刷装置は極めて使い勝手の悪いものとなる。
他方、印刷データの形式を特定できない状態で印刷処理を継続すると、誤ったデータ形式にて処理された印刷データを印刷して、無駄な印刷物を大量に生じさせる虞がある。
【０００６】
本発明は、上記問題に鑑みなされたもので、受信した印刷データのデータ形式を特定できない場合でも、適切にデータを処理して印刷を行うことができる印刷装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
すなわち、本発明は、上位装置よりページ記述言語にて送信される印刷データを受信して印刷を行う印刷装置であって、上記受信した印刷データを解析してデータ形式を判定する判断部と、少なくとも１種類以上のデータ形式に対応可能とし、上記判断部が特定したデータ形式にて上記印刷データの印刷又はイメージデータの作成を行う印刷データ処理部と、上記判断部が上記印刷データの形式を特定できない場合に、上記印刷データ処理部が対応可能なデータ形式によるイメージデータの作成を上記印刷データ処理部に指示する処理制御部とを有し、上記処理制御部は、上記判断部が前記印刷データの形式を特定できない場合に上記印刷データ処理部が作成した全てのイメージを集約してサンプルページを作成し、該サンプルページの印刷を上記印刷データ処理部に指示すると共に、該サンプルページの印刷結果よりユーザが選択したデータ形式による上記印刷データの印刷を上記印刷データ処理部に指示することを特徴としている。
【０００８】
また、別の発明は、上位装置よりページ記述言語にて送信される印刷データを受信して印刷を行う印刷装置であって、上記受信した印刷データを解析してデータ形式を判定する判断部と、少なくとも１種類以上のデータ形式に対応可能とし、上記判断部の判定結果により選択されたデータ形式にて上記印刷データの印刷を行う印刷データ処理部と、上記印刷データ処理部が異常印刷を検出すると、該印刷を継続するか否かを指示する処理制御部とを有することを特徴としている。
【発明の効果】
【０００９】
本発明によれば、印刷装置が受信した印刷データのデータ形式を特定できない場合は、当該装置が対応可能な複数のデータ形式により生成されたサンプルページを参照しながらユーザが自らデータ形式を選択するように構成したので、対応不可なデータ形式による無駄な印刷を回避でき、適切なデータ形式での印刷が実施可能である。
【図面の簡単な説明】
【００１０】
【図１】実施例１による解析部の構成を示すブロック図である。
【図２】実施例１による印刷装置の構成を示すブロック図である。
【図３】実施例１の動作を示すフローチャートである。
【図４】サンプルページの印刷結果を示す図である。
【図５】受信した印刷データの印刷結果を示す図である。
【図６】データ形式選択画面を示す図である。
【図７】本発明のシステム構成を示す図である。
【図８】実施例１の動作を示すシーケンス図である。
【図９】実施例２による解析部の構成を示すブロック図である。
【図１０】実施例２の動作を示すフローチャートである。
【図１１】ＰＣＬ解析部によるコマンド判定を示すフローチャートである。
【図１２】確認画面を示す図である。
【図１３】確認モード設定画面を示す図である。
【図１４】実施例２の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る印刷装置の実施形態につき、図１〜図１４を用いて説明する。
尚、本実施形態では、印刷装置として、ＰＣＬ(Printer Control Language)、ＩＢＭ  ＰＰＲ、電子画像のデータ形式であるＸＰＳ（XML
Paper Specification）等による印刷が可能なプリンタを例に説明する。
【実施例１】
【００１２】
先ず、実施例１による印刷装置の構成を、図１、図２、図６、図７に基づいて説明する。
図１は、実施例１による解析部の構成を示すブロック図、図２は、実施例１による印刷装置の構成を示すブロック図、図６は、データ形式選択画面を示す図、図７は、本発明のシステム構成を示す図である。
【００１３】
図２に示すように、本実施例による印刷装置１１０００は、インターフェース部１２００、受信バッファ１３００、解析部１４００、ページバッファ１５００、展開処理部１６００、ラスタバッファ１７００、印刷部１８００、パネル部１９００等で構成されている。
【００１４】
また、図７に示すように、印刷装置１１０００は、ネットワーク１１１００により上位装置１１００（例えば、パーソナルコンピュータ：ＰＣ）と接続されており、該ネットワーク１１１００を介して上位装置１１００が作成し、送信した所定のページ記述言語（ＤＰＬ）で表現される印刷データを受信する。
印刷装置１１０００は、受信した印刷データを解析・処理して印刷を行う。
【００１５】
以下、上記印刷装置１１０００の構成について詳細を説明する。
インターフェース部１２００は、上位装置１１００より送信される印刷データを順次受信して受信バッファ１３００に格納する部分である。また、インターフェース部１２００は、印刷データを受信し終えると、解析部１４００に印刷データを受信した旨を通知する。
【００１６】
解析部１４００は、図１に示すように、判断部２１００、制御部２２００、レイアウト部２３００、コマンド解析部２７００、中間コード作成部２８００を備える。
【００１７】
図１において、判断部２１００は、インターフェース部１２００よりデータ受信の通知を受けると、受信した印刷データに対するデータ形式決定処理を行う部分である。
【００１８】
ここで、通常、上位装置１１００より送信される印刷データには、プリンタジョブ言語（Printer Job Language：ＰＪＬ）等を用い、処理するデータ形式が指定されており、印刷装置１１０００側では、この指定情報によりデータ形式を特定することで受信データの解析・処理を行うことができる。
【００１９】
一方で、上位装置１１００からデータ形式を指定する情報が付加されていない印刷データを受信することもあり、この場合では、印刷装置１１０００側（判断部２１００）では、指定のないデータ形式を特定するため、上記データ形式決定処理において、受信バッファ１３００に格納された受信データを順次走査し、該印刷データにデータ形式を特定する固有の特徴が含まれているか否かを判定することになる。
【００２０】
判断部２１００は、データ形式判定処理によりデータ形式を特定できた場合は、コマンド解析部２７００に印刷データの印刷を指示し、データ形式を特定できなかった場合は、制御部２２００にデータ形式の特定が不可である旨を通知する。
【００２１】
制御部２２００は、レイアウト部２３００、コマンド解析部２７００、パネル部１９００等、解析部１４００を構成する各部の動作を総括的に管理する部分である。
すなわち、制御部２２００は、上記判断部２１００よりデータ形式の特定が不可であるとの通知を受けると、レイアウト部２３００より後述するサンプルページ作成のためのイメージサイズを取得すると共に、取得したイメージサイズにて、コマンド解析部２７００が対応している全データ形式（本実施例では、ＰＣＬ、ＩＢＭ  ＰＰＲ、ＸＰＳ）による印刷データの処理を解析部１４００に指示する。
【００２２】
また、制御部２２００は、コマンド解析部２７００よりイメージ格納情報を取得すると、イメージ格納情報とそのデータ形式をレイアウト部２３００に登録（格納）する。
ここで、イメージ格納情報とは、展開処理部１６００が展開・作成したイメージデータが格納されているラスタバッファ１７００上のアドレス情報（番地）である。尚、イメージデータの処理過程で何らかのエラーが発生し、イメージデータの作成が実行できなかった場合には、イメージ格納情報として、“０”が設定される。
【００２３】
また、制御部２２００は、レイアウト部２３００よりＰＣＬコマンドの処理を指示されると、コマンド解析部２７００に対し、レイアウト部２３００で作成したＰＣＬコマンドによる印刷を指示する。
【００２４】
また、制御部２２００は、パネル部１９００にデータ形式選択画面（図６）の表示を指示する。
図６に示すように、データ形式選択画面には、データ形式を示す“ＰＣＬ”、“ＩＢＭ  ＰＰＲ”、“ＸＰＳ”と、処理の終了を示す“終了”が表示され、ユーザがカーソル指定によりデータ形式の何れか、或いは終了を選択できるようになっている。
【００２５】
尚、制御部２２００は、データ形式選択画面の表示を指示した後、パネル部１９００より、データ形式選択画面によるデータ形式の選択が行われた旨の通知を受けると、インターフェース部１２００が受信した印刷データを指定されたデータ形式にて処理するようにコマンド解析部２７００に指示する。また、データ形式選択画面で“終了”が選択された場合、制御部２２００は処理を終了する。
【００２６】
レイアウト部２３００は、判断部２１００が印刷データのデータ形式を特定できない場合に、本印刷装置１１０００が備える複数のデータ形式により、サンプルページを作成する部分であり、サンプルページの印刷処理を実行するためのＰＣＬコマンドと、エラーメッセージ用のイメージデータを保持している。
【００２７】
すなわち、レイアウト部２３００は、制御部２２００により格納されたイメージ格納情報が“０”であると、イメージ作成時にエラーが発生したものと判断して、該当するデータ形式でのイメージ（すなわち、作成できないイメージ）をラスタバッファ１７００上においてエラーメッセージ用イメージデータと入れ替える。
【００２８】
また、レイアウト部２３００は、本印刷装置１１０００が備える全てのデータ形式で処理した場合のイメージ格納情報を取得すると、ラスタバッファ１７００から各データ形式によるイメージデータを取得し、データ形式毎に定められた印刷媒体上の座標位置に個々のイメージを配置させるべく、ＰＣＬコマンドを追加する（図４）。
レイアウト部２３００は、ＰＣＬコマンドの作成後、制御部２２００に対して作成したＰＣＬコマンドの処理を指示する。
【００２９】
コマンド解析部２７００は、ＰＣＬ解析部２４００、ＩＢＭ  ＰＰＲ解析部２５００、ＸＰＳ解析部２６００を有し、判断部２１００や制御部２２００からの印刷指示により、指定されたデータ（コマンド）を対応する上記解析部の何れかで解析・処理する部分である。
【００３０】
コマンド解析部２７００は、指定されたデータを全てコマンド単位で処理し、中間コード作成部２８００にコマンドの中間コードへの変換を指示する。また、中間コード作成部２８００にページ単位で印刷を指示する。
【００３１】
また、制御部２２００より指定されたイメージサイズにてイメージの作成を指示された場合、各解析部は、作成するイメージが指定されたイメージサイズに収まるよう、コマンド単位に描画幅や高さを変換（縮小）しながら処理し、改ページの動作、又は指示された全データの解析・処理終了後に、中間コード作成部２８００に対し、解析結果の中間コードへの変換を指示する。
【００３２】
また、コマンド解析部２７００は、中間コード作成部２８００よりイメージ格納情報の通知を受けると、イメージ格納情報とそのデータ形式の情報を制御部２２００に通知する。
【００３３】
中間コード作成部２８００は、コマンド解析部２７００によるコマンドの解析結果を中間コードに変換する部分であり、作成した中間コードは、ページバッファ１５００に保存する。
また、中間コード作成部２８００は、コマンド解析部２７００より印刷を指示されると、展開処理部１６００に変換した中間コードの展開を指示し、イメージの作成を指示されると、展開処理部１６００にイメージの作成を指示する。
また、中間コード作成部２８００は、展開処理部１６００よりイメージ格納情報の通知を受けると、コマンド解析部２７００にそのイメージ格納情報を通知する。
【００３４】
図２において、展開処理部１６００は、中間コード作成部２８００が作成した中間コードをドットイメージに展開する部分である。
展開処理部１６００は、解析部１４００より印刷を指示されると、ページバッファ１５００に保存されている中間コードを読み込み、該中間コードに対応したドットイメージを作成して、ラスタバッファ１７００に保存すると共に、印刷部１８００に展開完了を通知する。
また、展開処理部１６００は、解析部１４００よりイメージの作成を指示されると、ページバッファ上の中間コードを読み込み、該中間コードに対応したドットイメージを作成して、ラスタバッファ１７００に保存すると共に、解析部１４００にイメージ格納情報を通知する。
【００３５】
図２において、印刷部１８００は、ラスタバッファ１７００に保存されているドットイメージを読み込み、印刷を行う部分である。
【００３６】
ここで、上述した印刷装置１１０００の各部構成において、コマンド解析部２７００と中間コード作成部２８００と展開処理部１６００と印刷部１８００の集合体が、特許請求の範囲における請求項１の印刷データ処理部に対応し、制御部２２００とレイアウト部２３００の集合体が、請求項１の処理制御部に対応している。
【００３７】
次に、上記構成の印刷装置１１０００の動作を、図３、図８に基づき、図１、図２、図４−図６を参照して説明する。
図３は、実施例１の動作を示すフローチャート、図４は、サンプルページの印刷結果を示す図、図５は、受信した印刷データの印刷結果を示す図、図８は、実施例１の動作を示すシーケンス図である。
【００３８】
始めに、ユーザが上位装置１１００より印刷装置１１０００に印刷データを送信する。この送信データは、印刷装置１１０００側でデータ形式を特定できない印刷データであると仮定する。
【００３９】
図３、図８において、インターフェース部１２００は、受信した印刷データを受信バッファ１３００に格納すると共に、印刷データを受信したことを解析部１４００（判断部２１００）に通知する（Ｐ８１００）。
通知を受けた解析部１４００は、以下の処理を実行する。
【００４０】
先ず、判断部２１００は、受信バッファ１３００上の印刷データに対するデータ形式決定処理を行う（Ｓ３１００、Ｐ８２００）。
判断部２１００は、データ形式決定処理においてデータ形式を特定できたか否かを判定し（Ｓ３２００）、データ形式を特定できた場合は、特定されたデータ形式のコマンド解析部にて印刷データの印刷を行う（Ｓ３３００）。
【００４１】
但し、本動作例では、データ形式を特定できないと仮定しており、判断部２１００は、データ形式を特定できない旨を制御部２２００に通知する（Ｐ８３００）。
【００４２】
制御部２２００は、判断部２１００からデータ形式が未特定であるとの通知を受けると、レイアウト部２３００からサンプルページのイメージサイズを取得する（Ｓ３４００、Ｐ８４００）。
尚、取得したイメージサイズは、図４に示すように、印刷用紙にデータ形式名と印刷結果を、例えば４個配置しても、各々イメージ（画像）とデータ形式名（本例では、ＰＣＬ、ＩＢＭ  ＰＰＲ、ＸＰＳ）が収まり得る、幅Ｘ、高さＹとするサイズ指定であった（Ｐ８５００）。
【００４３】
制御部２２００は、取得したイメージサイズを指定し、ＰＣＬ解析部２４００にイメージデータの作成を指示する（Ｐ８６００）。
【００４４】
ＰＣＬ解析部２４００は、制御部２２００よりイメージデータ作成の指示を受けると、受信バッファ１３００上の印刷データを読み込み、解析を行う。
【００４５】
解析の結果、最初のコマンド群は、図５に示す矩形１を描画するものであった。
ＰＣＬ解析部２４００は、矩形１を図４の座標１を原点に矩形１の位置と大きさになるよう、座標、幅、高さの指定を変更し、中間コード作成部２８００に中間コードの作成を指示する。
中間コード作成部２８００は、指定された中間コードを作成してページバッファ１５００上に格納する。
【００４６】
以降、ＰＣＬ解析部２４００は、受信した印刷データ（コマンド群）を順次解析し、その都度、中間コード作成部２８００に解析結果による中間コードの作成を指示する。ＰＣＬ解析部２４００は、受信した印刷データを全て解析し終えると、中間コード作成部２８００にイメージの作成を指示する。
中間コード作成部２８００は、ＰＣＬ解析部２４００よりイメージ作成の指示を受けると、展開処理部１６００にイメージの作成を指示する。
【００４７】
展開処理部１６００は、ページバッファ１５００上の中間コードを読み込み、ドットイメージに展開してラスタバッファ１７００に保存し、中間コード作成部２８００に保存の際のイメージ格納情報を通知する（Ｓ３５５０）。
【００４８】
中間コード作成部２８００は、ＰＣＬ解析部２４００にイメージ格納情報を通知する。ＰＣＬ解析部２４００は、イメージ格納情報の通知を受けると、そのデータ形式（ここでは、ＰＣＬ）と中間コード作成部２８００より取得したイメージ格納情報を制御部２２００に通知する（Ｐ８７００）。
【００４９】
制御部２２００は、ＰＣＬ解析部２４００より取得したイメージ格納情報とそのデータ形式情報（ＰＣＬ）をレイアウト部２３００に登録する（Ｓ３６００、Ｐ８８００）。
【００５０】
レイアウト部２３００は、登録されたイメージ格納情報を判定し（Ｓ３７００）、イメージ格納情報としてラスタバッファ１７００上のアドレスが登録されていると（イメージ格納情報が０以外）、Ｓ３５００に移行し、後述するように、別の解析部による解析・処理を継続して行う。
Ｓ３７００で、イメージ格納情報が０であれば、イメージをエラー画像（図４）に差し替え（Ｓ３８００）、Ｓ３５００に移行する。
【００５１】
次に、制御部２２００は、ＩＢＭ  ＰＰＲ解析部２５００にイメージ作成を指示する（Ｐ８９００）。
【００５２】
以降、ＩＢＭ  ＰＰＲ解析部２５００は、上述したＰＣＬ解析部２４００と同様の処理（図３のフローチャートにおいては、Ｓ３５００〜Ｓ３８００の処理）を実行する。
係る処理において、ＩＢＭ  ＰＰＲ解析部２５００は、或るコマンドを改ページ動作のコマンドであると解析できたので、中間コード作成部２８００にイメージの作成を指示する。
以降の中間コード作成部２８００による中間コードの作成は、ＰＣＬ解析部２４００の場合と同様の処理であり、説明は省略する。
【００５３】
制御部２２００は、ＩＢＭ  ＰＰＲ解析部２５００より、ドットイメージ展開後のイメージ格納情報とそのデータ形式情報（ここでは、ＩＢＭ  ＰＰＲ）の通知を受けると（Ｐ８１０００）、これらの情報をレイアウト部２３００に登録する（Ｐ８１１００）。
この場合も、イメージ格納情報は０でないので、レイアウト部２３００によるイメージの差し替えは行われない。
【００５４】
次に、制御部２２００は、ＸＰＳ解析部２６００にイメージの作成を指示する（Ｐ８１２００）。
以降、ＸＰＳ解析部２６００は、上述したＰＣＬ解析部２４００やＩＢＭ  ＰＰＲ解析部２５００と同様の処理（図３のフローチャートにおいては、Ｓ３５００〜Ｓ３８００の処理）を実行する。
【００５５】
ＸＰＳ解析部２６００は、印刷データの解析・処理中にＺＩＰ伸張（圧縮ファイルの解凍）を実行したところ、エラーが発生したので、エラーの発生を示す“０”を設定したイメージ格納情報と、そのデータ形式情報（ＸＰＳ）を制御部２２００に通知する（Ｐ８１３００）。
【００５６】
制御部２２００は、ＸＰＳ解析部２６００よりイメージ格納情報とそのデータ形式情報（ここでは、ＸＰＳ）の通知を受けると（Ｐ８１３００）、これらの情報をレイアウト部２３００に登録する（Ｐ８１４００）。
【００５７】
この場合、レイアウト部２３００は、Ｓ３７００でイメージ格納情報は０であると判定し、イメージをエラー画像に差し替える（Ｓ３８００、Ｐ８１５００）。すなわち、レイアウト部２３００は、ＸＰＳのイメージ格納情報のアドレスをエラーメッセージ表示用のイメージのアドレスに更新し、Ｓ３５００に移行する。
【００５８】
全てのデータ形式に対応するイメージ格納情報がレイアウト部２３００に登録されると（Ｓ３５００のＹＥＳ）、レイアウト部２３００は、サンプルページのＰＣＬコマンドを作成する（Ｓ３８５０、Ｐ８１６００）。
すなわち、レイアウト部２３００は、ＰＣＬ解析部２４００の解析・処理とＩＢＭ  ＰＰＲ解析部２５００の解析・処理で作成されたラスタバッファ１７００上のイメージ、及び、自身が保持しているエラーメッセージ表示用のイメージを、それぞれ図４の座標１、座標２、座標３に配置するようにＰＣＬコマンドを作成し、サンプルページのＰＣＬコマンド群に追加する。
【００５９】
レイアウト部２３００は、作成したサンプルページのＰＣＬコマンドの処理を制御部２２００に指示する（Ｐ８１７００）。
【００６０】
制御部２２００は、レイアウト部２３００よりＰＣＬコマンドによる処理の指示を受けると、ＰＣＬ解析部２４００にＰＣＬコマンドによるサンプルページの印刷を指示する（Ｐ８１８００）。
すなわち、ＰＣＬ解析部２４００は、サンプルページのＰＣＬコマンドを順次解析し、その都度、中間コード作成部２８００に中間コード作成を指示する。中間コード作成部２８００は、作成した中間コードを順次ページバッファ１５００に保存していく。
ＰＣＬ解析部２４００は、サンプルページのＰＣＬコマンドを全て解析し終えると、中間コード作成部２８００に印刷を指示する。
【００６１】
中間コード作成部２８００は、ＰＣＬ解析部２４００より印刷の指示を受けると、展開処理部１６００に作成した中間コードの展開を指示する。
展開処理部１６００は、ページバッファ１５００に保存されている中間コードを読み込んでドットイメージに展開し、印刷部１８００に“展開完了”を通知する。
【００６２】
印刷部１８００は、図４に示すサンプルページを印刷する（Ｓ３９００）。
【００６３】
制御部２２００は、パネル部１９００にデータ形式選択画面（図６）の表示を指示する（Ｓ３１０００、Ｐ８１９００）。
【００６４】
ユーザは、印刷されたサンプルページの画像を参照して、データ形式選択画面より適切なデータ形式を指定する。
パネル部１９００は、ユーザが指定したデータ形式（ＰＣＬ）を制御部２２００に通知する（Ｐ８２００）。
【００６５】
制御部２２００は、パネル部１９００からの通知内容により、データ形式の指定であると判定すると（Ｓ３１１００のＮＯ）、受信した印刷データの印刷をコマンド解析部（ここでは、ＰＣＬ解析部２４００）に指示する。
印刷部１８００は、ＰＣＬ解析部２４００による解析・処理の結果に基づいて印刷を行う（Ｓ３１２００、Ｐ８２１００）。印刷結果は、図５の通りである。
【００６６】
他方、制御部２２００は、ユーザがデータ形式選択画面で“終了”を選択したと判定すると（Ｓ３１１００のＹＥＳ）、処理を終了する。すなわち、本装置が対応していないデータ形式での印刷データを受信した場合は、印刷を行わない。
【００６７】
このように、本実施例では、上位装置１１００より受信した印刷データのデータ形式を特定できなくても、印刷装置１１０００が対応しているデータド形式（本例では、ＰＣＬ、ＩＢＭ  ＰＰＲ、ＸＰＳの何れか）にて印刷データの解析・処理を行い、処理可能であれば、そのデータ形式にて印刷を実施するようにしている。
【００６８】
以上、実施例１によれば、印刷装置が受信した印刷データのデータ形式を特定できない場合は、当該装置が対応可能な複数のデータ形式により生成されたサンプルページを参照しながらユーザが自らデータ形式を選択するように構成したので、対応不可なデータ形式による無駄な印刷が回避でき、適切なデータ形式での印刷が実施可能である。
【実施例２】
【００６９】
次に、実施例２による印刷装置の構成を説明する。
本実施例による印刷装置１１０００は、解析部９１００を除き実施例１（図２）と同様である。
以下、図９に基づいて実施例２による解析部９１００の構成を説明する。図９は、実施例２による解析部の構成を示すブロック図である。尚、解析部９１００の構成で実施例１（図１）と同様の部分については、同じ符号を付して説明を省略する。
【００７０】
図９に示すように、本実施例による解析部９１００は、判断部９２００、制御部９３００、状態管理部９４００、コマンド解析部９５００、中間コード作成部２８００で構成されている。
【００７１】
判断部９２００は、上位装置１１００より受信した印刷データのデータ形式決定処理を行う部分である。該判断部９２００は、データ形式毎に優先度が設定されている点で実施例１（図１）と相違している。
そして、判断部９２００は、データ形式決定処理を行っても受信した印刷データのデータ形式を特定できない場合は、優先度に従ってデータ形式を決定する。すなわち、優先度に従って印刷データを解析するための解析部（本例では、ＰＣＬ解析部９６００、ＩＢＭ  ＰＰＲ解析部９７００、ＸＰＳ解析部９８００の何れか）を決定する。
【００７２】
制御部９３００は、解析部９１００を構成する各部分の動作を一括管理する部分であるが、コマンド解析部９５００から異常印刷の通知を受けると、状態管理部９４００に確認モード（図１３）の問い合わせを行う点で実施例１と相違している。
すなわち、制御部９３００は、上記確認モードの問い合わせに対し、状態管理部９４００より取得した確認モードがＯＮであると、パネル部１９００に確認画面表示（図１２）を指示し、異常印刷時における処理の終了／継続の選択をユーザに要求する。また、確認モードがＯＦＦであると、コマンド解析部９５００に解析・処理の終了を指示する。
【００７３】
また、制御部９３００は、上記パネル部１９００への確認画面表示の指示で、パネル部１９００から通知された確認結果が“継続”であると、コマンド解析部９５００に処理の継続指示を行い、確認結果が“終了”であれば、コマンド解析部９５００に処理の終了を指示する（図１２）。
【００７４】
状態管理部９４００は、確認モード（ＯＮ／ＯＦＦ）を保持している。確認モードの設定は、ユーザがパネル部１９００の確認モード設定画面を操作して行う。
状態管理部９４００は、パネル部１９００から確認モードの更新を指示されると確認モードを更新する（図１３）。制御部９３００から確認モードの問い合わせを受けると、現在設定されている確認モード（ＯＮ／ＯＦＦ）を制御部９３００に通知する。
【００７５】
コマンド解析部９５００は、ＰＣＬ解析部９６００、ＩＢＭ  ＰＰＲ解析部９７００、ＸＰＳ解析部９８００を有し、判断部９２００や制御部９３００からの印刷指示により、指定された印刷データ（コマンド群）を上記解析部の何れかで解析・処理する部分である。
各解析部は、それぞれ判定済みフラグを有し、判断部９２００より印刷を指示されると、判定済みフラグをＯＦＦに設定する。
【００７６】
また、各解析部による印刷データの解析・処理では、各々の解析部に定められた基準に従い、コマンド単位でコマンドの判定を行う。
コマンド判定をしたコマンドがその解析部の基準を満たせば、コマンド判定は正常である判断し、基準を満たさなければ、コマンド判定は異常であると判断する。
【００７７】
上記コマンド判定の際の基準に関し、例えば、ＰＣＬ解析部９６００には、「コマンドの先頭のデータがコントロールコードではなく」、且つ「そのコマンドが設定中のシンボルセットで文字割り当てのないデータを含まない」という基準が定められている。
尚、上記シンボルセットとは、各々データ形式で使用されるフォントのコード体系情報である。
【００７８】
コマンド判定の結果が正常であると、コマンド解析部９５００は、そのコマンドに対応する中間コードの作成を中間コード作成部２８００に指示し、次のコマンドの解析・処理を行う。
コマンド判定の結果が異常の場合は、コマンド解析部９５００は、判定済みフラグがＯＦＦならば制御部９３００に異常印刷の通知を行い、判定済みフラグがＯＮならば、そのコマンドに対応する中間コード作成を中間コード作成部２８００に指示し、次のコマンドの解析・処理を行う。
【００７９】
また、コマンド解析部９５００は、制御部９３００から処理の継続通知を受けた場合は、判定済みフラグをＯＮに更新し、コマンドに対応する中間コード作成を中間コード作成部２８００に指示し、コマンドの解析・処理を継続する。
制御部９３００から終了通知を受けた場合は、印刷データの解析・処理を終了する。
【００８０】
ここで、上述した実施例２の各部構成において、コマンド解析部９５００と中間コード作成部２８００と展開処理部１６００と印刷部１８００の集合体が特許請求の範囲における請求項２の印刷データ処理部に対応し、制御部９３００と状態管理部９４００の集合体が請求項２の処理制御部に対応している。
【００８１】
次に、実施例２の動作を、図１０−図１４に基づき、図９を参照して説明する。
図１０は、実施例２の動作を示すフローチャート、図１１は、ＰＣＬ解析部によるコマンド判定を示すフローチャート、図１２は、確認画面を示す図、図１３は、確認モード設定画面を示す図、図１４は、実施例２の動作を示すシーケンス図である。
【００８２】
本例では、始めに、ユーザが図１３に示すパネル部１９００の確認モード選択画面の操作で確認モードをＯＮに設定し、状態管理部９４００に確認モードの更新（ＯＮ）を指示する。状態管理部９４００は、パネル部１９００からの更新指示で確認モードをＯＮに更新する。
【００８３】
次に、ユーザは、上位装置１１００より印刷装置１１０００に印刷データを送信する。この送信データは、実施例１と同様、印刷装置１１０００側でデータ形式を特定できない印刷データであると仮定する。
【００８４】
図１０において、インターフェース部１２００は、受信した印刷データを受信バッファ１３００に格納すると共に、印刷データを受信したことを解析部９１００に通知する（Ｐ１４１００）。受信完了の通知を受けた解析部９１００は、以下の処理を実行する。
【００８５】
先ず、判断部９２００は、受信バッファ１３００上の印刷データに対するデータ形式決定処理を実施する（Ｓ１０１００、Ｐ１４２００）。
判断部９２００は、データ形式決定処理においてデータ形式を特定できたか否かを判定する（Ｓ１０２００）。尚、先のデータ形式決定処理において、データ形式を特定できれば、特定したデータ形式により受信データの処理を行う。
【００８６】
但し、本動作例では、データ形式を特定できないと仮定しているため、判断部９２００は、自身が保持している優先度に従い、受信した印刷データのデータ形式を優先度の高い、例えば、ＰＣＬに決定し（Ｓ１０３００、Ｐ１４３００）、ＰＣＬ解析部９６００に印刷データの印刷を指示する（Ｐ１４４００）。
【００８７】
ＰＣＬ解析部９６００は、印刷データの処理を開始する（Ｐ１４５００）。ＰＣＬ解析部９６００には、シンボルセットとして、例えば、ＲＯＭＡＮ−８が設定されているものとする。
【００８８】
ＰＣＬ解析部９６００は、判定済みフラグをＯＦＦに初期化し（Ｓ１０４００、Ｐ１４６００）、受信した印刷データの最初のコマンドについてコマンド判定を行う（Ｓ１０６００、Ｐ１４７００）。
【００８９】
ここで、上記コマンド判定処理につき、図１１を用いて説明する。
コマンド判定を行うコマンドの先頭のデータは「Ｏｘ８０」であったとする。
該データ「Ｏｘ８０」は、コントロールコードではなく（Ｓ１１１００のＹＥＳ）、且つ、設定中のシンボルセットで、文字割り当てのないデータであるため（Ｓ１１２００のＹＥＳ）、ＰＣＬ解析部９６００は、このデータに対するコマンド判定は異常であると判断する（Ｓ１１３００、Ｓ１０８００のＹＥＳ）。
【００９０】
また、Ｓ１０８００の判定で、コマンド判定が正常であれば（Ｓ１１４００）、ＰＣＬ解析部９６００は、該コマンドに対応する中間コードの作成を中間コード作成部２８００に指示し（Ｓ１０５００）、受信した全印刷データの解析・処理が完了するまで処理を継続する（Ｓ１０５００）。
【００９１】
図１０において、ＰＣＬ解析部９６００は、Ｓ１０８００の判定で異常と判断すると、判定済みフラグの判定を行う（Ｓ１０９００、Ｐ１４８００）。先のＳ１０４００で判定済みフラグが初期化（ＯＦＦ）されているため、ＰＣＬ解析部９６００は、制御部９３００に異常印刷を通知する（Ｐ１４９００）。
【００９２】
制御部９３００は、ＰＣＬ解析部９６００より異常印刷の通知を受けると、状態管理部９４００に確認モードの問い合わせを行う（Ｐ１４１０００）。
状態管理部９４００は、確認モードの問い合わせを受けると、制御部９３００に確認モード“ＯＮ”を通知する（Ｐ１４１１００）。
【００９３】
制御部９３００は、確認モードを判定すると（Ｓ１０１０００）、確認モードはＯＮであるため、パネル部１９００に確認画面の表示を指示する（Ｓ１０１１００、Ｐ１４１２００）。
パネル部１９００は、図１２に示す確認画面を表示し、異常印刷における印刷の終了／継続の選択をユーザに要求する。
【００９４】
また、最初から確認モードがＯＦＦに設定されていれば（Ｓ１０１０００）、異常印刷の際、ユーザのパネル操作を介さず、直ちに印刷データの処理を終了する（Ｓ１０１３００）。従って、無駄な印刷は確実に回避できる。
【００９５】
ユーザが確認画面（図１２）で“終了”を選択すると、パネル部１９００は、確認結果（終了）を制御部９３００に通知し（Ｐ１４１３００）、制御部９３００は、ＰＣＬ解析部９６００に終了を通知する（Ｐ１４１４００）。
【００９６】
ＰＣＬ解析部９６００は、制御部９３００より終了通知を受けると（Ｓ１０１２００のＹＥＳ）、印刷データの処理を終了する（Ｓ１０１３００）。従って、印刷データの印刷は実施されない。
【００９７】
他方、ユーザが“継続”を選択した場合（Ｓ１０１２００のＮＯ）、ＰＣＬ解析部９６００は、判定済みフラグをＯＮに更新し（Ｓ１０１４００）、コマンドに従い中間コードを作成し（Ｓ１０１５００）、全印刷データの処理が完了するまで解析・処理を継続する（Ｓ１０５００）。
【００９８】
このように、本実施例では、上位装置１１００より受信した印刷データのデータ形式を印刷装置１１０００側で特定できない場合は、自装置が対応している最も優先度の高いデータ形式にて、印刷データの解析・処理を行い、正常であれば処理を継続し、印刷異常を検出すると処理を終了するようにしている。従って、実施例１に比べてデータ処理の形態を簡素化できる。
【００９９】
尚、実施例２では、受信した印刷データにつき、常にデータ形式の判定を行う例を説明したが、印刷データを解析・処理する過程で、コマンド解析部が異常印刷を検出することから、ＰＪＬ等により処理するデータ形式が指定されていて、データ形式の判定を必要としない印刷装置にも本発明は適用可能である。
【０１００】
以上、実施例２によれば、印刷装置が受信した印刷データの解析・処理中に異常印刷を検出すると、ユーザが該印刷データの処理の停止と継続を指示するように構成したので、印刷装置がデータ形式を誤って特定した場合でも、対応不可なデータ形式による無駄な印刷は回避できる。
【産業上の利用可能性】
【０１０１】
本実施形態では、プリンタを例に説明したが、この他、複合機や上位装置の備えるドライバ等にも適用可能である。
また、本実施形態では、印刷装置に対応するデータ形式としてＰＣＬ、ＩＢＭ  ＰＰＲ、ＸＰＳを説明したが、これらに限定されず他のＰＤＬ言語や電子画像のデータ形式でも適用可能である。
【符号の説明】
【０１０２】
１１００  上位装置
１６００  展開処理部
１８００  印刷部
１９００  パネル部
２１００  判断部
２２００  制御部
２３００  レイアウト部
２７００  コマンド解析部
２８００  中間コード作成部
９２００  判断部
９４００  状態管理部
９５００  コマンド解析部
９６００  制御部
１１０００  印刷装置
【図１】
2012187761.tif 000003
【図２】
2012187761.tif 000004
【図３】
2012187761.tif 000005
【図４】
2012187761.tif 000006
【図５】
2012187761.tif 000007
【図６】
2012187761.tif 000008
【図７】
2012187761.tif 000009
【図８】
2012187761.tif 000010
【図９】
2012187761.tif 000011
【図１０】
2012187761.tif 000012
【図１１】
2012187761.tif 000013
【図１２】
2012187761.tif 000014
【図１３】
2012187761.tif 000015
【図１４】
2012187761.tif 000016