(57)【特許請求の範囲】
【請求項１】
情報処理装置を，
ＲＡＷスプール形式を利用する印刷ジョブの画像データを取得し，当該画像データからプレビュー用のイメージデータであるプレビューデータを生成するプレビューデータ生成手段と，
少なくとも１ページ分の前記プレビューデータを生成したことを契機にプレビューアを起動し，当該プレビューアに前記プレビューデータを表示させる表示手段と，
ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得し，当該画像データから印刷装置用の印刷データを生成する印刷データ生成手段と，
前記プレビューアに表示している前記プレビューデータの印刷指示を受け付け，当該印刷指示を受け付けた場合に当該プレビューデータに対応する印刷データを前記印刷装置に出力する出力手段と，
として機能させ，さらに，
前記プレビューデータ生成手段と前記印刷データ生成手段とを共に，ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得したことを契機に機能させる，
ことを特徴とするプログラム。
【請求項２】
請求項１に記載するプログラムにおいて，
前記画像データについてプレビュー表示の指示があるか否かを判断する判断手段と，
前記判断手段にてプレビュー表示の指示があると判断された場合には，前記印刷データ生成手段にＲＡＷスプール形式で前記印刷データを生成させ，前記判断手段にてプレビュー表示の指示がないと判断された場合には，前記印刷データ生成手段に前記印刷ジョブに指定されているスプール形式で前記印刷データを生成させる制御手段と，
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項３】
請求項１または請求項２に記載するプログラムにおいて，
前記出力手段は，用紙単位で印刷指示を受け付け，印刷指示を受け付けた用紙のプレビューデータに対応する印刷データを前記印刷装置に出力することを特徴とするプログラム。
【請求項４】
請求項１から請求項３のいずれか１つに記載するプログラムにおいて，
前記印刷データは，ＰＤＬデータであることを特徴とするプログラム。
【請求項５】
請求項１から請求項４のいずれか１つに記載するプログラムにおいて，
前記プレビューデータは，ビットマップデータもしくはその圧縮データであることを特徴とするプログラム。
【請求項６】
請求項１から請求項５のいずれか１つに記載するプログラムにおいて，
前記表示手段は，前記印刷ジョブの全てのプレビューデータを生成したことを契機に前記プレビューアを起動することを特徴とするプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するプログラムにおいて，
ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得した後，プレビューデータの生成が完了するまでの間，プレビューデータの生成中であることを示す情報をユーザに通知する通知手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項８】
請求項７に記載するプログラムにおいて，
前記通知手段が通知する前記情報には，前記印刷ジョブ全体におけるプレビューデータ
の生成状況の進捗が含まれ，
少なくとも１ページ分の前記プレビューデータを生成する度に，前記通知手段が通知する前記進捗を更新する更新手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項９】
情報処理装置を，
ＲＡＷスプール形式を利用する印刷ジョブの画像データを取得し，当該画像データからプレビュー用のイメージデータであるプレビューデータを生成するプレビューデータ生成手段と，
少なくとも１ページ分の前記プレビューデータを生成したことを契機にプレビューアを起動し，当該プレビューアに前記プレビューデータを表示させる表示手段と，
ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得し，当該画像データから印刷装置用の印刷データを生成する印刷データ生成手段と，
前記プレビューアに表示している前記プレビューデータの印刷指示を受け付け，当該印刷指示を受け付けた場合に当該プレビューデータに対応する印刷データを前記印刷装置に出力する出力手段と，
として機能させ，さらに，
前記出力手段を，前記プレビューアを実行することによって機能させる，
ことを特徴とするプログラム。
【請求項１０】
印刷装置によって用紙に印刷される画像のイメージデータであるプレビューデータを表示するプレビューアと，
ＲＡＷスプール形式を利用する印刷ジョブの画像データを取得し，当該画像データから前記プレビューア用のプレビューデータを生成するプレビューデータ生成手段と，
少なくとも１ページ分の前記プレビューデータを生成したことを契機に前記プレビューアを起動し，前記プレビューアに前記プレビューデータを表示させる表示手段と，
ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得し，当該画像データから印刷装置用の印刷データを生成する印刷データ生成手段と，
前記プレビューアに表示している前記プレビューデータの印刷指示を受け付け，当該印刷指示を受け付けた場合に当該プレビューデータに対応する印刷データを前記印刷装置に出力する出力手段と，
を備え，
前記プレビューデータ生成手段と前記印刷データ生成手段とは，共に，ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得したことを契機に機能する，
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，プログラムおよび情報処理装置に関する。さらに詳細には，用紙に印刷される画像のイメージデータであるプレビューデータを表示するプレビュー機能を有するプログラムおよび情報処理装置に関するものである。
【背景技術】
【０００２】
従来から，印刷装置にて印刷を行う前に，プレビューアにプレビューデータを表示するプレビュー機能が知られている。例えば，Microsoft Windows（登録商標）を搭載している情報処理装置において，オペレーティングシステム（ＯＳ）のスプーラとは別に，プリンタドライバが独自のスプーラを用意し，その独自のスプーラを利用してプレビュー機能を実現するものや，ＯＳのスプーラを利用するものの，そのスプーラからファイルを読み出してプレビュー用のファイルを生成するものが開示されている。
【０００３】
具体的に，特許文献１に開示されている実施例では，次のような手順でプレビュー機能を実現する。先ず，ＯＳがアプリケーションから印刷指示を受け付けると，印刷対象の文書データが中間データに変換され，その中間データがＥＭＦ（Enhanced Metafile）スプールファイルに格納される。さらに印刷指示を受け付けた際には，プレビューアが起動される。その後，プレビューアが，プリンタドライバが提供するプリントプロセッサにプレビュー用のプレビューデータの生成を要求し，プリントプロセッサがプレビュー対象のデータをＥＭＦスプールファイルから読み出し，プリンタドライバが提供するプリンタグラフィックドライバにプレビューデータを生成させる。プレビューアは，プレビューデータの生成完了を受け付け，そのプレビューデータを表示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１６７７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら，特許文献１に開示されている技術では，プレビューアがプレビューデータの生成を要求し，専用のプリントプロセッサがその要求を受けてＥＭＦスプールファイルに格納されているプレビュー対象のデータを読み出した上で，プレビューアはプレビューデータの生成完了を待つ。つまり，プレビューアの起動後にプレビューデータの生成が始まり，プレビューデータの生成後，そのプレビューデータの生成完了が通知されるのを待ってそのプレビューデータがプレビューアに表示される。このように，プレビューアを起動してからプレビューデータを表示できるまでの処理が複雑である。
【０００６】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，プレビューアを起動してからプレビューデータを表示するまでの処理がシンプルなプログラムおよび情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされたプログラムは，情報処理装置を，ＲＡＷスプール形式を利用する印刷ジョブの画像データを取得し，当該画像データからプレビュー用のイメージデータであるプレビューデータを生成するプレビューデータ生成手段と，少なくとも１ページ分の前記プレビューデータを生成したことを契機にプレビューアを起動し，当該プレビューアに前記プレビューデータを表示させる表示手段として機能させることを特徴としている。
【０００８】
本明細書で開示されるプログラムは，ＲＡＷスプール形式を利用する印刷ジョブの画像データに基づいて，プレビュー用のプレビューデータを生成する。プレビューデータは，プレビューアで表示可能なデータ形式であればよい。例えば，ビットマップデータもしくはその圧縮データが該当する。このプレビューデータは，ＲＡＷスプール形式を利用する際にＯＳが生成するファイルとは別の，プレビューデータ用のファイルに格納する。そして，本プログラムは，少なくとも１ページ分のプレビューデータを生成したことを契機に，プレビューアを起動する。そして，プレビューアに，生成したプレビューデータを表示させる。
【０００９】
すなわち，本明細書で開示されるプログラムでは，印刷プレビューを表示するにあたって，ＲＡＷスプール形式を利用する印刷ジョブを対象とし，プレビューアからの要求を受けることなくプレビューデータの生成を開始する。そして，プログラムは，プレビューデータを生成した後にプレビューアを起動し，プレビューデータ用のファイルに格納されたプレビューデータをプレビューアが読み出すことでそのプレビューデータを表示させる。つまり，プレビューアにプレビューデータを表示させるにあたって，少なくともプレビューアからプレビューデータの生成要求を発行する必要がなく，処理がシンプルである。
【００１０】
また，本明細書で開示されるプログラムは，ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得し，当該画像データから印刷装置用の印刷データを生成する印刷データ生成手段と，前記プレビューアに表示している前記プレビューデータの印刷指示を受け付け，当該印刷指示を受け付けた場合に当該プレビューデータに対応する印刷データを前記印刷装置に出力する出力手段として前記情報処理装置を機能させるとよい。印刷データとしては，例えばＰＤＬデータが該当する。この印刷データも，ＲＡＷスプール形式を利用する際にＯＳが生成するファイルとは別の，印刷データ用のファイルに格納する。この構成によれば，取得した画像データから印刷データも作成し，プレビューアにその印刷データの送信機能を持たせるため，アプリケーションから再度印刷開始指示を入力しなくてもよく，ユーザの使い勝手が良い。
【００１１】
また，本明細書で開示されるプログラムは，前記画像データについてプレビュー表示の指示があるか否かを判断する判断手段と，前記判断手段にてプレビュー表示の指示があると判断された場合には，前記印刷データ生成手段にＲＡＷスプール形式で前記印刷データを生成させ，前記判断手段にてプレビュー表示の指示がないと判断された場合には，前記印刷データ生成手段に前記印刷ジョブに指定されているスプール形式で前記印刷データを生成させる制御手段として前記情報処理装置を機能させるとよい。プレビュー表示を行わない場合には，指定されたスプール形式に従って印刷データを生成する方が好ましい。
【００１２】
また，前記出力手段は，用紙単位で印刷指示を受け付け，印刷指示を受け付けた用紙のプレビューデータに対応する印刷データを前記印刷装置に出力するとよい。用紙単位での印刷指示を可能にすることで，プレビューの利便性が高まる。
【００１３】
また，前記表示手段は，前記印刷ジョブの全てのプレビューデータを取得したことを契機に前記プレビューアを起動するとよい。１ジョブ分のプレビューデータをプレビューアに纏めて表示させることができ，用紙１枚分のプレビューデータが生成される度にそのプレビューデータをプレビューアに表示させる処理が不要であることから，処理がよりシンプルになる。
【００１４】
また，本明細書で開示されるプログラムは，ＲＡＷスプール形式を利用する印刷ジョブの前記画像データを取得した後，プレビューデータの生成が完了するまでの間，プレビューデータの生成中であることを示す情報をユーザに通知する通知手段として前記情報処理装置を機能させるとよい。上記情報を通知することで，プレビューデータが表示されるまでのユーザの不安を軽減することが期待できる。
【００１５】
また，前記通知手段が通知する前記情報には，前記印刷ジョブ全体におけるプレビューデータの生成状況の進捗が含まれ，本明細書で開示されるプログラムは，少なくとも１ページ分の前記プレビューデータを生成する度に，前記通知手段が通知する前記進捗を更新する更新手段として前記情報処理装置を機能させるとよい。進捗を通知することで，プレビューデータが表示されるまでのユーザの不安を軽減することがより期待できる。
【００１６】
また，本明細書には，印刷装置によって用紙に印刷される画像のイメージデータであるプレビューデータを表示するプレビューアと，ＲＡＷスプール形式を利用する印刷ジョブの画像データを取得し，当該画像データから前記プレビューア用のプレビューデータを生成するプレビューデータ生成手段と，少なくとも１ページ分の前記プレビューデータを生成したことを契機に前記プレビューアを起動し，前記プレビューアに前記プレビューデータを表示させる表示手段とを備えることを特徴とする情報処理装置が開示されている。
【発明の効果】
【００１７】
本発明によれば，プレビューアを起動してからプレビューデータを表示するまでの処理がシンプルなプログラムおよび情報処理装置が実現される。
【図面の簡単な説明】
【００１８】
【図１】実施の形態に係るプリントシステムの構成を示すブロック図である。
【図２】ＰＣに組み込まれたプログラムの構成を示すブロック図である。
【図３】印刷設定画面の構成を示す図である。
【図４】進捗状況を表示するメッセージボックスの表示例を示す図である。
【図５】プレビューアの構成を示す図である。
【図６】プリンタプロパティ画面の構成を示す図である。
【図７】ＲＡＷスプール形式での，印刷データを出力する手順を示すブロック図である。
【図８】ＥＭＦスプール形式での，印刷データを出力する手順を示すブロック図である。
【図９】印刷プレビュー使用時の，印刷データを出力する手順を示すブロック図である。
【図１０】第１の形態に係るプリントシステムのプレビュー機能の処理シーケンスを示す図である。
【図１１】第１の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【図１２】第１の形態に係るプレビューアのプレビューア印刷処理の手順を示すフローチャートである。
【図１３】プレビューアから印刷データを送信する際のデータの流れを示す図である。
【図１４】第２の形態に係るプリントシステムのプレビュー機能の処理シーケンスを示す図である。
【図１５】第２の形態に係るプリンタドライバの印刷処理の手順を示すフローチャートである。
【図１６】第２の形態に係るプレビューアのプレビューア印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下，本発明にかかる画像処理装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，印刷データを生成するプリンタドライバがインストールされたパーソナルコンピュータ（以下，単に「ＰＣ」とする）に本発明を適用したものである。
【００２０】
［プリントシステムの構成］
本形態のプリントシステム１００は，図１に示すように，プリンタ２（印刷装置の一例）と，プリンタ２を制御するＰＣ１（情報処理装置の一例）とを備えている。プリントシステム１００では，ＰＣ１とプリンタ２とがＵＳＢケーブルを介して接続されている。
【００２１】
なお，プリントシステム１００を構成するプリンタおよびＰＣは各１台に限るものではなく，それぞれ複数台接続してもよい。また，ＰＣ１とプリンタ２との接続は，ＵＳＢケーブルに限らず，その他のシリアル通信ケーブル，パラレル通信ケーブル，有線ＬＡＮケーブル，さらには無線ＬＡＮ等の無線通信経路であってもよい。
【００２２】
ＰＣ１は，各種処理を実行するＣＰＵ１１と，当該ＰＣ１の起動時にＣＰＵ１１が行う起動処理のプログラム（ＢＩＯＳ）等を記憶したＲＯＭ１２と，ＣＰＵ１１が各種処理を行う際に一時的な記憶領域として利用されるＲＡＭ１３と，各種のプログラムやデータを記憶したハードディスクドライブ（ＨＤＤ）１４とを有している。
【００２３】
また，ＰＣ１は，キーボードやマウス等からなる操作部１５と，液晶ディスプレイ等からなる表示部１６と，ＵＳＢインターフェース１７と，ネットワークインターフェース１８とを有している。
【００２４】
ＰＣ１のＨＤＤ１４には，図２に示すように，オペレーティングシステム（ＯＳ）５０と，アプリケーションプログラム６１（文書作成ソフト，作図ソフト，表計算ソフト，写真データ編集ソフト等）と，プリンタ２を制御するプリンタドライバ４０（プログラムの一例）とが記憶されている。
【００２５】
ＰＣ１に組み込まれたアプリケーションプログラム６１は，プリンタドライバ４０に印刷指令を出力する機能を備えており，この印刷機能によって原稿画像となる画像データがプリンタドライバ４０に渡される。プリンタドライバ４０は，印刷対象の画像データに基づいて，プリンタ２で印刷するために必要なＰＤＬ形式の印刷データを生成する。
【００２６】
プリンタドライバ４０が作成した印刷データは，ＵＳＢインターフェース１７を経由してプリンタ２へと送信される。プリンタ２は，印刷データを受信し，その印刷データに基づいて，用紙に画像を形成する。
【００２７】
プリンタ２は，用紙に画像を形成する機能を有していればよく，その画像形成方式は，電子写真方式，インクジェット方式，その他の一般的な画像形成方式を採用していればよい。また，カラー画像及びモノクロ画像の画像形成が可能であっても，モノクロ画像のみの画像形成が可能であってもよい。
【００２８】
また，本形態のプリンタドライバ４０は，印刷データを送信する前に，用紙に印刷される画像のイメージデータであるプレビューデータをＰＣ１に表示するプレビュー機能を有している。また，本形態のプリンタドライバ４０は，印刷プレビューを表示するか否かの設定を行う機能を有している。
【００２９】
具体的に，本形態のプリンタドライバ４０は，印刷プレビューを表示する場合，印刷データをプリンタ２に送信する前に，プレビューア４２を起動する。そして，そのプレビューア４２にプレビューデータを表示させる。一方，印刷プレビューを表示しない場合には，プレビューア４２を起動することなく，印刷データをプリンタ２に送信する。プリンタドライバ４０の詳細については後述する。
【００３０】
なお，本明細書におけるプレビュー機能は，アプリケーションプログラム６１が具備している機能ではなく，プリンタドライバ４０が具備する機能である。２ｉｎ１等の集約印刷やウォータマークの付与等の加工は，プリンタドライバ４０が印刷データを生成する際に行うこともあり，プリンタドライバ４０が行う加工はアプリケーションプログラム６１によるプレビューでは反映されない。プリンタドライバ４０によるプレビューは，プリンタドライバ４０が行う加工を反映したプレビューデータを表示できる。
【００３１】
［プリンタドライバの構成］
続いて，プリンタドライバ４０の構成について，図２を参照しつつ説明する。なお，ＰＣ１には，オペレーティングシステム（ＯＳ）５０として，Microsoft Windows（登録商標）が組み込まれているものとする。
【００３２】
プリンタドライバ４０（表示手段，出力手段の一例）は，印刷ジョブの各種設定に関するユーザ入力を可能にするユーザインターフェースドライバ４１と，印刷イメージを表示部１６に表示するプレビューア４２と，プリンタ２用のデータである印刷データの生成と，プレビューア４２用のデータであるプレビューデータの生成とを行うプリンタグラフィックスドライバ４３（プレビューデータ生成手段，印刷データ生成手段の一例）とを有している。
【００３３】
具体的に，ユーザインターフェースドライバ４１は，図３に示すような印刷の際の各種の属性をユーザに設定させる印刷設定画面４１１を提供する。印刷設定画面４１１では，用紙サイズ，用紙種類，印刷品質，印刷向き等の，一般的な印刷設定の他，印刷プレビューを表示するか否かの設定を行うことが可能である。
【００３４】
印刷プレビューを表示する設定がチェックされた場合（以下，チェックされた場合を「ＯＮ」とし，チェックされていない場合を「ＯＦＦ」とする）には，プリンタドライバ４０は印刷データをプリンタ２に送信する前にプレビューア４２を起動し，プレビューア４２にプレビューデータを表示させる。そして，プレビューア４２にて印刷するか否かの指示を受け付け，印刷する指示である印刷指示が入力された場合にはプレビューア４２からプリンタ２に印刷データを送信する。一方，印刷プレビューを表示する設定がＯＦＦの場合には，プレビューア４２を起動することなく，印刷データをプリンタ２に送信する。
【００３５】
また，ユーザインターフェースドライバ４１は，印刷設定画面４１１の他，各種のメッセージボックスを提供する。特に，ユーザインターフェースドライバ４１は，印刷プレビューを表示する設定がＯＮの場合に，図４に示すようなプレビューデータの生成進捗を表示する進捗メッセージボックス４１２（通知手段の一例）を起動する。
【００３６】
また，ユーザインターフェースドライバ４１は，印刷プレビューを表示する設定がＯＮの場合に，プレビューア４２を起動する機能を有している。プレビューア４２の起動タイミングについては後述する。
【００３７】
プレビューア４２は，図５に示すように，１ページ分（用紙１枚分に相当）のプレビューデータを表示するイメージ領域４２１と，各ページ（用紙）を印刷対象とするか否かを設定するページ選択チェックボックス群４２２と，印刷対象となったページの印刷指示を受け付ける印刷実行ボタン４２３と，印刷ジョブを中止するキャンセルボタン４２４と，ページ選択チェックボックス群４２２に表示されている全ページを印刷対象に設定する全ページチェックボタン４２５と，次のページのプレビューデータをイメージ領域４２１に表示する指示を受け付ける次ページボタン４２６と，前のページのプレビューデータをイメージ領域４２１に表示する指示を受け付ける前ページボタン４２７とを有している。
【００３８】
ページ選択チェックボックス群４２２中，イメージ領域４２１に表示中のページ番号には，下線が表示される。これにより，ユーザは，イメージ領域４２１に表示中のページ番号を把握できる。また，ページ選択チェックボックス群４２２には，プレビューデータが生成された数分のチェックボックスが表示され，ユーザは，印刷ジョブを構成する総ページ数を把握できる。また，全ページチェックボタン４２５が押下されると，ページ選択チェックボックス群４２２に表示されている各ページのチェックボックスが全てチェックされた状態になる。印刷実行ボタン４２３あるいはキャンセルボタン４２４が押下されると，プレビューア４２が終了する。
【００３９】
プリンタグラフィックスドライバ４３は，印刷対象となる画像データの加工処理や，加工処理が反映された画像データに基づく，物理用紙単位のプレビューデータの生成処理や，加工処理が反映された画像データに基づく，物理用紙単位の印刷データの生成処理を行う。加工処理としては，例えば，ウォータマーク，ヘッダー，フッター等の合成，拡大，縮小等の倍率変更，２ｉｎ１，４ｉｎ１等の集約が該当する。
【００４０】
プレビューデータのファイル形式は，プレビューア４２で表示できるファイル形式であればよく，本形態ではビットマップ形式のファイルを圧縮した圧縮ファイル（例えばＪＰＥＧファイル）とする。なお，プレビューデータのファイル形式としては，非圧縮のビットマップファイルであってもよい。また，印刷データのファイル形式は，プリンタ２で印刷できるファイル形式であればよく，本形態ではＰＤＬファイルとする。
【００４１】
また，図２中，アプリケーションプログラム６１は，印刷指示機能を有するプログラムである。アプリケーションプログラム６１は，印刷対象となる画像データを作成し，ユーザからの印刷指示を受け付けた際にはＯＳ５０に対してその画像データを出力する。
【００４２】
ＰＣ１には，プリンタ２用のプリンタドライバの他，各種デバイス用のドライバプログラムが組み込まれており，各デバイスの属性を設定する画面を提供する。例えば，ＯＳ５０が提供するプリンタ２用の画面としては，図６に示すようなプロパティ画面５４がある。このプロパティ画面５４は，例えばスタートメニューからプリンタの一覧を表示させ，プリンタ２（プリンタドライバ４０）を選択し，プロパティ表示を指示することで表示される。プロパティ画面５４では，機能全般に関する設定や，共有に関する設定，セキュリティに関する設定等の他，スプール形式に関する設定を行うことが可能である。プロパティ画面５４にて設定を行うと，プリンタドライバ４０は基本的にはその設定内容に従って動作する。
【００４３】
本形態では，スプール形式として，ＥＭＦスプール形式とＲＡＷスプール形式とのいずれか一方の設定が可能である。プロパティ画面５４では，ラジオボタンが選択されている方のスプール形式が設定される。具体的に，ＥＭＦスプール形式では，ＯＳ５０による中間データ（本形態では，ＯＳ５０によって生成されるプリンタの機種に依存しない汎用の印刷データ）の生成を行い，その中間データからさらにプリンタドライバ４０がプリンタ２用の印刷データを生成し，生成後の印刷データをプリンタ２に送信する。一方，ＲＡＷスプール形式では，ＯＳ５０による中間データの生成を行わずに印刷データを生成し，当該印刷データをプリンタ２に送信する。
【００４４】
［印刷手順］
［概要］
続いて，本形態のプリントシステム１００の印刷手順について説明する。プリントシステム１００では，ＲＡＷスプール形式にて印刷を行う場合と，ＥＭＦスプール形式にて印刷を行う場合とで，印刷データをプリンタ２に送信するまでの手順が異なる。図７は，ＲＡＷスプール形式にて印刷を行う際の手順を示しており，図８は，ＥＭＦスプール形式にて印刷を行う際の手順を示している。
【００４５】
図７および図８中の，ＧＤＩ５１は，プリンタやディスプレイ等の出力デバイスの制御を行うモジュールであり，ＯＳ５０の一部として提供される。ＧＤＩ５１は，アプリケーションプログラム６１からの命令を受け付け，その命令をデバイスドライバ（本形態ではプリンタドライバ４０）が解釈できるデータ（本形態ではビットマップデータ）に変換してデバイスドライバに受け渡す。
【００４６】
プリントプロセッサ５３は，印刷データをプリンタ２に出力する機能や，印刷データの生成をプリンタドライバ４０に指示する機能を有するモジュールであり，ＧＤＩ５１と同じくＯＳ５０の一部として提供される。プリントプロセッサ５３の役割は，ＲＡＷスプール形式とＥＭＦスプール形式とで異なる。
【００４７】
なお，図７および図８中，ＧＤＩ５１がそれぞれ２つ存在しているが，これは説明の便宜をはかったものであり，実際には同じモジュールである。
【００４８】
［ＲＡＷスプール形式］
ＲＡＷスプール形式にて印刷を行う場合には，図７に示すように，先ず，アプリケーションプログラム６１がユーザからの印刷指示を受け付け，印刷開始通知を出力する。そして，ＯＳ５０の一部であるＧＤＩ５１がアプリケーションプログラム６１からその印刷開始通知を受け付け，アプリケーションプログラム６１から画像データの取得を開始する。
【００４９】
ＧＤＩ５１は，画像データの取得を開始すると，当該画像データをビットマップデータに変換し，さらにプリンタグラフィックドライバ４３に対して描画命令を行う。プリンタグラフィックドライバ４３は，描画命令を受け付けると，ＧＤＩ５１から変換後の画像データを取得し，その画像データに基づいてプリンタ２用の印刷データを生成し，ＧＤＩ５１に生成終了を応答する。ＧＤＩ５１は，生成された印刷データをＯＳ５０が用意したＲＡＷスプールファイル５２に格納する。
【００５０】
印刷データがＲＡＷスプールファイル５２に格納されると，プリントプロセッサ５３が起動され，ＲＡＷスプールファイル５２に格納されている印刷データをプリンタ２に送信する。印刷データを受信したプリンタ２は，その印刷データに基づいて印刷を行う。
【００５１】
［ＥＭＦスプール形式］
ＥＭＦスプール形式にて印刷を行う場合には，図８に示すように，先ず，ＲＡＷスプール形式と同様に，アプリケーションプログラム６１がユーザからの印刷指示を受け付け，印刷開始通知を出力する。そして，ＧＤＩ５１がアプリケーションプログラム６１から印刷開始通知を受け付け，アプリケーションプログラム６１から画像データを取得する。
【００５２】
その後，ＧＤＩ５１は，画像データを中間データに変換する。ここでいう中間データとは，Windows（登録商標）のＧＤＩ描画コマンドを使って書かれたデータ形式のデータであり，プリンタの機種に依存しないデータである。そして，ＧＤＩ５１は，変換した中間データを，ＯＳ５０が用意したＥＭＦスプールファイル５５に格納する。
【００５３】
中間データがＥＭＦスプールファイル５５に格納されると，プリントプロセッサ５３が起動される。そして，プリントプロセッサ５３は，ＥＭＦスプールファイル５５に格納されている中間データをＧＤＩ５１に引き渡す。
【００５４】
ＧＤＩ５１は，中間データを取得すると，当該中間データをビットマップデータに変換し，さらにプリンタグラフィックスドライバ４３に対して描画命令を行う。プリンタグラフィックスドライバ４３は，描画命令を受け付けると，ＧＤＩ５１から変換後の中間データを取得し，その中間データに基づいてプリンタ２用の印刷データを生成する。その後，プリンタグラフィックドライバ４３は，ＯＳ５０の出力機能を利用して印刷データをプリンタ２に送信する。印刷データを受信したプリンタ２は，その印刷データに基づいて印刷を行う。
【００５５】
［印刷プレビュー］
［第１の形態］
続いて，印刷プレビューを表示し，その後に印刷データをプリンタ２に送信する印刷手順の第１の形態について，図９のブロック図および図１０のシーケンス図を参照しつつ説明する。本形態のプリントシステム１００では，ＲＡＷスプール形式を利用してプレビュー機能を実現する。そのため，ＥＭＦスプール形式が指定されていた場合には，プリンタドライバ４０によってスプール形式をＲＡＷスプール形式に変更して，プレビュー機能を実現する。
【００５６】
なお，図９中，ユーザインターフェースドライバ４１およびＧＤＩ５１がそれぞれ２つ存在しているが，これは説明の便宜をはかったものであり，実際にはそれぞれ同じモジュールである。
【００５７】
第１の形態にて印刷プレビューを行う場合には，先ず，アプリケーションプログラム６１がユーザからの印刷指示を受け付け，印刷開始通知を出力する。そして，ＧＤＩ５１がアプリケーションプログラム６１から印刷開始通知を受け付ける。ＧＤＩ５１は，印刷開始通知の受け付けを契機に，ユーザインターフェースドライバ４１に印刷開始イベントを発行する。
【００５８】
ユーザインターフェースドライバ４１は，印刷開始イベントを受け付けると，図４に示したような進捗メッセージボックス４１２を起動し，プレビューデータの生成進捗をユーザに通知する。
【００５９】
また，ＧＤＩ５１は，印刷開始通知の受け付けた後，アプリケーションプログラム６１から画像データを取得する。そして，ＧＤＩ５１は，取得した画像データをビットマップデータに変換し，さらにプリンタグラフィックスドライバ４３に対して描画命令を出力する。ＧＤＩ５１は，描画命令を出力した後は，プリンタグラフィックスドライバ４３が応答するまで待機する。
【００６０】
プリンタグラフィックスドライバ４３は，描画命令を受け付けると，ＧＤＩ５１が変換した画像データを取得し，プレビューア４２用のプレビューデータ（本形態ではＪＰＥＧデータ）と，プリンタ２用の印刷データ（本形態ではＰＤＬデータ）とを生成する。すなわち，１ページ分の画像データから，プレビューデータと印刷データとの２種類のデータを生成する。そして，印刷データは，印刷データファイル４５に格納され，プレビューデータは，プレビューデータファイル４６に格納される。また，印刷データファイル４５およびプレビューデータファイル４６には，ページ番号と各ページのデータの格納場所とが関連付けられた情報が記憶される。印刷データファイル４５およびプレビューデータファイル４６は，プリンタドライバ４０が用意するファイルであって，ＯＳ５０が用意するＲＡＷスプールファイル５２とは異なる。プリンタグラフィックスドライバ４３は，プレビューデータおよび印刷データの生成が完了すると，終了をＧＤＩ５１に応答する。
【００６１】
ＧＤＩ５１は，１ページ分のプレビューデータの生成が終了した旨の応答を受け付けたことを契機に，ユーザインターフェースドライバ４１にページ終了イベントを発行する。ユーザインターフェースドライバ４１は，ページ終了イベントを受け付けると，進捗メッセージボックス４１２に表示する進捗状況を示す情報を更新する。例えば，図４に示した進捗メッセージボックス４１２では，処理中のページのページ番号を更新する。これにより，ユーザは具体的な進捗状況を把握できる。
【００６２】
プリントシステム１００では，上述のような１ページ分のプレビューデータおよび印刷データの生成と，進捗メッセージボックス４１２の更新とを，１ページ分の画像データを受け付ける度に行い，最終ページの処理が完了するまで繰り返す。
【００６３】
アプリケーションプログラム６１が最終ページの画像データの受け渡しを完了させると，印刷終了通知を出力する。ＧＤＩ５１は，アプリケーションプログラム６１から印刷終了通知を受け付けると，ユーザインターフェースドライバ４１に印刷終了イベントを発行する。ユーザインターフェースドライバ４１は，印刷終了イベントを受け付けると，進捗メッセージボックス４１２を終了させる。
【００６４】
なお，ＧＤＩ５１は，印刷終了通知を受信した際にプリンタドライバ４０からの応答待ちの場合，すなわち印刷終了通知を受信した際にプリンタグラフィックスドライバ４３でのプレビューデータ等の生成待ちであった場合，プリンタドライバ４０からの応答を受け付けた後に，印刷終了イベントを発行する。つまり，プレビューデータの生成が完了した後に，印刷終了イベントを発行する。
【００６５】
また，ユーザインターフェースドライバ４１は，印刷終了イベントを受け付けると，プレビューア４２を起動する。さらに，ユーザインターフェースドライバ４１は，プレビューア４２に対し，起動後あるいは起動と同時に，プレビューデータファイル４６からプリンタグラフィックスドライバ４３が生成した全プレビューデータを読み出させ，先頭ページのプレビューデータをイメージ領域４２１に表示させる。
【００６６】
その後，プレビューア４２は，ユーザからの，印刷指示あるいはキャンセル指示を受け付ける。プレビューア４２は，ユーザからの印刷指示を受け付けると，印刷データファイル４５に格納されている印刷データの中から，ページ選択チェックボックス群４２２にて印刷対象として選択されているページに対応する印刷データを印刷データファイル４５から読み出し，プリンタ２に送信する。つまり，印刷プレビューを表示する設定がＯＮの場合には，プレビューア４２からの指示によって，印刷データファイル４５に格納された印刷データがプリンタ２に送信される。
【００６７】
なお，印刷プレビューを表示する場合であっても，ＲＡＷスプール形式を利用することには変わりないことから，ＯＳ５０はＲＡＷスプールファイル５２を作成する。ただし，このＲＡＷスプールファイル５２には印刷データは格納されない。そのため，結果としてＲＡＷスプールファイル５２から印刷データは送信されない。
【００６８】
［印刷処理］
続いて，前述した第１の形態の印刷プレビューを実現する印刷処理（プレビューデータ生成手段，印刷データ生成手段，判断手段，制御手段，通知手段，更新手段の一例）について，図１１のフローチャートを参照しつつ説明する。この印刷処理は，ＯＳ５０およびプリンタドライバ４０によって実現する。また，この印刷処理は，ユーザがアプリケーションプログラム６１を介して印刷指示を入力したことを契機に，すなわちＧＤＩ５１がアプリケーションプログラム６１から印刷開始指示を受信したことを契機に，ＣＰＵ１１によって実行される。
【００６９】
第１の形態の印刷処理では，先ず，ＧＤＩ５１がプリンタドライバ４０の初期化関数を呼び出し，印刷ジョブの印刷設定を取得する（Ｓ１０１）。そして，取得した印刷設定から，印刷プレビューを表示する設定がＯＮであるか否かを判断する（Ｓ１０２，判断手段の一例）。
【００７０】
印刷プレビューを表示する設定がＯＦＦの場合には（Ｓ１０２：ＮＯ），プレビュー表示を行わない印刷処理を実行する（Ｓ１２１）。すなわち，プリンタドライバ４０がプレビューデータを生成することなく，ユーザが指定したスプール形式によって印刷データをプリンタ２に送信する。具体的には，スプール形式としてＥＭＦスプール形式が設定されている場合には，ＥＭＦスプール形式（図８参照）を利用して印刷処理を実行し，ＲＡＷスプール形式が設定されている場合には，ＲＡＷスプール形式（図７参照）を利用して印刷処理を実行する。Ｓ１２１の後は，印刷処理を終了する。
【００７１】
印刷プレビューを表示する設定がＯＮの場合には（Ｓ１０２：ＹＥＳ），ＲＡＷスプール形式が設定されているか否かを判断する（Ｓ１０３）。ＲＡＷスプールの設定は，プリンタ２のプロパティ画面５４（図６参照）にてＲＡＷスプールが選択されたか否かによって判断できる。ＥＭＦスプール形式が設定されている場合には（Ｓ１０３：ＮＯ），ＲＡＷスプール形式となるように設定を変更する（Ｓ１０４，制御手段の一例）。すなわち，本形態のプリンタドライバ４０は，ＥＭＦスプール形式を利用する場合，プレビューデータを生成しないため，スプール形式をＲＡＷスプール形式に変更して，プレビューデータを生成するように変更する。
【００７２】
Ｓ１０４の後，あるいはＲＡＷスプール形式が設定されている場合には（Ｓ１０３：ＹＥＳ），プリンタドライバ４０が進捗メッセージボックス４１２を起動する（Ｓ１０５，通知手段の一例）。
【００７３】
次に，ＧＤＩ５１は，アプリケーションプログラム６１から取得した画像データをビットマップデータに変換し，１ページごとにその変換後のビットマップデータをプリンタドライバ４０に引き渡す（Ｓ１０６）。換言すると，プリンタドライバ４０は，１ページごとのビットマップデータをＧＤＩ５１から取得する。具体的にＳ１０６では，ＧＤＩ５１からプリンタドライバ４０に対して描画関数をコールする。そのため，ＧＤＩ５１は，プリンタドライバ４０から当該描画関数の終了が応答されるまで待機する。
【００７４】
プリンタドライバ４０は，取得した画像データに基づいて，プレビューデータと印刷データとを生成する（Ｓ１０７，プレビューデータ生成手段，印刷データ生成手段の一例）。すなわち，プリンタドライバ４０は，取得した画像データに対して必要に応じて加工処理を行う。そして，加工処理後の画像データを，さらにＪＰＥＧデータに圧縮することで，プレビューデータを生成する。また，加工処理後の画像データに基づいて，さらにＰＤＬデータである印刷データを生成する。プレビューデータと印刷データとはそれぞれ異なるファイルに格納される。プレビューデータおよび印刷データの生成後は，ＧＤＩ５１に終了を応答する。
【００７５】
さらに，プリンタドライバ４０は，プレビューデータおよび印刷データが生成された後に，その生成状況に応じて，進捗メッセージボックス４１２のメッセージ内容を更新する（Ｓ１０８，更新手段の一例）。
【００７６】
１ページ分のプレビューデータおよび印刷データの生成後，ＧＤＩ５１がアプリケーションプログラム６１から印刷終了通知を受信したか否かを判断する（Ｓ１０９）。印刷終了通知を受信していない場合には（Ｓ１０９：ＮＯ），Ｓ１０６に移行し，次のページの画像データを取得し，Ｓ１０６からＳ１０８までの処理を繰り返す。
【００７７】
印刷終了通知を受信した場合，すなわち受信した印刷ジョブの全ページ分の画像データの受信が完了した場合には（Ｓ１０９：ＹＥＳ），プリンタドライバ４０は進捗メッセージボックス４１２を終了する（Ｓ１１０）。その後，プレビューア４２を起動し（Ｓ１１１），プレビューデータの表示，および印刷指示の受け付けを行う。Ｓ１１１の後は，印刷処理を終了する。
【００７８】
［プレビューア印刷処理］
図１２は，Ｓ１１１によって起動されたプレビューア４２のプレビューア印刷処理（表示手段，出力手段の一例）の詳細を示している。このプレビューア印刷処理は，プレビューア４２の起動を契機に，ＣＰＵ１１によって実行される。
【００７９】
第１の形態のプレビューア印刷処理では，先ず，プレビューア４２がプレビューデータファイル４６に格納されているプレビューデータ，すなわちＳ１０７で生成されたプレビューデータを読み出す（Ｓ１５１）。そして，プレビューア４２は，読み出したプレビューデータを表示する（Ｓ１５２，表示手段の一例）。
【００８０】
次に，プレビューア４２は，ユーザ操作による印刷指示の入力があったか否かを判断する（Ｓ１５３）。すなわち，プレビューア４２の印刷実行ボタン４２３が押下されたか否かを判断する。また，印刷指示の入力がない場合には（Ｓ１５３：ＮＯ），ユーザ操作によるキャンセル指示の入力があったか否かを判断する（Ｓ１７１）。すなわち，プレビューア４２のキャンセルボタン４２４が押下されたか否かを判断する。キャンセル指示の入力もない場合には（Ｓ１７１：ＮＯ），Ｓ１５３に移行し，印刷指示あるいはキャンセル指示の入力を待つ。
【００８１】
印刷指示の入力があった場合（Ｓ１５３：ＹＥＳ），プレビューア４２は，不要ページの指定があるか否かを判断する（Ｓ１５４）。不要ページの有無は，印刷実行ボタン４２３が押下された時点でのページ選択チェックボックス群４２２のチェック状況によって判断できる。すなわち，ページ選択チェックボックス群４２２のうち，未チェックのチェックボックスを不要ページとして判断する。不要ページの指定がある場合には（Ｓ１５４：ＹＥＳ），プレビューア４２は，印刷データファイル４５に格納されている印刷データのうち，不要ページとして指定されたページに対応する印刷データを削除する（Ｓ１５５）。
【００８２】
Ｓ１５５の後，あるいは不要ページの指定がない場合には（Ｓ１５４：ＮＯ），プレビューア４２は，印刷データファイル４５に残っている印刷データ全てをプリンタ２に送信する（Ｓ１５６，出力手段の一例）。プリンタ２は，印刷データを受信すると，その印刷データに基づいて印刷を行う。
【００８３】
図１３は，プレビューア４２から印刷データを送信する際の，データの流れを示している。図１３では，印刷ジョブの総ページ数が５であったとする。印刷データファイル４５には，プレビューア４２が起動する時点で，図１３（Ａ）に示すように印刷ジョブの全ページの印刷データの他，ページ番号と各ページのデータの格納場所とが関連付けられた情報であるメタデータが記憶される。その後，Ｓ１５５にて，図１３（Ｂ）に示すように不要ページとして指定された印刷データが削除される。そして，Ｓ１５６にて，図１３（Ｃ）に示すようにメタデータが削除され，残った印刷データがプリンタ２に送信される。
【００８４】
Ｓ１５６の後，あるいはキャンセル指示の入力があった場合には（Ｓ１７１：ＹＥＳ），プレビューア４２を終了する（Ｓ１５７）。そして，プリンタドライバ４０は，Ｓ１０７で生成したプレビューデータおよび印刷データ全てを削除する（Ｓ１５８）。Ｓ１５８の後は，図１２のプレビューア印刷処理を終了し，図１１の印刷処理に戻って当該印刷処理も終了する。
【００８５】
上述したように本形態のプリンタドライバ４０は，ＲＡＷスプール形式を利用して印刷プレビューを実現している。すなわち，本形態のプリンタドライバ４０は，プレビューア４２に印刷イメージを表示させるにあたって，ＧＤＩ５１が印刷ジョブの各画像データを取得する度に発行される描画命令に応じて，プレビューデータを生成する。そして，プリンタドライバ４０は，ＧＤＩ５１が印刷ジョブの全ページ分の画像データの受信完了後であってプレビューデータの生成終了を受け付けた後に発行する印刷終了イベントに応じて，プレビューア４２を起動する。プレビューア４２は，起動時にプレビューデータファイル４６に格納されているプレビューデータを読み出して表示する。このように，プレビューア４２は，プレビューデータが生成された後に起動されるため，プレビューデータの生成を要求する必要がなく，プレビューデータの生成状況を何度も問い合わせなくてもよい。
【００８６】
一方，引用文献１に示したような，ＥＭＦスプール形式を利用して印刷プレビューを実現する従来形態の場合，プレビューアに印刷イメージを表示させるにあたって，ＧＤＩ５１が画像データの受信を開始したこと通知する印刷開始イベントに応じて，プレビューアを起動する。プレビューアは，起動時にはプレビューデータの存在が不明であることから，プレビューデータの生成要求を発行し，さらにプレビューデータの生成完了の通知を受け付ける仕組みになっている。
【００８７】
上述のように本形態のプリンタドライバ４０は，従来形態で必要であったプレビューアによるプレビューデータの生成要求の発行，およびプレビューデータの生成完了通知の受け付けが不要である。また，プレビューアからの生成要求の受け付け，さらにプレビューデータの生成完了を通知する仕組みが不要である。従って，従来形態と比較して，処理がシンプルである。
【００８８】
また，この従来形態では，プレビューアからの生成要求を受け付けるモジュール，さらにプレビューデータの生成完了を通知するモジュール（引用文献１では，プレビュー用にカスタマイズされたプリントプロセッサ）が必要である。一方で，本形態のプリンタドライバ４０は，そのようなモジュールは不要である。この点でも，処理がシンプルであると言える。
【００８９】
［第２の形態］
続いて，印刷プレビューを表示し，その後に印刷データをプリンタ２に送信する印刷手順の第２の形態について，図１４のシーケンス図を参照しつつ説明する。本形態では，１ページ分のプレビューデータの生成が完了したことを契機に，プレビューア４２を起動する。この点，印刷ジョブの全ページ分のプレビューデータの生成が完了したことを契機に，プレビューア４２を起動する第１の形態とは異なる。
【００９０】
第２の形態にて印刷プレビューを行う場合には，先ず，アプリケーションプログラム６１がユーザからの印刷指示を受け付け，印刷開始通知を出力する。そして，ＧＤＩ５１は，印刷開始通知の受け付けた後，アプリケーションプログラム６１から画像データを取得する。そして，ＧＤＩ５１は，取得した画像データをビットマップデータに変換し，さらにプリンタグラフィックスドライバ４３に対して描画命令を出力する。
【００９１】
プリンタグラフィックスドライバ４３は，描画命令を受け付けると，ＧＤＩ５１が変換した画像データを取得し，プレビューア４２用のプレビューデータと，プリンタ２用の印刷データとを生成する。そして，印刷データは，印刷データファイル４５に格納され，プレビューデータは，プレビューデータファイル４６に格納される。プリンタグラフィックスドライバ４３は，プレビューデータおよび印刷データの生成が完了すると，終了をＧＤＩ５１に応答する。
【００９２】
ＧＤＩ５１は，１ページ分のプレビューデータの生成が終了した旨の応答を受け付けたことを契機に，ユーザインターフェースドライバ４１にページ終了イベントを発行する。ユーザインターフェースドライバ４１は，ページ終了イベントを受け付けた後，先頭ページであった場合，すなわちプレビューア４２が起動していない場合には，プレビューア４２を起動する。さらに，ユーザインターフェースドライバ４１は，プレビューア４２に対し，起動後あるいは起動と同時に，プレビューデータファイル４６からプリンタグラフィックスドライバ４３が生成した全プレビューデータを読み出させ，先頭ページのプレビューデータをイメージ領域４２１に表示させる。
【００９３】
一方，ユーザインターフェースドライバ４１は，ページ終了イベントを受け付けた後，プレビューア４２が起動していた場合には，プレビューア４２に対して更新指示を通知する。プレビューア４２は，更新通知を受け付けると，プレビューデータファイル４６に格納されるプレビューデータのうち，表示していないプレビューデータを読み出す。そして，プレビューア４２のページ選択チェックボックス群４２２に，新たに読み出したプレビューデータに対応するチェックボックスを追加する。その後のプレビューア４２からの印刷指示については，第１の形態と同様である。
【００９４】
［印刷処理］
続いて，前述した第２の形態の印刷プレビューを実現する印刷処理について，図１５のフローチャートを参照しつつ説明する。なお，第１の形態と同じ処理については，同じ符号を付して説明を省略する。
【００９５】
第２の形態の印刷処理では，Ｓ１０１からＳ１０４までの処理は第１の形態と同じである。Ｓ１０４の後，あるいはＲＡＷスプール形式が設定されている場合には（Ｓ１０３：ＹＥＳ），進捗メッセージを表示することなく，プリンタドライバ４０が１ページごとの画像データをＧＤＩ５１から取得する（Ｓ１０６）。
【００９６】
プリンタドライバ４０は，取得した画像データに基づいて，プレビューデータと印刷データとを生成する（Ｓ１０７，プレビューデータ生成手段，印刷データ生成手段の一例）。プレビューデータおよび印刷データの生成後は，ＧＤＩ５１に終了を応答する。
【００９７】
１ページ分のプレビューデータおよび印刷データの生成後，プレビューア４２が起動中か否かを判断する（Ｓ２０７）。プレビューア４２が起動されていなければ（Ｓ２０７：ＮＯ），プレビューア４２を起動する（Ｓ２０８）。一方，プレビューア４２が起動されている場合には（Ｓ２０７：ＹＥＳ），プレビューア４２に更新指示を出力する（Ｓ２１１）。
【００９８】
Ｓ２０８あるいはＳ２１１の後，ＧＤＩ５１がアプリケーションプログラム６１から印刷終了通知を受信したか否かを判断する（Ｓ１０９）。印刷終了通知を受信していない場合には（Ｓ１０９：ＮＯ），Ｓ１０６に移行し，次のページの画像データを取得し，Ｓ１０６からＳ２０８（あるいはＳ２１１）までの処理を繰り返す。印刷終了通知を受信した場合には（Ｓ１０９：ＹＥＳ），印刷処理を終了する。
【００９９】
［プレビューア印刷処理］
図１６は，Ｓ２０８によって起動されたプレビューア４２のプレビューア印刷処理（表示手段，出力手段の一例）の詳細を示している。なお，第１の形態と同じ処理については，同じ符号を付して説明を省略する。
【０１００】
第２の形態のプレビューア印刷処理では，先ず，プレビューア４２がプレビューデータファイル４６に格納されているプレビューデータを読み出す（Ｓ１５１）。第２の形態では，１ページ目のプレビューデータが生成されると直ぐにプレビューア４２が起動されることから，１ページ目のプレビューデータが読み出される。そして，プレビューア４２は，読み出したプレビューデータを表示する（Ｓ１５２，表示手段の一例）。
【０１０１】
次に，プレビューア４２は，ユーザ操作による印刷指示，あるいはキャンセル指示の入力があったか否かを判断する（Ｓ１５３，Ｓ１７１）。さらには，ユーザインターフェースドライバ４１による更新指示があったか否かを判断する（Ｓ２８１）。
【０１０２】
そして，ユーザインターフェースドライバ４１による更新指示があった場合には（Ｓ２８１：ＹＥＳ），新たにプレビューデータファイル４６に格納されたプレビューデータを読み出す（Ｓ２８２）。そして，新たに読み出したプレビューデータに対応するチェックボックスを表示する。これにより，新たに生成されたプレビューデータがプレビューア４２に反映される。
【０１０３】
なお，印刷指示を受け付けた場合や（Ｓ１５３：ＹＥＳ），キャンセル指示を受け付けた場合（Ｓ１７１：ＹＥＳ）の処理については，第１の形態と同様である。
【０１０４】
第２の形態のプリンタドライバ４０は，ＧＤＩ５１が１ページ目の画像データの受信完了後であってプレビューデータの生成終了を受け付けた後に発行する印刷終了イベントに応じて，プレビューア４２を起動する。プレビューア４２は，起動時にプレビューデータファイル４６に格納されているプレビューデータを読み出して表示する。さらに，プリンタドライバ４０は，ＧＤＩ５１が他ページの画像データの受信完了後であってプレビューデータの生成終了を受け付けた後に発行する印刷終了イベントに応じて，プレビューア４２を更新する。このように，第２の形態であっても，プレビューア４２は，プレビューデータが生成された後に起動されるため，プレビューデータの生成を要求する必要がない。
【０１０５】
なお，第２の形態では，印刷ジョブの全ページのプレビューデータの生成が完了するまでは，プレビューア４２への印刷指示の入力を制限し，印刷ジョブの全ページのプレビューデータの生成が完了したことを契機にその制限を解除するようにしてもよい。また，プレビューア４２には，全ページ分のプレビューデータが揃うまで進捗を表示してもよい。また，プレビューア４２には，全ページ分のプレビューデータが揃った後はプレビューデータの表示が完了した旨を表示してもよい。
【０１０６】
以上詳細に説明したように第１の形態および第２の形態のプリンタドライバ４０では，印刷プレビューを表示するにあたって，ＲＡＷスプール形式を利用する印刷ジョブを対象とし，プレビューデータの生成を，プレビューア４２を起動する前であって，ＧＤＩ５１からの描画命令を契機に開始する。そして，プレビューア４２を，プレビューデータの生成終了を受け付けた後に起動し，プレビューデータファイル４６に格納されているプレビューデータをプレビューア４２が読み出すことでそのプレビューデータを表示させる。つまり，プレビューア４２にプレビューデータを表示させるにあたって，少なくともプレビューア４２からプレビューデータの生成要求を発行する必要がなく，従来形態と比較して，処理がシンプルである。
【０１０７】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，印刷装置としてはプリンタに限るものではなく，コピー機，ＦＡＸ，あるいは印刷機能を有する複合機等であってもよい。また，情報処理装置としてはＰＣに限るものではなく，ワークステーション，スマートフォン，ＰＤＡ等であってもよい。
【０１０８】
また，実施の形態では，プレビューア４２をプリンタドライバ４０に含めているが，プレビューデータを表示することに特化すれば，プレビューアはプリンタドライバ４０専用のモジュールである必要はなく，プレビューデータを読み出すことが可能なモジュールであればよい。例えば，プレビューデータのファイル形式がビットマップファイルであれば，ＯＳ５０が提供するビューアプログラムを起動し，そのビューアプログラムにプレビューデータを表示させてもよい。
【０１０９】
また，実施の形態では，１ページ分のプレビューデータを生成する度にその進捗状況を更新しているが，これに限るものではない。例えば，プレビューデータの生成中である旨を表示し，その進捗を表示せず，メッセージ内容を更新しないものであってもよい。また，進捗メッセージボックス４１２による通知は必須ではなく，プレビューデータの生成中，進捗を表示する機能を有していないものであってもよい。進捗メッセージボックス４１２に対する処理が少ないほど，より処理がシンプルになる。一方で，進捗メッセージボックス４１２を表示する方が，ユーザの不安を軽減させることが期待できる。
【０１１０】
また，実施の形態では，プレビューア４２から印刷指示の入力が可能であるが，プレビューア４２の機能をプレビューデータの表示に特化し，プレビューア４２から直接印刷指示が入力できなくてもよい。この場合，プレビューア４２が印刷データを扱うことがないため，印刷処理中のＳ１０７において印刷データの生成は不要である。また，印刷を行う場合には，再度アプリケーションプログラム６１から印刷指示を入力し，その際，印刷プレビューを表示する設定をＯＦＦにする。
【０１１１】
また，実施の形態のプレビューア４２は，１ページ単位でプレビューデータを表示しているが，複数ページの一覧表示ができるように構成してもよい。また，プレビューデータの拡大表示あるいは縮小表示ができるように構成してもよい。
【０１１２】
また，実施の形態では，ＥＭＦスプール形式での印刷を可能にしているが，ＲＡＷスプール形式のみをサポートしてもよい。この場合，印刷処理のＳ１０３およびＳ１０４は不要である。
【０１１３】
また，実施の形態では，プレビューデータをビットマップあるいはその圧縮ファイルとしているが，これに限るものではない。例えば，ＸＭＬファイルやＰＤＦファイルであってもよい。
【０１１４】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【０１１５】
１      パーソナルコンピュータ
２      プリンタ
４０    プリンタドライバ
４１    ユーザインターフェースドライバ
４１１  印刷設定画面
４１２  進捗メッセージボックス
４２    プレビューア
４３    プリンタグラフィックスドライバ
４５    印刷データファイル
４６    プレビューデータファイル
５０    ＯＳ
５１    ＧＤＩ
５２    ＲＡＷスプールファイル
５３    プリントプロセッサ
５４    プロパティ画面
６１    アプリケーションプログラム
【図１】
0005929374.tif 000002
【図２】
0005929374.tif 000003
【図３】
0005929374.tif 000004
【図４】
0005929374.tif 000005
【図５】
0005929374.tif 000006
【図６】
0005929374.tif 000007
【図７】
0005929374.tif 000008
【図８】
0005929374.tif 000009
【図９】
0005929374.tif 000010
【図１０】
0005929374.tif 000011
【図１１】
0005929374.tif 000012
【図１２】
0005929374.tif 000013
【図１３】
0005929374.tif 000014
【図１４】
0005929374.tif 000015
【図１５】
0005929374.tif 000016
【図１６】
0005929374.tif 000017