(57)【要約】【課題】      ユーザの用途に応じたユーザインタフェース画面を構築し、ユーザインタフェース画面からの設定によりマルチファンクション機器固有の機能やサーバアプリケーションの機能を利用した画像形成を行うこと。【解決手段】  情報処理装置と通信する画像形成装置は、挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示部と、表示部が表示する画面を介して入力される指示に応じて、情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、情報処理装置に対して送信する送信部と、送信部が送信した特定情報を用いて情報処理装置において動的レイアウトされたデータを受信する受信部と、受信部が受信した前記データを出力する出力部と、を備えることを特徴とする。【選択図】  図１０
2008086028.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信する画像形成装置であって、
挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示手段と、
前記表示手段が表示する画面を介して入力される指示に応じて、前記情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、前記情報処理装置に対して送信する送信手段と、
前記送信手段が送信した特定情報を用いて、前記情報処理装置において動的レイアウトされたデータを受信する受信手段と、
前記受信手段が受信した前記データを出力する出力手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
ユーザインタフェースを構成するための情報が設定されている構成データを取得する取得手段を更に備え、
前記取得手段が取得した構成データを解析して、前記表示手段は動的レイアウトを実行する指示を入力するための画面を前記操作部に表示することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
挿し込みデータとフォームデータとを特定するための特定情報を入力する入力手段を更に備え
前記送信手段は、前記入力手段が入力した前記特定情報を送信し、
前記受信手段は、前記送信手段が送信した特定情報を用いて特定された挿し込みデータとフォームデータに基づき前記情報処理装置が動的レイアウトしたデータを受信し、
前記出力手段は、前記受信手段が受信したデータを出力することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記構成データには、前記ユーザインタフェースから指示された処理を実行するための機能選択情報が含まれており、
前記選択手段は、前記機能選択情報に基づいて、前記ユーザインタフェースの設定に対応する前記情報処理装置及び画像形成装置の機能を選択することを特徴とする請求項２に記載の画像形成装置。
【請求項５】
前記画像形成装置の印刷機能を利用する場合、
前記選択手段は、前記送信手段が送信した特定情報により、データの検索と、当該検索結果に基づくファイルの生成を前記情報処理装置に実行させることを特徴とする請求項１または４に記載の画像形成装置。
【請求項６】
前記印刷機能を実行する画像形成手段を更に備え、
前記受信手段は、前記情報処理装置により動的レイアウト生成されたデータを、当該情報処理装置から取得し、
前記画像形成手段は、前記受信手段が取得したデータを前記選択した画像形成装置の印刷機能に従って処理することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記動的レイアウトは、差し込まれる差込みデータのデータ量に依存して、差込データのレイアウトが動的に決定されるものであることを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
情報処理装置と通信する画像形成装置の制御方法であって、
挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示工程と、
前記表示工程が表示する画面を介して入力される指示に応じて、前記情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、前記情報処理装置に対して送信する送信工程と、
前記送信工程が送信した特定情報を用いて、前記情報処理装置において動的レイアウトされたデータを受信する受信工程と、
前記受信工程が受信した前記データを出力する出力工程と、
を備えることを特徴とする画像形成装置の制御方法。
【請求項９】
ユーザインタフェースを構成するための情報が設定されている構成データを取得する取得工程を更に備え、
前記取得工程が取得した構成データを解析して、前記表示工程は動的レイアウトを実行する指示を入力するための画面を前記操作部に表示することを特徴とする請求項８に記載の画像形成装置の制御方法。
【請求項１０】
挿し込みデータとフォームデータとを特定するための特定情報を入力する入力工程を更に備え
前記送信工程は、前記入力工程が入力した前記特定情報を送信し、
前記受信工程は、前記送信工程が送信した特定情報を用いて特定された挿し込みデータとフォームデータに基づき前記情報処理装置が動的レイアウトしたデータを受信し、
前記出力工程は、前記受信工程が受信したデータを出力することを特徴とする請求項８または９に記載の画像形成装置の制御方法。
【請求項１１】
前記構成データには、前記ユーザインタフェースから指示された処理を実行するための機能選択情報が含まれており、
前記選択工程は、前記機能選択情報に基づいて、前記ユーザインタフェースの設定に対応する前記情報処理装置及び画像形成装置の機能を選択することを特徴とする請求項９に記載の画像形成装置の制御方法。
【請求項１２】
前記画像形成装置の印刷機能を利用する場合、
前記選択工程は、前記送信工程が送信した特定情報により、データの検索と、当該検索結果に基づくファイルの生成を前記情報処理装置に実行させることを特徴とする請求項８または１１に記載の画像形成装置の制御方法。
【請求項１３】
前記印刷機能を実行する画像形成工程を更に備え、
前記受信工程は、前記情報処理装置により動的レイアウト生成されたデータを、当該情報処理装置から取得し、
前記画像形成工程は、前記受信工程が取得したデータを前記選択した画像形成装置の印刷機能に従って処理することを特徴とする請求項１２に記載の画像形成装置の制御方法。
【請求項１４】
前記動的レイアウトは、差し込まれる差込みデータのデータ量に依存して、差込データのレイアウトが動的に決定されるものであることを特徴とする請求項８乃至１３のいずれか１項に記載の画像形成装置の制御方法。
【請求項１５】
請求項８乃至１４のいずれか１項に記載の画像形成装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したことを特徴とするコンピュータ可読の記憶媒体。
【請求項１７】
情報処理装置と、当該情報処理装置と通信し、当該情報処理装置の機能を利用した処理が可能な画像形成装置と、を有する画像形成システムであって、
前記画像形成装置は、
挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示手段と、
前記表示手段が表示する画面を介して入力される指示に応じて、前記情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、前記情報処理装置に対して送信する送信手段とを備え、
前記情報処理装置は、
前記送信手段が送信した前記特定情報を受信する特定情報受信手段と、
前記特定情報を用いて、動的レイアウトを実行する動的レイアウト実行手段と、
前記動的レイアウト実行手段により動的レイアウトされたデータを前記画像形成装置に送信する動的レイアウトデータ送信手段とを備え、
前記画像形成装置は、
前記動的レイアウトデータ送信手段から送信された前記データを受信する受信手段と、
前記受信手段が受信した前記データを出力する出力手段と、
を更に備えることを特徴とする画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの用途に応じたユーザインタフェース（ＵＩ）画面を構築し、ＵＩからの指定によりマルチファンクション機器（ＭＦＰ）固有の機能やサーバアプリケーションの機能を利用して画像形成する技術に関するものである。
【背景技術】
【０００２】
近年、マルチファンクション機器（ＭＦＰ）（以下、単に「画像形成装置」ともいう）にＪａｖａ（登録商標）環境に代表されるようなアプリケーション実行環境が提供されるようになってきている。Ｊａｖａ（登録商標）環境上で動作するプログラムを開発すれば、ＭＦＰの機能を利用したアプリケーションが作成可能である。一般にこれらのアプリケーションは、画面構成やＭＦＰが提供する機能が固定的なパッケージ・アプリケーションと呼ばれるものが大半である。
【０００３】
一方で、ＭＦＰと通信可能なサーバ上で動作するサーバアプリケーションとを連携させたソリューションをユーザ企業に提供する場合、固定の画面構成や機能を提供するパッケージ・アプリケーションではユーザの要求仕様を柔軟に満たすことは困難である。
【０００４】
例えば、特許文献１に開示されている技術によれば、ＭＦＰのアプリケーションプログラムをサーバからダウンロードして実行する技術が公開されている。しかしながら、特許文献１の開示内容は、ＭＦＰのアプリケーション自体のカスタマイズについては言及されておらず、ユーザの要求に応じて個別のソリューションを提供することは困難である。
【０００５】
ＭＦＰとサーバ上のアプリケーションとを連携させたソリューションの事例としては、文書管理サーバやコンテンツサーバに保管してあるファイルをＭＦＰがネットワークを介して取得して印刷するプル型印刷システムの事例がある。また、ＭＦＰでスキャンして生成したスキャン文書ファイルを文書管理サーバやコンテンツサーバに登録するシステムなどの事例がある。
【０００６】
例えば、プル型印刷を適用したパンフレット印刷システムを想定した場合、異なる業種である電器販売店と旅行代理店とは、異なった仕様のパンフレット印刷が要求される。例えば、電器販売店の場合、デジタルカメラ等の商品ごとにパンフレットを印刷したいという要求仕様が想定され、旅行代理店の場合は旅行の目的地別にパンフレットを印刷したいという要求仕様が想定される。こういった場合、ＭＦＰのＵＩはユーザが直接に見たり、触れたりして、処理したい業務に合わせてＭＦＰやサーバアプリケーションに指示をするものであり、固定の画面構成では、想定される幅広いユーザの要求仕様を満たすことは困難であった。
【０００７】
また、特許文献２には、プリンタとスキャナの対応関係を、転送パスプロトコルとしてサーバに登録しておき、これを複合機等にダウンロードして配布する技術が記載されている。そして、当該転送パスプロトコルを用いて、プリンタとスキャナとの組に対応する仮想コピーのアイコンを操作パネルに表示する技術が記載されている。
【特許文献１】特開２０００−２９８５６１号公報
【特許文献２】特開２０００‐１９６６９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の技術では、入力機器と出力機器の組合わせを示すアイコンを指示することにより、複数の機器を連携させることにより、ひとつのサービスを実行させることはできた。しかしながら、上記の従来技術では、指定される機器の複数の機能を単純に順次実行させるだけであった。画像形成装置が通信する外部の機器の様々な機能を活用し、柔軟に画像形成装置の機能を変更又は拡張することはできなかった。
【０００９】
また、従来は、挿し込みデータとテンプレートとの組合わせに応じて、その度にフォームのレイアウトの設計を行う必要があった。このため、画像形成装置におけるユーザからの簡単な指示だけでは所望の出力物を得ることができなかった。
【００１０】
本発明のひとつの側面は、画像形成装置が通信する外部の情報処理装置の様々な機能を活用して、画像形成装置の機能を拡張又はカスタマイズする仕組みを提供することを目的とする。
【００１１】
更に本発明の別の側面は、動的レイアウト機能を持つ外部の装置と連携して、画像形成装置の表示画面から簡単な指示を行うだけで、所望の出力物を得ることができる仕組みを提供することをさらに別の目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するべく、本発明にかかる画像形成装置、画像形成装置の制御方法は、主として以下の構成を備えることを特徴とする。
【００１３】
すなわち、本発明に係る画像形成装置は、情報処理装置と通信する画像形成装置であって、
挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示手段と、
前記表示手段が表示する画面を介して入力される指示に応じて、前記情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、前記情報処理装置に対して送信する送信手段と、
前記送信手段が送信した特定情報を用いて、前記情報処理装置において動的レイアウトされたデータを受信する受信手段と、
前記受信手段が受信した前記データを出力する出力手段と、
を備えることを特徴とする。
【００１４】
あるいは、本発明に係る画像形成装置の制御方法は、情報処理装置と通信する画像形成装置の制御方法であって、
挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する表示工程と、
前記表示工程が表示する画面を介して入力される指示に応じて、前記情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、前記情報処理装置に対して送信する送信工程と、
前記送信工程が送信した特定情報を用いて、前記情報処理装置において動的レイアウトされたデータを受信する受信工程と、
前記受信工程が受信した前記データを出力する出力工程と、
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ユーザの用途に応じたユーザインタフェース画面を構築し、ユーザインタフェース画面からの設定によりマルチファンクション機器固有の機能やサーバアプリケーションの機能を利用した画像形成が可能になる。
【発明を実施するための最良の形態】
【００１６】
[第1実施形態]
以下、添付図面を参照して本発明の好適な第1実施形態を説明する。本実施形態では、情報処理装置（サーバコンピュータ）と画像形成装置（マルチファンクション機器（ＭＦＰ：Multi Function Peripheral））とが連携したプル型印刷の実施形態を説明する。情報処理装置と通信する画像形成装置において、表示部は、挿し込みデータと、レイアウト情報を含むテンプレートデータとを用いて画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する。送信部は、表示部が表示する画面を介して入力される指示に応じて、情報処理装置の動的レイアウト機能を用いて処理する際に用いられる特定情報を、情報処理装置に対して送信する。受信部は、送信部が送信した特定情報を用いて、情報処理装置において動的レイアウトされたデータを受信する。出力部は、受信部が受信したデータを出力する。取得部は、ユーザインタフェースを構成するための情報が設定されている構成データを取得する。ここで、取得部が取得した構成データを解析して、表示部は動的レイアウトを実行する指示を入力するための画面を操作部に表示する。また、入力部は、挿し込みデータとフォームデータとを特定するための特定情報を入力する。ここで、送信部は、入力部が入力した特定情報を送信し、受信部は、送信部が送信した特定情報を用いて特定された挿し込みデータとフォームデータに基づき情報処理装置が動的レイアウトしたデータを受信し、出力部は、受信部が受信したデータを出力する。ここで、構成データには、ユーザインタフェースから指示された処理を実行するための機能選択情報が含まれており、選択部は、機能選択情報に基づいて、ユーザインタフェースの設定に対応する情報処理装置及び画像形成装置の機能を選択する。画像形成装置の印刷機能を利用する場合、選択部は、送信部が送信した特定情報により、データの検索と、検索結果に基づくファイルの生成を情報処理装置に実行させる。画像形成部は、印刷機能を実行する。受信部は、情報処理装置により動的レイアウト生成されたデータを、情報処理装置から取得し、画像形成部は、受信部が取得したデータを選択した画像形成装置の印刷機能に従って処理する。動的レイアウトは、差し込まれる差込みデータのデータ量に依存して、差込データのレイアウトが動的に決定されるものである。画像形成システムは、情報処理装置と、情報処理装置と通信し情報処理装置の機能を利用した処理が可能な画像形成装置と、を有する。ここで、情報処理装置は、画像形成装置の送信部が送信した特定情報を受信する特定情報受信部を有する。また、情報処理装置は、特定情報を用いて、動的レイアウトを実行する動的レイアウト実行部と、動的レイアウト実行部により動的レイアウトされたデータを画像形成装置に送信する動的レイアウトデータ送信部とを有する。また、画像形成装置は、情報処理装置の動的レイアウトデータ送信部から送信されたデータを受信する受信部と、受信したデータを出力する出力部と、を更に有する。
【００１７】
（システムの構成）
図１は本発明の実施形態にかかるＭＦＰとサーバコンピュータとからなるシステムの構成を示す図である。図１において、１００はＪａｖａ（登録商標）環境に適用可能なＭＦＰである。１０１はネットワークであり、１０２はサーバコンピュータである。サーバコンピュータ１０２上において、ＭＦＰ１００との通信を担うプログラムや、ＭＦＰ１００に提供するＵＩを構築するためのファイル生成プログラム、文書管理サーバ、コンテンツサーバとして機能するためのサーバアプリケーションが動作する。１０３はサーバコンピュータ１０２が利用可能な格納手段として機能する、データベースシステムあるいはファイルストレージシステムである。格納手段１０３のデータベースシステムには、種々の商品情報やその画像情報を格納することが可能である。サーバコンピュータ１０２は、ＭＦＰ１００からの指定によりカタログを生成する際に、指定された商品に関する情報をデータベースシステムから検索し、検索した情報に基づいて、商品情報や画像情報の配置を決定してカタログを生成することができる。この処理は、サーバコンピュータ１０２のサーバアプリケーションの機能により提供される。
【００１８】
１０４はサーバコンピュータ１０２に接続してオペレータが処理を行うクライアントＰＣである。例えば、オペレータは、クライアントＰＣ１０４を介して、予め、ＭＦＰ１００に提供するＵＩを構築するための項目（例えば、商品の指定欄、差込み広告欄、印刷品質欄、文書種別欄等）を指定することが可能である。サーバコンピュータ１０２上サーバアプリケーションは、クライアントＰＣ１０４で指定された項目により、ＵＩ構成設定ファイルを生成し、サーバコンピュータ１０２のＨＤＤ４０６（図４）に登録することができる。
【００１９】
尚、ＵＩを構築するための項目の指定、ＵＩ構成設定ファイルの生成と登録は、サーバコンピュータ１０２で行うことも可能である。
【００２０】
図２は、図１に示したＭＦＰ１００の詳細な構成を説明する図であり、２００は原稿自動送り部（以下、「フィーダ」）、２０１は原稿スキャニング部、２０２はディスプレイ・タッチパネル部、２０３は給紙部である。また、２０４は定着部、２０５は排紙部、２０６はフィニッシング装置、２０７は排紙トレイそして２０８はプリントエンジン部である。
【００２１】
（ＭＦＰ１００における情報処理機能の論理構成）
図３は、ＭＦＰ１００における情報処理機能の論理構成を示すブロック図である。３００はユーザに対しユーザインタフェース（ＵＩ）を提供するディスプレイ・タッチパネル部であり、３０１はネットワーク１０１を介して外部機器と通信を行うネットワークインタフェース部である。３０２はＭＦＰ１００を制御するプログラムを実行するＣＰＵであり、３０３は組込済みプログラムおよびデータが記録されているＲＯＭである。３０４はＣＰＵやプログラムの処理において利用可能なメモリ領域であるＲＡＭであり、３０５は大容量記憶領域のＨＤＤであり、各部は入出力インターフェース３０６を介して接続されている。
【００２２】
（サーバＰＣ及びクライアントＰＣにおける情報処理機能の論理構成）
図４は、図１において示したサーバコンピュータ（ＰＣ）１０２およびクライアントＰＣ１０４における情報処理機能の論理構成を示すブロック図である。４００はユーザから入力を受け付けるキーボード・マウスの入力制御部、４０１はユーザに出力画面を提供するディスプレイ部である。４０２はネットワークを介して外部機器と通信を行うネットワークインタフェース部、４０３は制御プログラムを実行するＣＰＵである。４０４は組込済みアプリケーション及びデータが記録されているＲＯＭ、４０５はＣＰＵやアプリケーションの処理において利用可能なメモリ領域であるＲＡＭである。４０６は大容量記憶装置のＨＤＤであり、各部は入出力インターフェース４０７を介して接続されている。
【００２３】
（ＭＦＰ１００のソフトウェア構成）
図５は、ＭＦＰ１００において実行可能なアプリケーションプログラムに関するソフトウェア構成を示す図である。ソフトウェア構成は、ＭＦＰ１００の各種機能をリアルタイムに制御可能なリアルタイムＯＳ５０１の各モジュール、或いは、ＣＰＵ３０２に命令してＭＦＰ１００の各機能を制御することが可能なライブラリ群より構成される。ＭＦＰ１００の各機能は、その上位で動作するアプリケーションに対して、インターフェース・コマンドを提供するモジュール群により実現されるものである。５０２はリアルタイムＯＳ５０１上で動作するコントローラ制御部であり、ＭＦＰ１００を構成するスキャニング部２０１、プリントエンジン部２０８、モデム通信部、ＰＤＬ展開部などを制御する各モジュールにより構成されるものとする。５０３はアプリケーション・プログラミング・インターフェース（以下、ＡＰＩ）である。ＡＰＩ５０３は、アプリケーションからの命令の入力に応答して、コントローラ制御部５０２にアクセスするための処理と、ネットワークインタフェース３０１を制御する機能を有する。５０４は、特定のアプリケーションを実行するために最適な実行環境であり、例えば、Ｊａｖａ（登録商標）の仮想マシンなどにより実現されるものである。５０５は実行環境５０４が使用する資源を管理するリソース管理部であり、リアルタイムＯＳ５０１上で動作する。リソース管理部５０５は、実行環境を実現する仮想マシン５０４自身、ＡＰＩ５０３、或いはリアルタイムＯＳ５０１上の全アプリケーションがメモリ等のリソース資源を使用する際、予め決められた以上の資源が使用できないように制限するものである。５０６、５０７、５０８は、ＭＦＰ１００において動作可能なアプリケーション群の一例である。以降の説明においては、対象アプリケーションを５０６（アプリケーションＡ）であるとする。
【００２４】
（ＵＩ構築に関する動作シーケンス）
図６は、カスタマイズされたＵＩを構築する動作シーケンスを示す図である。ステップＳ６０１において、管理者はサーバコンピュータ１０２にＭＦＰ１００のアドレス登録を行い、ステップＳ６０２において、ＵＩ構成設定ファイルを登録する。
【００２５】
ステップＳ６０３において、サーバコンピュータ１０２は、ＭＦＰ１００へ、先のステップＳ６０２で登録されたＵＩ構成設定ファイルを割り当てる。
【００２６】
ステップＳ６０４において、サーバコンピュータ１０２は、アプリケーション５０６が動作しているＭＦＰ１００に対し、サーバコンピュータ１０２自身のサーバアドレスを登録する。
【００２７】
ステップＳ６０５において、ＭＦＰ１００のアプリケーション５０６は、先のステップＳ６０４において登録されたサーバアドレスに対し、ＵＩ構成設定ファイル取得要求をサーバコンピュータ１０２に送信する。
【００２８】
ステップＳ６０６において、サーバコンピュータ１０２は、ＭＦＰ１００に割り当てたＵＩ構成ファイルを読み出し、ＭＦＰ１００のアプリケーション５０６は、ＵＩ構成設定ファイルをサーバコンピュータ１０２よりダウンロードする。
【００２９】
ステップＳ６０７において、アプリケーション５０６は、ダウンロードしたＵＩ構成設定ファイルをＨＤＤ３０５に保存し、ＵＩ構成設定ファイルの内容を解析する。そして、その解析の結果に基づいて、ＵＩを構築する（Ｓ６０８）。
【００３０】
同様の手順に従い、サーバコンピュータ１０２は、他のＭＦＰに対して、任意のＵＩ構成設定ファイルを登録し、割り当てることが可能である。また、他のＭＦＰは、個別に割り当てられたＵＩ構成設定ファイルに従って、ユーザの用途に応じたユーザインタフェース画面を構築することが可能である（Ｓ６０９）。
【００３１】
（ＵＩ画面の例）
図７は、アプリケーション５０６がＭＦＰ１００のディスプレイ・タッチパネル部２０２上において提供するＵＩ７００の一例を示す図である。このＵＩ７００の例は、デジタルカメラの広告作成を印刷の対象とするものである。図７において、７０１は、アプリケーション名の表示とアプリケーションの選択が可能な表示・選択部であり、表示・選択部７０１を選択すると、例えば、プルダウンメニュー中に選択可能なアプリケーションが表示される。表示・選択部７０１の操作により、アプリケーションの切り替えを行うことが可能である。７０２は、ディスプレイ・タッチパネル部２０２に表示されるＵＩ７００のフレームを示している。７０３は商品の指定欄を示し、７０４は、差込み広告の指定欄を示し、そして、７０５は、印刷品質の指定欄を示す。７０３〜７０５の各指定欄は、デジタルカメラの広告作成を対象とした例示的な指定内容を示す欄であり、本発明の趣旨は、この表示内容に限定されるものでないことは言うまでもない。すなわち、ＭＦＰ１００の各アプリケーションは、ユーザの用途に応じたＵＩ構成設定ファイルの内容に基づいて、ユーザの要求仕様に適したユーザインタフェース画面を構築することができるものとする。
【００３２】
７０６は、サーバコンピュータ１０２で生成された指定情報ファイルに基づく印刷出力を指定するコントロールボタンである。コントロールボタン７０６が押下されると、各指定欄（７０３、７０４）で指定された商品等に対応する各データが引数として、サーバコンピュータ１０２に送られる。ここで、サーバコンピュータ１０２に送られる各データが、カタログ生成のためのカタログ生成情報となる。サーバコンピュータ１０２が生成したカタログは、ＭＦＰ１０にダウンロードされ、ＣＰＵ３０２の制御の下、印刷処理が実行される。このサーバコンピュータ１０２とＭＦＰ１００とが連携したプル型印刷処理の詳細は、図１１の参照により後に詳細に説明する。
【００３３】
（ＵＩ構成設定ファイルの例）
図８及び図９は、ＵＩ構成設定ファイルの一部をＸＭＬ（Extensible  Markup  Language）形式で表現した例を示す図である。図８のＸＭＬ８００の場合、ルートノードUIConfiguration（８０１）には、Componentsノード（８０２）とActionMappingノード（８０３）とが含まれている。ここで、Componentsノード（８０２）には、ＵＩを構築するためのＵＩ構成情報が含まれており、ActionMappingノード（８０３）には、ＵＩから指示された処理を実行するためのアクション呼出の情報（機能選択情報）が含まれている。
【００３４】
Componentsノード（８０２）中のＵＩ構成情報として、例えば、８０４は図７におけるＵＩ表示を構成するパネルの要素（Panel）を識別する識別情報であり、８０９はパネルの表示位置、サイズ等を具体的に特定するための属性情報である。ＣＰＵ３０２の制御の下、アプリケーション５０６は、識別情報８０４と、この識別情報８０４に対応する属性情報８０９と、に基づいて、ＵＩの構成要素の表示を制御して、ＵＩを構築することができる。
【００３５】
ＸＭＬ８００には、商品の指定欄のＵＩを構成するための構成要素として、識別情報（List）８０５が記述され、対応する属性情報８１０により、商品指定欄の表示位置、サイズ等が具体的に特定される。ＣＰＵ３０２の制御の下、アプリケーション５０６は、識別情報８０５と属性情報８１０とに基づいてＵＩ中の商品指定欄の表示を制御して、ＵＩを構築することができる。
【００３６】
また、ＸＭＬ８００には、差込み広告の指定欄のＵＩを構成するための構成要素として、識別情報（List）８０６が記述され、対応する属性情報８１１により、差込み広告指定欄の表示位置、サイズ等が具体的に特定される。ＣＰＵ３０２の制御の下、アプリケーション５０６は、識別情報８０６と属性情報８１１とに基づいてＵＩ中の差込み広告指定欄の表示を制御して、ＵＩを構築することができる。
【００３７】
更に、印刷品質指定欄のＵＩを構成するための構成要素として、識別情報（Choice）８０７が記述され、対応する属性情報８１２により、印刷品質指定欄の表示位置、サイズ等が具体的に特定される。ＣＰＵ３０２の制御の下、アプリケーション５０６は、識別情報８０７と属性情報８１２とに基づいてＵＩ中の印刷品質指定欄の表示を制御して、ＵＩを構築することができる。
【００３８】
印刷開始を指示するためのボタン要素をＵＩの構成要素として、識別情報(Button)８０８が記述され、対応する属性情報８１３により、ボタン要素の表示位置、サイズ等が具体的に特定される。ラベル情報８１４には、ボタン要素に付加表示される内容が記述されている。ＣＰＵ３０２の制御の下、アプリケーション５０６は、識別情報８０８、属性情報８１３、ラベル情報８１４と、に基づいてＵＩ中のボタン要素の表示を制御して、ＵＩを構築することができる。
【００３９】
尚、各構成要素の表示において、表示すべきテキストなどの参照情報がDataRef要素として記述されている。アプリケーション５０６は、上述の識別情報、属性情報に加えて、表示すべきテキストなどの参照情報により、ＵＩを構築することができるものとする。
【００４０】
図９（ａ）のＸＭＬ９００は、図８のＸＭＬ８００中における参照情報（DataRef要素）の内容を記述するものである。ルートノードDataSource（９０１）にはDataSet要素（９０２）とData要素（９０３、９０４、９０５）が含まれている。DataSet要素（９０２）の中で記述されているData要素（９０３、９０４、９０５）は、ＸＭＬ８００における参照データ８５０に基づき、ＵＩを構築するための表示データとして参照される。
【００４１】
図８のＸＭＬ８００において、８１５は、ボタン要素７０６が押下された場合（コントロールイベント発生時）に実行するべき動作（Target Action）を記述する。コントロールイベント発生時に実行するべき動作として、８１５においては、"act_001"が記述されている。ボタン要素７０６が押下され、コントロールイベントが発生すると、Action Mappingノード（８０３）中のアクション要素（Action）の属性"id=act_001"が参照される。属性"id=act_001"は、呼出アクション名(name)、アクションの属性（type）を定義する（８７０）。ここで、アクションの属性（type）として利用可能なものとしては、例えば、プログラムモジュールの関数名、ＵＲＩなどが挙げられる。
【００４２】
アクション要素（Action）中には、更に、Argumentsノードが含まれ、各指定欄の表示からユーザが選択または入力したデータをアクションの引数として与えることが可能である（８２０、８２１、８２２）。
【００４３】
例えば、商品指定欄７０３で、ユーザが「DIGITAL C55」の項目を指定した場合、図９のＸＭＬ９００において「DIGITAL C55」に対応するデータ「0622A001」が、引数として与えられる。アプリケーション５０６はこの引数を読み込む。送信指示があると、この後に説明するサーバ装置のダイナミックレイアウトエンジンに対して送信する。
【００４４】
図８及び図９は、ＵＩ構成設定ファイルの例示であり、本発明の趣旨はこの構成に限定されるものでないことはいうまでもない。ＵＩ構成設定ファイルの記述を変更することにより、アプリケーション５０６は、ＵＩの構成を柔軟に変更することが可能である。
【００４５】
また、ＵＩ構成設定ファイルはＸＭＬ形式に限定されるものではなく、例えば、テキストファイル、バイナリファイル、データストリームなどの形式により記載してもよい。
【００４６】
ＵＩがユーザによって操作されると、操作に対応するＭＦＰ１００固有の機能の呼び出しに必要なデータは、ＵＩ構成設定ファイル中のComponentsノード（８０２）とAction Mappingノード（８０３）と間で受け渡される。そして、ＵＩの操作に対応するサーバアプリケーションの機能の呼び出しに必要なデータは、ＭＦＰ１００とサーバコンピュータ１０２との間で受け渡される。これにより、ＭＦＰの機能を制御するとともに、サーバアプリケーションと連携する機能を制御することが可能になる。
【００４７】
（アプリケーション５０６の論理的構成）
図１０は、アプリケーション５０６の論理的構成を示す図である。１０００はアプリケーション全体である。
【００４８】
ステップＳ１０５１において、ＵＩ構成設定ファイル受信／解析部１００２がサーバコンピュータ１０４からダウンロードしたＵＩ構成設定ファイルを受信し、その内容を解析する。
【００４９】
ステップＳ１０５２において、ＵＩ構成設定ファイル受信／解析部１００２は、解析済みであるＵＩ構成設定ファイルのデータを記憶領域１００３、１００６に格納する。ＵＩを構築するための各構成要素（コントロール）に関する設定値（属性情報等）のキャッシュデータは記憶領域１００３に格納され、ＵＩから指定されるアクションのマッピングデータは、記憶領域１００６に格納される。
【００５０】
ステップＳ１０５３において、ＵＩ構築部１００４は、記憶領域１００３のデータ（識別情報と、属性情報等）を参照して、ＵＩを構築するための各構成要素（各コントロール）を生成しＵＩ１００１を構築する（Ｓ１０５４）。ここで、各コントロールは、例えば、図７で示した７０３、７０４等の構成要素として生成される。図１０においては、ＵＩ１００１の構成要素としてｎ個のコントロール（Control 1、2、3・・・ｎ）が生成されている。
【００５１】
構築されたＵＩの各構成要素（コントロール（Control 1、2、3・・・ｎ））がユーザによって操作、設定されると（Ｓ１０５５）、操作、設定されたコントロール要素からイベント（操作、設定に対応したコマンド）が発生する。そして、このイベントは、イベント・ハンドル部１００５に通知される（Ｓ１０５６）。
【００５２】
イベント・ハンドル部１００５は、記憶領域１００６のマッピングデータを参照し、該当するコントロール（操作、設定）に割り当てられているアクションを呼び出す。イベント・ハンドル部１００５は、発生したイベントに対応するアクションを実行するための機能を選択し、アプリケーション５０６の内部の機能モジュール群１００７ａ、ｂ、ｃ等を呼び出すことができるものとする。
【００５３】
例えば、機能モジュール１００７ａは、ＡＰＩなどを介してＭＦＰの機能１００８を利用したり、サーバアプリケーションで提供している機能１００９などを利用するよう構成しておくことが可能である。
【００５４】
ここで、ＭＦＰ１００の機能としては、印刷機能や、ファクシミリ機能、スキャン機能等が含まれ、各機能を機能モジュール群１００７ａ、ｂ、ｃに割り当てることにより、選択的にＭＦＰ１００の機能を利用することができる。
【００５５】
ＭＦＰ１００の印刷機能と連携したサーバアプリケーションの機能としては、ＵＩから指定されたデータ検索、データのレイアウト、レイアウトされたファイルを印刷の対象として生成し、ダウンロードする機能等が含まれる。また、ＭＦＰ１００のスキャン機能と連携したサーバアプリケーションの機能としては、スキャニング部２０１より入力されたデータの登録処理に関する機能が含まれる。
【００５６】
（ＭＦＰとサーバコンピュータの連携）
次に、図７のＵＩ７００の例を用いて、アクションの呼出からＭＦＰ１００の印刷機能、サーバアプリケーションのデータ検索、レイアウト、ファイル生成機能を利用したプル型印刷の例を図１１のシーケンス図を参照して説明する。
【００５７】
ステップＳ１１５１において、ユーザはＵＩ７００を利用して、各コントロール（商品指定欄７０３、差込み広告の指定７０４、印刷品質指定欄７０５）により、デジタルカメラの商品名、差込み広告、印刷品質の指定をする。そして、プリント開始がボタンコントロール７０６から指示されると、イベントが発生し、アクションのマッピングデータの参照により該当するアクションが機能モジュール群１００７ａ、ｂ、ｃから選択される。
【００５８】
ステップＳ１１５２において、選択された機能モジュール１００７ａが呼び出され、処理が開始される。このとき、機能モジュール１００７ａに通知されるリクエストをＸＭＬで表現した例が図９（ｂ）の９０１である。ルートノードAction（９２４）には、名称（Name）ノード９２５と、引数（Arguments）ノード９２６とが含まれている。引数ノード９２６以下の各引数要素（９３１〜９３３）に引数データを与えて、機能モジュールを呼び出すことができる。引数要素中において、属性keyにより、各引数要素（９３１〜９３３）の内容を識別することが可能である。このため、複数の引数要素に関するデータを一括して処理することが可能である。機能モジュール１００７ａは、アクションの呼び出しリクエストを解析して、コンテンツファイル生成要求（機能要求情報）を生成し、サーバアプリケーションに送信する（Ｓ１１５３）。コンテンツファイル生成要求の内容は、機能モジュール１００７ａに通知されるリクエスト（図９（ｂ））の内容に基づくものである。
【００５９】
コンテンツファイル生成要求をＸＭＬで表現した例が図１１の１１００である。ルートノード（Request）（１１０１）には、名称（Name）ノード（１１０２）と引数（Arguments）ノード（１１０３）が含まれている。引数ノード（１１０３）中の各引数には引数データが与えられている。
【００６０】
引数データは、カスタマイズされたＵＩで選択されたデータであり、このデータがサーバアプリケーションに受け渡される。サーバアプリケーションは受け渡された引数データを利用して、データ検索、レイアウト、ファイル生成機能を実行する。図７で、例えば、商品名DIGITAL  C55が選択され、挿し込み広告の指定として、「お薦めプリンタ」が選択された場合を考える。上述したように、前記の操作パネルの指示に応じて引数「0622A001」および差込み広告種別「AdvPrinter」が特定情報として準備される。アプリケーションは操作パネルの送信ボタンが押されると、準備した引数をサーバ装置１０２に送信してレイアウトエンジンに渡す。
【００６１】
これらのデータに基づき、サーバコンピュータ１０２は、レイアウトエンジンを呼び出して、自動的に文字データ、画像データ等がレイアウトされたファイルを生成する（Ｓ１１５６）。  以下、ステップＳ１１５６の詳細を図１９を用いて説明する。
【００６２】
図１９は、本発明が適用できる、データベースと差込フィールドを有する文書をレイアウトエンジンで出力する手法を説明する図である。１９０１は、差込フィールドおよび広告フィールドを有する文書（ドキュメントテンプレート）の例を示している。この例においては、１９０１は、「商品名」データを差し込むためのフィールド１９０２「差込フィールドＡ」、「商品コード」データを差し込むためのフィールド１９０３「差込フィールドＢ」、「商品画像」データを差し込むためのフィールド１９０４「差込フィールドＣ」、広告を差し込むためのフィールド１９０５「広告エリア」を有している。
【００６３】
データベース１９０６は、前期の各差込フィールド１９０２〜１９０５用のデータを格納するデータベースである。このデータベースには少なくとも１９０７差込データ管理テーブルと、１９０９広告データ管理テーブルと、１９０８広告―商品関連付け管理テーブルが存在する。１９０７差込データ管理テーブルは、前記の差込フィールド１９０２〜１９０４にそれぞれ差し込まれるデータを管理するテーブルであり、フィールド１９０２「差込フィールドＡ」にはキー１９１１「ＤＡＴＡ＿Ａ」、フィールド１９０３「差込フィールドＢ」にはキー１９１２「ＤＡＴＡ＿Ｂ」、そしてフィールド１９０４「差込フィールドＣ」にはキー１９１３「ＤＡＴＡ＿Ｃ」がそれぞれ関連付けられる。
【００６４】
１９０９広告データ管理テーブルは、１９０５に差し込まれるデータを管理し、１９１９〜１９２１といったフィールドで構成される。１９０８広告―商品関連付け管理テーブルでは、フィールド１９２１と、フィールド１９１２またはフィールド１９１４とを関連付けている。つまり、広告カテゴリフィールド１９１５は、商品カテゴリフィールド１９１６または商品コードフィールド１９１７とを関連付けていることを示している。
【００６５】
MFP100から送信されてきた商品コード「0622A001」および差込み広告種別「AdvPrinter」がデータとして渡されるので、これらを検索条件として、データベース管理テーブル１９０７〜１９０９が検索され、ドキュメントテンプレートの差込フィールド１９０２〜１９０４にそれぞれ、「DIGITAL C55」「0622A001」「DigitalCamera-A.jpg」の文字列データおよび画像データが差し込まれ、広告エリア１９０５には、「AdvPrinter-A.jpg」の広告画像データが差し込まれ、レイアウトエンジンにより最適な文字サイズ、画像サイズに自動レイアウトされ、ファイルとして出力される。なお、この動的レイアウトは、静的なものではない。動的レイアウトは、差し込まれる差込みデータのデータ量、例えば、DigitalCamera-A.jpgの枠サイズの大きさ、差し込まれる文字列の数に応じて、差込データのレイアウトが適切に決定されるものである。この際、テンプレート内にある広告画像の配置場所の目安を定めたレイアウト情報も考慮される。
【００６６】
このファイルは、電子文書のためのフォーマットであるＰＤＦ（Portable  Document  Format）などを用いることも可能である。また、電子文書フォーマットとしてページ記述言語（ＰＤＬ）などを利用することも可能である。アプリケーション５０６は、ファイルの取得要求をサーバアプリケーションに送信し（Ｓ１１５７）、サーバアプリケーションによって生成されたファイルをダウンロードする（Ｓ１１５８）。アプリケーション５０６は、ＡＰＩなどを介してＭＦＰの機能１００８を呼び出し、ＰＤＬ展開処理、印刷処理を行う（Ｓ１１５９、Ｓ１１６０）。この際、ＸＭＬ９０１の引数データとして与えられた印刷品質（print_quality_dpi）が使用され、ＭＦＰ１００の印刷機能が制御される。図９（ｂ）の場合、印刷品質として６００ｄｐｉが設定されているので、この指定に基づいて、印刷機能が制御される。アクション呼び出しによる全ての処理が完了すると、ＵＩに処理の完了が表示される。この際、表示の代わりに、処理の記録を残すようにすることも可能である（Ｓ１１６１）。結果の表示または記録が終了すると一連のアクション処理が完了する（Ｓ１１６２）。
【００６７】
ここでは、レイアウトエンジンを用いた、商品データと広告データの動的な差込文書の生成を例示したが、本発明の適用範囲は、サーバコンピュータの任意の提供機能をＭＦＰから利用することであり、この例だけにとどまるものではない。
【００６８】
尚、上述のステップＳ１１５３、Ｓ１１５７及びＳ１１５８において、ＭＦＰ１００とサーバコンピュータ１０２との間の通信は、暗号化手段の適用により暗号化して情報の機密を保持することも可能である。
【００６９】
（ＵＩの表示例）
ＭＦＰ１００の各アプリケーションは、ユーザの用途に応じたＵＩ構成設定ファイルの内容に基づいて、ユーザの要求仕様に適したユーザインタフェース画面を構築することが可能である。ここで、図７に示したＵＩとは異なる表示形式のＵＩの例を、図１６乃至図１８の参照により説明する。
【００７０】
図１６（ａ）は、商品のカテゴリを指定するためのＵＩ１６００を示す図であり、指定欄（１６０１）からは、「デジタルカメラ」、「プリンタ」、「ファックス」等を選択することができる。このＵＩ１６０１からデジタルカメラを選択して、ボタンコントロール「次へ」（１６０２）をクリックすると、ＵＩ１６０１が切り替えられ、図１６（ｂ）のＵＩ１６０４が表示される。図１６（ｂ）は、先のＵＩ１６０１で指定された商品カテゴリ（デジタルカメラ）の中で、具体的な商品を指定するためのＵＩ１６０４を示す図である。図１６（ｂ）のＵＩにおいて、ボタン「プリント」（１６０５）を入力すると、先に説明した図７のプリント７０６と同様の印刷処理に移行する。また、ＵＩ構成設定ファイルの内容により、アプリケーションは、図１６（ｂ）に続くＵＩを更に構築することも可能である。
【００７１】
図１７及び図１８は、図１６のＵＩ表示に関するＵＩ構成設定ファイルの例を示す図である。図１７のＸＭＬ１７００の場合、ルートノードUIConfiguration（１７０１）には、Componentsノード（1702）とActionMappingノード（1703）とが含まれている。ここで、Componentsノードには、ＵＩを構築するためのＵＩ構成情報が含まれており、ActionMappingノードには、ＵＩから指示された処理を実行するためのアクション呼出の情報（機能選択情報）が含まれている。
【００７２】
ＵＩ１６００内のボタンコントロール「次へ」（１６０２）がクリックされるとイベント（クリック操作に対応するコマンド）が発生する。そして、Target Action １７１０で記述されているAction Mappingノード（１７０３）中のアクション要素（Action）の属性"id=act_001"が参照される。この際、アクション要素の属性は、「forward」（画面遷移）（１７０５）、遷移先は「panel_02」（次のＵＩパネル）（１７０５）として記述されている。ＵＩ構成情報の中から、「panel_02」の識別情報が検索され、対応する商品リストの属性情報（１７０６）、参照情報（１７０７）に基づいて、図１６（ｂ）のＵＩ１６０３が構築される。
【００７３】
図１８のＸＭＬ１８００は、図１７のＸＭＬ１７００中における参照情報（DataRef要素）の内容を記述するものである。ルートノードDataSource（１８０１）にはDataSet要素（１８０２）とData要素（１８０３、１８０４、１８０５）が含まれている。データセット１８０２の中で記述されているデータ１８０３〜１８０５は、ＸＭＬ１７００における参照データ１７５０に基づき、ＵＩを構築するための表示データとして参照される。
【００７４】
また、アプリケーションは、「panel_02」に関する参照情報（データ１８０６〜１８０９）の中から、ユーザが指定した項目と合致する商品カテゴリのデータ１８０６〜１８０８を検索して、商品指定欄１６０４に表示する。
【００７５】
図１６乃至図１８のようにＵＩ構成設定ファイルの内容を変更することにより、ユーザの要求仕様に適した表示形式で、ユーザインタフェース画面を構築することが可能である。図１６のボタン「プリント」（１６０５）をクリックすると、イベントが発生し、先に説明した図７のプリント７０６と同様の印刷処理に移行する。
【００７６】
本実施形態によれば、ユーザの用途に応じたユーザインタフェース画面を構築し、ユーザインタフェース画面からの設定によりＭＦＰ固有の機能やサーバアプリケーションの機能を利用した画像形成が可能になる。
【００７７】
（第２実施形態）
次に、本発明の第２実施形態を図１２乃至図１５の参照により説明する。本実施形態では、ＭＦＰ１００のスキャナ機能を利用して入稿したスキャン文書ファイルをサーバアプリケーションによって、格納手段として機能するファイルストレージシステム１０３に登録する実施形態を説明する。システム構成、アプリケーションの論理構成等に関して、第１実施形態と重複する内容の説明は省略する。
【００７８】
図１２は、第1実施形態の図７と同様に、アプリケーション５０６がＭＦＰ１００のディスプレイ・タッチパネル部２０２において提供するＵＩの一例を示す図である。このＵＩの例では、文書種別（１２０３）、サーバ登録処理（１２０４）、スキャン解像度（１２０５）、プレビュー画像での確認（１２０６）の指定をすることができる。ＭＦＰ１００のスキャニング部２０１は、原稿台もしくはフィーダ２００（図２）にセットされた原稿を、指定された解像度でスキャンしてスキャン文書ファイルを生成する。このスキャン文書ファイルは、ディスプレイ・タッチパネル部２０２のプレビュー画面にて表示され、ユーザの確認に従いサーバコンピュータ１０２に送信される。
【００７９】
そして、サーバコンピュータ１０２は、ＵＩ１２００で指定された登録処理を行い、指定された文書種別のデータとして、格納手段として機能するファイルストレージシステム１０３に登録する。
【００８０】
図１２のＵＩ１２００において、１２０１はアプリケーション名の表示とアプリケーションの選択が可能な表示・選択部であり、表示・選択部１２０１を選択すると、例えば、プルダウンメニュー中に選択可能なアプリケーションが表示される。表示・選択部１２０１の操作により、アプリケーションの切り替えを行うことが可能である。１２０２は、ディスプレイ・タッチパネル部２０２に表示されるＵＩ１２００のフレームを示している。
【００８１】
１２０３は文書種別の指定欄を示し、１２０４はサーバ登録処理の指定欄を示し、１２０５はスキャン解像度の指定欄を示す。１２０６はプレビュー画面での確認の有無の指定欄であり、１２０７はスキャン入力した文書ファイルをサーバコンピュータに登録するコントロールボタンである。
【００８２】
尚、本発明の趣旨は、この表示内容に限定されるものでないことは言うまでもない。すなわち、ＭＦＰ１００の各アプリケーションは、ユーザの用途に応じたＵＩ構成設定ファイルの内容に基づいて、ユーザの要求仕様に適したユーザインタフェース画面を構築することができるものとする。
【００８３】
図１３及び図１４は、ＵＩ構成設定ファイルの一部をＸＭＬで表現した例を示す図である。ＵＩ構成設定ファイルで記述された内容に従い、ＭＦＰ１００のアプリケーションは、ＵＩを構築することができる。図１３のＸＭＬ１３００の場合、ルートノードUIConfiguration（１３０１）には、Componentsノード（１３０２）とActionMappingノード（１３０３）とが含まれている。Componentsノード（１３０２）には、ＵＩを構築するためのＵＩ構成情報が含まれており、ActionMappingノード（１３０３）には、ＵＩから指示された処理を実行するためのアクション呼出の情報（機能選択情報）が含まれている。
【００８４】
各構成要素を識別する識別情報と、識別情報に対応する属性情報とに基づいて、ＭＦＰ１００のアプリケーションは、ＵＩの構成要素の表示を制御して、ＵＩを構築することができる。
【００８５】
図１４（ａ）のＸＭＬ１４００は、図１３のＸＭＬ中における参照情報（DataRef要素）の内容を記述するものである。ルートノードDataSource（１４０１）にはDataSet要素（１４０２）とData要素（１４０３、１４０４、１４０５）が含まれている。
【００８６】
ボタン群は要素として定義される。要素は、要素名と属性を含む。要素はそれぞれ子要素を従えることが出来る。まず、DataSetというのが要素名である。DataSetはidという属性を持つ。属性には値を入れることが出来る。図１４にId=id_ds001とあるが、要素名DataSetの付加的情報として定義される属性idが「id_ds001」なる値を取るという意味である。また、子要素としてDataが定義されている。Dataはさらに子要素として、Label要素と、Value要素を持つ。XMLデータの解析の結果、Label要素にセットされる文字列は、ボタンの表示名として用いられる。Value 要素は、属性としてkeyを持つ。Key属性は、文書種別を指定するものである。例えば、領収書ボタンを押下すると、MFP１００は、key属性として、Recieptなる文字列がMFP１００に取得される。この取得された文字列を、送信指示に応じて、MFP１００は、サーバコンピュータに送信しても良い。
【００８７】
更に、Dataset要素の属性id_ds0102を持つ要素について説明する。これは、スキャナで読み込んだデータを、サーバコンピュータでどのような加工をしたいかを指示するボタン群１２０４に関する。例えば、Labelの電子署名の要素が解析されると、電子署名の文字列を含むボタンが表示される。また、value要素の属性keyに対して値save optionがセットされている。また、value要素の内容として、eSignitureが設定されている。電子署名ボタンが一度押された状態で、送信ボタンが押されると、eSignatureなる文字列が、save_optioinの値としてサーバコンピュータに送信されることになる。サーバコンピュータは、データに付加されたsave_optionの値がeSigunatureである場合は、電子署名処理をサーバコンピュータで行う。Save_optionの値がTime_Stampである場合は、タイムスタンプ処理をサーバコンピュータで行う。
【００８８】
次に、３つ目のDataSet(id属性がid_0203)について説明する。同様にLabel要素は、ボタンとして表示される。そして、選択されたValueの内容（600、200などから選択された数字情報）は、選択された解像度として、MFP１００に取得される。例えば、MFP１００は、３００dpiのボタンが押されると、３００DPIの解像度でドキュメントのスキャン処理を行う。
【００８９】
ここで、ＵＩ構成設定ファイルの記述に関する具体的な説明は、図７及び図８と重複するため省略する。
【００９０】
（ＭＦＰとサーバコンピュータの連携）
次に、図１２のＵＩ１２００の例を用いて、アクションの呼出からＭＦＰ１００のスキャン機能、サーバアプリケーションのコンテンツ登録機能を利用した例を図１５のシーケンス図を参照して説明する。
【００９１】
ステップＳ１５５１において、ユーザはＵＩ１２００を利用して、文書種別１２０３、サーバ登録処理１２０４、スキャン解像度１２０５、プレビュー画像での確認１２０６の指定を指定する。そして、スキャン・登録をボタンコントロール１２０７より指示すると、イベントが発生し、アクションのマッピングデータの参照により該当するアクションが機能モジュール群１００７ａ、ｂ、ｃから選択される。
【００９２】
ステップＳ１５５２において、選択された機能モジュール（ここでは、スキャン機能に対応した機能モジュール１００７ｃとする）が呼び出され、処理が開始される。このとき、機能モジュール１００７ｃに通知されるリクエストをＸＭＬで表現した例が図１４（ｂ）の１４１０である。ルートノードAction（１４２４）には、名称（Name）ノード１４２５と、引数（Arguments）ノード１４２６とが含まれている。引数ノード１４２６以下の各引数要素（１４３１〜１４３５）に引数データを与えて、機能モジュールを呼び出すことができる。引数要素中において、属性keyにより、各引数要素（１４３１〜１４３５）の内容を識別することが可能である。このため、複数の引数要素に関するデータを一括して処理することが可能である。機能モジュール１００７ｃは、アクションの呼び出しリクエストを解析し、指定された解像度で原稿をスキャン入力するよう、ＡＰＩ等を介してＭＦＰの機能を制御する。機能モジュール１００７ｃは、スキャン入力したデータに基づいて、スキャン文書ファイルを生成する（Ｓ１５５３）。
【００９３】
ステップＳ１５５４において、プレビュー画面での確認が指定されている場合、アプリケーション５０６は、プレビュー画面をディスプレイ・タッチパネル部２０２上に表示させる。更に、必要である場合に、アプリケーション５０６は、ディスプレイ・タッチパネル部２０２上に確認ダイアログを表示させる。
【００９４】
ステップＳ１５５５において、機能モジュール１００７ｃは、アクションの呼び出しリクエストを解析して、スキャン文書登録要求（機能要求情報）を生成し、サーバアプリケーションに送信する（Ｓ１５５５）。スキャン文書登録要求の内容は、機能モジュール１００７ｃに通知されるリクエスト（図１４（ｂ））の内容に基づくものである。
【００９５】
更に、機能モジュール１００７ｃは、サーバコンピュータ１０２上のサーバアプリケーションにスキャン文書登録要求を送信するとともに、スキャン文書ファイルをアップロードする。この際、スキャン文書登録要求をＸＭＬで表現した例が１５００である。ルートノード（Request）（１５０１）には、名称（Name）ノード（１５０２）と引数（Arguments）ノード（１５０３）が含まれている。引数ノード１５０３中の各引数には引数データが与えられている。
【００９６】
引数データは、カスタマイズされたＵＩで選択されたデータであり、このデータがサーバアプリケーションに受け渡される。サーバアプリケーションは受け渡された引数データを利用して、コンテンツの登録に関する機能を実行する。
【００９７】
サーバアプリケーションは、スキャン文書登録要求を解析し、登録処理（save_option）の指定、電子署名（eSignature）、タイムスタンプ（TimeStamp）の指定の有無を検出する。スキャン文書登録要求１５００には、登録処理の指定、電子署名、タイムスタンプが指定されているので、サーバアプリケーションは、指定に従いスキャン文書ファイルの電子署名、タイムスタンプ、登録の各処理を実行する。
【００９８】
すなわち、サーバアプリケーションは、ステップＳ１５５６において、電子署名処理を実行し、ステップＳ１５５７において、タイムスタンプ処理を実行し、ステップＳ１５５８において文書ＤＢへの登録処理を実行する。文書ＤＢに登録する際、サーバアプリケーションは、引数データで指定された文書種別（document_type）領収書（Receipt）として登録する。
【００９９】
ステップＳ１５５９において、サーバアプリケーションによる登録処理が完了すると、その処理結果がＭＦＰ１００のアプリケーション５０６に通知される。
【０１００】
ステップＳ１５６０において、アクション呼び出しによる全ての処理が完了すると、アプリケーション５０６はＵＩに処理結果を表示する。この際、アプリケーション５０６は、ＵＩへの表示の他、履歴を確認できるように処理結果の記録を残すことも可能である。
【０１０１】
一連のアクション処理の完了により、アプリケーション５０６の処理を終了する（Ｓ１５６１）。
【０１０２】
尚、上述のステップＳ１５５５及びＳ１５５９において、ＭＦＰ１００とサーバコンピュータ１０２との間の通信は、暗号化手段の適用により暗号化して情報の機密を保持することも可能である。
【０１０３】
本実施形態によれば、ユーザの用途に応じたユーザインタフェース画面を構築し、ユーザインタフェース画面からの設定によりマルチファンクション機器固有の機能やサーバアプリケーションの機能を利用した画像形成が可能になる。
【０１０４】
サーバコンピュータ１０２と通信するMFP100は、動的レイアウト機能を情報処理装置において実行させる指示を入力するための画面を操作部に表示する。ここで、動的レイアウト機能は、例えば、挿し込みデータと、挿し込みデータをレイアウトするためのレイアウト情報を含む、ドキュメントテンプレートをマージして画像形成するために、テンプレートデータに基づくレイアウトを動的に決定する機能である。  
操作部（ディスプレイ／タッチパネル３００）に表示される画面を介して入力される指示に応じて、サーバコンピュータ１０２の動的レイアウト機能を用いて処理する際に用いられる特定情報を、サーバコンピュータ１０２に対して送信する。特定情報として、商品コードおよび差込み広告種別を説明した。
【０１０５】
当該特定情報を用いて、サーバコンピュータ１０２において動的レイアウトされたデータを受信する。また、MFP100は、受信したデータをプリントエンジンで出力する。
【０１０６】
MFP100は、ユーザインタフェースを構成するための情報が設定されている構成データを取得する。そして、MFP100は、その構成データを解析する。そして、MFP100の操作部は、動的レイアウトを実行する指示を入力するための画面を表示する。
【０１０７】
MFP100は操作部を介して、挿し込みデータとテンプレートデータとを特定するための特定情報を入力することが可能な装置である。そして、MFP100は、入力した特定情報を送信する。
【０１０８】
送信した特定情報を用いて特定された挿し込みデータとテンプレートデータに基づきサーバコンピュータ１０２が動的レイアウトしたデータをMFP100が受信する。MFP100は、受信したデータをプリントエンジンを介して印刷出力する。
【０１０９】
また、サーバ装置１０２と通信するMFP100は次のように構成するものとする。ユーザインタフェースを構成するための情報が設定されている構成データを取得するネットワークインタフェース３０１はMFPが備えるものとする。ネットワークインタフェース３０１を介して取得した構成データ（例えば、図１３、図１４に示すデータ）を処理して、MFP100のスキャナ機能を用いて処理されたデータをサーバコンピュータ１０２の機能を用いて処理する画像処理を実行する指示を入力するための画面を操作部（ディスプレイ／タッチパネル３００）に表示する。操作部に表示される画面を介して入力される指示に応じて、スキャン処理をCPU３０２は実行する。さらに、CPU３０２がMFP100のスキャナ機能を実行して得られるデータと、当該データをサーバコンピュータ１０２の機能を用いて処理する際に用いられる処理情報（スキャン文書登録要求１５００）を、サーバコンピュータ１０２に送信するネットワークインタフェース３０１をMFP100は備える。
【０１１０】
ディスプレイ／タッチパネル３００は、MFP100がネットワークインタフェース３０１を用いて取得した構成データを解析して、MFP100のスキャナを用いて入力されたデータをサーバコンピュータ１０２に搭載されたプログラムを実行して画像処理を実行する指示を入力するための画面を表示する。
【０１１１】
また、ディスプレイ／タッチパネル３００が表示する画面を介して入力される指示に応じて、MFP100のスキャナ機能をCPU３０２の制御下にて実行する。
【０１１２】
CPU302がスキャナを実行して入力されるデータと、当該データをサーバコンピュータ１０２に搭載されるプログラムを用いて画像処理する際に用いられるパラメータ又はコマンド（スキャン文書登録要求１５００）を、ネットワークインタフェース３０１を介して送信する。サーバコンピュータ１０２は送信された当該要求１５００を受信する。
【０１１３】
また、サーバコンピュータ１０２は、時刻を示す情報を付加するタイムスタンプ処理を提供するものとする。また、サーバコンピュータ１０２においてタイムスタンプ処理を実行する指示を行う指示画面をMFP100の操作部上に表示する。
【０１１４】
また、ディスプレイ／タッチパネル３００を介したスキャナの操作指示に応じて、画像形成装置のスキャナ機能の処理がCPU３０２の制御の下に実行される。
【０１１５】
更に、ディスプレイ／タッチパネル３００は表示されるユーザインタフェースの操作により設定された制御情報を含む処理情報（タイムスタンプ指示を含むスキャン文書登録要求１５００）をサーバ装置１０２に送信手段が送信する。そして、MFP100のスキャナ機能により入力した画像データを送信して、サーバコンピュータ１０２にタイムスタンプ処理をさせて登録させる。
【０１１６】
（他の実施形態）
なお、本発明の目的は、前述した第１及び第２実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給しても達成される。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータ可読の記憶媒体は本発明を構成することになる。
【０１１８】
プログラムコードを供給するためのコンピュータ可読の記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。更に、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施形態にかかるＭＦＰとサーバコンピュータとからなるシステムの構成を示す図である。
【図２】ＭＦＰの詳細な構成を説明する図である。
【図３】ＭＦＰにおける情報処理機能の論理構成を示すブロック図である。
【図４】図１において示したサーバコンピュータ１０２およびクライアントＰＣ１０４における情報処理機能の論理構成を示すブロック図である。
【図５】ＭＦＰにおいて実行可能なアプリケーションプログラムに関するソフトウェア構成を示す図である。
【図６】カスタマイズされたＵＩを構築する動作シーケンスを示す図である。
【図７】第１実施形態において、アプリケーションがＭＦＰのディスプレイ・タッチパネル部上において提供するＵＩの一例を示す図である。
【図８】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図９】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図１０】アプリケーションの論理的構成を示す図である。
【図１１】第1実施形態におけるアプリケーションの動作シーケンスを示す図である。
【図１２】第２実施形態において、アプリケーションがＭＦＰのディスプレイ・タッチパネル部において提供するＵＩの一例を示す図である。
【図１３】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図１４】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図１５】第２実施形態におけるアプリケーションの動作シーケンスを示す図である。
【図１６】ＵＩの表示例を示す図である。
【図１７】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図１８】ＵＩ構成設定ファイルの一部をＸＭＬ形式で表現した例を示す図である。
【図１９】データベースと差込フィールドを有する文書をレイアウトエンジンで出力する手法を説明する図である。
【符号の説明】
【０１２１】
５０１  リアルタイムＯＳ
５０２  コントローラ制御部
５０３  アプリケーション・プログラミング・インターフェース（ＡＰＩ）
５０４  仮想マシン
５０５  リソース管理部
５０６、５０７、５０８  アプリケーション群
１０００  アプリケーション全体
１００１  ＵＩ全体
１００２  設定ファイル受信／解析部
１００３、１００６  記憶域
１００４  ＵＩ構築部
１００５  イベント・ハンドル部
１００７  機能モジュール
１００８  ＭＦＰの機能モジュール
１００９  サーバアプリケーションの機能モジュール
【図１】
2008086028.tif 000003
【図２】
2008086028.tif 000004
【図３】
2008086028.tif 000005
【図４】
2008086028.tif 000006
【図５】
2008086028.tif 000007
【図６】
2008086028.tif 000008
【図７】
2008086028.tif 000009
【図８】
2008086028.tif 000010
【図９】
2008086028.tif 000011
【図１０】
2008086028.tif 000012
【図１１】
2008086028.tif 000013
【図１２】
2008086028.tif 000014
【図１３】
2008086028.tif 000015
【図１４】
2008086028.tif 000016
【図１５】
2008086028.tif 000017
【図１６】
2008086028.tif 000018
【図１７】
2008086028.tif 000019
【図１８】
2008086028.tif 000020
【図１９】
2008086028.tif 000021