JP4298642B2 - レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム - Google Patents

レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム Download PDF

Info

Publication number
JP4298642B2
JP4298642B2 JP2004361482A JP2004361482A JP4298642B2 JP 4298642 B2 JP4298642 B2 JP 4298642B2 JP 2004361482 A JP2004361482 A JP 2004361482A JP 2004361482 A JP2004361482 A JP 2004361482A JP 4298642 B2 JP4298642 B2 JP 4298642B2
Authority
JP
Japan
Prior art keywords
page
area
container
layout
data
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
JP2004361482A
Other languages
English (en)
Other versions
JP2006171979A (ja
JP2006171979A5 (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 JP2004361482A priority Critical patent/JP4298642B2/ja
Priority to US11/299,559 priority patent/US7707495B2/en
Priority to CNB2005101342793A priority patent/CN100458780C/zh
Publication of JP2006171979A publication Critical patent/JP2006171979A/ja
Publication of JP2006171979A5 publication Critical patent/JP2006171979A5/ja
Application granted granted Critical
Publication of JP4298642B2 publication Critical patent/JP4298642B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/114Pagination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Description

本発明は、自動レイアウトシステムにおける装置/媒体、およびレイアウト手法に関するものである。
近年、商品の多品種化で商品寿命が短くなっていること、あるいはインターネット利用の普及により消費者のカスタマイズサービス指向が高まってきていること、などに起因してCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法は、顧客満足度を高め、顧客の開拓や囲い込みを目指すという目的に対して非常に効果的なものである。
One−to−Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析したうえで、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。特に最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及とに伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになってきている。
一般に、バリアブルプリントシステムではそのようなカスタマイズ文書を作成するにあたり、ドキュメント上にコンテナをレイアウトする。コンテナとはオブジェクトの1つでありデータベース化されたコンテンツ(描画内容)を描画するための矩形の部分領域をいう(フィールド領域と呼ばれることもある)。かかるバリアブルプリントシステムによれば、ドキュメント上にこのようなコンテナをレイアウトした後、データベースとコンテナとを関連付ける(データベースの各コンテンツと各コンテナとを関連付ける)ことにより、カスタマイズ文書(ドキュメント)を作成することができる。
しかし、バリアブルプリントシステムの場合、コンテナのサイズが固定であるためデータベース内の各コンテンツを構成するデータがコンテナに流し込まれた際、コンテンツデータ量がコンテナサイズより大きいとコンテンツデータの一部が欠落するオーバーフロー、またコンテンツデータ量がコンテナサイズより小さいとコンテナに隙間が空いてしまうという問題があった。
かかる問題を解決するために、コンテンツによってコンテナのレイアウトを動的に変更するシステムが考えられ、流し込まれるテキストデータおよびイメージデータのコンテンツデータ量に応じてコンテナサイズを決定することで上述したオーバーフローや隙間が生じるといった問題点を解決することができる。
具体的には、コンテナのサイズを可変とし、流し込まれるコンテンツデータのデータ量に応じてコンテナのサイズを大きくしてレイアウトしたり、またテキストデータの場合にあっては、コンテナ内のフォントのサイズを可変とし、流し込まれるデータのデータ量に応じてフォントのサイズを縮小してレイアウトすることにより、コンテナ内に入りきらないデータ量のテキストデータが流し込まれた場合であっても、コンテナ内に全てのテキストデータを表示させることが可能である。
上述した技術の一部を実現しているレイアウトシステムとして下記特許文献1が挙げられる。
下記特許文献1においてはコンテナ内に文字を入力していき、あらかじめ設定したサイズのコンテナ内に文字が収まりきらない量の文字が入力された場合は、文字の入力に応じてコンテナサイズを拡大していき、その拡大に応じて隣接するコンテナサイズが縮小されるといった技術が開示されている。
特開平7−129658号
しかしながら、上記レイアウトシステムの場合、コンテナ内に入力されるテキストデータのデータ量の増加に応じて該コンテナは拡大され、その拡大に応じて隣接するコンテナのサイズは縮小されていくが、コンテナは入力が続く限り拡大処理が続けられるため、結果として隣接するコンテナは縮小を続けなければならず、バランスの取れたレイアウトを作成することはできない。さらに、上記レイアウトシステムではバリアブルプリントについて想定しておらず、各コンテナにコンテンツを流し込んでいくということも考慮されていない。
また、バリアブルデータプリントを考慮したレイアウト方法として、固定のコンテナを作成し、そこにコンテンツデータを流し込んでいくものがある。しかし、固定サイズのコンテナを用いる場合、コンテナサイズより大きいサイズのコンテンツデータが流し込まれると、オーバーフローが生じてしまったり、フォントサイズを縮小して無理に流し込もうとするとフォントサイズが極端に小さくなってしまうといった問題が生じてしまう。
そこで、上記問題を解決するためのレイアウト方法として、関連付けられた複数の可変コンテナ間のサイズバランスを考慮したレイアウト方法が考えられる。これにより、各コンテナに流し込まれるコンテンツデータのサイズに応じて各コンテナのサイズが変更され、さらに関連付けられているコンテナ間で各コンテナサイズの変化量を調整したレイアウト処理を行うことでコンテナのサイズバランスが考慮されたレイアウト結果を得ることができる。
さらに、上記レイアウト方法を複数ページについて適応することも考えられる。つまり、コンテンツデータが流し込まれるコンテナを予め複数ページに設定することにより、コンテンツデータは複数ページに設定された各コンテナに流し込まれるため、複数ページにおけるページ毎に上記レイアウト方法を行うことが可能となる。
しかし、上記レイアウト方法では、例えばコンテナAを1ページ目にコンテナBを2ページ目に配置して、コンテンツデータを各コンテナに流し込み上記サイズ調整をした場合、コンテナAに流し込まれたコンテンツデータのサイズが小さいため、コンテンツデータが流し込まれたコンテナBを1ページ目に配置する隙間が生じる場合が考えられる。
このような場合であっても、上記レイアウト方法では予め設定されたページ内でコンテナのサイズを調整してレイアウトすることしか考慮しておらず、隙間が生じることによって見栄えの悪いレイアウトになるだけでなく、無駄なページが発生してしまう恐れがある。
本願発明は上記課題に鑑みてなされたものであり、複数のコンテナを関連付けるリンクを複数ページを跨いで設定できるようにすることで、流し込まれたコンテンツデータに応じて予め設定されたページにコンテナを配置するのか、それとも予め設定されたページとは異なるページにコンテナを配置するのかを判断することが可能となり、複数ページを考慮して全体的にバランスの取れた自動レイアウト処理を行うことを目的とする。
上記目的を達成するために、本発明は次のような構成からなる。すなわち、調整手段と、第1判定手段と、第2判定手段と、決定手段とを備え、複数のデータ領域を有するテンプレートのレイアウトを、各データ領域に流し込まれるコンテンツデータに従って決定するレイアウト処理装置におけるレイアウト処理方法であって、前記調整手段が、複数のデータ領域に対して流し込まれる前記コンテンツデータに応じて前記複数のデータ領域のレイアウトを調整する調整工程と、前記第1判定手段が、前記調整工程によって調整された前記レイアウトに予め設定された第1ページ領域をはみ出すデータ領域がある場合、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定する第1判定工程と、前記第1判定工程が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると判定した場合、前記第2判定手段が、当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できるか否かを判定する第2判定工程と、前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できると判定した場合、前記決定手段が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると決定し、前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小しても当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できないと判定した場合、前記はみ出すと判定されたデータ領域を前記第2ページ領域に配置すると決定する決定工程を有することを特徴とする。
複数のコンテナを関連付けるリンクを複数ページを跨いで設定できるようにすることで、流し込まれたコンテンツデータに応じて予め設定されたページにコンテンツを流し込むのか、それとも予め設定されたページとは異なるページにコンテンツを流し込むのかを判断し、複数ページを考慮して全体的にバランスの取れたレイアウト処理を行うことができる。
本発明の実施例を適用するのに好適である実施例について説明を行う。
本発明の実施例を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
<システム構成図>
まず、図1Aおよび図1Bを参照して、本発明の一実施形態にかかるホストコンピュータ(情報処理装置)を備える自動レイアウトシステムの構成を説明する。図1Aは自動レイアウトシステム100の構成例を示すブロック図である。また、図1Bは図1Aに示されたホストコンピュータ(情報処理装置)101の構成を更に詳細に示すブロック図である。
本実施形態で説明されるレイアウト編集処理ならびに自動レイアウト処理は、ホストコンピュータ101(汎用コンピュータモジュールで構成される)によって実行される。自動レイアウトシステム100上で実施可能となるレイアウト編集アプリケーションプログラム121はホストコンピュータ101において、そのソフトウェアの全体、あるいは一部分が実行され、これにより、上記レイアウト編集処理ならびに自動レイアウト処理が実現される。
レイアウト編集アプリケーションプログラム121はコンピュータの可読媒体に格納され、そのコンピュータの可読媒体からホストコンピュータ101のメモリ136にロードされ、実行される。そのようなソフトウェアやコンピュータプログラムを格納したコンピュータの可読媒体はコンピュータプログラム製品である。コンピュータにおいてそのコンピュータプログラム製品を使用することにより、ドキュメントの作成や作成されたドキュメントの印刷に好適な装置が提供されることになる。
コンピュータモジュール101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置を連結する。入力/出力インターフェース138はコンピュータモジュール101をネットワーク接続107から接続してシステム100の他のコンピュータ装置につなげることができる。そのネットワーク接続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から143を利用する。図に記述した配置コンピュータの例ではIBM互換PCやSUN社のSparc Station、あるいはそれらを含んだコンピュータシステムが考えられる。
レイアウト編集アプリケーションプログラム121は典型的にハードディスクドライブ140に常駐し、プロセッサ135により実行、読み込みが制御される。プログラム121の媒介記憶装置とネットワーク1020からフェッチされるデータはハードディスクドライブ140に呼応して半導体メモリ136を使用する。いくつかのインスタンスではアプリケーションプログラム121がCD−ROMやフロッピー(登録商標)ディスク上でエンコードされ、対応するドライブ142や141を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてレイアウト編集アプリケーション121はネットワーク接続107からユーザによって読み込まれる場合もある。さらにソフトウェアは磁気テープまたはROMまたは集積回路、光磁気ディスクまたは無線またはコンピュータモジュール101とその他のデバイス間の赤外線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む他の適当な大きさのコンピュータ可読媒体からコンピュータモジュール101内にロードされる可能性もある。前述は単に関連するコンピュータ可読メディアの一例であり、他のコンピュータ可読媒体も使用される可能性はある。
またレイアウト編集アプリケーション121はコンピュータに自動レイアウト処理ならびにレイアウト編集処理を行わせるものであり、3つのソフトウェアコンポーネントを含んでいる。
これらのうち1つめのコンポーネントはレイアウトエンジン105であり、レイアウトエンジン105は、矩形の部分領域であるコンテナに与えられたサイズや位置の設定にしたがって、データベース119に格納されているデータからドキュメント単位でデータを読み込み、読み込んだデータとコンテナの設定とから、読み込んだデータが流し込まれるコンテナの大きさや位置等を計算する自動レイアウト処理を行うソフトウェアコンポーネントである。また、本実施形態におけるレイアウトエンジン105は、更に、コンテナに割り当てられたデータを描画し、ドキュメントのイメージを生成する処理も行う。ただし、本発明はこれに限るものではなく、レイアウトエンジン105は各部分領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、図示省略したプリンタドライバに描画情報を出力することで、プリンタドライバがドキュメントのイメージ描画処理を行い、印刷データを生成するようにしてもよい。
2つめのコンポーネントであるユーザインターフェース103はユーザによるレイアウト編集処理を可能とするもので、具体的には、ユーザはユーザインタフェース103を介してコンテナの作成・移動を行い、ドキュメントテンプレートを作成する。また、ドキュメントテンプレート内の各コンテナとデータとを関連付けるメカニズムを提供する。
3つめのコンポーネントであるUIモデルアナライザ104は、ユーザインターフェース103が提供するコンテナや、アンカー、スライダー、リンクなどのユーザインターフェース要素または各属性をレイアウトエンジン105が認識できる内部形式に変換する。すなわち、UIモデルアナライザ104により、レイアウトエンジン105に変更を加えることなく、ユーザインターフェース103を他の表示または入力形式のユーザインターフェースに容易に取替え可能になる。なお、リンクとはコンテナ間を関連付けるためのものである。
ユーザインターフェース103、UIモデルアナライザ104、レイアウトエンジン105はコミュニケーションチャネル123、124を介して通信する。
ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー117上にある典型的なデータベース119である。ホストコンピュータ101はネットワーク接続107の手段によってデータベースサーバー117と通信する。レイアウト編集アプリケーション121はホストコンピュータ101か一般的に他のコンピュータで構成されるファイルサーバー115に保存されるドキュメントテンプレートを生成する。またレイアウト編集アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバー115に保存されるか、あるいはプリンタ113に直接印刷される。プリントサーバー109は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー109とプリンタ113は典型的な通信チャネル111を介して接続される。
図2はエンジンサーバー227の追加を除き、レイアウトエンジン105の分離バージョン225を含む図1A・図1Bの類似の図である。エンジンサーバー227は典型的なコンピュータである。レイアウトエンジン225は、印刷やその他の目的におじてドキュメントを生成するために、ファイルサーバー115に保存されたドキュメントテンプレートとデータベース119に保存されたデータとを結合する。そのようなオペレーションはユーザインターフェース103を介して要求されるか、特定のレコードのみ印刷するように要求される。
〔アプリケーション構成図〕
[メインウインドウ]
図3で参照されるように、ユーザインターフェース103は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ301によって形成されたユーザインターフェースを含んでいる。ウインドウ301は、非表示にすることや、スクリーン上の色々な場所に移動することが可能なメニューバー302とツールバー303、そしてマウス133の位置・動作によって場所を移動可能なワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313から構成される。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を持つ。
ツールバー303は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット305を持つ。
オプションのルーラー308はワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール312を持つ。パレット311はオプションで、ワークエリアの前面に表示される、あるいはオブジェクトの背面に隠される。パレット311はアプリケーションウィンドウ301の範囲内のみに表示されることも、あるいはアプリケーションウィンドウ301の外側に部分的または全体を表示することもできる。
ツールバーエリア303は図4に示されるように少なくとも次のユーザ選択可能な『ツールボタン』を持つ。
(1)選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、(複数)コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
(2)イメージコンテナツールボタン405:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
(3)テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
(4)リンクツールボタン406:コンテナ間の距離をコントロールするリンクを作成するために使われる。
これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンのツールチップとして実装される。
[ドキュメントテンプレート]
ワークエリア306はドキュメントテンプレートのデザインを表示・編集するために使われる。これによりユーザは下準備で印刷されるドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することが可能なる。
もし外部データソースとの関連づけがテンプレートに設定されていたなら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがそれらのコンテナに表示される。
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309に特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。
与えられたドキュメントテンプレートのページサイズは、ユーザによって指定される。それぞれのドキュメントでの実際のページ数は、流し込まれるコンテンツデータに応じて変化することもあり、もし1ページ内にフィットできなかった時、追加のページは自動的に作成される。
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す任意のページマージンガイド310である。
また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例である、それらは、複数のコンテナ407、408と、任意に適用するアンカーアイコン409と固定されていない辺410、リンク412そしてスライダー413を持つ。
[コンテナ]
コンテナは、ドキュメントテンプレート内にデータベースから固定あるいは可変のコンテンツデータ(テキストまたはイメージ)が流し込まれ、描画される部分領域(データ領域)であり、図4に示されるように他のコンテナと共にドキュメントテンプレート309内に配置される。ユーザインターフェース画面を介して、ユーザからの操作指示により、コンテナはマウス133の操作により移動、サイズ調整、再作成される。下記は本実施形態におけるコンテナの定義である。
(1)コンテナ(データ領域とも呼ばれる)は固定あるいは可変のコンテンツと関連付けられる。可変コンテンツは、データソースから取得したデータがドキュメント毎、つまり、レコードごとに異なる可能性があるという意味でダイナミック(動的)であるということができる。ただし、本実施形態の可変コンテンツは、アニメーション化されたもの、あるいは他の方法で時間的に変化するコンテンツは適していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで同じように表示される。しかしながら、可変コンテンツとリンクが設定されている場合、可変コンテンツの影響を受けて、固定コンテンツはそれぞれのドキュメントで位置が異なる可能性がある。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。このような設定をコンテナ情報と呼ぶ。コンテナ情報は、各コンテナに設定可能であるが、あるコンテナと同じコンテナ情報であるという設定を行うことも可能である。
(3)コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、印刷された出力物において可視である。可変コンテンツはデータソースから特定のデータの表示をもたらす。コンテナのこの表現は例えば印刷されるか、スクリーン144上で表示されるか、その両方が可能である。
(4)コンテナは、図4に示されるように視覚的な手がかりとしてのユーザインターフェースを有している。例えばコンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインターフェース(GUI)を持つ。GUIの各要素はビデオディスプレイ144のスクリーン上に表示されるが、ドキュメントとしては印刷されない。レイアウト編集アプリケーション121のユーザインターフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、さらにコンテナの設定の編集や表示を可能にするための機能を有している。
[コンテナ制約]
コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけると共に)は、ユーザが一つのドキュメントテンプレートから、多数のドキュメントの生成を制御する主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値4インチです。』である。もうひとつの制約は『コンテナのコンテンツの左端は、それぞれのドキュメントで同じ水平位置で表示しなければならない。』である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するための方法である。
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。なお、以下の説明ではバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナは多数の可能性と制約を指定・表示するためにユーザインターフェースが利用される。
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。このように、本明細書でコンテナの左辺を論じることは、関連付けられたコンテンツが、各ドキュメントにおいて、表示可能であるエリア内の最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。本明細書では、ユーザインターフェース103を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされると考えられる。
以下の記載において、コンテンツの表示を制限するために使われるいくつかの値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)コンテナの幅が固定である場合、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
(2)コンテナの高さが固定である場合、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
(3)距離(リンクの長さ)の制約が固定である場合、指定された距離は全てのドキュメントのための制約である。
(4)コンテナの左右辺が固定である場合、ページに関する辺の水平位置は全てのドキュメントで同じであることを意味している。しかし、コンテナの高さあるいは垂直方向の位置は変化する可能性がある。例えば、コンテナの左辺が固定である場合、関連付けられたコンテンツの表示位置は同じ水平位置となるが、あるドキュメントではページの上の方に表示され、他のドキュメントではページの下の方に表示される可能性がある。
(5)コンテナの上下辺が固定の場合、ページにおける辺の垂直位置は全てのドキュメントで同じとなることを意味している。ただし、コンテナの幅あるいは水平位置はドキュメントによって変わる可能性がある。
(6)コンテナの垂直軸はコンテナの右辺と左辺の平行で、そして中間に位置される仮想の垂直線である。もしコンテナの垂直軸が固定ならば、当該コンテナの左右辺の水平位置の平均(すなわち左右の中央位置)は、すべてのドキュメントで同じである。この制約において、コンテナの幅は変化する可能性がある。しかしながら、左右辺が垂直軸にもっとも遠いものからもっとも近いものまで、垂直軸は全てのドキュメントで同じ水平位置となる。なお、コンテナの高さと垂直位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上辺および下辺の平均が同一の垂直方向位置に配置される。ただし、コンテナの幅と水平位置はこの制約によって影響されない。
(8)水平軸および垂直軸の両方が固定である場合、コンテナの中心位置が固定されていることを意味する。しかし、コンテナの幅・高さはこの制約によって影響されない。
(9)コンテナの角位置、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定である場合、それぞれの位置はすべてのドキュメントで同じ場所となる。例えば、もしコンテナの左上角が固定ならば、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは垂直軸はページの左辺、あるいは右辺、あるいは左ページマージン、あるいは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺あるいは下辺、あるいは上下マージン、あるいは他の垂直位置に関連付けされて固定になる。用語『固定』の改良は、もしページサイズが全てのドキュメントで同じならこれらの可能性はドキュメント生成で相違はないため、ドキュメント間でページサイズが変わるときにのみ重要となる。
『固定』の反対は、辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味している『可変』である。例えば、ページ内ではバリアブルデータのサイズや量により、動的にレイアウト変更されることを期待するが、特定のコンテナについては大きさや位置を固定にしたり、ページの角のコンテナの四隅は固定にしたいということを所望とする場合がある。そのため、本レイアウト編集アプリケーション121では、各コンテナ(部分領域)について辺、軸、角、中央位置等を固定にするか、可変にするかを適宜設定できるようにした。これにより、ユーザはドキュメントテンプレート180の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
[コンテナ表示・編集(新規コンテナの作成方法)]
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキスト、そして埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。
図4で参照されるように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス133でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。あるいは、コンテナは適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上でクリックすることによって作成されるようにしてもよい。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。いくつかのコンテナは自動的に前もって定義されたか、計算されたスキーマによって作成・配置されるなどいろいろな方法が考えられる。
ここで生成されたコンテナをマウス等の入力手段により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。コンテナのプロパティダイアログUI(部分領域設定手段に相当する)では、上述した各種の制約を設定することができる。また、コンテナのプロパティダイアログでは、コンテナのサイズ(幅、高さ)や位置を決定することができ、可変サイズにする場合は、コンテナの基本パターン(基本サイズと基準位置)を設定し、更に、最大コンテナサイズ(幅、高さ)と最小コンテナサイズ(幅、高さ)を設定することが可能となっている。
[コンテナの表示方法]
図5の(A)から(D)はコンテナの表示に関するルールを例示している。
レイアウト編集アプリケーション121は、辺の状態を表現するために実線(アイテム503)あるいは点線(504)で辺を描き、アンカー(辺の近くに描画された506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために辺、形の近くに描画されたコントロール点、502)、スライダー(辺の両サイドに描画された短い並行線、図4の413)、拡縮アイコン(505)、そして色を特徴として持っている。
図5の(A)から(D)のコンテナ表示方法のルールは、つぎの通りである。
(1)それぞれの辺を固定するために、実線で描画する。
(2)幅が固定である場合、左と右の辺を実線で描画する。
(3)高さが固定である場合、上と下の辺を実線で描画する。
(4)軸は描画しない。
(5)(1)から(3)によって描画されていない辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線で描画される。
(6)それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
(7)垂直辺および水平辺、あるいは垂直および水平軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、それらの交差点にハンドルが描画される。
ルール(1)、(2)、(3)で定義された線は、前述したように固定あるいは制限されているならため実線で描画される。ルール(5)で定義された可変の辺は、点線で描画される。ルール(6)、(7)、(8)で定義された固定点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。例えばコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画される可能性がある。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する『動的な校正処理』が使われる。代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
(1)図4の410の辺のように、点線はコンテナのコンテンツに依存して、ドキュメント内の辺の位置が変化することを意味する。
(2)実線は固定された辺を意味する(辺414)、あるいはコンテナの幅・高さが固定されている(コンテナ408では4辺が実線であり、両方が固定されている)ために制限された辺であることを意味する。
(3)アンカーは辺そして軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れる。当然アンカーは固定される。図4のアイコン409は、交差する辺414が固定されていることを意味しているアンカーアイコンの例である。
(4)スライダーは関係付けられた辺が固定されていることおよび平行移動する可能性があることを意味する。例えば、図4でスライダー413はコンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示される可能性がある。
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
なお、上述したようにコンテナの幅・高さの基本値・最小値・最大値の設定は、ダイアログウィンドウに表示される。
図5の(A)で、コンテナ501は幅・高さ両方が固定されていない。固定された辺503は実線で表現される。可変の辺504は点線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示している。
図5の(B)で、コンテナ501は幅・高さ両方が可変である。アンカーアイコン506は、交差している両方の辺503が固定されていることを意味する。
図5の(C)で、コンテナ501はコンテナの拡大あるいは縮小が、アンカーアイコン507で示されるような中心点の周りを平等に広がるという状態であり、幅・高さ両方が可変である。
図5の(D)で、コンテナ501は上辺508が固定されていることを除けば、幅・高さ両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている。そしてコンテナの左・右辺が、アンカーアイコンを通る中心軸(垂直軸)の周りを、拡大・縮小することを示す。
[リンク]
リンクは、コンテナ同士を関連付けるためのものである。関連とはコンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。図4の412で示されているものがリンクであり、この図ではコンテナ407と408とを関連づけている。リンクの設定方法および、リンクで関連付けられたコンテナのレイアウト計算方法については、後述する。
[リンクの設定方法]
次に、コンテナ同士を関連付けるためのリンクの設定について説明する。
図6は本発明の実施形態1のリンクの設定処理を示すフローチャートである。また、図7は本発明の実施形態1のリンク設定時のユーザインターフェースの遷移例を示す図である。以下、図6及び図7を用いてコンテナにリンクを設定する方法について説明する。
まず、ステップS601においてレイアウト編集アプリケーション121は、ユーザインターフェースのワークエリア306上に編集対象の選択されたドキュメントテンプレートを表示する。リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)がドキュメントテンプレート上に作成されている必要がある。また、図7の(A)〜(C)は、リンクを設定する際のユーザインターフェースの遷移例を示している。
次に、ステップS602においてレイアウト編集アプリケーション121は、リンクツールを選択状態にする(図4のボタン406をクリックすることにより選択状態となる)。図7の(A)において、コンテナ701と702はすべて固定されている辺で構成されているものとする。また、703と704は、図4の409と同じであり、アンカーを意味する。705は、マウスポインタを意味している。
リンクツールが選択状態となっている間に、ユーザはリンクを設定する2つのコンテナのうちの一方(コンテナ701とする)をクリックして選択する。この操作に応じて、レイアウト編集アプリケーション121のユーザインターフェース103は、第1のコンテナが選択されたことを認識し(ステップS603)、選択されたコンテナを特定する情報を保持する。
また、以降のマウスカーソルの移動に応じた軌跡を画面に表示するようにする。例えば、図7の(B)における線分706は、(A)の状態におけるクリック位置と現在のマウスポインタ705の位置とを結んだ線を示しており、このUIによりどの位置にリンクが設定されるのかをユーザに明示することができる。
次に、ユーザは、図7の(B)で示されるように、もう一方のコンテナ(コンテナ702)までマウスポインタ705を移動してクリックする。この操作に応じて、ユーザインターフェース103は第2のコンテナが選択されたことを認識し(ステップS604)、選択されたコンテナを特定する情報を保持する。
レイアウト編集アプリケーション121は、ステップS603で選択された第1のコンテナと、ステップS604で選択された第2のコンテナとの間にリンクを設定する。
こうして、ユーザにより選択された2つのコンテナ701、702の間にリンクが設定されると、リンク707を表示する(ステップS605)。更に、このリンク設定を受けて、コンテナの表示状態は、図7の(C)の状態になる(ステップS606)。
即ち、リンクが設定されたことにより、コンテナのUIが自動的に変更される。ここでは、リンクによって関連付けられた辺が可変となり、点線で示されている状態を示している。つまり、図7の(C)において、708は点線で示されている辺であり、前述した通り可変の辺を示すものである。
[レイアウト計算方法(全体フロー)]
図8はレイアウト計算のフローを示している。なお、以下のフローチャートにおける処理は、実際にはホストコンピュータ内のプロセッサ135の制御によって、各種演算や情報の入出力等を実行するものである。
実施形態1のレイアウト編集アプリケーション121は、ユーザインターフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。
このプレビューモードでは実際のレコードが流し込まれレイアウトを計算する。但し、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。
図8は本発明の実施形態1のレイアウト計算処理を示すフローチャートである。
まず、レイアウト編集アプリケーション121はプレビューモードが選択されていることを認識する(ステップS801)。プレビューモードになったら、レイアウト編集アプリケーション121は、ユーザにプレビューするレコードをデータソースより選択させ、選択されたレコードの各フィールドデータを各コンテナに挿入する(ステップS802)。
各コンテナへコンテンツデータを流し込むと、レイアウト編集アプリケーション121は、そのコンテンツデータをレイアウトするためのレイアウト計算を行い、必要に応じてレイアウト調整を行う(ステップS803)。尚、ステップS803におけるレイアウト計算の詳細については後述する。なお、レイアウト調整はレイアウト計算の結果を受けて実行されるものであり、レイアウト計算と一体として行われる処理である。
そして、レイアウト編集アプリケーション121は、ステップS803で計算されたレイアウトを表示(プレビュー)する(ステップS804)。レイアウト編集アプリケーション121は、他のレコードについてもプレビューを行うかどうかをユーザの指示により判定する(ステップS805)。ステップS805で、他のレコードについてプレビューを行う必要がない場合(ステップS805でNO)、プレビューモードを終了する(ステップS807)。
一方、他のレコードについてプレビューを行う場合(ステップS805でYES)、レイアウト編集アプリケーション121は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(ステップS806)。
尚、プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。従って、ステップS804は存在せず、ステップS805は印刷するレコードを全て処理したかの判断を行う。ステップS803で、レイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷対象の指定された全レコード)について印刷データの出力が終了した時点で、本処理を終了することになる。
[レイアウト計算方法(詳細フロー)]
図9はレイアウト計算の詳細を示したフロー図である。
まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を設定する(ステップS901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行うため、例えば図11を参照するとページ上に4つのコンテナがレイアウトされており、各コンテナにリンクが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナAおよびBが集合1、コンテナCおよびDが集合2となる。前述した通りであるが、1101はアンカー、1102は固定された辺、1103はコントローラー、1104は可変の辺の変化方向を示している矢印、1105は可変の辺、1106はリンク、そして1107はスライダーを示している。
次に、レイアウト編集アプリケーション121は、ステップS901で設定したコンテナの集合から、レイアウトを計算するための集合を一つ選択する(ステップS902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。
まず、選択したコンテナの集合に含まれる可変要素である2つのコンテナA、Bについて、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。
具体的には、レイアウト編集アプリケーション121は、コンテナAが画像データ用コンテナであるか、テキスト用コンテナであるかを判定する。この判定は、前述したように、コンテナに対して設定されている情報により判定でき、コンテナ情報はMemory136内に図25のような形式で保存されている。
次にレイアウト編集アプリケーション121は、コンテナAに流し込まれるデータを読み込み、コンテナAが画像データ用コンテナである場合は、その画像データのサイズ(幅、高さのピクセル数、および解像度)がコンテナAの制約を受けない場合の大きさになる。
また、コンテナAがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナAのコンテナ情報で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字情報に基づいて、コンテナAに流し込まれるべきデータ量が計算できる。
ここで、テキスト用コンテナの場合は、コンテナAの縦横比が制約を考えないと決定できないため、制約を当てはめる。図11の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)に計算したデータ量(テキスト量)の文字を流し込めるか否かを判定する。
すべての文字を流し込めると判定された場合、コンテナAは基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべての文字を流し込めないと判定された場合、コンテナAはアンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけ横方向に拡大されると、計算したデータ量のテキストコンテンツを流し込めるかを計算し、コンテナAのサイズを算出する。
次に、レイアウト編集アプリケーション121は、コンテンツデータの流し込みによってレイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(ステップS903)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。
レイアウト編集アプリケーション121は、ステップS903で算出した最適化におけるコンテナの集合のサイズ、つまり、コンテンツの流し込みによって変化したコンテナAとコンテナBとリンク1106(ここでは固定リンク)の合計サイズを計算し、この合計サイズと基本レイアウトにおける当該コンテナの集合のサイズ(図11の例ではコンテナAとコンテナBのそれぞれのアンカーアイコンの距離に相当する)との差を計算する。コンテナAやコンテナBの幅が大きくなると計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
続いてレイアウト編集アプリケーション121は、レイアウトの最適化がレイアウトルールに違反しているか否かを判定する(ステップS904)。ルールに違反していない場合(ステップS904でYES)、ステップS905に進む。一方、ルールに違反している場合(ステップS904でNO)、ステップS903に戻り再度ルールを違反しないように計算をする。
ここでルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。なお、可変リンクについては後述する。
そして、ステップS902〜ステップS904の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション121は、ページ全体のレイアウトの計算が終了したか否かを判定する(ステップS905)。計算が終了していない場合(ステップS905でNO)、ステップS902に戻る。一方、計算が終了している場合(ステップS905でYES)、処理を終了する。
また、図10はそのときのUI表示例を示した図である。図10は本発明の実施形態1のレイアウト計算処理におけるユーザインタフェースの一例を示す図である。
図10の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1001と1002はアンカー、1003と1004は固定された辺、1005は可変の辺、1006は可変の辺の変化方向を示している矢印、1008はリンクを示している。この状態において次々にレコードに含まれるコンテンツデータを流し込んでいく。
図10の(B)は、次に流し込むべきレコードに含まれるコンテンツデータのサイズを重ねて示している。1009はそれぞれのコンテナに挿入されるコンテンツデータのサイズを表している。図10の(B)では流し込まれたコンテンツデータのサイズが収まりきらない様子を示しており、これをコンテナ間で調整するためにレイアウト計算が実行される。
図10の(C)は、レイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際に挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図10の(C)で示されるように、図10の(B)で示した挿入されるコンテンツサイズ1009と計算後のコンテンツサイズ1010は、双方において同等な差異がある。
[可変リンクの設定]
図12では一般的な可変リンクが設定された状態を表している。図4と同様にアプリケーションウィンドウ301とツールバー303があり、ドキュメントテンプレート309上にコンテナ1203とコンテナ1204が存在する。それぞれのコンテナは典型的にアンカーアイコン1201、アンカーアイコン1202と固定された辺1205、辺1206から成り立つ。コンテナ1203と1204の間には可変リンク1209があり、それぞれのコンテナを結んでいる。コンテナ1203とコンテナ1204の間にはリンクが設定されているのでそれぞれの右辺1207と左辺1208は点線で表現されている。このため各コンテナにインジケーター1210、インジケーター1211が表示され、これは辺1207と辺1208が可変であることを示している。
また図14はリンク1209の情報をセットするためのダイアログウィンドウ1401の例である。このダイアログは典型的にタイトルバー1402、ツールボタン1403、ダイアログウィンドウの開閉を行うボタン1404、各種の情報をセットするエリア1409で構成されている。このダイアログウィンドウではリンクタイプが可変(1407)あるいは固定(1406)の選択や、可変の場合、リンクの長さの最大値(1410)そして最小値(1412)、また基準となる距離(1411)を設定することができる。
図13は可変リンクの設定方法についてのフローチャートである。なお、これらの処理はホストコンピュータ内のプロセッサ135の処理によって実行される。
例えば、図11のコンテナAとコンテナBの間に、図6及び図7で説明したリンクの設定操作によって、2つのコンテナ間にリンクを設定すると、まず、固定サイズのリンクが設定される。そして、このリンクを選択して図13に示す処理を実行することにより、当該リンクを固定サイズのリンク1106(図11)の状態から可変サイズのリンク1209(図12)へと変更することができる。
まず、レイアウト編集アプリケーション121はマウスにより選択されたリンク(例えば、図11のリンク1106)を選択状態とする(ステップS1302)。次に、リンクプロパティを表示させるための所定の操作が行われると、レイアウト編集アプリケーション121のユーザインターフェース103は選択状態のリンク(以下、対象リンクという)に対応したダイアログウインドウ1401(図14)を表示する(ステップS1303)。尚、リンクの選択操作としては、コンテナの基本パターンの設定時と同様に、マウス133の右クリックあるいはキーボード132の特定のキー操作等、いかなるものであってもよい。表示されるダイアログウインドウ1401には、選択されたリンクの現在の状態が示される。本例では、リンク1106が選択されたので、この段階ではリンクサイズは固定であり、リンクタイプフィールド1405においては固定長を示す距離1406が選択されていることとなる(なお、図14では可変リンク設定後の状態を表しているため1407にチェックが入っているが、リンク1106を選択した時点では固定長にチェックが入っている。)
レイアウト編集アプリケーションはマウス等によってダイアログウインドウ1401にある固定リンクまたは可変リンクの選択状態を判定し、可変リンクを表す1407が選択されていることを認識する(ステップS1304)。これにより、リンク距離フィールド1408内に配置されている最大距離フィールド1412、最小距離フィールド1410、基準値フィールド1411が有効になり、数値の設定が可能となる。ユーザにより可変リンクの長さの最大値を最大距離フィールド1412に、最小値を最小距離フィールド1410に、現在の値を基準値フィールド1411に設定が行われ、レイアウト編集アプリケーションが認識する(ステップS1305)。
設定を終えると、ユーザは一般的なダイアログウインドウ開閉ボタン1404によって当該設定の適用を指示する。ユーザインターフェース103は、この指示を検出すると、当該対象リンクに上記設定状態を反映させる。この結果、図12のリンク1209に示すような状態にリンクのUI表示を変更する(ステップS1306)。
以上のダイアログウインドウ1401の設定情報は、例えば、Memory136に格納される。
次に、レイアウト結果の一例について、図15及び図16を用いて説明する。
図15は本実施形態における固定サイズのリンクを使用した場合のレイアウト結果を示す図である。
レイアウト計算方法は、前述したとおりに従って行われる。例えば、図15において、コンテナ1501とコンテナ1502に予め設定されたコンテナサイズとは異なるサイズのイメージデータが挿入された場合を考える。この場合、それぞれのコンテナはコンテンツデータの大きさを最適とみなし、コンテナ1501は挿入されたイメージサイズになる枠1504(最適コンテナサイズ)に近づこうと右方向へ、同様にコンテナ1502は挿入されたイメージサイズになる枠1505(最適コンテナサイズ)に近づこうと左方向へサイズを変更しようとする。
しかし、コンテナ1501では左辺に対してアンカーが、コンテナ1502では右辺に対してアンカーがそれぞれ設定されているため移動することができない。そのため、上記のようにサイズを変更しようとすると両者の間隔を狭めるしかない。しかしながら、コンテナ1501とコンテナ1502の間には固定サイズのリンク1503が設定されており、レイアウト計算時にその長さが維持されるため、コンテナ1501とコンテナ1502のサイズが変更されることになる。
その結果、コンテナ1501とコンテナ1502は、データの縦横比に合わせた最適なサイズを確保することができず、最終的に、図15に示すように、最適なサイズ(枠1504、枠1505)よりも小さくなってしまう。即ち、リンク1503のサイズが固定であるため、コンテナ1501とコンテナ1502は最適サイズを達成できない。
一方、図16は図15と同様の状態でリンクを可変サイズにした場合を示している。
この場合、上記の例で、コンテナ1501とコンテナ1502の間には図示の通り可変サイズのリンク1603が設定されている。従って、コンテナ1501とコンテナ1502のサイズが変更される際には、リンクサイズが縮まることでコンテナ1501とコンテナ1502のサイズを、図15の例より大きくすることができる。
この結果、挿入されるデータサイズに合わせた最適なサイズを達成できる、あるいはより挿入データサイズ(最適サイズ)に近いコンテナの枠を設定することができる。図16はこの結果を示しており、図12の可変リンク1209はレイアウト計算の結果、可変リンク1603に示されるようなサイズ状態となる。尚、この場合、コンテナ1501とコンテナ1502はそれぞれ最適なサイズ(データサイズに合った大きさ)になっている。 以上が、本発明の前提となる基本構成である。
[ページ間リンクの設定]
図17は複数ページのドキュメントテンプレートを持つレイアウトデザインを表している。
図3と同様にアプリケーションウィンドウ301、ツールバー303、メニューアイテム304、ワークエリア306がある。ドキュメントテンプレート309には二つのページ1701、1702がある。ページ1701には、図3の310に相当するページマージンガイド1703、ページ1702には、ページマージンガイド1704がある。
ドキュメントテンプレート309のページ1701上には、コンテナ1705、コンテナ1706、コンテナ1707が、ドキュメントテンプレート309のページ1702上には、コンテナ1708、コンテナ1709が存在する。コンテナ1705とコンテナ1706の間にはリンク1710が、コンテナ1706とコンテナ1707の間にはリンク1711が、コンテナ1708とコンテナ1709の間にはリンク1712がそれぞれ設定されており、コンテナ1705、1708にはアンカー1710が設定されている。なお、ユーザによってドキュメントテンプレート309上に設定された情報はプロセッサ135が認識して、Memory136に保存しており、各情報は例えば図25および図31のような形式で保存されている。
図18において、ページを跨ったリンクが設定された場合のレイアウトデザインが表示部に表示されている。図17と異なる点のみを記載すると、コンテナ1707とコンテナ1708の間にはページを跨るリンク1801が設定され、それに基づきコンテナ1708に設定されていたアンカー1710が解除されている。その他の設定は、図17の設定と同様である。なお、ページ跨ぎリンク1801は通常のコンテナ間を関連付けるリンクとは属性が異なるため、通常のリンクとは識別可能となるような形態で表示される。
ページ跨ぎリンクについて説明をする。コンテナ間を関連付ける通常のリンクは図9におけるレイアウト調整時に影響を与えることがあるが、ページ跨ぎリンクは現状ではレイアウト調整に影響を与えるものではない。しかし、移動処理または後述するページ跨ぎ処理により、ページ跨ぎリンクで関連付けられたコンテナが同一ページ領域に配置された場合に、通常のレイアウト調整に影響を与えるリンクへと属性を変更する。そのため、ページ跨ぎリンクには、レイアウト調整に影響を与えるリンク属性に変更された場合、どのようなリンク属性となるのか予め設定しておく必要がある。そこで、ページ跨ぎリンクに対して所定の操作が行われると、レイアウト編集アプリケーション121のユーザインターフェース103は、図38のようなページ跨ぎリンクの属性を設定するためのダイアログウィンドウを表示する。
図38では、ページ跨ぎリンクから通常のレイアウト調整に影響を与えるリンクに属性が変更された場合、固定リンクとするか可変リンクとするかを選択する。この選択処理により固定リンクが選択された場合には、固定サイズを設定し、可変リンクが選択された場合には、上述した図14と同様に最大サイズ、最小サイズ、基準値サイズを設定する。後述するページ移動処理またはページ跨ぎ処理が行われ、ページ跨ぎリンクにより関連付けられているコンテナが同一ページ領域に配置された場合、図38における設定に基づくレイアウト調整に影響を与えるリンクへと変更される。なお、図38においては固定リンクが選択されたため、可変リンクの最大サイズ、最小サイズ、基準値サイズを設定できないように表示変更されている。また、本実施例では所定の処理により図38のようなダイアログウィンドウが表示されると記載したが、ページ跨ぎリンクが設定されたことに応じて自動的に表示されるようにしても構わない。
図19はページを跨ってリンクを設定する際のフローチャートを示している。なお、以下のフローチャートにおける処理は、ホストコンピュータ内のプロセッサ135の制御によって、各種演算や情報の入出力等を実行するものである。
レイアウト編集アプリケーション121は、マウス等によりリンクツールボタン406が選択されたことを認識すると、リンクツール406を選択状態にする(S1901)。
リンクツールが選択されている状態から、リンクを設定するべく所望のコンテナが選択されると、レイアウト編集アプリケーション121が選択されたコンテナを認識する(S1902)。次にS1902で選択されたコンテナと関連づけるべきコンテナが選択されたことをレイアウト編集アプリケーション121が認識する(S1903)。詳細には、S1902において最初に選択されたコンテナの情報を一時的にMemory136に保存しておき、続いて他方のコンテナが選択されたことが認識されると、先程保存しておいたコンテナとの関連付けを行い、ドキュメントテンプレート309上にリンクが表示されることとなる。なお、図18において、ページ1701のコンテナ1707およびページ1702のコンテナ1708が選択されたものとする。
S1902およびS1903において、リンクによって関連付ける2つのコンテナが選択(Memory上に保存)された場合、レイアウト編集アプリケーション121は、S1902で選択されたコンテナ(本実施例ではコンテナ1707)とS1903で選択されたコンテナ(本実施例ではコンテナ1708)が同じページ内にあるか否かを判定する(S1904)。詳細には各コンテナが選択された時点でレイアウト編集アプリケーションを構成するコンポーネントであるレイアウトエンジン105が、それぞれのコンテナの位置を計算して図25のような形式でMemory136に保存することができる。レイアウト編集アプリケーション121は、Memory136の「ページ初期配置ページ」を参照することによって、同じページ内にあるか否かの判定が可能となる。ここでレイアウト編集アプリケーションがMemory136を参照した結果、2つのコンテナ(本実施例ではコンテナ1707および1708)が同じページ内にあると判定した場合は、図7の(C)に示したような通常のリンク設定が行われディスプレイ上に表示される(S1905)。
一方、S1904において関連付けられたコンテナが同一ページ内ではないとレイアウト編集アプリケーション121が判定した場合、図18に示すリンク1801のようにページを跨ってリンクが設定され、表示部に表示される(S1906)。
なお、S1905およびS1906のようにリンクが設定された時点で各リンク情報が図31のような形式でMemory136に保存されることとなる。
本実施例では図18で示したページ跨りリンク1801が設定された場合、図32のようなプロパティが表示され、ここで「コンテナ属性自動設定」を選択することにより図20の処理に入ることとなる。なお、以下の処理はホストコンピュータに含まれるプロセッサ135によって実行される。
レイアウト編集アプリケーション121は、ユーザによるリンク設定操作により設定されたリンクがページ跨りリンクであるか否かの判定をする(S2001)。詳細には、リンクが設定された時点で各リンク情報が図31のようにMemory136に保存されており、その情報を参照することによってリンクが同一ページ内に配置されレイアウト調整に影響を与えるリンク(ページ跨ぎOFF)であるか、複数ページに跨ったページ跨ぎリンク(ページ跨ぎON)であるかを認識することが可能となる。S2001において、ページ跨ぎリンク(ページ跨ぎON)が設定されたと判定された場合、一方のリンク端として選択されたコンテナに対して「ページを移動して自動レイアウト可能」という属性を設定する(S2002)。同様に他方のリンク端として選択されたコンテナの属性に「ページを移動して自動レイアウト可能」という属性を設定する(S2003)。なお、図18の例では、コンテナ1707およびコンテナ1708の属性に「ページを移動して自動レイアウト可能」が設定されたこととなる。
通常、コンテナが初期作成された時点では該コンテナに対して「現在配置されているページ内でレイアウトする」という属性がMemory136に記憶されるが、S2001でページ跨りリンクが設定された場合、リンク端として選択されたコンテナの属性が「ページを移動してレイアウト可能である」という属性に自動的に変更され、保存される。なおコンテナ属性は、図25に示すコンテナ情報の1つとして保存されている。図25にある「レイアウト方法」は各コンテナ(データ領域)に流し込まれたコンテンツデータに応じて、予め設定したページ内でレイアウトされるか(移動不可)、または予め設定したページからの移動を許すか(移動可能)等を指定するための情報であり、本願のコンテナ属性を指す。「コンテナ種」はテキストデータまたはイメージデータのどちらのデータが流し込まれるかを示すものであり、「可変/固定」は流し込まれるコンテンツデータに応じて、コンテナサイズが可変であるか固定であるかを表すものである。なお、可変の場合は、コンテナサイズの可変範囲についても記憶されている。「コンテナサイズ」は、現状のコンテナサイズを示すものである。また、「初期配置ページ」とはコンテナが予め設定されたページ領域を示すものであり、「コンテナ集合」とはリンクによって関連付けられている集合体を示すものである。「レイアウト方法」として移動可能または移動不可が保存されているが、後述するように「ページ跨ぎ」というレイアウト方法が選択された場合は、「ページ跨ぎ」がレイアウト方法として保存される。
なお本実施例では、ページ跨ぎリンクが設定されることに応じて図32のプロパティが表示され、「コンテナ属性自動設定」が選択された場合、自動で「ページを移動して自動レイアウト可能」という属性が設定されると記載したが、ページ跨ぎリンクが設定されたのに応じて、別のレイアウト方法(コンテナ属性)が自動設定されても構わない。また、自動設定の場合は、どのコンテナ属性を設定するかをユーザが予め設定するようにしても良い。
[ページ跨ぎリンク設定時の自動レイアウト方法]
図21はページを跨ってリンクが設定されたドキュメントテンプレートにコンテンツデータが流し込まれた際の動作フローである。なお、各ステップの処理はホストコンピュータ内のプロセッサ135によって処理が実行される。
図18に示したドキュメントテンプレート309は、外部データソースであるデータベース119との連係が設定されており、コンテナ1705〜コンテナ1709は、それぞれデータベース119にある各レコードが所持するコンテンツデータとの連係が設定されている。
まず、レイアウト編集アプリケーション121はドキュメントテンプレート上に配置されている全てのリンクの属性をチェックする(S2101)。各リンクの属性はホストコンピュータ内のMemory136内に図31のような形式で保存されているので、Memory136を参照することによって属性を判定することが可能となる。なお、図31は図18にある各リンクの属性の保存状態を示したものである。図31にある「関連コンテナ」はリンクが関連付けているコンテナを表している。また、「ページ跨ぎON/OFF」はリンクがページを跨いで設定されているか否かを表しており、「可変/固定」はリンクが固定リンクであるか、可変リンクであるかを表すものである。
S2101のリンク属性のチェックにより、レイアウト編集アプリケーション121がページ跨ぎリンクであることを示す「ページ跨りON」という属性のリンクがあるか否かの判定を行う(S2102)。S2102で、「ページ跨りON」というリンクがないと判定された場合は、通常どおりのレイアウト調整を行うので図9のフローチャートへと進む。また、S2102で「ページ跨ぎON」というリンクがあると判定された場合は、図30に示すページ跨ぎ用編集ページ3000が表示される(S2103)。
図30に示すページ跨ぎ用編集ページ3000について説明する。なお、図30は図18のプレビューモードから遷移した図である。ページ跨ぎ用編集ページへ遷移前の表示画面では各ページ間には空白があり、異なるページであることが表現されている。例えば図18ではページ1701およびページ1702の間に空白があり、ドキュメントテンプレート309上に2つのページが存在することがユーザにとって認識できるような構成になっている。これに対してページ跨ぎ用編集ページ3000では、図30のように複数ページを1つの編集領域として扱えるような形式に表示変更されており、さらに各ページの位置を明確にするため境界線3001が表示される。具体的には図18のように2ページから構成されているドキュメントテンプレートをページ跨ぎ用編集ページ3000に遷移した結果、図30のようになり、真中には2つのページで構成されていることを示すために境界線3001が表示される。
図21のフローチャートに戻る。現在、処理しているドキュメントテンプレート309と結びつけられているデータベース119から1つ目のレコードを流し込むため、レイアウト編集アプリケーション121を構成するコンポーネントの1つであるユーザインターフェース103が、レコード数の初期化(n=1)を行い(S2104)、データベース119から該当するレコードに含まれるコンテンツデータを、対応付けられている各コンテナに流し込む(S2105)。
S2105でコンテンツデータが流し込まれた場合、レイアウト編集アプリケーションは各コンテナに設定されている制限条件またはコンテンツデータのサイズに基づいて図9に示したレイアウト計算さらに必要に応じてレイアウト調整を行う。なお、各コンテナに設定されている制限条件についてはレイアウト編集アプリケーションを構成するコンポーネントの1つであるUIモデルアナライザ104が、ユーザによって設定された各コンテナの制限条件をレイアウトエンジン105が認識できる内部形式に変換しているため、レイアウト編集アプリケーション121は各コンテナに設定された制限情報を認識することが可能となる。
上記レイアウト計算およびレイアウト調整はリンクによって関連付けられているコンテナの集合ごとに行うため、レイアウト編集アプリケーションは集合の初期化(m=1)を行い(S2106)、1番目の集合からレイアウト計算処理を実行する(S2107)。詳細には、図9に示したものと同様であるので省略する。なお、本願に記載のレイアウト計算によって各コンテナ(データ領域)に流し込まれるコンテンツデータのレイアウト調整することが可能となる。
S2107のレイアウト計算処理およびレイアウト調整はコンテナの集合ごとに行われるのでコンテナの全集合の計算が終了したか否か、すなわち現在処理をしているドキュメントテンプレートに配置された全てのコンテナに対してレイアウト最適化の計算が行われたか否かを判定する(S2108)。
S2108によって全ての集合に対してレイアウト計算が終了したと判定された場合、予め設定されたページ領域をはみ出すコンテナがあるか否かの判定を行う。(S2109)。詳細には、レイアウト編集アプリケーション121を構成するコンポーネントの1つであるレイアウトエンジン105によって境界線の位置および各コンテナの位置が計算され、認識される。この処理によって境界線およびドキュメントテンプレートに配置されている各コンテナの位置を把握することが可能となり、Memory136に保存されている各コンテナ情報と比較することによって、予め設定されたページをはみ出すコンテナがあるか否かの判定をすることが可能となる。
S2109で予め設定されたページ領域をはみ出すコンテナがあると判定された場合、レイアウト編集アプリケーションが、該コンテナの属性を調べる(S2110)。詳細にはMemory126に記憶されている図25のようなコンテナ属性を参照することによりコンテナ属性を調べることが可能となる。なお、S2109において、予め設定されたページ領域からはみ出すコンテナがないと判定された場合、これ以降の処理は必要ないため、S2118へと進む。
S2110で判定されたコンテナの属性が「ページを移動してレイアウト可能」コンテナであると判定された場合、レイアウト編集アプリケーション121が該コンテナの境界線から次ページへのはみ出し量を計算する(S2111)。以下に1つの計算処理例を示す。計算処理としては座標値を用いること等が考えられる。図30においてレイアウト調整を行った結果、コンテナ1707が境界線3001上に配置されたとする。ここで、コンテナ1707および境界線3001の座標値をレイアウトエンジンが計算する。例えば、コンテナ1707の左下の座標が(x=20、y=30)であり、右下の座標が(x=70、y=30)、左上(x=20、y=80)、右上(x=70、y=80)とし、さらに境界線3001の左端が(x=0、y=50)、右端が(x=100、y=50)であるとする。また、Memory136に保存されている図25からコンテナ1707の初期配置ページが1701であることが判断でき、コンテナ1707は予め設定されたページ領域をはみ出していることが認識される。なお座標値(x、y)は、xが水平方向、yが垂直方向の位置を示すものとする。さらに、この座標値からレイアウト調整後のコンテナの面積は2500と計算できる。続いて、境界線からのはみ出し量、つまり次ページ(本実施例ではページ領域1702である)へのはみ出し量を計算する。図30では垂直方向にはみ出しているので境界線3001より下にある面積を求めればよい。上記の座標値から計算すると、はみ出し量は1500となる。つまりコンテナ1701の面積における半分以上が、次ページ(図18では1702)へ、はみ出していると判断される。
S2111における計算の結果、レイアウト編集アプリケーション121が該コンテナの次ページへのはみ出し量が半分以上か否かを判定する(S2112)。S2112において、次ページへのはみ出し量が半分以上と判定された場合、該コンテナは次ページへと移動処理が行われる(S2113)。詳細には移動すべきコンテナは他のコンテナとの位置関係を保ちつつ、次ページに収まるような位置をレイアウトエンジンが計算し、さらに図38のページ跨ぎリンク設定により設定された属性に基づいて次ページ内に配置されることとなる。なお、境界線がコンテナをちょうど2等分にする位置にあると判定された場合は、ユーザに現ページに残すか、それとも次ページへ送りだすかを判定させるようにしても構わない。
また、S2112において、はみ出し量が半分未満であった場合、レイアウト編集アプリケーション121は、該コンテナを初期設定時に配置されたページ内に戻すことができるか否かの判定を行う(S2114)。具体的には、これから戻す対象となるページに配置されているコンテナ情報を調べる。各コンテナはテキストコンテナかイメージコンテナかの情報を持っており、テキストコンテナの場合は図25のようにコンテナ毎に現状のフォントサイズとフォントサイズの変更範囲を持っている。ここで現状フォントサイズと変更範囲を比較して、現状フォントサイズをさらに縮小することが可能であればフォントサイズの縮小を行い、その結果、はみ出したコンテナが収まるだけのスペースが移動対象ページに生じるか否かの判定をレイアウトエンジンが計算することにより実現される。また可変コンテナの場合、図25のようにコンテナサイズの制約(可変範囲)を持っているので、その制約内で拡縮することにより対応することも可能である。さらに、フォントサイズの変更およびコンテナサイズの変更を両方行うことも可能である。この際、フォントサイズのみを変更するのか、コンテナサイズのみを変更するのか、両者を変更するのかはユーザによって指定可能である。
S2114によって、レイアウト編集アプリケーション121が、初期設定ページに戻すことが可能と判断すれば、境界線をはみ出したコンテナは初期設定されたページ内に残ることとなり、次ページへの移動処理は行わない(S2115)。しかし、S2114の処理で戻すことが不可能と判定された場合、S2113と同様に次ページへの移動処理が行われる。以上の処理によって全てのコンテナが配置されるべきページ領域が決定されるので、レイアウト編集アプリケーションはそれぞれのページ領域において再度レイアウトの最適化を図るためレイアウト計算およびレイアウト調整を実行する(S2116)。S2116における処理も図9のフローチャートに沿って行われるものである。この際、前述した移動処理によりページ跨ぎリンクによって関連付けられているコンテナが同一ページ領域に配置された場合、図38において設定したページ跨ぎリンク属性に変更され、変更後のリンク属性を考慮したレイアウト調整が行われる。なお属性がページ跨ぎリンクから通常のレイアウト調整に影響を与えるリンクへと変更された場合、表示形態も変更される。具体例については後述する。
そして、レイアウト編集アプリケーション121は、S2116の再レイアウト調整によって決定された各コンテナのレイアウトされるべき位置をホストコンピュータ内のMemory136に保存する(S2117)。
レイアウト編集アプリケーション121は、全レコードの流し込みが終了したか否かを判定し(S2118)、終わっていないと判定された場合は現レコード数にインクリメント処理を施し(S2119)、S2105の処理から再開する。全レコードの流し込みが終了したと判定された場合、図21における処理は終了する。
図21におけるフローチャートの処理をより分かりやすく説明するため図18、図30を用いて具体的に説明する。なお、ページ跨ぎリンクに対しては図38の設定ダイアログにより、固定リンクが選択され、固定リンクサイズ「3」が設定されたものとする。
図18においてコンテナ1707およびコンテナ1708は、ページを跨ぐリンク1801が設定され、図32のプロパティにおいて「コンテナ属性自動設定」が選択された場合、「ページを移動してレイアウト可能」の属性がコンテナ1707および1708に対して自動的に設定される。図18のドキュメントテンプレート309上にはリンク属性が「ページ跨ぎON」のリンク1801が存在するので、図30におけるページ跨ぎ用編集ページ3000が表示される。ここまでの処理が図21におけるS2101〜S2103の処理に該当する。
続いて、データベースから現在対象となっているレコードに含まれるコンテンツデータを対応付けられた各コンテナに流し込み、図9のレイアウト計算に基づくレイアウトの調整を行い、その結果コンテナ1707が境界線3001上に配置されたとする。この場合、コンテナ1707と境界線の位置関係およびコンテナ情報(図25)からコンテナ1707は予め設定されたページ1701をはみ出すことが認識されるので、コンテナ1707のコンテナ属性(次ページ領域である1702への移動可能か否か)がチェックされ、次ページ1702へのはみ出し量が計算される。
コンテナ1707の半分以上が次ページへはみ出している場合、コンテナ1707は次ページへと移動処理が行われる。またコンテナ1707の半分以上が初期設定されたページ1701に残った場合、現状のページ1701に配置できるか否かの判定を行う。ページ1701に配置されているコンテナ1705および1706についての現状の情報は図25のようにMemory136に保持されている。コンテナ1705に関してはこれ以上フォントサイズを縮小することができないが、コンテナ1706に関しては現状フォントサイズが「10」であり、フォントサイズを「8」まで縮小することが可能であるので、段階的に縮小していく。フォントサイズを縮小した結果、コンテナ1707の全体をページ1701に配置することが可能と判断されればページ1702への移動処理はなくなる。しかし、縮小してもコンテナ1707を配置することが不可能であれば次ページであるページ1702へ移動されることとなる。また、ページ領域1701に配置されているコンテナが可変設定であれば、可変範囲内で縮小するか、フォントサイズおよびコンテナサイズの両者のサイズを変更することで同様の処理を行っても構わない。ここまでの処理がS2104〜S2115の処理である。
以上の処理によって全てのコンテナが配置されるべきページ領域が決定されたので各ページにおいて再度図9に示したレイアウト計算によるレイアウトの調整が行われることとなる。この際、コンテナ1707がページ領域1702に移動した場合、ページ跨ぎリンク1801により関連付けられていたコンテナ1707および1708が同一ページ領域(1702)に配置されることとなるので、ページ跨ぎリンク1801は図38の設定に基づいて(固定リンク、固定リンクサイズ「3」)通常のレイアウト計算およびレイアウト調整に影響をあたえるリンクへと変更され、レイアウト計算およびレイアウト調整時に考慮されることとなる。
図22に、コンテナ1707がページ1701から1702へ移動された場合のレイアウト計算に基づくレイアウト調整後の結果を示す。コンテナ2206とコンテナ2207の間には図18のようなページ跨ぎリンク1801が設定されていたが、上述する移動処理により同一ページに配置されたため、ページ跨ぎリンク1801は図38において設定した固定リンク(リンクサイズ「3」)に変更する。その結果、コンテナ2206とコンテナ2207の間には、リンクサイズ「3」の固定リンクが設定されることとなる。この際、図18ではページ跨ぎリンクは、通常のレイアウト計算およびレイアウト調整に影響を与えるリンクとは異なる表示形態であったが、属性が変更されたため図22の1801Aのように表示形態が変更され、レイアウト調整に影響を与えるリンクへと変更されたことが認識できるようになる。
ここまでの処理でレイアウト調整が終了したので、その結果をホストコンピュータ内のMemory136に保存する。そして、全レコードの流し込みが終了するまで、以上の処理を繰り返すこととなる。また、レイアウト結果は図18のドキュメントテンプレート上に表示されることとなる。
尚、上記の図21の動作フローでは省略しているが、前記S904で述べたように、レイアウトの最適化後ルールに違反していた場合は、再度ルールを違反しないよう再計算が行なわれる。
以上、本実施例を用いることによって複数ページに跨いで設定されたリンクによって関連付けられたコンテナの属性は自動的に設定されるため、ページを跨ぐリンクが複数設定された場合の処理が簡略化される。さらに、該属性を有するコンテナにコンテンツを流し込んだ結果、該コンテナの半分以上が異なるページにはみ出した場合、自動的に次ページへの移動処理が行われ、該コンテナの半分未満しかはみ出さなかった場合には、初期設定されたページ内に該コンテナを配置できるか否かの判定を行い、その判定結果に基づいて次ページへ移動するか否かが決定されるため、複数ページのバランスを考慮したレイアウト処理が可能となる。なお、本実施例では、コンテナのはみ出し量が半分か否かで判断していたが、これに限ることなくユーザが設定した値(または割合など)で次ページへ移動するか否かを判定するようにしても構わない。
実施例1では、図32のプロパティにおいて「コンテナ属性自動設定」の場合について記載したが、本実施例ではページを跨ぐリンクが設定されたコンテナの属性を手動で選択する場合について説明する。なお、本実施例では前記実施例1とほぼ同様の処理をするので異なる点のみを説明する。
本実施例における、図18のようなページ跨ぎリンク1801が設定された場合、図32のプロパティが表示部に表示され、マウス等により「コンテナ属性手動設定」が選択された場合、図26のようなプロパティが表示部に表示される。これにより、ユーザはコンテナの属性を自由に設定することが可能となる。その際のフローチャートについて図23に示す。なお、各工程の処理はホストコンピュータ内のプロセッサ135によって処理される。
レイアウト編集アプリケーション121は、ユーザによるリンク設定操作により設定されたリンクがページ跨りリンクであるか否かの判定をする(S2301)。S2301において、ページ跨りリンクが設定されていると判定された場合、レイアウト編集アプリケーションは、一方のリンク端として選択されたコンテナに対して属性を設定するため図32のプロパティを表示し、図32において「コンテナ属性手動設定」が選択された場合、図26を表示する(S2302)。
S2302によって表示された図26のプロパティ2601から、ユーザによって選択されたコンテナ属性をレイアウト編集アプリケーションが認識して、選択されたコンテナ属性をホストコンピュータ内のMemory上に保存する(S2303)。詳細にはユーザはマウス等のポインティングデバイスを用いて図26のプロパティからコンテナ属性の指定を行い、該指定をI/Oインターフェース143を介してプロセッサ135が認識をして、該認識した情報をMemory136に保存している。なお、本願におけるマウス等からの選択は同様の処理によって認識される。
また、同じく他方のリンク端として選択されたコンテナに対して属性を設定するためにレイアウト編集アプリケーションは図26のプロパティを表示する(S2304)。S2304によって表示されたプロパティからユーザによって選択されたコンテナ属性を認識して、S2303と同様の処理を行う(S2305)。以上の処理によってユーザの所望とするコンテナ属性を設定することが可能となる。なお、本実施例においてもページ跨ぎリンクに対しては図38の設定ダイアログにより固定リンクが選択されているものとする。
続いて、本実施例におけるレイアウトの処理フローを図24に示す。なお、各ステップの処理はホストコンピュータ内のプロセッサ135によって処理が実行される。また、S2401〜S2409はS2101〜S2109の処理と同じであるので、S2410以降の処理から説明する。
レイアウト編集アプリケーションはページ跨ぎ用編集ページ3000において予め設定されたページ領域をはみ出したコンテナの属性を調べる(S2410)。詳細には、レイアウトエンジンがページ跨ぎ用編集ページ3000にある各コンテナの位置および境界線3001の位置を把握することが可能であり、例えば境界線3001の座標と各コンテナの座標およびMemory136に保存されている図25のコンテナ情報にある「初期配置ページ」を認識することにより、境界線を基準としてコンテナが初期設定されたページ領域とは異なるページ領域へはみ出しているか否かを判定することができる。ここで、はみ出すコンテナがあると判定された場合、レイアウト編集アプリケーションはMemory136にある該コンテナ情報のレイアウト方法(コンテナ属性)を認識することによりS2410は実現される。
S2410において該コンテナの属性が「ページを移動して自動レイアウト可能」であれば、初期設定の段階で設定されたページ跨ぎリンクの他方に設定されたコンテナが属するページ領域への移動処理に入る。この場合の処理は図21のS2113以降の処理に移ることで実現されるので、ここでは詳細を省略する。
また、S2410において該コンテナ属性が「ページを跨って自動レイアウト可能」であると判定された場合(S2412)は、図28の処理へ移る。なお、図28における処理の詳細については後述する。
S2410において該コンテナ属性が「ページを移動して自動レイアウト不可」と判定された場合(S2413)、そのコンテナに関しては予め配置されたページ内に残ることとなる。しかし、該コンテナは現在、境界線上にあるか境界線を完全に越えて異なるページにはみ出しているため、初期設定されたページ内に戻ることが可能であるか否かの判定をしなければならない(S2414)。なお、S2414の判定処理は図21におけるS2114の処理と同様であるので詳細については省略する。S2414の結果、初期設定されたページ内に戻すことが可能と判定された場合、該コンテナの移動は無くなり、予め配置されたページ内に残ることとなる(S2415)。S2415により、全コンテナの配置されるページ領域が決定されたので、レイアウト編集アプリケーションは再度図9に示すレイアウトの計算処理およびレイアウト調整を実行する(S2416)。
またS2414の処理により、はみ出したコンテナを初期設定されたページに戻すことができないと判定された場合、レイアウト編集アプリケーションはエラー処理とするか否かの判定をユーザに選択させるためのUIを表示する(S2420)。ここでレイアウト編集アプリケーションが、本レコードについてエラー処理とすることが選択されたのを認識した場合、S2418の処理へと移る。また、エラー処理としないことが選択されたのを認識した場合、はみ出したコンテナの属性を変更させるべく図26のプロパティを再表示し(S2421)、選択されたコンテナ属性を認識してS2410の処理へ移る。
S2416〜S2419の処理は図21におけるS2116〜S2119の処理と同様であるので説明は省略する。
図24におけるフローチャートの処理をより分かりやすく説明するため図18および図30を用いて具体的に説明する。なお、ページ跨ぎリンクに対しては図38の設定ダイアログにより、固定リンクが選択され、固定リンクサイズ「3」が設定されたものとする。
図18においてコンテナ1707およびコンテナ1708は、ページを跨ぐリンク1801が設定されているので、コンテナ属性を設定するために図32のプロパティが表示され、「コンテナ属性手動設定」が選択された場合、図26のようなプロパティが表示される。今回の設定は、コンテナ1707の属性が「ページを移動して自動レイアウト不可」であり、コンテナ1708の属性が「ページを移動して自動レイアウト可能」であるとする。図18のドキュメントテンプレート上にはリンク属性が「ページ跨ぎON」となっているリンク1801があるので、ページ跨ぎ用編集ページ3000が表示される。ここまでの処理が図24におけるS2401〜S2403の処理に該当する。
続いて、データベースから現在対象となっているレコードにあるコンテンツデータを各コンテナに流し込み、レイアウト計算およびレイアウト調整を行う。その結果、図30のようにコンテナ1707が境界線3001上にレイアウトされているため、該コンテナは予め設定されたページをはみ出していることが判定される。ここで該コンテナ属性が「ページを移動して自動レイアウト不可」であると判定された場合、初期設定されたページに戻ることができるか否かの判定が行われる。
ページ1701に配置されているコンテナ1705および1706についての現状の情報は図25のようにMemory136に保持されている。コンテナ1705に関してはこれ以上フォントサイズを縮小することができないが、コンテナ1706に関してはフォントサイズを「8」まで縮小することが可能であるので、現状フォントサイズ「10」から段階的に縮小していく。例えば、フォントサイズを「9」に縮小した結果、コンテナ1707をページ1701に配置することができると判定されれば、初期設定ページであるページ1701に収まることが決定される。また、フォントサイズを「8」まで縮小しても、コンテナ1707をページ1701に配置することができないと判定された場合、ページ1701から可変コンテナを検索する。図25からページ1701に配置されているコンテナ1705および1706は可変コンテナであることが判明されるため、可変範囲においてコンテナの縮小を試みる。コンテナ1705に関してはこれ以上縮小することができないが、コンテナ1706の現状サイズは図25から「縦5横5」と認識でき、さらにコンテナ1706のコンテナサイズの可変範囲は「縦3〜8横5〜8」であるため、コンテナ1706のコンテナサイズを縮小することが可能である。よって、コンテナ1706のコンテナサイズについても段階的に縮小していく。例えば、コンテナサイズを「縦4横6」に縮小した結果、コンテナ1707をページ1701に配置することができると判定されれば、初期設定ページであるページ1701に収まることが決定される。なお、本実施例ではフォントサイズを変更した後に、コンテナサイズを変更したが、これに限ることは無く、コンテナサイズから縮小しても構わない。
以上の処理によって全コンテナの配置ページ領域が決定されたことを受け、ページ1701に配置されているコンテナ1705および1706およびコンテナ1707が最適なサイズでページ1701に収まるように再度図9によるレイアウト計算およびレイアウト調整が行われ、同様にページ1702においては、コンテナ1705がページ1701に残ったことによりレイアウトの変更が生じるので、同様に再度レイアウト計算およびレイアウト調整が行われる。その結果を図27に示す。なお、ページ跨ぎリンク1801に対して図38により設定処理を行ったが、ページ跨ぎリンク1801により関連付けられているコンテナ1707および1708は異なるページに配置されることが決定されたので、この場合ページ跨ぎリンク1801は消去されることとなる。
また、フォントサイズおよびコンテナサイズを縮小してもコンテナ1707を配置することが不可能であると判定された場合、エラー処理として次のレコードのレイアウト処理に移るか、コンテナ1707の属性を変更して再度レイアウト処理を行うかが選択される。
ここまでの処理でレイアウト調整が終了したので、その結果をホストコンピュータ内のMemory136に保存する。そして、全レコードの流し込みが終了するまで以上の処理を繰り返すこととなる。
続いて、S2410のコンテナ属性の判定において、境界線上のコンテナ属性が「ページを跨って自動レイアウト可能」と判定された場合の処理フローを図28に示す。
レイアウト編集アプリケーションはMemory136を参照した結果、S2410において境界線3001上にあるコンテナの属性が「ページを跨って自動レイアウト可能」であると判定した場合、境界線3001上を境にして該コンテナを分割するため、次のページへのはみ出し領域を認識する(S2801)。S2801において、レイアウト編集アプリケーションは認識したはみ出し領域に基づいて分割処理を行い(S2802)、分割された各コンテナの領域が配置された各ページにおいて再度レイアウト計算およびレイアウト調整を行う(S2803)。分割されたコンテナの一部がページ跨ぎリンクにより関連付けられたコンテナと同一ページ領域に配置されるため、図38において設定したページ跨ぎリンク属性に変更され、変更後のリンク属性を考慮したレイアウト調整が行われる。
これ以降の処理であるS2804〜2806は図21におけるS2117〜S2119と同様であるので説明は省略する。なお、はみ出し領域の認識(S2801)や分割処理(S2802)の具体的な処理方法は後述する。
図28におけるフローチャートの処理をより分かりやすく説明するため図18および図29および図30を用いて説明する。なお、ここで説明するのは図24のコンテナ属性の判定において「ページを跨って自動レイアウト可能」と判定された場合(S2413)以降の説明であり、ページ跨ぎリンクに対しては図38の設定ダイアログにより、固定リンクが選択され、固定リンクサイズ「3」が設定されたものとする。
境界線上のコンテナ1707の属性が「ページ跨って自動レイアウト可能」であると判定された場合、該コンテナのはみ出し量が認識される。このはみ出し量の認識方法の一例としてはレイアウトエンジン105が図30にあるページ跨ぎ用編集ページの座標を認識することによって実現される。
例えば、コンテナ1707の左下の座標が(x=20、y=30)であり、右下の座標が(x=70、y=30)、左上(x=20、y=80)、右上(x=70、y=80)とし、さらに境界線3001の左端が(x=0、y=50)、右端が(x=100、y=50)であったとする。なお座標値(x、y)は、xが水平方向、yが垂直方向の位置を示すものとする。この座標値からコンテナ1707において境界線3001の左端(x=0、y=50)、右端(x=100、y=50)よりも上の位置に配置される左上(x=20、y=80)、右上(x=70、y=80)、左下(x=20、y=50)、右下(x=70、y=50)の領域がページ1701に残るコンテナの領域であり、これ以外の領域である左上(x=20、y=50)、右上(x=70、y=50)、左下(x=20、y=30)、右下(x=70、y=30)がはみ出し領域として次ページ1702に移動するはみ出し量として認識される。以上のように認識されたはみ出し領域をMemory136に保存した後、図30におけるページ跨ぎ用編集ページから図17における通常ページへと表示を切り替える。
図17において分割処理を行う。ここで以下の説明を詳細にするため、ページを跨いで自動レイアウトされた結果を図29に示す。
まず分割対象となったコンテナ1707を複製し、複製されたコンテナデータをMemory136に保存しておく。現状ではコンテナ1707は領域2403(図18では1703に相当)をはみ出した状態となっている。そこで、先程認識してMemory136に保存した、はみ出し領域に基づいてクリッピング処理を行うことにより、はみ出し部分が消去された状態で表示される。つまりコンテナ1707において、はみ出すと判定された2407Bのみがクリッピング処理によって消去されたこととなる。さらに、先程複製したコンテナ1707をMemory136から読み出して領域2404(図18では1704に相当)に貼り付ける。そして貼り付けられたコンテナ2407は領域2404から上方向にはみ出ることとなるので、Memory136に保存したはみ出し領域に基づいてクリッピング処理することにより、はみ出し部分が消去された状態で表示されることとなる。つまり、複製されたコンテナ2407のうち2407Aの部分は領域2404から上方向(ページ2401の方向)へはみ出すこととなるので、クリッピング処理により2407Aのみが消去されることとなる。以上の処理によってコンテナ1407の分割処理が終了する。なお、複製されたデータを貼り付ける際、水平方向の位置を初期設定ページ(本実施例ではコンテナ2407A)に合わせ、さらに位置関係を初期設定と保った(コンテナ2407Bの垂直方向にコンテナ2408および2409がある状態)位置に貼り付けられることとなる。
以上の処理によって分割されたコンテナ2407Aおよび2407Bを含むドキュメントテンプレート上のコンテナの配置されるべきページ領域が決定されたため、再度図9によるレイアウト計算およびレイアウト調整が行われる。なお、コンテナ2407Bに関してはページ跨ぎリンクにより関連付けられたコンテナ2408と同一ページ領域に配置されたため、ページ跨ぎリンク1801は図38のダイアログにより設定されたリンクサイズ「3」の固定リンクへ1801Aと変更される。この際、図18ではページ跨ぎリンクは、通常のレイアウト計算およびレイアウト調整に影響を与えるリンクとは異なる表示形態であったが、属性が変更されたため図29の1801Aのように表示形態が変更され、レイアウト調整に影響を与えるリンクへと変更されたことが認識できるようになる。
レイアウト編集アプリケーションは変更後のリンク1801Aを考慮してレイアウト調整を行う。
以上の結果をホストコンピュータ内のMemory136に保存する。そして、全レコードの流し込みが終了するまで以上の処理を繰り返すこととなり、レイアウト結果が図18のドキュメントテンプレート上に表示されることとなる。また、図28の処理は境界線を境にして分割処理をするものであり、コンテンツデータを流し込んだ結果、コンテナが完全に境界線を越えて次ページの領域に移動してしまった場合、分割処理は行われず図21で示した移動処理と同等の処理になる。
尚、上記の図28の動作フローでは省略しているが、前記S904で述べたように、レイアウトの最適化後ルールに違反していた場合は、再度ルールを違反しないよう再計算が行なわれる。
以上、本実施例2ではコンテナの属性をユーザが設定できるようにすることで、コンテンツの流し込みによってコンテナが予め設定されたページをはみ出した場合であっても、ユーザの設定したコンテナ属性に応じて自動レイアウト処理が実行されることとなるのでユーザの意図を反映することができ、全体的にバランスの取れたレイアウトを作成することが可能となる。
実施例1および実施例2ではページを跨ぐリンクが設定されたコンテナの属性を考慮したレイアウト調整を行ってきた。実施例3では図33のようにページを跨ぐリンクが設定されたコンテナとレイアウト計算およびレイアウト調整に影響を与える通常のリンクによって関連付けられているコンテナの属性を設定する方法について説明する。
本実施例におけるページを跨ぐリンクが設定されたコンテナ(図33の1707および1708)と関連付けられているコンテナ(図33の1706、3301、1709、3304)の属性を設定する処理を図35のフローチャートに示す。なお、各処理はホストコンピュータのプロセッサ135によって行われることとなる。
レイアウト編集アプリケーション121は、ユーザによるリンク設定操作により設定されたリンクがページ跨りリンクであるか否かの判定をする(S3501)。なお、S3501の判定は実施例1のS2001と同様にMemory136からリンクの属性(本実施例では図34)を参照することによって判定が可能となる。S3501において、ページ跨りリンク(図33の1801に相当)であると判定された場合、レイアウト編集アプリケーション121は該リンクが設定されたコンテナ(図33の1707に相当)について実施例1または実施例2の手段によってコンテナ属性を設定すると共に、該ページ跨ぎリンクが設定されたコンテナに対して他のリンクが設定されているか否かの判定をする(S3502)。S3502についてもレイアウト編集アプリケーションがMemory136に保存されている図34のリンク属性を参照することにより判定可能となる。現在、図33においてページ跨ぎリンクが設定されたのはコンテナ1707およびコンテナ1708である。このコンテナ1707および1708に設定されている他のリンクを参照するとリンク1711、1712、3303、3305が抽出することができ、これにより他のリンクが設定されていると判定される。レイアウト編集アプリケーションはS3502で抽出された他のリンクによって関連付けられているコンテナの属性を設定する(S3503)。なお、S3503の詳細については後述する。レイアウト編集アプリケーションはS3503の設定を認識して(S3504)、終了する。これ以降は、実施例1または実施例2と同様にコンテンツデータの流し込みに応じてレイアウト調整を行うこととなる。
S3503の詳細について図36に示す。レイアウト編集アプリケーションはS3502で認識した他のリンクがどういったリンクであるかを認識する(S3601)。ここで、コンテナ同士を関連付けるリンクが設定されていた場合、該リンクによって関連付けられているコンテナ(図33ではコンテナ1706、1709、3304に相当)の属性を設定させるために図26のようなプロパティを表示する(S3604)。また、S3601でガイドを介したリンクが設定されていると判定された場合、ページ跨ぎリンクが設定されたコンテナのコンテナ属性に合わせて自動的に変更する(S3605)。図33でいえばページ跨ぎリンクが設定されたコンテナ1707とコンテナ3301はガイドを介して関連付けられているので、コンテナ1707の属性に合わせてコンテナ3301も属性が設定されることとなる。詳細にはMemory136に保存されているコンテナ1707の属性を認識することで、属性を合わせることが可能となる。レイアウト編集アプリケーションは、以上の処理によって属性の設定がされたことを示す図37のようなプロパティ3701を表示する(S3606)。
ここで図36の設定処理を分かりやすくするため図33を用いて具体的に説明する。まず1つ目は、ページ跨ぎリンクが設定されたコンテナ1707と垂直方向のリンクで直接関連付けられているコンテナ1706の属性を設定する場合、コンテナ1706は実施例1または2の手段によってレイアウト調整をした結果、コンテナ1707が異なるページに移動することが考えられる。その際に、関連付けられているコンテナ1706も連動して異なるページに移動するのか、予め設定されたページ内(1701)に残るのかを設定できるように図26が表示される。2つ目はコンテナ1707とガイド機能を介して関連付けられたコンテナ3301のような場合を想定する。ここでガイド機能について説明する。ガイド機能とは上述したリンクやアンカー機能と同様にレイアウト調整に影響を与える機能であり、例えば図33のように水平方向に配置されたコンテナ1707および3301の垂直方向の位置を調整したり、または垂直方向に配置された複数のコンテナをガイドを介してリンク設定することにより、該複数のコンテナの水平方向の位置を調整することが可能となる。具体的には図33において、コンテナ1707とコンテナ3301は水平方向の位置関係にレイアウトされているが、レイアウト調整の結果コンテナ1707が垂直方向にレイアウト位置が変更した場合、該変更に連動してコンテナ3301も垂直方向にレイアウト位置の変更を行う処理をする。このようなガイド機能を介してコンテナ1707と関連付けられたコンテナ3301のコンテナ属性をコンテナ1707の属性に合わせることで、実施例1または2によりコンテナ1707が異なるページに移動処理または初期設定のページに残る処理またはコンテナ分割処理と連動して同様の処理がコンテナ3301にも施されることとなる。例えば、コンテナ1707がページ1701からページ1702に移動した場合、連動してコンテナ3301もページ1702へ移動されることとなる。そして、3つ目がコンテナ1708とコンテナ3304のように水平方向のリンクによって直接関連付けられた場合である。このような場合は、コンテナ3301に対してコンテナ属性の設定を行うために図26のようなプロパティが表示され、ユーザが選択した設定を認識して、レイアウト調整を行うこととなる。
実施例3による処理により、例えば図33においてはページ跨ぎリンクが設定されたコンテナ1707がページ領域1701からページ領域1702に移動処理された場合、コンテナ1707と関連付けられているコンテナのレイアウト処理をユーザが所望とする属性設定に応じて、連動したレイアウト処理を行うことが可能となるため、ドキュメント全体のバランスを考慮したレイアウト調整を行うことが可能となる。
上記の設定によってコンテナに属性が設定されたとしても、流し込まれるコンテンツデータによっては全てその属性に基づいたレイアウト処理を行えない場合も考えられる。そのような場合は、エラー処理を行うかコンテナ属性またはテンプレート上の各種の設定を変更して再度レイアウト計算およびレイアウト調整を行うこととなる。
上記実施例1乃至3においては、予めコンテナ属性を設定しておくように記載したが、各コンテナにコンテンツデータを流し込み、レイアウト調整を行った結果、ページ跨ぎリンクが設定されたコンテナが予め設定されたページからはみ出すと判定された段階で、コンテナ属性を設定するようにしても構わない。さらに、ページを跨ぐリンクが設定されたことにより属性を自動設定していたが、ページを跨ぐリンクが設定されていなくとも、予め各コンテナに属性を設定しておき、コンテンツデータの流し込みによりコンテナが異なるページにはみ出した場合、該属性に応じてはみ出し先のページへ移動または跨ってレイアウトできるようにしても構わない。
なお、本発明は、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは云うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部又は全部を行い、その処理によって上記実施の形態の機能が実現される場合も含まれることは云うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは云うまでもない。
また、本発明は、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
Aはコンピュータシステム構成図、Bはコンピュータモジュールの概略図 図1Aのコンピュータシステムにエンジンサーバーを追加した構成図 アプリケーションのメインウインドウ コンテナの条件設定されたウィンドウ コンテナルール リンク作成フロー リンク作成時UI図 レイアウト計算の全体フロー レイアウト計算の詳細フロー 図9のフローに対応するUI レイアウト計算時におけるコンテナの集合 可変リンクによるコンテナ配置 可変リンク設定フロー リンクの設定ダイアログウィンドウ 固定リンクによるレイアウト結果 可変リンクによるレイアウト結果 複数ページのドキュメントテンプレート ページを跨ったリンクを持つレイアウトデザイン リンク設定およびリンク表示フロー コンテナ属性設定フロー ページ間リンク時の自動レイアウトの動作フロー ページ移動レイアウト結果 コンテナ属性設定フロー 第二実施例における自動レイアウトの動作フロー コンテナ情報 コンテナ属性の設定プロパティダイアログ ページ移動不可レイアウト結果 ページ跨りの自動レイアウトフロー コンテナのページ跨りレイアウト結果 ページ跨ぎ用編集ページ リンク属性 実施例3におけるコンテナ属性設定プロパティ 実施例3におけるドキュメントテンプレート 実施例3におけるリンク属性 実施例3におけるコンテナ属性設定フロー 実施例3におけるリンクに基づくコンテナ属性設定フロー コンテナ属性設定結果表示プロパティ ページ跨ぎリンク設定ダイアログウィンドウ
符号の説明
101 汎用コンピュータモジュール
103 ユーザインターフェース
105 レイアウトエンジン
119 データベース
121 レイアウトアプリケーションプログラム
132 キーボード
133 マウス
143 I/Oインタフェース
144 ビデオディスプレイ
301 アプリケーションウインドウ
303 ツールバー
313 カーソル/ポインタ
406 リンクツールボタン
407、408 コンテナ
409 アンカーアイコン
410 固定されていない辺
412 リンク

Claims (15)

  1. 調整手段と、第1判定手段と、第2判定手段と、決定手段とを備え、複数のデータ領域を有するテンプレートのレイアウトを、各データ領域に流し込まれるコンテンツデータに従って決定するレイアウト処理装置におけるレイアウト処理方法であって、
    前記調整手段が、複数のデータ領域に対して流し込まれる前記コンテンツデータに応じて前記複数のデータ領域のレイアウトを調整する調整工程と、
    前記第1判定手段が、前記調整工程によって調整された前記レイアウトに予め設定された第1ページ領域をはみ出すデータ領域がある場合、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定する第1判定工程と、
    前記第1判定工程が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると判定した場合、前記第2判定手段が、当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できるか否かを判定する第2判定工程と、
    前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できると判定した場合、前記決定手段が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると決定し、前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小しても当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できないと判定した場合、前記はみ出すと判定されたデータ領域を前記第2ページ領域に配置すると決定する決定工程を有することを特徴とするレイアウト処理方法。
  2. 前記レイアウト処理装置は、更に表示制御手段を備え、
    前記第1判定工程が、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合、前記表示制御手段が、当該はみ出すと判定されたデータ領域が配置されるページ領域を指定するための指定画面を表示する表示制御工程を更に備えることを特徴とする請求項1に記載のレイアウト処理方法。
  3. 前記第1判定工程が、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合とは、当該データ領域のはみ出し量が、当該データ領域のサイズの半分の量であることを特徴とする請求項2に記載のレイアウト処理方法。
  4. 前記決定工程によって当該はみ出すと判定されたデータ領域が配置されるページ領域が決定された後、前記調整工程は、各ページ領域内で再度レイアウト調整を実行することを特徴とする請求項1乃至3のいずれか1項に記載のレイアウト処理方法。
  5. 前記レイアウト処理装置は、更に関連付け手段を備え、
    前記関連付け手段が、前記複数のデータ領域の中の第1データ領域と第2データ領域とを関連付ける関連付け工程を更に有し、
    前記調整工程は、前記第1データ領域に入力されるコンテンツデータのサイズと当該第1データ領域のレイアウト後のサイズの差、および、前記第2データ領域に入力されるコンテンツデータのサイズと当該第2データ領域のレイアウト後のサイズの差が等しくなるように、前記第1および第2データ領域のサイズを決定することを特徴とする請求項1乃至4のいずれか1項に記載のレイアウト処理方法。
  6. 複数のデータ領域を有するテンプレートのレイアウトを、各データ領域に流し込まれるコンテンツデータに従って決定するレイアウト処理装置であって、
    複数のデータ領域に対して流し込まれる前記コンテンツデータに応じて前記複数のデータ領域のレイアウトを調整する調整手段と、
    前記調整手段によって調整された前記レイアウトに予め設定された第1ページ領域をはみ出すデータ領域がある場合、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定する第1判定手段と、
    前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると判定した場合、当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できるか否かを判定する第2判定手段と、
    前記第2判定手段が当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できると判定した場合、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると決定し、前記第2判定手段が当該第1ページ領域に既に配置されている他のデータ領域を縮小しても当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できないと判定した場合、前記はみ出すと判定されたデータ領域を前記第2ページ領域に配置すると決定する決定手段を有することを特徴とするレイアウト処理装置。
  7. 当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合、当該はみ出すと判定されたデータ領域が配置されるページ領域を指定するための指定画面を表示する表示制御手段を更に備えることを特徴とする請求項6に記載のレイアウト処理装置。
  8. 前記第1判定手段が、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合とは、当該データ領域のはみ出し量が、当該データ領域のサイズの半分の量であることを特徴とする請求項7に記載のレイアウト処理装置。
  9. 前記決定手段によって当該はみ出すと判定されたデータ領域が配置されるページ領域が決定された後、前記調整手段は、各ページ領域内で再度レイアウト調整を実行することを特徴とする請求項6乃至8のいずれか1項に記載のレイアウト処理装置。
  10. 前記複数のデータ領域の中の第1データ領域と第2データ領域とを関連付ける関連付け手段を更に有し、
    前記調整手段は、前記第1データ領域に入力されるコンテンツデータのサイズと当該第1データ領域のレイアウト後のサイズの差、および、前記第2データ領域に入力されるコンテンツデータのサイズと当該第2データ領域のレイアウト後のサイズの差が等しくなるように、前記第1および第2データ領域のサイズを決定することを特徴とする請求項6乃至9のいずれか1項に記載のレイアウト処理装置。
  11. 調整手段と、第1判定手段と、第2判定手段と、決定手段とを備えたコンピュータであり、複数のデータ領域を有するテンプレートのレイアウトを、各データ領域に流し込まれるコンテンツデータに従って決定するレイアウト処理を前記コンピュータに実行させるためのレイアウト処理プログラムであって、
    前記調整手段が、複数のデータ領域に対して流し込まれる前記コンテンツデータに応じて前記複数のデータ領域のレイアウトを調整する調整工程と、
    前記第1判定手段が、前記調整工程によって調整された前記レイアウトに予め設定された第1ページ領域をはみ出すデータ領域がある場合、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定する第1判定工程と、
    前記第1判定工程が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると判定した場合、前記第2判定手段が、当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できるか否かを判定する第2判定工程と、
    前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小することで当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できると判定した場合、前記決定手段が、前記はみ出すと判定されたデータ領域を前記第1ページ領域に配置すると決定し、前記第2判定工程が当該第1ページ領域に既に配置されている他のデータ領域を縮小しても当該はみ出すと判定されたデータ領域を当該第1ページ領域に配置できないと判定した場合、前記はみ出すと判定されたデータ領域を前記第2ページ領域に配置すると決定する決定工程を前記コンピュータに実行させるための当該コンピュータが読み取り可能なレイアウト処理プログラム。
  12. 前記コンピュータは、更に表示制御手段を備え、
    前記第1判定工程が、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合、前記表示制御手段が、当該はみ出すと判定されたデータ領域が配置されるページ領域を指定するための指定画面を表示する表示制御工程を更に備えることを特徴とする請求項11に記載のレイアウト処理プログラム。
  13. 前記第1判定工程が、当該データ領域のはみ出し量に基づいて当該データ領域を当該第1ページ領域に配置するのか、当該データ領域を当該第1ページ領域に続く第2ページ領域に配置するのかを判定できない場合とは、当該データ領域のはみ出し量が、当該データ領域のサイズの半分の量であることを特徴とする請求項12に記載のレイアウト処理プログラム。
  14. 前記決定工程によって当該はみ出すと判定されたデータ領域が配置されるページ領域が決定された後、前記調整工程は、各ページ領域内で再度レイアウト調整を実行することを特徴とする請求項11乃至13のいずれか1項に記載のレイアウト処理プログラム。
  15. 前記コンピュータは、更に関連付け手段を備え、
    前記関連付け手段が、前記複数のデータ領域の中の第1データ領域と第2データ領域とを関連付ける関連付け工程を更に有し、
    前記調整工程は、前記第1データ領域に入力されるコンテンツデータのサイズと当該第1データ領域のレイアウト後のサイズの差、および、前記第2データ領域に入力されるコンテンツデータのサイズと当該第2データ領域のレイアウト後のサイズの差が等しくなるように、前記第1および第2データ領域のサイズを決定することを特徴とする請求項11乃至14のいずれか1項に記載のレイアウト処理プログラム。
JP2004361482A 2004-12-14 2004-12-14 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム Expired - Fee Related JP4298642B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004361482A JP4298642B2 (ja) 2004-12-14 2004-12-14 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US11/299,559 US7707495B2 (en) 2004-12-14 2005-12-12 Layout processing method, layout processing apparatus, and layout processing program for dynamically changing a layout of a template having a plurality of a data regions in accordance with content data inserted into the data regions
CNB2005101342793A CN100458780C (zh) 2004-12-14 2005-12-13 布局处理方法、装置以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004361482A JP4298642B2 (ja) 2004-12-14 2004-12-14 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム

Publications (3)

Publication Number Publication Date
JP2006171979A JP2006171979A (ja) 2006-06-29
JP2006171979A5 JP2006171979A5 (ja) 2007-02-01
JP4298642B2 true JP4298642B2 (ja) 2009-07-22

Family

ID=36654774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004361482A Expired - Fee Related JP4298642B2 (ja) 2004-12-14 2004-12-14 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム

Country Status (3)

Country Link
US (1) US7707495B2 (ja)
JP (1) JP4298642B2 (ja)
CN (1) CN100458780C (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
EP1836584A4 (en) * 2004-11-16 2009-05-06 Zalag Corp DISPLAY / PRESENTATION METHODS AND DEVICES CORRESPONDING TO CONTENT ELEMENTS AND DISPLAY CONTAINERS
GB2430060A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Flows for variable data printing
GB2430059A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Variable data printing
JP4956202B2 (ja) * 2007-01-16 2012-06-20 キヤノン株式会社 情報処理装置及び情報処理方法及びプログラム
US8108763B2 (en) * 2007-01-19 2012-01-31 Constant Contact, Inc. Visual editor for electronic mail
JP4442616B2 (ja) * 2007-02-14 2010-03-31 セイコーエプソン株式会社 文書編集装置、プログラムおよび記憶媒体
US8065628B2 (en) * 2007-06-25 2011-11-22 Microsoft Corporation Dynamic user interface for previewing live content
JP2010026766A (ja) 2008-07-18 2010-02-04 Canon Inc 情報処理装置、情報処理方法及びプログラム
JP2010039938A (ja) * 2008-08-07 2010-02-18 Fuji Xerox Co Ltd 文書処理装置及び文書処理プログラム
JP5419412B2 (ja) * 2008-10-08 2014-02-19 キヤノン株式会社 文書編集装置、文書編集方法およびコンピュータプログラム
TWI366130B (en) * 2008-10-17 2012-06-11 Htc Corp Method for adjusting page displaying manner, mobile electronic device, and computer program product using the method thereof
JP2010097564A (ja) * 2008-10-20 2010-04-30 Canon Inc 情報処理装置及びレイアウト処理方法
JP2010123002A (ja) * 2008-11-20 2010-06-03 Canon Inc 文書画像レイアウト装置
JP5629435B2 (ja) 2009-06-30 2014-11-19 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP5460390B2 (ja) 2010-03-12 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション レイアウト変換装置、レイアウト変換プログラム、およびレイアウト変換方法
WO2012039723A1 (en) * 2010-09-26 2012-03-29 Hewlett-Packard Development Company Generating variable document templates
USD715818S1 (en) * 2011-12-28 2014-10-21 Target Brands, Inc. Display screen with graphical user interface
USD705792S1 (en) 2011-12-28 2014-05-27 Target Brands, Inc. Display screen with graphical user interface
USD705790S1 (en) 2011-12-28 2014-05-27 Target Brands, Inc. Display screen with graphical user interface
US20130263024A1 (en) * 2012-01-20 2013-10-03 Vistaprint Limited Organizing and Recalling Website Commands in a Website Under Contruction
KR101437090B1 (ko) * 2012-06-08 2014-09-11 스핀노트 주식회사 보조페이지 출력이 가능한 출력장치, 보조페이지 출력방법 및 그 방법을 구현하는 프로그램이 기록된 기록매체
US8584077B1 (en) * 2012-07-30 2013-11-12 Agilent Technologies, Inc. User-controllable connectivity engine for electronic design automation tools
US9830304B1 (en) * 2013-02-22 2017-11-28 Swoop Inc. Systems and methods for integrating dynamic content into electronic media
US10007933B2 (en) * 2013-02-22 2018-06-26 Swoop Inc. Systems and methods for integrating dynamic content into electronic media
CN105393246A (zh) * 2013-06-28 2016-03-09 微软技术许可有限责任公司 用属性组选择和编辑视觉元素
US9779065B1 (en) * 2013-08-29 2017-10-03 Google Inc. Displaying graphical content items based on textual content items
CN104102728A (zh) * 2014-07-23 2014-10-15 天脉聚源(北京)科技有限公司 一种新闻列表展示方法和装置
CN115048088A (zh) * 2016-05-17 2022-09-13 谷歌有限责任公司 自动确定布局约束的系统和方法
CN109710568A (zh) * 2018-12-18 2019-05-03 深圳壹账通智能科技有限公司 理赔文件格式标准化处理的方法、装置、介质及电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060170A (en) * 1989-08-09 1991-10-22 International Business Machines Corp. Space allocation and positioning method for screen display regions in a variable windowing system
EP0667012B1 (en) * 1992-11-09 1997-02-05 Microsoft Corporation Method and system for connecting objects in a computer system
JPH07129658A (ja) 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
US5845303A (en) * 1994-12-06 1998-12-01 Netpodium, Inc. Document processing using frame-based templates with hierarchical tagging
US5717922A (en) * 1995-07-31 1998-02-10 International Business Machines Corporation Method and system for management of logical links between document elements during document interchange
US5813020A (en) * 1995-07-31 1998-09-22 International Business Machines Corporation Method and system for dynamic presentation parameter override during document interchange
US6317762B1 (en) * 1995-11-22 2001-11-13 Fujitsu Limited Document creating apparatus creates free format document from handwritten data converting into normalized size
CN101059754B (zh) 1996-05-14 2010-08-18 株式会社理光 Java打印机
CN1223731A (zh) 1996-05-14 1999-07-21 株式会社理光 Java打印机
US6026417A (en) * 1997-05-02 2000-02-15 Microsoft Corporation Desktop publishing software for automatically changing the layout of content-filled documents
US6880122B1 (en) * 1999-05-13 2005-04-12 Hewlett-Packard Development Company, L.P. Segmenting a document into regions associated with a data type, and assigning pipelines to process such regions
JP3594228B2 (ja) * 1999-07-01 2004-11-24 シャープ株式会社 枠消し装置、枠消し方法、およびオーサリング装置
JP3812470B2 (ja) 2002-03-18 2006-08-23 セイコーエプソン株式会社 コンテンツ配信システム、コンテンツ配信方法およびプログラム並びに課金方法
DE60326943D1 (de) * 2002-03-28 2009-05-14 Ibm Verfahren und vorrichtung für hierarchische layout spezialisierung
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
JP4055494B2 (ja) * 2002-07-09 2008-03-05 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
JP4082351B2 (ja) * 2003-03-12 2008-04-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
JP4079087B2 (ja) * 2003-03-12 2008-04-23 セイコーエプソン株式会社 レイアウトシステム
US7325197B1 (en) * 2003-06-16 2008-01-29 Microsoft Corporation Method and system for providing page control content
US7325196B1 (en) * 2003-06-16 2008-01-29 Microsoft Corporation Method and system for manipulating page control content
US7424672B2 (en) * 2003-10-03 2008-09-09 Hewlett-Packard Development Company, L.P. System and method of specifying image document layout definition
JP4110105B2 (ja) * 2004-01-30 2008-07-02 キヤノン株式会社 文書処理装置及び文書処理方法及び文書処理プログラム
US7581178B2 (en) * 2004-07-30 2009-08-25 Microsoft Corporation Systems and methods for pagination using variable page dimensions
JP4522280B2 (ja) * 2005-02-04 2010-08-11 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
AU2005201758B2 (en) * 2005-04-27 2008-12-18 Canon Kabushiki Kaisha Method of learning associations between documents and data sets

Also Published As

Publication number Publication date
JP2006171979A (ja) 2006-06-29
CN1790338A (zh) 2006-06-21
CN100458780C (zh) 2009-02-04
US7707495B2 (en) 2010-04-27
US20060156227A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP4208858B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7707494B2 (en) Information processing apparatus, control method therefor, and program
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
US7596746B2 (en) Information processing method and apparatus, and computer-readable program
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4241410B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4250540B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
JP4059504B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4912139B2 (ja) 情報処理装置
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
US7853872B2 (en) Laying out field regions in a page for insertion of data
JP4111519B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP4241551B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP2008102869A (ja) レイアウト処理方法及び装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090305

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090323

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: 20090407

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: 20090415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees