(57)【要約】      （修正有）【課題】両面印刷をプリンタドライバで指定した時に、表裏両面のプレビューを表示できる仕組みを提供する。【解決手段】設定画面を用いて両面印刷を設定する設定手段と、前記設定手段により設定された両面印刷に基づいて、第１ページの画像と前記２ページの反転画像とが重ねられたプレビュー画像を表示する表示制御手段とを備える。【選択図】図３
2011044152.tif 000002
【特許請求の範囲】
【請求項１】
設定画面を用いて両面印刷を設定する設定手段と、
前記設定手段により設定された両面印刷に基づいて、第１ページの画像と前記２ページの反転画像とが重ねられたプレビュー画像を表示する表示制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記第２ページの反転画像は、所定の画像処理が適用された反転画像であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の画像処理とは、濃度調整処理であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記反転画像とは、用紙の長辺を基準に反転された画像であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記表示制御手段によるプレビュー画像の表示方法を指定する指定手段を更に有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記指定手段は、前記第１ページを奇数ページとするか偶数ページとするかを指定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記設定画面はプリンタドライバにより提供されることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
情報処理装置において実行される制御方法であって、
設定画面を用いて両面印刷を設定する設定工程と、
前記設定工程により設定された両面印刷に基づいて、第１ページの画像と前記２ページの反転画像とが重ねられたプレビュー画像を表示する表示制御工程とを備えることを特徴とする制御方法。
【請求項９】
前記第２ページの反転画像は、所定の画像処理が適用された反転画像であることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記所定の画像処理とは、濃度調整処理であることを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記反転画像とは、用紙の長辺を基準に反転された画像であることを特徴とする請求項８乃至１０のいずれか１項に記載の制御方法。
【請求項１２】
前記表示制御工程によるプレビュー画像の表示方法を指定する指定工程を更に有することを特徴とする請求項８乃至１１のいずれか１項に記載の制御方法。
【請求項１３】
前記指定工程は、前記第１ページを奇数ページとするか偶数ページとするかを指定することを特徴とする請求項１２に記載の制御方法。
【請求項１４】
前記設定画面はプリンタドライバにより提供されることを特徴とする請求項８乃至１３のいずれか１項に記載の制御方法。
【請求項１５】
情報処理装置において実行されるプログラムを記憶した記憶媒体であって、
設定画面を用いて両面印刷を設定する設定工程と、
前記設定工程により設定された両面印刷に基づいて、第１ページの画像と前記２ページの反転画像とが重ねられたプレビュー画像を表示する表示制御工程とをコンピュータに実行させるためのコンピュータ読み取り可能なプログラムを記憶した記憶媒体。
【請求項１６】
前記第２ページの反転画像は、所定の画像処理が適用された反転画像であることを特徴とする請求項１５に記載の記憶媒体。
【請求項１７】
前記所定の画像処理とは、濃度調整処理であることを特徴とする請求項１６に記載の記憶媒体。
【請求項１８】
前記反転画像とは、用紙の長辺を基準に反転された画像であることを特徴とする請求項１５乃至１７のいずれか１項に記載の記憶媒体。
【請求項１９】
前記表示制御工程によるプレビュー画像の表示方法を指定する指定工程を更に有することを特徴とする請求項１５乃至１８のいずれか１項に記載の記憶媒体。
【請求項２０】
前記指定工程は、前記第１ページを奇数ページとするか偶数ページとするかを指定することを特徴とする請求項１９に記載の記憶媒体。
【請求項２１】
前記設定画面はプリンタドライバにより提供されることを特徴とする請求項１５乃至２０のいずれか１項に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，プリンタに印刷データを送信するパーソナルコンピュータ等の情報処理装置およびその制御方法およびプログラムを格納した記憶媒体に関するもので，特に印刷指示時に印刷データに基づくプレビューを印刷結果を踏まえて表示する情報処理装置および方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体に関するものである。
【背景技術】
【０００２】
ステープル機能やパンチ穴をあけるなどのフィニッシング用のデバイス機能が付属した印刷装置が普及している。そのような印刷装置に対して、クライアントであるパーソナルコンピュータからの印刷指示に応じて、前記印刷装置のデバイス機能を使用した印刷が行える。
また、デバイス機能として、用紙の両側に印刷可能となる両面印刷機能をもった印刷装置の普及している。
また、クライアントのアプリケーションからの印刷指示時にプレビューを行うことによって、印刷データがどのように印刷出力されるのかを操作者に判断できるようになっているアプリケーションやプリンタドライバが近年存在している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１３６５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ステープル、パンチ穴などに代表されるように、印刷装置であるデバイスがもつフィニッシング機能をプレビューするシステムは存在せず、より正確な出力をプレビューすることはできていなかった。このため、印刷プレビューを行った場合、操作者は印刷データの印刷位置を判断することができるが、デバイスがもつフィニッシング機能を利用した場合、そのフィニッシング機能によりどのような印刷出力の結果が得られるのか判断することができず、印刷データの配置位置にパンチ穴が開けられたり、操作者にとって所望としない印刷出力がなされることがあった。
【０００５】
また、上記のようなデバイス機能の利用において印刷結果に不具合が生じた場合、その不具合を印刷出力する前に知らせる方法は存在していなかった。
【０００６】
さらに、従来のプレビュー機能は、論理ページのプレビューであるため、両面印刷時には両面であるにもかかわらず、プレビューには両面印刷と無関係なプレビューが表示されたり、印刷用紙１ページに複数ページの描画データが縮小配置されるＮｕｐ印刷をプリンタドライバで指定した時には、プレビューには論理ページのプレビューが表示され、実際に印刷用紙に出力される体裁が表示されないでいた。
【０００７】
本発明は上記従来技術に鑑みてなされたものであり、両面印刷をプリンタドライバで指定した時に、表裏両面のプレビューを表示できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は次のような構成からなる。すなわち、設定画面を用いて両面印刷を設定する設定手段と、前記設定手段により設定された両面印刷に基づいて、第１ページの画像と前記２ページの反転画像とが重ねられたプレビュー画像を表示する表示制御手段とを備えることを特徴とする。
【発明の効果】
【０００９】
以上説明したように、本発明では、両面印刷用に効果的なプレビュー画像を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例を示す印刷制御装置の構成を説明するブロック図である。
【図２】プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。
【図３】アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦中間コードスプールするプリントシステムの構成を示すブロック図である。
【図４】本発明におけるプリンタについて説明した図である。
【図５】スプーラ３０５における処理を示したフローチャートである。
【図６】スプールファイルマネージャ３０４における印刷制御について示したフローチャートである。
【図７】デスプーラ３０５における処理を示したフローチャートである。
【図８】プリンタドライバの印刷設定画面の一例である。
【図９】スプールファイルをリスト表示した画面の一例である。
【図１０】スプールファイルマネージャ３０４からデスプーラ３０５に対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示した図である。
【図１１】プレビュー画面の一例を示した図である。
【図１２】スプールファイル３０３における印刷設定を格納した一例を示す図である。
【図１３】プリンタドライバから送出されるデバイス情報の一例を示した図である。
【図１４】プレビュー上で描画情報とデバイス情報との不具合を警告する処理を説明したフローチャートである。
【図１５】不具合修正処理の一例を示したフローチャートである。
【図１６】警告ダイアログの一例を示す図である。
【図１７】プレビューア３０６が両面印刷を行う印刷データに対して、どのような表示を行うかを設定するためのダイアログの一例である。
【図１８】（ａ）は図１７における“全ページ表示”を選択した際の表示である。（ｂ）は図１７における“表面のみ表示”を選択し、かつ“裏を透かしたプレビュー”を選択しない場合の表示である。（ｃ）は図１７における“表面のみ表示”を選択し、かつ“裏を透かしたプレビュー”および“奇数ページを表面にする”を選択しない場合の表示である。（ｄ）は図１７における“表面のみ表示”を選択し、かつ“裏を透かしたプレビュー”を選択し、“奇数ページを表面にする”を選択した際の表示である。（ｅ）は図１７における“表面のみ表示”を選択し、かつ“裏を透かしたプレビュー”を選択し、“奇数ページを表面にする”を選択しない場合の表示である。
【図１９】全ページ表示ＯＦＦにした場合の選択肢およびその際の図１８との対応表である。
【図２０】図１８（ａ）の表示を行うための処理を示すフローチャートである。
【図２１】図１８（ｂ）の表示を行うための処理を示すフローチャートである。
【図２２】図１８（ｃ）の表示を行うための処理を示すフローチャートである。
【図２３】図１８（ｄ）の表示を行うための処理を示すフローチャートである。
【図２４】図１８（ｅ）の表示を行うための処理を示すフローチャートである。
【図２５】裏面プレビューに対する濃度調整を設定するダイアログの一例である。
【図２６】実施例３において、図７におけるステップ７０５における処理をしめすフローチャートである。
【図２７】印刷設定情報を設定する際のプリンタドライバのプロパティ画面の説明図である。
【図２８】デバイス情報をプリンタから取得する指定を行う際のプリンタドライバのプロパティ画面の説明図である。
【図２９】スプールファイルに保持されている中間ファイルのジョブを編集する際のジョブ編集面の説明図である。
【図３０】ジョブ編集画面において、両面印刷時の小プレビューを説明する説明図である。
【図３１】ジョブ編集画面において、ページレイアウトを変更した際の小プレビューを説明する説明図である。
【図３２】ジョブ編集画面において、ページの削除を行った際の小プレビューを説明する説明図である。
【発明を実施するための形態】
【００１１】
（第一実施例）
以下、本発明を適用するのに好適である実施例について説明を行う。
【００１２】
図１は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。
【００１３】
同図において、ホストコンピュータ３０００は、ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１０１を備え、システムバス１０４に接続される各デバイスをＣＰＵ１が総括的に制御する。また、このＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ１０３のフォント用ＲＯＭあるいは外部メモリ１１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ１０３のデータ用ＲＯＭあるいは外部メモリ１１１には上記文書処理等を行う際に使用する各種データを記憶する。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００１４】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０の表示を制御する。１０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インターフェース（インターフェース）１２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。また、印刷装置は、複数の情報処理装置によりシェアされることが望まれており、ＬＡＮを構築した場合には、複数の印刷装置が存在することが考えられるので、１２１は、イーサネット（登録商標）等のネットワークであることが望まれる。
【００１５】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１６】
プリンタ１５００は、ＣＰＵ１１２により制御される。プリンタＣＰＵ１１２は、ＲＯＭ１１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１１４に記憶された制御プログラム等に基づいてシステムバス１１５に接続される印刷部（プリンタエンジン）１１７に出力情報としての画像信号を出力する。また、このＲＯＭ１１３のプログラムＲＯＭには、ＣＰＵ１１２の制御プログラム等を記憶する。ＲＯＭ１１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等が記憶され、ＲＯＭ１１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００１７】
ＣＰＵ１１２は入力部１１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１１９は、ＣＰＵ１１２の主メモリや、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１１４は、メモリコントローラ（ＭＣ）１２０によりアクセスを制御される。外部メモリ１１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００１８】
また、前述した外部メモリ１１４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１９】
図２は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータにおける典型的な印刷処理の構成図である。アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部ディスク１１１のＨＤに追加することが可能となっている。外部メモリ１１１に保存されているアプリケーション２０１はＲＡＭ１０２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン２０２を利用して描画データの出力を行う。ここで、米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）  ＯＳを用いて説明を行う。Ｗｉｎｄｏｗｓ（登録商標）では、ＯＳの描画手段であるグラフィックエンジン２０２は、一般にＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）と呼ばれ、アプリケーションは、グラフィックエンジンであるＧＤＩに対してＧＤＩ関数と呼ばれる描画データを出力する。
【００２０】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション２０１からのＧＤＩ関数の出力をライブラリに基づいてＤＤＩ関数（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（ＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ２０４を経てインタフェース１２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００２１】
本実施形態の印刷システムは、図２で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に第３図に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００２２】
図３は、図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル３０３を生成する構成をとる。図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図３のシステムでは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現する事ができる。
【００２３】
これらの目的のために、図２のシステムに対し、図３の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上あるいは外部メモリ１１１上に保管する。
【００２４】
以下、図３の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がＯＳの描画手段であるグラフィックエンジン２０２から受け取った印刷命令であるＤＤＩ関数が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）の場合には、ディスパッチャ３０１は外部メモリ１１１に格納されているスプーラ３０２をＲＡＭ１０２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令（ＤＤＩ関数）を送付する。
【００２５】
スプーラ３０２は受け取った印刷命令を解釈し、ページ単位に加工しやすい中間コードに変換し、スプールファイル３０３に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：ＰａｇｅＤｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）と呼ぶ。また、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル３０３に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Ｓｐｏｏｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。印刷データに関する加工設定は、アプリケーションから印刷指示を出す前に、予めプリンタドライバの設定を操作者が行っておく。
【００２６】
図８は、プリンタドライバの各印刷設定を行うプロパティ画面の１つのシートである。ここでは、操作者が詳細な印刷設定を行うことができるが、本発明に関わるフィニッシングの説明に特化して行うことにする。図８の８０１は、ページレイアウトの設定を行うことができる。「ページレイアウト（Ｌ）：」の右側に位置するプルダウンウインドウは、「１ページ／枚（通常印刷）」「２ページ／枚」「４ページ／枚」「６ページ／枚」「８ページ／枚」とＮｕｐ印刷の指定ができるようになっている。また、「配置順（Ｘ）：」の右側に位置するプルダウンウインドウは、論理ページの配置順序の設定を行えるようになっている。例えば、「２ページ／枚」において、配置順は、「左から右向き」「右から左向き」の２つが選択でき、「４ページ／枚」では、「左上から右向き」「左上から下向き」「右上から左向き」「右上から下向き」の４つの配置順が選択できるようになっている。
【００２７】
図８では、ページレイアウトが「２ページ／枚」、配置順が「左から右向き」となっており、８０２の簡易プレビュー画面で示されているように、１枚の用紙に対して、２ページ分のデータが左から右に論理ページが増えるように配置され、描画されることを操作者に報知している。また、図２７も同様にプリンタドライバの各印刷設定を行うプロパティ画面の１つのシートである。図２７の２７０２は、印刷方法の設定を行うことができる。印刷方法としては、「片面印刷」「両面印刷」「製本印刷」があり、それぞれを択一的に選択することができる。また、２７０３では、排紙方法の設定を行うことができ、「ソート」「グループ」「ステイプル」の指定が択一的に行える。また、２７０４では、ステイプル指定時にどの「とじ方向」にステイプルするかの指定を行えるようになっている。「とじ方向（Ｌ）」には、「長辺とじ（上）」「長辺とじ（下）」「短辺とじ（左）」「短辺とじ（右）」の設定を行うことができる。図２７では、印刷方法が「両面印刷」、排紙方法が「ステイプル」、とじ方向が「長辺とじ（上）」となっており、２７０１の簡易プレビュー画面で示されているように、用紙に対して両面の印刷がされていることを右下を裏返すことにより示唆し、用紙の長辺の上側にステイプルがされることを操作者に報知している。このように、操作者は、プリンタドライバで印刷設定を詳細に設定することができ、スプーラ３０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定をプリンタドライバ２０３から取得してスプールファイル３０３に保存することになる。なお、スプールファイル３０３は外部メモリ１１１上にファイルとして生成するが、ＲＡＭ１０２上に生成されても構わない。
【００２８】
更にスプーラ３０２は、外部メモリ１１１に格納されているスプールファイルマネージャ３０４をＲＡＭ１０２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００２９】
スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１１に格納されているデスプーラ３０５をＲＡＭ１０２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００３０】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に含まれる加工設定情報を含むジョブ設定ファイルの内容に従って加工し、ＧＤＩ関数を再生成し、もう一度ＯＳの描画手段であるグラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００３１】
ディスパッチャ３０１がＯＳの描画手段であるグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。
【００３２】
プリンタドライバ２０３はＯＳの描画手段であるグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００３３】
さらに、図３では、これまで説明した拡張システムに加えて、プレビューア３０６、設定変更エディタ３０７を配し、プレビュー、印刷設定変更を可能にした例を示している。プレビューの実現方法としては、スプールファイル３０３に含まれる加工設定中にプレビューを行うかどうかの設定が含まれており、スプールファイルマネージャ３０４が加工設定を読み込み、プレビュー指定がなされていた場合、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従ってプレビューを行えるか判断する。さらに、プレビューを行うどうかの設定は、例えば図８に示すようなユーザインターフェイスを提供することによって実現可能である。印刷プレビュー、印刷設定変更を行うためには、図８に示すプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニューにおいて「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
【００３４】
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてＯＳが提供する構造体（Ｗｉｎｄｏｗｓ（登録商標）ＯＳでは、ＤＥＶＭＯＤＥと呼ばれる）に格納される。その構造体には、例えばスプールファイル３０３に含まれる加工設定中にスプールファイルマネージャ３０４にストアを行うかどうかの設定が含まれており、スプールファイルマネージャ３０４がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル３０３にページ描画ファイルとジョブ設定ファイルとが生成・格納され、図９のようにスプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル３０３にスプールされたジョブがリスト表示される。
【００３５】
図９には、１つのジョブがスプールされている例を示しており、メニューバー９０１もしくはそのすぐ下のメニューアイコン９０２を押下することにより、ジョブの操作を行うことができる。メニューバーとメニューアイコンの操作の数は同じである。操作種類としては、ジョブを選択した状態で、「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、ジョブの印刷設定（レイアウト設定はフィニッシング設定等）を変更する「ジョブ編集」、ジョブの印刷順序の入れ替えを行う「順序変更」等の操作がある。
【００３６】
スプールファイルマネージャのウィンドウ画面（図９）上で、あるジョブのプレビューが指定された場合、外部メモリ１１１に格納されているプレビューア３０６をＲＡＭ２にロードし、プレビューア３０６に対して、スプールファイル３０３に記述された中間コードのジョブのプレビュー処理を行うように指示する。
【００３７】
プレビューア３０６はスプールファイル３０３に含まれる中間コードのページ描画ファイル（ＰＤＦ）を順次読み出し、スプールファイル３０３に格納されているジョブ設定ファイル（ＳＤＦ）に含まれる加工設定情報の内容に従って加工し、加工された中間データに基づいてＧＤＩ関数を再生成し、グラフィックエンジン２０２に対して出力する。この際、出力先を自身のクライアント領域、つまり表示デバイスにし、グラフィックエンジン２０２が表示デバイス用のＤＤＩ関数を出力することによって、画面上の出力が可能となる。
【００３８】
グラフィックエンジン２０２は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア３０６は、デスプーラ３０５同様に、スプールファイル３０３に含まれる中間コードをスプールファイル３０３に含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を利用して出力する方法で実現可能となる。
【００３９】
このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Ｎｕｐ（Ｎページの論理ページを１ページの物理ページに縮小配置して印刷する処理）指定されている場合、両面印刷指定されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。なお、従来の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
【００４０】
上記のようにプレビュー処理を行うことにより、図１１のようにスプールファイル３０３に含まれる印刷の加工設定の大プレビューがプレビューア３０６によって画面上に表示され、その後、ユーザの非表示指示によって、プレビューア３０６がクローズされ、制御がスプールファイルマネージャのウィンドウ画面（図９）に移行する。
【００４１】
そして、ユーザがプレビューア３０６によって表示された内容に従って、印刷を行うならば、スプールファイルマネージャ３０４上で、「印刷」もしくは「セーブして印刷」を指示することにより印刷要求を発行する。印刷要求は前述したように、デスプーラ３０５によりジョブ設定ファイルに基づいてページ描画ファイルを加工してＧＤＩ関数を生成し、グラフィックエンジン２０２に伝えられ、ディスパッチャ３０１経由で、プリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００４２】
また、スプールファイル３０３に含まれる印刷の加工設定のプレビューがプレビューア３０６によって画面上に表示されたならば、ユーザはプレビューア３０６上から印刷の要求を行う。印刷の要求はスプールファイルマネージャ３０４に通知され、スプールファイルマネージャ３０４は図３に説明した系で印刷を行う。また、プレビューア３０６は印刷要求後、終了する。
【００４３】
さらに、ユーザがプレビューア３０６に表示された出力内容を見ながら修正をすることも可能である。これらの修正は、プレビューア３０６がスプールファイル３０３の内容を修正する操作をユーザに提供することによって実現される。ユーザの修正が終了し、印刷要求を行ったならば、スプールファイルマネージャ３０４およびデスプーラ３０５は加工されたスプールファイル３０３の内容にしたがって印刷を実行する。
【００４４】
ここで、設定変更エディタ３０７を用いた設定変更について説明する。
【００４５】
その実現方法としては、プレビュー同様、図８において「ストア」指定されたジョブに関して設定可能である。同様のフローによりスプールファイルマネージャのウィンドウ（図９）がポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウィンドウ画面（図９）上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ１１１に格納されている設定変更エディタ３０７をＲＡＭ１０２にロードし、設定変更エディタ３０７に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そして図２９のようなジョブ設定画面が表示される。
【００４６】
設定変更エディタ３０７は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルのスプールファイル３０３から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいて図２９のジョブ設定画面のデフォルト値を変更する。図２９に示す例では、「ジョブ編集」指定されたジョブのジョブ設定ファイルには、部数：１部、印刷方法：片面、ステイプル：なし、レイアウト：１ページ／枚等が指定されていることになる。
【００４７】
この設定変更エディタ３０７でもスプールファイル３０３に含まれる中間コードのページ描画ファイルをスプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン２０２を用いて自身のクライアント領域に出力することによって、図１８に示す画面上の小プレビュー出力が可能となる。
【００４８】
またここで、スプールファイル３０３に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、プリンタドライバ２０３の設定可能な項目を設定変更エディタ３０７上のユーザインターフェイスに持っていても、プリンタドライバ２０３自身のユーザインターフェイスを呼び出しても構わない。図２９に示すように、分数、印刷方法（片面、両目、製本印刷）、ステイプル（サドルフィニッシャー等）、ページレイアウト、配置順等の指定ができ、また「詳細設定」２９０７を押下することにより、プリンタドライバで指定できる項目の大半を設定しなおすことが可能となる。ただし、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
【００４９】
ここで変更された変更項目は設定変更エディタ３０７上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ３０４に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は後述する。
【００５０】
そして、ユーザがプレビューア３０６での確認同様、設定変更内容に従って、印刷を行うならば、スプールファイルマネージャ３０４上で、印刷要求を発行する。印刷要求はグラフィックエンジン２０２に伝えられ、ディスパッチャ３０１経由で、プリンタドライバ２０３に印刷命令が送られ、印刷が実行される。
【００５１】
図４は、プリンタ１５００の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【００５２】
このプリンタはホストコンピュータ３０００より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー３１により感光ドラム１５を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体９へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材２へ転写し、転写材２上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム１５を有するドラムユニット、接触帯電ローラ１７を有する一次帯電部、クリーニング部、現像部、中間転写体９、用紙カセット１や各種ローラ３、４、５、７を含む給紙部、転写ローラ１０を含む転写部及び定着部２５によって構成されている。
【００５３】
ドラムユニット１３は、感光ドラム（感光体）１５と感光ドラム１５のホルダを兼ねたクリーニング機構を有するクリーナ容器１４とを一体に構成したものである。このドラムユニット１３はプリンタ本体に対して着脱自在に支持され、感光ドラム１５の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム１５はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器１４に回転可能に支持されている。感光ドラム１５は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム１５を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム１５の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部３０では、変調されたレーザ光を、モータ３１ａにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ３２、反射鏡３３を介して感光ドラムを照射する。
【００５４】
現像部は、上記静電潜像を可視画像化するために、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の現像を行う３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃと、ブラック（Ｂ）の現像を行う１個のブラック現像器２１Ｂとを備えた構成を有する。カラー現像器２０Ｙ、２０Ｍ、２０Ｃ及びブラック現像器２１Ｂには、スリープ２０ＹＳ、２０ＭＳ、２０ＣＳ及び２１ＢＳと、これらスリープ２０ＹＳ、２０ＭＳ、２０ＣＳ、２１ＢＳそれぞれの外周に圧接する塗布ブレード２０ＹＢ、２０ＭＢ、２０ＣＢ及び２１ＢＢとがそれぞれ設けられる。また３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃには塗布ローラ２０ＹＲ、２０ＭＲ、２０ＣＲが設けられている。
【００５５】
また、ブラック現像器２１Ｂはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器２０Ｙ、２０Ｍ、２０Ｃは回転軸２２を中心に回転する現像ロータリー２３にそれぞれ着脱可能に取り付けられている。
【００５６】
ブラック現像器２１Ｂのスリープ２１ＢＳは感光ドラム１５に対して例えば３００μｍ程度の微小間隔を持って配置されている。ブラック現像器２１Ｂは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ２１ＢＳの外周に塗布ブレード２１ＢＢによって塗布するように摩擦帯電によってトナーへ電荷を付与する。また、スリープ２１ＢＳに現像バイアスを印加することにより、静電潜像に応じて感光ドラム１５に対して現像を行って感光ドラム１５にブラックトナーによる可視画像を形成する。
【００５７】
３個のカラー現像器２０Ｙ、２０Ｍ、２０Ｃは、画像形成に際して現像ロータリー２３の回転に伴って回転し、所定のスリープ２０ＹＳ、２０ＭＳ、２０ＣＳが感光ドラム１５に対して３００μｍ程度の微小間隔を持って対向することになる。これにより所定のカラー現像器２０Ｙ、２０Ｍ、２０Ｃが感光ドラム１５に対向する現像位置に停止し、感光ドラム１５に可視画像が作成される。
【００５８】
カラー画像形成時には、中間転写体９の１回転毎に現像ロータリー２３が回転し、イエロー現像器２０Ｙ、マゼンダ現像器２０Ｍ、シアン現像器２０Ｃ、次いでブラック現像器２１Ｂの順で現像工程がなされ、中間転写体９が４回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体９上に形成する。
【００５９】
中間転写体９は、感光ドラム１５に接触して感光ドラム１５の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム１５から４回の可視画像の多重転写を受ける。また、中間転写体９は画像形成時に後述する転写ローラ１０が接触して転写材２を挟持搬送することにより転写材２に中間転写体９上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体９の回転方向に関する位置を検知するためのＴＯＰセンサ９ａ及びＲＳセンサ９ｂと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ９ｃが配置されている。
【００６０】
転写ローラ１０は、感光ドラム１５に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【００６１】
転写ローラ１０は、図４に実線で示すように中間転写体９上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体９上に４色のカラー可視画像が形成された後は、このカラー可視画像を転写材２に転写するタイミングにあわせてカム部材（不図示）により転写ローラ１０を図示点線で示す上方に位置させる。これにより転写ローラ１０は転写材２を介して中間転写体９に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体９上のカラー可視画像が転写材２に転写される。
【００６２】
定着部２５は、転写２を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材２を加熱する定着ローラ２６と転写材２を定着ローラ２６に圧接させるための加圧ローラ２７とを備えている。定着ローラ２６と加圧ローラ２７とは中空状に形成され、内部にそれぞれヒータ２８、２９が内蔵されている。即ち、カラー可視画像を保持した転写材２は定着ローラ２６と加圧ローラ２７とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【００６３】
可視画像定着後の転写材２は、その後排紙ローラ３４、３５、３６によって排紙部３７へ排出して画像形成動作を終了する。
【００６４】
クリーニング手段は、感光ドラム１５上及び中間転写体９上に残ったトナーをクリーニングするものであり、感光ドラム１５上に形成されたトナーによる可視画像を中間転写体９に転写した後の廃トナーあるいは、中間転写体９上に作成された４色のカラー可視画像を転写材２に転写した後の廃トナーは、クリーナ容器１４に蓄えられる。
【００６５】
印刷される転写材（記録用紙）２は、給紙トレイ１から給紙ローラ３により取り出されて中間転写体９と転写ローラ１０との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部２５を通過してトナー像が定着される。片面印刷の場合には、案内３８が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【００６６】
両面ユニットに導かれた記録用紙は、搬送ローラ４０によりトレイ１の下部（二点鎖線で示す搬送経路）に一旦送り込まれた後に逆方向に搬送され、両面トレイ３９に送られる。両面トレイ３９上では、用紙は給紙トレイ１に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【００６７】
図５は、スプーラ３０２における、スプールファイル３０３の生成におけるページ単位保存ステップの処理をフローチャートで示したものである。この処理は、アプリケーションから印刷要求があった場合に、グラフィックエンジン２０２出力された描画データであるＤＤＩ関数をディスパッチャ３０１が受け付け、この描画データをスプーラ３０２に渡した後の処理である。
【００６８】
まずステップ５０１では、スプーラ３０２は、アプリケーションからグラフィックエンジン２０２を介して印刷要求をディスパッチャ３０１から受けつける。前述したように、アプリケーションにおいては、図８に示すような印刷設定を入力するダイアログが印刷指示前に表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ３０２に渡される。なお、図８に示す設定入力ダイアログにおいては、８０１のような１物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
【００６９】
ステップ５０２において、スプーラ３０２は、受け付けた印刷要求がジョブ開始要求か判定し、もしステップ５０２でジョブ開始要求であると判断した場合には、ステップ５０３に進み、スプーラ３０２は、中間データを一時的に保存するためのスプールファイル３０３をＲＡＭ１０２に作成する。続いて、スプーラ３０２は、プリンタドライバで設定されている印刷設定情報（ＤＥＶＭＯＤＥ）を受け取り、スプールファイル３０３のジョブ設定ファイルに印刷設定情報を格納する。
【００７０】
続いて、ステップ５０４では、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、続くステップ５０５でスプーラ３０２のページ数カウンタを１に初期化する。ここで、スプールファイルマネージャ３０４においては、印刷が開始されたジョブに対するジョブの情報や加工設定である印刷設定情報をスプールファイル３０３のジョブ設定ファイルより読み込んでおく。
【００７１】
一方、ステップ５０２において、スプーラ３０２がジョブ開始要求ではなかったと判断した場合には、ステップ５０６に進む。
【００７２】
ステップ５０６では、スプーラ３０２は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップ５０７に進み、スプーラ３０２は、受け付けた要求が改ページかどうかの判別を行う。もしもステップ５０７で改ページであると判断した場合には、ステップ５０８に進み、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントする。
【００７３】
ステップ５０７において、スプーラ３０２が受け付けた印刷要求が改ページではないと判断した場合には、ステップ５０９に進み、スプーラ３０２は、ページ描画ファイルへの中間コードの書き出しの準備を行う。
【００７４】
次に、ステップ５１０では、スプーラ３０２は、文字やグラフィックや画像などの印刷要求である描画データを、スプールファイル３０３へ格納する中間データに変換処理を行う。ステップ５１１では、スプーラ３０２は、ステップ５１０において格納可能な形（中間データ）に変換された印刷要求をスプールファイル３０３のページ描画ファイルへ書き込む。その後、ステップ５０１に戻り、再びアプリケーションからの印刷要求を受けつける。この一連のステップ５０１からステップ５１１までの処理を、アプリケーションよりジョブ終了要求（Ｅｎｄ  Ｄｏｃ）を受け取るまで続ける。また、スプーラ３０２は、同時にプリンタドライバ２０３からＤＥＶＭＯＤＥ構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル３０３に格納する。一方、ステップ５０６にて、スプーラ３０２が、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップ５１２に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、処理を終える。
【００７５】
図６は、スプールファイルマネージャ３０４における、スプールファイル３０３生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。
【００７６】
ステップ６０１では、スプールファイルマネージャ３０４は、スプーラ３０２あるいはデスプーラ３０５からの印刷処理の進捗通知を受け付ける。
【００７７】
ステップ６０２において、スプールファイルマネージャ３０４は、もし進捗通知が前述のステップ５０４において通知されるスプーラ３０２からの印刷開始通知であるかどうか判定し、もしそうであればステップ６０３へすすみ、印刷の加工設定である印刷設定情報をスプールファイル３０３から読み込み、ジョブの管理を開始する。一方、ステップ６０２において、スプーラ３０２からの印刷開始通知でなければステップ６０４へすすみ、スプールファイルマネージャ３０４は、進捗通知が前述のステップ５０８において通知されるスプーラ３０２からの１論理ページの印刷終了通知であるかどうか判定する。ここで１論理ページの印刷終了通知であればステップ６０５へ進み、スプールファイルマネージャ３０４は、この論理ページに対する論理ページ情報を格納する。そして、続くステップ６０６では、この時点でスプールが終了したｎ論理ページに対して、１物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップ６０７へ進み、スプールファイルマネージャ３０４は、印刷する１物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
【００７８】
物理ページの計算については、例えば、加工設定が１物理ページに４論理ページを配置するような４ｕｐ設定の場合、第１物理ページは第４論理ページがスプールされた時点で印刷可能となり、第１物理ページとなる。続いて、第２物理ページは第８論理ページがスプールされた時点で印刷可能となる。
【００７９】
また、論理ページ数の総数が１物理ページに配置する論理ページ数の倍数でなくても、ステップ５１２におけるスプール終了通知によって１物理ページに配置する論理ページが決定可能である。
【００８０】
そして、ステップ６０８では、スプールファイルマネージャ３０４は、図１０に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報をデスプーラ３０５に通知する。また、スプールファイルマネージャ３０４は、同時に印刷設定情報をデスプーラ３０５に通知する。その後ステップ６０１に戻り、スプールファイルマネージャ３０４は、次の通知を待つ。本実施例においては、印刷データ１ページ、すなわち１物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【００８１】
一方、ステップ６０４において、進捗通知がスプーラ３０２からの１論理ページの印刷終了通知でなかった場合ステップ６０９へ進み、スプールファイルマネージャ３０４は、前述のステップ５１２において通知されるスプーラ３０２からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップ６０６へ進む。一方、ジョブ終了通知でない場合、ステップ６１０へ進み、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５からの１物理ページの印刷終了通知であるかどうか判定する。ここで、１物理ページの印刷終了通知である場合はステップ６１２へ進み、加工設定の印刷が全て終了したかを判定する。印刷終了した場合、ステップ６１２へ進み、デスプーラ３０５に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述の６０６へ進む。本実施例におけるデスプーラ３０５は同時に印刷処理を行える物理ページ数を１と想定している。
【００８２】
また、ステップ６０８では、１物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、１物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、ステップ６０８で１物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
【００８３】
ステップ６１０において、入力された通知が、デスプーラ３０５からの１物理ページの印刷終了通知でないと判断された場合、ステップ６１３へ進み、スプールファイルマネージャ３０４は、入力された通知がデスプーラ３０５からの印刷終了通知かどうかを判定する。デスプーラ３０５からの印刷終了通知と判定された場合、ステップ６１４へ進み、スプールファイル３０３の削除を行い処理を終える。一方、デスプーラ３０５からの印刷終了通知でなかった場合はステップ６１５へ進み、その他通常処理を行い、次の通知を待つ。
【００８４】
図７は、デスプーラ３０５における、印刷データの生成プロセスの詳細をフローチャートで示したものである。
【００８５】
デスプーラ３０５は、スプールファイルマネージャ３０４からの印刷要求に応じて、スプールファイル３０３から必要な情報（ページ描画ファイルおよびジョブ設定ファイル）を読みだして印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図３で説明した通りである。
【００８６】
デスプーラ３０５の印刷データの生成では、まず、ステップ７０１において、前述のスプールファイルマネージャ３０４からの通知を入力する。続くステップ７０２では、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップ７０３へ進み、終了フラグを立て、ステップ７０５へ進む。
【００８７】
一方、ステップ７０２においてジョブ終了通知でない場合は、ステップ７０４に進み、デスプーラ３０５は、前述のステップ６０８における１物理ページの印刷開始要求が通知されたかどうか判定する。ステップ７０４において開始要求と判定されなかった場合は、ステップ７１０へ進み、その他エラー処理を行い、ステップ７０１へ戻り次の通知を待つ。一方、ステップ７０４において１物理ページの印刷開始要求と判定された場合、ステップ７０５へ進み、デスプーラ３０５は、ステップ７０４で通知を受けた印刷処理可能な物理ページのＩＤを保存する。
【００８８】
続くステップ７０６では、デスプーラ３０５は、ステップ７０５で保存した物理ページＩＤのすべてのページに関して印刷処理が済んでいるかどうかを判定する。ここで全物理ページの処理が済んでいる場合は、ステップ７０７へ進み、前述のステップ７０３で終了フラグが立てられているか判定する。終了フラグが立っている場合は、ジョブの印刷が終了したとみなし、デスプーラ３０５の処理終了の通知をスプールファイルマネージャ３０４に通知し、処理を終える。ステップ７０７で、終了フラグが立っていないと判定された場合は、ステップ７０１へ戻り次の通知を待つ。一方、ステップ７０６で、印刷可能な物理ページが残っていると判定された場合には、ステップ７０８へ進み、デスプーラ３０５は、保存された物理ページＩＤから未処理の物理ページＩＤを順に読み出し、読み出した物理ページＩＤに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。
【００８９】
印刷処理はスプールファイル３０３に格納された印刷要求命令をデスプーラ３０５においてグラフィックエンジン２０２が認識可能な形式、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳではＧＤＩ関数に変換し、グラフィックエンジン２０２に転送する。本実施例のような、複数論理ページを１物理ページにレイアウトするような加工設定（Ｎページ印刷、もしくはＮｕｐ印刷）については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理が終えたならば、続くステップ７０９において１物理ページの印刷データ生成終了の通知をスプールファイルマネージャ３０４に対して行う。そしてステップ７０６へ戻り、ステップ７０５で保存しておいた印刷可能な物理ページＩＤすべてについて印刷処理を行うまで繰り返す。
【００９０】
以上が、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５を用いた印刷処理の流れである。上記のように処理することにより、スプーラ３０２が中間コードを生成してスプールファイル３０３に格納するタイミングでアプリケーション２０１が印刷処理から開放されるので、プリンタドライバ２０３に直接出力するよりも短時間で済む。また、スプールファイル３０３にプリンタドライバの印刷設定を踏まえた中間ファイル（ページ描画ファイル、ジョブ設定ファイル）として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることを可能とする。
【００９１】
ここで、スプーラ３０２を用いた印刷処理において、デスプーラ３０５によりグラフィックエンジン２０２への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
【００９２】
ジョブ設定ファイルは、主にプリンタドライバ２０３を介して受け取るＤＥＶＭＯＤＥの内容を保持しており、図１２及び１３から構成されるものである。
【００９３】
まず、ジョブを識別するためのジョブ識別ＩＤであり、本情報を保存しているファイル名や共有メモリの名称と乱数により決定される。次に、出力用紙サイズの情報であり、用紙サイズを識別するＩＤと組み合わせて複数もっている。後続する物理ページ単位に出力用紙サイズを変更することを可能とするためであり、各物理ページでは、用紙サイズ識別ＩＤで指定される。次の情報は、フィニッシングに関するものであり、片面印刷、両面印刷、製本印刷のいずれが指定されているのかを示す情報である。また、有効印字領域の座標値等を示す情報があり、プレビュー指定されているか否かの情報を有している。そして次の情報はＤＥＶＭＯＤＥに関する情報であり、物理ページに割り付ける論理ページ数を示す情報であり、各論理ページがどこに配置されるのかを示す配置情報も保持している。また、ＤＥＶＭＯＤＥとして、更に、付加情報（ウォーターマーク、枠付、日付、ユーザ名の付加）などを有している。
【００９４】
以降、本発明であるプレビューシステムの詳細について述べる。
【００９５】
図１１はプレビュー画面の一例を示した図である。前述のとおり、プレビュー画面上の領域をグラフィックエンジン２０２に対して指定することにより、このような画面への出力が可能である。
【００９６】
また、図１２はスプールファイル３０３における印刷情報および印刷設定情報を格納した一例を示す図である。これらの情報によって、プレビューするかしないか、両面印刷をするか、１ページに縮小配置するアプリケーションからのページ数などの設定が格納される。
【００９７】
また、図１３はプリンタドライバから送出されるデバイス情報の一例を示した図である。スプールファイル３０３は例に挙げたような形式でデバイス情報を格納することが可能である。また、デバイス情報は、プリンタドライバセットアップユーティリティが工場出荷時から保持しており、プリンタドライバのインストール時に、ＯＳの配下にファイルとして保存されるか、または、図２８の２８０１に示すように、「デバイス情報取得（Ｇ）」ボタンを操作者がマウスを用いて押下するタイミングで、クライアントがプリンタもしくはプリントサーバに双方向通信してデバイス情報を取得してもよい。「デバイス情報取得」ボタンが押されるタイミングでプリンタドライバがネットワークや双方向インタフェースを介してプリンタと双方向通信してデバイス情報を取得する仕組みの場合は、デバイスにフィニッシングオプションが追加、変更された場合でもその都度デバイスに接続されているオプションのフィニッシング機能の取得が可能となり、使い勝手が向上する。これは、近年フィニッシング用のオプションが多様化してきており、キヤノン（株）が提供している画像処理装置である「ＭＥＤＩＯ  ６００」に接続可能なオプションだけでも「サドルフィニッシャー・Ｃ２」、「フィニッシャー・Ｃ１」、「フィニッシャー・Ｅ１」、「マルチトレイ３」などが存在するからである。また、図１３内の「パンチ穴位置情報」や「ステープル位置情報」などは、本実施例では、いずれもプリンタ座標系で示されている。プリンタ座標系とは、デバイスである画像処理装置の解像度に合わせてビットを持つ座標系であり、６００ｄｐｉ（１インチ当たり６００のドットを有する）の座標系である。つまり、パンチ穴位置（Ｘ，Ｙ）は、Ｘドット、Ｙドットの位置を示している。また、メモリの不足等によりデグレード（解像度低下）した場合は、それに応じて変更されることは言うまでもない。また、本実施例では、デバイス情報をプリンタ座標系で保持しているが、これに限るものではなく、基準点からの物理的距離であってもよく、例えば、用紙の左上にある基準点から（Ｘセンチ、Ｙセンチ）の位置というような情報の持たせ方をしてもよい。
【００９８】
図１４はプレビューア３０６がデバイス情報と描画情報をプレビューする際の処理について示したフローチャートである。
【００９９】
ステップ１４０１において、プレビューア３０６は、スプールファイル３０３に格納されているアプリケーションからの描画データから変換された中間データを読み込む。
【０１００】
ステップ１４０２において、プレビューア３０６は、図１２における印刷設定情報および図１３におけるデバイス情報とを含むジョブ設定ファイルの内容およびページ描画ファイルを読み込む。デバイス情報は、前述したように、ＯＳの配下に予めファイルとして保存されているものである。取得方法としては、インストール時に保存されるタイプと、操作者の指定するタイミングでデバイスから直接取得するタイプとがある。
【０１０１】
ステップ１４０３において、プレビューア３０６は、読み込んだジョブ設定ファイルの内容にしたがってページ描画ファイルの中間コードの描画処理を行う。処理手順は、図６におけるスプールファイルマネージャ３０４の処理において、デスプーラ３０５との連携でなく、プレビューア３０６との連携に置きかえ、さらに、図７におけるデスプーラ３０５の処理のフローにおけるステップ７０５を、プリンタに対する印刷処理でなく、画面表示に置き換えた処理を行えばよい。つまり、プレビューア３０６は、スプールファイルマネージャ３０４からの通知に基づいてスプールファイル３０３からページ描画ファイルの中間データを読み込み、ジョブ設定ファイルの印刷設定情報に基づいてレイアウト処理（縮小、拡大、配置順序）を行い、得られた１物理ページ分の中間データをグラフィックエンジン２０２が解釈可能なＧＤＩ関数に変換し、グラフィックエンジン２０２の出力先をＣＲＴディスプレイなどの表示手段にして、グラフィックエンジン２０２がディスプレイドライバに対してＤＤＩ関数をはき出させるようにする。なお、プレビューア３０６は、デスプーラ３０５のように描画処理を行ってＧＤＩ関数をはき出すだけではなく、デバイス情報に基づく描画処理も同時に行う。
【０１０２】
ステップ１４０４において、プレビューア３０６は、中間データに基づく描画データの座標情報とデバイス情報の座標情報から、座標の重なりがないかを判定し、重なりがあればステップ１４０５に進み、なければステップ１４０６に進み、ユーザからのイベントをまつ。この判断は、図１３のデバイス情報に示されるように、例えば、処理中の印刷ジョブにパンチ穴の指定がなされている場合、パンチ穴位置情報とパンチ穴サイズ情報とから、プリンタ座標系のどの位置に、どのくらいの大きさでパンチ穴がなされるのかを判断できる。よって、描画データの座標系の位置と、パンチ穴の位置とから、重なりがないかを判定する。なおステープルについても同様である。また、デバイス情報を前述したような物理的距離で保持している場合は、物理的距離をプリンタ座標系に変換する必要がある。まず、センチメートルをインチに変更し、更にプリンタドライバの「印刷目的」で操作者が設定した印刷解像度に基づいて、インチをドット数に変更する。ここで、「印刷目的」で「文書・表」となっている場合は、印刷解像度は６００ｄｐｉであり、「クイック文書・表」となっている場合は、印刷解像度は３００ｄｐｉの設定となっている。
【０１０３】
ステップ１４０４で座標の重なりが検出された場合は、ステップ１４０５において、プレビューア３０６は、設定の不具合として警告ダイアログを表示する。図１６はその表示例であり、ここでは、警告に対して、印刷続行、修正、印刷中止の選択肢を提供している。
【０１０４】
ステップ１４０６において、プレビューア３０６は、ユーザからのイベントを待ち、イベント入力があればステップ１４０７に進む。
【０１０５】
ステップ１４０７において、イベントが印刷続行であれば、ステップ１４１０へすすみ、プレビューア３０６は印刷続行であると判断し、デスプーラ３０５に通知し、デスプーラに再度中間データからＧＤＩ関数を生成させて印刷を行わせる。また、ユーザからのイベントがその他のイベントならばステップ１４０８へ進む。
【０１０６】
ステップ１４０８において、イベントが修正であれば、ステップ１４１１へすすみ、プレビューア３０６は、プリンタドライバのプロパティ画面を開き、操作者に印刷体裁の修正処理を行わせる。ここで操作者が行うことのできる修正処理は、パンチやステープル処理のキャンセル、用紙サイズの変更、Ｎｕｐ印刷の変更、縮小などによる印刷マージン（上下左右）の変更等であり、描画データ自身に関する修正は行えない。つまり、プリンタドライバのプロパティ画面で設定できる印刷設定情報に限る。描画データ自身を変更したい場合は、「印刷中止」を選択することになる。また、ステップ１４０８において、イベントがその他のイベントなら、ステップ１４０９へ進む。
【０１０７】
ステップ１４０９において、イベントが印刷中止であるとして印刷を中止して、プリンタドライバの処理を中止する。本実施例では、プリンタドライバとは、ＤＤＩ関数からプリンタに出力するＰＤＬを生成するプリンタドライバ２０３だけでなく、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５、プレビューア３０６である、デバイス情報を考慮したプレビューができるモジュールを含んでおり、このプリンタドライバベンダーがＯＳに提供する部分を統括してプリンタドライバと呼ぶ。また、ディスパッチャ３０１、スプーラ３０２、スプールファイルマネージャ３０４、デスプーラ３０５、プレビューア３０６は、プリンタドライバ２０３とは独立したソフトウェアとしても提供できるが、デバイス情報の取得する部分が一部プリンタドライバと連携しなければならない。また、プリンタドライバ２０３の処理以降で、本発明のプレビュー機能を実現することも可能であるが、修正や印刷中止を行うためには、プリンタドライバ２０３に描画データを渡す前に処理する方が効率がよい。また、開発段階においても、プリンタドライバ２０３は、言語に依存されるものであり、キヤノン（株）のプリンタにおいても、近年はＬＩＰＳ  ＩＩＩ、ＬＩＰＳＩＶの２つの言語レベルがあり、また、ＰＣＬやＥＳＣ／Ｐ、ＥＳＣ／Ｐａｇｅ、Ｐｏｓｔｓｃｒｉｐｔ等の言語があり、それぞれのプリンタドライバでプレビュー機能ができるモジュールを開発するのは、開発費上の問題からナンセンスであり、プリンタドライバ２０３に描画データを渡す前に処理した方が、ＯＳレベルでの開発だけで済むので非常に効率がいいのである。なぜなら、現在ＯＳとしては、米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）９５、９８、ＮＴ、米国アップル社のＯＳ８、更にはＬｉｎｕｘ等についての開発すれば、プリンタ言語間についての問題がなくなるからである。
【０１０８】
図１５は図１４のステップ１４０８における修正処理について詳細に説明したフローチャートである。
【０１０９】
まず、ステップ１５０１において、プレビューア３０６は、ユーザからのイベントを待つ。この時点では、前述したように、プリンタドライバのプロパティ画面が表示されており、図１３における“修正”ボタンはグレイアウトされるなど、無効なボタンとして表示してある。
【０１１０】
ステップ１５０２において、図２７のプリンタドライバのプロパティ画面で「ＯＫ」ボタン２７０５が操作者によりマウス等のポインティングデバイスを介して押下されたならば、プレビューア３０６は、イベントが印刷続行であると判断し、ステップ１５０３へ進む。ステップ１５０３において、プレビューア３０６は、ステップ１５０６で後述するメモリに格納された修正内容をスプールファイル３０３へ更新し、印刷を行い、処理を抜ける。
【０１１１】
ステップ１５０４において、図２７のプリンタドライバのプロパティ画面で「更新」ボタン２７０７が操作者によりマウス等のポインティングデバイスを介して押下されたならば、プレビューア３０６は、修正内容に関するイベントと判断し、ステップ１５０６へ進む。
【０１１２】
ステップ１５０６において、プレビューア３０６は、図２７に示すようなプリンタドライバのプロパティ画面で現在設定されている印刷設定情報をプリンタドライバ２０３から取得し、取得された印刷設定情報をスプールファイル３０３に格納し、既に記憶されている印刷設定情報を更新する。
【０１１３】
ステップ１５０４で修正内容に関するイベントでもないと判定された場合、例えば、図２７のプロパティ画面において「キャンセル」ボタン２７０６が押下された場合は、ステップ１５０５において、プレビューア３０６は、イベントが印刷中止であるとして印刷を中止する。
【０１１４】
以上の処理のとおり、プレビューシステムにおいて、デバイス情報と描画情報を同時にプレビューし、さらに不具合が検知された場合、警告を促し、修正を可能にすることによって、ユーザの要求に合致した出力を提供することが可能となる。
【０１１５】
（第二実施例）
本実施例においては、両面印刷可能デバイスに対して印刷を行う場合のプレビューシステムに関する処理を説明する。なお、第二実施例の構成は、第一実施例で説明したものと同様であるので、ハード、ソフトモジュール構成の説明を省略する。符号は第一実施例で用いたものを用いて説明を行う。
【０１１６】
第一実施例の図１２に示すとおり、印刷設定情報には両面印刷を行うかどうかの設定を含んでいる。
【０１１７】
また、図１７はプレビューア３０６が両面印刷を行う印刷データに対して、どのような表示を行うかを設定するためのダイアログの一例である。このダイアログは、プリンタドライバ２０２から設定可能でもよい。その場合は、設定内容が図１２のような印刷設定の変数として格納されることになる。また、このダイアログは、プレビューア３０６から表示設定可能でもあり、プレビューを行う際に、プレビューア３０６が図１２に示すダイアログを表示し、操作者に指定させることになる。本実施例においては、表示の設定はプレビューア３０６から行うことを想定して説明を行う。図１８は、３ページからなる印刷ジョブにおいて、図１７における設定に対応する表示を示した図である。
図１８（ａ）は、図１７における「全ページ表示」を選択した際の表示である。この場合、あたかも裏面が別の用紙のように表示されるが、全ページの表示が可能となる。この「全ページを表示」を選択した場合、他の選択肢はグレイアウトされ、選択されなくなる。
図１８（ｂ）は、図１７における「表面のみ表示」を選択し、かつ「裏を透かしたプレビュー」を選択せず、「奇数ページを表面にする」を選択した際の表示である。
図１８（ｃ）は、図１７における「表面のみ表示」を選択し、かつ「裏を透かしたプレビュー」および「奇数ページを表面にする」を選択しない場合の表示である。
図１８（ｄ）は、図１７における「表面のみ表示」を選択し、かつ「裏を透かしたプレビュー」を選択し、「奇数ページを表面にする」を選択した際の表示である。
図１８（ｅ）は、図１７における「表面のみ表示」を選択し、かつ「裏を透かしたプレビュー」を選択し、「奇数ページを表面にする」を選択しない場合の表示である。
ここで、図１７の「表面のみ表示」を選択した場合は、「裏を透かしたプレビュー」「奇数ページを表面にする」が選択可能である。
【０１１８】
全ページ表示ＯＦＦにした場合の選択肢およびその際の図１８との対応表は図１９に示す通りである。
【０１１９】
図２０は図１８（ａ）の表示を行うための処理を示すフローチャートである。
ステップ２００１において、プレビューア３０６は、カウンタｉを１にセットする。
ステップ２００２において、プレビューア３０６は、印刷設定情報から印刷ジョブのページ数を入力する。
ステップ２００３において、プレビューア３０６は、カウンタｉが頁数をこえたか判定し、こえたならばプレビュー処理を終えたとして処理を抜ける。こえていなければステップ２００４へ進む。
ステップ２００４において、プレビューア３０６は、プレビュー画面内に第ｉページの描画領域を決定する。
ステップ２００５において、プレビューア３０６は、描画領域に対して第ｉページの描画を行う。この描画処理は第一実施例で説明したように、スプールファイル３０３から読み出した中間データを描画データであるＧＤＩ関数に変更してグラフィックエンジン２０２に出力する処理のことである。
ステップ２００６において、プレビューア３０６は、カウンタｉを１増加させ、ステップ２００２に処理を戻し、次ページのプレビュー処理を行う。
【０１２０】
図２１は図１８（ｂ）の表示を行うための処理を示すフローチャートである。
ステップ２１０１において、プレビューア３０６は、カウンタｉを１にセットする。
ステップ２１０２において、プレビューア３０６は、印刷設定情報から印刷ジョブのページ数を入力する。
ステップ２１０３において、プレビューア３０６は、カウンタｉが頁数をこえたか判定し、こえたならばプレビュー処理を終えたとして処理を抜ける。こえていなければステップ２１０４へ進む。
ステップ２１０４において、プレビューア３０６は、プレビュー画面内に第ｉページの描画領域を決定する。
ステップ２１０５において、プレビューア３０６は、描画領域に対して第ｉページの描画を行う。
ステップ２１０６において、プレビューア３０６は、カウンタｉを２増加させ、ステップ２１０２に処理を戻し、次の奇数ページのプレビュー処理を行う。
【０１２１】
図２２は図１８（ｃ）の表示を行うための処理を示すフローチャートである。
ステップ２２０１において、プレビューア３０６は、カウンタｉを１にセットする。
ステップ２２０２において、プレビューア３０６は、印刷設定情報から印刷ジョブのページ数を入力する。
ステップ２２０３において、プレビューア３０６は、カウンタｉが頁数をこえたか判定し、こえたならばプレビュー処理を終えたとして処理を抜ける。こえていなければステップ２２０４へ進む。
ステップ２２０４において、プレビューア３０６は、プレビュー画面内に第ｉページの描画領域を決定する。
ステップ２２０５において、プレビューア３０６は、描画領域に対して第ｉページの描画を行う。
ステップ２２０６において、プレビューア３０６は、カウンタｉを２増加させ、ステップ２２０２に処理を戻し、次の偶数ページのプレビュー処理を行う。
【０１２２】
図２３は図１８（ｄ）の表示を行うための処理を示すフローチャートである。
ステップ２３０１において、プレビューア３０６は、カウンタｉを１にセットする。
ステップ２３０２において、プレビューア３０６は、印刷設定情報から印刷ジョブのページ数を入力し、更に図２５に示す濃度調整のダイアログで操作者により設定入力された裏面の描画濃度値を入力する。図２５の濃度調整のダイアログは、図１７の両面印刷時の表示設定ダイアログで操作者が「裏を空かしたプレビュー」をチェックを行った状態で「ＯＫ」ボタンが押下された場合に、表示されるものとする。
ステップ２３０３において、プレビューア３０６は、カウンタｉが頁数をこえたか判定し、こえたならばプレビュー処理を終えたとして処理を抜ける。こえていなければステップ２３０４へ進む。
ステップ２３０４において、プレビューア３０６は、画面内に第ｉページおよび第（ｉ＋１）ページの描画領域を決定する。これらの描画領域は同一座標となる。
ステップ２３０５において、プレビューア３０６は、描画領域に対して第（ｉ＋１）ページの描画を行う。この際の描画は濃度を薄くし、反転させて描画する。また反転処理は、中間データから描画データを再生成する際に、反転指示する命令と描画濃度値に基づく濃度命令とを付加してグラフィックエンジン２０２に出力する。
ステップ２３０６において、プレビューア３０６は、描画領域に対して第ｉページの描画を行う。この際の描画は第（ｉ＋１）ページと同じ領域に上書きするので、第ｉページにおいて描画のない座標については第（ｉ＋１）ページの描画を消さないように上書き描画を行う。
ステップ２３０７において、プレビューア３０６は、カウンタｉを２増加させ、ステップ２３０２に処理を戻し、次のページのプレビュー処理を行う。
【０１２３】
図２４は図１８（ｅ）の表示を行うための処理を示すフローチャートである。
ステップ２４０１において、プレビューア３０６は、カウンタｉを１にセットする。
ステップ２４０２において、プレビューア３０６は、印刷設定情報から印刷ジョブのページ数を入力し、更に前述した図２５の濃度調整のダイアログで操作者により設定入力された裏面の描画濃度値を入力する。
ステップ２４０３において、プレビューア３０６は、カウンタｉが頁数をこえたか判定し、こえたならばプレビュー処理を終えたとして処理を抜ける。こえていなければステップ２４０４へ進む。
ステップ２４０４において、プレビューア３０６は、画面内に第ｉページおよび第（ｉ＋１）ページの描画領域を決定する。これらの描画領域は同一座標となる。
ステップ２４０５において、プレビューア３０６は、描画領域に対して第ｉページの描画を行う。この際の描画は濃度を薄くし、反転させて描画する。
ステップ２４０６において、プレビューア３０６は、描画領域に対して第（ｉ＋１）ページの描画を行う。この際の描画は第（ｉ＋１）ページと同じ領域に上書きするので、第ｉページにおいて描画のない座標については第（ｉ＋１）ページの描画を消さないように上書き描画を行う。
ステップ２４０７において、プレビューア３０６は、カウンタｉを２増加させ、ステップ２４０２に処理を戻し、次のページのプレビュー処理を行う。
【０１２４】
以上の処理により、両面印刷におけるプレビューにおいて、複数の表示方法を提供可能となる。
【０１２５】
上記第一実施例及び第二実施例の説明は、図８のプリンタドライバのプロパティにおいて、出力先の選択８０３を「プレビュー」もしくは「ストア」とした場合のものである。ここで、「ストア」とした場合について、説明を補足する。
【０１２６】
前述したように、出力先として「ストア」が選択された場合は、中間データとしてページ描画ファイル及びジョブ設定ファイルがスプールファイル３０３に格納された時点で、スプールファイルマネージャのウィンドウ図９がポップアップされる。ウィンドウ９０３には、中間データ（ページ描画ファイル及びジョブ設定ファイル）としてスプールされているファイルがリスト表示されている。リスト表示されているアイコンにマウスを近づけると、マウスとアイコンとの重なりが判断され、重なっていると判断されると、アイコン近傍にジョブ設定情報が表示される。ここでは、「Ｊｏｂ１」は、６００ｄｐｉ、１ページ印刷、片面印刷の設定となっていることがわかる。またページ数は８ページである。
【０１２７】
このジョブに対して、「ジョブ編集」を選択すると、図２９のユーザインタフェースが表示される。この図において、２９０１は、ジョブ名称であり、名称の変更をすることができる。２９０２は、小プレビューを表示させるウィンドウであり、ここに表示されているプレビューもまた、プレビューア３０６により生成されたものである。またプレビューでは、必要な用紙枚数（物理ページ枚数）をカウントして表示している。「Ｊｏｂ１」は８ページの用紙を必要とする。
【０１２８】
２９０３は「ページの削除」ボタンであり、このボタンをユーザが押下した場合に、ウィンドウ２９０２で指定されているページが削除される。指定されているページは図３２の「Ｊｏｂ１−３」の部分のように枠で囲まれているのでユーザが認識可能となっている。図３２では、「Ｊｏｂ１−４」のページが削除されている。ここで、ページの削除指示によって論理ページがプレビューから削除されるが、実際のページ描画ファイルの削除は行わずに、ジョブ設定ファイルのコピーであるジョブ出力用ファイルを生成し、そこで使用する論理ページ番号を変更することにより実現する。こうすることにより、「初期状態に戻す」ボタンが押下された場合に、今まで削除した論理ページの復活を可能とする。
【０１２９】
２９０４は「プレビュー」ボタンであり、このボタンをユーザが押下した場合に、図１１に示すような大きなプレビューが表示されることになる。プレビューの作成方法は前述したように小プレビューも大プレビューも同様であり、拡大率が異なるだけである。
【０１３０】
２９０５は、印刷方法を変更するプルダウンメニューであり、「片面印刷」「両面印刷」「製本印刷」のいずれかを指定することができる。図２９では「片面印刷」時のプレビューとなっているが、この印刷方法を「両面印刷」と変更することにより、図３０のようにプレビュー画面が自動的に切り替わる。図３０の画面では、「両面印刷」がわかるように、表面の右下を手前に折っており、裏面の左下を奥に折っているプレビューとなっている。また、用紙枚数が半分となるので、表面と裏面の間に用紙枚数を表示している。これは、プレビューア３０６のプレビュー処理時に、スプールファイル３０３からジョブ設定情報とページ描画ファイルを読み込みグラフィックエンジン２０２にＧＤＩ関数を出力する際に、スプールファイルマネージャ３０４からスプールファイルマネージャのウィンドウのジョブ編集（図２９）において設定されている印刷設定を取得し、両面印刷時にはページカウントを半分にすることにより実現する。また、スプールファイルマネージャのウィンドウにおいて、印刷設定が変更される毎に、スプールファイル３０３のジョブ設定ファイルのコピーを生成し、そのファイルに設定変更を書き換え、プレビュー時にプレビューア２０６がその変更されているジョブ設定ファイルを読み込むことにより実現することもできる。
【０１３１】
２９０６は、ページレイアウトを変更するプルダウンメニューであり、「１ページ／枚」「２ページ／枚」「４ページ／枚」「８ページ／枚」「２×２ポスター」「３×３ポスター」「４×４ポスター」のいずれかを指定することができる。図２９では「１ページ／枚」時のプレビューとなっているが、このページレイアウトを「２ページ／枚」と変更することにより、図３１のようにプレビューが面が自動的に切り替わる。図３１の画面では、「２ページ／枚」のページレイアウトがわかるように、１枚の用紙（１物理ページ）に２つの論理ページが描画されている。なお、図３１では両面印刷なので、用紙１枚に対して、表裏合わせて４論理ページが描画されている。
【０１３２】
２９０７は、詳細設定を変更するためのボタンであり、このボタンを押下することにより、図２７のプリンタドライバのプロパティ画面が表示される。ここで、印刷設定の詳細な変更が可能となる。プリンタドライバのプロパティ画面において設定が変更され「ＯＫ」ボタンが押下されると、図２９のジョブ編集画面において、小プレビューが印刷設定に対応して変更されることになる。
【０１３３】
このように、プリンタドライバの出力先をストアとして中間ファイルでスプールファイル３０３に保持しておくことにより、プレビューが可能となり、更には印刷設定の変更ができ、その変更に応じてプレビューを表示できるので、ユーザの使い勝手がよくなる。
【０１３４】
（第三実施例）
実施例２においては、両面印刷可能デバイスに対して印刷を行う場合のプレビューシステムにおいて、ページ数を確定してからプレビュー処理を行う処理について説明したが、本実施例では、ページ数を確定する以前からプレビュー処理を行うことも可能である。
【０１３５】
具体的には、図７におけるステップ７０５に対して、図２６に示す処理を行えば良い。図２６は、デスプーラ３０５とプレビューア３０６の処理を説明するフローチャートである。
ステップ２６０１において、デスプーラ３０５は、印刷要求通知されたページ番号を取得する。
ステップ２６０２において、デスプーラ３０５は、予め操作者により図１７のダイアログで設定入力されている表示設定情報を取得し、印刷要求されたページ番号がプレビューできるページ番号であるか判定する。例えば、図１８（ｂ）においては、偶数ページのみの描画となるので、プレビュー不可能として、ステップ７０１に戻る。また、図１８（ｄ）においては、偶数ページからの描画を行うので、描画は行わずステップ７０１に戻る。このように、プレビューが不可能となったケースは、ステップ７０６において、印刷終了通知を２物理ページ分まとめて送出することとなる。
【０１３６】
また、上記以外についてはプレビュー可能となるのでステップ２６０３へ進む。
【０１３７】
ステップ２６０３において、デスプーラ３０５はプレビューア３０６を起動して処理中のページ番号を通知し、プレビューア３０６は指定されたページのプレビュー描画処理を行う。描画方法については、実施例２におけるそれぞれの描画方法に従う。
【０１３８】
以上のステップにより、ページ数を確定する前にプレビュー処理を行うことが可能である。
【０１３９】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１４０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１４１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１４３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【符号の説明】
【０１４５】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
１２  ＣＰＵ
１３  ＲＯＭ
１９  ＲＡＭ
３０００  ホストコンピュータ
１５００  プリンタ
【図１】
2011044152.tif 000003
【図２】
2011044152.tif 000004
【図３】
2011044152.tif 000005
【図４】
2011044152.tif 000006
【図５】
2011044152.tif 000007
【図６】
2011044152.tif 000008
【図７】
2011044152.tif 000009
【図８】
2011044152.tif 000010
【図９】
2011044152.tif 000011
【図１０】
2011044152.tif 000012
【図１１】
2011044152.tif 000013
【図１２】
2011044152.tif 000014
【図１３】
2011044152.tif 000015
【図１４】
2011044152.tif 000016
【図１５】
2011044152.tif 000017
【図１６】
2011044152.tif 000018
【図１７】
2011044152.tif 000019
【図１８】
2011044152.tif 000020
【図１９】
2011044152.tif 000021
【図２０】
2011044152.tif 000022
【図２１】
2011044152.tif 000023
【図２２】
2011044152.tif 000024
【図２３】
2011044152.tif 000025
【図２４】
2011044152.tif 000026
【図２５】
2011044152.tif 000027
【図２６】
2011044152.tif 000028
【図２７】
2011044152.tif 000029
【図２８】
2011044152.tif 000030
【図２９】
2011044152.tif 000031
【図３０】
2011044152.tif 000032
【図３１】
2011044152.tif 000033
【図３２】
2011044152.tif 000034