(57)【要約】【課題】  ドキュメントテンプレートに基づいて一旦レイアウトされたオブジェクトのレイアウト調整を、テンプレート編集者の意思・意図を満足しつつ、ユーザに実行させることができる情報処理装置及びその制御方法、プログラムを提供する。【解決手段】  ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行する。それによって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する。レイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する。選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する。【選択図】  図２９
2007066304.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする情報処理装置であって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト手段と、
前記レイアウト手段によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定手段と、
前記レイアウト手段によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換手段と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２設定手段は、前記調整許可設定値が示す可動位置範囲及びサイズ変更可能量を、前記インタラクティブオブジェクトの調整操作で許容する可動位置範囲及びサイズ変更可能量として設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フィールド領域の可動位置範囲及びサイズ変更可能量を設定する第３設定手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１設定手段は、前記第３設定手段で設定された可動位置範囲及びサイズ変更可能量を調整することで、前記調整許可設定値を設定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記フィールド領域は、可動位置範囲及びサイズ変更可能量を有する動的フィールド領域と、可動位置範囲及びサイズ変更可能量を持たない静的フィールド領域の２種類がある
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記第１設定手段は、前記調整許可設定値として、前記オブジェクトの可動位置範囲及びサイズ変更可能量を調整する調整手段と、
前記調整手段による調整の可否を、前記可動位置範囲及び前記サイズ変更可能量に対して個別に指定する指定手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記調整方法として、前記ドキュメント上のオブジェクトの調整を許容する調整許容モードと、調整を禁止する調整禁止モードの少なくとも２種類の調整モードのどちらかを選択する選択手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記第２設定手段による設定がなされたドキュメント上のオブジェクトを調整するオブジェクト調整手段と、
前記ドキュメントを印刷する印刷手段と
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項９】
当該情報処理装置とネットワークを介して接続される外部装置へ、前記第２設定手段による設定がなされたドキュメントを配信する配信手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする情報処理装置の制御方法であって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト工程と、
前記レイアウト工程によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定工程と、
前記レイアウト工程によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換工程と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする制御をコンピュータに実行させるためのプログラムであって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト工程と、
前記レイアウト工程によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定工程と、
前記レイアウト工程によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換工程と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
コンテナの属性に基づきコンテンツがレイアウトされたデータを記憶する記憶手段と、
前記コンテナの属性に基づきコンテンツの修正範囲を設定する設定手段と、
前記設定手段により設定されたコンテンツの修正範囲に基づき修正の制限されるドキュメントを生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項１３】
コンテナの属性に基づきコンテンツがレイアウトされたデータを記憶する記憶手段と、
前記コンテナの属性に基づきコンテンツの移動許可領域、またはサイズ変更許可範囲を設定する設定手段と、
前記設定手段により設定されたコンテンツの移動領域、またはサイズ変更範囲に基づき、コンテンツの移動許可領域、またはサイズ変更許可範囲が制限されるドキュメントを生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項１４】
コンテナの属性に基づきコンテンツがレイアウトされたデータからドキュメントを生成するドキュメント生成方法であって、
前記コンテナの属性に基づきコンテンツの修正範囲を設定する設定工程と、
前記設定工程により設定されたコンテンツの修正範囲に基づき修正の制限されるドキュメントを生成する生成工程と
を備えることを特徴とするドキュメント生成方法。
【請求項１５】
コンテナの属性に基づきコンテンツがレイアウトされたデータからドキュメントを生成するドキュメント生成方法であって、
前記コンテナの属性に基づきコンテンツの移動許可領域、またはサイズ変更許可範囲を設定する設定工程と、
前記設定工程により設定されたコンテンツの移動領域、またはサイズ変更範囲に基づき、コンテンツの移動許可領域、またはサイズ変更許可範囲が制限されるドキュメントを生成する生成工程と
を備えることを特徴とするドキュメント生成方法。
【請求項１６】
コンテナの属性に基づきコンテンツがレイアウトされたデータからドキュメントを生成するコンピュータに実行させるためのプログラムであって、
前記コンテナの属性に基づきコンテンツの修正範囲を設定する設定工程と、
前記設定工程により設定されたコンテンツの修正範囲に基づき修正の制限されるドキュメントを生成する生成工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
コンテナの属性に基づきコンテンツがレイアウトされたデータからドキュメントを生成するコンピュータに実行させるためのプログラムであって、
前記コンテナの属性に基づきコンテンツの移動許可領域、またはサイズ変更許可範囲を設定する設定工程と、
前記設定工程により設定されたコンテンツの移動領域、またはサイズ変更範囲に基づき、コンテンツの移動許可領域、またはサイズ変更許可範囲が制限されるドキュメントを生成する生成工程と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする情報処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
近年、商品の多品種化で商品ライフが短くなっていることが注目されている。また、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からＣＲＭ（Customer Relationship Management）、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングの必要性が注目されている。これらの手法により、顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【０００３】
Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングは、データベース・マーケティングの一種である。これは、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近では、ＤＴＰ（デスクトップパブリッシング）技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。このようなバリアブルプリントシステムでは、顧客毎に異なる量のコンテンツが最適にレイアウトされたカスタマイズ文書を作成することが求められる。
【０００４】
一般にバリアブルプリントシステムにおいて、そのようなカスタマイズ文書を作成する際には、文書上にコンテナをレイアウトする。ここで、コンテナとは、コンテンツ（描画内容（例えば、イメージ、テキスト等））を描画するための描画領域であり、フィールド領域と呼ばれることもある。
【０００５】
そして、文書上にこのようなコンテナをレイアウトし、データベースとレイアウトを関連付ける（データベース内の各種コンテンツとコンテナとを関連付ける）作業を行う。これにより、所望のカスタマイズ文書（ドキュメントテンプレートと呼ばれる）を作成することができる。そして、このカスタマイズ文書上のコンテナ内のコンテンツを適宜切り換える（関連付けを変更する）ことで、その内容を可変（バリアブル）にすることができる。そのため、このような文書を、バリアブルデータ文書（ドキュメント）と呼んでおり、このバリアブルデータドキュメントを用いるプリントシステムが、バリアルプリントシステムである。
【０００６】
ここで、従来のバリアブルプリントシステムでは、コンテンツであるテキストやイメージに関連付けられるコンテナのサイズが固定である。そのため、データベース内のコンテンツがコンテナに挿入された（流し込まれた）ときに、そのデータ量がコンテナサイズより多いと、次のようなことが発生する。つまり、そのデータがテキストであれば、テキストのオーバーラップが発生し、また、そのデータがイメージであればイメージのクリッピングが発生する。また、データ量がコンテナサイズより小さいと、コンテナとその内部のコンテンツとの間に隙間が空いてしまう等の適切な表示がなされない可能性がある。
【０００７】
これらの問題を解決するために、さらなるレイアウトを変更する技術として、あるコンテナのサイズが大きくなった場合、このコンテナに隣接する他のコンテナのサイズを小さくする技術が特許文献１の「レイアウトデザイン装置」に開示されている。
【０００８】
また、特許文献２には、ドキュメント上にレイアウトするオブジェクトを定義する定義モードと、そのドキュメントを閲覧するための実行モードを有する構成が開示されている。ここで、定義モードでは、オブジェクト同士に所定の位置関係による条件とその条件が成立するときに実行する処理を定義することができる。そして、実行モードでは、その条件が成立するときに、定義モードで定義した処理を実行する。
【特許文献１】特開平７−１２９６５８号公報（段落００４９、図８）
【特許文献２】特開平９−２５９１６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述のような技術を利用する自動レイアウトシステムでは、バリアブルデータを流し込んだ際、レイアウトの動的変化が予測しづらい。そのため、レイアウト後、テンプレートに流し込むコンテンツ（バリアブルデータ）によっては、ユーザの好みに合わないレイアウト結果が生成されることがある。
【００１０】
例えば、このような自動レイアウトシステムは、Ｗｅｂサーバクライアントシステムで実現される。この場合、Ｗｅｂクライアント側では、ユーザにより選択されたドキュメントテンプレートとコンテンツの配信リクエストを、Ｗｅｂサーバに送信する。Ｗｅｂサーバ側では、その配信リクエストに基づいて、ドキュメントテンプレートとコンテンツを用いて自動レイアウトを行う。そして、その自動レイアウト後のドキュメントを、ＰＤＦ等の形式のドキュメントにして、Ｗｅｂクライアントに配信する。
【００１１】
ここで、このようなＷｅｂサーバクライアントシステムを利用するユーザには、多種多様な好みを持っていて、配信されたドキュメントが必ずしも意図するものであるとは限らないことが想定される。そのため、ドキュメントを配信するＷｅｂサーバ側では、何らかのレイアウト調整／微調整機能をＷｅｂクライアント側のユーザに提供する必要があると考えられている。
【００１２】
また、一方で、Ｗｅｂクライアント側のユーザに自由にレイアウト調整を許した場合、企業のロゴマーク等のデータのように、他の図形要素から、そのオブジェクトの独立性を保証しておきたいデータなどもある。つまり、このようなロゴマーク等のデータは、その独立性が損なわれないよう、ロゴの周囲に充分な余白をとっておきたい場合がある。そのため、ドキュメント内の全てのオブジェクトをユーザが自由に改変可能であるということは、テンプレート編集者またはドキュメント配信者の意思・意図にそぐわないレイアウトをユーザ側で生成してしまう可能性があることを意味している。
【００１３】
本発明は上記の課題を解決するためになされたものである。本発明の目的は、ドキュメントテンプレートに基づいて一旦レイアウトされたオブジェクトのレイアウト調整を、テンプレート編集者の意思・意図を満足しつつ、ユーザに実行させることができる情報処理装置及びその制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
また、好ましくは、複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする情報処理装置であって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト手段と、
前記レイアウト手段によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定手段と、
前記レイアウト手段によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換手段と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定手段と
を備える。
【００１５】
また、好ましくは、前記第２設定手段は、前記調整許可設定値が示す可動位置範囲及びサイズ変更可能量を、前記インタラクティブオブジェクトの調整操作で許容する可動位置範囲及びサイズ変更可能量として設定する。
【００１６】
また、好ましくは、前記フィールド領域の可動位置範囲及びサイズ変更可能量を設定する第３設定手段を更に備える。
【００１７】
また、好ましくは、前記第１設定手段は、前記第３設定手段で設定された可動位置範囲及びサイズ変更可能量を調整することで、前記調整許可設定値を設定する。
【００１８】
また、好ましくは、前記フィールド領域は、可動位置範囲及びサイズ変更可能量を有する動的フィールド領域と、可動位置範囲及びサイズ変更可能量を持たない静的フィールド領域の２種類がある。
【００１９】
また、好ましくは、前記第１設定手段は、前記調整許可設定値として、前記オブジェクトの可動位置範囲及びサイズ変更可能量を調整する調整手段と、
前記調整手段による調整の可否を、前記可動位置範囲及び前記サイズ変更可能量に対して個別に指定する指定手段と
を備える。
【００２０】
また、好ましくは、前記調整方法として、前記ドキュメント上のオブジェクトの調整を許容する調整許容モードと、調整を禁止する調整禁止モードの少なくとも２種類の調整モードのどちらかを選択する選択手段を更に備える。
【００２１】
また、好ましくは、前記第２設定手段による設定がなされたドキュメント上のオブジェクトを調整するオブジェクト調整手段と、
前記ドキュメントを印刷する印刷手段と
を更に備える。
【００２２】
また、好ましくは、当該情報処理装置とネットワークを介して接続される外部装置へ、前記第２設定手段による設定がなされたドキュメントを配信する配信手段を更に備える。
【００２３】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする情報処理装置の制御方法であって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト工程と、
前記レイアウト工程によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定工程と、
前記レイアウト工程によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換工程と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定工程と
を備える。
【００２４】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを挿入するためのフィールド領域を、ドキュメントにレイアウトする制御をコンピュータに実行させるためのプログラムであって、
前記ドキュメント上にレイアウトされる前記フィールド領域にデータを挿入して、該フィールド領域のレイアウト処理を実行するレイアウト工程と、
前記レイアウト工程によって得られるドキュメント上のオブジェクトの調整を許容する範囲を示す調整許可設定値を設定する第１設定工程と、
前記レイアウト工程によるレイアウト結果を、指定されたドキュメントフォーマットのドキュメントに変換する変換工程と、
選択された調整方法に基づいて、前記ドキュメント上のオブジェクトを、前記調整許可設定値に基づいて調整を許容するインタラクティブオブジェクトとして設定する第２設定工程と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ドキュメントテンプレートに基づいて一旦レイアウトされたオブジェクトのレイアウト調整を、テンプレート編集者の意思・意図を満足しつつ、ユーザに実行させることができる情報処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２７】
＜システム構成＞
まず、本実施形態の情報処理システム及び、その構成要素であるホストコンピュータのハードウェア構成について、図１Ａ及び図１Ｂを用いて説明する。
【００２８】
図１Ａは本発明の実施形態の情報処理システムの構成例を示す図である。また、図１Ｂは本発明の実施形態の情報処理システムの一構成要素であるコンピュータ（本発明の情報処理装置に相当する）のハードウェア構成を示す図である。
【００２９】
尚、図１Ａ中のホストコンピュータ以外の各種コンピュータ（例えば、データベースサーバ１１７、ファイルサーバ１１５及びプリントサーバ１０９）も、例えば、図１Ｂのハードウェア構成と同等のハードウェア構成を有している。
【００３０】
図１Ａにおいて、情報処理システム１００は、ネットワーク１０７を介して、ホストコンピュータ１０１、データベースサーバ１１７及びファイルサーバ１１５及びプリントサーバ１０９が相互に接続されている。
【００３１】
データベースサーバ１１７は、データベース１１９を備えている。また、プリントサーバ１０９は、プリンタ１１３を接続しており、ネットワーク１０７を介して受信する印刷データを適宜プリンタ１１３に出力して、その印刷データを印刷することが可能である。
【００３２】
図１Ａの情報処理システム１００は、特に、バリアブルデータドキュメントを印刷するバリアブルプリントシステムの構成例を示している。本実施形態で説明されるバリアブルプリント処理は、レイアウト編集装置として機能するホストコンピュータ１０１（汎用コンピュータモジュールによって構成される）で実現される。
【００３３】
バリアブルプリントシステム１００上で実施可能となるレイアウト編集アプリケーション１２１は、ホストコンピュータ１０１において、その全体あるいは一部分が実行される。特に、レイアウト編集に関する処理や、バリアブルデータドキュメントの印刷に関する処理は、ホストコンピュータ１０１によって実行されるソフトウェアにより実現される。
【００３４】
レイアウト編集アプリケーション１２１等のソフトウェアやコンピュータプログラムはコンピュータ可読媒体に格納され、そのコンピュータ可読媒体からホストコンピュータ１０１のメモリ１３６にロードされ、実行される。そのようなソフトウェアやコンピュータプログラムを格納したコンピュータ可読媒体は、コンピュータプログラム製品である。そして、例えば、ホストコンピュータ１０１において、そのコンピュータプログラム製品を使用することにより、バリアブルデータドキュメントのレイアウト編集やバリアブルプリントに好適な装置が提供されることになる。
【００３５】
図１Ｂに示されるように、ホストコンピュータ１０１には、Ｉ／Ｏ（入出力）インタフェース１４３を介してキーボード１３２や、ポインティングデバイスであるマウス１３３が入力装置として接続される。また、出力装置としてのディスプレイ装置１４４がビデオインタフェース１３７を介して接続される。更に、プリントサーバ１０９をＩ／Ｏインタフェース１３８を介して接続することも可能である。
【００３６】
また、Ｉ／Ｏインタフェース１３８は、ホストコンピュータ１０１を、ネットワーク１０７へ接続する機能も有する。これにより、ネットワーク１０７を介して、バリアブルプリントシステム１００内の他のコンピュータ装置（外部機器）にホストコンピュータ１０１を接続することができる。ネットワーク１０７の典型的な例としては、ローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）が挙げられる。
【００３７】
また、図１Ｂに示すように、ホストコンピュータ１０１は、少なくとも１つのプロセッサ１３５、例えば、半導体メモリである、ランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリ１３６を含んでいる。記憶装置１３９は、プログラム等の各種データを格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ（ＨＤＤ）１４０やフロッピー（登録商標）ディスクドライブ（ＦＤＤ）１４１を含む。
【００３８】
尚、図１Ｂには示されていないが、磁気テープドライブやメモリカード等の各種記憶装置も記憶装置１３９として使用することが可能である。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される（もちろん、ＣＤ−ＲＯＭによってコンピュータプログラムを提供してもよい）。
【００３９】
ホストコンピュータ１０１は、相互接続バス１３４を介して、ホストコンピュータ１０１の各種構成要素１３５〜１３４と通信する。この通信は、例えば、ＧＮＵ／ＬＩＮＵＸやマイクロソフトウインドウズ（登録商標）のようなオペレーティングシステムや、典型的にはオペレーティングシステムに従う形で実現される。あるいは、この通信は、関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、実現される。即ち、上述の各種構成要素１３５〜１４３は、相互接続バス１３４を介して通信可能に接続されており、ホストコンピュータ１０１にインストールされたオペレーティングシステムにより利用される。
【００４０】
尚、図１Ｂに示すホストコンピュータ１０１の例としては、ＩＢＭ互換ＰＣ（パーソナルコンピュータ）やＳＵＮのＳｐａｒｃｓｔａｔｉｏｎ、あるいはそれらを含んだコンピュータシステムが考えられる。
【００４１】
本実施形態では、レイアウト編集アプリーション１２１は、ハードディスクドライブ１４０に常駐し、プロセッサ１３５による実行や読込が制御される。レイアウト編集アプリケーション１２１の媒介記憶装置とネットワーク１０７からフェッチされるデータは、ハードディスクドライブ１４０に呼応してメモリ１３６を使用する。
【００４２】
一つの例では、レイアウト編集アプリケーション１２１のエンコードされたプログラムが、ＣＤ−ＲＯＭやフロッピー（登録商標）ディスク上に格納される。そして、対応するＣＤ−ＲＯＭドライブ１４２やフロッピー（登録商標）ディスクドライブ１４１を通じて読み込まれ、ハードディスクドライブ１４０にインストールされる。
【００４３】
あるいは、別の例として、レイアウト編集アプリケーション１２１は、ネットワーク１０７からホストコンピュータ１０１内に読み込まれて、ハードディスクドライブ１４０にインストールされてもよい。
【００４４】
更に、レイアウト編集アプリケーション１２１を含む各種ソフトウェアは、磁気テープまたはＲＯＭまたは集積回路、光磁気ディスクからホストコンピュータ１０１内にロードされてもよい。または、ホストコンピュータ１０１とその他のデバイス間における赤外線等の無線通信からホストコンピュータ１０１内にロードされてもよい。または、ＰＣＭＣＩＡカードのようなコンピュータ可読カード、そしてＥメール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットを含む他の適当なコンピュータからホストコンピュータ１０１内にロードされてもよい。これらは、コンピュータ可読媒体の例であり、他のコンピュータ可読媒体が使用されてもよいことは明らかである。
【００４５】
図１Ａにおいて、レイアウト編集アプリケーション１２１は、ホストコンピュータ１０１にバリアブルプリント（バリアブルデータプリント（ＶＤＰ）ともいう）を実現させるものである。このレイアウト編集アプリケーション１２１は、２つのソフトウェアコンポーネント、即ち、レイアウトエンジン１０５とユーザインタフェース１０３を含んでいる。
【００４６】
レイアウトエンジン１０５は、フィールド領域（部分領域）であるコンテナ（矩形の範囲）に与えられたサイズや位置の制限に従って、データベース１１９にレコード単位で格納されているバリアブルデータから１レコードずつ読み込む。そして、読み込んだバリアブルデータとコンテナの制限とから、読み込んだバリアブルデータが流し込まれるコンテナのサイズや位置等のレイアウトを計算するソフトウェアコンポーネントである。
【００４７】
また、本実施形態では、レイアウトエンジン１０５は、更に、コンテナに割り当てられたバリアブルデータを描画し、バリアブルデータドキュメントのイメージを生成する処理も行う。但し、本発明は、これに限るものではなく、レイアウトエンジン１０５は、各部分領域（コンテナ）のサイズと位置を決定するアプリケーションとして動作し、プリンタドライバ（不図示）に描画情報を出力する。これにより、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成してもよい。
【００４８】
ユーザインタフェース１０３は、ユーザによるコンテナのレイアウトや属性設定を可能とし、ユーザにドキュメントテンプレート（テンプレート情報とも呼ぶ）を作成させる。また、ユーザインタフェース１０３は、ドキュメントテンプレート内の各コンテナとデータソース（データベース１１９上のバリアブルデータ（コンテンツ））とを関連付けるメカニズムを提供する。ユーザインタフェース１０３とレイアウトエンジン１０５は、通信チャネル１２３を介して通信する。
【００４９】
バリアブルデータドキュメント生成のためのデータソースは、一般的には、データベースアプリケーションを実行している、他のコンピュータで構成されるデータベースサーバ１１７上にある典型的なデータベース１１９が挙げられる。
【００５０】
ホストコンピュータ１０１は、ネットワーク１０７を介して、データベースサーバ１１７と通信する。レイアウト編集アプリケーション１２１は、ホストコンピュータ１０１、あるいは、一般的には、他のコンピュータで構成されるファイルサーバ１１５に保存されるドキュメントテンプレートを生成する。
【００５１】
また、レイアウト編集アプリケーション１２１は、バリアブルデータとマージされたドキュメントテンプレートによって構成されたバリアブルデータドキュメントを生成する。これらのバリアブルデータドキュメントは、ホストコンピュータ１０１のローカルファイルシステムやファイルサーバ１１５に保存されるか、あるいはプリントサーバ１０９を介してプリンタ１１３に直接印刷される。
【００５２】
ここで、プリントサーバ１０９は、直接ネットワーク１０７に接続されていないプリンタ１１３に、ネットワーク機能を提供するコンピュータである。プリントサーバ１０９とプリンタ１１３は、典型的な通信チャネル１１１（例えば、ＵＳＢ、ＩＥＥＥ１３９４、無線ＬＡＮ等）を介して接続される。
【００５３】
次に、バリアブルプリントシステム１００の別構成例について、図１Ｃを用いて説明する。
【００５４】
図１Ｃは本発明の実施形態の情報処理システムの別構成を示す図である。
【００５５】
図１Ｃは、ネットワーク１０７上にエンジンサーバ２２７を追加して、このエンジンサーバ２２７にレイアウトエンジン２２５を構成した例を示している。つまり、ホストコンピュータ１０１内のレイアウトエンジン１０５を、エンジンサーバ２２７内で実現した構成である。この構成の場合、ホストコンピュータ１０１の処理負荷を軽減することができる。
【００５６】
尚、このエンジンサーバ２２７は、他のサーバと同様、典型的なコンピュータである。また、ファイルサーバ１１５に保存されたドキュメントテンプレートは、印刷や他の目的がある際、レイアウトエンジン２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと結合することができる。そのようなオペレーションは、ユーザインタフェース１０３を介して要求されるか、特定のレコードのみ印刷するように要求される。
【００５７】
＜レイアウト編集アプリケーションの概要＞
まず、バリアブルデータプリントの概略について、図２を用いて説明する。
【００５８】
図２は本発明の実施形態のバリアブルデータプリントの概略を説明するための図である。
【００５９】
レイアウト編集アプリケーション１２１のユーザインタフェース１０３により、ユーザからの操作指示に従いページ上に複数のコンテナ１８１〜１８３を配置する。そして、各コンテナに位置やサイズに関する制約条件を付与することによりドキュメントテンプレート１８０が生成される。
【００６０】
また、ユーザインタフェース１０３は、ドキュメントテンプレート１８０とデータソース１９０（例えば、データベース１１９）との関連付け、更に各コンテナとデータソース１９０内の各データフィールドとの関連付けを行う。各コンテナとデータソース１９０内の各データフィールドとの関連付けを示す関連付け情報は、ドキュメントテンプレート１８０内に記述され、該ドキュメントテンプレート１８０は、ＨＤＤ１４０に格納される。また、データソース１９０は、レコード単位で項目データが記載されているファイルであり、ＨＤＤ１４０に格納されている。
【００６１】
レイアウトエンジン１０５は、ユーザからの印刷指示もしくはプレビュー指示に応じて、ドキュメントテンプレート１８０の各コンテナ１８１〜１８２に、関連付け情報で関連付けられたデータをデータソース１９０から読み込む。次に、その読み込んだデータをレコード単位で流し込み（例えば、データレコード１のデータフィールドＡ〜Ｃをコンテナ１８１〜１８３へ流し込む）、流し込まれたデータに応じて各コンテナのサイズ等を調整（レイアウト調整）する。
【００６２】
プレビュー指示の場合は、レイアウト調整されたドキュメントイメージを生成し、ディスプレイ装置１４４の画面上にプレビューとして表示するべく出力される。また、印刷指示の場合は、レイアウトエンジン１０５もしくはプリンタドライバを用いて生成したドキュメントイメージを印刷データとしてプリントサーバ１０９へ出力する。データレコード１，２，３…を順次処理することにより、バリアブルデータプリントが実現されることになる。
【００６３】
＜レイアウト編集アプリケーションの説明＞
以下、レイアウト編集アプリケーション１２１について説明する。
【００６４】
まず、ユーザインタフェース１０３によって実現されるユーザインタフェースの一例について、図３を用いて説明する。
【００６５】
［メインウインドウ］
図３は本発明の実施形態のユーザインタフェースの一例を示す図である。
【００６６】
図３に示すように、ユーザインタフェース１０３は、操作時にアプリケーションウインドウ３０１によって形成されたユーザインタフェースをディスプレイ装置１４４に表示させる。このアプリケーションウインドウ３０１は、メニューバー３０２、ツールバー３０３、ワークエリア３０６とオプションのパレット３１１を有する。
【００６７】
メニューバー３０２とツールバー３０３は非表示にしたり、画面上の色々な場所に移動することが可能である。また、ワークエリア３０６は、マウス１３３の操作によってその場所を移動させることが可能である。また、パレット３１１はオプションであり、目的に応じて表示／非表示を制御することができる。更に、カーソル／ポインタ３１３は、マウス１３３の指示位置を表示する。
【００６８】
メニューバー３０２は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を有する。
【００６９】
ツールバー３０３は、アプリケーションの特別なモードによって非表示状態にする、または表示状態にすることが可能な多くのツールボタンとウィジット（部品）３０５を有する。
【００７０】
ルーラー３０８はオプションであり、ワークエリア３０６内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使用される。
【００７１】
パレット３１１は、バリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット３１１は、移動、リサイズ、クローズをするためのウインドウコントロール３１２を有する。また、パレット３１１は、ワークエリア３０６の前面に表示したり、あるいはオブジェクトの背面に隠すことができる。更に、パレット３１１は、アプリケーションウインドウ３０１の範囲内のみにその表示を制限したり、アプリケーションウインドウ３０１の外側にその一部或いは全体を表示することが可能である。
【００７２】
ツールバー３０３には、図４に示されるような、ユーザが選択可能な複数種類の『ボタン』４０３〜４０６が配置されている。
【００７３】
（１）選択ツールボタン４０３：コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック／ロック解除のために使われる。コンテナの選択は、コンテナの周囲に選択ボックスをドラッグすることによりなされる。また、キーボード１３２上のＣＴＲＬキーを押しながら、複数のコンテナについて選択操作をすることによって、複数のコンテナを選択可能である。
【００７４】
（２）テキストコンテナツールボタン４０４：スタティックあるいはバリアブルテキストを有するコンテナを作成するために使用される。
【００７５】
（３）イメージコンテナツールボタン４０５：スタティックあるいはバリアブルイメージを有するコンテナを作成するために使用される。
【００７６】
（４）リンクツールボタン４０６：コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使用される。
【００７７】
尚、これらのボタンは、周知の技術で知られているように、操作状況に合わせて変化するアイコンのツールチップとして実装される。
【００７８】
また、アプリケーションウインドウ３０１は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の各コンテナが固定コンテナである場合は、すべてのレコードの印刷結果のレイアウトは同じになる。
【００７９】
また、基本レイアウト内の各コンテナが後述する動的コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。
【００８０】
よって、レイアウト編集アプリケーション１２１で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものである。そのため、動的コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウト調整されることになる。
【００８１】
一方、この動的コンテナに対して、コンテナのサイズや位置が固定であるものを、静的コンテナと呼ぶ。
【００８２】
［ドキュメントテンプレート］
図３において、ワークエリア３０６は、ドキュメントテンプレート（１８０：基本レイアウト）のデザインを表示・編集するために使われる。これは、ユーザがドキュメントテンプレートをデザインする過程において、印刷されるドキュメントの概観をユーザに提示することを可能とする。これにより、ユーザは、データソース（１９０）とマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを容易に理解することができる。
【００８３】
また、データソースがドキュメントテンプレートに関連付けられていた場合は、現在のドキュメントのプレビューができるように、対応するバリアブルテキストやイメージがレイアウトされた各コンテナに表示される。
【００８４】
ドキュメントテンプレートにおけるドキュメント構造とコンテナを描写する視覚的な手がかり（コンテナの枠線、アンカー、スライダー、リンク等）は、ドキュメントテンプレート作成時には常に表示される。また、バリアブルデータを流し込むプレビュー時には、視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときに表示される。
【００８５】
ワークエリア３０６は、スクロールバー３０７と、オプションのルーラー３０８と、ドキュメントテンプレート３０９を含む。ドキュメントテンプレート３０９は、ページが複数あることを示すことができる。また、ドキュメントテンプレート３０９は、図２のドキュメントテンプレート１８０に相当するものである。
【００８６】
与えられたドキュメントテンプレートのページサイズは、周知の技術を用いて、ユーザによって指定される。例えば、メニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。
【００８７】
それぞれのドキュメントでの実際のページ数は、関連付けられたデータソース内のバリアブルデータによって変化する可能性がある。これは、ドキュメントテンプレート内に動的表のように、バリアブルデータの量により大きさが変更されるフィールドが設定されている場合である。つまり、この場合には、１ページ内にバリアブルデータをフィットできないバリアブルデータが読み込まれると、追加のページが自動的に作成されるからである。
【００８８】
それぞれのページ内に示される境界線３１０は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージンである。
【００８９】
また、図４では、１ページのドキュメントテンプレート３０９上に表示され得るオブジェクトの例を示している。
【００９０】
このようなオブジェクトとしては、コンテナ４０７、４０８と、任意に適用するアンカーアイコン４０９、固定されている辺４１１、４１４、固定されていない辺４１０、リンク４１２、そしてスライダー４１３がある。
【００９１】
アンカーアイコン４０９は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン４０９が設定されると、設定された個所の位置が固定となる。つまり、図４の例では、アンカーアイコン４０９は、コンテナ４０７の左上の角に設定されている。そのため、コンテナ４０７はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合には、右方向及び下方向に拡大可能であることを示している。
【００９２】
一方、アンカーアイコン４０９が辺に設定されている場合は、その辺が固定となり、その他の３辺の各方向に拡大可能である。また、アンカーアイコン４０９がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、４方向に拡大可能である。
【００９３】
リンク４１２についての詳細は後述するが、これは、コンテナ４０７とコンテナ４０８が関連付けられていることを示しており、このリンク４１２に設定されている長さ（範囲指定可能）を保ちつつ、コンテナ４０８が右方向に移動可能であることを示している。スライダー４１３は、設定されている辺と水平方向に移動可能であることを示している。
【００９４】
［コンテナ］
次に、データベース中の各レコードに含まれる複数種類のデータフィールドのデータを差し込むためのフィールド領域であるコンテナについて説明する。
【００９５】
コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定あるいは可変のテキスト／イメージ（複数種類のデータフィールドのデータ）が流し込まれ、描画されるフィールド領域（これを部分領域と呼ぶ）である。そして、このコンテナは、図４に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインタフェース１０３を介して、ユーザからの操作指示により、コンテナは、マウス１３３の操作により移動、サイズ調整、再作成される。
【００９６】
より正確には、コンテナは、設定の集まり、視覚的表現、そしてインタラクションと編集動作をもっている。以下、本実施形態におけるコンテナの定義を示す。
【００９７】
（１）コンテナは、固定あるいは可変のコンテンツを持つ。可変コンテンツ（バリアブルデータ）は、データソースから取得したデータがドキュメント毎、つまり、レコード毎に異なる可能性があるという意味でダイナミック（動的）であるということができる。但し、本実施形態の可変コンテンツは、アニメーション化されたもの、あるいは他の方法で時間的に変化するコンテンツは印刷には適していないため、ここでは、意図していない。
【００９８】
同様に、固定コンテンツは、コンテナを使って生成される全てのドキュメントで、同じように表示される。しかしながら、可変コンテンツとリンクが設定されている場合、可変コンテンツの影響を受けて、固定コンテンツはそれぞれのドキュメントで位置が異なる可能性がある。
【００９９】
（２）コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定と同様の装飾機能を持っている。このような設定を、コンテナ属性と呼ぶ。コンテナ属性は、各コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。
【０１００】
（３）コンテナは、ドキュメントを生成する際にデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、印刷された出力物において可視である。可変コンテンツは、データソースからの特定のデータの表示を提供する。コンテナのこの表現は、例えば、印刷されるか、ディスプレイ装置１４４のスクリーン上に表示されるか、その両方が可能である。
【０１０１】
（４）コンテナは、図４に示されるように視覚的な手がかりとしてのユーザインタフェースを有している。例えば、コンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインタフェース（ＧＵＩ）を有する。ＧＵＩコンポーネントは、ディスプレイ装置１４４のスクリーン上に表示されるが、ドキュメントとしては印刷されない。レイアウト編集アプリケーション１２１のユーザインタフェース１０３は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、さらにコンテナの設定の編集や表示を可能にするための機能を有している。
【０１０２】
ユーザインタフェースの機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコンがある。あるいは、コンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。
【０１０３】
［コンテナの制約］
コンテナはそれぞれのドキュメントで表示されるコンテンツをどのように結びつけるかの制御に関する制約がある。これらの制約（固定／可変コンテンツをコンテナと結びつけることを含む）は、ユーザが一つのドキュメントテンプレートから多数のドキュメントの生成をコントロールする主要な方法である。
【０１０４】
制約の一つの例には、『このコンテナのコンテンツの高さは最大４インチです』がある。また、別の制約の例には、『コンテナのコンテンツの左辺は、それぞれのドキュメントにおいて同じ水平位置で表示しなければならない』がある。ここに記述される内容は、ＧＵＩを使ってこのような制約を表示、編集するためのいろいろな方法である。
【０１０５】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。コンテナは、位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。よって、以下の説明では、バリアブルデータプリントに特化した方法における表示・編集に焦点を合わせる。
【０１０６】
コンテナを用いることにより、ユーザは、ドキュメントにおけるコンテンツのサイズ（描画サイズ）や位置を指定することが可能となる。いく種類ものドキュメントが一つのドキュメントテンプレートから生成されるので、コンテナに多数の可能性と制約を設定することになるが、これらの設定（指定）や表示のために所定のユーザインタフェースが利用される。
【０１０７】
１つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。従って、コンテナの左辺を論じることは、関連付けられたコンテンツが、各ドキュメントにおいて、表示可能であるエリア内の最も左の辺を論じることと同じである。
【０１０８】
同様に、コンテナの高さを論じることは、生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。本明細書では、ユーザインタフェース１０３を参照して、コンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
【０１０９】
以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。
【０１１０】
（１）コンテナの幅が固定である場合、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
【０１１１】
（２）コンテナの高さが固定である場合、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
【０１１２】
（３）距離（リンクの長さ）が固定である場合、指定された距離は全てのドキュメントにおける制約となる。
【０１１３】
（４）コンテナの左右辺が固定の場合、ページに関する辺の水平位置は全てのドキュメントで同じであることを意味している。但し、コンテナの高さあるいは垂直方向の位置は、変化する可能性がある。例えば、コンテナの左辺が固定である場合、関連付けられたコンテンツの表示位置は、全てのドキュメントでその左辺の位置は同じ水平位置となる。しかしながら、あるドキュメントではページの上の方に表示され、他のドキュメントではページの下の方に表示される可能性がある。
【０１１４】
（５）コンテナの上下辺が固定の場合、ページにおける辺の垂直位置は全てのドキュメントで同じとなることを意味している。但し、コンテナの幅あるいは水平位置はドキュメントによって変わる可能性がある。
【０１１５】
（６）コンテナの垂直軸は、コンテナの右辺と左辺に平行で、それらの中間に位置される仮想の垂直線である。もしコンテナの垂直軸が固定なら、当該コンテナの左右辺の水平位置の平均（即ち、左右の中央位置）は、すべてのドキュメントで同じとなる。この制約において、コンテナの幅は変化する可能性がある。しかしながら、左右辺が垂直軸にもっとも遠いものからもっともものまで、垂直軸は全てのドキュメントで同じ水平位置となる。尚、コンテナの高さと垂直位置はこの制約によって影響されない。
【０１１６】
（７）同様に、もし水平軸が固定なら、コンテナの上辺と下辺の平均が同一の垂直方向位置に配置される。但し、コンテナの幅と水平位置はこの制約によって影響されることはない。
【０１１７】
（８）水平軸と垂直軸の両方が固定である場合、コンテナの中心位置が固定されていることを意味する。但し、コンテナの幅・高さは、この制約によって影響されない。
【０１１８】
（９）コンテナの角位置、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定である場合、それぞれの位置はすべてのドキュメントで同じ場所となる。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
【０１１９】
（１０）垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。
【０１２０】
『固定』の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間（レコード間）で変化するかもしれないことを意味する『可変』である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待する。一方で、特定のコンテナについては、大きさや位置を固定にしたり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。
【０１２１】
そのため、レイアウト編集アプリケーション１２１では、各コンテナ（部分領域）について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにしている。これにより、ユーザはドキュメントテンプレート１８０の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
【０１２２】
［コンテナ表示・編集］
−−新規コンテナの作成方法−−
コンテナは、テキストコンテナとイメージコンテナの２種類で記述される。テキストコンテナはテキストおよび埋め込みのイメージを有する。イメージコンテナは、イメージだけを有する。
【０１２３】
図４で示されるように、新規のテキストコンテナあるいはイメージコンテナは、テキストコンテナツール４０４あるいはイメージコンテナツール４０５をマウス１３３でクリックし、ドキュメントテンプレート３０９上に四角形をドラッグする。これによって、当該ドキュメントテンプレート３０９上に作成される。
【０１２４】
あるいは、コンテナは、所望のテキストコンテナツール４０４あるいはイメージコンテナツール４０５をアクティブにした後に、ドキュメントテンプレート３０９上で単にクリックすることによって作成されるようにしてもよい。この場合、マウス１３３のクリック操作に応じてデフォルトサイズのコンテナがテンプレート上に挿入されるとともに、当該新規コンテナの寸法等を設定するためのダイアログボックスあるいは他のプロンプトが提供される。
【０１２５】
尚、コンテナサイズは、自動的に前もって定義されるようにしてもよいし、あるいは、計算されたスキーマによって作成・配置される等、種々の方法が考えられる。ここで、生成されたコンテナをマウス等の入力装置により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。
【０１２６】
［コンテナの表示方法］
図５（Ａ）から（Ｄ）は、コンテナの辺に関する表示ルールを例示している。
【０１２７】
レイアウト編集アプリケーション１２１は、コンテナの辺の状態を表現するために、実線５０３（アイテム）あるいは点線５０４を用いて辺を表す。これに加えて、アンカー５０６、５０７、５０９（コンテナの辺の近くに描画される線、形状、アイコン）を用いる。更に、ハンドル５０２（移動、修正するために領域の辺上あるいは近傍に描画されるコントロール点）、スライダー４１３（辺の両側に描画される短い並行線、図４参照）、拡縮アイコン５０５、色を用いる。
【０１２８】
図５（Ａ）〜（Ｄ）に示されるコンテナ表示方法のルールは、以下の通りである。
【０１２９】
（１）それぞれの辺を固定するために、実線で描画する。
【０１３０】
（２）幅が固定の場合は、左と右の辺を実線で描画する。
【０１３１】
（３）高さが固定の場合は、上と下の辺を実線で描画する。
【０１３２】
（４）軸は描画しない。
【０１３３】
（５）（１）〜（３）によって描画されていないそれぞれの辺の近くには、拡縮アイコンが描画され、それらの辺を点線で描画する。
【０１３４】
（６）垂直辺と水平辺、あるいは垂直軸と水平軸のそれぞれのペアで、もし両者が固定なら、それらの交差点にアンカーが描画される。
【０１３５】
（７）それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、辺の中央にスライダーが描画される。
【０１３６】
（８）垂直及び水平辺、あるいは垂直及び水平軸のそれぞれのペアで、アンカーやスライダーが描画されていない場合、それらの交差点にハンドルが描画される。
【０１３７】
ルール（１）、（２）、（３）で定義された線は、前述したように固定あるいは制限されているため実線で描画される。ルール（５）のように、可変の辺は、点線で描画される。ルール（６）、（７）、（８）で定義された固定された点は、アンカーを表示し、いくつかの固定された辺は、スライダーを表示し、他はハンドルを表示する。
【０１３８】
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。例えば、もしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画される可能性がある。
【０１３９】
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後に説明するように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインタフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行は、すべてのドキュメントで平均化されるコンテナのコンテンツエリアで、あるいは、可変の辺がユーザインタフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
【０１４０】
これらのコンテンツ表現は、コンテナの各辺の状態を表示するグラフィック機能を提供する。その表現の解釈は、下記の通りである。
【０１４１】
（１）図４の辺４１０のように、点線は、コンテナのコンテンツに依存してドキュメント内の辺の位置が変化することを意味する。
【０１４２】
（２）実線の辺４１４は固定されている、あるいはコンテナの幅・高さが固定されている（コンテナ４０８では、４辺が実線であり、両方が固定されている）ために制限された辺であることを意味する。
【０１４３】
（３）アンカーは、辺および軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れることになる。アンカーは当然固定される。図４のアイコン４０９は、辺４１４の交差する位置が固定されていることを意味しているアンカーアイコンの例である。
【０１４４】
（４）スライダーは、関係付けられた辺の長さが固定されているが、並行移動する可能性があることを意味する。例えば、図４で、スライダー４１３は、コンテナ４０８のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。
【０１４５】
例えば、コンテナ４０８と関連付けられている（リンク設定されている）コンテナ４０７に流し込まれるデータの画像サイズもしくはテキスト量が少ない場合は、コンテナ４０７のサイズが小さくなる。そのため、コンテナ４０８は、左方向にスライド（並行移動）してレイアウトされて表示されることになる。また、コンテナ４０７のサイズが大きくなる場合は、逆にコンテナ４０８は右方向にスライドしてレイアウトされることになる。
【０１４６】
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを、選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
【０１４７】
尚、前述したように、コンテナの幅・高さの基本値・最小値・最大値の基本パターンの設定は、副次的なダイアログウインドウに表示される。
【０１４８】
図５（Ａ）で、コンテナ５０１は、幅・高さの両方が固定されていない（可変である）。固定された辺５０３は実線で表現され、可変の辺５０４は点線で表現されている。拡縮アイコン５０５は、隣接する辺５０４が可変であることを示す。他の形態のインジケータを代わりにあるいは追加的に用いてもよい。
【０１４９】
図５（Ｂ）において、コンテナ５０１は、幅・高さ両方が可変である。アンカーアイコン５０６が、交差している両方の辺５０３の角の位置が固定されていることを明示的に表すべく追加されている。
【０１５０】
図５（Ｃ）において、コンテナ５０１は、コンテナの幅及び高さの両方が可変であり、任意のアンカーアイコン５０７で示されるような中心点の周りを平等に広がるという状態を示している。即ち、コンテナ５０１は、アンカーアイコン５０７を中心に拡大あるいは縮小が可能である。ここでの拡大／縮小は、アンカーアイコン５０７の位置が常にコンテナ５０１の中心点となるようにレイアウト調整される。
【０１５１】
図５（Ｄ）において、コンテナ５０１は、上辺５０８が固定されているが、幅・高さの両方が可変である。上辺５０８の中心に位置付けられて示されるアンカーアイコン５０９は、固定されている。そしてコンテナ５０１の左辺・右辺（５０２）は、アンカーアイコン５０９を通って垂直な中心軸（垂直軸）の周りを、拡大・縮小する。
【０１５２】
［リンク］
リンクは、コンテナとコンテナの関連を示している。関連とは、コンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けて動的レイアウト計算を実行する。例えば、上述のように、図４のリンク４１２は、コンテナ４０７とコンテナ４０８とを関連づけている。リンクの設定方法、及びリンクで関連付けられたコンテナの動的レイアウト計算方法については、後述する。
【０１５３】
［リンクの設定方法］
次に、コンテナ同士を関連付けるためのリンクの設定について説明する。
【０１５４】
図６は本発明の実施形態のリンクの設定処理を示すフローチャートである。また、図７は本発明の実施形態のリンク設定時のユーザインタフェースの遷移例を示す図である。以下、図６及び図７を用いてコンテナにリンクを設定する方法について説明する。
【０１５５】
まず、ステップＳ６０１において、レイアウト編集アプリケーション１２１は、ユーザインタフェースのワークエリア３０６上に編集対象の選択されたドキュメントテンプレートを表示する。リンクを設定するためには、リンクを設定するためのコンテナ（最低２つ）がドキュメントテンプレート上に作成されている必要がある。図７（Ａ）〜（Ｃ）では、ステップＳ６０１で、２つのコンテナを作成してリンクを設定する場合のユーザインタフェースの遷移例を示している。
【０１５６】
次に、ステップＳ６０２において、レイアウト編集アプリケーション１２１は、リンクツールを選択状態にする（図４のボタン４０６をクリックすることにより選択状態となる）。
【０１５７】
図７（Ａ）において、コンテナ７０１と７０２はすべて固定されている辺で構成されているものとする。また、７０３と７０４は、図４の４０９と同じであり、アンカーを意味する。７０５は、マウスポインタを意味している。
【０１５８】
さて、リンクツールが選択状態となっている間に、ユーザはリンクを設定する２つのコンテナの内の一方（コンテナ７０１とする）をクリックして選択する。この操作に応じて、レイアウト編集アプリケーション１２１のユーザインタフェース１０３は、第１のコンテナが選択されたことを認識し（ステップＳ６０３）、選択されたコンテナを特定する情報を保持する。
【０１５９】
また、以降のマウスカーソルの移動に応じた軌跡を画面に表示するようにする。例えば、図７（Ｂ）における線分７０６は、（Ａ）の状態におけるクリック位置と現在のマウスポインタ７０５の位置とを結んだ線を示しており、このＵＩによりどの位置にリンクが設定されるのかをユーザに明示することができる。
【０１６０】
次に、ユーザは、図７（Ｂ）で示されるように、もう一方のコンテナ（コンテナ７０２）までマウスポインタ７０５を移動してクリックする。この操作に応じて、ユーザインタフェース１０３は第２のコンテナが選択されたことを認識し（ステップＳ６０４）、選択されたコンテナを特定する情報を保持する。
【０１６１】
レイアウト編集アプリケーション１２１は、ステップＳ６０３で選択された第１のコンテナと、ステップＳ６０４で選択された第２のコンテナとの間にリンクを設定する。
【０１６２】
こうして、ユーザにより選択された２つのコンテナ７０１、７０２の間にリンクが設定されると、リンク７０７を表示する（ステップＳ６０５）。更に、このリンク設定を受けて、コンテナの表示状態は、図７（Ｃ）の状態になる（ステップＳ６０６）。
【０１６３】
即ち、リンクが設定されたことにより、コンテナのＵＩが自動的に変更される。ここでは、リンクによって関連付けられた辺が可変となり、点線で示されている状態を示している。つまり、図７（Ｃ）において、７０８は点線で示されている辺であり、前述した通り可変の辺を示すものである。
【０１６４】
尚、図７（Ｃ）のようなコンテナの辺の状態の変化は、リンクを設定したことによりコンテナの辺を可変にする必要が生じたことにより自動的に実行されたものである。これは、リンクを設定したにもかかわらず全ての辺が固定であるという矛盾の発生を防ぐことを目的としている。また、７０９は図５の５０５と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したマークである。また、図７（Ｃ）の例では、左のコンテナの右辺と右のコンテナの左辺が可変な状態へ変化したが、これは一例であり、例えば、右コンテナが図４のスライダー４１３を持つ設定に変化しても構わない。
【０１６５】
＜レイアウトエンジンによる動的レイアウト計算処理＞
［動的レイアウト計算方法（全体フロー）］
本実施形態のレイアウト編集アプリケーション１２１は、少なくとも２つのモードを備えている。１つのモードは、ユーザインタフェース１０３を用いてコンテナを作成し、そのコンテナ間に関連付け（リンク設定）を行ってレイアウトを作成するレイアウトモードである。もう１つのモードは、レイアウトエンジン１０５により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードである。
【０１６６】
このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。但し、プレビューモードは、表示上での動的レイアウト計算である。実際に印刷する場合においても、レイアウトエンジン１０５が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。
【０１６７】
図８は本発明の実施形態の動的レイアウト計算処理を示すフローチャートである。
【０１６８】
まず、プレビューモードが選択される（ステップＳ８０１）。プレビューモードになったら、レイアウト編集アプリケーション１２１は、ユーザにプレビューするレコードをデータソースより選択させ、選択されたレコードの各フィールドデータを各コンテナに挿入する（ステップＳ８０２）。
【０１６９】
各コンテナへフィールドデータを挿入すると、レイアウト編集アプリケーション１２１は、そのレコードをレイアウトするためのレイアウト計算を行い、必要に応じてレイアウト調整を行う（ステップＳ８０３）。尚、ステップＳ８０３におけるレイアウト計算の詳細については後述する。
【０１７０】
そして、レイアウト編集アプリケーション１２１は、ステップＳ８０３で計算されたレイアウトを表示（プレビュー）する（ステップＳ８０４）。レイアウト編集アプリケーション１２１は、他のレコードについてもプレビューを行うかどうかをユーザの指示により判定する（ステップＳ８０５）。ステップＳ８０５で、他のレコードについてプレビューを行う必要がない場合（ステップＳ８０５でＮＯ）、プレビューモードを終了する（ステップＳ８０７）。
【０１７１】
一方、他のレコードについてプレビューを行う場合（ステップＳ８０５でＹＥＳ）、レイアウト編集アプリケーション１２１は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う（ステップＳ８０６）。
【０１７２】
尚、プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。従って、ステップＳ８０４は存在せず、ステップＳ８０５は印刷するレコードを全て処理したかの判断を行う。ステップＳ８０３で、レイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード（印刷対象の指定された全レコード）について印刷データの出力が終了した時点で、本処理を終了することになる。
【０１７３】
［動的レイアウト計算方法（詳細）］
次に、上記ステップＳ８０３の動的レイアウト計算の詳細について、図９を用いて説明する。
【０１７４】
図９は本発明の実施形態の動的レイアウト計算処理の詳細を示すフローチャートである。
【０１７５】
尚、図９は、動的レイアウト計算処理についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの１レコードの印刷／プレビュー時の動的レイアウト計算処理に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。
【０１７６】
まず、レイアウト編集アプリケーション１２１は、レイアウトを計算するコンテナの集合を設定する（ステップＳ９０１）。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。
【０１７７】
例えば、図１０を参照すると、ページ上に４つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナＡとコンテナＢ、そしてコンテナＣとコンテナＤがリンクによって関連付けされている。
【０１７８】
従って、コンテナＡ、Ｂが集合１、コンテナＣ、Ｄが集合２となる。即ち、リンクによって接続されたコンテナ群を一つの集合として特定する。前述したように、１１０１はアンカー、１１０２は固定された辺、１１０３はコントローラ、１１０４は可変の辺の変化方向を示している矢印、１１０５は可変の辺、１１０６はリンク、そして、１１０７はスライダーを示している。
【０１７９】
次に、レイアウト編集アプリケーション１２１は、ステップＳ９０１で設定したコンテナの集合から、レイアウトを計算するために一つを選択する（ステップＳ９０２）。そして、選択したコンテナの集合について、レイアウトの計算を行う。
【０１８０】
まず、選択したコンテナの集合に含まれる可変要素である２つのコンテナＡ、Ｂについて、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。
【０１８１】
具体的には、レイアウト編集アプリケーション１２１は、コンテナＡが画像データ用コンテナであるか、テキスト用コンテナであるかを判定する。この判定は、前述したように、コンテナに対して設定されている属性により判定できる。
【０１８２】
次に、レイアウト編集アプリケーション１２１は、コンテナＡに流し込まれるデータを読み込む。そして、コンテナＡが画像データ用コンテナである場合は、その画像データのサイズ（幅、高さのピクセル数、及び解像度）がコンテナＡの制約を受けない場合の大きさになる。
【０１８３】
また、コンテナＡがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナＡのコンテナ属性で指定されている文字属性に基づいて、コンテナＡに流し込まれるべきデータ量を計算できる。この文字属性には、例えば、フォントタイプ、フォントサイズ、文字ピッチ、行ピッチ等がある。
【０１８４】
ここで、テキスト用コンテナの場合は、コンテナＡの縦横比が制約を考えないと決定できないため、制約を当てはめる。図１０の例では、コンテナＡは、左上及び左下の角にアンカーが設定されているため、高さ（縦方向）が固定となる。よって、レイアウト編集アプリケーション１２１は、コンテナＡの基本パターンとして設定されている幅（横方向）のコンテナＡに、計算したデータ量（テキスト量）の文字を流し込めるか否かを判定する。
【０１８５】
すべての文字を流し込めると判定された場合は、コンテナＡは、基本パターンで設定されているサイズ（幅、高さ）に変更はない。また、すべての文字を流し込めないと判定された場合は、コンテナＡは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション１２１は、コンテナＡの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナＡのサイズを算出する。
【０１８６】
次に、レイアウト編集アプリケーション１２１は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う（ステップＳ９０３）。
【０１８７】
レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。
【０１８８】
レイアウト編集アプリケーション１２１は、ステップＳ９０２で算出したコンテナの集合のサイズ、つまり、コンテナＡとコンテナＢとリンク１１０６（ここでは固定リンク）の合計サイズを計算する。そして、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ（図１０の例ではコンテナＡとコンテナＢのそれぞれのアンカーアイコンの距離に相当する）との差を計算する。コンテナＡやコンテナＢの幅が大きくなると、前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション１２１は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
【０１８９】
次に、レイアウト編集アプリケーション１２１は、レイアウトの最適化を行い、そのレイアウトがルールに違反しているか否かを判定する（ステップＳ９０４）。ルールに違反していない場合（ステップＳ９０４でＹＥＳ）、ステップＳ９０５に進む。一方、ルールに違反している場合（ステップＳ９０４でＮＯ）、ステップＳ９０３に戻り、再度ルールを違反しないように計算をする。
【０１９０】
ここでルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。
【０１９１】
そして、ステップＳ９０２〜ステップＳ９０４の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション１２１は、ページ全体のレイアウトの計算が終了したか否かを判定する（ステップＳ９０５）。計算が終了していない場合（ステップＳ９０５でＮＯ）、ステップＳ９０２に戻る。一方、計算が終了している場合（ステップＳ９０５でＹＥＳ）、処理を終了する。
【０１９２】
次に、上述の動的レイアウト計算時のＵＩ例について、図１１を用いて説明する。
【０１９３】
図１１は本発明の実施形態の動的レイアウト計算処理におけるユーザインタフェースの一例を示す図である。
【０１９４】
図１１（Ａ）は、あるレコードが挿入されレイアウトが決定されている状態を表している。１００１と１００２はアンカー、１００３と１００４は固定された辺、１００５は可変の辺、１００６は可変の辺の変化方向を示している矢印、１００８はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。
【０１９５】
図１１（Ｂ）は、図１１（Ａ）の状態に新しいコンテンツのサイズを重ねて示している。１００９はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、動的レイアウト計算が行われる。
【０１９６】
図１１（Ｃ）は、動的レイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際に挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図１１（Ｃ）で示されるように、図１１（Ｂ）で示した挿入されるコンテンツサイズ１００９と計算後のコンテンツサイズ（０１０は、双方において同等な差異がある。
【０１９７】
［可変リンクの設定］
図１２は本発明の実施形態の可変リンクの設定のためのユーザインタフェースの一例を示す図である。
【０１９８】
図１２では、図４と同様に、アプリケーションウインドウ３０１とツールバー３０３が構成されている。図１２の状態では、ドキュメントテンプレート３０９上にコンテナ１２０３とコンテナ１２０４が存在する。それぞれのコンテナはアンカーアイコン１２０１、アンカーアイコン１２０２と固定された辺１２０５、辺１２０６を含んで構成されている。
【０１９９】
コンテナ１２０３と１２０４の間には、可変サイズのリンク１２０９があり、コンテナ１２０３とコンテナ１２０４を結んでいる。コンテナ１２０３とコンテナ１２０４の間には、リンク１２０９が設定されているのでそれぞれの右辺１２０７と左辺１２０８は点線で表現されている。このため、各コンテナにインジケーター１２１０、インジケーター１２１１が表示され、それぞれ辺１２０７と辺１２０８が可変であることを示している。
【０２００】
図１３は本発明の実施形態のリンク設定機能を実現するユーザインタフェースの一例を示す図である。
【０２０１】
ここでは、リンク１２０９の情報（リンクプロパティ）をセットするためのダイアログウインドウ１４０１の例を示している。このダイアログウインドウ１４０１は、タイトルバー１４０２、ツールボタン１４０３、ダイアログウインドウ１４０１の開閉を行うボタン１４０４、各種の情報をセットするエリア１４０９で構成されている。
【０２０２】
このダイアログウインドウ１４０１では、リンクタイプが可変長（１４０７）のリンクであるか、あるいは固定長（１４０６）のリンクであるかの択一的な選択を行えるラジオボタンからなるリンクタイプフィールド１４０５が構成されている。
【０２０３】
リンクタイプが可変の場合には、リンクの長さの最小値フィールド１４１０（最小距離）、最大値フィールド１４１２（最大距離）、ならびに基準値フィールド（距離）からなるリンク距離フィールド１４０８が構成されている。
【０２０４】
図１３のダイアログウインドウ１４０１は、例えば、図６及び図７で説明したリンクの設定操作によって２つのコンテナ間にリンクを設定した後に、この設定されたリンクをクリック等の操作によって選択したときに表示される。あるいは、リンクを設定した直後に、当該リンクに関するダイアログウインドウ１４０１が自動的に表示されるようにしてもよい。ここで、各コンテナ間の距離の基準値１４１１は、データを流し込んだ際に各コンテナのサイズが変更されない場合に用いられるリンクの長さである。
【０２０５】
次に、可変リンクの設定方法について、図１４を用いて説明する。
【０２０６】
図１４は本発明の実施形態の可変リンクの設定処理を示すフローチャートである。
【０２０７】
例えば、図１０のコンテナＡとコンテナＢの間に、図６及び図７で説明したリンクの設定操作によって、２つのコンテナ間にリンクを設定すると、まず、固定サイズのリンクが設定される。そして、このリンクを選択して、図１４に示す処理を実行することにより、当該リンクを固定サイズのリンク１１０６（図１０）の状態から可変サイズのリンク１２０９（図１２）へと変更することができる。
【０２０８】
まず、マウス１３３により所望のリンク（例えば、図１０のリンク１１０６）を選択状態とする（ステップＳ１３０２）。次に、リンクプロパティを表示させるための所定の操作が行われる。これにより、レイアウト編集アプリケーション１２１のユーザインタフェース１０３は、選択状態のリンク（以下、対象リンクという）に対応したダイアログウインドウ１４０１（図１３）を表示する（ステップＳ１３０３）。
【０２０９】
尚、リンクの選択操作としては、コンテナの基本パターンの設定時と同様に、マウス１３３の右クリックあるいはキーボード１３２の特定のキーの操作等、いかなるものであってもよい。
【０２１０】
表示されるダイアログウインドウ１４０１には、選択されたリンクの現在の状態が示される。本例では、リンク１１０６が選択されたので、この段階ではリンクサイズは固定であり、リンクタイプフィールド１４０５においては、固定長を示す距離１４０６が選択されている。
【０２１１】
このダイアログウインドウ１４０１において、リンクを固定サイズから可変サイズに変更するために、リンクタイプフィールド１４０５において、リンクサイズを可変に設定するために、可変長ボタン１４０７を選択する（ステップＳ１３０４）。
【０２１２】
これにより、リンク距離フィールド１４０８内に配置されている最大距離フィールド１４１２、最小距離フィールド１４１０、基準値フィールド１４１１が有効になり、数値の設定が可能となる。ユーザは、リンクの可変サイズを設定するために、そのリンクの長さの最大値を最大距離フィールド１４１２に、最小値を最小距離フィールド１４１０に、現在の値を基準値フィールド１４１１に設定する（ステップＳ１３０５）。
【０２１３】
設定を終えると、ユーザは一般的なダイアログウインドウ開閉ボタン１４０４によって当該設定の適用を指示する。ユーザインタフェース１０３は、この指示を検出すると、当該対象リンクに上記設定状態を反映させる。この結果、図１２のリンク１２０９に示すような状態にリンクのＵＩ表示を変更する（ステップＳ１３０６）。
【０２１４】
以上のダイアログウインドウ１４０１の設定情報は、例えば、メモリ１３６に格納される。
【０２１５】
次に、レイアウト結果の一例について、図１５及び図１６を用いて説明する。
【０２１６】
図１５は本発明の実施形態の固定サイズのリンクを使用した場合のレイアウト結果を示す図である。尚、コンテナの属性に基づきコンテナにコンテンツが流し込まれたレイアウト結果を表示するためのデータは、メモリまたはハードディスク等の記憶装置に記憶されている。
【０２１７】
レイアウト計算方法は、前述したとおりに従って行われる。例えば、図１５において、コンテナ１２０３とコンテナ１２０４にそれぞれ違ったサイズのイメージデータが挿入された場合を考える。この場合、それぞれのコンテナはデータの大きさを最適とみなし、コンテナ１２０３は挿入されたイメージサイズになる枠１５０４（最適コンテナサイズ）に近づこうと右方向へサイズを変更しようとする。同様に、コンテナ１２０４は挿入されたイメージサイズになる枠１５０５（最適コンテナサイズ）に近づこうと左方向へサイズを変更しようとする。
【０２１８】
しかし、コンテナ１２０３とコンテナ１２０４はアンカー１２０１とアンカー１２０２によってそれぞれ左辺１２１２と右辺１２１３の移動ができないため、上記のようにサイズを変更しようとすると両者の間隔を狭めるしかない。しかしながら、コンテナ１２０３と１２０４間には固定サイズのリンク１５０３が設定されており、レイアウト計算時にその長さが維持されるため、コンテナ１２０３とコンテナ１２０４のサイズが変更されることになる。
【０２１９】
その結果、コンテナ１２０３とコンテナ１２０４は、データの縦横比に合わせた最適なサイズを確保することができず、最終的に、図１５に示すように、最適なサイズ（枠１５０４、枠１５０５）よりも小さくなってしまう。即ち、リンク１５０３のサイズが固定であるため、コンテナ１２０３とコンテナ１２０４は最適サイズを達成できない（図１５において、各コンテナ内の一点差線で示した範囲がデータの持つ縦横比である）。
【０２２０】
一方、図１６は図１５と同様の状態でリンクを可変サイズにした場合を示している。
【０２２１】
この場合、上記の例で、コンテナ１２０３とコンテナ１２０４の間には図示の通り可変サイズのリンク１６０３が設定されている。従って、コンテナ１２０３とコンテナ１２０４のサイズが変更される際には、リンクサイズが縮まることでコンテナ１２０３とコンテナ１２０４のサイズを、図１５の例より大きくすることができる。
【０２２２】
この結果、挿入されるデータサイズに合わせた最適なサイズを達成できる、あるいはより挿入データサイズ（最適サイズ）に近いコンテナの枠を設定することができる。図１６はこの結果を示しており、図１２の可変リンク１２０９はレイアウト計算の結果、可変リンク１６０３に示されるようなサイズ状態となる。尚、この場合、コンテナ１２０３とコンテナ１２０４はそれぞれ最適なサイズ（データサイズに合った大きさ）になっている。
【０２２３】
［コンテナの設定]
図１７は本発明の実施形態のコンテナ設定機能を実現するユーザインタフェースの一例を示す図である。尚、コンテナの属性に基づきコンテナにコンテンツが流し込まれたレイアウト結果を表示するためのデータはメモリまたはハードディスク等の記憶装置に記憶されている。
【０２２４】
ここでは、コンテナ１２０３や１２０４の情報（コンテナプロパティ）をセットするためのダイアログウインドウ１７０１の例を示している。このダイアログウインドウ１７０１は、典型的には、キーボード１３２やマウス１３３により、処理対象のコンテナを選択し、マウス１３３の右クリックメニューの選択、あるいはキーボードからのＡｌｔキー等により表示する。
【０２２５】
本実施形態では、コンテナの辺（エッジ）を可変にするかどうか、及びそれに伴う設定に関してのみ、ダイアログウインドウ１７０１内に表示している。
【０２２６】
このダイアログウインドウ１７０１は、典型的には、タイトルバー１７０２、ツールボタン１７０３、ダイアログウインドウ１７０１の開閉を行うボタン１７０４、各種の情報をセットするエリア１７５１で構成されている。
【０２２７】
このダイアログウインドウ１７０１には、辺ステータスグループボックス１７１１内に、コンテナの辺状態を可変にし、コンテナ自体を可変設定にする選択オプション（コンテナ辺可変設定ボタン（上／下／左／右）１７１２〜１７１５）がある。この選択オプション１７１２〜１７１５のいずれかをＯＮにすると、コンテナサイズグループボックス１７２１内の操作が有効（Ｅｎａｂｌｅ）になる。
【０２２８】
この例の場合、辺ステータスグループボックス１７１１において、右辺（Ｒｉｇｈｔ）の選択オプション１７１４のみ可変（Ｆｌｅｘｉｂｌｅ）のチェックが入っている。そのため、このコンテナは横方向（実際は右方向）にしかサイズを変化させることができない。この場合、コンテナサイズグループボックス１７２１では、幅サイズの項目であるコンテナ幅最小サイズ設定ボックス１７２４とコンテナ幅最大サイズ設定ボックス１７２６の操作が有効（Ｅｎａｂｌｅ）となる。一方、高さサイズの項目であるコンテナ高さ最小サイズ設定ボックス１７２８とコンテナ高さ最大サイズ設定ボックス１７３０の操作は無効（Ｄｉｓａｂｌｅ）のままとなっている。
【０２２９】
つまり、右辺の選択オプション１７１４及び左辺の選択オプション１７１５のチェック状態に応じて、コンテナ幅最小サイズ設定ボックス１７２４とコンテナ幅最大サイズ設定ボックス１７２６の操作が有効（Ｅｎａｂｌｅ）となる。
【０２３０】
また、上辺の選択オプション１７１２及び左辺の選択オプションの１７１３のチェック状態に応じて、高さサイズの項目であるコンテナ高さ最小サイズ設定ボックス１７２８とコンテナ幅最大サイズ設定ボックス１７３０の操作が有効（Ｅｎａｂｌｅ）となる。
【０２３１】
図形１７２２はコンテナの幅サイズの指定、図形１７２３はコンテナの高さサイズの指定を視覚的に補助するビットマップ画像である。コンテナ幅最小サイズ設定ボックス１７２４（Ｍｉｎ．Ｓｉｚｅ）にはコンテナ幅の最小サイズが設定される。例えば、後述する図２０の１９２１の例では、コンテナ幅最小サイズ設定ボックス１７２４（Ｍｉｎ．Ｓｉｚｅ）には、値１５が設定されている。コンテナ幅最大サイズ設定ボックス１７２６（Ｍａｘ．Ｓｉｚｅ）にはコンテナ幅の最大サイズが設定される。現在、ここには値５０が設定されている。
【０２３２】
同様に、コンテナ高さ最小サイズ設定ボックス１７２８はコンテナ高さの最小サイズ、コンテナ高さ最大サイズ設定ボックス１７３０はコンテナ高さの最大サイズが設定される。リストボックス１７２７とリストボックス１７３１ではコンテナサイズの単位が設定される。ここでは、例として、ｍｍが表示されているが、ｉｎｃｈやｐｉｘｅｌ等の他の単位も考えられる。
【０２３３】
次に、コンテナプロパティの設定方法について、図１８を用いて説明する。
【０２３４】
図１８は本発明の実施形態のコンテナプロパティの設定処理を示すフローチャートである。
【０２３５】
まず、マウス１３３により所望のコンテナを選択状態とする（ステップＳ１８０２）。次に、コンテナプロパティを表示させるための所定の操作が行われる。これにより、レイアウト編集アプリケーション１２１のユーザインタフェース１０３は、選択状態のコンテナ（以下、対象コンテナという）に対応したダイアログウインドウ１７０１を表示する（ステップＳ１８０３）。
【０２３６】
ダイアログウインドウ１７０１に対する操作に基づいて、コンテナ辺が可変に設定されているかどうかを各辺の項目に対して判定する（ステップＳ１８０４）。可変に設定されていない場合（ステップＳ１８０４でＮＯ）、処理を終了する。
【０２３７】
一方、可変に設定されている場合（ステップＳ１８０４でＹＥＳ）、その設定状態に基づいて、コンテナの最大サイズ・最小サイズの設定ボックス（１７２４、１７２６、１７２８及び１７３０の少なくとも１つ）をＥｎａｂｌｅにする（ステップＳ１８０５）。
【０２３８】
ダイアログウインドウ１７０１を介するユーザの設定が終了すると、ユーザは一般的なダイアログウインドウ開閉ボタン１７０４によって当該設定の適用を指示する。ユーザインタフェース１０３は、この指示を検出すると、当該対象コンテナに設定状態を適用させる（ステップＳ１８０７）。
【０２３９】
以上のダイアログウインドウ１７０１の設定情報は、例えば、メモリ１３６に格納される。
【０２４０】
[コンテンツ調整許可値設定処理]
次に、レイアウト編集アプリケーション１２１による、コンテンツ調整許可値設定処理について説明する。この処理及び具体例について、以下に説明する。
【０２４１】
図１９は本発明の実施形態のコンテンツ調整許可値設定処理を示すフローチャートである。
【０２４２】
まず、レイアウト編集アプリケーション１２１は、ドキュメントテンプレート上のオブジェクト（コンテナやリンク）の動的設定が変更されたか否かを判定する（ステップＳ２６０１）。変更されない場合（ステップＳ２６０１でＮＯ）、変更されるまで待機する。一方、変更された場合（ステップＳ２６０１でＹＥＳ）、ステップＳ２６０２に進む。
【０２４３】
この動的設定の変更の具体例について、図２０を用いて説明する。
【０２４４】
図２０は、レイアウト編集アプリケーション１２１の編集画面であり、可変オブジェクトであるイメージコンテナ１９２１、及びテキストコンテナ１９２２、固定リンク１９２３がドキュメントテンプレート１９０９に存在している。
【０２４５】
図２０において、ダイアログウインドウ１７０１（図１７）のユーザ操作により、イメージコンテナ１９２１の幅の最大サイズや高さの最小サイズを変更したり、テキストコンテナ１９２２の辺の設定を変更したりすることが可能である。また、ダイアログウインドウ１４０１（図１３）のユーザ操作により、リンク１９２３の最大距離や最小距離を変更することも可能である。そして、このような変更がなされる場合、ドキュメントテンプレート１９０９上のオブジェクト（イメージコンテナ１９２１やテキストコンテナ１９２２、固定リンク１９２３）の動的設定が変更されたと判定する。
【０２４６】
次に、レイアウト編集アプリケーション１２１は、コンテナの可動位置範囲、最大・最小サイズ量（サイズ変更可能量）をレイアウトエンジン１０５を用いて計算する（ステップＳ２６０２）。
【０２４７】
ここでは、レイアウト編集アプリケーション１２１は、動的レイアウト要素であるオブジェクトで構成される動的コンテナグループの各コンテナの可動位置範囲及び最大・最小サイズ量をレイアウトエンジン１０５を用いて計算する。ここで、動的レイアウト要素であるオブジェクトには、イメージコンテナ１９２１、テキストコンテナ１９２２、固定リンク１９２３等がある。
【０２４８】
レイアウトエンジン１０５は、動的コンテナグループのイメージコンテナ１９２１の可動位置範囲、及び最大・最小サイズ量を、例えば、以下のような可変要因等から計算する。
【０２４９】
１）イメージコンテナ１９２１のダイアログウインドウ１７０１のコンテナ辺可変設定ボタン１７１２〜１７１５によって設定されたコンテナの水平（左右）方向及び垂直（上下）方向の可変設定、
２）コンテナ幅最大サイズ設定ボックス１７２６によって設定されたコンテナの水平方向の可変幅の最大サイズ、
３）コンテナ高さ最大サイズ設定ボックス１７３０によって設定されたコンテナの垂直方向の可変幅の最大サイズ、
４）イメージコンテナ１９２１に設定された固定リンク１９２３のリンク設定による他のテキストコンテナ１９２２による可変要因等から計算する。
【０２５０】
即ち、レイアウトエンジン１０５は、コンテナ（動的オブジェクト）の最大可動位置範囲を、
■  「コンテナの最大サイズ設定」要因
■  「リンクされた他のコンテナによる移動」要因
の２つの可動要因から計算する。この時の計算結果の例を図２１に示す。
【０２５１】
尚、本実施形態では、ドキュメントテンプレート上のコンテナの位置を規定する座標系は、ドキュメントテンプレートの左角を原点（０，０）とし、その原点から右に向かう水平方向をＸ軸、下に向かう垂直方向をＹ軸とする、ＸＹ座標系を採用している。
【０２５２】
図２１は、レイアウトエンジン１０５が計算したイメージコンテナ１９２１の可動位置範囲を示す概念図である。２０２１は、イメージコンテナ１９２１の可動位置範囲（（１０，０）−（６０，３５））を示している。
【０２５３】
また、レイアウトエンジン１０５は、イメージコンテナ１９２１の最大サイズ量（コンテナの幅、高さの可動最大サイズ）を決定する。これは、ダイアログウインドウ１７０１のコンテナ幅最大サイズ設定ボックス１７２６によって設定されたコンテナの水平方向の可変幅の最大サイズから決定する。更には、コンテナ高さ最大サイズ設定ボックス１７３０によって設定されたコンテナの垂直方向の可変幅の最大サイズ等から決定する。この時の計算結果の例を図２２に示す。
【０２５４】
図２２は、レイアウトエンジン１０５が計算したイメージコンテナ１９２１の最大サイズ量を示す概念図である。２１２１は、イメージコンテナ１９２１の最大サイズ量（幅＝５０、高さ＝３５）を示している。
【０２５５】
また、レイアウトエンジン１０５は、イメージコンテナ１９２１の最小サイズ量（コンテナの幅、高さの可動最小サイズ）を決定する。これは、ダイアログウインドウ１７０１のコンテナ幅最小サイズ設定ボックス１７２４によって設定されたコンテナの水平方向の可変幅の最小サイズから決定する。更には、コンテナ高さ最小サイズ設定ボックス１７２８によって設定されたコンテナの垂直方向の可変幅の最小サイズ等から決定する。この時の計算結果の例を図２３に示す。
【０２５６】
図２３は、レイアウトエンジン１０５が計算したイメージコンテナ１９２１の最小サイズ量を示す概念図である。２２２１は、イメージコンテナ１９２１の最小サイズ量（幅＝１５、高さ＝１０）を示している。
【０２５７】
同様に、レイアウトエンジン１０５は、動的コンテナグループのテキストコンテナ１９２２の可動位置範囲に関しても計算する。この時の計算結果の例を図２４に示す。
【０２５８】
図２４は、レイアウトエンジン１０５が計算したテキストコンテナ１９２２の可動位置範囲を示す概念図である。２３２１は、テキストコンテナ１９２２の可動位置範囲（（３０，０）−（１２０，４０））を示している。
【０２５９】
また、レイアウトエンジン１０５は、動的コンテナグループのテキストコンテナ１９２２の最大サイズ量に関しても同様に決定する。この時の計算結果の例を図２５に示す。
【０２６０】
図２５は、レイアウトエンジン１０５が計算したテキストコンテナ１９２２の最大サイズ量を示す概念図である。２４２１は、テキストコンテナ１９２２の最大サイズ量（幅＝５０、高さ＝４０）を示している。
【０２６１】
また、レイアウトエンジン１０５は、動的コンテナグループのテキストコンテナ１９２２の最小サイズ量に関しても同様に決定する。この時の計算結果の例を図２６に示す。
【０２６２】
図２６は、レイアウトエンジン１０５が計算したテキストコンテナ１９２２の最小サイズ量を示す概念図である。２５２１は、テキストコンテナ１９２２の最小サイズ量（幅＝２０、高さ＝１５）を示している。
【０２６３】
そして、レイアウト編集アプリケーション１２１は、以上の計算結果をコンテナのコンテンツ調整許可値としてメモリ１３６に保持する（ステップＳ２６０３）。
【０２６４】
ここでは、レイアウト編集アプリケーション１２１は、レイアウトエンジン１０５によるコンテナの可動位置範囲及び最大・最小サイズ量の計算結果をイメージコンテナ１９２１のコンテンツ調整許可値としてメモリ１３６に保持し、処理を終了する。このコンテンツ調整許可値は、第三者にコンテンツ調整を許す範囲となる。
【０２６５】
次に、レイアウトエンジン１０５によるコンテナの可動位置範囲の計算例を具体的に説明する。
【０２６６】
ページ上の座標系（Ｘ，Ｙ）は、ドキュメントテンプレート１９０９のページマージン３１０の矩形における左上頂点を原点とし、右方向がｘ軸の正の方向、下方向がｙ軸の正の方向となっている。
【０２６７】
イメージコンテナ１９２１の初期値である基準矩形の左上頂点位置は（１０，１５）、右下頂点位置は（４０，３５）である。また、テキストコンテナ１９２２の初期値である基準矩形の左上頂点位置は（５０，１０）、右下頂点位置は（７５，４０）である。水平（左右）方向のリンクであるリンク１９２３のサイズは５である。
【０２６８】
図２１に示したイメージコンテナ１９２１の可動位置範囲である「可動位置範囲：（１０，０）−（６０，３５）」は、レイアウトエンジン１０５により、以下のように計算される。
【０２６９】
ここで、イメージコンテナ１９２１の水平（左右）方向に関しては、プロパティ設定ダイアログ１７０１のコンテナエッジ可変設定ボタン１７１４、１７１５によって、その水平（左右）方向の可変設定がなされている。ここでは、イメージコンテナ１９２１の左エッジが固定、右エッジが可変に設定されている。また、コンテナ幅最小値設定ボックス１７２４によって、イメージコンテナ１９２１の水平方向の可変幅の最小値は１５に設定されている。更に、コンテナ幅最大値設定ボックス１７２６によって、イメージコンテナ１９２１の水平方向の可変幅の最大値は５０に設定されている。
【０２７０】
これらの設定により、イメージコンテナ１９２１は、水平方向において右方向に可変、幅の変化量は１５〜５０となっている。そのため、レイアウトエンジン１０５は、イメージコンテナ１９２１の矩形の左上頂点のＸ位置を固定とし、Ｘ＝１０と決定する。同様に、イメージコンテナ１９２１の右下頂点のＸ位置を可変とし、Ｘ位置の最小値＝固定の左上頂点位置Ｘ＋可変幅の最小値＝１０＋１５＝２５、Ｘ位置の最大値＝固定の左上頂点位置Ｘ＋可変幅の最大値＝１０＋５０＝６０と決定する。
【０２７１】
また、イメージコンテナ１９２１の垂直（上下）方向に関しては、プロパティ設定ダイアログ１７０１のコンテナエッジ可変設定ボタン１７１２、１７１３によって、その垂直（上下）方向の可変設定がなされている。ここでは、イメージコンテナ１９２１の下エッジが固定、上エッジが可変に設定されている。また、コンテナ高さ最小値設定ボックス１７２８によって、イメージコンテナ１９２１の垂直方向の可変高さの最小値は１０に設定されている。更に、コンテナ高さ最大値設定ボックス１７３０によって、イメージコンテナ１９２１の垂直方向の可変高さの最大値は３５に設定されている。
【０２７２】
これらの設定により、イメージコンテナ１９２１は、垂直方向において上方向に可変、高さの変化量は１０〜３５となっている。そのため、レイアウトエンジン１０５は、イメージコンテナ１９２１の右下頂点のＹ位置を固定とし、Ｙ＝３５と決定する。同様に、イメージコンテナ１９２１の矩形の左上頂点のＹ位置を可変とし、Ｙ位置の最小値＝固定の右下頂点位置Ｙ−可変幅の最大値＝３５−３５＝０、Ｙ位置の最大値＝固定の右下頂点位置Ｙ−可変幅の最小値＝３５−１０＝２５と決定する。
【０２７３】
更に、テキストコンテナ１９２２の水平（左右）方向に関しては、プロパティ設定ダイアログ１７０１のコンテナエッジ可変設定ボタン１７１４、１７１５によって、その水平（左右）方向の可変設定がなされている。ここでは、テキストコンテナ１９２２の左エッジが可変、右エッジが可変に設定されている。また、コンテナ幅最小値設定ボックス１７２４によって、テキストコンテナ１９２２の水平方向の可変幅の最小値は２０に設定されている。更に、コンテナ幅最大値設定ボックス１７２６によって、コンテナの水平方向の可変幅の最大値は５５に設定されている。
【０２７４】
これらの設定により、テキストコンテナ１９２２は、水平方向において右方向に可変、幅の変化量は２０〜５５となっている。そのため、レイアウトエンジン１０５は、テキストコンテナ１９２２の矩形の左上頂点のＸ位置を可変とする。この場合、Ｘ位置の最小値＝（イメージコンテナ１９２１の右エッジのＸ位置の最小値）＋リンク長＝（１０＋１５）＋５＝３０、Ｘ位置の最大値＝（イメージコンテナ１９２１の右エッジのＸ位置の最大値）＋リンク長＝（１０＋５０）＋５＝６５と決定する。
【０２７５】
同様に、テキストコンテナの右下頂点のＸ位置を可変とする。この場合、Ｘ位置の最小値＝（イメージコンテナ１９２１の右エッジのＸ位置の最小値）＋リンク長＋可変幅の最小値＝（１０＋１５）＋５＋２０＝５０と決定する。また、Ｘ位置の最大値＝（イメージコンテナ１９２１の右エッジのＸ位置の最大値）＋リンク長＋可変幅の最大値＝（１０＋５０）＋５＋５５＝１２０と決定する。
【０２７６】
また、テキストコンテナ１９２２の垂直（上下）方向に関しては、プロパティ設定ダイアログ１７０１のコンテナエッジ可変設定ボタン１７１２、１７１３によって、その垂直（上下）方向の可変設定がなされている。ここでは、テキストコンテナ１９２２の下エッジが固定、上エッジが可変に設定されている。また、コンテナ高さ最小値設定ボックス１７２８によって、テキストコンテナ１９２２の垂直方向の可変高さの最小値は１５に設定されている。更に、コンテナ高さ最大値設定ボックス１７３０によって、テキストコンテナ１９２２の垂直方向の可変高さの最大値は４０に設定されている。
【０２７７】
これらの設定により、テキストコンテナ１９２２は、垂直方向において上方向に可変、高さの変化量は１５〜４０となっている。そのため、レイアウトエンジン１０５は、テキストコンテナ１９２２の右下頂点のＹ位置を固定とし、Ｙ＝４０と決定する。同様に、テキストコンテナ１９２２の矩形の左上頂点のＹ位置を可変とし、Ｙ位置の最小値＝固定の右下頂点位置Ｙ−可変幅の最大値＝４０−４０＝０、Ｙ位置の最大値＝固定の右下頂点位置Ｙ−可変幅の最小値＝４０−１５＝２５と決定する。
【０２７８】
尚、イメージコンテナ１９２１やテキストコンテナ１９２２の初期値である基準矩形は、［新規コンテナの作成方法]によって作成されたコンテナの矩形、または、作成後にユーザのマウス操作によりリサイズされたコンテナ矩形のことを指すものである。
【０２７９】
[コンテンツ調整許可値設定機能]
図２７は本発明の実施形態のコンテンツ調整許可範囲設定機能を実現するユーザインタフェースの一例を示す図である。
【０２８０】
ここでは、イメージコンテナ１９２１やテキストコンテナ１９２２中のコンテンツに対する情報をセットするためのダイアログウインドウ２７０１の例を示している。このダイアログウインドウ２７０１は、典型的には、キーボード１３２やマウス１３３により、処理対象のコンテナを選択し、マウス１３３の右クリックメニューの選択、あるいはキーボードからのＡｌｔキー等により表示する。
【０２８１】
このダイアログウインドウ２７０１は、典型的には、タイトルバー２７０２、ツールボタン２７０３、ダイアログウインドウ２７１０の開閉を行うボタン２７０４、各種の情報をセットするエリア２７５１で構成されている。
【０２８２】
このダイアログウインドウ２７０１の「コンテンツ移動許可領域」グループボックス２７１１において、コンテンツ移動許可領域に係る座標を指定することが可能である。ここで、テキストボックス２７１２、２７１３には、コンテンツ移動許可領域の矩形範囲の左上座標（Ｘ，Ｙ）を指定することが可能である。また、テキストボックス２７１４、２７１５には、コンテンツ移動許可領域の矩形範囲の右下座標（Ｘ，Ｙ）を指定することが可能である。
【０２８３】
尚、コンテンツ移動許可領域は、図１９のコンテンツ調整許可値設定処理で計算されたコンテナの可動位置範囲の範囲内で指定可能とするように制限しても良い。
【０２８４】
図では、現在、このコンテンツの可動位置範囲を左上座標（１０、０）、右下座標（６０、４０）の矩形領域内に収めるよう設定されている。
【０２８５】
これらのテキストボックス２７１２〜２７１５の初期値には、図１９のコンテンツ調整許可値設定処理のステップＳ２６０３によって、メモリ１３６に保持されているコンテナのコンテンツ調整許可値の内、コンテナの可動位置範囲の値が設定される。
【０２８６】
このダイアログウインドウ２７０１の「コンテンツサイズ変更許可範囲」グループボックス２７３１において、コンテンツサイズ変更に係るサイズを指定することが可能である。ここで、「最小サイズ」テキストボックス２７３２には、コンテンツのサイズ変更時の幅の最小サイズを指定することが可能である。また、「最大サイズ」テキストボックス２７３３には、コンテンツのサイズ変更時の幅の最大サイズを指定することが可能である。
【０２８７】
尚、コンテンツサイズ変更許可範囲は、図１９のコンテンツ調整許可値設定処理で計算されたコンテナのサイズ変更可能量の範囲内で指定可能とするように制限しても良い。
【０２８８】
また、「最小サイズ」テキストボックス２７３４には、コンテンツのサイズ変更時の高さの最小サイズを指定することが可能である。更に、「最大サイズ」テキストボックス２７３５には、コンテンツのサイズ変更時の高さの最大サイズを指定することが可能である。
【０２８９】
リストボックス２７３６とリストボックス２７３７では、コンテナサイズの単位が設定される。ここでは、例として、ｍｍが表示されているが、ｉｎｃｈやｐｉｘｅｌ等の他の単位も考えられる。
【０２９０】
図では、現在、このコンテンツのサイズ変更許可範囲を、最小幅１５ｍｍ、最大幅５０ｍｍ、最小高さ１０ｍｍ、最大高さ３５ｍｍに設定されている。
【０２９１】
これらのテキストボックス２７３２〜２７３５の初期値には、図１９のコンテンツ調整許可値設定処理のステップＳ２６０３によって、メモリ１３６に保持されているコンテナのコンテンツ調整許可値の内、コンテナの最大・最小サイズ量の値が設定される。
【０２９２】
「縦横比を維持させる」チェックボックス２７３８には、コンテンツのサイズ変更時に、コンテンツの縦横比を維持させたままのサイズ変更のみを許可するかどうかを設定する。図では、現在、チェックが入っておらず、縦横比を維持したままのサイズ変更が設定されていない。このチェックボックス２７３８の初期値には、チェックが入らない。
【０２９３】
「コンテンツ移動許可」チェックボックス２７４１には、コンテンツ移動の許可／不許可を設定する。図では、現在、チェックが入っており、コンテンツ移動の許可が設定されている。
【０２９４】
このチェックボックス２７４１の初期値には、動的コンテナであれば、チェックが入り、コンテンツ移動の許可が設定される。一方、静的コンテナであれば、チェックは入らず、コンテンツ移動の不許可が初期値として設定される。
【０２９５】
尚、静的コンテナの場合、テキストボックス２７１２〜２７１５の初期値には、静的コンテナの矩形の左上座標（Ｘ，Ｙ）及び右下座標（Ｘ，Ｙ）がそれぞれ設定される。ここで、動的コンテナであるか静的コンテナであるかの判定は、図１７のダイアログウインドウ１７０１で設定された辺ステータスの設定状態に基づいて判定される。
【０２９６】
「コンテンツサイズ変更許可」チェックボックス２７５１には、コンテンツサイズ変更の許可／不許可を設定する。図では、現在、チェックが入っており、コンテンツサイズ変更の許可が設定されている。
【０２９７】
このチェックボックス２７５１の初期値には、動的コンテナであれば、チェックが入り、コンテンツサイズ変更の許可が設定される。一方、静的コンテナであれば、チェックは入らず、コンテンツサイズ変更の不許可が初期値として設定される。
【０２９８】
尚、静的コンテナの場合、テキストボックス２７３２〜２７３５の初期値には、最大サイズ、最小サイズともに同値で、静的コンテナの幅、高さの値がそれぞれ設定される。
【０２９９】
テンプレート編集者は、このダイアログウインドウ２７０１によって、図１９のコンテンツ調整許可値設定処理で算出され、メモリ１３６に保持されているコンテナの可動位置範囲及び最大・最小サイズ量の値を調整することが可能である。
【０３００】
[コンテンツ調整許可選択機能]
図２８は本発明の実施形態のコンテンツ調整許可選択機能を実現するユーザインタフェースの一例を示す図である。
【０３０１】
ここでは、コンテンツ調整の可否をセットするためのダイアログウインドウ２８１１の例を示している。このダイアログウインドウ２８１１では、３つのオプションボタン（ラジオボタン）として、「コンテンツ調整許可値を適用」２８１２、「コンテンツ調整を許可しない」２８１３、「コンテンツを自由に調整させる」２８１４が構成されている。ユーザは、これらのいずれか一つのボタンを選択して、ＯＫボタン２８１５を押下することにより、コンテンツ調整方法を指定することが可能となっている。
【０３０２】
ここで、このコンテンツ調整方法では、レイアウト計算済のドキュメントを閲覧するユーザがインタラクティブにそのドキュメント上のコンテンツの可動位置範囲及びサイズ変更可能量を設定（調整）することを許容する／禁止することを選択することができる。つまり、本実施形態では、大きく分けて、コンテンツ調整に係り、少なくとも２種類の調整モード（調整許容モード（コンテンツ調整許可値範囲内での調整、調整自由）、調整禁止モード）を選択することができる。
【０３０３】
また、調整許容モードは、「コンテンツ調整許可値を適用」２８１２、「コンテンツを自由に調整させる」２８１４それぞれに対応する設定を実行するモードである。ここで、「コンテンツ調整許可値を適用」２８１２は条件付調整制限モード、「コンテンツを自由に調整させる」２８１４は調整自由モードと捉えることができる。一方、調整禁止モードは、「コンテンツ調整を許可しない」２８１３に対応する設定を実行するモードである。
【０３０４】
尚、このダイアログウインドウ２８１１におけるコンテンツ調整方法は、１つのドキュメントテンプレートが有するコンテナに挿入されたコンテンツ全体に対して適用されるものとするが、これに限定されない。つまり、各コンテナ毎に、そのコンテナに挿入されたコンテンツに対して、個別のコンテンツ調整方法を適用しても良い。
【０３０５】
［ドキュメントフォーマット変換処理］
図２９は本発明の実施形態のドキュメントフォーマット変換処理を示すフローチャートである。
【０３０６】
尚、この図２９の処理は、レイアウト編集アプリケーション１２１によるレイアウト結果のドキュメントフォーマットへの変換を行うための処理である。具体的には、図１５、１６等のコンテナの属性に基づきコンテンツが流し込まれたレイアウト結果を表示しているデータをユーザに編集させるためのドキュメントに変換する処理である。コンテナの属性とは、図１７の辺ステータスやコンテナの最大、最小サイズのことである。
【０３０７】
ドキュメントへの出力指示の有無を判定する（ステップＳ２９０１）。この出力指示は、図１５、１６等のレイアウトのプレビュー画面から行われるものである。また、出力指示は、コンテナにコンテンツが流し込まれた結果のデータがメモリ等に記憶されており、プレビューされていない状態で、アプリケーションから行われるものでもよい。
【０３０８】
ステップＳ２９０１において、出力指示がない場合（ステップＳ２９０１でＮＯ）、出力指示があるまで待機する。一方、出力指示がある場合（ステップＳ２９０１でＹＥＳ）、ステップＳ２９０２に進む。
【０３０９】
ここで、出力指示の有無の判定は、例えば、図３０に示すメニューバー３１０１に対する操作に基づいて実現する。
【０３１０】
図３０に示すメニューバー３１０１は、例えば、図３中のメニューバー３０２の一部として実現される。メニューバー３１０１を構成するメニューリストには複数の項目があり、その中に「ドキュメントに出力」というメニュー項目３１０２が用意されている。また、メニューリストは一般的な２階層構造をとっており、２階層目のメニューリスト（サブメニュー）３１０３には、「ＳＶＧ形式」というメニュー項目３１０４が用意されている。更に、メニューリスト３１０３には、「ＰＤＦ」形式、「ＰＤＦ＋ＳＶＧ」形式等の他のメニュー項目も用意されている。
【０３１１】
テンプレート編集者が、マウスポインタ３１０５を用いて、メニューバー３１０１から、メニュー項目「ドキュメントに出力」３１０２を選択する。更に、メニューリスト３１０３から、出力するドキュメントフォーマットとして、メニュー項目（ＳＶＧ形式）３１０４を選択する。これによって、レイアウト編集アプリケーション１２１にＳＶＧ（http://www.w3.org/TR/SVG/参照）ドキュメントへの出力を指示する。
【０３１２】
このような操作がなされた場合、レイアウト編集アプリケーション１２１は、ドキュメントへの出力指示があると判定することになる。
【０３１３】
次に、出力指示によって指定されたドキュメントフォーマットがインタラクティブ性があるか否かを判定する（ステップＳ２９０２）。インタラクティブ性がある場合（ステップＳ２９０２でＹＥＳ）、ステップＳ２９０３へ進む。
【０３１４】
ここで、インタラクティブ性とは、例えば、ドキュメントを表示する操作画面を介するユーザ操作によって発生するイベントによって、ドキュメント上の各種オブジェクトを操作可能にすることである。換言すれば、レイアウト計算後のオブジェクトの調整を許容することである。このインタラクティブ性のあるドキュメントフォーマットして、本実施形態では、ＳＶＧ言語で記述されたドキュメントフォーマット（http://www.w3.org/TR/SVG/interact.html）を例に挙げて説明する。
【０３１５】
レイアウト編集アプリケーション１２１は、図２８に示すコンテンツ調整許可選択設定用のダイアログウインドウ２８１１を表示する（ステップＳ２９０３）。尚、ダイアログウインドウ２８１１では、テンプレート編集者に、「コンテンツ調整許可値を適用」、「コンテンツ調整を許可しない」、「コンテンツを自由に調整させる」のいずれかのコンテンツ調整方法を選択させることが可能である。
【０３１６】
次に、ダイアログウインドウ２８１１において、テンプレート編集者により「ＯＫ」ボタン２８１５が押下され、ダイアログウインドウ２８１１でのコンテンツ調整方法の選択が確定されたか否かを判定する（ステップＳ２９０４）。確定されていない場合（ステップＳ２９０４でＮＯ）、確定されるまで待機する。一方、確定された場合（ステップＳ２９０４でＹＥＳ）、ステップＳ２９０５へ進む。
【０３１７】
レイアウト編集アプリケーション１２１は、例えば、図３１に示すレイアウト計算済のデータを、ステップＳ２９０１で指定されたドキュメントフォーマットに変換する処理を開始する（ステップＳ２９０５）。
【０３１８】
ここで、レイアウト計算済のデータ例について、図３１に示す。
【０３１９】
図３１は、図２０のドキュメントテンプレート１９０９にバリアブルデータのコンテンツが流し込まれ、図９の動的レイアウト計算処理による動的レイアウトが行われた際のレイアウト編集アプリケーション１２１のプレビュー画面である。
【０３２０】
プレビュー表示領域３００９において、コンテンツ３０２１は、図２０のイメージコンテナ１９２１にデータが流し込まれ、テキストコンテナ１９２２と共にレイアウトされた結果である。また、コンテンツ３０２２は、図２０のテキストコンテナ１９２２にデータが流し込まれ、イメージコンテナ１９２１と共にレイアウトされた結果である。
【０３２１】
次に、ステップＳ２９０４で選択が確定された項目が、「コンテンツ調整許可値を適用」２８１２であるか否かを判定する（ステップＳ２９０６）。「コンテンツ調整許可値を適用」２８１２である場合（ステップＳ２９０６ＹＥＳ）、コンテンツ調整許可値に応じて、後述の図３３のインタラクティブ性設定処理によって、各コンテンツにインタラクティブ性を設定（／非設定）する（ステップＳ２９０７）。
【０３２２】
この各コンテンツのインタラクティブ性は、図１９のコンテンツ調整許可値設定処理で算出され、かつ、メモリ１３６に保持されているコンテンツ調整許可値に応じて設定される。ここで、コンテンツ調整許可値は、図２７のダイアログウインドウによって設定された、コンテナの可動位置範囲及び最大・最小サイズ量の値である。このインタラクティブ性の設定の完了後、ドキュメントフォーマットへの変換を終了する（ステップＳ２９０８）。
【０３２３】
一方、ステップＳ２９０６において、選択が確定された項目が、「コンテンツ調整許可値を適用」２８１２でない場合（ステップＳ２９０６でＮＯ）、「コンテンツを自由に調整させる」２８１４であるか否かを判定する（ステップＳ２９０９）。「コンテンツを自由に調整させる」２８１４である場合（ステップＳ２９０９でＹＥＳ）、全てのコンテンツに移動可能及びサイズ変更可能なインタラクティブ性を設定する（ステップＳ２９１０）。
【０３２４】
ここでの各コンテンツのインタラクティブ性は、全てのコンテンツをドキュメントフォーマットに変換する際に、移動可能な範囲及びサイズ変更可能な量を無制限とするものである。このインタラクティブ性の設定の完了後、ドキュメントフォーマットへの変換を終了する（ステップＳ２９０８）。
【０３２５】
一方、ステップＳ２９０９において、選択が確定された項目が、「コンテンツを自由に調整させる」２８１４でない場合（ステップＳ２９０２でＮＯ）、通常のドキュメントフォーマットへの変換を行う（ステップＳ２９１２）。つまり、「コンテンツ調整を許可しない」２８１３である場合、コンテンツへのインタラクティブ性の設定を行わずに、通常のドキュメントフォーマットへの変換を行う。その後、ドキュメントフォーマットへの変換を終了する（ステップＳ２９０８）。
【０３２６】
一方、ステップＳ２９０２において、指定されたドキュメントフォーマットがインタラクティブ性がない場合（ステップＳ２９０２でＮＯ）、レイアウト編集アプリケーション１２１は、通常のドキュメントフォーマットへの変換を行う（ステップＳ２９１２）。そして、ドキュメントフォーマットへの変換を終了する（ステップＳ２９０８）。
【０３２７】
以上のドキュメントフォーマット変換処理による出力結果例を、図３２に示す。
【０３２８】
［インタラクティブ性設定処理」
図３３は本発明の実施形態のインタラクティブ性設定処理を示すフローチャートである。
【０３２９】
この処理によって、各コンテンツへのインタラクティブ性設定が実現される。特に、この処理は、図２９のドキュメントフォーマット変換処理のステップＳ２９０７における、各コンテンツへのＳＶＧインタラクティブを用いたインタラクティブ性の設定（／非設定）を実現する。
【０３３０】
その動作を以下に説明する。
【０３３１】
まず、図２７のダイアログウインドウ２７０１において、「コンテンツ移動許可」チェックボックス２７４１がチェックされているか否かを判定する（ステップＳ３３０１）。チェックされていない場合（ステップＳ３３０１でＮＯ）、ステップＳ３３０３へ進む。
【０３３２】
例えば、変換対象のコンテンツに対応するコンテナが、図３１のコンテンツ３０２１に対する図２０のイメージコンテナ１９２１であるとする。ここで、このイメージコンテナ１９２１は動的コンテナである。そして、この動的コンテナに対しては、テンプレート編集者は、図２７のダイアログウインドウ２７０１によって、「コンテンツ移動許可」チェックボックス２７４１によるチェックを行うことができる。
【０３３３】
ステップＳ３３０１において、「コンテンツ移動許可」チェックボックス２７４１がチェックされている場合（ステップＳ３３０１でＹＥＳ）、そのコンテンツをインタラクティブに位置移動させるためのJava（登録商標）Script functionを生成する。Java（登録商標）Script functionについては、http://wp.netscape.com/eng/Java（登録商標）script/を参照されたい。ここでは、図１９のコンテンツ調整許可値設定処理で算出され、かつ、メモリ１３６に保持されているコンテンツ調整許可値をJava（登録商標）Script functionに設定する（ステップＳ３３０２）。具体的には、コンテンツ調整許可値で示される、コンテナの可動位置範囲を、コンテンツの可動領域の値として、Java（登録商標）Script functionに設定する。
【０３３４】
同様に、ダイアログウインドウ２７０１において、サイズ変更に関する「コンテンツサイズ変更許可」チェックボックス２７５１がチェックされているか否かを判定する（ステップＳ３３０３）。チェックされていない場合（ステップＳ３３０３でＮＯ）、ステップＳ３３０５へ進む。
【０３３５】
一方、チェックされている場合（ステップＳ３３０３でＹＥＳ）、そのコンテンツをインタラクティブにサイズ変更させるためのJava（登録商標）Script functionを生成する。ここでは、図１９のコンテンツ調整許可値設定処理で算出され、かつ、メモリ１３６に保持されているコンテンツ調整許可値をJava（登録商標）Script functionに設定する（ステップＳ３３０４）。具体的には、コンテンツ調整許可値で示される、コンテナの最大・最小サイズ量を、コンテンツのサイズ変更可能な値として、Java（登録商標）Script functionに設定する。
【０３３６】
次に、そのコンテンツをＳＶＧフォーマットの「ｉｍａｇｅ」ｅｌｅｍｅｎｔとして、ＳＶＧオブジェクトに変換し、出力ＳＶＧデータ内に埋め込む（ステップＳ３３０５）。
【０３３７】
加えて、インタラクティブに位置移動させるためのJava（登録商標）Script function、及びインタラクティブにサイズ変更させるためのJava（登録商標）Script functionを、その出力ＳＶＧデータ内に埋め込む（ステップＳ３３０６）。
【０３３８】
そして、これらのJava（登録商標）Script functionを、対応するＳＶＧオブジェクトのイベントに対応させることにより、そのＳＶＧオブジェクトにＳＶＧインタラクティブの設定を行う（ステップＳ３３０７）。
【０３３９】
尚、静的コンテナであっても、図１９のコンテンツ調整許可値設定処理で算出されるコンテナの可動位置範囲の値が存在しないことを除き、動的コンテナと同様に、このインタラクティブ性設定処理に基づき、インタラクティブ性設定が行われる。
【０３４０】
また、レイアウト編集アプリケーション１２１は、ドキュメント内の全てのコンテンツに対し、インタラクティブ性設定処理を適用し、各コンテンツそれぞれに対して、インタラクティブ性の設定を行う。
【０３４１】
また、ＳＶＧオブジェクトのイベントとは、レイアウト計算済のドキュメントテンプレート上のＳＶＧオブジェクトである各コンテンツに対するマウスイベントや、キーイベント、タイマーイベントがある。
【０３４２】
［ドキュメント配信Ｗｅｂシステム］
次に、上述の構成を、Ｗｅｂサーバクライアントシステムに適用する場合の構成について説明する。
【０３４３】
図３４は本発明の実施形態のレイアウト編集アプリケーション１２１によって作成されたドキュメントテンプレートを配置するＷｅｂシステムの構成概念図である。
【０３４４】
図３４において、３４０１はＷｅｂサーバであり、Ｗｅｂクライアント３４０２ａ〜３４０２ｄに、後述するＨＴＭＬフォーム３５０２を送信する。次に、そのＨＴＭＬフォーム３５０２を用いてＷｅｂクライアント３４０２ａ〜３４０２ｄのユーザが指定したドキュメントテンプレート、コンテンツ及びドキュメントフォーマットに従い、自動レイアウト及びドキュメント生成を行う。そして、その生成したドキュメントをＷｅｂクライアント３４０２ａ〜３４０２ｄに配信する。
【０３４５】
３４０２ａ〜３４０２ｄは、Ｗｅｂクライアントである。ユーザは、このＷｅｂクライアントを用いて、Ｗｅｂサーバ３４０１にアクセスし、そのＷｅｂサーバ３４０１から送信されてきたＨＴＭＬフォーム３５０２に所定の情報を書き込み、そのＷｅｂサーバ３４０１にリクエストを送信する。
【０３４６】
尚、以下の説明では、Ｗｅｂクライアント３４０２ａ〜３４０２ｄの総称として、Ｗｅｂクライアント３４０２を用いる場合がある。この場合、Ｗｅｂクライアント３４０２は単数あるいは複数のＷｅｂクライアントを意味するものとする。
【０３４７】
Ｗｅｂサーバ３４０１、Ｗｅｂクライアント３４０２ａ〜３４０２ｄはともに、図１Ｂのコンピュータ１０１と同様な構成を有する。ここで、Ｗｅｂサーバ３４０１は、図１Ｃのエンジンサーバ２２７に相当し、レイアウト編集アプリケーション１２１からレイアウト編集機能を除外した、レイアウトエンジン２２５を包含するレイアウト生成アプリケーション３４０４を実行する。
【０３４８】
３４０５は、レイアウト編集アプリケーション１２１によって作成されたドキュメントテンプレートである。Ｗｅｂサーバ３４０１は、Ｗｅｂクライアント３４０２からのリクエストに応じて、自動レイアウト及びドキュメント生成に利用するドキュメントテンプレートを選定する。
【０３４９】
３４０６は、図２のデータベース１１９に相当する。Ｗｅｂサーバ３４０１は、Ｗｅｂクライアント３４０２からのリクエストに応じて、自動レイアウト及びドキュメント生成に利用するコンテンツデータを、このデータベース３４０６のレコードから取得する。
【０３５０】
３４０３は、図１Ｂの記憶装置１３９に相当するＷｅｂサーバ３４０１のデータ記憶領域であり、レイアウト生成アプリケーション３４０４、ドキュメントテンプレート３４０５、データベース３４０６等のデータを記憶する。
【０３５１】
［ＨＴＭＬフォーム］
図３５は本発明の実施形態のＨＴＭＬフォームを表示するためのＷｅｂブラウザ画面の一例を示す図である。
【０３５２】
前述のように、ＨＴＭＬフォーム３５０２は、Ｗｅｂサーバ３４０１によって、Ｗｅｂクライアント３４０２に配信される。Ｗｅｂクライアント３４０２のユーザは、このＨＴＭＬフォーム３５０２を用いて、Ｗｅｂサーバ３４０１にドキュメント配信のリクエストを行う。
【０３５３】
図３５において、３５０１は、Ｗｅｂブラウザであり、Ｗｅｂクライアント３４０２上それぞれで動作するプログラムである。
【０３５４】
３５０２は、Ｗｅｂブラウザ３５０１によって表示されるＨＴＭＬフォームであり、３５０３〜３５０６のＨＴＭＬ部品を含んでいる。
【０３５５】
３５０３は、テンプレートを選択する複数のラジオボタンのＨＴＭＬ部品を含む「テンプレート」グループである。図では、「Ｓｉｍｐｌｅ」、「Ｒｅｇｕｌａｒ」、「Ｏｕｔｓｔａｎｄｉｎｇ」の３つのラジオボタンが含まれている。ユーザは、マウス等の入力デバイスを用いて、これらのいずれか一つを選択することができる。現在は、「Ｓｉｍｐｌｅ」が選択されている。
【０３５６】
３５０４は、コンテンツを選択する複数のチェックボックスのＨＴＭＬ部品を含む「コンテンツ」グループである。図では、「デジタルカメラ」、「アナログカメラ」、「ＭＦＰ」、「プリンタ」、「アクセサリ」、「消耗品」の６つのチェックボックスが含まれている。ユーザは、マウス等の入力デバイスを用いて、これらの内の複数を選択することができる。現在は、「デジタルカメラ」のみが選択されている。
【０３５７】
３５０５は、出力タイプを選択する複数のラジオボタンのＨＴＭＬ部品を含む「出力タイプ」グループである。図では、「ＰＤＦ形式のドキュメント」、「調整可能なドキュメント（ＳＶＧ）」の２つのラジオボタンが含まれている。ユーザは、マウス等の入力デバイスを用いて、これらのいずれか１つを選択することができる。現在は、「調整可能なドキュメント（ＳＶＧ）」が選択されている。
【０３５８】
３５０６は、フォームの内容を送信する送信（submit）ボタンのＨＴＭＬ部品である。
【０３５９】
Ｗｅｂクライアント３４０２のユーザは、このＨＴＭＬフォーム３５０２を用いて、ドキュメントテンプレート、コンテンツ、及びドキュメントフォーマットを配信対象のドキュメントのパラメータとして指定することができる。
【０３６０】
［Ｗｅｂシステムでのドキュメント配信処理］
図３６は本発明の実施形態のＷｅｂシステムでのドキュメント配信処理を示すフローチャートである。
【０３６１】
Ｗｅｂクライアント３４０２のユーザが、Ｗｅｂブラウザ３５０１を用いて、Ｗｅｂサーバ３４０１の所定のＵＲＬアドレスにアクセスする（ステップＳ３６０１）。
【０３６２】
Ｗｅｂサーバ３４０１は、指定されたＨＴＭＬフォーム３５０２をＷｅｂクライアント３４０２に送信する（ステップＳ３６０２）。
【０３６３】
Ｗｅｂクライアント３４０２は、Ｗｅｂサーバ３４０１からＨＴＭＬフォーム３５０２を受信し、それをＷｅｂブラウザ３５０１に表示する（ステップＳ３６０３）。
【０３６４】
Ｗｅｂブラウザ３５０１のユーザは、このＨＴＭＬフォーム３５０２上で、「テンプレート」グループからドキュメントテンプレートを、「コンテンツ」グループからコンテンツを、及び「出力タイプ」グループからドキュメントフォーマットを指定する。これによって、Ｗｅｂサーバ３４０１から配信対象のドキュメントのパラメータを選択する。
【０３６５】
次に、Ｗｅｂクライアント３４０２は、パラメータの選択の完了の有無を判定する（ステップＳ３６０４）。パラメータの選択が完了していない場合（ステップＳ３６０４でＮＯ）、完了するまで待機する。一方、完了した場合（ステップＳ３６０４でＹＥＳ）、Ｗｅｂブラウザ３５０１のユーザによって、送信（submit）ボタン３５０６が押下されたか否かを判定する（ステップＳ３６０５）。
【０３６６】
送信（submit）ボタン３５０６が押下されない場合（ステップＳ３６０５でＮＯ）、押下されるまで待機する。一方、押下された場合（ステップＳ３６０５でＹＥＳ）、Ｗｅｂブラウザ３５０１は、ＨＴＭＬフォーム３５０２上で指定されたパラメータとともにＷｅｂサーバ３４０１にドキュメント配信のリクエストを送信する（ステップＳ３６０６）。
【０３６７】
Ｗｅｂサーバ３４０１は、Ｗｅｂクライアント３４０２のＷｅｂブラウザ３５０１から送信されてきたドキュメント配信のリクエストをパラメータとともに受信したか否かを判定する（ステップＳ３６０７）。受信していない場合（ステップＳ３６０７でＮＯ）、受信するまで待機する。一方、受信した場合（ステップＳ３６０７でＹＥＳ）、そのパラメータ内容に応じて、ドキュメントテンプレートのデータをファイルサーバ１１５等から取得する。更に、コンテンツのデータをデータベース３４０６内のレコードデータから取得する（ステップＳ３６０８）。
【０３６８】
Ｗｅｂサーバ３４０１は、取得したドキュメントテンプレートのデータ、コンテンツのデータ、及びドキュメント配信のリクエスト中のパラメータにある「出力タイプ」のドキュメントフォーマットを指定する。そして、レイアウト生成アプリケーション３４０４に、ドキュメント生成を指示する（ステップＳ３６０９）。
【０３６９】
レイアウト生成アプリケーション３４０４は、Ｗｅｂサーバ３４０１からの指示に基づき、指定されたドキュメントテンプレートに指定されたコンテンツを挿入して、動的レイアウトを実行する（ステップＳ３６１０）。
【０３７０】
次に、「出力タイプ」のドキュメントフォーマットに応じて、各コンテンツへのインタラクティブ性設定を実行する（ステップＳ３６１１）。同時に、指定されたドキュメントフォーマットへの出力（ドキュメントフォーマット変換）を実行する（ステップＳ３６１２）。
【０３７１】
Ｗｅｂサーバ３４０１は、レイアウト生成アプリケーション３４０４によって生成されたドキュメント（例えば、図３２）を、ドキュメント配信のリクエストを行ったＷｅｂクライアント３４０２に送信する（ステップＳ３６１３）。Ｗｅｂブラウザ３５０１は、Ｗｅｂサーバ３４０１からのレスポンスであるドキュメントのデータをＷｅｂブラウザ３５０１に表示する（ステップＳ３６１４）。この時の表示例としては、例えば、図３７のようになる。
【０３７２】
［コンテンツ調整許可選択設定ファイル（サーバ）］
図３６のＷｅｂシステムでのドキュメント配信処理において、レイアウト生成アプリケーション３４０４によるステップＳ３６１１のインタラクティブ性設定は、図３３のインタラクティブ性設定処理とほぼ同様である。また、レイアウト生成アプリケーション３４０４によるステップＳ３６１２のドキュメントフォーマット変換は、図２９のドキュメントフォーマット変換処理とほぼ同様である。
【０３７３】
しかしながら、レイアウト生成アプリケーション３４０４は、レイアウト編集アプリケーション１２１とは異なり、ユーザインタフェース機能を持たない。そのため、レイアウト編集アプリケーション１２１のように、図２８に示すコンテンツ調整許可選択設定用のダイアログウインドウ２８１１を表示する機能はない。
【０３７４】
代わりに、レイアウト生成アプリケーション３４０４は、図３８に示すような設定ファイル３８０１に、コンテンツ調整許可選択の設定を行う機能を有する。設定ファイル３８０１は、Ｗｅｂサーバ３４０１の記憶装置１３９に保持され、サーバ管理者等によって、その設定が変更される。
【０３７５】
図３８において、３８０２は、コンテンツ調整許可選択の設定エントリである。この設定エントリ３８０２には、コンテンツ調整許可選択設定用のダイアログウインドウ２８１１と同様の設定が可能である。つまり、設定エントリ３８０２では、「コンテンツ調整許可値を適用」（値"LIMITED"）、「コンテンツ調整を許可しない」（値"NO"）、「コンテンツを自由に調整させる」（値"UNLIMITED"）の値が設定可能である。
【０３７６】
レイアウト生成アプリケーション３４０４は、ステップＳ３６１１でインタラクティブ性設定を行う際、この設定エントリ３８０２を参照し、その設定値に基づいて、図２９のドキュメントフォーマット変換処理に相当するステップＳ３６１２の処理を実行する。
【０３７７】
［クライアントでのコンテンツの調整・ドキュメント印刷処理］
図３９は本発明の実施形態のドキュメントのコンテンツ（オブジェクト）の調整及び印刷処理を示すフローチャートである。
【０３７８】
この処理は、図３６のＷｅｂシステムでのドキュメント配信処理によって、Ｗｅｂクライアント３４０２のＷｅｂブラウザ３７０１（図３７）に表示されたドキュメントに対する操作によって実行される。
【０３７９】
この処理を説明するにあたり、図３７に示す、Ｗｅｂブラウザ３５０１に表示されるドキュメント（例えば、ＳＶＧドキュメント）について説明する。
【０３８０】
図３７において、３７０１は、Ｗｅｂブラウザである。３７０２は、Ｗｅｂブラウザ３７０１にプラグインされるＳＶＧドキュメントを解釈・表示・印刷可能なプログラム（ＳＶＧドキュメント表示プログラム）の表示画面である。ＳＶＧドキュメント表示プログラム３７０２が表示する画面は、この例の場合、Ｗｅｂブラウザ３７０１の表示領域にエンベッドされている。
【０３８１】
３７０３は、ＳＶＧドキュメント表示プログラム３７０２が表示するＳＶＧドキュメントである。３７０４は、ＳＶＧドキュメント表示プログラム３７０２が提供するユーザ操作用のツールボタンであり、ＳＶＧドキュメント内にインタラクティブ性設定がなされたオブジェクトが含まれている場合に有効になる。
【０３８２】
３７０５は、ＳＶＧドキュメント表示プログラム３７０２が提供するドキュメント印刷用のツールボタンであり、表示されるＳＶＧドキュメントをＷＹＳＩＷＹＧ（"What You See is What You Get"）で印刷する。３７０６は、マウスポインタである。
【０３８３】
図３９において、Ｗｅｂクライアント３４０２のＷｅｂブラウザ３７０１は、図３６のＷｅｂシステムでのドキュメント配信処理に従い、Ｗｅｂサーバ３４０１から配信されたＳＶＧドキュメントのデータを表示しているか否かを判定する。表示していない場合（ステップＳ３９０１でＮＯ）、表示するまで待機する。
【０３８４】
一方、表示する場合（ステップＳ３９０１でＹＥＳ）、インタラクティブ性設定がなされたＳＶＧオブジェクト（ＳＶＧインタラクティブオブジェクト）への操作開始指示の有無を判定する。操作開始指示がない場合（ステップＳ３９０１でＮＯ）、操作開始指示があるまで待機する。
【０３８５】
ここでは、図３７に示すＳＶＧドキュメント３７０３に対する操作例について説明する。このドキュメントは、図３８のコンテンツ調整許可選択の設定エントリ３８０２の値が、「コンテンツ調整許可値を適用」（値"LIMITED"）の際に、Ｗｅｂサーバ３４０１のレイアウト生成アプリケーション３４０４で生成されたものであるとする。
【０３８６】
そして、Ｗｅｂブラウザ３５０１のユーザが、マウスポインタ３７０６を用いて、ユーザ操作用のツールボタン３７０４をクリックする。これにより、ＳＶＧドキュメント３７０３上のＳＶＧインタラクティブオブジェクトの操作を可能にするための操作開始指示がＳＶＧドキュメント表示プログラム３７０２へ発行される（ステップＳ３９０２でＹＥＳ）。
【０３８７】
ＳＶＧドキュメント表示プログラム３７０２は、表示するＳＶＧドキュメント３７０３上のＳＶＧインタラクティブオブジェクトへの操作を、各オブジェクトに設定された範囲内で可能にする（ステップＳ３９０３）。
【０３８８】
この範囲は、図２９のドキュメントフォーマット変換処理、及び図３３のインタラクティブ性設定処理で説明したコンテンツ調整許可範囲である。特に、ここでは、設定ファイル３８０１の「コンテンツ調整許可値を適用」設定に基づき、Ｗｅｂサーバ３４０１のレイアウト生成アプリケーション３４０４によってＳＶＧドキュメント３７０２に設定されたものである。
【０３８９】
Ｗｅｂブラウザ３５０１のユーザは、ツールボタン３７０４によりオブジェクト操作ハンドル用となったマウスポインタを用いて、ＳＶＧインタラクティブオブジェクトへの位置変更操作及びサイズ変更操作を行う。その際、各ＳＶＧインタラクティブオブジェクトに設定された制限範囲内で自由に行い、レイアウトの調整を行うことができる。
【０３９０】
ここで、レイアウトの調整例について、図４０を用いて説明する。
【０３９１】
図４０は、レイアウトの調整操作として、ＳＶＧインタラクティブオブジェクトのリサイズ操作例を示している。
【０３９２】
図４０において、４００６は、オブジェクト操作ハンドル用のマウスポインタである。４００７は、ＳＶＧインタラクティブオブジェクトである。４００８は、ＳＶＧインタラクティブオブジェクト４００７のリサイズ操作によってサイズが変更されたＳＶＧインタラクティブオブジェクトである。
【０３９３】
４００９は、オブジェクト操作ハンドルであり、リサイズ操作中のＳＶＧインタラクティブオブジェクト４００８の四隅に表示される。４０１０は、ＳＶＧインタラクティブオブジェクト４００７のリサイズ制限範囲を示すガイドである。
【０３９４】
Ｗｅｂブラウザ３７０１のユーザは、レイアウト調整を実行した後、再度、ユーザ操作用のツールボタン３７０４をクリックすると、マウスポインタをオブジェクト操作ハンドル用のマウスポインタ４００６から基のマウスポインタ３７０６（図３７）に戻る。
【０３９５】
さて、ＳＶＧドキュメント表示プログラム３７０２は、このレイアウト調整操作を監視し、レイアウト調整が終了したか否かを判定する（ステップＳ３９０４）。レイアウト調整が終了していない場合（ステップＳ３９０４でＮＯ）、終了するまで待機する。
【０３９６】
尚、レイアウト調整の終了の判定は、例えば、ユーザ操作用のツールボタン３７０４のクリックによって得られるマウスポインタの状態に基づいて実行する。例えば、マウスポインタ３７０６の状態は、レイアウト調整前あるいはレイアウト調整後であると判定し、マウスポインタ４００６の状態はレイアウト調整中と判定する。
【０３９７】
そこで、ステップＳ３９０４において、レイアウト調整が終了した場合（ステップＳ３９０４でＹＥＳ）、印刷指示の有無を判定する（ステップＳ３８０５）。印刷指示がない場合（ステップＳ３９０５でＮＯ）、印刷指示があるまで待機する。一方、印刷指示がある場合（ステップＳ３９０５でＹＥＳ）、そのＳＶＧドキュメント３７０３をプリンタに出力する。
【０３９８】
尚、印刷指示の有無の判定は、ツールボタン３７０５の操作の有無に基づいて実行する。つまり、ツールボタン３７０５が操作された場合に、印刷指示がＳＶＧドキュメント表示プログラム３７０２に発行されることになる。
【０３９９】
以上説明したように、ユーザは、予め設定されている範囲内で、ＳＶＧドキュメント上のＳＶＧインタラクティブオブジェクトの調整操作を実行することができる。
【０４００】
尚、上述の説明では、ＳＶＧドキュメント表示プログラム３７０２をＷｅｂブラウザ３７０１とは別に設けたが、これに限定されるものではない。例えば、Ｗｅｂブラウザ３７０１が、ＳＶＧドキュメント表示プログラム３７０２（ＳＶＧドキュメントを直接解釈し、表示、インタラクティブ対応、印刷可能な構成）が実現する構成を実現するように構成してもよい。
【０４０１】
また、本実施形態では、ドキュメント上で構成されるオブジェクトにインタラクティブ性を設定するために、ＳＶＧ形式のドキュメントフォーマット及びＪａｖａ（登録商標）Ｓｃｒｉｐｔによるスクリプティングを用いる例を用いたが、これに限定されるものではない。つまり、ドキュメント上で構成されるオブジェクト（コンテナ、それに挿入されたコンテンツ（イメージ、テキスト等））にインタラクティブ性を設定可能な構成であれば、どのような構成でも良い。
【０４０２】
以上説明したように、本実施形態によれば、ユーザは、配信されたドキュメント上のコンテンツ（オブジェクト）のレイアウトを、設定された範囲内で操作できる。これにより、各自の好みに応じたレイアウト調整を実行することができる。
【０４０３】
また、テンプレート編集者及びドキュメント配信者は、配信したドキュメントの第三者による改変を、予測範囲内に収めることが可能となる。即ち、テンプレート編集者側が第三者に禁止したい変更は、テンプレート編集者側でその変更を第三者に許可しないよう設定することができる。
【０４０４】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０４０５】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０４０６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０４０７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０４０８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０４０９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０４１０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０４１１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０４１２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０４１３】
【図１Ａ】本発明の実施形態の情報処理システムの構成例を示す図である。
【図１Ｂ】本発明の実施形態の情報処理システムの一構成要素であるホストコンピュータのハードウェア構成を示す図である。
【図１Ｃ】本発明の実施形態の情報処理システムの別構成例を示す図である。
【図２】本発明の実施形態のバリアブルデータプリントの概略を説明するための図である。
【図３】本発明の実施形態のユーザインタフェースの一例を示す図である。
【図４】本発明の実施形態のユーザインタフェースにおけるコンテナの表示例を示す図である。
【図５】本発明の実施形態のコンテナの表示ルールを説明するための図である。
【図６】本発明の実施形態のリンクの設定処理を示すフローチャートである。
【図７】本発明の実施形態のリンク設定時のユーザインタフェースの遷移例を示す図である。
【図８】本発明の実施形態の動的レイアウト計算処理を示すフローチャートである。
【図９】本発明の実施形態の動的レイアウト計算処理の詳細を示すフローチャートである。
【図１０】本発明の実施形態の動的レイアウト計算処理時におけるコンテナの集合を説明するための図である。
【図１１】本発明の実施形態の動的レイアウト計算処理におけるユーザインタフェースの一例を示す図である。
【図１２】本発明の実施形態の可変リンクの設定のためのユーザインタフェースの一例を示す図である。
【図１３】本発明の実施形態のリンク設定機能を実現するユーザインタフェースの一例を示す図である。
【図１４】本発明の実施形態の可変リンクの設定処理を示すフローチャートである。
【図１５】本発明の実施形態の固定サイズのリンクを使用した場合のレイアウト結果を示す図である。
【図１６】本発明の実施形態の可変サイズのリンクを使用した場合のレイアウト結果を示す図である。
【図１７】本発明の実施形態のコンテナ設定機能を実現するユーザインタフェースの一例を示す図である。
【図１８】本発明の実施形態のコンテナプロパティの設定処理を示すフローチャートである。
【図１９】本発明の実施形態のコンテンツ調整許可値設定処理を示すフローチャートである。
【図２０】本発明の実施形態のレイアウト編集アプリケーションの編集画面を示す図である。
【図２１】本発明の実施形態のレイアウトエンジンが計算したイメージコンテナの可動位置範囲を示す概念図である。
【図２２】本発明の実施形態のレイアウトエンジンが計算したイメージコンテナの可最大サイズ量を示す概念図である。
【図２３】本発明の実施形態のレイアウトエンジンが計算したイメージコンテナの可最小サイズ量を示す概念図である。
【図２４】本発明の実施形態のレイアウトエンジンが計算したテキストコンテナの可動位置範囲を示す概念図である。
【図２５】本発明の実施形態のレイアウトエンジンが計算したテキストコンテナの可最大サイズ量を示す概念図である。
【図２６】本発明の実施形態のレイアウトエンジンが計算したテキストコンテナの可最小サイズ量を示す概念図である。
【図２７】本発明の実施形態のコンテンツ調整許可範囲設定機能を実現するユーザインタフェースの一例を示す図である。
【図２８】本発明の実施形態のコンテンツ調整許可選択機能を実現するユーザインタフェースの一例を示す図である。
【図２９】本発明の実施形態のドキュメントフォーマット変換処理を示すフローチャートである。
【図３０】本発明の実施形態のレイアウト編集アプリケーションのメニューバーを示す図である。
【図３１】本発明の実施形態のレイアウト編集アプリケーションのプレビュー画面を示す図である。
【図３２】本発明の実施形態のドキュメントフォーマット変換処理による出力結果例を示す図である。
【図３３】本発明の実施形態のインタラクティブ性設定処理を示すフローチャートである。
【図３４】本発明の実施形態のレイアウト編集アプリケーション１２１によって作成されたドキュメントテンプレートを配置するＷｅｂシステムの構成概念図である。
【図３５】本発明の実施形態のＨＴＭＬフォームを表示するためのＷｅｂブラウザ画面の一例を示す図である。
【図３６】本発明の実施形態のＷｅｂシステムでのドキュメント配信処理を示すフローチャートである。
【図３７】本発明の実施形態のＷｅｂブラウザでのＳＶＧドキュメント表示画面の一例を示す図である。
【図３８】本発明の実施形態のレイアウト生成アプリケーションの設定ファイルの一例を示す図である。
【図３９】本発明の実施形態のドキュメントのコンテンツ（オブジェクト）の調整及び印刷処理を示すフローチャートである。
【図４０】本発明の実施形態のＳＶＧドキュメント表示プログラムでのリサイズ操作例を示す図である。
【符号の説明】
【０４１４】
１０１  ホストコンピュータ
１０３  ユーザインタフェース
１０５、２５５  レイアウトエンジン
１０７  ネットワーク
１０９  プリントサーバ
１１１  通信チャネル
１１３  プリンタ
１１５  ファイルサーバ
１１７  データベースサーバ
１１９  データベース
１２１  レイアウト編集アプリケーション
１２３  通信チャネル
２２７  エンジンサーバ
【図１Ａ】
2007066304.tif 000003
【図１Ｂ】
2007066304.tif 000004
【図１Ｃ】
2007066304.tif 000005
【図２】
2007066304.tif 000006
【図３】
2007066304.tif 000007
【図４】
2007066304.tif 000008
【図５】
2007066304.tif 000009
【図６】
2007066304.tif 000010
【図７】
2007066304.tif 000011
【図８】
2007066304.tif 000012
【図９】
2007066304.tif 000013
【図１０】
2007066304.tif 000014
【図１１】
2007066304.tif 000015
【図１２】
2007066304.tif 000016
【図１３】
2007066304.tif 000017
【図１４】
2007066304.tif 000018
【図１５】
2007066304.tif 000019
【図１６】
2007066304.tif 000020
【図１７】
2007066304.tif 000021
【図１８】
2007066304.tif 000022
【図１９】
2007066304.tif 000023
【図２０】
2007066304.tif 000024
【図２１】
2007066304.tif 000025
【図２２】
2007066304.tif 000026
【図２３】
2007066304.tif 000027
【図２４】
2007066304.tif 000028
【図２５】
2007066304.tif 000029
【図２６】
2007066304.tif 000030
【図２７】
2007066304.tif 000031
【図２８】
2007066304.tif 000032
【図２９】
2007066304.tif 000033
【図３０】
2007066304.tif 000034
【図３１】
2007066304.tif 000035
【図３２】
2007066304.tif 000036
【図３３】
2007066304.tif 000037
【図３４】
2007066304.tif 000038
【図３５】
2007066304.tif 000039
【図３６】
2007066304.tif 000040
【図３７】
2007066304.tif 000041
【図３８】
2007066304.tif 000042
【図３９】
2007066304.tif 000043
【図４０】
2007066304.tif 000044