(57)【特許請求の範囲】
【請求項１】
プリンタで印刷される印刷データを生成する情報処理装置であって、
ドキュメントの印刷指示と印刷範囲の指定とを受け付ける受付手段と、
前記受付手段により受け付けられた前記印刷範囲と前記ドキュメントに設定された印刷設定における複数シートの印刷物をまとまりとして扱うための設定情報とに基づいて前記受け付けられた印刷範囲での途中印刷を、前記複数シートの印刷物をまとまりとして扱うことにより、許容しない範囲であると判断した場合、前記途中印刷を許容しない範囲の最初のシートから印刷することを決定する印刷範囲決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記印刷範囲決定手段は、前記複数シートの印刷物をまとまりとして扱うためにステイプル処理が指定された場合、前記ステイプルによりまとめられる範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷範囲決定手段は、前記複数シートの印刷物をまとまりとして扱うために分冊製本が指定された場合、分冊によりまとめられる範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記印刷範囲決定手段は、前記複数シートの印刷物をまとまりとして扱うためにＮページ分の論理ページを縮小配置して１枚のシートに配置するレイアウトが指定された場合、前記レイアウトにより１枚のシートにまとめて印刷される範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記ドキュメントの途中のシートから印刷を開始するリカバー印刷が指示された場合、前記印刷範囲決定手段は、前記リカバー印刷の開始対象が前記途中印刷を許容しない範囲に含まれるか否かを判断することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記印刷範囲決定手段は、前記リカバー印刷の開始対象となる印刷開始シートと途中印刷を許容しないシートの範囲とを用いて、前記受付手段により受け付けられた前記印刷範囲での途中印刷を許容するか否かを判断することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記印刷範囲決定手段は、前記リカバー印刷の開始対象となる印刷開始ページの対応するシートと途中印刷を許容しないシートの範囲とを用いて、前記受付手段により受け付けられた前記印刷範囲での途中印刷を許容するか否かを判断することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
プリンタで印刷される印刷データを生成する情報処理装置における情報処理方法であって、
前記情報処理装置の受付手段が、ドキュメントの印刷指示と印刷範囲の指定とを受け付ける受付工程と、
前記情報処理装置の印刷範囲決定手段が、前記受付工程で受け付けられた前記印刷範囲と前記ドキュメントに設定された印刷設定における複数シートの印刷物をまとまりとして扱うための設定情報とに基づいて前記受け付けられた印刷範囲での途中印刷を、前記複数シートの印刷物をまとまりとして扱うことにより、許容しない範囲であると判断した場合、前記途中印刷を許容しない範囲の最初のシートから印刷することを決定する印刷範囲決定工程と、
を有することを特徴とする情報処理方法。
【請求項９】
前記印刷範囲決定工程は、前記複数シートの印刷物をまとまりとして扱うためにステイプル処理が指定された場合、前記ステイプルによりまとめられる範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記印刷範囲決定工程は、前記複数シートの印刷物をまとまりとして扱うために分冊製本が指定された場合、分冊によりまとめられる範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記印刷範囲決定工程は、前記複数シートの印刷物をまとまりとして扱うためにＮページ分の論理ページを縮小配置して１枚のシートに配置するレイアウトが指定された場合、前記レイアウトにより１枚のシートにまとめて印刷される範囲を前記途中印刷を許容しない範囲とすることを特徴とする請求項８に記載の情報処理方法。
【請求項１２】
前記ドキュメントの途中のシートから印刷を開始するリカバー印刷が指示された場合、前記印刷範囲決定工程は、前記リカバー印刷の開始対象が前記途中印刷を許容しない範囲に含まれるか否かを判断することを特徴とする請求項８に記載の情報処理方法。
【請求項１３】
前記印刷範囲決定工程は、前記リカバー印刷の開始対象となる印刷開始シートと途中印刷を許容しないシートの範囲とを用いて、前記受付工程で受け付けられた前記印刷範囲での途中印刷を許容するか否かを判断することを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記印刷範囲決定工程は、前記リカバー印刷の開始対象となる印刷開始ページの対応するシートと途中印刷を許容しないシートの範囲とを用いて、前記受付工程で受け付けられた前記印刷範囲での途中印刷を許容するか否かを判断することを特徴とする請求項１２に記載の情報処理方法。
【請求項１５】
コンピュータを請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば文書処理プログラムによって生成される文書データから、印刷装置で印刷されるべき印刷データを生成する情報処理装置及びその情報処理方法等に関するものである。
【０００２】
【従来の技術】
文字や表、画像など、データの種類が異なると、データを定義する構造やそれらデータに対する編集操作が異なるために、データの種類に応じた様々なアプリケーションプログラムが提供されている。利用者は、文字を編集するためには文字処理プログラム、表を編集するためには表計算プログラム、画像を編集するためには画像編集プログラムといった具合に、データの種類別にアプリケーションを使い分けている。
【０００３】
このように、利用者はデータの種類ごとにアプリケーションプログラムを使い分けるのが一般的である。しかし、利用者が作成しようとする文書としては、例えば文字のみや、表のみ、画像のみといった１種類のデータのみから構成される文書よりも、文字と表、文字と画像など、複数種類のデータから構成される文書の方が一般的である。そこで複数種類のデータを含む目的文書を作成するために、利用者は各種アプリケーションが備えている印刷機能を利用してアプリケーションごとにデータを印刷させ、印刷物を所望の順序に組み合わせる必要があった。
【０００４】
あるいは、いわゆるオフィススイートと呼ばれる、各種アプリケーションによってひとつの統合アプリケーションを形成するプログラムには、各アプリケーションで生成されたデータを組み合わせ、ひとつの文書を構成する機能を提供するものもある。この統合アプリケーションを使用する場合には、利用者は、各アプリケーションで作成したデータを、統合アプリケーションに含まれる特定のアプリケーションによってひとつの目的文書にまとめることができる。
【０００５】
また、プリンタと接続されたパーソナルコンピュータ等の情報処理装置からなるシステムにおいては、さらに、その情報処理装置上のプリンタドライバで、プリンタに送信される印刷データを生成する前に、最終的にそのプリンタに送付する印刷データとは異なる形式のデータ形式（いわゆる中間コード）で、スプールファイルに一時保存を行うスプールモジュールと、この中間コード形式で一時保存されたデータから改めて最終的にプリンタに送付する印刷データを生成するデスプールモジュールと、プリンタ制御コマンドを生成するコアドライバモジュールを備えるシステムが存在した。このスプールモジュール、デスプールモジュール、コアドライバモジュールは、いずれもプリンタドライバを情報処理装置にインストール処理する場合に組み込まれるモジュールであり、アプリケーションから見れば１つのプリンタドライバとして認識されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、利用者が各種アプリケーションによる印刷物を組み合わせてひとつの目的文書を作成する場合、例えばページ番号を各ページに振るためには、いったん必要なデータをすべてプリンタから印刷出力し、印刷出力された印刷物を１つの文書としてまとめてから、ユーザが付すべきページ番号を決定する必要がある。そしてユーザが手作業でページ番号を記入する必要がある。あるアプリケーションプログラムがページ番号を振る機能を有している場合であっても、不連続部分があればその部分についてはやはり利用者がページ番号を指定しなければならないし、異なる各種のアプリケーションにより生成された複数の文書ファイルを１つの文書として見立ててページ番号を割り振ることができないという問題点がある。また、目的文書のページを再配置した場合には、ページ番号もそれに合わせて振り直さなければならない。あるいは、複数の原稿ページを、印刷物としての１ページ（これを物理ページあるいは印刷ページと呼ぶ）にまとめたり、片面印刷から両面印刷に変更するなど、データの内容にかかる変更ではなく、単に書式を変更する場合であっても、アプリケーションによって編集および印刷のし直しが必要となる。
【０００７】
このように、データの種類ごとにそれを管理できるアプリケーションが異なることから、アプリケーション間のインタフェースを利用者自身が人手によって提供しなければならない。このことは、利用者に多大な労力が要求されるということであり、生産性の低下をもたらす。さらに、多くの人手を介することからエラーの発生も生じやすかった。
【０００８】
一方、統合アプリケーションを利用して目的文書を作成する場合、印刷出力せずに、データの状態で各種データを配置することができる。このため、印刷物を組み合わせて目的文書を作成する場合ほどには労力は必要とされることはない。
【０００９】
しかしながら、各種データを編集・作成するためのアプリケーションは、統合アプリケーションに含まれるものに限られてしまい、利用者が望むアプリケーションが使用できるとは限らない。また、統合アプリケーションによって作成された目的文書はひとつの文書ファイルであり、ファイル単位で編集・出力等の管理が行われる。そのために、文書ファイルの一部について書式を設定しようとしてもアプリケーションの機能による制約が多く、例えば書式が変わる部分ごとに書式設定を変更しては印刷し直すといった作業が必要とされる。このため、多くの労力が必要とされて生産性が低い点においては、前述した方法と変わりはなかった。
【００１０】
さらに、プリンタと接続されたパーソナルコンピュータ等の情報処理装置からなるシステムにおいては、その情報処理装置上で、最終的にプリンタに送付する印刷データとは異なる形式のデータ形式（いわゆる中間コード）で、そのデータを一時的に保存するスプーラーを備え、この中間コード形式で一時保存されたデータから改めて最終的に前記プリンタに送付する印刷データを生成するデスプーラとプリンタ制御コマンドを生成する段を備えるシステムが存在し、また、一般的なシステムとして、一時保存を行ったデータの印刷範囲を指定して印刷を行う機構が存在したが、印刷データを保存する前に意図した出力結果を、印刷時に印刷範囲を指定した場合、その意図を汲み取った印刷を行うことができないという問題があった。
【００１１】
本発明は上記従来例に鑑みてなされたもので、利用者の望むアプリケーションプログラムによって作成されるデータをひとまとめにした文書の作成および編集を可能とするとともに、その操作性を高めて文書編集の生産性を向上させる文書処理システム及び方法を提供することを目的とする。
【００１２】
さらに、その文書処理システムにおいて適用される印刷制御装置及びその方法において、印刷データをスプーラーに保存する前に、印刷制御として意図した出力内容を、印刷時に印刷範囲を指定した場合、その印刷内容を反映した印刷制御を可能にすることを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成から成る。
【００１４】
すなわち、プリンタで印刷される印刷データを生成する情報処理装置は、
ドキュメントの印刷指示と印刷範囲の指定とを受け付ける受付手段と、
前記受付手段により受け付けられた前記印刷範囲と前記ドキュメントに設定された印刷設定における複数シートの印刷物をまとまりとして扱うための設定情報とに基づいて前記受け付けられた印刷範囲での途中印刷を、前記複数シートの印刷物をまとまりとして扱うことにより、許容しない範囲であると判断した場合、前記途中印刷を許容しない範囲の最初のシートから印刷することを決定する印刷範囲決定手段と、を備えることを特徴とする。
【００２１】
また、プリンタで印刷される印刷データを生成する情報処理装置における情報処理方法は、
前記情報処理装置の受付手段が、ドキュメントの印刷指示と印刷範囲の指定とを受け付ける受付工程と、
前記情報処理装置の印刷範囲決定手段が、前記受付工程で受け付けられた前記印刷範囲と前記ドキュメントに設定された印刷設定における複数シートの印刷物をまとまりとして扱うための設定情報とに基づいて前記受け付けられた印刷範囲での途中印刷を、前記複数シートの印刷物をまとまりとして扱うことにより、許容しない範囲であると判断した場合、前記途中印刷を許容しない範囲の最初のシートから印刷することを決定する印刷範囲決定工程と、を有することを特徴とする。
【００２８】
また、プログラムが、コンピュータを上記の情報処理装置の各手段として機能させることを特徴とする。
【００２９】
また、コンピュータ可読の記憶媒体が、上記のプログラムを格納したことを特徴とする。
【００３０】
【発明の実施の形態】
＜システム概要＞
本発明の情報処理システムの好適な実施形態である文書処理システムの概要を、図１３〜図２４を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションはその電子原稿ファイルを編集する機能を提供している。以下、その詳細は説明する。
【００３１】
＜システム構成及び動作＞
図１３は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の情報処理装置の好適な実施形態であるデジタルコンピュータ１０００によって実現されている。一般アプリケーション１０１０は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対する印刷機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム（ＯＳ）により提供される所定のインタフェース（一般にＧＤＩと呼ばれる）を利用する。すなわち、アプリケーション１０１０は、作成したアプリケーションデータを印刷するために、前記インタフェースを提供するＯＳの出力モジュールに対して、あらかじめ定められる、ＯＳに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる）を送信する。出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、変換された描画コマンド（ＤＤＩ関数と呼ばれる）を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、ＪＬでくくることにより印刷ジョブが生成される。ＯＳとしてマイクロソフト社のウインドウズを利用する場合には、前述した出力モジュールとしてはＧＤＩと呼ばれるモジュールが相当する。
【００３２】
電子原稿ライタ１０２０は、前述のデバイスドライバのひとつとして、本文書処理システム実現のために提供されるソフトウエアモジュールである。ただし、電子原稿ライタ１０２０は特定の出力デバイスを目的としておらず、後述の製本アプリケーション１０４０やプリンタドライバ１０６０により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２０による変換後の形式（以後電子原稿形式と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるＰＤＦ形式や、ＳＶＧ形式などが電子原稿形式として採用できる。アプリケーション１０１０により電子原稿ライタ１０２０を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２０を指定してから印刷を実行させる。ただし、電子原稿ライタ１０２０によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ１０２０を指定するのは製本アプリケーション１０４０であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション１０４０は、電子原稿ライタ１−２が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ１０２０によって作成されたファイルを電子原稿ファイルと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイルをブックファイルと呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（または文書データ）と呼ぶ。
【００３３】
このようにデバイスドライバとして電子原稿ライタ１０２０を指定し、一般アプリケーション１０１０によりそのデータを印刷させることで、アプリケーションデータはアプリケーション１０１０によって定義されたページ（以後論理ページあるいは原稿ページと呼ぶ）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３０としてハードディスクなどの記憶媒体に格納される。なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【００３４】
製本アプリケーション１０４０は電子原稿ファイルあるいはブックファイル１０３０を読み込み、それを編集するための機能を利用者に提供する。ただし製本アプリケーション１０４０は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【００３５】
製本アプリケーション１０４０によって編集されたブックファイル１０３０を印刷する際には、製本アプリケーション１０４０によって電子原稿デスプーラ１０５０が起動される。電子原稿デスプーラ１０５０は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７０のドライバ１０６０がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ１０７０のデバイスドライバ１０６０を用いて受信した出力コマンドを、プリンタ１０７０で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ１０７０に送信され、プリンタ１０７０によってコマンドに応じた画像が印刷される。
【００３６】
図１４は、コンピュータ１０００のハードウエアブロック図である。図１４において、ＣＰＵ２０１０は、ＲＯＭ２０３０のプログラム用ＲＯＭに記憶された、あるいはハードディスク２１１０からＲＡＭ２０２０にロードされたＯＳや一般アプリケーション、製本アプリケーションなどのプログラムを実行し、図１３のソフトウェア構成や、後述するフローチャートの手順を実現する。ＲＡＭ２０２０は、ＣＰＵ２０１０の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５０は、キーボード２０９０や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６０は、ＣＲＴディスプレイ２１００の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７０は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１０やフロッピーディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８０は、接続されたプリンタ１０７０との間の信号の交換を制御する。ＮＣ２１２０はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００３７】
＜電子原稿データの形式＞
編集アプリケーション１０４０の詳細に言及する前に、ブックファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した３層の層構造を有する。上位層は「ブック」と呼ばれ、１冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
【００３８】
図１５（Ａ）は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルは、ブック，章，ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック，章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。なお、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００３９】
図１５において、ブック３０１０には、ブック属性が定義されるているとともに、２つの章３０２０Ａ，３０２０Ｂがリンクされている。このリンクにより、章３０２０Ａ，３０２０Ｂがブック３０１０に包含されていることが表示される。章３０２０Ａには、ページ３０３０Ａ，３０３０Ｂがリンクされ、これらページが含まれることが示されている。各ページ３０３０Ａ，３０３０Ｂにはそれぞれ属性値が定義され、その実体である原稿ページデータ（１）、（２）へのリンクが含まれる。これらリンクは、図１５（Ｂ）に示す原稿ページデータ３０４０のデータ（１），（２）を指し示し、ページ３０３０Ａ、３０３０Ｂの実体が、原稿ページデータ（１）、（２）であることを表示する。
【００４０】
図１６は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。なお、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００４１】
図１７は章属性の、図１８はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００４２】
ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらは、ブックを通して定義される項目である。印刷方法属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００４３】
表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００４４】
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、および、合紙を挿入する場合には、給紙元の指定などを含む。
【００４５】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００４６】
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。このうち、Ｎ−ｕｐ印刷指定属性は、１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１や１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００４７】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば１×１であれば、仮想論理ページ領域は１印刷ページに相当する領域となり、１×２であれば、１印刷ページの各辺を約７０パーセントに縮小した領域となる。
【００４８】
ブック、章、ページについて共通な属性として、ウォータマーク属性およびヘッダ・フッタ属性がある。ウォータマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白および下余白に印刷されるウォータマークである。ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォータマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォータマークやヘッダフッタの内容を設定できるし、また、ブック全体を通してどのようにウォータマークやヘッダフッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォータマークやヘッダ・フッタを印刷するか否かを指定できる。
【００４９】
＜ブックファイルの生成手順＞
ブックファイルは上述したような構造および内容を有している。次に、製本アプリケーション１０４０および電子原稿ライタ１０２０によってブックファイルを作成する手順を説明する。ブックファイルの作成は、製本アプリケーション１０４０によるブックファイルの編集操作の一環として実現される。図１９は、製本アプリケーション１０４０によりブックファイルを開く際の手順である。
【００５０】
まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１０）。新規作成の場合には、章を含まないブックファイルを新規に作成する（ステップＳ７０２０）。新規に作成されるブックファイルは、図１５の例で示せば、ブックノード３０１０のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース（ＵＩ）画面を表示する（ステップＳ７０４０）。図２３は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、ＵＩ画面１１０００には何も表示されない。
【００５１】
一方、既存のブックファイルがあれば、指定されたブックファイルを開き（ステップＳ７０３０）、そのブックファイルの構造、属性、内容に従ってユーザインタフェース（ＵＩ）画面を表示する。図２２は、このＵＩ画面の一例である。ＵＩ画面１１０００は、ブックの構造を示すツリー部１１０１０と、印刷された状態を表示するプレビュー部１１０２０とを含む。ツリー部１１０１０には、ブックに含まれる章、各章に含まれるページが、図１５（Ａ）のような木構造で表示される。ツリー部１１０１０に表示されるページは原稿ページである。プレビュー部１１０２０には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【００５２】
さて、開かれたブックファイルには、電子原稿ライタによって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図１９の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図２２の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。図２０に電子原稿インポートの手順を示す。
【００５３】
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２０を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する（ステップＳ８０１０）。変換を終えたなら、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２０）。この判定は、ウインドウズＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行える。例えば、拡張子が「ｂｍｐ」であればウインドウズビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。また、このような画像データの場合はＳ８０１０のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、Ｓ８０１０の処理を省略することも可能である。
【００５４】
画像データでなかった場合には、ステップＳ８０１０で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３０）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【００５５】
画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップＳ８０１０で生成された電子原稿ファイルに含まれる各原稿ページが追加される（ステップＳ８０４０）。ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるもにについてはその値が与えられる。例えば、Ｎｕｐ指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【００５６】
図２１は、図２０のステップＳ８０１０において、電子原稿ライタ１０２０により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く（ステップＳ９０１０）。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとして、ＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換し、出力する（ステップＳ９０２０）。出力先はステップＳ９０１０で開いた電子原稿ファイルである。指定されたデータすべてについて変換が終了したか判定し（ステップＳ９０３０）、終了していれば電子原稿ファイルを閉じる（ステップＳ９０４０）。電子原稿ライタ１０２０によって生成される電子原稿ファイルは、図１５（Ｂ）に示した、原稿ページデータの実体を含むファイルである。
【００５７】
＜ブックファイルの編集＞
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００５８】
このほか、いったん行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図１６乃至１８に示す属性に捜査結果が反映されたり、あるいはブックファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００５９】
＜ブックファイルの出力＞
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図２２に示す製本アプリケーションのＵＩ画面１１０００からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション１０４０は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ１０５０に渡す。電子原稿デスプーラ１０５０は、ジョブチケットをＯＳの出力コマンド、例えばウインドウズのＧＤＩコマンドに変換し、それを出力モジュール、例えばＧＤＩに送信する。出力モジュールは、指定されたプリンタドライバ１０６０によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【００６０】
ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【００６１】
電子原稿デスプーラ１０５０は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００６２】
＜そのほかのシステム構成＞
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
【００６３】
図２４はサーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるＤＯＭＳ（Document Output Management Service：文書出力管理サービス）ドライバ１０９０およびＤＯＭＳプリントサービスモジュール１１００、ＤＳ（文書サービス）クライアントモジュール１０８０を加えた構成を有する。このクライアント文書処理システム１２０００に、文書管理サーバ１２０１０および印刷集中管理サーバ１２０２０およびプリントサーバ１２０３０が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。なお図２４では文書管理サーバ１２０１０と印刷集中管理サーバ１２０２０の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバクライアントシステム１２０１０ＳＣが、印刷集中管理サーバ１２０２０であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム１２０２０ＳＣが、スタンドアロン型文書管理システムに追加される。
【００６４】
文書管理サーバ１２０１０は、製本アプリケーション１０４０により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ１２０１０によってブックファイルを管理する場合、ブックファイルは、クライアントＰＣのローカルＨＤに代わって、あるいはそれに加えて、文書管理サーバ１２０１０のデータベース１２１１０に保存される。製本アプリケーション１０４０と文書管理サーバ１２０１０との間のブックファイルの保存および読み出しは、ＤＳクライアント１０８０及びＤＳコア１２１２０を介して行われる。
【００６５】
印刷集中管理サーバ１２０２０は、クライアント文書管理システム１２０００に格納された、あるいは文書管理サーバ１２０１０に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９０およびＤＯＭＳプリントサービスモジュール１１００を介して印刷集中管理サーバ１２０２０のＤＯＭＳＷＧサーバモジュール１２２１０に送信される。集中印刷管理サーバ１２０２０は、クライアントのプリンタで印刷する場合にはクライアントのＤＯＭＳプリントサービスモジュール１１００を介して電子原稿デスプーラ１０５０に電子原稿データを渡し、プリントサーバ１２０３０により印刷する場合には、プリントサーバ１２０３０のＤＯＭＳプリントサービスモジュール１２０３０に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【００６６】
＜プレビュー表示の内容＞
すでに説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図２２に示すユーザインタフェース画面１１０００が表示される。ツリー部１１０１０には、開いているブック（以下、注目ブックと呼ぶ）の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、３通りの表示方法が用意されている。第１は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。プレビュー部の表示にレイアウトは反映されない。第２は印刷ビューモードである。印刷ビューモードでは、プレビュー部１１０２０には、原稿ページのレイアウトが反映された形で原稿ページが表示される。第３は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【００６７】
以下、電子原稿デスプーラ１０５０に関連した実施形態を説明する。
【００６８】
＜第1実施形態＞
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００６９】
図１は本発明の情報処理システムに好適な実施形態を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明にかかる印刷制御が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用することができる。
【００７０】
同図において、本発明の情報処理装置の一実施形態であるホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００７１】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００７２】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００７３】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報に関するアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００７４】
プリンタ１５００は、ＣＰＵ１２により制御される。プリンタのＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。
【００７５】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００７６】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００７７】
また、前述した外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００７８】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行うことになる。
【００７９】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Graphic Device Interface）関数からＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００８０】
本実施形態の印刷システムは、図２で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図３に示すように、アプリケーションからの印刷データを中間コードデータでスプールする構成を有する。
【００８１】
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、中間コードからなる保存ファイル３０３を生成する構成をとる。
【００８２】
図３で示す拡張的なシステムにおいては、アプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能をその中間コードデータに付与することにより実現することができる。なお、印刷データの加工を行うためには、通常印刷制御アプリケーションが提供するウインドウから設定を行い、その設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する必要がある。ここで、印刷データ保存用ドライバ３０２とは、前述した電子原稿ライタ１０２０のことである。前述した実施形態では、電子原稿ファイルとしてＰＤＦなどのフォーマットを利用しているが、ここでは中間コードデータと呼ぶことにする。また、印刷制御アプリケーション３０４とは、前述した製本アプリケーション１０４０のことである。電子原稿ライタ１０２０と製本アプリケーション１０４０は、前述した実施形態ではそれぞれの機能を説明したが、お互いに存在する必要があるため、システムには同時にインストール（組み込まれる）されるものである。
【００８３】
以下、図３の詳細を説明する。図３に示す通り、この拡張された処理システムでは、まず、アプリケーション３０１から、印刷データは印刷データ保存用ドライバ３０２（電子原稿ライタ１０２０）を介して、システム上の中間保存ファイル３０３に保存される。この中間保存ファイル３０３には印刷物のコンテンツデータ（中間コードデータ）や印刷用設定データ（Windows OSでは、DEVMODEに相当する）等が保存される。
【００８４】
「印刷物のコンテンツデータ」とはユーザーがアプリケーション上で作成したデータの中間コードデータであり、「印刷用設定データ」とはコンテンツデータをどのように出力するか(出力体裁等)を記述したデータである。
【００８５】
そして、この保存ファイル３０３に格納されているデータを印刷制御アプリケーション３０４が読み取る。この印刷制御アプリケーション３０４は保存ファイル３０３から読み込んだデータに関して、その印刷出力の体裁を変更し、表示し、更に保存し、その結果を印刷制御することが可能である。印刷アプリケーション（前述した電子原稿デスプーラ１０５０のことであり、以下、簡単にデスプーラと呼ぶ）３０５は印刷制御アプリケーション３０４から実際に印刷を実行するためのデータ（前述したブックファイルのデータ）を受け取り、印刷制御アプリケーション３０４の設定した出力体裁に従い、グラフィックエンジン３０６に対しＧＤＩ関数として出力する。
【００８６】
そして、グラフィックエンジン３０６はＧＤＩ関数をプリンタドライバでサポートしているＤＤＩ関数に変換し、その後、プリンタドライバ２０３はグラフィックエンジン３０６から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを含む印刷データを生成し、ＪＬ（Job Language）でくくることにより印刷ジョブとしてシステムスプーラ２０４に出力し、ＯＳのシステムスプーラ２０４の制御により印刷ジョブがプリンタ１５００に出力される。
【００８７】
図４は、プリンタ１５００の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【００８８】
このプリンタはホストコンピュータ３０００より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー３１により感光ドラム１５を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体９へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材２へ転写し、転写材２上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム１５を有するドラムユニット、接触帯電ローラ１７を有する一次帯電部、クリーニング部、現像部、中間転写体９、用紙カセット１や各種ローラ３、４、５、７を含む給紙部、転写ローラ１０を含む転写部及び定着部２５によって構成されている。
【００８９】
ドラムユニット１３は、感光ドラム(感光体)１５と感光ドラム１５のホルダを兼ねたクリーニング機構を有するクリーナ容器１４とを一体に構成したものである。このドラムユニット１３はプリンタ本体に対して着脱自在に支持され、感光ドラム１５の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム１５はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器１４に回転可能に支持されている。感光ドラム１５は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム１５を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム１５の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部３０では、変調されたレーザ光を、モータ３１ａにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ３２、反射鏡３３を介して感光ドラムを照射する。
【００９０】
現像部は、上記静電潜像を可視画像化するために、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の現像を行う３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃと、ブラック（Ｂ）の現像を行う１個のブラック現像器２１Ｂとを備えた構成を有する。カラー現像器２０Ｙ、２０Ｍ、２０Ｃ及びブラック現像器２１Ｂには、スリーブ２０ＹＳ、２０ＭＳ、２０ＣＳ及び２１ＢＳと、これらスリーブ２０ＹＳ、２０ＭＳ、２０ＣＳ、２１ＢＳそれぞれの外周に圧接する塗布ブレード２０ＹＢ、２０ＭＢ、２０ＣＢ及び２１ＢＢとがそれぞれ設けられる。また３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃには塗布ローラ２０ＹＲ、２０ＭＲ、２０ＣＲが設けられている。
【００９１】
また、ブラック現像器２１Ｂはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器２０Ｙ、２０Ｍ、２０Ｃは回転軸２２を中心に回転する現像ロータリー２３にそれぞれ着脱可能に取り付けられている。
【００９２】
ブラック現像器２１Ｂのスリーブ２１ＢＳは感光ドラム１５に対して例えば３００μｍ程度の微小間隔を持って配置されている。ブラック現像器２１Ｂは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリーブ２１ＢＳの外周に塗布ブレード２１ＢＢによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリーブ２１ＢＳに現像バイアスを印加することにより、静電潜像に応じて感光ドラム１５に対して現像を行って感光ドラム１５にブラックトナーによる可視画像を形成する。
【００９３】
３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃは、画像形成に際して現像ロータリー２３の回転に伴って回転し、所定のスリーブ２０ＹＳ、２０ＭＳ、２０ＣＳが感光ドラム１５に対して３００μｍ程度の微小間隔を持って対向することになる。これにより所定のカラー現像器２０Ｙ、２０Ｍ、２０Ｃが感光ドラム１５に対向する現像位置に停止し、感光ドラム１５に可視画像が作成される。
【００９４】
カラー画像形成時には、中間転写体９の１回転毎に現像ロータリー２３が回転し、イエロー現像器２０Ｙ、マゼンダ現像器２０Ｍ、シアン現像器２０Ｃ、次いでブラック現像器２１Ｂの順で現像工程がなされ、中間転写体９が４回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体９上に形成する。
【００９５】
中間転写体９は、感光ドラム１５に接触して感光ドラム１５の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム１５から４回の可視画像の多重転写を受ける。また、中間転写体９は画像形成時に後述する転写ローラ１０が接触して転写材２を挟持搬送することにより転写材２に中間転写体９上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体９の回転方向に関する位置を検知するためのＴＯＰセンサ９ａ及びＲＳセンサ９ｂと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ９ｃが配置されている。
【００９６】
転写ローラ１０は、感光ドラム１５に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【００９７】
転写ローラ１０は、図４に実線で示すように中間転写体９上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体９上に４色のカラー可視画像が形成された後は、このカラー可視画像を転写材２に転写するタイミングに合わせてカム部材（不図示）により転写ローラ１０を図示点線で示す上方に位置させる。これにより転写ローラ１０は転写材２を介して中間転写体９に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体９上のカラー可視画像が転写材２に転写される。
【００９８】
定着部２５は、転写２を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材２を加熱する定着ローラ２６と転写材２を定着ローラ２６に圧接させるための加圧ローラ２７とを備えている。定着ローラ２６と加圧ローラ２７とは中空状に形成され、内部にそれぞれヒータ２８、２９が内蔵されている。即ち、カラー可視画像を保持した転写材２は定着ローラ２６と加圧ローラ２７とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【００９９】
可視画像定着後の転写材２は、その後排紙ローラ３４、３５、３６によって排紙部３７へ排出して画像形成動作を終了する。
【０１００】
クリーニング手段は、感光ドラム１５上及び中間転写体９上に残ったトナーをクリーニングするものであり、感光ドラム１５上に形成されたトナーによる可視画像を中間転写体９に転写した後の廃トナーあるいは、中間転写体９上に作成された４色のカラー可視画像を転写材２に転写した後の廃トナーは、クリーナ容器１４に蓄えられる。
【０１０１】
印刷される転写材（記録用紙）２は、給紙トレイ１から給紙ローラ３により取り出されて中間転写体９と転写ローラ１０との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部２５を通過してトナー像が定着される。片面印刷の場合には、案内３８が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【０１０２】
両面ユニットに導かれた記録用紙は、搬送ローラ４０によりトレイ１の下部（二点鎖線で示す搬送経路）に一旦送り込まれた後に逆方向に搬送され、両面トレイ３９に送られる。両面トレイ３９上では、用紙は給紙トレイ１に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【０１０３】
図５〜図７は、本発明の実施形態における処理を特徴付ける印刷制御アプリケーション３０４と、印刷アプリケーション(デスプーラ)３０５における処理の流れを説明するフローチャートである。
【０１０４】
また、保存ファイル３０３のデータ（前述した電子原稿ファイルに相当する）の変更を指示するための入力画面として、図８及び図９のインタフェース画面を介して行われる。図８は印刷制御アプリケーション３０４に対するインタフェース画面であり、図９はその印刷設定の変更に関する入力をするためのインタフェース画面を例示した図である。原稿ページを最小単位とする構造を有するデータは印刷ジョブごとに生成され、そのデータの変更の対象となるシート、若しくはページの指定は図８のインタフェース画面により行われ、指定された対象の設定は図９のインタフェース画面により行われる。設定変更に従い、そのデータの印刷制御データが変更される。
【０１０５】
ここで、図９のインタフェース画面における設定を具体的に説明する。図９の画面では印刷方法の指定９０１で、「製本印刷」が設定されている場合を示している。印刷方法の指定では、その他に片面印刷、両面印刷の選択が可能である。更に、このインタフェース画面では、開き方向（９０２）、原稿の調整（９０３）、製本印刷の方法（９０４）、例えば、全ページをまとめて印刷するか、いくつかの束に分けて印刷するかを指定することができる。更に、このインタフェース画面では章の区切り（９０５）等を指定することが可能である。また、開き方向（９０２）の設定では、「右開き」「左開き」「上開き」「下開き」の指定だけでなく、更に「中綴じ」（サドルステッチによる中央ステイプル）をするか否かのチェックボックス、製本綴じ代をつけるか否かのチェックボックスなどがある。
【０１０６】
図５は保存ファイル３０３に保存されたデータに対して、印刷制御アプリケーション３０４が印刷設定の変更を行った際に、その変更にかかるデータを保存する処理を説明する図である。印刷設定の変更操作は、印刷制御アプリケーション３０４により行われるが、変更されたデータを保存する処理は、印刷制御アプリケーション３０４（製本アプリケーション１０４０）が印刷データ保存用ドライバ３０２（電子原稿ライタ１０２０）を呼び出して、印刷データ保存用ドライバ３０２に行わせる。
【０１０７】
印刷制御アプリケーション３０４から印刷データ保存用ドライバ３０２が呼び出されると、印刷データ保存用ドライバ３０２は、保存ファイル３０３に格納されている中間データ（電子原稿ファイル）を読み込む際、まず、保存されている中間データにおける印刷設定の読み込みが行われる（Ｓ５０１）。これは保存ファイル３０３から印刷用に設定されている印刷を制御するための設定データがＯＳが提供するデータ構造体であるDEVMODEから読み込まれ、そのデータをデスプールテーブルと呼ばれるメモリ上の展開領域に展開する処理である。読み込まれる印刷設定は、印刷制御アプリケーション３０４（製本アプリケーション１０４０）の印刷設定用のＧＵＩ（図９など）を介してユーザから設定された値だけに限らず、前述したＤＯＭＳドライバ１０９０のように出力先の印刷モジュールから要求される印刷範囲を示す情報も含まれる。ＤＯＭＳドライバ１０９０は、例えば、印刷集中管理サーバ１２０２０によってプリンタ１２０４０に対して印刷処理中に、なんらかの障害が発生したような場合に、ＤＯＭＳドライバ１０９０を経由して製本アプリケーション１０４０に印刷範囲を指定して再印刷を要求することがあるためである。
【０１０８】
そして、ステップＳ５０２では、設定変更がされたか否かの判定処理が行われる。このステップでは、図９で示される印刷制御アプリケーション３０４のインタフェース上で設定の変更指示があったか否かを判定する。ここで、設定変更があったと判定されれば（Ｓ５０２−Ｙｅｓ）、ステップＳ５０３に処理が進む。ステップＳ５０３では、ユーザから「Bookの詳細設定」のＧＵＩを介して指定された印刷範囲、または別の印刷モジュール（ＤＯＭＳドライバなど）から指定された印刷範囲と、図９のユーザインタフェースを介して入力された印刷設定とに基づいて、途中印刷を許さない範囲の指定をするか否かを判断する。
上述のようにジョブチケットは原稿ページを最小単位とする構造を有するデータであり、設定変更に従い、そのデータの印刷制御データが変更される。
【０１０９】
ここで、「途中印刷」とは、例えば、１つの印刷ジョブを中断し、そのジョブを途中から再開して、その印刷ジョブを完了させるような印刷処理であり、このような途中印刷処理は、印刷処理の対象となるデータを１つのまとまりとして管理する必要が生じる場合、例えば、製本における分冊処理や、部分的にステイプルを付する処理等、のように印刷設定によっては、途中印刷を許さない範囲を設定する必要のある場合が生じる。この範囲を指定することにより、指定されたシートのくくりで途中印刷を禁止することができる。具体的には、ステイプル指定がされている場合は、ステイプルする範囲（通常は全ページとなり、製本印刷で分冊指定がなされている場合は分冊単位）が途中印刷を許さない範囲となり、ページレイアウトでＮｕｐ（Ｎページ分の論理ページを縮小配置して１ページ分の物理ページに配置するレイアウト）指定されている場合は、１枚の印刷用紙に配置される論理ページの範囲（片面印刷、両面印刷も考慮する）が途中印刷を許さない範囲となる。
【０１１０】
印刷制御アプリケーション３０４における設定変更の中で、どの設定を途中印刷を許さない設定とするかは各アプリケーションの仕様によるところであり、この設定により、後に印刷を制御するアプリケーションにその印刷制御の意図を伝えることになる。
【０１１１】
ステップＳ５０３で、途中印刷を許さない範囲指定がされていると判断した場合（Ｓ５０３−Ｙｅｓ）、印刷データ保存用ドライバ３０２によりその指定範囲がデスプールテーブルへ書き込まれる（Ｓ５０４）。
【０１１２】
このデスプールテーブルは図１０で示すような構造になっており、印刷対象のドキュメント（ブックファイル）に関するドキュメントの全体に有効な印刷設定と、シートのくくりで有効となる印刷設定と、更に、個別のシート単位に有効となる印刷設定と、いうように階層的に管理されているテーブル構造を有する。
【０１１３】
ステップＳ５０４におけるデスプールテーブルへの書き込み処理とは、シートのくくりで、途中印刷を許さない範囲を設定する処理である。尚、ステップＳ５０３の処理で、途中印刷の指定をしない場合は（Ｓ５０３−Ｎｏ）、デスプールテーブルへの書き込みは行われない。
【０１１４】
ステップＳ５０５では、設定変更に関するデータの保存指定がされたか否かの判定が行われ、保存指定がされたと判定されれば（Ｓ５０５−Ｙｅｓ）、印刷データ保存用ドライバ３０２によりデスプールテープルの保存処理が行われる（Ｓ５０６）。これはメモリ上のデスプールテープルに展開された印刷設定の内容を保存ファイル３０３に書き込む処理である。これにより、印刷制御アプリケーション３０４で設定変更された内容が保存ファイル３０３に反映されることとなる。
【０１１５】
次に、製本印刷が選択された場合のデータの変更処理を図１１のフローチャートを用いて説明する。
【０１１６】
印刷制御アプリケーション３０４から印刷データ保存用ドライバ３０２が呼び出されて保存ファイル３０３に格納されている中間データを読み込む際、まず、印刷データ保存用ドライバ３０２により印刷体裁の取得処理が行われる（Ｓ１１０１）。この処理は保存ファイル３０３から印刷用設定データが読み込まれ、デスプールテーブルと呼ばれるメモリ上の展開領域に印刷の体裁設定に関するデータを展開する処理である。そして、このデスプールテーブルに体裁設定に関するデータが展開されると、処理をステップＳ１１０２に進め、体裁の設定が「製本印刷」かつ「中綴じをする」か否かの判定処理が行われる（Ｓ１１０２）。ステップＳ１１０２では、図９における印刷制御アプリケーションのインタフェース（ＧＵＩ）上で、製本印刷に設定する旨の変更があったか否かが判断される。ここで、「製本印刷」かつ「中綴じをする」であると判定された場合（Ｓ１１０２−Ｙｅｓ）は、処理をステップＳ１１０３に進め、その製本の形式が分冊であるか否かの判定処理が行われる（Ｓ１１０４）。
【０１１７】
図９の画面設定において、製本印刷の方法（９０４）として、「いくつかの束に分けて印刷」が選択されている場合は、分冊製本であると判定される。そして、分冊製本すると判断した場合は（Ｓ１１０３−Ｙｅｓ）、処理をステップＳ１１０４に進めて、分冊単位の取得処理が行われる（Ｓ１１０４）。このステップでは、分冊をどのような単位で行うかを取得する処理である。その後、製本分冊設定のデスプールテーブル書き込み処理が行われる（Ｓ１１０５）。
【０１１８】
デスプールテーブルへの書き込み処理は、具体的には図１２で示すように、シートのくくりで有効となる印刷設定として、サドルステッチを行うフラグと途中印刷不許可フラグがセットされる。ここでは途中印刷を許さない範囲を途中印刷不許可フラグをセットすることで表し、この他の設定として、サドルステッチを指示するフラグがセットされた状態となっている。
【０１１９】
そして、処理をステップＳ１１０７に進め、変更にかかるデータについて保存指定がされたか否かの判定が行われ、保存指定がされたと判定されれば（Ｓ１１０７−Ｙｅｓ）、デスプールテープルの保存処理が行われる（Ｓ１１０８）。これはメモリ上のデスプールテープルに展開された印刷設定内容を保存ファイルに書き込む処理である。これにより、製本分冊の設定が保存ファイル３０３に反映されることとなる。
【０１２０】
一方、デスプーラ３０５（前述した電子原稿デスプーラ１０５０）内の処理の概要を図６を用いて説明する。
【０１２１】
まず、ステップＳ６０１で印刷指示がされたか否かの判定処理が行われる。この印刷指示は先に保存を行った印刷制御アプリケーションによるものでも、別の印刷制御アプリケーションによるものでも構わないが、印刷制御アプリケーション３０４より印刷指示があったとすると、処理をステップＳ６０２に進める。この印刷指示としては、ユーザによる印刷指示の場合と、ＤＯＭＳドライバ１０９０からの「再印刷」や「代行印刷」による印刷指示の場合とがある。続いてステップＳ６０２では、その印刷指示が「代行印刷」や「再印刷」などの「リカバー印刷」に該当するか否かを判定する。
【０１２２】
「リカバー印刷」とは先に印刷を行ったが、何らかの理由によりデバイス側でエラーとなり、印刷ジョブが完全に完了しなかった場合に、その印刷ができなかったデータに該当する部分から印刷を行う処理である。リカバー印刷には、複数種類の印刷方法があり、例えば、代行印刷は、出力先のプリンタ（プリンタドライバ）を変更して印刷させる処理であり、再印刷は同じプリンタ（プリンタドライバ）に再度印刷させる処理である。
【０１２３】
印刷制御アプリケーションは、このリカバー印刷を行うか否かを指定するためのフラグをデスプールテーブルに展開されたデータに与え、ステップＳ６０２におけるリカバー印刷の可否の判断は、印刷制御アプリケーション３０４によりセットされたフラグの読み取りに基づくものである。
【０１２４】
ステップＳ６０２の処理でリカバー印刷により、印刷を実行するものと判定されると、印刷開始シート取得処理が行われる（Ｓ６０３）。これは、ドキュメントの全体において、どのシートからリカバー印刷を行うかというデータを印刷制御アプリケーションからデスプーラ３０５が取得する処理である。
【０１２５】
ここでは、例として、印刷開始シートとして３シート目がリカバー印刷の開始ページとする。
【０１２６】
次に、処理をステップＳ６０４に進め、デスプーラ３０５は、途中印刷を許さない範囲指定があるか否かの判定処理を行なう。これは先に印刷制御アプリケーションが図１２に示すような途中印刷を許さない範囲を設定しているか否かを判断する処理である。ここでは、例として、全ドキュメントのうち１シート目から５シート目までが途中印刷を許さない範囲として設定されているとする。
【０１２７】
ステップＳ６０５では、デスプーラ３０５は、印刷開始シートが途中印刷を許さない範囲内にあるか否かの判断を行なう処理を実行する。例えば、リカバー印刷の印刷開始シートが３シート目で、途中印刷を許さない範囲が１シート目から５シート目までであるとすると、リカバー印刷は、途中印刷が許容されていない範囲内にあると判定される。このようにリカバー印刷が許容されていない範囲内にあると判定されると（Ｓ６０５−Ｙｅｓ）、処理は次のステップＳ６０６に進められ、印刷範囲決定処理が実行される（Ｓ６０６）。ここで実際に印刷を行う範囲が決定されるわけであるが、代行印刷の開始シート３シート目は、途中印刷が許容されていない範囲にあるため、結果として、リカバー印刷は実行されずに、ドキュメント全体に対して印刷範囲が設定されることになる。すなわち、この例では、１シート目からドキュメントの最後のシートまでが印刷範囲として設定される。
【０１２８】
その後、ステップＳ６０７に処理を進め、デスプーラ３０５による印刷処理が実行されることとなる。具体的には、デスプーラ３０５は、保存ファイル３０３に格納されている中間コードデータを読み出し、中間コードデータに基づいて、ＯＳのグラフィックエンジン３０６で規定されているＧＤＩ関数を生成して、出力する処理である。グラフィックエンジン３０６にＧＤＩ関数が出力されると、それ以降の処理は前述したものと同じようにプリンタドライバで印刷ジョブが生成されてプリンタに出力されることになる。これらの印刷制御アプリケーション３０４、印刷アプリケーション３０５の処理により、途中印刷を制御することが可能となる。
【０１２９】
本実施形態により、印刷データをスプーラーに保存する前に、印刷制御として意図した出力内容を、印刷時に印刷範囲をシート単位に指定した場合、その印刷内容を反映した印刷制御が可能になる。
【０１３０】
＜第２実施形態＞
代行印刷を行なう際の印刷開始情報として、第１実施形態ではシート単位に、どのシートから印刷が開始されるかを特定していたが、例えば、両面印刷をする場合などは、シート単位より更に細かい情報として、シートの表/裏を構成するページ単位の情報に基づいて印刷開始ページを特定してもよい。印刷開始ページデータの特定による代行印刷を実行するためのデスプーラ内の処理を図７のフローチャートを用いて説明する。
【０１３１】
まず、ステップＳ７０１において、印刷制御アプリケーションからの印刷指示の有無を判断する。この印刷指示は先に保存を行った印刷制御アプリケーションでも、別の印刷制御アプリケーションでも構わない。
【０１３２】
印刷制御アプリケーション３０４より印刷指示があったとすると（Ｓ７０１−Ｙｅｓ）、処理をステップＳ７０２の代行処理の有無の判断ステップに進める。
【０１３３】
代行印刷の判断ステップＳ７０２では、印刷制御アプリケーション３０４によりセットされたフラグの読み込みにより、代行印刷を行なうか否かを判断する。この判断ステップの処理により、代行印刷であると判定されれば、処理をステップＳ７０３の印刷開始ページ取得処理に進める。これは、どのページから代行印刷を行うか否かを印刷制御アプリケーションから取得する処理である。ここでは、例として、印刷開始ページとして３ページ目が取得できたとする。
【０１３４】
次に、途中印刷を許さない範囲指定があるか否かの判定処理がステップＳ７０４で実行される。これは、先に説明したように、印刷制御アプリケーションが図１２に示すように、途中印刷を許さない範囲が設定されているか否かを判定するための処理である。ここでは、例として、１シート目から５シート目までが途中印刷を許さない範囲として設定されているとする。
【０１３５】
そして、これらの情報を元に、ステップＳ７０５で、代行印刷における印刷開始ページが途中印刷を許さない範囲内にあるか否かの判定が行われる。ここでは、印刷開始ページが３ページ目で、１シート目から５シート目までが途中印刷を許さない範囲として設定されている。
【０１３６】
さらに、印刷方法の指定（図９の９０１）が両面印刷として、シートが作られているとすると、３ページ目は２シート目の表のページに該当するため、途中印刷を許さない範囲内にあると判定される。代行印刷の開始が、その範囲内にあると判定されると（Ｓ７０５−Ｙｅｓ）、処理をステップＳ７０６に進め、印刷範囲決定処理が行われる。ここで実際に印刷を行う範囲が決定されるわけであるが、この例では１シート目から最後のシートまでが印刷範囲として設定される。
【０１３７】
その後、ステップＳ７０７に処理を進め、印刷処理が実行されることとなる。これらの印刷制御アプリケーション３０４、印刷アプリケーション３０５の処理により、途中印刷を制御することが可能となる。
【０１３８】
本実施形態により、印刷データをスプーラーに保存する前に、印刷制御として意図した出力内容を、印刷時に印刷範囲をページ単位に指定した場合、その印刷内容を反映した印刷制御が可能になる。
【０１３９】
＜他の実施形態＞
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１４０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１４１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１４３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４４】
【発明の効果】
以上説明したように、本発明によれば、利用者の望むアプリケーションプログラムによって作成されるデータをひとまとめにした文書の作成および編集を可能とするとともに、その操作性を高めて文書編集の生産性を向上させることを可能にする。
【０１４５】
本発明によれば、ドキュメントの印刷範囲と、印刷設定とに基づき、許容される印刷範囲を決定するための情報処理が可能となる。
【０１４６】
さらに、本発明により、印刷データをスプーラーに保存する前に、印刷制御として意図した出力内容を、印刷時に印刷範囲を指定した場合、その印刷内容を反映した印刷制御を可能にする。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる印刷制御装置の構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、中間コードをスプールするシステムの構成を示すブロック図である。
【図４】本発明にかかる実施形態で、適用可能なプリンタについて説明する図である。
【図５】保存ファイルに保存されたデータに対して、印刷制御アプリケーションが印刷設定の変更を行なった際の、データ保存の処理を説明するフローチャートである。
【図６】印刷アプリケーションにおける処理を説明するフローチャートである。
【図７】印刷アプリケーションにおける処理を説明するフローチャートである。
【図８】印刷制御アプリケーションにおけるユーザインタフェースの一例を示す図である。
【図９】印刷制御アプリケーションのユーザインタフェースの一例を示す図である。
【図１０】デスプールテーブルの概要を示した図である。
【図１１】印刷制御アプリケーションにおける処理を例示したフローチャートである。
【図１２】デスプールテーブルの概要を示した図である。
【図１３】スタンドアロン型の文書処理システムのブロック図である。
【図１４】文書処理システムを実現するコンピュータのブロック図である。
【図１５】ブックファイルの構造の一例を示す図である。
【図１６】ブック属性の一覧を示す図である。
【図１７】章属性の一覧を示す図である。
【図１８】ページ属性の一覧を示す図である。
【図１９】ブックファイルを開く手順のフローチャートである。
【図２０】電子原稿ファイルをブックファイルにインポートする手順のフローチャートである。
【図２１】アプリケーションデータを電子原稿ファイルに変換する手順のフローチャートである。
【図２２】既存のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図２３】新規のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図２４】クライアントサーバ型の文書処理システムのブロック図である。
【符号の説明】
１    ＣＰＵ
２    ＲＡＭ
３    ＲＯＭ
４    システムバス
１２  ＣＰＵ
１    ＲＯＭ
１９  ＲＡＭ
３０００    ホストコンピュータ
１５００    プリンタ
【図１】
0004756796.tif 000002
【図２】
0004756796.tif 000003
【図３】
0004756796.tif 000004
【図４】
0004756796.tif 000005
【図５】
0004756796.tif 000006
【図６】
0004756796.tif 000007
【図７】
0004756796.tif 000008
【図８】
0004756796.tif 000009
【図９】
0004756796.tif 000010
【図１０】
0004756796.tif 000011
【図１１】
0004756796.tif 000012
【図１２】
0004756796.tif 000013
【図１３】
0004756796.tif 000014
【図１４】
0004756796.tif 000015
【図１５】
0004756796.tif 000016
【図１６】
0004756796.tif 000017
【図１７】
0004756796.tif 000018
【図１８】
0004756796.tif 000019
【図１９】
0004756796.tif 000020
【図２０】
0004756796.tif 000021
【図２１】
0004756796.tif 000022
【図２２】
0004756796.tif 000023
【図２３】
0004756796.tif 000024
【図２４】
0004756796.tif 000025