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