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