バリアブルプリントシステム
【課題】 バリアブルプリントにおいて、サイズの異なるコンテンツを適切にレイアウトするための自動レイアウトシステムに関する手法である。自動レイアウトシステムには、予めテンプレートを定義し、テンプレートに従って適切なレイアウトを行う機能を持つ。しかし、自動レイアウト時に用紙の版形(A4版、B5版、USLetterサイズなど)やサイズが変更された場合、用紙に対してコンテナを相対的な位置(例えば中心に配置など)に保持することができない問題があった。
【解決手段】 そこで、自動レイアウト時に用紙に対して相対的な位置を保つ相対位置コンテナを用意する。相対位置コンテナは、用紙の版形やサイズが変更された場合に、用紙に対して相対的な位置を保ちながら、サイズ調整や他コンテナ間とのレイアウト調整を行う。
【解決手段】 そこで、自動レイアウト時に用紙に対して相対的な位置を保つ相対位置コンテナを用意する。相対位置コンテナは、用紙の版形やサイズが変更された場合に、用紙に対して相対的な位置を保ちながら、サイズ調整や他コンテナ間とのレイアウト調整を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動レイアウトシステムを備えたバリアブルプリントシステムにおける装置/媒体、およびレイアウト手法に関するものである。
【背景技術】
【0002】
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネット利用の普及によって、消費者のカスタマイズサービス指向が強くなっている。そして、それらの要因からCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【0003】
One−to−Oneマーケティングとはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものである。その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。さらに、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【0004】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナ等によりレイアウトを作成し、データベースとレイアウトを関連付けることにより達成していた。しかし、テキストおよびイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップおよびイメージの欠けが発生する。また逆にデータ量がコンテナサイズより小さいと隙間が空いてしまった。その問題を解決するために、自動レイアウトシステムが発明されている。自動レイアウトシステムはテキストおよびイメージのコンテナのサイズを可変に設定することが可能である。この自動レイアウトシステムを実現しており、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できるソフトウェアが存在する。またテキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術も存在する。しかしコンテナのサイズが大きくなった場合、同ドキュメント上の他のコンテナに重なってしまう問題が発生する。またフォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎる問題が発生しうる。
【0005】
それを解決するためのさらなる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合に、該コンテナに隣接したコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
【0006】
また、従来のバリアブルプリントシステムにおいて、1レコードを1ドキュメントにレイアウトする技術だけでなく、多レコードを1ドキュメントにレイアウトするマルチレコードの技術も知られている。この技術により、一人の顧客に対して、レイアウトするデータの数が異なることが可能になり、さらに一人一人に対してよりカスタマイズされたドキュメントを作成することができる。
【0007】
そして、上述のような「レイアウトデザイン装置」に対して、さらにフローエリアと称される機構を導入し、基本となる形状を定められたサブテンプレートを該フローエリア内部にフローさせる。そのことにより、複数の類似した項目をいくつもページ中の一定の領域内にフローさせる、という技術が特許文献2の「フローエリア設定手段を含んだ、自動レイアウトシステム」によって開示されている。
【0008】
また、フローエリアについて、1ページ上に複数のフローエリアを配置する、という技術が特許文献3および特許文献4によって開示されており、さらにその複数のフローエリア間をリンクして相互にサイズ調整させる、という技術は特許文献5によって開示されている。
【特許文献1】特開2000−48216号公報
【特許文献2】特開2005−216182号公報
【特許文献3】特開2006−221582号公報
【特許文献4】特開2005−216182号公報
【特許文献5】特開2006−74226号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
最近になって、テンプレートで選択した用紙の版形(A4版、B5版、USLetterサイズなど)やサイズとは異なる用紙への出力が可能となってきた。
【0010】
しかし、出力物の中には、用紙に対して相対的な位置にコンテンツを配置したいケースもある。以前は用紙の版形やサイズに変更がなかったため、コンテナの位置を固定にしていたが、異なる版形やサイズへの出力が可能となったために、相対的な位置を保つコンテナが必要となった。また、コンテンツ全体を左揃えや中央揃えにすれば済むわけではなく、他コンテナとのレイアウト調整をふまえて相対的な位置を保持する必要がある。
【課題を解決するための手段】
【0011】
レイアウトするコンテンツのサイズに応じて、動的にレイアウトを変化させることが可能なバリアブルプリントシステムであり、レイアウトの基準となるテンプレートを作成する手段と、ページのサイズを取得する手段と、データベースのコンテンツを取得する手段と、テンプレートに対して前記コンテンツを挿入し動的なレイアウトすることが可能なバリアブルプリントシステムにおいて、前記テンプレート作成時にページ上の相対的な位置を保持するコンテナを配置する手段と、前記動的なレイアウト時にページの相対的な位置を保ちながらレイアウトを行う手段を備えることを特徴とする。
【発明の効果】
【0012】
用紙の版形やサイズが変更された場合、あるいは、動的なレイアウト調整が行われた場合に、ページに対するコンテナの相対的な位置を保つことが可能となる。
【発明を実施するための最良の形態】
【0013】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0014】
本発明の実施例を適用するのに好適な実施例について説明を行う。
【0015】
本発明の実施例を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【0016】
図1はバリアブルデータドキュメントを印刷するシステム構成100を図示している。この中で示された方法は図2で詳しく説明される汎用コンピュータモジュール101で実践される。図2で記述されるプロセスは、コンピュータモジュール101内で実行され、システム100上で実施可能となるレイアウト編集アプリケーションプログラム121のようにソフトウェアの全体、あるいは一部分で実行される。特にレイアウト編集や必然的に起こる印刷のステップはコンピュータ101によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ101によって実行される。そのコンピュータでコンピュータプログラム製品を使用することによりドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置として作動することができる。
【0017】
コンピュータモジュール101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置を連結する。入力/出力インターフェイス138はコンピュータモジュール101をネットワーク接続107から接続してシステム100の他のコンピュータ装置につなげることができる。そのネットワーク接続107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。コンピュータモジュール101は典型的に少なくとも1つのプロセッサーユニット135、メモリユニット136、ビデオインタフェイス137、INPUT/OUTPUT(I/O)インターフェイス143を含んでいる。メモリユニット136は、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成される。また、I/Oインターフェイス143は、キーボード132やマウス133などの接続を行うためのインターフェイスである。記憶装置139は典型的にハードディスクドライブ140やフレキシブルディスクドライブ141を含んでいる。図には示されていないが磁気テープドライブなどもまた使用される可能性がある。CD−ROMドライブ142は不揮発性のデータソースとして提供される。コンピュータモジュール101はオペレーティングシステムや相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135から143を利用する。
【0018】
レイアウトアプリケーションプログラム121は典型的にハードディスクドライブ140に常駐し、プロセッサ135により実行、読み込み、コントロールされる。プログラム121の媒介記憶装置とネットワーク107からフェッチされるデータはハードディスクドライブ140に呼応して半導体メモリ136を使用する。いくつかのインスタンスではアプリケーションプログラム121がCD−ROMやフレキシブルディスク上でエンコードされ、対応するドライブ142や141を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム121はネットワーク接続107からユーザによって読み込まれるかもしれない。さらにソフトウェアは、様々なコンピュータ可読媒体からコンピュータモジュール101内にロードされる可能性がある。コンピュータ可読媒体の例としては、磁気テープ、ROM、集積回路、光磁気ディスク、PCMCIAカードのようなコンピュータ可読カードなどがある。さらに、無線、コンピュータモジュール101と他のデバイス間赤外線通信、Eメール通信、WEBサイト上の記録情報を持つインターネットやイントラネットなどの媒体も含まれる。
【0019】
またレイアウト編集と名づけられたアプリケーション121はバリアブルデータ印刷(VDP)を行うよう指示し、2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのコンポーネントはレイアウトエンジン105であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。2つめのコンポーネントであるユーザインターフェイス103はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。ユーザインターフェイス103とレイアウトエンジン105はコミュニケーションチャネル123を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー117上にある典型的なデータベース119である。ホストコンピュータ101はネットワーク接続107の手段によってデータベースサーバー117と通信する。バリアブルデータ印刷アプリケーション121はホストコンピュータ101か一般的に他のコンピュータで構成されるファイルサーバー115に保存されるドキュメントテンプレートを生成する。またバリアブルデータ印刷アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバー115に保存されるか、あるいはプリンタ113に直接印刷される。プリントサーバー109は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー109とプリンタ113は典型的な通信チャネル111を介して接続される。
【0020】
図3はエンジンサーバー327の追加を除き、レイアウトエンジン105の分離バージョン325を含む図1・図2の類似の図である。エンジンサーバー327は典型的なコンピュータである。ファイルサーバー115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン325によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェイス103を介して要求されるか、特定のレコードのみ印刷するように要求される。
【0021】
図4で参照されるように、ユーザインターフェイス101は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ401によって形成されたユーザインターフェイスを含んでいる。ウインドウ401は、メニューバー402とツールバー403、そしてマウス133の位置・動作によって場所を移動可能なワークエリア406とオプションのパレット411とカーソル/ポインタデバイス413から特徴付けされる。
【0022】
メニューバー402は周知の技術であり、メニューオプションの階層の下に拡張される多くのメニューアイテム404を持つ。ツールバー403は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタン等のウィジット405を持つ。オプションのルーラー408はワークエリア内のポインター、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
【0023】
パレット411はバリアブルデータを読み込んで表示するライブラリのような追加機能にアクセスするために使われる。パレット411は移動、リサイズ、クローズをするためのウインドウコントロール412を持つ。ツールバーエリア403は少なくとも、次のユーザ選択可能な『ボタン』を持つ。
【0024】
選択ツールボタン:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、(複数)コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
【0025】
イメージコンテナツールボタン:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
【0026】
テキストコンテナツールボタン:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
【0027】
リンクツールボタン:コンテナ間の距離をコントロールするために使われる。
【0028】
ワークエリア406はドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに、ドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがテンプレート上のコンテナに表示される。
【0029】
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。ワークエリア406はスクロールバー407とオプションのルーラー408とドキュメントテンプレート409に特徴付けられる。ドキュメントテンプレート409はテンプレート中のページが複数あることを示すことができる。
【0030】
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし1ページ内にフィットできなかった時、追加のページは自動的に作成される場合がある。それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン410である。
【0031】
また、図4には1ページのドキュメントテンプレート409上に表示することが可能なオブジェクトの例を含んでいる。それらは、多数のコンテナ451、452と、固定されていない辺453、そしてリンク454を持つ。
【0032】
コンテナは、ドキュメントテンプレート内の固定あるいは可変のテキストやイメージを持つスペースであり、他のコンテナやオブジェクトと相互に作用しながらレイアウトされる。コンテナはポインティングデバイス413を使い、ユーザインターフェイスで示され、移動やサイズ調整そして再作成されることができる。
【0033】
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
【0034】
コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースから取得することで、異なるドキュメントでは異なる内容になるかもしれない、という意味でダイナミックである。可変コンテンツはアニメーションのように時間的に変化するコンテンツを含むことは印刷に適合していないため意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じに表示される。しかし、可変コンテナのレイアウト動作の影響を受け、固定コンテンツといえども各ドキュメント上での位置は異なるかもしれない。
【0035】
コンテナは、コンテンツに適用される背景色、ボーダー、フォントスタイルのようなテキスト設定のような装飾機能を持っている。コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。可変コンテンツはデータソースから取得した特定のデータの表示をおこなう。コンテナのこの表示は例えば印刷されるか、スクリーン144上で表示されるか、またはその両方が可能である。
【0036】
コンテナはユーザインターフェイスを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。インターフェイスの要素は典型的にスクリーン144上に表示される、しかしそれらの要素はドキュメント上には印刷されない。ユーザインターフェイス103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示するし、またコンテナの設定の編集や表示を許すためのインターフェイス要素も表示する。
【0037】
現在の公表によれば、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけると共に)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントをレイアウトする表出をコントロールする主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値4インチ』である。また別の制約の例は『コンテナのコンテンツの左エッジは、どのドキュメントでも同じ水平位置で表示しなければならない』である。以下に記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
【0038】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定してよい。その代わりに、本検討はバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
【0039】
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつものドキュメントのレイアウトを一つのドキュメントテンプレートから生成するため、コンテナは多数のレイアウトの可能性と制約を指定・表示するためのユーザインターフェイスとして利用される。その表示とレイアウト動作については後述する。
【0040】
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナは固定およびあるいはデータベースから受け取る可変のテキストを持つ。イメージコンテナは、埋め込みのイメージあるいはデータベースから受け取る可変のイメージを持つ。
【0041】
新規テキストコンテナはテキストコンテナツールで、新規イメージコンテナはイメージコンテナツールで、四角形の領域をドラッグすることによって、ドキュメントテンプレート409上に作成される。テキストコンテナツールやイメージコンテナツールは、ウィジット405からマウス133でクリックして選択することで有効になる。
【0042】
あるいはコンテナは、同様に適切なツールをアクティブにした後に、ドキュメントテンプレート409上でクリックすることによって単純に作成されてもかまわない。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスが提供される。
【0043】
コンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される際の、仮想の境界線を定義するものである。コンテナをユーザインターフェイスとして利用するに際して、例えばコンテナの左辺は、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺として扱われる。同様に、コンテナの高さは生成されたドキュメントで関連付けられたコンテンツを表示可能な高さの制限として理解できるであろう。本発明では、ユーザインターフェイス103を通してコンテナの辺あるいは大きさを変化させることを前提としている。
【0044】
下記では、コンテンツのレイアウトを制限するために使われるいくつかのユーザインターフェイスとレイアウトの関係のルールを定義している。
【0045】
もしコンテナの左右の辺が実線なら、コンテナの幅は固定である。コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。しかしコンテナの高さは変わる可能性がある。もしコンテナの上下の辺が実線なら、コンテナの高さは固定である。もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。もし距離の制約が固定なら、指定された距離は全てのドキュメントで同じになる。もしコンテナの実線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナによって押され、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【0046】
固定の反対は、辺、位置、あるいはドキュメント制約がドキュメントごとに変化するかもしれないことを意味している可変である。可変を実現するためのユーザインターフェイスとレイアウトの関係を示すルールは、例えば以下のようである。
【0047】
もしコンテナの左右の辺が点線なら、コンテナの幅は可変である。コンテナの幅が可変なら、関連付けられたコンテンツに割り当てられる幅は、ドキュメントごとに変化する。
【0048】
もしコンテナの上下の辺が点線なら、コンテナの高さは可変である。もしコンテナの高さが可変なら、関連付けられたコンテンツに割り当てられる高さは、ドキュメントごとに変化する。もし距離の制約が可変なら、指定された距離はドキュメントごとに変化する可能性がある。距離の制約に対する設定により、最大長・最小長の制限の枠内でコンテナの距離を調整するレイアウトを行うことができる。もしコンテナの点線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナを押し、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【0049】
図5Aで、コンテナ501は幅が可変である。この場合、辺503は実線で表現され、可変の辺504は点線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示す、オプションのインジケーターである。
【0050】
図5Bでは、コンテナ501は幅・高さ両方が可変である。
【0051】
図5Cで、コンテナ501も、幅・高さ両方が可変である。
【0052】
図6はリンクの設定方法のUI例を示している。
【0053】
まず、リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)を作成する。2つのコンテナを作成してリンクを設定する場合の例を示している。次に、前述したリンクツールを選択した状態にする。図6は、コンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を示している。図6のA〜図6のCを順に説明していく。
【0054】
図6−Aの0601と0602は、前述した図4の451と452と同じであり、固定されている辺を意味する。0603はマウスポインタを意味している。まず、リンクを設定する片方のコンテナをクリックして選択する。次に図6−Bで示されるように、もう片方のコンテナまでマウスポインタを移動して、クリックする。図6−Bの0604は図7−Aでクリックをした位置と移動したマウスポインタを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すUIである。図6−Bで2度目のクリックが終わった後、設定した場所に0605で示されるリンクUIが表示され、コンテナは図7−Cの状態になる。
【0055】
0606は、点線で示されている辺であり、前述した通り可変の辺を示している。このようなデザインでは、左のコンテナ0601は右方向に可変のサイズをとれる。また右のコンテナ0602は左方向に可変のサイズをとれる。そのあいだをリンクで接続したことにより、左右のコンテナはその間の距離を保ったまま、相互にサイズを可変に調整するように動作する。
【0056】
図7−Aはレイアウト計算のフローを示している。
【0057】
まず、プレビューモードを選択する(0701)。前述した自動レイアウトシステムでは、レイアウトを作成するレイアウトモードと、レイアウト結果をプレビューするプレビューモードに分けられる。レイアウトモードではコンテナの作成やそのコンテナ間の関連付けを行う。また、プレビューモードでは作成したレイアウトにデータベース上の実データレコードを挿入し、実際にデータ値が挿入された後のレイアウト結果をプレビューすることができる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。プレビューモードは、表示上でのレイアウト計算であるが、印刷する場合においてもまったく同じ処理でレイアウトを計算する。
【0058】
プレビューモードになったら、プレビューするレコードを選択して挿入する(0702)。レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う。(0703)。処理0703で計算されたレイアウトを表示する(0704)。プレビューモードで、ユーザの入力によって他のレコードにプレビューを切り替えるかどうかを判断する(0705)。処理0705で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(0707)。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(0706)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理0705、0707は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【0059】
図7−Bは前述の処理703のレイアウト計算を詳細に示したフロー図である。また、図8はそのときのUI表示例を示した図である。
【0060】
まず、レイアウトを計算するために関連しあうコンテナの集合を求める(0710)。レイアウト計算は、リンクによって関連付けられたコンテナを一つの集合として計算を行う。0710で求めたコンテナの集合から、レイアウトを計算するために一つを選択する(0711)。そして、選択したコンテナの集合について、レイアウトの計算を行う。ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(0712)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされた結果のサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(0713)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制約のことであり、コンテナのサイズと位置、辺の状態、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、0711〜0713のステップをページ上のすべての集合について施し、ページ全体のレイアウトを計算する(0714)。
【0061】
図8はレイアウト計算時のUI例である。
【0062】
図8−Aは、あるレコードが挿入されレイアウトが決定されている状態を表している。0801と0802は固定された辺、0803は可変の辺、0804と0805は可変の辺の変化方向を示している矢印、0806はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図8−Bは図8−Aの状態に新しいコンテンツのサイズを重ねて示している。0807はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図8−Cはレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図8−Cで示されるように、図8−Bで示した挿入されるコンテンツサイズ(0807)と計算後のコンテンツサイズ(0808)は、双方において同等な差異がある。
【0063】
マルチレコードについて、概要を説明する。
【0064】
図9は、マルチレコードとそのレイアウト方法の概要を示した図である。0901はドキュメント、0902はページ、0903はサブテンプレート、0904はデータベースを示している。0904で示すデータベースを見てみると、No1〜7のデータが表示されている。1レコード1ドキュメントのバリアブルプリントでは、7つレコードがあるので、この場合7ドキュメントが作成される。しかし、多レコード1ドキュメントのマルチレコードをサポートするバリアブルプリントでは、次のような処理を行う。まずマルチレコードを指定するカラムをユーザが任意に指定する、この例ではフィールド名:Nameが指定されたものとする。すると、そのフィールド名が同じレコードは、1ドキュメントにレイアウトされるレコードであると認識する。この例では、No1〜4のレコードはNameがTomであるため、同じドキュメントにレイアウトされ、No5〜7のレコードは、NameがNancyであるためTom用とは異なる、同じドキュメントにレイアウトされる。
【0065】
図10は、上記図4で説明されるルールに基づくコンテナの辺の状態を16通り示している。一般的に、コンテナの辺の状態はドキュメントテンプレートのデザインの手助けとして表示される要素であるため、印刷物には描画されない。コンテナの制約として設定される幅・高さの最小値・最大値の設定値は、副次的なダイアログウィンドウ411に表示される。
【0066】
図11から図15を用いて、相対位置コンテナの基本パターンとレイアウト時の動作について説明する。
【0067】
図11は、相対位置コンテナのパターンを示した図である。ページに対して相対位置を決定するためには、コンテナ上に基準点を設定する必要がある。その基準点の設定種別をパターン別に列挙する。1110はコンテナの中心を基準点(1111)とする相対位置コンテナである。1120はコンテナの辺を基準とする相対位置コンテナであり、上辺を基準とした例を示している。辺を基準とする場合は辺の中心が基準点(1121)となる。1130は角を基準点とする相対位置コンテナであり、左上の角を基準点(1131)とした例を示している。1140は任意の点を基準点(1141)とする相対位置コンテナである。基準点1141はコンテナ1140の枠線を含む枠内の任意点として設定することができる。
【0068】
図12は、中心を基準点とする相対位置コンテナ1110に関するレイアウト時のルールを示す。相対位置コンテナ1110は固定サイズ、もしくは、基準点1111を中心として上下左右対称に拡大または縮小することが可能である。点線のコンテナ1201は拡大した場合の例、点線のコンテナ1202は縮小した場合の例である。固定サイズの場合は、1110の位置に固定される。線1203は上下左右に対称となることを示す補助線である。
【0069】
図13は、辺を基準とする相対位置コンテナ1120に関するレイアウト時のルールを示す。相対位置コンテナ1120は基準となる辺以外の辺が伸縮可能となる。点線のコンテナ1301は拡大した場合の例、点線のコンテナ1302は縮小した場合の例である。矢印1303は伸縮する方向を示す補助記号である。水平方向に伸縮する場合は、上辺に対する相対位置を保つため、基準点1121が中心となるように左右の比率を保って伸縮する。なお、図13のような上辺または下辺が基準となる場合には、水平方向ついて左右の比率を保って伸縮するが、左辺または右辺が基準となる場合には、垂直方向ついて上下の比率を保って伸縮する。
【0070】
図14は、角を基準点とする相対位置コンテナ1130に関するレイアウト時のルールを示す。相対位置コンテナ1130は基準となる角を挟む二辺以外の辺が伸縮可能となる。点線のコンテナ1401は拡大した場合の例、点線のコンテナ1402は縮小した場合の例である。矢印1303は伸縮する方向を示す補助記号である。
【0071】
図15は、任意の点を基準点とする相対位置コンテナ1140に関するレイアウト時のルールを示す。相対位置コンテナ1140は固定サイズ、もしくは、基準点1141を中心として上下左右の比率を保って拡大または縮小することが可能である。点線のコンテナ1501は拡大した場合の例、点線のコンテナ1502は縮小した場合の例である。固定サイズの場合は、1140の位置に固定される。線1203は上下左右の比率が保たれることを示す補助線である。
【0072】
図16は、テンプレート作成アプリケーションにおける、相対位置コンテナの設定ダイアログを示す。ダイアログ1600は、図4におけるダイアログウィンドウ411と同様の表示となる。プロパティ1601はコンテナのサイズを幅と高さで示している。プロパティ1602は相対位置コンテナのパターンを設定するコンボボックスである。コンボボックス1602の設定項目には、中心/上辺/底辺/左辺/右辺/左上角/右上角/左下角/右下角/ユーザ指定がある。プロパティ1603は基準点のX軸上の位置を示すものであり、基準点から左の長さと右の長さが表示されている。左右の長さを加算すると用紙の幅から余白を除いた長さとなる。プロパティ1604は基準点のY軸上の位置を示すものであり、基準点から上の長さと下の長さが表示されている。上下の長さを加算すると用紙の高さから余白を除いた長さとなる。プロパティ1603および1604はアプリケーション上で配置された位置と基準点を元に自動で算出され、表示される。ただし、コンボボックス1602でユーザ指定を設定した場合のみ、プロパティ1603とプロパティ1604の長さを入力することが可能となる。OKボタン1605を押すと設定が適用されてダイアログが閉じる。キャンセルボタン1606を押すと設定が適用されずにダイアログが閉じる。
【0073】
図17は、相対位置コンテナを含むテンプレートの作成例であり、テンプレートは図4で説明のテンプレート作成アプリケーションで作成される。
1700はテンプレートの用紙イメージである。出力時に用紙サイズが変更された場合に再レイアウト処理が行われるが、テンプレート作成時に基準となる用紙サイズを指定しておく。1701はページコンテナである。ページコンテナのサイズは用紙サイズから指定された余白を除いた印刷領域に等しい。出力時、ページコンテナは用紙サイズが変更されたときに印刷領域を調整する働きを持つ。ページコンテナと内部のコンテナはページコネクタ(1702)によって結合されており、ページコンテナのサイズ変更に作用して内部のコンテナがレイアウト調整される。1703はコンテナ、1704はコンテナとコンテナをリンクするコネクタである。
【0074】
1705は相対位置コンテナで上辺を基準としている。相対位置コンテナは、他のコンテナとコネクタによってリンクしている。
【0075】
次に、図17と図18を用いて動的に行われるレイアウト調整について説明する。図18は相対位置コンテナを含むレイアウト調整処理のフローチャートである。
【0076】
データを出力する際、まず、用紙サイズおよび余白サイズを指定する(S1801)。指定方法は動作環境に応じて異なる。例えば、クライアントアプリケーションにおいて、クライアントPC上でユーザが入力する場合や、サーバーアプリケーションにおいて、サーバーに保管されているデータ属性を参照する場合が考えられる。
【0077】
用紙サイズと余白が指定されると、ページコンテナ1701のサイズが決定される(S1802)。
【0078】
ページコンテナのサイズが決定されると、サイズ変動に対するコンテナの位置調整が行われる(S1803)。コンテナはページコンテナの枠内で、ページコネクタによって位置調整が行われる。ページコネクタの調整動作はコネクタと基本的に同様であるが、ページコンテナ側のエッジは必ず固定エッジとして扱われ、コンテナ側のエッジは必ず可変エッジとして扱われる。また、ページコネクタとコネクタには固定と可変の2種類がある。ページコネクタが固定の場合、コンテナ側のエッジはコネクタに指定された距離に従って位置が決定される。相対位置コンテナはページコネクタではなく、相対的な基準点によってページコンテナとリンクしている。ページコンテナのサイズ変更に従って、上下左右の比率を考慮して基準点の位置を移動させる。
【0079】
次に、コンテナへコンテンツデータの流し込み(S1804)が行われ、コンテナのレイアウト調整が実行される。レイアウト調整では先に相対位置コンテナが調整される。これは、相対位置コンテナの基準点の位置がS1803の処理で固定されるためであり、相対位置コンテナを基準として全体のレイアウト調整を展開することができるためである。
【0080】
相対位置コンテナのレイアウト調整(S1806)は、図12から図15で説明した動作に基づいて行われる。相対位置コンテナにコンテンツが収まらない場合(S1807)はコンテンツを縮小するか、エラーと判断してレイアウト調整を終了するかの処理が行われる(S1808)。コンテンツを縮小する例として、テキストであればフォントサイズを小さくする手法、イメージでは縦横比を維持して縮小する手法や、コンテナサイズに合わせて縮小する手法がある。エラーと判定する例としては、クライアントPCの画面にエラーメッセージダイアログを表示する例やサーバーPCでログを出力する例がある。
【0081】
相対位置コンテナは複数存在する場合もある。そのため複数の相対位置コンテナに関してレイアウト調整が行われる(S1805からS1811間の処理)。相対位置コンテナ同士が重なった場合(S1809)は、さらにコンテンツを縮小するか、エラーと判断してレイアウト調整を終了するかの処理が行われる(S1810)。
【0082】
相対位置コンテナのレイアウト調整が完了後、その他のコンテナおよびコネクタの調整が行われる(S1812)。S1812におけるレイアウト調整は、図1〜図10で述べたレイアウト調整手法に基づいて行われる。ただし、相対位置コンテナとコンテナが重なるような場合は、S1810と同様の処理が行われる。
【0083】
なお、S1809、S1810による重なり防止処理を行わない実施例もある。そのようなケースでは重なった場合の上下関係を定義しておく。また、テンプレートにレイヤを持たせることもある。別レイヤで定義された場合は、各レイヤでレイアウト調整が行われるため、出力結果においてコンテンツが重なって出力される場合もある。
【0084】
図19、図20を用いて相対位置コンテナに関連する出力イメージについて説明する。図19、図20は、いずれも図17のテンプレートを用いて出力したイメージである。なお、コンテナの枠線は説明の便宜上記載している。
【0085】
図19は、テンプレートの用紙と同様のA4縦の用紙へ出力したイメージである。相対位置コンテナに格納されたイメージ1901はテンプレートと同様の位置を保っている。他のテキストコンテナに関してもコンテンツサイズに合わせてコンテナのサイズを調整している。
【0086】
図20は、A4横の用紙へ出力したイメージである。相対位置コンテナに格納されたイメージ2001は、用紙に対して相対的な位置を保ち、中央上方に配置される。テキストコンテンツ2002、2003、2004、2005は、ページコンテナ1701のサイズ変更、および、相対位置コンテナ2001とコネクタの調整が行われることによって左右へ移動する。テキストコンテンツ2006、2007は、ページコンテナ1701のサイズ変更、および、相対位置コンテナ2001との重なりを防ぐ処理によって左右のスペースに配置される。重なり防止処理に関しては、予めコンテナ間のマージンを設定しておくことで、コンテナ間の間隔をとることも可能である。コンテンツ2008は固定サイズのコンテナとして定義され、ページコンテナ1701と固定のページコネクタで接続されている。そのため、ページコンテナ1701のサイズ変更に伴って、右下へ移動する。
【0087】
(その他の実施例)
実施例1では出力時に用紙サイズを調整する例を挙げたが、テンプレート作成時に用紙を変更した場合にも適用することが可能である。コンテンツデータが設定されないため、図18のフローチャートにおいてS1804、S1807、S1808の工程はない。コンテナのルールに従って、コンテナのサイズ変更が最小限となるように再レイアウトが行われる。
【図面の簡単な説明】
【0088】
【図1】本発明のネットワーク構成図。
【図2】本発明のコンピュータシステム構成図。
【図3】本発明のコンピュータモジュールの概略図。
【図4】本発明におけるテンプレート作成アプリケーション例。
【図5】本発明の典型的なコンテナルール。
【図6】本発明のリンクを作成するUI図例。
【図7】本発明におけるレイアウト計算のフロー。
【図8】本発明における図7のフローに対応するUI例。
【図9】本発明におけるマルチレコードの概要図。
【図10】本発明のインターフェイスの一例によるコンテナの表現の16パターン。
【図11】本発明における相対位置コンテナのパターン。
【図12】本発明における相対位置コンテナ(中心点指定)のルール。
【図13】本発明における相対位置コンテナ(辺指定)のルール。
【図14】本発明における相対位置コンテナ(角指定)のルール。
【図15】本発明における相対位置コンテナ(任意点指定)のルール。
【図16】本発明における相対位置コンテナの設定ダイアログ。
【図17】本発明におけるテンプレート作成例。
【図18】本発明におけるレイアウト調整のフローチャート。
【図19】本発明におけるレイアウト調整後の出力例(A4縦)。
【図20】本発明におけるレイアウト調整後の出力例(A4横)。
【技術分野】
【0001】
本発明は、自動レイアウトシステムを備えたバリアブルプリントシステムにおける装置/媒体、およびレイアウト手法に関するものである。
【背景技術】
【0002】
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネット利用の普及によって、消費者のカスタマイズサービス指向が強くなっている。そして、それらの要因からCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【0003】
One−to−Oneマーケティングとはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものである。その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。さらに、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【0004】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナ等によりレイアウトを作成し、データベースとレイアウトを関連付けることにより達成していた。しかし、テキストおよびイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップおよびイメージの欠けが発生する。また逆にデータ量がコンテナサイズより小さいと隙間が空いてしまった。その問題を解決するために、自動レイアウトシステムが発明されている。自動レイアウトシステムはテキストおよびイメージのコンテナのサイズを可変に設定することが可能である。この自動レイアウトシステムを実現しており、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できるソフトウェアが存在する。またテキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術も存在する。しかしコンテナのサイズが大きくなった場合、同ドキュメント上の他のコンテナに重なってしまう問題が発生する。またフォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎる問題が発生しうる。
【0005】
それを解決するためのさらなる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合に、該コンテナに隣接したコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
【0006】
また、従来のバリアブルプリントシステムにおいて、1レコードを1ドキュメントにレイアウトする技術だけでなく、多レコードを1ドキュメントにレイアウトするマルチレコードの技術も知られている。この技術により、一人の顧客に対して、レイアウトするデータの数が異なることが可能になり、さらに一人一人に対してよりカスタマイズされたドキュメントを作成することができる。
【0007】
そして、上述のような「レイアウトデザイン装置」に対して、さらにフローエリアと称される機構を導入し、基本となる形状を定められたサブテンプレートを該フローエリア内部にフローさせる。そのことにより、複数の類似した項目をいくつもページ中の一定の領域内にフローさせる、という技術が特許文献2の「フローエリア設定手段を含んだ、自動レイアウトシステム」によって開示されている。
【0008】
また、フローエリアについて、1ページ上に複数のフローエリアを配置する、という技術が特許文献3および特許文献4によって開示されており、さらにその複数のフローエリア間をリンクして相互にサイズ調整させる、という技術は特許文献5によって開示されている。
【特許文献1】特開2000−48216号公報
【特許文献2】特開2005−216182号公報
【特許文献3】特開2006−221582号公報
【特許文献4】特開2005−216182号公報
【特許文献5】特開2006−74226号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
最近になって、テンプレートで選択した用紙の版形(A4版、B5版、USLetterサイズなど)やサイズとは異なる用紙への出力が可能となってきた。
【0010】
しかし、出力物の中には、用紙に対して相対的な位置にコンテンツを配置したいケースもある。以前は用紙の版形やサイズに変更がなかったため、コンテナの位置を固定にしていたが、異なる版形やサイズへの出力が可能となったために、相対的な位置を保つコンテナが必要となった。また、コンテンツ全体を左揃えや中央揃えにすれば済むわけではなく、他コンテナとのレイアウト調整をふまえて相対的な位置を保持する必要がある。
【課題を解決するための手段】
【0011】
レイアウトするコンテンツのサイズに応じて、動的にレイアウトを変化させることが可能なバリアブルプリントシステムであり、レイアウトの基準となるテンプレートを作成する手段と、ページのサイズを取得する手段と、データベースのコンテンツを取得する手段と、テンプレートに対して前記コンテンツを挿入し動的なレイアウトすることが可能なバリアブルプリントシステムにおいて、前記テンプレート作成時にページ上の相対的な位置を保持するコンテナを配置する手段と、前記動的なレイアウト時にページの相対的な位置を保ちながらレイアウトを行う手段を備えることを特徴とする。
【発明の効果】
【0012】
用紙の版形やサイズが変更された場合、あるいは、動的なレイアウト調整が行われた場合に、ページに対するコンテナの相対的な位置を保つことが可能となる。
【発明を実施するための最良の形態】
【0013】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0014】
本発明の実施例を適用するのに好適な実施例について説明を行う。
【0015】
本発明の実施例を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【0016】
図1はバリアブルデータドキュメントを印刷するシステム構成100を図示している。この中で示された方法は図2で詳しく説明される汎用コンピュータモジュール101で実践される。図2で記述されるプロセスは、コンピュータモジュール101内で実行され、システム100上で実施可能となるレイアウト編集アプリケーションプログラム121のようにソフトウェアの全体、あるいは一部分で実行される。特にレイアウト編集や必然的に起こる印刷のステップはコンピュータ101によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ101によって実行される。そのコンピュータでコンピュータプログラム製品を使用することによりドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置として作動することができる。
【0017】
コンピュータモジュール101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置を連結する。入力/出力インターフェイス138はコンピュータモジュール101をネットワーク接続107から接続してシステム100の他のコンピュータ装置につなげることができる。そのネットワーク接続107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。コンピュータモジュール101は典型的に少なくとも1つのプロセッサーユニット135、メモリユニット136、ビデオインタフェイス137、INPUT/OUTPUT(I/O)インターフェイス143を含んでいる。メモリユニット136は、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成される。また、I/Oインターフェイス143は、キーボード132やマウス133などの接続を行うためのインターフェイスである。記憶装置139は典型的にハードディスクドライブ140やフレキシブルディスクドライブ141を含んでいる。図には示されていないが磁気テープドライブなどもまた使用される可能性がある。CD−ROMドライブ142は不揮発性のデータソースとして提供される。コンピュータモジュール101はオペレーティングシステムや相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135から143を利用する。
【0018】
レイアウトアプリケーションプログラム121は典型的にハードディスクドライブ140に常駐し、プロセッサ135により実行、読み込み、コントロールされる。プログラム121の媒介記憶装置とネットワーク107からフェッチされるデータはハードディスクドライブ140に呼応して半導体メモリ136を使用する。いくつかのインスタンスではアプリケーションプログラム121がCD−ROMやフレキシブルディスク上でエンコードされ、対応するドライブ142や141を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム121はネットワーク接続107からユーザによって読み込まれるかもしれない。さらにソフトウェアは、様々なコンピュータ可読媒体からコンピュータモジュール101内にロードされる可能性がある。コンピュータ可読媒体の例としては、磁気テープ、ROM、集積回路、光磁気ディスク、PCMCIAカードのようなコンピュータ可読カードなどがある。さらに、無線、コンピュータモジュール101と他のデバイス間赤外線通信、Eメール通信、WEBサイト上の記録情報を持つインターネットやイントラネットなどの媒体も含まれる。
【0019】
またレイアウト編集と名づけられたアプリケーション121はバリアブルデータ印刷(VDP)を行うよう指示し、2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのコンポーネントはレイアウトエンジン105であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。2つめのコンポーネントであるユーザインターフェイス103はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。ユーザインターフェイス103とレイアウトエンジン105はコミュニケーションチャネル123を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー117上にある典型的なデータベース119である。ホストコンピュータ101はネットワーク接続107の手段によってデータベースサーバー117と通信する。バリアブルデータ印刷アプリケーション121はホストコンピュータ101か一般的に他のコンピュータで構成されるファイルサーバー115に保存されるドキュメントテンプレートを生成する。またバリアブルデータ印刷アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバー115に保存されるか、あるいはプリンタ113に直接印刷される。プリントサーバー109は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー109とプリンタ113は典型的な通信チャネル111を介して接続される。
【0020】
図3はエンジンサーバー327の追加を除き、レイアウトエンジン105の分離バージョン325を含む図1・図2の類似の図である。エンジンサーバー327は典型的なコンピュータである。ファイルサーバー115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン325によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェイス103を介して要求されるか、特定のレコードのみ印刷するように要求される。
【0021】
図4で参照されるように、ユーザインターフェイス101は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ401によって形成されたユーザインターフェイスを含んでいる。ウインドウ401は、メニューバー402とツールバー403、そしてマウス133の位置・動作によって場所を移動可能なワークエリア406とオプションのパレット411とカーソル/ポインタデバイス413から特徴付けされる。
【0022】
メニューバー402は周知の技術であり、メニューオプションの階層の下に拡張される多くのメニューアイテム404を持つ。ツールバー403は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタン等のウィジット405を持つ。オプションのルーラー408はワークエリア内のポインター、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
【0023】
パレット411はバリアブルデータを読み込んで表示するライブラリのような追加機能にアクセスするために使われる。パレット411は移動、リサイズ、クローズをするためのウインドウコントロール412を持つ。ツールバーエリア403は少なくとも、次のユーザ選択可能な『ボタン』を持つ。
【0024】
選択ツールボタン:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、(複数)コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
【0025】
イメージコンテナツールボタン:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
【0026】
テキストコンテナツールボタン:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
【0027】
リンクツールボタン:コンテナ間の距離をコントロールするために使われる。
【0028】
ワークエリア406はドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに、ドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがテンプレート上のコンテナに表示される。
【0029】
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。ワークエリア406はスクロールバー407とオプションのルーラー408とドキュメントテンプレート409に特徴付けられる。ドキュメントテンプレート409はテンプレート中のページが複数あることを示すことができる。
【0030】
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし1ページ内にフィットできなかった時、追加のページは自動的に作成される場合がある。それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン410である。
【0031】
また、図4には1ページのドキュメントテンプレート409上に表示することが可能なオブジェクトの例を含んでいる。それらは、多数のコンテナ451、452と、固定されていない辺453、そしてリンク454を持つ。
【0032】
コンテナは、ドキュメントテンプレート内の固定あるいは可変のテキストやイメージを持つスペースであり、他のコンテナやオブジェクトと相互に作用しながらレイアウトされる。コンテナはポインティングデバイス413を使い、ユーザインターフェイスで示され、移動やサイズ調整そして再作成されることができる。
【0033】
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
【0034】
コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースから取得することで、異なるドキュメントでは異なる内容になるかもしれない、という意味でダイナミックである。可変コンテンツはアニメーションのように時間的に変化するコンテンツを含むことは印刷に適合していないため意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じに表示される。しかし、可変コンテナのレイアウト動作の影響を受け、固定コンテンツといえども各ドキュメント上での位置は異なるかもしれない。
【0035】
コンテナは、コンテンツに適用される背景色、ボーダー、フォントスタイルのようなテキスト設定のような装飾機能を持っている。コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。可変コンテンツはデータソースから取得した特定のデータの表示をおこなう。コンテナのこの表示は例えば印刷されるか、スクリーン144上で表示されるか、またはその両方が可能である。
【0036】
コンテナはユーザインターフェイスを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。インターフェイスの要素は典型的にスクリーン144上に表示される、しかしそれらの要素はドキュメント上には印刷されない。ユーザインターフェイス103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示するし、またコンテナの設定の編集や表示を許すためのインターフェイス要素も表示する。
【0037】
現在の公表によれば、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけると共に)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントをレイアウトする表出をコントロールする主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値4インチ』である。また別の制約の例は『コンテナのコンテンツの左エッジは、どのドキュメントでも同じ水平位置で表示しなければならない』である。以下に記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
【0038】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定してよい。その代わりに、本検討はバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
【0039】
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつものドキュメントのレイアウトを一つのドキュメントテンプレートから生成するため、コンテナは多数のレイアウトの可能性と制約を指定・表示するためのユーザインターフェイスとして利用される。その表示とレイアウト動作については後述する。
【0040】
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナは固定およびあるいはデータベースから受け取る可変のテキストを持つ。イメージコンテナは、埋め込みのイメージあるいはデータベースから受け取る可変のイメージを持つ。
【0041】
新規テキストコンテナはテキストコンテナツールで、新規イメージコンテナはイメージコンテナツールで、四角形の領域をドラッグすることによって、ドキュメントテンプレート409上に作成される。テキストコンテナツールやイメージコンテナツールは、ウィジット405からマウス133でクリックして選択することで有効になる。
【0042】
あるいはコンテナは、同様に適切なツールをアクティブにした後に、ドキュメントテンプレート409上でクリックすることによって単純に作成されてもかまわない。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスが提供される。
【0043】
コンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される際の、仮想の境界線を定義するものである。コンテナをユーザインターフェイスとして利用するに際して、例えばコンテナの左辺は、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺として扱われる。同様に、コンテナの高さは生成されたドキュメントで関連付けられたコンテンツを表示可能な高さの制限として理解できるであろう。本発明では、ユーザインターフェイス103を通してコンテナの辺あるいは大きさを変化させることを前提としている。
【0044】
下記では、コンテンツのレイアウトを制限するために使われるいくつかのユーザインターフェイスとレイアウトの関係のルールを定義している。
【0045】
もしコンテナの左右の辺が実線なら、コンテナの幅は固定である。コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。しかしコンテナの高さは変わる可能性がある。もしコンテナの上下の辺が実線なら、コンテナの高さは固定である。もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。もし距離の制約が固定なら、指定された距離は全てのドキュメントで同じになる。もしコンテナの実線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナによって押され、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【0046】
固定の反対は、辺、位置、あるいはドキュメント制約がドキュメントごとに変化するかもしれないことを意味している可変である。可変を実現するためのユーザインターフェイスとレイアウトの関係を示すルールは、例えば以下のようである。
【0047】
もしコンテナの左右の辺が点線なら、コンテナの幅は可変である。コンテナの幅が可変なら、関連付けられたコンテンツに割り当てられる幅は、ドキュメントごとに変化する。
【0048】
もしコンテナの上下の辺が点線なら、コンテナの高さは可変である。もしコンテナの高さが可変なら、関連付けられたコンテンツに割り当てられる高さは、ドキュメントごとに変化する。もし距離の制約が可変なら、指定された距離はドキュメントごとに変化する可能性がある。距離の制約に対する設定により、最大長・最小長の制限の枠内でコンテナの距離を調整するレイアウトを行うことができる。もしコンテナの点線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナを押し、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【0049】
図5Aで、コンテナ501は幅が可変である。この場合、辺503は実線で表現され、可変の辺504は点線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示す、オプションのインジケーターである。
【0050】
図5Bでは、コンテナ501は幅・高さ両方が可変である。
【0051】
図5Cで、コンテナ501も、幅・高さ両方が可変である。
【0052】
図6はリンクの設定方法のUI例を示している。
【0053】
まず、リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)を作成する。2つのコンテナを作成してリンクを設定する場合の例を示している。次に、前述したリンクツールを選択した状態にする。図6は、コンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を示している。図6のA〜図6のCを順に説明していく。
【0054】
図6−Aの0601と0602は、前述した図4の451と452と同じであり、固定されている辺を意味する。0603はマウスポインタを意味している。まず、リンクを設定する片方のコンテナをクリックして選択する。次に図6−Bで示されるように、もう片方のコンテナまでマウスポインタを移動して、クリックする。図6−Bの0604は図7−Aでクリックをした位置と移動したマウスポインタを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すUIである。図6−Bで2度目のクリックが終わった後、設定した場所に0605で示されるリンクUIが表示され、コンテナは図7−Cの状態になる。
【0055】
0606は、点線で示されている辺であり、前述した通り可変の辺を示している。このようなデザインでは、左のコンテナ0601は右方向に可変のサイズをとれる。また右のコンテナ0602は左方向に可変のサイズをとれる。そのあいだをリンクで接続したことにより、左右のコンテナはその間の距離を保ったまま、相互にサイズを可変に調整するように動作する。
【0056】
図7−Aはレイアウト計算のフローを示している。
【0057】
まず、プレビューモードを選択する(0701)。前述した自動レイアウトシステムでは、レイアウトを作成するレイアウトモードと、レイアウト結果をプレビューするプレビューモードに分けられる。レイアウトモードではコンテナの作成やそのコンテナ間の関連付けを行う。また、プレビューモードでは作成したレイアウトにデータベース上の実データレコードを挿入し、実際にデータ値が挿入された後のレイアウト結果をプレビューすることができる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。プレビューモードは、表示上でのレイアウト計算であるが、印刷する場合においてもまったく同じ処理でレイアウトを計算する。
【0058】
プレビューモードになったら、プレビューするレコードを選択して挿入する(0702)。レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う。(0703)。処理0703で計算されたレイアウトを表示する(0704)。プレビューモードで、ユーザの入力によって他のレコードにプレビューを切り替えるかどうかを判断する(0705)。処理0705で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(0707)。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(0706)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理0705、0707は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【0059】
図7−Bは前述の処理703のレイアウト計算を詳細に示したフロー図である。また、図8はそのときのUI表示例を示した図である。
【0060】
まず、レイアウトを計算するために関連しあうコンテナの集合を求める(0710)。レイアウト計算は、リンクによって関連付けられたコンテナを一つの集合として計算を行う。0710で求めたコンテナの集合から、レイアウトを計算するために一つを選択する(0711)。そして、選択したコンテナの集合について、レイアウトの計算を行う。ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(0712)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされた結果のサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(0713)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制約のことであり、コンテナのサイズと位置、辺の状態、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、0711〜0713のステップをページ上のすべての集合について施し、ページ全体のレイアウトを計算する(0714)。
【0061】
図8はレイアウト計算時のUI例である。
【0062】
図8−Aは、あるレコードが挿入されレイアウトが決定されている状態を表している。0801と0802は固定された辺、0803は可変の辺、0804と0805は可変の辺の変化方向を示している矢印、0806はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図8−Bは図8−Aの状態に新しいコンテンツのサイズを重ねて示している。0807はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図8−Cはレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図8−Cで示されるように、図8−Bで示した挿入されるコンテンツサイズ(0807)と計算後のコンテンツサイズ(0808)は、双方において同等な差異がある。
【0063】
マルチレコードについて、概要を説明する。
【0064】
図9は、マルチレコードとそのレイアウト方法の概要を示した図である。0901はドキュメント、0902はページ、0903はサブテンプレート、0904はデータベースを示している。0904で示すデータベースを見てみると、No1〜7のデータが表示されている。1レコード1ドキュメントのバリアブルプリントでは、7つレコードがあるので、この場合7ドキュメントが作成される。しかし、多レコード1ドキュメントのマルチレコードをサポートするバリアブルプリントでは、次のような処理を行う。まずマルチレコードを指定するカラムをユーザが任意に指定する、この例ではフィールド名:Nameが指定されたものとする。すると、そのフィールド名が同じレコードは、1ドキュメントにレイアウトされるレコードであると認識する。この例では、No1〜4のレコードはNameがTomであるため、同じドキュメントにレイアウトされ、No5〜7のレコードは、NameがNancyであるためTom用とは異なる、同じドキュメントにレイアウトされる。
【0065】
図10は、上記図4で説明されるルールに基づくコンテナの辺の状態を16通り示している。一般的に、コンテナの辺の状態はドキュメントテンプレートのデザインの手助けとして表示される要素であるため、印刷物には描画されない。コンテナの制約として設定される幅・高さの最小値・最大値の設定値は、副次的なダイアログウィンドウ411に表示される。
【0066】
図11から図15を用いて、相対位置コンテナの基本パターンとレイアウト時の動作について説明する。
【0067】
図11は、相対位置コンテナのパターンを示した図である。ページに対して相対位置を決定するためには、コンテナ上に基準点を設定する必要がある。その基準点の設定種別をパターン別に列挙する。1110はコンテナの中心を基準点(1111)とする相対位置コンテナである。1120はコンテナの辺を基準とする相対位置コンテナであり、上辺を基準とした例を示している。辺を基準とする場合は辺の中心が基準点(1121)となる。1130は角を基準点とする相対位置コンテナであり、左上の角を基準点(1131)とした例を示している。1140は任意の点を基準点(1141)とする相対位置コンテナである。基準点1141はコンテナ1140の枠線を含む枠内の任意点として設定することができる。
【0068】
図12は、中心を基準点とする相対位置コンテナ1110に関するレイアウト時のルールを示す。相対位置コンテナ1110は固定サイズ、もしくは、基準点1111を中心として上下左右対称に拡大または縮小することが可能である。点線のコンテナ1201は拡大した場合の例、点線のコンテナ1202は縮小した場合の例である。固定サイズの場合は、1110の位置に固定される。線1203は上下左右に対称となることを示す補助線である。
【0069】
図13は、辺を基準とする相対位置コンテナ1120に関するレイアウト時のルールを示す。相対位置コンテナ1120は基準となる辺以外の辺が伸縮可能となる。点線のコンテナ1301は拡大した場合の例、点線のコンテナ1302は縮小した場合の例である。矢印1303は伸縮する方向を示す補助記号である。水平方向に伸縮する場合は、上辺に対する相対位置を保つため、基準点1121が中心となるように左右の比率を保って伸縮する。なお、図13のような上辺または下辺が基準となる場合には、水平方向ついて左右の比率を保って伸縮するが、左辺または右辺が基準となる場合には、垂直方向ついて上下の比率を保って伸縮する。
【0070】
図14は、角を基準点とする相対位置コンテナ1130に関するレイアウト時のルールを示す。相対位置コンテナ1130は基準となる角を挟む二辺以外の辺が伸縮可能となる。点線のコンテナ1401は拡大した場合の例、点線のコンテナ1402は縮小した場合の例である。矢印1303は伸縮する方向を示す補助記号である。
【0071】
図15は、任意の点を基準点とする相対位置コンテナ1140に関するレイアウト時のルールを示す。相対位置コンテナ1140は固定サイズ、もしくは、基準点1141を中心として上下左右の比率を保って拡大または縮小することが可能である。点線のコンテナ1501は拡大した場合の例、点線のコンテナ1502は縮小した場合の例である。固定サイズの場合は、1140の位置に固定される。線1203は上下左右の比率が保たれることを示す補助線である。
【0072】
図16は、テンプレート作成アプリケーションにおける、相対位置コンテナの設定ダイアログを示す。ダイアログ1600は、図4におけるダイアログウィンドウ411と同様の表示となる。プロパティ1601はコンテナのサイズを幅と高さで示している。プロパティ1602は相対位置コンテナのパターンを設定するコンボボックスである。コンボボックス1602の設定項目には、中心/上辺/底辺/左辺/右辺/左上角/右上角/左下角/右下角/ユーザ指定がある。プロパティ1603は基準点のX軸上の位置を示すものであり、基準点から左の長さと右の長さが表示されている。左右の長さを加算すると用紙の幅から余白を除いた長さとなる。プロパティ1604は基準点のY軸上の位置を示すものであり、基準点から上の長さと下の長さが表示されている。上下の長さを加算すると用紙の高さから余白を除いた長さとなる。プロパティ1603および1604はアプリケーション上で配置された位置と基準点を元に自動で算出され、表示される。ただし、コンボボックス1602でユーザ指定を設定した場合のみ、プロパティ1603とプロパティ1604の長さを入力することが可能となる。OKボタン1605を押すと設定が適用されてダイアログが閉じる。キャンセルボタン1606を押すと設定が適用されずにダイアログが閉じる。
【0073】
図17は、相対位置コンテナを含むテンプレートの作成例であり、テンプレートは図4で説明のテンプレート作成アプリケーションで作成される。
1700はテンプレートの用紙イメージである。出力時に用紙サイズが変更された場合に再レイアウト処理が行われるが、テンプレート作成時に基準となる用紙サイズを指定しておく。1701はページコンテナである。ページコンテナのサイズは用紙サイズから指定された余白を除いた印刷領域に等しい。出力時、ページコンテナは用紙サイズが変更されたときに印刷領域を調整する働きを持つ。ページコンテナと内部のコンテナはページコネクタ(1702)によって結合されており、ページコンテナのサイズ変更に作用して内部のコンテナがレイアウト調整される。1703はコンテナ、1704はコンテナとコンテナをリンクするコネクタである。
【0074】
1705は相対位置コンテナで上辺を基準としている。相対位置コンテナは、他のコンテナとコネクタによってリンクしている。
【0075】
次に、図17と図18を用いて動的に行われるレイアウト調整について説明する。図18は相対位置コンテナを含むレイアウト調整処理のフローチャートである。
【0076】
データを出力する際、まず、用紙サイズおよび余白サイズを指定する(S1801)。指定方法は動作環境に応じて異なる。例えば、クライアントアプリケーションにおいて、クライアントPC上でユーザが入力する場合や、サーバーアプリケーションにおいて、サーバーに保管されているデータ属性を参照する場合が考えられる。
【0077】
用紙サイズと余白が指定されると、ページコンテナ1701のサイズが決定される(S1802)。
【0078】
ページコンテナのサイズが決定されると、サイズ変動に対するコンテナの位置調整が行われる(S1803)。コンテナはページコンテナの枠内で、ページコネクタによって位置調整が行われる。ページコネクタの調整動作はコネクタと基本的に同様であるが、ページコンテナ側のエッジは必ず固定エッジとして扱われ、コンテナ側のエッジは必ず可変エッジとして扱われる。また、ページコネクタとコネクタには固定と可変の2種類がある。ページコネクタが固定の場合、コンテナ側のエッジはコネクタに指定された距離に従って位置が決定される。相対位置コンテナはページコネクタではなく、相対的な基準点によってページコンテナとリンクしている。ページコンテナのサイズ変更に従って、上下左右の比率を考慮して基準点の位置を移動させる。
【0079】
次に、コンテナへコンテンツデータの流し込み(S1804)が行われ、コンテナのレイアウト調整が実行される。レイアウト調整では先に相対位置コンテナが調整される。これは、相対位置コンテナの基準点の位置がS1803の処理で固定されるためであり、相対位置コンテナを基準として全体のレイアウト調整を展開することができるためである。
【0080】
相対位置コンテナのレイアウト調整(S1806)は、図12から図15で説明した動作に基づいて行われる。相対位置コンテナにコンテンツが収まらない場合(S1807)はコンテンツを縮小するか、エラーと判断してレイアウト調整を終了するかの処理が行われる(S1808)。コンテンツを縮小する例として、テキストであればフォントサイズを小さくする手法、イメージでは縦横比を維持して縮小する手法や、コンテナサイズに合わせて縮小する手法がある。エラーと判定する例としては、クライアントPCの画面にエラーメッセージダイアログを表示する例やサーバーPCでログを出力する例がある。
【0081】
相対位置コンテナは複数存在する場合もある。そのため複数の相対位置コンテナに関してレイアウト調整が行われる(S1805からS1811間の処理)。相対位置コンテナ同士が重なった場合(S1809)は、さらにコンテンツを縮小するか、エラーと判断してレイアウト調整を終了するかの処理が行われる(S1810)。
【0082】
相対位置コンテナのレイアウト調整が完了後、その他のコンテナおよびコネクタの調整が行われる(S1812)。S1812におけるレイアウト調整は、図1〜図10で述べたレイアウト調整手法に基づいて行われる。ただし、相対位置コンテナとコンテナが重なるような場合は、S1810と同様の処理が行われる。
【0083】
なお、S1809、S1810による重なり防止処理を行わない実施例もある。そのようなケースでは重なった場合の上下関係を定義しておく。また、テンプレートにレイヤを持たせることもある。別レイヤで定義された場合は、各レイヤでレイアウト調整が行われるため、出力結果においてコンテンツが重なって出力される場合もある。
【0084】
図19、図20を用いて相対位置コンテナに関連する出力イメージについて説明する。図19、図20は、いずれも図17のテンプレートを用いて出力したイメージである。なお、コンテナの枠線は説明の便宜上記載している。
【0085】
図19は、テンプレートの用紙と同様のA4縦の用紙へ出力したイメージである。相対位置コンテナに格納されたイメージ1901はテンプレートと同様の位置を保っている。他のテキストコンテナに関してもコンテンツサイズに合わせてコンテナのサイズを調整している。
【0086】
図20は、A4横の用紙へ出力したイメージである。相対位置コンテナに格納されたイメージ2001は、用紙に対して相対的な位置を保ち、中央上方に配置される。テキストコンテンツ2002、2003、2004、2005は、ページコンテナ1701のサイズ変更、および、相対位置コンテナ2001とコネクタの調整が行われることによって左右へ移動する。テキストコンテンツ2006、2007は、ページコンテナ1701のサイズ変更、および、相対位置コンテナ2001との重なりを防ぐ処理によって左右のスペースに配置される。重なり防止処理に関しては、予めコンテナ間のマージンを設定しておくことで、コンテナ間の間隔をとることも可能である。コンテンツ2008は固定サイズのコンテナとして定義され、ページコンテナ1701と固定のページコネクタで接続されている。そのため、ページコンテナ1701のサイズ変更に伴って、右下へ移動する。
【0087】
(その他の実施例)
実施例1では出力時に用紙サイズを調整する例を挙げたが、テンプレート作成時に用紙を変更した場合にも適用することが可能である。コンテンツデータが設定されないため、図18のフローチャートにおいてS1804、S1807、S1808の工程はない。コンテナのルールに従って、コンテナのサイズ変更が最小限となるように再レイアウトが行われる。
【図面の簡単な説明】
【0088】
【図1】本発明のネットワーク構成図。
【図2】本発明のコンピュータシステム構成図。
【図3】本発明のコンピュータモジュールの概略図。
【図4】本発明におけるテンプレート作成アプリケーション例。
【図5】本発明の典型的なコンテナルール。
【図6】本発明のリンクを作成するUI図例。
【図7】本発明におけるレイアウト計算のフロー。
【図8】本発明における図7のフローに対応するUI例。
【図9】本発明におけるマルチレコードの概要図。
【図10】本発明のインターフェイスの一例によるコンテナの表現の16パターン。
【図11】本発明における相対位置コンテナのパターン。
【図12】本発明における相対位置コンテナ(中心点指定)のルール。
【図13】本発明における相対位置コンテナ(辺指定)のルール。
【図14】本発明における相対位置コンテナ(角指定)のルール。
【図15】本発明における相対位置コンテナ(任意点指定)のルール。
【図16】本発明における相対位置コンテナの設定ダイアログ。
【図17】本発明におけるテンプレート作成例。
【図18】本発明におけるレイアウト調整のフローチャート。
【図19】本発明におけるレイアウト調整後の出力例(A4縦)。
【図20】本発明におけるレイアウト調整後の出力例(A4横)。
【特許請求の範囲】
【請求項1】
レイアウトするコンテンツのサイズに応じて、動的にレイアウトを変化させることが可能な自動レイアウトシステムを備え、レイアウトの基準となるテンプレートを作成する手段と、ページのサイズを取得する手段と、データベースのコンテンツを取得する手段と、テンプレートに対して前記コンテンツを挿入し動的なレイアウトすることが可能なバリアブルプリントシステムにおいて、
前記テンプレート作成時にページ上の相対的な位置を保持するコンテナを配置する手段と、前記動的なレイアウト時にページの相対的な位置を保ちながらレイアウトを行う手段を備えることを特徴とするバリアブルプリントシステム。
【請求項2】
前記相対的な位置を保持するコンテナは相対位置を定める点としてコンテナの中心点、あるいは辺の中心点、あるいはコンテナの角、あるいはコンテナ領域内の任意の点を指定することができることを特徴とする請求項1に記載のバリアブルプリントシステム。
【請求項3】
動的なレイアウト時に前記相対的な位置を保持するコンテナと他のコンテナが重ならないようにレイアウトを行うことを特徴とする請求項1に記載のバリアブルプリントシステム。
【請求項1】
レイアウトするコンテンツのサイズに応じて、動的にレイアウトを変化させることが可能な自動レイアウトシステムを備え、レイアウトの基準となるテンプレートを作成する手段と、ページのサイズを取得する手段と、データベースのコンテンツを取得する手段と、テンプレートに対して前記コンテンツを挿入し動的なレイアウトすることが可能なバリアブルプリントシステムにおいて、
前記テンプレート作成時にページ上の相対的な位置を保持するコンテナを配置する手段と、前記動的なレイアウト時にページの相対的な位置を保ちながらレイアウトを行う手段を備えることを特徴とするバリアブルプリントシステム。
【請求項2】
前記相対的な位置を保持するコンテナは相対位置を定める点としてコンテナの中心点、あるいは辺の中心点、あるいはコンテナの角、あるいはコンテナ領域内の任意の点を指定することができることを特徴とする請求項1に記載のバリアブルプリントシステム。
【請求項3】
動的なレイアウト時に前記相対的な位置を保持するコンテナと他のコンテナが重ならないようにレイアウトを行うことを特徴とする請求項1に記載のバリアブルプリントシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−122893(P2010−122893A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−295766(P2008−295766)
【出願日】平成20年11月19日(2008.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願日】平成20年11月19日(2008.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]