(57)【要約】【課題】製本印刷の場合、製本後のページ順序でプレビュー表示を行う。【解決手段】印刷時に、中間データのストアが指示されると、スプーラ３０２によって中間データおよび出力用ジョブ設定ファイルがスプールファイル３０２に格納される。ストアされたジョブが選択されると、プレビューア３０６によって印刷イメージのプレビュー表示が行われる。この際、複数の印刷済みのシートを重ねて二つ折りすることにより本を生成する製本印刷が設定されていると、出力の順序とは異なる、見開きの順序でページのプレビュー画像を表示する。【選択図】図３
2010176709.tif 000002
【特許請求の範囲】
【請求項１】
指定手段と決定手段と表示手段とを備えた情報処理装置の制御方法であって、
前記指定手段が、複数の印刷済みのシートを重ねて二つ折りすることにより本を生成するための製本印刷を指定する指定工程と、
前記決定手段が、前記製本印刷が指定された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本のページをめくることで印刷される複数ページのページ順となるように、前記複数ページの出力順序を決定する決定工程と、 
前記表示手段が、前記製本印刷が指定され、かつ、前記プレビュー画像の表示が指示された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本の見開きのプレビュー画像を表示する表示工程とを有し、
前記表示工程において表示されるページの表示順序と前記決定工程において決定された出力順序とは異なることを特徴とする情報処理装置の制御方法。
【請求項２】
前記表示工程では、見開きの方向に従って前記複数のページの表示順を決定することを特徴とする請求項１に記載の情報処理装置の制御方法。
【請求項３】
前記表示工程では、前記プレビュー画像を表示するための表示画面に複数の見開きのプレビュー画像を表示することを特徴とする請求項１または２に記載の情報処理装置の制御方法。
【請求項４】
前記指定工程では、前記本に表紙を挿入することをさらに指定し、
前記表示工程では、前記指定手段において前記製本印刷が指定され、かつ、前記表紙を挿入することが指定されなかった場合、印刷される複数ページに基づく本の見開きプレビュー画像を表示し、前記指定工程において前記製本印刷が指定され、かつ、前記表紙を挿入することが指定された場合、前記本の表紙のプレビュー画像と印刷される複数ページに基づく本の見開きプレビュー画像とを表示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置の制御方法。
【請求項５】
複数の印刷済みのシートを重ねて二つ折りすることにより本を生成するための製本印刷を指定する指定手段と、
前記製本印刷が指定された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本のページをめくることで印刷される複数ページのページ順となるように、前記複数ページの出力順序を決定する決定手段と、 
前記製本印刷が指定され、かつ、前記プレビュー画像の表示が指示された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本の見開きのプレビュー画像を表示する表示手段とを有し、
前記表示手段において表示されるページの表示順序と前記決定手段において決定された出力順序とは異なることを特徴とする情報処理装置。
【請求項６】
前記表示手段は、見開きの方向に従って前記複数のページの表示順を決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記表示手段は、前記プレビュー画像を表示するための表示画面に複数の見開きのプレビュー画像を表示することを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記指定手段は、前記本に表紙を挿入することをさらに指定し、
前記表示手段は、前記指定手段において前記製本印刷が指定され、かつ、前記表紙を挿入することが指定されなかった場合、印刷される複数ページに基づく本の見開きプレビュー画像を表示し、前記指定手段において前記製本印刷が指定され、かつ、前記表紙を挿入することが指定された場合、前記本の表紙のプレビュー画像と印刷される複数ページに基づく本の見開きプレビュー画像とを表示することを特徴とする請求項５乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
請求項５乃至８のいずれか一項に記載された情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体に関するもので、特にパーソナルコンピュータ等の情報処理とプリンタからなるシステムにおける制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来、文書編集や画像編集のためのアプリケーションプログラムによって編集された文書あるいは画像といったデータを印刷する際に、実際に用紙上に印刷する前に、印刷されるイメージを印刷されるレイアウトで画面上に表示して利用者に提示する印刷プレビュー機能が知られている。
【０００３】
利用者は、この印刷プレビュー機能を利用して印刷される画像をチェックすることで、理想のレイアウトが実現できるまで再編集を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アプリケーションプログラムにより提供される印刷プレビュー機能は、プリンタドライバにより設定可能な種々の印刷条件を反映した画像をプレビュー画像として表示することができない。例えば用紙の綴じ代をプリンタドライバによって指定しても、アプリケーションプログラムによる印刷プレビュー機能では、それらをプレビュー画像に反映して表示できない。このため、プレビュー画像におけるレイアウトと実際に印刷される画像におけるレイアウトとが異なり、印刷プレビューの意味が失われてしまう。
【０００５】
本発明は上記従来例に鑑みて成されたもので、レイアウト等の印刷設定を正確に反映したプレビュー表示、特に製本印刷の指定がされた場合、および、表紙の挿入が指定された場合に、製本後のレイアウトを反映した印刷プレビュー表示が可能な制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は次のような構成からなる。すなわち、指定手段と決定手段と表示手段とを備えた情報処理装置の制御方法であって、前記指定手段が、複数の印刷済みのシートを重ねて二つ折りすることにより本を生成するための製本印刷を指定する指定工程と、前記決定手段が、前記製本印刷が指定された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本のページをめくることで印刷される複数ページのページ順となるように、前記複数ページの出力順序を決定する決定工程と、 前記表示手段が、前記製本印刷が指定され、かつ、前記プレビュー画像の表示が指示された場合、複数の印刷済みのシートを重ねて二つ折りして得られる本の見開きのプレビュー画像を表示する表示工程とを有し、前記表示工程において表示されるページの表示順序と前記決定工程において決定された出力順序とは異なることを特徴とする情報処理装置の制御方法である。
【発明の効果】
【０００７】
本発明によれば、製本印刷のプレビューの際には、各ページは出力される順序とは異なる見開きの順序でプレビュー画像が表示される。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施例を示す印刷制御装置の構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図４】本発明におけるプリンタについて説明した図である。
【図５】スプーラ３０２における処理を示したフローチャートである。
【図６】スプールファイルマネージャ３０４における印刷制御について示したフローチャートである。
【図７】デスプーラ３０５における処理を示したフローチャートである。
【図８】印刷設定画面の一例である。
【図９】印刷スプール設定画面の一例である。
【図１０】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１１】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１２】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１３】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１４】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１５】設定変更エディタ３０７における設定変更処理について示したフローチャートである。
【図１６】スプールファイルマネージャ３０４でスプールされている印刷ジョブ一覧を表示する画面の一例である。
【図１７】プレビューア３０６の画面の一例である。
【図１８】設定変更エディタ３０７の画面の一例である。
【図１９】アプリケーションプログラム等で作成したデータを、ストア指定をして印刷させた場合のフローチャートである。
【図２０】図１９のステップＳ１９０３の詳細を示すフロー図である。
【図２１】ジョブリストからジョブが選択された状態で編集ボタンや結合ボタンが操作された際の処理手順のフローチャートである。
【図２２】ジョブリストからジョブが選択された状態で編集ボタンや結合ボタンが操作された際にプレビュー画面を表示する手順のフローチャートである。
【図２３】図２２のステップＳ２２０３の詳細を示すフロー図である。
【図２４】図２２のステップＳ２２０４の詳細を示すフロー図である。
【図２５】図２２のステップＳ２２０５の詳細を示すフロー図である。
【図２６】ジョブリストの表示例を示す図である。
【図２７】製本印刷時のページテンプレート取得手順を示すフローチャートである。
【図２８】製本印刷時のページ番号描画手順を示すフローチャートである。
【図２９】製本印刷時の論理ページ描画手順を示すフローチャートである。
【図３０】左開きの場合のプレビュー画面例を示す図である。
【図３１】全ページ単位の設定が指定された場合のプレビュー画像の例を示す図である。
【図３２】Ｎ枚印刷の設定が指定された場合のプレビュー画像の例を示す図である。
【図３３】製本単位として３枚を指定する画面の例の図である。
【図３４】右開きの場合（Ａ）および上開きの場合（Ｂ）のプレビュー画面の例を示す図である。
【図３５】表紙インサート時のプレビュー画面の例を示す図である。
【図３６】表紙インサート時のプレビュー画面の例を示す図である。
【図３７】中差しを指定する画面の例を示す図である。
【図３８】中差し用のページテンプレートの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を適用するのに好適である実施例について説明を行う。
【００１０】
＜プリンタ制御システムの構成＞
図１は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００１１】
同図において、ホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１２】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェイス（インタフェイス）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００１３】
なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１４】
プリンタ１５００は、ＣＰＵ１２により制御される。プリンタＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００１５】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００１６】
また、前述した外部メモリ１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１７】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００１８】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Graphic Device Interface）関数からＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェイス２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００１９】
本実施形態の印刷システムは、図２で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に第３図に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００２０】
＜本実施形態における印刷関連のソフトウエアモジュール＞
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図３のシステムでは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【００２１】
これらの目的のために、図２のシステムに対し、図３の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウィンドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する。
【００２２】
以下、図３の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令（ＤＤＩ関数）を送付する。
【００２３】
スプーラ３０２は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル３０３に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：Page Description File）と呼ぶ。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル３０３に保存する。この時部単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Spool Description Fileと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更にスプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００２４】
スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００２５】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、ＧＤＩ関数を再生成し、もう一度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００２６】
ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。
【００２７】
プリンタドライバ２０３はグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００２８】
更に、図３では、これまで説明した拡張システムに加えて、プレビューア３０６、設定変更エディタ３０７を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
【００２９】
印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図９に示すプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニュー９０１において「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【００３０】
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてＯＳが提供する構造体（Windows（登録商標）ＯＳでは、DEVMODEと呼ばれる）に格納される。その構造体には、例えばスプールファイル３０３に含まれる加工設定中にスプールファイルマネージャ３０４にストアを行うかどうかの設定が含まれており、スプールファイルマネージャ３０４がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル３０３にページ描画ファイルとジョブ設定ファイルとが生成・格納され、図１６のようにスプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル３０３にスプールされたジョブがリスト表示される。図１６には、４つのジョブがスプールされている例を示しており、メニューバーもしくは、そのすぐ下のメニューアイコンを押下することにより、ジョブの操作を行うことができる。メニューバーとメニューアイコンの操作の数は同じである。操作種類としては、ジョブを選択した状態で、「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、複数の中間コードのスプールファイルのジョブを結合して１つのジョブにする「結合」、結合ジョブを元の複数のジョブに分割する「分割」、単体ジョブもしくは結合ジョブの印刷設定（レイアウト設定やフィニッシング設定等）を変更する「ジョブ編集」、あるジョブの印刷順序を最初にする「先頭に移動」、あるジョブの印刷順序を１つ早くする「１つ上に移動」、あるジョブの印刷順序を１つお則する「１つ下に移動」、あるジョブの印刷順序を最後にする「最後に移動」の以上１１個の操作がある。
【００３１】
スプールファイルマネージャのウィンドウ画面（図１６）上で、ある単体ジョブもしくは結合ジョブのプレビュー指定がされた場合、外部メモリ１１に格納されているプレビューア３０６をＲＡＭ２にロードし、プレビューア３０６に対して、スプールファイル３０３に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【００３２】
（プレビューア）
プレビューア３０６はスプールファイル３０３に含まれる中間コードのページ描画ファイル（ＰＤＦ）を順次読み出し、スプールファイル３０３に格納されているジョブ設定ファイル（ＳＤＦ）に含まれる加工設定情報の内容に従って加工し、グラフィックエンジン２０２に対してＧＤＩ関数を出力し、グラフィックエンジン２０２が自身のクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
【００３３】
グラフィックエンジン２０２は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア３０６は、デスプーラ３０５同様に、スプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル３０３に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Ｎｕｐ（Ｎページの論理ページを１ページの物理ページに縮小配置して印刷する処理）指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。なお、従来の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
【００３４】
上記のようにプレビュー処理を行うことにより、図１７のようにスプールファイル３０３に含まれる印刷の加工設定の大プレビューがプレビューア３０６によって画面上に表示され、その後、ユーザの非表示指示によって、プレビューア３０６がクローズされ、制御がスプールファイルマネージャのウィンドウ画面（図１６）に移行する。
【００３５】
そして、ユーザがプレビューア３０６によって表示された内容に従って、印刷を行うならば、スプールファイルマネージャ３０４上で、「印刷」もしくは「セーブして印刷」を指示することにより印刷要求を発行する。印刷要求は前述したように、デスプーラ３０５によりジョブ設定ファイルに基づいてページ描画ファイルを加工してＧＤＩ関数を生成し、グラフィックエンジン２０２に伝えられ、ディスパッチャ３０１経由で、プリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００３６】
（設定変更エディタ）
次に、設定変更エディタ３０７を用いた設定変更について説明する。
【００３７】
その実現方法としては、プレビュー同様、図９において「ストア」指定されたジョブに関して設定可能である。同様のフローによりスプールファイルマネージャ３０４がポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウィンドウ画面（図１６）上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ１１に格納されている設定変更エディタ３０７をＲＡＭ２にロードし、設定変更エディタ３０７に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そして図１８のようなジョブ設定画面が表示される。
【００３８】
設定変更エディタ３０７は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル３０３から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいて図１８のジョブ設定画面のデフォルト値を変更する。図１８に示す例では、「ジョブ編集」指定されたジョブのジョブ設定ファイルには、部数：１部、印刷方法：片面、ステイプル：なし、レイアウト：１ページ／枚等が指定されていることになる。
【００３９】
この設定変更エディタ３０７でもスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を用いて自身のクライアント領域に出力することによって、図１８に示す画面上の小プレビュー出力が可能となる。
【００４０】
またここで、スプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、プリンタドライバ２０３の設定可能な項目を設定変更エディタ３０７上のユーザインターフェイスに持っていても、プリンタドライバ２０３自身のユーザインターフェイスを呼び出しても構わない。図１８に示すように、分数、印刷方法（片面、両目、製本印刷）、ステイプル（サドルフィニッシャー等）、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定しなおすことが可能となる。ただし、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【００４１】
ここで変更された変更項目は設定変更エディタ３０７上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ３０４に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図１０以降で後述する。
【００４２】
そして、ユーザがプレビューア３０６での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ３０４上で、印刷要求を発行する。印刷要求はグラフィックエンジン２０２に伝えられ、ディスパッチャ３０１経由で、プリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００４３】
また、スプールファイルマネージャのウィンドウ画面（図１６）では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更同様、図９のプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。
【００４４】
ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション２０１からプリンタドライバ２０３を呼び出し、図９に示すようなユーザインターフェイス上からストアを選択する。前記同様、この選択により、スプールファイル３０３にストアされ、図１６のようにスプールファイルマネージャのウィンドウ画面（図１６）がポップアップされる。スプールされたジョブはスプールファイルマネージャのウィンドウ上にリスト表示される。アプリケーション２０１から同様の操作をすることにより、スプールファイルマネージャ３０４上に複数ジョブのリスト表示がされることになる。
【００４５】
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ１１に格納されている設定変更エディタ３０７をＲＡＭ２にロードし、設定変更エディタ３０７に対して、リスト上の先頭ジョブまたはデフォルトの加工設定の表示を行うように指示する。そして図１８のような結合設定画面が表示される。ここでは、設定変更エディタ３０７を結合設定画面として用いているが、別モジュールのものを用いても構わない。
【００４６】
この設定変更エディタ３０７は、スプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定されたすべてのジョブに対して、グラフィックエンジン２０２を用いて自身のクライアント領域に出力することによって、画面上の出力を行う。その際、図１８に示すプレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、１つのジョブに対して１つできるものであり、結合ジョブの場合もまた１つ生成される。
【００４７】
ここではそれぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ２０３の設定可能な項目を設定変更エディタ３０７上のユーザインターフェイスに持っていても、プリンタドライバ２０３自身のユーザインターフェイスを呼び出しても構わない。
【００４８】
ここで結合されたジョブ及び変更された変更項目は、前述したように、設定変更エディタ３０７上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ３０４に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウィンドウ上で一つの結合ジョブとして表示される。
【００４９】
そして、ユーザがプレビューア３０６での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ３０４上で、印刷要求を発行する。印刷要求はグラフィックエンジン２０２に伝えられ、ディスパッチャ３０１経由で、プリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００５０】
＜レーザビームプリンタの構成＞
図４は、プリンタ１５００の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【００５１】
このプリンタはホストコンピュータ３０００より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー３１により感光ドラム１５を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体９へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材２へ転写し、転写材２上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム１５を有するドラムユニット、接触帯電ローラ１７を有する一次帯電部、クリーニング部、現像部、中間転写体９、用紙カセット１や各種ローラ３、４、５、７を含む給紙部、転写ローラ１０を含む転写部及び定着部２５によって構成されている。
【００５２】
ドラムユニット１３は、感光ドラム(感光体)１５と感光ドラム１５のホルダを兼ねたクリーニング機構を有するクリーナ容器１４とを一体に構成したものである。このドラムユニット１３はプリンタ本体に対して着脱自在に支持され、感光ドラム１５の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム１５はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器１４に回転可能に支持されている。感光ドラム１５は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム１５を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム１５の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部３０では、変調されたレーザ光を、モータ３１ａにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ３２、反射鏡３３を介して感光ドラムを照射する。
【００５３】
現像部は、上記静電潜像を可視画像化するために、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の現像を行う３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃと、ブラック（Ｂ）の現像を行う１個のブラック現像器２１Ｂとを備えた構成を有する。カラー現像器２０Ｙ、２０Ｍ、２０Ｃ及びブラック現像器２１Ｂには、スリープ２０ＹＳ、２０ＭＳ、２０ＣＳ及び２１ＢＳと、これらスリープ２０ＹＳ、２０ＭＳ、２０ＣＳ、２１ＢＳそれぞれの外周に圧接する塗布ブレード２０ＹＢ、２０ＭＢ、２０ＣＢ及び２１ＢＢとがそれぞれ設けられる。また３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃには塗布ローラ２０ＹＲ、２０ＭＲ、２０ＣＲが設けられている。
【００５４】
また、ブラック現像器２１Ｂはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器２０Ｙ、２０Ｍ、２０Ｃは回転軸２２を中心に回転する現像ロータリー２３にそれぞれ着脱可能に取り付けられている。
【００５５】
ブラック現像器２１Ｂのスリープ２１ＢＳは感光ドラム１５に対して例えば３００μｍ程度の微小間隔を持って配置されている。ブラック現像器２１Ｂは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ２１ＢＳの外周に塗布ブレード２１ＢＢによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリープ２１ＢＳに現像バイアスを印加することにより、静電潜像に応じて感光ドラム１５に対して現像を行って感光ドラム１５にブラックトナーによる可視画像を形成する。
【００５６】
３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃは、画像形成に際して現像ロータリー２３の回転に伴って回転し、所定のスリープ２０ＹＳ、２０ＭＳ、２０ＣＳが感光ドラム１５に対して３００μｍ程度の微小間隔を持って対向することになる。これにより所定のカラー現像器２０Ｙ、２０Ｍ、２０Ｃが感光ドラム１５に対向する現像位置に停止し、感光ドラム１５に可視画像が作成される。
【００５７】
カラー画像形成時には、中間転写体９の１回転毎に現像ロータリー２３が回転し、イエロー現像器２０Ｙ、マゼンダ現像器２０Ｍ、シアン現像器２０Ｃ、次いでブラック現像器２１Ｂの順で現像工程がなされ、中間転写体９が４回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体９上に形成する。
【００５８】
中間転写体９は、感光ドラム１５に接触して感光ドラム１５の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム１５から４回の可視画像の多重転写を受ける。また、中間転写体９は画像形成時に後述する転写ローラ１０が接触して転写材２を挟持搬送することにより転写材２に中間転写体９上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体９の回転方向に関する位置を検知するためのＴＯＰセンサ９ａ及びＲＳセンサ９ｂと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ９ｃが配置されている。
【００５９】
転写ローラ１０は、感光ドラム１５に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【００６０】
転写ローラ１０は、図４に実線で示すように中間転写体９上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体９上に４色のカラー可視画像が形成された後は、このカラー可視画像を転写材２に転写するタイミングに合わせてカム部材（不図示）により転写ローラ１０を図示点線で示す上方に位置させる。これにより転写ローラ１０は転写材２を介して中間転写体９に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体９上のカラー可視画像が転写材２に転写される。
【００６１】
定着部２５は、転写２を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材２を加熱する定着ローラ２６と転写材２を定着ローラ２６に圧接させるための加圧ローラ２７とを備えている。定着ローラ２６と加圧ローラ２７とは中空状に形成され、内部にそれぞれヒータ２８、２９が内蔵されている。即ち、カラー可視画像を保持した転写材２は定着ローラ２６と加圧ローラ２７とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【００６２】
可視画像定着後の転写材２は、その後排紙ローラ３４、３５、３６によって排紙部３７へ排出して画像形成動作を終了する。
【００６３】
クリーニング手段は、感光ドラム１５上及び中間転写体９上に残ったトナーをクリーニングするものであり、感光ドラム１５上に形成されたトナーによる可視画像を中間転写体９に転写した後の廃トナーあるいは、中間転写体９上に作成された４色のカラー可視画像を転写材２に転写した後の廃トナーは、クリーナ容器１４に蓄えられる。
【００６４】
印刷される転写材（記録用紙）２は、給紙トレイ１から給紙ローラ３により取り出されて中間転写体９と転写ローラ１０との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部２５を通過してトナー像が定着される。片面印刷の場合には、案内３８が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【００６５】
両面ユニットに導かれた記録用紙は、搬送ローラ４０によりトレイ１の下部（二点鎖線で示す搬送経路）に一旦送り込まれた後に逆方向に搬送され、両面トレイ３９に送られる。両面トレイ３９上では、用紙は給紙トレイ１に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【００６６】
＜印刷用中間データの保存処理＞
図５は、スプーラ３０２における、スプールファイル３０３の生成におけるページ単位保存ステップの処理をフローチャートで示したものである。
【００６７】
まずステップ５０１では、スプーラ３０２は、アプリケーションからグラフィックエンジン２０２を介して印刷要求を受け付ける。アプリケーションにおいては、図８に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ３０３に渡される。図８に示す設定入力ダイアログにおいては、８０１のような１物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【００６８】
ステップ５０２では、スプーラ３０２は、受け付けた印刷要求がジョブ開始要求か判定し、もしステップ５０２でジョブ開始要求であると判断した場合には、ステップ５０３に進み、スプーラ３０２は、中間データを一時的に保存するためのスプールファイル３０３を作成する。続いて、ステップ５０４では、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、続くステップ５０５でスプーラ３０２のページ数カウンタを１に初期化する。ここで、スプールファイルマネージャ３０４においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル３０３より読み込み、記憶する。
【００６９】
一方、ステップ５０２において、ジョブ開始要求ではなかったと判断した場合には、ステップ５０６に進む。
【００７０】
ステップ５０６では、スプーラ３０２は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップ５０７に進み、改ページかどうかの判別を行う。もしもステップ５０７で改ページであると判断した場合には、ステップ５０８に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
【００７１】
ステップ５０７において、受け付けた印刷要求が改ページではないと判断した場合には、ステップ５０９に進み、スプーラ３０２は、ページ描画ファイルへの中間コードの書き出しの準備を行う。
【００７２】
次に、ステップ５１０では、印字要求をスプールファイル３０３へ格納するため、スプーラ３０２は、印字要求のＤＤＩ関数の中間コードへの変換処理を行う。ステップ５１１では、スプーラ３０２は、ステップ５１０において格納可能な形に変換された印刷要求（中間コード）をスプールファイル３０３のページ描画ファイルへ書き込む。その後、ステップ５０１に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップ５０１からステップ５１１までの処理を、アプリケーションよりジョブ終了要求（End Doc）を受け取るまで続ける。また、スプーラ３０２は、同時にプリンタドライバ２０３からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル３０３に格納する。一方、ステップ５０６にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップ５１２に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、処理を終える。
【００７３】
＜スプールファイルの生成＞
図６は、スプールファイルマネージャ３０４における、スプールファイル３０３生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。
【００７４】
ステップ６０１では、スプールファイルマネージャ３０４は、スプーラ３０２あるいはデスプーラ３０５からの印刷処理の進捗通知を受け付ける。
【００７５】
ステップ６０２では、スプールファイルマネージャ３０４は、もし進捗通知が前述のステップ５０４において通知されるスプーラ３０２からの印刷開始通知であるかどうか判定し、もしそうであればステップ６０３へ進み、印刷の加工設定をスプールファイル３０３から読み込み、ジョブの管理を開始する。一方、ステップ６０２において、スプーラ３０２からの印刷開始通知でなければステップ６０４へ進み、スプールファイルマネージャ３０４は、進捗通知が前述のステップ５０８において通知されるスプーラ３０２からの１論理ページの印刷終了通知であるかどうか判定する。ここで１論理ページの印刷終了通知であればステップ６０５へ進み、この論理ページに対する論理ページ情報を格納する。そして、続くステップ６０６では、この時点でスプールが終了したn論理ページに対して、１物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップ６０７へ進み、印刷する１物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
【００７６】
物理ページの計算については、例えば、加工設定が１物理ページに４論理ページを配置するような設定の場合、第１物理ページは第４論理ページがスプールされた時点で印刷可能となり、第１物理ページとなる。続いて、第２物理ページは第８論理ページがスプールされた時点で印刷可能となる。
【００７７】
また、論理ページ数の総数が１物理ページに配置する論理ページ数の倍数でなくても、ステップ５１２におけるスプール終了通知によって１物理ページに配置する論理ページが決定可能である。
【００７８】
そして、ステップ６０８では、図１０に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル（物理ページ情報を含むファイル）に保存され、物理ページ情報が１物理ページ分追加されたことがデスプーラ３０５に通知される。その後ステップ６０１に戻り、次の通知を待つ。本実施例においては、印刷データ１ページ、即ち１物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【００７９】
一方、ステップ６０４において、進捗通知がスプーラ３０２からの１論理ページの印刷終了通知でなかった場合ステップ６０９へ進み、スプールファイルマネージャ３０４は、前述のステップ５１２において通知されるスプーラ３０２からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップ６０６へ進む。一方、ジョブ終了通知でない場合、ステップ６１０へ進み、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５からの１物理ページの印刷終了通知であるかどうか判定する。ここで、１物理ページの印刷終了通知である場合はステップ６１２へ進み、加工設定の印刷が全て終了したかを判定する。印刷終了した場合、ステップ６１２へ進み、デスプーラ３０５に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述の６０６へ進む。本実施例におけるデスプーラ３０５は印刷処理を行う単位として１物理ページ数を想定している。また、ステップ６０８では、１物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、１物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、ステップ６０８で１物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
【００８０】
ステップ６１０において、通知がデスプーラ３０５からの１物理ページの印刷終了通知でないと判断された場合、ステップ６１３へ進み、スプールファイルマネージャ３０４は、デスプーラ３０５からの印刷終了通知かどうかを判定する。通知がデスプーラ３０５からの印刷終了通知と判定された場合、ステップ６１４へ進み、スプールファイルマネージャ３０４は、スプールファイル３０３の該当するページ描画ファイルの削除を行って処理を終える。ただし、一方、デスプーラ３０５からの印刷終了通知でなかった場合はステップ６１５へ進み、その他通常処理を行い、次の通知を待つ。
【００８１】
＜スプールファイルの出力＞
図７は、デスプーラ３０５における、印刷データの生成プロセスの詳細をフローチャートで示したものである。
【００８２】
デスプーラ３０５は、スプールファイルマネージャ３０４からの印刷要求に応じて、スプールファイル３０３から必要な情報（ページ描画ファイルおよびジョブ設定ファイル）を読み出して印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図３で説明した通りである。
【００８３】
印刷データの生成では、まず、ステップ７０１において、前述のスプールファイルマネージャ３０４からの通知を入力する。続くステップ７０２では、デスプーラ３０５は、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップ７０３へ進み、終了フラグを立て、ステップ７０５へ進む。一方、ステップ７０２においてジョブ終了通知でない場合は、ステップ７０４に進み、前述のステップ６０８における１物理ページの印刷開始要求が通知されたかどうか判定する。ステップ７０４において開始要求と判定されなかった場合は、ステップ７１０へ進み、その他エラー処理を行い、ステップ７０１へ戻り次の通知を待つ。一方、ステップ７０４において１物理ページの印刷開始要求と判定された場合は、ステップ７０５へ進み、デスプーラ３０５は、ステップ７０４で通知を受けた印刷処理可能な物理ページのIDを保存する。続くステップ７０６では、デスプーラ３０５は、ステップ７０５で保存した物理ページIDのすべてのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、ステップ７０７へ進み、前述のステップ７０３で終了フラグが立てられているのか判定する。終了フラグがたっている場合は、ジョブの印刷が終了したとみなし、デスプーラ３０５の処理終了の通知をスプールファイルマネージャ３０４に通知し、処理を終える。ステップ７０７で、終了フラグが立っていないと判定された場合は、ステップ７０１へ戻り次の通知を待つ。一方、ステップ７０６で、印刷可能な物理ページが残っていると判定された場合には、ステップ７０８へ進み、デスプーラ３０５は、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。印刷処理はスプールファイル３０３に格納された印刷要求命令をデスプーラ３０５においてグラフィックエンジン２０２が認識可能な形式（ＧＤＩ関数）に変換し、転送する。本実施例のような、複数論理ページを１物理ページにレイアウトするような加工設定（以下Ｎページ印刷）については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理が終えたならば、続くステップ７０９において１物理ページの印刷データ生成終了の通知をスプールファイルマネージャ３０４に対して行う。そして再びステップ７０６へ戻り、ステップ７０５で保存しておいた印刷可能な物理ページIDすべてについて印刷処理を行うまで繰り返す。
【００８４】
以上が、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５を用いた印刷処理の流れである。上記のように処理することにより、スプーラ３０２が中間コードを生成してスプールファイル３０３に格納するタイミングでアプリケーション２０１が印刷処理から開放されるので、プリンタドライバ２０３に直接出力するよりも短時間で済む。また、スプールファイル３０３にプリンタドライバの印刷設定を踏まえた中間ファイル（ページ描画ファイル、ジョブ設定ファイル）として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることを可能とする。
【００８５】
ここで、スプーラ３０２を用いた印刷処理において、デスプーラ３０５によりグラフィックエンジン２０２への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
【００８６】
＜ジョブ出力用設定ファイルの構成＞
図１０は、ステップ６０８において、スプールファイルマネージャ３０４が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド１００１は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド１００２はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン２０２に対してジョブの印刷を開始するために必要な構造体、Ｎページ印刷の指定、ページ枠などの追加描画の指定、部数、ステイプルなどのフィニッシング指定など、１つのジョブに対して１つしか設定できない情報が含まれている。ジョブ設定情報１００２には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド１００３はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施例では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド１００４から最後までフィールド１００３の数だけ物理ページ情報が格納される。物理ページ情報については図１２で説明する。
【００８７】
図１１は、図１０のフィールド１００２に図示されたジョブ設定情報の一例である。フィールド１１０１は全物理ページ数である。フィールド１１０２は、全論理ページ数である。フィールド１１０１および１１０２は、印刷データに追加して、ページ数などを付加情報として印刷する場合などに利用する。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ３０４は印刷可能な物理ページの情報の作成を延期する。フィールド１１０３は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド１１０４は、フィールド１１０３で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド１１０４はステイプル、パンチ、Ｚ折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド１１０６は付加印刷情報で、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
【００８８】
図１２は、図１０のフィールド１００４に図示された物理ページ情報の一例を示す。最初のフィールド１２０１は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド１２０２は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド１２０３は本物理ページに割り付けられる論理ページ数で、１物理ページに４ページを割り付ける場合には４もしくは４ページ印刷を示すIDが保存される。フィールド１２０４以降はフィールド１２０３で指定された数だけ論理ページの情報が保存される。アプリケーション２０１から印刷されたページ数によっては、１２０３で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
【００８９】
図１３は、１２０２の物理ページ設定情報の例である。フィールド１３０１は物理ページ上への論理ページの配置順で、Ｎページ印刷で、物理ページ上に論理ページを配置する順番（左上から横へ、左上から下へ等）の指定が保存されている。システムによっては、配置順ではなく、フィールド１２０４以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することで１３０１の設定を代用する場合もある。フィールド１３０２は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド１３０３はカラーページかモノクロページかの指定で、プリンタがモノクロモードとカラーモードを持つ場合、カラーページとモノクロページが混在する文書で、カラーページをカラーモードで、モノクロページをモノクロモードで印刷したい場合などに使用される値である。この情報を持つことにより、オートカラーモードとして、ページ単位にカラープリンタで処理を変更することが可能となる。つまり、カラーページは、中間転写体（中間転写ドラム、中間転写ベルト）もしくは転写体（転写ドラム、転写ベルト）がデバイスカラーの数分、ＹＭＣＫなら４回転し、モノクロページは、ブラックだけ１回転することにより転写制御することを可能とする。フィールド１３０４は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
【００９０】
図１４は、１２０４で示された論理ページ情報の一例を示す。フィールド１４０１は論理ページのIDで、このIDを利用して、スプールファイル３０３から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド１４０２は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド１４０３のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存する事も可能である。逆に、論理ページ単位で設定を切りかえる事や論理ページ単位での属性情報が不要であるようなシステムでは、フィールド１４０３は不要である。
【００９１】
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁（片面、両面、製本印刷）、印刷レイアウト（Ｎｕｐ、ポスター印刷）、付加情報（ウォーターマーク、日付、ユーザ名の付加）、部数、用紙サイズ情報がジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
【００９２】
更に、図３では、これまで説明した拡張システムに加えて、ジョブの設定変更機能を持つ設定変更エディタ３０７を配した例を示している。本実施例ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図１０に示したジョブ出力用設定ファイル中に含まれており、中間コードを保存しているページ描画ファイル３０３とは独立しているため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ３０７は単独で、あるいはスプールファイルマネージャ３０４と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
【００９３】
＜設定変更の処理手順＞
図１５は、設定変更エディタ３０７におけるジョブ設定変更処理プロセスの詳細をフローチャートで示したものである。
【００９４】
まずステップ１５０１では、設定変更エディタは、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア３０５、デスプーラ３０３が読み込むものと同じファイルである。次に、ステップ１５０２へ進み、読み込んだ結果を、ユーザに表示する。ステップ１５０３で、図１８に示したようなユーザインターフェイス上で、ユーザとの対話を行い、前述したメニューの指定等により設定内容を変更する。このステップは、対話形式でなく、ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でもよい。次にステップ１５０４へ進み、ステップ１５０１で設定変更エディタは、最初に読み込んだ内容と、現在指定されている設定内容に変更があったかどうかの判定を行う。設定内容に変更が合った場合は、ステップ１５０５へ進み、新規のジョブ出力用設定ファイルを生成し、変更があったことをスプールファイルマネージャに通知して終了する。ステップ１５０５で、変更がないと判定された場合は、変更がなかったことをスプールファイルマネージャに通知して終了する。このように新規のジョブ出力用設定ファイルを生成するが、図１８のユーザインターフェイス画面において、「ＯＫ」ボタンが選択されることにより、新規のジョブ出力用設定ファイルが有効となり、古いジョブ出力用設定ファイルは削除される。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合は削除せずに保存しておく。また、図１８の画面で「初期状態に戻す」ボタンが選択された場合は、新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルが有効となり、表示に反映させる。本実施例では、設定変更エディタ３０７を別モジュールとして説明しているが、単にスプールファイルマネージャ３０４のユーザインターフェイスの一部であってもよい。設定変更エディタ３０７で実際に変更内容をジョブ出力用設定ファイルに書きこまずに、設定変更の内容のみをスプールファイルマネージャ３０４へと通知するだけで、実際のジョブ出力用設定ファイルの変更はスプールファイルマネージャ３０４側で行う実装形式でもよい。
【００９５】
図３では、更に、複数印刷ジョブを結合し、一つの印刷ジョブとして印刷する拡張システムが図示されているが、結合ジョブをデスプール・プレビューするための拡張について説明する。
【００９６】
通常、中間形式のスプールファイル３０３はジョブ単位で作成される。単独ジョブの場合は、処理対象ジョブファイル中の各論理ページの中間コードを順に読み出して処理を行うので、フィールド１４０１の論理ページIDは、各論理ページがファイルのどこに位置しているのかを示す相対あるいは絶対オフセットで実現可能である。結合ジョブの場合はフィールド１４０１のジョブIDから、スプールファイルと、そのジョブに属するページ情報を特定する必要がある。本実施例では、スプールファイルを識別するIDを論理ページIDに付加することで、スプールファイルを特定する方式とする。この場合、主な変更点はフィールド１４０１のみで済む。スプールファイルが識別できれば、ページ部分の読み込みは単独ジョブの処理と同じロジックで処理することが可能であるからである。また、スプールファイルが各論理ページ毎に別ファイルの形で保存されている場合は、論理ページのファイル名をそのままフィールド１４０１の論理ページIDとする実装形もある。 
＜ストア処理時のプレビュー表示＞
次に、前述したように中間データ及びジョブ出力用設定ファイルとして保存された印刷ジョブに基づいて印刷プレビュー画像を表示する手順について説明する。利用者は、アプリケーションプログラムからの印刷時に、図９のように印刷ジョブのストア処理を指定することで、図５の手順によって中間コードとジョブ出力用設定ファイルとにより定義される印刷ジョブを作成させることができる。この結果、図１６のように、現在格納されている印刷ジョブのリストが表示される。利用者は印刷ジョブりストから所望の印刷ジョブを指定して、印刷ジョブの編集、結合、すでに結合されているジョブへの印刷ジョブの追加、結合されたジョブ内におけるの印刷ジョブの順序変更などの操作を行うことができる。
【００９７】
この際、印刷ジョブをリストから指定して編集や結合等の操作をボタンやメニューなどから指定すると、図１８に示したようなジョブ全体にわたる印刷プレビュー画面が表示される。なお、この印刷プレビュー画面は、通常のアプリケーションなどで用意されているプレビュー画面などのように、ページ単位で表示するものと異なり、単一の、あるいは結合された印刷ジョブ全体にわたって、ページのつながりなど、ページ間の関係についてもプレビュー表示できる。
【００９８】
図１９は、アプリケーションプログラム等で作成したデータを、ストア指定をして印刷させた場合の手順である。図９の画面で出力先としてメニュー９０１から「ストア」を選択しておき、印刷させせると、図９の手順が実行される。まず、ステップＳ１９０１においてスプーラを起動し、中間データおよびジョブ出力設定ファイルを生成して格納する。「ストア」が指定された場合には、スプーラは印刷開始をスプールマネージャに対して指示せず、中間データは印刷されずに保持される。この状態の印刷ジョブを、本実施形態ではストアされた印刷ジョブと呼ぶことにする。
【００９９】
そして、ステップＳ１９０１で中間データに変換されて保持されている印刷ジョブを、すでにストアされている印刷ジョブリストにステップＳ１９０２において追加する。ただし、本実施形態では、ストアされた印刷ジョブは、ストアされた印刷ジョブを管理するためのプログラム（図３のプレビューア３０６および設定変更エディタ３０７）の実行中だけ保持され、その実行を終了するとストアされた印刷ジョブは消去される。しかしながら、いったんストアした印刷ジョブは、それを積極的に削除するまでは保持するようにしてもよい。
【０１００】
ストアされた印刷ジョブのリストに新たな印刷ジョブが追加されると、ステップＳ１９０３において、図１６に示すようにそれらジョブのリストを表示する。なお、中間データとして保持されている印刷ジョブを保持されているジョブ、その中から、結合あるいは編集のために選択されたジョブを対象ジョブと呼ぶことにする。
【０１０１】
＜ジョブリストの表示＞
図２０は図１９のステップＳ１９０３の詳細を示すフロー図である。なお、図２０の手順は、ジョブリスト中からジョブが選択された場合など、表示すべき状態に変更が生じる都度実行され、ジョブリスト表示が更新される。
【０１０２】
まず、ステップＳ２００１において、複数のジョブが選択されているか判定する。否の場合にはステップＳ２００２において選択されているジョブがあるか判定する。選択されているジョブがある場合には、そのジョブを注目ジョブとし、また、編集ボタンをイネーブルにする。編集ボタンは、図１６におけるボタン１６０８である。図１６はまさに単一のジョブが選択された状態であり、編集ボタンがイネーブルになっている。
【０１０３】
一方、選択されているジョブがない場合には、ステップＳ２００４において、最後に選択されていたジョブを注目ジョブとする。最後に選択されていたジョブがなければ、すなわち、最初にジョブリストを表示する場合にはジョブリストの先頭のジョブを注目ジョブとする。
【０１０４】
注目ジョブが決定されると、ステップＳ２００５において、その注目ジョブと結合できないジョブを保持されているジョブ全体から探し出し、それが注目ジョブと結合できない旨と結合できない理由とを所定のメモリ領域等に設定する。なお、注目ジョブと結合できないジョブとは、例えば、指定された解像度や１画素あたりのビット数、あるいはグラフィックモードのいずれかが注目ジョブとは異なるジョブである。
【０１０５】
最後に、ステップＳ２００６において、ジョブリストを表示する。この際、ステップＳ２００５で結合できない旨およびその理由が設定されたジョブについては、そのジョブを表示した欄に、注目ジョブと結合できない旨を示すシンボルとその理由とが表示される。図２６はこの様子を示している。選択されたジョブ２６０１に対して、ジョブ２６０２は結合可能であるが、ジョブ２６０３以下は結合できないために、その旨示すシンボルが左側に、結合できない理由がコメント欄に表示されている。
【０１０６】
一方複数のジョブが選択されている場合には、ステップＳ２００７において選択されたジョブ同士が結合可能か判定され、結合可能であればステップＳ２００８において結合ボタン（図１６のボタン１６０６）がイネーブル（操作可能状態）にされ、ステップＳ２００６に進んでジョブリストが表示される。
【０１０７】
また、選択されたジョブすべてを結合できない場合には、ステップＳ２００９において、保持されているジョブすべてについて結合できない旨が設定される。ステップＳ２００６では、ステップＳ２００９において結合できない旨設定されたジョブについて、その旨を示すシンボルやコメントを表示する。
【０１０８】
このようにして、ジョブリストが表示される。前述したように、図２０の手順はジョブリストからジョブが選択される都度再実行されるために、選択されたジョブに応じて、結合の可否や、編集操作や結合操作の可・不可を利用者に提示することができる。
【０１０９】
＜編集・結合操作＞
表示されたジョブリストからジョブが選択された状態で、編集ボタン（選択ジョブが単一の場合）や結合ボタン（選択ジョブが複数の場合）が操作されると、図２１の手順が遂行される。なお、結合不可能なジョブが選択されている場合には結合操作はできない。
【０１１０】
まずステップＳ２１０１において、操作が結合操作であるか判定される。結合操作であれば、ステップＳ２１０２において、選択されているジョブ出力用設定ファイルを仮に結合する。この操作は確定されていないので、仮のジョブ出力用ファイルを作成してそれを使用する。なお、ジョブの結合時には、各ジョブの設定をそのまま用いず、一部の設定を変更して統一している。
【０１１１】
統一の仕方としては、所定の設定に変更したり、先頭のジョブに他のジョブが合わせたり、クリアしたりしている。例えば、結合されるジョブの印刷方法の指定は、それらがすべて両面印刷の場合以外には片面印刷に統一される。また、綴じ代やステイプル指定、正順／逆順の別、フェイスアップ／ダウンの別、インサータの使用などは先頭のジョブに合わせられる。部数や製本指定などはクリアされる。
【０１１２】
そして、ステップＳ２１０２で結合されたジョブ出力用設定ファイル、あるいは編集の対象として選択されたジョブのジョブ出力用設定ファイルを用いて、ステップＳ２１０３においてプレビュー表示を実行し、ステップＳ２１０４で対象ジョブ一覧を表示する。プレビュー画面には、編集あるいは結合の対象となるジョブに含まれる全ページのサムネール画像がそのレイアウトに従って表示される。また、対象ジョブ一覧には、編集あるいは結合操作の対象となっているジョブの名称やページ数、ページレイアウトが一覧表示される。この一覧表示において、結合操作の場合にはジョブの順序を所望の順序に入れ替えることができるし、所望のジョブを対象ジョブ群から削除することもできる。このように対象ジョブを操作した場合には、図２１の手順は再実行され、プレビュー画面および対象ジョブ一覧が再表示される。
【０１１３】
また、対象ジョブの印刷設定を変更することも可能である。変更できる項目は、ジョブ出力用設定ファイルの編集によって変更することができる項目である。中間データを操作する必要がある項目は、本実施形態では操作させていない。しかしながら、処理時間や必要な資源などを考慮しなければ、すべての項目を再設定させることもできる。本実施形態のシステムで再設定可能な項目としては、印刷方法（片面／両面／製本）や、部数、ステイプルの有無などがある。
【０１１４】
＜対象ジョブの印刷プレビュー表示＞
図２２は、図１６に示した印刷ジョブのリスト表示画面において、利用者がジョブ編集や結合等、所望の操作を指示した場合に、図１８のようなジョブプレビュー画面を表示する手順を示すフローチャートであり、図２１のステップＳ２１０３の詳細に相当する。
【０１１５】
図２２において、まず、ステップＳ２２０１で対象ジョブそれぞれのレイアウト設定を取得する。レイアウト設定項目には、印刷方法、ページレイアウト、ページ枠、フィニッシング、給紙切り替え等の項目があるが、これら情報は図１０乃至図１３に示したジョブ出力用設定ファイルから取得される。
【０１１６】
ここで、レイアウト設定項目について簡単に説明しておく。設定される項目の例を挙げると次のようなものがある。
（１）印刷方法：片面／両面／製本のいずれかが指定される。片面および両面は周知の通りである。製本は、印刷された用紙を２つ折りにしてとじ合わせるだけで本の体裁になるように印刷する方法である。製本印刷が指定された場合には、２つ折りにする単位として、１部分まとめて２つ折りにする方法と、所定枚数を指定し、所定枚数ごとに２つ折りにしてからそれを重ね合わせてとじる方法とが指定できる。この２つ折りにする単位を製本単位と呼ぶ。
【０１１７】
製本印刷の場合、例えば２枚の出力用紙を重ね合わせて２つ折りにすることで製本するために、アプリケーションで作成された論理ページ順に印刷することはできない。製本された状態で右乃至左から（これは別途指定される）ページを繰ることで、論理ページ順にページが配置されるよう、予め論理ページの出力順、すなわち、どの物理ページにどのようにどの論理ページを配置するかを決定しておく。論理ページの順序は、排紙がフェイスアップかフェイスダウンかによっても異なる。
【０１１８】
製本印刷は、ページの順序を考えずに形式だけを考えれば両面２アップ印刷に相当するために、論理ページ４ページ分が１枚のシートに印刷される。したがって必要な枚数Ｓは、Ｓ＝論理ページ数／４（少数部切り上げ）によって与えられる。例えば排紙方式をフェイスアップ、製本単位をＳ枚とした場合、第Ｐ番目の製本単位の、第Ｑ枚目のシートの表面（初めに印刷される面）には、第（４×（Ｐ−１）＋２×Ｑ−１）論理ページと第（４×（Ｐ−１）＋４×Ｓ−２×（Ｑ−１））論理ページが、その裏面には第（４×（Ｐ−１）＋２×Ｑ）論理ページと第（４×（Ｐ−１）＋４×Ｓ−２×Ｑ−１）論理ページが配置される。フェイスアップの場合には、裏面と表面とを入れ替えればよい。
（２）製本開き方向：見開きの方向を示し、上開き、右開き、左開きが指定できる。
（３）製本単位：前述したとおり、２つ折りにする単位を示す。
（４）ページレイアウト：Ｎアップ印刷と呼ばれる、Ｎ論理ページをシートの１面に納めるレイアウトや、ポスター印刷と呼ばれる、１論理ページを複数のシートに分割して印刷するレイアウトを指定できる。
（５）フィニッシング：印刷後の処理を指定できる。例えば、インサータと呼ばれる外付けの装置により、印刷したシートとは別途供給されるシートを表紙として挿入することができる。
（６）給紙切り替え：給紙の仕方を指定する。例えば、中差しと呼ばれる指定を行うと、２つの給紙口を用いて、一方の給紙口から供給されるシートに印刷し、他方の給紙口から供給されるシートを印刷されるシートの間に挿入して排出する。すなわち、２つの給紙口から交互にシートを使用する。
【０１１９】
レイアウトとして指定できる項目には以上のようなものがある。
【０１２０】
次に、ステップＳ２２０２において論理ページ情報が取得される。論理ページとは、アプリケーションプログラムなどで作成されたデータにおけるページであり、Ｎアップ印刷が指定された場合には、複数の論理ページがひとつの物理ページ、すなわち１枚のシートの片面に印刷されることになる。この論理ページ情報は、図１４に示した通りである。
【０１２１】
ステップＳ２２０３では、ステップＳ２２０１およびステップＳ２２０２において取得した情報に基づいて、ページテンプレートを描画する。ページテンプレートとは、レイアウトに応じた各物理ページの枠組みであり、指定された用紙サイズや片面／両面／製本の指定、縦長／横長などのレイアウトに対応したものが描画される。ただしポスター印刷が指定されている場合には組み合わせた状態がプレビュー表示されるために、この限りではない。
【０１２２】
次にステップＳ２２０４で、プレビュー表示される各ページに付されるページ番号を描画する。ここでは、レイアウトに応じて論理ページあるいは物理ページ順にページが付される。これにより、利用者は印刷プレビュー画面上で、レイアウトに応じた正確なページ番号を見ることができる。
【０１２３】
ステップＳ２２０５では、各ページテンプレートに対応して、論理ページを描画する。ここでは、図１０乃至図１４に示したジョブ出力用設定ファイルが参照され、ひとつの物理ページ上に、ジョブ出力用設定ファイルに登録された設定に従って論理ページを描画する。描画される論理ページの中間データは、図１４に示した論理ページ情報を参照して獲得される。
【０１２４】
最後に、ステップＳ２２０６において、総ページ数あるいは必要枚数が描画される。総ページ数とは論理ページ数であり、必要枚数とは出力される用紙の枚数である。
【０１２５】
（ページテンプレート描画）
図２３は、図２２のステップＳ２２０３の詳細を示すフロー図である。ステップＳ２３０１においてレイアウト設定を取得し（かっこ書きなのは、図２２のステップＳ２２０１でレイアウトを取得しているためである）、ステップＳ２３０２，ステップＳ２３０３で印刷方法判定する。製本印刷であればステップＳ２３０４で製本印刷用のページテンプレートを取得し、両面印刷であればステップＳ２３０９で両面印刷用のページテンプレートを取得する。
【０１２６】
片面印刷であれば、ステップＳ２３０６で中差し印刷であるか判定する。中差し印刷とは、出力される印刷済みの用紙の間に別途供給される用紙を挿入して排出する印刷方法で、例えばオーバーヘッドプロジェクタ用の透過原稿を印刷する場合などに利用される。中差し印刷であれば、中差し印刷用のページテンプレートをステップＳ２２０７で取得し、中差し印刷でなければステップＳ２３０８で片面印刷用のページテンプレートを取得する。
【０１２７】
最後に、ステップＳ２３０５で取得したページテンプレートのデータに従ってページテンプレートを描画する。
【０１２８】
（ページ番号描画）
図２４は、図２２のステップＳ２２０４の詳細を示すフロー図である。ステップＳ２４０１においてレイアウト設定を取得し（かっこ書きなのは、図２２のステップＳ２２０１でレイアウトを取得しているためである）、ステップＳ２４０２，ステップＳ２４０３で印刷方法判定する。製本印刷であればステップＳ２４０４で製本印刷用にページ番号を描画し、両面印刷であればステップＳ２４０６で両面印刷用にページ番号を描画する。片面印刷であれば、ステップＳ２４０５で片面印刷用のページ番号を描画する。
【０１２９】
（論理ページ描画）
図２５は、図２２のステップＳ２２０５の詳細を示すフロー図である。ステップＳ２５０１においてレイアウト設定を取得し（かっこ書きなのは、図２２のステップＳ２２０１でレイアウトを取得しているためである）、ステップＳ２５０２，ステップＳ２５０３で印刷方法判定する。製本印刷であればステップＳ２５０４で製本印刷用に論理ページを描画し、両面印刷であればステップＳ２５０６で両面印刷用に論理ページを描画する。片面印刷であれば、ステップＳ２５０５で片面印刷用の論理ページを描画する。なお、論理ページの描画においては、ジョブ出力用設定ファイルおよび論理ページ情報に従って論理ページを描画するために、印刷方法に応じた場合分けを行わないような処理とすることもできる。
【０１３０】
＜プレビュー表示の詳細＞
上述のように、レイアウトの指定に応じて印刷プレビュー画面が表示される。以下ではその詳細について説明する。
【０１３１】
（中差し指定時のプレビュー）
印刷方法として片面が指定された場合、複数の給紙口を備えた印刷装置であれば中差しの指定を行うことができる。中差しを指定する画面の例が図３７に示されている。図３７においては、「Enable Cover Insertion Unit」なるチェックボックスがチェックされており、これによって中差しのフラグ等がセットされ、印刷時および印刷プレビュー時にこのフラグを参照して中差しが実行される。
【０１３２】
ページテンプレートを描画する際に、図２３のステップＳ２３０７では中差し用のページテンプレートを取得している。このテンプレートの例が図３８に示されている。このように、中差しが指定されている場合、２枚の用紙が重なった様子を示すページテンプレートが利用され、その上側に論理ページが描画される。
【０１３３】
こうして、プレビュー画面上においても、中差しされること、また、中差しがされた結果を確認できる。また、図示していないが、図３５と同様、中差しされた用紙を示す画像をポインタで指し示すと、その画像が中差し用紙であることを示す文字列、例えば「中差し用紙」といった文字列が表示される。
【０１３４】
＜製本印刷時プレビュー表示＞
次に、印刷方法として製本印刷が指定されている場合のプレビュー表示の仕方について、その詳細を説明する。
【０１３５】
図２７、図２８、図２９は、それぞれ製本印刷時のページテンプレート取得、ページ番号描画、論理ページ描画手順を示すフローチャートである。それぞれ、図２３のステップＳ２３０４、図２４のステップＳ２４０４、図２５のステップＳ２５０４に相当する。
【０１３６】
（製本印刷用ページテンプレートの取得）
図２７において、ステップＳ２７０１でレイアウト設定を取得すると、ステップＳ２７０２で製本後の開き方が上開きに設定されているか判定し、上開きであればステップＳ２７０４で製本印刷用上開きページのテンプレートを取得する。上開き用のページテンプレートを用いて描画されたプレビュー画面の例が図３４（Ｂ）に示されている。左側から順に第１ページ、第２，３ページ、という順に表示されている。上開きの製本印刷プレビュー時には、本の体裁は横長になるので、表紙（第１ページ）および裏表紙（第８ページ）は横長のテンプレートとなる。中間は上方向への見開きとなるので、ページ３４０２のように、水平方向の綴じ目を中心として上下に見開いた状態で表示できるテンプレートが利用される。
【０１３７】
また、上開きでない場合、すなわち左右開きの場合にはステップＳ２７０３において左右開き用のページテンプレートを取得する。この例は図３０に示されている。この場合には、見開きは左右方向になるために、ページ３００１のように垂直方向の綴じ目を中心として見開いた上他で表示できるテンプレートが利用される。右開き・左開きの別は、テンプレートでは区別する必要はない。
【０１３８】
このようにして取得したテンプレートが、図２３のステップＳ２３０５で描画される。なお、後述するように表紙インサートが指定されている場合には、表紙はインサータから給紙されるため、印刷の対象にはならないが、プレビュー画面には表紙として表示される。そのために、インサートされる表紙のテンプレートも描画される。
【０１３９】
（製本印刷用ページ番号描画）
図２８においては、ステップＳ２８０１でレイアウト設定を取得すると、ステップＳ２８０２で製本後の開き方が右開きに設定されているか判定し、右開きであればステップＳ２８０５で製本右開き用のページ番号を描画する。また、右開きでない場合、ステップＳ２８０３で左開きが設定されているか判定し、左開きであればステップＳ２８０６において製本左開き用にページ番号を描画する。また左開きでない場合には上開きであるから、ステップＳ２８０４で製本上開き用にページ番号を描画する。ただし、表紙がインサートされる場合には、インサートされる表紙に対してはページ番号を描画しない。
【０１４０】
図３０は左開きの場合のページ番号描画例を示す。この場合には左から右へと、ページの進行に従ってページ番号も振られている。図３４（Ａ）は右開きの場合のページ番号描画例を示す。この場合には右から左へと、ページの進行に従ってページ番号が振られている。図３４（Ｂ）は上開きの場合のページ番号描画例を示す。この場合には、各論理ページに対応づけてページ番号を付けるのはスペース的に難しいので、２ページずつまとめて、ページの進行に従ってページ番号が振られている。
【０１４１】
（製本印刷用論理ページ描画）
図２７，図２８でページテンプレートおよびページ番号が描画されると、図２９において論理ページの内容が描画される。
【０１４２】
図２９においては、ステップＳ２９０１でレイアウト設定を取得すると、ステップＳ２９０２で製本後の開き方が右開きに設定されているか判定し、右開きであればステップＳ２９０５で製本右開き用に論理ページを描画する。また、右開きでない場合、ステップＳ２９０３で左開きが設定されているか判定し、左開きであればステップＳ２９０６において製本左開き用に論理ページを描画する。また左開きでない場合には上開きであるから、ステップＳ２９０４で製本上開き用に論理ページを描画する。
【０１４３】
製本後に論理ページが指定通り配置されるように、製本印刷時のシートへの論理ページの割付け方は、前述した（図２２の説明において述べた）とおり、フェイスアップ／ダウンの指定や製本単位の指定によって変わる。しかしながら、プレビュー画面上では、それらの指定に関係なく、論理ページの順序で、すなわち、製本後にページを繰っていく順序で各論理ページが表示される。ただし、製本単位の指定は、プレビュー画面上で理解できるように表示される。また、表紙インサートの場合には、インサートされる表紙には論理ページは描画されないが、挿入される表紙であることを示すために、ページ枠を示すテンプレートは表示される。これらについては後述する。
【０１４４】
図３０は左開きの場合の論理ページ描画例を示す。この場合には左から右へと、ページを繰る順序で論理ページが進行する。また、図３４（Ａ）は左開きの例であり、最左端を表紙として、右に進行するように論理ページが配置される。図３４（Ｂ）は上開きの例である。プレビュー画面では、各印刷されるシートは横方向に並べられるために、全体としては上から下への配置はしていないものの、各シートに限れば、上から下へと論理ページが順次配置される。すなわち、左上から右下へとジグサグ上に配置される。
【０１４５】
このようにプレビュー表示することで、利用者は製本時のページ配置を確認しやすくなる。すなわち、片面や両面といった通常のレイアウトでは物理ページのプレビューを表示する意味があるが、製本印刷時には、論理ページは物理ページ上に順を追って配置されるわけではないので、物理をプレビューしても出力結果が想像しづらい。このため、製本印刷が指定された場合には、見開きの状態を表示する。また、通常のレイアウトでは総ページ数（総用紙枚数）を表示するが、製本印刷時には、総論理ページ数を表示する。
【０１４６】
また、右開き時には、右から左へ、左開き時には左から右へ、上開き時には上から下へ論理ページを並べてプレビュー表示することで、製本印刷の完成形が理解しやすい。
【０１４７】
（製本単位の指定）
製本単位の指定に関わらず、プレビュー画面における論理ページの順序は見開きの順序であることは説明した。しかしながら、製本単位の指定によって論理ページの描画において利用されるテンプレートは異なる場合がある。
【０１４８】
図３１は、全部で８論理ページの文書に対して、印刷された全用紙をまとめて２つ折りにして製本する、全ページ単位の設定が指定された場合のプレビュー画像の例である。画面３１０１の設定画面で全ページ単位が指定された場合、プレビュー画面３１０２にように、表紙（第１ページ）および裏表紙（第８ページ）以外はすべて見開きで表示される。
【０１４９】
図３２は、全部で８論理ページの文書に対して、製本単位を１枚とするＮ枚印刷（Ｎ＝１）が指定された場合のプレビュー画像の例である。画面３２０１の設定画面でＮ枚印刷が指定された場合、プレビュー画面３２０２にように、Ｎ枚単位で表紙と裏表紙がどのページかわかるように表示される。図３２の例では、第１ページから第４ページまでが製本単位となる１枚のシートであり、第５ページから第８ページが次の製本単位となる１枚のシートである。このように、製本単位が指定されると、製本単位ごとに分割されてプレビュー画面が表示される。なお、図３３は製本単位として３枚を指定する画面の例である。
【０１５０】
この結果、印刷出力前に、分割された製本という出力結果を予想しづらい印刷結果を画面上で確認できる。
【０１５１】
（表紙インサート時の論理ページ描画）
上述のように製本印刷時の論理ページは描画されるが、インサータを利用し、表紙をインサートする場合には図２９のステップＳ２９０４〜Ｓ２９０６における処理においてそのことが考慮される。
【０１５２】
図３５，３６は表紙インサート時のプレビュー画面の例である。論理ページ描画時に、表紙インサート指定がされていると判定されると、挿入される表紙の裏表を白紙のページとして、その次のページから第１論理ページを描画し、引き続き論理ページ順に描画した後、最後に挿入される表紙の裏表が白紙のページとして挿入される。
【０１５３】
図３５の表示窓３５０１では、左開きが指定されており、その最初の２ページは挿入される表紙であるので、白紙であり、しかもページ番号も付けられない。また図３５においてはカーソルが表紙上にある。この場合にはツールチップによってそれがインサートされる表紙であることが「製本表紙」と表示される。図３６の表示窓３６０１では、左開きが指定されており、カーソルが表紙裏面にある。この場合にはツールチップによって、それがインサートされる表紙の裏面であることが「製本表紙（裏）」と表示される。
【０１５４】
図３６の表示窓３６０２においては、裏表紙の部分がプレビュー画面として表示されている。挿入される表紙は２つ折りにすることで裏表紙にもなるので、裏表紙も白紙のページを表示する。この部分にもページ番号は付けられない。
【０１５５】
図３６の表示窓３６０３は上開きかつ表紙挿入が指定された場合のプレビュー画面である。この場合にも左開きと同様（右開きも同様）、インサートされる表紙として白紙のページが表示され、それに続いて第１論理ページから描画される。
【０１５６】
このように、製本印刷のプレビュー時、インサータから表紙が挿入される設定になっている場合には、表紙のついた形でプレビューを行う。なお、この設定はデバイスのオプション装着状況、インサータの指定と連動する。
【０１５７】
これによって、インサータから表紙を挿入する場合にも、実際の出力結果がプレビュー上で確認できる。
【０１５８】
以上説明したように、本実施形態の印刷制御方法および装置によれば、ホスト上でスプールされたジョブをプレビューする際、製本印刷が指定されている場合には見開きの状態をプレビュー表示する。このため、製本印刷が指定された場合には、製本後の印刷結果を確認することができる。
【０１５９】
また、製本単位の指定に応じて、見開きで表示する単位を変えて表示することで、プレビュー画面において、分割された製本という出力結果を予想しづらい印刷結果を確認できる。
【０１６０】
また、製本印刷の「左開き、右開き」あるいは「上開き」の指定に合わせて、見開きの順序でプレビュー表示することで、製本印刷の完成形が理解しやすい。
【０１６１】
また、製本印刷のプレビュー時、インサータから表紙が挿入される設定になっている場合には、表紙のついた形でプレビュー表示することで、インサータから表紙を挿入する場合にも、実際の出力結果がプレビュー上で確認できる。
【０１６２】
また、デバイスで中差しが差し込まれる設定になっている場合には、プレビュー上でも中差しがなされることを反映した表示を行う。これにより、中差しされること、中差しがどのようになされるのか、がプレビューで確認できる。
【０１６３】
［他の実施の形態］
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１６４】
また、本発明の目的は、前述の実施形態の機能を実現する図１９〜図２５及び図２７〜図２９の手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０１６５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１６７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１６８】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入或いは接続された機能拡張ユニットのメモリに書き込まれた後、そのプログラムコードをその機能拡張ユニットのＣＰＵなどが実行して前述の実施形態の機能が実現される場合も含まれる。
【図１】
2010176709.tif 000003
【図２】
2010176709.tif 000004
【図３】
2010176709.tif 000005
【図４】
2010176709.tif 000006
【図５】
2010176709.tif 000007
【図６】
2010176709.tif 000008
【図７】
2010176709.tif 000009
【図８】
2010176709.tif 000010
【図９】
2010176709.tif 000011
【図１０】
2010176709.tif 000012
【図１１】
2010176709.tif 000013
【図１２】
2010176709.tif 000014
【図１３】
2010176709.tif 000015
【図１４】
2010176709.tif 000016
【図１５】
2010176709.tif 000017
【図１６】
2010176709.tif 000018
【図１７】
2010176709.tif 000019
【図１８】
2010176709.tif 000020
【図１９】
2010176709.tif 000021
【図２０】
2010176709.tif 000022
【図２１】
2010176709.tif 000023
【図２２】
2010176709.tif 000024
【図２３】
2010176709.tif 000025
【図２４】
2010176709.tif 000026
【図２５】
2010176709.tif 000027
【図２６】
2010176709.tif 000028
【図２７】
2010176709.tif 000029
【図２８】
2010176709.tif 000030
【図２９】
2010176709.tif 000031
【図３０】
2010176709.tif 000032
【図３１】
2010176709.tif 000033
【図３２】
2010176709.tif 000034
【図３３】
2010176709.tif 000035
【図３４】
2010176709.tif 000036
【図３５】
2010176709.tif 000037
【図３６】
2010176709.tif 000038
【図３７】
2010176709.tif 000039
【図３８】
2010176709.tif 000040