JP4241410B2 - レイアウト調整方法および装置およびレイアウト調整プログラム - Google Patents

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

Info

Publication number
JP4241410B2
JP4241410B2 JP2004024488A JP2004024488A JP4241410B2 JP 4241410 B2 JP4241410 B2 JP 4241410B2 JP 2004024488 A JP2004024488 A JP 2004024488A JP 2004024488 A JP2004024488 A JP 2004024488A JP 4241410 B2 JP4241410 B2 JP 4241410B2
Authority
JP
Japan
Prior art keywords
layout
container
size
link
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
JP2004024488A
Other languages
English (en)
Other versions
JP2005216175A (ja
JP2005216175A5 (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 JP2004024488A priority Critical patent/JP4241410B2/ja
Priority to US11/041,742 priority patent/US20050168782A1/en
Priority to CNB2005100051042A priority patent/CN100545798C/zh
Priority to KR1020050008192A priority patent/KR100716084B1/ko
Priority to EP05250450A priority patent/EP1560126A3/en
Publication of JP2005216175A publication Critical patent/JP2005216175A/ja
Publication of JP2005216175A5 publication Critical patent/JP2005216175A5/ja
Application granted granted Critical
Publication of JP4241410B2 publication Critical patent/JP4241410B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • 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/106Display of layout of documents; Previewing
    • 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/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、テキストやイメージで構成されたドキュメントの生成、編集、そして印刷のための技術に関するものであり、更に詳しくは、バリアブルデータドキュメントの生成、編集、そして印刷に好適なものである。
近年、商品の多品種化で商品ライフが短くなっていること、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からCRM(Customer Relationship Management)、One-to-Oneマーケティングの必要性が注目されている。これらの手法は、顧客満足度を高め、顧客の開拓や囲い込みを目指すという目的に対して非常に効果的なものである。
One-to-Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な具体的手法としてバリアブルプリントが挙げられる。特に、最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。このようなバリアブルプリントシステムでは、顧客毎に異なる量のコンテンツが最適にレイアウトされたカスタマイズ文書を作成することが求められる。
一般に、バリアブルプリントシステムにおいてそのようなカスタマイズ文書を作成する際には、ドキュメント上にコンテナをレイアウトする。コンテナとはコンテンツ(描画内容)を描画するための部分領域であり、フィールド領域と呼ばれることもある。すなわち、ドキュメント上にこのようなコンテナをレイアウトし、データベースとレイアウトを関連付ける(データベースの各コンテンツと各コンテナとを関連付ける)といった作業により、カスタマイズ文書(ドキュメント)を作成する。本明細書ではこのようなドキュメントをバリアブルデータドキュメントという。
このようなバリアブルプリントシステムにおいて、レイアウトされた各コンテナには顧客によって異なるコンテンツを流し込むことが可能である。従って、コンテンツに流し込まれるデータのサイズは可変であり、これに対してコンテナのサイズが固定であると次のような課題が生じる。例えば、コンテナのサイズよりも大きなサイズのテキストデータが流し込まれた場合には全てのテキストをそのコンテナ内に表示出来なくなってしまう。あるいは、コンテナのサイズよりも大きなサイズのイメージデータが流し込まれた場合には、そのイメージの一部が欠落してしまう。このような問題をオーバーフローと呼ぶ。
なお、コンテンツがイメージデータの場合には、当該イメージを縮小してコンテナ内に描画することも考えられるが、イメージが極端に小さくなってしまうといった弊害が生じる可能性がある。また、固定サイズのコンテナ内に入りきらないテキストデータが挿入された場合に、テキストのフォントサイズを縮小し、当該コンテナ内に全てのテキストを表示可能にする技術も提案されている。しかしながら、このようにフォントサイズを調節する場合、フォントサイズが小さくなりすぎて、ドキュメント全体のバランスが崩れたり、読みにくくなるという課題が生じる。
このような課題を解決するための自動レイアウトの技術として、あるコンテナのサイズが大きくなった場合に、隣接したコンテナとの間隔を保つべく当該隣接するコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
特開平7−129658号公報 (0049、図8)
バリアブルプリントシステムにおいて、各コンテナに挿入されるデータは、たとえば顧客に応じて変更することが可能であるため、コンテナに挿入されるデータが“空”の場合がある。しかしながら、上述した従来の技術では、コンテナ内に挿入されるデータが空であった場合、そのコンテナ配置部分が空白としてレイアウトされてしまう。すなわち、ドキュメントレイアウトの中でそのコンテナの部分のスペースが空いてしまっていた。このためドキュメントの一部に目立つ空白部分が発生してしまい、ドキュメントの見栄えを悪化させてしまう場合がある。また、そのような空白部分は、データが挿入された他のコンテナが最適なサイズになるために利用されることが望ましいが、空白のコンテナが存在するために、当該空白部分を利用することは出来なかった。
本発明は上記の課題に鑑みてなされたものであり、挿入されるデータが空のコンテナのスペースを有効に利用可能とし、より見栄えを向上させたドキュメントを作成可能とすることを目的とする。
上記の課題を解決するための本発明によるレイアウト調整方法は、
情報処理装置による、ページのレイアウトを決定するためのレイアウト調整方法であって、
レイアウト編集手段が、データが割り当てられる部分領域をページ内に配置する工程と、
レイアウト編集手段が、前記配置する工程において配置された複数の部分領域を接続するためにリンクを設定する工程と、
レイアウト編集手段が、部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する工程と、
レイアウト編集手段が、前記配置する工程において配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する工程とを備え、
前記調整する工程では、前記指定情報を設定する工程において前記指定情報が設定されていた場合、割り当てられるデータが空となっている部分領域のサイズをゼロとみなして、当該ゼロとみなされた部分領域と前記リンクを介して接続されている他の部分領域のサイズを変更する。
また、上記の目的を達成するための本発明によるレイアウト調整装置は、
ページのレイアウトを決定するレイアウト調整装置であって、
データが割り当てられる部分領域をページ内に配置する手段と、
前記配置する手段によって配置された複数の部分領域を接続するためにリンクを設定する手段と、
部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する手段と、
前記配置する手段によって配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する手段して機能するレイアウト編集手段を備え、
前記調整する手段は、前記指定情報を設定する手段によって前記指定情報が設定されていた場合、割り当てられるデータが空となっている部分領域のサイズをゼロとみなして、当該ゼロとみなされた部分領域と前記リンクを介して接続されている他の部分領域のサイズを変更する。
本発明によれば、挿入されるデータが空のコンテナのスペースを有効に利用することが可能となり、より見栄えを向上させたドキュメントを作成できる。
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
《第1実施形態》
<システム構成>
まず、図1および図2を参照して、本実施形態のバリアブルプリントシステムの構成を説明する。図1はバリアブルデータドキュメントを印刷するためのバリアブルプリントシステム100の構成例を示すブロック図である。また、図2は図1に示されたホストコンピュータ101の構成を更に詳細に示すブロック図である。本実施形態で説明されるバリアブルプリント処理は、レイアウト調整装置であるホストコンピュータ101(汎用コンピュータモジュールで構成される)によって実行される。システム100上で実施可能となるレイアウト編集アプリケーションプログラム121(本発明のレイアウト調整プログラム)はホストコンピュータ101において、そのソフトウェアの全体、あるいは一部分が実行される。特にレイアウト編集のための処理やバリアブルデータドキュメントの印刷のための処理はホストコンピュータ101で実行されるソフトウェアにより実現される。
レイアウト編集アプリケーションプログラム121はコンピュータの可読媒体に格納され、そのコンピュータの可読媒体からホストコンピュータ101のメモリ136にロードされ、実行される。そのようなソフトウェアやコンピュータプログラムを格納したコンピュータの可読媒体はコンピュータプログラム製品である。コンピュータにおいてそのコンピュータプログラム製品を使用することにより、ドキュメントのレイアウト編集やバリアブルプリントに好適な装置が提供されることになる。
図2に示されるように、ホストコンピュータ101には、入出力インターフェース143を介してキーボード132や、マウス133のようなポインティングデバイス等が入力装置として接続される。また、出力装置としてのディスプレイ装置144がビデオインターフェース137を介して接続される。更に、ローカルプリンタ145等を入出力インターフェース138を介して接続することも可能である。また、入出力インタフェース138はコンピュータモジュール101をネットワーク107へ接続する機能も有する。これにより、ネットワークを介してシステム100内の他のコンピュータ装置にホストコンピュータ101を接続することができる。ネットワーク107の典型的な例としては、ローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)が挙げられる。
また、図2に示すように、ホストコンピュータ101は少なくとも1つのプロセッサユニット135、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136を含んでいる。格納デバイス139は、プログラム等を格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ140やフロッピー(登録商標)ディスクドライブ141を含む。なお、図2には示されていないが、磁気テープドライブ等も格納デバイス139として使用可能である。CD−ROMドライブ142は不揮発性のデータソースとして提供される(もちろん、CD−ROMによってコンピュータプログラムを提供してもよい)。
ホストコンピュータ101は、GNU/LINUXやマイクロソフトウインドウズ(登録商標)のようなオペレーティングシステムや、典型的にはオペレーティングシステムに従う形で、あるいは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135から143を利用する。すなわち、上述した135〜143で示される各構成は、バス134を介して通信可能に接続されており、ホストコンピュータ101にインストールされたオペレーティングシステムにより利用される。
なお、図2に示したホストコンピュータ101の例としては、IBM互換PCやSUN のSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。
<レイアウト編集アプリケーションの概要>
本実施形態では、レイアウトアプリケーションプログラム121はハードディスクドライブ140に常駐し、プロセッサ135により実行や読み込みがコントロールされるものとする。レイアウト編集アプリケーション121のプログラムの媒介記憶装置とネットワーク107からフェッチされるデータはハードディスクドライブ140に呼応して半導体メモリ136を使用する。
一つの例では、レイアウト編集アプリケーション121のエンコードされたプログラムは、CD−ROMやフロッピー(登録商標)ディスク上に格納され、対応するドライブ142や141を通じて読み込まれ、ハードディスクドライブ140にインストールされる。あるいは、別の例として、レイアウト編集アプリケーションプログラム121はネットワーク107からホストコンピュータ101内に読み込まれて、ハードディスクドライB140にインストールされてもよい。さらにソフトウェアは、磁気テープまたはROMまたは集積回路、光磁気ディスク、または、ホストコンピュータ101とその他のデバイス間における赤外線等の無線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む他の適当なコンピュータからホストコンピュータ101内にロードされてもよい。これらは、コンピュータ可読媒体の例であり、他のコンピュータ可読媒体が使用されてもよいことは明らかである。
図1において、本発明のレイアウト編集アプリケーション121はコンピュータにバリアブルプリント(バリアブルデータプリント(VDP)ともいう)を行わせるものであり、2つのソフトウェアコンポーネント、すなわちレイアウトエンジン105とユーザインターフェース103、を含んでいる。レイアウトエンジン105は、部分領域であるコンテナ(矩形の範囲)に与えられたサイズや位置の制限にしたがって、データベース119に格納されているバリアブルデータから1レコードずつ読み込み、読み込んだデータとコンテナの制限とから、読み込んだデータが流し込まれるコンテナの大きさや位置等を計算するソフトウェアコンポーネントである。また、本実施例では、レイアウトエンジン105は、更に、コンテナに割り当てられたデータを描画し、バリアブルデータドキュメントのイメージを生成する処理も行う。ただし、本発明はこれに限るものではなく、レイアウトエンジン105は各部分領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、図示省略したプリンタドライバに描画情報を出力することで、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成してもよい。ユーザインタフェース103は、ユーザによるコンテナのレイアウトや属性設定を可能とし、ユーザにドキュメントテンプレートを作成させる。また、ユーザインターフェース103はドキュメントテンプレート内の各コンテナとデータソースとを関連付けるメカニズムを提供する。ユーザインタフェース103とレイアウトエンジン105はコミュニケーションチャネル123を介して通信する。
図3は本実施形態によるバリアブルデータプリントの概略を説明する図である。レイアウト編集アプリケーション121のユーザインターフェースモジュール103(以下、ユーザインタフェース103と記載する)により、ユーザからの操作指示に従いページ上に複数のコンテナ181〜183を配置し、各コンテナに位置やサイズに関する制約条件を付与することによりドキュメントテンプレート180が生成される。また、ユーザインターフェース103はドキュメントテンプレート180とデータソース190との関連付け、更に各コンテナとデータソース190内の各データフィールドとの関連付けを行う。各コンテナとデータソース190内の各データフィールドとの関連付けを示す関連付け情報は、ドキュメントテンプレート内に記述され、該ドキュメントテンプレートは、HDD140に格納される。また、データソース190は、レコード単位で項目データが記載されているファイルであり、HDD140に格納されている。レイアウトエンジン105は、ユーザからの印刷指示もしくはプレビュー指示に応じて、ドキュメントテンプレートの各コンテナ181〜182に、関連付け情報で関連付けられたデータをデータソース190から読み込み、レコード単位で流し込み(例えば、データレコード1のデータフィールドA〜Cをコンテナ181〜183へ流し込む)、流し込まれたデータに応じて各コンテナのサイズ等を調整(レイアウト調整)する。プレビュー指示の場合は、レイアウト調整されたドキュメントイメージを生成し、ビデオディスプレイ144の画面上にプレビューとして表示するべく出力される。また印刷指示の場合は、レイアウトエンジン105もしくはプリンタドライバを用いて生成したドキュメントイメージを印刷データとしてプリントサーバ109へ出力する。データレコード1,2,3…を順次処理することにより、バリアブルデータプリントが実現されることになる。
ドキュメント生成のためのデータソース(190)は、例えば、データベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ117上の一般的なデータベース119であってもよい。この場合、ホストコンピュータ101はネットワーク107を介してデータベースサーバ117と通信し、データソースを取得できる。また、レイアウト編集アプリケーション121によって生成された、バリアブルデータプリントのためのドキュメントテンプレート(180)は、ホストコンピュータ101或いは他のコンピュータで構成されるファイルサーバ115に保存される。図3で上述したように、レイアウト編集アプリケーション121のレイアウトエンジン105は、データとマージされたドキュメントテンプレートによって構成されたバリアブルデータドキュメントを生成する。これらのドキュメントは、ホストコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバ115に保存されるか、あるいはプリンタ113に送信されて印刷される。プリントサーバ109はネットワークと直接にはつながっていないプリンタにネットワーク機能を提供するためのコンピュータである。プリントサーバ109とプリンタ113は一般的な通信チャネル111を介して接続される。
<他のシステム構成例>
図4は、図1と類似のブロック図であるが、エンジンサーバ227が追加されている。エンジンサーバ227に格納されているレイアウトエンジン225は、レイアウトエンジン105の分離バージョンである。エンジンサーバ227には一般的なコンピュータが用いられる。レイアウトエンジン225は、印刷やその他の目的に応じてバリアブルデータドキュメントを生成するために、ファイルサーバ115に保存されたドキュメントテンプレートとデータベース119に保存されたデータとを結合する。そのようなオペレーションはユーザインタフェース103を介して要求される。
<レイアウト編集アプリケーションの説明>
以下、レイアウト編集アプリケーション121について説明する。
[メインウインドウ]
ユーザインターフェース103は、操作時に図5に示されるようなアプリケーションウインドウ301によって形成されたユーザインターフェース画面をビデオディスプレイ144に表示させる。このウインドウ301は、メニューバー302、ツールバー303、ワークエリア306とオプションのパレット311を有する。メニューバー302とツールバー303は非表示にすることや、スクリーン上の色々な場所に移動することが可能である。また、ワークエリア306はマウス133の操作によってその場所を移動させることが可能である。また、パレット311はオプションであり、カーソル/ポインタデバイス313はマウス133が指し示す位置を表す。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を持つ。
ツールバー303は、アプリケーションの特別なモードによって非表示状態にする、または表示状態にすることが可能な多くのツールボタンとウィジット305を持つ。
ルーラー308はオプションであり、ワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール312を持つ。パレット311はオプションで、ワークエリアの前面に表示される、あるいはオブジェクトの背面に隠される。パレット311はアプリケーションウインドウ301の範囲内のみに表示されることを制限される、あるいはアプリケーションウインドウ301の外側にその一部或いは全体を表示することを許される。
ツールバー303には図6に示されるような、ユーザ選択可能な『ボタン』が配置されている。
(1)選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック/ロック解除のために使われる。コンテナの選択は、コンテナの周りに選択ボックスをドラッグすることによりなされる。また、CTRLキーを押しながら、複数のコンテナについて選択操作をすることによって、複数のコンテナを選択可能である。
(2)テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
(3)イメージコンテナツールボタン404:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
(4)リンクツールボタン406:コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使われる。
レイアウト編集アプリケーション121の図5に示したアプリケーションウインドウ301は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の各コンテナが固定コンテナである場合は、すべてのレコードの印刷結果のレイアウトは同じになる。また、基本レイアウト内の各コンテナが後述する可変コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。よって、レイアウト編集アプリケーション121で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものであり、可変コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウト調整されることになる。
[ドキュメントテンプレート]
図5において、ワークエリア306はドキュメントテンプレート(180:基本レイアウト)のデザインを表示・編集するために使われる。これはユーザがドキュメントテンプレートをデザインする過程において、印刷されるドキュメントの概観をユーザに提示することを可能とする。これにより、ユーザは、データソース(190)とマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを容易に理解できる。
また、データソースがドキュメントテンプレートに関連付けられていた場合は、現在のドキュメントのプレビューができるように、対応するバリアブルテキストやイメージがレイアウトされた各コンテナに表示される。
ドキュメントテンプレートにおけるドキュメント構造とバリアブルデータコンテナの描写をする視覚的な手がかり(コンテナの枠線、アンカー、スライダー、リンク等)は、ドキュメントテンプレート作成時には常に表示され、バリアブルデータを流し込むプレビュー時には、視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときに表示される。
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309を含む。ドキュメントテンプレート309はページが複数あることを示すことができる。また、ドキュメントテンプレート309は、図3のドキュメントテンプレート180を表示しているものである。
与えられたドキュメントテンプレートのページサイズは、周知の技術を用いて、ユーザによって指定される。例えばメニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。それぞれのドキュメントでの実際のページ数は、関連付けられたデータソース内のバリアブルデータによって変化する可能性が有る。これは、ドキュメントテンプレート内に可変表のようにバリアブルデータの量により大きさが変更されるフィールドが設定されている場合、1ページ内にバリアブルデータをフィットできないバリアブルデータが読み込まれると、追加のページが自動的に作成されるからである。
それぞれのページ内に示される境界線310は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージンである。
図6は1ページのドキュメントテンプレート309上に表示され得るオブジェクトの例を示す図である。このようなオブジェクトとしては、コンテナ407、408と、任意に適用するアンカーアイコン409、固定されている辺411、414、固定されていない辺410、リンク412そしてスライダー413を持つ。アンカーアイコン409は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン409が設定されると、設定された個所の位置が固定となる。つまり、図6の例では、アンカーアイコン409は、コンテナ407の左上の角に設定されているため、コンテナ407はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合に、右方向及び下方向に拡大可能であることを示している。アンカーアイコン409が辺に設定されている場合は、その辺が固定となり、その他の3辺の各方向に拡大可能である。また、アンカーアイコン409がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、4方向に拡大可能である。リンク412は詳細は後述するが、コンテナ407とコンテナ408が関連付けられていることを示しており、このリンクに設定されている長さ(範囲指定可能)を保ちつつ、コンテナ408が右方向に移動可能であることを示している。スライダー413は、設定されている辺と水平方向に移動可能であることを示している。
[コンテナ]
ここで、コンテナについて説明する。コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定あるいは可変のテキスト/イメージが流し込まれ、描画されるスペース(これを部分領域と呼ぶ)であり、図6に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインターフェース画面を介して、ユーザからの操作指示により、コンテナはマウス133の操作により移動、サイズ調整、再作成される。
より正確にはコンテナは、設定の集まり、視覚的表現、そしてインタラクションと編集動作をもっている。下記は本実施形態によるコンテナの定義である。
(1)コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースから取得したデータがドキュメント毎、つまりレコード毎に異なる可能性があるという意味でダイナミック(動的)であるということができる。ただし、本実施形態の可変コンテンツは、アニメーション化されたもの、あるいは他の方法で時間的に変化するコンテンツは印刷には適していないため、ここでは意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じように表示される。しかしながら、可変コンテンツとリンクが設定されている場合、可変コンテンツの影響を受けて、固定コンテンツはそれぞれのドキュメントで位置が異なる可能性がある。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定と同様の装飾機能を持っている。このような設定をコンテナ属性と呼ぶ。コンテナ属性は、各コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。
(3)コンテナはドキュメントを生成する際にデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、印刷された出力物において可視である。可変コンテンツはデータソースからの特定のデータの表示を提供する。コンテナのこの表現は例えば印刷されるか、ビデオディスプレイ144のスクリーン上に表示されるか、その両方が可能である。
(4)コンテナは、図6に示されるように視覚的な手がかりとしてのユーザインターフェースを有している。例えばコンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインターフェース(GUI)を持つ。GUIの各要素はビデオディスプレイ144のスクリーン上に表示されるが、ドキュメントとしては印刷されない。レイアウト編集アプリケーション121のユーザインターフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、さらにコンテナの設定の編集や表示を可能にするための機能を有している。
[コンテナの制約]
コンテナはそれぞれのドキュメントで表示されるコンテンツをどのように結びつけるかの制御に関する制約がある。これらの制約(固定/可変コンテンツをコンテナと結びつけることを含む)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントの世代をコントロールする主要な方法である。制約の一つの例は『このコンテナのコンテンツの高さは最大4インチです』である。また、別の制約の例は『コンテナのコンテンツの左エッジは、それぞれのドキュメントにおいて同じ水平位置で表示しなければならない』である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。よって、以下の説明では、バリアブルデータ印刷に特化した方法における表示・編集に焦点を合わせる。
コンテナを用いることにより、ユーザは、ドキュメントにおけるコンテンツのサイズ(描画サイズ)や位置を指定することが可能となる。いく種類ものドキュメントが一つのドキュメントテンプレートから生成されるので、コンテナに多数の可能性と制約を設定することになるが、これらの設定(指定)や表示のために所定のユーザインターフェースが利用される。
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。したがって、コンテナの左辺を論じることは、関連付けられたコンテンツが、各ドキュメントにおいて、表示可能であるエリア内の最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは、生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。本明細書では、ユーザインターフェース103を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)コンテナの幅が固定である場合、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
(2)コンテナの高さが固定である場合、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
(3)距離(リンクの長さ)が固定である場合、指定された距離は全てのドキュメントにおける制約となる。
(4)コンテナの左右辺が固定の場合、ページに関する辺の水平位置は全てのドキュメントで同じであることを意味している。ただし、コンテナの高さあるいは垂直方向の位置は、変化する可能性がある。例えば、コンテナの左辺が固定である場合、関連付けられたコンテンツの表示位置は、全てのドキュメントでその左辺の位置は同じ水平位置となるが、あるドキュメントではページの上の方に表示され、他のドキュメントではページの下の方に表示される可能性がある。
(5)コンテナの上下辺が固定の場合、ページにおける辺の垂直位置は全てのドキュメントで同じとなることを意味している。ただし、コンテナの幅あるいは水平位置はドキュメントによって変わる可能性がある。
(6)コンテナの垂直軸はコンテナの右辺と左辺に平行で、それらの中間に位置される仮想の垂直線である。もしコンテナの垂直軸が固定なら、当該コンテナの左右辺の水平位置の平均(すなわち左右の中央位置)は、すべてのドキュメントで同じとなる。この制約において、コンテナの幅は変化する可能性がある。しかしながら、左右辺が垂直軸にもっとも遠いものからもっともものまで、垂直軸は全てのドキュメントで同じ水平位置となる。なお、コンテナの高さと垂直位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上辺と下辺の平均が同一の垂直方向位置に配置される。ただし、コンテナの幅と水平位置はこの制約によって影響されることはない。
(8)水平軸と垂直軸の両方が固定である場合、コンテナの中心位置が固定されていることを意味する。ただし、コンテナの幅・高さはこの制約によって影響されない。
(9)コンテナの角位置、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定である場合、それぞれの位置はすべてのドキュメントで同じ場所となる。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。
『固定』の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味する『可変』である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待するが、特定のコンテナについては、大きさや位置を固定にしたり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。そのため、本レイアウト編集アプリケーション121では、各コンテナ(部分領域)について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにした。これにより、ユーザはドキュメントテンプレート180の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
[コンテナ表示・編集]
−−新規コンテナの作成方法−−
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキストおよび埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。
図6で示されるように、新規のテキストコンテナあるいはイメージコンテナは、テキストコンテナツール404あるいはイメージコンテナツール405をマウス133でクリックし、ドキュメントテンプレート309上に四角形をドラッグすることによって、当該ドキュメントテンプレート309上に作成される。
あるいは、コンテナは、適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上で単にクリックすることによって作成されるようにしてもよい。この場合、マウス133のクリック操作に応じてデフォルトサイズのコンテナがテンプレート上に挿入されるとともに、当該新規コンテナの寸法等を設定するためのダイアログボックスあるいは他のプロンプトが提供される。なお、コンテナのサイズは自動的に前もって定義されるようにしてもよいし、あるいは、計算されたスキーマによって作成・配置される、等、種々の方法が考えられる。ここで生成されたコンテナをマウス等の入力手段により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。コンテナのプロパティダイアログUI(部分領域設定手段に相当する)では、上述した各種の制約を設定することができる。また、コンテナのプロパティダイアログでは、コンテナのサイズ(幅、高さ)や位置を決定することができ、可変サイズにする場合は、コンテナの基本パターン(基本サイズと基準位置)を設定し、更に、最大コンテナサイズ(幅、高さ)と最小コンテナサイズ(幅、高さ)を設定することが可能となっている。
[コンテナの表示方法]
図7の(A)から(D)はコンテナの辺に関する表示ルールを例示している。
アプリケーション121は、コンテナの辺の状態を表現するために、実線(アイテム503)あるいは点線(504)を用いて辺を表すとともに、アンカー(辺の近くに描画された506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために領域の辺上あるいは近傍に描画されたコントロール点、502)、スライダー(辺の両側に描画された短い並行線、図6の413)、拡縮アイコン(505)、色を用いる。
図7(A)〜(D)に示されるコンテナ表示方法のルールは以下の通りである。
(1)それぞれの辺を固定するために、実線で描画する。
(2)幅が固定の場合は、左と右の辺を実線で描画する。
(3)高さが固定の場合は、上と下の辺を実線で描画する。
(4)軸は描画しない。
(5)(1)〜(3)によって描画されていないそれぞれの辺の近くには拡縮アイコンが描画され、それらの辺を点線で描画する。
(6)垂直辺と水平辺、あるいは垂直軸と水平軸のそれぞれのペアで、もし両者が固定なら、それらの交差点にアンカーが描画される。
(7)それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
(8)垂直及び水平辺、あるいは垂直及び水平軸のそれぞれのペアで、アンカーやスライダーが描画されていない場合、それらの交差点にハンドルが描画される。
ルール(1)、(2)、(3)で定義された線は、前述したように固定あるいは制限されているため実線で描画される。ルール(5)のように、可変の辺は、点線で描画される。ルール(6)、(7)、(8)で定義された固定された点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後に説明するように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行は、すべてのドキュメントで平均化されるコンテナのコンテンツエリアで、あるいは、可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
これらのコンテンツ表現は、コンテナの各辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
(1)図6の410の辺のように、点線はコンテナのコンテンツに依存してドキュメント内の辺の位置が変化することを意味する。
(2)実線は、固定されている(辺414)、あるいはコンテナの幅・高さが固定されている(コンテナ408では4辺が実線であり、両方が固定されている)ために制限された辺であることを意味する。
(3)アンカーは辺および軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れることになる。アンカーは当然固定される。図6のアイコン409は、辺414の交差する位置が固定されていることを意味しているアンカーアイコンの例である。
(4)スライダーは関係付けられた辺の長さが固定されているが、並行移動する可能性があることを意味する。例えば、図6でスライダー413はコンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。例えば、コンテナ408と関連付けられている(リンク設定されている)コンテナ407に流し込まれるデータの画像サイズもしくはテキスト量が少ない場合は、コンテナ407のサイズが小さくなるため、コンテナ408は、左方向にスライド(並行移動)してレイアウトされて表示されることになる。また、コンテナ407のサイズが大きくなる場合は、逆にコンテナ408は右方向にスライドしてレイアウトされることになる。
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
なお、前述したように、コンテナの幅・高さの基本値・最小値・最大値の基本パターンの設定は、副次的なダイアログウインドウに表示される。
図7の(A)で、コンテナ501は、幅・高さの両方が固定されていない(可変である)。固定された辺503は実線で表現され、可変の辺504は点線で表現されている。拡縮アイコン505は、隣接する辺504が可変であることを示す。他の形態のインジケータを代わりにあるいは追加的に用いてもよい。
図7の(B)において、コンテナ501は幅・高さ両方が可変である。アンカーアイコン506が、交差している両方の辺503の角の位置が固定されていることを明示的に表すべく追加されている。
図7の(C)において、コンテナ501は、コンテナの幅及び高さの両方が可変であり、任意のアンカーアイコン507で示されるような中心点の周りを平等に広がるという状態を示している。すなわち、コンテナ501はアンカーアイコン507を中心に拡大あるいは縮小が可能である。ここでの拡大/縮小は、アンカーアイコン507の位置が常にコンテナ501の中心点となるようにレイアウト調整される。
図7の(D)において、コンテナ501は、上辺508が固定されているが、幅・高さの両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている。そしてコンテナ501の左辺・右辺(502)は、アンカーアイコン509を通って垂直な中心軸(垂直軸)の周りを、拡大・縮小する。
[リンクの設定方法]
次に、コンテナ同士を関連付けるためのリンクの設定について説明する。図8はリンクの設定方法を示したフローチャートである。また図9の(A)〜(C)はリンク設定時のユーザインターフェース(UI)の遷移例を示している。図8,図9を用いてコンテナにリンクを設定する方法について説明する。
まず、ステップS601において、レイアウト編集アプリケーション121は、ユーザインターフェース画面のワークエリア306上に編集すべく選択されたドキュメントテンプレートを表示する。リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)がドキュメントテンプレート上に作成されている必要がある。図9の(A)〜(C)では、ステップS1601で2つのコンテナを作成してリンクを設定する場合のユーザインターフェースの遷移例を示している。
次に、ステップS602において、レイアウト編集アプリケーション121は、前述したリンクツールが選択状態(図6のボタン406をクリックすることにより選択状態となる)になったかを判断する。リンクツールが選択上体でなければ、必要に応じて他の各種処理を実行し(ステップS609)、ステップS602に戻る。
図9の(A)において、コンテナ601と602はすべて固定されている辺で構成されているものとする。また、603と604は、図6の409と同じであり、アンカーを意味する。605はマウスポインタを意味している。さて、リンクツールが選択状態となっている間に、ユーザはリンクを設定する2つのコンテナのうちの一方(コンテナ601とする)をクリックして選択する。この操作に応じて、レイアウト編集アプリケーション121のユーザインターフェース103は第1のコンテナが指定されたことを認識し(ステップS603)、選択されたコンテナを特定する情報を保持する。また、以降のマウスカーソルの移動に応じた軌跡を画面に表示するようにする(ステップS604)。例えば、図9の(B)における線分606は、(A)の状態におけるクリック位置と現在のマウスカーソルの位置とを結んだ線を示しており、このUIによりどの位置にリンクが設定されるのかをユーザに明示することができる。
次に、ユーザは、図9の(B)で示されるように、もう一方のコンテナ(コンテナ602)までマウスポインタを移動してクリックする。この操作に応じて、ユーザインターフェース103は第2のコンテナが指定されたことを認識し(ステップS605)、レイアウト編集アプリケーション121は、ステップS604で保持した第1のコンテナと、ステップS605で指定が認識された第2のコンテナとの間にリンクを設定する(ステップS606)。
こうして、ユーザにより選択された2つのコンテナ601,602の間にリンクが設定されると、リンクUI607が表示される(ステップS607)。更に、このリンク設定を受けて、コンテナの表示状態は図9の(C)の状態になる(ステップS608)。すなわち、リンクが設定されたことにより、コンテナのUIが自動的に変更される。ここでは、リンクによって関連付けられた辺が可変となり、点線で示される。図9の(C)において、608は点線で示されている辺であり、前述した通り可変の辺を示すものである。
なお、図9の(C)のようなコンテナの辺の状態の変化は、リンクを設定したことによりコンテナの辺を可変にする必要が生じたことにより自動的に実行されたものであり、リンクを設定したにもかかわらず全ての辺が固定であるという矛盾の発生を防ぐことを目的としている。また、609は図7の505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したマークである。また、図9の(C)の例では、左のコンテナの右辺と右のコンテナの左辺が可変な状態へ変化したが、これは一例であり、たとえば、右コンテナが図6の413で示したスライダーを持つ設定に変化してもかまわない。
<レイアウトエンジンによるレイアウト計算処理>
[レイアウト計算方法(全体フロー)]
本実施形態のレイアウト編集アプリケーションは、ユーザインターフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、前述した優先順位に従ってレイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。
図10はレイアウト計算のフローを示している。まず、プレビューモードが選択される(ステップS1001)。プレビューモードになったら、レイアウト編集アプリケーション121は、ユーザにプレビューするレコードをデータソースより選択させ、選択されたレコードの各フィールドデータを各コンテナに挿入するよう決定する(ステップS1002)。各コンテナへのフィールドデータの挿入が決定されると、レイアウト編集アプリケーション121は、そのレコードをレイアウトするための計算を行い、必要に応じてレイアウト調整を行う(ステップS1003)。ステップS1003におけるレイアウト計算の詳細については後述する。そして、レイアウト編集アプリケーション121は、ステップS1003で計算されたレイアウトを表示する(ステップS1004)。レイアウト編集アプリケーション121は、他のレコードについてもプレビューを行うかどうかをユーザの指示により判断する(S1005)。ステップS1005で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(S1007)。他のレコードについてプレビューを行うのであれば、レイアウト編集アプリケーション121は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(ステップS1006)。
なお、プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、ステップS1004は存在せず、ステップS1005は印刷するレコードを全て処理したかの判断を行う。ステップS1003でレイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷すべく指定された全レコード)について印刷データの出力が終了した時点で本処理を終了することになる。
[レイアウト計算方法(詳細)]
次に、上記ステップS1003によるレイアウト計算の詳細について説明する。図11は本実施形態によるレイアウトの優先順位を設定しない場合のレイアウト計算の方法を示したフローチャートである。また、図12はそのときのUI表示例を示した図である。本図はレイアウト計算の処理方法についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの1レコードの印刷/プレビュー時のレイアウト計算方法に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。
まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を求める(ステップS1101)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば図13を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナ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の縦横比が制約を考えないと決定できないため、制約を当てはめる。図13の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)のコンテナAに、計算したデータ量(テキスト量)の文字を流し込めるか否かを判断する。すべて流し込めると判断された場合は、コンテナAは、基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべて流し込めないと判断された場合は、コンテナAは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナAのサイズを算出する。
次に、レイアウト編集アプリケーション121は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(S1103)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウト編集アプリケーション121は、ステップS1102で算出したコンテナの集合のサイズ、つまりコンテナAとコンテナBとリンク1506(ここでは固定リンク)の合計サイズを求め、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ(図13の例ではコンテナAとコンテナBのそれぞれのアンカーアイコンの距離に相当する)との差を求める。コンテナAやコンテナBの幅が大きくなると前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
レイアウト編集アプリケーション121は、レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(S1104)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、ステップS1102〜S1104の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション121は、ページ全体のレイアウトを計算する(S1105)。
図12の(A)〜(C)は優先順位の設定なしでのレイアウト時のUI例である。
図12の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1301と1302はアンカー、1303と1304は固定された辺、1305は可変の辺、1306は可変の辺の変化方向を示している矢印、1308はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図12の(B)は(A)の状態に新しいコンテンツのサイズを重ねて示している。1309はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図12の(C)はレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図12の(C)で示されるように、(B)で示した挿入されるコンテンツサイズ(1309)と計算後のコンテンツサイズ(1310)は、双方において同等な差異がある。
<空データに対応したコンテナによるレイアウト調整>
図14ではコンテナとリンクを使用して作成されたレイアウトの一例を表している。図6と同様にアプリケーションウインドウ301とツールバー303があり、ドキュメントテンプレート309上にはコンテナA(701)、コンテナB(702)、コンテナC(703)、コンテナD(704)、コンテナE(705)が配置されている。またコンテナA−コンテナB間にリンク720、コンテナA−コンテナE間にリンク716、コンテナB−コンテナE間にリンク717、コンテナC−コンテナD間にリンク721、コンテナC−コンテナE間にリンク718、コンテナD−コンテナE間にリンク719が設定されている。
それぞれのコンテナは、アンカーアイコン706、アンカーアイコン707、アンカーアイコン708、アンカーアイコン709と固定された辺710、辺711、辺712、辺713、辺714、辺715と、位置が可変である辺722、辺723、辺724、辺725、辺726、辺727により形成されている。なお、固定された辺は実線で、位置が可変である辺は点線で示している。アンカーはコンテナのコーナーに配置され、そのコーナーがドキュメント上の指定された位置に固定され、その位置からは移動することがないことを示す。コンテナ701〜705にはリンクが張られ、可変長に動く辺があることから、その可変に動く方向を示すインジケーター728、インジケーター729、インジケーター730、インジケーター731、インジケーター732、そしてインジケーター733がそれぞれコンテナA、コンテナB、コンテナC、コンテナD、コンテナE、内に表示されている。これはインジケーターが示す方向(あるいはその逆方向)に各コンテナの辺が移動可能であることを示す機能である。
さらに、図14では、リンクの設定例として、リンク716の長さが50、リンク717の長さが20、リンク718の長さが30、リンク719の長さが40に設定されている。これらの値は以降の説明をわかりやすくするために用いられる。なお、リンク720とリンク721の形状が段状になっているのは各コンテナの辺の中央部を結ぶように表示しているためである。
<コンテナのプロパティ設定>
図15は、本実施形態によるコンテナの属性情報を設定するためのプロパティダイアログウィンドウの例を示す図である。ここでは、コンテナE(715)の属性情報を設定するためのプロパティダイアログウィンドウを示すものとする。なお、図15のダイアログウインドウでは、コンテナに挿入されるデータが空の場合に対応した設定項目に関するもののみを示したが、他の属性(たとえばコンテナサイズの伸縮範囲等の制限)を設定可能としてもよいことは言うまでもない。
このプロパティダイアログウィンドウ1201は、タイトルバー1202、ツールボタン1203、プロパティダイアログウィンドウのオープン、クローズを行うボタン1204、各種の情報をセットするエリア1205を含んで構成されている。このプロパティダイアログウィンドウ1201では、コンテナに挿入されるデータが空の場合に、コンテナサイズを0として計算するゼロ化モード(Set min-size as 0 when data is empty)の選択ボタン1207と、コンテナの制約(Constraints)に従って通常通りのレイアウト計算を実行する通常モード(Calculate Layout Normally)の選択ボタン1206がある。選択ボタン1206と選択ボタン1207はグルーピングされており排他性を持っており、択一的に選択される。デフォルトでは選択ボタン1206(通常モード)が選択されている。
選択ボタン1207(ゼロ化モード)が選択されていない場合は、それ以下に配置されている項目1208〜1212(枠1209を除く)は全て操作不可とし、表示をグレーアウトする。選択ボタン1207(ゼロ化モード)を選択すると、リンク長調整のチェックボックス1208(Adjust Link Length)がイネーブルとなり、このボックスのチェックをON/OFFすることにより、当該コンテナに接続されているリンクの長さの調整を行うか否かを更に設定できるようになる。
ここで、本実施形態によるリンクの長さ調整について説明する。例えば上下方向に3つのコンテナが並んで配置されており(上からコンテナA、コンテナB、コンテナCとする)、それぞれのコンテナ間(コンテナA−コンテナB間、コンテナB−コンテナC間)にリンクが張られているとする。このレイアウトで、中央に配置されたコンテナBに上述のゼロ化モードが設定されていれば、コンテナBに空のデータが挿入された場合に高さが0としてレイアウト計算される。しかしながら、コンテナAとコンテナCの距離はコンテナA−コンテナB間に張られたリンクとコンテナB−コンテナC間に張られたリンクを足したサイズになってしまう。すなわち、コンテナA―コンテナC間には見た目に余分なサイズのリンクが張られていることと同等となり、その分スペースが必要以上に空いてしまい、これによりドキュメントの見栄えが悪化する可能性がある。またコンテナAやコンテナCにより大きいサイズのデータが挿入された場合も、そのスペースを有効活用することが出来なくなる。よって、コンテナBの高さを0にした場合、コンテナA及びCとのリンクの長さを短くして、コンテナA,Cをより最適なサイズとし得るようにするのが望ましい。
チェックボックス1208でチェックONにしなかった場合(チェックOFFのままの状態にした場合)は、このコンテナに挿入されるデータが空の場合にこのコンテナサイズを0として計算する動作のみとなり、このコンテナからはられているすべてのリンクの長さは、リンクの設定(固定リンク、可変リンク)に従って計算される。この場合は、複数のリンクでつながった場合もサイズ調整をしないためスペースが空いてしまい、レイアウトのバランスが良くなくなってしまう、あるいはその他のコンテナに挿入されるデータが大きいため、さらにスペースがあれば最適な大きさにすることが出来る可能性がある。
そのためにそれらのリンクの長さを調整することでその空いているスペースを少しでも埋める、あるいは活用するためにチェックボックス1208のチェックをONとすることが有効となる。チェックボックス1208のチェックをONにした場合、枠1209内に配置された項目1210〜1212がイネーブルな状態となる。本実施形態では、デフォルトで長さ選択ボタン1210(Length)が選択されるものとする。
調整長さ選択ボタン1210と割合選択ボタン1212はグルーピングされており排他性を持っており、択一的に選択される。チェックボックス1208によって選択される機能は、コンテナサイズを0として計算したのち、そのコンテナに張られているリンクのサイズを調整してさらにレイアウトを再計算するオプション機能である。本実施形態では、そのようなリンク長さの調整方法として、調整長さ選択ボタン1210が選択されている場合は、入力項目1210aで入力された入力値分だけ、当該コンテナに張られているリンクの長さを短くする。これは、当該コンテナに張られている全てのリンクに対して同条件で実行されるものである。また選択ボタン1210を選択した際に、指定した値の単位を選択することがリスト1211により可能となっている。
以上のようなリンク長さの調整機能により、複数のリンクが張られている場合、ある程度のリンク長のバランスを保つことが出来る。また実際の短縮長さを指定するので、ユーザからの指定が容易であり、レイアウト結果も予想しやすい。なお、調整長さ選択ボタン1210が選択された際に指定できる値(調整値)の範囲は、基本的には現在コンテナに張られている複数のリンクの中で最小長のリンクの長さが調整値の最大値となる。ただし、リンクの最小長が0.1mmなどとても小さい場合などはほとんどスペースを減らすことが出来ないし、また多少レイアウトのバランスを崩してでもスペースを埋めたいケースもある。したがって、リンクの最小値を超えて調整値を設定することも可能とする。調整値がリンクの最小長よりも大きい場合は調整後のリンク長がマイナスになる場合があるが、その場合は、リンクの長さを0とする。あるいは止まらずに拡大可能とするなど、いくつかの実施例が考えられる。
もう1つのリンク長さ調整方法の例として、割合選択ボタン1212が選択された場合には、コンテナに張られているリンクの長さを指定された比率で変化させる。この方法によれば、当該コンテナに接続されている複数のリンクの長さの比が、調整前の状態に維持されることになる。このため、複数のコンテナにリンクが張られていた場合に、その配置のレイアウト状態を効果的に保つことが出来る。つまりユーザが意図してコンテナを配置したレイアウトにおいて、空のデータが挿入されたコンテナのスペースを埋める際にも、当初作成したレイアウトのバランスを良好に保ったままリンクサイズを調整し、コンテナサイズを変更することが可能となる。
以下、図16のフローチャートを参照して、上記図15で説明したダイアログを用いてコンテナのプロパティを設定する際の処理を説明する。
図16は、ユーザインターフェース103が上述のプロパティダイアログウィンドウ(図12)を表示し、空のコンテナが挿入されたときの設定をユーザに行わせるための処理を示している。
まず、キーボード132やマウス133によりコンテナが選択された状態で、その選択状態のコンテナ(以下、対象コンテナという)のプロパティダイアログウィンドウ1201を表示の指示が入力されると、処理はステップS1601からステップS1602へ進み、レイアウト編集アプリケーション121のユーザインタフェースモジュール103は、対象コンテナのプロパティダイアログウインドウを表示する。以下では、コンテナE(705)が選択されたもの(対象コンテナ)として説明を行う。またプロパティダイアログウインドウを表示させるための指示入力としては、ユーザによるマウスの右クリックあるいはキーボードからのAltキー等の入力があげられる。また、この状態では、ダイアログウインドウ1201上で選択ボタン1206(Calculate Layout Normally)が選択されている(通常モード)ものとする。ここで、ユーザは、空のデータが挿入されたときにコンテナの大きさを0として計算する場合(ゼロ化モード)には選択ボタン1207(Set min-size as 0 when data is empty)を選択する。
選択ボタン1207が選択された状態ではダイアログウインドウ1201のチェックボックス1208はチェックOFFになっている。この状態でダイアログウインドウ1201が閉じられた場合は、空データが挿入された際に当該コンテナのサイズをゼロにする処理のみを実行するにように設定される。
一方、ダイアログウインドウ1201にて、選択ボタン1207(ゼロ化モード)が選択され、更にリンク長調整のチェックボックス1208のチェックがONに設定されると、リンク長さの調整方法をユーザに設定させるべく、枠1209内への入力を可能な状態とする。この状態でリンクの長さの調整方法を選択できる。選択できる調整方法は、上述したように、指定長さだけリンクを短縮するか、指定された割合によりリンクを短縮するかのいずれかである。なお、デフォルトでは調整長さ選択ボタン1210が選択されており、短縮する長さを指定するボックスは空白になっている。
リンクの長さを指定する方法を選択する場合には、調整長さ選択ボタン1210を選択状態とし、ボックス1210aに長さを設定し、単位をリスト1211から選択する。一方、指定された割合でリンクを短縮する方法を選択した場合(割合選択ボタン1212を選択した場合)には、ボックス1212aに縮小に用いる割合を設定する。
こうして、適用ボタン1204がクリックされ、適用が指示されると、処理はステップS1603からステップS1604へ進む。ユーザインターフェース103はプロパティダイアログウインドウにおける設定状態をチェックし、選択ボタン1206(通常モード)が選択されていればステップS1604からステップS1608へ進み、対象コンテナを通常モードに設定する。
一方、選択ボタン1207が選択されていれば、ステップS1604からステップS1605へ進み、レイアウト編集アプリケーション121は、対象コンテナをゼロ化モードに設定する。そして、チェックボックス1208のチェック状態を調べることによりリンクサイズの調整の有無を判定する。チェックボックス1208がチェックされていなければ、ステップS1606からステップS1609へ進み、対象コンテナはリンクサイズ調整なしが設定される。チェックボックス1208がチェックされている場合は、ステップS1606からステップS1607へ進む。ステップS1607では、レイアウト編集アプリケーション121は、枠1209内の設定状態に従って当該対象コンテナにおけるリンク長さの調整方法を設定し、設定内容をドキュメントテンプレートに記述し、HDD140に保持する。
図17は、図14に示したレイアウトにおいてコンテナE(705)の設定状態がゼロ化モードとなっていた場合(図15に示したプロパティダイアログウインドウにおいて選択ボタン1207が選択され、チェックボックス1208がチェックされない状態)のレイアウトの変化の様子を説明する図である。また、図18は、図14に示したレイアウトにおいてコンテナE(705)の設定状態が図15のプロパティダイアログウインドウに示したようになっている場合に、コンテナEに空のデータが挿入された際のレイアウトの変化の様子を説明する図である。
上述のように、図17は、空のデータが挿入された場合、コンテナサイズを0として計算し、リンク長さの調整は行わない場合のレイアウト調整結果である。図15の項目1207において空のデータが挿入された場合、コンテナサイズを0として計算するという設定がされているため、コンテナEのサイズが0に変化する(805)。この時、コンテナA、コンテナB、コンテナC、コンテナDはコンテナEとそれぞれリンク716、リンク717、リンク718、リンク719で関連付けられているため、コンテナのサイズが大きくなる。
図17から明らかなように、コンテナA−コンテナE間、コンテナB−コンテナE間、コンテナC−コンテナE間、コンテナD−コンテナE間の距離は変わらないが、コンテナEのサイズが「0」になったために、コンテナA−コンテナC間の距離はリンク716のサイズ「50」とリンク718のサイズ「30」の合計80量分のスペースが空いてしまっている。またコンテナB−コンテナD間の距離もリンク717のサイズ「20」とリンク719のサイズ「40」の合計60量分スペースが空いてしまっている。したがって、上述したリンク長さの調整を実行することにより、これらのスペースを埋めて、見た目の良いレイアウトにする、あるいはコンテナA、コンテナB、コンテナC、コンテナDの拡大可能領域を広げてもっとスペースを有効活用可能とすることが望ましい。
図18は図17に加え、リンクの長さを調整した結果である。図15ではチェックボックス1208にチェックが入り、調整長さ選択ボタン1210が選択され、ボックス1210aには入力値として「20」が指定されている。コンテナEに空データが挿入されてそのサイズがゼロとなった場合には、レイアウト編集アプリケーション121は、コンテナEに接続される各リンクのサイズを「20」だけ短くする。すなわち、レイアウト編集アプリケーション121は、リンク716のサイズを「50」から「30」へ、リンク717のサイズを「20」から「0」へ、リンク718のサイズを「30」から「10」へ、リンク719のサイズを「40」から「20」へ縮小する。よって結果的に、図18に示すように、コンテナA−コンテナC間はリンク716のサイズ「30」とリンク718のサイズ「10」の合計40、コンテナB−コンテナD間はリンク717のサイズ「0」とリンク719のサイズ「20」の合計20となる。これによりコンテナA−コンテナC間、コンテナB−コンテナD間はリンク調整前よりもサイズにしてそれぞれ40量分のスペースを活用していることとなる。
なお、図15の項目1210において「20」以上のサイズが指定された場合、例えば「30」が指定され、リンクサイズは0以下にはならないとすると、リンク716のサイズは「20」、リンク718のサイズは「0」、リンク717のサイズは「0」のまま、リンク719のサイズは「10」となり、コンテナA−コンテナC間はリンク716のサイズ「20」とリンク718のサイズ「0」の合計20、コンテナB−コンテナD間はリンク717のサイズ「0」とリンク719のサイズ「10」の合計10となる。
また、リンク長さの調整方法として割合選択ボックス1212を選択し、ボックス1212aにたとえば80(%)を設定した場合、リンク716〜719の長さはそれぞれ「50」→「40」、「20」→「16」、「30」→「24」、「40」→「32」のように変化することになる。
図19は図14、図17、図18というようにレイアウト状態が遷移する中で、レイアウトエンジン105がどのように動作していくのかを示したフローチャートである。
まず、ステップS1701において、レイアウト編集アプリケーション121は、データベースのレコードの各フィールド(DBフィールドともいう)のデータを対応するコンテナへ挿入する。そして、ステップS1702において、図11のフローチャートを参照して説明したレイアウト計算が行われる。本実施形態では、更にデータが空の状態のコンテナをゼロ化したレイアウト調整を行うため、以下の処理が実行されることにある。
まず、ステップS1703において、レイアウト編集アプリケーション121は、現在のレコードにデータが空の状態のDBフィールドがあるかどうかを検索する。この検索結果により、空のDBフィールドがなかった場合は、ステップS1704からそのままステップS1715へ進み、ステップS1702レイアウト計算によるレイアウト結果をディスプレイにプレビュー表示する。空の状態のDBフィールドが存在した場合は、ステップS1704からステップS1705へ進み、レイアウト編集アプリケーション121は、空のDBフィールドが挿入されたコンテナを検索する。ステップS1705において検索されたコンテナが存在しない場合、つまりデータベースの対象レコードには空のDBフィールドが存在するが、当該DBフィールドがどのコンテナにも関連付けられていない場合は、コンテナのサイズをゼロ化するレイアウト調整を行わないでよいので、そのままステップS1715へ進み、レイアウト編集アプリケーション121は、レイアウト結果をプレビュー表示する。
一方、ステップS1705で検索されたコンテナが存在する場合は、ステップS1706からステップS1707へ進み、ステップS1705で検索されたコンテナのうち、コンテナに関連付けられているDBフィールドの数が1つであるコンテナと、コンテナに関連付けられているDBフィールドが複数あるがすべてのDBフィールドもデータが空であるコンテナを検索する。この検索の結果、該当するコンテナがない場合は空のデータが挿入されたコンテナは存在しないことになるので、ステップS1708からステップS1715へ進み、レイアウト結果をプレビュー表示する。
なお上記ステップS1707の処理を行うのは次の理由による。すなわち、複数のDBフィールドが1つのコンテナに関連付けられている場合、あるDBフィールドにはデータがあり、他のDBフィールドはデータが空である、といった状況が発生しうる。この場合は、片方のDBフィールドにはデータが存在しており、これがコンテナに挿入されるため、そのコンテナのサイズを0として計算してはいけない。ステップS1707においては、このようなコンテナを空のコンテナとみなさないようにするためのフィルタリングを行っていることになる。一方、関連付けられているDBフィールドが1つであるコンテナはすでにステップS1704において空のDBフィールドがあるコンテナのみにフィルタリングしているため、当然そのコンテナの中身は空ということになる。
ステップS1708において、レイアウト編集アプリケーション121は、ステップS1707の検索結果を判断し、検索されたコンテナ数が0であるか否かを判断する。検索されたコンテナ数が0でない場合(1以上の場合)は、ステップS1709へ進み、検索リストの先頭のコンテナにフォーカスを移動する(以下、フォーカスの移動したコンテナを注目コンテナという)。そして、その注目コンテナに、データが空の場合にコンテナのサイズを0として計算する「ゼロ化モード」の設定がされているかをチェックし(ステップS1711)、設定されていればステップS1713へ、設定されていなけれステップS1712へ進む。注目コンテナのプロパティにゼロ化モードが設定されていない場合、検索リストに次のコンテナがあるかどうかをチェックし(ステップS1712)、存在すれば次のコンテナにフォーカスを移動する(ステップS1710)。
ゼロ化モードが設定されている場合、処理はステップS1713へ進み、レイアウト編集アプリケーション121は、当該注目コンテナのサイズをゼロ化する。更に、リンク調整の設定がされていれば、その設定をメモリに読み込む。その後、検索リストに次のコンテナがあるかどうかをチェックし(ステップS1712)、存在すれば次のコンテナにフォーカスを移動する(ステップS1710)。
以上のステップS1711〜S1713のステップは、検索リストのコンテナ全てについて繰り返し行う。全てのコンテナに対して行った後、ステップS1714において、メモリに読み込んだこれまでの情報を元に再びレイアウト計算を行う。すなわち、ゼロ化モードが設定された空のコンテナについてはそのサイズをゼロ化し、リンク調整の設定があればその内容にしたがってリンク長さを調整する。こうして、例えば、ステップS1702のレイアウト計算によって図14のレイアウトが得られ、コンテナEの内容が空であった場合には、ステップS1714のレイアウト計算により図18に示すようなレイアウトが得られることになる。なお、コンテナのサイズをゼロ化する場合は、ゼロ化の対象となるコンテナの中心線上にコンテナを圧縮する。例えば図14のコンテナEにつながる垂直方向のリンクに対しては、コンテナEの中心を通る水平軸(図18の805)上にコンテナEの上辺と下辺を重ねた状態となる。なお、水平方向のリンクに関しては、垂直方向の中心軸にコンテナの左右辺を重ねた状態となる。言い換えれば、コンテナサイズをゼロ化するというのは、コンテナを縦横2本の直線で表現することである。
ただし、サイズをゼロ化した後のコンテナの位置は上記に限られるものではなく、コンテナの上下辺もしくは左右辺の一方に辺を重ねるようにしてもよい。また、中心軸に辺を重ねるか、コンテナの1つの辺に他の辺を重ねるかを、プロパティダイアログウインドウ(図15)において設定可能としてもよい。
そしてステップS1715において、レイアウト編集アプリケーション121は、そのレイアウト結果をプレビューする。以上がレイアウトエンジンの動作フローである。
《第2実施形態》
コンテナに空のデータが挿入された場合のリンク長さの調整方法は、第1実施形態の図15で示したリンク調整方法の他にも種種のものが考えられる。例えば、図15で示した方法では指定したリンクの調整値(長さや比率)が、空のデータが挿入されたコンテナに張られている全てのリンクに適用される。しかしながら、コンテナの4辺にリンクが張られている場合、状況によっては上方向、下方向、右方向、左方向で異なる調整値に設定したいケースが考えられる。第2実施形態では、そのような場合に対処可能とすべく、コンテナのそれぞれの辺ごとにリンク長さの調整値を設定できるUIを提供する。
図20はその典型的なプロパティダイアログウィンドウの例である。項目1206と項目1207、また項目1208は図20に示されたものと同じである。項目1208が選択されると枠1302(Direction)内の各ボックスがイネーブルとなる。ただしイネーブルされるボックスは現在そのコンテナに張られているリンクの存在する辺の方向のみである。たとえば、図14のように配置されたコンテナEの場合は上方向、下方向の2つの辺にリンクが張られているため、図20のプロパティダイアログウィンドウ1301の枠1302内では、項目1303(Top)と項目1306(Bottom)がイネーブルとなり、項目1304(Left)と項目1305(Right)はディセーブルとなってグレーアウトされる。
このような第2実施形態によれば、コンテナの各辺において調整値を設定するボックスが配置してあり、それぞれについてリスト1307から単位を選択することができる。
図21は、図20のダイアログウインドウによって設定されたリンクの調整方法に従って図14のレイアウトを調整した結果を示す図である。図20の項目1303(Top)にはサイズ20、項目1306(Bottom)にはサイズ30が設定されていることから、図21においてコンテナEの上方向にあるリンク716のサイズは50から20を引いた30となる。リンク717もコンテナEの上方向にあるため、そのサイズは20から20を引いた0となる。一方、リンク718はコンテナEの下方向にあるため、そのサイズは30から30を引いた0となる。同様に、リンク719もコンテナEの下方向にあるため、そのサイズは40から30を引いた10となる。こうして、図21のごとくレイアウトが調整されることになる。
なお、上下方向と左右方向にリンクを有するコンテナのサイズをゼロ化した場合には、このコンテナに接続されたコンテナ同士で干渉する可能性がある。例えば、ゼロ化の対象となるコンテナの上方向に接続されたコンテナと右方向に接続されたコンテナとが、当該対象コンテナのゼロ化により互いに干渉してしまう可能性もある。レイアウト計算においてこのような干渉が検出された場合には、本実施形態では当該コンテナのゼロ化を禁止する。
以上のように、第2実施形態によれば、各辺の方向別にリンクの調整値を設定できることにより、ユーザにとってより細かい指定が可能にとなり、空データのコンテナが発生した際の無駄なスペースを効果的に埋めることができる。また、空のデータが挿入されるコンテナにリンクが張られている周囲のコンテナのどの方向を優先させて、スペースを埋めることができるかを指定できるようになる。このため、よりユーザの意図を反映した、的確なレイアウト結果を出すことができる。もちろんリンクの方向だけでなく、空のデータが挿入されるコンテナにリンクを張られているコンテナ1つ1つにリンクの調整値を設ける方法があり、その設定に従ってスペースを埋め、レイアウトすることの有効性も明白である。
<他の実施形態>
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク
,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
実施形態によるバリアブルプリントシステムの構成を示す図である。 図1におけるホストコンピュータの構成の概略を示す図である。 バリアブルデータプリントの概要を説明する図である。 実施形態によるバリアブルプリントシステムの他の構成を示す図である。 メニューバー、ツールバー、ワークエリア、フローティングパレットを含む、実施形態によるユーザインターフェースの例を示す図である。 ユーザインターフェースにおけるコンテナの表示例を示す図である。 実施形態によるコンテナルールを説明する図である。 実施形態によるリンクの作成処理を説明するフローチャートである。 リンク作成時のユーザインターフェースの遷移例を示す図である。 実施形態のレイアウトエンジンによるレイアウト計算処理を示すフローチャートである。 実施形態のレイアウトエンジンによるレイアウト計算処理を示すフローチャートである。 実施形態によるレイアウト計算処理を説明するための図である。 実施形態のレイアウト計算時における、コンテナの集合について説明した図である。 コンテナとリンクを使用して作成されたレイアウトの一例を示す図である。 第1実施形態によるコンテナの属性情報を設定するためのプロパティダイアログウィンドウの例を示す図である。 図15に示したプロパティダイアログウィンドウを用いてコンテナのプロパティを設定する際のユーザインターフェースの動作を説明するフローチャートである。 図14に示したレイアウトにおいてコンテナEの設定状態がゼロ化モードとなっていた場合のレイアウトの変化の様子を説明する図である。 図14に示したレイアウトにおいてコンテナEの設定状態がゼロ化モードでかつリンク調整を行うよう設定されている場合のレイアウトの変化の様子を説明する図である。 空コンテナのゼロ化処理を含む、実施形態によるレイアウトエンジンのレイアウト調整処理を説明するフローチャートである。 第2実施形態によるコンテナの属性情報を設定するためのプロパティダイアログウィンドウの例を示す図である。 図20のダイアログウインドウによって設定されたリンクの調整方法に従って図14のレイアウトを調整した結果を示す図である。

Claims (27)

  1. 情報処理装置による、ページのレイアウトを決定するためのレイアウト調整方法であって、
    レイアウト編集手段が、データが割り当てられる部分領域をページ内に配置する工程と、
    レイアウト編集手段が、前記配置する工程において配置された複数の部分領域を接続するためにリンクを設定する工程と、
    レイアウト編集手段が、部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する工程と、
    レイアウト編集手段が、前記配置する工程において配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する工程とを備え、
    前記調整する工程では、前記指定情報を設定する工程において前記指定情報が設定されていた場合、割り当てられるデータが空となっている部分領域のサイズをゼロとみなして、当該ゼロとみなされた部分領域と前記リンクを介して接続されている他の部分領域のサイズを変更することを特徴とするレイアウト調整方法。
  2. 前記指定情報を設定する工程では、部分領域のサイズをゼロとしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定でき、
    前記調整する工程では、割り当てられたデータが空の状態となっている部分領域のサイズをゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とする請求項1に記載のレイアウト調整方法。
  3. 前記変更情報は、リンクを短縮する長さを表し、
    前記調整する工程では、該部分領域に接続されたリンクの長さを前記変更情報で示される長さだけ短くすることを特徴とする請求項2に記載のレイアウト調整方法。
  4. 前記変更情報は、リンクの方向毎にリンクを短縮すべき長さを登録しており、
    前記調整する工程では、該部分領域に接続されたリンクの長さを、その方向に対応して登録されている長さだけ短くすることを特徴とする請求項2に記載のレイアウト調整方法。
  5. 前記変更情報は、リンクを短縮する割合を表し、
    前記調整する工程では、該部分領域に接続されたリンクの長さを前記変更情報で示される割合にしたがって短くすることを特徴とする請求項2に記載のレイアウト調整方法。
  6. 表示手段が、前記調整する工程で調整されたページのレイアウトをプレビュー表示する工程を更に備えることを特徴とする請求項1乃至5のいずれか1項に記載のレイアウト調整方法。
  7. 印刷手段が、前記調整する工程で調整されたページのレイアウトでもって印刷を実行する工程を更に備えることを特徴とする請求項1乃至5のいずれか1項に記載のレイアウト調整方法。
  8. 前記指定情報を設定する工程では、前記部分領域のサイズの制限情報として最小値を設定可能であり、
    前記調整する工程では、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されている場合、当該部分領域をゼロとしてレイアウト調整を行い、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されていない場合、当該部分領域に設定されている最小値に基づいてレイアウト調整することを特徴とする請求項1乃至7のいずれか1項に記載のレイアウト調整方法。
  9. ページのレイアウトを決定するレイアウト調整装置であって、
    データが割り当てられる部分領域をページ内に配置する手段と、
    前記配置する手段によって配置された複数の部分領域を接続するためにリンクを設定する手段と、
    部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する手段と、
    前記配置する手段によって配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する手段して機能するレイアウト編集手段を備え、
    前記調整する手段は、前記指定情報を設定する手段によって前記指定情報が設定されていた場合、割り当てられるデータが空となっている部分領域のサイズをゼロとみなして、当該ゼロとみなされた部分領域と前記リンクを介して接続されている他の部分領域のサイズを変更することを特徴とするレイアウト調整装置。
  10. 前記指定情報を設定する手段は、部分領域のサイズをゼロとしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定でき、
    前記調整する手段は、割り当てられたデータが空の状態となっている部分領域のサイズをゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とする請求項9に記載のレイアウト調整装置。
  11. 前記変更情報は、リンクを短縮する長さを表し、
    前記調整する手段は、該部分領域に接続されたリンクの長さを前記変更情報で示される長さだけ短くすることを特徴とする請求項10に記載のレイアウト調整装置。
  12. 前記変更情報は、リンクの方向毎にリンクを短縮すべき長さを登録しており、
    前記調整する手段は、該部分領域に接続されたリンクの長さを、その方向に対応して登録されている長さだけ短くすることを特徴とする請求項10に記載のレイアウト調整装置。
  13. 前記変更情報は、リンクを短縮する割合を表し、
    前記調整する手段は、該部分領域に接続されたリンクの長さを前記変更情報で示される割合にしたがって短くすることを特徴とする請求項10に記載のレイアウト調整装置。
  14. 前記調整する手段で調整されたページのレイアウトをプレビュー表示する表示手段を更に備えることを特徴とする請求項9乃至13のいずれか1項に記載のレイアウト調整装置。
  15. 前記調整する手段で調整されたページのレイアウトでもって印刷を実行する印刷手段を更に備えることを特徴とする請求項9乃至13のいずれか1項に記載のレイアウト調整装置。
  16. 前記指定情報を設定する手段は、前記部分領域のサイズの制限情報として最小値を設定可能であり、
    前記調整する手段は、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されている場合、当該部分領域をゼロとしてレイアウト調整を行い、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されていない場合、当該部分領域に設定されている最小値に基づいてレイアウト調整することを特徴とする請求項9乃至15のいずれか1項に記載のレイアウト調整装置。
  17. ページのレイアウトを決定するレイアウト調整方法をコンピュータに実行させるための制御プログラムであって、前記制御プログラムは前記コンピュータに、
    レイアウト編集手段が、データが割り当てられる部分領域をページ内に配置する工程と、
    レイアウト編集手段が、前記配置する工程において配置された複数の部分領域を接続するためにリンクを設定する工程と、
    レイアウト編集手段が、部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する工程と、
    レイアウト編集手段が、前記配置する工程において配置された部分領域に割り当てられるデータに基づいて当該ページ内のレイアウトを調整する工程とを実行させ、
    前記調整する工程では、前記指定情報を設定する工程において前記指定情報が設定されていた場合、割り当てられるデータが空となっている部分領域のサイズをゼロとみなして、当該ゼロとみなされた部分領域と前記リンクを介して接続されている他の部分領域のサイズを変更することを特徴とする制御プログラム。
  18. 前記指定情報を設定する工程では、部分領域のサイズをゼロとしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定でき、
    前記調整する工程は、割り当てられたデータが空の状態となっている部分領域のサイズをゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とする請求項17に記載の制御プログラム。
  19. 前記変更情報は、リンクを短縮する長さを表し、
    前記調整する工程では、該部分領域に接続されたリンクの長さを前記変更情報で示される長さだけ短くすることを特徴とする請求項18に記載の制御プログラム。
  20. 前記変更情報は、リンクの方向毎にリンクを短縮すべき長さを登録しており、
    前記調整する工程では、該部分領域に接続されたリンクの長さを、その方向に対応して登録されている長さだけ短くすることを特徴とする請求項18に記載の制御プログラム。
  21. 前記変更情報は、リンクを短縮する割合を表し、
    前記調整する工程では、該部分領域に接続されたリンクの長さを前記変更情報で示される割合にしたがって短くすることを特徴とする請求項18に記載の制御プログラム。
  22. 更に、前記調整する工程で調整されたページのレイアウトを表示手段にプレビュー表示する表示工程を、前記コンピュータに実行させることを特徴とする請求項17乃至21のいずれか1項に記載の制御プログラム。
  23. 更に、印刷手段に、前記調整する工程で調整されたページのレイアウトでもって印刷を実行させる印刷工程を、前記コンピュータに実行させることを特徴とする請求項17乃至21のいずれか1項に記載の制御プログラム。
  24. 前記指定情報を設定する工程では、前記部分領域のサイズの制限情報として最小値を設定可能であり、
    前記調整する工程では、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されている場合、当該部分領域をゼロとしてレイアウト調整を行い、割り当てられたデータが空となっている部分領域に対して当該部分領域のサイズをゼロとしてレイアウト調整することが指定されていない場合、当該部分領域に設定されている最小値に基づいてレイアウト調整することを特徴とする請求項17乃至23のいずれか1項に記載の制御プログラム。
  25. 情報処理装置による、ページのレイアウトを決定するためのレイアウト調整方法であって、
    レイアウト編集手段が、データが割り当てられる部分領域をページ内に配置する工程と、
    レイアウト編集手段が、前記配置する工程において配置された複数の部分領域を接続するためにリンクを設定する工程と、
    レイアウト編集手段が、部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する工程と、
    レイアウト編集手段が、前記配置する工程において配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する工程とを備え、
    前記指定情報を設定する工程では、部分領域のサイズをゼロとみなしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定し、
    前記調整する工程では、割り当てられるデータが空となっている部分領域のサイズを前記指定情報に従ってゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とするレイアウト調整方法。
  26. ページのレイアウトを決定するレイアウト調整装置であって、
    データが割り当てられる部分領域をページ内に配置する手段と、
    前記配置する手段によって配置された複数の部分領域を接続するためにリンクを設定する手段と、
    部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する手段と、
    前記配置する手段によって配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する手段して機能するレイアウト編集手段を備え、
    前記指定情報を設定する手段は、部分領域のサイズをゼロとみなしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定し、
    前記調整する手段は、割り当てられるデータが空となっている部分領域のサイズを前記指定情報に従ってゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とするレイアウト調整装置。
  27. ページのレイアウトを決定するレイアウト調整方法をコンピュータに実行させるための制御プログラムであって、前記制御プログラムは前記コンピュータに、
    レイアウト編集手段が、データが割り当てられる部分領域をページ内に配置する工程と、
    レイアウト編集手段が、前記配置する工程において配置された複数の部分領域を接続するためにリンクを設定する工程と、
    レイアウト編集手段が、部分領域に割り当てられるデータが空の場合に、当該部分領域のサイズをゼロとみなしてレイアウトを調整することを示す指定情報を設定する工程と、
    レイアウト編集手段が、前記配置する工程において配置された部分領域に割り当てられるデータに基づいて、当該ページ内のレイアウトを調整する調整する工程とを実行させ、
    前記指定情報を設定する工程では、部分領域のサイズをゼロとみなしてレイアウト調整する場合に、その部分領域に接続されているリンクの長さを変更するための変更情報を設定し、
    前記調整する工程では、割り当てられるデータが空となっている部分領域のサイズを前記指定情報に従ってゼロとみなしてページのレイアウトを調整する際に、該部分領域に接続されたリンクの長さを前記変更情報に従って変更することを特徴とする制御プログラム。
JP2004024488A 2004-01-30 2004-01-30 レイアウト調整方法および装置およびレイアウト調整プログラム Expired - Fee Related JP4241410B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004024488A JP4241410B2 (ja) 2004-01-30 2004-01-30 レイアウト調整方法および装置およびレイアウト調整プログラム
US11/041,742 US20050168782A1 (en) 2004-01-30 2005-01-25 Layout adjustment method and apparatus and layout adjustment program
CNB2005100051042A CN100545798C (zh) 2004-01-30 2005-01-28 布局调整方法和装置
KR1020050008192A KR100716084B1 (ko) 2004-01-30 2005-01-28 레이아웃 조정 방법 및 장치
EP05250450A EP1560126A3 (en) 2004-01-30 2005-01-28 Layout adjustment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004024488A JP4241410B2 (ja) 2004-01-30 2004-01-30 レイアウト調整方法および装置およびレイアウト調整プログラム

Publications (3)

Publication Number Publication Date
JP2005216175A JP2005216175A (ja) 2005-08-11
JP2005216175A5 JP2005216175A5 (ja) 2006-08-03
JP4241410B2 true JP4241410B2 (ja) 2009-03-18

Family

ID=34650865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004024488A Expired - Fee Related JP4241410B2 (ja) 2004-01-30 2004-01-30 レイアウト調整方法および装置およびレイアウト調整プログラム

Country Status (5)

Country Link
US (1) US20050168782A1 (ja)
EP (1) EP1560126A3 (ja)
JP (1) JP4241410B2 (ja)
KR (1) KR100716084B1 (ja)
CN (1) CN100545798C (ja)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
GB2430060A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Flows for variable data printing
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7792944B2 (en) * 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US9152292B2 (en) * 2009-02-05 2015-10-06 Hewlett-Packard Development Company, L.P. Image collage authoring
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8161384B2 (en) * 2009-04-23 2012-04-17 Hewlett-Packard Development Company, L.P. Arranging graphic objects on a page with text
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
WO2011053293A1 (en) * 2009-10-29 2011-05-05 Hewlett-Packard Development Company, L.P. Graphic object layout templates for arranging images
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
CN103119624A (zh) * 2010-07-29 2013-05-22 惠普发展公司,有限责任合伙企业 向页面中***内容和隔离区
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8606922B1 (en) * 2010-09-27 2013-12-10 Amazon Technologies, Inc. Dynamic resource zone mapping
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
JP2012118832A (ja) * 2010-12-02 2012-06-21 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
JP5229379B2 (ja) * 2011-02-21 2013-07-03 株式会社デンソー 表示制御装置
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US20130117711A1 (en) * 2011-11-05 2013-05-09 International Business Machines Corporation Resize handle activation for resizable portions of a user interface
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN103699608A (zh) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 页面布局方法及装置
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
CN105590241B (zh) * 2015-05-20 2021-02-12 ***股份有限公司 自适应地电子票据实现方法及***
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
JP6558339B2 (ja) * 2016-10-06 2019-08-14 京セラドキュメントソリューションズ株式会社 画像処理装置及び画像処理プログラム
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
CN107450904A (zh) * 2017-06-07 2017-12-08 北京五八信息技术有限公司 标题栏的绘制方法和装置
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11138647B2 (en) 2018-11-16 2021-10-05 Cimpress Schweiz Gmbh Method, device, and computer-readable storage medium for managing variations of a graphic design within a framework
US11380031B2 (en) 2018-11-16 2022-07-05 Cimpress Schweiz Gmbh Technology for enabling elastic graphic design
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10846897B2 (en) 2018-11-16 2020-11-24 Cimpress Schweiz Gmbh Technology for managing graphic design using metadata relationships
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
JP7244882B2 (ja) * 2020-09-30 2023-03-23 ナレッジオンデマンド株式会社 ドキュメント作成装置
US20230177764A1 (en) * 2021-12-06 2023-06-08 Canva Pty Ltd Systems and methods for rendering tables

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5623282A (en) * 1991-12-31 1997-04-22 Microsoft Corporation Method and system for the direct manipulation of cells in an electronic spreadsheet program or the like
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5437008A (en) * 1992-06-23 1995-07-25 Adobe Systems Incorporated Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints
JPH07129658A (ja) * 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5845303A (en) * 1994-12-06 1998-12-01 Netpodium, Inc. Document processing using frame-based templates with hierarchical tagging
US6157934A (en) * 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
JPH09200496A (ja) * 1996-01-11 1997-07-31 Canon Inc 自動画像編集装置
US5911145A (en) * 1996-07-29 1999-06-08 Rae Technology, Inc. Hierarchical structure editor for web sites
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5943679A (en) * 1996-10-30 1999-08-24 Xerox Corporation Multi-page document viewer having a focus image and recursively nested images of varying resolutions less than the resolution of the focus image
JPH11102357A (ja) 1997-09-29 1999-04-13 Dainippon Screen Mfg Co Ltd 組版装置
US6380954B1 (en) * 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search
US6670961B2 (en) * 1998-06-01 2003-12-30 Autodesk, Inc. Method and apparatus for enhanced connectors and connection manager
JP2000029875A (ja) * 1998-07-09 2000-01-28 Dainippon Printing Co Ltd ページレイアウトシステム及び記録媒体
JP2000280559A (ja) 1999-03-29 2000-10-10 Seiko Epson Corp 印刷制御方法および印刷制御装置、記憶媒体
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
GB2364580A (en) * 2000-07-07 2002-01-30 Ibm Error detection mechanisms in spreadsheet packages
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6898760B2 (en) * 2001-01-05 2005-05-24 Microsoft Corporation Reporting status of external references in a spreadsheet without updating
JP2002288223A (ja) * 2001-03-26 2002-10-04 Fujitsu Ltd リンク木形成装置及びリンク木形成方法並びにリンク木形成用プログラム
EP1456786A2 (en) * 2001-08-09 2004-09-15 International Business Machines Corporation Spreadsheet system and method for transferring the content of input cells between scalable template instances
KR100385062B1 (ko) * 2001-09-20 2003-05-23 삼성전자주식회사 데이터가 없는 페이지에 대한 인쇄를 방지할 수 있는프린터 및 프린팅 데이터 출력제어장치
JP2003170636A (ja) 2001-12-07 2003-06-17 Sharp Corp 印刷処理装置、印刷処理方法、印刷処理プログラム及び印刷処理プログラムを格納した記録媒体
US7275207B2 (en) * 2002-03-28 2007-09-25 International Business Machines Corporation System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US8019806B2 (en) * 2002-10-17 2011-09-13 Brocade Communications Systems, Inc. Method and apparatus for displaying network fabric data
US7454699B2 (en) * 2003-03-24 2008-11-18 Microsoft Corporation Smart content insertion
US7213206B2 (en) * 2003-09-09 2007-05-01 Fogg Brian J Relationship user interface
US7437676B1 (en) * 2003-09-30 2008-10-14 Emc Corporation Methods and apparatus for managing network resources via use of a relationship view
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
NO20034724D0 (no) * 2003-10-22 2003-10-22 Opera Software Asa Presentasjon av HTML-innhold på en skjermterminal
US7237207B2 (en) * 2003-12-15 2007-06-26 Microsoft Corporation Mapper compiler
US7424668B2 (en) * 2005-06-15 2008-09-09 Microsoft Corporation Pre-formulated spreadsheet cell groups

Also Published As

Publication number Publication date
JP2005216175A (ja) 2005-08-11
CN1648849A (zh) 2005-08-03
KR100716084B1 (ko) 2007-05-08
CN100545798C (zh) 2009-09-30
US20050168782A1 (en) 2005-08-04
KR20060042887A (ko) 2006-05-15
EP1560126A3 (en) 2006-08-09
EP1560126A2 (en) 2005-08-03

Similar Documents

Publication Publication Date Title
JP4241410B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4250540B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4560416B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4047308B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
JP4208858B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP4332480B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7707494B2 (en) Information processing apparatus, control method therefor, and program
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
JP4912139B2 (ja) 情報処理装置
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP2005216180A (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP2006221582A (ja) 情報処理装置及びその制御方法、プログラム
JP4111519B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP2007249431A (ja) 情報処理装置及びその制御方法、プログラム
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2008102869A (ja) レイアウト処理方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

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

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

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4241410

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140109

Year of fee payment: 5

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees