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