(57)【要約】【課題】受信した印刷データの種別が誤判別されて処理されることにより大量の無駄な印刷出力を行ってしまう事態の発生を抑えること。【解決手段】ＰＤＬ判別部３０３が、画像形成装置で受信した印刷データの特徴から該印刷データに適合するデータ種別を判別し（Ｓ５０３，Ｓ５０４，Ｓ５０７）、ジョブ制御部３０２が、ＰＤＬ判別部３０３での判別結果と、画像形成装置において過去に印刷データを処理したデータ種別毎の回数を示す実績とに基づいて、印刷データのデータ種別を決定し、印刷データを処理する（Ｓ５０５〜Ｓ５１４）。【選択図】図５
2014156047.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
受信した印刷データのデータ種別を、該印刷データの特徴と、当該画像形成装置において過去に印刷データを処理したデータ種別毎の回数に対応するデータ種別毎の実績とに基づいて決定し、該印刷データを処理することを特徴とする画像形成装置。
【請求項２】
前記データ種別毎の実績を記憶する記憶手段と、
前記印刷データの特徴から該印刷データに適合するデータ種別を判別する判別手段と、
前記判別手段の判別結果と、前記データ種別毎の実績に基づいて、前記印刷データの処理方法を決定する制御手段と、
を有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御手段は、前記判別手段に、前記印刷データと複数のデータ種別との適合をデータ種別の優先度に応じた順に判別させるものであり、
前記判別手段により適合すると判別されたデータ種別に一定の実績がある場合には、該データ種別として前記印刷データを処理し、
前記判別手段により適合すると判別されたデータ種別に一定の実績がない場合には、前記判別手段にその他のデータ種別との適合を判別させることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記制御手段は、前記判別手段により前記印刷データに適合すると判別されたデータ種別が１つの場合、該データ種別として前記印刷データを処理することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記制御手段は、前記判別手段により前記印刷データに適合すると判別されたデータ種別が複数の場合、該複数のデータ種別の実績に基づいて、該複数のデータ種別から前記印刷データのデータ種別を決定することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記制御手段は、前記判別手段により前記印刷データに適合すると判別された複数のデータ種別のいずれかに一定の実績がある場合、実績の最も多いデータ種別を前記印刷データのデータ種別に決定することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記制御手段は、前記判別手段により前記印刷データに適合すると判別された複数のデータ種別のいずれにも一定の実績がない場合、前記印刷データの受信経路に応じた優先度に基づいて、該複数のデータ種別から前記印刷データのデータ種別を決定することを特徴とする請求項５又は６に記載の画像形成装置。
【請求項８】
前記制御手段は、前記印刷データの受信経路に応じた優先度に基づいて決定されたデータ種別で前記印刷データを処理する場合に描画される描画領域の大きさが一定の大きさ以上の場合、前記印刷データの処理を続行することを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記制御手段は、前記印刷データの受信経路に応じた優先度に基づいて決定されたデータ種別で前記印刷データを処理する場合に描画される描画領域の大きさが一定の大きさより小さい場合、前記印刷データの処理を中止することを特徴とする請求項７又は８に記載の画像形成装置。
【請求項１０】
前記制御手段は、前記印刷データの受信経路に応じた優先度に基づいて決定されたデータ種別で前記印刷データを処理した場合に描画される描画領域の大きさが一定の大きさより小さい場合、該印刷データの処理を続行させるか否かのユーザ選択を受け付け、該ユーザ選択に従って、前記印刷データの処理を続行又は中止することを特徴とする請求項７又は８に記載の画像形成装置。
【請求項１１】
前記制御手段は、前記決定されたデータ種別で前記印刷データを処理した場合の印刷ページ数を提示して、前記ユーザ選択を受け付けることを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記制御手段は、前記印刷データの受信経路に応じた優先度に基づいて決定されたデータ種別で前記印刷データを処理した場合に描画される描画領域の大きさが一定の大きさより小さい場合、前記印刷データの受信経路に応じて、前記印刷データの処理を続行又は中止することを特徴とする請求項７又は８に記載の画像形成装置。
【請求項１３】
前記制御手段は、前記印刷データの受信経路がファイアウォールを通じた受信経路の場合には、前記印刷データの処理を中止することを特徴とする請求項１２に記載の画像形成装置。
【請求項１４】
前記制御手段は、前記印刷データの受信経路がファイアウォールを通じた受信経路でない場合には、前記印刷データの処理を続行することを特徴とする請求項１２又は１３に記載の画像形成装置。
【請求項１５】
前記データ種別は、印刷データのページ記述言語の種別又はファイルフォーマットの種別を示すことを特徴とする請求項１乃至１４のいずれか１項に記載の画像形成装置。
【請求項１６】
画像形成装置の制御方法であって、
受信した印刷データのデータ種別を、該印刷データの特徴と、当該画像形成装置において過去に印刷データを処理したデータ種別毎の回数に対応するデータ種別毎の実績とに基づいて決定し、該印刷データを処理することを特徴とする画像形成装置の制御方法。
【請求項１７】
判別手段が、前記印刷データの特徴から該印刷データに適合するデータ種別を判別する判別ステップと、
制御手段が、前記判別ステップの判別結果と、前記データ種別毎の実績に基づいて、前記印刷データの処理方法を決定する制御ステップと、
を有することを特徴とする請求項１６に記載の画像形成装置の制御方法。
【請求項１８】
コンピュータを、請求項１乃至１５のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信した印刷データを処理する画像形成装置、画像形成装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
複合機や印刷装置などの画像形成装置に送信される印刷データは、ページ記述言語（ＰＤＬ）データや、ＰＤＦ、ＴＩＦＦ、ＪＰＥＧ、ＸＰＳなどのファイルフォーマットのデータである。画像形成装置は、受信した印刷データが画像形成装置に搭載されている何れのＰＤＬやファイルフォーマットであるかを判別し、判別結果に応じて受信データの処理方法を決定する必要がある。
【０００３】
なお、画像形成装置に搭載されていないＰＤＬやファイルフォーマットの印刷データを画像形成装置が受信した場合、画像形成装置に搭載されている何れかのＰＤＬやファイルフォーマットとして処理され、ユーザの期待しない大量の無駄な紙が印刷されることがあった。
特許文献１では、画像形成装置に搭載されていないＰＤＬやファイルフォーマットの無駄な印刷を防止する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２０１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、何れかのＰＤＬやファイルフォーマットと判別され、その判別が誤判別であった場合、誤判別されたＰＤＬやファイルフォーマットとして印刷データが処理されることがある。この場合、依然としてユーザの期待しない大量の無駄な紙が印刷され出力されるという問題点があった。
【０００６】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、受信した印刷データの種別が誤判別されて処理されることにより大量に無駄な印刷出力を行ってしまう事態の発生を抑える仕組みを提供する。
【課題を解決するための手段】
【０００７】
本発明は、画像形成装置であって、受信した印刷データのデータ種別を、該印刷データの特徴と、当該画像形成装置において過去に印刷データを処理したデータ種別毎の回数に対応するデータ種別毎の実績とに基づいて決定し、該印刷データを処理することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、受信した印刷データの種別が誤判別されて処理されることにより大量に無駄な印刷出力を行ってしまう事態の発生を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例の画像処理システムの構成を示すブロック図。
【図２】本実施例の画像形成装置の構成例を示すブロック図。
【図３】本実施例の画像形成装置のソフトウェアの構成を示すブロック図。
【図４】ＰＤＬ判別部およびＰＤＬ解析部の詳細を示すブロック図。
【図５】本実施例の画像形成装置の処理を示すフローチャート。
【図６】実施例２の誤判別した可能性が高い場合の処理を示すフローチャート。
【図７】実施例３の誤判別した可能性が高い場合の処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１１】
＜システム構成＞
図１は、本発明の一実施例を示す画像処理システムの構成の一例を示すブロック図である。
このシステムでは、ホストコンピュータ１３０及び２台の画像形成装置（１００，１１０）がＬＡＮ１４０に接続されているが、本発明における画像処理システムにおいては、これらの接続数に限られることはない。また、本実施例では接続方法としてＬＡＮを適用しているが、これに限られることはない。例えば、ＷＡＮ（公衆回線）などの任意のネットワーク、ＵＳＢなどのシリアル伝送方式、セントロニクスやＳＣＳＩなどのパラレル伝送方式なども適用可能である。
【００１２】
ホストコンピュータ（以下、ＰＣと称する）１３０は、パーソナルコンピュータの機能を有している。このＰＣ１３０は、ＬＡＮ１４０やＷＡＮを介してＦＴＰやＳＭＢプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。さらには、ＰＣ１３０は、画像形成装置１００、１１０に対して、プリンタドライバを介した印刷命令を行うことも可能となっている。
【００１３】
画像形成装置１００と１１０は同じ構成で、スキャナ部を有する画像形成装置である。以下では、説明を簡単にするために、画像形成装置１００、１１０のうちの画像形成装置１１０に注目して、その構成を詳細に説明する。画像形成装置１１０は、スキャナ部１１３、プリンタ部１１４、コントローラ１１１、操作部１１２を有する。スキャナ部１１３は、画像入力デバイスである。プリンタ部１１４は、画像出力デバイスである。コントローラ１１１は、画像形成装置１１０全体の動作制御を司る。操作部１１２は、ユーザインターフェース（ＵＩ）である。
【００１４】
＜コントローラユニットの構成＞
以下、コントローラユニットの構成について、画像形成装置であるＭＦＰを例に説明する。図２は、本実施例におけるＭＦＰ（１００や１１０）のコントロールユニット（コントローラ）の一構成例を示すブロック図である。
図２において、コントロールユニット２００は、スキャナ２０１やプリンタエンジン２０２と接続し、画像データの読み取りやプリント出力のための制御を行う。コントロールユニット２００は、図１のコントローラ１０１、１１１に対応する。また、コントロールユニット２００は、ＬＡＮ Ｎ１（例えば図１のＬＡＮ１４０）や公衆回線２０４と接続することで、画像情報やデバイス情報をＬＡＮ Ｎ１経由で入出力するための制御を行う。
【００１５】
スキャナ２０１は画像入力デバイスであり、デバイスＩ／Ｆ２１７と結合され、入力した画像データをコントロールユニット２００に出力する処理を行う。スキャナ２０１は、図１のスキャナ部１０３、１１３に対応する。プリンタエンジン２０２は、画像出力デバイスであり、デバイスＩ／Ｆ２１７と結合され、コントロールユニット２００で生成された描画データを紙に出力する処理を行う。プリンタエンジン２０２は、図１のプリンタ部１０４、１１４に対応する。
【００１６】
コントロールユニット２００において、ＣＰＵ２０５は、ＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。なお、ＨＤＤ２０８は、ＳＳＤ（Solid State Drive）等の他の記憶装置であってもよい。
【００１７】
操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える役割をする。操作部２１０は、図１の操作部１０２、１１２に対応する。
【００１８】
ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ Ｎ１に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２１２は、公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス２１３上に配置されている。
【００１９】
イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５上には、ラスタイメージプロセッサ（ＲＩＰ）２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０、カラーマネージメントモジュール（ＣＭＭ）２３０が接続される。
【００２０】
ラスタイメージプロセッサ（ＲＩＰ）２１６は、ページ記述言語（ＰＤＬデータ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ２１７は、スキャナ２０１やプリンタエンジン２０２とコントロールユニット２００とを接続し、画像データの同期系／非同期系の変換を行う。また、スキャナ画像処理部２１８は、スキャナ２０１から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理部２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。
【００２１】
ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００２２】
＜コントローラソフトウェア構成＞
図３は、ＭＦＰの動作を制御するコントローラソフトウェアの構成を示すブロック図である。
図３において、プリンタインタフェース（プリンタＩ／Ｆ）３００は、外部との入出力のためのものである。プロトコル制御部３０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行うものである。ジョブ制御部３０２は、受信した印刷データに対してＰＤＬ判別部３０３やＰＤＬ解析部３０４の起動処理などを行う。
【００２３】
ＰＤＬ判別部３０３は、ジョブ制御部３０２の指示に従って印刷データを解析し、印刷データに適合するデータ種別を判別する。なお、本実施例では、データ種別として、印刷データに適合するＰＤＬやファイルフォーマットの種別を用いて説明する。ＰＤＬ解析部３０４は、ＰＤＬデータを解析し、画像形成装置がより処理し易い形式のディスプレイリストに変換するものである。ＰＤＬ解析部３０４において生成されたディスプレイリストは、データ描画部３０５に渡されて処理される。データ描画部３０５は、上記ディスプレイリストをビットマップデータに展開するものであり、展開されたビットマップデータはＲＡＭ２０６に逐次描画されて行く。パネル入出力制御部３０６は操作パネルからの入出力を制御するものである。
【００２４】
なお、上記図３の３００〜３０６は、コントロールユニット２００のＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８にコンピュータ読み取り可能に記録されたプログラムを実行することにより、実現されるものである。
【００２５】
＜ＰＤＬ判別部・ＰＤＬ解析部の構造＞
図４は、ＰＤＬ判別部３０３およびＰＤＬ解析部３０４の詳細を示すブロック図である。
ジョブ制御部３０２は、受信データを受け取ると、該受信データの先頭から２５６バイト（以後、受信データの一部）をＰＤＬ判別制御部４００に渡す。ＰＤＬ判別制御部４００は、受信データの一部を受け取ると、予め決められた判別の優先度に従い、優先度が高い順に、ＰＤＬ判別部３０３の判別部４０１〜４１０へ順次に受信データの一部を渡す。
【００２６】
判別部４０１〜４１０は、受け取ったデータがそれぞれのＰＤＬやファイルフォーマットのコマンドの構文や、特徴的な箇所の判別を行い、該受信データがそれぞれのＰＤＬやファイルフォーマットにどの程度一致するかを判別する。そして、該受け取ったデータがそれぞれのＰＤＬやファイルフォーマットに一定程度以上一致する場合に、該受け取ったデータがそれぞれのＰＤＬやファイルフォーマットに適合する旨の判別結果をＰＤＬ判別制御部４００に返す。一方、該受け取ったデータがそれぞれのＰＤＬやファイルフォーマットに一定程度以上一致しない場合には、該受け取ったデータがそれぞれのＰＤＬやファイルフォーマットに適合しない旨の判別結果をＰＤＬ判別制御部４００に返す。
【００２７】
図４に示す例では、ＰＣＬ判別部４０１は、受け取ったデータがＰＣＬに適合するか判別する。ＬＩＰＳ判別部４０２は、受け取ったデータがＬＩＰＳに適合するか判別する。ＥＳＣ／Ｐ判別部４０３は、受け取ったデータがＥＳＣ／Ｐに適合するか判別する。ＨＰ−ＧＬ判別部４０４は、受け取ったデータがＨＰ−ＧＬに適合するか判別する。Ｉ５５７７判別部４０５は、受け取ったデータがＩ５５７７に適合するか判別する。ＰｏｓｔＳｃｒｉｐｔ判別部４０６は、受け取ったデータがＰｏｓｔＳｃｒｉｐｔに適合するか判別する。ＰＤＦ判別部４０７は、受け取ったデータがＰＤＦに適合するか判別する。ＪＰＥＧ判別部４０８は、受け取ったデータがＪＰＥＧに適合するか判別する。ＴＩＦＦ判別部４０９は、受け取ったデータがＴＩＦＦに適合するか判別する。ＸＳＰ判別部４１０は、受け取ったデータがＸＳＰに適合するか判別する。
【００２８】
ＰＤＬ判別制御部４００は、判別部４０１〜４１０からの判別結果を、ジョブ制御部３０２に通知する。なお、ＰＤＬ判別制御部４００は、いずれかの判別部４０１〜４１０で、適合するＰＤＬやファイルフォーマットが判別された場合、全てのＰＤＬやファイルフォーマット判別部での判別を実行していなくても適合したＰＤＬやファイルフォーマットを判別結果として、ジョブ制御部３０２に通知する場合がある。詳細は、後述する図５で説明する。
【００２９】
ジョブ制御部３０２は、ＰＤＬ判別制御部４００から受け取った判別結果に基づいて、ＰＤＬ解析部３０４にある各ＰＤＬやファイルフォーマットの解析部４２１〜４２６の何れかを起動する。なお、ＰＤＬ判別制御部４００から受け取った判別結果で適合すると判別されたＰＤＬやファイルフォーマットに対応するＰＤＬ解析部がＰＤＬ解析部３０４に搭載されていない場合、ジョブ制御部３０２は、前記受信データを読み捨てる。また、ＰＤＬ判別制御部４００からデータのＰＤＬやファイルフォーマットが判別できなかった旨の判別結果を受け取った場合も、ジョブ制御部３０２は、前記受信データを読み捨てる。
【００３０】
図４に示す例では、ＰＤＬ解析部３０４は、解析部４２１〜４２６を搭載する。ＬＩＰＳ解析部４２１は、ＬＩＰＳに適合する受信データを解析する。ＥＳＣ／Ｐ解析部４２２は、ＥＳＣ／Ｐに適合する受信データを解析する。ＨＰ−ＧＬ解析部４２３は、ＨＰ−ＧＬに適合する受信データを解析する。Ｉ５５７７解析部４２４は、Ｉ５５７７に適合する受信データを解析する。ＪＰＥＧ解析部４２５は、ＪＰＥＧに適合する受信データを解析する。ＴＩＦＦ解析部４２６は、ＴＩＦＦに適合する受信データを解析する。
【００３１】
図４に示す例では、ジョブ制御部３０２は、ＰＤＬ判別制御部４００から、ＬＩＰＳ、ＥＳＣ／Ｐ、ＨＰ−ＧＬ、Ｉ５５７７、ＪＰＥＧ、又はＴＩＦＦに適合する旨の判別結果を受け取った場合、判別結果に対応するＰＤＬ解析部（ＬＩＰＳ解析部４２１、ＥＳＣ／Ｐ解析部４２２、ＨＰ−ＧＬ解析部４２３、Ｉ５５７７解析部４２４、ＪＰＥＧ解析部４２５、又はＴＩＦＦ解析部４２６）を起動する。
【００３２】
また、ジョブ制御部３０２は、ＰＤＬ判別制御部４００から、ＬＩＰＳ、ＥＳＣ／Ｐ、ＨＰ−ＧＬ、Ｉ５５７７、ＪＰＥＧ、又はＴＩＦＦ以外のＰＤＬやファイルフォーマットに適合する旨の判別結果、又は、適合するＰＤＬやファイルフォーマットがない旨の判別結果を受け取った場合、前記受信データを読み捨てる。
【００３３】
なお、上述の説明では、上記受信データの一部として、受信データの先頭から２５６バイトを一例に挙げたが、本発明はこれに限定されるものではない。
また、本実施例では、ＰＤＬ判別部３０３の内部に搭載する各判別部４０１〜４１０の１０種類の判別を行うが、本発明においてはこれに限定されるものではない。さらに、ＰＤＬ解析部３０４の内部に搭載する各ＰＤＬやファイルフォーマットの解析部４２１〜４２６の６種類の解析を行うが、本発明においてはこれに限定されるものではない。
【００３４】
＜ＰＤＬ判別部およびデータ描画部について＞
図５は、本実施例におけるＰＤＬ判別及び解析の結果に基づく受信データの処理の一例を示すフローチャートである。この処理は、コントロールユニット２００のＣＰＵ２０５がＲＯＭ２０７又はＨＤＤ２０８にコンピュータ読み取り可能に記録されたプログラムをＲＡＭ２０６にロードし実行することにより実現される。なお、図中、Ｓ５０１〜Ｓ５１６は各ステップを示す。また、ＣＰＵ２０５がプリンタＩ／Ｆ３００より受信した受信データはジョブ制御部３０２に渡され、図５の処理が開始される（Ｓ５０１）。
【００３５】
ジョブ制御部３０２は、Ｓ５０２において、上記受信データの一部を取り出し、ＰＤＬ判別制御部４００に渡し、続くＳ５０３でＰＤＬ判別処理を実行させる。
Ｓ５０３のＰＤＬ判別処理では、ＰＤＬ判別制御部４００は、予め定められた優先度に従い、各判別部４０１〜４１０のうち最も優先度の高いＰＤＬ判別部の１つにＰＤＬ判別処理を実行させる。次に、Ｓ５０４において、ＰＤＬ判別制御部４００は、上記受信データが、上記Ｓ５０３で実行したＰＤＬ判別部によるＰＤＬ判別処理で該ＰＤＬ判別部に対応するＰＤＬやファイルフォーマットに適合したかどうかを判断する。
【００３６】
そして、上記受信データが該ＰＤＬ判別部に対応するＰＤＬやファイルフォーマットに適合しなかったと判断した場合（Ｓ５０４でＮｏの場合）、ＰＤＬ判別制御部４００は、Ｓ５０７において、判別する対象のＰＤＬやファイルフォーマットが残っているかを判断する。
【００３７】
そして、上記Ｓ５０７において、判別する対象のＰＤＬやファイルフォーマットが残っていると判断した場合（Ｓ５０７でＹｅｓの場合）、ＰＤＬ判別制御部４００は、Ｓ５０３に処理を戻し、次のＰＤＬ判別処理を実行するように制御する。
【００３８】
上記Ｓ５０３のＰＤＬ判別処理では、ＰＤＬ判別制御部４００は、各判別部４０１〜４１０のうち、既に実行したＰＤＬ判別部の次に優先度の高いＰＤＬ判別部の１つにＰＤＬ判別処理を実行させる。
【００３９】
また、ＰＤＬ判別制御部４００は、上記Ｓ５０４にて、上記受信データが該ＰＤＬ判別部に対応するＰＤＬやファイルフォーマットに適合したと判断した場合（Ｓ５０４でＹｅｓの場合）、Ｓ５０５に処理を進める。
【００４０】
Ｓ５０５において、ＰＤＬ判別制御部４００は、上記Ｓ５０４で適合したと判断されたＰＤＬやファイルフォーマットに一定の判別実績があり、且つ、上記Ｓ５０３〜Ｓ５０５，Ｓ５０７のループにて適合したＰＤＬやファイルフォーマットが１つであるか否かを判断する。
【００４１】
ここで、上記「判別実績」について説明する。判別実績の一例として、過去にＰＤＬ判別部３０３によって判別されて実際に印刷実行された回数をＰＤＬやファイルフォーマット毎に（データ種別毎に）カウントし、判別実績として保存する方法がある。なお、ＰＤＬ判別部３０３によって印刷データの種別が判別されたが、対応するＰＤＬ解析部が搭載されていいないために、読み捨てられて印刷されなかった回数も判別実績に含めてもよい。通常ユーザ環境においては、いろいろなＰＤＬやファイルフォーマットを印刷することは少ないと想定される。したがって、判別実績は、特定のＰＤＬやファイルフォーマットに偏る傾向が想定される。ある一定の閾値よりも判別実績が多いか少ないかを判断することで、受信データが、通常、ユーザが使用しているＰＤＬやファイルフォーマットかどうか判断できる。なお、上記閾値は、工場出荷時等にＲＯＭ２０７やＨＤＤ２０８等に格納されているものとし、画像形成装置の管理者により変更可能なものとする。なお、受信データが、通常、ユーザが使用しているＰＤＬやファイルフォーマット以外と判断された場合に、その判別が誤判別の可能性が高いと想定できる。なお、上記一定の閾値よりも判別実績が多い場合に、一定の判別実績がある判断する。
【００４２】
そして、上記Ｓ５０５において、該適合したＰＤＬやファイルフォーマットに一定の判別実績がない、又は、上記ループにて適合したＰＤＬやファイルフォーマットが２つ以上あると判断した場合（Ｓ５０５でＮｏの場合）、ＰＤＬ判別制御部４００は、Ｓ５０７に処理を進め、判別する対象のＰＤＬやファイルフォーマットが残っているかを判断する。
【００４３】
一方、上記Ｓ５０５において、ＰＤＬ判別制御部４００が、該適合したＰＤＬやファイルフォーマットに一定の判別実績があり、且つ、上記ループにて適合したＰＤＬやファイルフォーマットが１つと判断した場合（Ｓ５０５でＹｅｓの場合）、Ｓ５０６に進む。この際、ＰＤＬ判別制御部４００は、ＰＤＬ判別結果をジョブ制御部３０２に通知する。
【００４４】
また、上記Ｓ５０７において、ＰＤＬ判別制御部４００が、既に判別する対象のＰＤＬやファイルフォーマットが残っていないと判断した場合（Ｓ５０７でＮｏの場合）、Ｓ５０６に進む。この際、ＰＤＬ判別制御部４００は、ＰＤＬ判別結果をジョブ制御部３０２に通知する。なお、Ｓ５０５の処理は、ジョブ制御部３０２で行ってもよい。
【００４５】
Ｓ５０６において、ジョブ制御部３０２は、ＰＤＬ判別制御部４００からのＰＤＬ判別結果に基づいて、上記受信データが適合したＰＤＬやファイルフォーマットの数を判断する。
【００４６】
そして、上記Ｓ５０６にて、上記受信データが適合したＰＤＬやファイルフォーマットがなかったと判断した場合（Ｓ５０６で「０」の場合）、ジョブ制御部３０２は、Ｓ５０８に処理を進める。Ｓ５０８において、ジョブ制御部３０２は、上記受信データを読み捨てて、本フローチャートの処理を終了する（Ｓ５１６）。この場合、印刷は行われない。
【００４７】
また、上記Ｓ５０６にて、上記受信データが適合したＰＤＬやファイルフォーマットが１つだったと判断した場合（Ｓ５０６で「１」の場合）、ジョブ制御部３０２は、Ｓ５０９に処理を進める。
【００４８】
Ｓ５０９において、ジョブ制御部３０２は、上記受信データが適合したＰＤＬやファイルフォーマットに対応するＰＤＬ解析部が画像形成装置に搭載されているか判断する。そして、上記受信データが適合したＰＤＬやファイルフォーマットに対応するＰＤＬ解析部が画像形成装置に搭載されていいないと判断した場合（Ｓ５０９でＮＯの場合）、ジョブ制御部３０２は、Ｓ５０８に処理をすすめ、上記受信データを読み捨てる。
【００４９】
一方、上記受信データが適合したＰＤＬやファイルフォーマットに対応するＰＤＬ解析部が画像形成装置に搭載されていると判断した場合（Ｓ５０９でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ５１０に処理を進める。Ｓ５１０において、ジョブ制御部３０２は、上記受信データの処理方法を、該適合したＰＤＬやファイルフォーマットに決定し、本フローチャートの処理を終了する（Ｓ５１６）。この場合、適合したＰＤＬやファイルフォーマット対応するＰＤＬ解析部が起動され、印刷が実行される。
【００５０】
また、上記Ｓ５０６にて、上記受信データが適合したＰＤＬやファイルフォーマットが複数つだったと判断した場合（Ｓ５０６で「複数」の場合）、ジョブ制御部３０２は、Ｓ５１１に処理を進める。Ｓ５１１において、ジョブ制御部３０２は、上記適合した複数のＰＤＬやファイルフォーマットのいずれかに一定の判別実績があるかどうかを判断する。
【００５１】
そして、上記５１１にて、いずれかに一定の判別実績があると判断した場合（Ｓ５１１でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ５１２に処理を進める。Ｓ５１２において、ジョブ制御部３０２は、上記受信データの処理方法を、上記適合したＰＤＬやファイルフォーマットのうち、上記一定の判別実績のあるＰＤＬやファイルフォーマットに決定する。例えば、判別実績の最も多いものに決定する。判別実績が同じ場合、優先度の高いものに決定する。そして、本フローチャートの処理を終了する（Ｓ５１６）。この場合、決定されたＰＤＬやファイルフォーマット対応するＰＤＬ解析部が起動され、印刷が実行される。
【００５２】
一方、上記Ｓ５１１にて、適合したＰＤＬやファイルフォーマットいずれにも一定の判別実績がなかったと判断した場合（Ｓ５１１でＮｏの場合）、ジョブ制御部３０２は、Ｓ５１３に処理を進める。
【００５３】
Ｓ５１３にておい、ジョブ制御部３０２は、予め定められたＰＤＬ判別処理の優先度を印刷経路によって動的に変更し、最も優先度の高いＰＤＬやファイルフォーマットに受信データの処理方法を決定する。例えば、ＵＳＢメモリなどからのダイレクト印刷の場合は、ＴＩＦＦ、ＪＰＥＧ、ＰＤＦ等である確率が高いため、ＴＩＦＦ、ＪＰＥＧ、ＰＤＦ等のファイルフォーマットの優先度を上げて、処理方法を決定し、よりＰＤＬ判別処理の確度を上げるようにする。なお、ここでは、対応するＰＤＬ解析部が搭載されているＰＤＬやファイルフォーマットに受信データの処理方法を決定するものとする。
【００５４】
次に、Ｓ５１４において、ジョブ制御部３０２は、上記Ｓ５１３で決定した処理方法に対応するＰＤＬ解析部を起動し、該ＰＤＬ解析部が上記受信データに基づいてディスプレイリストを生成し、該生成されたディスプレイリストの大きさを確認して描画領域が一定の大きさより小さいか否かをジョブ制御部３０２が判断する。例えば、ＰＤＬやファイルフォーマットを誤判別した場合の無駄な印刷は、描画領域が小さく、大量の印刷が発生することを特徴としている。そこで、ジョブ制御部３０２は、ディスプレイリストの大きさを確認して描画領域が一定の大きさより小さい場合、誤判別による無駄な印刷が発生すると判断する。
【００５５】
そして、上記Ｓ５１４にて、ジョブ制御部３０２が、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さいと判断した場合（Ｓ５１４でＹｅｓの場合）、Ｓ５１５に処理を進める。Ｓ５１５において、ジョブ制御部３０２は、上記受信データを読み捨てて、本フローチャートの処理を終了する（Ｓ５１６）。この場合、印刷は実行されないため、ＰＤＬ判別部の誤判別による無駄な紙が出力されない。
【００５６】
一方、上記Ｓ５１４にて、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより大きいと判断した場合（Ｓ５１４でＮｏの場合）、ジョブ制御部３０２は、上記Ｓ５１３で決定した処理方法が正しい判別結果であると判断して、本フローチャートの処理を終了する（Ｓ５１６）。この場合、ＰＤＬ解析部３０４により生成されたディスプレイリストは、データ描画部３０５に渡されて処理され、印刷は実行される。
【００５７】
なお、上記Ｓ５１３では、対応するＰＤＬ解析部が搭載されているＰＤＬやファイルフォーマットに受信データの処理方法を決定するものとしたが、対応するＰＤＬ解析部が搭載されていないＰＤＬやファイルフォーマットを含めて、受信データの処理方法を決定するようにしてもよい。そして、該決定された処理方法に対応するＰＤＬ解析部が画像形成装置に搭載されていない場合、ジョブ制御部３０２は、上記受信データを読み捨てる。
【００５８】
以上示したように、ＰＤＬやファイルフォーマットの種類を判別する判別処理の誤判別を減らすことができる。その結果、ＰＤＬやファイルフォーマットの判別結果が誤判別して、間違ったＰＤＬやファイルフォーマットとして処理されることにより、大量の無駄な紙を印刷し出力してしまう事態の発生を抑えることができる。
【実施例２】
【００５９】
＜誤判別の可能性が高い場合の印刷留め置きフロー＞
上記実施例１では、受信データがどのＰＤＬやファイルフォーマットに適合するかについての判別処理について述べてきた。しかし、ユーザは自分が印刷したいデータのページ数をおおよそ把握していると想定される。そこで、ＰＤＬ判別部３０３で誤判別した可能性が高い場合、操作部２１０に、これから印刷しようとする受信データのページ数を表示し、印刷を続行するか否かをユーザにより選択できるようにする。
【００６０】
図６は、受信データが誤判別した可能性が高い場合の印刷留め置き処理の一例を示すフローチャートである。この処理は、コントロールユニット２００のＣＰＵ２０５がＲＯＭ２０７又はＨＤＤ２０８にコンピュータ読み取り可能に記録されたプログラムをＲＡＭ２０６にロードし実行することにより実現される。なお、図中、Ｓ６０１〜Ｓ６０６は各ステップを示す。誤判別の可能性が高い場合の印刷留め置きフローは、図５のＳ５１４とＳ５１５に置き変わるものであり、Ｓ６０１で開始される。
【００６１】
Ｓ６０２において、ＰＤＬ解析部３０４が上記受信データに基づいてディスプレイリストを生成し、該生成されたディスプレイリストの大きさを確認して描画領域が一定の大きさより小さいか否かをジョブ制御部３０２が判断する。例えば、誤判別による印刷は描画領域にごく少量の文字が印刷され、大量の紙を印刷することを特徴としており、描画領域が一定の大きさより小さい場合には誤判別による無駄な印刷が行われる可能性が高い。そこで、ジョブ制御部３０２は、Ｓ６０２でディスプレイリストの大きさを確認して描画領域が一定の大きさより小さいかを判断する。
【００６２】
そして、上記Ｓ６０２にて、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さくないと判断した場合（Ｓ６０２でＮｏの場合）、ジョブ制御部３０２は、正しい判別結果であると判断して、本フローチャートの処理を終了し（Ｓ６０６）、図５のＳ５１６の処理に進める。この場合、ＰＤＬ解析部３０４により生成されたディスプレイリストは、データ描画部３０５に渡されて処理され、印刷は実行される。
【００６３】
一方、上記Ｓ６０２にて、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さいと判断した場合（Ｓ６０２でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ６０３に処理を進める。
【００６４】
Ｓ６０３において、ジョブ制御部３０２は、操作部２１０に対して印刷ページ数の予測を通知し（ユーザに提示し）、印刷を続行するか否かの選択肢を表示し、操作部２１０から印刷を続行するか否かのユーザ選択を受け付ける。そして、ユーザからの選択を受け付けると、ジョブ制御部３０２は、Ｓ６０４において、該選択に基づいて印刷を続行するかどうかを判断する。
【００６５】
そして、上記Ｓ６０４において、印刷を続行しないと判断した場合（Ｓ６０４でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ６０５において、上記受信データを読み捨て印刷をしないように処理を変更し、本フローチャートの処理を終了し（Ｓ６０６）、図５のＳ５１６に処理を進める。この場合、印刷は実行されないため、ＰＤＬ判別部の誤判別による無駄な紙が出力されない。
【００６６】
一方、上記Ｓ６０４において、印刷を続行すると判断した場合（Ｓ６０４でＮｏの場合）、ジョブ制御部３０２は、本フローチャートの処理を終了し（Ｓ６０６）、図５のＳ５１６に処理を進める。この場合、ＰＤＬ解析部３０４により生成されたディスプレイリストは、データ描画部３０５に渡されて処理され、印刷は実行される。
【００６７】
なお、Ｓ６０３でユーザ選択を受け付ける画面に１ページ目のみを印刷するためのボタンを設け、１ページのみを印刷した後に、該印刷結果を参照して、ユーザ選択可能となるように構成してもよい。
【００６８】
以上示したように、ＰＤＬ判別部３０３により判別されたデータ種別に一定の実績がなく、且つ、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さい場合には、ページ数の予測を表示するとともに、ユーザ選択により印刷データの処理を続行するか中止するかを決定することにより、ＰＤＬやファイルフォーマットの種類を判別する判別処理の誤判別を減らすことができる。
【実施例３】
【００６９】
＜誤判別の可能性が高い場合の印刷経路による処理変更フロー＞
実施例３では、受信データが誤判別した可能性が高い場合に、受信データの印刷経路による処理の変更について説明する。実施例３では、印刷経路がサーバ等のように外部からの印刷の場合、データ欠損の可能性を鑑みて、受信データを読み捨て印刷をしないように処理を変更する。
【００７０】
図７は、誤判別の可能性が高い場合の印刷経路による処理変更の一例を示すフローチャートである。この処理は、コントロールユニット２００のＣＰＵ２０５がＲＯＭ２０７又はＨＤＤ２０８にコンピュータ読み取り可能に記録されたプログラムをＲＡＭ２０６にロードし実行することにより実現される。なお、図中、Ｓ７０１〜Ｓ７０５は各ステップを示す。誤判別の可能性が高い場合の印刷経路による処理変更のフローは、図５のＳ５１４とＳ５１５に置き変わるものであり、Ｓ７０１で開始される。
【００７１】
Ｓ７０２において、ＰＤＬ解析部３０４が上記受信データに基づいてディスプレイリストを生成し、該生成されたディスプレイリストの大きさを確認して描画領域が一定の大きさより小さいか否かをジョブ制御部３０２が判断する。前述の通り、誤判別による印刷は描画領域にごく少量の文字が印刷され、大量の紙を印刷することを特徴としており、描画領域が一定の大きさより小さい場合には誤判別による無駄な印刷が行われる可能性が高い。そこで、ジョブ制御部３０２は、Ｓ７０２でディスプレイリストの大きさを確認して描画領域が一定の大きさより小さいかを判断する。
【００７２】
そして、上記Ｓ７０２にて、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さくないと判断した場合（Ｓ７０２でＮｏの場合）、ジョブ制御部３０２は、正しい判別結果であると判断して、本フローチャートの処理を終了し（Ｓ７０５）、図５のＳ５１６の処理に進める。この場合、ＰＤＬ解析部３０４により生成されたディスプレイリストは、データ描画部３０５に渡されて処理され、印刷は実行される。
【００７３】
一方、上記Ｓ７０２にて、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さいと判断した場合（Ｓ７０２でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ７０３に処理を進める。
【００７４】
Ｓ７０３において、ジョブ制御部３０２は、プロトコル制御部３０１に対して印刷経路がファイアウォールを通したサーバからかどうかの情報を取得して印刷経路を判断する。
【００７５】
そして、ファイアウォールを通したサーバからの印刷（クラウドからの印刷）であると判断した場合（Ｓ７０３でＹｅｓの場合）、ジョブ制御部３０２は、Ｓ７０４に処理を進める。Ｓ７０４において、ジョブ制御部３０２は、印刷経路がサーバ等のように外部からの印刷の場合、データ欠損の可能性を鑑みて、上記受信データを読み捨て印刷をしないように処理を変更し、本フローチャートの処理を終了し（Ｓ７０５）、Ｓ５１６に処理を進める。この場合、印刷は実行されないため、ＰＤＬ判別部の誤判別による無駄な紙が出力されない。
【００７６】
一方、ファイアウォールを通したサーバからの印刷（クラウドからの印刷）でないと判断した場合（Ｓ７０３でＮｏの場合）、ジョブ制御部３０２は、本フローチャートの処理を終了し（Ｓ７０５）、Ｓ５１６に処理を進める。この場合、ＰＤＬ解析部３０４により生成されたディスプレイリストは、データ描画部３０５に渡されて処理され、印刷は実行される。
【００７７】
以上示したように、ＰＤＬ判別部３０３により判別されたデータ種別に一定の実績がなく、且つ、ＰＤＬ解析部３０４により生成されたディスプレイリストの描画領域が一定の大きさより小さい場合には、印刷データの受信経路に従って印刷データの処理を続行するか中止するかを決定することにより、印刷経路がサーバ等のように外部からの印刷の場合のデータ欠損によるデータ種別の誤判別を減らすことができる。
【００７８】
以上、本発明によれば、受信した印刷データの種別が誤判別されて処理されることにより大量に無駄な印刷出力を行ってしまう事態の発生を抑えることができる。
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ＰＣ、複写機、複合機及びファクシミリ装置の如くである。
【００７９】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００８０】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８２】
１００，１１０    画像形成装置
３０２    ジョブ制御部
３０３    ＰＤＬ判別制御部
【図１】
2014156047.tif 000003
【図２】
2014156047.tif 000004
【図３】
2014156047.tif 000005
【図４】
2014156047.tif 000006
【図５】
2014156047.tif 000007
【図６】
2014156047.tif 000008
【図７】
2014156047.tif 000009