(57)【特許請求の範囲】
【請求項１】
文書データの印刷指示に応じて出力用の中間データを一時保存する機能を有する印刷制御装置であって、
印刷イメージの画面表示指定がされている場合、印刷指示に応じてイメージ生成要求を発行し、該イメージ生成要求に応じて生成されたイメージデータに関する情報に基づいてイメージデータを表示するプレビュー手段と、
イメージデータを生成するイメージデータ生成手段と、
前記イメージ生成要求に応じて、一時保存された中間データを読み出して前記イメージ生成手段によりイメージデータを生成させ、生成されたイメージデータに関する情報を前記プレビュー手段に通知する処理手段と
を備えることを特徴とする印刷制御装置。
【請求項２】
前記イメージ生成要求は、生成されるイメージデータのサイズまたは解像度の指定を伴い、前記処理手段は、指定されたサイズ又は解像度で前記イメージデータ生成手段にイメージデータを生成させることを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記イメージ生成要求は、イメージデータ生成の対象として印刷される総ページ数におけるページ番号を含み、前記処理手段は、中間データを読み出して前記イメージデータ生成手段に指定されたページ番号に対応するイメージデータを生成させることを特徴とする請求項１に記載の印刷制御装置。
【請求項４】
前記イメージ生成要求は、印刷イメージファイルに格納されるビットマップデータで使用される色数、またはビットマップデータ作成時に使用される減色方法を含むことを特徴とする請求項１に記載の印刷制御装置。
【請求項５】
前記処理手段は、前記イメージデータ生成手段により生成させるイメージデータを保存するためのファイルを指定された数量作成して、前記イメージデータ生成手段により生成されたイメージデータを前記ファイルに格納し、前記プレビュー手段は、画面表示指定された印刷イメージに対応するイメージデータが前記ファイルに格納されている場合には、当該ファイルからイメージデータを読み出して表示することを特徴とする請求項１に記載の印刷制御装置。
【請求項６】
前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる印刷データが中間データとして格納されているか否かの問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答することを特徴とする請求項１記載の印刷制御装置。
【請求項７】
前記プレビュー手段は前記文書データの印刷指示を発行するクライアント装置に含まれ、前記イメージデータ生成手段及び前記処理手段は、印刷装置及び前記クライアント装置に接続されたサーバ装置に含まれ、前記処理手段は、生成されたイメージデータに関する情報として、イメージデータそのものを前記プレビュー手段に通知することを特徴とする請求項１乃至６のいずれか１項に記載の印刷制御装置。
【請求項８】
前記処理手段は、印刷開始要求に応じて、一時保存された中間データを読み出して前記イメージデータ生成手段により印刷データを生成させ、生成された印刷データに基づいて印刷装置により印刷が行われることを特徴とする請求項１乃至７のいずれか１項に記載の印刷制御装置。
【請求項９】
プリンタに印刷用データを供給するプリンタドライバ中に、文書の印刷イメージを画面に表示するか否かを指定する設定部を含む印刷設定処理部と、
前記印刷設定処理部の設定に基づき文書の印刷データの各ページの処理順序を制御して印刷ページデータを生成する印刷ページ処理部と、
前記印刷ページデータのビットマップデータを作成し印刷部に供給するイメージ生成処理部と、
前記ビットマップデータを前記印刷イメージとして表示し、ユーザ入力により印刷イメージ表示を切替える印刷イメージ表示部とを有する印刷制御装置において、
前記印刷設定処理部において印刷イメージを画面に表示する指定が設定された場合に、前記印刷ページ処理部は前記印刷イメージ表示部の要求に従い前記印刷ページデータを生成し、前記イメージ生成処理部はビットマップデータを印刷イメージファイルに格納し、前記印刷イメージ表示部は前記印刷イメージファイルを利用して印刷イメージを画面に表示することを特徴とする印刷制御装置。
【請求項１０】
アプリケーションプログラムと、
前記アプリケーションプログラムが発行した印刷コマンドを解釈したオペレーティングシステムの印刷システムが通知する印刷イベントにより起動されて動作するユーザーインタフェースドライバと、
前記ユーザインターフェースドライバにより起動されて動作するプレビューアと、
前記アプリケーションプログラムが発行した印刷文書データの各ページの印刷データをページ単位でページ記述言語の状態で配置することの出来るプリントプロセッサと、
イメージデータを生成するプリンタグラフィックドライバとを備え、
前記アプリケーションプログラムは印刷文書データを作成し、
前記プリンタユーザーインタフェースドライバは、前記印刷文書データの印刷要求に伴って設定されたドライバプロパティに基づいて、前記オペレーティングシステムの印刷システムが通知する印刷イベントに応じて前記プレビューアを起動し、
前記プリントプロセッサは、前記文書の印刷データの各ページを処理して印刷ページデータを作成して上記プリンタグラフィックドライバに供給し、
前記プリンタグラフィックドライバは前記印刷ページデータのビットマップデータを作成して印刷イメージファイルに格納し、
前記プレビューアは前記印刷イメージファイルに格納されたビットマップデータを画面に表示することを特徴とする印刷制御装置。
【請求項１１】
クライアント計算機とサーバ計算機とが通信で接続された環境において、
前記アプリケーションプログラムと前記ユーザインターフェースドライバと前記プレビューアとは前記クライアント計算機で動作し、前記プリントプロセッサと前記プリンタグラフィックドライバとは前記サーバ計算機で動作することを特徴とする請求項１０に記載の印刷制御装置。
【請求項１２】
文書データの印刷指示に応じて出力用の中間データを一時保存する印刷制御方法であって、
印刷イメージの画面表示指定がされている場合、印刷指示に応じて前記一時保存された中間データを読み出してイメージデータ生成手段によりイメージデータを生成させる生成工程と、
生成されたイメージデータを表示手段により表示させる表示工程と
を備えることを特徴とする印刷制御方法。
【請求項１３】
前記生成工程において、指定したサイズまたは解像度で前記イメージデータ生成手段によりイメージデータを生成させることを特徴とする請求項１２に記載の印刷制御方法。
【請求項１４】
前記生成工程において、中間データを読み出して、イメージデータ生成の対象として印刷される総ページ数において指定されたページ番号に対応するイメージデータを前記イメージデータ生成手段により生成させることを特徴とする請求項１２に記載の印刷制御方法。
【請求項１５】
前記生成工程において、指定した色数、またはビットマップデータ作成時に使用される減色方法で、前記イメージデータ生成手段によりイメージデータを生成させることを特徴とする請求項１２に記載の印刷制御方法。
【請求項１６】
前記生成工程において、前記イメージデータ生成手段により生成させるイメージデータを保存するためのファイルを指定された数量作成して、前記イメージデータ生成手段により生成されたイメージデータを前記ファイルに格納し、前記表示工程においては、画面表示指定された印刷イメージに対応するイメージデータが前記ファイルに格納されている場合には、当該ファイルからイメージデータを読み出して表示することを特徴とする請求項１２に記載の印刷制御方法。
【請求項１７】
前記表示工程は前記文書データの印刷指示を発行するクライアント装置で遂行され、前記生成工程は、印刷装置及び前記クライアント装置に接続され、前記イメージデータ生成を有するサーバ装置で遂行されることを特徴とする請求項１２乃至１６のいずれか１項に記載の印刷制御方法。
【請求項１８】
印刷開始要求に応じて、一時保存された中間データを読み出して前記イメージデータ生成手段により印刷データを生成させ、生成された印刷データに基づいて印刷装置により印刷を行わせる印刷工程をさらに備えることを特徴とする請求項１２乃至１７のいずれか１項に記載の印刷制御方法。
【請求項１９】
コンピュータにおいて、出力用の中間データのスプール機能を有するオペレーティングシステムの下で動作する印刷制御プログラムであって、
印刷イメージの画面表示指定がされている場合、印刷指示に応じてイメージ生成要求を発行し、該イメージ生成要求に応じて生成されたイメージデータに関する情報に基づいてイメージデータを表示するプレビュー手段と、
イメージデータを生成するイメージデータ生成手段と、
前記イメージ生成要求に応じて、スプールされた中間データを読み出して前記イメージ生成手段によりイメージデータを生成させ、生成されたイメージデータに関する情報を前記プレビュー手段に通知する処理手段と
をコンピュータにより実現することを特徴とするコンピュータプログラム。
【請求項２０】
前記イメージ生成要求は、生成されるイメージデータのサイズまたは解像度の指定を伴い、前記処理手段は、指定されたサイズ又は解像度で前記イメージデータ生成手段にイメージデータを生成させることを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記イメージ生成要求は、イメージデータ生成の対象として印刷される総ページ数におけるページ番号を含み、前記処理手段は、中間データを読み出して前記イメージデータ生成手段に指定されたページ番号に対応するイメージデータを生成させることを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２２】
前記イメージ生成要求は、印刷イメージファイルに格納されるビットマップデータで使用される色数、またはビットマップデータ作成時に使用される減色方法を含むことを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２３】
前記処理手段は、前記イメージデータ生成手段により生成させるイメージデータを保存するためのファイルを指定された数量作成して、前記イメージデータ生成手段により生成されたイメージデータを前記ファイルに格納し、前記プレビュー手段は、画面表示指定された印刷イメージに対応するイメージデータが前記ファイルに格納されている場合には、当該ファイルからイメージデータを読み出して表示することを特徴とする請求項１９に記載のコンピュータプログラム。
【請求項２４】
前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる印刷データが中間データとして格納されているか否かの問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答することを特徴とする請求項１９記載のコンピュータプログラム。
【請求項２５】
前記処理手段は、印刷開始要求に応じて、一時保存された中間データを読み出して前記イメージデータ生成手段により印刷データを生成させ、生成された印刷データに基づいて印刷装置により印刷が行われることを特徴とする請求項１９乃至２４のいずれか１項に記載のコンピュータプログラム。
【請求項２６】
サーバコンピュータと通信で接続されたクライアントコンピュータにより、
印刷イメージの画面表示指定がされている場合、印刷指示に応じてイメージ生成要求を前記サーバコンピュータに対して発行し、該イメージ生成要求に応じて生成されたイメージデータに関する情報を前記サーバコンピュータから受信し、該情報に基づいてイメージデータを表示するプレビュー手段を実現することを特徴とするコンピュータプログラム。
【請求項２７】
クライアントコンピュータと通信で接続されたサーバコンピュータにおいて、出力用の中間データのスプール機能を有するオペレーティングシステムの下で動作する印刷制御プログラムであって、
イメージデータを生成するイメージデータ生成手段と、
前記クライアントコンピュータから受信したイメージ生成要求に応じて、スプールされた中間データを読み出して前記イメージ生成手段によりイメージデータを生成させ、生成されたイメージデータに関する情報を前記クライアントコンピュータに通知する処理手段と
をコンピュータにより実現することを特徴とするコンピュータプログラム。
【請求項２８】
請求項１９乃至２７のいずれか１項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読の記録媒体。
【請求項２９】
前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる文書データが実際に印刷された時の総ページ数の問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答することを特徴とする請求項６記載の印刷制御装置。
【請求項３０】
前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる文書データが実際に印刷された時の総ページ数の問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答することを特徴とする請求項２４記載のコンピュータプログラム。
【請求項３１】
作成用プレビューファイルに格納されるプレビュー画像を作成するプレビュー画像作成手段と、
参照用ファイルに格納されるプレビュー画像を表示させるプレビュー手段と、前記プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換える手段とを有することを特徴とするプレビュー装置。
【請求項３２】
プレビュー画像作成手段が作成したプレビュー画像を格納する作成用プレビューファイルと、プレビュー手段が表示させるプレビュー画像を格納する参照用ファイルとを利用するプレビュー方法であって、
前記プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換えることを特徴とするプレビュー方法。
【請求項３３】
プレビュー画像作成手段が作成したプレビュー画像を格納する作成用プレビューファイルと、プレビュー手段が表示させるプレビュー画像を格納する参照用ファイルとを利用するプレビュープログラムであって、
プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換えることを特徴とするプレビュープログラム。
【請求項３４】
アプリケーションから供給され、オペレーティングシステムの標準スプール機能によりスプールされた印刷データに基づきプレビューを行うことを特徴とするプリンタドライバのプレビュー方法。
【請求項３５】
アプリケーションから供給され、オペレーティングシステムの標準スプール機能によりスプールされた印刷データに基づきプレビューを行うプレビュー手段を有することを特徴とするプリンタドライバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば印刷処理を行う前に印刷イメージを表示する、いわゆるプレビュー機能等を有する印刷制御装置及び方法と印刷システムに関する。
【０００２】
【従来の技術】
一般に、印刷前に印刷イメージを取得して画面に表示する手法として、プリンタに送られる印刷コマンドをプリンタが接続された計算機によって解析し、その計算機でＣＭＹＫプレーンごとに展開して印刷イメージを合成する手法や、プリンタに印刷を行わせるホスト計算機から当該プリンタに印刷コマンドを送信し、プリンタ内部で作成した印刷イメージをホスト計算機がプリンタから受信して取得、表示する手法がある。
【０００３】
またネットワーク環境においては、プリンタがローカル接続されてネットワークにプリンタの機能を提供するいわゆるプリンタサーバによって、プリンタに送られる印刷コマンドを解析し、その計算機でＣＭＹＫプレーンごとに展開して印刷イメージを合成する手法や、ネットワークを介してプリンタサーバあるいはプリンタに対して印刷を依頼するホスト計算機から当該プリンタに印刷コマンドを送信し、プリンタ内部で作成した印刷イメージをネットワークを介してホスト計算機がプリンタから受信して取得、表示する手法がある。
【０００４】
またオペレーティングシステムとしてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）を搭載した計算機を用いた印刷システムにおいては、アプリケーションプログラム等で生成された印刷データはシステム標準のスプールファイルに格納され、スプールファイル内の印刷データに自在にアクセスすることは出来ない。そのため、プリンタドライバが独自形式で印刷データのスプーリング（独自スプール）を行うことにより印刷データへアクセスすることを可能にし、印刷イメージの生成と表示とを行うプレビュー機能を実装していた。
【０００５】
【発明が解決しようとする課題】
ところで、上記のような従来の技術には次のような解決すべき課題があった。
【０００６】
プリンタに送られる印刷コマンドをホスト計算機が解析して印刷イメージを生成する手法では、非常に正確な印刷イメージデータが得られる一方、プリンタの解像度に比例してイメージデータの大きさが増大するため記憶領域が大量に必要だった。このことは、ネットワーク環境下においてプリンタサーバが印刷イメージを生成する場合においても同様である。
【０００７】
また、プリンタが印刷コマンドから作成した印刷イメージをホスト計算機が取得する手法においては、非常に正確な印刷イメージデータが得られる一方、プリンタの解像度に比例してイメージデータの大きさが増大するため、記憶領域が大量に必要であることに加えて、プリンタからホスト計算機に印刷イメージを転送する際の転送時間が増大する欠点があった。ネットワーク環境下においては転送時間が増大するだけではなく、ネットワークトラフィックを増大させて通信の遅延や障害を招く原因ともなり得る。
【０００８】
また、オペレーティングシステム（ＯＳ）としてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）を搭載した計算機を用いた印刷システムにおいて、プリンタドライバによる独自スプールを用いた手法だと、ＯＳとの親和性が低いため将来的にＯＳの改良や仕様変更に合わせて独自スプールの開発を続ける必要があり開発コストが増大する欠点が有る。
【０００９】
本発明は上記従来例に鑑みて成されたもので、少ない記憶領域で効率良く高品質の印刷イメージをプレビュー表示可能であり、オペレーティングシステムとの親和性を保ちつつ簡易な構成を有することで開発コストを抑制できる印刷制御装置及び方法と印刷システムを提供することを目的とする。
【００１０】
【問題を解決するための手段】
上記目的を達成するために本発明は次のような構成から成る。
【００１１】
文書データの印刷指示に応じて出力用の中間データを一時保存する機能を有する印刷制御装置であって、
印刷イメージの画面表示指定がされている場合、印刷指示に応じてイメージ生成要求を発行し、該イメージ生成要求に応じて生成されたイメージデータに関する情報に基づいてイメージデータを表示するプレビュー手段と、
イメージデータを生成するイメージデータ生成手段と、
前記イメージ生成要求に応じて、一時保存された中間データを読み出して前記イメージ生成手段によりイメージデータを生成させ、生成されたイメージデータに関する情報を前記プレビュー手段に通知する処理手段とを備える。
【００１２】
ここで詳細な説明においては、プレビュー手段はプレビューアに、イメージデータ生成手段はプリンタグラフィックドライバに、処理手段はプリントプロセッサに対応している。
【００１３】
さらに好ましくは、前記イメージ生成要求は、生成されるイメージデータのサイズまたは解像度の指定を伴い、前記処理手段は、指定されたサイズ又は解像度で前記イメージデータ生成手段にイメージデータを生成させる。
【００１４】
さらに好ましくは、前記イメージ生成要求は、イメージデータ生成の対象として前記文書データにおけるページ番号を含み、前記処理手段は、中間データを読み出して前記イメージデータ生成手段に指定されたページ番号に対応するイメージデータを生成させる。
【００１５】
さらに好ましくは、前記イメージ生成要求は、印刷イメージファイルに格納されるビットマップデータで使用される色数、またはビットマップデータ作成時に使用される減色方法を含む。
【００１６】
さらに好ましくは、前記処理手段は、前記イメージデータ生成手段により生成させるイメージデータを保存するためのファイルを指定された数量作成して、前記イメージデータ生成手段により生成されたイメージデータを前記ファイルに格納し、前記プレビュー手段は、画面表示指定された印刷イメージに対応するイメージデータが前記ファイルに格納されている場合には、当該ファイルからイメージデータを読み出して表示する。
【００１７】
さらに好ましくは、前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる印刷データが中間データとして格納されている否かの問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答する。
【００１８】
さらに好ましくは、前記プレビュー手段は前記文書データの印刷指示を発行するクライアント装置に含まれ、前記イメージデータ生成手段及び前記処理手段は、印刷装置及び前記クライアント装置に接続されたサーバ装置に含まれ、前記処理手段は、生成されたイメージデータに関する情報として、イメージデータそのものを前記プレビュー手段に通知する。
【００１９】
さらに好ましくは、前記処理手段は、印刷開始要求に応じて、一時保存された中間データを読み出して前記イメージデータ生成手段により印刷データを生成させ、生成された印刷データに基づいて印刷装置により印刷が行われる。
【００２０】
また他の側面によれば、プリンタに印刷用データを供給するプリンタドライバ中に、文書の印刷イメージを画面に表示するか否かを指定する設定部を含む印刷設定処理部と、
前記印刷設定処理部の設定に基づき文書の印刷データの各ページの処理順序を制御して印刷ページデータを生成する印刷ページ処理部と、
前記印刷ページデータのビットマップデータを作成し印刷部に供給するイメージ生成処理部と、
前記ビットマップデータを前記印刷イメージとして表示し、ユーザ入力により印刷イメージ表示を切替える印刷イメージ表示部とを有する印刷制御装置において、
前記印刷設定処理部において印刷イメージを画面に表示する指定が設定された場合に、前記印刷ページ処理部は前記印刷イメージ表示部の要求に従い前記印刷ページデータを生成し、前記イメージ生成処理部はビットマップデータを印刷イメージファイルに格納し、前記印刷イメージ表示部は前記印刷イメージファイルを利用して印刷イメージを画面に表示する。
【００２１】
また他の側面によれば、アプリケーションプログラムと、
前記アプリケーションプログラムが発行した印刷コマンドを解釈したオペレーティングシステムの印刷システムが通知する印刷イベントにより起動されて動作するユーザーインタフェースドライバと、
前記ユーザインターフェースドライバにより起動されて動作するプレビューアと、
前記アプリケーションプログラムが発行した印刷文書データの各ページの印刷データをページ単位でページ記述言語の状態で配置することの出来るプリントプロセッサと、
イメージデータを生成するプリンタグラフィックドライバとを備え、
前記アプリケーションプログラムは印刷文書データを作成し、
前記プリンタユーザーインタフェースドライバは、前記印刷文書データの印刷要求に伴って設定されたドライバプロパティに基づいて、前記オペレーティングシステムの印刷システムが通知する印刷イベントに応じて前記プレビューアを起動し、
前記プリントプロセッサは、前記文書の印刷データの各ページを処理して印刷ページデータを作成して上記プリンタグラフィックドライバに供給し、
前記プリンタグラフィックドライバは前記印刷ページデータのビットマップデータを作成して印刷イメージファイルに格納し、
前記プレビューアは前記印刷イメージファイルに格納されたビットマップデータを画面に表示する。
【００２２】
更に好ましくは、クライアント計算機とサーバ計算機とが通信で接続された環境において、前記アプリケーションプログラムと前記ユーザインターフェースドライバと前記プレビューアとは前記クライアント計算機で動作し、前記プリントプロセッサと前記プリンタグラフィックドライバとは前記サーバ計算機で動作する。
【００２３】
あるいは、他の側面によれば、本発明においては、オペレーティングシステムによる印刷イベントの通知を利用し印刷イメージの表示を行うプレビューアを起動する。アプリケーションの印刷データは標準スプールを用いて格納され、デスプーリングにおいてプリントプロセッサはプリンタグラフィックドライバに印刷イメージを作成するように通知する。更にプリントプロセッサはプレビューアと通信して印刷イメージを作成する際の解像度やページ番号等を含む印刷イメージ作成要求を取得し、解像度をプリンタグラフィックドライバに通知するとともに要求されたページ番号に対応する印刷ページデータ作成の制御を行う。プリンタグラフィックドライバは印刷ページデータをビットマップイメージに変換しプレビュー画像として印刷イメージファイルに格納し、プリントプロセッサは完成した印刷イメージファイルのファイル名をプレビューアに返答する。プレビューアはプリントプロセッサの返答に従い印刷イメージファイルに格納されたプレビュー画像を画面に表示する。プレビューアはユーザ操作に応じ任意の印刷ページの印刷イメージをプリントプロセッサに要求し新たな印刷イメージを取得して印刷イメージ表示を切替え、またプレビューアはユーザ操作により印刷開始・印刷中止をプリントプロセッサに要求し、印刷処理の開始と中止を指示する。
【００２４】
プレビューアから印刷開始を要求されたプリントプロセッサは、プリンタグラフィックドライバに通常印刷を指示し印刷ページデータを１ページから最終ページまで順に作成する。
【００２５】
プリンタグラフィックドライバはプリントプロセッサにより通常印刷が指示されているので、印刷ページデータをビットマップイメージに変換しプリンタに供給し本来の印刷処理が完了する。
【００２６】
さらに好ましくは、前記プレビュー手段はさらに、前記処理手段に対して、印刷対象となる文書データが実際に印刷された時の総ページ数の問い合わせを発行し、前記処理手段は、前記プレビュー手段に対して前記問い合わせに対して回答する。
【００２７】
また、他の側面によれば、本発明は、作成用プレビューファイルに格納されるプレビュー画像を作成するプレビュー画像作成手段と、
参照用ファイルに格納されるプレビュー画像を表示させるプレビュー手段と、前記プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換える手段とを有することを特徴とするプレビュー装置にある。
【００２８】
また、他の側面によれば、本発明は、プレビュー画像作成手段が作成したプレビュー画像を格納する作成用プレビューファイルと、プレビュー手段が表示させるプレビュー画像を格納する参照用ファイルとを利用するプレビュー方法であって、
前記プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換えることを特徴とするプレビュー方法にある。
【００２９】
また、他の側面によれば、本発明は、プレビュー画像作成手段が作成したプレビュー画像を格納する作成用プレビューファイルと、プレビュー手段が表示させるプレビュー画像を格納する参照用ファイルとを利用するプレビュープログラムであって、
プレビュー画像作成手段が作成したプレビュー画像を作成用プレビューファイルに格納した後、前記プレビュー手段により指定された参照用プレビューファイルの内容を作成用プレビューファイルの内容に置き換えることを特徴とするプレビュープログラムにある。
【００３０】
また、他の側面によれば、本発明は、アプリケーションから供給され、オペレーティングシステムの標準スプール機能によりスプールされた印刷データに基づきプレビューを行うことを特徴とするプリンタドライバのプレビュー方法にある。
【００３１】
また、他の側面によれば、本発明は、アプリケーションから供給され、オペレーティングシステムの標準スプール機能によりスプールされた印刷データに基づきプレビューを行うプレビュー手段を有することを特徴とするプリンタドライバにある。
【００３２】
【発明の実施の形態】
［第１実施形態］
以下、本発明の実施の形態を具体例を用いて説明する。
【００３３】
図１は、本発明の一実施形態である印刷システムにおいて、印刷及び印刷プレビュー時のデータフローを示すブロック図である。図において、本発明に関るモジュールは、印刷イメージ表示部であるプレビューア８と、プレビューア８を起動する機能を有し且つ印刷設定処理部を有するユーザインタフェースドライバ３と、印刷ページ処理部であるプリントプロセッサ５と、イメージ生成処理部であるプリンタグラフィックドライバ６である。プリンタグラフィックドライバ６は生成した印刷データをオペレーティングシステムの出力機能を介してプリンタに送信するだけでなく、指定されたファイル名でファイルとして保存する機能をも有している。また、生成する印刷データを、ビットマップデータ形式で生成することも、プリンタが処理可能な言語で生成することも可能である。プレビューを行うにあたり印刷イメージファイルであるプレビューファイル９が一時的に作成される。なお本実施形態ではオペレーティングシステムとしてマイクロソフト社製のＷｉｎｄｏｗｓを用いた場合を示す。
【００３４】
図１の印刷システムは、パーソナルコンピュータ等の上位装置１０１でアプリケーション１が作成した文書等の印刷用データを、ＧＤＩ２を通じてＥＭＦスプールファイル４に中間的な印刷データとして一時保持し、これをビットマップデータに変換する。この変換されたビットマップデータを上位装置１０１からプリンタ７に供給して印刷するよう構成されている。なお、ここでいう文書には、テキストの他に図や表あるいはビットマップ画像などのグラフィカルな内容を含むものや、グラフィカルな内容のみからなるものも含む。
【００３５】
なお、アプリケーション１は、アプリケーションプログラムにより提供され、ＧＤＩ２は、オペレーティングシステムにより提供され、ユーザインタフェースドライバ３、プリントプロセッサ５、プリンタグラフィックドライバ６、プレビューア８は、プリンタメーカが供給するプリンタドライバプログラムにより提供されるものである。
【００３６】
ここでＧＤＩとはグラフィックデバイスインタフェースのことで、Ｗｉｎｄｏｗｓのグラフィクスエンジンである。ＧＤＩは、Ｗｉｎｄｏｗｓで画面表示や印刷などのグラフィックス処理を行うモジュールであり、アプリケーションからのコマンドを受け、そのコマンドを、デバイスドライバ（本実施形態では特にプリンタドライバ）に対してデバイスドライバが解釈できる形に変換してから送信する。
【００３７】
またＥＭＦとはＥｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅの略で、Ｗｉｎｄｏｗｓにおける描画データの論理的な格納形式であり、ＥＭＦスプールファイルには印刷データがＥＭＦ形式で格納される。このように本実施形態の印刷システムでは、プレビュー表示のためにＯＳの印刷システムの標準スプール機能が用いられる。
【００３８】
ユーザインタフェースドライバ３は一般に印刷に使用する用紙サイズや印刷方向、その他の属性を設定する機能を提供する。同時に本実施形態におけるユーザインタフェースドライバ３は、用紙サイズ等の属性の設定の他に、印刷実行時に印刷処理の前に印刷イメージを表示装置に表示するか否かを決めるプレビュー設定を行う機能を提供する印刷設定処理部を有する。ユーザインタフェースドライバ３を介して設定された値を印刷条件と呼ぶ。ユーザはユーザインターフェース画面を通して印刷設定処理部の提供する機能を用いることで、プレビュー表示の有無を含む印刷条件を設定することができる。印刷条件がユーザに変更された場合、変更された印刷条件をアプリケーション１に返却する。本実施形態では、主として印刷条件の中においてプレビュー設定がされている、すなわち印刷条件に含まれるプレビュー設定が「プレビュー表示する」ものと設定されているとして説明を行う。また、印刷条件は、ＥＭＦスプールファイル４の一部として磁気ディスク等のファイル装置に格納され、ユーザインターフェースドライバ３やプリントプロセッサ５等により参照される。この印刷条件において、プレビュー設定は、例えば「プレビュー表示する」又は「プレビュー表示しない」のいずれかを示すフラグとして実現される。以下ではプレビュー設定において「プレビュー表示する」と設定されている状態を単に「プレビュー設定されている」と呼ぶことにする。
【００３９】
＜プレビュー表示手順の概要＞
図９は、図１の構成において、ある文書の最初のページと次に指定されたページについてプレビュー表示を行うシーケンスを示す図である。以下の説明においてかっこ内の番号は図９の参照番号を示す。
【００４０】
アプリケーション１は、オペレータや他のプログラム等のユーザから文書を印刷する旨の指示を受けると、文書を印刷するためにＯＳの印刷システムにＧＤＩ２を介して印刷開始を通知する（１００１）。ここでＧＤＩ２はユーザインタフェースドライバ３にアプリケーション１による印刷開始の印刷イベントを通知する（１００２）。ユーザインタフェースドライバ３は、印刷開始の印刷イベントを受け取ると、プレビュー表示する旨の設定がされている場合にはプレビューア８を起動する（１００３）。一方プレビュー表示する旨の設定がされていない場合には、プレビューア８は起動されず、通常の印刷処理を行うが、以下ではプレビュー設定されている場合について説明する。
【００４１】
続いてアプリケーション１は文書の印刷データをＧＤＩ２に供給して印刷処理を続行する（１００４）。ここでＧＤＩ２を経由した印刷データはＥＭＦスプールファイル４に格納される（１００５）。文書の印刷データの最初のページがＥＭＦスプールファイル４に格納された時点で、ＯＳの標準スプーラによりプリントプロセッサ５が起動される（１００６）。
【００４２】
プリントプロセッサ５は、Ｗｉｎｄｏｗｓにおいて印刷時にＥＭＦスプールファイル４から印刷出力情報と印刷データをページ単位で読込み印刷ページデータを作成し、印刷ページデータを１ページずつＧＤＩ２を介してプリンタグラフィックドライバ６に供給して印刷を行うモジュールである。本実施形態におけるプリントプロセッサ５は、そのような機能を果たすモジュールであると同時に印刷ページ処理部であり、プレビューア８と通信することにより、プレビューア８から通知される印刷イメージ作成要求を取得する機能を有する。ここで印刷イメージ作成要求には印刷イメージを作成するのに必要なページ番号や解像度等の情報が含まれる。ここで解像度としては、表示する画像のサイズに応じた解像度あるいは画像サイズ、またはディスプレイ１２の表示能力に応じた解像度あるいは画像サイズが指定される。例えば、Ａ４縦サイズの文書を１６００×１２００画素の画面にすべて同時に表示する場合には、Ａ４長手方向の長さが、多くとも１２００ドット程度になるような画像として生成しなければならない。この画像を縦方向が１２００画素かつ１００ｄｐｉの表示装置で表示すると、１ページの文書全体がほぼ原寸大で表示される。このように、表示能力に応じて生成される画像データのサイズが指定される。もちろん、表示装置がもっと小さければ画像サイズをそれに合わせて小さく指定することになる。また、表示サイズを小さくする場合には、そのサイズを生成される画像のサイズとして指定する。
【００４３】
プリントプロセッサ５は、ＯＳの標準スプーラに起動されると（１００６）、ＥＭＦスプールファイル４から印刷条件を読み出し（１００７）、プレビュー表示を行うかどうかを決める。前述したように本説明ではプレビュー表示を行う設定がされているので、まずプレビューファイル９のファイル名を決定し、ＧＤＩ２を経由してプリンタグラフィックドライバ６にそのファイル名を通知してプレビュー処理であることを知らせる。と同時に、プリントプロセッサによる印刷開始をＧＤＩ２に要求する（１００８、１００９）。続いてプリントプロセッサ５はプレビューア８から印刷イメージ作成要求を受けると空のプレビューファイル９を作成し（１０１１、１０１２）、プレビュー表示を要求されたページ番号の印刷条件をプレビューファイル９へと書込む（１０１３，１０１４）。そしてＥＭＦスプールファイル４から印刷イメージ作成に必要な文書データのページを読み出し（１０１５）、要求されたページ番号の印刷ページデータを作成してＧＤＩ２に供給する（１０１６）。印刷ページデータとは、例えばＥＭＦスプールファイル４から読み出したページ単位のＥＭＦデータを必要に応じて配置し直した、ページ単位のＧＤＩコマンド形式のデータである。例えばEMFスプールファイル４から読み出した２ページ分のＥＭＦデータを配置し、1ページの印刷ページデータにすることで、一般に２−ｕｐと呼ばれる機能が実現される。
【００４４】
ＧＤＩ２は、プリントプロセッサ５による印刷開始要求を受けると、プリントプロセッサ５による印刷イベントが発生したことをユーザインターフェースドライバ３に通知する（１０１０）。
【００４５】
イメージ生成処理部であるプリンタグラフィックドライバ６は、プリントプロセッサ５が供給した印刷ページデータをもとにＧＤＩ２が生成したグラフィック描画コマンド（１０１７）からビットマップデータを生成するモジュールである。ここでプリンタグラフィックドライバ６は、事前にプリントプロセッサ５から通知されたプレビューファイル名を用い、生成したビットマップデータをプレビュー画像データとしてプレビューファイル９に追加格納する（１０１８）。プリンタグラフィックドライバ６は、要求されたプレビュー画像データを作成し終えるとその旨をプリンタプロセッサに応答する（１０１９）。
【００４６】
プリンタグラフィックドライバ６がプレビュー画像データを格納し終えた後に、プリントプロセッサ５はプレビューア８にプレビューファイル９のファイル名を返答する（１０２０）。ここでプレビューファイル９にはプリントプロセッサ５が格納した印刷条件とプリンタグラフィックドライバ６が格納したプレビュー画像データが含まれている。
【００４７】
プレビューア８は、プリントプロセッサ５から返答されたプレビューファイル名を用いて、要求したページ番号に対応するプレビュー画像データとそのページの印刷条件をプレビューファイル９から取得し（１０２１）、表示手段であるディスプレイ１２にプレビュー画像の表示を行い、プレビュー表示１１が得られる（１０２２）。プレビューア８は図４に示すプレビューアが内包するユーザインターフェースを介してユーザにより操作され、ユーザの操作に従って次に表示すべきプレビュー画像を取得するためにプリントプロセッサ５との通信を繰り返す（１０２３）。なお、プレビューファイルはプレビューが行われた時点で削除してもよいし、プレビュー処理が終了するまでファイル内容を上書する形で1つのプレビューファイルを使用し続けてもよい
オペレータがユーザインターフェースを通じて他のページの表示を指定した場合には、以下、工程１０１１以下と同様の手順が繰り返される。
【００４８】
以上のようにして、印刷データを生成するプリンタグラフィクスドライバ６によりプレビュー画像データを生成させることで、オペレーティングシステムによってスプールされる印刷データを用いてプレビュー画像データを生成できる。また、指定されたページ単位でプレビュー画像データを生成することで、プレビュー画像データの格納のために必要とされる記憶領域は、その画像データが最高解像度であってもせいぜい１ページ分で済む。
【００４９】
＜印刷手順の概要＞
次にプレビューア８においてユーザに印刷開始が指示された場合について説明する。プレビューア８はプリントプロセッサ５に印刷開始を要求する。プリントプロセッサ５はＧＤＩ２を介してプリンタグラフィックドライバ６に実際の印刷であることを通知し、アプリケーション１の印刷データをＥＭＦスプールファイル４から読み出し、開始物理ページから最終物理ページまで１ページずつ印刷ページデータを作成しＧＤＩ２に順番に供給する。
【００５０】
実際の印刷であることを通知されたプリンタグラフィックドライバ６はＧＤＩ２が生成したグラフィック描画コマンドからビットマップデータを生成し、ビットマップデータを印刷コマンドに変換し、図に示していないデータ送信部を介してプリンタ７に供給する。ここで出力デバイスであるプリンタ７は、プリンタグラフィックドライバ６から渡された、印刷コマンドを印刷用紙に対し印刷する機能を持ち、図中１０に示した印刷結果である物理ページが得られる。
【００５１】
なお、プレビュー設定が「プレビュー表示しない」と設定されている場合には、プレビューア８は起動されないため、プリントプロセッサ５はＧＤＩ２に印刷開始を要求した後、アプリケーション１の印刷データをＥＭＦスプールファイル４から読み出し、開始物理ページから最終物理ページまで１ページずつ印刷ページデータを作成しＧＤＩ２に順番に供給し、プレビュー表示がされずに印刷が完了する。
【００５２】
＜ユーザインターフェースドライバの処理＞
図２には、第１実施形態のユーザインタフェースドライバ３がプレビューア８を起動するフローチャートを示す。ユーザインタフェースドライバ３はＧＤＩ２により通知される印刷イベントに基づき動作する。
【００５３】
ステップＳ１でまずアプリケーション１による印刷イベントかどうか判断を行いアプリケーション１による印刷イベントではない場合は処理を終了し、アプリケーション１による印刷イベントの場合はステップＳ２に移る。アプリケーション１によらない印刷イベントとは、例えばプリントプロセサ５による印刷イベントである。
【００５４】
ステップＳ２では印刷イベントの種類を判定し、印刷開始を示す印刷イベントの場合はステップＳ３に移り、印刷開始を示す印刷イベント以外の場合は終了する。
【００５５】
ステップＳ３では印刷条件に含まれるプレビュー設定を参照し、プレビュー設定されているかどうかを判断する。プレビュー設定がされている場合はステップＳ４に移りプレビューアを起動してから終了し、プレビュー設定がされていない場合は終了する。
【００５６】
＜プリントプロセッサの処理＞
次に図３Ａ，図３Ｂに示したプリントプロセッサ５の印刷ページ処理のフローチャートを用いて、第１実施形態のプリントプロセッサ５の印刷ページ処理を説明する。
【００５７】
プリントプロセッサ５は、アプリケーション１が印刷処理を開始し文書データの少なくとも1ページがＥＭＦスプールファイル４に格納された時点で、ＯＳの標準スプーラから起動され図３Ａ，３Ｂの手順を開始する。つまり、図３Ａ，３Ｂにおけるプリントプロセッサ５による印刷ページ処理は印刷ジョブごとに行われる。
【００５８】
まずステップＳ１０でＥＭＦスプールファイルから当該印刷ジョブの印刷条件を取得し、ステップＳ１１で印刷条件の中にプレビュー設定がされているかどうか調査する。プレビュー設定がされていない場合は通常印刷を行うためにステップＳ１２に進み、プレビュー設定がされている場合はプレビュー処理を行うためにステップＳ２１に進む。
【００５９】
（プレビュー処理）
ステップＳ２１ではプレビュー画像とその印刷条件を格納するためのプレビューファイル９を内容を空にした状態で作成し、ファイル名をプリンタグラフィックドライバ６に通知する。
【００６０】
続いてステップＳ２２ではＯＳの印刷システム（すなわちＧＤＩ２）に印刷開始を通知する。
【００６１】
ステップＳ２３ではプレビューア８からの要求を待ち、要求があればステップＳ２４に移りプレビューア８の要求を取得する。ここで要求とはプロセス間の通信のための所定形式のメッセージとして実現できる。
【００６２】
ステップＳ２５ではプレビューア８の要求の種別を判定し、印刷開始要求ならば通常の印刷処理を行うためにステップＳ３５に移り、印刷開始要求でないならばステップＳ２６に移る。
【００６３】
ステップＳ３５ではステップＳ２１で作成したプレビューファイル９を削除し、ステップＳ１２に移り通常の印刷処理を行う。
【００６４】
ステップＳ２６ではプレビューア８の要求の種別を判定し、印刷中止要求ならば印刷ジョブの印刷処理を終了するためステップＳ３６に移り、印刷中止要求でないならばステップＳ２７に移る。
【００６５】
ステップＳ３６ではステップＳ２１で作成したプレビューファイル８を削除し、ステップＳ２０に移り印刷ジョブの印刷処理を終了する。
【００６６】
ステップＳ２７ではプレビューア８の要求の種別を判定し、プレビュー画像作成要求ならばステップＳ２８に移りプレビュー画像作成処理を行い、プレビュー画像作成要求でないならばステップＳ３４に移りその他の要求の処理を行う。
【００６７】
ステップＳ３４ではプレビューア８の要求の種別のうち、印刷開始要求と印刷中止要求とプレビュー画像作成要求以外の要求の処理を行い、例えば印刷され得る全ページ数（総ページ数）を要求された時はプレビューア８への回答として全ページ数を用意し、例えば要求がアプリケーション１の印刷データがスプール中かどうかの問い合わせであればプレビューア８への回答としてスプール中かどうかのフラグを用意し、要求に適した回答を作成した後にプレビューア８に回答する。回答を終えるとステップＳ２３に移りプレビューアからの要求を待つ。
【００６８】
プレビューア８は、要求して獲得した全ページ数を図４の下欄の全ページ数として表示する（図４の例では３ページ）。また、図４の２２の４つのボタンのうちの右端のボタンが押された場合、全ページ数が分かっているので、最終ページのプレビューを行うことができる。
【００６９】
ステップＳ２８ではプレビューア８から通知された要求内容を取得してプレビュー画像作成処理のために必要な情報を得る。ここでプレビューア８から通知された要求内容の情報は、例えばプリントプロセッサ５が作成する印刷ページデータのページ番号であり、例えば作成されるプレビュー画像の縦横のピクセル数であり、例えばプレビュー画像を作成する際の解像度であり、例えば作成されるプレビュー画像で使用される色数または減色方法である。もちろん、要求内容は、これら情報のうちいずれかである場合も、複数の情報の組み合わせである場合もある。ただしページ番号は必要である。取得した要求内容の情報はプリンタグラフィックドライバ６に通知される。
【００７０】
ステップＳ２９ではプレビューファイル９の内容を空にした後、要求されたページ番号の印刷ページデータに対応する印刷条件をプレビューファイル９に格納する。
【００７１】
ステップＳ３０ではＧＤＩ２を介してＯＳの印刷システムに１ページ印刷開始を通知する。
【００７２】
ステップＳ３１ではＥＭＦスプールファイル４から印刷データを読み出し、プレビューア８が要求したページ番号の印刷ページデータを作成してＧＤＩ２に渡す。
【００７３】
ステップＳ３２ではＧＤＩ２を介してＯＳの印刷システムに１ページ印刷終了を通知する。ここでＧＤＩ２は印刷ページデータからグラフィック描画コマンドを作成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６はＧＤＩ２から受け取ったグラフィック描画コマンドからビットマップイメージを生成し、プレビュー画像としてプレビューファイル９に追加格納する。
【００７４】
ステップＳ３３ではプレビューア８のプレビュー画像作成要求に対して、プレビューファイルのファイル名を回答し、ステップＳ２３に移りプレビューア８からの次の要求を待つ。何らかの要求がプレビューア８からあれば、その要求内容に応じてすでに説明したように処理が行われる。
【００７５】
（印刷処理）
一方、ステップＳ１２では印刷処理を行うために、プリンタグラフィックドライバ６に実際の印刷を開始することを通知する。
【００７６】
ステップＳ１３では既にＯＳの印刷システムに印刷開始を通知したかどうかを判定し、通知済みであればステップＳ１５に移り各ページの印刷を行い、未通知であればステップＳ１４に移りＯＳの印刷システムに印刷開始を通知する。
【００７７】
ステップＳ１５からステップＳ１９までは印刷されるべき最終物理ページまで各物理ページを印刷するためのループとなる。ステップＳ１９においては、指定されたすべての物理ページの印刷が終了していなければ物理ページの印刷処理はステップＳ１６に続く。指定された全ての物理ページを印刷した後はステップＳ２０に進み、ＯＳの印刷システムに印刷処理終了を通知する。
【００７８】
ステップＳ１６ではＯＳの印刷システムに１ページ印刷開始を通知する。
【００７９】
ステップＳ１７ではＥＭＦスプールファイル４から印刷データを読み出し、各物理ページに対応する印刷ページデータを作成する。
【００８０】
ステップＳ１８ではＯＳの印刷システムに１ページ印刷終了を通知する。ここでＧＤＩ２は印刷ページデータからグラフィック描画コマンドを作成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６は、ＧＤＩ２から受け取ったグラフィック描画コマンドからビットマップイメージを生成し、プリンタ７に供給する。
【００８１】
ステップＳ２０ではＯＳの印刷システムに印刷終了を通知し、終了する。
【００８２】
以上で図３に示したプリントプロセッサ５の印刷ページ処理が終了する。ステップＳ３２でプリントプロセッサ５が印刷ページデータを作成してＧＤＩ２に１ページ印刷終了を通知するごとに、ＧＤＩ２は印刷ページデータからグラフィック描画コマンドを生成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６はＧＤＩ２から受け取ったグラフィック描画コマンドに基づいてビットマップデータを生成し、作成されたビットマップデータは、ステップＳ２１でプリントプロセッサ５から通知されたファイル名のプレビューファイル９に追加格納される。
【００８３】
プレビューア８は、ステップＳ３３でプリントプロセッサ５から返答されるファイル名のプレビューファイル９から指定ページ番号のプレビュー画像を取得して、表示手段１２にプレビュー画像１１を表示する。
【００８４】
またステップＳ１８でプリントプロセッサ５が印刷ページデータを作成して１ページ印刷終了をＧＤＩ２に通知するごとに、ステップＳ１２で実際の印刷処理を通知されたプリンタグラフィックドライバ６が印刷ページデータからビットマップデータを生成し、ビットマップデータを印刷コマンドに変換し、図には示さない所定のデータ送信処理を介してプリンタ７に供給され物理ページが印刷される。なお、プリンタグラフィックドライバ６は、複数の形式の印刷データを生成可能な場合があり、必ずしもビットマップ形式で印刷データを生成するとは限らず、指定形式の言語で印刷データを生成することもある。しかしながら、それはプリンタに供給する印刷データであり、プレビュー画像はビットマップ形式で生成される。
【００８５】
＜ユーザインターフェース＞
次に図４にはプレビューア８のユーザインタフェースの模式図を示す。プレビューア８はプレビュー画像や印刷ジョブの状態等を表示するための表示手段と、ユーザがプレビュー画像の表示方法等を変更するための入力手段を兼備する。ここでユーザによる操作には表示するプレビュー画像のページ番号の切替えボタン２２、拡大・縮小表示指定欄、印刷開始ボタン２０、印刷中止ボタン２１が含まれる。プレビューア８はユーザの操作を要求に変換しプリントプロセッサ５に通知する。
【００８６】
図４の画面は、アプリケーションにおいてプレビュー設定がされた状態で印刷開始の指示が与えられると表示される。最初にプレビュー表示の対象となるページは設定された印刷条件により文書が実際に印刷されたときの最初のページであり、ページ番号は常に1となる。例えば印刷条件に逆順印刷が設定されている時は、文書の最終ページから印刷されるため、ページ番号１のプレビュー画像は、文書の最終ページに対応する。プレビューア８は、ページ番号１を最初のプレビュー表示対象のページとして、プリントプロセッサ５に対してプレビュー画像作成要求と共にそのページ番号を渡す。そののち、切替ボタン２２の操作に応じてプレビュー対象のページ番号を増減し、その新たなページ番号とともにプレビュー画像の作成要求をプリントプリプロセッサ５に渡す。なお、図４の例では、ページ番号は直接指定できないが、ページ番号を入力させる入力ボックスを設け、そこに入力されたページ番号のページをプレビュー表示させることもできる。
【００８７】
また、印刷開始ボタン２０が押されると、印刷開始要求がプリントプレビューア５に対して発行される。これは、図３ＢのステップＳ２５において判定される印刷開始要求である。
【００８８】
また、印刷中止ボタン２１が押されると、印刷中止要求がプリントプレビューア５に対して発行される。これは、図３ＢのステップＳ２６において判定される印刷中止要求である。
【００８９】
＜印刷システムのハードウエア構成＞
次に、本実施形態の印刷システムのハードウェアブロック図を説明する。図５は本実施形態における印刷システムの構成を示すブロック図である。
【００９０】
図において、１０１は、ＣＲＴ表示装置であり、図１に示すユーザインタフェースドライバが提供するプロパティ設定ウィンドウ等を表示する。１０２はＣＲＴＣで表示装置用のコントローラである。図４のユーザインターフェース画面はＣＲＴ１０１に表示される。
【００９１】
１０３は、キーボードなどのデータ入力装置であり、例えば図１に示すユーザインタフェースドライバを介して印刷条件を設定することも可能である。１０４は、キーボードコントローラである。
【００９２】
１０５は、ポインティングデバイス等の座標入力装置であり、例えば図４に示されるプレビューアのユーザインタフェースを介して印刷中止等操作も可能である。１０６は、ポインティングデバイスコントローラである。
【００９３】
１０７は、装置全体の制御を司るＣＰＵである。図２及び図３Ａ、図３Ｂに示すフローチャートの手順は、ＣＰＵ１０７によりその手順を実現するためのプログラムを実行することで実現される。
【００９４】
１０８は、ブートプログラムなどを記憶しているＲＯＭである。
【００９５】
１０９は、ＯＳ、各アプリケーションプログラム、図１のシステム構成と図２、３Ａ，３Ｂのフローチャートに関るユーザインターフェースドライバやプリンタプリプロセッサやプリンタグラフィックドライバのプログラムを格納したり、さらにはワークエリアとしても利用されるＲＡＭである。なお、ユーザインターフェースドライバ３，プレビューア８、プリントプロセッサ５、プリンタグラフィックドライバ６を含むプログラムを、プリンタドライバプログラムと総称する。
【００９６】
１１０は、ＯＳ、各アプリケーションプログラム、図１のシステム構成図と図２、３Ａ、３Ｂのフローチャートに関るプログラムを含むプリンタドライバプログラム、フォントデータ、さらにはデータファイル（プレビューファイル）やＥＭＦスプールファイル等を記憶しているハードディスク装置であり、１１１はハードディスクコントローラである。
【００９７】
１１２は、可搬性記憶媒体の駆動装置であるフロッピーディスク装置であり、１１３はフロッピーディスクコントローラである。
【００９８】
１１４は、インターフェースであり、インターフェースケーブルを介してインクジェットプリンタなどの印刷装置１１５に接続される。
【００９９】
１１６は、各デバイスを接続するバスである。
【０１００】
本装置に電源が投入されると、ＣＰＵ１０７はＲＯＭ１０８に格納されているブートプログラムに従って起動し、ハードディスク装置１１０からＯＳをロードし、操作者の操作待ち状態になる。そして、操作者からＫＢ１０３またはＰＤ１０５からアプリケーションを介して印刷指示やプリンタドライバの印刷設定変更指示を受けた場合、もしくは自動的に起動するように設定されている場合は、ハードディスク装置１１０に格納されているプリンタドライバプログラムがＲＡＭ１０９にロードされ実行される。図１の構成は、図５の構成において図２乃至図３Ｂのプログラムに加えて、市販のオペレーティングシステムを実行することで実現できる。
【０１０１】
＜本実施形態の効果＞
以上のように、プリントプロセッサ５は、印刷ページデータをプリンタグラフィックドライバ６に供給する際に、プレビュー画像を作成するかどうかを通知し、プレビュー画像を作成するための情報を通知し、ＥＭＦスプールファイル４から印刷データを読み出し印刷ページデータを作成し、プリンタグラフィックドライバ６により印刷ページデータから印刷イメージであるプレビュー画像を作成する。このように、プリントプロセッサにより、プレビューアからのプレビューの要求と、プリンタグラフィックドライバによるイメージデータの生成との間に介入させ、プリンタグラフィックドライバにより表示用のイメージデータを作成させ、作成されたイメージデータをプレビューアに渡すことを可能としている。このため、オペレーティングシステムの標準スプールを用いてプレビュー画像を作成することができ、ドライバプログラムのメンテナンスが容易となる。
【０１０２】
またプリンタ７に送る印刷コマンドから印刷イメージを復元しないので、少ない記憶領域でプレビュー画像を作成できる。
【０１０３】
［第２実施形態］
以下、本発明の第２の実施形態を具体例を用いて説明する。図６は、本発明にかかる印刷システムの一実施形態を示すブロック図である。本実施形態は第１実施形態で説明した印刷システムにおけるプレビューファイルを複数用いた例である。そのため、ここでは図６の図１との相違点について説明する。
【０１０４】
本実施形態におけるプレビューファイルには、プリントプロセッサ５が印刷条件を格納しプリンタグラフィックドライバ６がプレビュー画像を追加格納するための一つの作成用プレビューファイル１３と、プレビューア８がプレビュー画像とその印刷条件を参照するための複数の参照用プレビューファイル１４の２種類有る。本実施形態におけるプリントプロセッサ５は、プレビューア８と通信することによりプレビュー初期化要求の情報として参照用プレビューファイル１４の個数を、プレビュー画像作成要求の情報としてページ番号に加えて参照用プレビューファイル１４の番号を取得する機能を有する。それ以外の点は、第１実施形態と同様である。
【０１０５】
＜プレビュー表示の概要＞
まずＧＤＩ２を経由しプリンタグラフィックドライバ６に作成用プレビューファイル１３のファイル名を通知し、プレビュー処理であることを知らせる。続いてプレビューア８から要求を受け取ったプリントプロセッサ５は、作成用プレビューファイル１３に要求されたページ番号の印刷条件を書込む。そしてＥＭＦスプールファイル４から印刷イメージ作成に必要な文書データのページを読み出し、要求されたページ番号の印刷ページデータを作成してＧＤＩ２に供給する。
【０１０６】
イメージ生成処理部であるプリンタグラフィックドライバ６は、事前にプリントプロセッサ５から通知されたファイル名を用い、生成したビットマップデータを作成用プレビューファイル１３に追加格納する。
【０１０７】
プリンタグラフィックドライバ６がプレビュー画像を作成用プレビューファイル１３に格納し終えた後に、プリントプロセッサ５は、プレビューア８から取得した参照用プレビューファイル番号に対応する参照用プレビューファイル１４の内容を、作成用プレビューファイル１３の内容で置き換え、プレビューア８に参照用プレビューファイル１４のファイル名を返答する。ここで、例えばプレビューア８が指定した参照用プレビューファイル１４の番号が１ならば第１の参照用プレビューファイル１４−１の内容を置き換えて第１の参照用ファイル１４−１のファイル名をプレビューア８に返答する。また例えば、プレビューア８が指定した参照プレビューファイル１４の番号が２ならば第２の参照用プレビューファイル１４−２の内容を作成用プレビューファイル１３の内容で置き換え、第２の参照用プレビューファイル１４−１のファイル名をプレビューア８に返答する。なお、本実施形態で示す参照用プレビューアの数は２つであるが、１つ或いは３つ以上の場合でも本実施形態の説明と同様に実施できる。
【０１０８】
プレビューア８は返答されたファイル名を有する参照用プレビューファイル１４から要求したページ番号に対応するプレビュー画像とそのページの印刷条件を取得し、獲得したプレビュー画像をその印刷条件に従って表示装置１２に表示する。その結果プレビュー表示１１が得られる。ユーザにより操作されるプレビューア８は、ユーザの操作に従って次に表示すべきプレビュー画像を取得するためにプリントプロセッサ５との通信を繰り返す。また、次に表示すべきプレビュー画像を含む参照プレビューファイル１４が過去において作成済みであり、しかも現在存在している場合は、プリントプロセッサ５に要求を出さずに、既存の参照用プレビューファイル１４に格納されているプレビュー画像を再利用できる。また、プリントプロセッサ５による参照用プレビューファイル１４の内容を作成用プレビューファイル１３の内容で置き換える操作は、例えばファイルをコピーすることで行ってもよいし、あるいはファイルをリネームすることで行ってもよい。
【０１０９】
ユーザインタフェースドライバ３がプレビューア８を起動するフローチャートは第１実施形態で用いた図２と等しいので、説明を省略する。
【０１１０】
＜プレビューア８の処理＞
図８にプレビューア８による処理手順を示す。プレビューア８は、ユーザインターフェースドライバ３により起動され、プリントプロセッサ５及びユーザインターフェースドライバ３からのイベント通知によりその処理を実行するが、プリントプロセッサ５との間のメッセージやデータの交換については前述したとおりであるので、ここでは説明を省く。図８の手順は、ユーザインターフェースドライバ３から起動された場合の手順である。
【０１１１】
ステップＳ８０１において、初期値として表示するプレビュ画像のページ番号を1とし、また、印刷イメージ生成要求を行う時の解像度を決定し、さらに、プリントプロセッサ５に初期化要求を発行する。続いてＳ８０２Ｓ８０３において、プレビュー表示の対象となる指定ページがすでに参照用プレビューファイルとして生成・格納されているか判定する。この判定は、図８（ｂ）の表を参照し、指定解像度の指定ページが登録されているか検索し、該当欄が見つかれば該当する参照用プレビューファイルが存在することで行われる。該当する参照用プレビューファイルが存在すれば、ステップＳ８０６において、その参照用プレビューファイルからイメージデータを読み出してプレビュー画像として表示する。一方、該当する参照用プレビューファイルが存在しなければ、ステップＳ８０４において、生成されるイメージデータが格納される参照用プレビューファイルの番号を指定し、指定ページについての印刷イメージ生成要求をプリントプロセッサ５に対して発行する。以下、上述した概要に従った手順でプレビュー表示が行われる。その場合、指定ページについての印刷イメージ生成要求をプリントプロセッサ５に対して発行し、プリントプロセッサ５から作成された参照用プレビューファイル名の通知を受けた後に図８（ｂ）の表を更新し、ステップＳ８０２の手順でプレビュー表示を行う。ステップＳ８０７及びＳ８０９においては、プレビュー表示した後で、図４のユーザインタフェースによるユーザの入力を待ち、ユーザの入力がページ番号の変更または解像度の変更であるかを判定する。ユーザの入力がページ番号又は解像度の変更であれば、ステップＳ８１０において、指定ページと指定解像度を変更し、プレビュー表示を切替えるためにステップＳ８０２に移る。一方、ユーザの入力がページ番号又は解像度の変更でなければ、ステップＳ８１１において、ユーザの入力が印刷終了かどうかを判定する。ユーザの入力が印刷終了であれば、ステップＳ８１２において、プリントプロセッサ５に対して印刷終了要求を発行する。一方、ユーザの入力が印刷終了でなければ、ステップＳ８１３においてプリントプロセッサ５に対して印刷開始要求を発行する。
【０１１２】
＜プリントプロセッサの処理＞
次に図７Ａ，７Ｂに示したプリントプロセッサ５の印刷ページ処理のフローチャートを用いて、第２実施形態のプリントプロセッサ５の印刷ページ処理を説明する。プリントプロセッサ５による印刷ページ処理は印刷ジョブごとに行われる。なお、図３Ａ，３Ｂと同じ符号で示したステップは、図３Ａ、図３Ｂにおいて同じ符号で示したステップと同内容の処理が行われるステップである。したがって図７Ａ、７Ｂに固有のステップは、ステップＳ４０〜Ｓ４５となる。
【０１１３】
まずステップＳ１０でＥＭＦスプールファイルから印刷ジョブの印刷条件を取得し、ステップＳ１１で印刷条件の中にプレビュー設定がされているかどうか調査し、プレビュー設定がされていない場合は通常印刷を行うためにステップＳ１２に進み、プレビュー設定がされている場合はプレビュー処理を行うためにステップＳ４０に進む。
【０１１４】
ステップＳ４０ではプレビュー画像とその印刷条件を格納するための作成用プレビューファイル１３を内容を空にした状態で作成し、ファイル名をプリンタグラフィックドライバ６に通知する。
【０１１５】
続いてステップＳ２２ではＯＳの印刷システムに印刷開始を通知する。
【０１１６】
ステップＳ２３ではプレビューア８からの要求を待ち、要求があればステップＳ２４に移りプレビューア８の要求を取得する。
【０１１７】
次にステップＳ４１ではプレビューア８の要求の種別を判定し、プレビュー初期化要求ならばステップＳ４２に移り初期化処理の判定を行い、印刷開始要求でないならばステップＳ２５に移る。
【０１１８】
ステップＳ４２では既に初期化処理を行ったかどうかを判定し、初期化済みであればステップＳ２３に移りプレビューア８からの要求を待ち、初期化済みでなければステップＳ４３に移り初期化処理を行う。
【０１１９】
ステップＳ４３ではプレビューア８からの要求内容から使用する参照用プレビューファイル１４の個数を取得し、内容を空にした参照用プレビューファイル１４を要求された個数だけ作成した後、ステップＳ２３に移りプレビューア８からの要求を待つ。ステップＳ４３の初期化時に、図８（Ｂ）の表も初期化されたファイルに対応する欄が例えばヌルデータで初期化される。
【０１２０】
ステップＳ２５ではプレビューア８の要求の種別を判定し、印刷開始要求ならば通常の印刷処理を行うためにステップＳ３５に移り、印刷開始要求でないならばステップＳ２６に移る。
【０１２１】
ステップＳ３５ではステップＳ２１で作成したプレビューファイルを削除し、ステップＳ１２に移り通常の印刷処理を行う。
【０１２２】
ステップＳ２６ではプレビューア８の要求の種別を判定し、印刷終了要求ならば印刷ジョブの印刷処理を終了するためステップＳ３６に移り、印刷終了要求でないならばステップＳ２７に移る。
【０１２３】
ステップＳ３６ではステップＳ２１で作成したプレビューファイルを削除し、ステップＳ２０に移り印刷ジョブの印刷処理を終了する。
【０１２４】
ステップＳ２７ではプレビューア８の要求の種別を判定し、プレビュー画像作成要求ならばステップＳ２８に移りプレビュー画像作成処理を行い、プレビュー画像作成要求でないならばステップＳ３４に移りその他の要求の処理を行う。
【０１２５】
ステップＳ３４ではプレビューア８の要求の種別のうち、印刷開始要求と印刷終了要求とプレビュー画像作成要求以外の要求の処理を行い、例えば印刷され得る全ページ数を要求された時はプレビューア８への回答として全ページ数を用意し、例えば要求がアプリケーション１の印刷データがスプール中かどうかの問い合わせであればプレビューア８への回答としてスプール中かどうかのフラグを用意し、要求に適した回答を作成した後にプレビューア８に返答する。返答を終えるとステップＳ２３に移りプレビューア８からの要求を待つ。
【０１２６】
ステップＳ２８ではプレビューア８から通知された要求内容を取得しプレビュー画像作成処理のために必要な情報を得る。ここでプレビューア８から通知された要求内容は、例えばプリントプロセッサ５が作成する印刷ページデータのページ番号であり、例えば作成されるプレビュー画像の縦横のピクセル数であり、例えばプレビュー画像を作成するための解像度であり、例えば作成されるプレビュー画像で使用される色数または減色方法であり、例えば新しく作成されるプレビュー画像を格納する参照用プレビューファイル１４の番号であり、取得した要求内容の情報をプリンタグラフィックドライバ６に通知する。
【０１２７】
次にステップＳ４４では作成用プレビューファイル１３の内容を空にした後、要求されたページ番号の印刷ページデータに対応する印刷条件を作成用プレビューファイル１３に格納する。
【０１２８】
ステップＳ３０ではＯＳの印刷システムに１ページ印刷開始を通知する。
【０１２９】
ステップＳ３１ではＥＭＦスプールファイル４から印刷データを読み出し、プレビューア８が要求したページ番号の印刷ページデータを作成する。
【０１３０】
ステップＳ３２ではＯＳの印刷システムに１ページ印刷終了を通知する。ここでプリンタグラフィックドライバ６はステップＳ３１で作成された印刷ページデータからビットマップイメージを生成し、プレビュー画像として作成用プレビューファイル１３に追加格納する。
【０１３１】
次にステップＳ４５では、要求された番号の参照用プレビューファイル１４の内容を完成した作成用プレビューファイル１３の内容で置き換え、プレビューア８のプレビュー画像作成要求の回答として要求された番号の参照用プレビューファイル１４のファイル名を返答し、ステップＳ２３に移りプレビューア８の要求を待つ。ここで参照用プレビューファイル１４の内容を作成用プレビューファイル１３の内容で置き換えた後に、作成用プレビューファイル１３の内容を空にすれば使用する記憶容量をより少なくできることは言うまでもない。また、プレビューア８は、返答を受けた参照用プレビューファイルのファイル名と、プレビュー対象の解像度及びプレビュー対象のページ番号とを対応付け、図８（Ｂ）の表に登録する。
【０１３２】
ステップＳ１２からステップＳ２０は実際の印刷処理のフローを示しているが、第１実施形態の図３のフローと等しいので説明を省略する。
【０１３３】
以上で図３に示したプリントプロセッサの印刷ページ処理が終了する。ステップＳ３２でプリントプロセッサ５が印刷ページデータを作成し１ページ印刷終了を通知するごとに、プリンタグラフィックドライバ６が印刷ページデータからビットマップデータを生成し、ビットマップデータはプレビュー画像としてステップＳ２１で通知されたファイル名の作成用プレビューファイル１３に追加格納される。ステップＳ３３でプリントプロセッサ５は作成用プレビューファイル１３の内容で参照用プレビューファイル１４の内容を置き換え、プレビューア８に参照用プレビューファイル１４のファイル名をプレビューア８に返答し、プレビューア８はプリントプロセッサ５から返答されるファイル名から参照用プレビューファイル１４のプレビュー画像を取得し表示手段１２にプレビュー画像を表示する。
【０１３４】
またステップＳ１８でプリントプロセッサ５が印刷ページデータを作成し１ページ印刷終了を通知するごとに、ステップＳ１２で実際の印刷処理を通知されたプリンタグラフィックドライバ６が印刷ページデータからビットマップデータを生成し、ビットマップデータを印刷コマンドに変換し、図には示さない所定のデータ送信処理を介してプリンタ７に供給され物理ページが印刷される。
【０１３５】
なお、作成された参照用プレビューファイルは、例えば作成可能な参照用プレビューファイルの最大数をあらかじめプレビューア８が定められており、図８（ａ）のステップＳ８０４において、最大数を超えていれば、最も早く作成された参照用プレビューファイルから順に指定個数のファイルの内容を初期化して再利用するので、記憶領域を所定サイズに抑制できる。なおその最大数は利用者が指定可能にしておけば、利用可能な記憶領域サイズに合わせてファイル数を設定できる。利用者による指定は、例えば図４のユーザインターフェース画面等に入力ボックスや選択メニューを用意し、入力を行わせる。入力された値は参照用プレビューファイルの最大数としてメモリや磁気ディスク等に記憶され、前記ステップＳ８０４でその値が参照される。その際には、プレビューア８が参照するプレビューページテーブル８００から、初期化されたファイルの欄をファイルの実体に合わせて初期化する。
【０１３６】
第２実施形態のプレビューア８のユーザインタフェースの模式図は第１実施形態の図４に示した図と同様であるため説明を省略する。
【０１３７】
＜第２実施形態の効果＞
以上のように、本実施形態ではプレビューア８が参照するための参照用プレビューファイル１４を複数用い、更にプリントプロセッサ５とプリンタグラフィックドライバ６がそれぞれ印刷条件とプレビュー画像を格納するための作成用プレビューファイル１３を用いることを特徴とする例を示した。
【０１３８】
これにより、プレビューア８は過去に作成したプレビュー画像を参照用プレビューファイルに格納することで再利用でき、使用する記憶領域を最小限に抑え、かつプリントプロセッサ５やプリンタグラフィックドライバ６に同じ画像を再生成させるための負荷をかけずに効率良く印刷プレビューを表示することが可能となる。
【０１３９】
［第３実施形態］
第３の実施形態として、サーバ計算機を用いてクライアント計算機から印刷を行わせるネットワークプリントシステムにおいて、サーバ計算機によりプレビュー画像を生成させる場合を説明する。
【０１４０】
以下、本発明の実施の形態を具体例を用いて説明する。
【０１４１】
図１０は、本発明の一実施形態である印刷システムにおいて、印刷及び印刷プレビュー時のデータフローを示すブロック図である。図において、本発明に関るモジュールは、印刷イメージ表示部であるプレビューア８と、プレビューア８を起動する機能を有し且つ印刷設定処理部を有するユーザインタフェースドライバ３と、印刷ページ処理部であるプリントプロセッサ５と、イメージ生成処理部であるプリンタグラフィックドライバ６である。プリンタグラフィックドライバ６は生成した印刷データをオペレーティングシステムの出力機能を介してプリンタに送信するだけでなく、指定されたファイル名でファイルとして保存する機能をも有している。また、生成する印刷データを、ビットマップデータ形式で生成することも、プリンタが処理可能な言語で生成することも可能である。プレビューを行うにあたり印刷イメージファイルであるプレビューファイル９が一時的に作成される。なお本実施形態ではオペレーティングシステムとしてマイクロソフト社製のＷｉｎｄｏｗｓを用いた場合を示す。また本実施形態と第１の実施形態との相違は、クライアント１１１のＧＤＩ２で生成されたグラフィック描画コマンドがサーバ計算機１１２に送信されてそのＥＭＦスプールファイル４にスプールされ、それ以下の印刷手順はサーバ計算機１１２において遂行される点である。なお、図１０では、クライアント計算機１１１のＧＤＩ２とサーバ計算機１１２のＥＭＦスプールファイルとの接続線と、クライアント計算機１１１のプレビューア８とサーバ計算機１１２のプリントプロセッサ５との接続線とが独立して描かされているが、これはモジュール間の接続の様子を模式的に示したに過ぎず、電気的にはサーバクライアントとも例えば１本のＬＡＮケーブルによりネットワーク１１３に接続されている。
【０１４２】
図１０の印刷システムは、パーソナルコンピュータ等のクライアント計算機１１１で動作するアプリケーション１が作成した文書等の印刷用データを、ＧＤＩ２を通じてサーバ計算機１１２のＥＭＦスプールファイル４に一時保持し、これをサーバ計算機１１２によりビットマップデータに変換する。この変換されたビットマップデータをサーバ計算機１１２からプリンタ７に供給して印刷するよう構成されている。なお、図１０において、図１と同様の構成についてはその説明を省略する。
【０１４３】
＜プレビュー表示手順の概要＞
アプリケーション１は、オペレータや他のプログラム等のユーザから文書を印刷する旨の指示を受けると、文書を印刷するためにＧＤＩ２を介してＯＳの印刷システムに印刷開始を通知する。ここでＧＤＩ２はユーザインタフェースドライバ３にアプリケーション１による印刷開始の印刷イベントを通知する。ユーザインタフェースドライバ３は、印刷開始の印刷イベントを受け取ると、プレビュー表示する旨の設定がされている場合にはプレビューア８を起動する。一方プレビュー表示する旨の設定がされていない場合には、プレビューア８を起動しないが、以下ではプレビュー設定されている場合について説明する。
【０１４４】
続いてアプリケーション１は文書の印刷データをＧＤＩ２に供給して印刷処理を続行する。ここでＧＤＩ２を経由した印刷データは、ネットワーク１１３を介してサーバ計算機１１２のＥＭＦスプールファイル４に格納される。
【０１４５】
サーバ計算機１１２で動作するプリントプロセッサ５は、Ｗｉｎｄｏｗｓにおいて印刷時にＥＭＦスプールファイル４から印刷出力情報と印刷データをページ単位で読込み、印刷ページデータを作成しサーバ計算機１１２のＧＤＩ１３を介してプリンタグラフィックドライバ６に供給して印刷を行うモジュールである。本実施形態におけるプリントプロセッサ５は、そのような機能を果たすモジュールであると同時に印刷ページ処理部であり、クライアント計算機１１１のプレビューア８とネットワーク１１３を介して通信することにより、プレビューア８から通知される印刷イメージ作成要求を取得する機能を有する。ここで印刷イメージ作成要求には印刷イメージを作成するのに必要なページ番号や解像度等の情報が含まれる。
【０１４６】
プリントプロセッサ５は、印刷イメージ作成要求を受けると、まず空のプレビューファイル９を作成し、ＧＤＩ１３を経由してプリンタグラフィックドライバ６にそのファイル名を通知してプレビュー処理であることを知らせる。続いてプリントプロセッサ５は、プレビュー表示を要求されたページ番号の印刷条件をプレビューファイル９へと書込む。そしてＥＭＦスプールファイル４から印刷イメージ作成に必要な文書データのページを読み出し、要求されたページ番号の印刷ページデータを作成してＧＤＩ１３に供給する。
【０１４７】
イメージ生成処理部であるプリンタグラフィックドライバ６は、プリントプロセッサ５が供給した印刷ページデータをもとにＧＤＩ１３が生成したグラフィック描画コマンドからビットマップデータを生成するモジュールである。ここでプリンタグラフィックドライバ６は、事前にプリントプロセッサ５から通知されたプレビューファイル名を用い、生成したビットマップデータをプレビュー画像データとしてプレビューファイル９に追加格納する。プリンタグラフィックドライバ６は、要求されたプレビュー画像データを作成し終えるとその旨をプリンタプロセッサ５に応答する。
【０１４８】
プリンタグラフィックドライバ６がプレビュー画像データを格納し終えた後に、プリントプロセッサ５は、クライアント計算機１１２のプレビューア８にプレビューファイル９の内容を送信する。ここでプレビューファイル９にはプリントプロセッサ５が格納した印刷条件とプリンタグラフィックドライバ６が格納したプレビュー画像データが含まれている。
【０１４９】
クライアント計算機１１１のプレビューア８は、プリントプロセッサ５から受信したプレビューファイルから、要求したページ番号に対応するプレビュー画像データとそのページの印刷条件を取得し、表示手段であるディスプレイ１２にプレビュー画像の表示を行い、プレビュー表示１１が得られる。ユーザインターフェースドライバ３を介してユーザにより操作されるプレビューア８は、ユーザの操作に従って次に表示すべきプレビュー画像を取得するためにプリントプロセッサ５との通信を繰り返す。なお、プレビューファイル９はサーバ計算機１１２からクライアント計算機１１１に送信された時点で削除してもよい。このプレビューファイルの削除は、次のプレビューファイルの生成が要求された時点まで遅らせても良い。また、プレビュー処理が完了するまで単一のプレビューファイルを上書する形で使用し、印刷開始または印刷中止の要求を受け取るとともに消去してもよい。
【０１５０】
以上のようにして、印刷データを生成するプリンタグラフィクスドライバ６によりプレビュー画像データを生成させることで、オペレーティングシステムによってスプールされる印刷データを用いてプレビュー画像データを生成できる。また、指定されたページ単位でプレビュー画像データを生成することで、プレビュー画像データの格納のために必要とされる記憶領域は、その画像データが最高解像度であってもせいぜい１ページ分で済む。
【０１５１】
＜プリントプロセッサの処理＞
次に図１１Ａ，図１１Ｂに示したプリントプロセッサ５の印刷ページ処理のフローチャートを用いて、第３実施形態のプリントプロセッサ５の印刷ページ処理を説明する。
【０１５２】
プリントプロセッサ５は、クライアント計算機１１１のプレビューア８から印刷イメージ作成要求を受けた場合に図１１Ａ，１１Ｂの手順を開始する。図１１Ａ，１１Ｂにおけるプリントプロセッサ５による印刷ページ処理は印刷ジョブごとに行われる。なお、図３Ａ，３Ｂと同内容のステップは、同じ符号で示されている。
【０１５３】
まずステップＳ１０でＥＭＦスプールファイルから当該印刷ジョブの印刷条件を取得し、ステップＳ１１で印刷条件の中にプレビュー設定がされているかどうか調査する。プレビュー設定がされていない場合は通常印刷を行うためにステップＳ１２に進み、プレビュー設定がされている場合はプレビュー処理を行うためにステップＳ２１に進む。
【０１５４】
（プレビュー処理）
ステップＳ２１ではプレビュー画像とその印刷条件を格納するためのプレビューファイル９を内容を空にした状態で作成し、ファイル名をプリンタグラフィックドライバ６に通知する。
【０１５５】
続いてステップＳ２２ではＯＳの印刷システム（すなわちＧＤＩ２）に印刷開始を通知する。
【０１５６】
ステップＳ２３ではプレビューア８からの要求を待ち、要求があればステップＳ２４に移りプレビューア８の要求を取得する。ここで要求とはプロセス間の通信のための所定形式のメッセージとして実現できる。
【０１５７】
ステップＳ２５ではプレビューア８の要求の種別を判定し、印刷開始要求ならば通常の印刷処理を行うためにステップＳ３５に移り、印刷開始要求でないならばステップＳ２６に移る。
【０１５８】
ステップＳ３５ではステップＳ２１で作成したプレビューファイル９を削除し、ステップＳ１２に移り通常の印刷処理を行う。
【０１５９】
ステップＳ２６ではプレビューア８の要求の種別を判定し、印刷中止要求ならば印刷ジョブの印刷処理を終了するためステップＳ３６に移り、印刷中止要求でないならばステップＳ２７に移る。
【０１６０】
ステップＳ３６ではステップＳ２１で作成したプレビューファイル９を削除し、ステップＳ２０に移り印刷ジョブの印刷処理を終了する。
【０１６１】
ステップＳ２７ではプレビューア８の要求の種別を判定し、プレビュー画像作成要求ならばステップＳ２８に移りプレビュー画像作成処理を行い、プレビュー画像作成要求でないならばステップＳ３４に移りその他の要求の処理を行う。
【０１６２】
ステップＳ３４ではプレビューア８の要求の種別のうち、印刷開始要求と印刷中止要求とプレビュー画像作成要求以外の要求の処理を行い、例えば印刷され得る全ページ数を要求された時はプレビューア８への回答として全ページ数を用意し、例えば要求がアプリケーション１の印刷データがスプール中かどうかの問い合わせであればプレビューア８への回答としてスプール中かどうかのフラグを用意し、要求に適した回答を作成した後にプレビューア８に回答する。回答を終えるとステップＳ２３に移りプレビューアからの要求を待つ。
【０１６３】
ステップＳ２８ではプレビューア８から通知された要求内容を取得してプレビュー画像作成処理のために必要な情報を得る。ここでプレビューア８から通知された要求内容の情報は、例えばプリントプロセッサ５が作成する印刷ページデータのページ番号であり、例えば作成されるプレビュー画像の縦横のピクセル数であり、例えばプレビュー画像を作成する際の解像度であり、例えば作成されるプレビュー画像で使用される色数または減色方法である。もちろん、要求内容は、これら情報のうちいずれかである場合も、複数の情報の組み合わせである場合もある。ただしページ番号は必要である。取得した要求内容の情報はプリンタグラフィックドライバ６に通知される。
【０１６４】
ステップＳ２９ではプレビューファイル９の内容を空にした後、要求されたページ番号の印刷ページデータに対応する印刷条件をプレビューファイル９に格納する。
【０１６５】
ステップＳ３０ではＧＤＩ１３を介してＯＳの印刷システムに１ページ印刷開始を通知する。
【０１６６】
ステップＳ３１ではＥＭＦスプールファイル４から印刷データを読み出し、プレビューア８が要求したページ番号の印刷ページデータを作成してＧＤＩ２に渡す。
【０１６７】
ステップＳ３２ではＧＤＩ１３を介してＯＳの印刷システムに１ページ印刷終了を通知する。ここでＧＤＩ１３は印刷ページデータからグラフィック描画コマンドを作成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６はＧＤＩ１３から受け取ったグラフィック描画コマンドからビットマップイメージを生成し、プレビュー画像としてプレビューファイル９に追加格納する。
【０１６８】
ステップＳ１１０１では、プレビューア８のプレビュー画像作成要求に対して、プレビューファイルの内容を送信し、ステップＳ２３に移りプレビューア８からの次の要求を待つ。何らかの要求がプレビューア８からあれば、その要求内容に応じて上述したように処理が行われる。
【０１６９】
（印刷処理）
一方、ステップＳ１２では印刷処理を行うために、プリントプロセッサ５はプリンタグラフィックドライバ６に実際の印刷を開始することを通知する。
【０１７０】
ステップＳ１３では既にＯＳの印刷システムに印刷開始を通知したかどうかを判定し、通知済みであればステップＳ１５に移り各ページの印刷を行い、未通知であればステップＳ１４に移りＯＳの印刷システムに印刷開始を通知する。
【０１７１】
ステップＳ１５からステップＳ１９までは印刷されるべき最終物理ページまで各物理ページを印刷するためのループとなる。ステップＳ１９においては、指定されたすべての物理ページの印刷が終了していなければ物理ページの印刷処理はステップＳ１６に続く。指定された全ての物理ページを印刷した後はステップＳ２０に進み、ＯＳの印刷システムに印刷処理終了を通知する。
【０１７２】
ステップＳ１６ではＯＳの印刷システムに１ページ印刷開始を通知する。
【０１７３】
ステップＳ１７では、ＧＤＩ１３ははＥＭＦスプールファイル４から印刷データを読み出し、各物理ページに対応する印刷ページデータを作成する。
【０１７４】
ステップＳ１８ではＯＳの印刷システム（ＧＤＩ１３）に１ページ印刷終了を通知する。ここでＧＤＩ１３は印刷ページデータからグラフィック描画コマンドを作成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６は、ＧＤＩ１３から受け取ったグラフィック描画コマンドからビットマップイメージを生成し、プリンタ７に供給する。
【０１７５】
ステップＳ２０ではＯＳの印刷システムに印刷終了を通知し、終了する。
【０１７６】
以上で図１１Ａ，１１Ｂに示したプリントプロセッサ５の印刷ページ処理が終了する。ステップＳ３２でプリントプロセッサ５が印刷ページデータを作成してＧＤＩ１３に１ページ印刷終了を通知するごとに、ＧＤＩ１３は印刷ページデータからグラフィック描画コマンドを生成してプリンタグラフィックドライバ６に渡す。プリンタグラフィックドライバ６はＧＤＩ１３から受け取ったグラフィック描画コマンドに基づいてビットマップデータを生成し、作成されたビットマップデータは、ステップＳ２１でプリントプロセッサ５から通知されたファイル名のプレビューファイル９に追加格納される。
【０１７７】
プレビューア８は、ステップＳ３３でプリントプロセッサ５から受信するプレビューファイル９から指定ページ番号のプレビュー画像を取得して、表示手段１２にプレビュー画像１１を表示する。
【０１７８】
またステップＳ１８でプリントプロセッサ５が印刷ページデータを作成して１ページ印刷終了をＧＤＩ１３に通知するごとに、ステップＳ１２で実際の印刷処理を通知されたプリンタグラフィックドライバ６が印刷ページデータからビットマップデータを生成し、ビットマップデータを印刷コマンドに変換し、図には示さない所定のデータ送信処理を介してプリンタ７に供給され物理ページが印刷される。なお、プリンタグラフィックドライバ６は、複数の形式の印刷データを生成可能な場合があり、必ずしもビットマップ形式で印刷データを生成するとは限らず、指定形式の言語で印刷データを生成することもある。しかしながら、それはプリンタに供給する印刷データであり、プレビュー画像はビットマップ形式で生成される。
【０１７９】
なお、サーバ計算機およびクライアント計算機とも、図５に示すハードウエアで構成されている。
【０１８０】
＜本実施形態の効果＞
以上のように、プリントプロセッサ５は、印刷ページデータをプリンタグラフィックドライバ６に供給する際に、プレビュー画像を作成するかどうかを通知し、プレビュー画像を作成するための情報を通知し、ＥＭＦスプールファイル４から印刷データを読み出し印刷ページデータを作成し、プリンタグラフィックドライバ６により印刷ページデータから印刷イメージであるプレビュー画像を作成するようにしたので、オペレーティングシステムの標準スプールを用いてプレビュー画像を作成することができ、ドライバプログラムのメンテナンスが容易となる。
【０１８１】
またプリンタ７に送る印刷コマンドから印刷イメージを復元しないので、少ない記憶領域でプレビュー画像を作成できる。
【０１８２】
さらにプレビューア８から表示するのに最適な解像度を得られるので、必要以上に大きなプレビュー画像を生成する必要がなく、ネットワークに送信されるデータの量を小さく抑制できる。
【０１８３】
また、第３の実施形態を第２の実施形態と組み合わせることもできる。その場合には、作成された参照用プレビューファイルの内容がサーバからクライアント計算機に送信され、クライアント計算機でそのプレビュー画像が表示される。
【０１８４】
【発明の効果】
以上説明したように本発明によれば、プレビューアから印刷イメージの解像度を指定出来るので、表示に適した大きさの印刷イメージを作成することが可能となり、使用する記憶領域を最小限に抑えることができる。
【０１８５】
また、ＯＳ標準スプールを利用するのでＯＳとの親和性が高く、将来にわたりメンテナンスが容易となり開発コストを抑えることができる。
【０１８６】
また、ネットワークをまたぐ印刷システムにおいては、サーバにプレビュー画像の生成処理を行わせることで、クライアント端末の負荷を低減できる。
【０１８７】
また、ネットワークをまたぐ印刷システムにおいては、プレビュー表示に適した解像度の画像データが得られることから、不必要に大きなデータをネットワーク上に送信することを防止でき、ネットワークトラフィックの増大防止に寄与する。
【図面の簡単な説明】
【図１】本発明の第１及び第２実施形態に係わる印刷システムのブロック図である。
【図２】本発明の実施形態に関るユーザインタフェースドライバのプレビューア起動処理方法を示すフローチャートである。
【図３Ａ】本発明の第１実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図３Ｂ】本発明の第１実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図４】本発明の実施形態に関るプレビューアのユーザインタフェースの模式図である。
【図５】本発明に係る印刷システムのハードウェアブロック図であり本実施形態における印刷システムの構成の図である。
【図６】本発明の第２実施形態に係わる印刷システムのブロック図である。
【図７Ａ】本発明の第２実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図７Ｂ】本発明の第２実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図８】本発明の実施形態におけるプレビューアによる処理のフローチャートである。
【図９】本発明の第１実施形態の印刷システムによる処理のシーケンス図である。
【図１０】本発明の第３実施形態に係わる印刷システムのブロック図である。
【図１１Ａ】本発明の第３実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図１１Ｂ】本発明の第３実施形態に関るプリントプロセッサの印刷ページ処理方法を示すフローチャートである。
【図１】
0003747175.tif 000002
【図２】
0003747175.tif 000003
【図３Ａ】
0003747175.tif 000004
【図３Ｂ】
0003747175.tif 000005
【図４】
0003747175.tif 000006
【図５】
0003747175.tif 000007
【図６】
0003747175.tif 000008
【図７Ａ】
0003747175.tif 000009
【図７Ｂ】
0003747175.tif 000010
【図８】
0003747175.tif 000011
【図９】
0003747175.tif 000012
【図１０】
0003747175.tif 000013
【図１１Ａ】
0003747175.tif 000014
【図１１Ｂ】
0003747175.tif 000015