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

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

Info

Publication number
JP2005216180A
JP2005216180A JP2004024585A JP2004024585A JP2005216180A JP 2005216180 A JP2005216180 A JP 2005216180A JP 2004024585 A JP2004024585 A JP 2004024585A JP 2004024585 A JP2004024585 A JP 2004024585A JP 2005216180 A JP2005216180 A JP 2005216180A
Authority
JP
Japan
Prior art keywords
container
priority
area
template
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.)
Granted
Application number
JP2004024585A
Other languages
English (en)
Other versions
JP4059504B2 (ja
JP2005216180A5 (ja
Inventor
Kazufumi Kobashi
和文 小橋
Kenta Hara
健太 原
Jun Makino
順 牧野
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 JP2004024585A priority Critical patent/JP4059504B2/ja
Priority to US11/045,946 priority patent/US7712026B2/en
Publication of JP2005216180A publication Critical patent/JP2005216180A/ja
Publication of JP2005216180A5 publication Critical patent/JP2005216180A5/ja
Application granted granted Critical
Publication of JP4059504B2 publication Critical patent/JP4059504B2/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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing

Landscapes

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

Abstract

【課題】レコードのコンテンツを収める可変サイズのコンテナに優先度を設けて、レイアウトの自由度を高める。
【解決手段】テンプレートには少なくとも2つのコンテナと、それらを関連づけるリンクを設けることができる。テンプレート作成時にはテンプレート画面上で、ポインタ1202をおいたコンテナ集合において指定された優先順位のリスト1206が表示される。プレビューあるいは印刷時には、レコードをテンプレートでレイアウトする際に、データがコンテナに収まらない場合は、優先順位の高いコンテナの可変の辺を移動して、コンテナサイズを点テンツサイズに応じて拡張する。次にコンテナ集合内の次の優先順位のコンテナを、優先順位の高いコンテナとの距離の制限を越えない限度で拡張または縮小する。これを、優先順位の順に各コンテナについて繰り返す。この後、決定されたコンテナにコンテンツが挿入されて文書が完成し、表示又は印刷される。
【選択図】図12

Description

本発明は、たとえばデータベースに登録されたレコードの各フィールドを予め定めた位置に配置して文書を完成させる自動レイアウト機能を有する文書処理装置に関するものである。
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネットの普及により、これを利用した消費者のカスタマイズサービス指向が強くなっていることなどの要因からCRM(Customer Relationship Management)、One-to-Oneマーケティングの必要性が注目されている。これらの手法は顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
One-to-Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる情報量のコンテンツを最適にレイアウトして表示することが求められるようになった。
従来におけるバリアブルプリントシステムは、ドキュメント上に情報を表示する領域としてコンテナ(帳票フォームではフィールド領域とも呼ばれる)等をレイアウトして、データベースとコンテナとを関連付けることによりレイアウト表示を達成していた。
しかし、テキストおよびイメージが貼り付けられる部分領域であるコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップやイメージのクリッピングが発生し、またデータ量がコンテナサイズより小さいとコンテナ内に隙間が空いてしまい、いずれの場合でも表示しようとするテキストやイメージの情報量に応じた最適なレイアウト表示を実現することはできなかった。
その問題を解決するために、情報量に応じてコンテナサイズを可変にする自動レイアウトシステムが提案されている。この自動レイアウトシステムはテキストおよびイメージのコンテナサイズを可変に設定することが可能である。この自動レイアウトシステムにおいて、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できるものがある。また、テキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術も存在する。
しかし、コンテナのサイズを大きくした場合、ドキュメント上の他のコンテナに重なってしまうという問題が生じる。またフォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎるという問題も生じる。これらの問題を解決するために、さらなるレイアウトを変更する技術として、あるコンテナのサイズが大きくなった場合、このコンテナに隣接する他のコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
特開平7−129658号公報(段落0049、図8)
しかしながら、特許文献1に記載されているレイアウトデザイン装置は、配置素材の優先順位を管理しており、この優先順位の順序で各素材が配置され、レイアウトが決定されている。よって、単位各素材を配置する順序を決定しているだけであり、必ず一番優先度の低い素材の領域が狭くなってしまい、ユーザが所望とするレイアウトを得ることができなかった。また、特許文献1に記載されている自動レイアウトシステムでは、各素材の種類によって優先順位を決定してしまうため、データベースのデータのサイズによって自動的にレイアウトの計算を行った際、どのように各コンテナのサイズを変化させるかユーザが詳細に設定することができなかった。例えば、2つの可変コンテナAおよびBがあり、双方にデータベースからデータが挿入されたとする。コンテナA,Bに挿入されるデータが双方とも大きくページ内に収まらなかった際は、特許文献1に記載されている仕組みでは各素材の種類により設定されている優先順位に基づいてレイアウトが決定されるため、画像、図形、文字の順序に優先順位が設定されている場合、例えば、画像が入るコンテナAが先に大きさ及び位置が決定され、次に文字が入るコンテナBの大きさ及び位置が固定的に決定されることになる。
このため、たとえば、コンテナに入るコンテンツの種類に関係なく、作成するドキュメント内に作成したひとつのコンテナを、他のコンテナより優先的に表示(印刷)したいとしても、特許文献1の自動レイアウトシステムでは、コンテンツの種類により固定的に優先順位が決定されてしまう。つまり、コンテンツの種類に関係なく、他のコンテンツに比べてアピールしたいコンテンツが挿入されるコンテナについても、他のコンテンツの種類との兼ね合いでサイズが決定され、コンテナ毎に独立して優先的にレイアウトすることはできなかった。
また、優先順位を平等にして、各コンテナに入るコンテンツのサイズにより各コンテナが大きくなり、複数のコンテナがお互いに押し合うことでレイアウトを決定するようなこともできなかった。
本発明は上記従来例に鑑みてなされたもので、テンプレートにおいてデータが配置される、特に3つ以上の領域に優先順位を付与することで、データのレイアウトの自由度を高めることができる文書処理装置を提供することを目的とする。
上記問題点を解決する本発明は、以下に示す構成を備える。
文書にレイアウトすべきデータに応じて動的に文書のレイアウトを変更可能な文書処理装置であって、
データを配置するための領域を示す複数の領域情報に対して、当該領域にデータを入れることで当該領域のサイズを決定する順序を示す優先順位を独立して設定する優先順位設定手段と、
データを配置するための領域を示す領域情報と前記優先順位設定手段により該領域に関連づけられた優先順位を示す優先順位情報とを含むテンプレートを記憶する記憶手段と、
前記テンプレートに従って前記優先順位により示される順序で前記領域に対応するデータを順次配置し、前記領域のサイズまたは位置が変更可能な場合には、当該領域のサイズまたは位置を、該領域よりも高い優先順位に関連づけられた領域を侵さないように前記データにあわせて変更する配置手段とを備える。
本発明によれば、テンプレートにおいてデータが配置される領域に優先順位を付与することで、データのレイアウトの自由度を高めることができる。また、優先順位を領域毎に表示することで、レイアウト結果の予測可能性を向上させることができる。
本発明の実施例を適用するのに好適である実施例について説明を行う。まず発明の概略について説明する。本実施形態は、ドキュメントテンプレート(単にテンプレートとも呼ぶ。)に定義されたコンテナに従って、データベースのレコード等を配置した文書を作成する、いわゆるバリアブルプリントと呼ばれる機能をコンピュータにより実現するためのコンピュータソフトウエアに関する。また特に、コンテナサイズをそのコンテンツのサイズに応じて変更できる自動レイアウト機能(あるいはこの機能を有する文書処理装置)を有する自動レイアウトシステムをコンピュータにより実現するためのコンピュータソフトウエアに関する。このソフトウエアが実行可能にロードされたコンピュータは、文書処理装置として機能する。本実施形態では特に、データをテンプレートに従って配置する際に、データのコンテナサイズをデータサイズに応じて変更する。そのとき、テンプレートで与えられているコンテナの優先順位にしたがって、高優先順位のコンテナを優先してデータを挿入してデータサイズに応じたサイズの変更を行い、低優先順位のコンテナについては、高優先順位のコンテナを侵さないように、かつ、コンテナ間にリンクによって定義された一定距離を維持するように、そのサイズを変更する。
次に、本発明を適用可能な本実施形態におけるコンピュータシステムの構成、およびアプリケーション構成について説明する。
<システム構成図>
図1Aはバリアブルデータドキュメントを印刷するシステム100を図示している。本明細書で示された方法は図1Bで詳しく説明される汎用コンピュータモジュール101で所定のプログラムを実行することで実践される。図1Aに記述されるプロセスは、コンピュータモジュール101で実行され、システム100上で実施可能となるレイアウト編集アプリケーションプログラム121のように、ソフトウェアの全体あるいは一部分で実行される。特にレイアウト編集や印刷のステップは、コンピュータ101によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ101によって実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラムを持つコンピュータの可読媒体はコンピュータプログラム製品である。コンピュータでそのコンピュータプログラム製品を使用することで、ドキュメントのレイアウト編集やバリアブルデータ印刷を行える装置として、そのコンピュータは機能する。
コンピュータモジュール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を含んでいる。図1Bには示されていないが磁気テープドライブもまた使用される可能性がある。CD−ROMドライブ142は不揮発性のデータソースとして提供される。コンピュータモジュール101は、GNU/LINUXやマイクロソフト社のウィンドウズ(登録商標)のようなオペレーティングシステムに従って、あるいはコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス134を介して通信を行うコンピュータモジュール101に含まれる各構成要素(符号135〜符号143)を利用する。
図1Bに記述した配置のコンピュータの例としては、IBM互換PCやSUN社のSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。
図1Aのレイアウトアプリケーションプログラム121は、通常は図1Bのハードディスクドライブ140に常駐し、プロセッサ135により実行、読み込み、コントロールされる。いくつかの事例では、アプリケーションプログラム121がCD−ROMやフレキシブルディスク上にエンコードされており、対応するフレキシブルディスクドライブ142やCD−ROMドライブ141を通じて読み込まれてユーザに提供される。あるいはもう一つの方法として、アプリケーションプログラム121はネットワーク接続107からユーザによって読み込まれてもよい。さらにソフトウェアは、磁気テープまたはROMまたは集積回路、光磁気ディスクまたは無線またはコンピュータモジュール101とその他のデバイス間の赤外線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からコンピュータモジュール101内にロードされる可能性もある。上記の例は単に関連するコンピュータ可読メディアの一例である。他のコンピュータ可読媒体も使用される可能性はある。
またレイアウト編集アプリケーション121は、バリアブルデータ印刷(VDP)を行うよう指示し、2つのソフトウェアコンポーネントを含んでいる。これらのうち第1ののコンポーネントはレイアウトエンジン105であり、これは長方形のコンテナで与えられた制限やサイズによって、コンテナを構成する矩形および線の位置を計算するためのソフトウェアコンポーネントである。第2のコンポーネントであるユーザインターフェース103は、ユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。ユーザインターフェース103とレイアウトエンジン105はコミュニケーションチャネル123を介して通信する。ドキュメント生成のためのデータソースは、一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ117上にある一般的なデータベース119である。ホストコンピュータ101はネットワーク接続107によってデータベースサーバ117と通信する。バリアブルデータ印刷アプリケーション121はホストコンピュータ101か一般的に他のコンピュータで構成されるファイルサーバ115に保存されるドキュメントテンプレートを生成する。またバリアブルデータ印刷アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバ115に保存されるか、あるいはプリンタ113に直接印刷される。プリントサーバ109は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバ109とプリンタ113は一般的な通信チャネル111を介して接続される。
図2は、図1Aの構成から、レイアウトエンジン225を独立させてエンジンサーバ227によりレイアウトエンジンを実行させるための構成を示す。エンジンサーバ227は一般的なコンピュータである。ファイルサーバ115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェース103を介して要求されるか、特定のレコードのみ印刷するように要求される。
<アプリケーション構成>
(メインウインドウ)
図3で示されるように、ユーザインターフェース101は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ301によって形成されたユーザインターフェースを含んでいる。ウインドウ301は、非表示にすることやスクリーン上の色々な場所に移動することが可能なメニューバー302とツールバー303、そしてマウス133の位置・動作によって場所を移動可能なワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313から特徴付けされる。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を持つ。
ツールバー303は、アプリケーションの特別なモードによって非表示にする又は表示することが可能な多くのツールボタンとウィジット305を持つ。
オプションのルーラ308はワークエリア内のポインタ、ページ、ライン、マージンガイド、レイアウト枠(コンテナ)またはオブジェクトの位置を示すために使われる。
パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール312を持つ。パレット311はオプションで、ワークエリアの前面に表示されたり、あるいはオブジェクトの背面に隠される。パレット311はアプリケーションウインドウ301の範囲内のみに表示されることを制限される場合もあるし、あるいはアプリケーションウインドウ301の外側に部分的・全体を表示することを許される場合もある。
ツールバーエリア303は図4に示すように、少なくとも以下のユーザ選択可能な「ボタン」を持つ。
* 選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、複数のコンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
* イメージコンテナツールボタン404:スタティック(固定)あるいはバリアブルイメージを持つコンテナを作成するために使われる。
* テキストコンテナツールボタン405:スタティック(固定)あるいはバリアブルテキストを持つコンテナを作成するために使われる。
* リンクツールボタン406:コンテナ間の距離をコントロールするために使われる。
これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンのツールチップとして実装される。
(ドキュメントテンプレート)
ワークエリア306はドキュメントテンプレートのデザインを表示および編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量またはサイズに基づいてどのように変化するかを理解することを可能にする。
もし外部データソース(例えばデータベースのレコード等)がテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがコンテナに表示される。
ドキュメントの構造とバリアブルデータのコンテナの描写をする視覚的な手がかりとなるオブジェクトは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
ワークエリア306はスクロールバー307とオプションのルーラ308とドキュメントテンプレート309により特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。
与えられたドキュメントテンプレートのページサイズは、周知の技術によりユーザによって指定される。それぞれのドキュメントでの実際のページ数はバリアブルデータによって変化する可能性がある。もし1ページ内に収めることができなかった場合、追加のページは自動的に作成される。
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示すページマージン310である。ページマージン310は利用者が定義できる。
また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例である。それらは、複数のコンテナ407、408と、任意に適用できるアンカーアイコン409と、固定されていない辺410、リンク412そしてスライダ413を持つ。
(コンテナ)
コンテナは、ドキュメントテンプレート内の固定あるいは可変テキストやイメージなどを持つスペースであり、他のコンテナやオブジェクトとともにレイアウトされる。コンテナはマウス133を操作してポインタ313を使い、図3、図4等のユーザインターフェースで示されるように移動、サイズ調整そして再作成される。
より正確には、コンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
* コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソース(たとえばデータベースのレコード)から取得され、異なるドキュメントでは異なっていてもよい、という意味でダイナミックである。可変コンテンツとしては、アニメーション化されたもの、あるいは他の方法で時間に応じて変化するものは印刷に適合していないため含まない。固定コンテンツはひとつのテンプレートを用いて生成される全てのドキュメントで同じに表示される。けれども、可変コンテンツを含むコンテナの位置やサイズの変化によって、固定コンテンツを含むコンテナはそれぞれのドキュメントで位置が異なる可能性がある。
* コンテナは、コンテンツに適用される背景色、ボーダー、フォントスタイルといったテキスト設定のような装飾機能を持っている。
* コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、一般的に印刷された出力物であり可視である。可変コンテンツはデータソースからの特定のデータとして得られ、表示あるいは印刷される。コンテナに収められるコンテンツは、例えば印刷されるか、スクリーン144上で表示されるか、あるいはその両方で出力され得る。
* コンテナはユーザインターフェースを持つ。例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。インターフェースの要素は普通はスクリーン144上に表示される。ユーザインターフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示する。そしてコンテナの設定の編集や表示を行わせるための機能も有する。ユーザインターフェース機能の目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコン、あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。
(コンテナ制約)
コンテナはそれぞれのドキュメントで表示または印刷されるコンテンツをどのようにコンテナに収めるか制御するための制約を持つ。これらの制約は、ユーザが一つのドキュメントテンプレートによって多数のドキュメントをコントロールする主要な手段である。制約の一例としては「このコンテナのコンテンツの高さは、最大値4インチです。」というものがある。他の制約の例としては「コンテナのコンテンツの左エッジは、それぞれのドキュメントで同じ水平位置で表示しなければならない。」というものもある。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダは、デジタル印刷技術でよく知られている。以下の説明において、コンテナは位置とサイズとを持ち、それらは公知の技術で知られている手法で編集され、表示することができる。
ユーザは、コンテナの位置やサイズ、制約等を指定することで、ドキュメントのコンテンツのサイズおよび位置を指定することができる。複数のドキュメントが一つのドキュメントテンプレートから生成されるので、コンテナの多数の可能な設定と制約を指定および表示させるためにユーザインターフェースを使わなければならない。
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。すなわち、コンテナの左辺は、同一のテンプレートが適用されるどのドキュメント内でも、当該コンテナに関連付けられたコンテンツが配置される左端に対応する。同様に、コンテナの高さは、同一のテンプレートを適用して生成されたドキュメント内で当該コンテナに関連づけられたコンテンツの高さの制約として理解される。本明細書においては、ユーザインターフェース103を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
下記の検討では、コンテンツの表示を制限するために使われるいくつかの値を定義している用語「固定」は、全てのドキュメントで同じである。
* もしコンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、そのコンテナを含むテンプレートを適用して生成される全てのドキュメントで、そのコンテナを含むページに関して同じ(固定値)になる。
* もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、そのコンテナを含むテンプレートを適用して生成される全てのドキュメントで、そのコンテナを含むページに関して同じ(固定値)になる。
* もし距離の制約が固定なら、指定された距離(固定値)は、そのコンテナを含むテンプレートを適用して生成される全てのドキュメントのための制約である。
* もしコンテナの左右辺が固定なら、そのコンテナを含むテンプレートを適用して生成される全てのドキュメントで、コンテナの辺の水平方向についての位置が、そのコンテナを含むページに関して同じであることを意味している。しかしコンテナの高さあるいは垂直方向の位置は変わる可能性がある。例えば、もしコンテナの左辺が固定なら、コンテナに関連付けられたコンテンツは、ひとつのテンプレートを適用して生成されるひとつのドキュメントでページの上に近く表示され、他のドキュメントでページの下に近く表示されることもある。しかし左辺の水平位置は全てのケースで同じである。
* もしコンテナの上下辺が固定なら、辺の垂直方向の位置が、そのコンテナを含むテンプレートを適用して生成される全てのドキュメントで、そのコンテナを含むページに関して同じである。しかしコンテナの幅あるいは水平位置は変わる可能性がある。
* コンテナの垂直軸はコンテナの右辺および左辺と平行で、その中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、そのコンテナを含むテンプレートを適用して生成されるすべてのドキュメントで、そのコンテナを含むページに関して同じである。この制約で、コンテナの幅は変化する可能性がある。たとえば、相異なるドキュメントで、対応するコンテナの左右辺の水平方向の位置は、垂直軸に遠いか、あるいは近いかという点で相違する可能性がある。しかし、垂直軸は、そのコンテナを含むテンプレートを適用して生成されるすべてのドキュメントで、そのコンテナを含むページに関して同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
* コンテナの水平軸はコンテナの上辺および下辺と平行で、その中間に位置される想像上の水平線である。 垂直軸と同様に、もしコンテナの水平軸が固定なら、コンテナの上辺そして下辺の垂直方向の位置を制約する。けれども高さは、この制約によって影響されない。
* もし水平軸および垂直軸がともに固定なら、コンテナの中心位置(垂直軸と水平軸との交点)が固定されていることを意味する。しかし、コンテナの幅および高さはこの制約によって影響されない。
* もしコンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、そのコンテナに関連づけられるコンテンツは、そのコンテナを含むテンプレートを適用して生成されるすべてのドキュメントで、そのコンテナを含むページに関して同じ場所に表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が、そのコンテナを含むテンプレートを適用して生成されるすべてのドキュメントで、そのコンテナを含むページに関して同じになることを意味している。
* 垂直辺あるいは垂直軸は、ページの左辺あるいは右辺、あるいは左ページマージン、あるいは右ページマージン、あるいは他の水平位置に関連付けされて固定になる。同様に、水平辺あるいは水平軸は、ページの上辺あるいは下辺あるいはマージン、あるいは他の垂直位置に関連付けされて固定になる。
「固定」の反対は、辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間で変化する可能性があることを意味する「可変」である。しかしドキュメントの特定な設定でそうする必要が無いかもしれない。例えば、変更による辺の実際の好ましい位置のような他の外部制約がある、しかし、もし外部制約が適用されないなら、辺は固定されてないものとしてラベル付けされているので辺の位置は変更できる。
<レイアウトモード(コンテナ表示および編集)>
バリアブル印刷されるドキュメントの作成手順は、テンプレートを作成するテンプレート作成処理(レイアウトモード)と、作成されたテンプレートにコンテンツを挿入してドキュメントを作成するドキュメント作成処理(ドキュメントをプレビュー表示する場合を特にプレビューモードと呼ぶ。)という2つのフェーズに分けることができる。まず、レイアウトモードについて説明する。
(新規コンテナの作成方法)
コンテナには、テキストコンテナとイメージコンテナの2種類がある。テキストコンテナはテキストおよび埋め込みイメージを収める。イメージコンテナはイメージだけを収める。
図4に示すように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス133でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。
あるいは、コンテナは、適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上でクリックすることによって簡単に作成できる。新たなコンテナが作成された場合、デフォルトサイズのコンテナが挿入されるか、または新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが表示される。また、コンテナを、前もって定義あるいは計算されたスキーマによって自動的に作成および配置することもできる。
(コンテナの表示方法)
ドキュメントテンプレート内に作成されたコンテナの辺の状態は、図4に示すようにユーザインターフェース上にグラフィカルに表示されるのが好ましい。共通する表現で辺の状態を示すことで状態に対応する画像オブジェクトの種類をより少なくできる。
図5(A)−図5(D)はコンテナの表示例を示す図である。アプリケーション121は、辺の状態を表現するために、実線503あるいは点線504で辺を描写する。コンテナは、アンカー(辺の近くに描画されたオブジェクト506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために、辺や形の近くに描画されたコントロール点)502、スライダ(辺の両サイドに描画された短い並行線、図4の413)、拡縮(矢印)アイコン505、そして色を特徴として持っている。
図5(A)−(D)のコンテナ表示方法のルールは、つぎの通りである。
1.それぞれの辺が固定されているならば、その辺を実線で描画する。
2.もし幅が固定なら、左と右の辺を実線503で描画する。
3.もし高さが固定なら、上と下の辺を実線503で描画する。
4.軸は描画しない。
5.まだ描画されていない辺は、その辺の近くに拡縮アイコン505が描画され、点線504で描画される。
6.垂直辺あるいは軸と水平辺あるいは軸との交点には、交差する辺または軸がともに固定なら、アンカーが描画される。
7.固定辺のどこにもアンカーが描画されていなければ、その辺の中央にスライダが描画される。
8.垂直辺あるいは軸と水平辺あるいは軸との交点には、アンカーもスライダも描画されていなければ、ハンドルが描画される。
可変の辺は、点線で描画される。ルール6、7、8に従って描画される固定点にはアンカーが表示され、固定された辺にはスライダが表示され、他の辺にはハンドルが表示される。
上記説明で、辺はただ一度描画されることが必要である。もしルールが描画されるべき辺に影響すれば、後のルールはその描画されるべき辺に影響しない。また、例えばもしコンテナがとても小さいくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは省略されて描画してもよい。
可変の辺が描画される場所はコンテナのコンテンツに依存する。後で説明するように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェース上にドキュメントを表示する「動的な校正処理」が行われる。
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
* 図4の辺410のように、点線は、コンテナのコンテンツに応じたドキュメント内の辺の位置を意味する。
* 実線は制限された辺を意味する。なぜなら、実線で表示された辺は固定されているか(辺414)、あるいはコンテナの幅または高さが固定されている(コンテナ408では両方が固定されている)ためである。
* アンカーは、辺または軸の交点が固定されていることを意味する。それゆえ、アンカー点は、そのアンカー点を含むドキュメントテンプレートを適用したすべてのドキュメントにおいて、同一の水平、垂直位置に現れる。当然アンカーは固定される。図4のアイコン409は、交差する辺414が固定されていることを意図しているアンカーアイコンの例である。
* スライダは、関連付けられた辺が固定されていることを意味する、しかしコンテナは、辺に沿って「スライドの長さ」だけスライドされた位置に移動できる。例えば、図4で、スライダ413の操作により、コンテナ408のコンテンツはドキュメント内で左あるいは右に移動されて表示されることもある。
これらのアイコンや辺のいくつかあるいは全ては、どのツール、どのコンテナを選択したりハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺およびアイコンはドキュメントテンプレートをデザインするために表示されるものであって、作成されたドキュメントテンプレートを適用した印刷物には描画されない。
コンテナの幅および高さの最小値および最大値の設定は、副次的なダイアログウインドウに表示される。
図5(A)で、コンテナ501は幅および高さ両方が固定されていない。固定された辺503は実線で表現される。可変の辺504は点線で表現される。点線は、その辺が、コンテナの内容となるコンテンツサイズに応じて可変であることを示す。一方、拡縮アイコン505は、隣接する辺504がリンクにより関連づけられた他のコンテナのサイズ変更や移動に応じて可変であることを示すインジケータである。
図5(B)で、コンテナ501は幅および高さ両方が可変である。アンカーアイコン506は、交差している2つの辺503が固定されていることを示している。
図5(C)で、コンテナ501は、アンカーアイコン507で示される点を中心にして均等に拡大あるいは縮小できる状態で、幅および高さ両方が可変である。
図5(D)で、コンテナ501は、上辺508が固定されていることを除けば、幅および高さ両方が可変である。上辺508の中心に示されるアンカーアイコン509は、その辺508が固定されており、コンテナの左辺および右辺が、アイコン509を通り垂直に描画される中心軸(垂直軸)の周りで、移動し得ることを示す。
<ドキュメントテンプレートのデータの例>
図26は、ドキュメントテンプレートのデータ(テンプレートデータと呼ぶ。)の一例を示す。図26において、テンプレートデータ2601は、メモリ136あるいはハードディスク140に格納されている。テンプレートデータには、以下の要素が含まれる。
(1)全体サイズ2602:テンプレート全体のページのサイズを示す。サイズは、たとえば、縦および横の長さ、または定型用紙サイズなどで示される。
(2)コンテナ情報2603:テンプレートに配置されるコンテナ毎に、そのコンテナを特定するための識別情報やコンテナの基準の位置(位置情報)、辺の長さ(サイズ情報)、コンテナを構成する辺や点の属性(属性情報)、コンテナに関連づけられるコンテンツの情報等を示す。位置情報およびサイズ情報は、テンプレート作成時に定義されたものであり、位置情報は、コンテナの作成時にユーザにより設定されたコンテナの基準の位置になる。位置が可変のコンテナであれば、コンテナに流し込まれるコンテンツのサイズ(画像サイズ、テキスト量)に応じて大きさが変更され、各コンテナの大きさにより動的に位置が変更されることになる。アンカー等により位置が固定されているコンテナであれば、固定された位置を示す。このような位置情報は、少なくともコンテナの対角点の位置を特定できる情報を含む。もちろん、全点についてテンプレート上における位置を持ってもよいし、ひとつの点についてはテンプレート上における位置の情報を持ち、他の点については相対的な位置の情報を持つようにしてもよい。すなわち、コンテナの一つの点とコンテナのサイズによって定義することもできる。また、固定されている点についてはテンプレート上における位置で定義し、可変の点については相対的な位置で定義しても良い。
属性情報は、図4および図5を参照して説明した、コンテナの辺や辺、軸またはそれらの交点等の属性を示す。ひとつのコンテナは、たとえば位置とサイズとにより、上辺、下辺、左辺、右辺、水平軸、垂直軸、各角点、中心点、幅、高さが定まる。それら各要素について、可変であるか、固定されているかが属性情報により定義される。図4のユーザインターフェースによりドキュメントテンプレートを作成した場合、コンテナの辺や点や軸を選択した状態で、パレット311内に表示されるメニュー「固定する」「可変とする」などから、オペレータが所望の項目を選択することで、選択された点や辺に対応して、コンテナ情報2603に「固定」「可変」いずれかの属性が書き込まれる。コンテナ作成直後の既定値はたとえばすべて「可変」としておく。なおこの例では、ひとつの辺や軸について「固定」であるとは、辺や軸の長さや長手方向の位置ではなく、長手方向に直交する方向についての位置が固定されていることを意味している。また、点や辺の属性を設定することで、自動的にその他の点や辺の属性が定まる場合には、その属性も書き込む。たとえば角点を「固定」と指定した場合、それを挟む辺も「固定」とされる。これは逆も同様である。またたとえば、中心点の位置を「固定」と指定すると、中心点の属性に「固定」と書き込まれると共に、水平軸及び垂直軸の属性も「固定」と書き込まれる。この場合、幅や高さは可変のままであれば、幅および高さの属性は「可変」のまま維持される。
関連づけられるコンテンツに関する情報(コンテンツ関連情報)には、たとえば、それがテキストコンテナであるかイメージコンテナであるかの種別を示す情報や、そのコンテナに挿入されるデータソースの識別子、たとえばデータベース名、レコード名、フィールド名等の一部又は全部、コンテンツを抽出するための条件式などの関連付け情報が含まれる。また、テキストコンテナの場合には、フォントに関する情報、たとえばフォント種類やサイズ、色、斜体や太字、下線等の文字修飾情報等もコンテンツ関連情報に含まれる。
コンテナ情報2603は、ドキュメントテンプレートに設けられたコンテナの数だけ保持される。
(3)リンク情報2604:リンクとはコンテナ間の関連付けであり、特にリンクで結ばれた2つのコンテナ間の距離を一定(固定リンク)や可変範囲(可変リンク)とする旨の情報である。リンク情報としては、たとえば、水平方向及び垂直方向それぞれについて、2つのコンテナの識別子、およびそれらコンテナの対向する辺の間にリンクが設定されたことを示す情報や、リンクに沿った方向についてのコンテナ間の距離などを含む。リンク情報は定義されたリンク毎に保持される。リンク情報の形態としては、水平方向及び垂直方向それぞれについて、各コンテナの辺の位置を保持し、その辺の間にリンクが設定された旨を示す情報を保持してもよい。
(4)固定情報2605:可変部分以外の固定部分を定義するための情報が含まれる。たとえば、当該テンプレートが適用されて生成される全ドキュメント(全レコード)に共通の文や画像等が定義できる。文や画像については、そのデータそのものを含まずに、位置情報を定義するだけでも良い。もちろん、テンプレート上において配置される位置を定義するための情報も含む。
(5)優先順位情報2606:優先順位情報は、テンプレートに含まれるリンクにより関連づけられたコンテナの優先順位を示す情報である。データベースのレコードをテンプレートにしたがって文書化する際には、たとえば、より高い優先順位のコンテナが、優先的にコンテンツに合わせてサイズ変更される。すなわち、優先順位の高いコンテナは、コンテンツサイズに応じた大きさになるよう優先順位の低いコンテナに優先してその大きさが計算される。一方優先順位の低いコンテナは、優先順位の高いコンテナの大きさが決まった後に従属的に位置やサイズが計算される。本実施形態では、優先順位情報2606は、たとえば、リンクにより構成されるコンテナ集合の要素であるコンテナ(要素コンテナ)の識別子と、各コンテナ識別子に対応する優先順位を示す値との組により示される。もちろん、コンテナの識別子を優先順位にしたがって並べただけの構成であっても、優先順を示すことはできる。この場合には、識別子の順序が優先順位情報を構成する。
<リンクの設定方法>
図25はリンクの設定方法を示したフロー図である。また図6(A)−(C)はUI例を示している。それらを用いてコンテナにリンクを設定する方法について説明をする。
まず、リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)を作成する(ステップ2501)。次に、図4に示すリンクツールボタン406を選択した状態にする(ステップ2502)。図6(A)−(C)は、2つのコンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を行った際のユーザインターフェースの例を示している。図6(A)−(C)を順に説明していく。
図6(A)の辺0601、0602は、前述した図4の辺407、408と同じであり、固定されている辺である。また、アンカー0603と0604は、アンカー409と同じものである。まず、ユーザがリンクを設定する一方のコンテナをクリックして選択する(ステップ2503)。次に図6(B)で示されるように、他方のコンテナまでマウスポインタを移動してクリックする(ステップ2504)。図6(B)の線0606は、図6(A)で最初にクリックをした位置と移動後のマウスポインタの位置とを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すUIである。ステップ2504が終わった後、コンテナは図6(C)の状態になり、設定した場所にリンク0607が表示される(ステップ2505)。また、リンクが設定されたことにより、コンテナを示すオブジェクトも自動的に変更される(ステップ2506)。辺0608、0610は、点線で示されている辺であり、可変の辺を示している。図6(C)のようにコンテナの辺の状態が変化したのは、リンクを設定したことにより、コンテナの辺を可変にする必要があるためであり、リンクを設定したにもかかわらず、全ての辺が固定という矛盾を引き起こすことを防ぐために、自動的に行われる処理である。また、拡縮アイコン(矢印)0609は図5のアイコン505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したオブジェクトである。図6(C)の例では、左のコンテナの右辺0608と右のコンテナの左辺0610が可変に変化したが、これは一例であり、右コンテナが、図4に示すスライダ413を持つ設定に変化してもかまわない。
この処理を図26のデータ処理の観点から説明すると以下のようになる。たとえば、ステップ2501では、コンテナを作成することにより、コンテナ情報3303が定義される。そして、ステップ2506において、ステップ2503とステップ2504で選択された2つのコンテナ間にリンクが設定された旨を、リンク情報として記憶する。そしてステップ2506において、リンクが設定された2つのコンテナの対向する辺の属性を必要に応じて変更する。たとえば、対向する辺の少なくとも一方が可変であれば、辺の属性を変更する必要はない。しかし、双方が固定であれば、リンクを設定する意義が失われるために、少なくとも一方を可変とする。図6の例では、両方を可変に変更している。もちろん、辺の属性が変更された場合には、変更された属性についてコンテナ情報2503に含まれる属性が変更された辺についてその属性情報を書き換える。
なお、上記記載では「対向する」との表現を用いているが、線どうしが見かけ上対向する場合のほか、線自体は対向していなくとも(すなわち2つの線の長手方向の投影が重複しなくとも)、線の延長線が対向する関係にあれば、その延長線の間でリンクを設定することができる。本明細書ではこのように延長線が対向する場合も含めて、リンクで関連づけられたコンテナに関しては、辺が「対向する」と表現することにする。すなわち、たとえばテンプレートの対角に沿って配置された小コンテナ間にもリンクを設定できる。
以上のように、リンクで関連づけられたコンテナの対向する辺の一方が可変で他方が固定であれば、コンテンツサイズに応じて可変の辺は移動する可能性がある。そして、その可変の辺の移動量に応じて、固定辺の側のコンテナは、コンテナ自体が平行移動する(アンカーがない場合)。リンクで定義されたコンテナ間の距離(リンクに沿った方向についての距離)は維持される。双方の辺が可変であれば、コンテンツのサイズに応じて量コンテナのサイズが可変となるが、コンテナ間の距離はこの場合も維持される。
<優先順位の設定方法>
図7はオペレータによる優先順位の設定方法を示している。図7の順は、図1A乃至図2のコンピュータにより、オペレータの操作に応じて実行される。図7の手順は、予め定義されたテンプレートが表示されている状態から開始される。テンプレートは、テンプレート名称やその中に定義するコンテナ、コンテナ属性等のテンプレートの属性情報、リンク情報、固定情報など、図25に示す情報をテンプレート毎に定義することで作成される。以下、各ステップの説明に、図8〜図11のUI図も参照する。
まず、ユーザによって図11に示すように、テンプレートモードにおけるテンプレート表意画面から優先順位を設定するコンテナが選択され、ポップアップメニューを表示させ、優先順位設定が選択されると、優先順位設定画面を表示する(0701)。図11において、1101はコンテナ、1102はポップアップメニュー、1103はマウスポインタを示している。このとき、図11では、コンテナの優先順位設定の指示はポップアップメニューから選択されているが、コンテナのプロパティダイアログなどで選択されてもかまわない。
次に、ステップ0701で選択したコンテナとリンクにより関連付けされているコンテナを一つの集合として認識して、優先順位を設定していく(0702)。本自動レイアウトシステムは、関連付けされたコンテナ同士が、相互にコンテンツのサイズに合わせてレイアウトを計算して、最適化を行う(図15等を参照して詳述する)。本発明の優先順位は、関連し合うコンテナについて、計算順番を指定していくものであるため、関連付けされているコンテナを一つの集合として認識して、優先順位を設定していく。例えば、図8ではテキストコンテナA,D,FとイメージコンテナB,C,Eがレイアウトされている。リンク(0803など)によってコンテナが関連付けられており、コンテナA,B,C,DとコンテナE,Fの2つのコンテナの集合が形成されている。ここで、マウスポインタ(0804)でいずれかのコンテナを選択すると、選択されたコンテナを含むコンテナ集合について優先順位の設定を行うことができる。たとえばコンテナAを選択して優先順位の設定を行うと、コンテナA,B,C,Dのコンテナ集合について各コンテナの優先順位を設定することができる。
次に、ステップ0701で表示された優先順位設定画面で、ユーザが設定した優先順位をコンテナに設定していく(0704)。
以上の手順をコンピュータによるデータ処理の観点から説明すると以下のようになる。まずユーザの操作に応じて優先順位設定モードに移行し、そのモードにおいて着目テンプレート上のいずれかのコンテナが選択されると、ステップ0702では、選択されているコンテナと直接または間接にリンクされて関連づけられているコンテナをテンプレート上に定義されているコンテナから探し、得られたコンテナの集合を着目コンテナ集合として記憶する。このために、たとえばまず選択されたコンテナの識別子が、着目コンテナ集合の要素コンテナとしてメモリの所定領域に記録される。それとともに、着目テンプレートのリンク情報2604を参照し、選択されたコンテナに関連づけられているコンテナの識別子を検索する。ヒットしたコンテナの識別子も、着目コンテナ集合の要素コンテナとして別途メモリに記録される。さらに新たな追加された要素コンテナに関連づけられたコンテナをリンク情報2604を参照して検索する。このようにして、検索の都度新たに追加される要素コンテナ全部についてリンクにより関連づけられたコンテナの検索を行い、あらたなコンテナが見つかればその識別子を要素コンテナとしてメモリに追加的に記録する。すべての要素コンテナについて検索が終了し、新たなコンテナが見出されなくなったなら、着目コンテナ集合の要素をすべて検索し終えたこととなる。ここまでがステップ0702で行われる。
ここで、ステップ0702ではまず優先順位情報2606を参照しても良い。もし着目コンテナ集合に対して優先順位の付与がされていれば、着目コンテナ集合の要素コンテナの識別子はすべて優先順位情報に記憶されているため、リンク情報を検索する処理を省略することができる。その場合、優先順位情報2606に選択されたコンテナの識別子が含まれていなければ、新たに優先順位を設定する手順であるから、上記リンク情報の検索によるコンテナ集合の要素コンテナ識別子の収集を行う。
次にステップ0703において、オペレータに入力された優先順位に対応する優先順位情報を、優先順位情報0206として保存する。優先順位は、図9等で説明するように、着目コンテナ集合の要素コンテナの順序により指定される。そこで、指定された順序で、要素コンテナの識別子を配列したり、あるいは、識別子ごとに優先順位を示す値(順序を示す数値など)を対応付けて、コンテナ集合毎にまとめて保存する。たとえば、図8のコンテナA,B,C,Dを要素とするコンテナ集合では、この順序で優先順位が付与されたとすれば、「A,B,C,D」と識別子を並べた情報や、「A:1,B:2,C:3,D:4」などと識別子と優先順位を対応付けた情報として優先順位情報2606は保存される。もちろんこれは一例に過ぎず、コンテナ集合とそのコンテナ要素ごとの
優先順位が識別できればどのような形式であってもよい。
最後に、ステップ0704において、設定された優先順位をテンプレートを表示した画面上に表示する。たとえば、着目コンテナ集合について、優先順位情報2606を参照して、保存された優先順位情報にしたがって要素コンテナの識別子を順番に並べて表示する。この表示は、テンプレートを表示した枠外に表示したり、あるいは、識別子に対応するコンテナ画像に重畳して優先順を表示するなど、種々の方法で実現できる。ここで着目コンテナは、たとえばマウスカーソルの位置により決定される。マウスカーソルの位置が、コンテナやリンク上にある場合、そのコンテナを要素として含むコンテナ集合あるいは、そのリンクで関連づけられたコンテナを要素として含むコンテナ集合が、着目コンテナ集合となる。この判定は、コンテナやリンクを示すオブジェクトの表示範囲と、マウスポインタの位置とを比較することで実現できる。
図9は優先順位を設定するダイアログUIを示している。0901はダイアログ、0902は優先順位を示しているUI,0903は優先順位を設定するコンテナが表示されるリストボックスである。ここには、ステップ0702で一つの集合と認識されたコンテナがすべて表示される。0904は優先順位を変更する矢印ボタン、0905は設定をキャンセルするキャンセルボタン、0906は設定を反映させるOKボタンである。UI0902で示されるように、リストボックス(0903)で上に表示されているコンテナは優先順位が高く、下に行くにつれて優先順位が低くなる。計算される順番は上から順番になる。図9では、テキストコンテナA、イメージコンテナB、イメージコンテナC、テキストコンテナDの順に計算される。
図10は、図7のステップ0703においてオペレータが優先順位を変更する方法を示している。図10(A)の選択欄1001で示しているように、マウスポインタなどで優先順位を変更したいコンテナ名を選択する。そして、優先順位を上げるのであれば上矢印ボタン、下げるのであれば下矢印ボタン(1002)を押下する。ここでは、テキストコンテナDを選択して、優先順位を上げる操作を行ったものとする。すると、10(B)で示すように、テキストコンテナDの優先順位が一つ上がり、イメージコンテナCの優先順位が一つ下がる。
優先順位の設定方法は、この方法に限らず、ここではコンテナA,B,C,Dと4つのコンテナについて優先順位を設定するので、各コンテナについて優先順位1番、2番と番号で指定する方法でも良い。
このようにしてオペレータにより指定された各コンテナに対応する優先順位が、優先順位情報2606として保存される。
<優先順位の表示方法>
図12、13、14は、図7のステップ0704において、各コンテナに設定されている優先順位を視覚的にユーザに示す方法について示している図である。それぞれについて説明する。
図12、13はそれぞれ別ウインドウで設定した優先順位を表示する方法を示している。図12はマウスカーソルがコンテナ集合1203に属する要素コンテナにおかれた場合の表示であり、図13はマウスカーソルがコンテナ集合1204に属する要素コンテナにおかれた場合の表示である。図12において、ウインドウ1201は、自動レイアウトアプリケーション(すなわち本実施形態の文書処理装置を実現するためのプログラムに相当する。)ウインドウを示している、その他ページエリア、ツールバーなどは図3と同じであり、その他はここでは省略してある。画面には、そのほかマウスポインタ1202、コンテナ集合1203、1204が表示されている。コンテナ集合1203,1204はそれぞれ優先順位が設定されている。プロパティパレット1205は、テンプレートの枠外に表示されており、優先順位を表示している。リストボックス1206はコンテナ名が表示されているリストボックスである。図13においても同様に、1301はマウスポインタ、1302はリストボックスを示している。
図12および図13では、パレット1205とリストボックス1206および1302によって、コンテナの優先順位がユーザに視覚的に表示される。リストボックス1206,1302には、優先順位の高い順に上からコンテナ名が表示される。図12で示しているように、マウスポインタ1202をコンテナの集合1203上(すなわち要素コンテナまたはリンクの画像オブジェクト上)に置くと、リストボックス1206に、その集合内の要素コンテナ(コンテナA,B,C,D、E)が優先順位の高い順位表示される。ここでは、高い方からコンテナB,A,E,C,Dの順で優先順位が設定されていることを示している。
図13で示すように、マウスポインタ1301を別のコンテナの集合1204へ移動させると、リストボックス1302の表示が更新され、コンテナF,G,Hが優先順位の高い順に表示される、ここではコンテナF,H,Gの順に優先順位が高い。
<プレビュー表示処理>
図15は、テンプレートを用いたレイアウトのプレビュー表示時のフローを示している。これもまた図1A〜図2のコンピュータにより実行される。まず、オペレータによりプレビューモードが選択されると、プレビューモードの処理が開始される(1501)。前述した自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付けを行いレイアウト作成するレイアウトモード(図25参照)と、作成したレイアウトにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、前述した優先順位に従ってレイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。
プレビューモードになったら、オペレータの操作に応じてプレビューするレコードが選択される(1502)。レコードの選択が行われ、プレビュー実行の指示がオペレータから与えられると、選択されたレコードをレイアウトするために計算を行う。その際に、まず前述した優先順位がコンテナに設定されているかをチェックする(1503)。このためには、テンプレートデータ2601の優先順位情報2606を参照し、何らかの優先順位情報が保存されているか判定する。そして前記チェックで、優先順位が設定されているコンテナが存在すると判断された場合、すなわち優先順位情報2606に何らかの優先順位情報が保存されている場合には、優先順位ありとしてレイアウトを計算する(1504)。この優先順位ありの場合のレイアウト計算方法については、図19を参照して詳細に記述する。ステップ1503で優先順位が設定されているコンテナが存在しなかった場合、優先順位なしとしてレイアウトを計算する(1505)。この処理は図16を参照して後で説明する。
次に、ステップ1504または1505で計算されたデータのレイアウトを表示する(1506)。もちろん印刷の場合にはここでプリンタにデータを送信して印刷を実行する。そして他のレコードについてもプレビューを行うかどうかを判断する(1507)。ステップ1507で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(1509)。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(1508)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、ステップ1507、1509は存在しない。そして全てのレコードについて印刷が終了した時点で終了する。
<レイアウト計算処理(優先順位なし)>
図16は図15のステップ1505における優先順位を設定しない場合のレイアウト計算手順を示したフロー図である。また、図17はそのときのUI表示例を示した図である。
まず、レイアウト計算の対象となるコンテナの集合を求める(1601)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば図18を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナA・Bが集合1、コンテナC・Dが集合2となる。前述した通りであるが、1801はアンカー、1802は固定された辺、1803はコントローラー、1804は可変の辺の変化方向を示している矢印、1805は可変の辺、1806はリンク、そして1807はスライダーを示している。
コンテナ集合を特定するための情報は、図16では優先順位情報2606から得られないので、リンク情報2604を参照して獲得する。すなわち、テンプレートの配置されたコンテナのうちから適当なコンテナの識別子を選択し、リンク情報を検索して、その識別子のコンテナと直接または間接に関連するコンテナの識別子を獲得して、獲得したコンテナ識別子をメモリに着目コンテナ集合の要素コンテナとして記録する。これは図7のステップ0702と同様である。
次に、ステップ1601で求めたコンテナの集合から、レイアウトを計算するために一つのコンテナを選択する(1602)。そして、レイアウトするコンテンツデータを取得する(1603)。ここでレイアウトするデータは、ステップ1502またはステップ1508で選択されているレコードに含まれるデータである。コンテンツデータは、コンテンツの内容、サイズ、量などを含む。次に、取得したコンテンツデータからそれに対応するコンテナに挿入するデータサイズを得る(1604)。そして、渡されたコンテンツデータのデータサイズを元に、各コンテナのサイズを計算する(1605)。
ステップ1605でコンテナサイズの計算を行ったことにより、各コンテナのサイズと位置が決定される(1606)。この時点では、レイアウトの最適化を行っていないため、得られたサイズ及び位置は仮決定である。次に、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(1607)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(1608)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のコンテナのサイズ・位置は確定され、レイアウトが完成する(1609)。最後に、確定された位置およびサイズのコンテナに対応するコンテンツを流し込む(1610)。そして、ステップ1602〜1610をページ上のすべての集合について施し、ページ全体のレイアウトを計算する(1611)。
図17(A)〜(C)は優先順位の設定なしでレイアウト時のUI例である。図17(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1701と1702はアンカー、1703と1704は固定された辺、1705は可変の辺、1706は可変の辺の変化方向を示している矢印、1708はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図17(B)は図17(A)の状態に新しいコンテンツのサイズを重ねて示している。1709はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図17(C)はレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、かつ前述したルールを違反しないように計算される。図17の場合には、リンクされた2つのコンテナの外側および上下の辺がアンカーにより固定されているため、変更可能な内側の辺を各コンテナサイズに応じて移動し、コンテナの位置及びサイズが決定される。図17(C)で示されるように、図17(B)で示した挿入されるコンテンツサイズ(1709)と計算後のコンテンツサイズ(1710)は、双方において同等な差異がある。
なお、1つのコンテナについて可変の辺が2以上ある場合には、各辺はコンテナサイズの変更に応じて同じ量だけ移動するものとする。したがって、コンテンツを収めるために必要なコンテナ面積が求められると、対応するコンテナは、固定辺以外の辺を等距離ずつ同方向(外側または内側)へと移動して、求められた面積になる各辺の位置(角点の位置でもよい。)が決定される。リンクされた各コンテナについて同様に必要なコンテナの位置及びサイズを決定したなら、リンクにより規制される相互の位置関係に応じて、リンクで接続された辺を移動させる。すなわち、必要なサイズのコンテナを求めた後、リンクで接続された辺の距離を計算し、各々の辺を、その位置からリンクで定義された距離になるよう、等距離ずつ移動させる。このようにして、コンテナを決定し、そのコンテナにコンテンツを挿入する。
<レイアウト計算方法(優先順位有り)>
図19は、図16のステップ1504における優先順位がコンテナに設定されていた場合のレイアウト計算手順を示したフロー図である。また図20、21はそのときのUI表示例を示した図である。双方を用いて説明をする。
図20の2001はコンテナ、2001は優先順位、2002はリンクを示している。なお、優先順位は丸囲み数字で示されており、数が小さいほうが高いものとする。ここではコンテナA,B,Cの順に優先順位が付されている。図21の点線2101はコンテナAに挿入されるコンテンツのサイズを示している、枠線2102はコンテナAのレイアウト計算後のコンテナA´を示し、点線2103はコンテナBに挿入されるコンテンツのサイズを示している。枠線2104はコンテナBのレイアウト計算後のコンテナB´、枠線2005はコンテナCのレイアウト計算後のコンテナC´を示している。
図19において、まず、レイアウト計算するコンテナの集合を求める(1901)。そして計算を行う一つの集合を選択する(1902)。図20(A)のコンテナA,B,Cがそれにあたる。そして、レイアウトするコンテンツデータを取得する(1903)。ここで記述したコンテンツデータは、コンテンツの内容、サイズ、量などである。次に、各コンテナに取得したコンテンツデータのデータ量を得る(1904)。なお、ステップ1901〜1904は、図16のステップ1601〜1604と同様の手順である。ただし、着目コンテナ集合の要素コンテナを得るためには、優先順位情報2606を参照し、そこに優先順位と共に保存されたコンテナの識別子を獲得すればよい。
次に、優先順位の一番高いコンテナに着目する(1905)。これももちろん、優先順位情報2606を参照してもっとも優先順位の高いコンテナが着目コンテナとなる。着目コンテナは、たとえばメモリ等の所定領域にコンテナ識別子が保存され必要に応じて参照される。図21の例では、コンテナAが一番優先順位が高いので、まずコンテナAに着目する。そして、着目したコンテナについてレイアウト計算を行う(1906)。ステップ1904で渡されたコンテンツデータサイズを用いて、コンテナのサイズを計算する。図21(A)の点線2101がコンテナAに渡されたコンテンツサイズである。この着目コンテナは、当該コンテナより優先順位が低いコンテナに対してはルール違反しない限りそのサイズや位置に影響を与えることが許されている。その代わり、着目コンテナより優先順位が高いコンテナには影響を与えることができない。図21(A)の場合、コンテナAのレイアウト計算では、コンテナAより優先順位の低いコンテナB,Cのコンテナサイズに関係なく、コンテンツを収めるためのサイズを拡張することが可能である。次にステップ1906で計算されたコンテナのサイズと位置とをメモリに保存する(1907、1908)。図21(B)の枠線2102は、コンテナAについて、計算が終了してサイズ・位置が確定(保存)された後のコンテナを示している。
次に選択された集合内の全てのコンテナについて計算が終了したかどうかを確認する(1909)。全てのコンテナについて終了していなければ、現在の着目コンテナの次に優先度の高いコンテナに着目し、そのコンテナについてステップ1906〜1908を行いコンテナサイズおよび位置を計算する(1910)。図21(B)では、コンテナAの計算が終了したあと、次に優先順位が高いコンテナBについて計算を行う。図21(B)で点線2103はコンテナBに渡されたコンテンツサイズである。このコンテンツサイズに基づいてコンテナBのサイズおよび位置の計算を行う。コンテナBはコンテナAより優先順位が低いためコンテナAに影響を与えることができない。すでに前ステップでコンテナAのサイズと位置とは確定した値として保存されている。したがって、コンテナBの位置及びサイズは、コンテナAに影響を与えない範囲で計算しなければならない。点線2103で示すように、コンテナBに挿入されるべきコンテンツのサイズはコンテナA´と重なってしまっている。そのため、コンテナBは、コンテンツサイズより小さいサイズで与えられることになる。
図21(C)はコンテナBについて計算が終了し、サイズと位置が確定したコンテナB´を示している。コンテナB´は点線2103で示した、実際のコンテンツサイズより縮小されている。この例では、コンテナBは、優先順位の高いコンテナA'により制限されるだけでなく、コンテナCによっても制限されている。これは、たとえばコンテナCの上辺が固定辺であるなど、優先順位以外の理由で制限を受けることがあるためである。
最後に、コンテナBについて計算が終了した後、次に優先度が高いコンテナCについてレイアウト計算を行う。図21の例では、コンテナCはコンテナ集合内で一番優先順位が低い。集合内で一番優先順位が低いコンテナについては、そのコンテナが計算されるときには、その他全てのコンテナについてコンテナサイズと位置が確定されているため、どのコンテナにも影響を与えることができない。したがって、一番優先順位が低いコンテナにステップ1910で着目したときには、すでにそのコンテナのサイズ・位置も確定されていることが多い。一番優先順位が低いコンテナについてもステップ1906〜1908でサイズや位置の計算を行う。
集合内全てのコンテナについて、レイアウト計算が終了したら、ページ内にまだ計算していない集合があるかを確認する(1911)。まだ、計算していない集合がある場合はステップ1902へ遷移し前述した方法でレイアウト計算を行う。全ての集合について計算が終了しているのであれば、計算されたコンテナにコンテンツを流し込む(1912)。
コンテナサイズおよび位置を計算する場合には、着目コンテナについて移動できない辺がどの辺であるかを決定し、次に残りの辺、すなわち移動可能な辺を、コンテナサイズとコンテンツサイズとが一致するように移動させ、辺の位置を決定する。もちろん、移動量に制限がある場合には、コンテナサイズがコンテンツサイズにもっとも近くなるように辺の位置を決定する。移動可能でない辺とは、アンカにより固定されている辺と、着目コンテナよりも優先順位が高いコンテナとの距離が一定に固定されているために(すなわちリンクにより関連づけられているために)移動できない辺である。アンカにより固定された辺の位置は、コンテナ情報として格納された辺の位置がその辺の位置となり、移動できない。アンカにより固定されているか否かは、辺の属性により反転できる。また、高優先順位のコンテナにより移動できない辺の位置は、既に決定されている高優先順位のコンテナの辺の位置に、リンク情報により定義されている距離を加えて求めることができる。
そして、可変の辺の位置を次に決定する。このためにはまず、移動できない辺を固定して、コンテナサイズをコンテンツサイズと同じくした場合の、コンテナサイズ(各辺の長さ)を計算する。可変の辺が複数ある場合には、各辺のテンプレートで定義された位置からの移動量が等しくなるように、辺の長さを計算する。この辺の長さを、移動できない辺の位置を基準として縦横それぞれの方向について加算することで、各辺の位置が決定できる。そして、この状態で、制限に反している辺があれば、その辺を制限にあうように移動させる。たとえば、ページの外枠からはみ出した辺があれば、その辺の位置はページの外枠の位置に変更される。このように、制限に合わせて移動された辺は、移動できない辺の一つとなる。そこで、その辺を移動できない辺に加えて、上記手順を再度繰返し、可変の辺の位置を決定する。
この手順により、全ての辺の位置について、制限に抵触することなく決定できた場合か、または、全ての辺が移動できない辺となった場合に、着目コンテナの位置とサイズとが決定される。
ここで、以下のようにすることで、優先順位が指定されたコンテナ集合と指定されていないコンテナ集合とが混在するテンプレートについても本発明を適用できる。すなわち、ページ内にまだ着目していないコンテナ集合がある場合には、そのコンテナ集合に優先順位が指定されたものすなわち優先順位情報に保存されたものがあるか判定し、優先順位が指定されたものがあれば、そのコンテナ集合に着目してステップ1903から繰返す。そして、図19のステップ1902から実行する。一方、残りのコンテナ集合に優先順位が指定されたものがないのであれば、図16のステップ1602に分岐する。こうして、混在している場合にも、優先順位に応じたレイアウトが可能となる。
このように、本実施形態に係る発明は、領域(コンテナ)毎に指定された優先順位情報を付したテンプレートを作成する作成手段と、作成されたテンプレートを、優先順位情報とともにプレビュー表示するプレビュー表示手段とを備えている。
また、プレビュー表示手段は、作成されたテンプレート含まれる各コンテナを識別子を付して表示し、また、優先順位にしたがってコンテナの識別子を配置したリストを表示することができる。
また、テンプレートには、コンテナを関連づけるリンク情報が含まれ、優先順位情報は、リンクにより関連づけられたコンテナにおける優先順位を示し、配置手段により、リンクによる関連づけを維持したまま、各コンテナにデータを配置することができる。
以上のようにして、テンプレートにおいてデータが配置される領域に優先順位を付与することで、データのレイアウトの自由度を高めることができる。また、優先順位を領域毎に表示することで、レイアウト結果の予測可能性を向上させることができる。
また、リンクにより関連づけたコンテナ相互間に優先順位を指定することができるので、テンプレートに設けた所望のコンテナ間に優先順位を付すことができ、よりレイアウトの自由度が向上する。
また、リンクにより関連づけがされていないコンテナ集合間では、互いに独立に優先順位を指定することができる。このため、よりレイアウトの自由度が向上する。
[第1実施形態の変形例]
図14は、図12および図13の表示方法とは別の優先順位の表示方法を示している。図14において、1401はページ領域を示しているページマージン、1402はマウスポインタ、1403はコンテナの優先順位を示している数字、1404は優先順位が設定してあるコンテナの集合である。図14で示している方法は、マウスポインタをコンテナ上に移動させると、そのコンテナと関連付けられている各コンテナに設定されている優先順位が数字で表示される。ここでは、マウスポインタをコンテナB上に位置させている。するとコンテナBと直接又は間接に関連付けられているコンテナA,C,D,Eに設定されている優先順位が各コンテナ上に表示される、数字が小さいほうが優先順位が高く、(1)が一番高い。しがたって、図14ではコンテナB,A,E,C,Dの順に優先順位が設定されていることがわかる。
このように表示することで、優先順位と対応するコンテナとの対応付けを直感的に把握しやすい方法で表示でき、操作性をより向上させることができる。
[第2実施形態]
本発明の第2実施形態は、前述した優先順位の設定方法および表示方法についてである。したがって、以下に説明する点以外は、第1実施形態と共通である。
<優先順位設定および表示方法>
図22の2201はアプリケーションウインドウ、2202はマウスポインタ、2203、2204はテンプレートに含まれるコンテナの集合、2205は作成されているコンテナの情報が表示されているオブジェクトパレット、2206はオブジェクトパレット内の作成されたコンテナ名を表示しているリストボックス、2207は作成されたコンテナ名、2208はマウスポインタによって選択状態になったコンテナ名、2209はマウスポインタによって選択されたコンテナ名に対応するコンテナUIが選択されたことを示すため表示状態を変更した例、2210は優先順位の設定をON/OFFすることができるラジオボタンを示している。
まず、ユーザがコンテナを作成して、コンテナ間にリンクを設定する。作成されたコンテナやリンクによって、オブジェクトパレット2205にコンテナ情報がリストアップされる。ここでは、コンテナA,B,C,D,E,F,G,Hが作成され、A,B,C,D,E間にリンクで関連付けが設定されているグループ(コンテナ集合)と、F,G,H間に関連付けが設定されているグループがある。したがって、オブジェクトパレット内のリストボックス2205には「ContainerGroup1」としてコンテナA,B,C,D,Eが、「ContainerGroup2」としてコンテナF,G,Hがリストアップされている。さらに、リストボックス内のコンテナや、コンテナグループをマウスポインタ2202で選択すると、表示が変化(図では反転表示2208)して選択されたことをアピールする。さらに、選択されたコンテナ名に対応するレイアウトエリア内のコンテナも、選択されたことをアピールするために、表示方法が変更される(2209)。ここでは、コンテナに斜め線を入れて選択されたことを示しているが、他の方法で示してもかまわない。
オブジェクトパレット2205において、ラジオボタン2210を用いて優先順位がONにされると、リストボックスに表示されているコンテナ名の上方から順に優先順位が高く設定される。コンテナグループ1を例にとると、コンテナA,B,C,D,Eの順番に優先順位が高く設定される。デフォルト状態では、コンテナが作成された順番に上からリストアップされる。優先順位の変更方法については、後述する。
また図23で示しているように、優先順位ONの状態(2306)で、マウスポインタ(2301)でリストボックスのコンテナ名を選択する。ここでは、コンテナBを選択する。前述したように選択されたコンテナは表示を変化(図では反転表示2302)させ選択されてことをアピールする。現在、優先順位がONであるため、リストボックスに表示されているコンテナの上から順に優先順位が設定されている。したがって、コンテナBの次に優先順位が高いコンテナはコンテナC,またコンテナBより一つ優先順位が高いコンテナはコンテナAとなる。ここで、選択されたコンテナと同時にそれらのコンテナもユーザに示すために、選択されたコンテナBがレイアウトエリア内で表示方法を領域2303のように変更したのと同様に、コンテナAとコンテナCについても表示方法を変更する。コンテナAは網掛け、コンテナCは水玉模様へと変更されたことにより、ユーザは、選択したコンテナBの前の優先順位と後の優先順位を、視覚的に確認することができる。コンテナの表示方法は、ここで説明した変更方法に限らず、選択されたことと、隣接する優先順位であることをアピールできるものであれば、どんなものでもかまわない。
以上は、ユーザインターフェース画面の説明であり、表示処理の手順すなわち、図7のステップ0704において、上述のような表示が行われる。テンプレートデータは、図26に示したとおりの構造で十分である。上記表示を実現するためには、優先順位情報2606に保存されている全てのコンテナ集合毎の優先順位情報に基づいて、各コンテナ集合に識別子(コンテナグループ番号)を付与し、各コンテナ集合について保存されている優先順位情報にしたがって、コンテナ識別子をリストボックスに順番にリスト表示する。そして、リスト上のコンテナ識別子が選択されたなら、その選択された識別子に対応する、テンプレート内のコンテナを、識別可能にたとえば斜線を付して表示する(図22)。
さらに、優先順位情報を参照して、選択された識別子のコンテナの前後の優先順位を有するコンテナ識別子を読み、その識別子に対応するテンプレート内のコンテナを、それぞれ識別可能に表示する(図23)。
<優先順位変更方法>
図22,図23で示したオブジェクトパレットを用いて優先順位の変更が可能である。図24は変更方法を示している。2401はオブジェクトパレット、2402はリストボックス、2403は優先順位設定ラジオボタン、2404はマウスポインタ、2405は選択され表示が変化したコンテナ名、2406、2407はマウスに選択されドラッグ操作実行中のコンテナ名、2408はコンテナ名を示している。
まず図24(A)で示されるように、ラジオボタンをONにして優先順位の設定を有効にする。そして、マウスポインタで優先順位を変更したいコンテナ名を選択する。すると、選択されたコンテナ名は、表示を変化させ選択されたことを示す。次に図24(B)で示されるように、マウスポインタによって選択されたコンテナ名をドラッグする(2406)。ドラッグされるコンテナ名は、ドラッグされていることを示すためにマウスポインタに引きずられて表示される。次に図24(C)で示されるように、ドラッグしたコンテナ名を優先順位を変更する位置へドロップする(2407)。この例では、コンテナBとコンテナCの間にコンテナAをドロップしているので、優先順位をコンテナB,A,Cの順に変更している。最後に図24(D)で示すように、変更された優先順位の順番にリストボックス内のコンテナ名を表示して終了。同時に、優先順位の設定も表示されている順番に変更される。以上のような操作に応じて、優先順位が入れ替えられた順序になるように優先順位情報2606も更新される。
このように、本実施形態によれば、テンプレートにおいてデータが配置される領域に優先順位を付与することで、データのレイアウトの自由度を高めることができる。さらに、優先順位のリストを操作して優先順位を変更することができるために、より操作性を向上させることができる。
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
実施形態のコンピュータシステム構成図を示している図である。 実施形態のコンピュータモジュールの概略図を示す図である。 実施形態の他のコンピュータシステム構成図を示す図である。 実施形態のメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウを示す図である。 実施形態のコンテナ間のリンク、アンカーやスライダーを持つ典型的なコンテナの一面をスクリーン、ツール、アイコンで示す図である。 実施形態の典型的なコンテナルールを示す図である。 リンク作成時のUI図例を示している図である。 本発明の実施例1における優先順位を設定するフローを示している図である。 本発明の優先順位設定時おけるコンテナの集合についての図である。 本発明の実施例1における優先順位を設定するダイアログの例を示している図である。 本発明の実施例1における優先順位を設定するダイアログでの操作例を示している図である。 本発明の実施例1における優先順位を設定するモードへ移行するためのポップアップメニューの例を示している図である。 本発明の実施例1における優先順位をユーザに示すUIの例を示している図である。 本発明の実施例1における優先順位をユーザに示すUIの例を示している図である。 本発明の実施例1における優先順位をユーザに示すUIの例を示している図である。 本発明におけるレイアウト計算の全体フローを示している図である。 本発明におけるレイアウト計算の、優先順位なしの場合のフローを示している図である。 本発明の図16のフローに対応したUI例を示している図である。 本発明のレイアウト計算時におけるコンテナの集合について説明した図である。 本発明におけるレイアウト計算の、優先順位ありの場合のフローを示している図である。 本発明の図19に対応するUI例を示している図である。 本発明の図19のフローに対応したUI例を示している図である。 本発明の実施例2における優先順位設定方法およびUIを示している図である。 本発明の実施例2における優先順位設定方法およびUIを示している図である。 本発明の実施例2における優先順位変更方法を示している図である。 本発明のリンクを作成するフローを示している図である。 テンプレートデータの構成例を示している図である。
符号の説明
101 汎用コンピュータモジュール
103 ユーザインターフェース
105 レイアウトエンジン
119 データベース
121 レイアウトアプリケーションプログラム
132 キーボード
133 マウス
143 I/Oインタフェース
144 ビデオディスプレイ
301 アプリケーションウインドウ
303 ツールバー
313 カーソル/ポインタデバイス
406 リンクツールボタン
407、408 コンテナ
409 アンカーアイコン
410 固定されていない辺
412 リンク

Claims (12)

  1. 文書にレイアウトすべきデータに応じて動的に文書のレイアウトを変更可能な文書処理装置であって、
    データを配置するための領域を示す複数の領域情報に対して、当該領域にデータを入れることで当該領域のサイズを決定する順序を示す優先順位を独立して設定する優先順位設定手段と、
    データを配置するための領域を示す領域情報と前記優先順位設定手段により該領域に関連づけられた優先順位を示す優先順位情報とを含むテンプレートを記憶する記憶手段と、
    前記テンプレートに従って前記優先順位により示される順序で前記領域に対応するデータを順次配置し、前記領域のサイズまたは位置が変更可能な場合には、当該領域のサイズまたは位置を、該領域よりも高い優先順位に関連づけられた領域を侵さないように前記データにあわせて変更する配置手段と
    を備えることを特徴とする文書処理装置。
  2. 前記領域毎に指定された優先順位情報を付した前記テンプレートを作成する作成手段と、作成されたテンプレートを、前記優先順位情報とともに表示する表示手段とをさらに備えることを特徴とする請求項1に記載の文書処理装置。
  3. 前記表示手段は、作成されたテンプレート含まれる各領域を識別子を付して表示し、また、前記優先順位にしたがって前記識別子を配置したリストを表示することを特徴とする請求項2に記載の文書処理装置。
  4. 前記テンプレートには、前記領域を関連づけるリンク情報が含まれ、前記優先順位情報は、前記リンク情報により関連づけられた領域における優先順位を示し、前記配置手段は、前記リンク情報による関連づけを維持したまま、前記領域にデータを配置することを特徴とする請求項1に記載の文書処理装置。
  5. コンピュータにより、文書にレイアウトすべきデータに応じて動的に文書のレイアウトを変更させるためのプログラムであって、
    データを配置するための領域を示す複数の領域情報に対して、当該領域にデータを入れることで当該領域のサイズを決定する順序を示す優先順位を独立して設定する優先順位設定手段と、
    データを配置するための領域を示す領域情報と前記優先順位設定手段により該領域に関連づけられた優先順位を示す優先順位情報とを含むテンプレートを記憶する記憶手段と、
    前記テンプレートに従って前記優先順位により示される順序で前記領域に対応するデータを順次配置し、前記領域のサイズまたは位置が変更可能な場合には、当該領域のサイズまたは位置を、該領域よりも高い優先順位に関連づけられた領域を侵さないように前記データにあわせて変更する配置手段と
    してコンピュータを機能させるためのプログラム。
  6. 前記領域毎に指定された優先順位情報を付した前記テンプレートを作成する作成手段と、作成されたテンプレートを、前記優先順位情報とともに表示する表示手段としてさらにコンピュータを機能させることを特徴とする請求項5に記載のプログラム。
  7. 前記表示手段は、作成されたテンプレート含まれる各領域を識別子を付して表示し、また、前記優先順位にしたがって前記識別子を配置したリストを表示することを特徴とする請求項6に記載のプログラム。
  8. 前記テンプレートには、前記領域を関連づけるリンク情報が含まれ、前記優先順位情報は、前記リンク情報により関連づけられた領域における優先順位を示し、前記配置手段は、前記リンク情報による関連づけを維持したまま、前記領域にデータを配置することを特徴とする請求項5に記載のプログラム。
  9. データを配置するための領域を示す領域情報と領域に関連づけられた優先順位を示す優先順位情報とを含むテンプレートを用いて文書にレイアウトすべきデータに応じて動的に文書のレイアウトを変更可能な文書処理方法であって、
    データを配置するための領域を示す複数の領域情報に対して、当該領域にデータを入れることで当該領域のサイズを決定する順序を示す優先順位を独立して設定する優先順位設定工程と、
    前記テンプレートに従って前記優先順位により示される順序で前記領域に対応するデータを順次配置し、前記領域のサイズまたは位置が変更可能な場合には、当該領域のサイズまたは位置を、該領域よりも高い優先順位に関連づけられた領域を侵さないように前記データにあわせて変更する配置工程と
    を備えることを特徴とする文書処理方法。
  10. 前記領域毎に指定された優先順位情報を付した前記テンプレートを作成する作成手段と、作成されたテンプレートを、前記優先順位情報とともに表示手段により表示させる表示工程とをさらに備えることを特徴とする請求項9に記載の文書処理方法。
  11. 前記表示工程は、作成されたテンプレート含まれる各領域を識別子を付して表示させ、また、前記優先順位にしたがって前記識別子を配置したリストを表示させることを特徴とする請求項9に記載の文書処理方法。
  12. 前記テンプレートには、前記領域を関連づけるリンク情報が含まれ、前記優先順位情報は、前記リンク情報により関連づけられた領域における優先順位を示し、前記配置工程は、前記リンク情報による関連づけを維持したまま、前記領域にデータを配置することを特徴とする請求項9に記載の文書処理方法。
JP2004024585A 2004-01-30 2004-01-30 文書処理装置及び文書処理方法及び文書処理プログラム Expired - Fee Related JP4059504B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004024585A JP4059504B2 (ja) 2004-01-30 2004-01-30 文書処理装置及び文書処理方法及び文書処理プログラム
US11/045,946 US7712026B2 (en) 2004-01-30 2005-01-28 Document processing apparatus, method and program for layout of data contents assigned to regions on a template

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2005216180A true JP2005216180A (ja) 2005-08-11
JP2005216180A5 JP2005216180A5 (ja) 2006-08-03
JP4059504B2 JP4059504B2 (ja) 2008-03-12

Family

ID=34805764

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US7712026B2 (ja)
JP (1) JP4059504B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007108994A (ja) * 2005-10-13 2007-04-26 Nippon Digital Kenkyusho:Kk レイアウト編集装置およびレイアウト編集プログラム
KR100756803B1 (ko) * 2004-08-06 2007-09-07 캐논 가부시끼가이샤 정보 처리 장치 및 정보 처리 방법
JP2007264965A (ja) * 2006-03-28 2007-10-11 Seiko Epson Corp ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法
JP2008123240A (ja) * 2006-11-13 2008-05-29 Sumitomo Forestry Co Ltd 建物情報検索システム
JP2009134762A (ja) * 2009-03-16 2009-06-18 Seiko Epson Corp ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法
JP2010039943A (ja) * 2008-08-07 2010-02-18 Ricoh Co Ltd レイアウト印刷システム、レイアウト文書閲覧方法、及びプログラム
US7703011B2 (en) 2005-11-14 2010-04-20 Seiko Epson Corporation Digital content creation system, digital content creation method, and program product
US7761791B2 (en) * 2004-08-06 2010-07-20 Canon Kabushiki Kaisha Layout processing using a template having data areas and contents data to be inserted into each data area
KR101279805B1 (ko) * 2012-12-20 2013-06-28 주식회사 한글과컴퓨터 자동 개체 배치 기반의 전자 문서 편집 장치 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569087A3 (en) * 2004-02-17 2007-04-25 Canon Kabushiki Kaisha Data processing apparatus, data processing method, program for implementing the method, and storage medium storing the program
JP4244027B2 (ja) * 2004-09-14 2009-03-25 株式会社リコー 画像処理装置および画像形成装置およびデジタルスチルカメラ印刷システム
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
DE102005009105A1 (de) * 2005-02-28 2006-09-07 Siemens Ag Verfahren und Verwalten einer Anzeigeeinrichtung
JP2006293763A (ja) * 2005-04-12 2006-10-26 Pioneer Electronic Corp 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記録した記録媒体
US20060236230A1 (en) * 2005-04-15 2006-10-19 Xiaofan Lin Automatic layout adjustment for documents containing text
US20060248071A1 (en) * 2005-04-28 2006-11-02 Xerox Corporation Automated document localization and layout method
JP4732029B2 (ja) * 2005-06-29 2011-07-27 キヤノン株式会社 レイアウト決定方法および情報処理装置およびレイアウト決定プログラム
JP4321549B2 (ja) * 2005-09-28 2009-08-26 セイコーエプソン株式会社 文書作成システム、文書作成方法、プログラムおよび記憶媒体
JP4817821B2 (ja) * 2005-12-01 2011-11-16 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7627600B2 (en) * 2006-06-20 2009-12-01 Microsoft Corporation Automatic layout of unpredictable content from multiple sources
JP4956202B2 (ja) * 2007-01-16 2012-06-20 キヤノン株式会社 情報処理装置及び情報処理方法及びプログラム
JP2008194880A (ja) * 2007-02-09 2008-08-28 Canon Finetech Inc 記録方法および記録装置
JP5032419B2 (ja) * 2008-08-27 2012-09-26 株式会社東芝 サーバ、画面送信方法およびコンピュータプログラム
US8479092B1 (en) * 2009-04-30 2013-07-02 Adobe Systems Incorporated Content layout for an electronic document
PL390446A1 (pl) * 2010-02-15 2011-08-16 Paweł Maliszewski Sposób, urządzenie i układ urządzeń do porównywania, porządkowania i prezentowania ofert handlowych produktów lub usług
JP2012138895A (ja) * 2010-12-08 2012-07-19 Canon Inc データ作成装置、データ作成方法、およびプログラム
US8743386B2 (en) 2011-04-05 2014-06-03 Canon Kabushiki Kaisha Executing a print job in accordance with input image data
US8676864B2 (en) * 2011-08-19 2014-03-18 Salesforce.Com, Inc. Methods and systems for providing schema layout in an on-demand services environment
US9411786B2 (en) * 2013-07-08 2016-08-09 Adobe Systems Incorporated Method and apparatus for determining the relevancy of hyperlinks
JP6733440B2 (ja) * 2016-09-07 2020-07-29 富士通株式会社 スケジュール管理プログラム、スケジュール管理方法およびスケジュール管理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2755622B2 (ja) * 1988-10-24 1998-05-20 株式会社東芝 画像形成装置
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
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
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
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
JPH0969096A (ja) * 1995-08-31 1997-03-11 Nec Corp 記事配置装置
US5895476A (en) * 1996-09-09 1999-04-20 Design Intelligence, Inc. Design engine for automatic reformatting for design and media
JP3509060B2 (ja) * 1998-05-28 2004-03-22 松下電器産業株式会社 表示制御装置および方法
US7051276B1 (en) * 2000-09-27 2006-05-23 Microsoft Corporation View templates for HTML source documents
US7082576B2 (en) * 2001-01-04 2006-07-25 Microsoft Corporation System and process for dynamically displaying prioritized data objects
JP4146620B2 (ja) 2001-03-30 2008-09-10 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
US7346668B2 (en) * 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
KR100464421B1 (ko) * 2002-06-28 2005-01-03 삼성전자주식회사 Osd프로세서 및 osd 데이터 프로세싱 방법
JP4063032B2 (ja) 2002-09-30 2008-03-19 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
JP2004129067A (ja) 2002-10-04 2004-04-22 Canon Inc 画像形成方法
JP4145805B2 (ja) * 2003-03-17 2008-09-03 セイコーエプソン株式会社 テンプレート生成システム、レイアウトシステム、テンプレート生成プログラム、レイアウトプログラムおよびテンプレート生成方法並びにレイアウト方法
US7165215B2 (en) * 2003-06-24 2007-01-16 Microsoft Corporation Pane element
JP2005301908A (ja) * 2004-04-15 2005-10-27 Toshiba Corp 情報機器遠隔操作システム
US7383499B2 (en) * 2004-12-30 2008-06-03 Microsoft Corporation System and method for dynamically creating a destination template

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100756803B1 (ko) * 2004-08-06 2007-09-07 캐논 가부시끼가이샤 정보 처리 장치 및 정보 처리 방법
US7373593B2 (en) 2004-08-06 2008-05-13 Canon Kabushiki Kaisha Apparatus and method for automatically setting constraints within a document layout
US7761791B2 (en) * 2004-08-06 2010-07-20 Canon Kabushiki Kaisha Layout processing using a template having data areas and contents data to be inserted into each data area
JP2007108994A (ja) * 2005-10-13 2007-04-26 Nippon Digital Kenkyusho:Kk レイアウト編集装置およびレイアウト編集プログラム
US7703011B2 (en) 2005-11-14 2010-04-20 Seiko Epson Corporation Digital content creation system, digital content creation method, and program product
JP2007264965A (ja) * 2006-03-28 2007-10-11 Seiko Epson Corp ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法
JP2008123240A (ja) * 2006-11-13 2008-05-29 Sumitomo Forestry Co Ltd 建物情報検索システム
JP2010039943A (ja) * 2008-08-07 2010-02-18 Ricoh Co Ltd レイアウト印刷システム、レイアウト文書閲覧方法、及びプログラム
US8736869B2 (en) 2008-08-07 2014-05-27 Ricoh Company, Ltd. Layout print system, method for viewing layout document, and program product
JP2009134762A (ja) * 2009-03-16 2009-06-18 Seiko Epson Corp ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法
KR101279805B1 (ko) * 2012-12-20 2013-06-28 주식회사 한글과컴퓨터 자동 개체 배치 기반의 전자 문서 편집 장치 및 방법

Also Published As

Publication number Publication date
US7712026B2 (en) 2010-05-04
US20050172225A1 (en) 2005-08-04
JP4059504B2 (ja) 2008-03-12

Similar Documents

Publication Publication Date Title
JP4059504B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4095558B2 (ja) 文書処理装置及び文書処理方法及びコンピュータプログラム
US7555710B2 (en) Method, apparatus and program for determining layout of a page using links between partial areas in the page
US7596746B2 (en) Information processing method and apparatus, and computer-readable program
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4250540B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4241410B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7707495B2 (en) 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
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
US7707494B2 (en) Information processing apparatus, control method therefor, and program
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4111519B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP2007122486A (ja) Web文書処理方法、プログラム、記憶媒体
JP2007122487A (ja) 自動レイアウトシステム
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2007094756A (ja) 情報処理装置、レイアウト処理方法、記憶媒体およびプログラム
JP2007048198A (ja) 自動レイアウトシステム
JP2007011574A (ja) テンプレート作成方法、テンプレート作成装置、及びプログラム
JP2008287504A (ja) 文書処理装置および方法
JP2010176366A (ja) バリアブルプリントシステム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071120

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071217

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4059504

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees