JP4262164B2 - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP4262164B2
JP4262164B2 JP2004231440A JP2004231440A JP4262164B2 JP 4262164 B2 JP4262164 B2 JP 4262164B2 JP 2004231440 A JP2004231440 A JP 2004231440A JP 2004231440 A JP2004231440 A JP 2004231440A JP 4262164 B2 JP4262164 B2 JP 4262164B2
Authority
JP
Japan
Prior art keywords
data
field
size
template
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004231440A
Other languages
English (en)
Other versions
JP2006048539A5 (ja
JP2006048539A (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 JP2004231440A priority Critical patent/JP4262164B2/ja
Priority to US11/193,385 priority patent/US7707494B2/en
Priority to EP05254876A priority patent/EP1624384A3/en
Priority to KR1020050071788A priority patent/KR100818860B1/ko
Priority to CNB2005100894202A priority patent/CN100399332C/zh
Publication of JP2006048539A publication Critical patent/JP2006048539A/ja
Publication of JP2006048539A5 publication Critical patent/JP2006048539A5/ja
Application granted granted Critical
Publication of JP4262164B2 publication Critical patent/JP4262164B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Description

本発明は、レコードに含まれる複数種類のデータフィールドのデータを差し込むためのそれぞれのフィールド領域をページ内にレイアウト制御する情報処理装置及びその制御方法、プログラムに関するものである。
近年、商品の多品種化で商品ライフが短くなっていること、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法により、顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
One−to−Oneマーケティングは、データベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近では、DTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。このようなバリアブルプリントシステムでは、顧客毎に異なる量のコンテンツが最適にレイアウトされたカスタマイズ文書を作成することが求められる。
一般にバリアブルプリントシステムにおいて、そのようなカスタマイズ文書を作成する際には、文書上にコンテナをレイアウトする。ここで、コンテナとは、コンテンツ(描画内容(例えば、イメージ、テキスト等))を描画するための描画領域であり、フィールド領域と呼ばれることもある。
そして、文書上にこのようなコンテナをレイアウトし、データベースとレイアウトを関連付ける(データベース内の各種コンテンツとコンテナとを関連付ける)作業を行うことにより、所望のカスタマイズ文書(テンプレートと呼ばれる)を作成することができる。そして、このカスタマイズ文書上のコンテナ内のコンテンツを適宜切り換える(関連付けを変更する)ことで、その内容を可変(バリアブル)にすることができる。そのため、このような文書を、バリアブルデータ文書(ドキュメント)と呼んでおり、このバリアブルデータドキュメントを用いるプリントシステムが、バリアルプリントシステムである。
ここで、従来のバリアブルプリントシステムでは、コンテンツであるテキストやイメージに関連付けられるコンテナのサイズが固定であるため、データベース内のコンテンツがコンテナに挿入された(流し込まれた)ときに、そのデータ量がコンテナサイズより多いと、そのデータがテキストであれば、テキストのオーバーラップが発生し、また、そのデータイメージであればイメージのクリッピングが発生する。また、データ量がコンテナサイズより小さいと、コンテナとその内部のコンテンツとの間に隙間が空いてしまう等の適切な表示がなされない可能性がある。
そこで、このような課題を解決するために、情報量に応じてコンテナサイズを可変にする自動レイアウトシステムが提案されている。この自動レイアウトシステムは、テキストおよびイメージのコンテナサイズを可変に設定することが可能である。この自動レイアウトシステムにおいて、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できるものがある。また、テキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを調節(縮小)し、コンテナ内に全てのテキストを表示する技術も存在する。
しかし、コンテナのサイズを大きくした場合、ドキュメント上の他のコンテナに重なってしまうという問題が生じる。また、テキストのフォントサイズを調節する場合においては、処理対象のテキストの量が大きい場合、フォントサイズが小さくなりすぎるという問題も生じる。これらの問題を解決するために、さらなるレイアウトを変更する技術として、あるコンテナのサイズが大きくなった場合、このコンテナに隣接する他のコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
また、特許文献2では、原文に基づく自動レイアウトの結果、そのレイアウト結果と原文との間で様式やサイズとの格差が大きいもの文字を手動で調整し、挿入される文字列を徐々に編集し、編集結果と原文との差を比較し、その格差がなくなった時点で、編集が完了する技術が提案されている。
特開平7−129658号公報(段落0049、図8) 特開2001−092820号公報
しかしながら、特許文献1に記載されているレイアウトデザイン装置は、配置素材の優先順位を管理しており、この優先順位の順序で各素材が配置され、レイアウトが決定されている。つまり、配置単位となる各配置素材を配置する順序を決定しているだけである。この場合、必ず一番優先度の低い配置素材の領域が狭くなってしまい、ユーザが所望とするレイアウトを得ることができなかった。
また、特許文献2では、挿入されるコンテンツデータ自体を編集することで全体のレイアウトを調整することになり、固定のコンテンツデータをレイアウトする、所謂、DTP技術に限定される。
これに対し、本発明が対象とするバリアブルプリントシステムにおいては、コンテナに挿入されるコンテンツデータを編集することは、データベースに格納されているコンテンツデータ自体を編集することになるので、バリアブルプリントとして意味をなさなくなってしまう。
従って、レイアウト調整を、コンテンツデータそのものを調整して実現するのではなく、コンテンツデータを挿入するコンテナのサイズを、挿入されるコンテンツデータに基づいて最適に調整することが要求されている。また、この調整を行うための操作をより効率的に実現することが要求されている。
そこで、この技術分野では、ページにレイアウトされる各コンテナに差し込まれる(流し込まれる)データのサイズに基づいて、各コンテナが互いに押し合うことにより、レコード毎に動的なレイアウトを行う仕組みが考えられている。このような仕組みを採用することで、レコード毎にレイアウトを変更できるため、隙間やオーバーフローを極力抑えた印刷物を得ることが可能となる。
しかしながら、レコード毎に動的なレイアウトを行う仕組みの場合、操作者は印刷物を得るまでどのようにレイアウトされるのか認識できないという問題がある。印刷前に印刷プレビューを行うことも可能であるが、バリアブルプリントの場合、データベース中の各レコード数は数千乃至数万の場合もあり、全ページについて印刷プレビューを行うことは現実的ではない。
そのため、操作者にある程度、動的レイアウトを適用した場合のレイアウトを操作者に意識させながら、テンプレートのデザインを作成させることが望まれる。
よって、本発明は上記の課題を解決するためになされたものであり、複数のレコードに含まれる複数種類のデータフィールドの各データ表示サイズに基づいて、当該データフィールドのデータを差し込むためのそれぞれのフィールド領域をページ内にレイアウトする情報処理装置及びその制御方法、プログラムを提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置であって、
複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定手段と、
前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定手段で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定手段と、
前記選定手段で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト手段と
を備える。
また、好ましくは、前記決定手段は、前記レコード中の前記複数種類のデータフィールド毎に、前記基準サイズを決定し、
前記選定手段は、前記複数種類のデータフィールド毎に、前記決定手段で決定した前記基準サイズに対応するデータ表示サイズを有するデータを選定し、選定したデータからなる基準データフィールドセットを作成する。
また、好ましくは、前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示手段と、
前記操作画面上の前記基準データフィールドセットから所望のデータフィールドのデータを選択する選択手段とを更に備え、
前記レイアウト手段は、前記選択手段で選択されたデータフィールドのデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする。
また、好ましくは、前記決定手段は、処理対象のデータフィールドのデータが、イメージデータである場合は、その縦横サイズから前記イメージデータのデータ表示サイズを算出し、テキストデータである場合には、指定されたフォント情報に基づいて、前記テキストデータのデータ表示サイズを算出する算出手段を備える。
また、好ましくは、前記選定手段は、前記平均データ表示サイズに最も近いデータ表示サイズを有するデータを、該複数のレコード中の該同一データフィールド名のデータ群から選定する。
また、好ましくは、前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示手段と、
前記操作画面上に表示するデータフィールドのフィールド情報として、データタイプ、データフィールド名、及びデータあるいはデータファイル名を表示する表示制御手段と
を更に備える。
また、好ましくは、前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面と、前記フィールド領域をレイアウトするテンプレートテンプレート画面とを表示する表示手段と、
前記操作画面上のデータフィールドセットから所望のデータフィールドのデータを選択して、前記テンプレート画面上にドラッグ&ドロップすることで、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする操作手段と
を更に備える。
また、好ましくは、前記レイアウト手段により各フィールド領域がレイアウトされたテンプレートに対して、前記レコードに含まれる複数種類のデータフィールドのデータをそれぞれ対応するフィールド領域に差し込む差込手段と、
前記差込手段によりデータフィールドのデータが差し込まれたテンプレートに基づいて、印刷装置で印刷処理するための印刷データを生成する印刷データ生成手段と
を更に備える。
また、好ましくは、前記テンプレート内にレイアウトされた第1フィールド領域と第2フィールド領域とを関連付ける関連付け手段と、
前記関連付け手段によって関連付けられた前記第1フィールド領域と前記第2フィールド領域とにデータを差し込む差込手段と、
前記差込手段によって前記第1フィールド領域に差し込まれるデータのサイズと前記第1フィールド領域のサイズとの差と、前記第2フィールド領域に差し込まれるデータのサイズと前記第2フィールド領域のサイズとの差とが等しくなるように、前記第1フィールド領域と第2フィールド領域のサイズを導出する導出手段と
を更に備える。
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置の制御方法であって、
前記情報処理装置の決定手段が、複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定工程と、
前記情報処理装置の選定手段が、前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定工程で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定工程と、
前記情報処理装置のレイアウト手段が、前記選定工程で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト工程と
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
前記コンピュータを、
複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定手段、
前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定手段で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定手段、
前記選定手段で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト手段
として機能させるためのプログラム。
本発明によれば、複数のレコードに含まれる複数種類のデータフィールドの各データを差し込むためのフィールド領域をページ内にレイアウトする際に、出力時のレイアウト結果を操作者が認識しやすくなり、テンプレートのレイアウト調整を容易に、かつ効率的に実行することができる情報処理装置及びその制御方法、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<システム構成>
まず、実施形態の情報処理システム及び、その構成要素であるホストコンピュータのハードウェア構成について、図1A及び図1Bを用いて説明する。
図1Aは本発明の実施形態の情報処理システムの構成例を示す図である。また、図1Bは本発明の実施形態の情報処理システムの一構成要素であるホストコンピュータ(本発明の情報処理装置に相当する)のハードウェア構成を示す図である。
尚、図1A中のホストコンピュータ以外の各種コンピュータ(例えば、データベースサーバ117、ファイルサーバ115及びプリントサーバ109)も、例えば、図1Bのハードウェア構成と同等のハードウェア構成を有している。
図1Aにおいて、情報処理システム100は、ネットワーク107を介して、ホストコンピュータ101、データベースサーバ117、ファイルサーバ115及びプリントサーバ109が相互に接続されている。
データベースサーバ117は、データベース119を備えている。また、プリントサーバ109は、プリンタ113を接続しており、ネットワーク107を介して受信する印刷データを適宜プリンタ113に出力して、その印刷データを印刷させることが可能である。
図1Aの情報処理システム100は、特に、バリアブルデータドキュメントを印刷するバリアブルプリントシステムの構成例を示している。実施形態で説明されるバリアブルプリント処理は、レイアウト編集装置として機能するホストコンピュータ101(汎用コンピュータモジュールによって構成される)で実現される。
バリアブルプリントシステム100上で実施可能となるレイアウト編集アプリケーション121は、ホストコンピュータ101において、その全体あるいは一部分が実行される。特に、レイアウト編集に関する処理や、バリアブルデータドキュメントの印刷に関する処理は、ホストコンピュータ101によって実行されるソフトウェアにより実現される。
レイアウト編集アプリケーション121等のソフトウェアやコンピュータプログラムはコンピュータ可読媒体に格納され、そのコンピュータ可読媒体からホストコンピュータ101のメモリ136にロードされ、実行される。そのようなソフトウェアやコンピュータプログラムを格納したコンピュータ可読媒体は、コンピュータプログラム製品である。そして、例えば、ホストコンピュータ101において、そのコンピュータプログラム製品を使用することにより、バリアブルデータドキュメントのレイアウト編集やバリアブルプリントに好適な装置が提供されることになる。
図1Bに示されるように、ホストコンピュータ101には、I/O(入出力)インターフェース143を介してキーボード132や、ポインティングデバイスであるマウス133が入力装置として接続される。また、出力装置としてのディスプレイ装置144がビデオインターフェース137を介して接続される。更に、プリンタ145をI/Oインターフェース138を介して接続することも可能である。
また、I/Oインタフェース138は、ホストコンピュータコンピュータ101を、ネットワーク107へ接続する機能も有する。これにより、ネットワーク107を介して、バリアブルプリントシステム100内の他のコンピュータ装置(外部機器)にホストコンピュータ101を接続することができる。ネットワーク107の典型的な例としては、ローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)が挙げられる。
また、図1Bに示すように、ホストコンピュータ101は、少なくとも1つのプロセッサ135、例えば、半導体メモリである、ランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリ136を含んでいる。記憶装置139は、プログラム等の各種データを格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ(HDD)140やフロッピー(登録商標)ディスクドライブ(FDD)141を含む。
尚、図1Bには示されていないが、磁気テープドライブやメモリカード等の各種記憶装置も記憶装置139として使用することが可能である。CD−ROMドライブ142は、不揮発性のデータソースとして提供される(もちろん、CD−ROMによってコンピュータプログラムを提供してもよい)。
ホストコンピュータ101は、GNU/LINUXやマイクロソフトウインドウズ(登録商標)のようなオペレーティングシステムや、典型的にはオペレーティングシステムに従う形で、あるいは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス134を介して、ホストコンピュータ101の各種構成要素135〜143と通信する。即ち、上述の各種構成要素135〜143は、相互接続バス134を介して通信可能に接続されており、ホストコンピュータ101にインストールされたオペレーティングシステムにより利用される。
尚、図1Bに示すホストコンピュータ101の例としては、IBM互換PC(パーソナルコンピュータ)やSUNのSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。
<レイアウト編集アプリケーションの概要>
実施形態では、レイアウト編集アプリケーション121は、ハードディスクドライブ140に常駐し、プロセッサ135による実行や読込が制御される。レイアウト編集アプリケーション121の媒介記憶装置とネットワーク107からフェッチされるデータは、ハードディスクドライブ140に呼応してメモリ136を使用する。
一つの例では、レイアウト編集アプリケーション121のエンコードされたプログラムが、CD−ROMやフロッピー(登録商標)ディスク上に格納され、対応するCD−ROMドライブ142やフロッピー(登録商標)ディスクドライブ141を通じて読み込まれ、ハードディスクドライブ140にインストールされる。
あるいは、別の例として、レイアウト編集アプリケーション121は、ネットワーク107からホストコンピュータ101内に読み込まれて、ハードディスクドライブ140にインストールされてもよい。
更に、レイアウト編集アプリケーション121を含む各種ソフトウェアは、磁気テープまたはROMまたは集積回路、光磁気ディスク、または、ホストコンピュータ101とその他のデバイス間における赤外線等の無線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む他の適当なコンピュータからホストコンピュータ101内にロードされてもよい。これらは、コンピュータ可読媒体の例であり、他のコンピュータ可読媒体が使用されてもよいことは明らかである。
図1Aにおいて、レイアウト編集アプリケーション121は、ホストコンピュータ101にバリアブルプリント(バリアブルデータプリント(VDP)ともいう)を実現させるものであり、2つのソフトウェアコンポーネント、即ち、レイアウトエンジン105とユーザインターフェース103を含んでいる。
レイアウトエンジン105は、フィールド領域(部分領域)であるコンテナ(矩形の範囲)に与えられたサイズや位置の制限にしたがって、データベース119にレコード単位で格納されているバリアブルデータから1レコードずつ読み込み、読み込んだバリアブルデータとコンテナの制限とから、読み込んだバリアブルデータが流し込まれるコンテナのサイズや位置等のレイアウトを計算するソフトウェアコンポーネントである。
また、実施形態では、レイアウトエンジン105は、更に、コンテナに割り当てられたバリアブルデータを描画し、バリアブルデータドキュメントのイメージを生成する処理も行う。但し、本発明は、これに限るものではなく、レイアウトエンジン105は、各部分領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、プリンタドライバ(不図示)に描画情報を出力することで、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成してもよい。
ユーザインタフェース103は、ユーザによるコンテナのレイアウトや属性設定を可能とし、ユーザにドキュメントテンプレートを作成させる。また、ユーザインターフェース103は、ドキュメントテンプレート内の各コンテナとデータソース(データベース119上のバリアブルデータ(コンテンツ))とを関連付けるメカニズムを提供する。ユーザインタフェース103とレイアウトエンジン105は、通信チャネル123を介して通信する。
バリアブルデータドキュメント生成のためのデータソースは、一般的には、データベースアプリケーションを実行している、他のコンピュータで構成されるデータベースサーバ117上にある典型的なデータベース119が挙げられる。
ホストコンピュータ101は、ネットワーク107を介して、データベースサーバ117と通信する。レイアウト編集アプリケーション121は、ホストコンピュータ101、あるいは、一般的には、他のコンピュータで構成されるファイルサーバ115に保存されるドキュメントテンプレートを生成する。
また、レイアウト編集アプリケーション121は、バリアブルデータとマージされたドキュメントテンプレートによって構成されたバリアブルデータドキュメントを生成する。これらのバリアブルデータドキュメントは、ホストコンピュータ101のローカルファイルシステム、ファイルサーバ115、あるいはプリンタサーバ109を介してプリンタ113に直接印刷される。
ここで、プリントサーバ109は、直接ネットワーク107に接続されていないプリンタ113に、ネットワーク機能を提供するコンピュータである。プリントサーバ109とプリンタ113は、典型的な通信チャネル111(例えば、USB、IEEE1394、無線LAN等)を介して接続される。
次に、バリアブルプリントシステム100の別構成例について、図1Cを用いて説明する。
図1Cは本発明の実施形態の情報処理システムの別構成を示す図である。
図1Cは、ネットワーク107上にエンジンサーバ227を追加して、このエンジンサーバ227にレイアウトエンジン225を構成した例を示している。つまり、ホストコンピュータ101内のレイアウトエンジン105を、エンジンサーバ227内で実現した構成である。この構成の場合、ホストコンピュータ101の処理負荷を軽減することができる。
尚、このエンジンサーバ227は、他のサーバと同様、典型的なコンピュータである。また、ファイルサーバ115に保存されたドキュメントテンプレートは、印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションは、ユーザインターフェース103を介して要求されるか、特定のレコードのみ印刷するように要求される。
次に、バリアブルデータプリントの概略について、図2を用いて説明する。
図2は本発明の実施形態のバリアブルデータプリントの概略を説明するための図である。
レイアウト編集アプリケーション121のユーザインターフェース103により、ユーザからの操作指示に従いページ上に複数のコンテナ181〜183を配置し、各コンテナに位置やサイズに関する制約条件を付与することによりドキュメントテンプレート180が生成される。
また、ユーザインターフェース103は、ドキュメントテンプレート180とデータソース190(例えば、データベース119)との関連付け、更に各コンテナとデータソース190内の各データフィールドとの関連付けを行う。各コンテナとデータソース190内の各データフィールドとの関連付けを示す関連付け情報は、ドキュメントテンプレート180内に記述され、該ドキュメントテンプレート180は、HDD140に格納される。また、データソース190は、レコード単位で項目データが記載されているファイルであり、HDD140に格納されている。
レイアウトエンジン105は、ユーザからの印刷指示もしくはプレビュー指示に応じて、ドキュメントテンプレート180の各コンテナ181〜182に、関連付け情報で関連付けられたデータをデータソース190から読み込み、レコード単位で流し込み(例えば、データレコード1のデータフィールドA〜Cをコンテナ181〜183へ流し込む)、流し込まれたデータに応じて各コンテナのサイズ等を調整(レイアウト調整)する。
プレビュー指示の場合は、レイアウト調整されたドキュメントイメージを生成し、ディスプレイ装置144の画面上にプレビューとして表示するべく出力される。また、印刷指示の場合は、レイアウトエンジン105もしくはプリンタドライバを用いて生成したドキュメントイメージを印刷データとしてプリントサーバ109へ出力する。データレコード1,2,3…を順次処理することにより、バリアブルデータプリントが実現されることになる。
<レイアウト編集アプリケーションの説明>
以下、レイアウト編集アプリケーション121について説明する。
まず、ユーザインタフェース103によって実現されるユーザインターフェースの一例について、図3を用いて説明する。
[メインウインドウ]
図3は本発明の実施形態のユーザインターフェースの一例を示す図である。
図3に示すように、ユーザインターフェース103は、操作時にアプリケーションウインドウ301によって形成されたユーザインターフェースをディスプレイ装置144に表示させる。このウインドウ301は、メニューバー302、ツールバー303、ワークエリア306とオプションのパレット311を有する。
メニューバー302とツールバー303は非表示にしたり、画面上の色々な場所に移動することが可能である。また、ワークエリア306は、マウス133の操作によってその場所を移動させることが可能である。また、パレット311はオプションであり、目的に応じて表示/非表示を制御することができる。更に、カーソル/ポインタ313は、マウス133の指示位置を表示する。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を有する。
ツールバー303は、アプリケーションの特別なモードによって非表示状態にする、または表示状態にすることが可能な多くのツールボタンとウィジット(部品)305を有する。
ルーラー308はオプションであり、ワークエリア306内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使用される。
パレット311は、バリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は、移動、リサイズ、クローズをするためのウインドウコントロール312を有する。また、パレット311は、ワークエリア306の前面に表示したり、あるいはオブジェクトの背面に隠すことができる。更に、パレット311は、アプリケーションウインドウ301の範囲内のみにその表示を制限したり、アプリケーションウインドウ301の外側にその一部或いは全体を表示することが可能である。
ツールバー303には、図4に示されるような、ユーザが選択可能な複数種類の『ボタン』403〜406が配置されている。
(1)選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック/ロック解除のために使われる。コンテナの選択は、コンテナの周囲に選択ボックスをドラッグすることによりなされる。また、キーボード132上のCTRLキーを押しながら、複数のコンテナについて選択操作をすることによって、複数のコンテナを選択可能である。
(2)テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを有するコンテナを作成するために使用される。
(3)イメージコンテナツールボタン404:スタティックあるいはバリアブルイメージを有するコンテナを作成するために使用される。
(4)リンクツールボタン406:コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使用される。
尚、これらのボタンは、周知の技術で知られているように、操作状況に合わせて変化するアイコンのツールチップとして実装される。
また、プリケーションウインドウ301は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の各コンテナが固定コンテナである場合は、すべてのレコードの印刷結果のレイアウトは同じになる。
また、基本レイアウト内の各コンテナが後述する可変コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。よって、レイアウト編集アプリケーション121で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものであり、可変コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウト調整されることになる。
[ドキュメントテンプレート]
図3において、ワークエリア306は、ドキュメントテンプレート(180:基本レイアウト)のデザインを表示・編集するために使われる。これは、ユーザがドキュメントテンプレートをデザインする過程において、印刷されるドキュメントの概観をユーザに提示することを可能とする。これにより、ユーザは、データソース(190)とマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを容易に理解することができる。
また、データソースがドキュメントテンプレートに関連付けられていた場合は、現在のドキュメントのプレビューができるように、対応するバリアブルテキストやイメージがレイアウトされた各コンテナに表示される。
ドキュメントテンプレートにおけるドキュメント構造とコンテナを描写する視覚的な手がかり(コンテナの枠線、アンカー、スライダー、リンク等)は、ドキュメントテンプレート作成時には常に表示される。また、バリアブルデータを流し込むプレビュー時には、視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときに表示される。
ワークエリア306は、スクロールバー307と、オプションのルーラー308と、ドキュメントテンプレート309を含む。ドキュメントテンプレート309は、ページが複数あることを示すことができる。また、ドキュメントテンプレート309は、図2のドキュメントテンプレート180に相当するものである
与えられたドキュメントテンプレートのページサイズは、周知の技術を用いて、ユーザによって指定される。例えば、メニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。
それぞれのドキュメントでの実際のページ数は、関連付けられたデータソース内のバリアブルデータによって変化する可能性がある。これは、ドキュメントテンプレート内に可変表のようにバリアブルデータの量により大きさが変更されるフィールドが設定されている場合、1ページ内にバリアブルデータをフィットできないバリアブルデータが読み込まれると、追加のページが自動的に作成されるからである。
それぞれのページ内に示される境界線310は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージンである。
また、図4では、1ページのドキュメントテンプレート309上に表示され得るオブジェクトの例を示している。
このようなオブジェクトとしては、コンテナ407、408と、任意に適用するアンカーアイコン409、固定されている辺411、414、固定されていない辺410、リンク412、そしてスライダー413がある。
アンカーアイコン409は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン409が設定されると、設定された個所の位置が固定となる。つまり、図4の例では、アンカーアイコン409は、コンテナ407の左上の角に設定されているため、コンテナ407はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合には、右方向及び下方向に拡大可能であることを示している。
一方、アンカーアイコン409が辺に設定されている場合は、その辺が固定となり、その他の3辺の各方向に拡大可能である。また、アンカーアイコン409がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、4方向に拡大可能である。リンク412についての詳細は後述するが、これは、コンテナ407とコンテナ408が関連付けられていることを示しており、このリンク412に設定されている長さ(範囲指定可能)を保ちつつ、コンテナ408が右方向に移動可能であることを示している。スライダー413は、設定されている辺と水平方向に移動可能であることを示している。
[コンテナ]
次に、データベース中の各レコードに含まれる複数種類のデータフィールドのデータを差し込むためのフィールド領域であるコンテナについて説明する。コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定あるいは可変のテキスト/イメージ(複数種類のデータフィールドのデータ)が流し込まれ、描画されるフィールド領域(これを部分領域と呼ぶ)であり、図4に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインターフェースを介して、ユーザからの操作指示により、コンテナは、マウス133の操作により移動、サイズ調整、再作成される。
より正確には、コンテナは、設定の集まり、視覚的表現、そしてインタラクションと編集動作をもっている。以下、実施形態におけるコンテナの定義を示す。
(1)コンテナは、固定あるいは可変のコンテンツを持つ。可変コンテンツ(バリアブルデータ)は、データソースから取得したデータがドキュメント毎、つまり、レコード毎に異なる可能性があるという意味でダイナミック(動的)であるということができる。但し、実施形態の可変コンテンツは、アニメーション化されたもの、あるいは他の方法で時間的に変化するコンテンツは印刷には適していないため、ここでは、意図していない。
同様に、固定コンテンツは、コンテナを使って生成される全てのドキュメントで、同じように表示される。しかしながら、可変コンテンツとリンクが設定されている場合、可変コンテンツの影響を受けて、固定コンテンツはそれぞれのドキュメントで位置が異なる可能性がある。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定と同様の装飾機能を持っている。このような設定を、コンテナ属性と呼ぶ。コンテナ属性は、各コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。
(3)コンテナは、ドキュメントを生成する際にデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、印刷された出力物において可視である。可変コンテンツは、データソースからの特定のデータの表示を提供する。コンテナのこの表現は、例えば、印刷されるか、ディスプレイ装置144のスクリーン上に表示されるか、その両方が可能である。
(4)コンテナは、図4に示されるように視覚的な手がかりとしてのユーザインターフェースを有している。例えば、コンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインターフェース(GUI)を有する。GUIコンポーネントは、ディスプレイ装置144のスクリーン上に表示されるが、ドキュメントとしては印刷されない。レイアウト編集アプリケーション121のユーザインターフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示し、さらにコンテナの設定の編集や表示を可能にするための機能を有している。
ユーザインターフェースの機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコン、あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。
[コンテナの制約]
コンテナはそれぞれのドキュメントで表示されるコンテンツをどのように結びつけるかの制御に関する制約がある。これらの制約(固定/可変コンテンツをコンテナと結びつけることを含む)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントの生成をコントロールする主要な方法である。
制約の一つの例には、『このコンテナのコンテンツの高さは最大4インチです』がある。また、別の制約の例には、『コンテナのコンテンツの左エッジは、それぞれのドキュメントにおいて同じ水平位置で表示しなければならない』がある。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。コンテナは、位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。よって、以下の説明では、バリアブルデータプリントに特化した方法における表示・編集に焦点を合わせる。
コンテナを用いることにより、ユーザは、ドキュメントにおけるコンテンツのサイズ(描画サイズ)や位置を指定することが可能となる。いく種類ものドキュメントが一つのドキュメントテンプレートから生成されるので、コンテナに多数の可能性と制約を設定することになるが、これらの設定(指定)や表示のために所定のユーザインターフェースが利用される。
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。従って、コンテナの左辺を論じることは、関連付けられたコンテンツが、各ドキュメントにおいて、表示可能であるエリア内の最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは、生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。本明細書では、ユーザインターフェース103を参照して、コンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)コンテナの幅が固定である場合、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
(2)コンテナの高さが固定である場合、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
(3)距離(リンクの長さ)が固定である場合、指定された距離は全てのドキュメントにおける制約となる。
(4)コンテナの左右辺が固定の場合、ページに関する辺の水平位置は全てのドキュメントで同じであることを意味している。但し、コンテナの高さあるいは垂直方向の位置は、変化する可能性がある。例えば、コンテナの左辺が固定である場合、関連付けられたコンテンツの表示位置は、全てのドキュメントでその左辺の位置は同じ水平位置となるが、あるドキュメントではページの上の方に表示され、他のドキュメントではページの下の方に表示される可能性がある。
(5)コンテナの上下辺が固定の場合、ページにおける辺の垂直位置は全てのドキュメントで同じとなることを意味している。但し、コンテナの幅あるいは水平位置はドキュメントによって変わる可能性がある。
(6)コンテナの垂直軸は、コンテナの右辺と左辺に平行で、それらの中間に位置される仮想の垂直線である。もしコンテナの垂直軸が固定なら、当該コンテナの左右辺の水平位置の平均(即ち、左右の中央位置)は、すべてのドキュメントで同じとなる。この制約において、コンテナの幅は変化する可能性がある。しかしながら、左右辺が垂直軸にもっとも遠いものからもっともものまで、垂直軸は全てのドキュメントで同じ水平位置となる。尚、コンテナの高さと垂直位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上辺と下辺の平均が同一の垂直方向位置に配置される。但し、コンテナの幅と水平位置はこの制約によって影響されることはない。
(8)水平軸と垂直軸の両方が固定である場合、コンテナの中心位置が固定されていることを意味する。但し、コンテナの幅・高さは、この制約によって影響されない。
(9)コンテナの角位置、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定である場合、それぞれの位置はすべてのドキュメントで同じ場所となる。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。
『固定』の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味する『可変』である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待するが、特定のコンテナについては、大きさや位置を固定にしたり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。
そのため、レイアウト編集アプリケーション121では、各コンテナ(部分領域)について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにしている。これにより、ユーザはドキュメントテンプレート180の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
[コンテナ表示・編集]
−−新規コンテナの作成方法−−
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキストおよび埋め込みのイメージを有する。イメージコンテナは、イメージだけを有する。
図4で示されるように、新規のテキストコンテナあるいはイメージコンテナは、テキストコンテナツール404あるいはイメージコンテナツール405をマウス133でクリックし、ドキュメントテンプレート309上に四角形をドラッグすることによって、当該ドキュメントテンプレート309上に作成される。
あるいは、コンテナは、所望のテキストコンテナツール404あるいはイメージコンテナツール405をアクティブにした後に、ドキュメントテンプレート309上で単にクリックすることによって作成されるようにしてもよい。この場合、マウス133のクリック操作に応じてデフォルトサイズのコンテナがテンプレート上に挿入されるとともに、当該新規コンテナの寸法等を設定するためのダイアログボックスあるいは他のプロンプトが提供される。
尚、コンテナサイズは、自動的に前もって定義されるようにしてもよいし、あるいは、計算されたスキーマによって作成・配置される等、種々の方法が考えられる。ここで、生成されたコンテナをマウス等の入力装置により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。
[コンテナの表示方法]
図5の(A)から(D)は、コンテナの辺に関する表示ルールを例示している。
レイアウト編集アプリケーション121は、コンテナの辺の状態を表現するために、実線503(アイテム)あるいは点線504を用いて辺を表すとともに、アンカー506、507、509(コンテナの辺の近くに描画される線、形状、アイコン)、ハンドル502(移動、修正するために領域の辺上あるいは近傍に描画されるコントロール点)、スライダー413(辺の両側に描画される短い並行線、図4参照)、拡縮アイコン505、色を用いる。
図5の(A)〜(D)に示されるコンテナ表示方法のルールは、以下の通りである。
(1)それぞれの辺を固定するために、実線で描画する。
(2)幅が固定の場合は、左と右の辺を実線で描画する。
(3)高さが固定の場合は、上と下の辺を実線で描画する。
(4)軸は描画しない。
(5)(1)〜(3)によって描画されていないそれぞれの辺の近くには、拡縮アイコンが描画され、それらの辺を点線で描画する。
(6)垂直辺と水平辺、あるいは垂直軸と水平軸のそれぞれのペアで、もし両者が固定なら、それらの交差点にアンカーが描画される。
(7)それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
(8)垂直及び水平辺、あるいは垂直及び水平軸のそれぞれのペアで、アンカーやスライダーが描画されていない場合、それらの交差点にハンドルが描画される。
ルール(1)、(2)、(3)で定義された線は、前述したように固定あるいは制限されているため実線で描画される。ルール(5)のように、可変の辺は、点線で描画される。ルール(6)、(7)、(8)で定義された固定された点は、アンカーを表示し、いくつかの固定された辺は、スライダーを表示し、他はハンドルを表示する。
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。例えば、もしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画される可能性がある。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後に説明するように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行は、すべてのドキュメントで平均化されるコンテナのコンテンツエリアで、あるいは、可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
これらのコンテンツ表現は、コンテナの各辺の状態を表示するグラフィック機能を提供する。その表現の解釈は、下記の通りである。
(1)図4の辺410のように、点線は、コンテナのコンテンツに依存してドキュメント内の辺の位置が変化することを意味する。
(2)実線の辺414は固定されている、あるいはコンテナの幅・高さが固定されている(コンテナ408では、4辺が実線であり、両方が固定されている)ために制限された辺であることを意味する。
(3)アンカーは、辺および軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れることになる。アンカーは当然固定される。図4のアイコン409は、辺414の交差する位置が固定されていることを意味しているアンカーアイコンの例である。
(4)スライダーは、関係付けられた辺の長さが固定されているが、並行移動する可能性があることを意味する。例えば、図4で、スライダー413は、コンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。
例えば、コンテナ408と関連付けられている(リンク設定されている)コンテナ407に流し込まれるデータの画像サイズもしくはテキスト量が少ない場合は、コンテナ407のサイズが小さくなるため、コンテナ408は、左方向にスライド(並行移動)してレイアウトされて表示されることになる。また、コンテナ407のサイズが大きくなる場合は、逆にコンテナ408は右方向にスライドしてレイアウトされることになる。
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを、選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
尚、前述したように、コンテナの幅・高さの基本値・最小値・最大値の基本パターンの設定は、副次的なダイアログウインドウに表示される。
図5の(A)で、コンテナ501は、幅・高さの両方が固定されていない(可変である)。固定された辺503は実線で表現され、可変の辺504は点線で表現されている。拡縮アイコン505は、隣接する辺504が可変であることを示す。他の形態のインジケータを代わりにあるいは追加的に用いてもよい。
図5の(B)において、コンテナ501は、幅・高さ両方が可変である。アンカーアイコン506が、交差している両方の辺503の角の位置が固定されていることを明示的に表すべく追加されている。
図5の(C)において、コンテナ501は、コンテナの幅及び高さの両方が可変であり、任意のアンカーアイコン507で示されるような中心点の周りを平等に広がるという状態を示している。即ち、コンテナ501は、アンカーアイコン507を中心に拡大あるいは縮小が可能である。ここでの拡大/縮小は、アンカーアイコン507の位置が常にコンテナ501の中心点となるようにレイアウト調整される。
図5の(D)において、コンテナ501は、上辺508が固定されているが、幅・高さの両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている。そしてコンテナ501の左辺・右辺(502)は、アンカーアイコン509を通って垂直な中心軸(垂直軸)の周りを、拡大・縮小する。
[リンク]
リンクは、コンテナとコンテナの関連を示している。関連とは、コンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウト計算を実行する。例えば、上述のように、図4のリンク412は、コンテナ407とコンテナ408とを関連づけている。リンクの設定方法および、リンクで関連付けられたコンテナのレイアウト計算方法については、後述する。
[リンクの設定方法]
次に、コンテナ同士を関連付けるためのリンクの設定について説明する。
図6は本発明の実施形態のリンクの設定処理を示すフローチャートである。また、図7は本発明の実施形態のリンク設定時のユーザインターフェースの遷移例を示す図である。以下、図6及び図7を用いてコンテナにリンクを設定する方法について説明する。

まず、ステップS601において、レイアウト編集アプリケーション121は、ユーザインターフェースのワークエリア306上に編集対象の選択されたドキュメントテンプレートを表示する。リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)がドキュメントテンプレート上に作成されている必要がある。図7の(A)〜(C)では、ステップS601で、2つのコンテナを作成してリンクを設定する場合のユーザインターフェースの遷移例を示している。
次に、ステップS602において、レイアウト編集アプリケーション121は、リンクツールを選択状態にする(図4のボタン406をクリックすることにより選択状態となる)。
図7の(A)において、コンテナ701と702はすべて固定されている辺で構成されているものとする。また、703と704は、図4の409と同じであり、アンカーを意味する。705は、マウスポインタを意味している。
さて、リンクツールが選択状態となっている間に、ユーザはリンクを設定する2つのコンテナのうちの一方(コンテナ701とする)をクリックして選択する。この操作に応じて、レイアウト編集アプリケーション121のユーザインターフェース103は、第1のコンテナが選択されたことを認識し(ステップS603)、選択されたコンテナを特定する情報を保持する。
また、以降のマウスカーソルの移動に応じた軌跡を画面に表示するようにする。例えば、図7の(B)における線分706は、(A)の状態におけるクリック位置と現在のマウスポインタ705の位置とを結んだ線を示しており、このUIによりどの位置にリンクが設定されるのかをユーザに明示することができる。
次に、ユーザは、図7の(B)で示されるように、もう一方のコンテナ(コンテナ702)までマウスポインタ705を移動してクリックする。この操作に応じて、ユーザインターフェース103は第2のコンテナが選択されたことを認識し(ステップS604)、選択されたコンテナを特定する情報を保持する。
レイアウト編集アプリケーション121は、ステップS603で選択された第1のコンテナと、ステップS604で選択された第2のコンテナとの間にリンクを設定する。
こうして、ユーザにより選択された2つのコンテナ701、702の間にリンクが設定されると、リンク707を表示する(ステップS605)。更に、このリンク設定を受けて、コンテナの表示状態は、図7の(C)の状態になる(ステップS606)。
即ち、リンクが設定されたことにより、コンテナのUIが自動的に変更される。ここでは、リンクによって関連付けられた辺が可変となり、点線で示されている状態を示している。つまり、図7の(C)において、708は点線で示されている辺であり、前述した通り可変の辺を示すものである。
尚、図7の(C)のようなコンテナの辺の状態の変化は、リンクを設定したことによりコンテナの辺を可変にする必要が生じたことにより自動的に実行されたものであり、リンクを設定したにもかかわらず全ての辺が固定であるという矛盾の発生を防ぐことを目的としている。また、709は図5の505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したマークである。また、図7の(C)の例では、左のコンテナの右辺と右のコンテナの左辺が可変な状態へ変化したが、これは一例であり、例えば、右コンテナが図4のスライダー413を持つ設定に変化してもかまわない。
<レイアウトエンジンによるレイアウト計算処理>
[レイアウト計算方法(全体フロー)]
実施形態のレイアウト編集アプリケーション121は、ユーザインターフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。
このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。但し、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。
図8は本発明の実施形態のレイアウト計算処理を示すフローチャートである。
まず、プレビューモードが選択される(ステップS801)。プレビューモードになったら、レイアウト編集アプリケーション121は、ユーザにプレビューするレコードをデータソースより選択させ、選択されたレコードの各フィールドデータを各コンテナに挿入する(ステップS802)。
各コンテナへフィールドデータを挿入すると、レイアウト編集アプリケーション121は、そのレコードをレイアウトするためのレイアウト計算を行い、必要に応じてレイアウト調整を行う(ステップS803)。尚、ステップS803におけるレイアウト計算の詳細については後述する。
そして、レイアウト編集アプリケーション121は、ステップS803で計算されたレイアウトを表示(プレビュー)する(ステップS804)。レイアウト編集アプリケーション121は、他のレコードについてもプレビューを行うかどうかをユーザの指示により判定する(ステップS805)。ステップS805で、他のレコードについてプレビューを行う必要がない場合(ステップS805でNO)、プレビューモードを終了する(ステップS807)。
一方、他のレコードについてプレビューを行う場合(ステップS805でYES)、レイアウト編集アプリケーション121は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(ステップS806)。
尚、プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。従って、ステップS804は存在せず、ステップS805は印刷するレコードを全て処理したかの判断を行う。ステップS803で、レイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷対象の指定された全レコード)について印刷データの出力が終了した時点で、本処理を終了することになる。
[レイアウト計算方法(詳細)]
次に、上記ステップS803のレイアウト計算の詳細について、図9を用いて説明する。
図9は本発明の実施形態のレイアウト計算処理の詳細を示すフローチャートである。
尚、図9は、レイアウト計算処理についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの1レコードの印刷/プレビュー時のレイアウト計算処理に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。
まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を設定する(ステップS901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。
例えば、図10を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。
従って、コンテナA、Bが集合1、コンテナC、Dが集合2となる。即ち、リンクによって接続されたコンテナ群を一つの集合として特定する。前述したように、1101はアンカー、1102は固定された辺、1103はコントローラ、1104は可変の辺の変化方向を示している矢印、1105は可変の辺、1106はリンク、そして、1107はスライダーを示している。
次に、レイアウト編集アプリケーション121は、ステップS901で設定したコンテナの集合から、レイアウトを計算するために一つを選択する(ステップS902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。
まず、選択したコンテナの集合に含まれる可変要素である2つのコンテナA、Bについて、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。
具体的には、レイアウト編集アプリケーション121は、コンテナAが画像データ用コンテナであるか、テキスト用コンテナであるかを判定する。この判定は、前述したように、コンテナに対して設定されている属性により判定できる。
次に、レイアウト編集アプリケーション121は、コンテナAに流し込まれるデータを読み込み、コンテナAが画像データ用コンテナである場合は、その画像データのサイズ(幅、高さのピクセル数、および解像度)がコンテナAの制約を受けない場合の大きさになる。
また、コンテナAがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナAのコンテナ属性で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字属性に基づいて、コンテナAに流し込まれるべきデータ量が計算できる。
ここで、テキスト用コンテナの場合は、コンテナAの縦横比が制約を考えないと決定できないため、制約を当てはめる。図10の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)のコンテナAに、計算したデータ量(テキスト量)の文字を流し込めるか否かを判定する。
すべての文字を流し込めると判定された場合は、コンテナAは、基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべての文字を流し込めないと判定された場合は、コンテナAは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナAのサイズを算出する。
次に、レイアウト編集アプリケーション121は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(ステップS903)。
レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。
レイアウト編集アプリケーション121は、ステップS902で算出したコンテナの集合のサイズ、つまり、コンテナAとコンテナBとリンク1106(ここでは固定リンク)の合計サイズを計算し、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ(図10の例ではコンテナAとコンテナBのそれぞれのアンカーアイコンの距離に相当する)との差を計算する。コンテナAやコンテナBの幅が大きくなると、前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
次に、レイアウト編集アプリケーション121は、レイアウトの最適化を行い、そのレイアウトがルールに違反しているか否かを判定する(ステップS904)。ルールに違反していない場合(ステップS904でYES)、ステップS905に進む。一方、ルールに違反している場合(ステップS904でNO)、ステップS903に戻り、再度ルールを違反しないように計算をする。
ここでルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。
そして、ステップS902〜ステップS904の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション121は、ページ全体のレイアウトの計算が終了したか否かを判定する(ステップS905)。計算が終了していない場合(ステップS905でNO)、ステップS902に戻る。一方、計算が終了している場合(ステップS905でYES)、処理を終了する。
次に、上述のレイアウト計算時のUI例について、図11を用いて説明する。
図11は本発明の実施形態のレイアウト計算処理におけるユーザインタフェースの一例を示す図である。
図11の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1001と1002はアンカー、1003と1004は固定された辺、1005は可変の辺、1006は可変の辺の変化方向を示している矢印、1008はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。
図11の(B)は、図11の(A)の状態に新しいコンテンツのサイズを重ねて示している。1009はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。
図11の(C)は、レイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際に挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図11の(C)で示されるように、図11の(B)で示した挿入されるコンテンツサイズ1009と計算後のコンテンツサイズ(010は、双方において同等な差異がある。
次に、本発明の特徴となる最適なコンテナの自動レイアウトを実現する自動レイアウト処理について、以下に説明する。
まず、本発明では、データベース119に記憶されている様々なレコード群から、ある所定の条件式(一般的には、SQL(Structured Query Language)文によるレコードの抽出を意味する)の元で、フィルタリングを適用して、所定の条件を満足するレコード群からなるデータベーステーブルを作成する。
ここで、このデータベーステーブルの一例について、図12を用いて説明する。
図12は本発明の実施形態のデータベーステーブルの一例を示す図である。
図12のデータベーステーブルでは、それぞれが複数種類のデータフィールドを有する各レコードを、それを固有に識別するためのレコード番号で管理している。各レコードには、レコードを構成する項目データとなるフィールドデータが、データフィールド名に対して管理されている。
本実施形態では、このデータベーステーブルから、各レコードに含まれる複数種類のフィールドデータ(図12では、データフィールド名が「商品コンセプト」、「商品イメージ」、「特徴1」、「特徴2」、「説明」からなるフィールドデータ)に格納されたコンテンツ(テキストあるいはイメージ)を1つ1つ読み込み、各データフィールドに格納されたデータのデータ表示サイズ(コンテンツサイズ(例えば、矩形サイズ))を算出する。
このサイズの算出は、イメージコンテンツの場合は、そのイメージコンテンツの縦横サイズから矩形サイズを算出する。これに対し、テキストコンテンツの場合は、ワードラップ等の組版処理をする前の改行を含まない1列の文字列を表示するために必要な矩形サイズを算出する。
そして、このレコード中の各フィールドデータ毎に算出された矩形サイズの内、最も平均的な矩形サイズ(平均矩形サイズ)を有する平均フィールドデータ(平均矩形サイズに最も近いデータ表示サイズ(矩形サイズ)を有するデータフィールド)をデータフィールド名別に選定し、それら選定した平均フィールドデータを1つにまとめた平均フィールドセット(基準フィールドセットの1形態)を作成する。
この平均フィールドセットは、例えば、図3のパレット311上で実現されるフィールドセット一覧画面で表示することが可能である。
この平均フィールドセット一覧画面について、図13Aを用いて説明する。
図13Aは本発明の実施形態のフィールドセット一覧画面の一例を示す図である。
図13Aのフィールドセット一覧画面1600は、データベース119中の所望のレコードのフィールドデータ群(フィールドセット)をレコード単位で切り替えて表示する機能に加えて、各フィールドデータ毎に平均的な矩形サイズを有するフィールドデータからなる上述の平均フィールドセットを表示する機能を有する。
特に、図13Aでは、平均フィールドセットを表示している状態を示している。フィールドセット一覧画面1600では、基本的なコントロールとして、タイトルバー1601と、平均フィールドセット一覧機能を起動するボタンコントロール1602と、スクロールバー1605、レコードジャンプコントロール1606(但し、平均フィールドセットを表示しているときは不要のため、Disable状態となる)がある。
また、フィールドセット一覧画面には、フィールドセットを構成する各フィールドデータのフィールド名、所属するレコード番号、コンテンツ概要が表示される。また、コンテンツの種別はアイコン表示される。また、テキストコンテンツの場合は、実際の内容であるテキスト列、イメージコンテンツの場合は、対応するイメージファイル名が表示される。
図13Aでは、1603a〜1603dがフィールドデータがテキストコンテンツであることを示すテキストコンテンツ情報表示領域である、1604a及び1604bがフィールドデータがイメージコンテンツであることを示すイメージコンテンツ情報表示領域である。
例えば、テキストコンテンツ情報表示領域1603aは、フィールドデータがテキストであることを示すテキストアイコン(左角に配置されている)、フィールド名が「field−1」、フィールドデータが属するレコード番号(RecNo:5)、コンテンツ概要としてテキスト文字列「abicdefghije〜」で構成されている。
一方、イメージコンテンツ情報表示領域1604aは、フィールドデータがイメージを示すアイコン(左角に配置されている)、フィールド名が「field−3」、フィールドデータが属するレコード番号(RecNo:20)、イメージコンテンツ概要として、そのイメージファイル名(Products.jpg)で構成されている。
本実施形態で、このフィールドセット一覧画面1600を用いる場合には、上述の[コンテナ表示・編集]によって、まず、ドキュメントテンプレートを作成し、この作成したドキュメントテンプレートに対して、フィールドセット一覧画面1600中の各フィールドデータに関連付けられたコンテナを配置することができる。
特に、フィールドセット一覧画面1600において、平均フィールドセット一覧を表示している場合には、大量のレコード群において、平均的な矩形サイズを有するフィールドデータに関連付けられたコンテナをドキュメントテンプレートにレイアウトすることができる。
また、このフィールドセット一覧画面1600を用いるコンテナの配置は、例えば、フィールドセット一覧画面1600上の所望のコンテンツ情報表示領域を選択して、それをドキュメントテンプレート上にドラッグ&ドロップすることで実現することができる。
これにより、その選択したコンテンツ情報表示領域に対応するフィールドデータに関連付けられたコンテナが、そのフィールドデータのデータ表示サイズに基づいて、ドキュメントテンプレートに配置される。
また、フィールドセット一覧画面1600が、平均フィールドセット一覧画面となっている場合には、図13Bに示すように、配置されるコンテンツ1610は、レコード中の最も平均的な矩形サイズを有する平均フィールドデータのデータ表示サイズに基づいて、そのサイズが規定されてドキュメントテンプレート309に配置することができる。
つまり、最も平均的なコンテンツサイズを有するフィールドデータを使用して、ドキュメントテンプレートを作成することができるので、各レコードを自動レイアウトしたときのレイアウトの差異を最小限に抑えることができる。その結果、自動レイアウト後の調整作業を最小限に抑えることができることになる。
ここで、コンテナをレイアウトしたドキュメントテンプレートの表示例を図14を用いて説明する。
図14は本発明の実施形態のドキュメントテンプレートの表示例を示す図である。

尚、図14は、図3及び図4のアプリケーションウインドウ301の部分詳細図であり、共通する構成要素については、同一の参照番号を付加している。
図14において、ボタン700は、マルチレコードボタンである。このマルチレコードボタン700を操作者が押下すると、マルチレコードコンテナをテンプレートページ内に作成することが可能となる。マルチレコードコンテナは、複数のレコード内のデータを同一ページ内に連続して配置させるために用いられる。
例えば、データベース中にレコードが5つある場合、テンプレートページ内にマルチレコードコンテナを配置すると、配置された位置に1レコード目の対応するデータフィールドのデータが差し込まれ、そのマルチレコードコンテナの位置から右方向に2レコード目のデータが差し込まれる。右方向に配置しきれなくなると、下方向に配置し、すべてのレコードのデータが差し込まれるまで、連続した配置が行われる。
図14において、ドキュメントテンプレート309上にコンテナA(711)、コンテナB(712)、コンテナC(713)、コンテナD(714)、コンテナE(715)がレイアウトされている。それぞれのコンテナは、典型的なアンカーアイコン730、731及び734と、固定された辺720、722、725、727、728、また可変の辺721、723、724、726、729で構成されている。典型的には、固定された辺は実線、可変の辺は点線で示している。
ここで、アンカーアイコンは、コンテナのコーナーに配置され、そのコーナーがドキュメントテンプレート309に固定された位置に指定され、その位置からは移動することがないことを示す機能である。
そして、各コンテナには可変の辺が構成されていることから、その可変に動く方向を示すインジケーター735、736、737、738、739がそれぞれのコンテナ内に表示されている。これは、インジケーターが示す方向(と逆方方向)に各コンテナの辺が可変に動くことが可能であることを示す機能である。
また、コンテナのサイズが、上下に可変に拡大縮小することを示すスライダー732及び733が表示されている。このスライダーは、典型的には、固定の辺に付帯して表示され、この場合、例えば、コンテナD(714)の固定された辺727にスライダー733が付帯している。この固定された辺727は左右に位置を変えることはないが、可変の辺726が上下に存在するため、このコンテナD(714)は、上下に可変長に伸び縮みをすることができる。
また、コンテナA(711)内には、<商品名コンセプト>(701)、コンテナB内(712)には<特徴1>(702)、コンテナC(713)内には<商品イメージ>(703)、コンテナD(714)内には<特徴2>(704)、コンテナE(715)内には<説明>(705)のテキスト表示があるが、これは、データベース119のレコード中のデータフィールド名(列名)との関連性及びその情報を示す一例である。
この例では、コンテナA(711)には商品名コンセプトのテキスト、コンテナB(712)とコンテナD(714)には、コンテナA(711)の商品名コンセプトが示す商品の特徴を示すテキスト、コンテナC(713)にはコンテナA(711)の商品名コンセプトが示す商品のイメージ画像、コンテナE(718)にはコンテナA(711)の商品名コンセプトが示す商品の説明文のテキストがデータとして挿入されることを意味している。
そして、図14において、コンテナA〜Eがレイアウトされたドキュメントテンプレート309は、平均フィールドセットに基づいて、レイアウトされたものであり、データベース上の各レコードの同一フィールド名(同一データフィールド名)のフィールドデータにおいて、最も平均的なコンテンツサイズを有するフィールドデータを用いてコンテナをレイアウトした結果になっている。
その後、レイアウトされたコンテナに対しては、レイアウトエンジン105によるレイアウト計算処理を実行することで、実際のコンテンツ内容を表示することができる。
ここで、ドキュメントテンプレート309に、指定されたレコード(この場合、平均フィールドセットからなるレコード)中の各フィールドデータの挿入した場合の表示例(プレビューモードによる表示)について、図15を用いて説明する。
図15は本発明の実施形態のドキュメントテンプレートのプレビュー表示例を示す図である。
図15では、特に、図14のドキュメントテンプレート309に、指定されたレコード(この場合、平均フィールドセットからなるレコード)中の各フィールドデータの内容を実際に挿入した場合の例を示している。
図15では、アプリケーションウインドウ301にレイアウトビューウインドウ801が表示されている。レイアウトビューウインドウ801は、典型的には、タイトルバー802、ウインドウの最大化、最小化、クローズを行うツールボタン群803、そしてウインドウのスクロールバー804が構成されている。
レイアウトビューウインドウ801は、指定されたレコード中のフィールドデータ、この場合、平均フィールドセットから構成されるレコードを、図14のドキュメントテンプレート上の各コンテナA〜Eに挿入したレイアウト結果を示している。
コンテナA(711)、コンテナB(712)、コンテナD(714)、コンテナE(715)にはそれぞれテキストデータが挿入され、コンテナC(713)にはイメージデータが挿入されている。レイアウトビューウインドウ801のレイアウト結果は、図14のレイアウトと同様にコンテナの配置やその中のデータの配置のバランスが取れた、ユーザーの意図するレイアウト結果になっている。
以下、本実施形態の特徴的な処理について、詳細に説明する。
まず、平均フィールドセットを作成するためのフィールドリスト作成処理について、図16を用いて説明する。
図16は本発明の実施形態のフィールドリスト作成処理のフローチャートを示している。
まず、レイアウト編集アプリケーション121は、データベース接続処理を実行する(ステップS1201)。これに関しては、一般的なデータベースドライバ(例えば、ODBCドライバ等)を介して接続されるため、その詳細については省略する。また、ここでいうデータベースは、データベースサーバ117のデータベース119より、所望の条件により、抽出されたレコードを想定している。従って、既に各レコードは、一般的なレコード取得処理により、順次アクセスできることとなる。
次に、接続したデータベースからレコードを取得するレコード取得処理を実行する(ステップS1202)。取得したレコードの内容は、メモリ136上のワーク領域に一旦格納される。次に、処理対象のレコードのすべての取得が終了したか否かを判定する(ステップS1203)。取得が終了した場合(ステップS1203でYES)、処理を終了する。
一方、取得が終了していない場合(ステップS1203でNO)、レコード中の各フィールドデータの内、処理対象のフィールデータを取得するフィールドデータ取得処理を実行する(ステップS1204)。取得したフィールドデータの内容(フィールド情報)は、メモリ136上のワーク領域上に確保されたフィールドリスト線形リスト(以下、フィールドリスト)に順次格納される。
ここで、フィールドリストについて、図17を用いて説明する。
図17は本発明の実施形態のフィールドリストの一例を示す図である。
図17において、1301はフィールドリストであり、このフィールドリストでは、フィールドデータを取得する毎に、そのフィールド情報が順次登録される。フィールドリスト1301の先頭のPrevRecAddressには、前フィールドリストリストのアドレスが格納される。RecordNoはレコード番号、fieldCountはフィールド番号、fieldNameはフィールド名、fieldContentTypeはコンテンツのタイプ(テキスト、イメージ等)、fieldContentsAddrはコンテンツ(fieldContents1302)の実体を格納したアドレス、fieldContentsSizeは後述する処理によって算出されるコンテンツサイズ、NextRecAddressには、次のフィールド情報が格納されたメモリ136上のワーク領域のアドレスが格納される。
また、1303は、同一フィールド名(同一データフィールド名)のフィールドデータ毎(field−N−Contents−Size−Total:Nはフィールド番号)のフィールドデータ表示サイズ(コンテンツサイズ)を合計するためのワーク領域(以下、フィールド合計リスト)を示し、全レコード分の同一フィールド名(同一データフィールド)毎のフィールドデータ表示サイズの合計が格納されることになる。
図16の説明に戻る。
次に、レコード中のすべてのフィールドデータの取得が終了したか否かを判定する。(ステップS1205)。終了した場合(ステップS1205でYES)、次の処理対象のレコードを取得するために、ステップS1202に戻る。一方、終了していない場合(ステップS1205でNO)、フィールドデータに格納されている実際のデータであるコンテンツを取得する(ステップS1206)。
次に、取得したコンテンツがテキストデータであるか否かを判定する(ステップS1207)。テキストデータである場合(ステップS1207でYES)、コンテナに定義されたフォント情報を取得する(ステップS1208)。尚、フォント情報には、フォント種別、フォントサイズ、文字間隔(字間)が含まれている。
次に、取得したフォント種別とサイズ、字間情報を元に、テキストコンテンツである文字列データより、その文字列(改行は無視される)が必要とする文字列の幅と文字の高さを取得する(ステップS1209)。
この文字列幅の取得方法に関しては、例えば、Microsoft社製−Windows(登録商標)OSが提供するGraphicDisplayInterface(通称、GDI)と呼ばれるモジュールをデバイスコンテキストと呼ばれる描画オブジェクトを介して呼び出すことで、1つ1つの文字幅を考慮した文字列幅を取得することができる。OSの種類により、このGDIの呼出方法に違いが生じることがあるが、本発明では、文字列幅を取得することができれば、その取得方法に関しては、特に問わない。
また、OSを経由して文字列幅を取得できない場合には、文字列幅を算出する代表的な文字、例えば、「A」を基準に文字幅、高さを規定し、単純に文字数を掛け合わせることで算出することも可能である。
一方、ステップS1207において、取得したコンテンツがテキストデータでない場合(ステップS1207でNO)、取得したコンテンツがイメージデータであるか否かを判定する(ステップS1210)。イメージデータでない場合(ステップS1210でNO)、取得したコンテンツはテキストデータでもイメージデータでもない不明のデータであるので、エラー処理として、そのコンテンツに対する処理を中止する(ステップS1213)。
一方、イメージデータである場合(ステップS1210でYES)、イメージコンテンツ自体の属性として保持されているイメージの幅、高さに基づいて、コンテンツサイズ(矩形サイズ)を計算する(ステップS1211)。尚、ステップS1209の処理を経る場合は、取得したテキストコンテンツの文字列幅と文字高に基づいて、コンテンツサイズ(矩形サイズ)を計算する(ステップS1211)。
計算結果は、図17のフィールドリスト1301のfieldContents−Sizeに、フィールドサイズ(コンテンツサイズ)として格納する。同時に、フィールド合計リスト1303であるfield−n−Contents−Size−Totalに格納されているサイズの合計値に累積加算する。
ここで、算出された各フィールドサイズの合計値に基づいて、後述する平均フィールドセット作成処理により、同一フィールド名(同一データフィールド名)毎に、そのフィールドデータ表示サイズ(コンテンツサイズ)の平均値を計算することができる。
以上の処理を、全レコード分繰り返すことで、各レコード中の夫々のフィールドサイズを含むフィールド情報と、各フィールドのフィールドサイズ合計値を算出することができる。
次に、フィールドリスト作成処理で作成したフィールドリストを利用して、平均フィールドデータを作成する平均フィールドデータ処理について、図18を用いて説明する。
図18は本発明の実施形態の平均フィールドセット作成処理を示すフローチャートである。
まず、レイアウト編集アプリケーション121は、図17のフィールドリスト構造を持つ平均フィールドセットを記憶するための1レコード分の空領域をメモリ136に確保する(ステップS1401)。このとき、fieldContents−Sizeには差分の最大値として、「99999999」がセットされる。平均フィールドセットでは、fieldContents−Sizeは最小の差分値を格納することになる。
次に、フィールドリスト作成処理により作成されたフィールド合計リストに格納された各フィールドのコンテンツサイズ合計値とレコード数から、各フィールドデータの平均データ表示サイズ(平均コンテンツサイズ)を算出する(ステップS1402)。算出された平均コンテンツサイズ値は、フィールド合計リストに上書きされるため、最終的にはフィールド平均値リストとなる。
次に、フィールドリストに格納された各フィールドサイズ(コンテンツサイズ)と、フィールド平均値リストの対応するフィールドデータの平均コンテンツサイズを比較するため、フィールドリストから処理対象のフィールドデータのフィールドデータ表示サイズを取得する(ステップS1403)。
次に、フィールドリスト中のすべてのフィールドデータのフィールドサイズの取得が終了したか否かを判定する(ステップS1404)。終了した場合(ステップS1404でYES)、処理を終了する。一方、終了していない場合(ステップS1404でNO)、処理対象のフィールドデータのコンテンツサイズと、平均コンテンツサイズ値との差分を算出する(ステップS1405)。
算出した今回の差分値(今回差分値)と、平均フィールドセットに格納されている該当フィールドデータの前回格納済みの差分値(前回差分値)とを比較する(ステップS1406)。今回差分値が前回差分値より大きい場合(ステップS1406でYES)、差分値の更新をせずに、ステップS1403に戻り、フィールドリストから次の処理対象のフィールドを取得する。
一方、今回差分値が前回差分値以下である場合(ステップS1406でNO)、フィールドリストの該当フィールドデータのフィールド情報(fieldContents−Sizeを除く、PrevRecAddress、RecordNo、fieldNo、fieldName、fieldContentType、fieldContentsAddr、NextRecAddress)を、平均フィールドセットの該当データフィールドにコピーして、平均フィールドセットを更新する(ステップS1407)。
以上の処理を、全レコード、全フィールドデータ分繰り返すことで、平均コンテンツサイズに最も近いコンテンツサイズを有するフィールドデータからなる平均フィールドセットを作成することができる。
次に、作成した平均フィールドセットを用いて、フィールドセット一覧画面を作成して表示する表示処理について、図19を用いて説明する。
図19は本発明の実施形態のフィールドセット一覧画面の表示処理を示すフローチャートである。
尚、図19では、フィールドセット一覧画面において、特に、平均フィールドセット一覧を表示する場合の処理について説明する。また、この図19の処理は、例えば、図13Aのボタンコントロール1602を操作することで実行されるとするが、図13Aのボタンコントロール1602を操作することで、上述の図16及び図18、図19の処理を一連の処理として実行されるようにしても良い。
まず、レイアウト編集アプリケーション121は、上述したような処理によって得られた平均フィールドセットから処理対象となる平均フィールドデータのフィールド情報を取得する(ステップS1501)。次に、平均フィールドセットからすべての平均フィールドデータの取得が終了したか否かを判定する(ステップS1502)。終了した場合(ステップS1502でYES)、処理を終了する。
一方、終了していない場合(ステップS1502でNO)、取得した平均フィールドデータのフィールド情報の内、フィールド名(fieldName)、レコード番号(RecordNo)から「フィールド名(レコード番号)」の文字列を作成し、図13Aに示すフィールドセット一覧画面1600中の該当箇所に表示する。
次に、フィールド情報中のfieldContentTypeから、平均フィールドデータが格納するコンテンツのタイプがテキストコンテンツであるかイメージコンテンツであるかを判定する(ステップS1504)。
コンテンツのタイプがテキストである場合、テキストコンテンツを示すテキストアイコンを該当するテキストコンテンツ情報表示領域に表示する(ステップS1505)。図13Aの例では、フィールド名の先頭にテキストアイコンを表示する。また、テキストコンテンツの内容を、該当するテキストコンテンツ情報表示領域にできる限り表示する(ステップS1506)。表示しきれないテキストコンテンツは、テキストコンテンツ情報表示領域内でクリッピングされる。
一方、コンテンツのタイプがイメージコンテンツである場合、イメージコンテンツを示すコンテンツアイコンを該当するイメージコンテンツ情報表示領域に表示する(ステップS1507)。図13Aの例では、フィールド名の先頭にイメージアイコンを表示する。また、イメージファイルのファイル名をできる限り表示する。
そして、以上の処理を、平均フィールドセット中のすべての平均フィールドデータについて実行すれば、図13Aに示す平均フィールドセット一覧画面を作成し、表示することができる。
尚、この平均フィールドセット一覧画面は、上述の図13Aでは示していないが、拡大縮小のコントロールを備えることも可能である。そして、このコントロールによって拡大縮小操作を実行する場合は、その操作にあわせて各コンテンツ情報表示領域が拡大縮小することになる。
以上説明したように、本実施形態によれば、ドキュメントテンプレートに対して、レコードを用いてコンテナをレイアウトする場合には、各レコード中の同一フィールド名(同一データフィールド名)のフィールドデータから、最も平均的なコンテンツサイズを有するフィールドデータを使用して、ドキュメントテンプレートを作成する。
これにより、各レコードのフィールドデータに関連付けられたコンテナを自動レイアウトしたときの、レイアウトの差異を最小限に抑えることができる。つまり、自動レイアウト後の調整作業を最小限に抑えることができ、ユーザの操作性をより向上することができる。
尚、上記実施形態では、各レコード中の同一フィールド名(同一データフィールド名)のフィールドデータそれぞれから、所定の条件として、最も平均的なコンテンツサイズを有するフィールドデータを選定して、これら選定したフィールドデータ群を平均フィールドセットとして作成し、この平均フィールドセットを用いて、ドキュメントテンプレート上のコンテナのレイアウト作成を実行する構成としている。
つまり、この平均フィールドセットの各フィールドデータを用いて、ドキュメントテンプレートを作成する場合には、そのフィールドデータのデータ表示サイズが、そのフィールドデータのデータをドキュメントテンプレートにレイアウトする場合の基準サイズとなる。
そのため、この平均フィールドセットは、レイアウト作成時の基準となる基準フィールドセットと見なすことができる。
ここで、基準フィールドセットを構成するフィールドデータは、上記実施形態では、平均データフィールドとしているが、これに限定されず、例えば、最大コンテンツサイズ、最小コンテンツサイズ等の他の所定の条件を満足するフィールドデータを各同一データフィールド毎に選定して、これらの選定したデータフィールドからなるデータフィールドセットを基準データフィールドセットすることも可能である。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態の情報処理システムの構成例を示す図である。 本発明の実施形態の情報処理システムの一構成要素であるホストコンピュータのハードウェア構成を示す図である。 本発明の実施形態の情報処理システムの別構成例を示す図である。 本発明の実施形態のバリアブルデータプリントの概略を説明するための図である。 本発明の実施形態のユーザインターフェースの一例を示す図である。 本発明の実施形態のユーザインタフェースにおけるコンテナの表示例を示す図である。 本発明の実施形態のコンテナの表示ルールを説明するための図である。 本発明の実施形態のリンクの設定処理を示すフローチャートである。 本発明の実施形態のリンク設定時のユーザインターフェースの遷移例を示す図である。 本発明の実施形態のレイアウト計算処理を示すフローチャートである。 本発明の実施形態のレイアウト計算処理の詳細を示すフローチャートである。 本発明の実施形態のレイアウト計算処理時におけるコンテナの集合を説明するための図である。 本発明の実施形態のレイアウト計算処理におけるユーザインタフェースの一例を示す図である。 本発明の実施形態のデータベーステーブルの一例を示す図である。 本発明の実施形態のフィールドセット一覧画面の一例を示す図である。 本発明の実施形態のフィールドセット一覧画面を用いるコンテンツのレイアウト方法を説明するための図である。 本発明の実施形態のドキュメントテンプレートの表示例を示す図である。 本発明の実施形態のドキュメントテンプレートのプレビュー表示例を示す図である。 本発明の実施形態のフィールドリスト作成処理のフローチャートを示している。 本発明の実施形態のフィールドリストの一例を示す図である。 本発明の実施形態の平均フィールドセット作成処理を示すフローチャートである。 本発明の実施形態のフィールドセット一覧画面の表示処理を示すフローチャートである。
符号の説明
101 ホストコンピュータ
103 ユーザインターフェース
105 レイアウトエンジン
107 ネットワーク
109 プリントサーバ
111 通信チャネル
113 プリンタ
115 ファイルサーバ
117 データベースサーバ
119 データベース
121 レイアウト編集アプリケーション
123 通信チャネル

Claims (19)

  1. 複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置であって、
    複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定手段と、
    前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定手段で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定手段と、
    前記選定手段で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト手段と
    を備えることを特徴とする情報処理装置。
  2. 前記決定手段は、前記レコード中の前記複数種類のデータフィールド毎に、前記基準サイズを決定し、
    前記選定手段は、前記複数種類のデータフィールド毎に、前記決定手段で決定した前記基準サイズに対応するデータ表示サイズを有するデータを選定し、選定したデータからなる基準データフィールドセットを作成する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示手段と、
    前記操作画面上の前記基準データフィールドセットから所望のデータフィールドのデータを選択する選択手段とを更に備え、
    前記レイアウト手段は、前記選択手段で選択されたデータフィールドのデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記決定手段は、処理対象のデータフィールドのデータが、イメージデータである場合は、その縦横サイズから前記イメージデータのデータ表示サイズを算出し、テキストデータである場合には、指定されたフォント情報に基づいて、前記テキストデータのデータ表示サイズを算出する算出手段を備える
    ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記選定手段は、前記平均データ表示サイズに最も近いデータ表示サイズを有するデータを、該複数のレコード中の該同一データフィールド名のデータ群から選定する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  6. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示手段と、
    前記操作画面上に表示するデータフィールドのフィールド情報として、データタイプ、データフィールド名、及びデータあるいはデータファイル名を表示する表示制御手段と
    を更に備えることを特徴とする請求項2に記載の情報処理装置。
  7. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面と、前記フィールド領域をレイアウトするテンプレートテンプレート画面とを表示する表示手段と、
    前記操作画面上のデータフィールドセットから所望のデータフィールドのデータを選択して、前記テンプレート画面上にドラッグ&ドロップすることで、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする操作手段と
    を更に備えることを特徴とする請求項2に記載の情報処理装置。
  8. 前記レイアウト手段により各フィールド領域がレイアウトされたテンプレートに対して、前記レコードに含まれる複数種類のデータフィールドのデータをそれぞれ対応するフィールド領域に差し込む差込手段と、
    前記差込手段によりデータフィールドのデータが差し込まれたテンプレートに基づいて、印刷装置で印刷処理するための印刷データを生成する印刷データ生成手段と
    を更に備えることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. 前記テンプレート内にレイアウトされた第1フィールド領域と第2フィールド領域とを関連付ける関連付け手段と、
    前記関連付け手段によって関連付けられた前記第1フィールド領域と前記第2フィールド領域とにデータを差し込む差込手段と、
    前記差込手段によって前記第1フィールド領域に差し込まれるデータのサイズと前記第1フィールド領域のサイズとの差と、前記第2フィールド領域に差し込まれるデータのサイズと前記第2フィールド領域のサイズとの差とが等しくなるように、前記第1フィールド領域と第2フィールド領域のサイズを導出する導出手段と
    を更に備えることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  10. 複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置の制御方法であって、
    前記情報処理装置の決定手段が、複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定工程と、
    前記情報処理装置の選定手段が、前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定工程で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定工程と、
    前記情報処理装置のレイアウト手段が、前記選定工程で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト工程と
    を備えることを特徴とする情報処理装置の制御方法。
  11. 前記決定工程は、前記レコード中の前記複数種類のデータフィールド毎に、前記基準サイズを決定し、
    前記選定工程は、前記複数種類のデータフィールド毎に、前記決定工程で決定した前記基準サイズに対応するデータ表示サイズを有するデータを選定し、選定したデータからなる基準データフィールドセットを作成する
    ことを特徴とする請求項10に記載の情報処理装置の制御方法。
  12. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示工程と、
    前記操作画面上の前記基準データフィールドセットから所望のデータフィールドのデータを選択する選択工程とを更に備え、
    前記レイアウト工程は、前記選択工程で選択されたデータフィールドのデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする
    ことを特徴とする請求項11に記載の情報処理装置の制御方法。
  13. 前記決定工程は、処理対象のデータフィールドのデータが、イメージデータである場合は、その縦横サイズから前記イメージデータのデータ表示サイズを算出し、テキストデータである場合には、指定されたフォント情報に基づいて、前記テキストデータのデータ表示サイズを算出する算出工程を備える
    ことを特徴とする請求項10乃至12のいずれか1項に記載の情報処理装置の制御方法。
  14. 前記選定工程は、前記平均データ表示サイズに最も近いデータ表示サイズを有するデータを、該複数のレコード中の該同一データフィールド名のデータ群から選定する
    ことを特徴とする請求項10乃至12のいずれか1項に記載の情報処理装置の制御方法。
  15. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面を表示する表示工程と、
    前記操作画面上に表示するデータフィールドのフィールド情報として、データタイプ、データフィールド名、及びデータあるいはデータファイル名を表示する表示制御工程と
    を更に備えることを特徴とする請求項11に記載の情報処理装置の制御方法。
  16. 前記基準データフィールドセット中のデータフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするための操作画面と、前記フィールド領域をレイアウトするテンプレートのテンプレート画面とを表示する表示工程と、
    前記操作画面上のデータフィールドセットから所望のデータフィールドのデータを選択して、前記テンプレート画面上にドラッグ&ドロップすることで、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトする操作工程とを更に備える
    ことを特徴とする請求項11に記載の情報処理装置の制御方法。
  17. 前記レイアウト工程により各フィールド領域がレイアウトされたテンプレートに対して、前記レコードに含まれる複数種類のデータフィールドのデータをそれぞれ対応するフィールド領域に差し込む差込工程と、
    前記差込工程によりデータフィールドのデータが差し込まれたテンプレートに基づいて、印刷装置で印刷処理するための印刷データを生成する印刷データ生成工程とを更に備える
    ことを特徴とする請求項10乃至16のいずれか1項に記載の情報処理装置の制御方法。
  18. 前記テンプレート内にレイアウトされた第1フィールド領域と第2フィールド領域とを関連付ける関連付け工程と、
    前記関連付け工程によって関連付けられた前記第1フィールド領域と前記第2フィールド領域とにデータを差し込む差込工程と、
    前記差込工程によって前記第1フィールド領域に差し込まれるデータのサイズと前記第1フィールド領域のサイズとの差と、前記第2フィールド領域に差し込まれるデータのサイズと前記第2フィールド領域のサイズとの差とが等しくなるように、前記第1フィールド領域と第2フィールド領域のサイズを導出する導出工程と
    を更に備えることを特徴とする請求項10乃至16のいずれか1項に記載の情報処理装置の制御方法。
  19. 複数種類のデータフィールドからなるレコードから、選択されたデータフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトし、前記データが差し込まれることに従い前記フィールド領域のサイズを変更する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    複数の前記レコードにおける同一データフィールド名の各データのデータ表示サイズの平均データ表示サイズを、前記データフィールドのデータを差し込むためのフィールド領域をテンプレート内にレイアウトする場合の基準サイズとして決定する決定手段、
    前記複数の前記レコード中の前記同一データフィールド名のデータ群から、前記決定手段で決定した基準サイズに対応するデータ表示サイズを有するデータを選定する選定手段、
    前記選定手段で選定したデータのデータ表示サイズに基づいて、該データフィールドのデータを差し込むためのフィールド領域を前記テンプレート内にレイアウトするレイアウト手段
    として機能させるためのプログラム。
JP2004231440A 2004-08-06 2004-08-06 情報処理装置及びその制御方法、プログラム Expired - Fee Related JP4262164B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004231440A JP4262164B2 (ja) 2004-08-06 2004-08-06 情報処理装置及びその制御方法、プログラム
US11/193,385 US7707494B2 (en) 2004-08-06 2005-08-01 Information processing apparatus, control method therefor, and program
EP05254876A EP1624384A3 (en) 2004-08-06 2005-08-04 Template document layout
KR1020050071788A KR100818860B1 (ko) 2004-08-06 2005-08-05 정보 처리 장치와 그 제어 방법 및 기록 매체
CNB2005100894202A CN100399332C (zh) 2004-08-06 2005-08-05 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004231440A JP4262164B2 (ja) 2004-08-06 2004-08-06 情報処理装置及びその制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2006048539A JP2006048539A (ja) 2006-02-16
JP2006048539A5 JP2006048539A5 (ja) 2007-01-25
JP4262164B2 true JP4262164B2 (ja) 2009-05-13

Family

ID=35427491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004231440A Expired - Fee Related JP4262164B2 (ja) 2004-08-06 2004-08-06 情報処理装置及びその制御方法、プログラム

Country Status (5)

Country Link
US (1) US7707494B2 (ja)
EP (1) EP1624384A3 (ja)
JP (1) JP4262164B2 (ja)
KR (1) KR100818860B1 (ja)
CN (1) CN100399332C (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4250577B2 (ja) * 2004-08-31 2009-04-08 キヤノン株式会社 情報処理装置、情報処理方法、ならびにプログラム
US20070028169A1 (en) * 2005-07-28 2007-02-01 Microsoft Corporation Getting started assistance
US7676744B2 (en) * 2005-08-19 2010-03-09 Vistaprint Technologies Limited Automated markup language layout
US7584424B2 (en) * 2005-08-19 2009-09-01 Vista Print Technologies Limited Automated product layout
US9158749B2 (en) * 2005-09-23 2015-10-13 International Business Machines Corporation Smart form completion of form values
KR100736077B1 (ko) * 2005-10-24 2007-07-06 삼성전자주식회사 데이터 방송의 텍스트를 제어하는 장치 및 그 방법
US8635553B2 (en) * 2006-02-16 2014-01-21 Adobe Systems Incorporated Auto adjustable pane view
JP2008310525A (ja) * 2007-06-13 2008-12-25 Canon Inc 情報処理装置、情報処理方法、及び、情報処理プログラム
JP2009271777A (ja) * 2008-05-08 2009-11-19 Sharp Corp 情報処理装置、テキスト表示プログラム、およびテキスト表示方法
US8156425B2 (en) * 2008-06-04 2012-04-10 Microsoft Corporation User interface (UI) dimensioning
US9292582B2 (en) * 2009-05-27 2016-03-22 International Business Machines Corporation Rendering a database record in a fixed display space
US9417787B2 (en) * 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
CN102381062A (zh) * 2010-09-03 2012-03-21 上海商务数码图像技术有限公司 一种彩色数码印刷机的控制系统
US20120131445A1 (en) 2010-11-23 2012-05-24 International Business Machines Corporation Template-based content creation
US8972848B2 (en) 2010-11-23 2015-03-03 International Business Machines Corporation Document renewal and translation
US8863039B2 (en) 2011-04-18 2014-10-14 Microsoft Corporation Multi-dimensional boundary effects
JP2013130964A (ja) * 2011-12-20 2013-07-04 Ricoh Co Ltd 表示制御装置、表示制御システムおよびプログラム
JP2014106882A (ja) * 2012-11-29 2014-06-09 Toshiba Corp 情報処理装置及び表示制御方法
US20140298243A1 (en) * 2013-03-29 2014-10-02 Alcatel-Lucent Usa Inc. Adjustable gui for displaying information from a database
CN104881298A (zh) * 2014-02-27 2015-09-02 国际商业机器公司 用于在线显示文档的方法和装置
JP6464862B2 (ja) * 2015-03-24 2019-02-06 富士通株式会社 表示プログラム、表示方法及び表示装置
JP6076571B1 (ja) * 2015-08-06 2017-02-08 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
KR102534354B1 (ko) * 2018-09-30 2023-05-18 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 탐색 바 표시 제어 방법, 그래픽 사용자 인터페이스 및 전자 디바이스
US20210264099A1 (en) * 2020-02-26 2021-08-26 Fujifilm Business Innovation Corp. Information processing device and computer readable medium

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL296772A (ja) * 1962-03-21
DE2700292C2 (de) * 1977-01-05 1981-09-24 Bayer Ag, 5090 Leverkusen Verwendung von bestimmten Bisstyryl-phenyl- oder -biphenyl- Verbindungen sowie deren Metall- oder organischen Ammoniumsalzen zur Erzeugung einer kohärenten Laseremission
DE2822190A1 (de) * 1978-05-20 1979-11-22 Hoechst Ag Photopolymerisierbares gemisch
US4459349A (en) * 1981-03-27 1984-07-10 Toyo Boseki Kabushiki Kaisha Photosensitive resin composition
DE3738864A1 (de) * 1987-11-16 1989-05-24 Hoechst Ag Polymerisierbare verbindungen und diese enthaltendes durch strahlung polymerisierbares gemisch
AU8656791A (en) * 1990-09-19 1992-04-15 N.V. Philips Gloeilampenfabrieken Digitized picture play back device and method for playing back digitized pictures
JPH07129658A (ja) 1993-11-02 1995-05-19 Toppan Printing Co Ltd レイアウトデザイン装置
JPH0950535A (ja) 1995-08-04 1997-02-18 Casio Comput Co Ltd イメージデータ出力装置
JPH09305599A (ja) * 1996-05-16 1997-11-28 Casio Comput Co Ltd レイアウト処理装置
JPH09319537A (ja) * 1996-05-27 1997-12-12 Sharp Corp 情報表示装置
US6016492A (en) * 1997-07-15 2000-01-18 Microsoft Corporation Forward extensible property modifiers for formatting information in a program module
DE19915717A1 (de) * 1999-04-08 2000-10-12 Agfa Gevaert Ag Aufzeichnungsmaterial mit pigmentgefärbter strahlungsempfindlicher Schicht
US6549935B1 (en) 1999-05-25 2003-04-15 Silverbrook Research Pty Ltd Method of distributing documents having common components to a plurality of destinations
DE19933139A1 (de) * 1999-07-19 2001-01-25 Agfa Gevaert Ag Stabile Pigmentdispersion und damit hergestelltes strahlungsempfindliches Aufzeichnungsmaterial
JP3775130B2 (ja) 1999-09-22 2006-05-17 富士ゼロックス株式会社 文書処理装置および方法
US20020049702A1 (en) 2000-02-03 2002-04-25 Jacob Aizikowitz System and method for creating customized documents for cross media publishing
US7450114B2 (en) * 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
KR200213555Y1 (ko) 2000-07-12 2001-02-15 노재근 오픈캐비닛의 상판 구조
JP2002083148A (ja) * 2000-09-06 2002-03-22 Seiko Epson Corp 閲覧情報作成システム及びディジタルコンテンツ配信システム
JP3880321B2 (ja) * 2001-02-16 2007-02-14 キヤノン株式会社 情報処理装置、データ通信システム、情報処理方法、プログラムおよび記憶媒体
JP4146620B2 (ja) 2001-03-30 2008-09-10 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
JP3835193B2 (ja) 2001-03-30 2006-10-18 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
JP4154976B2 (ja) * 2002-09-24 2008-09-24 セイコーエプソン株式会社 レイアウトシステム、プログラム
JP4241325B2 (ja) 2002-12-25 2009-03-18 セイコーエプソン株式会社 レイアウトシステム
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US20040151399A1 (en) * 2003-01-30 2004-08-05 Skurdal Vincent C. Positioning images in association with templates
JP4580148B2 (ja) * 2003-03-14 2010-11-10 ソニー株式会社 情報処理装置,メタデータ表示方法
US8239343B2 (en) * 2003-05-23 2012-08-07 Bmc Software, Inc. Database reorganization technique
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
US7144115B2 (en) * 2004-04-14 2006-12-05 Sharp Laboratories Of America, Inc. Projection system

Also Published As

Publication number Publication date
CN100399332C (zh) 2008-07-02
CN1731397A (zh) 2006-02-08
EP1624384A3 (en) 2008-12-24
KR20060050271A (ko) 2006-05-19
JP2006048539A (ja) 2006-02-16
KR100818860B1 (ko) 2008-04-01
EP1624384A2 (en) 2006-02-08
US7707494B2 (en) 2010-04-27
US20060031761A1 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
JP4262164B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4241410B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4250540B2 (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
JP4560416B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4700940B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4912139B2 (ja) 情報処理装置
JP4522280B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4332480B2 (ja) レイアウト調整方法及び装置並びにプログラム
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP2005216180A (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
US7853872B2 (en) Laying out field regions in a page for insertion of data
JP4111519B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP2007249431A (ja) 情報処理装置及びその制御方法、プログラム
JP2007122486A (ja) Web文書処理方法、プログラム、記憶媒体
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2010176366A (ja) バリアブルプリントシステム
JP2008287504A (ja) 文書処理装置および方法
JP2008102869A (ja) レイアウト処理方法及び装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081028

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

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

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees