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