JP4194501B2 - 文書処理方法、文書処理装置及び文書処理プログラム - Google Patents

文書処理方法、文書処理装置及び文書処理プログラム Download PDF

Info

Publication number
JP4194501B2
JP4194501B2 JP2004024586A JP2004024586A JP4194501B2 JP 4194501 B2 JP4194501 B2 JP 4194501B2 JP 2004024586 A JP2004024586 A JP 2004024586A JP 2004024586 A JP2004024586 A JP 2004024586A JP 4194501 B2 JP4194501 B2 JP 4194501B2
Authority
JP
Japan
Prior art keywords
display area
partial display
size
data
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004024586A
Other languages
English (en)
Other versions
JP2005216181A (ja
JP2005216181A5 (ja
Inventor
健太 原
和文 小橋
順 牧野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004024586A priority Critical patent/JP4194501B2/ja
Publication of JP2005216181A publication Critical patent/JP2005216181A/ja
Publication of JP2005216181A5 publication Critical patent/JP2005216181A5/ja
Application granted granted Critical
Publication of JP4194501B2 publication Critical patent/JP4194501B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、テキストやイメージで構成されたドキュメントの生成、編集、そして印刷のための文書処理技術に関するものであり、更に詳しくは、バリアブルデータドキュメントの生成、編集、そして印刷に好適なものである。
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネットの普及により、これを利用した消費者のカスタマイズサービス指向が強くなっていることなどの要因からCRM(Customer Relationship Management)、One-to-Oneマーケティングの必要性が注目されている。これらの手法は顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
One-to-Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる情報量のコンテンツを最適にレイアウトして表示することが求められるようになった。
従来におけるバリアブルプリントシステムは、ドキュメント上に情報を表示する領域としてコンテナ(帳票フォームではフィールド領域とも呼ばれる)等をレイアウトして、データベースとコンテナとを関連付けることによりレイアウト表示を達成していた。
この場合、テキストおよびイメージが貼り付けられて、レイアウトされたコンテナのサイズは固定であるため、顧客によって違った大きなサイズのデータが挿入された時にはテキストの場合、全てのテキストをそのコンテナ内に表示することができなくなること、またイメージデータの場合は本来の画像の大きさよりも縮小されて表示されたり、あるいは元の画像サイズのまま表示する場合にはコンテナ内に全ての画像を表示することができないという問題があった。
これらの問題を解決するための更なるコンテナの自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合、隣接したコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。また、特許文献2の「POS端末装置」にもフォントサイズを大きくする、または小さくする技術が開示されている。
特開平7−129658号公報 (段落[0049]、図8) 特開平7−085366号公報 (段落[0018]、図4)
しかしながら、上述した背景技術では、そうしたドキュメントのレイアウトにおいて、文字列をフィールドの枠に中に指定されたフォントサイズで印字する場合、文字列の長さが長すぎると枠からはみ出る部分は印字できないという問題があった。これを回避するための技術としては、文字のサイズを小さくし、フィールドの枠内に文字列を収めるという方法(特許文献2)がある。また、フィールドの枠を広げ文字列を全て表示できるようにする(特許文献1)という方法がある。
しかし、文字サイズを小さくする処理や、フィールド枠を広げる処理を適用することができるかどうかは実際の印刷物により異なるため、一意に決めることはできない。また、文字サイズを小さくする処理とフィールド枠を広げる処理のうち、どちらの処理を優先させてレイアウトするかどうかも、印刷物の個別の内容により異なってくるが、そのような個別的な対応が必要な場合であっても、ユーザーの意図をレイアウト制御の設定に反映することができなかった。
例えば、あるフォームがバックグラウンドとして存在し、その中のある枠に合わせてフィールド枠を作成した場合、一般的にユーザーはフォームと枠のサイズを揃えておきたいため、作成したフィールド枠がそのままであることを望む。その状況において、もしフィールド枠に挿入される文字列の量が多い場合、文字列が全てフィールド枠に入りきらないケースが考えられる。この時、入りきらない文字列はそのフィールド枠から溢れてしまう。
その場合、フォントサイズを小さくして全ての文字列をフィールド枠内に収めることは可能となるが、文字列の量が非常に多い場合、あるいはフィールド枠自体がそれほど大きくない場合には、フォントサイズがあまりにも小さくなってしまい文字列を読み取ることが非常に難しくなってしまうという問題がある。この場合、文字列の読み取りに支障がないと判断されるフォントサイズの最小値を設定し、ある程度のフォントサイズを保つことは可能であるが、この場合でも、結局、文字列をフィールド枠に収めることができなくなり、フィールド枠から文字列が溢れてしまうという背景技術の課題は依然として解決されないままとなる。
本発明は上記の課題に鑑みてなされたものであり、フォントサイズの変更、コンテナサイズの変更に関して優先順位を設定し、これらをページ内のレイアウトを決定するテンプレートのデザインに反映することで、ユーザの意図を反映した情報処理を実現することを目的とする。
上記の課題を解決するための本発明にかかる文書処理方法は、設定手段と、第1判定手段と、第1変更手段と、第2判定手段と、第2変更手段と、配置手段と、生成手段と、リンク設定手段と、決定手段とを有し、データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理を実行する文書処理装置における文書処理方法であって、
前記設定手段が、フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定工程と、
前記生成手段が、前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成工程と、
前記リンク設定手段が、前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定工程と、
前記第1判定手段が、前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定工程と、
前記第1変更手段が、前記第1判定工程における判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定工程によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更工程と、
前記第2判定手段が、前記設定工程において設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更工程が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定工程において設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更工程が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定工程と、
前記第2変更手段が、前記第2判定工程において前記第1変更工程により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定工程において前記第1変更工程により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更工程と、
前記配置手段が、前記第2変更工程において変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置工程と
前記決定手段が、前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定工程と、を有し、
前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性に基づいて決定されることを特徴とする。
あるいは、上記の課題を解決するための本発明にかかる文書処理装置は、データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理を実行する文書処理装置であって、
フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定手段と、
前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成手段と、
前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定手段と、 前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定手段と、
前記第1判定手段による判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定手段によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更手段と、
前記設定手段により設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定手段により設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定手段と、
前記第2判定手段において、前記第1変更手段により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定手段において、前記第1変更手段により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更手段と、
前記第2変更手段により変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置手段と
前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定手段と、を有し、
前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性と、に基づいて決定されることを特徴とする。
あるいは、上記の課題を解決するための本発明にかかる文書処理プログラムは、データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理をコンピュータに実行させる文書処理プログラムであって、当該文書処理プログラムが、コンピュータを、
フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定手段と、
前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成手段と、
前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定手段と、
前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定手段と、
前記第1判定手段による判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定手段によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更手段と、
前記設定手段により設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定手段により設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定手段と、
前記第2判定手段において、前記第1変更手段により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定手段において、前記第1変更手段により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更手段と、
前記第2変更手段により変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置手段と
前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定手段として機能させ、
前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性と、に基づいて決定されることを特徴とする。
本発明によれば、フォントサイズの変更、コンテナサイズの変更に関して優先順位を設定し、これらをページ内のレイアウトを決定するテンプレートのデザインに反映することで、ユーザの意図を反映した文書処理が可能になる。
本発明の好適な実施形態を図面を参照しつつ説明する。
<実施形態1>
<システム構成図>
図1Aはコンテナサイズを可変に設定してドキュメントを印刷するシステム100を図示している。このシステムにおいて実行するコンテナサイズの制御、コンテナ間のリンク設定は図1Bで詳しく説明されるホストコンピュータ101の制御の下に実行される。図16で記述されるプロセスは、レイアウト制御装置であるホストコンピュータ101内で実行され、システム100上で実行可能となるレイアウト編集アプリケーションプログラム121(本発明の文書処理プログラム)のようにソフトウェアの全体、あるいはその一部分で実行される。特にレイアウト編集や印刷のステップはホストコンピュータ101によるソフトウェアによって実行される。
ソフトウェアは、例えば、以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からホストコンピュータにロードされ、実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラム、あるいはそのプログラムを格納するコンピュータの可読媒体は、コンピュータと協働したドキュメントのレイアウト編集やバリアブルデータ印刷に必要な演算処理や表示制御、コンテンツに関する情報処理を実行する手段としてコンピュータの機能を特定する。
ホストコンピュータ101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置と接続する。入力/出力(I/O)インターフェース138はホストコンピュータ101をネットワーク107に接続してシステム100を他のコンピュータ装置(例えば、データベースサーバ117)に接続することができる。そのネットワーク107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。
ホストコンピュータ101は典型的に少なくとも1つのプロセッサーユニット135、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136、ビデオインタフェース137を含むINPUT/OUTPUT(I/O)インターフェース、キーボード132やマウス133のためのI/Oインターフェース143を含んでいる。記憶装置139はハードディスクドライブ140やフロッピー(登録商標)ディスクドライブ141を含んでいる。ここでは図示されていないが磁気テープドライブもまた記憶装置として使用することができる。
CD−ROMドライブ142は不揮発性のデータソースとして提供される。ホストコンピュータ101はGNU/LINUXやマイクロソフトウィンドウズ(登録商標)のようなオペレーションシステムや、典型的にはオペレーションシステムに従い形成されたコンピュータシステムのオペレーションによって、相互接続バス134を介して通信を行うホストコンピュータ101のプロセッサユニット135からI/Oインターフェース143を利用することができる。図1Aに示したホストコンピュータ101を含んだシステムの例としては、IBM互換PCやSUN のSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。
レイアウトアプリケーションプログラム121は典型的にはハードディスクドライブ140に常駐し、プロセッサユニット135により読み出され、実行される。プログラム121を記憶する記憶装置139とネットワーク107からフェッチされるデータはハードディスクドライブ140、またはこれに呼応してメモリユニット136が使用され、アプリケーションプログラム121がCD−ROMやフロッピー(登録商標)ディスク上でエンコードされ、対応するCD−ROMドライブ142やFDD141を通じて読み込まれユーザに提供される。
あるいはもう一つの方法としてアプリケーションプログラム121はネットワーク107からユーザによってインストールするようにしてもよい。さらにソフトウェアは磁気テープまたはROMまたは集積回路、光磁気ディスクまたは無線またはホストコンピュータ101とその他のデバイス間の赤外線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からホストコンピュータ101内にロードすることもできる。但し、これらのコンピュータ可読媒体は、単に関連するコンピュータ可読媒体の規範であり、媒体の種類がこれらに限定される趣旨ではなく、他のコンピュータ可読媒体も使用することも可能である。
また、レイアウト編集と名づけられたアプリケーション121はバリアブルデータ印刷(VDP)を行うためのプログラムモジュールであり、2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのモジュールは、レイアウトエンジンモジュール105であり、これはデータが流し込まれる部分領域であるコンテナ(矩形の範囲)のサイズや位置の制限に従ってデータベース119に格納されているバリアブルデータから1レコードずつ読み込み、読み込んだデータとコンテナの制限とから、読み込んだデータが流し込まれるコンテナの大きさや位置等を計算するためのソフトウェアモジュールである。レイアウトエンジン105は各部分領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、図示省略したプリンタドライバに描画情報を出力することで、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成する。
2つめのモジュールであるユーザインターフェースモジュール103はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースとコンテナとを関連付けるメカニズムを提供するモジュールである。ユーザインターフェースモジュール103とレイアウトエンジンモジュール105はコミュニケーションチャネル123を介して通信することが可能である。ドキュメント作成のためのデータソースはデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ117上にあるデータベース119に格納されている。ホストコンピュータ101はネットワーク107との接続を介してデータベースサーバ117と通信することができる。バリアブルデータ印刷を実行する場合、レイアウト編集アプリケーション121はホストコンピュータ101か、若しくは他のコンピュータで構成されるファイルサーバ115に保存されるドキュメントテンプレートを生成する。またレイアウト編集アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101の記憶装置139に保存されるか、ファイルサーバ115に保存されるか、あるいはプリンタ113に直接印刷される。
プリントサーバ109は直接ネットワークに接続していないプリンタ113にネットワーク機能を提供するコンピュータである。プリントサーバ109とプリンタ113は典型的な通信チャネル111を介して接続する。
図2はレイアウトエンジンモジュール105をホストコンピュータ101の他にエンジンサーバ227にもレイアウトエンジン225を設けた構成を示す図である。エンジンサーバ227は典型的なコンピュータにより構成され、ファイルサーバ115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェースモジュール103の制御の下、ユーザーインターフェース(UI)画面を介して入力され、特定のレコードのみ印刷するように設定することができる。
<アプリケーションの構成図>
<メインウインドウ>
図3で示されるアプリケーションウインドウ301は、ユーザインターフェースモジュール103(図1)によって、操作時にディスプレイ装置144に表示される。アプリケーションウインドウ301は、非表示にすることや、スクリーン上の色々な場所に移動することが可能なメニューバー302とツールバー303、そしてマウス133の位置・動作によって場所を移動可能なワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313を有しており、これらにより特徴付けされる。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を有し、ツールバー303は、アプリケーションの特別なモードによって非表示にしたり、または表示することが可能な多くのツールボタン305を有する。オプションのルーラー308はワークエリア内のポインター、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール機能を提供するボタン312を有する。パレット311の表示はオプションで、ワークエリアの前面に表示することもでき、あるいは背面に隠すこともできる。また、このパレット311に対する表示制御は、アプリケーションウインドウ301の範囲内のみに制限したり、あるいはアプリケーションウインドウ301の外側に部分的、あるいはその全体を表示するようにすることもできる。
ツールバーエリア303には少なくとも、ユーザによる選択が可能な「ボタン」(403〜406)を備える(例えば、図4を参照)。以下、ボタン403〜406を説明する。
選択ツールボタン403は、コンテナの辺を選択、移動、サイズ変更、そしてコンテナのロック(固定)、あるいはロック解除をするために使われる。コンテナは、複数のコンテナの周りをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数のコンテナの選択を可能にする。
イメージコンテナツールボタン404は、スタティック或いはバリアブルイメージを持つコンテナを作成するために使われる。
テキストコンテナツールボタン405は、スタティック或いはバリアブルテキストを持つコンテナを作成するために使われる。
リンクツールボタン406は、コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使われる。これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンとして実装される。レイアウト編集アプリケーション121の図3に示したアプリケーションウインドウ301は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の各コンテナが固定コンテナである場合は、すべてのレコードの印刷結果のレイアウトは同じになる。また、基本レイアウト内の各コンテナが後述する可変コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。よって、レイアウト編集アプリケーション121で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものであり、可変コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウト調整されることになる。
<ドキュメントテンプレート>
図3に示したワークエリア306はドキュメントテンプレートのデザインを表示・編集するために使用される。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量やサイズに基づいてどのように変化するかを理解することを可能にするものである。外部のデータベースがテンプレートにリンクされている場合には、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージをそれらのコンテナに表示することができる。ドキュメントの構造とバリアブルデータコンテナの表示は、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示するようにすることができる。
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309に特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。例えばメニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。それぞれのドキュメントにおける実際のページ数は、バリアブルデータによって変化する可能性があり、もし1ページ内にバリアブルデータを収めることができず、所定の用紙サイズのページに各コンテナを収めるような制約が基本レイアウトになかった場合には、追加のページは自動的に作成される。所定の用紙サイズのページに各コンテナを収めるように制約(後述するアンカーアイコン等により設定可能である)が基本レイアウトに設定されている場合は、ページ内で各コンテナがお互いに押したり押されたりしながら、各コンテナサイズと位置が決定され、必要に応じて流し込まれるバリアブルデータが縮小され、レコード毎に動的にレイアウトが決定される。
図3において破線で示されるページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示すものであり、任意に設定することが可能なページマージン310である。また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例を示す図であり、図4では複数のコンテナ407及び408が示されており、コンテナの辺414の位置を固定するアンカーアイコン409と固定されていない辺410、リンク412そしてスライダー413によりコンテナ間の相互の関係が規定されている。アンカーアイコン409は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン409が設定されると、設定された個所の位置が固定となる。つまり、図4の例では、アンカーアイコン409は、コンテナ407の左上の角に設定されているため、コンテナ407はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合に、右方向及び下方向に拡大可能であることを示している。アンカーアイコン409が辺に設定されている場合は、その辺が固定となり、その他の3辺の各方向に拡大可能である。また、アンカーアイコン409がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、4方向に拡大可能である。リンク412は詳細は後述するが、コンテナ407とコンテナ408が関連付けられていることを示しており、このリンクに設定されている長さ(範囲指定可能)を保ちつつ、コンテナ408が右方向に移動可能であることを示している。スライダー413は、設定されている辺と水平方向に移動可能であることを示している。
<コンテナ>
ここで、コンテナについて説明する。コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定あるいは可変のテキスト/イメージがレコード単位に流し込まれ、描画されるスペース(これを部分領域と呼ぶ)であり、図4に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインターフェース画面を介して、ユーザからの操作指示により、コンテナはマウス133の操作により移動、サイズ調整、再作成される。
コンテナは、アンカーアイコン409、リンク412、スライダー413によりコンテナの変形に関する拘束条件が規定されている。テキストやイメージデータの情報量に応じてその変形が許容されている方向にコンテナスペースの変形が制御されて、テキストデータやイメージデータがそのコンテナ内にレイアウトされる。2つのコンテナに関して相互に変形が必要となる場合、各コンテナに収納するべきテキストデータやイメージデータの量に応じて、相互のコンテナの変形がバランスするように(各コンテナにストレスの無い状態)に各コンテナの形状が制御される。
コンテナはポインティングデバイスとしてのマウス133の動作によりワークエリア306内の位置が特定され(図3の313)、ユーザインターフェースとしての画面内(図3)で移動、サイズ調整が施され、新たなコンテナを追加することも可能である。コンテナは、アンカーアイコンや、リンクそしてスライダーによりコンテナ間の相互の関係等の変形に関する種々の条件が設定され、コンテンツを表示する視覚的表現、そしてコンテナ間のインタラクションとコンテナ内の情報の編集機能を有している。ここで、コンテナを定義すると以下のようになる。
(1)コンテナは固定あるいは可変のコンテンツが入力され、可変コンテンツは、データソースからデータをとってきて、異なるドキュメントでは異なるデータに応じてコンテナサイズを可変するという意味でダイナミック(動的)である。可変コンテンツはアニメーション化されたもの、あるいは他の方法で時間を変更するコンテンツを含むことは印刷に適合していないため意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じように表示される。けれども、コンテンツとリンクが設定されている場合、可変コンテナの動作によって、固定コンテンツはそれぞれのドキュメントで表示位置が異なるように表示制御される。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。このような設定をコンテナ属性と呼ぶ。コンテナ属性は、各コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。
(3)コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、典型的に印刷された出力物に対して反映され、装飾が反映された結果は可視化される。可変コンテンツはデータソースから特定のデータの表示をもたらす。すなわち、その特定のデータに対して、コンテナに設定されている条件に従い、コンテナのサイズが可変に設定される。可変に設定されたコンテナのレイアウト、およびコンテナ内の特定のデータ表現は、例えば、プリンタ113を介して印刷されるか、ディスプレイ装置144上で表示されるか、その両方により処理することが可能である。
(4)コンテナの設定に関し、システムはユーザインターフェースモジュール103を備え、例えば、コンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインターフェース(GUI)を有する。そして、ユーザインターフェースの要素はディスプレイ装置144上に表示される。しかしドキュメントは印刷されない。ユーザインターフェースモジュール103は、背景色やフォントのようなコンテナに関する装飾機能のいくつかをインタフェース画面上に表示させ、これらの装飾機能をコンテナの設定、編集、コンテナ表示に追加することができる。
(5)更に、ユーザインターフェースモジュール103による設定の例としては、コンテナ間のボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するためにコンテナに設定さするコーナー部のアイコンや、あるいはデータソースからデータをマージしたとき、コンテナの動作(例えば、上塗りした数、線、アイコンの設定、テキストの編集)を設定する。
<コンテナに対する制約>
コンテナはそれぞれのドキュメントにおけるコンテンツの内容を表示するために、コンテナをコンテンツと結びつけて表示制御するための制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけること)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントをコントロールする主要な方法である。制約の例は、たとえば、コンテナのコンテンツの高さは、最大値4インチとするような制約が挙げられる。もうひとつの制約としては、コンテナのコンテンツの左エッジは、それぞれのドキュメントで同じ水平位置で表示しなければならないとするような制約である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集のために設定することが可能である。
イメージがページ上に定義された位置を持っているように、コンテンツの配置もその位置が特定される。コンテナは位置とサイズを持ち、それらはバリアブルデータ印刷において、コンテナ内に挿入されるコンテンツの内容に応じてコンテナのレイアウトを設定された条件の下、コンテンツの内容を表示・編集することを可能にする。コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナはユーザインターフェースモジュール103により与えられるコンテナに対する制約を指定することができる。
1つのコンテナを構成する辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。たとえば、矩形のコンテナの左辺は、関連付けられたコンテンツが配置される左側の位置を与え、同様に、コンテナの高さは生成されたドキュメントに関連付けられたコンテンツの高さの制約を与える。
以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
(2)コンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
(3)距離の制約が固定なら、指定された距離は全てのドキュメントの制約となる。
(4)コンテナの左右辺が固定の場合、コンテナの高さあるいは垂直方向の位置は、コンテンツを完全にコンテナ内に収容するために、コンテナサイズは変形が許容されている高さ方向あるいは垂直方向に変えることが可能である。
(5)コンテナの上下辺が固定の場合、コンテナの幅あるいは水平位置は、コンテンツを完全にコンテナ内に収容するために、コンテナサイズは変形が許容されている幅方向あるいは水平方向に変えることが可能である。
(6)コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。この制約で、コンテナの幅は変化するかもしれない、左右辺両方が異なったドキュメントで、垂直軸にもっとも遠いかもっとも近いかもしれない、しかし軸は全てのドキュメントで同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上そして下辺が垂直に位置されることを制約する、けれども高さは、この制約によって影響されない。
(8)水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する、しかし、幅・高さはこの制約によって影響されない。
(9)コンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所で、そしてコンテナに関連付けられた同じ場所で表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。
「固定」の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味する「可変」である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待するが、特定のコンテナについては、大きさや位置を固定にしたり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。そのため、本レイアウト編集アプリケーション121では、各コンテナ(部分領域)について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにした。これにより、ユーザはドキュメントテンプレート309の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
<コンテナ表示・編集>
<新規コンテナの作成方法>
コンテナは、テキストコンテナとイメージコンテナの2種類ある。テキストコンテナはテキスト、そして埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。図4で参照されるように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス133でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。コンテナは、適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上でマウス133をクリックすることによって作成される。デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。コンテナは自動的に前もって定義され、計算されたスキーマによって作成され、ドキュメントテンプレート309上に配置される。ここで生成されたコンテナをマウス等の入力手段により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。コンテナのプロパティダイアログUI(部分領域設定手段に相当する)では、上述した各種の制約を設定することができる。また、コンテナのプロパティダイアログでは、コンテナのサイズ(幅、高さ)や位置を決定することができ、可変サイズにする場合は、コンテナの基本パターン(基本サイズと基準位置)を設定し、更に、最大コンテナサイズ(幅、高さ)と最小コンテナサイズ(幅、高さ)を設定することが可能となっている。
<コンテナの表示方法>
図5A〜5Dはコンテナを構成する辺に対するルールを例示的に説明する図である。レイアウト編集アプリケーション121は、辺の状態を表現するために、塗りつぶし線(503)あるいは点線(504)で辺を描き、アンカー(辺の近くに描画された506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために辺、形の近くに描画されたコントロール点、502)、スライダー(辺の両サイドに描画された短い並行線、図4の413)、拡縮アイコン(505)、そして色を特徴として持っている。
図5A〜5Dに示すコンテナの表示方法のルールは、つぎの通りである。
1. それぞれの辺を固定するために、塗りつぶし線で描画する。
2. もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
3. もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
4. 軸は描画しない。
5. まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
6. 垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカーが描画される。
7. それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
8. 垂直辺あるいは軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、交差点にハンドルが描画される。
上述のルール1、2、3で定義された線は、前述したように固定あるいは制限されているため、実線で描画される。ルール5のように可変の辺は、点線で描画される。ルール6、7、8で定義された固定された点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。レイアウト編集アプリケーション121は以上のルールに従って、コンテナの表示制御を実行することができる。
コンテンツの表現は、コンテナの辺に設定されたアンカーアイコン、スライダーアイコン等の設定に従い、サイズを可変にすることが可能なコンテナに挿入されることにより可視化される。コンテナに設定される具体的なアイコン及びコンテナを構成する辺は、以下に説明するように機能する。
図4の辺410のように、点線はコンテナに挿入されるコンテンツに依存して、ドキュメント内の辺の位置が移動可能であることを意味する。そして、実線414は位置が制限された辺を意味する。
アンカーは辺または軸が交差した場所が固定されていることを意味する。図4のアイコン409は、交差する辺414が固定されていることを示すアンカーアイコンの例である。
スライダーは関係付けられた辺が、その辺の垂直方向に固定されているが、並行移動する可能性があることを意味する。幅・高さのサイズは、レイアウト編集アプリケーション121の制御の下、副次的なダイアログウインドウに表示され、コンテナサイズとして許容される基本値・最小値・最大値の基本パターンを設定することが可能である。
図5Aにおいて、コンテナ501を構成する実線で示される辺503は固定であり、点線て示される辺504は幅・高さ両方が可変である。拡縮アイコン505は、隣接する辺504が可変であることを示す。また、図5Bにおいて、コンテナ501を構成する実線で示される辺503は固定であり、同図において、アンカーアイコン506は、辺503が交差する高さ方向および幅方向に変位が拘束されることを示す。
図5Cでは、コンテナ501は、コンテナの拡大あるいは縮小が任意のアンカーアイコン507で示されるような中心点の周りに幅方向及び高さ方向に均等に広がるという状態に設定されており、幅・高さ両方が各辺において可変である。また、図5Dにおいて、コンテナ501は、上辺508に対してスライダ−アイコン509が設定されており、固定されているが、点線で示される辺502は幅及び高さの両方が可変である。この場合、アンカーアイコン509を通る中心軸(垂直軸)を基準として、辺502の左右方向、及び上下方向に変位をすることが可能であり、これによりコンテナのサイズを変えることが可能である。ここでの拡大/縮小は、アンカーアイコン507の位置が常にコンテナ501の中心点となるようにレイアウト調整される。
<リンクの設定方法>
図16はレイアウト編集アプリケーション121によるリンクの設定方法を示するフローチャートであり、図6の(A)〜(C)はユーザーインターフェースの画面表示例を示す図である。以下、図16、図6を用いてコンテナにリンクを設定する操作方法について説明をする。まず、リンクをコンテナに設定するためには、リンク設定の対象となるコンテナ(最低2つ)を作成する(S1601)。図6の(A)は、2つのコンテナ601、602が作成された状態を示している。
次に、前述したリンクツールボタン(図4を参照)を選択した状態にする(S1602)。ここで、図6の(A)のコンテナ601と602は、前述した図4のコンテナ407と408と同じ内容のものを示しており、固定されている辺(実線で示される)によりコンテナが構成されることを示している。また、アイコン603と604は、図4におけるアイコン409と同じアンカーアイコンであることを示し、605はマウスポインタを意味している。
ステップS1602において、リンクツールボタン406の選択が完了すると、次に、コンテナを選択する(S1603)。この選択は、リンクを設定する対象となるコンテナの片方(たとえば、601)をマウス133によりクリックすることでコンテナは選択される。次に、リンクを設定する他方のコンテナ(たとえば、602)をマウス133によりクリックすることで、リンクを設定する他方のコンテナの選択が完了する(S1604)。
図6の(B)の606はステップS1603でマウス133をクリックした位置(P1)とステップS1604でマウスをクリックした位置(P2)とを結ぶ、マウスポインタ133の概略的な軌跡を示す線分であり(図16のS1605)、この線分が交わるコンテナの辺611及び辺612の間にリンク607が設定され、最終的にリンク607がコンテナ間に設定された状態のインターフェース画面が更新される(S1606)。リンク607が設定されたことにより、コンテナを表示するための画面表示も自動的に切り替えられる。切り替えられた画面(図6の(C))において、辺608は点線で示されている辺であり、前述したとおり可変の辺を示している。固定の辺(リンク設定前の611、612が対応)から可変の辺に608が切り替えられたのは、リンク607を設定したことにより、コンテナ601、602の辺を可変にする必要があるためであり、リンク607を設定したにもかかわらず、全ての辺が固定とすると、コンテナ間の相対的な関係をリンクにより特定するという矛盾を防ぐためであり、レイアウト編集アプリケーション121の制御の下、自動的に行われる処理である。
また、609は図5の505と同様に機能し、リンク607を設定したことにより、コンテナ601、602が変位できる方向をユーザに視覚的に示す識別用の表示である。図6の(C)の例では、左のコンテナ601の右辺と右のコンテナ602の左辺が可変に変化したが、これは一例であり、右コンテナ601が、図4の413で示したスライダーを持つ設定により辺608が可変であることを表示するようにすることもできる。以上の処理はレイアウト編集アプリケーションの制御のもとに実行することができる。
<レイアウト計算方法(全体フロー)>
本実施形態のレイアウト編集アプリケーションは、ユーザインターフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、前述した優先順位に従ってレイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。
図10はレイアウト計算の流れを説明するフローチャートである。まず、プレビューモードを選択する(S1001)。自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付けを行い、レイアウトを作成するレイアウトモードと、作成したレイアウトに表示するデータレコード(以下、「レコード」)を挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。プレビューモードになったら、プレビューするレコードを選択して挿入する(S1002)。レコードの挿入を行うと、そのレコードをレイアウトするためにレイアウト計算を行う(S1003)。
そして、処理ステップS1003で計算されたレイアウトを表示し(S1004)、他のレコードについてもプレビューを行うかどうかを判断する(S1005)。処理ステップS1005で、他のレコードについてプレビューを行う必要がないと判断した場合は(S1005-No)、処理をステップS1007に進め、プレビューモードを終了する。一方、ステップS1005の判断で、他のレコードについてプレビューを行うのであれば、他のレコードを選択(S1006)して再度レイアウト計算を行い(S1003)、プレビューを行う(S1004)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理S1004は印刷時の処理においては必要がないステップである。ステップS1005は印刷するレコードを全て処理したかの判断を行う。ステップS1003でレイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷すべく指定された全レコード)について印刷データの出力が終了した時点で本処理を終了することになる。以上の処理は、プロセッサユニット135の制御のもとに実行することができる。
<レイアウト計算方法>
図11はレイアウト計算の詳細な処理の流れを説明するフローチャートであり、図17はそのときのユーザーインターフェース画面の表示例を示した図である。本図はレイアウト計算の処理方法についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの1レコードの印刷/プレビュー時のレイアウト計算方法に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。
まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を求める(S1101)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば、図15を参照すると、ページ上に4つのコンテナA,B、C、Dがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナA・Bが集合1、コンテナC・Dが集合2となる。そして、1501はアンカー、1502は固定された辺、1503はコントロール点、1504は可変の辺の変化方向を示している矢印、1505は可変の辺、1506はリンク、そして1507はスライダーを示している。
次に、レイアウト編集アプリケーション121は、ステップS1101で求めたコンテナの集合から、レイアウトを計算するために一つの集合を選択する(S1102)。そして、選択したコンテナの集合について、レイアウトの計算を行う。まず、選択したコンテナの集合に含まれる可変要素である2つのコンテナ(A,B)について、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。具体的には、レイアウト編集アプリケーション121は、コンテナAが画像データ用コンテナであるか、テキスト用コンテナであるかを判断する。この判断は、前述したように、コンテナに対して設定されている属性により判断できる。次に、レイアウト編集アプリケーション121は、コンテナAに流し込まれるデータを読み込み、コンテナAが画像データ用コンテナである場合は、その画像データのサイズ(幅、高さのピクセル数、および解像度)がコンテナAの制約を受けない場合の大きさになる。また、コンテナAがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナAのコンテナ属性で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字属性に基づいて、コンテナAに流し込まれるべきデータ量が計算できる。ここで、テキスト用コンテナの場合は、コンテナAの縦横比が制約を考えないと決定できないため、制約を当てはめる。
図15の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)のコンテナAに、計算したデータ量(テキスト量)の文字を流し込めるか否かを判断する。すべて流し込めると判断された場合は、コンテナAは、基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべて流し込めないと判断された場合は、コンテナAは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナAのサイズを算出する。
次に、レイアウト編集アプリケーション121は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(S1103)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウト編集アプリケーション121は、ステップS1102で算出したコンテナの集合のサイズ、つまりコンテナAとコンテナBとリンク1506(ここでは固定リンク)の合計サイズを求め、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ(図15の例ではコンテナAとコンテナBのそれぞれのアンカーアイコンの距離に相当する)との差を求める。コンテナAやコンテナBの幅が大きくなると前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
レイアウト編集アプリケーション121は、レイアウトの最適化を行い、最適化の計算のおいて、ルール(コンテナに課せられる制限)に違反する場合は、再度ルールを違反しないようにコンテナサイズの計算をする(S1104)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、可変リンクの場合はリンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、ステップS1102で選択した集合のレイアウトは完成する。そして、ステップS1102〜S1104のステップをページ上のすべてのコンテナの集合について施し、ページ全体のレイアウトを計算し(S1105)、レイアウト計算の処理を終了する。
図17の(A)〜(C)はレイアウト計算時に示されるユーザーインタフェース画面を例示する図である。図17の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1701と1702はアンカー、1703と1704は固定された辺、1705は可変の辺、1706は可変の辺の変化方向を示している矢印、1708はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入すると、図17の(B)の状態になる。図17の(A)の状態から可変の辺がどのように変位したかを2点鎖線で示している。そして、ルールを加味したレイアウト計算が行われる。図17の(C)はレイアウト計算された結果を示している。計算後の各コンテナ1712、1713のサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ、前述したルールに違反しないように計算される。図17の(C)で示されるように、図17の(B)で示した挿入するコンテンツサイズ(a1b1c1d1,e1f1g1h1)と計算後のコンテンツサイズ(a2b2c2d2,e2f2g2h2)は、左右双方のコンテナにおいて同等な差異をもってコンテナサイズが計算される。以上の処理は、プロセッサユニット135の制御のもとに実行することができる。
<優先順位付レイアウト>
次に、優先順位を付けて、コンテナのレイアウトを設定する処理について説明する。図7は、コンテナを使用して作成された一般的なドキュメントのレイアウトを示す図であり、コンテナサイズを優先してレイアウトの計算を行う例を説明する。画面上には、図4と同様にアプリケーションウインドウ301と、ツールバー303があり、ドキュメントテンプレート309上にはコンテナA(701)、コンテナB(702)、コンテナC(703)が存在する。それぞれのコンテナはアンカーアイコン704、アンカーアイコン705と706、アンカーアイコン707と、固定された辺710、辺712、辺713、また可変長に動く辺711、辺714から構成されている。図中において、固定された辺は実線で示され、可変長に動く辺は点線で示している。アンカーアイコン(以下、「アンカー」ともいう。)はコンテナのコーナー(角部)に配置され、そのコーナーがドキュメント内の指定された位置にコンテナを固定し、その位置からは移動することがないことを示す機能がある。そして各コンテナには可変長に動く辺があることから、その可変に動く方向を示すインジケーター708、インジケーター709がそれぞれコンテナA、コンテナC内に表示されている。これはインジケーターが示す方向(または、これと逆方向)に各コンテナの辺が可変に動くことが可能であることを示す機能である。さらにコンテナにはコンテナの9つの基点(各辺の端部及び中点、コンテナ内部の中心位置)を表すクリップ720が各コンテナに表示されている。
図7の図中にはコンテナの幅の最大サイズ(コンテナの最大拡大可能位置)をコンテナAには点線715、コンテナCには点線716として示しているが、これは本実施形態の説明において視覚的な補助として用いられるものであり、実際のプレビュー機能においては必須の表示ではない。また、図7のコンテナA内には<商品名>(717)、コンテナB内には<商品イメージ>(718)、コンテナC内には<説明文>(719)の表示があるが、これもデータベースのDBフィールド名(列名)との関連性を示している一例であり、例えばコンテナAには商品名のテキスト、コンテナBにはコンテナAに入る商品の商品イメージ、コンテナCにはコンテナAに入る商品の説明文のテキストがデータとして挿入されることを意味している。
更に、図18は、図7の状態における、コンテナCのプロパティダイアログウィンドウを示す図であり、図20は、プロパティダイアログウィンドウの操作手順を説明するフローチャートである。以下、両図を参照しつつ、プロパティダイアログウィンドウの操作手順を説明する。まず、ステップS2002において、レイアウト編集アプリケーション121は、キーボード132やマウス133等の指示入力手段からの操作指示により、条件設定の対象となるコンテナを選択する(例えば、コンテナCを選択)。ステップS2003において、コンテナのプロパティを画面(144)上に表示させる。ここで、プロパティの表示は、マウスの右クリックメニューの選択、あるいはキーボードからのAltキー等により表示させることができる。
本実施形態ではコンテナサイズとフォントサイズを可変にするかどうか、またそれに伴う設定に関してのみ、プロパティダイアログウィンドウ内に表示している。このプロパティダイアログウィンドウ1801はタイトルバー1802、ツールボタン1803、プロパティダイアログウィンドウのオープン、クローズを行うボタン1804、各種の情報をセットするエリア1827で構成されている。このプロパティダイアログウィンドウ1801には、コンテナサイズを可変にする(Flexible Container)ための選択オプション1805がある。この選択オプションをONにすると1806(Container Size)内がEnableとなる(S2004-YES)。ただし、この場合、コンテナCの高さはアンカー707によって固定になっているために、高さを指定するエリア1808はグレーアウトされている。逆に、コンテナCの幅は辺714が可変であるために幅を指定するエリア1807はデータの入力が可能なEnable状態となる。同様に全てのコンテナのコーナーにアンカーが付いている場合は、選択オプション1805自体グレーアウトされ、選択することができない。その他の実施形態としてコンテナのプロパティからプレビュー表示309を変更することも考えられる。一方、図20のステップS2004で、コンテナサイズを可変にしない場合は(S2004−NO)、処理を終了する。
図20のステップS2005において、レイアウト編集アプリケーション121は、ユーザからの操作指示に応じて、コンテナサイズの最大値、最小値を入力し決定する(第2情報)。ボックス1809(Min. Distance)にはコンテナの幅の最小値が設定される。現在のデータは、この欄に値80が設定されている。ボックス1810(Distance)にはコンテナの現在の幅が表示されている。図7の状態では現在の幅は80となっている。次に、ボックス1811(Max. Distance)はコンテナの幅の最大値が設定される。現在、ここには値120が設定されている。
同様に1813はコンテナの高さの最小値、1814はコンテナの現在の高さ、1815はコンテナの高さの最大値がそれぞれ設定される。リストボックス1812とリストボックス1816はコンテナサイズの単位を設定することができる。ここでは例としてmmが表示されているが、inchやpixel等も考えられる。
処理をステップS2006に進め、レイアウト編集アプリケーション121は、ユーザからの操作指示に応じて、フォントサイズを可変にするか否かを決定する。プロパティダイアログウィンドウ1801には、フォントサイズを可変にするか(Shrink to Fit)の選択オプション1817があり、フォントサイズを可変にする場合は(S2006−YES)、この選択オプションをONにすると1818(Font Size)内がEnableとなる。フォントサイズを可変にしない場合は(S2006−NO)、処理を終了する。
ステップS2007では、レイアウト編集アプリケーション121は、ユーザからの操作指示に応じて、フォントサイズの最大値、最小値を入力し決定する(第1情報)。ここで、図18のボックス1820(Minimum Size)にはフォントの最小値が設定される。現在の設定値は12が設定されている状態を示している。ボックス1821(Current Size)は現在のフォントサイズの設定が表示されている。図7の設定ではフォントサイズは16となっている。ボックス1822(Mazimum Size)にはフォントの最大値が設定される。現在ここには値16が設定されている。リストボックス1823ではフォントサイズの単位が設定され、現在は例として「points」が表示されているが、コンテナサイズの場合と同様の単位も考えられる。1819はフォントの最小値、現在の値、最大値を表す、ユーザへの視覚的補助プレビューである。
このプロパティダイアログウィンドウ1801には上記の他に、コンテナに大きなサイズのテキスト、あるいは現在のコンテナのコンテナサイズやフォントの設定ではコンテナから文字が溢れてしまう場合に、コンテナサイズとフォントサイズのどちらを優先してレイアウトの計算を進めるかの選択ボタン1825と選択ボタン1826がある。この2つの選択ボタンは、コンテナサイズとフォントサイズのどちらかが可変に変化しない場合は、計算の優先順位を設定する必要がないため、上記で説明した選択オプション1805と選択オプション1817が両方チェックされている場合において、Enableにすることができる。
ステップS2008において、レイアウト編集アプリケーション121は、ユーザからの操作指示に応じて、レイアウト計算の優先順位を選択する。ここでは選択ボタン1826(先にコンテナサイズを拡大する)が選択されているため、テキストデータがコンテナから溢れた場合は、コンテナサイズを先に拡大してレイアウト計算を行う。
以上の手順によりプロパティダイアログウィンドウ上の操作が終了する。
<コンテナサイズが優先する場合>
次に、コンテナサイズを優先する場合の例を説明する。図8は、図7の状態のレイアウトにデータが挿入された時のレイアウトの途中経過を示す図である。そして、図21はデータを挿入した時に、図18のプロパティダイアログウィンドウで設定されたオプションによりレイアウトを計算をする処理の流れを説明するフローチャートである。まず、ステップS2102において、レイアウト編集アプリケーション121は、各コンテナにコンテンツのデータの受け渡しを行う。ついで、ステップS2103では、レイアウト編集アプリケーション121は、対象となるコンテナの基本パターンで定義されているコンテナサイズ(幅、高さ)の基準値と、流し込まれるべきデータのテキスト量と、コンテナ属性で定義されているフォントサイズとから、コンテナから文字があふれるか否かを判断する。コンテナサイズの基準値から文字があふれると判断した場合は、ステップS2104に処理を進め、あふれないと判断した場合は、対象となるコンテナサイズの計算処理は終了する。コンテナから文字が溢れる場合(S2103-YES)は、レイアウト編集アプリケーション121は、コンテナのプロパティの設定を読み込み、計算順序の優先設定があるかどうかを判断する(S2104)。
優先順位の設定がある場合(S2104-YES)、レイアウト編集アプリケーション121は、コンテナサイズかフォントサイズのいずれの変更を優先するか判断する(S2105)。コンテナサイズの変更が優先と設定されている場合は(S2105-コンテナ)、フォントサイズよりもコンテナサイズの変更が優先され、レイアウト編集アプリケーション121は、インジケーター(移動が可能な方向を示す矢印)に従いコンテナを制約の許す方向に拡大する(S2106)。図7のコンテナAは、テキストの量が多いため可動辺714がコンテナの最大サイズ716まで達した状態になっている。この状態ではまだフォントサイズが縮小されていないため、挿入されたテキストが全て表示されていない。
図9は、図8に示すコンテナCに挿入されたテキストのフォントサイズを縮小した時の状態を示す図である。図21のステップS2108において、レイアウト編集アプリケーション121は、コンテナサイズを最大値まで拡大しても、まだ、コンテナからテキストが溢れるか否かを判断する。コンテナからテキストがあふれると判断された場合(S2108-YES)、処理をステップS2110に進め、レイアウト編集アプリケーション121は、フォントサイズをコンテナに収まるか、フォントの最小サイズの制約まで縮小する。フォントサイズの縮小により、図9に示すコンテナCには、全てのテキストが収められている。図9の状態でコンテナCのサイズは最大値の120、フォントサイズは最小値の12になっている(図18の設定を参照)。
図21のフローチャートにおいて、ステップS2103の判断で、コンテナからテキストが溢れない場合(S2103−NO)、また、ステップS2104の判断で、優先順位の設定がされていない場合(S2104−NO)、更に、ステップS2108において、コンテナサイズの拡大によりテキストが全て収まると判断される場合(S2108−NO)は図21のコンテナサイズを優先させて行う処理は終了する。
<フォントサイズが優先する場合>
次に、フォントサイズを優先して計算する例を説明する。図12は、コンテナを使用して作成された一般的なレイアウトの状態を示す図であり、図7と同様にアプリケーションウインドウ301とツールバー303があり、ドキュメントテンプレート309上にコンテナA(1201)、コンテナB(1202)、コンテナC(1203)、コンテナD(1240)、コンテナE(1245)、コンテナF(1250)が存在する。
コンテナA、コンテナB、コンテナCは、アンカーアイコン1213、アンカーアイコン1214、アンカーアイコン1215と、固定された辺1204、辺1205、辺1206から構成される。また、コンテナD、コンテナE、コンテナFは、固定された辺1207、辺1208、辺1209と、移動が可能な辺1228、辺1229、辺1230、辺1231、辺1232、辺1233、またコンテナのサイズが上下に可変に拡大縮小することを示すスライダー1210、スライダー1211、スライダー1212、さらにその他、図7で説明したインジケーター(1260、1265等)やクリップ(1290等)から構成されている。
図12の図中において、コンテナの高さの最大サイズ(コンテナの最大拡大可能位置)は、コンテナDの場合、上方向の点線1216と下方向の点線1217により与えられる。コンテナEの最大サイズは、上方向の点線1218と下方向の点線1219により与えられ、そして、コンテナFの最大サイズは上方向の点線1220と下方向の点線1221により与えられる。ここで示した最大サイズを示す破線(1216、1217等)は説明を視覚的に補助するための表示であり、実際のプレビュー機能においては必須の表示ではない。また、コンテナA、コンテナB、コンテナC内には<項目名>(1222、1223、1224)、コンテナD、コンテナE、コンテナF内には<説明文>(1225、1226、1227)の表示が挿入されるが、これもデータベースのDBフィールド名(列名)との関連性を示している一例であり、例えばコンテナAには項目のテキスト、コンテナDにはコンテナAに入る項目の説明文のテキストがデータとして挿入されることを意味している。
図19は、図12の状態における、コンテナEのプロパティダイアログウィンドウを示す図である。この内容は図18と同じ構成であり、コンテナサイズとフォントサイズを可変にするかどうか、またそれに伴う設定に関してのみ、プロパティダイアログウィンドウ内に表示している。図12において、コンテナEは全てのコーナーがアンカーによって固定されていないため、選択オプション1805はグレーアウトされない。選択オプション1805はチェックされているため、枠1806内はEnableとなるが、この例ではコンテナの幅を設定するエリア1807のボックス1809、1810、1811そしてリストボックス1812がグレーアウトされている。これは図12中において図示しているとおり、コンテナEの幅は固定サイズであり、スライダーによって上下に辺1208の長さが可変に動くコンテナであり、幅方向の伸縮が制限されるためである。ボックス1813(Min. Distance)にはコンテナの高さの最小値が設定される。現在は値30が設定されている。ボックス1814(Distance)にはコンテナの現在の高さが表示されている。図12の状態では現在の高さは30となっている。ボックス1815(Max. Distance)はコンテナの高さの最大値が設定され、現在は値45が設定されている。
ボックス1820(Minimum Size)にはフォントの最小値が設定され、ここには値10が設定されている。ボックス1821(Current Size)は現在のフォントサイズ12が設定されている。そして、ボックス1822(Mazimum Size)にはフォントの最大値が設定され、ここには値12が設定されている。計算の優先順位の指定では、選択ボタン1825(先にフォントサイズを小さくする)が選択されているため、テキストデータがコンテナから溢れた場合は、フォントサイズを先に縮小してレイアウト計算を行う。
図13は、図12のレイアウトにデータが挿入された時のレイアウトの途中経過を示す図である。ここで、フォント優先でレイアウトを変更する処理を図21を参照しつつ説明する。全てのコンテナにはテキストデータが挿入されており(S2102)、コンテナDでは、図12の設定のフォントサイズではテキストデータがコンテナから溢れるためフォントを少し縮小し、全てのテキストを表示している(ここではフォントサイズの計算を優先しているとする。)。
コンテナDのフォントサイズは、この時点で初期に設定されていた値12から値11となっている。また、コンテナFは現在(初期設定)のフォントサイズ(値12)においてもテキストデータがコンテナから溢れなかったため、サイズの変更は全くなく、全てのテキストをコンテナ内に収め、データを表示することができている。
一方、コンテナEでは大きいデータ量のテキストが挿入されたため(図21のS2103-YES)、レイアウト編集アプリケーション121は、コンテナEのプロパティの設定を読み込み、計算順序の優先の設定があるかどうかを判断する(S2104)。フォントサイズの変更が優先と設定されていると判断された場合は(S2105-フォント)、レイアウト編集アプリケーション121は、コンテナサイズよりもフォントサイズが優先して、コンテナに挿入されたテキストのフォントをコンテナに収まるか、フォントの最小サイズの制約まで縮小する(S2107)。
しかし、ステップS2107の処理で、フォントサイズを最小値まで縮小したのにもかかわらず、コンテナから文字量があふれるかを判断する。コンテナから文字量があふれる。つまりテキストを全て表示できないと判断された場合は(S2109−YES)、レイアウト編集アプリケーション121は、コンテナのサイズ(幅、高さ)を制約に基づき拡大する(S2111)。コンテナEは中心から制約に基づき、左右方向や上下方向に、テキストが全て表示されるまでコンテナを拡大する。
図14はコンテナEのコンテナサイズが高さ方向に拡大した時の状態を示す図である。フォントサイズを縮小し、それでもテキストがコンテナから溢れる場合は、コンテナサイズを変更することによって全てのテキストを表示することが可能になる。図14の状態では、コンテナEのフォントサイズは最小値の10、コンテナサイズは42(最大値は45)になっている。図12〜14で示したフォントサイズを小さくする処理を優先する例においては、ユーザはなるべく背景のフォームに合うようテキストを配置されることを望むため、大きなサイズのテキストデータが挿入された場合には、なるべくコンテナサイズは変えることなく、フォントサイズを縮小することで対処することを望むが、逆にあまりにもフォントを小さくすると、読みづらくなるため、ある一定のフォントサイズも維持しつつ、さらにテキストも全て表示できるようにする場合には、フォントサイズを縮小した後に、コンテナサイズを微増拡大し、多少フォームをオーバーしても、読みやすさを維持しつつテキストの全体をコンテナに収めて表示することが可能になる。
<ドキュメントテンプレートのデータ構成>
図23は、ページに配置されるデータのレイアウトを定めるドキュメントテンプレートのデータの構成例を示す図である。ドキュメントテンプレートのデータには、ページのサイズ2301、コンテナに関連する情報(2302、2303、2304)、そしてコンテナ間を接続するリンクに関連する情報が含まれる。
ページのサイズ2301には、縦横の長さや規格サイズなどが含まれ、コンテナの情報2302には、コンテナの幅、高さ、ページ内にレイアウトされる位置、コンテナを構成する辺が固定であるか、可動であるか、そして、アンカー、スライダーが設定されるか等の属性情報と、上述のフォントサイズを小さくする、またはコンテナサイズを大きくする処理に関する優先順位の設定情報とが含まれる。コンテナ情報の幅、高さに関する情報と、このコンテナに割り当てられたデータの文字数、データ量、フォント情報等とを比較することにより、このコンテナにデータを収めることができるか否かを判断することができる。また、リンク情報には、コンテナ間の接続の関係を示すデータ、固定リンク、可変長リンクの設定に関する情報が含まれる。テンプレートデータは、メモリ136あるいはハードディスク140に格納されていて、プレビュー表示、データの印刷時に上述の優先順位を反映したテンプレートを利用して種々の文書処理を行うことが可能になる。
以上説明したとおり、本実施形態によれば、フォントサイズの変更、コンテナサイズの変更に関して優先順位を設定し、これらをページ内のレイアウトを決定するテンプレートのデザインに反映することで、ユーザの意図を反映した文書処理を実現することが可能になる。
<第2実施形態>
第1実施形態における図18や図19で示した方法の他にもレイアウト計算時に、フォントサイズを優先するのか、コンテナサイズを優先するのかを設定する方法が考えられる。図18や図19で示した方法では、コンテナのプロパティダイアログウィンドウを開く必要があったが、例えば、ディスプレイ装置144の画面上に表示されているコンテナのレイアウトから、任意のコンテナを選択し、マウス133の右クリックにより表示されるポップアップメニューにそれらの設定コマンドを挿入しておいてもよい。
図22はマウスの右クリックによるポップアップメニュー(2200)の一例を示す図である。メニュー2201はコンテナ内テキストのフォント(font)属性の設定をするコマンドである。メニュー2202はフォントカラー(color)の設定、メニュー2203は水平方向の揃え、メニュー2204は垂直方向の揃え、メニュー2205は背景色(透明も含む)、メニュー2206はオーダーの設定、メニュー2207はコンテナの削除コマンド、メニュー2208はExpressionの編集、メニュー2209はコンテナのプロパティダイアログウィンドウを開くコマンド、そしてメニュー2210がコンテナサイズよりフォントサイズを優先してレイアウト計算することを設定するコマンド、そして、メニュー2211がフォントサイズよりコンテナサイズを優先してレイアウト計算することを設定するコマンドである。
これらのコマンドは第1実施形態でも説明したとおり、コンテナのサイズとフォントサイズが、コンテナのプロパティにおいて可変の設定になっていることが前提となる。ドキュメントをディスプレイ装置144の画面上にプレビュー表示させた状態で、ダイレクトにコンテナの設定をかえようとする場合、固定辺、可動の辺の設定状態がプロセッサユニット135により判断され、コンテナのサイズとフォントサイズが、コンテナのプロパティにおいて可変できる場合のみポップアップメニューの表示をEnableとし、そうでない場合はグレーアウトするようにすることもできる。
本実施形態にかかる設定方法によれば、ユーザーはよりすばやくレイアウト計算のための設定を行うことができ、より効率的にレイアウトを実行することが可能になる。
<他の実施形態>
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明の実施形態にかかるコンピュータシステムの構成を示す図である。 ホストコンピュータの具体的な構成を説明する図である。 レイアウトエンジンモジュールをホストコンピュータ101の他にエンジンサーバ227にもレイアウトエンジン225を設けた構成を示す図である。 メニューバー、ツールバー、ワークエリア、フローティングパレットを含むユーザインターフェース画面を示す図である。 コンテナ間のリンク、アンカーやスライダーを持つコンテナを示す図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 リンク作成時のユーザーインターフェースの画面表示例を示す図である。 コンテナを使用して作成された一般的なドキュメントのレイアウトを示す図である。 図7の状態のレイアウトにデータが挿入された時のレイアウト途中経過を示す図である。 図8に示すコンテナCに挿入されたテキストのフォントサイズを縮小した時の状態を示す図である。 レイアウト計算の流れを説明するフローチャートである。 レイアウト計算の詳細な処理の流れを説明するフローチャートである。 コンテナを使用して作成された一般的なレイアウトの状態を示す図である。 図12のレイアウトにデータが挿入された時のレイアウトの途中経過を示す図である。 コンテナEのコンテナサイズが高さ方向に拡大した時の状態を示す図である。 レイアウト計算時におけるコンテナの集合について説明した図である。 リンクの設定方法の具体的な内容を説明するフローチャートである。 図11のフローに対応するユーザーインターフェース画面の表示例を示した図である。 図7の状態における、コンテナCのプロパティダイアログウィンドウを示す図である。 図12の状態における、コンテナEのプロパティダイアログウィンドウを示す図である。 プロパティダイアログウィンドウの操作手順を説明するフローチャートである。 データを挿入した時に、図18のプロパティダイアログウィンドウで設定されたオプションによりレイアウトを計算をする処理の流れを説明するフローチャートである。 マウスの右クリックによるポップアップメニュー(2200)の一例を示す図である。 ドキュメントテンプレートのデータの構成例を示す図である。

Claims (6)

  1. 設定手段と、第1判定手段と、第1変更手段と、第2判定手段と、第2変更手段と、配置手段と、生成手段と、リンク設定手段と、決定手段とを有し、データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理を実行する文書処理装置における文書処理方法であって、
    前記設定手段が、フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定工程と、
    前記生成手段が、前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成工程と、
    前記リンク設定手段が、前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定工程と、
    前記第1判定手段が、前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定工程と、
    前記第1変更手段が、前記第1判定工程における判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定工程によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更工程と、
    前記第2判定手段が、前記設定工程において設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更工程が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定工程において設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更工程が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定工程と、
    前記第2変更手段が、前記第2判定工程において前記第1変更工程により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定工程において前記第1変更工程により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更工程と、
    前記配置手段が、前記第2変更工程において変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置工程と
    前記決定手段が、前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定工程と、を有し、
    前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性に基づいて決定されることを特徴とする文書処理方法。
  2. 前記設定工程は、部分表示領域のフォントサイズに関する情報としてフォントサイズの最小値を設定し、
    前記第1変更工程は、前記最小値よりも大きいフォントサイズであり、かつ、前記データが前記部分表示領域に収まるように、前記データのフォントサイズを縮小することを特徴とする請求項1に記載の文書処理方法。
  3. データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理を実行する文書処理装置であって、
    フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定手段と、
    前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成手段と、
    前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定手段と、 前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定手段と、
    前記第1判定手段による判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定手段によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更手段と、
    前記設定手段により設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定手段により設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定手段と、
    前記第2判定手段において、前記第1変更手段により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定手段において、前記第1変更手段により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更手段と、
    前記第2変更手段により変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置手段と
    前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定手段と、を有し、
    前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性と、に基づいて決定されることを特徴とする文書処理装置。
  4. 前記設定手段は、部分表示領域のフォントサイズに関する情報としてフォントサイズの最小値を設定し、
    前記第1変更手段は、前記最小値よりも大きいフォントサイズであり、かつ、前記データが前記部分表示領域に収まるように、前記データのフォントサイズを縮小することを特徴とする請求項に記載の文書処理装置。
  5. データと、当該データが入力される部分表示領域を有するテンプレートとに基づいてレイアウト処理をコンピュータに実行させる文書処理プログラムであって、当該文書処理プログラムが、コンピュータを、
    フォントサイズから変更するのか、部分表示領域のサイズから変更するのかを示す優先順位を部分表示領域に対して設定する設定手段と、
    前記部分表示領域に関連づけた前記優先順位を示す情報を含むテンプレートを生成する生成手段と、
    前記テンプレートに配置された複数の部分表示領域の中の2つの前記部分表示領域を関連付けるリンク情報を設定するリンク設定手段と、
    前記データを前記テンプレートの部分表示領域に配置できるか否かを判定する第1判定手段と、
    前記第1判定手段による判定結果により、前記データを前記部分表示領域に配置できないと判定された場合は、前記設定手段によって当該部分表示領域に設定された優先順位の情報に従って、前記データのフォントサイズまたは当該部分表示領域のサイズを変更する第1変更手段と、
    前記設定手段により設定された優先順位がフォントサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従ってフォントサイズから変更した後、当該変更されたフォントサイズにて前記データを前記部分表示領域に配置できるか否かを判定し、前記設定手段により設定された優先順位が前記部分表示領域のサイズから変更することを示す場合、前記第1変更手段が前記優先順位に従って前記部分表示領域のサイズから変更した後、当該変更されたサイズの部分表示領域に前記データを配置できるか否かを判定する第2判定手段と、
    前記第2判定手段において、前記第1変更手段により変更されたフォントサイズにて前記データを前記部分表示領域に配置できないと判定された場合、当該部分表示領域のサイズを変更し、前記第2判定手段において、前記第1変更手段により変更されたサイズの部分表示領域に前記データを配置できないと判定された場合、当該データのフォントサイズを変更する第2変更手段と、
    前記第2変更手段により変更された部分表示領域のサイズ、または、前記データのフォントサイズを用いて、当該データを当該部分表示領域に配置する配置手段と
    前記リンク情報により関連付けられた第1部分表示領域と第2部分表示領域とについて、前記第1部分表示領域に入力されるデータのサイズと当該第1部分表示領域のレイアウト後のサイズとの差、および、前記第2部分表示領域に入力されるデータのサイズと当該第2部分表示領域のレイアウト後のサイズとの差が等しくなるように、前記第1部分表示領域と第2部分表示領域とのサイズを決定する決定手段として機能させ、
    前記データのサイズは、前記データの文字数と、前記データが入力される部分表示領域の文字属性と、に基づいて決定されることを特徴とする文書処理プログラム。
  6. 前記設定手段は、部分表示領域のフォントサイズに関する情報としてフォントサイズの最小値を設定し、
    前記第1変更手段は、前記最小値よりも大きいフォントサイズであり、かつ、前記データが前記部分表示領域に収まるように、前記データのフォントサイズを縮小することを特徴とする請求項に記載の文書処理プログラム。
JP2004024586A 2004-01-30 2004-01-30 文書処理方法、文書処理装置及び文書処理プログラム Expired - Fee Related JP4194501B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004024586A JP4194501B2 (ja) 2004-01-30 2004-01-30 文書処理方法、文書処理装置及び文書処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004024586A JP4194501B2 (ja) 2004-01-30 2004-01-30 文書処理方法、文書処理装置及び文書処理プログラム

Publications (3)

Publication Number Publication Date
JP2005216181A JP2005216181A (ja) 2005-08-11
JP2005216181A5 JP2005216181A5 (ja) 2006-08-03
JP4194501B2 true JP4194501B2 (ja) 2008-12-10

Family

ID=34907226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004024586A Expired - Fee Related JP4194501B2 (ja) 2004-01-30 2004-01-30 文書処理方法、文書処理装置及び文書処理プログラム

Country Status (1)

Country Link
JP (1) JP4194501B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4574513B2 (ja) 2005-10-21 2010-11-04 キヤノン株式会社 情報処理装置、印刷装置、情報処理方法、プログラムおよび記憶媒体
JP4827498B2 (ja) * 2005-11-11 2011-11-30 キヤノン株式会社 レイアウト方法及びその装置
JP4743154B2 (ja) * 2006-07-05 2011-08-10 セイコーエプソン株式会社 文書編集装置、プログラムおよび記憶媒体
US8149442B2 (en) * 2008-10-22 2012-04-03 Xerox Corporation Knowledge-based content sub-setting method for variable information printing
JP5496277B2 (ja) * 2012-07-23 2014-05-21 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム及び記憶媒体
JP2014219902A (ja) * 2013-05-10 2014-11-20 ウイングアーク1st株式会社 文書処理装置および文書処理用プログラム
US10296572B2 (en) 2014-05-16 2019-05-21 Brother Kogyo Kabushiki Kaisha Editing apparatus
JP6558331B2 (ja) * 2016-09-14 2019-08-14 京セラドキュメントソリューションズ株式会社 画像処理装置
US11941227B2 (en) * 2021-06-30 2024-03-26 Snap Inc. Hybrid search system for customizable media

Also Published As

Publication number Publication date
JP2005216181A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4241410B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4059504B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4250540B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US7805672B2 (en) Layout processing method, layout processing apparatus, and layout processing program that changes the priority of an area for automatic layout
US7596746B2 (en) Information processing method and apparatus, and computer-readable program
US7555710B2 (en) Method, apparatus and program for determining layout of a page using links between partial areas in the page
JP4560416B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
JP4912139B2 (ja) 情報処理装置
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
US7847971B2 (en) Layout processing method, information processing apparatus, and computer program
JP4262164B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2006209663A (ja) レイアウト決定方法及び装置並びにプログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP2007122486A (ja) Web文書処理方法、プログラム、記憶媒体
JP2007122487A (ja) 自動レイアウトシステム
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2007094756A (ja) 情報処理装置、レイアウト処理方法、記憶媒体およびプログラム
JP2007048198A (ja) 自動レイアウトシステム
JP2009134578A (ja) 文書処理装置、文書処理プログラム、記憶媒体
JP2008287504A (ja) 文書処理装置および方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

R150 Certificate of patent or registration of utility model

Ref document number: 4194501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees