(57)【要約】【課題】印刷データ処理装置を切り替えなくてもエラーページ出力を抑制することが可能な印刷データ処理装置を提供する。【解決手段】特定ＰＤＬのＰＤＬデータを解析可能な解析処理部１９と、解析処理部１９での解析時において、文字コード表に基づくテキスト処理中に文字の割り当て範囲外のコードの処理数をカウントするテキストカウンター２１と、テキストカウンター２１でのカウント数が所定の閾値を超えたときにＰＤＬデータに対する解析を中断する中断部２３とを備えたことを特徴とする。【選択図】図２
2014061717.tif 000002
【特許請求の範囲】
【請求項１】
複数のページ記述言語のうち特定言語の印刷データを解析する解析処理部と、
前記解析処理部での解析時において、文字コード群に基づくテキスト処理中に文字の割り当て範囲外のコードの処理数をカウントするテキストカウンターと、
前記テキストカウンターでのカウント数が第１閾値を超えたときに前記印刷データに対する解析を中断する中断部と、
前記解析時に前記特定言語による前記テキスト処理以外のコマンドの処理数をカウントするコマンドカウンターと、
前記コマンドの処理数がカウントされるとき、前記コマンドカウンターでのカウント数が第２閾値を超える場合、前記テキストカウンターのカウント数をリセットするリセット部とを備えた、
ことを特徴とする印刷データ処理装置。
【請求項２】
請求項１記載の印刷データ処理装置であって、
前記中断した解析の中止又は継続を選択させる選択部を備えた、
ことを特徴とする印刷データ処理装置。
【請求項３】
請求項２記載の印刷データ処理装置であって、
前記印刷データに対する解析の中断時に前記解析のエラーを表示するエラー表示部を備え、
前記選択部は、前記エラーの表示に応じて前記選択を行わせる、
ことを特徴とする印刷データ処理装置。
【請求項４】
複数のページ記述言語のうち特定言語の印刷データを解析する解析処理手順と、
前記解析処理手順において文字コード群に基づくテキスト処理中に文字の割り当て範囲外のコードの処理数をカウントするテキストカウント手順と、
前記テキストカウント手順でのカウント数が第１閾値を超えたときに前記印刷データに対する解析を中断する中断手順と、
前記解析時に前記特定言語による前記テキスト処理以外のコマンドの処理数をカウントするコマンドカウント手順と、
前記コマンドの処理数がカウントされるとき、前記コマンドカウント手順でのカウント数が第２閾値を超える場合、前記テキストカウント手順でのカウント数をリセットするリセット手順とをコンピュータに実行させる、
ことを特徴とする印刷データ処理プログラム。
【請求項５】
それぞれ異なるページ記述言語に対応する複数の印刷データ処理装置と、
前記印刷データ処理装置を、複数のページ記述言語のうち指定された特定言語に対応する印刷データ処理装置に切り換えて起動させる切替部とを備え、
前記複数のデータ処理装置は、
起動により前記特定言語の印刷データを解析する解析処理部と、
前記解析処理部での解析時において、文字コード群に基づくテキスト処理中に文字の割り当て範囲外のコードの処理数をカウントするテキストカウンターと、
前記テキストカウンターでのカウント数が第１閾値を超えたときに前記印刷データに対する解析を中断する中断部と、
前記解析時に前記特定言語による前記テキスト処理以外のコマンドの処理数をカウントするコマンドカウンターと、
前記コマンドの処理数がカウントされるとき、前記コマンドカウンターでのカウント数が第２閾値を超える場合、前記テキストカウンターのカウント数をリセットするリセット部とを備えた、
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを解析する印刷データ処理装置及びプログラム並びに画像形成装置に関する。
【背景技術】
【０００２】
コンピューター上で作成された文書や画像等を印刷する際には、所定のＰＤＬ（ページ記述言語）による印刷データを生成し、これをプリンター側に出力することで印刷を指示することが一般的である。プリンターでは、印刷データをＰＤＬ解析部（印刷データ処理装置）により解析し、描画処理等を通じて印刷出力を行うことができる。
【０００３】
印刷データに用いられるＰＤＬとしては、PostScriptや ＰＣＬ （Printer Control Language）等が主流であったが、近年、電子文書フォーマットであるＰＤＦ（Portable Document Format）、マークアップ言語のＨＴＭＬ（HyperText Markup Language）やＸＭＬ（Extensible Markup Language）に加え、新たな電子文書フォーマットであるＸＰＳ(XML Paper Specification)等も用いられるようになっている。
【０００４】
このように多種のＰＤＬが存在する状況においては、各ＰＤＬに対応する複数のＰＤＬ解析部を用意しておき、これを印刷データのＰＤＬに応じて切り替える必要がある。
【０００５】
ＰＤＬ解析部の切り替えは、印刷データに基づいて自動的に行う場合とプリンター本体のＰＤＬ（エミュレーション）を操作パネルから設定することで対応してきた。
【０００６】
しかし、操作パネルからプリンター本体のＰＤＬを設定する場合は、解析可能なＰＤＬが固定され、それ以外のＰＤＬによる印刷データに対して解析エラーが生じることになる。
【０００７】
解析エラーの場合は、印刷データの情報がテキストとしてそのまま印字されるガベージ出力等を生じさせる。ガベージ出力は、ＰＤＬ解析部が印刷データの終端まで解析を行うことで大量になることが多い。
【０００８】
これに対し、特許文献１には、複数のＰＤＬ解析部の何れかでエラーが生じた場合に、他のＰＤＬ解析部に切り替える技術が開示されている。
【０００９】
しかし、この技術は、ＰＤＬ解析部が固定されている場合にまで適用することはできない。すなわち、ＰＤＬ解析部を切り替えずには、ガベージ出力等のエラーページ出力の抑制ができないという問題があった。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−２８０８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明が解決しようとする問題点は、印刷データ処理装置を切り替えずにエラーページ出力を抑制できない点である。
【課題を解決するための手段】
【００１２】
本発明は、印刷データ処理装置を切り替えなくてもエラーページ出力を抑制するため、複数のページ記述言語のうち特定言語の印刷データを解析する解析処理部と、前記解析処理部での解析時において、文字コード群に基づくテキスト処理中に文字の割り当て範囲外のコードの処理数をカウントするテキストカウンターと、前記テキストカウンターでのカウント数が第１閾値を超えたときに前記印刷データに対する解析を中断する中断部と、前記解析時に前記特定言語による前記テキスト処理以外のコマンドの処理数をカウントするコマンドカウンターと、前記コマンドの処理数がカウントされるとき、前記コマンドカウンターでのカウント数が第２閾値を超える場合、前記テキストカウンターのカウント数をリセットするリセット部とを備えたことを最も主要な特徴とする。
【発明の効果】
【００１３】
本発明によれば、文字の割り当て範囲外のコードの処理数に基づき、印刷データ処理装置を切り替えなくてもガベージ出力等のエラーページ出力を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】ＰＤＬ解析部を有する画像形成装置の要部概略構成を示すブロック図である（実施例１）。
【図２】図１のＰＤＬ解析部の構成を示すブロック図である（実施例１）。
【図３】ＡＳＣＩＩコードを示す図表である（実施例１）。
【図４】ＰＤＬ解析部によるＰＤＬデータの解析処理を示すフローチャートである（実施例１）。
【図５】コマンド処理を示すフローチャートである（実施例１）。
【発明を実施するための形態】
【００１５】
印刷データ処理装置を切り替えなくてもエラーページ出力を抑制するという目的を、文字コード群に基づくテキスト処理中に、文字の割り当て範囲外のコードの処理数が所定の閾値に達したときに印刷データに対する解析を中断させることで実現した。
【００１６】
実施形態としては、複数の印刷データ処理装置を有する画像形成装置への適用があるが、単一の印刷データ処理装置のみを有する画像形成装置へも適用することが可能である。
【００１７】
以下、本発明の実施例について図面を参照して説明する。
【実施例１】
【００１８】
［画像形成装置］
図１は本発明の実施例１に係り、ＰＤＬ解析部を有する画像形成装置の要部概略構成を示すブロック図である。
【００１９】
図１の画像形成装置１は、少なくとも印刷出力機能を有するデジタル複合機等のプリンターからなり、入力された印刷データとしてのＰＤＬデータに基づいて印刷出力を行うものである。本実施例の画像形成装置１は、データ取得部３と、操作パネル５と、制御部９とを備えている。
【００２０】
データ取得部３は、他の機器からのＰＤＬデータを受信するインターフェースである。
【００２１】
操作パネル５は、タッチパネル式の液晶表示画面等からなり、画像形成装置１に対する操作入力や操作状況等の表示を行わせる。
【００２２】
制御部９は、ＣＰＵ（Central Process Unit）等の制御要素であり、ＲＯＭ（Read Only Memory）やハードディスク等の記憶部（図示せず）内のプログラムを実行して画像形成装置１の各種制御や作業を行わせる。
【００２３】
本実施例では、制御部９が記憶部の印刷データ処理プログラムを実行することで、ＰＤＬ切替部１１、複数の印刷データ処理装置としてのＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎ、デバイス制御部１５、描画処理部１７を機能構成として備える。
【００２４】
ＰＤＬ切替部１１は、ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎを切り替えて起動させる。このＰＤＬ切替部１１は、操作パネル５からの設定によりＰＤＬ解析部の固定的な切り替えを行い、或いは入力されたＰＤＬデータのヘッダーを解析して対応するＰＤＬ解析部に選択的に切り替える。
【００２５】
ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎは、それぞれ異なるＰＤＬに対応し、起動によりＰＤＬデータを読み込んで解析する。各ＰＤＬ解析部は、解析したＰＤＬデータから中間データを生成して描画処理部１７に出力する。なお、ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎの詳細については後述する。
【００２６】
描画処理部１７は、ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎからの命令により、入力された中間データからビットマップ形式の描画画像を形成する描画処理を行う。描画画像からは、スクリーン処理等を通じて最終的な出力画像が形成され、出力画像は、出力エンジン部によって印刷出力される。
【００２７】
デバイス制御部１５は、ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎからの命令により、印刷出力に用いられるトレイ等のデバイスを設定する。
［ＰＤＬ解析部］
図２は、図１のＰＤＬ解析部の構成を示すブロック図である。なお、ＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎは、対応するＰＤＬが異なるだけで、その機能構成は共通している。このため、ＰＤＬ解析部１３ａについてのみ詳細を説明する。
【００２８】
ＰＤＬ解析部１３ａは、ＰＤＬデータの文字コード表（文字コード群）に基づくテキスト処理中に、通常の解析処理よりも文字の割り手範囲外のコード（以下、「範囲外コード」と称する）の処理数が多い場合、解析エラーがあったものとして解析処理を中断させるようになっている。
【００２９】
本実施例での解析エラーは、ＰＤＬ解析部１３ａが非対応のＰＤＬのＰＤＬデータを解析することである。すなわち、非対応のＰＤＬデータが解析される場合は、ＰＤＬデータの情報がそのままテキストとして処理される等により範囲外コードの出現率が増加し、これが解析エラーとなる。
【００３０】
ＰＤＬ解析部１３ａは、解析処理部１９と、テキストカウンター２１と、中断部２３と、コマンドカウンター２５と、リセット部２７と、エラー表示部２９と、選択部３１とを備えている。
【００３１】
解析処理部１９は、ＰＤＬデータを読み込んで解析するものであり、特定ＰＤＬ（対応するＰＤＬ）によるＰＤＬデータが解析可能となっている。
【００３２】
解析時には、ＰＤＬデータの文字コードに対して文字コード表に基づくテキスト処理を行い、特定のコマンド（例えばイメージ処理の開始コマンド）に対してその実行であるコマンド処理（例えばイメージ処理の開始）を通じてテキスト処理以外の処理（例えばイメージ処理）を行う。なお、文字コード表としては、Shift_JISやASCII等の各種の文字コード表があるが、本実施例では、図３に示すASCII表を用いて説明する。
【００３３】
テキストカウンター２１は、ＰＤＬデータ解析時のテキスト処理中に、範囲外コードの処理数をカウントする。
【００３４】
図３のASCII表では、０×００〜０×１Ｆまでがコントロールコードであり、文字が割り当てられていない。このASCII表では、０×８０以降についても文字が割り当てられていない。
【００３５】
従って、本実施例では、これらのコードが範囲外コードとなっており、その処理数をテキストカウンター２１がカウントする。
【００３６】
中断部２３は、テキストカウンター２１でのカウント数が所定の閾値に達したときに、ＰＤＬデータに対する解析を中断する。閾値は、上記のように通常の解析処理よりも範囲外コードの処理数が多いことを検出できるようにする範囲で設定され、例えば１００等にすることができる。ただし、閾値は、任意であり、解析処理部１９の処理速度やＰＤＬに応じて適宜変更できる。
【００３７】
コマンドカウンター２５は、ＰＤＬデータ解析時のコマンド処理の処理数をカウントする。
【００３８】
リセット部２７は、コマンドカウンター２５でのカウント数が所定の閾値に達したときにテキストカウンター２１のカウント数をリセットする。すなわち、通常の解析処理である場合には、テキストカウンター２１のカウント数をリセットするようにしている。
【００３９】
通常の解析処理であるとの判断は、コマンド処理（コマンドの実行）ができた場合、ＰＤＬデータとＰＤＬ解析部１３ａとが対応している可能性が高いことに基づく。
【００４０】
例えば、イメージの処理を行おうとすると、イメージの処理を開始するためのコマンドが必要となる。そのコマンドが実行できたということは、ＰＤＬデータを正しく処理できていることになるので、ＰＤＬデータとＰＤＬ解析部の組み合わせに間違いがある可能性が低くなる。
【００４１】
リセット部２７の閾値は、コマンド処理を一度でも行われれば通常の解析処理であると判断することが可能であるため、１以上に設定することができる。ただし、誤差の範囲や解析処理部１９の処理速度を考慮して、例えば２０程度とする。
【００４２】
エラー表示部２９は、ＰＤＬデータの解析中断時に画像形成装置１の操作パネル５に解析エラーを表示する。
【００４３】
選択部３１は、エラー表示部２９による解析エラーの表示に応じて、中断した解析の中止又は続行を操作パネル５上で選択させる。
［ＰＤＬ解析部の動作］
図４は、ＰＤＬ解析部によるＰＤＬデータの解析処理（解析手順）を示すフローチャートである。
【００４４】
図４のフローチャートは、図１の操作パネル５での設定に応じて、ＰＤＬ切替部１１がＰＤＬ解析部１３ａ，１３ｂ，１３ｃ・・・１３ｎの何れかを起動することでスタートする。
【００４５】
ステップＳ１では、「ＰＤＬデータの読み込み」を行う。すなわち、起動されたＰＤＬ解析部は、解析処理部１９がＰＤＬデータを読み込んで解析を始める。これによりステップＳ２へ移行する。
【００４６】
ステップＳ２では、「テキスト処理？」が行われる。この処理では、コマンドカウンター２５が、解析処理部１９でＰＤＬデータのコマンド処理が行われたか否かを検出する。
【００４７】
コマンド処理が行われていない場合は、ＰＤＬデータのテキスト処理が行われていることになり（ＹＥＳ）、ステップＳ３へ移行する。一方、コマンド処理が行われた場合は、それに基づくテキスト処理以外が行われるので（ＮＯ）、コマンド処理へ移行する。
【００４８】
ステップＳ３では、「範囲外コード？」の処理が行われる（テキストカウント手順）。この処理では、テキストカウンター２１が、テキスト処理中の文字コードについて、０×００〜０×１Ｆ又は０×８０以降の範囲外コードか否かを検出する。
【００４９】
範囲外コードである場合（ＹＥＳ）は、ステップＳ４へ移行し、範囲外コード以外（範囲内コード）である場合（ＮＯ）は、ステップＳ６へ移行する。
【００５０】
ステップＳ４では、「範囲外コードのカウント」が行われる（テキストカウント手順）。この処理では、テキストカウンター２１が検出した範囲外コードをカウントしてステップＳ５へ移行する。
【００５１】
ステップＳ５では、「範囲外コードカウント数が閾値以下？」が行われる（中断手順）。この処理では、中断部２３が、テキストカウンター２１によるカウント数が所定の閾値以下であるか否かを判断する。閾値以下である場合は、ステップＳ６へ移行し、閾値を超える場合は、ステップＳ７へ移行する。
【００５２】
ステップＳ６では、「描画処理」が行われる。すなわち、解析処理部１９は、処理中の文字コードについて中間データの生成へ向けた処理を行う。
【００５３】
一方、ステップＳ７では、「解析中断」が行われる（中断手順）。すなわち、中断部２３は、通常の解析処理よりも範囲外コードの処理数が多い解析エラーが生じていると判断し、解析処理部１９のＰＤＬデータに対する解析処理を中断する。これにより、ステップＳ７が完了して、ステップＳ８へ移行する。
【００５４】
ステップＳ８では、「ジョブキャンセル？」が行われる（エラー表示手順及び選択手順）。この処理では、エラー表示部２９がＰＤＬデータの解析エラーを画像形成装置１の操作パネル５に表示する。これに応じ、選択部３１は、中断した解析処理の中止又は継続を操作パネル５上でユーザーに選択させる。
【００５５】
ユーザーが中止を選択した場合（ＹＥＳ）は、ＰＤＬデータによる印刷ジョブを中止して（解析処理を中止して）図４のフローチャートが終了する。これにより、ガベージ出力等のエラーページ出力を抑制することができる。
【００５６】
一方、続行が選択された場合は（ＮＯ）は、ユーザーの意向に応じてステップＳ６へ移行して「描画処理」が行われることになる。
【００５７】
図５は、コマンド処理を示すフローチャートである。
【００５８】
図５のフローチャートは、図４のステップＳ２からコマンド処理へ移行することでスタートする。
【００５９】
まず、ステップＳ２１では、「コマンドカウント」が行われる。この処理では、コマンドカウンター２５が検出したコマンド処理をカウントしてステップＳ２２へ移行する。
【００６０】
ステップＳ２２では、「コマンドカウント数が閾値以下？」が行われる。この処理では、リセット部２７が、コマンドカウンター２５によるカウント数が所定の閾値以下であるか否かを判断する。
【００６１】
閾値以下である場合（ＮＯ）は、図４のステップＳ６へ移行してコマンド処理に基づく「描画処理」が行われることになる。一方、閾値を超える場合（ＹＥＳ）は、ステップＳ２３へ移行する。
【００６２】
ステップＳ２３では、「範囲外コードのカウント数リセット」が行われる。すなわち、リセット部２７は、通常の解析処理であると判断して、テキストカウンター２１のカウント数をリセットする。これにより、次のテキスト処理中に範囲外コードがカウントされたとしても、誤って解析処理が中断されることを防止できる。
【００６３】
こうしてステップＳ２３が完了し、図４のステップＳ６へ移行してコマンド処理に基づく「描画処理」が行われることになる。
［実施例１の効果］
本実施例のＰＤＬ解析部１３ａ（１３ｂ，１３ｃ・・・１３ｎ）は、特定ＰＤＬのＰＤＬデータを解析可能な解析処理部１９と、解析処理部１９での解析時において、文字コード表に基づくテキスト処理中に文字の割り当て範囲外のコード（範囲外コード）の処理数をカウントするテキストカウンター２１と、テキストカウンター２１でのカウント数が所定の閾値を超えたときにＰＤＬデータに対する解析を中断する中断部２３とを備えている。
【００６４】
すなわち、本実施例では、範囲外コードの処理数が閾値を超えたときに通常の解析処理よりも範囲外コードが多い解析エラーが生じていると判断し、解析処理部１９のＰＤＬデータに対する解析処理を中断することができる。この中断により、ＰＤＬ解析部を切り替えなくてもガベージ出力等のエラーページ出力を抑制することができる。
【００６５】
また、本実施例のＰＤＬ解析部１３ａは、解析時にＰＤＬデータのコマンドの処理数をカウントするコマンドカウンター２５と、コマンドカウンター２５でのカウント数が所定の閾値を超えたときにテキストカウンター２１のカウント数をリセットするリセット部２７とを備えている。
【００６６】
すなわち、本実施例では、ＰＤＬデータのコマンドの処理数が所定の閾値を超えたときに通常の解析処理であると判断して、テキストカウンター２１のカウント数をリセットすることができる。このため、次のテキスト処理中に範囲外コードがカウントされたとしても、誤って解析処理が中断されることを防止でき、処理の円滑化を図ることができる。
【００６７】
また、本実施例のＰＤＬ解析部１３ａは、中断したＰＤＬデータの解析の中止又は継続を選択させる選択部３１を備えている。
【００６８】
従って、本実施例では、最終的にＰＤＬデータの解析を中止してエラーページ出力を確実に抑制することができながら、ユーザーの意向に応じてエラーページ出力を行わせることもでき、ユーザーの利便性を向上することができる。
【００６９】
また、本実施例においては、ＰＤＬデータに対する解析の中断時に解析のエラーを表示するエラー表示部２９を備え、選択部３１がエラーの表示に応じて中止又は継続の選択を行わせる。
【００７０】
従って、本実施例では、ユーザーに対して解析エラーが生じたことを確認させながら、解析の中止又は継続の選択を行わせることができ、選択の確実性を向上させつつユーザーの利便性を向上することができる。
【符号の説明】
【００７１】
１３ａ，１３ｂ，１３ｃ・・・１３ｎ  ＰＤＬ解析部（印刷データ処理装置）
１９  解析処理部
２１  テキストカウンター
２３  中断部
２５  コマンドカウンター
２７  リセット部
２９  エラー表示部
３１  選択部
【図１】
2014061717.tif 000003
【図２】
2014061717.tif 000004
【図３】
2014061717.tif 000005
【図４】
2014061717.tif 000006
【図５】
2014061717.tif 000007