(57)【要約】【課題】  バリアブル印刷システムによって作成されたテンプレートファイルに基づく文書を独自フォーマットに変換して取り込む場合に、レコードの概念を取り入れた形式で文書を構築し、元のレコードの概念単位に対する操作を好適に行うことができる文書処理装置及び文書処理方法並びにプログラムを提供する。【解決手段】  指定された領域に指定されたバリアブルデータを当てはめた文書データを印刷する印刷ジョブをプリンタ１０７に対して発行するコンピュータ１００において、当該バリアブルデータをレコードに基づいてマージすることが可能なテンプレートデータをインポートし、インポートされるレコード毎にテンプレートデータに区切りを仮設定し、指定された領域に所定のバリアブルデータがマージされたテンプレートデータを、区切りが仮設定されたレコード単位に取り込む。【選択図】  図２０
2006215819.tif 000002
【特許請求の範囲】
【請求項１】
指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行する文書処理装置であって、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断手段と、
前記判断手段によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定手段と、
前記仮設定手段により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込手段と
を備えることを特徴とする文書処理装置。
【請求項２】
前記取込手段は、前記バリアブル出力データのテンプレートデータに指定された領域に所定のバリアブルデータを割り当てる割当手段を含んでおり、該所定のリアブルデータが割り当てられたバリアブル出力データを電子原稿ファイルとして取り込むことを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記判断手段は、バリアブル出力アプリケーションにより所定のバリアブルデータが所定の領域に割り当てられたバリアブルデータのインポートが指示された場合に、該バリアブル出力アプリケーションから出力されるバリアブル出力コマンドを受け取ることにより、前記文書ファイルがバリアブル出力データであると判断することを特徴とする請求項１に記載の文書処理装置。
【請求項４】
前記仮設定手段により前記区切りが仮設定されたレコード単位に個別の印刷設定を行う印刷設定手段をさらに備え、
前記印刷設定手段によって前記レコード単位に個別の印刷設定がされた印刷ジョブを発行することを特徴とする請求項１から３までのいずれか１項に記載の文書処理装置。
【請求項５】
前記仮設定手段により前記区切りが仮設定されたレコード単位に個別に前記電子原稿ファイルをプレビュー表示する表示制御手段をさらに備えることを特徴とする請求項１から４までのいずれか１項に記載の文書処理装置。
【請求項６】
前記仮設定手段により仮設定された前記区切りを操作して、前記表示制御手段によって表示された前記電子原稿ファイルの印刷ページを操作する操作手段をさらに備えることを特徴とする請求項５に記載の文書処理装置。
【請求項７】
前記バリアブル出力データの中に全レコード中で共通するテンプレートページが、前記取込手段によってレコード毎に重複して取り込まれないように重複防止処理を行う重複防止手段をさらに備えることを特徴とする請求項１から６までのいずれか１項に記載の文書処理装置。
【請求項８】
指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行する文書処理方法であって、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断工程と、
前記判断工程によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定工程と、
前記仮設定工程により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込工程と
を有することを特徴とする文書処理方法。
【請求項９】
前記取込工程は、前記バリアブル出力データのテンプレートデータに指定された領域に所定のバリアブルデータを割り当てる割当工程を含んでおり、該所定のリアブルデータが割り当てられたバリアブル出力データを電子原稿ファイルとして取り込むことを特徴とする請求項８に記載の文書処理方法。
【請求項１０】
前記判断工程は、バリアブル出力アプリケーションにより所定のバリアブルデータが所定の領域に割り当てられたバリアブルデータのインポートが指示された場合に、該バリアブル出力アプリケーションから出力されるバリアブル出力コマンドを受け取ることにより、前記文書ファイルがバリアブル出力データであると判断することを特徴とする請求項８に記載の文書処理方法。
【請求項１１】
前記仮設定工程により前記区切りが仮設定されたレコード単位に個別の印刷設定を行う印刷設定工程をさらに有し、
前記印刷設定工程によって前記レコード単位に個別の印刷設定がされた印刷ジョブを発行することを特徴とする請求項８から１０までのいずれか１項に記載の文書処理方法。
【請求項１２】
前記仮設定工程により前記区切りが仮設定されたレコード単位に個別に前記電子原稿ファイルを表示画面上にプレビュー表示する表示制御工程をさらに有することを特徴とする請求項８から１１までのいずれか１項に記載の文書処理方法。
【請求項１３】
前記仮設定工程により仮設定された前記区切りを操作して、前記表示制御工程によって表示された前記電子原稿ファイルの印刷ページを操作する操作工程をさらに有することを特徴とする請求項１２に記載の文書処理方法。
【請求項１４】
前記バリアブル出力データの中に全レコード中で共通するテンプレートページが、前記取込工程によってレコード毎に重複して取り込まれないように重複防止処理を行う重複防止工程をさらに有することを特徴とする請求項８から１３までのいずれか１項に記載の文書処理方法。
【請求項１５】
指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行するコンピュータに、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断手順と、
前記判断手順によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定手順と、
前記仮設定手順により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込手順と
を実行させるためのプログラム。
【請求項１６】
前記取込手順は、前記バリアブル出力データのテンプレートデータに指定された領域に所定のバリアブルデータを割り当てる割当手順を含んでおり、該所定のリアブルデータが割り当てられたバリアブル出力データを電子原稿ファイルとして取り込むことを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記判断手順は、バリアブル出力アプリケーションにより所定のバリアブルデータが所定の領域に割り当てられたバリアブルデータのインポートが指示された場合に、該バリアブル出力アプリケーションから出力されるバリアブル出力コマンドを受け取ることにより、前記文書ファイルがバリアブル出力データであると判断することを特徴とする請求項１５に記載のプログラム。
【請求項１８】
前記仮設定手順により前記区切りが仮設定されたレコード単位に個別の印刷設定を行う印刷設定手順をさらに実行させ、
前記印刷設定手順によって前記レコード単位に個別の印刷設定がされた印刷ジョブを発行することを特徴とする請求項１５から１７までのいずれか１項に記載のプログラム。
【請求項１９】
前記仮設定手順により前記区切りが仮設定されたレコード単位に個別に前記電子原稿ファイルを表示画面上にプレビュー表示する表示制御手順をさらに実行させることを特徴とする請求項１５から１８までのいずれか１項に記載のプログラム。
【請求項２０】
前記仮設定手順により仮設定された前記区切りを操作して、前記表示制御手順によって表示された前記電子原稿ファイルの印刷ページを操作する操作手順をさらに実行させることを特徴とする請求項１９に記載のプログラム。
【請求項２１】
前記バリアブル出力データの中に全レコード中で共通するテンプレートページが、前記取込手順によってレコード毎に重複して取り込まれないように重複防止処理を行う重複防止手順をさらに実行させることを特徴とする請求項１５から２０までのいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（ＰＣ）等の情報処理装置、スキャナ及びプリンタ等から生成された電子データを編集する文書処理装置及び文書処理方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータ上でさまざまな用途の文書を作成するために、多くのアプリケーションが提供されている。例えば、文書の作成に適したアプリケーション、図形の作成に適したアプリケーション、画像データの編集に適したアプリケーション等の、目的に応じてユーザは異なるアプリケーションを使用している。しかし、ユーザが所望とする文書が、テキストの多いページ、図形が多くプレゼンテーションで用いるページ、写真等の画像データを加工するページ等の、異なるアプリケーションで作成した方が効率がよい場合が考えられる。
【０００３】
そこで、複数種類のデータを含む目的文書を作成するために、利用者は各種アプリケーションが備えている印刷機能を利用してアプリケーションごとにデータを印刷させ、印刷物を所望の順序に組み合わせることで所望とする文書を得る必要があり、ユーザの操作負担や無駄な印刷が行われてしまうという問題があった。
【０００４】
そこで、特許文献１に開示されている仕組みでは、コンピュータにおいて、異なるアプリケーションで生成された複数の文書を共通の中間フォーマットに変換し、１つの文書として扱う技術が提供されている。この仕組みを用いることで、複数種類のデータを含む目的文書を、コンピュータ上の操作だけで、かつ、電子原稿として入手することが可能となる。
【０００５】
また、特許文献１のシステムにおいては、ＰＣ上のアプリケーションソフトウェアで作成した文書データを、作成したアプリケーションに依存しない電子データに変換し、両面印刷、ステイプル、パンチ穴等の加工指示を付加して印刷装置より出力することも一般的に行われている。さらに、従来の文書処理システムにおいては、スキャナで読み取られた生成された画像データのページと入力された電子データのページとを組み合わせて電子原稿として保存し、両面印刷、ステイプル、パンチ穴等の加工指示を付加して印刷装置より出力することも行われている。
【０００６】
一方で、印刷業界においては、顧客ごとにデータを差し替えて印刷を行うバリアブルプリントが行われている。バリアブルプリントとは、一般的に宛名印刷等に用いられる印刷方式であって、データベースから宛名データ（データベースレコード）を顧客ごとに差し替えて印刷を行うものである。このようなバリアブルプリントでは、レイアウトテンプレートとデータベース内のデータとを結合（オーバレイ）することによって出力物（印刷物）が得られる。
【０００７】
このようなバリアブルプリントを行うためのアプリケーションも、特許文献２に開示されている。特許文献２の仕組みによれば、フォーム作成アプリケーションによりフォームテンプレートを作成することができ、このフォームテンプレートの各フィールドをデータベースのデータに関連付けることで、データベース中の複数レコードの対応するデータフィールドからデータを読み出し、必要なレコード分だけ、印刷データを生成することが可能となる。
【特許文献１】特開２００３−９１３８４号公報
【特許文献２】特開２０００−１２２８３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献２のフォームアプリケーションは、それ自体ではバリアブルプリント機能を備えているが、印刷実行時には、プリンタドライバに対して、通常のアプリケーションと同様にページ単位に描画データを出力するだけであるため、印刷データが生成された時点では、バリアブルプリントのレコードの概念がなくなってしまっている。例えば、フォームテンプレート（バリアブルテンプレートとも呼ばれる）が３ページから構成されており、３レコード分の印刷を行う場合、レコード毎に３ページの印刷が行われるため、全体で９ページ分の印刷データが生成されることになる。よって、その印刷データを印刷装置で印刷することにより、結果として３レコード分の印刷物を得ることは可能であるが、印刷データにはどのページでレコードが終了するのか属性が存在していない。
【０００９】
従って、上記特許文献１の印刷設定アプリケーション（製本アプリケーションとも呼ばれる）のように、任意のアプリケーションで作成された文書を、そのアプリケーションからの印刷出力として受け取り、独自フォーマットのファイルに変換するシステム（例えば、米国Ａｄｏｂｅ社のＰＤＦ  Ｗｒｉｔｅｒも同様）の場合、受け取った出力データはレコードの概念が存在しないため、このシステムでは、１文書として管理されることになる。例えば、上記のケースであれば、９ページの１文書として取り込まれることになる。よって、このシステムから印刷装置に対する印刷データを行う場合には、９ページの１文書として印刷されることになってしまう。そこで、元のフォーム作成アプリケーションで作成した２レコード目の文書について、印刷設定アプリケーションから印刷処理を実行しようとする場合、ユーザが目視で、２レコード目に該当するページ部分を認識し、かつ、手動で認識したページ範囲の印刷を指示しなければならない。
【００１０】
さらに、上述したように、アプリケーションから文書を取り込んだ単位を１つの章として複数の章からなる文書を管理するような場合、操作はより複雑になり、章単位での印刷を許可するが、各章において特定のページのみの印刷を許可しない特許文献１の仕組みでは印刷できない場合が考えられる。例えば、フォーム作成アプリケーションで作成した文書が第２章に取り込まれ、他のアプリケーションで第１章と第３章に対応する文書を取り込んでいる場合、印刷順として、第１章、第２章の２レコード目に対応するページ、第３章という印刷指示を行うことができないという問題がある。
【００１１】
上述した従来の文書処理システムに対してバリアブルプリントを適用して、バリアブルプリントで用いられるテンプレートファイルを処理しようとしても、従来の文書処理システムにはデータベースレコードの概念が存在しないため、バリアブルプリントの概念を取り入れた編集処理を施すことができなかった。
【００１２】
また、従来の文書処理システムにおいて印刷設定を施した後に印刷を実行した場合、当該文書処理システムにはデータベースレコードの概念が存在しないために、レコード毎の印刷物を得ることができなかった。
【００１３】
本発明は、このような事情を考慮してなされたものであり、バリアブル印刷システムによって作成されたテンプレートファイルに基づく文書を独自フォーマットに変換して取り込む場合に、レコードの概念を取り入れた形式で文書を構築し、元のレコードの概念単位に対する操作を好適に行うことができる文書処理装置及び文書処理方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は、指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行する文書処理装置であって、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断手段と、
前記判断手段によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定手段と、
前記仮設定手段により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込手段と
を備えることを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行する文書処理方法であって、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断工程と、
前記判断工程によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定工程と、
前記仮設定工程により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込工程と
を有することを特徴とする。
【００１６】
さらに、上記課題を解決するために、本発明は、指定された領域に指定されたバリアブルデータを当てはめた電子原稿データに基づく印刷ジョブを発行するコンピュータに、
文書ファイルがインポート指示された場合に、インポート指示された前記文書ファイルが指定された領域に指定されたバリアブルデータをレコード単位に当てはめるバリアブル出力データであるか否かを判断する判断手順と、
前記判断手順によりインポート指示された前記文書ファイルがバリアブル出力データであると判断された場合に、インポートされる前記バリアブル出力データをレコード毎に分けるためにレコード単位に区切りを仮設定する仮設定手順と、
前記仮設定手順により前記区切りが仮設定されたレコード単位に分けて前記バリアブル出力データを取り込み、該区切りが設定された電子原稿データを生成する取込手順と
を実行させるためのプログラムであることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、バリアブル印刷システムによって作成されたテンプレートファイルに基づく文書を独自フォーマットに変換して取り込む場合に、レコードの概念を取り入れた形式で文書を構築し、元のレコードの概念単位に対する操作を好適に行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の一実施形態に係る文書処理システムについて詳細に説明する。
【００１９】
≪文書管理システムの構成≫
まず最初に、本実施形態に係る文書処理システムのシステム構成について説明する。
【００２０】
＜システム構成＞
図１は、本発明の一実施形態に係るスタンドアロン型の文書処理システムのソフトウェア構成図である。図１に示すように、本実施形態に係る文書処理システムは、情報処理装置として好適な実施形態であるコンピュータ（ホストコンピュータ）１００と、それに接続されたプリンタとによって実現されている。ここで、ホストコンピュータ１００は、一般アプリケーション１０１と、当該一般アプリケーション１０１によって作成されたデータファイルを電子原稿ファイル１０３に変換する電子原稿ライタ１０２と、その電子原稿ファイル１０３を編集する機能を提供する製本アプリケーション１０４とを備えている。これにより、ホストコンピュータ１０１は、作成されたデータファイルを一まとめにした文書の作成及び編集が可能となり、その操作性を向上させて文書編集を効率的に行うことができる。尚、本発明の一実施形態に係る印刷設定アプリケーションは、電子原稿ライタ１０２と製本アプリケーション１０４とを含んでおり、バリアブルテンプレート文書を取り込む際に、レコードの概念付きで電子原稿を作成する仕組みを特徴とする。
【００２１】
図１に示す一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、或いはペイント、プレゼンテーション、テキスト編集等の機能を提供するアプリケーションプログラム及びフォームテンプレート（バリアブルテンプレートとも呼ぶ）を作成し、フォームテンプレートに関連付けられたデータベースの各レコードのデータフィールドから必要なデータを取り込み、結合（オーバレイ、マージと呼ばれる）するアプリケーションであり、オペレーティングシステム（ＯＳ）に対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データ等のアプリケーションデータを印刷する際に、ＯＳによって提供される所定のインタフェース（例えば、ＧＤＩ）を利用する。すなわち、一般アプリケーション１０１は、作成したデータを印刷するために、上述したインタフェースを提供するＯＳの出力モジュールに対してあらかじめ定められるＯＳに依存する形式の出力コマンド（例えば、ＧＤＩ関数）を送信する。尚、フォーム作成プリケーションもまた、他のアプリケーションと同様に、フォームテンプレートと必要なデータフィールドのデータとをマージした印刷出力（ＧＤＩ）を出力する機能を備えている。
【００２２】
一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド（例えば、ＤＤＩ関数）を出力する。出力デバイスが処理可能な形式は、デバイスの種類、メーカ、或いは機種等によって異なるため、デバイスごとにデバイスドライバが提供されている。そこで、ＯＳは、そのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）でくくることにより印刷ジョブを生成する。例えば、ＯＳとしてマイクロソフト社のウインドウズを利用する場合には、前述した出力モジュールとしてはＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるモジュールが相当する。
【００２３】
また、図１において電子原稿ライタ１０２は、上述のデバイスドライバを改良したものであり、本文書処理システムを実現するために提供されるソフトウェアモジュールである。但し、電子原稿ライタ１０２は、特定の出力デバイスを目的としておらず、後述する製本アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２による変換後の形式（以降、「電子原稿形式」と呼ぶ。）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特にその形式は問わない。例えば、実質的な標準形式のうち、アドビシステムズによるＰＤＦ形式やＳＶＧ形式等が電子原稿形式として採用可能である。
【００２４】
一般アプリケーション１０１から電子原稿ライタ１０２を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定した後に印刷を実行させる。但し、電子原稿ライタ１０２によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、製本アプリケーションは、デバイスドライバとして電子原稿ライタ１０２を指定し、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション１０４は、電子原稿ライタ１０２が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。
【００２５】
以下では、この点を明瞭に識別する必要がある場合に、電子原稿ライタ１０２によって作成されたファイルを「電子原稿ファイル」と称し、製本アプリケーション１０４によって構造を与えられた電子原稿ファイルを「ブックファイル」と称す。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（又は、文書データ）と称す。
【００２６】
このように本実施形態では、デバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりデータを印刷させることで、アプリケーションデータは一般アプリケーション１０１によって定義されたページ（以下、「論理ページ」或いは「原稿ページ」と称す。）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３としてハードディスク等の記憶媒体に格納される。尚、ハードディスクは、本実施形態に係る文書処理システムを実現するコンピュータが備えているローカルなハードディスクドライブであっても良く、ネットワークに接続されている場合には、ネットワーク上で提供されるネットワークドライブであっても良い。
【００２７】
図１において、製本アプリケーション１０４は、電子原稿ファイル（或いは、ブックファイル）１０３を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション１０４は、各ページの内容を編集する機能までは提供しておらず、ページを最小単位として構成する、後述する章やブックの構造を編集するための機能を提供する。
【００２８】
製本アプリケーション１０４によって編集されたブックファイル１０３を印刷する際には、製本アプリケーション１０４によって電子原稿デスプーラ１０５が起動される。電子原稿デスプーラ１０５は、製本アプリケーション１０４と共にコンピュータ１００内にインストールされるプログラムモジュールであり、製本アプリケーション１０４で利用するドキュメント（ブックファイル）を印刷する際に、プリンタドライバ１０６へ描画データを出力するために使用されるモジュールである。
【００２９】
電子原稿デスプーラ１０５は、指定されたブックファイル（電子原稿ファイル）１０３をハードディスクから読み出し、ブックファイル１０３に記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７用のプリンタドライバ１０６がデバイスドライバとして指定される。ここで、上記出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して、指定されたプリンタ１０７用のプリンタドライバ１０６に出力し、そのプリンタドライバ１０６がプリンタ１０７で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドは、プリンタドライバ１０６から不図示のシステムスプーラを介してプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【００３０】
図２は、本発明の一実施形態に係る文書処理システムにおけるコンピュータ１００のハードウェア構成図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭ２０３に記憶されたプログラム、或いはハードディスク２１１からＲＡＭ２０２にロードされたＯＳ、一般アプリケーション１０１、製本アプリケーション１０４等のプログラムを実行し、図１に示すソフトウェア構成や、後述するフローチャートの手順を実現する装置である。
【００３１】
また、図２において、ＲＡＭ２０２は、ＣＰＵ２０１の主メモリやワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８は、コンピュータ１００に接続されたプリンタ１０７との間の信号の交換を制御する。ＮＣ２１２は、ネットワークに接続されており、当該ネットワークに接続された他の機器との通信制御処理を実行する。
【００３２】
＜電子原稿データの形式＞
製本アプリケーション１０４の詳細について言及する前に、本実施形態におけるブックファイル（電子原稿ファイル）１０３のデータ形式について説明する。ブックファイル１０３は、紙媒体の書物を模倣した３層の層構造を有する。まず、上位層は「ブック」と呼ばれ、１冊の本を模倣しており、その本全般に係る属性が定義されている。次に、その下の中間層は、本でいう章に相当し、同様に「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」と呼ばれ、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。さらに、一つのブックは複数の章を含む場合があり、また一つの章は複数のページを含む場合がある。
【００３３】
図３は、本発明の一実施形態におけるブックファイル１０３の構造の一例を示す図である。ここで、図３（Ａ）は、ブックファイル１０３の形式の一例を模式的に示す図である。図３（Ａ）に示すように、本実施形態では、ブックファイルにおけるブック、章、ページは、それぞれに相当するノードにより示されている。尚、一つのブックファイルは一つのブックを含むものとする。また、ブック及び章は、ブックとしての構造を定義するための概念である。従って、当該ブック及び章は、定義された属性値と下位層へのリンクとをその実体として保持する。そして、ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として保持する。そのため、ページは、その属性値だけでなく、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンク情報を含んでいる。
【００３４】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。そして、この構造に関しては、リンクによって示されず、ブック、章、ページ各階層における属性として示される。
【００３５】
図３（Ａ）において、ブック３０１には、ブック属性が定義されていると共に、２つの章３０２Ａ及び３０２Ｂがリンクされている。そして、このリンクによって、章３０２Ａ及び３０２Ｂがブック３０１に包含されていることが示される。また、章３０２Ａには、ページ３０３Ａ及び３０３Ｂがリンクされ、これらのページが含まれることが示されている。さらに、各ページ３０３Ａ及び３０３Ｂにはそれぞれ属性値が定義され、その実体である原稿データ（１）及び原稿データ（２）へのリンクが含まれる。これらのリンクは、図３（Ｂ）に示すように、原稿データ３０４のうちの原稿データ（１）及び原稿データ（２）を示しており、ページ３０３Ａ、３０３Ｂの実体が原稿データ（１）、（２）であることが確認できる。
【００３６】
図４は、ブック属性の一覧を示す図である。尚、ブック属性、章属性及びページ属性のうち、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用されるものとする。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値がブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図４に示された各項目には、具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００３７】
図５は、章属性の一覧を示す図である。また、図６は、ページ属性の一覧を示す図である。尚、章属性とページ属性との関係も、前述したブック属性とその下位層の属性との関係と同様である。
【００３８】
図４、図５及び図６に示すリストから明らかなように、ブック属性に固有の項目には、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目がある。これらは、ブックを通して定義される項目である。
【００３９】
まず、印刷方法属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定することができる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。次に、製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等を指定することができる。さらに、表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加するための指定、及び付加した用紙への印刷内容の指定を含む。
【００４０】
さらにまた、インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス（耳）部分への印刷内容の指定を含む。当該インデックス紙属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合や、或いは、複数の給紙カセットを使用可能である場合に有効となる。これは次の合紙属性についても同様である。合紙属性は、章の区切りとして、インサータから、或いは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合における給紙元の指定等を含む。
【００４１】
さらにまた、章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、或いは特に何もしないか等の指定を含む。尚、片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。また、両面印刷時には、「新たな用紙の使用」を指定することによって、連続する章が１枚の用紙に印刷されることはない。しかし、「新たな印刷ページの使用」を指定した場合には、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００４２】
次に、章属性に関しては、図４及び図５に示すように、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なっている場合は、章属性で定義された値が優先する。ここで、ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。
【００４３】
まず、Ｎ−ｕｐ印刷指定属性は、１印刷ページに含まれる原稿ページ数を指定するための項目である。Ｎ−ｕｐ印刷指定属性で指定可能な配置としては、１×１、１×２、２×２、３×３、４×４等がある。次に、排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００４４】
そして、ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、バリアブル項目、ページ分割等がある。ここで、ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。また、ズーム属性は、原稿ページの変倍率を指定するための項目である。尚、変倍率は、仮想論理ページ領域のサイズを１００％として指定される。また、仮想論理ページ領域とは、原稿ページをＮｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば、Ｎ−ｕｐ印刷指定属性で１×１が指定されている場合であれば、仮想論理ページ領域は１印刷ページに相当する領域となる。また、Ｎ−ｕｐ印刷指定属性で１×２が指定されている場合であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００４５】
また、電子原稿ファイルのページ毎にバリアブル領域（フィールド領域）と呼ばれるバリアブルデータ（可変データ）がマージされる領域が設定可能である。バリアブル領域が設定されている場合は、ページ属性のバリアブル項目（図６の項目７）に、バリアブル領域の位置、大きさ、及びデータベース中のデータフィールドへのリンクが記載される。バリアブル印刷時には、このバリアブル項目に記載されている位置及び大きさにバリアブル領域が生成され、リンクにより関連付けられているデータベース中のフィールド領域からレコード単位にバリアブルデータが読み込まれ、ページ単位にマージされて出力される。また、印刷物は、レコード単位に出力されることになる。
【００４６】
さらに、ブック、章及びページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列等である。また、ヘッダ・フッタとは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時等変数により指定可能な項目が用意されている。
【００４７】
尚、ウォーターマーク属性及びヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいては、ウォーターマークやヘッダ・フッタの内容を設定することが可能であるとともに、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定することができる。
【００４８】
＜ブックファイルの生成手順＞
次に、製本アプリケーション１０４及び電子原稿ライタ１０２による上述したような構成を有するブックファイルの作成手順について説明する。尚、ブックファイルの作成手順は、製本アプリケーション１０４によるブックファイルの編集操作の一環として実現される。
【００４９】
図７は、本発明の一実施形態に係る製本アプリケーション１０４によってブックファイルを開く際の手順を説明するためのフローチャートである。まず、製本アプリケーション１０４によって、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるかを判定する（ステップＳ７０１）。その結果、新規作成の場合（Ｙｅｓ）には、章を含まないブックファイルを新規に作成する（ステップＳ７０２）。新規に作成されるブックファイルは、図３の例で示した場合、ブックノード３０１のみ有しており、章以下のノードに対するリンクが存在しないブックのノードとなる。尚、この際のブック属性としては、新規作成用としてあらかじめ用意された属性値が適用されセットされる。
【００５０】
そして、新規ブックファイルを編集するためのユーザインタフェース（ＵＩ）画面を表示する（ステップＳ７０４）。図１１は、新規にブックファイルが作成された際に表示される製本アプリケーション１０４のＵＩ画面の一例を示す図である。この場合は、ブックファイルは実質的な内容を持たないため、図１１に示すように、ＵＩ画面１１００内には何も表示されない。
【００５１】
一方、ステップＳ７０１において既存のブックファイルがあると判定された場合（Ｎｏ）は、指定されたブックファイル（電子原稿ファイル）を開く（ステップＳ７０３）。そして、ステップＳ７０４に進んで、そのブックファイルの構造、属性、内容に従ってユーザインタフェース（ＵＩ）画面を表示する。図１０は、既存のブックファイルから指定されたブックファイルを表示する製本アプリケーション１０４のＵＩ画面の一例を示す図である。図１０に示すように、この場合のＵＩ画面１１００には、ブックの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とが含まれる。
【００５２】
図１０に示すように、ツリー部１１０１には、ブックに含まれる章、各章に含まれるページが図３（Ａ）に示すような木構造を用いて表示される。尚、ツリー部１１０１に表示されるページは原稿ページである。また、プレビュー部１１０２には、印刷ページの内容が縮小されて表示される。尚、印刷ページの表示順序は、ブックの構造を反映したものとなっている。
【００５３】
ここで、上述したような手順で開かれたブックファイルには、電子原稿ライタ１０２によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を「電子原稿インポート機能」と呼ぶ。図７に示す手順によって新規に作成された当該ブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられることとなる。この機能は、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【００５４】
図８は、電子原稿ファイルをブックファイルにインポートする手順を説明するためのフローチャートである。まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動して、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを印刷出力させて、電子原稿データに変換する（ステップＳ８０１）。そして、電子原稿データへの変換が終った後、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。
【００５５】
ステップＳ８０２での判定は、例えば、ウインドウズＯＳ下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「ｂｍｐ」であればウインドウズビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定することができる。また、このような画像データの場合は、アプリケーションプログラムを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、ステップＳ８０１の処理を省略することも可能である。
【００５６】
この結果、ステップＳ８０２の判定で画像データではないと判定された場合（Ｎｏ）は、ステップＳ８０１で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
【００５７】
また、ステップＳ８０２の判定で画像データであると判定された場合（Ｙｅｓ）は、原則として新たな章は追加されず、指定されている章に対してステップＳ８０１で生成された電子原稿ファイルに含まれる各原稿ページが追加される（ステップＳ８０４）。但し、ブックファイルが新規作成されたファイルである場合には新たな章が作成されて、その章に属するページとして、電子原稿ファイルの各ページが追加される。
【００５８】
この際に、ページ属性としては、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Ｎｕｐ指定等がアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、或いは、新規な章が追加される。
【００５９】
図９は、図８に示される、電子原稿ライタ１０２により電子原稿ファイルを生成させる処理（ステップＳ８０１）の細部処理手順を説明するためのフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く（ステップＳ９０１）。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとしてＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ１０２によって電子原稿形式のデータに変換して出力する（ステップＳ９０２）。尚、この際の出力先はステップＳ９０１で開いた電子原稿ファイルである。
【００６０】
そして、指定されたデータ全てについてステップＳ９０２による変換処理が終了したか判定する（ステップＳ９０３）。その結果、まだ変換処理が終了していないと判定された場合（Ｎｏ）は、ステップＳ９０２に戻って変換処理を行う。一方、すべての変換処理が終了していると判定された場合（Ｙｅｓ）は、生成した電子原稿ファイルを閉じる（ステップＳ９０４）。尚、電子原稿ライタ１０２によって生成される電子原稿ファイルは、図３（Ｂ）に示される原稿データの実体を含むファイルとなる。
【００６１】
＜ブックファイルの編集＞
前述したようにして、アプリケーションデータからブックファイルを作成することができるが、生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００６２】
また、上記編集操作の他に、一旦行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作も可能である。これらの編集機能により、例えば複数のブックファイルの統合、ブックファイル内での章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入等の編集操作が可能となる。
【００６３】
上記編集操作を行うことによって、図４や図５に示すそれぞれの属性にその編集操作の結果が反映されたり、或いはブックファイルの構造に反映されることとなる。例えば、ブランクページの新規追加操作を行った場合には、指定された箇所にブランクページが挿入される。そして、このブランクページは、原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更した場合には、その変更内容は、印刷方法、Ｎ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、或いは章区切りといった属性に反映される。
【００６４】
＜ブックファイルの出力＞
以上のようにして作成・編集されたブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が、図１０に示す製本アプリケーション１０４のＵＩ画面１１００からファイルメニューを選択して、そこからさらに印刷を選択した場合、指定した出力デバイスにより印刷出力がされる。
【００６５】
この際、まず、製本アプリケーション１０４は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ１０５に渡す。電子原稿デスプーラ１０５は、そのジョブチケットをＯＳの出力コマンド（例えば、ウインドウズのＧＤＩ関数）に変換し、それを出力モジュール（例えば、ＧＤＩ）に送信する。出力モジュールは、指定されたプリンタドライバ１０６によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【００６６】
ここで、ジョブチケットは、原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。尚、ジョブチケットは、１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性（例えば、両面印刷／片面印刷等）が定義されている。そして、その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定等の属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。
【００６７】
ここで、１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。例えば、片面印刷の場合であれば、１シートには１物理ページが属し、両面印刷の場合であれば、１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また、物理ページの属性として、原稿ページのレイアウトが含まれる。
【００６８】
電子原稿デスプーラ１０５は、上述したようなジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００６９】
＜その他のシステム構成＞
本実施形態の文書処理システムの概要については、上述した通りである。これは、図１に示すようにスタンドアロン型のシステム構成をしているが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理されることとなる。
【００７０】
図１２は、本発明の一実施形態に係るサーバクライアント型の文書処理システムのソフトウェア構成図である。図１２に示すサーバクライアント型の文書処理システムは、図１に示すスタンドアロン型の文書処理システムに、クライアントモジュールであるＤＯＭＳ（Ｄｏｃｕｍｅｎｔ  Ｏｕｔｐｕｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅ：文書出力管理サービス）ドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０、ＤＳ（文書サービス）クライアントモジュール１０８を加えた構成を有している。
【００７１】
図１２に示すように、サーバクライアント型文書処理システム１２００には、文書管理サーバ１２０１、印刷集中管理サーバ１２０２及びプリントサーバ１２０３が接続されている。これらのサーバは、通常は、ネットワークによってクライアント型文書処理システム１２００と接続されるが、当該サーバが同時にクライアントとしても機能するような場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続されることとなる。
【００７２】
尚、図１２に示す例では、文書管理サーバ１２０１と印刷集中管理サーバ１２０２との両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在するような場合もあり得る。例えば、接続されているサーバが文書管理サーバ１２０１であれば、そのＤＳクライアントモジュール１０８を含む文書管理サーバクライアントシステム１２０１ＳＣが、前述したスタンドアロン型の文書管理システムに追加されることとなる。また、接続されているサーバが印刷集中管理サーバ１２０２であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム１２０２ＳＣが、前述したスタンドアロン型文書管理システムに追加される。
【００７３】
図１２に示す文書管理サーバ１２０１は、製本アプリケーション１０４により作成・編集されたブックファイル（電子原稿ファイル）１０３を格納するサーバである。文書管理サーバ１２０１によってブックファイル１０３を管理する場合、ブックファイル１０３はクライアントＰＣのローカルＨＤに代わって、或いはそれに加えて、文書管理サーバ１２０１のデータベース１２１１に保存される。尚、製本アプリケーション１０４と文書管理サーバ１２０１との間のブックファイル１０３の保存及び読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。
【００７４】
また、図１２において、印刷集中管理サーバ１２０２は、サーバクライアント型の文書管理システム１２００に格納された、或いは文書管理サーバ１２０１に格納されたブックファイル１０３の印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０を介して、印刷集中管理サーバ１２０２のＤＯＭＳＷＧサーバモジュール１２２１に送信される。
【００７５】
集中印刷管理サーバ１２０２は、クライアントのプリンタで印刷する場合には、クライアントのＤＯＭＳプリントサービスモジュール１１０を介して電子原稿デスプーラ１０５に電子原稿データを渡す。また、集中印刷管理サーバ１２０２は、プリントサーバ１２０３によって印刷する場合には、プリントサーバ１２０３のＤＯＭＳプリントサービスモジュール１２０３に電子原稿データを送信する。集中印刷管理サーバ１２０２は、例えば、保存されているブックファイル１０３に対して印刷要求を発行した利用者の資格等についてセキュリティチェックを行ったり、印刷処理のログを保存したりする。
【００７６】
上述したように、本実施形態においては文書処理システムは、スタンドアロン型のシステムとして、或いは、クライアントサーバ型のシステムとしても実現することができる。
【００７７】
＜プレビュー表示の内容＞
前述したように、ブックファイル１０３が製本アプリケーション１０４によって開かれると、図１０に示すユーザインタフェース画面１１００が表示される。図１０において、ツリー部１１０１には、現在開いているブック（以下、「注目ブック」と称す。）の構造を示すツリーが表示される。
【００７８】
図１０において、プレビュー部１１０２には、利用者の指定に応じて、３通りの表示方法が用意されている。まず、第１の表示方法は、原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部１１０２の表示にレイアウトは反映されない。次に、第２の表示方法は、印刷ビューモードである。この印刷ビューモードでは、プレビュー部１１０２には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第３の表示方法は、簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【００７９】
＜ステイプル制御＞
次に、ステイプル機能を有するプリンタと接続するコンピュータ１００の製本アプリケーション１０４によって行われるステイプル制御について説明する。図１３は、本発明の一実施形態に係るコンピュータ１００とプリンタ１０７とを備えるステイプル制御を行う文書処理システムの構成を示すブロック図である。図１３に示すように、文書処理システムは、図２に示したホストコンピュータ１００とステイプル機能を有するプリンタ１０７とで構成される。
【００８０】
以下、プリンタ１０７の構成について説明する。尚、本実施形態に係る各種機能が実現されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮやＷＡＮ等のネットワークを介して接続されて処理が行われるようなシステムであっても本発明を適用することができる。
【００８１】
図１３に示すように、プリンタ１０７において、ＣＰＵ１３０は、ＲＯＭ１３０２内のプログラム用ＲＯＭに記憶された制御プログラム等や、外部メモリ１３０３に記憶された制御プログラム等に基づいて、システムバス１３０４に接続される印刷部Ｉ／Ｆ１３０５を介して、印刷部（プリンタエンジン）１３０６に出力情報としての画像信号を出力する。
【００８２】
また、このＲＯＭ１３０２内のプログラム用ＲＯＭには、ＣＰＵ１３０１の制御プログラム等が記憶されている。さらに、ＲＯＭ１３０２内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等が記憶されている。さらにまた、ＲＯＭ１３０２内のデータ用ＲＯＭには、ハードディスク等の外部メモリ１３０３がないプリンタの場合にホストコンピュータ１００上で利用される情報等が記憶されている。
【００８３】
また、ＣＰＵ１３０１は、入力部１３０７を介してホストコンピュータ１００との通信処理が可能であり、プリンタ１０７内の情報等をホストコンピュータ１００に通知することができる。ＲＡＭ１３０８は、ＣＰＵ１３０１の主メモリやワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００８４】
尚、ＲＡＭ１３０８は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。上述したハードディスク（ＨＤ）や、ＩＣカード等の外部メモリ１３０３は、メモリコントローラ（ＭＣ）１３０９によりアクセスが制御される。外部メモリ１３０３は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１３１１は、利用者が操作するためのスイッチ及びＬＥＤ表示器等で構成されている。
【００８５】
また、上述した外部メモリ１３０３は、１個に限られず、複数個を備えるような構成をしてもよい。例えば、内蔵フォントに加えて、オプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成しても良い。さらに、図示しないＮＶＲＡＭを有し、操作パネル１３１１からのプリンタモード設定情報を記憶するようにしても良い。
【００８６】
＜バリアブルプリントシステムの構成＞
以下では、バリアブルプリントを実現するためのシステムの構成について説明する。図１４は、バリアブルデータドキュメントを印刷するバリアブルプリントシステム１００の構成を示すブロック図である。また、図１５は、図１４に示すバリアブルプリントシステム１００のハードウェア構成図である。
【００８７】
以下で詳しく説明するバリアブルデータドキュメントの処理は、図１５に示される汎用コンピュータモジュール１０１で実行される。図１５を用いて説明されるプロセスはコンピュータモジュール１０１内で実行され、システム１００上で実施可能となるレイアウト編集アプリケーションプログラム１２１のように、ソフトウェアの全体、或いは一部分で実行される。特に、レイアウト編集や必然的に起こる印刷のステップは、汎用コンピュータモジュール１０１によって実行されるソフトウェアの指示によって実施される。
【００８８】
尚、ソフトウェアは、例えば、以下で説明するような記憶装置を含むコンピュータ読み取り可能な記憶媒体に格納される。ソフトウェアはコンピュータ読み取り可能な記憶媒体からコンピュータにロードされ、コンピュータ１０１によって実行される。そのようなソフトウェアや記憶媒体に記録されたコンピュータプログラムを持つコンピュータ読み取り可能な記憶媒体はコンピュータプログラム製品である。そのコンピュータでのコンピュータプログラム製品の使用は、望ましくもドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置をもたらす。
【００８９】
コンピュータモジュール１０１は、キーボード１３２やマウス１３３のようなポインティングデバイス等の入力装置に接続され、ディスプレイ装置１４４や、状況に応じてはローカルプリンタ１４５を含む出力装置に接続される。また、入力／出力（Ｉ／Ｏ）インタフェース１３８は、コンピュータモジュール１０１をネットワーク１０７を介して本バリアブルプリントシステム１００とは異なる他のコンピュータに接続することができる。例えば、ネットワーク１０７の典型例としては、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）が挙げられる。
【００９０】
コンピュータモジュール１０１は、典型的には、少なくとも１つのプロセッサーユニット１３５、例えば、半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６、ビデオインタフェース１３７を含むＩＮＰＵＴ／ＯＵＴＰＵＴ（Ｉ／Ｏ）インタフェース、キーボード１３２やマウス１３３のためのＩ／Ｏインタフェース１４３を含んでいる。記憶装置（Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）１３９は、典型的には、ハードディスクドライブ（ＨＤＤ）１４０やフロッピー（登録商標）ディスクドライブ（ＦＤＤ）１４１を含んでいる。また、図１５には示されていないが、磁気テープドライブもまた使用される可能性がある。
【００９１】
さらに、図１５において、ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。コンピュータモジュール１０１は、ＧＮＵ／ＬＩＮＵＸやマイクロソフトウィンドウズのようなオペレーションシステムや、典型的にはオペレーションシステムに従う形で、或いは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス１３４を介して通信を行う上述した各構成要素１３５〜１４３を利用する。尚、図１５に示した配置のコンピュータの例としては、ＩＢＭ互換性のあるＰＣやＳＵＮ のＳｐａｒｃｓｔａｔｉｏｎ、或いはそれらを含んだコンピュータシステム等が考えられる。
【００９２】
図１４に示すレイアウト編集アプリケーションプログラム１２１は、典型的には図１５に示すハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。レイアウト編集アプリケーションプログラム１２１の媒介記憶装置とネットワークからフェッチ（ｆｅｔｃｈ）されるデータは、ハードディスクドライブ１４０に呼応して半導体メモリ１３６を使用する。また、いくつかのインスタンスでは、レイアウト編集アプリケーションプログラム１２１がＣＤ−ＲＯＭやフロッピー（登録商標）ディスク上でエンコードされ、対応するＣＤ−ＲＯＭドライブ１４２やフロッピー（登録商標）ディスクドライブ１４１を通じて読み込まれ、ユーザに提供される。
【００９３】
或いは、もう一つの方法として、レイアウト編集アプリケーションプログラム１２１は、ネットワーク１０７からユーザによって読み込まれてもよい。さらに、ソフトウェアは、磁気テープ、ＲＯＭ、集積回路、光磁気ディスク、無線、コンピュータモジュール１０１とその他のデバイス間の赤外線通信、ＰＣＭＣＩＡカードのようなコンピュータ読み取り可能なカード、電子メール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ読み取り可能な記憶媒体からコンピュータモジュール１０１内にロードされる可能性もある。これらは、単に関連するコンピュータ読み取り可能なメディアの模範であって、他のコンピュータ読み取り可能な記憶媒体を使用するようにしてもよい。
【００９４】
また、レイアウト編集アプリケーション１２１は、バリアブルデータ印刷（ＶＤＰ）を行うよう指示し、２つのソフトウェアコンポーネントを含んでいる。これらのうち１つめのコンポーネントは、レイアウトエンジン１０５である。レイアウトエンジン１０５は、長方形の矩形領域の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。また、２つめのコンポーネントであるユーザインタフェース１０３は、ユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。
【００９５】
ユーザインタフェース１０３とレイアウトエンジン１０５は、コミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは、一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ１１７上にある典型的なデータベース１１９である。ホストコンピュータ１０１は、ネットワーク１０７によってデータベースサーバ１１７と通信する。
【００９６】
バリアブルデータ印刷アプリケーションであるレイアウト編集アプリケーション１２１は、ホストコンピュータ１０１又は他の汎用コンピュータで構成されるファイルサーバ１１５に保存されるドキュメントテンプレートを生成する。また、レイアウト編集アプリケーション１２１は、データとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントは、ホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバ１１５に保存されるか、或いはプリンタ１１３を用いて直接印刷される。
【００９７】
プリントサーバ１０９は、ネットワークに直接接続されていないプリンタにネットワーク機能を提供するためのコンピュータである。プリントサーバ１０９とプリンタ１１３とは、典型的な通信チャネル１１１を介して接続される。
【００９８】
図１６は、バリアブルデータドキュメントを印刷する別のバリアブルプリントシステム１００の構成を示すブロック図である。図１６に示すシステムは、エンジンサーバ２２７が追加されたことを除いて、レイアウトエンジン１０５の分離バージョン２２５を含む図１４及び図１５で示すシステムに類似したものである。
【００９９】
エンジンサーバ２２７は、典型的なコンピュータである。ファイルサーバ１１５に保存されたドキュメントテンプレートは、印刷や他の目的がある場合に、レイアウトエンジン２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと結合することができる。そのようなオペレーションは、ユーザインタフェース１０３を介する指示に応じて、任意のレコードに対する印刷要求もしくはプレビュー要求として実行される。
【０１００】
＜アプリケーション構成図＞
図１７は、バリアブルプリントシステムにおけるメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウを示す図である。図１７に示すように、ユーザインタフェース１０３は、操作時に、図１５に示すビデオディスプレイ１４４に表示されるアプリケーションウインドウ１７０１によって形成されたユーザインタフェースを含んでいる。また、ウインドウ１７０１は、それ自身を非表示にする、或いはスクリーン上の任意の場所に移動するためのメニューバー１７０２とツールバー１７０３、そしてマウス１３３の位置・動作によって場所を移動可能なワークエリア１７０６とオプションのパレット１７１１とカーソル／ポインタデバイス１７１３から特徴付けされる。
【０１０１】
メニューバー１７０２は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム１７０４を持つ。また、ツールバー１７０３は、アプリケーションの特別なモードによって非表示にする、或いは表示することが可能な多くのツールボタンとウィジット１７０５を持つ。さらに、オプションのルーラー１７０８は、ワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナ又はオブジェクトの位置を示すために使用される。
【０１０２】
また、図１７において、パレット１７１１は、バリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット１７１１は、自信をウインドウ上で移動、リサイズ、クローズするためのウインドウコントロール１７１２を持つ。尚、パレット１７１１は、オプションでワークエリアの前面に表示する、或いはオブジェクトの背面に隠すことができる。また、パレット１７１１は、アプリケーションウインドウ１７０１の範囲内のみに表示されることを制限される、或いは、アプリケーションウインドウ１７０１の外側に部分／全体を表示することを許される。
【０１０３】
図１８は、バリアブルプリントシステムにおける典型的なコンテナの一面をスクリーン、ツール、アイコンを用いて示した図である。図１８に示すように、ツールバーエリア１７０３は、少なくとも、次に示すユーザによる選択が可能な「ボタン」を備える。
【０１０４】
まず、選択ツールボタン１８０１は、コンテナの辺を選択、移動、サイズ変更、リサイズするために使われる。コンテナは、（複数）コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にＣＴＲＬキーを押し続けることによって、複数選択を可能にする。また、イメージコンテナツールボタン１８０２は、スタティック又はバリアブルイメージを持つコンテナを作成するために使われる。さらに、テキストコンテナツールボタン１８０３は、スタティック又はバリアブルテキストを持つコンテナを作成するために使われる。
【０１０５】
また、図１８において、１８０４は、テキストをレイアウトするためのテキストコンテナ、１８０５は、イメージをレイアウトするためのイメージコンテナを示す。さらに、１８０６は、テキストコンテナとイメージコンテナとを区別するために表示される線分であるが、線分以外の他の方法で表示することによって区別するようにしてもよい。
【０１０６】
以下では、上記構成を備える文書処理システムを用いた実施例について詳細に説明する。尚、本発明の一実施形態に係る文書処理システムは、図１に示した各ソフトウェアモジュール構成（電子原稿ライタ１０２、製本アプリケーション１０４、電子原稿デスプーラ１０５、プリンタドライバ１０６）と、図１６に示したバリアブル印刷用モジュール構成（レイアウト編集アプリケーション１２１の他、データベース１９９が含まれていてもよい）とを含むものとする。
【０１０７】
≪実施例≫
＜全体の処理概要＞
図１９は、本発明の一実施形態に係る文書処理システムを用いた全体の処理手順を説明するためのフローチャートである。
【０１０８】
まず、前述した文書処理システムにおいて、電子原稿ファイルのインポートの指示を受け付ける（ステップＳ１９００）。ここで、インポートされる電子原稿ファイルは、一般アプリケーションで作成された電子ファイルや、読み取り装置によって電子化された原稿ファイルであっても良い。また、当該電子原稿ファイルは、バリアブルプリントシステムによって作成されたテンプレートファイルであっても良い。文書処理システムにおいて、ユーザが電子原稿ファイルを製本アプリケーション１０４が提供する画面上にドラッグ＆ドロップ操作をするか、もしくは電子原稿ファイルを一般アプリケーションで開き、そのメニューから出力先に電子原稿ライタ１０２を選択して出力指示を行うことにより、電子原稿ライタ１０２は、インポート指示を受け付ける。
【０１０９】
次に、ステップＳ１９００で、電子原稿ライタ１０２は、インポート指示がされた電子原稿ファイルがバリアブルテンプレートファイルであるかどうかを判断する（ステップＳ１９０１）。その結果、インポート指示されたファイルがバリアブルテンプレートではないと判断された場合（Ｎｏ）は、本発明に係る処理フローへは進まずに通常の処理フローへ推移する（ステップＳ１９０４）。尚、通常の処理フローとは、図８及び図９に示した文書処理システム固有の処理であるため、その説明は省略する。
【０１１０】
一方、インポートされた電子原稿ファイルがバリアブルテンプレートファイルであると判断された場合（Ｙｅｓ）は、本発明に係る仮想レコードを適用させた形でのインポート処理を行う（ステップＳ１９０２）。尚、ステップＳ１９０２のインポート処理の詳細については後述する。ステップＳ１９０２で、バリアブルテンプレートファイルのインポート処理が終了すると、製本アプリケーション１０４の処理となり、製本アプリケーション１０４は、インポートされた電子原稿ファイルに対する処理へと移る。
【０１１１】
まず、製本アプリケーション１０４は、インポートされた当該ファイルに対してプレビュー処理を実行するかどうかを判断する（ステップＳ１９０３）。その結果、実行すると判断された場合（Ｙｅｓ）は、製本アプリケーション１０４は、仮想レコードを適用させたプレビュー処理を行う（ステップＳ１９０５）。次に、製本アプリケーション１０４は、印刷処理を実行するかどうかを判断する（ステップＳ１９０６）。そして、印刷処理を実行する場合（Ｙｅｓ）は、仮想レコードを適用させた印刷処理を行う（ステップＳ１９０７）。ここで、ステップＳ１９０５のプレビュー処理やステップＳ１９０７の印刷処理について実行は任意であり、実行順番についても任意に決定して良い。尚、プレビュー処理（ステップＳ１９０５）及び印刷処理（ステップＳ１９０７）についての詳細な説明は後述する。
【０１１２】
一方、ステップＳ１９０３でプレビューを実行しない場合（Ｎｏ）、ステップＳ１９０６で印刷を実行しない場合（Ｎｏ）、及びステップ１９０７で仮想レコードの印刷処理を行った場合は、本処理を終了する。
【０１１３】
＜バリアブルデータの判断処理＞
図３３は、本発明の電子原稿ライタ１０２の標準設定ウインドウのＵＩ画面例を示す図である。この画面は、一般アプリケーション１０１から印刷メニューを開き、出力先のプリンタドライバとして電子原稿ライタ１０２を選択し、プロパティ画面の表示を指示することにより、電子原稿ライタ１０２により提供される画面である。また、この画面は、プリンタフォルダから電子原稿ライタ１０２のプリンタアイコンを選択し、プロパティを選択することにより開くことも可能である。
【０１１４】
この電子原稿ライタ１０２の標準設定ウインドウ３３０１では、一般アプリケーションから出力されたドキュメントを製本アプリケーション１０４へ取り込む（インポート）際に、どのような電子原稿ファイルとして取り込むかを設定することができる。チェックボックス３３０２は、一般アプリケーションから出力されるドキュメントがバリアブルデータであり、仮想レコードを設定して取り込むことを指示するための項目である。この項目をユーザがチェックして設定保存を行い、一般アプリケーションであるフォーム作成アプリケーション（バリアブル出力アプリケーションとも呼ぶ）から印刷出力を行うことで、電子原稿ライタは、インポート指示された電子原稿ファイルがバリアブルテンプレートファイルであると判断することができる。また、バリアブル出力アプリケーションは、ドキュメントの出力を行う際に、出力先のプリンタドライバである電子原稿ライタ１０２から出力設定を取得し、バリアブル取り込み設定（３３０２がチェックされている）されている場合は、ジョブ開始を出力した後で、バリアブル出力であるＡＰＩ（独自ＡＰＩまたはＯＳが処理せずにそのまま転送する独自コマンドでもよい）を出力し、かつ、レコード単位にレコード終了ＡＰＩ（またはコマンド）を出力するものとする。
【０１１５】
これにより、電子原稿ライタ１０２は、バリアブル出力であることと、各レコードがどこで終了するかを容易に認識することが可能となる。そして、電子原稿ライタ１０２は、バリアブル出力アプリケーションから出力されたドキュメントをレコード単位に一時ファイルとしてスプールし、ジョブエンドを受けるまでスプールされたレコード数を計算し、計算された印刷レコード数を一時ファイルとしてスプールされたドキュメントに設定する。また、電子原稿ライタ１０２がレコード数を算出せずに、バリアブル出力アプリケーションからドキュメントの出力時に合計のレコード数を受け取ってもよい。この場合、電子原稿ライタ１０２は一時ファイルとしてドキュメントをスプールする必要がなくなり、インポート処理が高速化できる。
【０１１６】
尚、バリアブルテンプレート自体をインポートする場合は、レコード数が０として電子原稿ライタ１０２で計算されるか、もしくはバリアブル出力アプリケーションから印刷レコード数が０として設定される。
【０１１７】
＜インポート処理＞
図２０は、本発明の一実施形態に係る文書処理システムにおけるバリアブルテンプレートファイルのインポート処理（ステップＳ１９０２）の詳細を説明するためのフローチャートである。
【０１１８】
まず、バリアブルテンプレートファイルのインポートを開始する（ステップＳ２０００）。実際は、インポート処理は、ステップＳ２０００に始まり、図２０に示す一連の処理フローが終了した時点で完全にインポートが終了する。次に、電子原稿ライタ１０２は、インポートするバリアブルテンプレートファイルに基づくドキュメントに設定されている印刷レコードの総数を定数Ｎに代入する（ステップＳ２００１）。この印刷レコードの総数は、前述したように、電子原稿ライタ１０２で算出するか、バリアブル出力アプリケーションから指定されたものである。そして、定数Ｎが０であるかどうかを判断する（ステップＳ２００２）。
【０１１９】
その結果、定数Ｎが０であると判断された場合（Ｙｅｓ）、すなわち印刷するデータベースレコードの数が０であった場合は、電子原稿ライタ１０２は、当該バリアブルテンプレートファイルだけをインポートして（ステップＳ２００８）、本ステップＳ１９０２の処理を終了する。尚、この場合は、レコードはマージされない。
【０１２０】
バリアブルテンプレートファイルのインポート時は、電子原稿ライタ１０２は、バリアブルテンプレート中の固定描画情報（レコード毎に変化しない情報）を通常のインポート処理のように独自フォーマットに変換し、バリアブルデータがマージされるべきフィールド領域をバリアブル領域として電子原稿ファイルのバリアブル属性（図６のバリアブル項目７）に、バリアブル領域の大きさ、位置及びデータベース中のデータフィールドデータへのリンク情報を書き込んで処理を終了する。データベース中のフィールドデータへのリンク情報はバリアブル出力アプリケーションから出力されるドキュメント中に記載されているものとする。
【０１２１】
一方、定数Ｎが０でないと判断された場合（Ｎｏ）は、印刷レコードを管理する変数ｎに初期値１を代入する（ステップＳ２００３）。そして、各レコード単位で処理を行う。
【０１２２】
まず、電子原稿ライタ１０２は、文書管理システムに、ｎレコード目に対して仮想ｎレコードの区切りを作成する（ステップＳ２００４）。ここで、「区切り」とは、ドキュメントで言う章のようなものを指しており、本文書管理システム内でドキュメント構成を区切ることができるものとする。以下、ステップＳ２００４の区切り処理でデータベースレコード単位に区切られた単位を「仮想レコード単位」と称す。
【０１２３】
次に、電子原稿ライタ１０２は、バリアブル出力アプリケーションから出力されるドキュメント中に記載されているリンク情報に基づいて、ｎレコード目のリンク情報により関連付けられているデータフィールド中のデータをデータベースから取得して独自フォーマットの描画データ（例えば、ＰＤＦフォーマットやＳＶＧ形式の描画データ）に変換し、ステップＳ２００４で作成された仮想ｎレコード目の区切りに挿入されるべく製本アプリケーション１０４にインポートする（ステップＳ２００５）。これによって、データとバリアブルテンプレートファイルとのマージ結果が文書処理システムの製本アプリケーション１０４にインポートされることになる。
【０１２４】
尚、バリアブルテンプレートファイルとのマージは、この段階（電子原稿ライタ１０２）で行っても、インポート終了後に製本アプリケーション１０４で行っても良い。インポート後は、文書処理システムのファイル形式に変換されるため、データベースとテンプレートファイルという区別はなくなる。また、バリアブル出力アプリケーションが、バリアブルテンプレートファイルとバリアブルデータ（データベース中の各レコード毎のデータフィールドに対応するデータ）をマージした後のデータとして文書出力してきた場合は、マージ処理は不要となり、電子原稿ライタ１０２は、上述したように、電子原稿ライタ１０２が判断したレコード単位で製本アプリケーション１０４にマージ後の電子原稿ファイルをインポートする。
【０１２５】
ステップＳ２００５でｎレコード目のインポートが終了した後、変数ｎをインクリメントする（ステップＳ２００６）。そして、電子原稿ライタ１０２は、印刷レコード総数の定数Ｎと変数ｎとを比較して、全レコードをレコード毎に区切ったインポートが終了したか否かを判断する（ステップＳ２００７）。その結果、全レコードのインポートが終了していない場合（Ｎｏ）は、ステップＳ２００４へ戻って上記処理を繰り返す。一方、全レコードのインポート処理が終了したと判断された場合（Ｙｅｓ）は、本フローチャートで説明したステップＳ１９０２の処理が終了する。
【０１２６】
図２１は、図１９に示すフローチャートにおけるバリアブルテンプレートのインポート処理（ステップＳ１９０２：詳細は図２０）を行った結果得られる文書処理システム（製本アプリケーション１０４）のＵＩ画面例を示す図である。図２１において、画面２１００は、文書処理システムのメインウインドウを示している。また、図２１において、２１０１はメニューバー、２１０２はツールボタンを示している。尚、メニューバー２１０１やツールボタン２１０２については、一般的なアプリケーションで用意されているものや、従来からの文書処理システム固有の機能を操作するものであり、ここでの詳細な説明については省略する。
【０１２７】
また、図２１において、２１０３は、文書処理システムで処理対象とする原稿ページのドキュメント構成をツリー構成で示すリスト（ツリービュー）である。２１０４は、原稿ページの区切りを示す識別子であり、電子原稿ファイル１０２により区切られた仮想レコードに相当する。２１０５は、原稿ページのページ番号である。図２１に示す例では、「仮１レコード」という区切り名に対して、ページ１−１、１−２、１−３が構成されているということになる。さらに、２１０６は、原稿ページが表示されるウインドウを示すページプレビュー画面である。２１０７は、全原稿ページがウインドウ内に表示できないときにスクロールさせて表示するためのスクロールバーを示している。
【０１２８】
さらに、図２１において、２１０８は、原稿ページの描画内容を示している。２１０９は、原稿ページのページ番号を示している。２１１０は、各レコード毎にデータ内容が変化するバリアブルイメージデータを示している。また、２１１１及び２１１２は、各レコード毎にデータ内容が変化するバリアブルテキストデータを示している。図２１では、２１０４及び２１０５で示すように、「仮１レコード」は１−１から１−３までの３ページで構成されており、インポート元のバリアブルテンプレートファイルにおいてデータベースの１レコード目をマージした結果がインポートされている。
【０１２９】
さらにまた、図２１において、「仮２レコード」の２−１から２−３は、データベースの２レコード目をマージした結果となる。従って、図２１の２１１０から２１１２のバリアブルデータが、データベースレコードの内容に従って差し替えられていることとなる。このように、バリアブルテンプレートに設定されているデータベースレコード数分の区切り２１０４が作成され、そのレコードデータをマージした結果がその区切り内に構成されるようになる。尚、インポートした文書処理システム（製本アプリケーション１０４）上では、前述したように章単位の属性情報（図５）を持っているため、章単位（ここでは仮想レコード単位）で、用紙サイズ、印刷レイアウト（Ｎｕｐ）、拡大縮小、ウォータマーク等の印刷設定を変更することが可能となるため、区切り２１０４を操作することで、データベースレコード単位で原稿ページを操作することが可能となる。
【０１３０】
＜プレビュー処理＞
図２２は、本発明の一実施形態に係る文書処理システムの製本アプリケーション１０４における仮想レコードのプレビュー処理（ステップＳ１９０５）の詳細を説明するためのフローチャートである。
【０１３１】
文書処理システムの製本アプリケーション１０４は、ステップＳ１９０４でプレビュー処理を実行することを判断した場合、まず、仮想レコードを適用させたプレビューモードへ遷移する（ステップＳ２２００）。ここで、プレビューモードへの遷移方法は、メニューやツールボタンから行う形で良く、ＵＩ画面上でユーザが手動で指定できるものとする。次に、製本アプリケーション１０４は、プレビュー指示された電子原稿ファイルに仮想レコード設定がされているかどうかを判断する（ステップＳ２２０１）。
【０１３２】
その結果、仮想レコードが設定されていない場合、すなわち、前述したバリアブルテンプレートファイルのインポート処理（ステップＳ１９０２）により、仮想レコードが設定されなかった場合（Ｎｏ）は、原稿ページの構成に仮想レコードが設定されていないため、通常のプレビュー処理へ遷移し、各ページの描画データ（原稿データ３０４）に基づいてプレビュー画像を生成して表示処理を実行する（ステップＳ２２０３）。一方、ステップＳ２２０１で仮想レコードの設定があると判断された場合（Ｙｅｓ）は、製本アプリケーション１０４は、電子原稿ライタ１０２により作成された仮想レコードの総数を定数Ｎに代入する（ステップＳ２２０２）。そして、ユーザによって指定されたプレビュー対象の仮想レコード番号を変数ｎに代入する（ステップＳ２２０４）。
【０１３３】
ここで、ステップＳ２２０４で代入されたレコード番号が、設定されている仮想レコードの範囲外であるかどうかを判断する（ステップＳ２２０５）。その結果、範囲外であると判断された場合（Ｙｅｓ）は、ステップＳ２２０４に戻ってプレビューのレコード番号の代入処理を行う。一方、範囲内であると判断された場合（Ｎｏ）は、製本アプリケーション１０４は、原稿データ３０４を読み込み、仮想ｎレコード目の原稿ページのプレビュー画面を生成して表示処理を実行する（ステップＳ２２０６）。そして、プレビュー処理を終了するかどうかを判断する（ステップＳ２２０７）。その結果、プレビュー処理を終了しない場合（Ｎｏ）、すなわちプレビュー処理を繰り返し行う場合は、ステップＳ２２０４に戻って前述した処理を行う。一方、プレビュー処理を終了すると判断された場合（Ｙｅｓ）、すなわち、プレビュー処理を繰り返さない場合は、プレビューモードから抜けて本フローチャートを終了する。
【０１３４】
図２３Ａ、図２３Ｂ及び図２３Ｃは、図１９に示すフローチャートにおける仮想レコードのプレビュー処理（ステップＳ１９０５）を行った際の文書処理システムのＵＩ画面例を示す図である。
【０１３５】
図２３Ａにおいて、２３００は文書管理システムの製本アプリケーション１０４におけるメインウインドウを示している。また、２３０１はプレビュー処理を指定するためのコンボボックスを示しており、ユーザは当該コンボボックス２３０１によりプレビューの種類を選択することが可能である。また、メインウインドウ２３００内には、通常の「原稿プレビュー」や「印刷体裁プレビュー等があってもよい。コンボボックス２３０１でユーザが仮想レコードプレビューを選択することによって、前述したプレビュー処理が開始する。また、コンボボックス２３０１を使用することなく、メニュー等からプレビュー処理を選択するようにしてもよい。
【０１３６】
図２３Ａでは、原稿プレビューを行ったときの結果を示している。プレビュー領域には、文書処理システムに取り込まれている原稿ページ２３０２がすべてプレビューされる。従って、ユーザがコンボボックス２３０３を用いて「原稿プレビュー」を指定した場合は、電子原稿ファイルに取り込まれている全レコードが原稿ページ２３０２として全てプレビュー表示される。
【０１３７】
また、図２３Ｂは、図１９のフローチャートにおけるステップＳ１９０２で行われた仮想レコードを適用したプレビュー処理の結果を示している。図２３Ｂ示す画面において、ユーザはコンボボックス２３０３を用いて「仮想レコードプレビュー」を指定する。ここで、仮想レコード設定欄２３０４は、設定されている仮想レコードのうち、どのレコードをプレビュー対象とするかを選択する機能を提供している。また、２３０５は、プレビューする仮想レコードを移動させるための矢印ボタンを示している。さらに、２３０６は、プレビュー中の仮想レコードのレコード番号を示している。そして、２３０７は、プレビュー中の仮想レコード内に構成されているページを示すリストである。
【０１３８】
図２３Ｂでは、レコード番号２３０６で示すように、仮想レコードとして１レコード目が選択されている。従って、ツリー構成表示領域のリスト２３０７には、仮１レコード目のページが表示され、プレビュー領域には仮１レコード目の原稿ページが読み込まれ、仮１レコード目に相当する原稿ページのプレビュー２３０８が表示される。
【０１３９】
図２３Ｃは、図２３Ｂに示す画面の状態から仮想レコード設定欄のレコード番号を移動したときに表示される画面例を示している。図２３Ｃにおいてが、２３０９で示すように、２レコード目へと移動させる。これによって、リスト２３１０で示すように、仮２レコード目のページ構成がリスト表示され、プレビュー領域には仮２レコード目のページのプレビュー２３１１が表示される。
【０１４０】
＜印刷処理＞
図２４は、本発明の一実施形態に係る文書処理システムにおける仮想レコードを適用した印刷処理（ステップＳ１９０７）の詳細を説明するためのフローチャートである。
【０１４１】
まず、文書処理システムの製本アプリケーション１０４において、印刷処理を行うべき電子原稿ファイルに仮想レコードの設定がされているかどうかを判断する（ステップＳ２４００）。その結果、仮想レコードの設定がされていないと判断された場合（Ｎｏ）は、通常の印刷処理へと移り（ステップＳ２４０１）、ステップＳ１９０７の処理を終了する。一方、仮想レコードの設定がされていると判断された場合（Ｙｅｓ）は、製本アプリケーション１０４は、設定された仮想レコードを適用させて印刷するかどうかを判断する（ステップＳ２４０２）。尚、仮想レコードを適用させるかさせないかは、ユーザが印刷時に指示をすることで決定されるものとする。印刷出力時に仮想レコードの適用処理については、図２７及び図２８で後述する。
【０１４２】
その結果、仮想レコードを適用させない場合（Ｎｏ）は、通常の印刷処理（ステップＳ２４０１）に遷移し、製本アプリケーション１０４は、印刷範囲（文書全体、章の範囲指定またはページ範囲指定）に該当する電子原稿ファイルの原稿ページを読み出し、電子原稿スプーラ１０５を用いて一般アプリケーションと同様に描画データを生成してＯＳ（オペレーションシステム：図示省略）を介してプリンタドライバ１０６へ出力する。
【０１４３】
一方、仮想レコードを適用させる場合（Ｙｅｓ）は、まず、印刷対象として設定されている仮想レコードの総数を定数Ｎに代入する（ステップＳ２４０３）。尚、この印刷対象の仮想レコードの総数は、図２７及び図２８に示される印刷範囲により適宜変更されるが、最大でも電子原稿ファイルに設定されている仮レコード数を超えない。
【０１４４】
次に、変数ｎに１を代入する（ステップＳ２４０４）。そして、製本アプリケーション１０４は、仮想ｎレコード目の原稿ページを読み出し、電子原稿スプーラ１０５を用いて描画データを生成してＯＳを介してプリンタドライバ１０６へ出力することで、印刷処理を行う（ステップＳ２４０５）。ここでの印刷処理とは、印刷対象の原稿ページに対して設定されている印刷体裁の設定を適用させて印刷ジョブを生成することを意味している。従って、仮想レコード単位で印刷ジョブを生成することが可能になる。尚、ここで生成される仮想レコード単位の印刷ジョブは、それぞれ別の印刷ジョブとしてプリンタへ送信されてもよいが、複数レコードの場合、印刷ジョブが複数に分かれてしまうため、ＪＬ（Job Language）で先頭のジョブと最終ジョブとをくくることにより、大きな１つの印刷ジョブとして生成してもよい。このように１つの印刷ジョブとすることで、印刷キャンセルを行う場合にジョブの特定を行うことが容易になり、また、別の印刷ジョブが本印刷ジョブの間に入ることがなくなり、印刷物の仕分けが容易になるという効果も得られる。
【０１４５】
従来、バリアブルプリントアプリケーションでは、データベースレコード毎に出力結果が得られるが、この出力データを文書処理システムにインポートした場合、インポートされた出力データのドキュメント（電子原稿ファイル）はデータベースレコードの概念を持っていないため、従来の文書処理システムにおいては、インポートしたバリアブルテンプレートファイル（従来はインポートされた電子原稿は、既にバリアブルテンプレートという概念も存在していない）をデータベースレコード毎に出力することができなかった。しかし、上述したように、本発明の文書処理システム（文書処理装置）では、仮想的なレコードを設定して、印刷処理をその仮想レコード単位で行うことによって、レコード単位での操作（編集や出力）を実現することが可能となった。また、本実施例の文書処理システムでは区切られた単位毎に印刷体裁の設定を変更することも可能であるため、仮想レコード単位で体裁を変更しながら印刷処理を行うことも可能となった。
【０１４６】
ステップＳ２４０５で、ｎレコード目の印刷処理が終了すると変数ｎをインクリメントする（ステップＳ２４０６）。そして、変数ｎが定数Ｎ未満である限り（ステップＳ２４０７でＮｏの場合）、ステップＳ２４０５に戻って上述した印刷処理を繰り返す。ステップＳ２４０７で変数ｎが定数Ｎ以上となって全仮想レコードの印刷が終了したと判断された場合（Ｙｅｓ）は、本フローチャートを終了する。
【０１４７】
図２４に示すフローチャートでは、文書処理システムにおいて設定されている仮想レコードを全レコード印刷する処理について示したが、ユーザに対して任意の仮想レコードを選択させ、選択されたレコードのみを印刷するようにしても良い。尚、選択されたレコードの印刷処理についても、本フローチャートで示した以外の新しい処理は特に必要ではなくので、その説明は省略する。
【０１４８】
＜別のインポート処理＞
図２５は、本発明の一実施形態に係る文書処理システムにおけるバリアブルテンプレートファイルのインポート処理（ステップＳ１９０２）の別の例の詳細を説明するためのフローチャートである。図２５に示すインポート処理は、上述した図２０を用いて説明したインポート処理とは、テンプレートファイル内にある固定のページを重複してインポートしないように制御する部分で異なっている。すなわち、テンプレートファイルのインポートは１度で済み、テンプレートファイルとマージされるバリアブルデータをレコード毎に取り込むことになる。実際の処理においては、前述した図２０に示すインポート処理、又は図２５に示すインポート処理のどちらかをユーザが選択して文書処理システムに処理させることとなる。以下、図２５のフローチャートを用いてインポート処理の別の例について説明する。
【０１４９】
まず、バリアブルテンプレートファイルのインポートを行う（ステップＳ２５００）。次に、電子原稿ライタ１０２は、インポートするバリアブルテンプレートファイルに基づくドキュメントに設定されている印刷レコードの総数を定数Ｎに代入する（ステップＳ２５０１）。この印刷レコードの総数は、前述したように、電子原稿ライタ１０２で算出するか、バリアブル出力アプリケーションから指定されたものである。そして、定数Ｎが０であるかどうかを判断する（ステップＳ２５０２）。
【０１５０】
その結果、定数Ｎに０が代入されている場合、すなわち印刷するデータベースレコードの数が０である場合（Ｙｅｓ）は、電子原稿ライタ１０２は、テンプレートファイルだけをインポートし（ステップＳ２５０３）、本インポート処理を終了する。尚、この場合は、レコードはマージされない。バリアブルテンプレートファイルのインポート時は、電子原稿ライタ１０２は、バリアブルテンプレート中の固定描画情報（レコード毎に変化しない情報）を通常のインポート処理のように独自フォーマットに変換し、バリアブルデータがマージされるべきフィールド領域をバリアブル領域として電子原稿ファイルのバリアブル属性（図６のバリアブル項目７）に、バリアブル領域の大きさ、位置及びデータベース中のデータフィールドデータへのリンク情報を書き込んで処理を終了する。データベース中のフィールドデータへのリンク情報はバリアブル出力アプリケーションから出力されるドキュメント中に記載されているものとする。
【０１５１】
一方、ステップＳ２５０２で定数Ｎが０でないと判断された場合（Ｎｏ）は、電子原稿ライタ１０２は、印刷レコードを管理する変数ｎに初期値１を代入する（ステップＳ２５０４）。そして、各レコード単位で処理を行う。
【０１５２】
まず、ｎレコード目、すなわち１レコード目のドキュメントのインポート処理を行う（ステップＳ２５０５）。次いで、ドキュメントのページ数を定数Ｍに代入する（ステップＳ２５０６）。さらに、変数ｍに１を代入する（ステップＳ２５０７）。そして、製本アプリケーションに、ｎレコード目に対して仮想ｎレコードの区切りを作成する（ステップＳ２５０８）。
【０１５３】
ここで、ｍページ目のドキュメント内にバリアブルフィールドが存在するかどうかを判断する（ステップＳ２５０９）。尚、バリアブルフィールドとは、テキストコンテナやイメージコンテナを総称したものである。バリアブルフィールドが存在しないということは、そのページはデータベースレコードの内容がレイアウトされていないことを意味し、全レコードで共通のレイアウトを持ったページである。
【０１５４】
従って、ステップＳ２５０９でバリアブルフィールドが存在しないと判断された場合（Ｙｅｓ）は、電子原稿ライタ１０２は、製本アプリケーションに全ページに固定であることを示す固定ページ区切りを作成して（ステップＳ２５１０）、その区切りへページ（ｍページ）をインポートする（ステップＳ２５１１）。一方、ステップＳ２５０９でバリアブルフィールドが存在すると判断された場合（Ｎｏ）は、電子原稿ライタ１０２は、データベースレコードをマージして、ステップＳ２５０８で作成した仮想ｎレコードにページをインポートする（ステップＳ２５１２）。
【０１５５】
そして、ステップＳ２５１１及びステップＳ２５１２で、ｍページ目のインポート処理が終了した後、変数ｍをインクリメントする（ステップＳ２５１３）。そして、ｎレコード目について全ページが終了しているかどうかを判断する（ステップＳ２５１４）。その結果、全ページが終了していない場合（Ｎｏ）は、ステップＳ２５０９に戻って上記処理を繰り返す。一方、全ページが終了している場合（Ｙｅｓ）、変数ｎをインクリメントして（Ｓ２５１５）、さらに全レコードが終了しているかどうかを判断する（ステップＳ２５１６）。
【０１５６】
ステップＳ２５１６で全レコードが終了していると判断された場合（Ｙｅｓ）は、本フローチャートの処理は終了する。また、ステップＳ２５１６で全レコードが終了していないと判断された場合（Ｎｏ）は、ｎレコード目について処理を続ける。まず、製本アプリケーションに、ｎレコード目に対して仮想ｎレコードの区切りを作成する（ステップＳ２５１７）。そして、ｎレコード目のデータベースレコードをマージして、ステップＳ２５１７で作成した仮想ｎレコードにドキュメントをインポートする（ステップＳ２５１８）。
【０１５７】
次に、ステップＳ２５１８でインポートしたドキュメント内にバリアブルフィールドが存在しないページがあるかどうかをチェックする（ステップＳ２５１９）。その結果、ステップＳ２５１９でバリアブルフィールドが存在しないページが発見された場合（Ｙｅｓ）は、そのページを削除する（ステップＳ２５２０）。そして、変数ｎをインクリメントして（ステップＳ２５２１）、全レコードが終了しているかどうかを判断する（ステップＳ２５２２）。また、ステップＳ２５１９において、ステップＳ２５１８でインポートしたドキュメント内にバリアブルフィールドが存在しないページがない場合（Ｎｏ）はステップＳ２５２１に遷移する。また、ステップＳ２５２２において、全レコードが終了していないと判断された場合（Ｎｏ）はステップＳ２５１７に戻って上記処理を繰り返す。一方、全レコードについて終了していると判断された場合（Ｙｅｓ）は、本フローチャートを終了する。
【０１５８】
図２６Ａ及び図２６Ｂは、バリアブルテンプレートのインポート処理を行った結果得られる文書処理システムのＵＩ画面例を示す図である。これらの図は、固定ページの重複を防ぐインポート処理を説明するためのＵＩ画面を示しており、特に、図２６Ａは図２５に示すフローチャートの処理を適用せずにインポートしたときのＵＩ画面例、図２６Ｂはそれを適用したときのＵＩ画面例を示す図である。
【０１５９】
図２６Ａにおいて、２６００は文書処理システムのメインウインドウを示している。メインウインドウ２６００の構成は前述したとおりである。図２６Ａに示すように、２６０１で示した各仮想レコードの４ページ目は、ページ内にバリアブルフィールドが存在しない固定ページである。通常の仮想レコード設定を施したインポート処理を行うと、各仮想レコードに固定ページがインポートされることとなる。
【０１６０】
一方、図２６Ｂについても、図２６Ａと同じバリアブルテンプレートファイルがインポートされるものとする。ここで、２６０２は、ページ内にバリアブルフィールドが存在しない固定ページがインポートされる区切りを示している。図２６Ｂでは、「固定１」という区切りに固定ページＦ１−１がインポートされている。また、２６０３は固定ページを示しており、２６０１で示した固定ページが「固定１」にインポートされ、文書処理システム内には重複せずにインポートされることとなる。
【０１６１】
＜仮想レコード組み合わせ設定＞
図２７は、本発明の一実施形態に係る文書処理システムの製本アプリケーション１０４における仮想レコードと固定章の組み合わせ順序を指定するための設定ダイアログのＵＩ画面例を示す図である。すなわち、図２７には、前述した別のインポート処理によって仮想レコード毎の重複を避けるために、別の区切りへインポートした固定区切りのドキュメント（以下、「固定章」と称す。）や、バリアブルテンプレートファイルとは別に文書処理システムへインポートされた一般アプリケーションで作成されたドキュメントファイルと、仮想レコード内のドキュメントを組み合わせてプレビュー又は印刷を行うための設定を行うためのＵＩ画面例を示している。このＵＩ画面は、製本アプリケーション１０４のＵＩ画面（図１０）のメニューから「印刷形式（Ｏ）」が指定されることで表示される。
【０１６２】
図２７において、２７００は、仮想レコード組み合わせ設定ダイアログのダイアログ枠を示している。２７０１は、仮想レコードと固定章の組み合わせた出力を行わずに、仮想レコード単位でプレビュー又は印刷を行うことを指定するチェックボックスである。文書処理システムでは、チェックボックス２７０１がチェックオンされると、デフォルト値が適用される。
【０１６３】
図２７において、２７０２は、仮想レコードと固定章とを組み合わせてプレビュー又は印刷を行うことを指定するチェックボックスである。チェックボックス２７０２がチェックオンされると、以下で説明する２７０３〜２７０８が有効となる。
【０１６４】
２７０３は、文書処理システムの製本アプリケーション１０４において設定されている固定章をリスト表示するためのボックスである。２７０４は、仮想レコードと固定章との組み合わせた出力順序をリスト表示するボックスである。ボックス２７０４にリスト表示されている項目は、仮想レコードのページ番号（図２７において、１−１や１−２等）と固定章の章名称（図２７において、（１章）表紙や（２章）お礼等）である。このリスト表示されている項目が、プレビュー又は印刷の対象となる。また、リスト順の上から順番に出力するドキュメントが構成されることになる。
【０１６５】
図２７において、２７０５は、ボックス２７０４のリストの項目の順番を入れ替えるためのボタンを示している。ユーザは項目を選択してボタン２７０５を押下することで、順番を上下することが可能である。また、２７０６は、ボックス２７０３の固定章リストから、ボックス２７０４の組み合わせ順序リストへ固定章を追加するためのボタンである。ユーザは、固定章リストで固定章を選択して、ボタンを押下することで、選択した固定章を組み合わせ順所リストへ追加できる。
【０１６６】
図２７において、２７０７は組み合わせ順序リストの項目を削除するためのボタンである。尚、ボタン２７０７で削除できる項目は、追加した固定章のみである。従って、仮想レコードのページを削除することはできない。但し、文書処理システムの製本アプリケーション１０４のプレビュー画面上で提供されるページを削除する機能を使うことによって、仮想レコードのページを削除することは可能である。
【０１６７】
２７０８は、印刷時に適用される印刷設定（例えば、製本設定等）を、仮想レコード単位で設定されている印刷設定にすることを指定するためのチェックボタンである。チェックボタン２７０８をチェックオンすると、仮想レコード単位で設定されている印刷設定が適用されるが、固定章との組み合わせによっては、適用できない印刷設定である可能性もあるため、その場合はドキュメント全体の印刷設定が適用される。尚、仮想レコードは、仮想的な章として文書構成を管理されているため、仮想レコード単位に章属性（図５）を備えている。
【０１６８】
２７０９は、ドキュメント全体の印刷設定を適用することを指定するためのチェックボタンである。チェックボタン２７０９をチェックオンすると、すべての仮想レコードに対して共通の印刷設定にて印刷処理を行う。また、２７１０は、適用を反映させるためのＯＫボタン、２７１１は、適用をキャンセルするためのキャンセルボタンである。どちらも押下すると反映又はキャンセルするとともに、本ダイアログが閉じられる。
【０１６９】
＜仮想レコード印刷指定ダイアログ＞
図２８は、本発明の一実施形態における文書処理システムの製本アプリケーションにおける仮想レコード印刷処理を指定するための印刷ダイアログのＵＩ画面例を示す図である。このＵＩ画面は、製本アプリケーション１０４のＵＩ画面（図１０）のメニューから「ファイル（Ｆ）」が指定され、開かれるメニュー操作で「印刷」が指定されることで表示される。図２８に示す印刷ダイアログでは、前述した図２７に示すダイアログで設定した仮想レコードと固定章の組み合わせ設定を適用させるかさせないかの指定も可能である。尚、本実施形態では、通常の印刷ダイアログにこれらの機能を付加しているが、これらを個別に設定するようにしても良い。
【０１７０】
図２８において、２８００は、印刷ダイアログのダイアログ枠を示している。また、２８０１は、印刷する出力装置を指定するためのリストボックスを示しており、一般の印刷ダイアログと同様に、文書処理システムにインストールされているプリンタドライバの一覧がリストとして表示され、任意のプリンタドライバをユーザは選択可能となっている。２８０２は、リストボックス２８０１で指定した出力装置に対して、詳細な設定を行うためのボタンを示している。２８０３は、印刷するドキュメントの部数を指定するコンボボックスを示している。そして、コンボボックス２８０３で指定された部数分だけ、ドキュメントが印刷される。尚、以上の要素は、一般の印刷ダイアログと同じであるため、その詳細な説明は省略する。
【０１７１】
また、図２８において、２８０４は、前述した図２７を用いて説明した仮想レコードを適用させた印刷を行うかどうかを指定するためのチェックボックスである。このチェックボックス２８０４をチェックオンの状態にすると、仮想レコード単位での印刷が行われることになる。また、チェックボックス２８０４をチェックオンすることにより、製本アプリケーション１０４は、電子原稿デスプーラ１０５を用いて、図２７で設定した組み合わせ順序に従って、電子原稿ファイルから必要なページを取得し、既知の技術を用いてプリンタドライバ１０５に対して描画データの出力を行うことにより印刷処理が行われる。また、２８０６は、すべての仮想レコードを印刷対象とするためのチェックボタンである。このチェックボタン２８０６をチェックオンすることで、電子原稿ファイル中に含まれるすべての仮想レコードを印刷対象とすることができる。尚、本実施形態に係る文書処理システムでは、デフォルト状態ではチェックボタン２８０６がチェックオンの状態であるものとする。
【０１７２】
また、図２８において、２８０７は、指定した仮想レコードのみを印刷対象とするためのチェックボタンである。このチェックボタン２８０７をチェックオンすることで、指定した仮想レコードのみを印刷対象とすることができる。尚、指定としては、レコード毎や、範囲の指定が可能である。例えば、図２８に示す例では、１−５で示される範囲が指定されており、これは、１レコード目から５レコード目（本製本アプリケーション１０４で管理している仮レコードの１〜５レコード目）が印刷対象として指定されていることを意味する。
【０１７３】
さらに、図２８において、２８０９は、印刷ダイアログの各設定項目に対する入力方法が表示される領域を示している。また、２８１０は、設定した印刷設定で印刷を開始するためのＯＫボタンである、さらに、２８１１は、印刷をキャンセルするためのキャンセルボタンである。ＯＫボタン２８１０及びキャンセルボタン２８１１のどちらも、それが押下されることでそれぞれの処理が行われ、その後本ダイアログが閉じられる。
【０１７４】
＜固定章との組み合わせプレビュー処理＞
図２９は、本発明の一実施形態に係る文書処理システムの製本アプリケーション１０２における仮想レコードと固定章の組み合わせたプレビュー処理を説明するためのフローチャートである。
【０１７５】
まず、文書処理システムの製本アプリケーション１０２は、仮想レコードを適用させたプレビューモードへ遷移する（ステップＳ２９００）。プレビューモードへの遷移方法は、メニューやツールボタンから行う形で良く、ＵＩ上で指定できるものとする。次に、仮想レコード設定がされているかどうかを判断する（ステップＳ２９０１）。その結果、仮想レコードが設定されていない、すなわち、前述したバリアブルテンプレートファイルのインポート処理により仮想レコードが設定されなかった場合（Ｎｏ）は、原稿ページの構成に仮想レコードが設定されていないため、通常のプレビュー処理へ移り（ステップＳ２９０３）、本処理を終了する。
【０１７６】
一方、ステップＳ２９０１で仮想レコードの設定があると判断された場合（Ｙｅｓ）は、作成された仮想レコードの総数を定数Ｎに代入する（ステップＳ２９０２）。そして、ユーザによって指定されたプレビュー対象の仮想レコード番号を変数ｎに代入する（ステップＳ２９０４）。次いで、代入されたレコード番号が設定されている仮想レコードの範囲外であるかどうかを判断する（ステップＳ２９０５）。その結果、範囲外であると判断された場合（Ｙｅｓ）は、ステップＳ２９０４に戻って、プレビューのレコード番号の代入処理を行う。
【０１７７】
一方、ステップＳ２９０５で範囲内であると判断された場合（Ｎｏ）は、図２７に示すＵＩ画面におけるチェックボックス２７０２の「仮想レコードと固定章を組み合わせる」にチェックがされているかどうかを判定する（ステップＳ２９０６）。その結果、チェックボックス２７０２がチェックオンになっていると判定された場合、すなわち組み合わせ設定があると判定された場合（Ｙｅｓ）は、組み合わせを行う固定章を組み合わせ順序に従って仮想ｎレコード内にマージする（ステップＳ２９０７）。そして、仮想ｎレコードをプレビューする（ステップＳ２９０８）。尚、ステップＳ２９０６でチェックオフになっていると判定された場合（Ｎｏ）は、ステップＳ２９０８に進む。
【０１７８】
ステップＳ２９０８のプレビュー後、プレビューを終了するかさらに続けるかどうかを判断する（ステップＳ２９０９）。その結果、プレビューを終了せずに再度プレビューを行うと判断された場合（Ｎｏ）は、ステップＳ２９０４へ戻って上記処理を継続する。一方、プレビューを終了すると判断された場合（Ｙｅｓ）は、本フローチャートの処理を終了する。
【０１７９】
また、図３０は、図２９のフローチャートで示した仮想レコードと固定章の組み合わせプレビューのＵＩ画面例を示す図である。図３０に示すＵＩ画面において、３００１は、仮想レコードプレビューを行うために選択をするコンボボックスである。コンボボックス３００１において「仮想レコードプレビュー」を選択することで、仮想レコードを反映させたプレビューが可能になる。尚、仮想レコードを反映させたプレビューについては前述したとおりである。
【０１８０】
図３０において、３００２は、仮想レコード内のページ構成を示すリスト構造である。また、３００３は、固定章のページ構成を示すリスト構造である。さらに、３００４は、仮想レコード内のページに対するプレビュー表示である。さらにまた、３００５は、固定章のページに対するプレビュー表示である。尚、図３０では、組み合わせ順序が、（固定１）、１−１、１−２、１−３、（固定２）と設定されているものとする。従って、プレビュー領域に表示されるドキュメントの順番は、設定した順番に並び変わって表示される。
【０１８１】
＜固定章との組み合わせ印刷処理＞
図３１は、本発明の一実施形態に係る文書処理システムにおける仮想レコードと固定章の組み合わせた印刷処理を説明するためのフローチャートである。
【０１８２】
まず、文書処理システムにおいて、仮想レコードの設定がされているかどうかを判断する（ステップＳ３１００）。その結果、仮想レコードの設定がされていないと判断された場合（Ｎｏ）は、通常の印刷処理へ移り（ステップＳ３１０２）、本印刷処理を終了する。一方、仮想レコードの設定がされていると判断された場合（Ｙｅｓ）は、次に、設定された仮想レコードを適用させて印刷するか否かを判断する（ステップＳ３１０１）。尚、仮想レコードを適用させるかさせないかは、ユーザが印刷時に指示をすることで決定される。
【０１８３】
その結果、仮想レコードを適用させない場合（Ｎｏ）は、通常の印刷処理へ移る（ステップＳ３１０２）。一方、仮想レコードを適用させる場合（Ｙｅｓ）は、まず設定されている仮想レコードの総数を定数Ｎに代入する（ステップＳ３１０３）。次に、変数ｎに１を代入する（ステップＳ３１０４）。そして、図２８に示す印刷ダイアログにおいて、チェックボタン２８０５の「組み合わせ設定を適用する」がチェックオンになっているかどうかを判断する（ステップＳ３１０５）。
【０１８４】
その結果、チェックボックス２８０５がチェックオンの状態である場合（Ｙｅｓ）は、組み合わせを行う固定章を仮想ｎレコード内にマージしてドキュメントを生成する（ステップＳ３１０６）。そして、ステップＳ３１０６で作成した仮想ｎレコード目の印刷処理を行う（ステップＳ３１０７）。一方、ステップＳ３１０５でチェックボックス２８０５がチェックオフの状態であると判断された場合（Ｎｏ）は、前述した仮想レコードの印刷処理になるので、ステップＳ３１０６のマージ処理はスキップして、ステップＳ３１０７へ進んで、仮想ｎレコード目の印刷処理を行う。
【０１８５】
ステップＳ３１０７で仮想ｎレコード目の印刷処理が終了した後、変数ｎをインクリメントして（ステップＳ３１０８）、全レコードについて印刷処理が終了したかどうかを判断する（ステップＳ３１０９）。その結果、全レコードについての処理が終了していない場合（Ｎｏ）は、ステップＳ３１０５に戻って上述した処理を繰り返す。一方、全レコードについての処理が終了している場合（Ｙｅｓ）は、本フローチャートで示す処理は終了する。
【０１８６】
＜仮想レコードの手動設定＞
図３２は、本発明の一実施形態に係る文書処理システムにおいて仮想レコードの手動設定を説明するためのＵＩ画面例を示す図である。すなわち、仮想レコードについて、前述したインポート処理によって自動的に設定される以外に、ユーザは、図３２に示すＵＩ画面を用いて任意に設定することが可能である。
【０１８７】
図３２において、３２００は、文書処理システムのメインウインドウを示している。３２０１は、インポートされた電子原稿ファイルのドキュメント構成を示すリストである。３２０２は、ユーザによって選択された原稿ページの範囲を示す矩形枠である。３２０３は、マウスポインタを示している。３２０４は、マウス右クリック等で表示されるポップアップメニューを示している。３２０５は、ポップアップメニューの一般的な項目を示している。３２０６は、ポップアップメニュー内にある「仮想レコードに設定」項目を示している。以下では、これらを用いてユーザが手動で仮想レコードを設定する方法を説明する。
【０１８８】
ユーザは、マウスポインタ３２０３によって、仮想レコードとして設定したいインポートされている原稿ファイルを任意に選択する。ここで、その選択の方法としては、マウスクリックにより行われる。また、複数ページを選択する場合は、マウスで矩形描画をして原稿ページを囲む方法や、キーボードキーを押下しながらマウスクリックをすることにより行われる。そして、原稿ページを選択された状態にして、マウス右クリックで表示されるポップアップメニュー３２０４から「仮想レコードに設定」３２０６を選択すると、対象ページを仮想レコードに設定することができる。
【０１８９】
以上説明したように、本実施形態では、印刷設定に特化した文書処理システムにおいて、バリアブル印刷システムによって作成されたテンプレートファイルに対し、レコードの概念を取り入れた形式での編集を可能とした。また、重複ページの取り込みを自動的に防止することで、余分なページ取り込みを防ぐことができる。さらに、仮想レコード単位でのプレビュー／印刷や、仮想レコード単位の印刷設定や固定ページとの組み合わせプレビュー／印刷を可能にすることにより、バリアブルテンプレートに対して文書処理システムの印刷機能を付加して出力することが可能になる。
【０１９０】
尚、上述した方法により設定された仮想レコードと前述したインポート処理により設定された仮想レコードは同じものとして扱うことが可能なため、固定ページとの組み合わせプレビュー及び印刷処理にも適用させることが可能である。また、手動で設定する方法は、文書処理システムにインポートできる一般アプリケーションの原稿ファイルに対しても処理することができるため、バリアブルプリントアプリケーションから一般アプリケーション形式に出力された電子ファイルや等対しても仮想レコードを設定することが可能となる。
【０１９１】
≪その他の実施形態≫
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１９２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１９３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１９４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１９５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１９６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１９７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１９８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１９９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０２００】
【図１】本発明の一実施形態に係るスタンドアロン型の文書処理システムのソフトウェア構成図である。
【図２】図２は、本発明の一実施形態に係る文書処理システムにおけるコンピュータ１００のハードウェア構成図である。
【図３】本発明の一実施形態におけるブックファイル１０３の構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】本発明の一実施形態に係る製本アプリケーション１０４によってブックファイルを開く際の手順を説明するためのフローチャートである。
【図８】電子原稿ファイルをブックファイルにインポートする手順を説明するためのフローチャートである。
【図９】図８に示される、電子原稿ライタ１０２により電子原稿ファイルを生成させる処理（ステップＳ８０１）の細部処理手順を説明するためのフローチャートである。
【図１０】既存のブックファイルから指定されたブックファイルを表示する製本アプリケーション１０４のＵＩ画面の一例を示す図である。
【図１１】新規にブックファイルが作成された際に表示される製本アプリケーション１０４のＵＩ画面の一例を示す図である。
【図１２】本発明の一実施形態に係るサーバクライアント型の文書処理システムのソフトウェア構成図である。
【図１３】本発明の一実施形態に係るコンピュータ１００とプリンタ１０７とを備えるステイプル制御を行う文書処理システムの構成を示すブロック図である。
【図１４】バリアブルデータドキュメントを印刷するバリアブルプリントシステム１００の構成を示すブロック図である。
【図１５】図１４に示すバリアブルプリントシステム１００のハードウェア構成図である。
【図１６】バリアブルデータドキュメントを印刷する別のバリアブルプリントシステム１００の構成を示すブロック図である。
【図１７】バリアブルプリントシステムにおけるメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウを示す図である。
【図１８】バリアブルプリントシステムにおける典型的なコンテナの一面をスクリーン、ツール、アイコンを用いて示した図である。
【図１９】本発明の一実施形態に係る文書処理システムを用いた全体の処理手順を説明するためのフローチャートである。
【図２０】本発明の一実施形態に係る文書処理システムにおけるバリアブルテンプレートファイルのインポート処理（ステップＳ１９０２）の詳細を説明するためのフローチャートである。
【図２１】図１９に示すフローチャートにおけるバリアブルテンプレートのインポート処理（ステップＳ１９０２）を行った結果得られる文書処理システムのＵＩ画面例を示す図である。
【図２２】本発明の一実施形態に係る文書処理システムの製本アプリケーション１０４における仮想レコードのプレビュー処理（ステップＳ１９０５）の詳細を説明するためのフローチャートである。
【図２３Ａ】、
【図２３Ｂ】、
【図２３Ｃ】図１９に示すフローチャートにおける仮想レコードのプレビュー処理（ステップＳ１９０５）を行った際の文書処理システムのＵＩ画面例を示す図である。
【図２４】本発明の一実施形態に係る文書処理システムにおける仮想レコードを適用した印刷処理（ステップＳ１９０７）の詳細を説明するためのフローチャートである。
【図２５】本発明の一実施形態に係る文書処理システムにおけるバリアブルテンプレートファイルのインポート処理（ステップＳ１９０２）の別の例の詳細を説明するためのフローチャートである。
【図２６Ａ】、
【図２６Ｂ】バリアブルテンプレートのインポート処理を行った結果得られる文書処理システムのＵＩ画面例を示す図である。
【図２７】本発明の一実施形態に係る文書処理システムの製本アプリケーション１０４における仮想レコードと固定章の組み合わせ順序を指定するための設定ダイアログのＵＩ画面例を示す図である。
【図２８】本発明の一実施形態における文書処理システムの製本アプリケーションにおける仮想レコード印刷処理を指定するための印刷ダイアログのＵＩ画面例を示す図である。
【図２９】本発明の一実施形態に係る文書処理システムの製本アプリケーション１０２における仮想レコードと固定章の組み合わせたプレビュー処理を説明するためのフローチャートである。
【図３０】図２９のフローチャートで示した仮想レコードと固定章の組み合わせプレビューのＵＩ画面例を示す図である。
【図３１】本発明の一実施形態に係る文書処理システムにおける仮想レコードと固定章の組み合わせた印刷処理を説明するためのフローチャートである。
【図３２】本発明の一実施形態に係る文書処理システムにおいて仮想レコードの手動設定を説明するためのＵＩ画面例を示す図である。
【図３３】本発明の電子原稿ライタ１０２の標準設定ウインドウのＵＩ画面例を示す図である。
【符号の説明】
【０２０１】
１００  ホストコンピュータ
１０１  一般アプリケーション
１０２  電子原稿ライタ
１０３  電子原稿ファイル
１０４  製本アプリケーション
１０５  電子原稿デスプーラ
１０６  プリンタドライバ
１０７  プリンタ
【図１】
2006215819.tif 000003
【図２】
2006215819.tif 000004
【図３】
2006215819.tif 000005
【図４】
2006215819.tif 000006
【図５】
2006215819.tif 000007
【図６】
2006215819.tif 000008
【図７】
2006215819.tif 000009
【図８】
2006215819.tif 000010
【図９】
2006215819.tif 000011
【図１０】
2006215819.tif 000012
【図１１】
2006215819.tif 000013
【図１２】
2006215819.tif 000014
【図１３】
2006215819.tif 000015
【図１４】
2006215819.tif 000016
【図１５】
2006215819.tif 000017
【図１６】
2006215819.tif 000018
【図１７】
2006215819.tif 000019
【図１８】
2006215819.tif 000020
【図１９】
2006215819.tif 000021
【図２０】
2006215819.tif 000022
【図２１】
2006215819.tif 000023
【図２２】
2006215819.tif 000024
【図２３Ａ】
2006215819.tif 000025
【図２３Ｂ】
2006215819.tif 000026
【図２３Ｃ】
2006215819.tif 000027
【図２４】
2006215819.tif 000028
【図２５】
2006215819.tif 000029
【図２６Ａ】
2006215819.tif 000030
【図２６Ｂ】
2006215819.tif 000031
【図２７】
2006215819.tif 000032
【図２８】
2006215819.tif 000033
【図２９】
2006215819.tif 000034
【図３０】
2006215819.tif 000035
【図３１】
2006215819.tif 000036
【図３２】
2006215819.tif 000037
【図３３】
2006215819.tif 000038