(57)【要約】【課題】  用紙サイズに収まるように、コンテンツをレイアウトするためのコンテナを自動的に生成して配置することにより、複数のコンテンツをレイアウト可能とする。【解決手段】  複数のコンテンツを用紙にレイアウトする際に、コンテンツをレイアウトするためのコンテナをコンテンツのサイズに基づいて自動的に生成する。生成された複数のコンテンツに対する複数のコンテナが用紙サイズに収まるように、各コンテナを配置し、配置された各コンテナにより複数のコンテンツをレイアウトする。【選択図】      図１１
2010117950.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツをレイアウトするレイアウト編集装置であって、
コンテンツをレイアウトするためのコンテナを該コンテンツのサイズに基づいて生成する生成手段と、
前記生成手段によって生成された前記複数のコンテンツに対する複数のコンテナが所定の領域に収まるように、各コンテナを配置する配置手段と、
前記配置手段によって配置された各コンテナに前記複数のコンテンツをレイアウトするレイアウト手段と、
を有することを特徴とするレイアウト編集装置。
【請求項２】
前記配置手段は、前記複数のコンテナに外接する四角形を取得し、取得した四角形の縦横比が規定値に収まるように、各コンテナを配置することを特徴とする請求項１に記載のレイアウト編集装置。
【請求項３】
前記配置手段は、各行に配置すべき各コンテナの幅の差異が最も小さくなるように、各コンテナを配置することを特徴とする請求項１に記載のレイアウト編集装置。
【請求項４】
前記配置手段は、各行で各コンテナの高さの偏差に応じて、優先度をコンテナに付与し、当該優先度に基づいて各コンテナを配置することを特徴とする請求項１に記載のレイアウト編集装置。
【請求項５】
前記配置された前記複数のコンテナは自動的にコネクタで接続され、該コネクタは理想サイズを保持することを特徴とする請求項１に記載のレイアウト編集装置。
【請求項６】
前記コンテナとコネクタとを縮小したテンプレートを生成することを特徴とする請求項５に記載のレイアウト編集装置。
【請求項７】
複数のコンテンツをレイアウトするレイアウト編集装置のレイアウト編集方法であって、
コンテンツをレイアウトするためのコンテナを該コンテンツのサイズに基づいて生成する生成工程と、
前記生成工程において生成された前記複数のコンテンツに対する複数のコンテナが所定の領域に収まるように、各コンテナを配置する配置工程と、
前記配置工程において配置された各コンテナに前記複数のコンテンツをレイアウトするレイアウト工程と、
を有することを特徴とするレイアウト編集方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか１項に記載のレイアウト編集装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト編集装置及びレイアウト編集方法に関するものである。
【背景技術】
【０００２】
近年、商品の多品種化で商品ライフサイクルが短くなったことやインターネット利用の普及による消費者のカスタマイズサービス指向などの要因からＣＲＭ、One-to-Oneマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【０００３】
ここで、ＣＲＭとは、Customer Relationship Managementの略である。One-to-Oneマーケティングとは、データベースマーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴などの個人属性情報をデータベース化し、その内容を分析して顧客のニーズに合った提案を行うものである。One-to-Oneマーケティングの代表的な手法として、バリアブルプリントが挙げられる。
【０００４】
ここ最近では、ＤＴＰ（デスクトップパブリッシング）技術の進展とデジタル印刷装置の普及に伴い、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。そして、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【０００５】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナなどでレイアウトを作成し、データベースとレイアウトを関連付けていた。しかし、テキスト及びイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたとき、データ量がコンテナサイズより多いとテキストのオーバーラップやイメージの欠けが発生する。逆に、データ量がコンテナサイズより小さいと隙間が空いてしまった。
【０００６】
このような問題を解決するために、自動レイアウトシステムが提案されている。ここで、自動レイアウトシステムはテキスト及びイメージのコンテナのサイズを可変に設定することが可能である。また、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できる自動レイアウトシステムが存在する。またテキストの場合に、固定のコンテナサイズ内に入りきらないデータが挿入されると、そのテキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術も存在する。
【０００７】
しかし、コンテナのサイズが大きくなった場合、同じドキュメント上の他のコンテナに重なってしまう問題が発生する。また、フォントサイズを調節する場合、テキストの量が大きいと、フォントサイズが小さくなり過ぎる問題が発生し得る。
【０００８】
これを解決するための更なる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合に、そのコンテナに隣接したコンテナのサイズを小さくする技術が特許文献１に「レイアウトデザイン装置」として開示されている。
【０００９】
また、バリアブルプリントシステムとして、１レコードを１ドキュメントにレイアウトする技術だけでなく、多レコードを１ドキュメントにレイアウトするマルチレコードの技術も知られている。この技術により、一人の顧客に対して、レイアウトするデータの数が異なることが可能になり、更に一人一人に対してよりカスタマイズされたドキュメントを作成することができる。
【特許文献１】特開２０００−４８２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
バリアブルプリントにおいて、サイズの異なるコンテンツを適切にレイアウトするために、レイアウト枠（コンテナ）をコンテンツのサイズに合わせて動的に変化させることを可能にするシステムが存在する。しかし、これらのシステムはデータベースに対するテンプレートありきとして使用されている。ユーザにとってみればテンプレートの作成は困難であり、レイアウトエンジンを使用するための敷居は高いものとなっていた。
【００１１】
様々なソースから抜き出した様々な形状とサイズを持つコンテンツを一覧にする場合やテンプレートが無く自動的に配置を行うような場合に、コンテンツの並びが非効率であり、無駄な余白の発生するレイアウトになってしまうことがあった。
【００１２】
本発明は、用紙サイズに収まるように、コンテンツをレイアウトするためのコンテナを自動的に生成して配置することにより、複数のコンテンツをレイアウト可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、複数のコンテンツをレイアウトするレイアウト編集装置であって、
コンテンツをレイアウトするためのコンテナを該コンテンツのサイズに基づいて生成する生成手段と、
前記生成手段によって生成された前記複数のコンテンツに対する複数のコンテナが所定の領域に収まるように、各コンテナを配置する配置手段と、
前記配置手段によって配置された各コンテナに前記複数のコンテンツをレイアウトするレイアウト手段と、
を有することを特徴とする。
【００１４】
また、本発明は、複数のコンテンツをレイアウトするレイアウト編集装置のレイアウト編集方法であって、
コンテンツをレイアウトするためのコンテナを該コンテンツのサイズに基づいて生成する生成工程と、
前記生成工程において生成された前記複数のコンテンツに対する複数のコンテナが所定の領域に収まるように、各コンテナを配置する配置工程と、
前記配置工程において配置された各コンテナに前記複数のコンテンツをレイアウトするレイアウト工程と、
を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、用紙サイズに収まるように、コンテンツをレイアウトするためのコンテナを自動的に生成して配置することにより、複数のコンテンツをレイアウトすることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１７】
本発明に係る自動レイアウト処理を説明する前に、本発明を適用可能な印刷システムの構成を説明する。
【００１８】
［システム構成］
図１は、バリアブルデータドキュメントを印刷する印刷システムの構成の一例を示す図である。図１に示すように、印刷システム１００は、本発明に係る自動レイアウト処理を実行する汎用のコンピュータ１０１、データベースサーバ１１７、ファイルサーバ１１５、プリントサーバ１０９で構成される。また、コンピュータ１０１と、各サーバ１１７、１１５、１０９とはネットワーク１０７を介して接続されている。
【００１９】
データベースサーバ１１７は、ドキュメント生成のためのデータソースとして典型的なデータベース１１９を管理するコンピュータである。コンピュータ１０１はネットワーク１０７を介してデータベースサーバ１１７と通信する。
【００２０】
ファイルサーバ１１５は、バリアブルデータドキュメントの印刷でデータとマージされたドキュメントテンプレートによって生成されたドキュメントを保存するコンピュータである。また、ドキュメントはコンピュータ１０１のローカルファイルシステムに保存されるか、プリンタ１１３で直接印刷されても良い。
【００２１】
プリントサーバ１０９は、直接接続されていないプリンタ１１３をネットワーク１０７に接続するネットワーク機能を提供するコンピュータである。このプリントサーバ１０９とプリンタ１１３は典型的な通信チャネル１１１を介して接続される。
【００２２】
ここで、自動レイアウト処理はコンピュータ１０１のレイアウト編集アプリケーション１２１のようなソフトウェアの全体、或いは一部分で実行される。また、レイアウト編集アプリケーション１２１は、バリアブルデータ印刷（ＶＤＰ）を行うよう指示し、２つのソフトウェアコンポーネントを含む。
【００２３】
レイアウトエンジン１０５は、長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算する。ユーザインタフェース１０３は、ユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。尚、ユーザインタフェース１０３とレイアウトエンジン１０５は、コミュニケーションチャネル１２３を介して通信する。
【００２４】
図２は、図１に示すコンピュータ１０１の構成の一例を示す図である。図２に示す例では、コンピュータ１０１には、Ｉ／Ｏインタフェース１４３を介してキーボード１３２やマウス（ポインティングデバイス）１３３が接続される。このキーボード１３２やマウス１３３は入力装置として機能する。また、コンピュータ１０１には、ビデオインタフェース１３７を介してビデオディスプレイ１４４、Ｉ／Ｏインタフェース１３８を介してローカルのプリンタ１４５が接続される。このビデオディスプレイ１４４とプリンタ１４５は出力装置として機能する。
【００２５】
尚、上述のキーボード１３２やマウス１３３とビデオディスプレイ１４４とは、図１に示すユーザインタフェース１０３として機能する。
【００２６】
更に、コンピュータ１０１はＩ／Ｏインタフェース１３８を介してネットワーク１０７に接続されたシステム１００の他のコンピュータに接続する。尚、ネットワーク１０７の典型はローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）である。
【００２７】
また、コンピュータ１０１は典型的に少なくとも１つのプロセッサ１３５、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）で構成されるメモリ１３６を含む。更に、典型的にハードディスクドライブ１４０やフレキシブルディスクドライブ１４１などの記憶装置１３９を含む。不図示であるが、磁気テープドライブなどを含んでも良い。また、ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。
【００２８】
上述したコンピュータ１０１の各コンポーネントは、相互接続バス１３４を介して接続され、メモリ１３６上に展開されたオペレーティングシステムに基づいて処理を実行するプロセッサ１３５によって制御される。
【００２９】
図１に示すレイアウト編集アプリケーション１２１は典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５が実行時にメモリ１３６に読み込まれ、処理される。レイアウト編集処理において、データベースサーバ１１７のデータはネットワーク１０７を介して取得され、メモリ１３６に蓄積される。
【００３０】
図３は、エンジンサーバが追加された印刷システムの構成の一例を示す図である。図３では、図１に示すレイアウトエンジン１０５を分離したレイアウトエンジン２２５を含むエンジンサーバ２２７を更に含む。尚、エンジンサーバ２２７は典型的なコンピュータである。
【００３１】
ファイルサーバ１１５に保存されたドキュメントテンプレートは印刷や他の目的がある場合、レイアウトエンジン２２５によってドキュメントを生成するために、データベース１１９に保存されたデータと結合することができる。このような操作はユーザインタフェース１０３を介して要求されるか、特定のレコードのみ印刷するように要求される。
【００３２】
［アプリケーション構成］
［メイン画面］
図４は、ユーザインタフェース画面の一例を示す図である。ユーザインタフェース画面は、操作時にビデオディスプレイ１４４に表示されるアプリケーションウインドウ３０１によって形成される。ウインドウ３０１には、メニューバー３０２、ツールバー３０３、マウス１３３の位置・動作によって場所を移動可能なワークエリア３０６とオプションのパレット３１１とカーソル（ポインタデバイス）３１３が表示される。
【００３３】
メニューバー３０２は周知の技術であり、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を持つ。ツールバー３０３は、アプリケーションの特別なモードによって非表示、或いは表示可能な多くのツールボタンなどのウィジット３０５を持つ。
【００３４】
オプションのルーラー３０８は、ワークエリア３０６内のポインタ、ページ、ライン、マージンガイド、レイアウト枠（以下、コンテナと称す）又はオブジェクトの位置を示すために使われる。
【００３５】
パレット３１１はバリアブルデータを読み込んで表示するライブラリのような追加機能にアクセスするために使われる。パレット３１１は移動、リサイズ、クローズをするためのウインドウコントロール３１２を持つ。
【００３６】
また、ツールバー３０３は、少なくとも以下のユーザ選択可能な『ボタン』を持つ。
・選択ツールボタン：コンテナの辺を選択、移動、サイズ変更、リサイズ、ロック・ロック解除するために使われる。コンテナは、（複数）コンテナの周りに選択ボックスをドラッグ、或いは複数コンテナを選択する間にCTRLキーを押しつづけることによって複数選択を可能にする。
・イメージコンテナツールボタン：スタティック或いはバリアブルなイメージを持つコンテナを作成するために使われる。
・テキストコンテナツールボタン：スタティック或いはバリアブルなテキストを持つコンテナを作成するために使われる。
・リンクツールボタン：コンテナ間の距離を制御するために使われる。
【００３７】
［ドキュメントテンプレート］
ワークエリア３０６は、ドキュメントテンプレートのデザインを表示・編集するために使われる。これは、ユーザに、ドキュメントの概観をデザインさせること、マージされたドキュメントが、バリアブルデータの量、サイズに基づいてどのように変化するかを理解させることができる。
【００３８】
ここで外部データソースがテンプレートにリンクされていると、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがテンプレート上のコンテナに表示される。
【００３９】
また、ドキュメントの構造とバリアブルデータのコンテナの描写をする視覚的な手がかりは、カーソル３１３をコンテナ４０７、４０８上に移動させた場合や、コンテナ４０７、４０８を選択した場合に常に表示される。
【００４０】
更に、ワークエリア３０６には、スクロールバー３０７、オプションのルーラー３０８、ドキュメントテンプレート３０９を含む。ここで、ドキュメントテンプレート３０９はテンプレート中のページが複数あることを示すことができる。
【００４１】
与えられたドキュメントテンプレートのページサイズは、周知の技術として、ユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化しても良い。例えば、１ページ内にフィットできなかった時、追加のページが自動的に作成される。
【００４２】
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン３１０である。
【００４３】
また、図４には１ページのドキュメントテンプレート３０９上に表示することが可能なオブジェクトの例を含む。それらは、多数のコンテナ４０７、４０８、固定されていない辺４１０、リンク４１２を持つ。
【００４４】
［コンテナ］
コンテナは、ドキュメントテンプレート３０９内の固定又は可変のテキストやイメージを持つスペースであり、他のコンテナやオブジェクトと相互に作用しながらレイアウトされる。コンテナはカーソル３１３を使い、ユーザインタフェースで示され、移動やサイズ調整、或いは再作成が可能である。
【００４５】
より正確には、コンテナは設定の集まり、視覚的表現、インタラクションと編集動作が可能である。以下はコンテナの定義の全部分である。
・コンテナは固定又は可変のコンテンツを持つ。可変のコンテンツは、データソースから取得することで、異なるドキュメントでは異なる内容になる、という意味でダイナミックである。尚、可変のコンテンツがアニメーションのように時間的に変化するコンテンツを含むことは印刷に適合していないため意図していない。また同様に、固定のコンテンツはコンテナを使って生成される全てのドキュメントで、同じに表示される。しかし、可変のコンテンツのレイアウト動作の影響を受け、固定のコンテンツといえども各ドキュメント上での位置は異なっても良い。
・コンテナは、コンテンツに適用される背景色、ボーダー、フォントスタイルのような、テキスト設定の装飾機能を持っている。
・コンテナは、ドキュメントを生成したときにデータソースからのデータとマージされる。可変のコンテンツはデータソースから取得した特定のデータの表示を行う。コンテナのこの表示は、例えば印刷されるか、ビデオディスプレイ１４４上で表示されるか、或いはその両方が可能である。
・コンテナはユーザインタフェースを持つ、例えばコンテナの編集や、表示設定のためのインタラクティブなＧＵＩを持つ。インタフェースの要素は典型的にビデオディスプレイ１４４上に表示される、しかし、それらの要素はドキュメント上には印刷されない。このユーザインタフェースは背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、またコンテナの設定の編集や表示を許すためのインタフェース要素も表示する。
【００４６】
［コンテナ制約］
コンテナは、それぞれのドキュメントで表示されるコンテンツをどのように結び付けるか制御する制約がある。これらの制約（固定・可変コンテンツをコンテナと結びつけると共に）は、ユーザが一つのドキュメントテンプレートから多数のドキュメントのレイアウトの表出を制御する主要な方法である。
【００４７】
制約の例は、『このコンテナのコンテンツの高さは、最大値が４インチ』である。また別の制約の例は、『コンテナのコンテンツの左エッジは、どのドキュメントでも同じ水平位置で表示しなければならない』である。以下に記述される内容は、ＧＵＩを使ってこのような制約を表示、編集するためのいろいろな方法である。
【００４８】
尚、イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。以下の検討で、コンテナは位置及びサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定して良い。その代わりに、この検討はバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
【００４９】
また、コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつものドキュメントのレイアウトを一つのドキュメントテンプレートから生成するため、コンテナは多数のレイアウトの可能性と制約を指定・表示するためのユーザインタフェースとして利用される。その表示とレイアウト動作については更に後述する。
【００５０】
［コンテナ表示・編集］
［新規コンテナの作成］
コンテナは、テキストコンテナとイメージコンテナの２種類で記述される。テキストコンテナは固定、又はデータベースから受け取る可変のテキストを持つ。イメージコンテナは、埋め込みのイメージ、又はデータベースから受け取る可変のイメージを持つ。
【００５１】
新規のテキストコンテナとイメージコンテナは、ウィジット３０５からマウス１３３でクリックして選択するテキストコンテナツールやイメージコンテナツールによって四角形の領域をドラッグすることで、ドキュメントテンプレート３０９上に作成される。
【００５２】
コンテナは、また同様に、適切なツールをアクティブにした後に、ドキュメントテンプレート３０９上でクリックすることによって単純に作成されてもかまわない。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスが提供されても良い。
【００５３】
［コンテナの表示］
コンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される際の、仮想の境界線を定義するものである。コンテナをユーザインタフェースとして利用する際に、例えばコンテナの左辺は関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺として扱われる。また、コンテナの高さは、生成されたドキュメントで関連付けられたコンテンツを表示可能な高さの制限として理解できるであろう。ここでは、ユーザインタフェース１０３を通してコンテナの辺や大きさを変化させることを前提としている。
【００５４】
以下では、コンテンツのレイアウトを制限するために使われるいくつかのユーザインタフェースとレイアウトの関係のルールを定義している。
・コンテナの左右の辺が実線であれば、コンテナの幅は固定である。コンテナの幅が固定であれば、関連付けられたコンテンツに割り当てられる幅は全てのドキュメントで同じになる。しかし、コンテナの高さは変わる可能性がある。
・コンテナの上下の辺が実線であれば、コンテナの高さは固定である。コンテナの高さが固定であれば、関連付けられたコンテンツに割り当てられる高さは全てのドキュメントで同じになる。
・距離の制約が固定であれば、指定された距離は全てのドキュメントで同じになる。
・コンテナの実線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナによって押され、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【００５５】
『固定』の反対は、辺、位置、ドキュメント制約がドキュメント毎に変化するかもしれないことを意味している『可変』である。可変を実現するためのユーザインタフェースとレイアウト関係のルールの例は、例えば以下のようである。
・コンテナの左右の辺が点線であれば、コンテナの幅は可変である。コンテナの幅が可変であれば、関連付けられたコンテンツに割り当てられる幅はドキュメント毎に変化する。
・コンテナの上下の辺が点線であれば、コンテナの高さは可変である。コンテナの高さが可変であれば、関連付けられたコンテンツに割り当てられる高さはドキュメント毎に変化する。
・距離の制約が可変であれば、指定された距離はドキュメント毎に変化する可能性がある。距離の制約に対する設定により、最大長・最小長の制限の枠内でコンテナの距離を調整するレイアウトを行うことができる。
・コンテナの点線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナを押し、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【００５６】
図５は、ルールに基づくコンテナの辺の状態（１６通り）を示す図である。一般的に、コンテナの辺の状態は、ドキュメントテンプレートのデザインの手助けとして表示される要素であるため、印刷物には描画されない。
【００５７】
コンテナの制約として設定される幅・高さの最小値・最大値の設定値は、副次的なダイアログディスプレイ（パレット３１１）に表示される。
【００５８】
図６は、本実施形態における典型的なコンテナルールを説明するための図である。図６に示す（Ａ）はパターン１で、コンテナ６０１は幅が可変である。この例では、辺６０３は実線で表現され、可変の辺６０４は点線で表現される。また、拡縮アイコン６０２は、隣接する辺６０４が可変であることを示す、オプションのインジケーターである。
【００５９】
また、図６に示す（Ｂ）はパターン２で、コンテナ６１１は幅・高さ両方が可変である。そして、図６に示す（Ｃ）はパターン３で、このコンテナ６２１も幅・高さ両方が可変である。
【００６０】
［リンクの設定］
図７は、リンクの設定方法のＵＩ例を示す図である。まず、リンクを設定するために、リンクを設定するためのコンテナ（最低２つ）７０１、７０２を作成する。図４に示したコンテナ４０７、４０８と同様に、実線は固定されている辺、点線は固定されていない辺を意味する。
【００６１】
次に、リンクを設定する片方のコンテナ７０１にカーソル３１３を移動させてクリックし、もう片方のコンテナ７０２まで移動させてクリックする。７０３は、コンテナ７０１でクリックをした位置と移動させた後、コンテナ７０２でクリックをした位置とを結んだ線で、どの位置にリンクが設定されるのかをユーザに示している。その後、７０４に示すリンクＵＩが表示され、リンクの設定が終了する。
【００６２】
７０５は点線で示されている辺で、可変の辺を示している。このようなデザインでは、左のコンテナ０７０１は右方向に可変のサイズをとれる。また、右のコンテナ７０２は左方向に可変のサイズをとれる。その間をリンクで接続したことにより、左右のコンテナはその間の距離を保ったまま、相互にサイズを可変に調整するように動作する。
【００６３】
［プレビュー処理］
図８は、プレビューモードにおける処理を示すフローチャートである。自動レイアウトシステムでは、レイアウトモードとプレビューモードとがある。レイアウトモードはコンテナを作成し、そのコンテナ間に関連付けを行い、レイアウトを作成するモードである。プレビューモードは作成したレイアウトにデータベース上の実データレコードを挿入し、実際にデータ値が挿入された後のレイアウト結果をプレビューするモードである。
【００６４】
まず、ステップＳ８０１で、プレビューモードが選択されると、ステップＳ８０２で、プレビューするレコードが挿入される。次に、ステップＳ８０３で、挿入されたレコードをレイアウトするために、レイアウト計算を行う。
【００６５】
次に、ステップＳ８０４では、ステップＳ８０３で計算されたレイアウトを表示する。そして、ステップＳ８０５で、プレビューモードでユーザの入力によって他のレコードにプレビューを切り替えるか否かを判定する。ここで、他のレコードについてプレビューを行う必要がないと判定した場合は、ステップＳ８０７へ処理を進め、プレビューモードを終了する。
【００６６】
一方、ステップＳ８０５で、他のレコードについてプレビューを行うのであれば、ステップＳ８０６へ処理を進め、他のレコードを選択し、ステップＳ８０３で再度レイアウト計算を行う。そして、ステップＳ８０４でプレビューを行い、上述の処理を繰り返す。
【００６７】
尚、プレビューモードでなく、印刷時においては、印刷するレコード全てについて順にレイアウト計算を行う。従って、ステップＳ８０５、Ｓ８０７は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【００６８】
［レイアウト計算］
図９は、図８に示すＳ８０３でのレイアウト計算の詳細を示すフローチャートである。また、図１０は、レイアウト計算のＵＩ表示の一例を示す図である。
【００６９】
まず、ステップＳ９０１で、レイアウトを計算するために関連しあうコンテナの集合を求める。このレイアウト計算は、リンクによって関連付けられたコンテナを一つの集合として計算を行う。次に、ステップＳ９０２で、ステップＳ９０１で求めたコンテナの集合から、レイアウトを計算するために一つを選択する。そして、ステップＳ９０３で、選択したコンテナの集合について、レイアウトを計算し、最適化を行う。
【００７０】
ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされた結果のサイズとの差が、できる限り同じになるように行われる。
【００７１】
このレイアウトの最適化を行う際に、ステップＳ９０４でルールに違反しているか否かを判定し、違反している場合は、ステップＳ９０３に戻り、再度ルールを違反しないように計算する。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制約のことであり、コンテナのサイズと位置、辺の状態、リンクの長さなどである。
【００７２】
一方、ステップＳ９０４でルールを違反しないようにレイアウトが計算されると、その集合のレイアウトは完成となる。そして、ステップＳ９０５で、ページ上の全ての集合について計算が終了すると、この処理を終了する。
【００７３】
図１０に示す２つのコンテナ１００１、１００２は、レコードが挿入されレイアウトが決定されている状態を表している。図中、実線は固定された辺、点線は可変の辺、矢印は可変の辺の変化方向を示している。１００３はリンクをそれぞれ示している。
【００７４】
この状態において、レコードを変更し、異なるサイズのコンテンツを挿入すると、１００４に示す状態のように、新しいコンテンツのサイズが重ねて示される。そして、レイアウト計算が行われ、レイアウト計算された結果が１００５に示すように表示される。この計算後の各コンテナのサイズは、実際に挿入されるコンテンツのサイズと同等に、差異があるように計算され、且つ上述したルールに違反しないように計算される。
【００７５】
［レイアウト編集］
次に、レイアウト編集アプリケーション１２１に対してコンテンツが投入された場合の処理を、図１１を用いて説明する。
【００７６】
図１１は、本実施形態におけるレイアウト編集処理を示すフローチャートである。まずステップＳ１１０１では、レイアウト編集アプリケーション１２１が、投入されたコンテンツを認識し、ステップＳ１１０２では投入された各コンテンツのサイズ（縦・横の長さ）を取得する。そして、ステップＳ１１０３では、レイアウト編集アプリケーション１２１が、投入されたコンテンツの全ての面積を計測し、当該面積と当該コンテンツが配置される紙面の面積サイズとを比較する。ここで、コンテンツの総面積が紙面の面積サイズより小さい場合はステップＳ１１０４へ処理を進め、コンテンツの総面積が紙面の面積サイズも大きい場合はステップＳ１１１１へ処理を進める。
【００７７】
このステップＳ１１０４では、レイアウト編集アプリケーション１２１が、コンテンツの総面積が紙面のサイズと同等になるような拡大率を設定し、拡大率に従い各コンテンツを拡大したものと同等のコンテナを内部的に用意する。そして、ステップＳ１１０５では、レイアウト編集アプリケーション１２１が、ステップＳ１１０４で生成したコンテナを紙面に配置していく。紙面への配置は横方向に設定された閾値に従い、その閾値を越えないように配置していく。尚、コンテナの配置における基本処理の詳細については更に後述する。
【００７８】
次に、ステップＳ１１０６で、レイアウト編集アプリケーション１２１が、コンテナを配置した後で、配置したコンテナに外接する四角形を取得する。そして、ステップＳ１１０７で、レイアウト編集アプリケーション１２１が、取得した外接四角形の縦横比が規定サイズに収まるか否かを判定する。規定サイズに収まらない場合はステップＳ１１０８へ処理を進め、規定サイズに収まる場合はステップＳ１１０９へ処理を進める。
【００７９】
このステップＳ１１０８では、仮に配置したコンテナの外接四角形が規定サイズに収まらなかったことから、レイアウト編集アプリケーション１２１は、コンテナのサイズがミスマッチであったと仮定する。そして、レイアウト編集アプリケーション１２１は、コンテナの拡大率ｎを所定の値分下げて、ステップＳ１１０５へ戻り、再びコンテナの配置を行う。
【００８０】
ステップＳ１１０９では、レイアウト編集アプリケーション１２１が、各コンテナを配置した際に、各行にある余白についての補正を行う。この補正は、コンテナの配置を変更するもので、補正が行われた場合はステップＳ１１０６に戻り、コンテナの再配置を行う。また、補正が必要なかった場合はステップＳ１１１０へ処理を進める。
【００８１】
このステップＳ１１１０では、レイアウト編集アプリケーション１２１が、各コンテナをコネクタで接続し、全体を縮小した仮テンプレートを生成する。このとき、横方向のコネクタは各行に並ぶ全てのコンテナを接続し、縦方向のコネクタは横位置に同じ辺を持つコンテナに対してコネクタを接続する。尚、コネクタは内部的に理想サイズを保持するものとする。
【００８２】
一方、コンテンツの総面積が紙の面積サイズよりも大きかった場合は、レイアウト編集アプリケーション１２１は、ステップＳ１１１１で、全てのコンテンツが収まるような仮想的な用紙面を想定する。そして、レイアウト編集アプリケーション１２１が、その仮想的な用紙面に各コンテンツと同等のサイズのコンテナを配置していく。この場合、仮想的な用紙面に対して用紙面の横幅の１０％×ｍ分の幅が足された幅が、閾値として設定される。
【００８３】
次に、ステップＳ１１１２では、レイアウト編集アプリケーション１２１が、コンテナを仮配置した後で、配置したコンテナに外接する四角形を取得する。そして、ステップＳ１１１３で、レイアウト編集アプリケーション１２１が、取得した外接四角形の縦横比が規定サイズに収まるかどうかを判定する。規定サイズに収まらない場合はステップＳ１１１４へ処理を進め、規定サイズに収まる場合はステップＳ１１１５へ処理を進める。
【００８４】
このステップＳ１１１４では、レイアウト編集アプリケーション１２１が、仮に配置したコンテナの外接四角形が規定サイズに収まらなかったため、仮想的な紙面サイズがミスマッチであったと判定する。そして、レイアウト編集アプリケーション１２１は、仮用紙の横サイズの閾値を拡大し、ステップＳ１１１１に戻る。
【００８５】
また、ステップＳ１１１５では、レイアウト編集アプリケーション１２１が、各コンテナを配置した際に、各行にある余白についての補正を行う。この補正は、コンテナの配置を変更するもので、補正が行われた場合はステップＳ１１１２に戻り、コンテナの再配置を行う。また、補正が必要なかった場合はステップＳ１１１０へ処理を進め、上述した仮テンプレートを生成する処理を行う。
【００８６】
次に、ステップＳ１１１６では、レイアウト編集アプリケーション１２１が、作成された仮テンプレートの横方向に並んだコンテナに対してコンテナ縦方向のサイズについて補正を行う。そして、ステップＳ１１１７で、レイアウト編集アプリケーション１２１が、テンプレートに実コンテンツを適用させ、レイアウトエンジンを用いて用紙サイズへ適用させる。そして、コンテンツを配置した紙面を表示して終了する。
【００８７】
［コンテナ配置時の基本処理］
図１２〜図１４は、コンテナを紙面へ配置する際の基本配置を示す図である。コンテナを配置していく場合、基本的にはコンテナを並べた際に、その幅がある規定値に収まっているか否かを判定する。図１２に示す例は、規定された幅に収まるようにコンテナが配置された場合の図である。また、図１３に示す例は、コンテナを並べたときに、規定された幅に収まらなかった場合で、規定された幅に収まらなかったコンテナは次の行に配置される。また、行の中で最も縦方向に長いものを行高の基準のサイズ（基準位置）とする。図１４に示すように、配置されたコンテナの下に配置されるコンテナは、基準位置にそろえられて配置される。
【００８８】
［規定サイズ］
図１５は、図１１に示すステップＳ１１０７で判定される規定サイズを説明するための図である。ここでは、規定サイズの一例として、図１５に示すような縦横比を持った図形を参考値としている。
【００８９】
１５０１は規定サイズの縦／横の最小値である。１５０１の縦の長さは、
用紙の縦−（用紙の縦−用紙の横）×（１／２）
であり、縦横の比は
縦（２５．３５）÷横（２１．０）≒１．２０７
となっている。
【００９０】
１５０２は基本となるＡ４の用紙サイズを示す。１５０３は規定サイズの縦／横の最大値である。１５０３の縦の長さは、
用紙の縦＋（用紙の縦−用紙の横）×（１／２）
であり、縦横の比は
縦（３４．０５）÷横（２１．０）≒１．６２１
となっている。
【００９１】
１５０４は規定サイズを決めるための値であり、（用紙の縦−用紙の横）×（１／２）となっている。
【００９２】
ここでは、Ａ４の紙面にレイアウトすることを前提としており、その他の用紙サイズへのレイアウトを行う場合は、規定サイズの最大値・最小値は上述のような計算に基づいて変更される。
【００９３】
［メイン処理の可視化］
図１６〜図１８は、図１１に示す処理に従ってコンテナの配置が行われる場合の具体例を示す図である。１６０１は一例として投入されたコンテンツ群から得られるコンテナ群である。また、コンテンツ群（１〜９）の縦・横の長さは、本実施形態では以下のような値であり、Ｓ１１０２で取得される。
コンテンツ（１）＝４ｃｍ×４ｃｍ
コンテンツ（２）＝６ｃｍ×４ｃｍ
コンテンツ（３）＝５ｃｍ×４ｃｍ
コンテンツ（４）＝５ｃｍ×５ｃｍ
コンテンツ（５）＝３ｃｍ×３ｃｍ
コンテンツ（６）＝４ｃｍ×５ｃｍ
コンテンツ（７）＝５ｃｍ×３ｃｍ
コンテンツ（８）＝３ｃｍ×４ｃｍ
コンテンツ（９）＝４ｃｍ×３ｃｍ
１６０２は紙面を示したものであり、Ａ４サイズを想定としている。
【００９４】
これらのコンテンツが投入された場合、Ｓ１１０３にて、投入されたコンテンツの総面積と紙面の面積が計測される。上述のコンテンツの場合、紙面の面積はおよそ６２３平方ｃｍであり、コンテンツの総面積は１５３平方ｃｍであることが分かる。
【００９５】
Ｓ１１０４では、コンテンツの総面積が紙面の面積より小さく、総コンテンツの面積が紙面面積と同等となるような仮想コンテナを取得するために、拡大率を取得する。ここで拡大率は、次式からコンテンツの４倍サイズとなるコンテナを仮想紙面へ適用する。
【００９６】
紙面の面積÷コンテンツの総面積（６２３÷１５３）＝４．０７…≒４倍
図１７は、４倍に拡大された各コンテンツを用紙幅１１０％の幅を閾値としてコンテナが配置された図である。１７０１はコンテンツの４倍サイズのコンテナであり、１７０２は用紙幅の１１０％の幅を閾値とした仮想紙面である。
【００９７】
１７０３はコンテナが配置された後で、Ｓ１１０６にて取得される外接四角形を示す。外接四角形１７０３は、縦４０ｃｍ、横２２ｃｍであり、縦横比は以下の値となる。
【００９８】
４０／２２≒１．８１８
しかし、この縦横比は、Ｓ１１０７の判定で図１５に示す規定サイズよりも大きな値であるために、Ｓ１１０８へ処理を進め、コンテンツの３倍サイズのコンテナを生成し、再配置を行う。
【００９９】
図１８は、コンテンツの３倍サイズのコンテナが用紙幅１１０％の幅の仮想紙面に配置された図である。１８０１はコンテンツの３倍サイズのコンテナであり、１８０２は用紙幅の１１０％の幅を閾値とした仮想紙面である。
【０１００】
１８０３はコンテナが配置された後で、Ｓ１１０６にて取得される外接四角形を示す。外接四角形１８０３は、縦２６７．８ｃｍ、横２２５．９ｃｍであり、縦横比は以下の値となる。
【０１０１】
縦横比は２６７．８／２２５．９≒１．２２５
従って、縦横比が規定サイズ内に含まれ、仮テンプレートを生成するための基本配置となる。
【０１０２】
［コンテナ配置の補正］
図１１に示すＳ１１０９及びＳ１１１５にて行われる配置コンテナの補正を、図１９を用いて説明する。
【０１０３】
図１９は、配置コンテナの補正処理を示すフローチャートである。ここでは、コンテナの配置が行われた後とし、図２０に示す２００１の配置（パターン１）になったと仮定してステップＳ１９０１を開始する。ステップＳ１９０１では、各行に配置したコンテナ幅の合計値を取得し、ステップＳ１９０２で、各コンテナの最大差異を計測する。例えば、コンテナの配置が２００１のような配置（パターン１）の場合、１行目の幅はコンテナ１〜３のそれぞれの幅の合計値である２１ｃｍとなる。同様に、２行目の幅は２２．５ｃｍ、３行目の幅は１０．５ｃｍとなるのが分かり、最大差異２００２は２行目と３行目の１２ｃｍであることが計測される。
【０１０４】
次に、コンテナの補正（再配置）を行うために、ステップＳ１９０３で、ｎ行目の最も右に位置するコンテナを一つ下の行に移動させる。ここで、Ｎ＝１（初期値）、即ち１行目最右に位置するコンテナを移動して再配置を行った後の図が、図２０に示す２００３の配置（パターン２）である。
【０１０５】
そして、ステップＳ１９０４では、ステップＳ１９０１で行ったように各行に配置したコンテナ幅を取得し、各コンテナの最大差異を計測する。ここで、配置が２００３のような配置（パターン２）の場合、１行目の幅は１２ｃｍ、２行目の幅は２４ｃｍ、３行目の幅は１８ｃｍとなることが分かり、最大差異２００４は１行目と２行目の１２ｃｍであることが計測される。
【０１０６】
次に、ステップＳ１９０５では、最右に位置するコンテナを移動したのが、最後の行であったか否かを判定する。図２０のような例の場合、Ｎ＝１の時は最後の行でないため、ステップＳ１９０６へ処理を進め、Ｎ＝２としてステップＳ１９０２に戻る。
【０１０７】
ここで、Ｎ＝２とした場合、２行目の最右に位置するコンテナを移動して再配置を行った後の配置が、図２０に示す２００５の配置（パターン３）である。この配置についても上述した処理と同様に処理すると、１行目の幅は２１ｃｍ、２行目の幅は１５ｃｍ、３行目の幅は１８ｃｍとなるのが分かり、最大差異２００６は１行目と２行目の６ｃｍであることが計測される。
【０１０８】
次に、Ｎ＝３となった場合、３行目に位置するコンテナは１つしかないため、再配置を行っても配置は２００１のような配置と同様になる。
【０１０９】
ステップＳ１９０５で、Ｎが最後の行の場合、ステップＳ１９０７へ処理を進め、最後の行まで再配置を行った後の最大差異２００２、２００４、２００６の中から最小のものを選択し、コンテナ配置を補正する。つまり、図２０の例では、パターン３が選択される。
【０１１０】
次に、ステップＳ１９０８で、補正したコンテナに外接する四角形を取得する。この例では、最大差異２００６が最も小さく、配置が２００５のような配置（パターン３）における外接四角形を取得する。
【０１１１】
次に、ステップＳ１９０９で、取得した外接四角形の縦横比が規定値内であるか否かを判定する。規定値外であった場合は、ステップＳ１９１０へ処理を進め、ステップＳ１９０７で選択した最大差異の次点を選択し、ステップＳ１９０８に戻る。また、規定値内であった場合は、ステップＳ１９１１へ処理を進め、仮テンプレートの配置パターンを修正し、この処理を終了する。
【０１１２】
本実施形態の場合、配置が２００５のような配置の外接四角形が規定値内であったため、仮テンプレートの配置パターンとして補正を行い、終了する。
【０１１３】
［仮テンプレートの補正］
次に、テンプレートの補正として、配置されたコンテナに対する優先度の付与に関する処理を、図２１〜図２３を用いて説明する。
【０１１４】
図２１は、図１１に示すＳ１１１６での処理を示すフローチャートである。ステップＳ２１０１では、各行のコンテナの平均の高さを取得する。次に、ステップＳ２１０２では、ステップＳ２１０１で取得した平均の高さから各コンテナとの偏差を取得する。そして、ステップＳ２１０３では、ステップＳ２１０２で取得した偏差に基づいて各コンテナに対して優先度を付与し、この終了する。
【０１１５】
図２２は、仮テンプレートの補正処理が行われる前の状態を示す図である。図２３は、優先度の付与により補正が行われた後の仮テンプレート状態を示す図である。ここでは、正確な優先度が付与されたものではなく、おおよその優先度が付与された場合の例を示すものである。
【０１１６】
図２２において、コンテナ２２０１〜２２１４は仮テンプレートとして配置されたものである。各コンテナの縦横はコネクタで接続されている。コンテナ２２０１〜２２０５は行２２１５に属し、コンテナ２２０６は行２２１７に属する。また、コンテナ２２０７〜２２１０は行２２１８に属し、コンテナ２２１１〜２２１４は行２２２０に属する。尚、各行に属するコンテナの上辺の位置は統一されている。
【０１１７】
平均値２２１６は、行２２１５に含まれるコンテナの平均の高さであり、各コンテナの高さ（６＋１６＋１１＋４＋８）÷コンテナの数（５）＝９の高さに位置する。
【０１１８】
また、平均値２２１９は、行２２１８に含まれるコンテナの平均の高さであり、各コンテナの高さ（７＋６＋１７＋５）÷コンテナの数（４）＝８．７５の高さに位置する。
【０１１９】
更に、平均値２２２１は、行２２２０に含まれるコンテナの平均の高さであり、各コンテナの高さ（６＋９＋３＋１１）÷コンテナの数（４）＝４．７５の高さに位置する。
【０１２０】
ここで、行２２１５を例に挙げて、図２１に示す優先度の付与処理について説明する。平均値２２１６は“９”であり、各コンテナからの偏差は以下になる。
【０１２１】
コンテナ２２０１：３
コンテナ２２０２：７
コンテナ２２０３：２
コンテナ２２０４：５
コンテナ２２０５：１
上述のように、最大の偏差は７であり、この値を基準として各コンテナに優先度を付与する。尚、説明を簡略化するために、今回は優先度が（高：０〜４：低）の５段階であるとすると、偏差に比例した優先度が以下のように設定される。
【０１２２】
偏差０→優先度０
偏差０〜１→優先度１
偏差１〜３→優先度２
偏差３〜５→優先度３
偏差５〜７→優先度４
従って、上記の各コンテナの優先度は、以下のように設定される。
【０１２３】
コンテナ２２０１：優先度２
コンテナ２２０２：優先度４
コンテナ２２０３：優先度２
コンテナ２２０４：優先度３
コンテナ２２０５：優先度１
上述された優先度に基づいて各コンテナの変化量が決まる。例えば、図２２では、優先度１のコンテナ２２０５は、コンテナサイズを１増加することで平均値２２１６となる。そのため、コンテナ２２０５の変化量は＋１となる。一方、コンテナ２２０１、２２０３の優先度が２であるため変化量は優先度１の変化量の２倍となる。すなわち、コンテナ２２０１、２２０３の変化量は＋２となる。
【０１２４】
また、コンテナ２２０２は、優先度が４であるため、変化量は優先度１の変化量の４倍となる。但し、コンテナ２２０２は平均値２２１６よりも大きいので、変化量は減少するように変化される。つまり、コンテナ２２０２の変化量は−４となる。以上の処理を繰り返した結果が図２３である。この処理により、図２３に示すように、平均化されたサイズのコンテナが配置されたレイアウトテンプレートを生成できる。
【０１２５】
図２４は、図１１に示すステップＳ１１０５にてコンテナが配置される時に使用される閾値を設定するためのＵＩの一例を示す図である。図２４に示すように、閾値の設定は、ある設定された閾値（１１０％）だけでなく、ユーザが自由に変更できるように構成しても良い。
【０１２６】
本実施形態によれば、必要なコンテンツを様々なデータソースから必要な部分だけ抜き出して指定し、まとめた資料を作成する際に、ページ紙面を有効に利用し、かつ、見易い自動レイアウトにより、手間を掛けることなくまとめることが可能になる。
【０１２７】
尚、本発明は複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用しても良い。
【０１２８】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【０１２９】
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１３０】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１３１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【０１３２】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１３３】
【図１】バリアブルデータドキュメントを印刷する印刷システムの構成の一例を示す図である。
【図２】図１に示すコンピュータ１０１の構成の一例を示す図である。
【図３】エンジンサーバが追加された印刷システムの構成の一例を示す図である。
【図４】ユーザインタフェース画面の一例を示す図である。
【図５】ルールに基づくコンテナの辺の状態（１６通り）を示す図である。
【図６】本実施形態における典型的なコンテナルールを説明するための図である。
【図７】リンクの設定方法のＵＩ例を示す図である。
【図８】プレビューモードにおける処理を示すフローチャートである。
【図９】図８に示すＳ８０３でのレイアウト計算の詳細を示すフローチャートである。
【図１０】レイアウト計算のＵＩ表示の一例を示す図である。
【図１１】本実施形態におけるレイアウト編集処理を示すフローチャートである。
【図１２】、
【図１３】、
【図１４】コンテナを紙面へ配置する際の基本配置を示す図である。
【図１５】図１１に示すステップＳ１１０７で判定される規定サイズを説明するための図である。
【図１６】、
【図１７】、
【図１８】図１１に示す処理に従ってコンテナの配置が行われる場合の具体例を示す図である。
【図１９】配置コンテナの補正処理を示すフローチャートである。
【図２０】配置コンテナの補正処理を説明するための図である。
【図２１】図１１に示すステップＳ１１１６での処理を示すフローチャートである。
【図２２】仮テンプレートの補正処理が行われる前の状態を示す図である。
【図２３】優先度の付与により補正が行われた後の仮テンプレート状態を示す図である。
【図２４】図１１に示すステップＳ１１０５にてコンテナが配置される時に使用される閾値を設定するためのＵＩの一例を示す図である。
【符号の説明】
【０１３４】
１００  印刷システム
１０１  コンピュータ
１０３  ユーザインタフェース
１０５  レイアウトエンジン
１０７  ネットワーク
１０９  プリントサーバ
１１３  プリンタ
１１５  ファイルサーバ
１１７  データベースサーバ
１１９  データベース
１２１  レイアウト編集アプリケーション
【図１】
2010117950.tif 000003
【図２】
2010117950.tif 000004
【図３】
2010117950.tif 000005
【図４】
2010117950.tif 000006
【図５】
2010117950.tif 000007
【図６】
2010117950.tif 000008
【図７】
2010117950.tif 000009
【図８】
2010117950.tif 000010
【図９】
2010117950.tif 000011
【図１０】
2010117950.tif 000012
【図１１】
2010117950.tif 000013
【図１２】
2010117950.tif 000014
【図１３】
2010117950.tif 000015
【図１４】
2010117950.tif 000016
【図１５】
2010117950.tif 000017
【図１６】
2010117950.tif 000018
【図１７】
2010117950.tif 000019
【図１８】
2010117950.tif 000020
【図１９】
2010117950.tif 000021
【図２０】
2010117950.tif 000022
【図２１】
2010117950.tif 000023
【図２２】
2010117950.tif 000024
【図２３】
2010117950.tif 000025
【図２４】
2010117950.tif 000026