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