(57)【要約】【課題】  印刷装置が、受信した印刷データのフォーマットすら特定することができない場合、他の装置にフォーマットの変換を依頼することができない。その結果、印刷装置が印刷処理を実行できなくなるおそれがあった。【解決手段】  印刷データのフォーマットの特定方法を示す特定情報を取得し、取得された特定情報に締めされる特定方法に基づいて印刷データのフォーマットを特定し、特定されたフォーマットの印刷データを自ら処理できるか否かを判定し、印刷データを自ら処理できると判定された場合、印刷データに基づく印刷処理を実行し、印刷データを自ら処理できないと判定した場合、印刷データの変換要求を外部装置へ送信する。【選択図】  図１
2014237292.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信可能な画像処理装置であって、
前記画像処理装置が起動した後に印刷データのフォーマットの特定方法を示す特定情報を取得する取得手段と、
印刷データを受信する受信手段と、
前記取得された特定情報に示される前記特定方法に基づいて前記受信された印刷データのフォーマットを特定する特定手段と、
前記特定されたフォーマットの印刷データを自ら処理できるか否かを判定する第１判定手段と、
前記印刷データを自ら処理できると判定された場合、前記印刷データに基づく印刷処理を実行し、前記印刷データを自ら処理できないと判定した場合、前記印刷データの変換要求を外部装置へ送信する印刷制御手段を有することを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記特定情報を前記外部装置から取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記印刷データの変換要求には変換後のフォーマットが指定されていることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記特定手段は、前記印刷データの拡張し、または、前記印刷データから特定の検索キーを検出することで、前記印刷データのフォーマットを特定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１判定手段が、前記画像処理装置および前記外部装置の両者が前記印刷データを処理できると判定した場合、前記外部装置の処理性能が前記画像処理装置の処理性能よりも高いか否かを判定する第２判定手段を有し、
前記第２判定手段が、前記外部装置の処理性能が前記画像処理装置の処理性能よりも高いと判定した場合、前記印刷制御手段は、前記印刷データを前記外部装置に送信することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
外部装置と通信可能な画像処理装置において実行される制御方法であって、
前記画像処理装置が起動した後に印刷データのフォーマットの特定方法を示す特定情報を取得する取得工程と、
印刷データを受信する受信工程と、
前記取得された特定情報に示される前記特定方法に基づいて前記受信された印刷データのフォーマットを特定する特定工程と、
前記特定されたフォーマットの印刷データを自ら処理できるか否かを判定する第１判定工程と、
前記印刷データを自ら処理できると判定された場合、前記印刷データに基づく印刷処理を実行し、前記印刷データを自ら処理できないと判定した場合、前記印刷データの変換要求を外部装置へ送信する印刷制御工程を有することを特徴とする制御方法。
【請求項７】
外部装置と通信可能な画像処理装置に、
前記画像処理装置が起動した後に印刷データのフォーマットの特定方法を示す特定情報を取得する取得工程と、
印刷データを受信する受信工程と、
前記取得された特定情報に示される前記特定方法に基づいて前記受信された印刷データのフォーマットを特定する特定工程と、
前記特定されたフォーマットの印刷データを自ら処理できるか否かを判定する第１判定工程と、
前記印刷データを自ら処理できると判定された場合、前記印刷データに基づく印刷処理を実行し、前記印刷データを自ら処理できないと判定した場合、前記印刷データの変換要求を外部装置へ送信する印刷制御工程を実行させるためのプログラム。
【請求項８】
前記取得工程は、前記外部装置から前記特定情報を取得することを特徴とする請求項７に記載のプログラム。
【請求項９】
前記印刷データの変換要求には変換後のフォーマットが指定されていることを特徴とする請求項７または８に記載のプログラム。
【請求項１０】
前記特定工程は、前記印刷データの拡張し、または、前記印刷データから特定の検索キーを検出することで、前記印刷データのフォーマットを特定することを特徴とする請求項７乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記第１判定工程が、前記画像処理装置および前記外部装置の両者が前記印刷データを処理できると判定した場合、前記外部装置の処理性能が前記画像処理装置の処理性能よりも高いか否かを判定する第２判定工程を有し、
前記第２判定工程が、前記外部装置の処理性能が前記画像処理装置の処理性能よりも高いと判定した場合、前記印刷制御工程は、前記印刷データを前記外部装置に送信することを特徴とする請求項７乃至１０いずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、制御方法、プログラムに関する。
【背景技術】
【０００２】
印刷装置は、受信した印刷データに基づいて印刷処理を実行する。一方、特許文献１の印刷装置は、印刷処理を実行できないフォーマットの印刷データを受信した場合、印刷処理を実行できないフォーマットの印刷データを他の装置に送信してフォーマットの変換を依頼する。そして、他の装置は、受信した印刷データを、印刷装置が印刷処理を実行可能なフォーマットの印刷データに変換して印刷装置に返却する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１７５２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、印刷装置が、印刷処理を実行できないフォーマットの印刷データを他の装置に送信してフォーマットの変換を依頼する際、印刷データのフォーマットを特定し、特定されたフォーマットの印刷データを変換可能な他の装置を検索する。しかしながら、印刷装置が、受信した印刷データのフォーマットを特定できない場合、特許文献１の技術では、他の装置にフォーマットの変換を依頼することができない。その結果、特許文献１の技術では、印刷装置が印刷処理を実行できなくなるおそれがあった。
【課題を解決するための手段】
【０００５】
上述した問題を解決するために本願発明は、印刷データのフォーマットの特定方法を示す特定情報を取得する取得手段と、印刷データを受信する受信手段と、前記取得された特定情報に示される前記特定方法に基づいて前記受信された印刷データのフォーマットを特定する特定手段と、前記特定されたフォーマットの印刷データを自ら処理できるか否かを判定する判定手段と、前記印刷データを自ら処理できると判定された場合、前記印刷データに基づく印刷処理を実行し、前記印刷データを自ら処理できないと判定した場合、前記印刷データの変換要求を外部装置へ送信する印刷制御手段を有する。
【発明の効果】
【０００６】
本発明によれば、受信した印刷データのフォーマットを特定することが可能となり、印刷装置が印刷処理を実行可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の機能モジュール構成を示す図
【図２】印刷装置とサーバのハードウェア構成を示す図
【図３】印刷システムにおいて処理する印刷データの一例を示す図
【図４】印刷装置がフォーマット特定情報を取得するフローチャートを示す図
【図５】図４のＳ１００５の更新処理を説明するフローを示す図
【図６】フォーマット特定情報とフォーマット特定テーブルの一例を示す図
【図７】印刷装置の印刷処理のフローを示す図
【図８】図７のＳ１２０３のフォーマット特定処理のフローを示す図
【図９】図７のＳ１２１０のフォーマット特定処理のフローを示す図
【図１０】図９のＳ１４０５のフォーマット特定処理のフローを示す図
【図１１】サーバの印刷データ変換処理のフローを示す図
【図１２】サーバ１０３へ送信される変換要求のデータの一例を示す図
【図１３】図４のＳ１００５の更新処理のフローを示す図
【図１４】フォーマット特定情報とフォーマット特定テーブルの一例を示す図
【図１５】図４のＳ１００５の更新処理のフローを示す図
【図１６】図７のＳ１２１０のフォーマット特定処理のフローを示す図
【図１７】フォーマット特定情報とフォーマット特定テーブルの一例を示す図
【発明を実施するための形態】
【０００８】
＜印刷システムの機能構成＞
図１は、本発明のシステム構成図を示している。
【０００９】
ホストコンピュータ１０１は、ユーザの印刷指示に従いネットワーク１０４を介し、印刷装置１０２に印刷データの送信を行う。印刷装置（画像処理装置とも呼ぶ）１０２は、ネットワーク１０４を介して送信された印刷データまたはＵＳＢ等のリムーバブルメディアから取得した印刷データを印刷装置内で処理する。また、印刷装置１０２は、受信した印刷データを自ら処理できない場合、ネットワーク１０４を介して外部装置に印刷データを送信する。なお、本願では、印刷データの送信先である外部装置の一例としてサーバ１０３を記載したが、このサーバ１０３はクラウド上に配置されていても良い。また、サーバ１０３の代わりに他の印刷装置に印刷データを送信しても構わない。なお、本願では画像処理装置の一例として印刷装置を挙げて説明するが、画像処理装置は、印刷機能およびスキャナ機能等の複数の機能を備える複合機であっても良い。
【００１０】
サーバ１０３は、印刷装置１０２から送信された印刷データを印刷装置１０２で処理できるフォーマットの印刷データに変換し、ネットワーク１０４を介して変換後の印刷データを印刷装置１０２に送信する。そして、印刷装置１０２は、サーバにより変換された変換後の印刷データを印刷する。
【００１１】
また、印刷装置１０２は、電源投入時やスリープ復帰時にサーバ１０３にアクセスし、サーバ１０３が処理可能（変換可能）なデータフォーマットの情報を取得する。
【００１２】
次に、印刷装置１０２の詳細な機能モジュール構成を説明する。ネットワーク処理部２０１は、ネットワーク１０４を介して送信された印刷データをデータスプール２０８に格納する。また、ネットワーク処理部２０１は、データスプール２０８に格納された印刷データをサーバ１０３へ送信したり、サーバ１０３により変換された変換後の印刷データをデータスプール２０８に格納したりする。さらに、ネットワーク処理部２０１は、サーバ１０３からフォーマット特定情報３０６を取得し、フォーマット特定テーブル管理部２０２に格納する。
【００１３】
フォーマット特定テーブル管理部２０２は、フォーマット特定テーブル２０９を管理するとともに、ネットワーク処理部２０１を介してサーバ１０３から取得したフォーマット特定情報をフォーマット特定テーブル２０９に反映する。フォーマット特定テーブル２０９は、印刷装置１０２で処理可能なフォーマットの特定情報と、サーバ１０３から取得したフォーマット特定情報が含まれる。
【００１４】
フォーマット特定処理部２０３は、データスプール２０８に格納された印刷データのフォーマットを特定する。また、フォーマット特定処理部２０３は、フォーマットが特定された印刷データを解析処理部２０４で処理するか、サーバ１０３にフォーマットの変換処理を依頼するかを決定する。サーバ１０３にフォーマットの変換処理を依頼する必要がない場合、フォーマット特定処理部２０３は、データスプール２０８に格納された印刷データを解析処理部２０４に渡す。一方、サーバ１０３にフォーマットの変換処理を依頼する場合、フォーマット特定処理部２０３は、ネットワーク処理部２０１を介して印刷データをサーバ１０３に送信し、サーバ１０３から受信した変換後の印刷データを解析処理部２０４に渡す。
【００１５】
解析処理部２０４は、フォーマット特定処理部２０３から渡された印刷データをフォーマットに従って解析し、展開処理部２０５に渡す。展開処理部２０５は、解析処理部２０４で解析された印刷データから画像データ（例えば、ビットマップイメージ）を生成し、画像データスプール２０７に格納する。印刷処理部２０６は、画像データスプール２０７に格納された画像データを印刷する。なお、これらの機能モジュールを総称して印刷制御部２００と呼ぶ。なお、印刷制御部２００は、必ずしも図１に示されたモジュール２０１〜２０９を備える必要がなく、本願の課題を解決するために必要なモジュールを備えていれば良い。
【００１６】
次に、サーバ１０３の詳細な機能モジュール構成を説明する。ネットワーク処理部３０１は、ネットワーク１０４を介して送信された印刷データをデータスプール３０５に格納する。
【００１７】
解析処理部３０２は、送信された印刷データのフォーマットに従って印刷データを解析し、データ変換部３０３に渡す。データ変換部３０３は、解析処理部３０２で解析されたデータを所定のフォーマットの印刷データに変換し、データスプール３０５に格納する。ネットワーク処理部３０１は、データスプール３０５に格納された変換後の印刷データを印刷装置１０２へ送信することを指示する。なお、上述した所定のフォーマットとは、印刷装置１０２が印刷処理を実行可能なフォーマットである。
【００１８】
フォーマット特定情報管理部３０４は、サーバ１０３で処理可能なフォーマットの特定情報３０６を管理し、印刷装置１０２からの要求に従ってフォーマット特定情報３０６を印刷装置１０２に送信する。
【００１９】
＜ハードウェア構成＞
図２は、本発明の印刷装置１０２とサーバ１０３のハードウェア構成である。
【００２０】
印刷装置１０２は、ＲＯＭ４０１、ＲＡＭ４０２、ＣＰＵ４０３、ＨＤＤ４０４、ネットワークＩ／Ｆ４０５、エンジンＩ／Ｆ４０６、プリンタエンジン４０７から構成される。
【００２１】
ＲＯＭ４０１は、不揮発性メモリであり、印刷装置１０２の各処理部２０１〜２０６のプログラムが格納される。ＲＡＭ４０２は、揮発性メモリであり、電源投入時にＲＯＭ４０１に格納された各処理部２０１〜２０６のプログラムが展開される。
【００２２】
フォーマット特定テーブル２０９は、ＲＯＭ４０１に格納されており、電源投入時またはスリープ復帰時にＲＡＭ４０２に展開される。ＣＰＵ４０３は、ＲＡＭ４０２に展開された各処理部２０１〜２０６のプログラムを実行する演算プロセッサである。
【００２３】
ＨＤＤ４０４は、大量の情報を格納可能な記憶装置であり、データスプール２０８、画像データスプール２０７の記憶領域になる。エンジンＩ／Ｆ４０６は、印刷処理部２０６の制御で、画像データスプール２０７の画像データをビデオデータに変換し、プリンタエンジン４０７に出力する。プリンタエンジン４０７は、不図示の印刷プロセスでビデオデータをもとに用紙に印刷する。ネットワークＩ／Ｆ４０５は、ホストコンピュータ１０１、サーバ１０３とネットワーク１０４を介して通信を行う。
【００２４】
なお、本願において印刷装置１０２が実行するフローチャートの各ステップは、ＣＰＵ４０３が、メモリからフローチャートの処理に関係するプログラムを読み出して実行することで実現される。
【００２５】
サーバ１０３は、ＲＡＭ５０１、ＣＰＵ５０２、ＨＤＤ５０３、ネットワークＩ／Ｆ５０４から構成される。ＲＡＭ５０１は、揮発性メモリであり、電源投入時にＨＤＤ５０３に格納された各処理部３０１〜３０４のプログラムが展開される。
【００２６】
ＣＰＵ５０２は、ＲＡＭ５０１に展開された各処理部３０１〜３０４のプログラムを実行する演算プロセッサである。ＨＤＤ５０３は、大量の情報を格納可能な記憶装置であり、各処理部３０１〜３０４のプログラムが格納され、また、データスプール３０５の記憶領域になる。ネットワークＩ／Ｆ５０４は、印刷装置１０２とネットワーク１０４を介してデータや情報の送受信を行う入出力インターフェースである。
【００２７】
なお、本願においてサーバ１０３が実行するフローチャートの各ステップは、ＣＰＵ５０２が、メモリからフローチャートの処理に関係するプログラムを読み出して実行することで実現される。
【００２８】
＜印刷データの一例＞
図３は、本発明の印刷システムにおいて処理する印刷データの一例である。
【００２９】
印刷データ６０１は、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）データであり、Ｈｅａｄｅｒ、Ｂｏｄｙ、Ｃｒｏｓｓ−ｒｅｆｅｒｅｎｃｅ  ｔａｂｌｅから構成される。テキスト６０２は、Ｈｅａｄｅｒの先頭に記述され、ＰＤＦデータであることを示している。
【００３０】
印刷データ７０１は、電子書籍フォーマットであり、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された複数のファイルをＺＩＰ圧縮したデータである。シグネチャ７０２は、電子書籍フォーマットのデータの先頭にあるＺＩＰヘッダのシグネチャであり、ＺＩＰ圧縮型式であることを示している。バイト列７０３は、ＺＩＰヘッダの直後にあるファイル名（“ｍｉｍｅｔｙｐｅ”）とファイル内のテキスト“ａｐｐｌｉｃａｔｉｏｎ／ｅｐｕｂ＋ｚｉｐ”のバイト列であり、電子書籍フォーマットのデータであることを示している。
【００３１】
フォーマット特定処理部２０３は、これらの文字列やバイト列を検出することによりフォーマットを特定することができる。一例として挙げた印刷データ以外にも様々なフォーマットの印刷データがあり、データ内のコマンドを検索して特定する必要があるフォーマット（例えば、Ｎ２０１やＥＳＣ／Ｐなど）も存在する。
【００３２】
＜フォーマット特定情報取得処理＞
図４は、印刷装置１０２のフォーマット特定テーブル管理部２０２がサーバ１０３からフォーマット特定情報３０６を取得するフローである。
【００３３】
印刷装置１０２は、印刷装置１０２が起動された時、または、スリープから復帰した時に、サーバ接続設定が有効か否かを参照する（Ｓ１００１）。
【００３４】
サーバとの接続設定が有効であると判定された場合、印刷装置１０２は、ネットワーク処理部２０１を介してネットワーク１０４に接続されたサーバ１０３の起動状況を確認する（Ｓ１００２）。サーバ１０３が起動している場合、サーバ１０３は、印刷装置１０２に応答メッセージを送信する（Ｓ１００６）。
【００３５】
印刷装置１０２は、サーバ１０３からの応答メッセージを受け取る（Ｓ１００３）と、サーバ１０３にフォーマット特定情報３０６の取得依頼を要求する（Ｓ１００４）。
【００３６】
サーバ１０３は、印刷装置１０２からの取得依頼の要求に対し、フォーマット特定情報３０６を印刷装置１０２に送信する（Ｓ１００７）。
【００３７】
印刷装置１０２は、サーバ１０３からフォーマット特定情報３０６を受け取ると、フォーマット特定テーブル２０９を更新する（Ｓ１００５）。このように印刷装置１０２は、起動する度（または、スリープから復帰する度）に、フォーマット特定情報を取得することで、適切なフォーマットの特定方法を認識できる。
【００３８】
図６（ａ）は、サーバ１０３から取得するフォーマット特定情報３０６である。
【００３９】
フォーマット特定情報３０６は、フォーマット数８０１から検索キー８０８により構成される。
【００４０】
フォーマット数８０１は、サーバ１０３の解析処理部３０２で処理可能なフォーマットの数である。フォーマット特定情報３０６には、フォーマット数８０１に指定された数の８０２〜８０８が含まれる。
【００４１】
フォーマット名８０２は、フォーマットの名称であり、ファイル拡張子８０３は、フォーマットのファイル拡張子である。ファイル拡張子は、ファイル形式の印刷データの拡張子からフォーマットを特定するために用いられる。
【００４２】
検索キー数８０４は、印刷データを検索する検索キーの数である。８０６〜８０８は、検索キー数８０４の数だけ含まれる。検索優先度８０５は、検索の優先度であり、印刷装置１０２のフォーマット特定処理部２０３は、各フォーマットの検索優先度に基づいて検索の順番を決定する。検索オフセット８０６は、印刷データの先頭から何バイト目から検索を行うかを示す。
【００４３】
検索サイズ８０７は、検索キー８０８のサイズである。検索キー８０８は、印刷データ内を検索するための検索キーである。印刷装置１０２のフォーマット特定処理部２０３は、全ての検索キーに適合した場合にフォーマットを特定することができる。つまり、印刷装置１０２は、フォーマットの特定方法が記載されたフォーマット特定情報を取得することで、印刷データの印刷処理を実行できないとしても、印刷データのフォーマットを特定することが可能となる。
【００４４】
サーバ１０３の解析処理部３０２のプログラムが拡張され、処理可能なフォーマットが追加された場合、フォーマット特定情報管理部３０４は、フォーマット特定情報３０６を更新する。つまり、新規に追加されたフォーマットの特定方法がフォーマット特定情報３０６に追加される。
【００４５】
印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報３０６を用いてフォーマット特定テーブル２０９を更新することで、新規のフォーマットであっても特定方法を認識することができ、印刷データのフォーマットを特定できる。
【００４６】
図６（ｂ）は、フォーマット特定情報３０６の一例である。図６（ｂ）において処理可能なフォーマットはＰＤＦと電子書籍フォーマットであるため、フォーマット数として２が記述されている。
【００４７】
印刷装置１０２は図６（ｂ）を参照することで、ＰＤＦデータ６０１は、先頭４バイトで特定することができ、ＰＤＦのフォーマット特定情報３０６は、検索キー数１、検索オフセット０、検索サイズ４、検索キーは“％ＰＤＦ”と認識できる。処理対象の印刷データがこれらの条件に一致した場合、印刷装置１０２は、処理対象の印刷データのフォーマットがＰＤＦであると認識できる。
【００４８】
一方、電子書籍フォーマットのデータ７０１は、先頭４バイトとヘッダ後の２４バイトで特定することができる。電子書籍フォーマットのフォーマット特定情報３０６は、検索キー数２、検索オフセット０、検索サイズ４、検索キーは“０ｘ５０  ０ｘ４Ｂ  ０ｘ０３  ０ｘ０４”となる。また、検索オフセット−１（不定）、検索サイズ２４、検索キーは“ｍｉｍｅｔｙｐｅａｐｐｌｉｃａｔｉｏｎ／ｅｐｕｂ”となる。処理対象の印刷データがこれらの条件に一致した場合、印刷装置１０２は、処理対象の印刷データのフォーマットが電子書籍フォーマットであると認識できる。
【００４９】
本願によれば、例えば、電子書籍フォーマットのデータのフォーマットを特定できない印刷装置１０２が、フォーマット特定情報３０６を使ってフォーマット特定テーブルを更新する。その結果、印刷装置１０２は、電子書籍フォーマットのデータを受信した場合に適切に印刷データのフォーマットを特定できる。
【００５０】
＜フォーマット特定テーブル更新＞
図５は、図４のＳ１００５において実行される処理である。具体的には、印刷装置１０２が、更新前のフォーマット特定テーブル２０９を、サーバ１０３から受信したフォーマット特定情報３０６を使って更新する処理である。
【００５１】
印刷装置１０２は、フォーマット特定テーブル２０９のフォーマット数をＦに代入し（Ｓ１１０１）、フォーマットカウンタＡｃを初期化する（Ｓ１１０２）。そして、印刷装置１０２は、Ｓ１００４でサーバ１０３から取得したフォーマット特定情報３０６のフォーマット数をＡに代入する（Ｓ１１０３）。
【００５２】
印刷装置１０２は、フォーマットカウンタＡｃとフォーマット特定情報３０６のフォーマット数Ａを比較し（Ｓ１１０４）、フォーマットカウンタＡｃが超えるまでＳ１１０４〜Ｓ１１１２を繰り返し実行する。
【００５３】
印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報３０６のＡｃ番目の検索優先度をＰａに代入し（Ｓ１１０５）、カウンタＦｃを初期化する（Ｓ１１０６）。  印刷装置１０２は、カウンタＦｃとフォーマット数Ｆを比較し（Ｓ１１０７）、カウンタＦｃがフォーマット数Ｆ以下の場合、フォーマット特定テーブル２０９のＦｃ番目の検索優先度をＰに代入し（Ｓ１１０８）、ＰａとＰを比較する（Ｓ１１０９）。
【００５４】
ＰａがＰと同等以下の場合、印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報３０６のＡｃ番目の情報をフォーマット特定テーブル２０９のＦｃ番目に追加（Ｓ１１１０）する。印刷装置１０２は、フォーマットカウンタＡｃをインクリメントし（Ｓ１１１１）、Ｓ１１０４に戻る。
【００５５】
一方、Ｐａの方が大きい場合、印刷装置１０２は、カウンタＦｃをインクリメントし（Ｓ１１１２）、Ｓ１１０７に戻る。Ｓ１１０７で、カウンタＦｃがフォーマット数Ｆを超えた場合、印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報のＡｃ番目の情報をフォーマット特定テーブル２０９の最後に追加する。
【００５６】
以上の処理により検索優先度順に並んだフォーマット特定テーブル２０９が生成される。
【００５７】
図６（ｃ）は、印刷装置１０２が管理するフォーマット特定テーブル２０９である。
【００５８】
フォーマット特定テーブル２０９は、フォーマット数９０１から検索情報アドレス９０７と検索情報で構成される。検索情報は、検索キー数９０８から検索キー９１１で構成される。
【００５９】
フォーマット数９０１は、印刷装置１０２とサーバ１０３で処理可能なフォーマットの数である。９０２〜９１１はフォーマット数９０１の数だけ含まれる。
【００６０】
関数アドレス９０３は、フォーマット特定処理部２０３内の各フォーマットを特定する関数のアドレスである。ファイル拡張子９０４は、フォーマットのファイル拡張子であり、ファイル形式の印刷データの拡張子からフォーマットを特定する場合に用いられる。
【００６１】
検索優先度９０５は、印刷装置１０２が検索する順番を決定するために利用される。
【００６２】
処理フラグ９０６は、印刷装置１０２、サーバ１０３のどちらで処理を行うかを示す。      
【００６３】
検索情報アドレス９０７は、フォーマットを特定するための検索情報のアドレスである。
【００６４】
検索キー数９０８は、印刷データを検索する際に使用される検索キーの数である。９０９〜９１１は、検索キー数９０８の数だけ含まれる。なお、検索キー数９０８から検索キー９１１の情報は、上述した検索キー数８０４、検索オフセット８０６から検索キー８０８と同じであるため説明は省略する。
【００６５】
図６（ｄ）は、本実施例の更新前のフォーマット特定テーブル２０９の一例である。サーバ１０３で処理可能なフォーマットは含まれていない。ＰＳ、ＬＩＰＳの印刷データは先頭データで特定できるフォーマットであるため、検索優先度９０５には０が設定され、Ｎ２０１の印刷データはコマンド解析が必要なため２が設定される。その結果、印刷データがＰＳフォーマットであるのかＬＩＰＳフォーマットであるのかの特定処理が、Ｎ２０１より優先して行われる。
【００６６】
印刷装置内で処理できるフォーマットはあらかじめ解析処理部２０４内に各フォーマットの特定関数があり、関数アドレス９０３にそれぞれの関数が設定される。
【００６７】
図６（ｅ）は、本実施例の図５の更新処理後のフォーマット特定テーブル２０９の一例である。
印刷装置１０２は、サーバ１０３より図６（ｂ）のフォーマット特定情報を取得し、図５の処理を実行することで図６（ｄ）が図６（ｅ）に更新される。
【００６８】
フォーマット特定処理部２０３は、ＰＤＦ、ＰＳ、ＬＩＰＳ、電子書籍フォーマット、Ｎ２０１の順に印刷データのフォーマットの特定処理を行う。
【００６９】
＜印刷処理＞
図７は、印刷装置１０２で実行される印刷処理のフローである。
【００７０】
印刷装置１０２は、ホストコンピュータ１０１から印刷データを受信するか、リムーバブルメディアから印刷データを取得しユーザインターフェースからの印刷指示を受ける（Ｓ１２０１）。印刷装置１０２は、受信された印刷データがファイル形式であるかストリーム形式であるかを判定する（Ｓ１２０２）。具体的には、印刷装置１０２のネットワーク処理部２０１には、プリンタドライバが生成した印刷データを受信するストリームデータ受信部と、プリンタドライバ以外のソフトにより生成された印刷データを受信するファイルデータ受信部がある。どちらの受信部が印刷データを受信したかによりＳ１２０２の判定が実行される。
【００７１】
印刷データがファイル形式であった場合、印刷装置１０２は、ファイルのフォーマットを特定するフォーマット特定処理（詳細は図８にて後述）を行う（Ｓ１２０３）。
【００７２】
Ｓ１２０３により印刷データのフォーマットが特定され（Ｓ１２０４）、かつ、印刷データがサーバ１０３で処理されるべきフォーマットである場合（Ｓ１２１２−Ｙｅｓ）、印刷装置１０２は、処理情報が記述されたジョブチケットを生成する（Ｓ１２１３）。なお、処理情報とは、図１２で後述する変換前の入力フォーマット、出力フォーマットを指す。
【００７３】
そして、印刷装置１０２は、Ｓ１２１３において生成したジョブチケットと印刷データを変換要求のデータとしてサーバ１０３へ送信する（Ｓ１２１４）。図１２は、Ｓ１２１４において印刷装置１０２からサーバ１０３へ送信される変換要求のデータの一例である。サーバ１０３へ送信されるデータ１００１は、入力フォーマット１００２と出力フォーマット１００３が記述されたジョブチケットと、印刷データ１００４から構成される。入力フォーマット１００２は、フォーマット特定処理部２０３で特定された印刷データのフォーマットである。出力フォーマット１００３は、印刷装置１０２が処理可能なフォーマットである。データ１００４は、印刷装置が受信した印刷データである。サーバ１０３は、ジョブチケットに従って、印刷データ１００４のフォーマットを印刷装置が処理可能なフォーマットに変換する。
【００７４】
印刷装置１０２は、Ｓ１２１４において印刷データを送信した後、サーバ１０３から変換された印刷データを受信したか否かを判定する（Ｓ１２１５）。そして、変換後の印刷データを受信したと判定された場合（Ｓ１２１５−Ｙｅｓ）、印刷装置１０２は、変換後の印刷データの解析処理および展開処理を行うことで生成されたビットマップイメージを画像データスプール２０７に格納する（Ｓ１２１６）。そして、印刷装置１０２は、ビットマップイメージを使って印刷処理を実行する（Ｓ１２１７）。
【００７５】
一方、印刷装置１０２が、印刷データを自ら処理可能と判定した場合（Ｓ１２１２−Ｎｏ）、Ｓ１２１６およびＳ１２１７を実行することで印刷データの印刷処理が実行される。
【００７６】
Ｓ１２０４でファイルのフォーマットを特定できない（フォーマットＮＵＬＬ）場合、または、Ｓ１２０２で印刷データがファイル以外（ストリーム形式の印刷データ）である場合、印刷装置１０２は、ファイルのフォーマットを特定するフォーマット特定処理（詳細は図９にて後述）を行う（Ｓ１２１０）。
【００７７】
Ｓ１２１０のフォーマット特定処理により印刷データのフォーマットが特定され（Ｓ１２１１）、かつ、印刷データがサーバ１０３で処理されるべきフォーマットである場合（Ｓ１２１２−Ｙｅｓ）、印刷装置１０２は、Ｓ１２１３〜Ｓ１２１７を実行する。印刷装置１０２が、印刷データを自ら処理可能と判定した場合（Ｓ１２１２−Ｎｏ）、Ｓ１２１６−Ｓ１２１７が実行される。
【００７８】
Ｓ１２１１において印刷データのフォーマットを特定できなかった場合（フォーマットＮＵＬＬ）、印刷装置１０２は、不図示のユーザインターフェースにエラーを表示する（Ｓ１２１８）。
【００７９】
以上の処理により印刷装置１０２は、受信した印刷データが自ら処理できない場合であっても、サーバを使って印刷処理を実行することが可能となる。
【００８０】
＜ファイルのフォーマット特定処理＞
図８は、図７のＳ１２０３のフォーマット特定処理を説明するためのフローチャートである。
【００８１】
印刷装置１０２は、フォーマットカウンタＦｃを初期化し（Ｓ１３０１）、フォーマット特定テーブル２０９のフォーマット数をＦに代入する（Ｓ１３０２）。
【００８２】
印刷装置１０２は、フォーマットカウンタＦｃとフォーマット数Ｆを比較し（Ｓ１３０３）、ＦｃがＦを超えた場合は、フォーマットを特定できなかったと判定する。そして、印刷装置１０２は、フォーマットＮＵＬＬと特定する（Ｓ１３０８）。
【００８３】
ＦｃがＦ以下の場合、印刷装置１０２は、フォーマット特定テーブルのＦｃ番目の拡張子と印刷データのファイルの拡張子を比較する（Ｓ１３０４）。
【００８４】
拡張子が同じ場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の処理フラグが１か否かを判定する（Ｓ１３０５）。処理フラグが１と判定された場合（Ｓ１３０５−Ｙｅｓ）、印刷装置１０２は、印刷データのフォーマットと印刷データを処理する場所としてサーバを決定する（Ｓ１３０６）。
【００８５】
一方、処理フラグが０と判定された場合（Ｓ１３０５−Ｎｏ）、印刷装置１０２は、印刷データのフォーマットと印刷データを処理する場所として印刷装置を決定する（Ｓ１３０７）。
【００８６】
フォーマット特定テーブルのＦｃ番目の拡張子と印刷データのファイルの拡張子が異なる場合（Ｓ１３０４−Ｎｏ）、印刷装置１０２は、フォーマットカウンタＦｃをインクリメントし（Ｓ１３０５）、Ｓ１３０３へ戻る。
【００８７】
以上の処理により、ファイル形式の印刷データのフォーマットが決定され、決定されたフォーマットの印刷データを処理すべき場所が決定される。
【００８８】
＜ファイル以外のフォーマット特定処理＞
図９は、図７のＳ１２１０のフォーマット特定処理を説明するためのフローチャートである。
【００８９】
Ｓ１４０１−Ｓ１４０３は、Ｓ１３０１−Ｓ１３０３と同じ処理であるため省略する。また、Ｓ１４３０はＳ１３０８と同じ処理であるため省略する。
【００９０】
ＦｃがＦ以下の場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目に検索情報アドレスが指定されているか判定する（Ｓ１４０４）。検索情報アドレスが指定されている場合（Ｓ１４０４−Ｙｅｓ）、印刷装置１０２は、サーバ処理のフォーマット特定処理（図１０にて後述）を行う（Ｓ１４０５）。
【００９１】
Ｓ１４０５によりフォーマットを特定できた場合（Ｓ１４０６−Ｙｅｓ）、印刷装置１０２は、印刷データのフォーマットと印刷データを処理する場所としてサーバを決定する（Ｓ１４０７）。
【００９２】
一方、Ｓ１４０５によりフォーマットを特定できなかった場合（Ｓ１４０６−Ｎｏ）、印刷装置１０２は、フォーマットカウンタをインクリメントし（Ｓ１４１０）、Ｓ１４０３へ戻る。
【００９３】
Ｓ１４０４で検索情報アドレスが指定されていないと判定された場合（Ｓ１４０４−Ｎｏ）、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の関数を実行することでフォーマットを特定できたか判定する（Ｓ１４２０）。フォーマットを特定できた場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の処理フラグが１か判定する（Ｓ１４２１）。処理フラグが１の場合（Ｓ１４２１−Ｙｅｓ）、印刷装置１０２は、印刷データのフォーマットと処理場所としてサーバを決定する（Ｓ１４０７）。
【００９４】
一方、処理フラグが０の場合（Ｓ１４２１−Ｎｏ）、印刷装置１０２は、印刷データのフォーマットと処理場所として印刷装置を決定する（Ｓ１４４０）。
【００９５】
以上の処理により、ファイル形式とは異なる形式の印刷データのフォーマットが決定され、決定されたフォーマットの印刷データを処理すべき場所が決定される。
【００９６】
図１０は、図９のＳ１４０５の詳細を説明するためのフローチャートである。
【００９７】
印刷装置１０２は、検索カウンタＫｃを初期化し（Ｓ１５０１）、検索情報アドレス９０７に格納された検索情報の検索キー数９０８をＫに代入する（Ｓ１５０２）。検索カウンタＫｃと検索キー数Ｋを比較し（Ｓ１５０３）、ＫｃがＫ以下の場合、印刷装置１０２は、検索情報のＫｃ番目の検索オフセット９０９をＯｆｆｓｅｔに代入する（Ｓ１５０４）。
【００９８】
印刷装置１０２は、Ｏｆｆｓｅｔが０以上の場合（Ｓ１５０５−Ｙｅｓ）、印刷データのＯｆｆｓｅｔバイト分のデータをスキップし（Ｓ１５０６）、検索情報の検索サイズ分９１０のデータを読みだす（Ｓ１５０７）。
【００９９】
印刷装置１０２は、Ｓ１５０７で読み出したデータと検索情報の検索キー９１１と比較し（Ｓ１５０８）、一致しなかった場合は、印刷データはＦｃ番目のフォーマットと異なるとしてＦＡＬＳＥと決定する（Ｓ１５０９）。一方、一致した場合、印刷装置１０２は、検索カウンタＫｃをインクリメントし（Ｓ１５２０）、Ｓ１５０３に戻る。
【０１００】
Ｓ１５０５で、Ｏｆｆｓｅｔが−１だった場合（Ｓ１５０５−Ｎｏ）、印刷装置１０２は、順次印刷データの中身のデータを読み込み（Ｓ１５１０）、検索情報の検索キー９１１と比較する（Ｓ１５１１）。
【０１０１】
Ｓ１５１０で読み込まれたデータと検索キー９１１が一致した場合、印刷装置１０２は、検索カウンタＫｃをインクリメントし（Ｓ１５２０）、Ｓ１５０３に戻る。Ｓ１５１０で読み込まれたデータと検索キー９１１が一致しなかった場合、印刷装置１０２は、読み込まれたデータが検索キーに一致するか、または、読み込むべきデータがなくなるまでＳ１５１０〜Ｓ１５１２を繰り返し実行する。読み込むべきデータがなくなったら、印刷装置１０２は、ＦＡＬＳＥと決定する（Ｓ１５０９）。全ての検索キー９１１が印刷データに含まれていた場合、印刷装置１０２は、印刷データはＦｃ番目のフォーマットであると決定する（Ｓ１５３０）。
【０１０２】
＜サーバ１０３の印刷データ変換処理＞
図１１は、サーバ１０３の印刷データ変換処理フローである。
【０１０３】
サーバ１０３は、印刷装置１０２から送信されたジョブチケットと印刷データを受信する（Ｓ１６０１）と、ジョブチケットから入力フォーマットと出力フォーマットを参照する（Ｓ１６０２）。サーバ１０３は、参照した入力フォーマットに従って、解析処理部３０２で印刷データを解析し（Ｓ１６０３）、データ変換部３０３で参照した出力フォーマットの印刷データに変換する（Ｓ１６０４）。
【０１０４】
そしてサーバ１０３は、ジョブチケットで指定された出力フォーマットに変換された印刷データ（印刷装置１０２が処理可能な印刷データ）を印刷装置１０２に送信する（Ｓ１６０５）。
【０１０５】
上記のとおり、印刷装置１０２は、フォーマットの特定方法が記述されたフォーマット特定情報を取得することで、例えば、サーバ１０３で処理可能なフォーマットが追加されてもフォーマットを特定できる。その結果、印刷装置１０２は、印刷データの印刷処理を実行することが可能になる。
【０１０６】
［実施例２］
実施例１では、印刷装置が処理可能なフォーマットの印刷データは印刷装置で処理を行っていた。一方、本実施例においては、印刷装置１０２、サーバ１０３の処理性能を考慮して印刷データの処理場所を決める方法について説明する。
【０１０７】
図１３は、本実施例における図４のＳ１００５のフォーマット特定テーブル２０９の更新処理を説明するためのフローチャートである。
【０１０８】
なお、Ｓ１７０１からＳ１７０４は、Ｓ１１０１からＳ１１０４と同じ処理であるため説明は省略する。
【０１０９】
サーバ１０３から取得したフォーマット特定情報のＡｃ番目のフォーマット名を参照し、Ａｃ番目のフォーマット名がフォーマット特定テーブル２０９にあるかを調べる（Ｓ１７０５）。フォーマット特定情報のＡｃ番目のフォーマット名がフォーマット特定テーブル２０９にある場合、印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報のＡｃ番目の処理性能とフォーマット特定テーブル２０９の処理性能を比較する（Ｓ１７０６）。
【０１１０】
サーバの処理性能の方が高い場合（Ｓ１７０６−Ｙｅｓ）、印刷装置１０２は、フォーマット特定テーブル２０９の処理フラグを１に変更し、サーバ側で処理するように切り替える（Ｓ１７０７）。
【０１１１】
サーバの処理性能の方が低い場合（Ｓ１７０６−Ｎｏ）、次のフォーマットに処理を移すためにＳ１７１６のインクリメント処理が実行される。
【０１１２】
また、Ｓ１７０５においてＮｏと判定された場合は、図５のＳ１１０５以降と同様の処理を行う。
【０１１３】
本処理により、印刷装置１０２およびサーバ１０３の両者で実行可能なフォーマットは、効率的に処理可能な装置で解析処理が実行されることとなる。
【０１１４】
図１４（ａ）は、本実施例においてサーバ１０３から取得するフォーマット特定情報３０６である。
【０１１５】
本実施例のフォーマット特定情報３０６は、図６（ａ）のフォーマット特定情報に加え、処理性能１１０１が追加されている。処理性能１１０１は、処理対象のフォーマットの印刷データを解析する際の処理性能のパラメータである。
【０１１６】
図１４（ｂ）は、本実施例におけるフォーマット特定情報３０６の一例である。
【０１１７】
処理可能なフォーマットはＰＤＦと電子書籍フォーマットであり、処理性能は、ＰＤＦが１０、電子書籍フォーマットが２０である。これらの値は、サーバ１０３のＣＰＵ５０２の性能に応じて設定されたり、１ページ当たりの解析速度や１ページ当たりの解析に係る時間に基づいて設定される。
【０１１８】
図１４（ｃ）は、本実施例における印刷装置１０２で管理されるフォーマット特定テーブル２０９である。
【０１１９】
フォーマット特定テーブル２０９は、図６（ｃ）のフォーマット特定テーブルに加え、処理性能１２０１が追加されている。処理性能１２０１は、印刷装置１０２の処理性能を示す点は異なるが、その他は処理性能１１０１と同じである。
【０１２０】
図１４（ｄ）は、本実施例における更新処理前のフォーマット特定テーブル２０９の一例である。各フォーマットに処理性能のパラメータが設定されている。これらの値は、印刷装置１０２のＣＰＵ４０３の性能、１ページ当たりの解析速度、１ページ当たりの解析に係る時間に基づいて設定される。
【０１２１】
図１４（ｅ）は、本実施例における図１３の更新処理後のフォーマット特定テーブル２０９の一例である。
【０１２２】
印刷装置１０２のフォーマット特定テーブル管理部２０２は、サーバ１０３より図１４（ｂ）のフォーマット特定情報を取得する。フォーマット特定テーブル管理部２０２は、フォーマット特定テーブル２０９に存在するＰＤＦのフォーマット特定情報の処理性能（１０）とフォーマット特定テーブル２０９の処理性能（１０）を比較する。その結果、サーバ１０３の処理性能の方が高いため、処理フラグを１に置き換える。一方、フォーマット特定テーブル２０９に存在しない電子書籍フォーマットについては、検索優先度に従ってフォーマット特定テーブル２０９に追加される。
【０１２３】
本実施例においては、ＣＰＵ４０３の性能に応じて処理性能のパラメータを決定しているが、ＣＰＵ４０３以外の印刷装置１０２のハードウェアの構成（例えば、ＨＤＤ４０４の搭載有無）に応じて変更してもよい。例えば、解析処理部２０４において大容量の記憶領域が必要なフォーマット（例えばＰＤＦなど）は、ＨＤＤ４０４を搭載していない印刷装置１０２において印刷データのサイズが制限される。このようなケースにおいては、処理性能を０に設定することで、サーバ１０３での処理に切り替わり、サイズ制限を回避することができる。
【０１２４】
なお、本実施例において更新された後のフォーマット特定テーブル２０９を用いた印刷処理は、実施例１と同じであるため詳細な説明は省略する。
【０１２５】
上記のとおり、フォーマット特定情報に処理性能を加えることで、印刷装置１０２とサーバ１０３の両者で処理可能な印刷データについては、印刷装置１０２の処理性能とサーバ１０３の処理性能に応じて、どちらで処理するかを変えることができる。その結果、最適なパフォーマンスが得られるようになる。
【０１２６】
［実施例３］
実施例２においては、印刷装置１０２とサーバ１０３の両者で処理可能な印刷データについては、処理性能を考慮して、適切な処理場所を選択した。本実施例では、さらに印刷データの生成元のアプリケーションを考慮し、適切な処理場所を決定する。
【０１２７】
図１７（ａ）は、本実施例においてサーバ１０３から取得するフォーマット特定情報３０６である。
【０１２８】
本実施例のフォーマット特定情報３０６は、図１４（ａ）のフォーマット特定情報に、アプリ情報数１３０１、アプリ情報毎の処理性能１３０２、名称サイズ１３０３、アプリケーション名１３０４が追加されている。
【０１２９】
アプリ情報数１３０１は、フォーマット特定処理部２０３で振り分け判定をする際に参照するアプリ情報の数である。アプリ情報は、該当フォーマットへ変換する前のアプリケーションのフォーマットに関する情報である。
【０１３０】
処理性能１３０２は、印刷データの生成元のアプリケーション単位の処理性能を示すパラメータである。名称サイズ１３０３は、印刷データの生成元のアプリケーション名１３０４のバイト数である。アプリケーション名１３０４は、印刷データの生成元のアプリケーションの名称であり、テキスト列の情報である。
【０１３１】
図１７（ｂ）は、本実施例におけるフォーマット特定情報３０６の一例である。
【０１３２】
フォーマットはＰＤＦであり、アプリ情報数は２である。アプリ情報のアプリケーション名のテキスト列は”ａｐｐｌｉｃａｔｉｏｎ１”，  “ａｐｐｌｉｃａｔｉｏｎ２”であり、それぞれ処理性能は２０である。これらのアプリケーション以外は、フォーマットの処理性能１１０１の１０となる。
【０１３３】
図１５は、本実施例の図４のＳ１００５のフォーマット特定テーブル２０９の更新処理のフローである。
【０１３４】
なお、Ｓ１８０１からＳ１８０４は、Ｓ１１０１からＳ１１０４と同じ処理であるため説明は省略する。
【０１３５】
印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報のＡｃ番目のフォーマット名を参照し、フォーマット特定テーブル２０９にあるかを調べる（Ｓ１８０５）。フォーマット特定情報のＡｃ番目のフォーマット名がフォーマット特定テーブル２０９にある場合、印刷装置１０２は、サーバ１０３から取得したフォーマット特定情報のＡｃ番目の処理性能とフォーマット特定テーブル２０９の処理性能を比較する（Ｓ１８０６）。
【０１３６】
サーバの処理性能の方が高い場合（Ｓ１８０６−Ｙｅｓ）、印刷装置１０２は、フォーマット特定テーブル２０９の処理フラグを１に変更し、サーバ側で処理するように切り替える（Ｓ１８０７）。さらに、印刷装置１０２は、アプリ情報数１３０１が０より大きいか否かを判定する（Ｓ１８０８）。アプリ情報数１３０１が０より大きいと判定された場合、フォーマット特定テーブル２０９のアプリ情報アドレス１４０１に処理性能１３０２からアプリケーション名１３０４を指定する。つまり、Ａｃ番目のフォーマットのデータは、印刷データの生成元のアプリケーションに関わらずサーバで処理されることになる。
【０１３７】
サーバの処理性能の方が低い場合（Ｓ１８０６−Ｙｅｓ）、印刷装置１０２は、Ｓ１８０８およびＳ１８０９を実行する。つまり、Ａｃ番目のフォーマットの印刷データの生成元のアプリケーションがアプリケーション名１３０４である場合、印刷データはサーバで処理される。一方、Ａｃ番目のフォーマットの印刷データの生成元のアプリケーションがアプリケーション名１３０４でない場合、印刷データは印刷装置１０２で処理される。
【０１３８】
そして、Ｓ１８１７にてフォーマットカウンタＡｃがインクリメントされる。
【０１３９】
なお、それ以外の処理については、図５と同じであるため説明は省略する。
【０１４０】
図１７（ｃ）は、本実施例における印刷装置１０２のフォーマット特定テーブル管理部２０２で管理するフォーマット特定テーブル２０９である。
【０１４１】
フォーマット特定テーブル２０９は、図１４（ｃ）のフォーマット特定テーブル２０９に加え、アプリ情報アドレス１４０１、アプリ情報数１４０２、アプリ情報毎の、処理性能１４０３、名称サイズ１４０４、アプリケーション名１４０５から構成される。アプリ情報アドレス１４０１は、サーバ１０３から取得したアプリ情報を格納したＲＡＭ４０２のアドレスである。アプリ情報数１４０２、処理性能１４０３、名称サイズ１４０４、アプリケーション名１４０５は、図１７（ａ）のアプリ情報と同じである。
【０１４２】
図１７（ｄ）は、本実施例における更新処理前のフォーマット特定テーブル２０９の一例である。
【０１４３】
印刷装置１０２は、ＰＤＦの印刷処理が可能であり、処理性能は１０である。
【０１４４】
図１７（ｅ）は、本実施例における図１５の更新処理後のフォーマット特定テーブル２０９の一例である。
【０１４５】
印刷装置１０２のフォーマット特定テーブル管理部２０２は、サーバ１０３より図１７（ｂ）に示すＰＤＦのフォーマット特定情報を取得すると、各処理性能を参照し、比較する。このときサーバ１０３から取得したフォーマット特定情報の処理性能は同等であるが、図１７（ｂ）に示すアプリ情報の処理性能（２０）は印刷装置の処理性能よりも高いため、アプリ情報アドレス１４０１にアドレスを指定し、アプリ情報１４０２から１４０５をフォーマット特定テーブル２０９に追加する。
【０１４６】
図１６は、本実施例における印刷処理Ｓ１２１０のファイル以外のフォーマット特定処理フローである。
【０１４７】
なお、Ｓ１９０１からＳ１９０３は、Ｓ１４０１からＳ１４０３と同じ処理であるため説明は省略する。
【０１４８】
ＦｃがＦ以下の場合、印刷装置１０２は、フォーマット特定テーブル２０９の検索情報アドレスが指定されているかを判定する（Ｓ１９０４）。検索情報アドレスが指定されている場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の検索情報アドレスを参照し、サーバ処理のフォーマット特定処理を行う（Ｓ１９０５）。サーバ処理のフォーマット特定処理でフォーマットを特定できた場合（Ｓ１９０６−Ｙｅｓ）、特定されたフォーマットと処理場所としてサーバを決定する（Ｓ１９０７）。
【０１４９】
一方、フォーマットを特定できなかった場合（Ｓ１９０６−Ｎｏ）の処理は図９と同じである。
【０１５０】
Ｓ１９０４で、Ｆｃ番目の検索情報アドレスが指定されていない場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の関数を実行することでフォーマットを特定できたか否かを判定する（Ｓ１９２０）。フォーマットを特定できた場合（Ｓ１９２０−Ｙｅｓ）、印刷装置１０２は、アプリ情報アドレス１４０１のアドレスが指定されているか調べる（Ｓ１９２１）。
【０１５１】
アプリ情報アドレス１４０１のアドレスが指定されている場合（Ｓ１９２１−Ｙｅｓ）、印刷装置１０２は、印刷データの生成元のアプリケーション名がアプリ情報のアプリケーション名と一致するかを調べる（Ｓ１９２２）。Ｓ１９２２でアプリケーション名が一致した場合（Ｓ１９２２−Ｙｅｓ）、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の処理性能（印刷装置の処理性能）と、アプリ情報の処理性能を比較する（Ｓ１９２３）。例えば、印刷データのフォーマットがＰＤＦであり、かつ、印刷データの生成元のアプリケーションがａｐｐｌｉｃａｔｉｏｎ１であった場合、印刷装置は、図１７（ｅ）を用いて印刷装置の処理性能（１０）とアプリ情報の処理性能（２０）が比較される。ここで、アプリ情報の処理性能が印刷装置１０２の処理性能よりも高い場合、印刷装置１０２は、印刷データのフォーマットと処理場所としてサーバを決定する（Ｓ１９０７）。
【０１５２】
一方、アプリ情報の処理性能が印刷装置１０２の処理性能よりも低い場合、印刷装置１０２は、印刷データのフォーマットと処理場所として印刷装置１０２を決定する（Ｓ１９４０）。
【０１５３】
Ｓ１９２２においてＮｏと判定された場合、印刷装置１０２は、フォーマット特定テーブル２０９のＦｃ番目の処理フラグが１か判定し（Ｓ１９２４）、１であれば印刷データのフォーマットと処理場所としてサーバを決定する。一方、処理フラグが１でなければ、印刷装置１０２は、印刷データのフォーマットと処理場所として印刷装置を決定する（Ｓ１９４０）。
【０１５４】
上記のとおり、印刷データの生成元のアプリケーションに基づいて、適切な処理場所を決定することができる。
【０１５５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である
【符号の説明】
【０１５６】
１０１  ホストコンピュータ
１０２  印刷装置
【図１】
2014237292.tif 000003
【図２】
2014237292.tif 000004
【図３】
2014237292.tif 000005
【図４】
2014237292.tif 000006
【図５】
2014237292.tif 000007
【図６】
2014237292.tif 000008
【図７】
2014237292.tif 000009
【図８】
2014237292.tif 000010
【図９】
2014237292.tif 000011
【図１０】
2014237292.tif 000012
【図１１】
2014237292.tif 000013
【図１２】
2014237292.tif 000014
【図１３】
2014237292.tif 000015
【図１４】
2014237292.tif 000016
【図１５】
2014237292.tif 000017
【図１６】
2014237292.tif 000018
【図１７】
2014237292.tif 000019