(57)【特許請求の範囲】
【請求項１】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対してステープル処理を実行することが指定されているか否かを判定する判定手段と、
前記判定手段により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定手段により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行手段とを備え、
前記発行手段が、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とする文書処理装置。
【請求項２】
前記発行手段は、製本設定かつサドルステッチが選択されている場合、前記複数のレコードについて複数の印刷ジョブを発行することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記発行手段は、前記印刷設定で、前記レコード単位のステープルが選択されている場合、レコード数が前記印刷装置で実行処理できるジョブバインド制限数を超えているかを判断し、レコード数がジョブバインド数を超えている場合に、複数の印刷ジョブを発行するものと決定し、レコード数がジョブバインド数を超えていない場合には、ジョブバインド機能を用いて複数レコードについて単一の印刷ジョブを発行すると決定することを特徴とする請求項１または２に記載の文書処理装置。
【請求項４】
アプリケーションから出力されるアプリケーションデータに基づいて文書データを生成する第１生成手段と、
前記第１生成手段によって生成された文書データに、前記複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することを示す情報、または、前記複数のレコードについて単一の印刷ジョブを発行することを示す情報を用いて前記文書データを保存する保存手段と
を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
前記アプリケーションデータに基づいて、前記印刷ジョブを生成するプリンタドライバに出力される出力コマンドを生成する第２生成手段と、
前記第２生成手段によって生成された出力コマンドに基づいて、前記印刷ジョブを生成する第３生成手段を備えることを特徴とする請求項４に記載の文書処理装置。
【請求項６】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対して表紙を挿入することが指定されているか否かを判定する判定手段と、
前記判定手段により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定手段により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行手段とを備え、
前記発行手段が、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とする文書処理装置。
【請求項７】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対してステープル処理を実行することが指定されているか否かを判定する判定工程と、
前記判定工程により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定工程により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行工程とを有し、
前記発行工程では、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とする文書処理方法。
【請求項８】
前記発行工程は、製本設定かつサドルステッチが選択されている場合、前記複数のレコードについて複数の印刷ジョブを発行することを特徴とする請求項７に記載の文書処理方法。
【請求項９】
前記発行工程は、前記印刷設定で、前記レコード単位のステープルが選択されている場合、レコード数が前記印刷装置で実行処理できるジョブバインド制限数を超えているかを判断し、レコード数がジョブバインド数を超えている場合に、複数の印刷ジョブを発行するものと決定し、レコード数がジョブバインド数を超えていない場合には、ジョブバインド機能を用いて複数レコードについて単一の印刷ジョブを発行すると決定することを特徴とする請求項７または８に記載の文書処理方法。
【請求項１０】
アプリケーションから出力されるアプリケーションデータに基づいて文書データを生成する第１生成工程と、
前記第１生成工程によって生成された文書データに、前記複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することを示す情報、または、前記複数のレコードについて単一の印刷ジョブを発行することを示す情報を用いて前記文書データを保存する保存工程と
を更に備えることを特徴とする請求項７乃至９のいずれか１項に記載の文書処理方法。
【請求項１１】
前記アプリケーションデータに基づいて、前記印刷ジョブを生成するプリンタドライバに出力される出力コマンドを生成する第２生成工程と、
前記第２生成工程によって生成された出力コマンドに基づいて、前記印刷ジョブを生成する第３生成工程を備えることを特徴とする請求項１０に記載の文書処理方法。
【請求項１２】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対して表紙を挿入することが指定されているか否かを判定する判定工程と、
前記判定工程により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定工程により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行工程とを有し、
前記発行工程では、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とする文書処理方法。
【請求項１３】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対してステープル処理を実行することが指定されているか否かを判定する判定工程と、
前記判定工程により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定工程により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行工程とをコンピュータに実行させ、
前記発行工程では、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とするプログラム。
【請求項１４】
前記発行工程は、製本設定かつサドルステッチが選択されている場合、前記複数のレコードについて複数の印刷ジョブを発行することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記発行工程は、前記印刷設定で、前記レコード単位のステープルが選択されている場合、レコード数が前記印刷装置で実行処理できるジョブバインド制限数を超えているかを判断し、レコード数がジョブバインド数を超えている場合に、複数の印刷ジョブを発行するものと決定し、レコード数がジョブバインド数を超えていない場合には、ジョブバインド機能を用いて複数レコードについて単一の印刷ジョブを発行すると決定することを特徴とする請求項１３または１４に記載のプログラム。
【請求項１６】
アプリケーションから出力されるアプリケーションデータに基づいて文書データを生成する第１生成工程と、
前記第１生成工程によって生成された文書データに、前記複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することを示す情報、または、前記複数のレコードについて単一の印刷ジョブを発行することを示す情報を用いて前記文書データを保存する保存工程と
をコンピュータに更に実行させることを特徴とする請求項１３乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記アプリケーションデータに基づいて、前記印刷ジョブを生成するプリンタドライバに出力される出力コマンドを生成する第２生成工程と、
前記第２生成工程によって生成された出力コマンドに基づいて、前記印刷ジョブを生成する第３生成工程をコンピュータに更に実行させることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対して表紙を挿入することが指定されているか否かを判定する判定工程と、
前記判定工程により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定工程により前記バリアブル印刷、および、前記印刷物に対して表紙を挿入すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行工程とをコンピュータに実行させ、
前記発行工程では、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行されることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば文書処理プログラムや画像編集プログラム等、様々なプログラムによって生成される出力データをひとつの文書としてまとめ、その文書を印刷するための印刷機能を提供する文書処理装置及び方法に関する。
【０００２】
【従来の技術】
文字や表、画像など、データの種類が異なると、データを定義する構造やそれらデータに対する編集操作が異なるために、データの種類に応じた様々なアプリケーションプログラムが提供されている。利用者は、文字を編集するためには文字処理プログラム、表を編集するためには表計算プログラム、画像を編集するためには画像編集プログラムといった具合に、データの種類別にアプリケーションを使い分けている。そして、このように、利用者が使い分けている各アプリケーションプログラムにより作成されるデータをひとまとめにした新たな文書の作成および編集を行うための文書処理システムも提案されている。
【０００３】
このようにして作成される文書には、バリアブル印刷が可能なアプリケーションプログラムにより作成された、バリアブル印刷指定を含む文書データも含まれている。バリアブル印刷とは、例えば、一定の文章や画像等の内容を、あて先のみを変えて複数部印刷する場合等に応用される印刷機能である。すなわち、変更したい内容をフィールド項目に埋め込まれるよう、一定の形式のレコードとして、印刷１部毎に１レコードに対応づけてあらかじめ作成・保存しておく。この変更したい内容を保存するためのファイル（データベース等）をここではバリアブルデータと呼び、バリアブルデータを埋め込む一連の印刷単位をレコードと呼ぶことにする。例えば、宛先を変更して出力物を出す場合に、宛先５人分を出すと、５レコードを印刷するということになる。一般的に、レコードとは、１部の印刷物と考えることも可能であるが、各レコードの出力ページは、宛先が異なっており、印刷結果として同じではないため、１部という表現は避けている。一方、変更の対象とならずにフィールド項目に含まれていない内容は、印刷出力する書式として作成され、その中に１レコード分のデータの書式も定義されている。このバリアブル印刷時に変更されない方のデータをここではコンスタントデータ（フォームデータとも呼ぶ）と呼び、コンスタントデータ中でバリアブルデータを当てはめるべく指定された部分をバリアブルフィールドと呼ぶことにする。
【０００４】
バリアブル印刷を行う際には、印刷指示が与えられると、まずコンスタントデータに含まれているバリアブルフィールドに各バリアブルデータが挿入されて印刷データとして完成され、その印刷データにジョブコントロール言語が付されて印刷ジョブが生成される。印刷ジョブは印刷装置に対して発行され、そこで印刷出力される。
【０００５】
こうして、バリアブル印刷機能によって、既存のデータベース等を利用して、指定した内容をレコードの内容で置き換えることで、文書処理システムの資源や利用者の労力を軽減することができる。
【０００６】
このように、文書中にバリアブル印刷の指定が含まれている場合、印刷時にバリアブルフィールドがバリアブルデータで埋められて印刷ジョブが作成される。ここで、印刷ジョブの作成の仕方として、全体をひとつの印刷ジョブとする第１の方法と、各バリアブルフィールドにバリアブルデータを挿入して完成された１レコードの印刷データをレコードごとにそれぞれ印刷ジョブとする第２の方法とがある。第２の方法をバリアブルジョブ分割とも呼ぶ。利用者は何れの方法を採用するかを指定することができた。
【０００７】
【発明が解決しようとする課題】
しかしながら、利用者による指定に任せたのでは、最適な方法が採用されるとは限らないという問題があった。
【０００８】
第１の方法では、全体で１つの印刷ジョブが作成されるために、ユーザインターフェース上で印刷ジョブを管理をしたり、あるいはログに記録してジョブ管理する場合等、管理がしやすく、また、ジョブの生成や出力時に処理上のオーバーヘッドが少ないという利点がある。その一方、ジョブ単位で施される処理、例えば印刷装置においてジョブ単位で提供されるステープルや表紙挿入などの処理をレコード単位で行うことができないという欠点がある。例えば、レコード毎に表紙を挿入することや、レコード毎にステープルで綴じることはできない。
【０００９】
第２の方法では、レコード毎に１つの印刷ジョブが作成されるために、ジョブ単位で施される処理をレコード毎に施すことができるという利点がある一方、生成される印刷ジョブの数は、少なくともレコード数と同じもしくはそれ以上となり、処理上のオーバーヘッドが多く、また管理がしにくいという欠点がある。
【００１０】
このように、第１の方法と第２の方法は、互いに相反する利点と欠点とを有しているために、採用する方法の選択を誤ると、利用者が希望する出力物が得られない。そのため、利用者はいずれの方法を採用するか印刷内容に応じて決定しなければならない。このため、特にデータを作成した者と出力する者が異なるような場合には、印刷を試行してからジョブ作成方法を決定する必要さえ有る。これは、単に利用者の労力を増大させるのみならず、資源の浪費をも生じさせることになる。
【００１１】
本発明は上記従来例に鑑みて成されたもので、印刷設定に基づいて最適な方法で印刷ジョブを作成することで、利用者の希望する出力物を確実に出力し、利用者の労力の軽減や資源の浪費の防止、処理時間の短縮を実現する文書処理装置及び方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成から成る。
【００１３】
レコードに含まれるバリアブルデータを指定された領域にあてはめて印刷するバリアブル印刷、および、印刷物に対してステープル処理を実行することが指定されているか否かを判定する判定手段と、前記判定手段により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行することが指定されていると判定された場合、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行し、前記判定手段により前記バリアブル印刷、および、前記印刷物に対してステープル処理を実行すること、の少なくとも１つが指定されていないと判定された場合、前記複数のレコードについて単一の印刷ジョブを発行する発行手段とを備え、前記発行手段が、複数のレコードに含まれる１つのレコードに対して１つの印刷ジョブを発行することで、当該複数のレコードの数と同じ数の印刷ジョブが発行される。
【００１７】
【発明の実施の形態】
［第１の実施形態］
＜システム概要＞
本発明を実施する文書処理システムの概要を、図１〜図１２を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションはその電子原稿ファイルを編集する機能を提供している。以下、その詳細を説明する。
【００１８】
＜システム構成及び動作＞
図１は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の文書処理装置（情報処理装置）の好適な実施形態であるデジタルコンピュータ１０１（以下、ホストコンピュータとも呼ぶ）によって実現されている。一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対する印刷機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム（ＯＳ）により提供される所定のインターフェース（一般に、ＧＤＩと呼ばれる）を利用する。すなわち、アプリケーション１０１は、作成したデータを印刷するために、前記インターフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる、ＯＳに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる）を送信する。出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、変換されたコマンド（ＤＤＩ関数と呼ばれる）を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Job Language）でくくることにより印刷ジョブが生成される。ＯＳとしてマイクロソフト社のウインドウズ（登録商標）を利用する場合には、前述した出力モジュールにはＧＤＩと呼ばれるモジュールが相当する。
【００１９】
電子原稿ライタ１０２は、前述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。ただし、電子原稿ライタ１０２は特定の出力デバイスを目的としておらず、後述の製本アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２による変換後の形式（以後電子原稿形式と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるＰＤＦ形式や、ＳＶＧ形式などが電子原稿形式として採用できる。アプリケーション１０１により電子原稿ライタ１０２を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定してから印刷を実行させる。ただし、電子原稿ライタ１０２によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ１０２を指定するのは製本アプリケーション１０４であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション１０４は、電子原稿ライタ１０２が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ１０２によって作成されたファイルを電子原稿ファイルと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイルをブックファイルと呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（または文書データ）と呼ぶ。
【００２０】
このようにデバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりそのデータを印刷させることで、アプリケーションデータはアプリケーション１０１によって定義されたページ（以後論理ページあるいは原稿ページと呼ぶ）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３としてハードディスクなどの記憶媒体に格納される。なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【００２１】
製本アプリケーション１０４は電子原稿ファイルあるいはブックファイル１０３を読み込み、それを編集するための機能を利用者に提供する。ただし製本アプリケーション１０４は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【００２２】
製本アプリケーション１０４によって編集されたブックファイル１０３を印刷する際には、製本アプリケーション１０４によって電子原稿デスプーラ１０５が起動される。電子原稿デスプーラ１０５は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールであり、製本アプリケーションで利用するドキュメント（ブックファイル）を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ１０５は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７のプリンタドライバ１０６がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ１０７のデバイスドライバ１０６を用いて受信した出力コマンドを、プリンタ１０７で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【００２３】
図２は、コンピュータ１００及びプリンタ１０７のハードウェアブロック図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、あるいはハードディスク２１１からＲＡＭ２０２にロードされたＯＳや一般アプリケーション、製本アプリケーションなどのプログラムを実行し、図１のソフトウェア構成や、後述するフローチャートの手順を実現する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８は、接続されたプリンタ１０７との間の信号の交換を制御する。ＮＣ２１２はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００２４】
一方、プリンタ１０７は、ＣＰＵ２２１により制御される。プリンタＣＰＵ２２１は、ＲＯＭ２２３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ２３１に記憶された制御プログラム等に基づいてシステムバス２１２に接続される印刷部（プリンタエンジン）２３０に出力情報としての画像信号を出力する。また、このＲＯＭ２２３のプログラムＲＯＭには、ＣＰＵ２２１の制御プログラム等を記憶する。ＲＯＭ２２３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ２２３のデータ用ＲＯＭには、ハードディスク等の外部メモリ２３１がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２５】
ＣＰＵ２２１は入力部２２５を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ２２２は、ＣＰＵ２２１の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ２２２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ２３１は、メモリコントローラ（ＭＣ）２２７によりアクセスを制御される。外部メモリ２３１は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部２２８には操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２６】
また、前述した外部メモリ２３１は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作部（操作パネル）２２８からのプリンタモード設定情報を記憶するようにしてもよい。
【００２７】
＜電子原稿データの形式＞
製本アプリケーション１０４の詳細に言及する前に、ブックファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した３層の層構造を有する。上位層は「ブック」と呼ばれ、１冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
【００２８】
図３（Ａ）は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルは、ブック，章，ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック，章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。なお、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００２９】
図３において、ブック３０１には、ブック属性が定義されているとともに、２つの章３０２Ａ，３０２Ｂがリンクされている。このリンクにより、章３０２Ａ，３０２Ｂがブック３０１に包含されていることが表示される。章３０２Ａには、ページ３０３Ａ，３０３Ｂがリンクされ、これらページが含まれることが示されている。各ページ３０３Ａ，３０３Ｂにはそれぞれ属性値が定義され、その実体である原稿ページデータ（１）、（２）へのリンクが含まれる。これらリンクは、図３（Ｂ）に示す原稿ページデータ３０４のデータ（１），（２）を指し示し、ページ３０３Ａ、３０３Ｂの実体が、原稿ページデータ（１）、（２）であることを表示する。
【００３０】
バリアブルフィールドは、これら各原稿ページデータ中において定義されている。
【００３１】
図４は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。なお、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００３２】
図５は章属性の、図６はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００３３】
ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらは、ブックを通して定義される項目である。印刷方法属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００３４】
表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００３５】
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、および、合紙を挿入する場合には、給紙元の指定などを含む。
【００３６】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００３７】
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。このうち、Ｎ−ｕｐ印刷指定属性は、１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１や１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００３８】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば１×１であれば、仮想論理ページ領域は１印刷ページに相当する領域となり、１×２であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００３９】
ブック、章、ページについて共通な属性として、ウォーターマーク属性およびヘッダ・フッタ属性がある。ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白および下余白に印刷されるウォーターマークである。ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダフッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【００４０】
＜ブックファイルの生成手順＞
ブックファイルは上述したような構造および内容を有している。次に、製本アプリケーション１０４および電子原稿ライタ１０２によってブックファイルを作成する手順を説明する。ブックファイルの作成は、製本アプリケーション１０４によるブックファイルの編集操作の一環として実現される。図７は、製本アプリケーション１０４によりブックファイルを開く際の手順である。
【００４１】
まず、製本アプリケーション１０４は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１）。新規作成の場合には、製本アプリケーション１０４は、章を含まないブックファイルを新規に作成する（ステップＳ７０２）。新規に作成されるブックファイルは、図３の例で示せば、ブックノード３０１のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、製本アプリケーション１０４は、新規ブックファイルを編集するためのユーザインターフェース（ＵＩ）画面を表示する（ステップＳ７０４）。図１１は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、ＵＩ画面１１００には何も表示されない。
【００４２】
一方、既存のブックファイルがあれば、製本アプリケーション１０４は、指定されたブックファイルを開き（ステップＳ７０３）、そのブックファイルの構造、属性、内容に従ってユーザインターフェース（ＵＩ）画面を表示する。図１０は、このＵＩ画面の一例である。ＵＩ画面１１００は、ブックの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とを含む。ツリー部１１０１には、ブックに含まれる章、各章に含まれるページが、図３（Ａ）のような木構造で表示される。ツリー部１１０１に表示されるページは原稿ページである。プレビュー部１１０２には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【００４３】
さて、開かれたブックファイルには、電子原稿ライタによって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図７の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。図８に電子原稿インポートの手順を示す。
【００４４】
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを印刷出力させることで、電子原稿ライタ１０２は、アプリケーションからＯＳを介して入力される描画データを電子原稿データに変換する（ステップＳ８０１）。変換を終えたなら、製本アプリケーション１０４は、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。この判定は、ウインドウズ（登録商標）ＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行える。例えば、拡張子が「ｂｍｐ」であればウインドウズビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。また、このような画像データの場合はＳ８０１のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、Ｓ８０１の処理を省略することも可能である。
【００４５】
画像データでなかった場合には、製本アプリケーション１０４は、ステップＳ８０１で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【００４６】
画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップＳ８０１で生成された電子原稿ファイルに含まれる各原稿ページが追加される（ステップＳ８０４）。ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるもにについてはその値が与えられる。例えば、Ｎｕｐ指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【００４７】
図９は、図８のステップＳ８０１において、電子原稿ライタ１０２により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く（ステップＳ９０１）。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとして、ＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換し、出力する（ステップＳ９０２）。出力先はステップＳ９０１で開いた電子原稿ファイルである。指定されたデータすべてについて変換が終了したか判定し（ステップＳ９０３）、終了していれば電子原稿ファイルを閉じる（ステップＳ９０４）。電子原稿ライタ１０２によって生成される電子原稿ファイルは、図３（Ｂ）に示した、原稿ページデータの実体を含むファイルである。
【００４８】
＜ブックファイルの編集＞
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００４９】
このほか、一旦行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図４乃至５に示す属性に操作結果が反映されたり、あるいはブックファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００５０】
＜ブックファイルの出力＞
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図１０に示す製本アプリケーションのＵＩ画面１１００からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション１０４は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ１０５に渡す。電子原稿デスプーラ１０５は、ジョブチケットをＯＳの出力コマンド、例えばウインドウズ（登録商標）のＧＤＩコマンドに変換し、それを出力モジュール、例えばＧＤＩに送信する。出力モジュールは、指定されたプリンタドライバ１０６によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【００５１】
ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【００５２】
電子原稿デスプーラ１０５は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００５３】
＜そのほかのシステム構成＞
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
【００５４】
図１２はサーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるＤＯＭＳ（Document Output Management Service：文書出力管理サービス）ドライバ１０９およびＤＯＭＳプリントサービスモジュール１１０、ＤＳ（文書サービス）クライアントモジュール１０８を加えた構成を有する。このクライアント文書処理システム１２００に、文書管理サーバ１２０１および印刷集中管理サーバ１２０２およびプリントサーバ１２０３が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。なお図１２では文書管理サーバ１２０１と印刷集中管理サーバ１２０２の量サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバクライアントシステム１２０１ＳＣが、印刷集中管理サーバ１２０２であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム１２０２ＳＣが、スタンドアロン型文書管理システムに追加される。
【００５５】
文書管理サーバ１２０１は、製本アプリケーション１０４により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ１２０１によってブックファイルを管理する場合、ブックファイルは、クライアントＰＣのローカルＨＤに代わって、あるいはそれに加えて、文書管理サーバ１２０１のデータベース１２１１に保存される。製本アプリケーション１０４と文書管理サーバ１２０１との間のブックファイルの保存および読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。
【００５６】
印刷集中管理サーバ１２０２は、クライアント文書管理システム１２００に格納された、あるいは文書管理サーバ１２０１に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９およびＤＯＭＳプリントサービスモジュール１１０を介して印刷集中管理サーバ１２０２のＤＯＭＳＷＧサーバモジュール１２２１に送信される。集中印刷管理サーバ１２０２は、クライアントのプリンタで印刷する場合にはクライアントのＤＯＭＳプリントサービスモジュール１１０を介して電子原稿デスプーラ１０５に電子原稿データを渡し、プリントサーバ１２０３により印刷する場合には、プリントサーバ１２０３のＤＯＭＳプリントサービスモジュール１２０３に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【００５７】
＜プリンタの構成＞
図１３は、プリンタ１０７の一例である、フィニッシャが装着された複写機の断面図である。複写機１０７は、原稿を操作するリーダ部を備えており、スキャナや複写機として利用でき、加えて、接続されたコンピュータから印刷ジョブを入力することにより、プリンタとして利用することもできる。
【００５８】
図１３において、原稿給送装置１３０１は、原稿を先頭から順に１枚ずつプラテンガラス１３０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス１３０２上の原稿を排出する。原稿がプラテンガラス１３０２上に搬送されると、ランプ１３０３を点灯し、そしてスキャナユニット１３０４の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー１３０５、１３０６、１３０７、及びレンズ１３０８によってＣＣＤイメージセンサ（以下ＣＣＤという）１３０９へ導かれる。このように、走査された原稿の画像はＣＣＤ１３０９によって読み取られる。プリンタとして利用される際には、このリーダ部は不要である。
【００５９】
レーザドライバ１３２１はレーザ発光部１３１０を駆動し、出力画像データに応じたレーザ光をレーザ発光部１３１０に発光させる。出力画像データは、プリンタとして利用される場合にはホストコンピュータから入力される。このレーザ光は、予め帯電された感光ドラム１３１１上を走査するように照射され、感光ドラム１３１１にはレーザ光に応じた潜像が形成される。この感光ドラム１３１１の潜像の部分に現像器１３１２によって現像剤が付着される。現像器１３１２には、カラー機の場合は、イエロー，マゼンタ，シアン，ブラックの４色分の現像器が装着されている。そして、レーザ光の照射開始と同期したタイミングで、カセット１３１３及びカセット１３１４、手差し給紙段１３２７のいずれかから記録紙を給紙して転写部１３１５へ搬送し、感光ドラム１３１１に付着された現像剤を記録紙に転写する。現像剤が転写された記録紙は定着部１３１６に搬送され、定着部１３１６の熱と圧力により現像剤が記像紙に定着され、画像が記録紙上に形成される。
【００６０】
定着部１３１６を通過し、画像形成が完了した記録紙は排出ローラ１３１７によって排出される。また、両面記録が設定され、その第１面のみの画像形成が済んだ場合には、排出ローラ１３１７のところまで記録紙を搬送した後、排出ローラ１３１７の回転方向を逆転させ、フラッパ１３１８によって再給紙搬送路１３１９へ導く。再給紙搬送路１３１９へ導かれた記録紙は上述したタイミングで転写部１３１５へ給紙され、第２面の画像が形成される。
【００６１】
Ｚ折りユニット１３２６が本体に装備されている場合には、複写機本体から排出された記録紙はＺ折りユニット１３２６へ搬送され、操作部からの操作あるいは印刷設定に応じてＺ折りが行われる。
【００６２】
フィニッシャ１３２０が装備されている場合には、複写機本体から排出された記録紙が束ねられて仕分けされたり、印刷設定に応じてパンチャ１３２３で記録紙にパンチ孔があけられたり、ステイプラ１３２４でステイプルが行われる。また、サドルステッチャ１３２５によって、束ねられた記録紙はその中央部がステッチ（サドルステッチ）され、中央部で折られて製本される。インサータ１３２２は、予め何らかの画像が印刷された用紙などを、文書の表紙や合紙として給紙し、排出される文書の指定されたページとして挿入することが可能である。インサータ１３２２によって挿入される用紙はプリンタ部の記録紙の搬送経路を通らないために、傷まずに搬送される。
【００６３】
＜バリアブル印刷手順＞
バリアブル印刷を行う旨の指示が後述するように設定され、印刷の指示が与えられるとバリアブル印刷が行われる。その際には、各レコードについて、バリアブルフィールドにバリアブルデータが挿入された印刷データがブック単位で生成され、このブック単位の印刷データが指定された全レコードについて生成される。本発明にかかる制御手順では、この印刷データの生成にともなって、１つのレコードについて生成されたブック単位の印刷データ毎にそれぞれひとつの印刷ジョブを生成するか、すべてのレコードについて生成されたブック毎の印刷データをまとめてひとつの印刷ジョブとするかを、印刷設定に応じて適切に決定する。
【００６４】
図１４〜図１６は製本アプリケーション１０４による、図１７は電子原稿デスプーラ１０５による、バリアブル印刷に係る大まかな処理手順を示すフローチャートである。これらを参照して製本アプリケーション１０４及び電子原稿デスプーラ１０５の処理フローを説明する。
【００６５】
図１４は製本アプリケーション１０４の印刷設定変更後の保存時の大まかなフローを表している。また、図１０は製本アプリケーション１０４の印刷プレビュー画面であり、そこでファイルメニューを選択してさらに印刷を選択すると、指定した出力デバイスにより印刷出力される。また、メニュー選択により、ブックや章、原稿ページの属性の設定を変更することもできる。図１８はブック属性における印刷設定の変更を促すユーザインターフェース画面を例示した図である。
【００６６】
まず、電子原稿ファイル１０３が製本アプリケーション１０４により読み込まれる。これは印刷設定の前段階であり、ここで読み込まれた電子原稿ファイルが印刷設定の対象となる。
【００６７】
図１４において、電子原稿ファイル１０３を読み込んだ際、まず、保存された印刷設定の読み込み処理５０１が行われる。これは電子原稿ファイル１０３から印刷用設定データが読み込まれ、デスプールテーブルと呼ばれるメモリ上の展開領域に読み込まれた印刷設定が展開される処理である。印刷用設定データは、図３に示したブック属性、章属性、原稿ページ属性それぞれに含まれている。
【００６８】
そして、設定変更がされたか否かの判定処理５０２が行われる。これは、例えば図１８で示される製本アプリケーション１０４のインターフェース（ブック属性のユーザインターフェース）上で設定の変更がされたか否かの判定処理である。
【００６９】
ステップ５０２で設定変更があったと判定されれば、次の、バリアブルジョブ分割が必要な印刷設定か否かの判定処理５０３が行われる。これは例えば、ステープルや表紙インサータからの給紙等、印刷設定によってはバリアブル(複数レコード)印刷と組み合わせた際、バリアブルジョブ分割が必要な設定が存在するため、設定変更の中で、バリアブルジョブ分割が必要な設定が行われたか否かの判定を行う処理である。
【００７０】
ステップ５０３でバリアブルジョブ分割が必要であると判断されると、バリアブルジョブ分割を考慮したデスプールテーブル書き込み処理５０４が行われる。
【００７１】
デスプールテーブルは、電子原稿ファイルをデスプールして印刷ジョブを生成する際に参照されるデータテーブルであり、図１９で示すような構造を有する。すなわち、印刷設定には、ドキュメント全体について有効な印刷設定項目（属性）が含まれ、その下の層として、利用者等により指定されたシートのくくりについて有効な印刷設定項目（属性）が含まれ、その下の層として、各シートについて有効な印刷設定項目（属性）が含まれる。シートとは、印刷される１枚の媒体に相当する単位であり、シートのくくりとは１枚乃至複数枚のシートを束にしてなる単位である。ドキュメント全体とは、ブックファイル全体を意味する。
【００７２】
ドキュメント全体について有効な印刷設定に含まれる項目の一例として、バリアブル印刷を行うか否かを決定するためのバリアブル印刷項目（バリアブル印刷フラグ）および本発明に係る特徴的な構成のひとつであるバリアブルジョブ分割項目（バリアブルジョブ分割フラグ）がある。バリアブル印刷項目がオンに設定されていない限り、印刷データ中にバリアブルフィールドが含まれていても、バリアブルフィールドにはバリアブルデータ（データベースファイルからのデータ）が組み込まれず例えば空白のままとなる。また、バリアブルジョブ分割項目とは、ステップ５０４においてマークされるフラグであり、印刷ジョブ生成時において、マークされている場合には、バリアブル印刷のレコード毎にひとつのジョブが生成され、マークされていない場合には、バリアブル印刷の全レコードについてひとつのジョブが生成される。
【００７３】
さて、ステップ５０４におけるバリアブルジョブ分割を考慮したデスプールテーブル書き込み処理とは、バリアブル（複数レコード）印刷時のフラグ等で示されるバリアブルジョブ分割項目にマークする処理である。ジョブ分割が必要な印刷設定か否かの判定処理５０３でジョブ分割が必要でないと判断されれば、バリアブルジョブ分割を考慮しないデスプールテーブル書き込み処理５０５が行われる。ステップ５０５においてはバリアブルジョブ分割項目はマークされない。バリアブル分割項目のマークは、バリアブル印刷が指定された場合に、レコード毎にジョブを分割する必要があることを示すものである。バリアブル分割項目は、そもそもバリアブル印刷が行われない場合には参照されることはない。
【００７４】
そして、設定変更がされると、変更された設定の保存が指定されたか否かの判定処理５０６が行われる。保存指定がされたと判定されれば、デスプールテープルの保存処理５０７が行われる。これはメモリ上のデスプールテープルに展開された印刷設定内容を電子原稿ファイル１０３に書き戻す処理である。これにより、製本アプリケーション１０４で設定変更された内容が電子原稿ファイル１０３に反映されることとなる。
【００７５】
なお、図１４の手順では設定変更がされた場合に限ってバリアブルジョブ分割が必要であるか否かが判定されているが、電子原稿ファイルを開いた際にステップ５０１で読み込んだ印刷設定を、設定変更されない場合にもすべてチェックしてバリアブルジョブ分割が必要であるか否かを判定することもできる。図１４の手順では、バリアブルジョブ分割の必要性を示すジョブ分割項目のマークも印刷設定の一部として保存しておく必要がある。これに対して電子原稿ファイルを読み込む都度その判定を行えば、ジョブ分割項目のマークは保存する必要はない。いずれにしても、電子原稿デスプーラ１０５により電子原稿データがデスプールされたなら、印刷ジョブが生成される前に、図３に示すブック属性や章属性、ページ属性といった属性に含まれる印刷設定に基づいてバリアブルジョブ分割の必要性が判定され、デスプールテーブルに出力される。
【００７６】
ここで、図１８のユーザインターフェース画面の「仕上げ」設定画面中の［印刷方法］欄において「製本印刷」が選択された場合のより具体的な保存処理を図１５のフローチャートを参照して説明する。
【００７７】
電子原稿ファイル１０３を読み込んだ際、まず、ステップＳ６０１において、製本アプリケーション１０４は、印刷体裁の取得処理を行う。これは電子原稿ファイル１０３から印刷用設定データが読み込まれ、デスプールテーブルと呼ばれるメモリ上の展開領域に印刷体裁設定が展開される処理である。そして、ステップＳ６０２において、印刷体裁が製本印刷であり、かつ、サドルステッチの指定があるか否かの判定処理６０２が行われる。図１８の製本アプリケーション１０４のインターフェース上で製本印刷設定への変更があったか否か、かつサドルステッチの指定があるかの判定処理である。
【００７８】
図１８においては、製本印刷は、印刷方法欄において「製本設定」のラジオボタンを選択することで設定される。さらに製本印刷が選択されると、「開き方向」や「原稿の調整」「製本印刷の方法」「章の区切り」といった欄において、さらに選択可能な詳細な項目がユーザインターフェース画面に表示される。図１８では、例えば「中綴じをする」という項目がチェックされている。この項目は、製本印刷をした場合にとじられる用紙中央部をステープルで綴じる、いわゆるサドルステッチをプリンタにより行わせるための項目である。
【００７９】
さて、ステップ６０２において、製本印刷に変更され（あるいは製本印刷である）、かつサドルステッチの指定があると判定されれば、製本設定のデスプールテーブルの書き込み処理６０３が行われる。これはページの順番を製本印刷に適した印刷順にすると共に、印刷設定においてチェックされた項目、例えば図１８の例ではサドルステッチに対応するサドルステッチフラグを立てる処理である。サドルステッチフラグはデスプールテーブルにおいてはシートのくくりを単位として設定されるフラグである。
【００８０】
そして、次にバリアブル設定がされているかの判定処理６０４が行われる。これは、文書データを生成したアプリケーションによって電子原稿ファイル中においてバリアブル印刷のためのフィールドの設定がされているか否かを判定する判定処理である。ここでバリアブル設定がされていると判定されれば、バリアブルジョブ分割印刷オンのデスプールテーブルの書き込み処理６０５が行われる。これらの処理により、具体的には図２０で示すように、ドキュメント全体に有効な印刷設定のひとつとしてバリアブルジョブ分割のためのフラグがセットされ、シートのくくりについてサドルステッチを行うことを示すフラグがセットされる。
【００８１】
そして、次の保存指定がされたかの判定処理６０７が行われ、保存指定がされたと判定されれば、デスプールテープルの保存処理６０８が行われる。これはメモリ上のデスプールテープルに展開された印刷設定内容を電子原稿ファイル１０３に書き込む処理である。これにより、製本時の設定が電子原稿ファイル１０３に反映されることとなる。
【００８２】
このように、図１５の例では、印刷方法として「製本印刷」が選択されている場合に、図１４のステップ５０３でいうところの「バリアブルジョブ分割が必要な印刷設定」であると判定されている。これは、製本印刷では、原稿ページの印刷ページへの振り分けが、製本後の原稿ページがページ順になるように配置しなければならないためである。バリアブル印刷かつ製本印刷時にレコード毎に独立したジョブとしなければ、レコード毎に独立した本の体裁にすることができない。
【００８３】
もちろんこれは一例であり、前述したとおり、表紙挿入の指定がされている場合には、１印刷ジョブの先頭において表紙が挿入されるために、この場合にも製本印刷指定がされていない場合であっても、プリンタ側のデバイス制約によりバリアブル印刷であればバリアブルジョブ分割しなければならない。
【００８４】
また、印刷されたシートの間にタブ紙（インデックス紙）を挿入するという機能を有するプリンタを使用する場合には、「ブック」の属性等において章の先頭へのタブ紙の挿入を指定することができる。タブ紙挿入がされたバリアブル印刷の場合、各レコードごとにシートのくくりが構成され、ドキュメント全体に有効な印刷設定において、タブ紙挿入フラグがセットされる。このため、挿入するタブ紙の枚数が所定の上限値（例えば、デバイス制限により２０枚）以下であれば各レコードの先頭にタブ紙が挿入される。しかし、上限値を超えている場合には、上限値を超えた以降のレコードについては、タブ紙を挿入できなくなる。このため、タブ紙挿入のオプションが選択されている場合には、バリアブル印刷の指定が行われることを条件としてバリアブルジョブ分割の指定がされる。これにより、タブ紙挿入が指定かつバリアブル印刷が指定されている場合には、バリアブルジョブ分割が行われる。
【００８５】
さらに、ステープル指定がされている場合、全レコードをまとめてひとつのジョブとすると、複数のレコードがまとめてステープルされてしまう。これは、全体をまとめてステープルする場合でも、所定枚数ずつステープルする場合でも同様である。そこで、ステープル指定されている場合にも、バリアブル印刷の指定を前提としてバリアブルジョブ分割の指定がされる。これにより、ステープル指定かつバリアブル印刷が指定されている場合には、バリアブルジョブ分割が行われる。
【００８６】
このように、文書データ全体について有効な印刷設定が選択されており、その印刷設定が複数のレコードのそれぞれをあてはめた文書データごとに区分できない場合に、各レコード毎に印刷ジョブは分割される。例えば、ステープルであれば枚数単位でステープルされてしまい、文書毎に区切ることはできないし、製本印刷であれば、複数のレコード全体で１冊の本が作成可能な形式で原稿ページが配置されてしまう。
【００８７】
あるいは、文書データ全体について有効な印刷設定であり、かつ前記複数のレコードのすべてについて適用できない印刷設定が選択された場合にも、各レコード毎に印刷ジョブは分割される。この詳細は次の実施形態で説明するが、例えば「パンチ孔」や「裏表紙」の挿入などがある。パンチ孔設定であれば、印刷装置の機能上の制約によりパンチ孔の上限枚数が制限されており、各レコード毎に生成される文書を対象としていればパンチできても、全部をまとめてパンチすることはできないことも多分に予想される。また、表紙などは、１つの印刷ジョブの先頭にしか挿入できないという制約を印刷装置が有する場合もある。
【００８８】
＜印刷処理手順＞
次に、図１６を参照して、印刷時の処理の概略を説明する。
【００８９】
まず、保存された印刷設定の読み込み処理７０１が行われる。これは先に示したように製本アプリケーション１０４により電子原稿ファイル１０３を読み込み、その印刷設定をデスプールテーブル上に展開する処理である。そして、印刷指示がされたか否かの判定処理７０２が行われる。ステップ７０２は製本アプリケーション１０４におけるユーザインターフェースからユーザによる印刷指示があったか否かの判定処理である。印刷指示がされた場合には印刷のユーザインターフェース画面（図２３）が表示される。図２３は、図１０のユーザインターフェース画面において「ファイル」メニューから「印刷」が選択された場合に表示される。
【００９０】
ここで、印刷指示があったと判定されれば、バリアブル印刷を行うか否かの判定処理７０４が行われる。これは、同様に、図２３で示す製本アプリケーション１０４のユーザインターフェース画面において「バリアブルプリントを行う」という項目がチェックされているか否かを判定する処理である。
【００９１】
ここで、バリアブル印刷の指示があったと判定されれば、バリアブル印刷を行うためのデスプールテーブル書き込み処理７０５が行われる。これは具体的には、図２１で示すようにデスプールテーブル上のバリアブル印刷フラグをオンにセットする処理である。また、ここで、バリアブル印刷の指示がないと判定されれば、バリアブル印刷を行わないためのデスプールテーブル書き込み処理７０６が行われる。これは、同様に、デスプールテーブル上のバリアブル印刷フラグをオフにセットする処理である。これらのフラグを元に、後に示す電子原稿デスプーラ１０５での印刷処理の仕方の振り分けが行われる。そして、電子原稿デスプーラ１０５に対する印刷処理７０７が行われ、印刷が行われる。
【００９２】
一方、電子原稿デスプーラ１０５内の処理の概要を図８を用いて説明する。
【００９３】
まず、図１６のステップ７０７における印刷指示がされたかの判定処理８０１が行われる。ここで、先の一連の流れで、製本アプリケーション１０４より印刷指示があったとすると、次の、バリアブル印刷フラグの読み込み処理８０２が行われる。これは先に製本アプリケーション１０４に図１５のユーザインターフェースからの指示によりセットされたデスプールテーブル中のフラグの読み込み処理である。そして、この読み込みより、バリアブル印刷オンか否かの判定処理８０３が行われる。ここで、バリアブル印刷であると判定されれば、バリアブルジョブ分割フラグの読み込み処理８０４が行われる。これは、先に製本アプリケーション１０４の設定された機能により書き込まれたデスプールテーブル中のバリアブル分割フラグの読み込み処理である。
【００９４】
そして、バリアブルジョブ分割であるか否かの判定処理８０５により、バリアブルジョブ分割印刷である、すなわち「バリアブル印刷」かつ「バリアブルジョブ分割」であると判定されれば、バリアブルフィールドのレコード毎に個々の印刷ジョブを生成する。そして、生成した複数の印刷ジョブの印刷処理８０６が行われる。これは、製本アプリケーションにより電子原稿ファイルとしてスプールされた際にはひとつであり、本来ならばひとつのまとまった印刷ジョブを複数の印刷ジョブに分ける処理である。これにより印刷設定の内容をバリアブル印刷時においても実現できる。
【００９５】
また、ステップ８０５でバリアブルジョブ分割処理でないと判定されれば、全体をひとつの印刷ジョブとする印刷処理８０７が行われる。これにより、バリアブル印刷の対象として指定されている複数レコードの印刷が１ジョブで行われる。
【００９６】
以上のように、デスプーラにおいて、製本アプリケーションによりセットされたデスプールテーブルを参照することで、複数の印刷ジョブとして印刷処理するか単一の印刷ジョブとして印刷処理するかが振り分けられる。これらの製本アプリケーション１０４、スプーラ１０５による一連の処理の流れにより、印刷設定に応じた最適な印刷方法の選択が可能となる。このため、利用者が明示的に指定することなく、印刷処理システムにおいて判断が行われるために、労力の軽減や資源の浪費の防止、処理時間の短縮が実現できる。
【００９７】
なお、本実施形態により、複数のレコードについてバリアブル印刷を行った場合に、レコード毎に独立した印刷ジョブが生成されたか、それとも全体として単一の印刷ジョブが生成されたかは、たとえば文書処理装置１００にインストールされたプリンタドライバ等により提供される、印刷ジョブの監視機能によって確認することができる。印刷ジョブの監視機能によれば、現在実行中の印刷ジョブ及び待ち状態にある印刷ジョブ及び中断状態や中止処理過程にある印刷ジョブ等が、その名称と状態とを対応づけたリストとして表示される。
【００９８】
［他の実施形態］
他の実施形態として、アプリケーションの設定内容の他に、デバイスの能力によってバリアブル印刷指定された複数のレコードを、複数ジョブか１ジョブに振り分ける例を説明する。これを図２２を用いて説明する。
【００９９】
図２２は、製本アプリケーション１０４による製本印刷設定とデバイスのサドルステッチ能力の判断を行い、それに応じてバリアブルジョブ分割フラグを設定・保存する際の大まかなフローチャートを表している。
【０１００】
製本アプリケーション１０４により電子原稿ファイル１０３を読み込んだ際、まず、印刷体裁の取得処理１４０１が行われる。これは電子原稿ファイル１０３から印刷用設定データが読み込まれ、デスプールテーブルと呼ばれるメモリ上の展開領域に印刷体裁設定が展開される処理である。そして、製本印刷か否かの判定処理１４０２が行われる。ステップ１４０２は、図１８に示す製本アプリケーション１０４のインターフェース上で製本印刷設定への変更があったか否かの判定処理である。ここで、製本印刷であると判定されれば、製本設定のデスプールテーブルの書き込み処理１４０３が行われる。これはページの順番を製本印刷に適した印刷順にすると共にサドルステッチフラグを立てる処理である。
【０１０１】
そして、次にステップ１４０４において、バリアブル設定がされているか否かの判定処理が行われる。これは、先にこのアプリケーション上でバリアブル印刷のためのフィールドの設定がされているか否かの判定処理である。ここでバリアブル設定がされていると判定されれば、次に、ステップＳ１４０５において、デバイスにレコード数分のサドルステッチ設定が可能か否かの判定処理が行われる。これは使用するプリンタが１ジョブでそのレコード数分のサドルステッチを打つことが可能か否かの判定を行う処理である。デバイスにその能力があれば、製本設定、複数レコードの印刷を１ジョブで行うことが可能だからである。従来は、デバイス制限により、１つのジョブに対して１つのステープル指示しかできなかったが、近年、複数のジョブをまとめて１つにするジョブバインド機能を備えるようになってきている。そのため、近年のデバイスではジョブバインド機能として１６ジョブまで１つのジョブにまとめられるが、１６より大きい数のジョブをまとめることはできないジョブバインダ制限がある。そのため、レコードが１６レコード以下であるステープル指示、もしくは、レコード数×サブセットステープルの数の積算値が１６以下であれば、ジョブバインド機能を用いて１ジョブで印刷ジョブを生成することが可能となる。デバイスにおいては、バインドされたジョブの中身を解釈し、複数のジョブがバインドされていれば、内部的に複数のジョブに分割して、それぞれのジョブに対して処理を行うため、例えば１６ジョブを１つのジョブにまとめられたジョブを、内部的に１６個のジョブに分けて処理するため、それぞれのジョブについてステープルを行うことが可能になるのである。なお、デバイスによりジョブバインダ制限の能力が異なっており、最新のプリンタではバインダ制限が４００となっているものも存在する。よって、ステップＳ１４０５では、製本アプリケーションは、出力先のデバイスのジョブバインド制限を取得し、インサータによる表紙挿入、タブ紙挿入、ステープル指定（サドルステッチ指定を含む）の場合は、取得したジョブバインド制限と印刷すべきレコード数とを比較し、レコード数が多ければ、バリアブルジョブ分割すべきであると判断する。また、章単位でステープル指示できるサブセットステープルの場合は、サブセットステープルする部分としない部分とがわけられるまとまりの数と印刷すべきレコード数との積算値とジョブバインド制限とを比較し、ジョブバインド制限が小さければ、バリアブルジョブ分割すべきであると判断する。
【０１０２】
ここで、デバイスにそのような設定が可能ではないと判定されれば、バリアブルジョブ分割印刷オンのデスプールテーブルの書き込み処理１４０６が行われる。これらの処理により、具体的には図２０で示すように、ドキュメントを示すグループにバリアブルジョブ分割のためのフラグが、紙を示すグループにサドルステッチを行うフラグがセットされる。
【０１０３】
そして、次の保存指定がされたかの判定処理１４０８が行われ、保存指定がされたと判定されれば、デスプールテープルの保存処理１４０９が行われる。これはメモリ上のデスプールテープルに展開された印刷設定内容を電子原稿ファイル１０３に書き込む処理である。これにより、製本時の設定が電子原稿ファイル１０３に反映されることとなる。印刷出力の手順は図１６及び図１７に示したとおりの手順である。
【０１０４】
これにより、デバイスの能力に応じて、バリアブルの複数レコードの印刷が複数ジョブで行われるか、１ジョブで行われるかが振り分けられることとなる。
【０１０５】
なお、デバイスすなわち使用されるプリンタの能力は、図１に示したプリンタドライバ１０６により把握される。すなわち、プリンタドライバ１０６はプリンタ１０７に対応する制御手順を実現するためのソフトウェアであるから、プリンタ１０７として特定のプリンタが用いられ、それに対応するプリンタドライバ１０６が印刷制御システム１００にインストールされると、デバイスの基本的な能力を示すデータはプリンタドライバと共に印刷制御システム１００に導入することができる。また、フィーダやサドルステッチャ等、プリンタ１０７に選択的に付加できるデバイスに関する情報は、ドライバ１０６によりプリンタ１０７と双方向的に通信することにより獲得することができる。あるいは、プリンタドライバ１０６により提供されるユーザインターフェース画面上から利用者が設定することで、プリンタの付加的な能力を利用者により設定させることもできる。
【０１０６】
なお、デバイスにレコード数分のサドルステッチ設定が可能か否かの判定処理１４０５は前記したようにプリンタドライバ１０６より取得したデバイスの能力より判定される。例えば、ここでいうデバイスの能力とは、前述したように、バインダ制限数である。
【０１０７】
１ジョブの中で複数のステープル(サドルステッチ)を行うためには、ＣＰＣＡと呼ばれる印刷制御プロトコル（キヤノン株式会社独自のプロトコルである）のコマンド体系でいうマルチバインダジョブ(１ジョブの中に複数のバインダ属性を持ったジョブ)にする必要がある。このバインダ制限数とは１ジョブの中でいくつのバインダ属性を持つことができるかを示した値である。
【０１０８】
このバインダ制限数はデバイスによって異なり、例えば、この値が１６であれば、１ジョブで１６のサドルステッチを行うことができる。つまり、この場合は１６レコードまでは１ジョブでサドルステッチをすることが可能ということになる。
【０１０９】
また、出力するデバイスのＰＤＬ特性を考慮する必要もある。
【０１１０】
例えば、キヤノン株式会社の提唱するページ記述言語であるＬＩＰＳではカラー／モノクロモードの切り替えをＬＩＰＳコマンド、つまりページ記述言語レベルで行っているが、米国ヒューレットパッカードの提唱するページ記述言語であるＰＣＬでは、同切り替えをページ記述言語レベルでは指定することができず、代替として前述したＣＰＣＡで行っている。このＰＣＬのように、ＣＰＣＡで切り替えを行っている場合、サドルステッチの場合と同様、ＣＰＣＡによる属性指定を用いるため、ジョブバインド制限を受けることになる。
【０１１１】
カラー／モノクロは本来、ＣＰＣＡのドキュメントに属するものであるが、現状、ドライバからは１ジョブの中で最大持てるドキュメントの数を含めて、バインダ制限数として取得しているため、この切り替えもバインダ制限数で判定することになる。
【０１１２】
例えば、先のようにバインダ制限数が１６であり、出力デバイスがＰＣＬであり、さらに、印刷設定の中で１回のカラー／モノクロ切り替えがある場合は、カラー部分とモノクロ部分の２つのまとまりにわけられるため、８レコードまでは１ジョブでサドルステッチをすることが可能ということになる。さらにいえば、印刷設定中で３回のカラー／モノクロ切替がある場合は、カラー部分とモノクロ部分の４つのまとまりに分けられるため、４レコードまでは１ジョブでステープル、サドルステッチ、表紙挿入、タブ紙挿入等を行うことが可能となる。
【０１１３】
なお、バリアブルジョブ分割の判断の基準となるデバイスの能力はステープルに限られず、前述したようにインデックス紙の挿入枚数の上限や、パンチ孔をせん孔する能力なども基準となり得る。
【０１１４】
以上のように、デスプーラにおいて、製本アプリケーションによりセットされたデスプールテーブルを参照することで、複数の印刷ジョブとして印刷処理するか単一の印刷ジョブとして印刷処理するかが振り分けられる。これらの製本アプリケーション１０４、スプーラ１０５による一連の処理の流れにより、印刷設定及びデバイスの能力に応じた最適な印刷方法の選択が可能となる。このため、利用者が明示的に指定することなく、印刷処理システムにおいて判断が行われるために、労力の軽減や資源の浪費の防止、処理時間の短縮が実現できる。
【０１１５】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１１６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１９】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２０】
【発明の効果】
以上説明したように、本発明によれば、印刷設定に基づいて最適な方法で印刷ジョブを作成することで、利用者の希望する出力物を確実に出力し、利用者の労力の軽減や資源の浪費の防止、処理時間の短縮を実現できる。
【０１２１】
さらに、その印刷設定として、文書データに付随する印刷設定のうち、文書データ全体について有効な印刷設定であり、かつ前記複数のレコードのそれぞれをあてはめた文書データごとに区分できない印刷設定が選択された場合、または、文書データ全体について有効な印刷設定であり、かつ前記複数のレコードのすべてについて適用できない印刷設定が選択された場合に、前記複数のレコードそれぞれについて独立した複数の印刷ジョブを発行するものと決定することで、利用者の希望する形式で文書を出力することができる。
【０１２２】
さらに、その印刷設定として、文書データに付随する印刷設定のうち、製本設定が選択されている場合、または、ステープルが選択されている場合、または、インデックス紙の挿入が選択されしかも挿入数が前記印刷装置により実行できる上限を越えている場合、または、表紙挿入の選択がされている場合のいずれかに該当する場合には、前記複数のレコードそれぞれについて独立した複数の印刷ジョブを発行するものと決定することで、文処理装置の機能や、印刷装置の機能に応じて、最適な方法を自動的に選択できる。
【０１２３】
さらに、前記印刷装置により実行できる上限を前記印刷装置固有の能力として取得し、PDL特性も考慮することで、文書データを前記印刷装置を用いて印刷を行う場合の最適な方法を自動的に選択することができる。
【０１２４】
さらに、前記レコードをあてはめる領域が文書データ中に指定されており、かつ、前記指定された領域に指定されたレコードをあてはめて文書データを印刷する旨の指定がされた場合に、バリアブル印刷を遂行する場合として判定することで、文書にバリアブル印刷の指定が含まれるか否かを利用者が判定する必要がなく、労力の軽減を実現できる。
【図面の簡単な説明】
【図１】スタンドアロン型の文書処理システムのブロック図である。
【図２】文書処理システムを実現するコンピュータ及びプリンタのブロック図である。
【図３】ブックファイルの構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】ブックファイルを開く手順のフローチャートである。
【図８】電子原稿ファイルをブックファイルにインポートする手順のフローチャートである。
【図９】アプリケーションデータを電子原稿ファイルに変換する手順のフローチャートである。
【図１０】既存のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。
【図１１】新規のブックファイルを開いた際のユーザインターフェース画面の一例を示す図である。
【図１２】クライアントサーバ型の文書処理システムのブロック図である。
【図１３】プリンタの断面図である。
【図１４】製本アプリケーション１０４によるデスプールテーブル書き込み処理を例示したフローチャートである。
【図１５】製本アプリケーション１０４によるデスプールテーブル書き込み処理を具体的に例示したフローチャートである。
【図１６】製本アプリケーション１０４によるデスプールテーブル書き込み処理を例示したフローチャートである。
【図１７】デスプーラ１０５によるデスプール処理を例示したフローチャートである。
【図１８】製本アプリケーション１０４によるブック属性の設定ユーザインターフェース画面の一例の図である。
【図１９】デスプールテーブル概要を示した図である。
【図２０】デスプールテーブル概要を示した図である。
【図２１】デスプールテーブル概要を示した図である。
【図２２】他の実施形態における製本アプリケーション１０４によるデスプールテーブル書き込み処理を例示したフローチャートである。
【図２３】製本アプリケーション１０４による印刷時のユーザインターフェース画面の一例の図である。
【図１】
0004143426.tif 000002
【図２】
0004143426.tif 000003
【図３】
0004143426.tif 000004
【図４】
0004143426.tif 000005
【図５】
0004143426.tif 000006
【図６】
0004143426.tif 000007
【図７】
0004143426.tif 000008
【図８】
0004143426.tif 000009
【図９】
0004143426.tif 000010
【図１０】
0004143426.tif 000011
【図１１】
0004143426.tif 000012
【図１２】
0004143426.tif 000013
【図１３】
0004143426.tif 000014
【図１４】
0004143426.tif 000015
【図１５】
0004143426.tif 000016
【図１６】
0004143426.tif 000017
【図１７】
0004143426.tif 000018
【図１８】
0004143426.tif 000019
【図１９】
0004143426.tif 000020
【図２０】
0004143426.tif 000021
【図２１】
0004143426.tif 000022
【図２２】
0004143426.tif 000023
【図２３】
0004143426.tif 000024