(57)【要約】【課題】１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書を印刷する場合、埋め込まれたファイルの印刷が不可能な場合に該埋め込まれたファイルに対する無駄な処理やリソースの使用を防止すること。【解決手段】画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定手段と、前記判定手段が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御手段と、を備える。【選択図】図４
2019164565.tif 000002
【特許請求の範囲】
【請求項１】
画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定手段と、
前記判定手段が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記電子文書フォーマットは、ＰＤＦポートフォリオであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記埋め込みファイルの情報は、埋込ファイル名、埋込ファイルの位置情報、埋込ファイルのサイズ、埋込ファイルのファイル種別のうちの１以上を組み合わせものであることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段は、画像処理を行う装置がサポートしている印刷言語で画像処理が可能であるか否かによって判定することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記判定手段は、ユーザが予め指定した、画像処理が不可能な前記埋め込みファイルをもとに判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記制御手段は、画像処理が不可能な埋め込みファイルを削除した画像処理データを生成させることを特徴とする請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
プログラムを、
画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定手段と、
前記判定手段が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御手段と、
して機能させるためのプログラム。
【請求項８】
画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定手段と、
前記判定手段が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御手段と、
を備えたことを特徴とする情報処理システム。
【請求項９】
画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定工程と、
前記判定工程が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御工程と、
を含んだことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
複数のアプリケーション（Ｏｆｆｉｃｅ、テキストエディタ、ＰＤＦなど）のファイルをあたかも１つのＰＤＦファイルとして埋め込むことが可能なＰＤＦポートフォリオという技術が知られている。また、クラウドにアップロードされた文書ファイルを、プリンタからダウンロードして印刷を行うプルプリントという技術も知られている。
【０００３】
特許文献１には、ＰＤＦを直接、印刷装置に送信し、印刷する構成において、各ページの情報がデータのどの位置にあるかを示す情報（リファレンステーブル）を先に印刷装置に対して送信することで、印刷装置における印刷処理の開始を早めるものが記載されている。なお、通常のＰＤＦでは、リファレンステーブルはファイルの末尾にある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、印刷装置が、ＰＤＦに、他のアプリケーション（例えばｗｏｒｄ等）のファイルが埋め込まれたＰＤＦポートフォリオのデータを受信した際に、印刷装置がＰＤＦの形式は印刷できてもｗｏｒｄファイルの形式は印刷できない場合がある。この場合であっても、例えばwordファイルの受信及び、wordファイルのパース処理等の処理を行ってしまい、無駄な処理時間が発生してしまっていた。
【０００５】
本発明は、上記に鑑みてなされたものであって、１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書を印刷する場合、埋め込まれたファイルの印刷が不可能な場合に該埋め込まれたファイルに対する無駄な処理やリソースの使用を防止することができる情報処理装置、プログラムおよび情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、画像処理すべき１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書フォーマットに対する画像処理を行う場合、埋め込まれた埋め込みファイルの情報をもとに、該埋め込みファイルの画像処理が可能か否かを判定する判定手段と、前記判定手段が、前記埋め込みファイルの画像処理が可能でないと判定した場合、前記埋め込みファイルの画像処理を実行させない制御手段と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、１つのファイル内に複数のアプリケーションで作成したファイルを埋め込むことが可能な電子文書を印刷する場合、埋め込まれたファイルの印刷が不可能な場合に該埋め込まれたファイルに対する無駄な処理やリソースの使用を防止することができる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報処理システムの装置構成の例を示す図である。
【図２】図２は、プリンタのハードウェア構成を示す図である。
【図３】図３は、サーバのハードウェア構成を示す図である。
【図４】図４は、プリンタの機能構成を示す図である。
【図５】図５は、サーバの機能構成を示す図である。
【図６】図６は、サーバに蓄積されたＰＤＦポートフォリオのプルプリント時の印刷処理手順を示すフローチャートである。
【図７】図７は、印刷不可能なフォーマットの埋込ファイルの読み飛ばし処理の具体例を示す図である。
【図８】図８は、サーバに蓄積された印刷データの一例を示す図である。
【図９】図９は、プリンタに蓄積された印刷データリストの一例を示す図である。
【図１０】図１０は、ＰＤＦポートフォリオの埋め込みファイルリストの一例を示す図である。
【図１１】図１１は、ＰＤＦポートフォリオの構造の一例を示す図である。
【図１２】図１２は、ＰＤＦファイルとＭＳＷｏｒｄを埋め込んだＰＤＦポートフォリオをＡｄｏｂｅ  Ｒｅａｄｅｒで開いた画面であり、ＰＤＦファイルを表示した例を示す図である。
【図１３】図１３は、ＰＤＦファイルとＭＳＷｏｒｄを埋め込んだＰＤＦポートフォリオをＡｄｏｂｅ  Ｒｅａｄｅｒで開いた画面であり、ＭＳＷｏｒｄを表示した例を示す図である。
【図１４】図１４は、変形例によるサーバの機能構成を示す図である。
【図１５】図１５は、変形例によるサーバに蓄積されたＰＤＦポートフォリオのプルプリント時の印刷処理手順を示すフローチャートである。
【図１６】図１６は、変形例による印刷付加フォーマットの指定を含む印刷データリストの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、情報処理装置、プログラム、情報処理システム及び情報処理方法の実施の形態を詳細に説明する。
【００１０】
＜情報処理システムの装置構成＞
はじめに、本実施の形態の情報処理システムの装置構成の例について説明する。
【００１１】
図１は、情報処理システムの装置構成の例を示す図である。図１に示すように、情報処理システムは、画像処理装置として機能するプリンタ１００と、情報処理装置として機能するサーバ２００とが通信媒体Ｎを介して接続される。
【００１２】
なお、本実施の形態では、プリンタ１００がサーバ２００に接続し、サーバ２００に保持されたアップロード印刷データをダウンロードして印刷するプリプリントシステムとして説明する。プルプリントは、プリンタドライバからの印刷のようにクライアントＰＣがトリガとなって印刷するのとは違い、プリンタ１００からサーバ２００に対して印刷要求を出すことによって印刷を実施するものである。
【００１３】
本実施の形態は、予めクラウド上のサーバ２００にアップロードされたＰＤＦポートフォリオをプルプリントする時に、埋め込まれたファイルの情報をプリンタ１００に送信し、プリンタ１００側では送信された情報を元に、ファイルダウンロード時に、そのファイルが印刷可能か判断し、印刷不可能なファイルはハードディスク等のストレージに保存せず、パースもしないというものである。
【００１４】
＜プリンタのハードウェア構成＞
図２は、プリンタ１００のハードウェア構成を示す図である。図２に示すように、プリンタ１００は、コントローラ１０とエンジン部（Ｅｎｇｉｎｅ）２３とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続した構成となる。コントローラ１０は、プリンタ１００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部２３は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部２３には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００１５】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)１２ｂと、をさらに有する。
【００１６】
ＣＰＵ１１は、プリンタ１００の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００１７】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰバス１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００１８】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００１９】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００２０】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰバス１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、エンジン部２３との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。
【００２１】
このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２１、ＩＥＥＥ１３９４（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  １３９４）インターフェース２２が接続される。
【００２２】
操作表示部１０２はＡＳＩＣ１６に直接接続されている。ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。ＨＤＤ１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、ＨＤＤ１８は、プリンタ１００で実行されるアプリケーションのライセンスファイルを保存する。ＡＧＰバス１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００２３】
＜サーバのハードウェア構成＞
図３は、サーバ２００のハードウェア構成を示す図である。本実施形態に係るサーバ２００は、一般的な情報処理端末と同様の構成を有する。図３に示すように、サーバ２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１４及びＩ／Ｆ２１５がバスを介して接続されている。また、Ｉ／Ｆ２１５にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）２１６及び操作部２１７が接続されている。
【００２４】
ＣＰＵ２１１は演算手段であり、サーバ全体の動作を制御する。ＲＡＭ２１２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ２１１が情報を処理する際の作業領域として用いられる。ＲＯＭ２１３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ２１４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ２１５は、バスと各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ２１６は、ユーザがサーバの状態を確認するための視覚的ユーザインタフェースである。操作部２１７は、キーボードやマウス等、ユーザがサーバに情報を入力するためのユーザインタフェースである。
【００２５】
＜プリンタの機能構成＞
図４は、プリンタ１００の機能構成を示す図である。図４に示すように、プリンタ１００は、通信部１０１、操作表示部１０２、画像生成部１０３、印刷可能フォーマット判定部１０４、データ一時保存部１０５、ＰＤＦ解析部１０６、印刷部１０７及びデータ処理部１０８を有する。
【００２６】
通信部１０１は、データのやり取りを行う。本実施の形態では、サーバ２００と通信する。操作表示部１０２は、ユーザからの操作を受け付け、ユーザに対してユーザインタフェース画面の表示を行う。画像生成部１０３は、印刷データの画像を描画する。印刷可能フォーマット判定部１０４は、印刷データが印刷可能なフォーマットかどうか判定する。例えば、ＰＤＦ印刷のみ対応したプリンタの場合、ＰＤＦのフォーマットは印刷可能だが、ＭＳＷｏｒｄは印刷できない。データ一時保存部１０５は、ＰＤＦファイルを解析するために、ハードディスク等のストレージにＰＤＦファイルを一時的に保存する。データ保存時に、印刷可能なフォーマットの埋め込みファイルのみハードディスクに保存する。ＰＤＦ解析部１０６は、ＰＤＦファイルを解析（パース）する。解析時に、印刷不可能なファイルフォーマットの埋め込みファイルを読み飛ばす。印刷部１０７は、描画された画像を紙に出力する。データ処理部１０８は、各機能に関わるデータ処理を行う。
【００２７】
＜サーバの機能構成＞
図５は、サーバ２００の機能構成を示す図である。図５に示すように、サーバ２００は、通信部２０１、印刷データ蓄積部２０２、ユーザ認証部２０３、埋め込みファイルリスト生成部２０４、ＰＤＦ解析部２０５、印刷データリスト生成部２０６及びデータ処理部２０７を有する。
【００２８】
通信部２０１は、外部とデータのやり取りを行う。本実施の形態では、プリンタ１００と通信する。印刷データ蓄積部２０２は、プルプリント対象となる印刷データを蓄積する。ユーザ認証部２０３は、プルプリント対象の印刷データ印刷時にユーザ認証を行う。
【００２９】
ＰＤＦ解析部２０５は、印刷対象のＰＤＦがＰＤＦポートフォリオかどうか、ＰＤＦポートフォリオだった場合に、どのようなファイルが埋め込まれているかファイル情報（ファイル名、位置情報、ファイル種別、サイズ）を抽出する。
【００３０】
埋め込みファイルリスト生成部２０４は、ＰＤＦ解析部２０５が抽出したファイル情報（ファイル名、位置情報、ファイル種別、サイズ）をもとに、埋め込みファイルリストを生成する。
【００３１】
印刷データリスト生成部２０６は、ユーザからのファイル選択を受け付ける。データ処理部２０７は、各機能のデータ処理を行う。
【００３２】
＜印刷処理手順＞
図６は、サーバ２００に蓄積されたＰＤＦポートフォリオのプルプリント時の印刷処理手順を示すフローチャートである。図６に示すように、まず、プリンタ１００は、ユーザが認証情報（ユーザ名、パスワード）を入力したか否かを判断する（ステップＳ１０１）。すなわち、認証情報が入力されることを条件にステップＳ１０２に移行する。
【００３３】
認証情報が入力される（ステップＳ１０１，Ｙｅｓ）と、プリンタ１００はサーバ２００に認証情報を送信する（ステップＳ１０２）。そして、サーバ２００は、認証情報をもとにユーザ認証を行う（ステップＳ１０３）。ユーザ認証されない場合（ステップＳ１０４，Ｎｏ）には、ステップＳ１０１に移行する。
【００３４】
ユーザ認証される（ステップＳ１０４，Ｙｅｓ）と、プリンタ１００はサーバ２００から、ユーザの蓄積された印刷データ（図８参照）の中から、認証されたユーザの蓄積された印刷データのリスト（図９参照）を取得する（ステップＳ１０５）。そして、プリンタ１００は、蓄積された印刷データのリストを表示する（ステップＳ１０６）。
【００３５】
そして、プリンタ１００は印刷データが選択されるまで待つ（ステップＳ１０７）。印刷データが選択される（ステップＳ１０７，Ｙｅｓ）と、プリンタ１００はサーバ２００に、選択された印刷データ名を送信する（ステップＳ１０８）。
【００３６】
サーバ２００は、選択された印刷データがＰＤＦフォートフォリオであるか否かを判定する（ステップＳ１１０）。選択された印刷データがＰＤＦフォートフォリオである場合（ステップＳ１１０，Ｙｅｓ）には、サーバ２００は、ＰＤＦポートフォリオの埋め込みファイルリスト（図１０参照）を生成する（ステップＳ１１１）。その後、サーバ２００は、ＰＤＦポートフォリオの埋め込みファイルリストをプリンタ１００に送信する（ステップＳ１１２）。
【００３７】
その後、プリンタ１００は、サーバ２００から印刷データを取得する（ステップＳ１１３）。そして、プリンタ１００は、印刷データを取得しながら、埋め込みファイルリストを参照して印刷データが埋め込みファイルか否かを判定し、さらに印刷データが印刷可能か否かを判定する（ステップＳ１１４）。
【００３８】
プリンタ１００は、印刷データが埋め込みファイルである場合（ステップＳ１１５，Ｙｅｓ）、さらに埋め込みファイルが印刷可能なフォーマットか否かを判定する（ステップＳ１１６）。印刷データが埋め込みファイルでなく（ステップＳ１１５，Ｎｏ）、あるいは、埋め込みファイルが印刷可能なフォーマットである場合（ステップＳ１１６，Ｙｅｓ）には、プリンタ１００が取得した印刷データをハードディスク等のストレージに保存し（ステップＳ１１７）、ステップＳ１１７に移行する。一方、埋め込みファイルが印刷可能なフォーマットでない場合（ステップＳ１１６，Ｎｏ）には、印刷データをストレージに保存せずに、ステップＳ１１７に移行する。
【００３９】
その後、プリンタ１００は、印刷データの取得が完了したか否かを判断する（ステップＳ１１８）。印刷データの取得が完了していない場合（ステップＳ１１８，Ｎｏ）には、ステップＳ１１３に移行する。一方、印刷データの取得が完了している場合（ステップＳ１１８，Ｙｅｓ）、プリンタ１００は印刷データを解析し、印刷用ビットマップデータを生成する（ステップＳ１１９）。そして、プリンタ１００は、解析対象の印刷データが埋め込みファイルか否かを判定する（ステップＳ１２０）。
【００４０】
解析対象の印刷データが埋め込みファイルである場合（ステップＳ１２０，Ｙｅｓ）、さらに、埋め込みファイルは印刷可能なフォーマットか否かを判定する（ステップ１２１）。なお、プリンタ１００は、自装置がどのＰＤＬを印刷可能であるかを知っている。すなわち、プリンタ１００は、ＰＤＦ言語仕様として、ファイルを埋め込む場合には、「/EmbeddedFiles」エントリを定義する必要があるため、このエントリがあるかどうかでそのファイルがＰＤＦポートフォリオか否かを判定することができる。
【００４１】
埋め込みファイルが印刷可能なフォーマットである場合（ステップＳ１２１，Ｙｅｓ）、さらに印刷データの解析が完了しているか否かを判断する（ステップＳ１２３）。プリンタ１００は、印刷データの解析が完了している場合（ステップＳ１２３，Ｙｅｓ）には、生成した印刷用ビットマップデータを印刷し（ステップＳ１２４）、本処理を終了する。
【００４２】
印刷データの解析が完了していない場合（ステップＳ１２３，Ｎｏ）には、ステップＳ１１９に戻る。また、埋め込みファイルでない場合（ステップＳ１２０，Ｎｏ）には、そのままステップＳ１２３に移行する。また、プリンタ１００は、埋め込みファイルが印刷可能なフォーマットでない場合（ステップＳ１２１，Ｎｏ）には、埋め込みファイル部分を、埋め込みファイルリストに記載されたサイズ（オフセット）分だけ読み飛ばした（ステップＳ１２２）後、ステップＳ１２３に移行する。
【００４３】
一方、選択された印刷データがＰＤＦフォートフォリオでない場合（ステップＳ１１０，Ｎｏ）には、プリンタ１００は、サーバ２００から印刷データを取得する（ステップＳ１２５）。そして、取得した印刷データをハードディスク等のストレージに保存する（ステップＳ１２６）。その後、印刷データの取得が完了したか否かを判定する（ステップＳ１２７）。印刷データの取得が完了していな場合（ステップＳ１２７，Ｎｏ）には、ステップＳ１２５に戻る。一方、印刷データの取得が完了している場合（ステップＳ１２７，Ｙｅｓ）には、ステップＳ１１９移行し、ステップＳ１１９〜Ｓ１２４の処理を行う。
【００４４】
なお、ステップＳ１１１で生成される埋め込みファイルリストは、ＰＣやモバイル端末等でＰＤＦポートフォリオを作成した際に、同時に埋め込みファイルリストを生成し、サーバ２００にＰＤＦポートフォリオと埋め込みファイルリストを両方アップロードしておき、印刷時にプリンタ１００で利用することも可能である。
【００４５】
＜印刷不可能なフォーマットの埋込ファイルの読み飛ばし処理の具体例＞
図７は、ステップＳ１２２における印刷不可能なフォーマットの埋込ファイルの読み飛ばし処理の具体例を示す図である。なお、図７（ａ）は、もとの印刷データを示し、図７（ｂ）は、印刷不可能なフォーマットの埋め込みファイルを除いてストレージに保存された印刷データを示している。
【００４６】
図７（ａ）に示した、もとの印刷データは、埋め込み可能な埋め込みファイルと埋め込み不可能なファイルとを含んでいる。この場合、相互参照テーブルでは、つぎのように各オブジェクトの位置が記述されている。
先頭から１０バイト目から「埋め込みファイルヘッダ１」
先頭から１２５バイト目から「埋め込みファイルヘッダ２」
先頭から４４０バイト目から「埋め込みファイル情報１」
【００４７】
このもとの印刷データを処理したときに、ステップＳ１１５〜Ｓ１１７で、埋め込み不可能なファイルはハードディスクに保存されないため、印刷データは図７（ｂ）に示す状態で保存される。このような状態だと、印刷不可能な埋め込みファイル（３００バイト）が無いので、実体は「１４０バイト目から埋め込みファイル情報１」となるが、相互参照テーブルは「４４０バイト目から埋め込みファイル情報１」のままになる。
【００４８】
このため、ステップＳ１２２において、相互参照テーブルと埋め込みファイルリスト（図１０参照）に記載されたバイトサイズ分を考慮して、保存しなかった埋め込みファイル分を読み飛ばす。
【００４９】
＜サーバに蓄積された印刷データの一例＞
図８は、サーバ２００に蓄積された印刷データの一例を示す図である。図８に示すように、サーバ２００には、ユーザ毎に印刷データが蓄積されている。プリンタ１００からのプルプリント要求時には、ユーザ認証されたユーザの印刷データリストをプリンタ１００に送信する。例えば、ユーザＡで認証されていれば、A.pdfとB.pdfが対象になる。
【００５０】
＜印刷データリストの具体例＞
図９は、プリンタ１００に蓄積された印刷データリストの一例を示す図である。図９に示すように、プリンタ１００側で、蓄積された印刷データの印刷データリストを表示する。これにより、ユーザは、どの印刷データを印刷するのかを選択することができる。
【００５１】
＜埋め込みファイルリストの一例＞
図１０は、ＰＤＦポートフォリオの埋め込みファイルリストの一例を示す図である。図１０に示すように、ＰＤＦポートフォリオの埋め込みファイルリストには、埋め込みファイル名とＰＤＦポートフォリオのどの位置にファイルが埋め込まれているか、埋め込みファイルのサイズ、ファイル種別から構成されている。
【００５２】
これにより、プリンタ１００の印刷可能フォーマット判定部１０４は、埋め込みファイルが印刷可能か否か判定できる。プリンタ１００は、埋め込みファイルリストに記載の位置情報から、ＰＤＦポートフォリオのどの位置にファイルが埋め込まれているかを判断することが可能になる。また、プリンタ１００は、埋め込みファイルサイズから、印刷不可能な埋め込みファイルを読み飛ばすことが可能になる。
【００５３】
＜ＰＤＦポートフォリオの構造＞
図１１は、ＰＤＦポートフォリオの構造の一例を示す図である。図１１を参照してＰＤＦポートフォリオの構造について説明する。ＰＤＦポートフォリオは、実体は１つのＰＤＦファイルだが、ＰＤＦファイル内に複数のアプリケーション（Ｏｆｆｉｃｅ、テキストエディタ、ＰＤＦなど）のファイルを埋め込むことが可能なＰＤＦのフォーマットである。
【００５４】
図１１では、ＰＤＦポートフォリオに、ＰＤＦファイルとＭＳＷｏｒｄ、および他のファイルが埋め込まれているＰＤＦポートフォリオの構造を示している。
【００５５】
ＰＤＦは言語仕様として、オブジェクト（N 0 obj ~endobj）の集合として記述されるため、ＰＤＦポートフォリオも同様にオブジェクトの集合として記述される。各オブジェクトは別のオブジェクトから別のオブジェクトへ参照することが可能であり、例えば、N 0 objを参照したければ、N 0 Rとなる。ＰＤＦファイル内でオブジェクトは一意の値である。
【００５６】
埋め込みファイルは、埋め込みファイルヘッダに囲まれていて、ＰＤＦポートフォリオ内ではバイナリ形式で埋め込まれている。埋め込みファイルヘッダは、（2 0 obj）のようなＰＤＦポートフォリオ内で一意の位置情報と、埋め込まれたファイルのサイズ、および埋め込みファイルの種別（/SubType）についての情報を含んでいる。埋め込みファイルヘッダの後には、埋め込み対象のファイルそのものがバイナリ形式で埋め込まれている。
【００５７】
図１０に示した埋め込みファイルリストの位置情報とサイズ、ファイル種別は、このＰＤＦポートフォリオの内で一意の位置情報（2 0など）とサイズおよび種別を抽出したものになる。
【００５８】
ＰＤＦファイル内で、どのオブジェクトが埋め込みファイルオブジェクトで、どの位置に存在するのかを示す情報は、埋め込みファイル情報リスト位置情報で定義されている。これは、図１０に示す情報と同じである。（/EmbeddedFiles）エントリに、どのオブジェクトが埋め込みファイル情報リストなのかが記述されている。
【００５９】
埋め込みファイル情報リストには、ＰＤＦポートフォリオ内に定義されている全ての埋め込みファイルがどこにあるのか示す情報がリスト化されたものである。図１１では、（6 0 obj）に埋め込みファイル情報が存在することが示されている。
【００６０】
埋め込みファイル情報には、実際の埋め込みファイルオブジェクトはどこなのかを示す情報が記述されている。図１１の例では、（2 0 obj）にはL_L_L.pdfというＰＤＦファイルが埋め込まれていることがわかる。
【００６１】
ＰＤＦは、言語仕様として、各オブジェクトがどの位置に存在するかの情報を相互参照テーブルとしてファイルの末尾に保持している。これは、ＰＤＦファイルの先頭から何バイト（ｂｙｔｅ）目にオブジェクトが存在するかを示したものである。
【００６２】
なお、参考として、図１２は、ＰＤＦファイルとＭＳＷｏｒｄを埋め込んだＰＤＦポートフォリオをＡｄｏｂｅ  Ｒｅａｄｅｒで開いた画面であり、１ページ目のＰＤＦを開いた状態を示す図である。図１３は、ＰＤＦファイルとＭＳＷｏｒｄを埋め込んだＰＤＦポートフォリオをＡｄｏｂｅ  Ｒｅａｄｅｒで開いた画面であり、２ページ目のＭＳＷｏｒｄを開いた状態を示す図である。
【００６３】
＜変形例＞
この変形例では、予めクラウドで、どのファイル種別を印刷させるかの情報をユーザに設定させておき、アップロードされたＰＤＦポートフォリオをプルプリントする時に、サーバ２００側で、該当するファイル種別の場合は、プリンタ１００が該当する埋め込みファイルをダウンロードしないようにサーバ２００側で制御するというものである。
【００６４】
＜変形例におけるサーバの機能構成＞
図１４は、変形例によるサーバ２００の機能構成を示す図である。図１４に示すように、変形例によるサーバ２００は、通信部２０１、印刷データ蓄積部２０２、ユーザ認証部２０３、ＰＤＦ解析部２０５、データ処理部２０７、及び印刷データ送信制御部２２１を有する。この変形例では、実施の形態における埋め込みファイルリスト生成部２０４及び印刷データリスト生成部２０６が削除され、新たに印刷データ送信制御部２２１が追加されている。
【００６５】
印刷データ送信制御部２２１は、プリンタ１００がＰＤＦポートフォリオをダウンロードするときに、印刷不可能に指定された埋め込みファイルをプリンタ１００に送信しないように制御する。
【００６６】
＜変形例による印刷処理手順＞
図１５は、変形例によるサーバ２００に蓄積されたＰＤＦポートフォリオのプルプリント時の印刷処理手順を示すフローチャートである。図１５に示すように、まず、プリンタ１００は、ユーザが認証情報（ユーザ名、パスワード）を入力したか否かを判断する（ステップＳ２０１）。すなわち、認証情報が入力されることを条件にステップＳ２０２に移行する。
【００６７】
認証情報が入力される（ステップＳ２０１，Ｙｅｓ）と、プリンタ１００はサーバ２００に認証情報を送信する（ステップＳ２０２）。そして、サーバ２００は、認証情報をもとにユーザ認証を行う（ステップＳ２０３）。ユーザ認証されない場合（ステップＳ２０４，Ｎｏ）には、ステップＳ２０１に移行する。
【００６８】
ユーザ認証される（ステップＳ２０４，Ｙｅｓ）と、プリンタ１００はサーバ２００から、ユーザの蓄積された印刷データの中から、認証されたユーザの蓄積された印刷データのリストを取得する（ステップＳ２０５）。そして、プリンタ１００は、印刷付加フォーマットの指定画面を含む蓄積された印刷データリストを表示する（ステップＳ２０６）。
【００６９】
そして、プリンタ１００は印刷データが選択されるまで待つ（ステップＳ２０７）。印刷データが選択される（ステップＳ２０７，Ｙｅｓ）と、プリンタ１００はサーバ２００に、選択された印刷データ名を送信する（ステップＳ２０８）。
【００７０】
サーバ２００は、選択された印刷データがＰＤＦフォートフォリオであるか否かを判定する（ステップＳ２１０）。選択された印刷データがＰＤＦフォートフォリオである場合（ステップＳ２１０，Ｙｅｓ）には、サーバ２００は、印刷不可能に設定された埋め込みファイルを除いたＰＤＦファイルを生成して（ステップＳ２１１）、ステップＳ２１２に移行する。一方、選択された印刷データがＰＤＦフォートフォリオでない場合（ステップＳ２１０，Ｎｏ）、そのままステップＳ２１２に移行する。
【００７１】
ステップＳ２１２では、プリンタ１００は、サーバ２００から、生成した印刷データを取得する（ステップＳ２１２）。その後、プリンタ１００が取得した印刷データをハードディスク等のストレージに保存する（ステップＳ２１３）。
【００７２】
その後、プリンタ１００は、印刷データの取得が完了したか否かを判断する（ステップＳ２１４）。印刷データの取得が完了していない場合（ステップＳ２１４，Ｎｏ）には、ステップＳ２１２に移行する。一方、印刷データの取得が完了している場合（ステップＳ２１４，Ｙｅｓ）、プリンタ１００は印刷データを解析し、印刷用ビットマップデータを生成する（ステップＳ２１５）。そして、プリンタ１００は、印刷データの解析が完了しているか否かを判断する（ステップＳ２１６）。プリンタ１００は、印刷データの解析が完了していない場合（ステップＳ２１４，Ｎｏ）には、ステップＳ２１５に戻り、ステップＳ２１４の処理を繰り返す。一方、印刷データの解析が完了している場合（ステップＳ２１６，Ｙｅｓ）には、生成した印刷用ビットマップデータを印刷し（ステップＳ２１７）、本処理を終了する。
【００７３】
＜印刷データリストの一例＞
図１６は、変形例による印刷付加フォーマットの指定を含む印刷データリストの一例を示す図である。図１６に示すように、プリンタ１００は、蓄積された印刷データのリストを表示することで、ユーザがどの印刷データを印刷するのか選択することができるとともに、ＰＤＦポートフォリオでどの文書フォーマットの印刷を許可するかを指定することができる。
【００７４】
なお、サーバ２００がプリンタ１００に印刷可能なフォーマットを問い合せ、返答に応じてどの種類のファイルの処理をサーバで実施しないか判定するようにしてもよい。
【００７５】
このように本実施の形態及び変形例では、ファイルに埋め込まれたデータの種別に応じて各埋め込まれたデータの処理を行うか否かを判断し、判断に応じて処理の制御を行うようにしている。特に、プリンタ１００側が印刷不可能なファイルが埋め込まれている場合、プリンタ１００側が印刷不可能なファイルを抽出し、または予め、プリンタ１００側が印刷不可能なファイルをサーバ２００側に通知し、あるいは予め、サーバ２００側がプリンタ１００側への問合せによってプリンタ側の印刷不可能なファイルの回答を得て、この印刷不可能なファイルの印刷処理を行わないようにしている。したがって、印刷不可能なファイルに対する無駄な処理が行われず、迅速な印刷出力を行うことができるとともに、無駄にリソースを使用を防止することができる。
【００７６】
なお、ＰＤＦは言語仕様として、ファイル末尾に文書の構造を示した相互参照テーブルが存在するため、ＰＤＦ全体を一旦ハードディスク等のストレージに保存してからＰＤＦファイルのパースを実施する必要がある。そのため、印刷不可能なファイルが含まれていたとしても通常は全てストレージに保存してしまっていた。
【００７７】
また、上記の実施の形態及び変形例では、いずれもプルプリントシステムを例に挙げて説明したが、これに限らず、ＰＣなどのプリンタドライバからの印刷のようにクライアントＰＣがトリガとなって印刷する場合にも適用することができる。
【００７８】
なお、ＰＤＬとしては、ＰＣＬＸＬ，ＰＣＬ５Ｅ，ＰＣＬｍ，ＰＷＧ−Ｒａｓｔｅｒ，ＲＰＣＳ，ＰＳ３，ＰＤＦ，ＸＰＳ，ＵＲＦなどがあげられる。
【００７９】
以上、本発明に係る実施の形態及び変形例について説明したが、本発明は、上述の実施の形態及び変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施の形態及び変形例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態及び変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【００８０】
また、上述した実施の形態及び変形例のサーバ２００及びプリンタ１００で実行されるソフトウェア（プログラム）は、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ＵＳＢ（Universal  Serial  Bus）などのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭなどに予め組み込んで提供するように構成してもよい。
【符号の説明】
【００８１】
１００  プリンタ
１０１  通信部
１０２  操作表示部
１０３  画像生成部
１０４  印刷可能フォーマット判定部
１０５  データ一時保存部
１０６，２０５  ＰＤＦ解析部
１０７  印刷部
１０８，２０７  データ処理部
２００  サーバ
２０１  通信部
２０２  印刷データ蓄積部
２０３  ユーザ認証部
２０４  埋め込みファイルリスト生成部
２０６  印刷データリスト生成部
２２１  印刷データ送信制御部
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特許第４７８４３６１号公報
【図１】
2019164565.tif 000003
【図２】
2019164565.tif 000004
【図３】
2019164565.tif 000005
【図４】
2019164565.tif 000006
【図５】
2019164565.tif 000007
【図６】
2019164565.tif 000008
【図７】
2019164565.tif 000009
【図８】
2019164565.tif 000010
【図９】
2019164565.tif 000011
【図１０】
2019164565.tif 000012
【図１１】
2019164565.tif 000013
【図１２】
2019164565.tif 000014
【図１３】
2019164565.tif 000015
【図１４】
2019164565.tif 000016
【図１５】
2019164565.tif 000017
【図１６】
2019164565.tif 000018