(57)【要約】【課題】  画像処理装置上で動作するアプリケーションのＵＩを動的に、かつ最適に変更することができなかった。【解決手段】  ＵＩの配置の雛形として、ＵＩの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートをデータベースに保持しておく。データベースのレイアウトテンプレートの各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを構築する（1407-1409）。ＵＩ配置変更イベント発生時（1410）、一のコンテナにおける表示コンテンツのサイズに応じて、各コンテナの配置を計算し、計算後の各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを再構築する（1418-1419）。【選択図】  図１４
2007241661.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行に応じ操作部にユーザインタフェースが構築される画像形成装置であって、
前記ユーザインタフェースの配置の雛形として、前記ユーザインタフェースの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートを保持するデータベースと、
前記レイアウトテンプレートの各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを構築する構築手段と、
ユーザインタフェース配置変更イベント発生時、一のコンテナにおける表示コンテンツのサイズに応じて、各コンテナの配置を計算する計算手段と、
前記計算手段による計算後の各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを再構築する再構築手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記レイアウトテンプレートの各コンテナには各辺の可動範囲が設定されており、前記計算手段は、各コンテナの配置を、当該コンテナの前記可動範囲を限度として計算することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記レイアウトテンプレートの各コンテナには、更に、前記計算手段による計算に付される順序についての優先度が付与されており、前記一のコンテナが第１位の優先度に設定されていることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記一のコンテナには、サイズが不定の画像が配置されることを特徴とする請求項１から３までのいずれかに記載の画像形成装置。
【請求項５】
前記画像は、文書のプレビュー画像であることを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記一のコンテナには、表示文字数または行数が不定の文字列が配置されることを特徴とする請求項１から３までのいずれかに記載の画像形成装置。
【請求項７】
アプリケーションの実行に応じ操作部にユーザインタフェースが構築される画像形成装置の制御方法であって、
前記ユーザインタフェースの配置の雛形として、前記ユーザインタフェースの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートの各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを構築するステップと、
ユーザインタフェース配置変更イベント発生時、一のコンテナにおける表示コンテンツのサイズに応じて、各コンテナの配置を計算するステップと、
計算後の各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを再構築するステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項８】
画像形成装置にインストールされ、その実行により操作部にユーザインタフェースが構築されるアプリケーションプログラムであって、
前記ユーザインタフェースの配置の雛形として、前記ユーザインタフェースの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートの各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを構築するステップのコードと、
ユーザインタフェース配置変更イベント発生時、一のコンテナにおける表示コンテンツのサイズに応じて、各コンテナの配置を計算するステップのコードと、
計算後の各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを再構築するステップのコードと、
を有することを特徴とするアプリケーションプログラム。
【請求項９】
アプリケーションの実行に応じ操作部にユーザインタフェースが構築される画像形成装置と、この画像形成装置に通信可能に接続された情報処理装置とを含む画像形成システムであって、
前記情報処理装置は、
前記ユーザインタフェースの配置の雛形として、前記ユーザインタフェースの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートを保持するデータベースと、
前記レイアウトテプレートの各コンテナの座標情報を前記画像形成装置に送信する手段とを有し、
前記画像形成装置は、
表示コンテンツを、前記情報処理装置より受信した前記座標情報により特定される領域に埋め込むことでユーザインタフェースを構築する手段と、
構築された前記ユーザインタフェースのうち変更に係るコンテナの識別情報および、当該コンテナにおける表示コンテンツのサイズ情報を前記情報処理装置に送信する手段とを有し、
前記情報処理装置は、更に、
前記画像形成装置より受信した前記識別情報および前記サイズ情報に応じて、各コンテナの配置を変更する手段と、
変更後の各コンテナの配置情報を前記画像形成装置に送信する手段とを有し、
前記画像形成装置は、更に、
前記情報処理装置より受信した各コンテナの配置情報に合わせて表示コンテンツを埋め込むことでユーザインタフェースを再構築する手段を有する
ことを特徴とする画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、スキャナ、複写機等、またはこれらの複合的な機能を有する、画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
プリンタ、画像入力、文書ファイリング、文書送受信、画像変換等の機能を複合的に備えた画像形成装置が知られている。このような画像形成装置は複合機（Multi Function Peripheral）とも呼ばれている。近年の複合機においては、アプリケーションモジュールを追加的にインストールすることにより、各種機能を組み合わせた定型業務の自動化などが実現できるようになっている。
【０００３】
複合機のソフトウェアは一般に、パーソナルコンピュータ等に搭載される汎用的なＯＳではなく、組み込みシステム向けのアーキテクチャへの依存度が高いリアルタイムＯＳで実現される実行環境上に構築される。上記したアプリケーションモジュールの追加インストールを実現するためには、リアルタイムＯＳ上にさらに別の組み込みシステム向けの実行環境（例えばＪａｖａ（登録商標）など）が構築される（たとえば特許文献１を参照）。このような実行環境によって、アプリケーションモジュールを移植性に優れたものとすることができる。
【０００４】
上記のようなアプリケーションモジュールをサーバで集中管理するシステム構成も提案されている（たとえば特許文献２を参照）。このシステムによれば、複合機はサーバから最新のアプリケーションをダウンロードすることができる。
【０００５】
アプリケーションモジュールを修正したり、新たに開発すれば、ユーザインタフェース（以下「ＵＩ」という。）をカスタマイズすることも可能である。
【０００６】
また、文書のページのレイアウト方法において、その時々に挿入されるデータ量に応じて各部分領域のサイズが適切になるような自動レイアウト調整を実現するものも提案されている（例えば特許文献３を参照）。具体的には、部分領域（コンテナ）間の距離（リンクの長さ）を柔軟に変更可能とすることにより、ページ内の画像とテキストの配置を調整している。
【０００７】
【特許文献１】特開２００３−３３０７３２
【特許文献２】特開２００２−１５２４５８
【特許文献３】特開２００５−２１６１７４
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、操作ボタンや画像表示領域などの複数の部品がレイアウトされるＵＩにおいては、一の部品の大きさが変更されたことに応じて他の部品も動的に再配置され、スマートなレイアウトが自動的に維持されることが望まれている。たとえば、プリント対象の画像のプレビュー領域を一部品に有するＵＩにおいて、画像の大きさに応じてプレビュー領域を変更し、それに応じて他の部品が動的に再配置されることが望ましい。これは、ＵＩの一部にシステムの管理情報やバナー広告など、内容によって文字数が大きく変化する情報の表示領域を含むものにも、同様のことが望まれる。
【０００９】
しかしながら、現在のアプリケーションでは、ＵＩのレイアウトを動的に変更することはできない。従来の技術では、ＵＩのレイアウトを変更するためには、ＵＩを違うレイアウトに設計した別のアプリケーションでインストールし直す必要がある。ただしこれはＵＩの「動的な」変更とはいえない。あるいは、想定されるすべてのＵＩのレイアウトのパターンをあらかじめ用意したアプリケーションを開発する必要があった。しかしこのような複雑なアプリケーションの開発は、開発者の作業量を大幅に増大させるものである。例えば、経験的に、アプリケーションのＵＩにおいて、隣り合う表示コンポーネントが等間隔で並んでいる方がユーザビリティは向上することが分かっている。また、重要な機能は中心付近になるべく大きく配置した方がよいというルールが分かっている。しかし、このようなことが経験的に分かってはいても、ＵＩを構成するコンポーネントのサイズが一意に決定できない場合や、とりうる範囲が多様な場合もある。このような場合、従来技術ではその都度アプリケーションを更新するか、またはＵＩが動的に変更されたすべての場合の配置変更を想定してアプリケーションを作成する必要があった。
【００１０】
また、従来のサーバ上のアプリケーションを更新する手法では、ＵＩを構成するイメージ等のコンポーネントをすべてサーバ上に配置しなければならないので、サーバと画像処理装置との通信量が増大するという問題もある。
【００１１】
本発明は以上のような課題を解決することを目的とする。
【課題を解決するための手段】
【００１２】
本願発明の一側面はアプリケーションの実行に応じ操作部にユーザインタフェースが構築される画像形成装置に係り、前記ユーザインタフェースの配置の雛形として、前記ユーザインタフェースの各構成部品の表示領域を示すコンテナによって構成されるレイアウトテンプレートを保持するデータベースと、前記レイアウトテンプレートの各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを構築する構築手段と、ユーザインタフェース配置変更イベント発生時、一のコンテナにおける表示コンテンツのサイズに応じて、各コンテナの配置を計算する計算手段と、前記計算手段による計算後の各コンテナに表示コンテンツを埋め込むことでユーザインタフェースを再構築する再構築手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、画像処理装置上で動作するアプリケーションのＵＩを動的に、かつ最適に変更することができる。
【００１４】
また、本発明によれば、サーバ上のアプリケーションを更新する構成において、ＵＩの動的な更新を行うために画像処理装置とサーバとの間に通信されるのは配置情報だけで済むので、通信量を低減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００１６】
図１は、本実施形態に係る画像形成システムの構成を示すブロック図である。
【００１７】
この画像形成システムはたとえば、図示のように、画像形成装置１００、第１および第２の情報処理装置１１１および１１２を有する構成である。画像形成装置１００および第１の情報処理装置１１１は、たとえば同一の構内に設置されており、イントラネット１１３を介して通信可能に相互に接続されている。一方、第２の情報処理装置１１２はたとえば画像形成装置１００や第１の情報処理装置１１１とは異なる構内に設置されている。この第２の情報処理装置１１２はイントラネット１１３およびインターネット１１０を介して画像形成装置１００と通信が可能である。なお、第１および第２の情報処理装置１１１および１１２には、汎用的なパーソナルコンピュータやワークステーションを用いることができる。
【００１８】
さて、画像形成装置１００は、図示の如く、リーダ部１０１、操作部１０２、プリンタ部１０３、コントローラ部１０４を有する。コントローラ部１０４は、ネットワーク処理部１０６、ＰＤＬ（page description language）展開部１０７、ディスク制御部１０８、コア部１０５を有する。リーダ部１０１は、セットされた原稿画像を読み取り、それによって得られた画像データをコア部１０５を通じて、プリンタ部１０３へ出力する。プリンタ部１０３は、リーダ部１０１からの画像データに基づき、画像を記録紙上に記録することで原稿の複写動作を行う。
【００１９】
上記したとおり、第１および第２の情報処理装置１１１、１１２は、汎用的なパーソナルコンピュータ（ＰＣ）またはワークステーション（ＷＳ）で実現可能である。第１および第２の情報処理装置１１１、１１２では、予めインストールされたプリンタドライバ等のソフトウェアによって、ＰＤＬ展開部１０７が解釈可能なＰＤＬデータを作成することができる。作成されたＰＤＬデータは、ネットワーク１１３を介して画像形成装置１００に送出される。画像形成装置１００は、ネットワーク処理部１０６でこのＰＤＬデータを受信すると、これをコア部１０５に流し、ＰＤＬ展開部１０７でＰＤＬデータをプリンタ部１０３で記録できる画像データに展開する。そして、この画像データを、コア部１０５を通じて、プリンタ部１０３でプリントすることが可能である。
【００２０】
図２は、画像形成装置１００のブロック図であり、コア部１０５の構成をより詳細に示したものである。図示のように、コア部１０５は、インタフェース部（Ｉ／Ｆ）２０１、２０２、２０３、２０７、データ処理部２０４、２０６、ＣＰＵ２０５、メモリ２０８を備えている。
【００２１】
上記構成を詳述すると、リーダ部１０１で読み込まれた画像データは、Ｉ／Ｆ２０１を介してデータ処理部２０４へ転送される。データ処理部２０４は、プリンタ部１０３への印刷時には画像の回転処理や変倍処理などのデータ処理を行う。そのデータ処理後の画像データはメモリ２０８に蓄積される。ＣＰＵ２０５は、操作部１０２にて生成されるそこへの操作内容に応じた内部制御コマンドに応じて、メモリ２０８内の画像データをデータ処理部２０６、Ｉ／Ｆ２０３を通じてプリンタ部１０３へと転送する。画像データはこのようにして記録用紙上に印字されることが可能である。
【００２２】
また、上述したとおり、第１および第２の情報処理装置１１１，１１２で生成されたＰＤＬデータはネットワーク処理部１０６を介して入力されうる。この場合、ＣＰＵ２０５は入力されたＰＤＬデータをＩ／Ｆ２０７を介してＰＤＬ展開部１０７へ転送し、これによりＰＤＬデータはビットマップデータに展開される。このビットマップデータは、Ｉ／Ｆ２０７を介してメモリ２０８に蓄積される。このメモリ２０８内のビットマップデータは、データ処理部２０６、Ｉ／Ｆ２０３を通じてプリンタ部１０３へ転送され、プリントされることが可能である。
【００２３】
操作部１０２は、例えば、液晶パネルを用いて構成される。この液晶パネルはタッチパッドの機能を有し、ユーザの指が触れることにより、機器を制御する所定の命令に対応付けられたキー選択を可能とする。
【００２４】
ＣＰＵ２０５は、たとえばメモリ２０８に記憶されている制御プログラム、及び、Ｉ／Ｆ２０２経由で操作部１０２から受けた制御コマンドに従って制御を行う。また、メモリ２０８はＣＰＵ２０５の作業領域としても使われる。 このように、画像形成装置１００は、コア部１０５を中心に、原稿画像の読み取り、プリント、画像の送受信、画像の保存、コンピュータからのデータの入出力などの機能を複合的に行うことが可能である。
【００２５】
図３は、画像形成装置１００のコア部１０５に記憶された制御プログラムのソフトウェア構造図である。
【００２６】
３０１は画像形成装置全体の制御を司る第１の実行環境（ＯＳ）である。このＯＳ３０１は、一般的には複写機の各種機能をリアルタイムに制御可能なリアルタイムＯＳの各モジュール、或いは、ＣＰＵに命令してクリティカルに複写機のオプション装置、拡張カードを含む各機能を制御することが可能なライブラリ群を含む。さらに、その上位で動作するアプリケーションに対して、インタフェース・コマンドを提供するモジュール群も含む。
【００２７】
３０２はＯＳ３０１上で動作するコントローラ制御部であり、リーダ部１０１、プリンタ部１０３、ＰＤＬ展開部１０７、ディスク制御部１０８、ネットワーク処理部１０６などを制御するモジュールにより構成される。
【００２８】
３０３はアプリケーション・プログラミング・インタフェース（以下「ＡＰＩ」という。）である。このＡＰＩ３０３は、ＯＳ３０１によって制御されるコントローラ制御部３０２にアクセスするための複数の制御コマンドにそれぞれ対応したインタフェースの集合である。そして、標準アプリケーション３０４からの機器を制御する命令の入力に応答して、コントローラ制御部３０２にアクセスするための処理を提供する機能を有する。
【００２９】
標準アプリケーション３０４はＯＳ３０１上で動作するアプリケーションであり、ＡＰＩ３０３を介してコントローラ制御部３０２に各種処理を依頼することで複写機機能を実現する。この標準アプリケーション３０４は、複写機が標準で備える機能を有するアプリケーションであって、一例としては複写機が標準で備える、原稿をリーダ部１０１で読み込みプリンタ部１０３で記録媒体に出力するコピー機能などが考えられる。
【００３０】
３０５は画像形成装置上で動作するアプリケーションを追加インストールし実行するための第２の実行環境としての仮想マシンであり、例えば、Ｊａｖａ（登録商標）仮想マシンなどにより実現される。
【００３１】
３０６は仮想マシン３０５上の追加アプリケーション３０８がＯＳ３０１上で動作するコントローラ制御部３０２にアクセスするためのＡＰＩである。本実施形態では、このＡＰＩ３０６は、ＡＰＩ３０３を呼び出すための仲介の役割も果たす。ただし、このＡＰＩ３０６はＡＰＩ３０３と同一であってもよいし、ＡＰＩ３０３のサブセットとして機能制限されて実現されていてもよい。
【００３２】
３０７は仮想マシン３０５上の追加アプリケーション３０８を統括的に制御する機能を有するフレームワークモジュールである。
【００３３】
３０８は仮想マシン３０５上にインストールされて動作する追加アプリケーションであり、ＡＰＩ３０６を使用してコントローラ制御部３０２に機器に依存した各種処理を依頼することが可能である。例として、ＡＰＩ３０６を通じて、リーダ部１０１に原稿読み取り処理を依頼したり、ネットワーク処理部１０６を介してネットワーク１１２上の第１，第２の情報処理装置１１１，１１２からのデータ取得が可能である。
【００３４】
３０９は仮想マシン３０５が使用する資源（リソース）を管理するリソース管理部であり、リアルタイムＯＳ３０１上で動作する。リソース管理部３０９は、仮想マシン３０５、ＡＰＩ３０６、フレームワーク３０７、或いは仮想マシン３０５上のアプリケーション３０８がメモリ等のリソースを使用する際、予め決められた以上のリソースが使用できないように制限することを可能とする。
【００３５】
図４は、図３の標準アプリケーション３０４としてコピーアプリケーション４０２が、追加アプリケーション３０８としてWebプリントアプリケーション４０１が、それぞれインストールされた場合のソフトウェア構成を示している。本実施形態におけるWebプリントアプリケーション４０１は、任意のWebサーバ上にある、ＰＤＬ展開部１０７が解釈可能な特定のドキュメントを取得し、プレビューやドキュメント情報をユーザに表示し、印刷するアプリケーションである。なお、図４においては標準アプリケーション３０４、追加アプリケーション３０８としてそれぞれ１つのアプリケーションがインストールされた例を示すが、それぞれ複数のアプリケーションがインストールされていてもよい。また、本実施形態では、Webプリントアプリケーション４０１は上記のように追加アプリケーション３０８として仮想マシン３０５上で動作するが、標準アプリケーション３０４としてＯＳ３０１上で動作するものであってもよい。
【００３６】
図５は、図４に示したコピーアプリケーション４０２およびWebプリントアプリケーション４０１がインストールされたときの操作部１０２に表示されるＵＩ画面の一例を示す図である。ユーザはこの画面から、ＯＳ３０１上で動作する標準アプリケーション３０４としてのコピーアプリケーション４０２、または仮想マシン３０５上で動作する追加アプリケーション３０８としてのWebプリントアプリケーション４０１を選択することができる。なお、上記したとおり、この画面はタッチパネルで構成されており、ユーザがそれぞれ表示される機能の枠内を触れることにより、その機能が実行されるように構成されている。
【００３７】
５０１および５０２は、アプリケーション選択用のタブである。コピータブ５０１が押下されるとコピーアプリケーション４０２の設定画面が表示され、Webプリントタブ５０２が押下されるとWebプリントアプリケーション４０１の設定画面が表示される。図５にはWebプリントアプリケーション４０１の設定画面の例が示されている。
【００３８】
５０３はプリント対象のドキュメントの所在位置を示すＵＲＬを指定するＵＲＬ指定領域である。ＵＲＬは、通常複写機に標準で備えられた不図示のタッチパネル等を用いて入力することができる。５０４はプレビューボタンで、ユーザがＵＲＬを入力後、本ボタンを押すと、ＵＲＬ指定領域５０３で指定されたドキュメントのダウンロードが行われ、プレビュー領域５０５にそのドキュメントのプレビューが表示される。
【００３９】
５０６はプレビュー領域５０５に表示された画像の横サイズ（図示の例では、297mm）を表示する横サイズ表示領域である。また、５０７はプレビュー領域５０５に表示された画像の縦サイズ（図示の例では、210mm）を表示する縦サイズ表示領域である。また、５０８はＵＲＬ指定領域５０３で指定されたドキュメントのファイル名を表示する領域である。
【００４０】
５０９は表示単位切り替えボタンで、横サイズ表示領域５０６および縦サイズ表示領域５０７に表示されるプレビュー画像のサイズの表示単位を例えばミリやインチに切り替えるためのものである。５１０は体裁設定ボタンであり、不図示のＵＩを表示し、印刷時における両面印刷やステイプル等の印刷体裁を設定することが可能である。印刷体裁設定は例えばステイプルされていることを意図するアイコンをプレビュー領域５０５上に表示して、ユーザに通知してもよい。５１１は紙サイズや色情報等のドキュメント情報を格納する領域である。図５の例では、情報表示領域５１１には、対象のドキュメントはA4横の用紙のカラーデータであることが示されている。
【００４１】
また、５１２は選択されたアプリケーション（図５の例ではWebプリントアプリケーション４０１）の現在のステータスを示す領域である。図示の例では、ドキュメントがダウンロード中であることが示されている。
【００４２】
図５で示す画面の表示時に、図外のスタートキーの押下などにより動作の実行が指示されると、Webプリントアプリケーション４０１は、処理の開始や各種パラメータの設定などを行うＡＰＩ３０６を順次呼び出す。これによりコントローラ制御部３０２に機器制御コマンドが伝えられ、印刷動作が実行されることになる。
【００４３】
次に、本実施形態における第１の情報処理装置１１１について説明する。第１の情報処理装置１１１は、画像形成装置１００にＰＤＬデータを送出するホスト端末として機能するだけでなく、画像形成装置１００のＵＩの動的配置処理を実行する処理サーバとしても機能する。第１の情報処理装置１１１は、ＵＩの動的配置処理を実現するためのダイナミックレイアウトアプリケーションを備える。以下ではこのダイナミックレイアウトアプリケーションについて説明する。
【００４４】
図６は、第１の情報処理装置１１１上にロードされたダイナミックレイアウトアプリケーション６０１のソフトウェア構成図である。
【００４５】
６０２はダイナミックレイアウト・コア部である。ここでは、ネットワーク処理部６０３、ダイナミックレイアウト部６０４、データベース６０５上にあるレイアウトテンプレート６０６、配置データ６０７等、第１の情報処理装置１１１上で動作するアプリケーション全般を制御する。ネットワーク処理部６０３は、ダイナミックレイアウト・コア部６０２からの指示に従い、画像形成装置１００との通信を制御し、データ及び通信コマンドの送受信を行う。データベース６０５は、追加アプリケーション３０４のＵＩ配置を決定するための外枠となるレイアウトテンプレート６０６及びレイアウトテンプレートに配置する画像やテキスト等の座標情報を格納する配置データ６０７を保持する。ダイナミックレイアウト部６０４は、レイアウトテンプレート６０６と配置データ６０７が決定されると、後述の規則に従い、ＵＩ配置を決定する。
【００４６】
また、６０８はダイナミックレイアウトエディタであって、レイアウトテンプレート６０６の更新を行う。このダイナミックレイアウトエディタは、テキストエディタのようなものでレイアウトテンプレートを更新することができる。あるいはこのかわりに、グラフィカルユーザインタフェース（ＧＵＩ）でもって、ユーザに編集を行わせるように構成してもよい。
【００４７】
以下、前述のレイアウトテンプレート６０６と配置データ６０７との関係について説明する。
【００４８】
レイアウトテンプレート６０６は、ＵＩ配置の雛形を定義するテンプレート情報である。図５に示したＵＩ配置に対応するレイアウトテンプレート６０６の例を、図７に示す。
【００４９】
図７において、７０１〜７０９はそれぞれ、ＵＩのコンポーネントの個々の部品の表示領域を示すコンテナである。図７の各コンテナと図５の各領域との関係は以下のようになる。
コンテナ７０１はプレビュー領域５０５に相当する。
コンテナ７０２は縦サイズ表示領域５０７に相当する。
コンテナ７０３は表示単位ボタン５０９、体裁設定ボタン５１０を囲む領域に相当する。
コンテナ７０４は横サイズ表示領域５０６に相当する。
コンテナ７０５はファイル名表示領域５０８に相当する。
コンテナ７０６はＵＲＬ指定領域５０３の左横に表示される「URL：」文字格納領域に相当する。
コンテナ７０７はＵＲＬ指定領域５０３に相当する。
コンテナ７０８はプレビューボタン５０４に相当する。
コンテナ７０９は情報表示領域５１１に相当する。
【００５０】
最終的に画像形成装置で挿入される表示コンテンツであるテキストや画像等のオブジェクトデータのサイズ情報が決定されると、ダイナミックレイアウト部６０４は各オブジェクトデータの配置を決定する。例えば図８は、コンテナ７０６に「URL：」という文字列が挿入され、コンテナ７０６のオブジェクトデータ配置が確定したことを示している。
【００５１】
このように、レイアウトテンプレートのすべてのコンテナにテキストや画像であるオブジェクトデータを挿入していくことで、Webプリントアプリケーション４０１のＵＩが構築される。
【００５２】
配置データ６０７はそれぞれのオブジェクトデータを格納する座標情報を格納している。代表的なコンテナ座標情報の例を、図９に示す。
【００５３】
図９において、座標点ＡはＵＩの原点座標（０，０）を示している。座標点Ｂは原点から垂直方向（Ｙ方向）への最大座標を、座標点Ｃは座標点Ａから水平方向（Ｘ方向）への座標の最大座標を示している。図９の例では、ＵＩは座標点Ｄで示されるように幅２００、高さ１００の矩形内に設計されることを示している。また、コンテナ７０１は座標点Ｅ（２０，２５）と座標点Ｆ（９０，６５）を対角線とする矩形領域に設計されていることを意味している。
【００５４】
さらに、レイアウトテンプレートはコンテナ毎に以下のような属性をもつ。
（ａ）コンテナの各辺が固定長であるか可変長であるか
（ｂ）コンテナの各辺が可変長の場合、その有効範囲（拘束条件）
（ｃ）コンテナ位置計算の優先順位
【００５５】
以下にそれぞれの属性について説明する。
【００５６】
図７において、辺７１０のように太線で示された辺は上記属性（ａ）について固定辺であることを示している。一方、辺７１１のように細線で示された辺は上記属性（ａ）について可変辺であることを示している。辺が固定辺である場合、以後、レイアウト配置を更新する場合においてもそれらの辺は一切移動されない。これに対して、可変長の辺は、レイアウト配置更新時に位置が変更される可能性がある。
【００５７】
図７において、レイアウト変更が可能な可変長辺が向き合う部分には７１２で示すようなＨ字状の接続アイコンが表示されている。この部分は両コンテナ間でレイアウト更新が行われる可能性がある部分を示している。
【００５８】
また、図７において、各コンテナ矩形の中央に振られている番号はコンテナ間の後述する優先順位を示している。この優先順位は、レイアウト配置が更新される場合に、座標配置が計算されるコンテナの優先度を示しており、数字の低いものから優先的に座標配置の計算がされる。
【００５９】
また、レイアウトテンプレートは図１０に示すような拘束条件をもつ。
【００６０】
１００１は各コンテナを識別するためのコンテナＩＤである。１００２はコンテナＩＤで示されるコンテナの各辺が固定辺かどうかを示している（上記属性（ａ）に相当）。たとえば、図に示すように上辺、左辺、下辺、右辺のそれぞれの設定値が格納されており、○で示された部分が固定辺であることを示している。１００３はコンテナＩＤで示される各辺にどのような拘束条件があるかを示しており、上辺、左辺、下辺、右辺のそれぞれの拘束条件が格納される。１００３の拘束条件はコンテナが可変長辺の場合にそのとりうる値を示すものであって、可変である部分の制限を定義する拘束条件である（上記属性（ｂ）に相当）。１００４はコンテナＩＤで示されるコンテナの配置決定に関する前述の優先度を示しており（上記属性（ｃ）に相当）、数字が小さいほど計算順序の優先度は高い。
【００６１】
図１０において、コンテナ１は、上辺、左辺が固定辺であり、下辺、右辺が可変辺であることを示している。また、コンテナ１は下辺のＹ座標は４０〜７５の範囲に収まること、右辺のＸ座標は４０〜１００の範囲に収まることを示している。さらに、コンテナ１の優先順位は１に設定されている。
【００６２】
同様に、コンテナ２は、上辺のみが固定辺であり、左辺はコンテナ１の右辺から５ドットの位置にあることを示している。さらに下辺はコンテナ１と同じ高さであること、右辺はコンテナ２の左辺から５ドットであることを示している。また、優先順位は２である。
【００６３】
同様に、コンテナ３は、上辺、下辺、右辺が固定辺であり、左辺はコンテナ２の右辺から５ドットの位置にあることを示している。また、優先順位は３である。
【００６４】
同様に、コンテナ４は、左辺が固定辺であり、上辺Ｙ座標がコンテナ１の下辺から５ドットの位置にあることを示している。また、下辺はコンテナ４の上辺から５ドットであることを示しており、右辺はコンテナ１の下辺と同じ幅を持つことを示している。また、優先順位は４である。
【００６５】
同様に、コンテナ５は、左辺が固定辺であり、上辺はコンテナ４の下辺から５ドットの位置にあることを示している。また、下辺はコンテナ５の上辺から５ドットであることを示しており、右辺はコンテナ４の下辺と同じ幅をもつことを示している。また、優先順位は５である。
【００６６】
なお、これらの拘束条件はあらゆるコンテナに領域の制限を設ける等、図示の例にかかわらずさまざま条件を課すことが可能である。
【００６７】
続いて、図１１を用いてコンテナの配置計算の具体例を説明する。
【００６８】
ここでは、レイアウトテンプレートの各コンテナに、次のような画像が挿入されると仮定する。
コンテナ１：図１１（ａ）に示す幅７５ドット、高さ４５ドットの画像
コンテナ２：図１１（ｂ）に示す幅１０ドット、高さ４０ドットの画像
コンテナ３：図１１（ｃ）に示す幅２０ドット、高さ４０ドットの画像
コンテナ４：図１１（ｄ）に示す幅４０ドット、高さ１０ドットの画像
コンテナ５：図１１（ｅ）に示す幅４０ドット、高さ１５ドットの画像
【００６９】
拘束条件と優先順位に基づいて、以下のように配置が計算される。
【００７０】
まず、優先度の最も高いコンテナ１の配置を計算する。
【００７１】
図１０の属性表を参照すると、コンテナ１の上辺と左辺は固定辺であり、図９で示す座標Ｅ（１０，２５）が左上原点とされる。ここで図１１（ａ）の画像の幅は７５ドットであるのに対し、レイアウトテンプレートは座標Ｅ（２０、２５）からＧ（９０、２５）まで７０ドットの幅である。そのため、コンテナ１の右辺のＸ座標は７５−７０＝５ドット伸長され、コンテナ１の右辺のＸ座標はレイアウトテンプレートの９０から９５に移動される。拘束条件によればコンテナ１の右辺のＸ座標の可動範囲は４０〜１００であり、９５はその範囲内に収まっているため、コンテナ１の右辺のＸ座標は９５に決定される。
【００７２】
次にコンテナ１のＹ座標に関して、図１１（ａ）の画像の高さは４５ドットであるのに対し、レイアウトテンプレートは座標Ｅ（２０、２５）からＨ（２０、６５）まで高さ４０の高さである。そのため、コンテナ１の下辺のＹ座標は６５から７０に移動される。拘束条件によればコンテナ１の下辺のＹ座標の可動範囲は４０〜７５であり、７０はその範囲内に収まっているため、コンテナ１の下辺のＹ座標は７０に決定される。
【００７３】
次に、優先順位第２位のコンテナ２の配置を計算する。
【００７４】
コンテナ２の制約条件によれば、コンテナ２の左辺はコンテナ１の右辺から５ドットであるから、コンテナ２の左辺の開始Ｘ座標位置は、コンテナ１の右辺のＸ座標に５ドットを加えた１００となる。さらにコンテナ２にレイアウトされる図１１（ｂ）の画像の横幅は１０ドットなので、コンテナ２の右辺のＸ座標は１１０に決まる。
【００７５】
次にコンテナ２の下辺のＹ座標は、拘束条件よりコンテナ１のＹ座標と同じであるので、７０と決定される。ここで、画像の高さ４０ドットに対して、コンテナ２の高さが４５ドットになるので、図１１（ｂ）の画像のＹ座標はコンテナ１の高さにあわせて拡大されて表示されることになる。
【００７６】
次に、優先順位第３位のコンテナ３の配置を計算する。
【００７７】
コンテナ３の制約条件によれば、コンテナ３の左辺はコンテナ２の右辺から５ドットであるから、コンテナ３の左辺のＸ座標位置はコンテナ２の右辺に５ドットを加えた１１５となる。また、コンテナ３にレイアウトされる図１１（ｃ）の画像の横幅は２０ドットであるが、コンテナ３の右辺のＸ座標は固定辺でＸ座標が１４０と決まっているので、結果としてコンテナ３の右辺のＸ座標は１４０と決定される。つまり、コンテナ３は１４０−１１５＝２５ドットとなり、図１１(ｃ）の画像の幅２０ドットは伸長されて２５ドットとなる。また、下辺Ｙ座標に関しては固定辺であり、テンプレート上の６５−２５＝４０ドットに対して、図１１（ｃ）の画像の高さも４０ドットであるから、サイズに関しての変更はない。
【００７８】
次に、優先順位第４位のコンテナ４の配置を計算する。
【００７９】
コンテナ４の制約条件によれば、コンテナ４の上辺はコンテナ１の下辺から５ドットであるから、上辺Ｙ座標位置はコンテナ１の下辺のＹ座標に５ドットを加えた７５になる。また、コンテナ４の下辺は上辺から１０ドットであるから、Ｙ座標は８５に決定される。コンテナ４の右辺はコンテナ１の下辺と同じ長さであるため、７５ドットとなる。つまり、コンテナ４にレイアウトされる図１１（ｄ）の画像は横幅４０ドットであるが、７５ドットとなるように横方向に伸長される。
【００８０】
最後に、優先順位第５位のコンテナ５の配置を計算する。
【００８１】
コンテナ５の制約条件によれば、コンテナ５の上辺はコンテナ４の下辺から５ドットであるから、上辺Ｙ座標位置はコンテナ１の下辺のＹ座標に５ドットを加えた９０になる。また、コンテナ５の下辺は上辺から５ドットであるから、９５に決定される。コンテナ５の右辺はコンテナ１の下辺と同じ長さであるため、７５ドットとなる。つまり、コンテナ５にレイアウトされる図１１（ｅ）の画像は横幅４０ドットであるが、７５ドットとなるように伸長される。
【００８２】
結果として、図９のテンプレートおよび図１０の拘束条件に基づき、図１１に示す画像をコンテナに配置した場合は、図１２（ａ）のように配置が決定される。
【００８３】
なお、本実施形態においては、配置可能な例を示したが、例えば、優先度が最も低い最後のコンテナにとりうる範囲をつけて、上記の計算では配置が不可能となる場合、エラーとして処理を中断するようにしてもよい。
【００８４】
次に、コンテナ１に配置される画像を、図１１（ａ）の画像に代えて図１１（ｆ）の高さ４５ドット、幅２０ドットの画像とした場合を考える。この場合の配置は以下のように計算される。
【００８５】
まず、優先度の最も高いコンテナ１の配置を計算する。
【００８６】
コンテナ１の拘束条件によれば、上辺と左辺は固定辺であり、図９で示す座標Ｅ（１０，２５）が左上原点とされる。ここで図１１（ｆ）の画像の幅は２０ドットであるのに対し、レイアウトテンプレートは座標Ｅ（２０、２５）からＧ（９０、２５）まで７０ドットの幅である。そのため、コンテナ１の右辺のＸ座標は７０−２０＝５０ドット縮小され、コンテナ１の右辺のＸ座標はレイアウトテンプレートの９０から４０に移動される。拘束条件によれば、コンテナ１の右辺のＸ座標の可動範囲は４０〜１００であり、４０はその範囲内に収まっているため、コンテナ１の右辺のＸ座標は４０に決定される。
【００８７】
次にコンテナ１のＹ座標に関して、図１１（ｆ）の画像の高さは４５ドットであるのに対し、レイアウトテンプレートは座標Ｅ（２０、２５）からＨ（２０、６５）まで高さ４０の高さである。そのため、コンテナ１の下辺のＹ座標は６５から７０に移動される。拘束条件によればコンテナ１の下辺のＹ座標の可動範囲は４０〜７５であり、７０はその範囲内に収まっているため、コンテナ１の下辺のＹ座標は７０に決定される。
【００８８】
次に、優先順位第２位のコンテナ２の配置を計算する。
【００８９】
コンテナ２の制約条件よれば、コンテナ２の左辺はコンテナ１の右辺から５ドットであるから、コンテナ２の左辺の開始Ｘ座標位置は、コンテナ１の右辺のＸ座標に５ドットを加えた４５になる。さらにコンテナ２にレイアウトされる図１１（ｂ）の画像の横幅は１０ドットなので、コンテナ２の右辺のＸ座標は５５に決まる。
【００９０】
次にコンテナ２の下辺のＹ座標は、拘束条件よりコンテナ１のＹ座標と同じであるので、７０と決定される。ここで、画像の高さ４０ドットに対して、コンテナ２の高さが４５ドットになるので、図１１（ｂ）の画像はＹ方向に拡大されて表示されることになる。
【００９１】
次に、優先順位第３位のコンテナ３の配置を計算する。
【００９２】
コンテナ３の制約条件によれば、コンテナ３の左辺はコンテナ２の右辺から５ドットであるから、コンテナ３の左辺のＸ座標位置はコンテナ２の右辺に５ドットを加えた６５になる。また、コンテナ３にレイアウトされる図１１（ｃ）の画像の横幅は２０ドットであるが、コンテナ３の右辺のＸ座標は固定辺でＸ座標が１４０と決まっているので、結果としてコンテナ３の左辺のＸ座標は１４０と決定される。なお、下辺Ｙ座標に関しては固定辺であるので変更はない。
【００９３】
次に、優先順位第４位のコンテナ４の配置を計算する。
【００９４】
コンテナ４の制約条件によれば、コンテナ４の上辺はコンテナ１の下辺から５ドットであるから、上辺Ｙ座標位置はコンテナ１の下辺のＹ座標に５ドットを加えた７５になる。また、コンテナ４の下辺は上辺から１０ドットであるから、Ｙ座標は８５に決定される。コンテナ４の右辺はコンテナ１の下辺と同じ長さであるため、７５ドットとなる。つまり、コンテナ４にレイアウトされる図１１（ｄ）の画像は横幅４０ドットであるが、７５ドットとなるように伸長される。
【００９５】
最後に、優先順位第５位のコンテナ５の配置を計算する。
【００９６】
コンテナ５の制約条件によれば、コンテナ５の上辺はコンテナ４の下辺から５ドットであるから、上辺Ｙ座標位置はコンテナ１の下辺のＹ座標に５ドットを加えた８５になる。また、コンテナ５の下辺は上辺から５ドットであるから、９０に決定される。コンテナ５の右辺はコンテナ１の下辺と同じ長さであるため、７５ドットとなる。つまり、コンテナ５にレイアウトされる図１１（ｅ）の画像は横幅４０ドットであるが、７５ドットとなるように伸長される。
【００９７】
結果として、図９のテンプレートおよび図１０の制約条件に基づき、図１１に示す画像をコンテナに配置した場合、図１２（b）のように配置が決定される。
【００９８】
次に、画像形成装置１００側の追加アプリケーション３０８と情報処理装置１１１側のダイナミックレイアウトアプリケーション６０１との連携処理について説明する。
【００９９】
図１３は、第１の情報処理装置１１１で動作するダイナミックレイアウトアプリケーション６０１と画像形成装置１１１で動作する追加アプリケーション３０８との通信シーケンスの例を示す図である。画像形成装置１００の追加アプリケーション３０８はアプリケーションの起動時（ステップ１４０１）、情報処理装置１１１のダイナミックレイアウトアプリケーション６０１にＵＩ配置の作成依頼を行う。このとき、追加アプリケーション３０８は初期化情報として追加アプリケーション３０８を特定するアプリケーションＩＤを送信する（ステップ１４０２）。
【０１００】
ステップ１４０３で、初期化情報を受け取ったダイナミックレイアウトアプリケーション６０１はアプリケーションＩＤから予め設定されたアプリケーション用のレイアウトテンプレートを取得する（ステップ１４０４）。このレイアウトテンプレートは例えば図９に示されたようなものである。
【０１０１】
次にダイナミックレイアウトアプリケーション６０１はＵＩ配置情報を作成する（ステップ１４０５）。本初期化時は、図９に示したような座標情報を追加アプリケーション３０８に送信する（ステップ１４０６）。
【０１０２】
追加アプリケーションはこの座標情報を受け取る（ステップ１４０７）。その後、自身がもつ図１１に示すような表示コンテンツ（オブジェクトデータ）を、受信した座標情報により特定される領域に埋め込み（ステップ１４０８）、ステップ１４０９にて画面の表示を行う。
【０１０３】
次に、ＵＩの動的な変更を行う場合（ステップ１４１０）、変更があったコンテナのＩＤと変更があったコンテンツのサイズ情報をダイナミックレイアウトアプリケーション６０１に送信する（ステップ１４１１）。ステップ１４１２にて更新情報を受信したダイナミックレイアウトアプリケーション６０１は、アプリケーションＩＤからレイアウトテンプレートを特定し、領域情報から全体領域を前述した方法によって動的に変更する（ステップ１４１４）。結果、ＵＩ配置を作成し（ステップ１４１５）、座標情報を追加アプリケーション３０８に送信する（ステップ１４１６）。
【０１０４】
ステップ１４１７にてＵＩ配置を受信した追加アプリケーション３０８は自身がもつ表示コンテンツを、受信した座標情報にあわせて配置する（ステップ１４１８）。そして、ＵＩを更新する（ステップ１４１９）。
【０１０５】
図１４は、図１３の通信シーケンスにおけるステップ１４１０以降に対応するWebプリントアプリケーション４０１の動作を示すフローチャートである。
【０１０６】
図１４のフローは、所定のＵＩ配置変更イベント発生時に開始される。本例はWebプリントアプリケーション４０１の動作であるから、ユーザによりプレビューボタン５０４が押下されたことがＵＩ配置変更イベントとなる（ステップＳ１５０１）。そのようなイベントが発生すると、ＵＲＬ指定領域５０３で指定されたＵＲＬのドキュメントのダウンロードを開始する（ステップＳ１５０２）。Webプリントアプリケーション４０１はそのＵＲＬのドキュメントデータを当該Webサーバから受信する（ステップＳ１５０３）。ステップＳ１５０４では受信が終了したかを判断し、受信が終了しない場合は再度ステップＳ１５０３に戻りドキュメントの受信を続行する。
【０１０７】
ドキュメントの受信が終了すると、Webプリントアプリケーションは受信したドキュメントのサイズを特定する。そしてすでにプレビュー領域５０５に表示しているものから動的に変更すべき可変データであるかどうかを判定する（ステップＳ１５０５）。ここで、可変データであると判定された場合は、ステップＳ１５０６にて、第１の情報処理装置１１１上のダイナミックレイアウトアプリケーションにアプリケーションＩＤ、コンテナＩＤ、コンテンツサイズ情報を送信する（ステップＳ１５０６）。そして、ステップＳ１５０７において、ダイナミックレイアウトアプリケーションからＵＩ配置情報を受信し、ステップＳ１５０８にてステップＳ１５０７で受信した配置情報のとおりＵＩを再配置し、表示部１０２にＵＩを表示する（ステップＳ１５０９）。
【０１０８】
このように、ダウンロードしたドキュメントがたとえば図１１（ａ）や図１１（ｆ）のようにダウンロードした時点で確定する可変長データである場合において、動的にレイアウトを更新することが可能になる。
【０１０９】
図１５は、図１４にWebプリントアプリケーション４０１の動作に対応するダイナミックレイアウトアプリケーション６０１の動作を示すフローチャートである。
【０１１０】
図１４のステップＳ１５０６において、WebプリントアプリケーションよりアプリケーションＩＤ、コンテナＩＤ、コンテンツサイズ情報が送信されると、ダイナミックレイアウトアプリケーション６０１はこれらを受信する（ステップＳ１６０１）。
【０１１１】
ダイナミックレイアウトアプリケーション６０１は、受信したこれらの情報からデータベース６０５を検索し（ステップＳ１６０２）、アプリケーションＩＤに相当するレイアウトテンプレート６０６を特定する（ステップＳ１６０３）。
【０１１２】
次に、コンテナを識別するコンテナＩＤと該当コンテナの動的変更後のサイズ情報とに基づき、前述した方法で、ダイナミックレイアウト部６０４にてダイナミックレイアウト処理を行う（ステップＳ１６０４）。その結果作成された座標情報をWebプリントアプリケーション４０１に送信する（ステップＳ１６０５）。
【０１１３】
このように本実施形態においては、Webプリントアプリケーション４０１はドキュメントのサイズに応じてドキュメントのプレビュー領域５０５が変更された場合、ＵＩの他のコンテナの配置も最適に再配置される。
【０１１４】
上述の実施形態では、図９に示すコンテナ７０１（コンテナ１）に配置される画像が図１１（ａ）や（ｃ）のように可変長のコンテンツとなっており、予め設計者がテンプレートに設計した最適なＵＩ配置が実現される。
【０１１５】
また、上述したようなＵＩの動的配置は、表示文字列が日々更新されるようなバリアブル文字列を表示するアプリケーションにも適用が可能である。たとえば、日々更新されるような文字列として、企業ユースにおける管理情報が考えられる。図１６はそのような管理情報の一例として、ネットワーク停止のお知らせをアプリケーション表示領域の下段の表示欄１７０１に表示するＵＩの例を示している。このような管理情報はその内容によって文字数が変わるものであり、場合によっては一行には収まらず複数行で表示せざるを得ない場合もある。したがって、このようなアプリケーションにおいては、管理情報の文字数や行数に応じてレイアウトを動的に再配置することが好ましい。これは、表示欄１７０１のコンテナに高い優先度を与えることにより実現可能である。一方、ボタン配置を優先する場合など、レイアウトのポリシーによっては、表示欄１７０１のコンテナの優先度を他のコンテナの優先度よりも低くすることも考えられる。この場合は表示欄１７０１のサイズが大きく変更されることはなくなるが、そのかわりに、表示する文字数等に応じて表示文字サイズを変更することが好ましい。
【０１１６】
以上のようなＵＩの動的配置は、上述のようなプレビュー画面や管理情報以外にも、コンビニエンスストア等に設置される複写機において、お知らせ情報やバナー広告等の情報の表示サイズに応じて行わせることも考えられる。この表示される情報は装置によって表示条件や期間を設定可能な一時的に表示される情報である
【０１１７】
さらに、たとえば福祉施設では表示するボタンのサイズを大きくし、その分コンテナ間の間隔を詰めるなど、装置の設置場所に依存してＵＩを動的に配置することも可能である。
【０１１８】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。具体的には、上述の実施形態は情報処理装置１１１に設けられたダイナミックレイアウトアプリケーションを利用してドキュメントのプレビューに係るＵＩの動的配置を説明した。しかし、画像形成装置自身がダイナミックレイアウトアプリケーションを有する構成であってもよい。たとえば、図１のリーダ部１０１やプリンタ部１０３のような複写機のユニットの状態を表示するアプリケーションを考える。この場合において、画像形成装置稼動後に動的にコンポーネントが追加される場合に、機器の構成情報を表示する領域をレイアウトテンプレートとして動的に再配置するように構成してもよい。
【０１１９】
なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システムまたは装置に直接または遠隔から供給し、そのシステムまたは装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。
【０１２０】
従って、本発明の機能・処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１２１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２３】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能・処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１２４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１２５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１２６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【０１２７】
【図１】実施形態に係る画像形成システムの構成を示すブロック図である。
【図２】実施形態におけるコア部の構成を示すブロック図である。
【図３】、
【図４】実施形態における制御プログラムのソフトウェア構成図である。
【図５】実施形態におけるWebプリントアプリケーションに係るユーザインタフェースの例を示す図である。
【図６】実施形態におけるダイナミックレイアウトアプリケーションのソフトウェア構成図である。
【図７】実施形態におけるレイアウトテンプレートの例を示す図である。
【図８】実施形態におけるレイアウトテンプレートにコンポーネントが挿入された例を示す図である。
【図９】実施形態におけるレイアウトテンプレートの座標情報の例を示す図である。
【図１０】実施形態におけるレイアウトテンプレートの属性表の例を示す図である。
【図１１】実施形態におけるレイアウトテンプレートに挿入されるコンポーネントの例を示す図である。
【図１２】実施形態におけるレイアウトテンプレートの各コンテナの配置結果の例を示す図である。
【図１３】実施形態における情報処理装置と画像形成装置とのアプリケーションレベルの通信シーケンスの例を示す図である。
【図１４】実施形態におけるWebプリントアプリケーションの動作を示すフローチャートである。
【図１５】実施形態におけるダイナミックレイアウトアプリケーションの動作を示すフローチャートである。
【図１６】バリアブル文字列であるネットワーク停止のお知らせをアプリケーション表示領域の下段に表示するＵＩの例を示す図である。
【図１】
2007241661.tif 000003
【図２】
2007241661.tif 000004
【図３】
2007241661.tif 000005
【図４】
2007241661.tif 000006
【図５】
2007241661.tif 000007
【図６】
2007241661.tif 000008
【図７】
2007241661.tif 000009
【図８】
2007241661.tif 000010
【図９】
2007241661.tif 000011
【図１０】
2007241661.tif 000012
【図１１】
2007241661.tif 000013
【図１２】
2007241661.tif 000014
【図１３】
2007241661.tif 000015
【図１４】
2007241661.tif 000016
【図１５】
2007241661.tif 000017
【図１６】
2007241661.tif 000018