(57)【要約】【課題】データと設定値を階層的に保持するような文書処理システムで、データの階層構造を編集する際に、階層的にデータと設定値を保持しているという特徴を最大限に活かした編集が可能である文書処理方法及びそのシステムを提供する。【解決手段】印刷フォーマットを属性として有する原稿データを処理する文書処理で、原稿データを各ノードに属性を持たせてツリー構造で保持し、片面印刷か両面印刷かの印刷方法の指定を全体だけではなく各ノードに属性を持たせることにより、無駄な処理を排除する。そして、各ノードの処理ごとに、印刷方法の切り替えをデバイスに対して指示する。【選択図】図１
2004185489.tif 000002
【特許請求の範囲】
【請求項１】
階層構造で印刷データを保持し、プリンタに対して印刷ジョブを発行して印刷を行わせる印刷制御方法であって、
両面印刷または片面印刷の設定を含む印刷設定用データとして、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能な設定工程と、
前記階層構造の下位の階層において上位の階層と相異なる設定値が設定されている場合、前記下位の階層における設定を、当該設定値が適用される印刷データごとに、前記プリンタに対して指示する指示工程と
を備えることを特徴とする印刷制御方法。
【請求項２】
前記設定工程には、前記プリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否か判定する判定工程を含み、対応していると判定された場合に、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能であることを特徴とする請求項１に記載の印刷制御方法。
【請求項３】
使用するプリンタを設定するプリンタ設定工程を更に備え、該プリンタ設定工程においては、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否かを判定し、対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更することを特徴とする請求項１に記載の印刷制御方法。
【請求項４】
前記プリンタ設定工程において、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更する前に、ユーザに対して、設定を変更する旨を警告することを特徴とする請求項３に記載の印刷制御方法。
【請求項５】
前記上位の階層における設定はドキュメント全体についての設定であり、前記下位の階層における設定は前記ドキュメントを分割してなる章についての設定であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御方法。
【請求項６】
印刷フォーマットを属性として有する原稿データを処理する文書処理方法であって、
原稿データを各ノードに属性を持たせてツリー構造で保持し、
原稿データ全体の属性として、用紙の片面のみに印刷するか、両面に印刷するかの属性を持つとともに、各ノードの属性にも、用紙の片面のみ印刷か両面に印刷かの属性を持ち、それぞれ独立に属性が設定可能であり、その属性に応じて印刷の方法を切り替えることを特徴とする文書処理方法。
【請求項７】
出力装置が印刷の途中で印刷の方法を切り替えられない場合、各ノードでの属性の設定を不可とする事を特徴とする請求項６記載の文書処理方法。
【請求項８】
階層構造で印刷データを保持し、プリンタに対して印刷ジョブを発行して印刷を行わせる印刷制御装置であって、
両面印刷または片面印刷の設定を含む印刷設定用データとして、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能な設定手段と、
前記階層構造の下位の階層において上位の階層と相異なる設定値が設定されている場合、前記下位の階層における設定を、当該設定値が適用される印刷データごとに、前記プリンタに対して指示する指示手段と
を備えることを特徴とする印刷制御装置。
【請求項９】
前記設定手段には、前記プリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否か判定する判定手段を含み、対応していると判定された場合に、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能であることを特徴とする請求項８に記載の印刷制御装置。
【請求項１０】
使用するプリンタを設定するプリンタ設定手段を更に備え、該プリンタ設定手段においては、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否かを判定し、対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更することを特徴とする請求項８に記載の印刷制御装置。
【請求項１１】
前記プリンタ設定手段において、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更する前に、ユーザに対して、設定を変更する旨を警告することを特徴とする請求項１０に記載の印刷制御装置。
【請求項１２】
前記上位の階層における設定はドキュメント全体についての設定であり、前記下位の階層における設定は前記ドキュメントを分割してなる章についての設定であることを特徴とする請求項８乃至１１のいずれか１項に記載の印刷制御装置。
【請求項１３】
印刷フォーマットを属性として有する原稿データを処理する文書処理装置であって、
原稿データを各ノードに属性を持たせてツリー構造で保持し、
原稿データ全体の属性として、用紙の片面のみに印刷するか、両面に印刷するかの属性を持つとともに、各ノードの属性にも、用紙の片面のみ印刷か両面に印刷かの属性を持ち、それぞれ独立に属性が設定可能であり、その属性に応じて印刷の装置を切り替えることを特徴とする文書処理装置。
【請求項１４】
出力装置が印刷の途中で印刷の方法を切り替えられない場合、各ノードでの属性の設定を不可とする事を特徴とする請求項１３記載の文書処理装置。
【請求項１５】
コンピュータにより階層構造で印刷データを保持させ、プリンタに対して印刷ジョブを発行させて印刷を行わせるためのプログラムであって、
両面印刷または片面印刷の設定を含む印刷設定用データとして、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能な設定手段と、
前記階層構造の下位の階層において上位の階層と相異なる設定値が設定されている場合、前記下位の階層における設定を、当該設定値が適用される印刷データごとに、前記プリンタに対して指示する指示手段と
をコンピュータにより実現させることを特徴とするプログラム。
【請求項１６】
前記設定手段には、前記プリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否か判定する判定手段を含み、対応していると判定された場合に、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能であることを特徴とする請求項１５に記載のプログラム。
【請求項１７】
コンピュータにより、使用するプリンタを設定させるプリンタ設定手段を更に実現させ、該プリンタ設定手段においては、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否かを判定し、対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更することを特徴とする請求項１５に記載のプログラム。
【請求項１８】
前記プリンタ設定手段において、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更する前に、ユーザに対して、設定を変更する旨を警告することを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記上位の階層における設定はドキュメント全体についての設定であり、前記下位の階層における設定は前記ドキュメントを分割してなる章についての設定であることを特徴とする請求項１５乃至１８のいずれか１項に記載のプログラム。
【請求項２０】
印刷フォーマットを属性として有する原稿データを処理するためのプログラムであって、コンピュータにより、
原稿データを各ノードに属性を持たせてツリー構造で保持し、
原稿データ全体の属性として、用紙の片面のみに印刷するか、両面に印刷するかの属性を持つとともに、各ノードの属性にも、用紙の片面のみ印刷か両面に印刷かの属性を持ち、それぞれ独立に属性が設定可能であり、その属性に応じて印刷の装置を切り替えるためのプログラム。
【請求項２１】
出力装置が印刷の途中で印刷の方法を切り替えられない場合、各ノードでの属性の設定を不可とする事を特徴とする請求項２０記載のプログラム。
【請求項２２】
請求項１５乃至２１のいずれか１項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば文書処理プログラムや画像編集プログラム等、様々なプログラムによって生成される出力データをひとつの文書としてまとめ、その文書に対する編集機能を提供するとともに、印刷装置に対して印刷ジョブを発行して印刷せしめるための印刷制御方法及び装置に関するものである。
【０００２】
【従来の技術】
従来、コンピュータで実行される文書処理や画像処理等のアプリケーションプログラムにより生成された文書データや画像データ等をプリンタにより印刷する場合には、利用者は、アプリケーションやプリンタ、オペレーティングシステムなどが提供する機能の範囲で、印刷設定を変更することができる。通常、印刷設定は、印刷対象とされるデータ及び制御コード等をひとまとまりとした印刷処理の実行単位である印刷ジョブを単位として与えられる。したがって、例えば、利用者が互いに異なる設定でひとつの文書を印刷しようとする場合には、共通する設定を有する部分ごとに１つの印刷ジョブとして印刷させ、それを複数の印刷設定について行ってから、利用者が印刷物を組みあわせて文書を再構成しなければならなかった。逆に、１つの印刷ジョブで印刷させる限り、どの部分についても共通の印刷設定が適用されていた。
【０００３】
このため、１つの印刷ジョブの中に、両面印刷の部分と片面印刷の部分のように、部分的に異なる印刷設定を与えることはできなかった。このため、両面印刷された部分と片面印刷された部分とを含む文書を印刷するためには、以下のような方法しか選択できなかった。
【０００４】
（１）前述したように両面印刷される部分と片面印刷される部分とを別々の印刷ジョブとして印刷させてから、利用者が組みあわせて文書を完成させる。
【０００５】
（２）片面印刷される部分については、裏面にあたる白紙ページを１印刷ページ（印刷されるシートの１面であり、物理ページとも呼ぶ。）おきに利用者が予め挿入しておく。そして、完成した文書を両面印刷の設定で印刷させる。この場合、白紙ページの挿入は、白紙挿入の機能を備えたプログラムをコンピュータで実行させることで行わせることもできよう。
【０００６】
【発明が解決しようとする課題】
しかしながら、（１）の方法では、利用者による作業が生じるため、生産性が低く、印刷作業に利用者が拘束されることになる。
【０００７】
また、（２）の方法では、本来不要な白紙ページを印刷しなければならない。このことは、印刷処理に要する時間を長引かせて生産性を低下させる。さらに、使用するプリンタについて、ページ単位で課金される保守契約がメーカ等と利用者との間で締結されている場合には、片面印刷される部分に挿入された白紙ページに対しても課金される。
【０００８】
このように、片面印刷あるいは両面印刷の設定は印刷ジョブ単位でしか行えなえず、印刷ジョブの分割や、印刷されるデータの実体を印刷設定に合わせて生成する必要があった。
【０００９】
本発明は上記従来例に鑑みてなされたもので、印刷対象の文書について、その部分的な設定値として、片面印刷か両面印刷かの設定を保持させた印刷ジョブを生成し、その印刷ジョブをプリンタにより実行させることで、片面印刷と両面印刷とが混在した文書を１つの印刷ジョブで実行でき、表現力のある文書を作成できるとともに、無駄な白紙ページを印刷することがなく、速度の点でも、メンテナンス料金の面でも、無駄のない印刷を行うことが可能となる印刷のための情報処理装置および印刷データ生成方法及び印刷制御プログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は上記従来例に鑑みてなされたもので次の構成を備える。
【００１１】
（１）階層構造で印刷データを保持し、プリンタに対して印刷ジョブを発行して印刷を行わせる印刷制御方法であって、
両面印刷または片面印刷の設定を含む印刷設定用データとして、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能な設定工程と、
前記階層構造の下位の階層において上位の階層と相異なる設定値が設定されている場合、前記下位の階層における設定を、当該設定値が適用される印刷データごとに、前記プリンタに対して指示する指示工程とを備える。
【００１２】
（２）あるいは（１）において、前記設定工程には、前記プリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否か判定する判定工程を含み、対応していると判定された場合に、前記階層構造の下位の階層と上位の階層とで相異なる設定値が設定可能である。
【００１３】
（３）あるいは（１）において、使用するプリンタを設定するプリンタ設定工程を更に備え、該プリンタ設定工程においては、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応しているか否かを判定し、対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更する。
【００１４】
（４）あるいは（３）において、前記プリンタ設定工程において、新たに設定されたプリンタが、前記印刷用設定データの印刷ジョブ途中での変更に対応していないと判定され、かつ、前記下位の階層と上位の階層とで相異なる設定値が設定されている場合には、前記下位の階層の設定値を上記の階層の設定値に合わせるよう設定を変更する前に、ユーザに対して、設定を変更する旨を警告する。
【００１５】
（５）あるいは（１）乃至（４）において前記上位の階層における設定はドキュメント全体についての設定であり、前記下位の階層における設定は前記ドキュメントを分割してなる章についての設定である。
【００１６】
（６）あるいは、印刷フォーマットを属性として有する原稿データを処理する印刷処理方法であって、
原稿データを各ノードに属性を持たせてツリー構造で保持し、
原稿データ全体の属性として、用紙の片面のみに印刷するか、両面に印刷するかの属性を持つとともに、各ノードの属性にも、用紙の片面のみ印刷か両面に印刷かの属性を持ち、それぞれ独立に属性が設定可能であり、その属性に応じて印刷の方法を切り替える。
【００１７】
（７）あるいは（６）において、出力装置が印刷の途中で印刷の方法を切り替えられない場合、各ノードでの属性の設定を不可とする。
【００１８】
【発明の実施の形態】
以下、添付図面に従って、本発明の実施形態を詳細に説明する。
【００１９】
［本実施形態の文書処理システムの概要］
本発明の第１の実施形態である文書処理システムの概要を、図１〜図１３を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、印刷データ保存用ドライバによって保存ファイルに変換される。印刷制御アプリケーションはその電子原稿ファイルを編集する機能（編集機能）及び印刷体裁を設定する機能（印刷設定機能）を提供している。編集機能としては、電子原稿ファイルの文書（ドキュメント）に対して、ページ順序を入れ替えたり、文書全体、章、ページと階層構造に分けて管理する機能がある。また、印刷設定機能としては、後述するように、従来プリンタドライバのプロパティで設定するような、両面印刷／片面印刷／製本印刷のような印刷レイアウトや、ステイプルする／しない、ステイプル位置などの印刷体裁、カラー印刷／モノクロ印刷等の各種設定を行うことができる。そして特徴として、編集機能により分けた所定単位（文書全体、章、ページ）毎に、前述した各種設定を個別に設定することも可能となっている。これらの設定は、従来のプリンタドライバによる設定とは異なり、プリンタドライバとは独立している。そのため、本発明の印刷制御アプリケーション１０４は、出力先のプリンタドライバ１０６に依存しないで各種の印刷設定を行うことが可能となっている。また、印刷制御アプリケーションで編集された保存ファイルに対しては、保存ファイルに対応付けられた編集情報ファイルが生成されて保存される。そして、保存ファイルの内容は、印刷制御アプリケーションを介して印刷アプリケーション（デスプーラとも呼ばれる。）により読み出されて印刷に供される。尚、本例では、それぞれの機能が明瞭になるように、一般アプリケーション、印刷データ保存用ドライバ、印刷制御アプリケーション、印刷アプリケーションと分離して示しているが、ユーザに提供されるパッケージはこれらに限定されず、これらを組み合わせたアプリケーションやグラフィックエンジンとして提供されてもよい。以下、その詳細は説明する。
【００２０】
＜本実施形態の文書処理システムのハードウェア構成例＞
図２は本実施形態の文書処理システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００２１】
同図において、ホストコンピュータ１００は、ＣＰＵ２０１やＲＡＭ２０２、ＲＯＭ２０３等を備える。ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭあるいは外部メモリ２１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。またＣＰＵ２０１は、システムバス２０４に接続される各デバイスを総括的に制御する。また、ＲＯＭ２０３のプログラム用ＲＯＭ領域あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ２０３のフォント用ＲＯＭ領域あるいは外部メモリ２１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ２０３のデータ用ＲＯＭ領域あるいは外部メモリ２１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２２】
キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ２１１とのアクセスを制御する。外部メモリ２１１には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等が記憶される。プリンタコントローラ（ＰＲＴＣ）２０８は、双方向性インタフェイス（インタフェイス）２１を介してプリンタ１０７に接続されて、プリンタ１０７との通信制御処理を実行する。
【００２３】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ２１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、プリンタドライバにより提供される印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００２４】
プリンタ１０７は、ＣＰＵ３１２により制御される。プリンタＣＰＵ３１２は、ＲＯＭ３１３のプログラム用ＲＯＭ領域に記憶された制御プログラム等あるいは外部メモリ３１４に記憶された制御プログラム等に基づいてシステムバス３１５に接続される印刷部（プリンタエンジン）３１７に出力情報としての画像信号を出力する。また、このＲＯＭ３１３のプログラムＲＯＭ領域には、ＣＰＵ３１２の制御プログラム等を記憶する。ＲＯＭ３１３のフォント用ＲＯＭ領域には上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ３１３のデータ用ＲＯＭ領域には、ハードディスク等の外部メモリ３１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００２５】
ＣＰＵ３１２は入力部３１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ３１９は、ＣＰＵ３１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ３１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ３１４は、メモリコントローラ（ＭＣ）３２０によりアクセスを制御される。外部メモリ３１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、３１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２６】
また、外部メモリ３１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作部３２１からのプリンタモード設定情報を記憶するようにしてもよい。
【００２７】
＜本実施形態の文書処理システムのソフトウェア構成例＞
図１は、本実施形態の文書処理システムのソフトウェア構成を示す図である。
【００２８】
文書処理システムは、本発明の文書処理装置（情報処理装置）の好適な実施形態であるデジタルコンピュータ１００（以下、ホストコンピュータとも呼ばれる）によって実現されている。一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、オペレーティングシステム（ＯＳ）に対して印刷処理を要求する機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、ＯＳにより提供される所定のインタフェースを利用する。すなわち、アプリケーション１０１は、作成したデータを印刷するために、前記インタフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる形式で出力指示を行う。出力指示を受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、変換されたコマンドを出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）でくくることにより印刷ジョブが生成される。
【００２９】
ＯＳとしてマイクロソフト社のウインドウズ（登録商標）を利用する場合には、出力モジュールとしてはＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるモジュールが用いられる。そして、アプリケーション１０１は、作成したデータをＧＤＩに適合した形式のパラメータとしてＧＤＩ関数をコールする。こうすることで、ＯＳに対して前述した出力指示が送られたことになる。
【００３０】
印刷データ保存用ドライバ１０２は、前述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。ただし、印刷データ保存用ドライバ１０２は特定の出力デバイスを目的としておらず、後述の印刷制御アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この印刷データ保存用ドライバ１０２による変換後の形式（以後、「保存ファイル形式」と呼ぶ。）は、文書の構造やページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。ページ単位の原稿を表現する形式としては、例えばアドビシステムズによるＰＤＦ形式や、ＳＶＧ形式などが保存ファイルとして採用できる。
【００３１】
なお、本実施形態においては保存ファイル１０３と編集情報ファイル１１１とを別個のファイルとしているが、これらは、ファイルが開かれていない状態においては、その一体性を保持するためにアーカイブファイルとして一体とされていてもよい。
【００３２】
図１で示すシステムにおいては、保存ファイル１０３で保存されているデータの内容に対して加工を施すことができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、原稿を作成したアプリケーションの持たない機能を実現することができる。これらの目的のために、図１のシステムでは中間コードデータでスプールする様、従来のものに対してシステムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常印刷制御アプリケーション１０４が提供するウインドウから設定を行い、その設定内容をＲＡＭ２０２上あるいは外部メモリ２１１上に保管する。
【００３３】
図１に示す通り、この拡張された処理方式では、まず、アプリケーション１０１からの印刷データは印刷データ保存用ドライバ１０２を介して保存ファイル１０３としてシステム上に保存される。この保存ファイル１０３は中間ファイルとも呼ばれ、印刷物のコンテンツデータや印刷用設定データ等が含まれる。印刷物のコンテンツデータとはユーザがアプリケーション上で作成したデータを中間コードに変換したデータであり、印刷用設定データとはコンテンツデータをどのように出力するか（出力体裁等）を記述したデータである。そのほか、印刷制御アプリケーションにより保存ファイルの内容の編集や出力指示をユーザに行わせる際のユーザインターフェースを提供するための編集情報ファイルというアプリケーション用拡張データが含まれる。
【００３４】
この保存ファイル１０３の内容、特に印刷用設定データは、印刷制御アプリケーション１０４により更新される。印刷制御アプリケーション１０４は、編集情報ファイルに基づいて、出力体裁等の印刷用設定を表示してユーザに変更させ、それを保存することが可能である。その際、印刷用設定は、保存ファイルの印刷用設定データと共に、編集情報ファイルの属性データにも反映される。
【００３５】
実際に印刷のための処理を行うのは印刷アプリケーション（デスプーラ）１０５である。印刷制御アプリケーション１０４から印刷命令を受けた印刷アプリケーション（デスプーラ）１０５は、印刷制御アプリケーション１０４で設定された出力体裁に従い、ＧＤＩ関数など、所定の形式でグラフィックエンジン１２１に対してデータを入力する。グラフィックエンジン１２１は、入力されたＧＤＩ関数形式などのデータをＤＤＩ関数に変換して、プリンタドライバ１０６へＤＤＩ関数を出力する。プリンタドライバ１０６は、グラフィックエンジン１２１から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ１２２経由でプリンタ１０７に出力する。図１では、わかりやすいように１つのプリンタドライバ１０６を例にとり説明しているが、本発明の印刷アプリケーション１０４は、プリンタドライバとは独立しているため、一般的なアプリケーションと同様に、印刷時には、文書処理装置（情報処理装置）１００に保持している複数のプリンタドライバから出力先として任意のプリンタドライバを選択することができる。
【００３６】
＜保存ファイルのデータ形式例＞
印刷アプリケーション１０４の詳細に言及する前に、保存ファイルのデータ形式を説明する。保存ファイルは、コンテンツデータとして各原稿ページ（アプリケーションで生成されたページ単位のデータ。論理ページとも呼ぶ。）のデータを含み、印刷用設定データとしてたとえばジョブチケットと呼ばれる形式のデータを含む。さらに、保存ファイルと共に、後述する印刷制御アプリケーションで保存ファイルに含まれる印刷設定情報の設定変更を行うための編集情報ファイルも格納される。さらに、ＧＤＩ関数を使用してドライバに印刷指示を伝えるための、ＤＥＶＭＯＤＥ構造体を含む場合がある。
【００３７】
保存ファイルにおいて、原稿ページデータは、例えばＰＤＦ形式などで定義されており、文字の書体や色の指定、原稿ページ内における文字や図形等のレイアウトの情報等が含まれている。保存ファイルにおいては、このＰＤＦ形式の原稿ページデータやジョブチケットと呼ばれる形式のデータが中間データということになる。
【００３８】
保存ファイルであるジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。最上位に文書全体のノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、文書の構造および各構成要素ごとの設定を示す情報と含む。具体的には、シート束ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各シート束ノードには、そのシート束に含まれるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。原稿ページについては、原稿ページの実体である原稿ページデータへの関連づけ情報（リンク情報）が含まれる。そして各ノードに、印刷体裁等の設定値が与えられる。
【００３９】
文書全体の設定については、例えば次のような情報を含む。
（１）物理ページ（印刷媒体のシートの面を指す。）上における原稿ページの配置の情報（Ｎページを１枚の物理ページに配置するいわゆるＮアップ（Ｎ−ｕｐ）印刷の設定等）および順序
（２）ドキュメント名
（３）両面指定の可否
（４）バリアブル印刷（あらかじめ定めた欄の内容を別途用意したデータを埋め込んで印刷する技術）の可否
（５）含まれる原稿ページ数
（６）カラータイプ
（７）部数など
（８）ウオーターマーク（原稿ページまたは印刷ページに重複させる地模様）
（９）プリンタ状態
（１０）メディアタイプ
（１１）シート上の論理ページ番号リスト
（１２）印刷品位など。
【００４０】
シート束ごとの印刷設定については次のようなパラメータを設定できる。
（１３）Ｎアップ印刷の指定
（１４）カラータイプ
（１５）給紙元など。
【００４１】
各シート束に属するシートごとの印刷設定については次のような設定ができる。
（１６）両面／片面印刷の設定。
【００４２】
各シートに属する物理ページ（面）ごとの印刷設定については次の設定ができる。
（１７）カラータイプ
（１８）表面／裏面のいずれかに相当するかの指定。
【００４３】
各物理ページに配置される原稿ページごとの印刷設定については次の設定ができる。
（１９）開始座標
（２０）大きさ
（２１）順序。
【００４４】
このようにジョブチケットは、原稿ページを最小位とした階層構造を有するデータである。そして、これらジョブチケットにより定義される印刷用設定は、その多くがドキュメント単位で設定される階層ごとに共通なものではあるが、Ｎ−ｕｐ設定やカラータイプのように階層間で共通なものも一部存在する。共通な設定については、下位の階層は、原則としてその上位の階層における同一の設定の値を継承する。ただし、階層間で共通な属性が異なる値を有している場合には、注目階層について設定された値が、その属性の値として用いられる。たとえば、カラータイプの設定は、ドキュメント全体とシート束（シートのくくり）、物理ページ（面あるいは印刷ページとも呼ぶ）について設定することができる。カラータイプは、印刷装置におけるモードを指定する設定であり、モノクロモードが設定されれば印刷装置によりモノクロームで印刷させ、カラーモードが設定されればカラーで印刷させるように、印刷データが生成される。また両面印刷の設定は、文書全体とシート束について設定できる。
【００４５】
ジョブチケットのデータ構造の例を図１２に示す。図１２の構造は上述の構造と若干異なっており、シート束のノードがなく、代わりに面のノードが用紙ノードの直下に挿入されている。図１２において、印刷される文書は用紙の集合で構成されており、各用紙は表、裏の２面で構成されており、各面は原稿をレイアウトする領域（物理ページ）を持ち、各物理ページには、最小単位である原稿ページの集合から構成される。１１０１は文書に相当するデータで、文書全体に関係するデータと、文書を構成する用紙情報のリストから構成される。用紙情報１１０２は用紙サイズなど用紙に関する情報と用紙上に配置される面情報のリストから構成される。面情報１１０３は、面に固有のデータと、面上に配置される物理ページのリストから構成される。物理ページ情報１１０４は、物理ページのサイズやヘッダ・フッタなどの情報と、物理ページを構成する原稿ページのリストから構成される。そして、文書情報１１０１や用紙情報１１０２、面情報１１０３、物理ページ情報１１０４、原稿ページ情報１１０５には、上述したようなパラメータが含まれている。
【００４６】
＜編集情報ファイルにより管理される文書構造＞
印刷制御アプリケーション１０４は、保存ファイルに含まれるデータを様々な方法でユーザに指定させ、また、印刷設定を変更させるためのユーザインターフェースを提供するプログラムである。保存ファイル自体は上述した構造を有するファイルであるが、印刷制御アプリケーション１０４は、保存ファイルを管理するためにさらに前述した編集情報ファイルを、保存ファイルと対応付けて管理している。その編集情報ファイルに含まれる編集情報により、印刷制御アプリケーション１０４は、保存ファイル、例えばジョブチケットで定義されるドキュメントとは独立した管理構造で文書を管理する。その管理構造は、ジョブチケットと類似した階層構造であるが、ジョブチケットと異なり、上位から「ブック」「章」「原稿（論理）ページ」という階層からなる。このうち原稿ページはジョブチケットでいうところの原稿ページと同じものを指す。また章は、シート束（シートのくくり）に対応する。
【００４７】
ユーザインターフェースとして表示される仮想的なファイルは、保存ファイル１０３のように恒久的に保存され管理されるファイルではなく、ユーザが、印刷制御アプリケーション１０４を用いて保存ファイルの印刷用設定の変更や印刷指示等を行う際に一時的にユーザインターフェースのために構築される。したがって、印刷制御アプリケーション１０４は、保存ファイル１０３を対応する編集情報ファイル１１１とともに開き、その保存ファイルから編集情報で定義される構造を有した仮想的なブックファイルを構築して後述するようにユーザインターフェースとして表示する。そして、ユーザがユーザインターフェースを介してブックファイルを参照しながら印刷設定の変更を行うと、その設定は、編集情報ファイルに反映される。
【００４８】
＜編集情報ファイルの形式例＞
印刷制御アプリケーション１０４の詳細を言及する前に、ブックファイルすなわち編集情報ファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した３層の階層構造を有する。上位層は「ブック」と呼ばれ、１冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
【００４９】
図３は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルにおける、ブック、章、ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体としている。ページの実体は、保存ファイル１０３に含まれるＰＤＦ形式等の原稿ページデータである。すなわち、編集情報ファイルはブックファイルの形式および属性を定義するだけで、原稿ページデータそのものは含まない。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００５０】
なお図３では、ブックファイルが１つの完結したブックである必要はないので、「ブック」を「文書」として一般化して記載している。そして、文書に関する情報を文書情報、章に関する情報を章情報、ページに関する情報をページ情報と総括的に呼ぶ。
【００５１】
図３において。まず最上位に文書情報４０１を持つ。文書情報４０１は４０２〜４０４の３つのパートに大別できる。文書制御情報４０２は、文書ファイルのファイルシステムにおけるパス名などの情報を保持する。文書設定情報４０３は、ページレイアウトなどのレイアウト情報とステイプルなど印刷装置の機能設定情報を保持し、ブックの属性に相当する。章情報リスト４０４は、文書を構成している章の集合をリスト形式で保持する。リストが保持するのは章情報４０５である。
【００５２】
章情報４０５も４０６〜４０８の３つのパートに大別できる。章制御情報４０６は、章の名称などの情報を保持する。章設定情報４０７は、その章特有のページレイアウトやステイプルの情報を保持し、章の属性に相当する。章ごとに設定情報をもつことで最初の章は２ＵＰのレイアウトその他の章は４ＵＰのレイアウトのように複雑なレイアウトを持った文書を作成することが可能である。ページ情報リスト４０８は各章を構成する原稿ページの集合リスト形式で保持している。ページ情報リスト４０８が指示するのは、ページ情報データ４０９である。
【００５３】
ページ情報データ４０９も４１０〜４１２の３つのパートに大別される。ページ制御情報４１０は、ツリー上に表示するページ番号などの情報を保持する。ページ設定情報４１１は、ページ回転角やページの配置位置情報などの情報を保持し、原稿ページの属性に相当する。ページリンク情報４１２は、ページに対応する原稿データである。この例では、ページ情報４０９が直接原稿データを持つのではなく、リンク情報４１２だけをもち、実際の原稿データは、ページデータリスト４１３で保持する構成としている。
【００５４】
図４は、ブック属性（文書設定情報４０３）の例を示すリストである。通常、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。なお、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００５５】
ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらは、ブックを通して定義される項目である。印刷方法属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００５６】
表紙／裏表紙属性は、ブックとしてまとめられる保存ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００５７】
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、及び、合紙を挿入する場合には、給紙元の指定などを含む。
【００５８】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の  用紙の表裏に印刷されることがあり得る。
図５は、章属性（章設定情報４０７）の、図６はページ属性（ページ設定情報４１１）の例を示すリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００５９】
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、通常は、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。しかし、本例では、後述するように、下位層の属性値を優先するか否かが選択可能となっている。
【００６０】
ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。このうち、Ｎ−ｕｐ印刷指定属性は、１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１や１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００６１】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎ−ｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば１×１であれば、仮想論理ページ領域は１印刷ページに相当する領域となり、１×２であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００６２】
ブック、章、ページについて共通な属性として、ウォーターマーク属性及びヘッダ・フッタ属性がある。ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォーターマーク属性及びヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【００６３】
＜本実施形態の文書処理システムの操作手順例＞
編集情報ファイルは上述したような構造および内容を有している。次に、印刷制御アプリケーション１０４および印刷データ保存用ドライバ１０２によって編集情報ファイル１１１および保存ファイル１０３を作成する手順を説明する。編集情報ファイル１１１の作成は、印刷制御アプリケーション１０４による編集情報ファイル１１１の編集操作の一環として実現される。図７は、印刷制御アプリケーション１０４により編集情報ファイル１１１を開く際の手順である。
【００６４】
まず、開こうとする編集情報ファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１）。新規作成の場合には、章を含まない編集情報ファイルを新規に作成する（ステップＳ７０２）。新規に作成される編集情報ファイルは、図３の例で示せば、章情報リスト４０４にリンクする章ノードが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規編集情報ファイルを編集するためのユーザインターフェース（ＵＩ）画面を表示する（ステップＳ７０４）。図８は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、ＵＩ画面８００には何も表示されない。
【００６５】
一方、既存の編集情報ファイルがあれば、指定された編集情報ファイルを開き（ステップＳ７０４）、その編集情報ファイルの構造、属性、内容に従ってデータを展開してユーザインターフェース（ＵＩ）画面を表示する。図９は、このＵＩ画面の一例である。ＵＩ画面９００は、ブックの構造を示すツリー部９０１と、印刷された状態を表示するプレビュー部９０２とを含む。ツリー部９０１には、ブックに含まれる章、各章に含まれるページが、図３のような木構造が分かるように表示される。ツリー部９０１に表示されるページは原稿ページである。プレビュー部９０２には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。なおＲＡＭ１０２に展開されるデータもまた図３と同様の構成をとる。そして、各階層のノードに含まれる属性も、図４〜図６に示す形式でＲＡＭ１０２に展開される。これら属性項目は、たとえばその構造はポインタ等を用いて実現し、また属性における項目は、項目ごとの識別子等によって識別することができる。
【００６６】
さて、開かれた編集情報ファイルには、印刷データ保存用ドライバ１０２によって原稿ページデータを、新たな章として追加することができる。この機能をインポート機能と呼ぶ。図７の手順によって新規に作成された編集情報ファイルにアプリケーションデータをインポートすることで、原稿ページデータが編集情報ファイルの章の下に属するものとして対応付けられ、編集情報ファイルに実体が与えられる。この機能は、図８の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。図１０にインポート処理の手順を示す。
【００６７】
図１０においてまず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして印刷データ保存用ドライバ１０２を指定してアプリケーションデータを印刷出力させることで、中間形式のデータ（たとえばＰＤＦ形式）に変換する（ステップＳ８０１）。変換を終えたなら、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。この判定は、ウインドウズ（登録商標）ＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行うことができる。例えば、拡張子が「ｂｍｐ」であればウインドウズ（登録商標）ビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。
【００６８】
画像データでなかった場合には、ステップＳ８０１で生成された中間データを、現在開かれている編集情報ファイルのブックに、新たな章として追加する（ステップＳ８０３）。すなわち、インポートにより新たな章とそれに属する新たな原稿ページが追加される。そして、各ページノードには、原稿ページの実体に対するリンク情報を書き込む。原稿ページの実体は印刷データ保存用ドライバ１０２により生成されたものが使用される。
【００６９】
なおインポートされた場合、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【００７０】
インポートされたアプリケーションデータが画像データである場合には、原則として新たな章は追加されず、指定されている章に画像データが１ファイルを１原稿ページとして追加される（ステップＳ８０４）。ただし、編集情報ファイルが新規作成された空のファイルであれば、新たな章が作成されて、その章に属する原稿ページとして画像データが追加される。その場合ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を保存ファイルに引き継いでいるものについてはその値が与えられる。例えば、Ｎ−ｕｐ指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規な編集情報ファイルが作成され、あるいは、新規な章が追加される。
【００７１】
また、保存ファイルについても、追加された原稿ページデータは、印刷データ保存用ドライバで生成されたデータが、既存の保存ファイルに対する追加であれば、新たに付加されて保存される。その際、アプリケーションで指定された印刷設定が、印刷データ保存用ドライバで生成されたデータに反映されている場合には、その印刷設定を保存ファイルに反映することもできる。
【００７２】
図１１は、図１０のステップＳ８０１において、印刷データ保存用ドライバ１０２により保存ファイルを生成させる手順を示すフローチャートである。まず、新たな保存ファイルを作成してそれを開く（ステップＳ９０１）。指定したアプリケーションデータに対応するアプリケーションを起動し、印刷データ保存用ドライバ１０２をデバイスドライバとして、ＯＳの出力モジュール（例えばウインドウズ（登録商標）のＧＤＩ）に対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを印刷データ保存用ドライバ１０２によって所定の形式（例えばＰＤＦ形式）のデータに変換し、出力する（ステップＳ９０２）。出力先はステップＳ９０１で開いた保存ファイルである。指定されたデータすべてについて変換が終了したか判定し（ステップＳ９０３）、終了していれば保存ファイルを閉じる（ステップＳ９０４）。印刷データ保存用ドライバ１０２によって生成される保存ファイルは、図１２にしめす構造と、原稿ページデータの実体を含むファイルである。
【００７３】
＜保存ファイル及び編集情報ファイルの編集＞
以上のようにして、アプリケーションデータから編集情報ファイル１１１及び保存ファイル１０３を作成することができる。生成されたおよび保存ファイル１０３については、編集情報ファイル１１１で定義される章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００７４】
このほか、いったん行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数の編集情報ファイルの統合、編集情報ファイル内で章やページの再配置、編集情報ファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図４乃至図６に示す属性に操作結果が反映されたり、あるいは編集情報ファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００７５】
また、これらの編集内容は保存ファイルにも反映される。例えば、文書全体に対する印刷方法として両面印刷を設定すると、その設定は、編集情報ファイルのブック属性として反映されると共に、保存ファイルの印刷用設定データにおいて、文書全体についての設定データとして反映される。
【００７６】
＜保存ファイルの出力＞
以上のように作成・編集される編集情報ファイルは印刷出力を最終目的としている。利用者が図９に示す印刷制御アプリケーションのＵＩ画面９００からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず印刷制御アプリケーション１０４は、現在開かれている編集情報ファイルおよび対応する保存ファイル（例えばジョブチケット）からデスプールテーブルと呼ばれるデータを作成して印刷アプリケーション１０５に渡す。
【００７７】
デスプールテーブルは、その元となるジョブチケットと同様の構造および各層における印刷設定、原稿ページへの関連づけを含む。すなわち、部数やカラータイプ、両面／片面印刷の指定などドキュメント全体に有効な印刷設定の下に、Ｎアップ印刷の指定などシート束（シートのくくり）で有効な印刷設定があり、各シート束に属するシートごとに、両面／片面指定などの印刷設定があり、各シートに属する物理ページ（面）ごとに、カラータイプや表面／裏面のいずれかに相当するかの指定などの印刷設定がある。各層の印刷設定には設定可能な項目が含まれている。デスプールテーブルの設定はデバイスの仕様に従い、物理ページでの指定となっている。印刷アプリケーション１０５は、デスプールテーブルを、グラフィックエンジン１２１に渡すパラメータに変換する。
【００７８】
印刷アプリケーション１０５は、保存ファイル１０３をＯＳの出力コマンド、例えばウインドウズ（登録商標）のＧＤＩコマンドに変換し、それをパラメータとしてグラフィックエンジンであるＧＤＩ関数をコールする。グラフィックエンジン１２１は、指定されたプリンタドライバ１２１によってデバイス（例えばプリンタ）に適したコマンドを生成させ、そのコマンドをデバイスに送信する。
【００７９】
ここでグラフィックエンジン１２１は、印刷デバイスごとに用意されたプリンタドライバ１０６を外部メモリ２１１からＲＡＭ２０２にロードし、出力をプリンタドライバ１０６に設定する。そして、グラフィックエンジン１２１は、ＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ１０６の提供するＤＤＩ関数をコールする。プリンタドライバ１０６は、出力モジュールから呼び出されたＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２０２にロードされたシステムスプーラ１２２を経てインタフェース２１経由でプリンタ１０７へ印刷データとして出力される仕組みとなっている。
【００８０】
（プレビュー表示の内容例）
すでに説明したとおり、ブックファイルが印刷制御アプリケーションによって開かれると、図９に示すユーザインタフェース画面９００が表示される。ツリー部９０１には、開いているブック（以下、「注目ブック」と呼ぶ。）の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、３通りの表示方法が用意されている。第１は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。プレビュー部の表示にレイアウトは反映されない。第２は印刷ビューモードである。印刷ビューモードでは、プレビュー部９０２には、原稿ページのレイアウトが反映された形で原稿ページが表示される。第３は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【００８１】
＜他の文書処理システムの構成例＞
上記実施形態の文書処理システムはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
【００８２】
図１３はサーバクライアント型文書処理システムの構成を示すブロック図である。
【００８３】
クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるＤＯＭＳ（Ｄｏｃｕｍｅｎｔ  Ｏｕｔｐｕｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅ：文書出力管理サービス）ドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０、ＤＳ（文書サービス）クライアントモジュール１０８を加えた構成を有する。このクライアント文書処理システム１２００に、文書管理サーバ１２０１及び印刷集中管理サーバ１２０２及びプリントサーバ１２０３が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。尚、図１３では文書管理サーバ１２０１と印刷集中管理サーバ１２０２の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバクライアントシステム１２０１ＳＣが、印刷集中管理サーバ１２０２であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム１２０２ＳＣが、スタンドアロン型文書管理システムに追加される。
【００８４】
文書管理サーバ１２０１は、印刷制御アプリケーション１０４により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ１２０１によってブックファイルを管理する場合、ブックファイルは、クライアントＰＣのローカルＨＤに代わって、あるいはそれに加えて、文書管理サーバ１２０１のデータベース１２１１に保存される。印刷制御アプリケーション１０４と文書管理サーバ１２０１との間のブックファイルの保存及び読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。
【００８５】
印刷集中管理サーバ１２０２は、クライアント文書管理システム１２００に格納された、あるいは文書管理サーバ１２０１に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０を介して印刷集中管理サーバ１２０２のＤＯＭＳＷＧサーバモジュール１２２１に送信される。集中印刷管理サーバ１２０２は、クライアントのプリンタで印刷する場合にはクライアントのＤＯＭＳプリントサービスモジュール１１０を介して印刷アプリケーション１０５に電子原稿データを渡し、プリントサーバ１２０３により印刷する場合には、プリントサーバ１２０３のＤＯＭＳプリントサービスモジュール１２０３に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【００８６】
［本実施形態の文書処理システムの編集操作例］
前述した図９は、印刷制御アプリケーション１０４の操作画面である。印刷制御アプリケーションは、文書のページ順の入れ替えや複製、削除などの編集に加え、ステイプルなどの印刷装置の機能設定も行うことができ、指定した印刷装置に印刷することが可能である。図９の左側の領域には、文書の構造を示すツリービューが表示されている。文書は、章の集合で構成されており、各章は原稿ページの集合で構成されている。図９の右側の領域には、各ページの印刷プレビューが表示されている。
【００８７】
＜本実施形態の文書処理システムの属性設定例＞
図１４は、印刷制御アプリケーション１０４の「ドキュメントの詳細設定」ウインドウ１４００を示している。
【００８８】
このウインドウでは、「文書設定情報４０３」を表示／設定することができる。このウインドウは、図９のアプリケーション操作画面にある「印刷体裁」メニューの「ドキュメントの詳細設定」（Ｄｅｔａｉｌｅｄ  Ｓｅｔｔｉｎｇ  ｆｏｒ  Ｄｏｃｕｍｅｎｔ）項目あるいはツールバー上の「ドキュメントの詳細設定」ボタンから起動される。「ドキュメントの詳細設定」ウインドウ１４００は、文書全体に影響する属性、すなわち、図４に示すブック属性の設定を行うためのウインドウである。このウインドウは、「ページ設定」（Ｐａｇｅ  Ｓｅｔｕｐ）、「仕上」（Ｄｅｃｏｒａｔｉｏｎ）、「編集」（Ｅｄｉｔ）、「給紙」（Ｐａｐｅｒ  Ｓｏｕｒｃｅ）、「印刷品質」の５つのシートから構成されており、図１４は、「ページ設定」シートを表示した状態を示している。この「ページ設定」シートでは、主にレイアウトに関する設定を行うことができ、用紙サイズや向き、Ｎページ印刷などの設定を指示することができる。このウインドウには、ズームに関するチェックボックスコントロール１４０１、１４０２が配置されている。
【００８９】
図１５は、印刷制御アプリケーション１０４の「章の詳細設定」ウインドウ１５００を示している。
【００９０】
このウインドウでは、「章設定情報４０７」を表示／設定することができる。このウインドウは、図９のアプリケーション操作画面にある印刷設定メニューの「章の詳細設定」（Ｄｅｔａｉｌｅｄ  Ｓｅｔｔｉｎｇ  ｆｏｒ  Ｃｈａｐｔｅｒ）メニューあるいはツールバー上の「章の詳細設定」ボタンから起動される。「章の詳細設定」ウインドウは、章固有の属性の設定を行うためのウインドウである。このウインドウは、「ページ設定」（Ｐａｇｅ  Ｓｅｔｕｐ）、「仕上」（Ｄｅｃｏｒａｔｉｏｎ）、「編集」（Ｅｄｉｔ）、「給紙」（Ｐａｐｅｒ  Ｓｏｕｒｃｅ）の４つのシートから構成されており、図１５は、ページ設定シートを表示した状態を示している。このページ設定シートでは、主に各章で固有のレイアウトに関する設定を行うことができ、用紙サイズや向き、Ｎページ印刷などの設定を指示することができる。「文書の詳細設定」と「章の詳細設定」で重複する設定項目については「ドキュメントの属性に従う」（Ｆｏｌｌｏｗ  Ｂｏｏｋ  Ａｔｔｒｉｂｕｔｅ）のチェックボックスコントロール１５０１、１５０２、１５０３を配置している。このチェックボックスにチェックが入っている項目グループについては、文書の設定値をその章にも適用する。このチェックをはずした場合については、次の図１６に示す。章固有の設定としては２種類に分類できる。一つは章でしか持たない設定項目である。もう一つは、上位階層の文書とは異なる独自の設定値を章の階層で保持している場合である。
【００９１】
図１６は、図１５の「章の詳細設定」でチェックボックスコントロール１５０１、１５０２のチェックをはずした状態である。この場合、文書の全体がＡ３用紙を使っている場合でも、この章を構成するページはＡ４用紙サイズとする。またレイアウトも、文書では１ページ／シートであっても、この章は４ページ／シートでレイアウトするという指定である。「ズーム配置」（Ｚｏｏｍ  Ａｒｒａｎｇｅ）については、チェックがついているので、上位階層である文書の設定値をこの章の設定値として使う。
【００９２】
図１７は、印刷制御アプリケーション１０４の「ページの詳細設定」ウインドウ１７００を示している。
【００９３】
このウインドウでは、「ページ設定情報４１１」を表示／設定することができる。このウインドウは、図９のアプリケーション操作画面にある印刷体裁メニューの「ページの詳細設定」（Ｄｅｔａｉｌｅｄ  Ｓｅｔｔｉｎｇ  ｆｏｒ  Ｐａｇｅ）メニューあるいはツールバー上の「ページの詳細設定」ボタンから起動される。「ページの詳細設定」ウインドウは、各ページで固有の属性の設定を行うためのウインドウである。このウインドウは、「ページ設定」（Ｐａｇｅ  Ｓｅｔｕｐ）、「編集」（Ｅｄｉｔ）の２つのシートから構成されており、図１７は、ページ設定シートを表示した状態を示している。このページ設定シートでは、主に各ページで固有のレイアウトに関する設定を行うことができ、原稿ページを配置する際の回転角や拡縮率などの設定を指示することができる。「章の詳細設定」と「ページの詳細設定」で重複する設定項目については「章属性に従う」（Ｆｏｌｌｏｗ  Ｃｈａｐｔｅｒ  Ａｔｔｒｉｂｕｔｅ）のチェックボックスコントロール１７０１を配置している。このチェックボックスにチェックが入っている項目については、章の設定値をそのページにも適用する。このチェックをはずした場合については、次の図１８に示す。
【００９４】
図１８は、図１７の「ページの詳細設定」で「ページの回転」の設定を変更した状態を示している。コントロール１７０１では、原稿ページをレイアウトする際にページの上が左になるように回転して配置する設定にされている。この項目については章や文書に重複する設定項目が無いので、「章属性に従う」のチェックボックスが無く、このウインドウに表示されている設定が常にページの設定値となる。コントロール１７０１が設定されている場合、「ズーム配置」（Ｚｏｏｍ  Ａｒｒａｎｇｅ）の項目は、章にも重複する設定項目があるので章の設定値をページの設定値とする。
【００９５】
さらに、「ズーム配置」（Ｚｏｏｍ  Ａｒｒａｎｇｅ）の項目は、ドキュメントにも重複する設定項目がある。そのため、章で該当する「ズーム配置」の項目について「ドキュメントの属性に従う」１５０３がチェックされている場合、章の設定値としては上位階層である文書の設定値が使われるので、結局ページの設定値としては文書の設定値が使われることになる。章で該当する項目のチェックが外れている場合、章固有の設定値を持っているので、ページの設定値はその章固有の設定値を使う。
【００９６】
尚、上記設定画面で設定されたチェックボックスコントロールの情報は、専用の領域に保持されてもよいが、図３に示した設定情報内に属性の１つとして保持するのが望ましい。この場合には、図５及び図６にチェックボックスコントロールの情報を保持する領域が追加される。
【００９７】
＜本実施形態の文書処理システムの文書編集の表示例＞
上位階層と重複する設定項目を上位階層の設定値を使わないようにした場合、つまり、チェックボックスコントロール１５０１や１７０１のチェックをはずし、所定単位（本実施例の場合、章単位もしくは物理ページ単位で設定可能）で例外設定をする場合のアプリケーションの表示形式の一例を図１９に示す。
【００９８】
図１９の例では、文書は「Ｃｇａｐｔｅｒ１」「Ｃｈａｐｔｅｒ２」の二つの章からなり、各章はそれぞれ９ページの原稿データを持っている。図１９は、最初の章のレイアウトを４アップ（４イン１とも表記する）と設定し、２番目の章の先頭ページ（文書全体では１０ページ目）に回転を指定した場合の表示例である。なお、ＮアップやＮイン１とは、１印刷ページ上にＮ原稿ページを配置する指定をいう。
【００９９】
図１９右側のプレビュー部において、１〜３ページ目には１ページ上に４つの原稿がそれぞれ配置されている様子が表示されている。そして、第４ページ目では、「Ａ」の文字が回転している様子が表示されている。
【０１００】
さらに、ツリービューにおいては、章やページ固有の設定、すなわち章に対して文書全体と異なる設定がされ、あるいは、ページに対して章全体とは異なる設定がされるという、例外設定がされたことが操作者に明瞭になるような表示形式で、ツリーが表示される。すなわち、例外設定がされている章やページについては、それらに対応するアイコンは、例外設定されていないものと視覚的に識別可能な形状や色、模様等を付したものとして表示される。図１９においては、最初の章に対するアイコン１９０１はその形状が変化して、この章に章独自の設定がなされていることを示している。また２番目の章の先頭ページに対するアイコン１９０２もその形状が変化して、このページに特別な設定がなされていることが示されている。
【０１０１】
＜章単位の両面／片面設定＞
図２０は中間階層である章単位に片面印刷と両面印刷を設定する際の、印刷制御アプリケーション１０４による処理手順のフローチャートである。
【０１０２】
ユーザによりドキュメントの詳細設定が指示されると、図２０（Ａ）の手順が開始される。まず、ドキュメントの詳細設定ダイアログを表示する（Ｓ２００１）。このとき詳細設定の対象となっている文書は、現に選択され開かれている文書（すなわち保存ファイル及び対応する編集情報ファイル）である。またこのときドキュメントの詳細設定において表示されるシートは、ここでは「仕上げ」シートであるものとしている。図２１において、項目２１０１は、ドキュメント全体を片面印刷か両面印刷に設定するための項目である。選択可能な項目としては「両面印刷」「片面印刷」「製本印刷」の別がある。ユーザは、ステップＳ２００２において、項目２１０１のオプションのいずれかを選択することで印刷方法を設定できる。ユーザはドキュメントの詳細設定について適宜設定した後に「ＯＫ」ボタンを押す。ＯＫボタンが押されると、ステップＳ２００３に進んで、印刷制御アプリケーション１０４は、設定された文書の属性を、図４のＮｏ１の印刷方法の項目（図４最上欄）に対応するデータとして、編集情報ファイル１１１に格納する。同時に、保存ファイルの印刷用設定データにおいても、文書全体についての設定データが更新され、図２１に示したドキュメントの詳細設定のダイアログ画面は閉じられる（Ｓ２００３）。図２１の例では、ドキュメント全体を両面印刷に設定している。
【０１０３】
なお文書全体について両面印刷が設定されると、印刷制御アプリケーションは、物理ページ数が奇数となる章について、最終物理ページの裏面に白紙ページを挿入する。これは、例えばジョブチケットにおいて、白紙の物理ページノードを予め用意しておき、章すなわちシート束に属する物理ページノードが奇数の場合には、用意されている白紙の物理ページノードをシートノードにリンクすることなどで実現できる。
【０１０４】
文書全体について両面印刷の設定がされた場合のドキュメント全体の印刷プレビューを図２２に示す。章２２０１に属するページは、プレビューウインドウの中断に表示された画像である。ツリーウインドウに表示された章２２０１のページアイコン２２０２から明らかなとおり、章２２０１には１ページしか属していない。なお、章２２０１については、例外的にＡ３サイズ、ゼット折りの指定もされている。ドキュメント全体が両面印刷に設定されているため、章２２０１に属するページには、その裏面に白紙ページ２２０３が付加される。これは、前述したように印刷制御アプリケーションにより自動的に挿入される白紙ページである。
【０１０５】
ここで、図２０（Ａ）において、ユーザが印刷制御アプリケーション１０４の表示画面８００（図８）の「印刷体裁」から図１４に示したドキュメントの詳細設定のダイアログを開き、「仕上げ」シートに対してドキュメント全体について両面印刷設定を選択したものとする。次にユーザにより章２２０１が選択され、「印刷体裁」欄から「章の詳細設定」のメニューが指示されると、図２０（Ｂ）が実行されて、図２３に示す選択されている章についての詳細設定ダイアログを表示する（Ｓ２００５）。
【０１０６】
ここで、両面印刷／片面印刷の別を１印刷ジョブ途中で切り換える設定は、使用するプリンタがその機能を提供しているか否かにも依存する。したがって、１印刷ジョブ途中での両面印刷／片面印刷の切り換えに対応していないプリンタが使用するプリンタとして選択されている場合には、図２３の画面はすべてグレイアウトされ、ユーザに対して章の例外設定を行わせない。
【０１０７】
そのために、ステップＳ２００６において表示されるシートが「仕上げ」シートであるか否かを判定し、仕上げシートであれば、ステップＳ２００７において使用するプリンタが前述した切り替え機能に対応しているか否かを判定する。ここでプリンタの機能の判定は、プリンタドライバがプリンタに対して直接機能（機種依存情報）を要求する命令を送信してプリンタが提供している機能のリストである機種依存情報を獲得し、印刷制御アプリケーション１０４がプリンタドライバ１０６からその機種依存情報を取得し、取得した機種依存情報に基づいて判定できる。このような機能は一般のプリンタが有しているものである。また、別の方法としては、プリンタドライバ自身が予め機種依存情報を保持しておき、この機種依存情報を印刷制御アプリケーション１０４が取得して判定することも可能である。そして、プリンタが１つの印刷ジョブ内での両面／片面の切り替え機能に対応していない場合には、ダイアログ画面をグレイアウトして選択不可とする（Ｓ２００８）。
【０１０８】
そして、その画面において、ユーザにより設定が可能となる（Ｓ２００９）。ここで図２３の画面が選択可能に表示されている場合に、項目２３０１上で、ユーザにより「以下の項目はドキュメントとは異なる設定にする」という例外設定のチェックボックスがチェックされると、項目２３０１の「片面印刷」あるいは「両面印刷」のオプションを選択可能なオプションとして表示する。ユーザにより項目２３０１のオプションが選択され、さらに「ＯＫ」ボタンが押されると、ここで設定された章の例外設定は、図５のＮｏ１の印刷方法の項目に属性の一つとして格納されるとともに、保存ファイルの印刷用設定データとしても適用される（Ｓ２０１０）。同時に、図２３のダイアログ画面も閉じられる。このとき、章の例外設定がされていることを示すフラグも、編集情報ファイルの印刷方法の項目に保存される。そのときの印刷プレビューを図２４に示す。
【０１０９】
さて、以上のように印刷設定が行われた後、ユーザにより図２２や図２４の画面において「ファイル」メニューから「印刷」項目が選択されると、プリンタの設定画面が表示される。その画面において印刷開始を確認するためのボタン例えば「ＯＫ」ボタンが押されると、印刷制御アプリケーション１０４は、印刷の手順に進む。これは図２５を参照して後で説明する。
【０１１０】
一方、プリンタの設定画面では、使用可能なプリンタが複数ある場合には、そのうちから「使用するプリンタ」欄に表示されるプリンタの一覧から所望のものをユーザが設定できる。前述したとおり、プリンタには印刷ジョブ途中での両面／片面印刷の切り替えに対応したものとそうでないものとがある。そのため、使用するプリンタの選択に際しては、編集情報ファイル及び保存ファイルにおける印刷方法の設定をテストし、その設定とプリンタの機能とが整合するものか否かを判定している。図２６にその簡単な手順を示す。
【０１１１】
図２６の手順は、「使用するプリンタ」欄からひとつのプリンタが選択され、しかも選択の前後で使用するプリンタが異なっている場合に、印刷制御アプリケーションにより実行される。まず、印刷制御アプリケーション１０４は、編集情報ファイルの章属性のうち「印刷方法」を参照して、章の例外設定がされているか判定する（Ｓ２６０１）。この判定は、図２３において、「ドキュメントとは異なる設定にする」チェックボックスのチェックの有無に対応して保存されるフラグ等を参照することで行われる。
【０１１２】
章の例外設定がされている場合には、使用するプリンタとして選択されているプリンタが、章の例外設定に対応しているか、すなわち、印刷ジョブの途中で両面印刷と片面印刷とを切り替える機能を有するかが判定される（Ｓ２６０２）。
【０１１３】
章の例外設定に対応していないプリンタが選択されている場合には、印刷制御アプリケーション１０４は、このまま使用するプリンタを確定すれば、章属性の設定における章の例外設定が解除されることを、ユーザに対して表示や音声で警告する（Ｓ２６０３）。そして、印刷制御アプリケーション１０４は、表示で警告したダイアログ中のＯＫボタンが押下されたかを判断し（Ｓ２６０４）、これに対してユーザがＯＫボタン等で、使用するプリンタの確認をすれば、印刷制御アプリケーション１０４は、章の例外設定を解除する。すなわち、印刷制御アプリケーション１０４は、編集情報ファイルの章属性のうちの印刷方法から章の例外設定のフラグを解除し、ドキュメントと異なる設定データを削除する。これは、保存ファイルについても同様であり、印刷制御アプリケーション１０４は、シートの束について設定された、文書全体についてと異なる印刷方法の設定を、シート束についての印刷用設定データから削除する（Ｓ２６０５）。
【０１１４】
最後に、印刷制御アプリケーション１０４は、使用するプリンタを新たに選択されたプリンタに切り換えて、プリンタの選択を終了する（Ｓ２６０６）。
【０１１５】
一方、ステップＳ２６０１において章の例外設定がされていない場合、およびＳ２６０２において選択されたプリンタが章の例外設定に対応している場合には、ステップＳ２６０６に進んで、印刷制御アプリケーション１０４は、選択されたプリンタを使用するプリンタとして設定する。
【０１１６】
また、ステップＳ２６０４において、ＯＫボタン等、ユーザの同意の意思表示がなかったと判定された場合には、プリンタの選択の処理を終了する。
【０１１７】
記録されたことが不可能なプリンタを選択された場合は、図５のＮｏ１に示す章の印刷方法の項目をすべて「ドキュメント全体の指示に同じ」に変更し、ダイアログにて印刷方法の指示をグレーアウトし、選択不可能とする
＜印刷アプリケーションによる処理手順＞
以下、印刷アプリケーション（デスプーラ）１０５が、印刷制御アプリケーション１０４から印刷指示処理を受けた動作を説明する。
【０１１８】
図２５は、上記のようにして印刷設定が行われた際の印刷を行う場合の、印刷アプリケーション１０５によるドキュメントごとあるいは章ごとに遂行されるデバイスへの印刷方法の指定のための処理フローチャートである。ステップＳ２５０１からドキュメントの先頭において遂行され、ステップＳ２５０３から章の先頭において遂行される。なお、先頭の章については、ドキュメントの設定に引き続いて処理が行われる。
【０１１９】
印刷制御アプリケーション１０４において印刷指示が行われると、印刷制御アプリケーション１０４は、保存ファイル１０３及び編集情報ファイル１１１の内容に基づいて、デスプールテーブルというデータを生成する。図２７にデスプールテーブルの一例を示す。このデータは、保存ファイルを構成するジョブチケットをほぼそのままメモリに展開した構造を有しており、ドキュメント全体、シート束、シート、物理ページ、といった階層ごとに設定された印刷用設定データを、ジョブチケットと同様に含む。
【０１２０】
ジョブチケットにおいては、上位層における設定に従う場合には、階層における設定は保持されていなくともよい。すなわち、この場合には、シートやシート束、物理ページの設定において、上位層には有されない固有の設定項目（固有項目）や、上位層における設定項目と共通の項目について、上位層とは異なる例外的な設定がされている項目（例外項目）のみの値が保持される。そのため、デスプールテーブルにも、それと同様に、例外項目や固有項目が、図２７の印刷設定として、各レイヤごとに保持されている。
【０１２１】
さて、デスプールテーブルを受け取った印刷アプリケーション１０５は、デスプールテーブルを読み込んでドキュメント全体の印刷方法を獲得する（Ｓ２５０１）。ドキュメント全体の印刷方法には、ドキュメント全体についての印刷方法、すなわちドキュメント全体についての片面印刷／両面印刷の別や、シート束についての印刷方法の指定等が含まれている。たとえばデスプールテーブルを木構造とみなしてページ順に走査して各ノードに含まれる印刷用設定データや葉にあたる物理ページのノードを読み出せば、ページの順序に即して、ドキュメントや章、シートといった各階層の印刷用設定データを読み出すことができる。
【０１２２】
そして、印刷アプリケーション１０５は、まずドキュメント全体の印刷方法を、グラフィックエンジン１２１を介してデバイスへと指示する（Ｓ２５０２）。
【０１２３】
次に、印刷アプリケーション１０５は、デバイスすなわち使用するプリンタが、印刷方法の切り替えに対応しているか判定する（Ｓ２５０３）。この判定は、前述したように、印刷制御アプリケーション１０４において、章の例外設定として印刷方法を指定する際にチェックする方法と同じ方法で行える。あるいは、その際のチェックの結果を保持して、保持した値により判定することもできる。
【０１２４】
そして、章ごとに設定の切り替えが行えるならば、章ごとの切り替えをこのステップ以下で判定する。
【０１２５】
まず印刷アプリケーション１０５は、章の始めを判定する（Ｓ２５０４）。デスプールテーブルにおいて、そこから設定用データや原稿データを読み出しつつ、ドキュメントのノードからシート束のノードに移行すれば、そこがシート束すなわち章の開始部分と認定できる。たとえばこのようにして章すなわちシート束の始めであるか否かを判定できる。この判定の結果、章の始めであれば、その章（以下、注目章と呼ぶ）の印刷用設定データおよびそれに含まれる印刷方法を読む（ステップＳ２５０５）。そして、印刷アプリケーション１０５は、その注目章の例外設定として印刷方法が指定されているか否か判定する（ステップＳ２５０６）。
【０１２６】
章の例外設定がされていない場合には、印刷アプリケーション１０５は、ドキュメント全体についての印刷方法をそのまま章の印刷方法として設定して、デバイスへ指示するためのパラメータとする（Ｓ２５０７）。
【０１２７】
そして、印刷アプリケーション１０５は、ステップＳ２５０８において、ステップＳ２５０５で読み取った章の例外設定の印刷方法、あるいはＳ２５０７で設定したドキュメント全体についての印刷方法を、グラフィックエンジン１２１を介してデバイスに対して指示する。
【０１２８】
以上の手順を、印刷アプリケーション１０５は、ドキュメントの先頭においてステップＳ２５０１から、各章においてステップＳ２５０３から行う。
【０１２９】
この設定は、ウインドウズ（登録商標）であれば、印刷アプリケーション１０５がリセットＤＣをＧＤＩに発行することでＤＥＶＭＯＤＥを設定し、両面／片面を切り換えることで行っている。
【０１３０】
詳しくは、ＤＥＶＭＯＤＥ構造体の各メンバーに、デスプーラが属性を設定した後、そのＤＥＶＭＯＤＥを引数としてＧＤＩ関数であるＲｅｓｅｔＤＣ（）を呼び出す（コール：Ｃａｌｌ）と、グラフィックエンジンを通してドライバ側にＤＥＶＭＯＤＥの内容が伝わり、ドライバはその属性によりプリンタを制御する。ＤＥＶＭＯＤＥ構造体は、コンテンツデータと印刷用設定データとともに保存ファイルに含まれている場合があり、その場合は、その値を使用する。そこに含まれていない場合は、当該ドライバに対し、デスプーラがＧＤＩ関数であるＣｒｅａｔｅＤＣ（）を呼び出した（コールした）場合に、戻り値としてグラフィックエンジンを通してドライバから与えられるものを使用する。
【０１３１】
片面／両面の指示の場合について具体例を以下に示す。ドキュメント、または、章の設定が片面印刷の場合、ＤＥＶＭＯＤＥ構造体のうち、両面・片面の指示を決定するメンバーに、デスプーラが、片面印刷の属性値を設定した後、そのＤＥＶＭＯＤＥを引数としてＧＤＩ関数であるＲｅｓｅｔＤＣ（）を呼び出し発行する。グラフィックエンジンを通して、ドライバにＤＥＶＭＯＤＥの値が伝わり、ドライバは、両面・片面のメンバーを読み出し、その属性値（＝片面印刷）によりプリンタに片面印刷のモードを指示し制御する。
【０１３２】
以上で、ドキュメントおよび章ごとの印刷方法の設定が行われる。この後、各章における印刷ページごとに印刷指示のコマンドをグラフィックエンジンに発行し、実際の印刷処理が遂行される。
【０１３３】
印刷指示とは、アプリケーションがグラフィックエンジンを通じてドライバ経由でデバイスに指示するための構造体である。この印刷指示もデバイスに依存するため、グラフィックエンジン１２１によりドライバ１０６を通じて作成される。そのために、印刷アプリケーション１０５は、グラフィックエンジン１２１により処理させるためのデータを作成する。ここで作成されるデータは、グラフィックエンジンを介して印刷を行うアプリケーションプログラムが作成するデータと同様である。すなわち、印刷アプリケーションは、印刷制御アプリケーションにより印刷対象として指定されたページやその印刷設定を、グラフィックエンジンに渡すデータ形式とする。
【０１３４】
ウインドウズ（登録商標）におけるグラフィックエンジンであるＧＤＩは、ディスプレイカードやプリンタに対する画像情報の処理を司っている。ＧＤＩは、ディスプレイカードやプリンタといった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタに対するこのデバイスドライバがプリンタドライバ１０６である。このプリンタドライバ１０６には、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）と呼ばれる基本関数群が用意されている。印刷アプリケーションによるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）コールをＧＤＩがデバイスドライバ用にデータ変換を行い、このＤＤＩ関数群が適宜ＧＤＩからコールされて前述した印刷指示が生成され、スプーラ１２２を経てプリンタ１０７に送信される。ＧＤＩでは、このようにプリンタドライバを介して印刷アプリケーション１０５からの印刷要求をシーケンシャルに処理している。プリンタドライバ１０６は、プリンタ１０７が、ＰＤＬ（Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれる印刷モードコマンドを処理可能なコントローラを搭載するプリンタであれば、抽象度の高い描画情報をＰＤＬに置き換える処理を行う。もちろんこの印刷モードコマンドに、カラーコマンドやモノクロコマンドも含まれる。
【０１３５】
グラフィックエンジン１２１およびプリンタドライバ１０６により作成された印刷モードコマンドは、プリンタドライバ１０６により出力されてスプーラ１２２にいったん保持される。そして、スプーラ１２２から、印刷モードコマンドの生成処理とは非同期にプリンタ１０７に対して送信される。これは、印刷指示をデバイスに送信する処理である。
【０１３６】
プリンタ１０７においては、印刷方法を切り換えるコマンドを受信すれば、そのコマンドに従って両面印刷／片面印刷を変更し、実際の画像形成処理を行う。
【０１３７】
以上の構成により、本実施形態の印刷システムは、アプリケーションが作成したドキュメントに対して、ユーザが所望する章に対してドキュメント全体とは異なる印刷方法の設定をすることができる。そして、設定された印刷方法に従って印刷が行われる。
【０１３８】
さらに、ドキュメント全体とは異なる例外設定を章について行う際に、その設定がプリンタにおいて実現可能であるか否かを判定しているために、例外設定が可能であった場合には、その実現が保証される。
【０１３９】
さらに、その設定がプリンタにおいて実現不可能である場合には、そのような設定を禁止するために、設定と実際の使用環境との間の矛盾を防止できる。
【０１４０】
さらに、使用するプリンタが変更された場合にも、前記設定が新たに指定された使用するプリンタにおいて実現不可能である場合には、そのような章例外の設定を解除する旨警告し、利用者の同意があれば章例外の設定を解除する。そのために、設定と実際の使用環境との間の矛盾を、プリンタが変更された場合にも防止できる。
【０１４１】
また、以上説明したように、印刷対象の文書について、その部分的な設定値として、片面印刷か両面印刷かの設定を保持させた印刷ジョブを生成し、その印刷ジョブをプリンタにより実行させることで、片面印刷と両面印刷とが混在した文書を１つの印刷ジョブで実行できる。このため、表現力のある文書を作成できるとともに、無駄な白紙ページを印刷することがなく、速度の点でも、メンテナンス料金の面でも、無駄のない印刷を行うことが可能となる。
【０１４２】
なお、図２５において、デバイスが設定の切り替えに対応している場合には、章での例外設定の有無に関わらず必ず印刷方法の設定の指示をデバイスに対して発行しているが、直前の章の印刷方法を記憶しておき、注目章とその直前の章とについて相異なる印刷方法が設定されている場合に限り、その章の先頭に置いて、印刷方法の設定の指示をデバイスに対して発行するようにもできる。この場合、デバイスが印刷方法の切り替えに対応していない限り、章例外の設定をすることもできないために、ステップＳ２５０３の判定は不要となる。そして、この場合には、設定が切り換わらないにも関わらず設定切り替えの指示が発行されることを防止できる。
【０１４３】
尚、本実施形態で示したフローチャートにおいて、その前後は処理が未完成にならない限り入れ替えることが可能である。
【０１４４】
また、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１４５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１４７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４９】
【発明の効果】
以上説明したように、本発明によれば、印刷対象の文書について、その部分的な設定値として、片面印刷か両面印刷かの設定を保持させた印刷ジョブを生成し、その印刷ジョブをプリンタにより実行させることで、片面印刷と両面印刷とが混在した文書を１つの印刷ジョブで実行できる。このため、表現力のある文書を作成できるとともに、無駄な白紙ページを印刷することがなく、速度の点でも、メンテナンス料金の面でも、無駄のない印刷を行うことが可能となる。
【図面の簡単な説明】
【図１】本実施形態のスタンドアロン型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図２】本実施形態の文書処理システムを実現するハードウェア構成例を示すブロック図である。
【図３】ブックファイルの構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】ブックファイルを開く手順例を示すフローチャートである。
【図８】新規のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図９】既存のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図１０】保存ファイルをブックファイルにインポートする手順例を示すフローチャートである。
【図１１】図１０のステップ８０１に示すアプリケーションデータを保存ファイルに変換する手順例を示すフローチャートである。
【図１２】印刷や表示を行う際に使用するデータ構造の例を示す図である。
【図１３】クライアントサーバ型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図１４】データ構成の最上位階層である文書全体の設定を行うダイアログウィンドウの例を示す図である。
【図１５】データ構成の中間階層である章の設定を行うダイアログウィンドウの例を示す図である。
【図１６】図１５のダイアログウィンドウで固有属性の設定を行った例を示す図である。
【図１７】データ構成の最下位階層であるページの設定を行うダイアログウィンドウの例を示す図である。
【図１８】図１７のダイアログウィンドウでの設定値の変更例を示す図である。
【図１９】章やページに固有の設定を行った場合の表示例を示す図である。
【図２０】本実施形態の印刷体裁を設定する際のフローチャートである。
【図２１】本実施形態のＧＵＩの例である。
【図２２】本実施形態のＧＵＩの例である。
【図２３】本実施形態のＧＵＩの例である。
【図２４】本実施形態のＧＵＩの例である。
【図２５】本実施形態の各設定値を読み出して印刷を行う際のフローチャートである。
【図２６】使用するプリンタの選択時における章例外設定のチェック処理のフローチャートである。
【図２７】デスプールテーブルの一例を示す図である。
【図１】
2004185489.tif 000003
【図２】
2004185489.tif 000004
【図３】
2004185489.tif 000005
【図４】
2004185489.tif 000006
【図５】
2004185489.tif 000007
【図６】
2004185489.tif 000008
【図７】
2004185489.tif 000009
【図８】
2004185489.tif 000010
【図９】
2004185489.tif 000011
【図１０】
2004185489.tif 000012
【図１１】
2004185489.tif 000013
【図１２】
2004185489.tif 000014
【図１３】
2004185489.tif 000015
【図１４】
2004185489.tif 000016
【図１５】
2004185489.tif 000017
【図１６】
2004185489.tif 000018
【図１７】
2004185489.tif 000019
【図１８】
2004185489.tif 000020
【図１９】
2004185489.tif 000021
【図２０】
2004185489.tif 000022
【図２１】
2004185489.tif 000023
【図２２】
2004185489.tif 000024
【図２３】
2004185489.tif 000025
【図２４】
2004185489.tif 000026
【図２５】
2004185489.tif 000027
【図２６】
2004185489.tif 000028
【図２７】
2004185489.tif 000029