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