説明

Web文書処理方法、プログラム、記憶媒体

【課題】 Web文書処理システムにおいて、出力者がデザイナーにテンプレートの修正を依頼することなく、またシステム管理者にテンプレートファイルを登録してもらうことなく、出力実行時にWebブラウザ上で出力結果を調整可能とする。
また、個人のテンプレートとしてシステムに残すことができ、利用者によるテンプレートの再利用が出来るようにする。
【解決手段】 Webブラウザベースで出力時の微調整を可能とさせた場合、動的レイアウトエンジンとWebブラウザのプラグイン機能を用いて、ユーザにフィールド名称を意識させずに微調整を可能とさせ、操作時のストレスを軽減させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動レイアウトシステムにおける装置/媒体、およびレイアウト手法に関するものである。
【背景技術】
【0002】
近年、商品の多品種化で商品ライフが短くなっていること、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からCRM(Customer Relationship Management)、One−to−Oneマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【0003】
One−to−Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【0004】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナ等によりレイアウトを作成し、データベースとレイアウトを関連付けることにより達成していた。しかし、テキストおよびイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップおよびイメージのクリッピングが発生し、またデータ量がコンテナサイズより小さいと隙間が空いてしまった。その問題を解決するために、自動レイアウトシステムが発明されている。自動レイアウトシステムはテキストおよびイメージのコンテナサイズを可変に設定することが可能である。この自動レイアウトシステムを実現しているソフトウェアとしてはPageflex社のPageflex等があり、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを変更する。またテキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術なども存在する。しかしコンテナのサイズが大きくなった場合、同ドキュメント上の他のコンテナに重なってしまう問題が発生する。またフォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎる問題が発生する。
【0005】
それを解決するための更なる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合、隣接したコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
【0006】
また、デザイン化対象としてのデザイン要素の周囲にその修飾に必要な空き領域が存在していない場合には必要分の空き領域を確保してからデザイン化を行うことで、効果的な修飾を実現できるようにする。空き領域が足りない場合は書式を変更(小さく)することを特徴としている技術が特許文献2の「文書処理装置」に開示されている。
【特許文献1】特開平7−129658号公報
【特許文献2】特開平8−287071号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来の技術では、自動レイアウトによる出力結果がユーザの意図したものとは異なる場合、ほんの少しの修正であっても、テンプレートとなるファイル自体の修正をデザイナーに依頼し、テンプレートファイルをシステム管理者に再度システムに登録してもらう必要があり、ユーザの負担となっていた。つまり出力ユーザによる出力時の微調整を行うことは不可能であった。また、Webによるバリアブル出力システムでは、システム全体でテンプレートを持つので個人向けテンプレートまでは考慮されておらず、ユーザは不便を強いられていた。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明は以下の構成を備える。
【0009】
パーソナルコンピュータ等の情報処理装置からなるWebシステムであって、コンテナ領域の中にデータベース等のデータから、テキストおよびイメージデータ等を挿入してドキュメントを作成する際に、プレビュー時にテキストおよびイメージのサイズにあわせて、コンテナのサイズを変更することが可能であり、さらにコンテナ間の関連を設定することにより、その間隔を保って変更することが可能である自動レイアウト機能を備え、編集(レイアウト変更)したいフィールドを選択するステップと、拡大・縮小レイアウト情報を選択するステップと、拡大・縮小レイアウト情報をサーバに送信するステップと、クライアントからの拡大・縮小情報を取得し、レイアウト情報を記憶したファイル(テンプレート)をコピーし拡大・縮小情報を反映させるステップと、コピーによって新たに作成したテンプレートを適用して再度出力するステップと、最終的に決定したテンプレートを個人で使用するテンプレートとして保存するステップを持つ、コンテンツと関連付く情報がデータベースで管理されるWeb文書処理方法。
【発明の効果】
【0010】
本発明によれば、Web文書処理システムにおいて、出力者がデザイナーにテンプレートの修正を依頼することなく、またシステム管理者にテンプレートファイルを登録してもらうことなく、出力実行時にWebブラウザ上で出力結果を調整することができる。また、個人のテンプレートとしてシステムに残すことができ、利用者によるテンプレートの再利用が可能となる。
【発明を実施するための最良の形態】
【0011】
(実施例1)
本発明の実施例を適用するのに好適である実施例について説明を行う。
【0012】
本発明の実施例を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【0013】
<システム構成図>
図1はバリアブルデータドキュメントを印刷するシステム100を図示している。この中で示された方法は図26で詳しく説明される汎用コンピュータモジュール101で実践される。図26で記述されるプロセスは、コンピュータモジュール101内で実行され、システム100上で実施可能となるレイアウト編集アプリケーションプログラム121のようにソフトウェアの全体、あるいは一部分で実行される。特にレイアウト編集や必然的に起こる印刷のステップはコンピュータ101によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの記憶媒体に格納される。ソフトウェアはコンピュータの記憶媒体からコンピュータにロードされ、コンピュータ101によって実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラムを持つコンピュータの記憶媒体はコンピュータプログラム製品である。そのコンピュータでのコンピュータプログラム製品の使用は望ましくもドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置をもたらす。
【0014】
コンピュータモジュール101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置144や状況に応じてはローカルプリンタ145を含む出力装置を連結する。入力/出力インターフェース138はコンピュータモジュール101をネットワーク接続107から接続してシステム100の他のコンピュータ装置につなげることができる。そのネットワーク接続107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。
【0015】
コンピュータモジュール101は典型的に少なくとも1つのプロセッサーユニット135、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136、ビデオインタフェース137を含むINPUT/OUTPUT(I/O)インターフェース、キーボード132やマウス133のためのI/Oインターフェース143を含んでいる。記憶装置139は典型的にハードディスクドライブ140やフレキシブルディスクドライブ141を含んでいる。図には示されていないが磁気テープドライブもまた使用される可能性がある。CD−ROMドライブ142は不揮発性のデータソースとして提供される。コンピュータモジュール101はオペレーションシステムや、典型的にはオペレーションシステムに従う形で、あるいは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス134を介して通信を行うコンピュータモジュール101のコンポーネント135から143を利用する。
【0016】
図に記述した配置コンピュータの例ではIBM互換PCやSUN社のSparc Station(登録商標)、あるいはそれらを含んだコンピュータシステムが考えられる。
【0017】
レイアウトアプリケーションプログラム121は典型的にハードディスクドライブ140に常駐し、プロセッサ135により実行、読み込み、コントロールされる。プログラム121の媒介記憶装置とネットワーク1020からフェッチされるデータはハードディスクドライブ140に呼応して半導体メモリ136を使用する。いくつかのインスタンスではアプリケーションプログラム121がCD−ROMやフレキシブルディスク上でエンコードされ、対応するドライブ142や141を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム121はネットワーク接続107からユーザによって読み込まれるかもしれない。さらにソフトウェアは磁気テープまたはROMまたは集積回路、光磁気ディスクまたは無線またはコンピュータモジュール101とその他のデバイス間の赤外線通信、PCMCIAカードのようなコンピュータ記憶カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ記憶媒体からコンピュータモジュール101内にロードされる可能性もある。前述は単に関連するコンピュータ記憶メディアの模範である。他のコンピュータ記憶媒体も使用される可能性はある。
【0018】
またレイアウト編集と名づけられたアプリケーション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を介して接続される。
【0019】
図27は本発明の文書処理装置が適用されたWebサーバに対してWebブラウザを有するクライアントから指示/操作を実現したネットワーク構成を示すブロック図である。
【0020】
同図において、151はローカルエリアネットワーク(LAN)を示し、クライアント用パーソナルコンピュータ(以下「クライアントPC」)152,153,154及び、本発明の文書処理装置を有するサーバ用パーソナルコンピュータ(以下「サーバPC」)161が、このLANに接続されている。また、本実施例ではサーバPC121はWebサーバ機能を有し、クライアントPC152,153,154のWebブラウザ経由から指示を受けて、処理結果を指示したクライアントPCのブラウザに対して返す処理を行うものを記載する。但し、本発明においては、サーバおよびクライアント間の通信手法については特に限定するものではない。また、サーバPCにおいて、直接本発明の文書処理装置に対する指示処理を行う形態であっても構わないものとする。
【0021】
さらに図28は、本発明に係るモジュール構成を説明するブロック図である。
【0022】
171はクライアントPCであり、カタログ情報、画像データなどのデータファイルをサーバに登録するための情報登録モジュール172と、商品データを出力するフォームを登録する出力フォーム登録モジュール173と、本発明で使用する微調整モジュール174を記憶している。ただし、これらのモジュールはサーバPCから必要に応じてWebブラウザのプラグイン形式で自動的に配信されるので、クライアントPC上でインストール処理を行う必要はない。175はデータのやり取りを行うネットワークである。176はHTTPWebアプリケーションサーバであり、クライアントPCからのリクエストを処理するためのモジュール177が記憶されている。対応している機能としては、ユーザ認証、検索処理、各種データの一括登録、各種メンテナンス機能、商品情報出力などがある。これらのモジュールは、クライアントからのリクエストに応じてメモリ上にロードされ、処理を実行する。また、これらのモジュールとは別に、レイアウトエンジンを用いてPDFファイルなどの画像編集を行う画像編集モジュール、データファイルに対して、結合・分割などの編集を行うファイル編集モジュールが178としてある。さらに、データベース179とのデータのやり取りを行うためのライブラリ180や各種ユーティリティライブラリ181がある。
【0023】
図2はエンジンサーバー227の追加を除き、レイアウトエンジン105の分離バージョン225を含む図1・図26の類似の図である。エンジンサーバー227は典型的なコンピュータである。ファイルサーバー115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェース103を介して要求されるか、特定のレコードのみ印刷するように要求される。
【0024】
〔アプリケーション構成図〕
〔メインウインドウ〕
図3で参照されるように、ユーザインターフェース103は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ301によって形成されたユーザインターフェースを含んでいる。ウインドウ301は、非表示にすることや、スクリーン上の色々な場所に移動することが可能なメニューバー302とツールバー303、そしてマウス133の位置・動作によって場所を移動可能なワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313から特徴付けされる。
【0025】
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を持つ。
【0026】
ツールバー303は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット305を持つ。
【0027】
オプションのルーラー308はワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
【0028】
パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール312を持つ。パレット311はオプションで、ワークエリアの前面に表示される、あるいはオブジェクトの背面に隠される。パレット311はアプリケーションウインドウ301の範囲内のみに表示されることを制限される、あるいはアプリケーションウインドウ301の外側に部分的・全体を表示することを許される。
【0029】
図4を参照。ツールバーエリア303は少なくとも、次のユーザ選択可能な『ボタン』を持つ。
【0030】
● 選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、(複数)コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
【0031】
● イメージコンテナツールボタン405:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
【0032】
● テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
【0033】
● リンクツールボタン406:コンテナ間の距離をコントロールするリンクを作成するために使われる。
【0034】
これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンのツールチップとして実装される。
【0035】
〔ドキュメントテンプレート〕
ワークエリア306はドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。
【0036】
もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがそれらのコンテナに表示される。
【0037】
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
【0038】
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309に特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。
【0039】
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし1ページ内にフィットできなかった時、追加のページは自動的に作成される。
【0040】
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン310である。
【0041】
また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例である、それらは、複数のコンテナ407、408と、任意に適用するアンカーアイコン409と固定されていない辺410、リンク412そしてスライダー413を持つ。
【0042】
〔コンテナ〕
コンテナは、ドキュメントテンプレート内の固定あるいは可変テキスト・イメージを持つスペースであり、他のコンテナやオブジェクトとレイアウトされる。コンテナはマウス133動作でポインタ313を使い、ユーザインターフェースで示されるように移動、サイズ調整そして再作成される。
【0043】
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
【0044】
● コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースからとってきて、異なるドキュメントでは異なるかもしれない、という意味でダイナミックである。可変コンテンツは印刷されないような時間によって変更されたり、アニメーションするコンテンツを含むことは意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じように表示される。けれども、可変コンテナの動作によって、固定コンテンツはそれぞれのドキュメントで位置が異なるかもしれない。
【0045】
● コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。
【0046】
● コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、典型的に印刷された出力物で可視である。可変コンテンツはデータソースから特定のデータの表示をもたらす。コンテナのこの表現は例えば印刷されるか、スクリーン144上で表示されるか、その両方が可能である。
【0047】
● コンテナはユーザインターフェースを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。インターフェースの要素は典型的にスクリーン144上に表示される、しかしドキュメントには印刷されない。ユーザインターフェース103は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示する、そしてコンテナの設定の編集や表示を許すための機能を追加する。ユーザインターフェース機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコン、あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。現在の公表の一つの概観は、新しい直接編集技術とコンテナのGUIコンポーネントに伴う表示方法の集まりである。
【0048】
〔コンテナ制約〕
公知の技術によると、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけると共に)は、ユーザが一つのドキュメントテンプレートから、多数のドキュメントの生成を制御する主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値4インチです。』である。もうひとつの制約は『コンテナのコンテンツの左端は、それぞれのドキュメントで同じ水平位置で表示しなければならない。』である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
【0049】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定されるかもしれない。その代わりに、現在の検討はバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
【0050】
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナは多数の可能性と制約を指定・表示するためにユーザインターフェースを使わなければならない。
【0051】
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。このように、この特許でコンテナの左辺を論じることは、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。この特許明細書では、ユーザインターフェース103を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
【0052】
下記検討では、コンテンツの表示を制限するために使われるいくつかの値を定義している用語『固定』は、全てのドキュメントで同じである。
【0053】
● もしコンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになるだろう。
【0054】
● もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになるだろう。
【0055】
● もし距離の制約が固定なら、指定された距離は全てのドキュメントのための制約である。
【0056】
● もしコンテナの左右辺が固定なら、辺の水平位置がページに関して全てのドキュメントで同じであることを意味している、しかしコンテナの高さあるいは垂直方向の位置は、変わるかもしれない。例えば、もしコンテナの左辺が固定なら、関連付けられたコンテンツは、一つのドキュメントでページの上に近く表示され、他のドキュメントでページの下に近く表示される、しかし左辺は全てのケースで同じ水平位置である。
【0057】
● もしコンテナの上下辺が固定なら、辺の垂直位置がページに関して全てのドキュメントで同じであることを意味している、しかしコンテナの幅あるいは水平位置は変わるかもしれない。
【0058】
● コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。この制約で、コンテナの幅は変化するかもしれない、左右辺両方が異なったドキュメントで、垂直軸にもっとも遠いかもっとも近いかもしれない、しかし軸は全てのドキュメントで同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
【0059】
● 同様に、もし水平軸が固定なら、コンテナの上そして下辺が垂直に位置されることを制約する、けれども高さは、この制約によって影響されない。
【0060】
● もし水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する、しかし、幅・高さはこの制約によって影響されない。
【0061】
● もしコンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所で、そしてコンテナに関連付けられた同じ場所で表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
【0062】
● 垂直辺あるいは軸はページの左辺、あるいは右辺、あるいは左ページマージン、あるいは右ページマージン、あるいは他の水平位置に関連付けされて固定になる。同様に、水平辺あるいは軸はページの上あるいは下辺あるいはマージン、あるいは他の垂直位置に関連付けされて固定になる。用語『固定』の改良は、もしページサイズが全てのドキュメントで同じならこれらの可能性はドキュメント生成で相違はないため、ドキュメント間でページサイズが変わるときにのみ重要となる。
【0063】
『固定』の反対は、辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間で変化するかもしれないことを意味している『可変』である、しかしドキュメントの特定な設定でそうする必要が無いかもしれない。例えば、変更による辺の実際の好ましい位置のような他の外部制約がある、しかし、もし外部制約が適用されないなら、辺は固定されてないものとしてラベル付けされているので辺の位置は変更できる。
【0064】
〔コンテナ表示・編集〕
[新規コンテナの作成方法]
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキスト、そして埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。
【0065】
図4で参照されるように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス133でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。
【0066】
代わりにコンテナは、適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上でクリックすることによって単純に作成される。デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。いくつかのコンテナは自動的に前もって定義されたか、計算されたスキーマによって、作成・配置される。また他の案が考えられるかも知れない。
【0067】
[コンテナの表示方法]
以前記述した36の辺の状態それぞれが、グラフィカルな表現で描画されるのが好ましい。いくつかの辺の状態は、いくつかの状況で表現を分け合うため、36のグラフィック表示より少なくなるかもしれない。
【0068】
図5A〜図5Dはコンテナの模範的な辺ルールを例示している。
【0069】
アプリケーション121は、辺の状態を表現するために、塗りつぶし線(アイテム503)あるいは点線(504)で辺を描き、アンカー(辺の近くに描画された506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために辺、形の近くに描画されたコントロール点、502)、スライダー(辺の両サイドに描画された短い並行線、図4の413)、拡縮アイコン(505)、そして色を特徴として持っている。
【0070】
図5A、図5Dのコンテナ表示方法のルールは、つぎの通りである。
【0071】
1. それぞれの辺を固定するために、塗りつぶし線で描画する。
【0072】
2. もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
【0073】
3. もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
【0074】
4. 軸は描画しない。
【0075】
5. まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
【0076】
6. 垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカーが描画される。
【0077】
7. それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
【0078】
8. 垂直辺あるいは軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、交差点にハンドルが描画される。
【0079】
ルール1、2、3で保証した線は、もしそれらが固定あるいは制限されているなら、点線で描画される。ルール5で保証した可変の辺は、点線で描画される。ルール6、7、8で保証した固定された点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
【0080】
上記で、辺はただ一度描画されることが必要である、それでもし、ルールが描画されるべき辺に影響すれば、そのとき後のルールはふたたび描画されるべき辺に影響しないだろう。もしそうすることで都合が良いなら、例えばもしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画されるかもしれない。
【0081】
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
【0082】
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
【0083】
● 図4の410の辺のように、点線はコンテナのコンテンツに依存して、ドキュメント内の辺の位置を意味する。
【0084】
● 塗りつぶし線は制限された辺を意味する、なぜなら、辺は固定されている(辺414)、あるいはコンテナの幅・高さが固定されている(コンテナ408では両方が固定されている)ため。
【0085】
● アンカーは辺そして軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れるだろう。当然アンカーは固定される。図4のアイコン409は、交差する辺414が固定されていることを意図している、アンカーアイコンの例である。
【0086】
● スライダーは関係付けられた辺が固定されていることを意味する、しかしコンテナは辺に沿って多くの位置『スライドの長さ』で位置を定められる。例えば、図4でスライダー413はコンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。
【0087】
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
【0088】
幅・高さの最小値・最大値の設定は、副次的なダイアログウインドウに表示される。
【0089】
図5Aで、コンテナ501は幅・高さ両方が固定されていない。固定された辺503は塗りつぶし線で表現される。可変の辺504は点線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示す、追加あるいは代わりのインジケーターである。
【0090】
図5Bで、コンテナ501は幅・高さ両方が可変である。アンカーアイコン506は、交差している両方の辺503が固定されていることを、追加であるいは代わりに示している。
【0091】
図5Cで、コンテナ501は、コンテナの拡大あるいは縮小が任意のアンカーアイコン507で示されるような中心点の周りを平等に広がるという状態で、幅・高さ両方が可変である。
【0092】
図5Dで、コンテナ501は、上辺508が固定されていることを除けば、幅・高さ両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている、そしてまたコンテナの左・右辺が、アイコンを通り垂直に描画される中心軸(垂直軸)の周りを、拡大・縮小することを示す。
【0093】
〔リンク〕
リンクは、コンテナとコンテナの関連を示している。関連とはコンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。図4の412で示されているものがリンクであり、この図ではコンテナ407と408とを関連づけている。リンクの設定方法および、リンクで関連付けられたコンテナのレイアウト計算方法については、後述する。
【0094】
〔リンクの設定方法〕
図6はリンクの設定方法を示したフロー図である。また図7A〜図7CはUI例を示している。それらを用いてコンテナにリンクを設定する方法について説明をする。
【0095】
まず、リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)を作成する(0601)。図7は、2つのコンテナを作成してリンクを設定する場合の例を示している。次に、前述したリンクツール406を選択した状態にする(0602)。図7A〜図7Cは、コンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を示している。図7A〜図7Cを順に説明していく。
【0096】
図7−Aの0701と0702は、前述した図4の407と408と同じであり、固定されている辺を意味する。また、0703と0704は、409と同じであり、アンカーを意味する。0705はマウスポインタを意味している。まず、リンクを設定する片方のコンテナをクリックして選択する(0603)。次に図7−Bで示されるように、もう片方のコンテナまでマウスポインタを移動して、クリックする(0604)。図7−Bの0706は図7−Aでクリックをした位置と移動したマウスポインタを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すUIである。処理0604が終わった後、設定した場所に0707で示されるリンクUIが表示される(0605)。コンテナは図7−Cの状態になる。また、リンクが設定されたことにより、コンテナのUIも自動的に変更される(0606)。0708は、点線で示されている辺であり、前述した通り可変の辺を示している。図7−Cのようにコンテナの辺の状態が変化したのは、リンクを設定したことにより、コンテナの辺を可変にする必要があるためであり、リンクを設定したにもかかわらず、全ての辺が固定という矛盾を引き起こすことを防ぐために、自動的に行われる処理である。また、0709は図5の505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したしるしである。図7−Cの例では、左のコンテナの右辺と右のコンテナの左辺が可変に変化したが、これは一例であり、右コンテナが、図4の413で示したスライダーを持つ設定に変化してもかまわない。
【0097】
〔レイアウト計算方法(全体フロー)〕
図8はレイアウト計算のフローを示している。
【0098】
まず、プレビューモードを選択する(0801)。前述した自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付けを行い、レイアウトを作成するレイアウトモードと、作成したレイアウトにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。プレビューモードになったら、プレビューするレコードを選択して挿入する(0802)。レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う。(0803)。処理0803で計算されたレイアウトを表示する(0804)。他のレコードについてもプレビューを行うかどうかを判断する(0805)。処理0805で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(0807)。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(0806)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理0805、0807は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【0099】
〔レイアウト計算方法(詳細フロー)〕
図9はレイアウト計算の詳細を示したフロー図である。また、図10はそのときのUI表示例を示した図である。
【0100】
まず、レイアウトを計算するコンテナの集合を求める(0901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば図11を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナA・Bが集合1、コンテナC・Dが集合2となる。前述した通りであるが、1101はアンカー、1102は固定された辺、1103はコントローラー、1104は可変の辺の変化方向を示している矢印、1105は可変の辺、1106はリンク、そして1107はスライダーを示している。
【0101】
次に、0901で求めたコンテナの集合から、レイアウトを計算するために一つを選択する(0902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(0903)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(0904)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、0902〜0904のステップをページ上のすべての集合について施し、ページ全体のレイアウトを計算する(0905)。
【0102】
図10−A〜図10−Cはレイアウト計算時のUI例である。
【0103】
図10−Aは、あるレコードが挿入されレイアウトが決定されている状態を表している。1001と1002はアンカー、1003と1004は固定された辺、1005は可変の辺、1006は可変の辺の変化方向を示している矢印、1008はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図10−Bは図10−Aの状態に新しいコンテンツのサイズを重ねて示している。1009はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図10−Cはレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図10−Cで示されるように、図10−Bで示した挿入されるコンテンツサイズ(1009)と計算後のコンテンツサイズ(1010)は、双方において同等な差異がある。
【0104】
〔可変リンクの設定〕
図12では一般的な可変リンクの状態を表している。図4と同様にアプリケーションウィンドウ301とツールバー303があり、ドキュメントテンプレート309上にコンテナ1203とコンテナ1204が存在する。それぞれのコンテナは典型的にアンカーアイコン1201、アンカーアイコン1202と固定された辺1205、辺1206から成り立つ。各エッジコンテナ1203と1204の間には可変サイズのリンク1209があり、それぞれのコンテナを結んでいる。コンテナ1203とコンテナ1204の間にはリンクが設定されているのでそれぞれの右辺1207と左辺1208は点線で表現されている。このため各コンテナにインジケーター1210、インジケーター1211が表示され、これは辺1207と辺1208が可変であることを示している。
【0105】
また図14はリンク1209の情報がセットされているダイアログウィンドウ1401の例である。このダイアログは典型的にタイトルバー1402、ツールボタン1403、ダイアログウィンドウの開閉を行うボタン1404、各種の情報をセットするエリア1409で構成されている。このダイアログウィンドウではリンクタイプが可変(1407)あるいは固定(1406)の選択や、可変の場合、リンクの長さの最大値(1410)そして最小値(1412)、また現在の値(1411)が設定できる。
【0106】
図13は前述のリンク設定方法を踏まえ、例えば図15のコンテナAとコンテナB間に張られている固定サイズのリンク1503の状態から可変サイズのリンク1209を示している図12の状態までの操作遷移を表している。マウスによりリンク1503をクリックし、選択する(1302)。マウスの右クリックあるいはキーボードの特定のキーにより選択したリンク1503のプロパティダイアログウィンドウ1401を表示する(1303)。この状態ではリンクサイズは可変ではなく固定であるため、Fixed Length1406がLink Type1405において選択されている。リンクを固定サイズから可変サイズに変更するために、Link Type1405においてリンクサイズを可変に設定するFlexible Length1407を選択する(1304)。これによりLink Distance1408内に配置されているMax. Distance1412、Min. Distance1410、Distance1411が有効化され、数値の設定が可能となる。そこでリンクの可変サイズを設定するために、そのリンクの長さの最大値をMax. Distance1412、最小値をMin. Distance1410、現在の値をDistance1411において設定する(1305)。一般的なダイアログウィンドウ開閉ボタン1404によって設定を適用すると図12のリンク1209のような状態にリンクのUI表示が変化する。(1306)このダイアログウィンドウ1401の設定情報はメモリに格納される。
【0107】
図15は固定サイズのリンクを使用した場合のレイアウト結果を示している。レイアウト計算方法は前述したとおりに従って行われる。例えば図12においてコンテナ1203とコンテナ1204にそれぞれ違ったサイズのデータが挿入された時、それぞれのコンテナはデータの大きさを最適と考え、コンテナ1203は挿入されたイメージサイズになる枠1504(最適コンテナサイズ)に近づこうと右方向へ大きく、同様にコンテナ1204も挿入されたイメージサイズになる枠1505(最適コンテナサイズ)に近づこうと左方向へやや大きくサイズを変更しようとする。しかしコンテナ1203とコンテナ1204の間には固定サイズのリンクが設定されているとすると、コンテナ1203とコンテナ1204はそれぞれアンカー1201とアンカー1202によってそれぞれ左辺1212と右辺1213は移動出来ないため、変更しようとするサイズがリンクサイズを上回ってしまう。そしてこのリンクサイズは固定されているためレイアウト計算時に優先的に計算されるためコンテナ1203とコンテナ1204のサイズが変更されることになる。その結果、コンテナ1203とコンテナ1204はデータに合わせた最適なサイズを確保することが出来ず、最終的に図15のコンテナ1501とコンテナ1502のように最適なサイズ(枠1504、枠1505)よりも小さくなってしまう。リンク1503のサイズは固定であるためコンテナ1501とコンテナ1502は最適サイズを達成していない。
【0108】
図16はリンクを可変サイズにした場合を示している。この場合、上記の例でコンテナ1203とコンテナ1204の間には図の通り可変サイズのリンクが設定されているとすると、コンテナ1203とコンテナ1204のサイズが変更される際に、リンクサイズが縮まることでコンテナ1203とコンテナ1204のサイズが上記の例より大きくなることができ、挿入されるデータサイズに合わせた最適なサイズを達成、あるいはより挿入データサイズ(最適サイズ)に近づけてコンテナの枠を計算することが出来る。その結果が、図16のコンテナ1601とコンテナ1602である。可変リンク1209はレイアウト計算の結果、可変リンク1603のサイズ状態となり、この場合コンテナ1601とコンテナ1602はそれぞれ最適なサイズ(データサイズに合った大きさ)になっている。
【0109】
以上が本発明において前提となる自動レイアウトの方法である。以下クライアントであるブラウザによるプレビュー時のレイアウト結果を微調整する方法について説明する。
【0110】
〔差し込みフィールドを有する文書とデータベース〕
図17は、本システムにおけるデータベースと差し込みフィールドを有する文書の関連を示す図である。図17において、1701は差し込みフィールドを有する文書である。本発明においては、上述したドキュメントテンプレートの使用を想定している。
【0111】
なお文書1701は、「商品名」データを差し込むためのフィールド1702「差し込みフィールドA」、「製品コード」データを差し込むためのフィールド1703「差し込みフィールドB」、「商品画像」データを差し込むためのフィールド1704「差し込みフィールドC」を有する文書である。
【0112】
データベース1705は、前記の各差し込みフィールド1702〜1704用のデータを格納するデータベースである。このデータベースには少なくともテーブル1706「差し込みデータ管理テーブル」と1711「分類別キー名称管理フィールド」が存在する。
【0113】
テーブル1706は、前記の差し込みフィールド1702〜1704にそれぞれ実際に差し込まれるデータを管理するテーブルであり、フィールド1702「差し込みフィールドA」にはキー1708「DATA_A」、フィールド1703「差し込みフィールドB」にはキー1709「DATA_B」、そしてフィールド1704「差し込みフィールドC」にはキー1710「DATA_C」がそれぞれ関連付けられる。
【0114】
〔プレビューおよびコンテンツ微調整〕
図18、図25は上述したサーバ上にある構造のデータベースのデータ、ドキュメントテンプレートを使用して、クライアントのブラウザでプレビューおよびコンテンツ微調整を可能とさせた画面例である。
【0115】
図18の説明を行う。1801は、一般的なWebブラウザを示しており、プレビューおよび微調整画面のUIとなる。1802は、図19(説明は後述する)で作成されたレイアウト済み文書を示す。1803は、1802を表示するためのフレームを示している。1804は、1803のフレームで表示された1802に対して微調整を行う際に、その微調整のパラメータを入力するためのフレームを示す。1805は、微調整をレイアウト済み文書全体(全ページ)に適用するのか、あるページのみの適用にするのかを選択するチェックボックスを示す。1806は、図25(説明は後述する)で表されるように、レイアウト済み文書に対して、ドキュメントテンプレートとデータベースの関連付け状態を表示させるボタンを示す。1807は、レイアウト済み文書の各ページのサムネイルを示す。1808は、微調整を行うフィールドを選択するコントロールを示す。1809は、微調整のパラメータを選択するコントロールを示す。この実施例の場合は「画像を大きく」「文字を大きく」などが羅列される。1810は、1807で説明したサムネイルを一覧表示し、あるサムネイルを選択することが可能なコントロールを示す。選択を行うと、サムネイルの外枠に色をつけることによって、選択状態であることをユーザに通知する。このコントロールは、ブラウザのプラグイン機能を利用して提供される。具体的にはMicrosoft社の技術であるActiveX(登録商標)またはJava(登録商標)で提供されるアプレットを利用する。1811は、1804のフレーム内で設定された微調整パラメータをサーバに対して送信し、再度プレビューを要求するボタンを示す。1812は、1811を実行しで再プレビューを行っていた場合、その操作を取り消す(アンドゥ)要求をサーバに送信するボタンを示す。1813は、1804のフレーム内で設定された微調整パラメータでドキュメントテンプレートファイルをユーザ個人のドキュメントテンプレートとして保存するようサーバに要求するボタンを示す。
【0116】
図25の説明を行う。図18との違いは、ドキュメントテンプレートのコンテナとデータベースのフィールドの関連付けの情報が重なっている点である。コンテナと同じサイズの矩形内にフィールド名称を表示し、1808において微調整を行うフィールドを選択する際の、ユーザ入力支援を行う役割を果たす。
【0117】
この図18で表される画面を表示するためのステップを以下に説明する。なお、使用するドキュメントテンプレートおよび差し込むデータの選択方法はここでは特定しない。
【0118】
図19は、サーバ側でレイアウト済みプレビューデータと微調整に用いるデータを生成し、クライアントブラウザに送信する手順を示すフローチャートである。ステップ1901は、クライアントで、プレビューを行いたい差し込みデータと、そのデータに対して自動レイアウトを行うドキュメントテンプレートが選択されて、プレビュー&微調整をサーバに対して要求されたことを示す。ステップ1902では、差し込みデータに対してドキュメントテンプレートを用いて、上述した方法でレイアウト済み文書として出力結果を作成する処理を示している。ステップ1903では、ステップ1902で作成された出力結果に対して、順序番号(ID)をつけて一時ディレクトリに保存する処理を示している。ステップ1904では、今後クライアントによって処理がキャンセル(アンドゥ)される場合に備えて、ドキュメントテンプレートおよび差し込みデータおよびクライアントのユーザの順序番号(ID)を保存する処理を示している。ステップ1905では、ステップ1902で作成された出力結果のページ数を取得する処理を示している。ステップ1906では、ステップ1905で取得したページ数の繰り返し処理を示している。ステップ1907では、出力結果のページのサムネイルファイルを作成する処理を示している。ステップ1908では、ステップ1907で作成したサムネイルファイルを一時ディレクトリに保存する処理を示している。ステップ1909では、ステップ1905〜1908において作成された全ページのサムネイルファイルを、ブラウザのプラグインに含めてクライアントに送信する処理を示している。ここで言うプラグインとは、一般的にはMicrosoft社の技術であるActiveXコントロールであったり、Java(登録商標)技術であるアプレット形式であったりする。ステップ1910では、ステップ1903で保存された出力結果をクライアントに送信する処理を示している。以上がサーバ内での処理のフローである。
【0119】
図20は、クライアントブラウザからサーバに対して、出力結果の微調整の要求を出すフローチャートである。ステップ2001は、サーバに対して、再度プレビューの要求をかける処理を開始することを示している。ステップ2002は、全ページを微調整するか否かのチェックボックスの状態を取得し分岐する処理を示している。ステップ2003は、ステップ2002でNo(全ページには微調整を適用しない)という場合に、全ページ適用フラグをOFFにするという処理を示している。ステップ2004は、選択されたサムネイルから、微調整を行うマスタデータの順序番号を取得する処理を示している。ステップ2005は、ステップ2002でYes(全ページに微調整を適用する)という場合に、全ページ適用フラグをONにするという処理を示している。ステップ2006は、選択された微調整を行うフィールド(コンテナ)名称を取得する処理を示している。ステップ2007は、拡大、縮小といった微調整パラメータを取得する処理を示している。ステップ2008は、サーバに対して、ドキュメントテンプレートの順序番号(ID)、全ページ適用フラグ、マスタデータの順序番号、ステップ2006、2007で取得した微調整パラメータ、さらに再プレビュー要求を送信する処理を示している。この要求送信処理はブラウザによって行われるものとする。
【0120】
図21は、図20で説明した再プレビューの要求をサーバが受信し、再度クライアントに対してプレビューを行う処理のフローチャートである。2101は、図20のステップ2001で送信された再プレビュー要求を受信する処理を示している。本実施例ではHTTP通信を使用する。ステップ2102は、再プレビュー要求のパラメータの1つである全ページ適用フラグがOnになっているか否かを判定する。ステップ2103は、クライアントから送信されたドキュメントテンプレートの順序番号(ID)から、適用しているドキュメントテンプレートファイルのコピーを作成する処理を示している。ステップ2104は、ステップ2103で作成されたドキュメントテンプレートを一時領域に保存する処理を示している。ステップ2105は、ステップ2104で保存されたドキュメントテンプレートに対して、ステップ2101で受信した調整パラメータ(コンテナ・拡大または縮小)を適用して保存するステップを示している。ステップ2106は、ステップ2105で保存された(微調整パラメータが適用された)ドキュメントテンプレートを用いて、レイアウト済み文書およびサムネイルファイルを再度出力する処理を示している。この処理は図19の処理内容と同様である。ステップ2109は、ステップ2102で全ページ適用フラグがOnではないと判断された場合に、ステップ2101で受信した、微調整を行うマスタIDを取得する処理を示している。ステップ2110は、出力するレコードの数だけ繰り返し処理を行うループ端を示している。ステップ2111では、微調整を行う要求が出されたマスタIDか否かを判断する処理を示している。微調整を行うマスタIDの場合は、ステップ2112で、ステップ2103〜2105と同様の処理を行い、微調整パラメータを反映させたドキュメントテンプレートを用いて、レイアウト済み文書の作成を行う。微調整を行う対象ではないマスタIDの場合は、ステップ2114で示す処理のとおり、オリジナルのドキュメントテンプレートを用いて、レイアウト済み文書を作成する。ステップ2113では、ステップ2110で繰り返し出力されたレイアウト済み文書の各ページに対応したサムネイルファイルの作成処理を示している。この処理は、図19におけるステップ1906〜1908と同様である。ステップ2107では、全ページ適用フラグOnか否かで分岐して作成された、サムネイルファイルをクライアントに送信するブラウザのプラグインに含めて送信する処理を示している。この処理は図19におけるステップ1909と同様である。ステップ2108では、作成したレイアウト済み文書をプレビューとしてクライアントに送信する処理を示している。この処理は図19におけるステップ1910と同様の処理である。
【0121】
図22は、図18の1812で説明したアンドゥ要求ボタンが押された際の、サーバ側における処理のフローチャートを示している。ステップ2201は、クライアントから送信された、ユーザID・マスタIDを取得する処理を示している。ステップ2202は、ステップ2201で取得したユーザID・マスタIDを元に、図19で説明した処理において既に作成されたレイアウト済み文書・サムネイルファイルを一時ディレクトリから取得する処理を示している。ステップ2203は、ステップ2202で取得したサムネイルファイルを、クライアントに送信するブラウザのプラグインに含めて送信する処理を示している。この処理は図19におけるステップ1909と同様である。ステップ2204は、ステップ2202で取得したレイアウト済み文書を、プレビューとしてクライアントに再度送信する処理を示している。この処理は図19におけるステップ1910と同様の処理である。この処理により、クライアントで行われた微調整をアンドゥ(キャンセル)することが実現される。
【0122】
図23は、図18の1813で説明した、決定/ドキュメントテンプレート保存ボタンが押された際の、サーバ側における処理のフローチャートを示している。この図においては、ステップ2309のみが、図21との相違であるため、ステップ2309以外の説明は省略する。ステップ2309は、一時的に新規に保存したドキュメントテンプレートファイルを、ユーザIDと順序番号によって命名し、保存する処理を示している。この処理により、ユーザによる再利用可能なドキュメントテンプレートの保存が実現される。
【0123】
図24は、図18の1806で説明した、ドキュメントテンプレートとマスタデータの関連付け状態表示要求ボタンが押された際の、サーバ側における処理のフローチャートを示している。ステップ2401は、クライアントからの要求からドキュメントテンプレートの順序番号(ID)を取得する処理を示している。ステップ2402は、ステップ2401で特定されたIDのドキュメントテンプレートを開く処理を示している。ステップ2403は、ドキュメントテンプレートとマスタデータの関連付けを示すために利用する、空の文書を作成する処理を示している。ステップ2404は、ドキュメントテンプレートに含まれるコンテナの数だけ繰り返し処理を行うループ端を示している。ステップ2405は、コンテナの位置(座標)情報と矩形サイズを取得する処理を示している。ステップ2406は、ステップ2405で取得した情報を元に、矩形領域を作成する処理を示している。ステップ2407は、コンテナが関連付いているマスタデータ(データベース)のフィールド名称を取得する処理を示している。ステップ2408は、ステップ2406で作成した矩形領域に、ステップ2407で取得したフィールド名称を付加する処理を示している。ステップ2409は、ステップ2403で作成された文書に対して、ステップ2408で作成された矩形領域を加える処理を示している。ステップ2410は、レイアウト済み文書の作成処理を示している。この処理は図19で説明したレイアウト済み文書の作成処理と同様である。ステップ2411は、ステップ2410で作成されたレイアウト済み文書に対して、ステップ2409で作成された文書を重ねる(オーバーレイする)処理を示している。この処理には、図28の178で表される画像編集モジュールが使用される。ステップ2412は、ステップ2412で編集されたレイアウト済み文書を、クライアントに再度送信する処理を示している。この処理により、図25の1820で示されるように、ドキュメントテンプレートとマスタデータの関連付けを、視覚的にクライアントに通知することが可能となる。
【0124】
サーバ側のコンテンツでDLEを適用した結果のPDFをクライアントに送信する。またそのPDFの各ページのサムネイルを生成し、クライアントActiveXに送信する。(サーバ側動作)
左フレームのページ一覧(サムネイル)で微調整したいレコード位置を選択し、微調整したいフィールドをドロップダウンリストから選択する。調整したいフィールドの縦横比を固定にするかどうかを選択し、拡大/縮小率を決定する。(クライアント操作)
左フレームのプレビューボタンを押す。(クライアント操作)
微調整するパラメータ(レコード・フィールド・+-)がサーバに送信される。(クライアント動作)
微調整パラメータを受け取り、反映させる形で再度DLEを適用しPDFを生成し、クライアントに送信する。(サーバ側動作)
右フレームに微調整されたPDFがプレビューされる。(クライアント側動作)
3.のレコード位置の選択では「全ページ」を選択することができる。この場合は全レコードのフィールドが微調整される。(クライアント操作)
3.でテンプレート状態ボタンが押されるとテンプレート状態要求情報がサーバに送信される。
【0125】
サーバは9.の情報を受信するとDLEテンプレートに紐付いたフィールド名称をオーバーレイした形のPDFを再度出力し、クライアントに送信する。
【0126】
クライアントは9.の結果DLEテンプレートに紐付いたフィールド名称をオーバーレイした形のPDFを右フレームにプレビューする。(クライアント動作)
Undoボタンを押すとキャンセル情報がサーバに送信される。(クライアント操作)
サーバ側のコンテンツでDLEを適用した結果のPDFをクライアントに送信する。(サーバ側動作)
テンプレート保存ボタンを押すと微調整するパラメータ(レコード・フィールド・+-・テンプレート保存)がサーバに送信される。(クライアント操作)
サーバは微調整するパラメータを受信し、元となるDLEテンプレートをコピーし、パラメータを変更し、個人用のものとして別名で保存する。(サーバ側動作)
なお、本発明は、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは云うまでもない。
【0127】
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部又は全部を行い、その処理によって上記実施の形態の機能が実現される場合も含まれることは云うまでもない。
【0128】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは云うまでもない。
【0129】
また、本発明は、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
【図面の簡単な説明】
【0130】
【図1】本発明のコンピュータシステム構成図を示している。
【図2】本発明の、図1のコンピュータシステムにエンジンサーバーを追加した構成図を示している。
【図3】本発明のメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウを示している。
【図4】本発明のコンテナ間のリンク、アンカーやスライダーを持つ典型的なコンテナの一面をスクリーン、ツール、アイコンで示している。
【図5】本発明の典型的なコンテナルールを示している。
【図6】本発明のリンクを作成するフローを示している。
【図7】リンク作成時のUI図例を示している。
【図8】本発明におけるレイアウト計算の全体フローを示している。
【図9】本発明におけるレイアウト計算の詳細フローを示している。
【図10】本発明における図9のフローに対応するUI例である。
【図11】本発明のレイアウト計算時におけるコンテナの集合について説明した図を示している。
【図12】本発明の典型的な可変リンクによるコンテナ配置を示している。
【図13】本発明の図12の状態までの操作遷移を表している。
【図14】本発明の典型的なリンクの設定ダイアログウィンドウを示している。
【図15】本発明の固定リンクによるレイアウト結果を示している。
【図16】本発明の可変リンクによるレイアウト結果を示している。
【図17】本発明のドキュメントテンプレートとデータベースの関連付けを示している。
【図18】本発明のWebブラウザにおけるプレビュー・微調整画面例を示している。
【図19】本発明におけるプレビュー・微調整画面を送信するフローを示している。
【図20】本発明における再プレビュー要求のフローを示している。
【図21】本発明における再プレビュー作成のフローを示している。
【図22】本発明における微調整のアンドゥ処理のフローを示している。
【図23】本発明におけるドキュメントテンプレート保存のフローを示している。
【図24】本発明におけるドキュメントテンプレートとマスタデータ関連付け状態を表示させるフローを示している。
【図25】本発明のWebブラウザにおけるドキュメントテンプレートとマスタデータの関連付け状態表示画面を示している。
【図26】本発明の図1におけるコンピュータモジュールの概略図を示している。
【図27】本発明のネットワーク構成図を示している。
【図28】本発明のモジュール構成のブロック図を示している。
【符号の説明】
【0131】
101 汎用コンピュータモジュール
103 ユーザインターフェース
105 レイアウトエンジン
119 データベース
121 レイアウトアプリケーションプログラム
132 キーボード
133 マウス
143 I/Oインタフェース
144 ビデオディスプレイ
301 アプリケーションウインドウ
303 ツールバー
313 カーソル/ポインタ
406 リンクツールボタン
407、408 コンテナ
409 アンカーアイコン
410 固定されていない辺
412 リンク

【特許請求の範囲】
【請求項1】
情報処理装置を備え、コンテナ領域の中のデータから、少なくともテキストおよびイメージデータを挿入してドキュメントを作成する際に、プレビュー時にテキストおよびイメージのサイズにあわせて、コンテナのサイズを変更することが可能で、さらにコンテナ間の関連を設定することにより、その間隔を保って変更することが可能である自動レイアウトシステムを用いて、
編集(レイアウト変更)したいフィールドを選択するステップと、
拡大・縮小レイアウト情報を選択するステップと、
拡大・縮小レイアウト情報をサーバに送信するステップと、
クライアントからの拡大・縮小情報を取得し、レイアウト情報を記憶したファイル(ドキュメントテンプレート)をコピーし拡大・縮小情報を反映させるステップと、
コピーによって新たに作成したテンプレートを適用して再度出力するステップと、
最終的に決定したテンプレートを個人で使用するテンプレートとして保存するステップを有し
コンテンツと関連付く情報がデータベースで管理されることを特徴とするWeb文書処理方法。
【請求項2】
請求項1に記載のステップに加え、出力結果を一時的に保存し、前記出力結果を再利用することで、再度出力した処理をアンドゥ(キャンセル)するステップを備えたことを特徴とするWeb文書処理方法。
【請求項3】
請求項1に記載のステップに加え、ドキュメントテンプレートとデータベースの関連付けを、出力結果に対して、矩形領域とテキストを重ね合わせるステップを備えることによってプレビューを可能とさせることを特徴とするWeb文書処理方法。
【請求項4】
請求項1〜請求項3のいずれかに記載のWeb文書処理方法をコンピュータに実現させるためのプログラム。
【請求項5】
請求項4に記載のプログラムを記憶したコンピュータで読取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2007−122486(P2007−122486A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−314867(P2005−314867)
【出願日】平成17年10月28日(2005.10.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】