(57)【要約】【課題】オフライン時においても適切にプレビュー画面を表示させることが可能なプレビュー画面表示制御装置を提供する。【解決手段】プレビュー画面表示制御装置は、アプリケーションに従い作成された画像データを保持する画像データ保持部と、画像データを受け付けて、プレビュー画面を生成するための描画処理を実行する描画フィルターと、画像データを描画フィルターに出力するプレビュー表示制御部と、印刷装置との通信状態に応じて、画像データ保持部に保持されている画像データをプレビュー表示制御部に出力する管理部と、印刷装置との通信が可能であるか否かを判定するオフライン判定部と、印刷装置との通信が不可能な状態であると判定した場合に、管理部を介さずに画像データ保持部に保持されている画像データを取得して、プレビュー表示制御部に取得した画像データを出力するオフライン処理部とを備える。【選択図】図５
2014038410.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションに従い作成された画像データを保持する画像データ保持部と、
画像データを受け付けて、プレビュー画面を生成するための描画処理を実行する描画フィルターと、
前記画像データを前記描画フィルターに出力するプレビュー表示制御部と、
印刷装置との通信状態に応じて、前記画像データ保持部に保持されている画像データを前記プレビュー表示制御部に出力する管理部と、
前記印刷装置との通信が可能であるか否かを判定するオフライン判定部と、
前記オフライン判定部において前記印刷装置との通信が不可能な状態であると判定した場合に、前記管理部を介さずに前記画像データ保持部に保持されている画像データを取得して、前記プレビュー表示制御部に取得した画像データを出力するオフライン処理部とを備え、
前記プレビュー表示制御部は、前記印刷装置との通信が不可能な状態である場合に、前記オフライン処理部からの画像データを前記描画フィルターに出力して、前記描画フィルターで生成されたプレビュー画面を表示させる、プレビュー画面表示制御装置。
【請求項２】
プレビュー画面に対するユーザの操作を受け付けて、印刷設定の変更、プレビュー画面の編集、出力を前記プレビュー表示制御部に対して指示するプレビュー画面制御部をさらに備える、請求項１記載のプレビュー画面表示制御装置。
【請求項３】
前記オフライン処理部は、前記画像データ保持部に保持されている画像データを取得するためのデータ検索部を含む、請求項１または２記載のプレビュー画面表示制御装置。
【請求項４】
前記画像データのジョブ情報を取得し、前記オフライン処理部に送信するジョブ情報取得部をさらに備える、請求項１〜３のいずれかに記載のプレビュー画面表示制御装置。
【請求項５】
前記データ検索部は、前記画像データのジョブ情報に基づいて前記画像データ保持部から一致する画像データを取得する、請求項４記載のプレビュー画面表示制御装置。
【請求項６】
前記プレビュー表示制御部は、前記オフライン処理部からの画像データを受け付けた場合であっても、前記印刷装置との通信が可能な状態となった場合には、前記管理部を介して出力される画像データを受け付けて前記描画フィルターに出力する、請求項１〜５のいずれかに記載のプレビュー画面表示制御装置。
【請求項７】
前記描画フィルターの機能を実現するアプリケーションと、前記プレビュー表示制御部、前記オフライン判定部、前記オフライン処理部の機能を実現するアプリケーションとは異なる、請求項１〜５のいずれかに記載のプレビュー画面表示制御装置。
【請求項８】
前記オフライン処理部において前記画像データ保持部に保持されている画像データを取得した後、前記画像データ保持部に保持されている画像データを削除する削除部をさらに備える、請求項１記載のプレビュー画面表示制御装置。
【請求項９】
前記プレビュー画面の表示要求の有無を判定するプレビュー有無判定部をさらに備え、
前記プレビュー有無判定部において、前記プレビュー画面の表示要求が有ると判定された場合に、前記プレビュー表示制御部に画像データが出力される、請求項１記載のプレビュー画面表示制御装置。
【請求項１０】
前記プレビュー表示制御部は、前記印刷装置との通信が不可能な状態である場合に前記オフライン処理部から前記画像データを取得できない場合には、メッセージを表示するメッセージ表示部を含む、請求項１記載のプレビュー画面表示制御装置。
【請求項１１】
前記プレビュー表示制御部は、前記メッセージが表示されている場合に、継続して待機するか否かをユーザーに問い合わせる問い合わせ部をさらに含む、請求項１０記載のプレビュー画面表示制御装置。
【請求項１２】
プレビュー画面表示制御装置のコンピュータを、
アプリケーションに従い作成された画像データを保持する画像データ保持部と、
画像データを受け付けて、プレビュー画面を生成するための描画処理を実行する描画フィルターと、
前記画像データを前記描画フィルターに出力するプレビュー表示制御部と、
印刷装置との通信状態に応じて、前記画像データ保持部に保持されている画像データを前記プレビュー表示制御部に出力する管理部と、
前記印刷装置との通信が可能であるか否かを判定するオフライン判定部と、
前記オフライン判定部において前記印刷装置との通信が不可能な状態であると判定した場合に、前記管理部を介さずに前記画像データ保持部に保持されている画像データを取得して、前記プレビュー表示制御部に取得した画像データを出力するオフライン処理部として機能させ、
前記プレビュー表示制御部は、前記印刷装置との通信が不可能な状態である場合に、前記オフライン処理部からの画像データを前記描画フィルターに出力して、前記描画フィルターで生成されたプレビュー画面を表示させる、プレビュー画面表示制御装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データに基づいてプレビュー画面を表示させるプレビュー画面表示制御装置およびプログラムに関するものである。
【背景技術】
【０００２】
従来、メモ帳やＷｏｒｄ（登録商標）などの文章編集アプリケーションによって作成された画像データに基づいて印刷を行う際、印刷を行う前に実際の印刷イメージをプレビューしてから印刷を行う方法が一般的に知られている。
【０００３】
このプレビュー機能は、プリンタドライバからプレビューアプリケーションを別アプリケーションとして起動させ、ドライバの描画部から印刷イメージを送信し、プレビューアプリケーションが受信した印刷イメージを画面に表示させるという仕組みで構成されている。
【０００４】
しかしながら、プリンタがオフライン状態になっていると、プリントシステム内のプロセスが動作しない状態となるため、プリンタドライバ側からプレビューアプリケーション側にデータ送信が行われなくなる。そのため、プレビュー表示がされない状態（データ受信待ち状態）が継続するという問題が生じる。
【０００５】
この点で、特開２０１１−２３７９０１号公報においては、ランゲージモニタからプレビューアプリケーションを起動させる方式が提案されている。
【０００６】
具体的には、描画部の処理が行われた後に、プレビュー表示に必要となる印刷データがランゲージモニタに出力される方式が示されているが、ＸＰＳ（XML Paper Specification）印刷パスの場合には、オフライン時に描画部が起動されない。そのため、ランゲージモニタに印刷データが送信されないため、プレビュー表示ができない状態となり、オフライン時にはプレビュー画面を表示させることができないという問題が生じる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２３７９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記のような問題を解決するためになされたものであって、オフライン時においても適切にプレビュー画面を表示させることが可能なプレビュー画面表示制御装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のある局面に従うプレビュー画面表示制御装置は、アプリケーションに従い作成された画像データを保持する画像データ保持部と、画像データを受け付けて、プレビュー画面を生成するための描画処理を実行する描画フィルターと、画像データを描画フィルターに出力するプレビュー表示制御部と、印刷装置との通信状態に応じて、画像データ保持部に保持されている画像データをプレビュー表示制御部に出力する管理部と、印刷装置との通信が可能であるか否かを判定するオフライン判定部と、オフライン判定部において印刷装置との通信が不可能な状態であると判定した場合に、管理部を介さずに画像データ保持部に保持されている画像データを取得して、プレビュー表示制御部に取得した画像データを出力するオフライン処理部とを備える。プレビュー表示制御部は、印刷装置との通信が不可能な状態である場合に、オフライン処理部からの画像データを描画フィルターに出力して、描画フィルターで生成されたプレビュー画面を表示させる。
【００１０】
好ましくは、プレビュー画面に対するユーザの操作を受け付けて、印刷設定の変更、プレビュー画面の編集、出力をプレビュー表示制御部に対して指示するプレビュー画面制御部をさらに備える。
【００１１】
好ましくは、オフライン処理部は、画像データ保持部に保持されている画像データを取得するためのデータ検索部を含む。
【００１２】
好ましくは、画像データのジョブ情報を取得し、オフライン処理部に送信するジョブ情報取得部をさらに備える。
【００１３】
特に、データ検索部は、画像データのジョブ情報に基づいて画像データ保持部から一致する画像データを取得する。
【００１４】
好ましくは、プレビュー表示制御部は、オフライン処理部からの画像データを受け付けた場合であっても、印刷装置との通信が可能な状態となった場合には、管理部を介して出力される画像データを受け付けて描画フィルターに出力する。
【００１５】
好ましくは、描画フィルターの機能を実現するアプリケーションと、プレビュー表示制御部、オフライン判定部、オフライン処理部の機能を実現するアプリケーションとは異なる。
【００１６】
好ましくは、オフライン処理部において画像データ保持部に保持されている画像データを取得した後、画像データ保持部に保持されている画像データを削除する削除部をさらに備える。
【００１７】
好ましくは、プレビュー画面の表示要求の有無を判定するプレビュー有無判定部をさらに備え、プレビュー有無判定部において、プレビュー画面の表示要求が有ると判定された場合に、プレビュー表示制御部に画像データが出力される。
【００１８】
好ましくは、プレビュー表示制御部は、印刷装置との通信が不可能な状態である場合にオフライン処理部から画像データを取得できない場合には、メッセージを表示するメッセージ表示部を含む。
【００１９】
特に、プレビュー表示制御部は、メッセージが表示されている場合に、継続して待機するか否かをユーザーに問い合わせる問い合わせ部をさらに含む。
【００２０】
本発明のある局面に従うプレビュー画面表示制御装置のプログラムは、プレビュー画面表示制御装置のコンピュータを、アプリケーションに従い作成された画像データを保持する画像データ保持部と、画像データを受け付けて、プレビュー画面を生成するための描画処理を実行する描画フィルターと、画像データを描画フィルターに出力するプレビュー表示制御部と、印刷装置との通信状態に応じて、画像データ保持部に保持されている画像データをプレビュー表示制御部に出力する管理部と、印刷装置との通信が可能であるか否かを判定するオフライン判定部と、オフライン判定部において印刷装置との通信が不可能な状態であると判定した場合に、管理部を介さずに画像データ保持部に保持されている画像データを取得して、プレビュー表示制御部に取得した画像データを出力するオフライン処理部として機能させる。プレビュー表示制御部は、印刷装置との通信が不可能な状態である場合に、オフライン処理部からの画像データを描画フィルターに出力して、描画フィルターで生成されたプレビュー画面を表示させる。
【発明の効果】
【００２１】
オフライン時においても適切にプレビュー画面を表示させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態１に従う画像処理システムの概略構成を説明する図である。
【図２】本発明の実施の形態１に従うＰＣ１の構成について説明する図である。
【図３】本発明の実施の形態１に従うプリンタドライバとプレビューアプリケーションの機能ブロック図である。
【図４】本発明の実施の形態１に従うプレビュー画面表示制御装置のオンライン時のプレビュー表示の処理の流れについて説明する図である。
【図５】本発明の実施の形態１に従うプレビュー画面表示制御装置のオフライン時のプレビュー表示の処理の流れについて説明する図である。
【図６】本発明の実施の形態１に従うプリンタ１００のオフラインの状態を説明する図である。
【図７】本発明の実施の形態１および比較例として従来例のプレビュー画面の表示の具体例を説明する図である。
【図８】本発明の実施の形態１に従うプレビュー表示の処理を説明するフロー図である。
【図９】本発明の実施の形態１に従うプレビューアプリケーション処理について説明するフロー図である。
【図１０】本発明の実施の形態１に従うオフライン判定部４４におけるオフライン判定処理について説明するフロー図である。
【図１１】本発明の実施の形態１に従うオフライン処理部４６におけるオフライン処理について説明するフロー図である。
【図１２】本発明の実施の形態１に従うプレビュー表示制御部５０におけるプレビュー表示処理について説明するフロー図である。
【図１３】本発明の実施の形態１に従うオフラインメッセージを表示する図である。
【図１４】本発明の実施の形態１に従う搭載機能処理部５６におけるプレビュー搭載機能の処理を説明するフロー図である。
【図１５】本発明の実施の形態２に従うプリンタドライバとプレビューアプリケーションの機能ブロック図である。
【図１６】本発明の実施の形態２に従うオンライン時のプレビュー表示の処理の流れについて説明する図である。
【図１７】本発明の実施の形態２に従うプレビュー表示の処理を説明するフロー図である。
【図１８】本発明の実施の形態２に従うオフライン判定処理について説明するフロー図である。
【図１９】本発明の実施の形態２に従うオフライン処理部４６におけるオフライン処理について説明するフロー図である。
【図２０】本発明の実施の形態２に従うプレビューアプリケーション処理について説明するフロー図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての同一部分については、その詳細な説明は繰り返さない。
【００２４】
＜実施の形態１＞
＜全体構成＞
図１は、本発明の実施の形態１に従う画像処理システムの概略構成を説明する図である。
【００２５】
図１を参照して、プレビュー画面表示制御装置であるＰＣ（Personal Computer）１と、当該ＰＣ１とネットワークで接続されたプリンタ１００とが設けられている。
【００２６】
本例においては、ＰＣ１からプリンタ１００に対して印刷ジョブを送信し、プリンタ１００のプリンタ機能により当該印刷ジョブに従う印刷処理を実行する前に、印刷ジョブ（印刷データ）のプレビュー画面を表示する場合について説明する。
【００２７】
＜ハードウェア構成＞
図２は、本発明の実施の形態１に従うＰＣ１の構成について説明する図である。
【００２８】
図２を参照して、本発明の実施の形態１に従うＰＣ１は、オペレーティングシステム（ＯＳ：Operating System）を含む各種プログラムを実行する制御装置（制御手段）であるＣＰＵ（Central Processing Unit）１１と、ＣＰＵ１１のプログラム部分の実行に必要なデータを一時的に記憶するＲＡＭ１３と、ＣＰＵ１１で実行されるプログラムや各種データ、ファイル等を不揮発的に記憶する記憶装置（記憶手段）であるハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１４と、ＣＰＵ１１で実行されるプログラムが予め格納されたＲＯＭ１２と、キーボード、マウス等を含む入力装置（入力手段）１５と、画面を表示するための表示装置（表示手段）であるディスプレイ１６と、一例として、ＬＡＮ（Local Area Network）を介して外部とのデータの授受を実行する送信／受信装置（送信／受信手段）であるネットワークインタフェースカード（ＮＩＣ）１８とを含む。
【００２９】
また、上述の各部は、内部バス１９を介して相互にデータを授受する。なお、本例においては、ディスプレイ１６がＰＣ本体と一体となっている場合について説明しているが、特に、これに限られず、ディスプレイ１６が別体となっていても良い。
【００３０】
また、ＲＯＭ１２あるいはＨＤＤ１４には、コンピュータの基本ソフトウェア（ＯＳ）およびこの基本ソフトウェア上で動作するアプリケーション（たとえば、文書編集アプリケーションであるワープロソフト、表計算ソフトなど）が記憶されており、当該アプリケーションを用いて作成された印刷対象となるデータがファイルデータという形式で保存されているものとする。また、ＲＯＭ１２あるいはＨＤＤ１４には、当該印刷対象となるデータをＰＤＬ（ページ記述言語）データに変換し、必要に応じてコマンドデータとともに印刷ジョブとして送信するためのプリンタドライバも記憶されている。
【００３１】
そして、本例においては、主に印刷対象となるファイルデータをオープンして、オープンされて表示された画像データについてプレビュー表示を伴う印刷指示を実行する場合について説明する。特に、ＰＣ１とプリンタ１００とがオフライン状態である場合について説明する。
【００３２】
＜機能ブロック図＞
図３は、本発明の実施の形態１に従うプリンタドライバとプレビューアプリケーションの機能ブロック図である。
【００３３】
図３を参照して、プリンタドライバ２０と、プリンタドライバ２０とは独立のプログラムとして設けられるプレビューアプリケーション４０とが示されている。
【００３４】
プリンタドライバ２０は、ユーザインタフェースに関する処理を実行するＵＩ（User Interface）処理部２２と、描画処理を実行する描画処理部３４とを含む。
【００３５】
ＵＩ処理部２２は、ＵＩ画面表示部２４と、印刷イベント処理部２６と、プレビュー処理部２８とを含む。
【００３６】
ＵＩ画面表示部２４は、ユーザインタフェースとしてのプリンタドライバの設定画面等を表示する。
【００３７】
印刷イベント処理部２６は、ＵＩ画面表示部２４に対するユーザの印刷設定等に関する操作を受け付けてジョブ情報を生成する。
【００３８】
プレビュー処理部２８は、プレビュー起動部３０と、ジョブ情報取得部３２とを含む。
ジョブ情報取得部３２は、印刷イベント処理部２６で生成したジョブ情報を取得する。
【００３９】
プレビュー起動部３０は、プレビューアプリケーション４０を起動するとともに、ジョブ情報取得部３２で取得したジョブ情報をプレビューアプリケーション４０に出力する。
【００４０】
描画処理部３４は、プレビューフィルター３６と、描画フィルター３８とを含む。
プレビューフィルター３６は、後述するフィルタパイプラインサービスＦＰから画像データを受けて、プレビューアプリケーションに送信するフィルターである。
【００４１】
描画フィルター３８は、各種の描画処理に用いられるフィルターである。
プレビューアプリケーション４０は、データ受信部４２と、オフライン判定部４４と、オフライン処理部４６と、ジョブキャンセル処理部４８と、プレビュー表示制御部５０と、プレビュー画面制御部５２と、印刷処理部５４と、搭載機能処理部５６とを含む。
【００４２】
データ受信部４２は、プレビューフィルター３６から送信された画像データを受信する。
【００４３】
オフライン判定部４４は、プリンタ１００との接続状態を確認してプリンタ１００との通信が可能な状態であるか否かを判定する。
【００４４】
オフライン処理部４６は、オフライン判定部４４の判定結果に基づいて後述するオフライン処理を実行する。
【００４５】
ジョブキャンセル処理部４８は、必要に応じて後述するスプーラーに格納されている画像データを削除する処理を実行する。
【００４６】
プレビュー表示制御部５０は、ディスプレイ１６に印刷データに従うプレビュー画面を表示する。
【００４７】
印刷処理部５４は、プレビュー表示制御部５０から出力された印刷データをプリンタ１００に接続されている出力ポートに印刷ジョブとして出力する。
【００４８】
搭載機能処理部５６は、ディスプレイ１６に表示されているプレビュー画面に対してユーザーの操作に応じた機能処理を実行するようにプレビュー表示制御部５０に指示する。
【００４９】
なお、描画フィルター３８は、本発明の「描画フィルター」に対応する。プレビュー表示制御部５０は、本発明の「プレビュー表示制御部」に対応する。オフライン判定部４４は、本発明の「オフライン判定部」に対応する。オフライン処理部４６は、本発明の「オフライン処理部」に対応する。搭載機能処理部５６は、本発明の「プレビュー画面制御部」に対応する。印刷処理部５４は、本発明の「印刷データ出力部」に対応する。ジョブキャンセル処理部４８は、本発明の「削除部」に対応する。
【００５０】
＜オンライン時におけるプレビュー表示処理＞
図４は、本発明の実施の形態１に従うプレビュー画面表示制御装置のオンライン時のプレビュー表示の処理の流れについて説明する図である。
【００５１】
図４を参照して、プリンタドライバのＵＩ処理部２２におけるＵＩ画面表示部２４は、アプリケーションＡＰに従うプリンタドライバの画面を表示する。
【００５２】
印刷イベント処理部２６は、ユーザーの印刷設定等に関する操作を受け付けてアプリケーションＡＰに従うジョブ情報を生成する。なお、ジョブ情報には、ジョブ対象となる画像データに対応付けられるファイル名およびファイルのフォーマット情報等を含むファイル情報が含まれる。
【００５３】
そして、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。より具体的には、プレビュー処理部２８のジョブ情報取得部３２は、ジョブ情報にプレビュー表示の指示が含まれているか否かを判断する。プレビュー表示の指示が含まれていると判断した場合に、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。また、ジョブ情報も合わせて送信する。
【００５４】
一方で、アプリケーションＡＰに従う画像データは、スプーラーＳＰに格納される。
当該スプーラーＳＰにおいて格納される画像データは、ファイル名およびファイルのフォーマット情報等を含むファイル情報と対応付けられた状態で格納されている。当該ファイル情報は画像データの検索の際に用いられる。
【００５５】
フィルタパイプラインサービスＦＰは、プリンタ１００との接続状態がオンライン時の場合にスプーラーＳＰに格納された画像データを取得して描画処理部３４のプレビューフィルター３６に出力する。
【００５６】
プレビューフィルター３６は、受信した画像データをプレビューアプリケーション４０のデータ受信部４２に出力する。
【００５７】
プレビューアプリケーション４０のデータ受信部４２は、プレビューフィルター３６から出力された画像データを受信してプレビュー表示制御部５０に出力する。
【００５８】
プレビュー表示制御部５０は、描画処理部３４の描画フィルター３８を用いてプレビュー用の描画処理を実行してディスプレイ１６に出力する。これにより、ディスプレイ１６にプレビュー画像が表示される。
【００５９】
ディスプレイ１６にプレビュー画像が表示された後、搭載機能処理部５６により所定の機能処理が実行され、例えば、印刷指示に従って搭載機能処理部５６は、プレビュー表示制御部５０に指示して、プレビュー表示制御部５０は、印刷処理部５４に印刷データを出力する。
【００６０】
印刷処理部５４は、プレビュー表示制御部５０から出力された印刷データをプリンタ１００に接続されている出力ポートに印刷ジョブを出力する。そして、プリンタ１００に印刷ジョブが送信され、プリンタ１００において印刷処理が実行される。
【００６１】
なお、スプーラーＳＰは、本発明の「画像データ保持部」に対応する。フィルタパイプラインサービスＦＰは、本発明の「管理部」に対応する。
【００６２】
＜オフライン時におけるプレビュー表示処理＞
図５は、本発明の実施の形態１に従うプレビュー画面表示制御装置のオフライン時のプレビュー表示の処理の流れについて説明する図である。
【００６３】
図５を参照して、プリンタドライバのＵＩ処理部２２におけるＵＩ画面表示部２４は、アプリケーションＡＰに従うプリンタドライバの画面を表示する。
【００６４】
印刷イベント処理部２６は、ユーザーの印刷設定等に関する操作を受け付けてアプリケーションＡＰに従うジョブ情報を生成する。
【００６５】
そして、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。より具体的には、プレビュー処理部２８のジョブ情報取得部３２は、ジョブ情報にプレビュー表示の指示が含まれているか否かを判断する。プレビュー表示の指示が含まれていると判断した場合に、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。その際、ジョブ情報も合わせて送信する。
【００６６】
ここまでは、図４と同様の処理である。
一方で、フィルタパイプラインサービスＦＰは、プリンタ１００との接続状態がオフライン時の場合には、プリントシステムのプロセスを停止する。すなわち、フィルタパイプラインサービスＦＰは、スプーラーＳＰに格納された画像データを取得して、プレビューフィルター３６に送信しない。したがって、プレビューアプリケーション４０は、スプーラーＳＰからの画像データを取得することができない。
【００６７】
本発明の実施の形態１に従う方式においては、プレビューアプリケーション４０のオフライン判定部４４において出力ポート１０２を監視してプリンタ１００との接続状態を確認してプリンタ１００との通信が可能な状態であるか否かを判定する。そして、オフライン判定部４４は、プリンタ１００との通信が可能でない状態、すなわち、オフラインであると判定した場合には、オフライン処理部４６にオフライン処理を実行するように指示する。
【００６８】
オフライン処理部４６は、オフライン判定部４４からの指示に従って、スプーラーＳＰに格納されている画像データを取得する。
【００６９】
そして、オフライン処理部４６は、プレビュー表示制御部５０に取得した画像データを出力する。
【００７０】
プレビュー表示制御部５０は、オフライン処理部４６からの画像データを受け付けて、描画処理部３４の描画フィルター３８を用いてプレビュー用の描画処理を実行してディスプレイ１６に出力する。これにより、ディスプレイ１６にプレビュー画像が表示される。
【００７１】
ディスプレイ１６にプレビュー画像が表示された後、搭載機能処理部５６により所定の機能処理が実行され、例えば、印刷指示に従って搭載機能処理部５６は、プレビュー表示制御部５０に指示して、プレビュー表示制御部５０は、印刷処理部５４に印刷データを出力する。
【００７２】
印刷処理部５４は、プレビュー表示制御部５０から出力された印刷データをプリンタ１００に接続されている出力ポートに印刷ジョブを出力する。そして、プリンタ１００に印刷ジョブが送信され、プリンタ１００において印刷処理が実行される。
【００７３】
図６は、本発明の実施の形態１に従うプリンタ１００のオフラインの状態を説明する図である。
【００７４】
図６を参照して、ここでは、プリンタ１００との接続状態画面が示されていて、プリンタ１００と接続されていない、通信が可能でないオフライン状態である場合が示されている。
【００７５】
図７は、本発明の実施の形態１および比較例として従来例のプレビュー画面の表示の具体例を説明する図である。
【００７６】
図７（Ａ）を参照して、ここでは、プリンタドライバの各種設定が可能なＵＩ画面が表示されている場合が示されている。ここでは、「印刷プレビュー」のチェックボックスにチェックが付けられている場合が示されている。当該操作が有った場合に、プレビュー表示の指示がジョブ情報に含まれる。
【００７７】
図７（Ｂ）を参照して、ここでは、比較例として、オフラインである場合にディスプレイ１６にプレビュー画像が表示されない場合が示されている。
【００７８】
図７（Ｃ）を参照して、そして、所定期間が経過した後、オフラインメッセージが表示される場合が示されている。したがって、従来の構成では、オフライン状態においてプレビュー画像を表示することはできなかった。
【００７９】
図７（Ｄ）を参照して、本発明の実施の形態１に従う方式においては、上記処理により、オフラインである場合にもディスプレイ１６にプレビュー画像が表示される場合が示されている。
【００８０】
＜処理フロー＞
図８は、本発明の実施の形態１に従うプレビュー表示の処理を説明するフロー図である。
【００８１】
当該処理は、本発明のＣＰＵ１１がＯＳおよびプリンタドライバおよびプレビューアプリケーションを読み出して実行した場合の処理である。
【００８２】
図８を参照して、プリンタドライバについて設定する（ステップＳ２）。具体的には、図７（Ａ）に示されるＵＩ画面において、プリンタドライバの各種設定が可能である。
【００８３】
次に、印刷実行の指示が有るかどうかを判断する（ステップＳ４）。具体的には、当該プリンタドライバのＵＩ画面において、印刷実行の指示を示す（「ＯＫ」）ボタンが選択されたかどうかを判断する。
【００８４】
ステップＳ４において、印刷実行の指示が有ると判断した場合（ステップＳ４においてＹＥＳ）には、ジョブ情報を取得する（ステップＳ６）。当該指示に従い印刷イベント処理部２６はジョブ情報を生成する。そして、プレビュー処理部２８のジョブ情報取得部３２は、当該ジョブ情報を取得する。
【００８５】
一方、ステップＳ４において、印刷実行の指示が無いと判断した場合（ステップＳ４においてＮＯ）には、処理を終了する（エンド）。
【００８６】
そして、プレビュー機能がＯＮしているかどうかを判断する（ステップＳ８）。プレビュー処理部２８のジョブ情報取得部３２は、ジョブ情報にプレビュー表示の指示が含まれているかどうかを判断する。
【００８７】
ステップＳ８において、プレビュー機能がＯＮしている場合（ステップＳ８においてＹＥＳ）には、プレビューアプリを起動する（ステップＳ１０）。ジョブ情報取得部３２は、プレビュー表示の指示がジョブ情報に含まれている場合にプレビュー起動部３０に指示する。そして、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。なお、その際に、ジョブ情報も合わせて送信する。
【００８８】
次に、プレビューアプリケーション処理を実行する（ステップＳ１２）。プレビューアプリケーション処理については後述する。
【００８９】
そして、処理を終了する（エンド）。
一方、ステップＳ８において、プレビュー機能がＯＮしていない場合（ステップＳ８においてＮＯ）には、描画処理を実行する（ステップＳ１４）。ジョブ情報取得部３２は、プレビュー表示の指示がジョブ情報に含まれていない場合にはプレビュー起動部３０にプレビューアプリケーション４０を起動するように指示しない。そのためプレビューアプリケーション４０は起動されない。また、印刷イベント処理部２６で生成されたジョブ情報に従って必要に応じて描画処理部３４において描画フィルター３８を用いた描画処理が実行される。
【００９０】
次に、印刷データを送信する（ステップＳ１６）。そして、描画処理後の印刷データが印刷ジョブとしてプリンタドライバから送信される。
【００９１】
そして、プリンタ１００において、プリント処理を実行する（ステップＳ１８）。
そして、処理を終了する（エンド）。
【００９２】
図９は、本発明の実施の形態１に従うプレビューアプリケーション処理について説明するフロー図である。
【００９３】
図９を参照して、まず、データ受信フラグを初期化（「未完了」に設定）する（ステップＳ２０）。
【００９４】
次に、オフライン判定部４４におけるオフライン判定処理を実行する（ステップＳ２４）。オフライン判定処理の詳細については後述する。
【００９５】
そして、次に、オフライン判定処理の判定結果としてオフライン状態かどうかを判断する（ステップＳ２６）。
【００９６】
ステップＳ２６において、オフライン状態であると判断した場合（ステップＳ２６においてＹＥＳ）には、オフライン処理部４６におけるオフライン処理を実行する（ステップＳ２８）。オフライン処理の詳細については後述する。
【００９７】
次に、プレビュー表示制御部５０におけるプレビュー表示処理を実行する（ステップＳ３０）。プレビュー表示処理の詳細については後述する。
【００９８】
そして、次に、搭載機能処理部５６におけるプレビュー搭載機能の処理を実行する（ステップＳ３２）。プレビュー搭載機能の処理の詳細については後述する。
【００９９】
そして、処理を終了する（リターン）。
一方、ステップＳ２６において、オフライン状態でないと判断した場合（ステップＳ２６においてＮＯ）には、すなわち、オンライン状態であると判断した場合には、データ受信部４２においてプレビューフィルター３６から出力されるデータを受信する（ステップＳ３４）。
【０１００】
そして、データ受信部４２は、全てのデータを受信したかどうかを判断する（ステップＳ３６）。
【０１０１】
ステップＳ３６において、全てのデータを受信していないと判断した場合（ステップＳ３６においてＮＯ）には、ステップＳ３８をスキップしてステップＳ３０に進む。
【０１０２】
ステップＳ３６において、全てのデータを受信したと判断した場合（ステップＳ３６においてＹＥＳ）には、データ受信フラグを「完了」に設定する（ステップＳ３８）。
【０１０３】
そして、プレビュー表示制御部５０におけるプレビュー表示処理を実行する（ステップＳ３０）。以降の処理は同様である。
【０１０４】
図１０は、本発明の実施の形態１に従うオフライン判定部４４におけるオフライン判定処理について説明するフロー図である。
【０１０５】
図１０を参照して、まず、印刷ステータスのフラグを初期化する（ステップＳ４０）。
次に、オフライン状態であるかどうかを判断する（ステップＳ４６）。具体的には、プリンタ１００と接続されている出力ポート１０２を監視してプリンタとの接続状態を確認してプリンタ１００との通信が可能な状態であるかどうかを判断する。
【０１０６】
ステップＳ４６において、オフライン状態でないと判断した場合（ステップＳ４６においてＮＯ）には、次に、内部状態エラーかどうかを判断する（ステップＳ４８）。オンライン状態であってもプレビューアプリケーション内部の状態として正常な状態で無い場合には内部状態エラーとなる。
【０１０７】
ステップＳ４８において、内部状態エラーでないと判断した場合（ステップＳ４８においてＮＯ）には、次に、データ受信タイムアウトかどうかを判断する（ステップＳ５０）。図９のステップＳ３６において、全てのデータを受信していない場合に、再度、オフライン判定処理（ステップＳ２４）に移行するが、当該処理において、所定時間内において全てのデータを受信できなかった場合には、データ受信タイムアウトとなる。例えば、当初オンライン状態であったが、途中でオフライン状態となった場合が考えられる。
【０１０８】
ステップＳ５０において、データ受信タイムアウトで無いと判断した場合（ステップＳ５０においてＮＯ）には、印刷ステータスのフラグを「オンライン」に設定する（ステップＳ５２）。
【０１０９】
そして、処理を終了する（リターン）。
一方、ステップＳ４６において、オフライン状態であると判断した場合（ステップＳ４６においてＹＥＳ）、ステップＳ４８において、内部状態エラーであると判断した場合（ステップＳ４８においてＹＥＳ）、ステップＳ５０において、データ受信タイムアウトであると判断した場合（ステップＳ５０においてＹＥＳ）には、印刷ステータスのフラグを「オフライン」に設定する（ステップＳ５４）。
【０１１０】
そして、処理を終了する（リターン）。
当該判定処理においてオフラインに設定された場合に、オフライン処理が実行される。
【０１１１】
図１１は、本発明の実施の形態１に従うオフライン処理部４６におけるオフライン処理について説明するフロー図である。
【０１１２】
図１１を参照して、まず、ジョブ情報のデータを取得する（ステップＳ６０）。具体的には、プレビュー起動部３０から出力されるジョブ情報のデータを取得する。
【０１１３】
次に、未処理のスプールファイルを検出する（ステップＳ６２）。具体的には、オフライン処理部４６は、スプーラーＳＰにアクセスして未処理のスプールファイルを検索する。
【０１１４】
そして、次に、検出されたスプールファイルを処理対象に設定する（ステップＳ６４）。
【０１１５】
そして、処理対象に設定されたスプールファイルのファイル情報を取得する（ステップＳ６６）。具体的には、ファイル名、ファイルのフォーマット情報を取得する。
【０１１６】
そして、次に、ジョブ情報の比較判定処理を実行する（ステップＳ７４）。具体的には、プレビュー起動部３０から出力されるジョブ情報に含まれるファイル名、ファイルのフォーマット情報と、スプールファイルのファイル情報に含まれるファイル名、ファイルのフォーマット情報とを比較する。なお、ジョブ情報のプリントチケットを取得して比較判定処理を実行することも可能である。
【０１１７】
次に、比較判定処理の結果、一致したかどうかを判断する（ステップＳ７６）。すなわち、同一のデータであるか否かを判断する。
【０１１８】
ステップＳ７６において、一致したと判断した場合（ステップＳ７６においてＹＥＳ）には、処理対象に設定されたスプールファイルをプレビュー表示用のデータファイルに設定する（ステップＳ７８）。
【０１１９】
そして、ステップＳ８２に進む。
一方、ステップＳ７６において、一致しないと判断した場合（ステップＳ７６においてＮＯ）には、検出が全て終了したかどうかを判断する（ステップＳ８０）。
【０１２０】
ステップＳ８０において、検出が全て終了していないと判断した場合（ステップＳ８０においてＮＯ）には、再びステップＳ６２に戻り、上記と同様の処理を繰り返す。
【０１２１】
一方、ステップＳ８０において、検出が全て終了したと判断した場合（ステップＳ８０においてＹＥＳ）には、プレビュー表示用のデータファイルが有るかどうかを判断する（ステップＳ８２）。
【０１２２】
ステップＳ８２において、プレビュー表示用のデータファイルが有ると判断した場合（ステップＳ８２においてＹＥＳ）には、プレビュー表示用のデータファイルを取得する（ステップＳ８４）。
【０１２３】
そして、次に、データ受信フラグを「完了」に設定する（ステップＳ８６）。これによりプレビュー表示が可能となる。
【０１２４】
そして、次に、画像データのキャンセル処理を実行する（ステップＳ８８）。具体的には、オフライン処理部４６は、ジョブキャンセル処理部４８に指示して、ジョブキャンセル処理部４８は、スプーラーＳＰから画像データを削除する。プレビュー表示用のデータファイルを取得したためスプールファイルを削除することによりスプーラーＳＰの領域を確保することが可能である。
【０１２５】
そして、処理を終了する（リターン）。
一方、ステップＳ８２において、プレビュー表示用のデータファイルが無いと判断した場合（ステップＳ８２においてＮＯ）には、データファイルが無いため処理を終了する（リターン）。
【０１２６】
図１２は、本発明の実施の形態１に従うプレビュー表示制御部５０におけるプレビュー表示処理について説明するフロー図である。
【０１２７】
図１２を参照して、まず、データ受信フラグが完了したかどうかを判断する（ステップＳ２１０）。オフライン状態である場合にプレビュー表示用のデータファイルをスプーラーＳＰから取得した場合、また、オンライン状態である場合にデータ受信部４２においてプレビューフィルター３６から画像データを取得した場合にデータ受信フラグが完了となっている。
【０１２８】
ステップＳ２１０において、データ受信フラグが完了したと判断した場合（ステップＳ２１０においてＹＥＳ）において、ページを選択する（ステップＳ２１２）。ファイルを構成するページが複数有る場合に、１つずつ選択する。
【０１２９】
次に、描画処理を実行する（ステップＳ２１４）。具体的には、描画処理部３４の描画フィルター３８を用いたプレビュー画像を生成するための描画処理を実行する。
【０１３０】
次に、ラスタライズ処理を実行する（ステップＳ２１６）。
次に、本体シミュレーション処理を実行する（ステップＳ２１８）。
【０１３１】
次に、ページが終了したかどうかを判断する（ステップＳ２２０）。全てのページについて上記処理が実行されたかどうかを判断する。ページが終了していないと判断した場合（ステップＳ２２０においてＮＯ）には、ステップＳ２１２に戻る。
【０１３２】
ステップＳ２２０において、ページが終了したと判断した場合（ステップＳ２２０においてＹＥＳ）には、先頭ページのプレビュー画像をディスプレイ１６に表示する（ステップＳ２２２）。これにより印刷実行前のプレビュー画像がディスプレイ１６に表示される。
【０１３３】
そして、処理を終了する（リターン）。
ステップＳ２１０において、データ受信フラグが完了していないと判断した場合（ステップＳ２１０においてＮＯ）には、印刷ステータスのフラグがオフラインであるかどうかを判断する（ステップＳ２２４）。例えば、スプーラーＳＰを検索した場合にプレビュー表示用のデータファイルを検出できなかった場合、また、例えば、当初オンライン状態であったが、途中でオフライン状態となった場合が考えられる。
【０１３４】
ステップＳ２２４において、印刷ステータスのフラグがオフラインであると判断した場合（ステップＳ２２４においてＹＥＳ）には、オフラインメッセージを表示する（ステップＳ２２６）。
【０１３５】
図１３は、本発明の実施の形態１に従うオフラインメッセージを表示する図である。
図１３を参照して、ここでは、「ドキュメントのデータ受信でタイムアウトが発生しました。オフライン状態になっている可能性があります。データ受信待ちを継続しますか？」の問い合わせが示されている。
【０１３６】
そして、「はい」、「いいえ」のボタンが表示されており、ユーザが選択可能に設けられている。
【０１３７】
ユーザが「はい」を選択することにより、受信待ちを継続すると判断される。
一方、「いいえ」を選択することにより、受信待ちを継続しないと判断される。
【０１３８】
再び、図１２を参照して、データ受信待ちを継続するかどうかを判断する（ステップＳ２２８）。具体的には、図１３のオフラインメッセージを表示する画面において、データ受信待ちを継続すると判断した場合には、図９のステップＳ２４に戻る。そして、再度、上記の処理を繰り返す。
【０１３９】
一方、ステップＳ２２８において、データ受信を継続しないと判断した場合（ステップＳ２２８においてＮＯ）には、プレビュー表示のキャンセル処理を実行する（ステップＳ２３２）。そして、処理を終了する（エンド）。すなわち、プレビュー表示の処理を終了する。
【０１４０】
また、ステップＳ２２４において、印刷ステータスのフラグがオンラインである場合（ステップＳ２２４においてＮＯ）にもプレビュー表示のキャンセル処理を実行する。
【０１４１】
オンラインであるにも係らず、データ受信フラグが未完了であるためエラー処理であり、プレビュー表示の処理を終了する。
【０１４２】
図１４は、本発明の実施の形態１に従う搭載機能処理部５６におけるプレビュー搭載機能の処理を説明するフロー図である。
【０１４３】
図１４を参照して、プレビュー画面においてユーザからの操作として各種機能の実行選択が有るかどうかが判断される（ステップＳ２４０）。
【０１４４】
ステップＳ２４０において、実行選択が有ると判断される場合（ステップＳ２４０においてＹＥＳ）には、それぞれの各種機能に従う処理を実行する。
【０１４５】
具体的には、実行選択が印刷設定である場合には、印刷設定が変更される（ステップＳ２４２）。そして、次に、印刷設定の変更に伴うプレビュー更新処理がされる（ステップＳ２５４）。具体的には、搭載機能処理部５６は、印刷設定の変更指示を受け付けて、プレビュー表示制御部５０に指示する。プレビュー表示制御部５０は、描画フィルター３８を介してプレビュー画面を再生成して表示する。
【０１４６】
そして、処理を終了する（リターン）。
実行選択がページ移動である場合には、選択ページをプレビュー表示する（ステップＳ２４６）。搭載機能処理部５６は、ページ移動の指示を受け付けて、プレビュー表示制御部５０に指示する。プレビュー表示制御部５０は、選択ページに従うプレビュー画面を表示する。
【０１４７】
実行選択がズーム表示である場合には、指定ズーム率でプレビュー表示する（ステップＳ２４８）。搭載機能処理部５６は、指定ズーム率の変更を受け付けて、プレビュー表示制御部５０に指示する。プレビュー表示制御部５０は、指定ズーム率に従うプレビュー画面を表示する。
【０１４８】
実行選択が印刷実行である場合には、印刷が実行される（ステップＳ２５０）。搭載機能処理部５６は、印刷実行の指示を受け付けてプレビュー表示制御部５０に指示する。プレビュー表示制御部５０は、指示に従い印刷処理部５４に印刷データを出力する。
【０１４９】
実行選択が終了である場合には、プレビューアプリ終了処理が実行される（ステップＳ２５２）。
【０１５０】
そして、処理を終了する（リターン）。
上記で説明したように、本方式により、オフライン時においてもオフライン処理部４６がスプーラーＳＰから画像データを取得して、取得した画像データをプレビュー表示制御部５０に出力する。そして、プレビュー表示制御部５０は、描画フィルター３８を介して描画処理したプレビュー画像をディスプレイ１６に表示する。したがって、オフライン時においてフィルタパイプラインサービスＦＰからプレビューフィルターに画像データが出力されない場合であっても、プレビュー画像を表示することが可能である。
【０１５１】
＜実施の形態２＞
上記の実施の形態１においては、プレビューアプリケーション側において、オフライン判定部、オフライン処理部等が設けられる構成について説明したが、プリンタドライバ側に当該機能が設けられる構成であっても良い。
【０１５２】
図１５は、本発明の実施の形態２に従うプリンタドライバとプレビューアプリケーションの機能ブロック図である。
【０１５３】
図１５を参照して、プリンタドライバ２０＃と、プリンタドライバ２０＃とは独立のプログラムとして設けられるプレビューアプリケーション４０＃とが示されている。
【０１５４】
プリンタドライバ２０＃は、プレビュー処理部２８をプレビュー処理部２８＃に変更した点が異なる。その他の部分については同様であるのでその詳細な説明は繰り返さない。
【０１５５】
プレビュー処理部２８＃は、プレビュー起動部３０と、ジョブ情報取得部３２と、オフライン判定部４４と、オフライン処理部４６と、ジョブキャンセル処理部４８とを含む。
【０１５６】
プレビューアプリケーション４０＃は、データ受信部４２と、プレビュー表示制御部５０と、印刷処理部５４と、搭載機能処理部５６とを含む。
【０１５７】
すなわち、プレビューアプリケーション４０に含まれていたオフライン判定部、オフライン処理部、ジョブキャンセル処理部がプレビュー処理部２８＃に含まれた形態であり、基本的には図３で説明したのと同様の機能処理を実行する。
【０１５８】
オンライン時におけるプレビュー表示処理については、図４で説明した処理と同様である。
【０１５９】
＜オフライン時におけるプレビュー表示処理＞
図１６は、本発明の実施の形態２に従うオンライン時のプレビュー表示の処理の流れについて説明する図である。
【０１６０】
図１６を参照して、プリンタドライバのＵＩ画面表示部２４は、アプリケーションＡＰに従うプリンタドライバの画面を表示する。
【０１６１】
印刷イベント処理部２６は、アプリケーションＡＰに従うユーザーの印刷設定等に関する操作を受け付けてジョブ情報を生成する。
【０１６２】
そして、プレビュー起動部３０は、プレビューアプリケーション４０を起動する。より具体的には、プレビュー処理部２８のジョブ情報取得部３２は、ジョブ情報にプレビュー表示の指示が含まれているか否かを判断し、含まれていると判断した場合にプレビュー起動部３０は、プレビューアプリケーション４０を起動する。その際、ジョブ情報も合わせて出力する。
【０１６３】
また、アプリケーションＡＰに従う画像データは、スプーラーＳＰに格納される。
一方で、フィルタパイプラインサービスＦＰは、プリンタ１００との接続状態がオフライン時の場合には、プリントシステムのプロセスを停止する。すなわち、フィルタパイプラインサービスＦＰは、スプーラーＳＰに格納された画像データを取得して、プレビューフィルター３６に送信しない。したがって、プレビューアプリケーション４０＃は、スプーラーＳＰからの画像データを取得することができない。
【０１６４】
ここまでは、図５で説明したのと同様である。
本発明の実施の形態２に従う方式においては、プリンタドライバのＵＩ処理部２２＃のオフライン判定部４４において出力ポート１０２を監視してプリンタ１００との接続状態を確認してプリンタ１００との通信が可能な状態であるか否かを判定する。そして、オフライン判定部４４は、プリンタ１００との通信が可能でない状態、すなわち、オフラインであると判定した場合には、オフライン処理部４６にオフライン処理を実行するように指示する。
【０１６５】
オフライン処理部４６は、オフライン判定部４４からの指示に従って、スプーラーＳＰに格納されている画像データを取得する。
【０１６６】
そして、オフライン処理部４６は、プレビュー表示制御部５０に取得した画像データを出力する。
【０１６７】
プレビュー表示制御部５０は、オフライン処理部４６からの画像データを受け付けて、描画処理部３４の描画フィルター３８を用いてプレビュー用の描画処理を実行してディスプレイ１６に出力する。これにより、ディスプレイ１６にプレビュー画像が表示される。
【０１６８】
ディスプレイ１６にプレビュー画像が表示された後、搭載機能処理部５６により所定の機能処理が実行され、例えば、印刷指示に従って搭載機能処理部５６は、プレビュー表示制御部５０に指示して、プレビュー表示制御部５０は、印刷処理部５４に印刷データを出力する。
【０１６９】
印刷処理部５４は、プレビュー表示制御部５０から出力された印刷データをプリンタ１００に接続されている出力ポートに印刷ジョブを出力する。そして、プリンタ１００に印刷ジョブが送信され、プリンタ１００において印刷処理が実行される。
【０１７０】
＜処理フロー＞
図１７は、本発明の実施の形態２に従うプレビュー表示の処理を説明するフロー図である。
【０１７１】
当該処理は、本発明のＣＰＵ１１がＯＳおよびプリンタドライバおよびプレビューアプリケーションを読み出して実行した場合の処理である。
【０１７２】
図１７を参照して、プリンタドライバについて設定する（ステップＳ１００）。具体的には、図７（Ａ）に示されるＵＩ画面において、プリンタドライバの各種設定が可能である。
【０１７３】
次に、印刷実行の指示が有るかどうかを判断する（ステップＳ１０２）。具体的には、当該プリンタドライバのＵＩ画面において、印刷実行の指示を示す（「ＯＫ」）ボタンが選択されたかどうかを判断する。
【０１７４】
ステップＳ１０２において、印刷実行の指示が有ると判断した場合（ステップＳ１０２においてＹＥＳ）には、ジョブ情報を取得する（ステップＳ１０６）。当該指示に従い印刷イベント処理部２６はジョブ情報を生成する。そして、プレビュー処理部２８のジョブ情報取得部３２は、当該ジョブ情報を取得する。
【０１７５】
一方、ステップＳ１０２において、印刷実行の指示が無いと判断した場合（ステップＳ１０２においてＮＯ）には、処理を終了する（エンド）。
【０１７６】
そして、プレビュー機能がＯＮしているかどうかを判断する（ステップＳ１０８）。プレビュー処理部２８＃のジョブ情報取得部３２は、ジョブ情報にプレビュー表示の指示が含まれているかどうかを判断する。
【０１７７】
ステップＳ１０８において、プレビュー機能がＯＮしている場合（ステップＳ１０８においてＹＥＳ）には、代替データ送信フラグを初期化（「未実行」に設定）する（ステップＳ１１０）。
【０１７８】
次に、オフライン判定部４４におけるオフライン判定処理を実行する（ステップＳ１１２）。オフライン判定処理については後述する。
【０１７９】
そして、次に、オフライン判定処理の判定結果としてオフライン状態であるかどうかを判断する（ステップＳ１１４）。
【０１８０】
ステップＳ１１４において、オフライン状態であると判断した場合（ステップＳ１１４においてＹＥＳ）には、オフライン処理部４６におけるオフライン処理を実行する（ステップＳ１１６）。そして、ステップＳ１１８に進む。オフライン処理の詳細については後述する。
【０１８１】
一方、ステップＳ１１４において、オフライン判定処理の判定結果として、オフライン状態でないと判断した場合、すなわち、オンラインであると判断した場合（ステップＳ１１４においてＮＯ）には、ステップＳ１１６をスキップして、ステップＳ１１８に進む。
【０１８２】
そして、次に、プレビュー起動部３０は、プレビューアプリを起動する（ステップＳ１１８）。ジョブ情報取得部３２が取得したジョブ情報にプレビュー表示の指示が含まれている場合にプレビュー起動部３０に指示する。そして、プレビュー起動部３０は、プレビューアプリケーション４０＃を起動する。なお、その際に、ジョブ情報も合わせて送信する。
【０１８３】
次に、プレビューアプリケーション処理を実行する（ステップＳ１２０）。プレビューアプリケーション処理については後述する。
【０１８４】
そして、処理を終了する（エンド）。
一方、ステップＳ１０８において、プレビュー機能がＯＮしていない場合（ステップＳ１０８においてＮＯ）には、描画処理を実行する（ステップＳ１２２）。ジョブ情報取得部３２は、プレビュー表示の指示がジョブ情報に含まれていない場合にはプレビュー起動部３０にプレビューアプリケーション４０＃を起動するように指示しない。そのためプレビューアプリケーション４０＃は起動されない。また、印刷イベント処理部２６で生成されたジョブ情報に従って必要に応じて描画処理部３４において描画フィルター３８を用いた描画処理が実行される。
【０１８５】
次に、印刷ジョブを送信する（ステップＳ１２４）。そして、描画処理後の印刷データが印刷ジョブとしてプリンタドライバから送信される。
【０１８６】
そして、プリンタ１００において、プリント処理を実行する（ステップＳ１２６）。
そして、処理を終了する（エンド）。
【０１８７】
図１８は、本発明の実施の形態２に従うオフライン判定処理について説明するフロー図である。
【０１８８】
図１８を参照して、まず、印刷ステータスのフラグを初期化する（ステップＳ１３０）。
【０１８９】
次に、オフライン状態であるかどうかを判断する（ステップＳ１３６）。具体的には、プリンタ１００と接続されている出力ポート１０２を監視してプリンタとの接続状態を確認してプリンタ１００との通信が可能な状態であるかどうかを判断する。
【０１９０】
ステップＳ１３６において、オフライン状態でないと判断した場合（ステップＳ１３６においてＮＯ）には、次に、内部状態エラーかどうかを判断する（ステップＳ１３８）。オンライン状態であってもプレビューアプリケーション内部の状態として正常な状態で無い場合には内部状態エラーとなる。
【０１９１】
ステップＳ１３８において、内部状態エラーでないと判断した場合（ステップＳ１３８においてＮＯ）には、印刷ステータスのフラグを「オンライン」に設定する（ステップＳ１４０）。
【０１９２】
そして、処理を終了する（リターン）。
一方、ステップＳ１３６において、オフライン状態であると判断した場合（ステップＳ１３６においてＹＥＳ）、ステップＳ１３８において、内部状態エラーであると判断した場合（ステップＳ１３８においてＹＥＳ）には、印刷ステータスのフラグを「オフライン」に設定する（ステップＳ１４２）。
【０１９３】
そして、処理を終了する（リターン）。
当該判定処理においてオフラインに設定された場合に、オフライン処理が実行される。
【０１９４】
図１９は、本発明の実施の形態２に従うオフライン処理部４６におけるオフライン処理について説明するフロー図である。
【０１９５】
図１９を参照して、まず、ジョブ情報のデータを取得する（ステップＳ１５０）。具体的には、ジョブ情報取得部３２で取得されたジョブ情報のデータを取得する。
【０１９６】
次に、未処理のスプールファイルを検出する（ステップＳ１５２）。具体的には、オフライン処理部４６は、スプーラーＳＰにアクセスして未処理のスプールファイルを検索する。
【０１９７】
そして、次に、検出されたスプールファイルを処理対象に設定する（ステップＳ１５４）。
【０１９８】
そして、処理対象に設定されたスプールファイルのファイル情報を取得する（ステップＳ１５６）。具体的には、ファイル名、ファイルのフォーマット情報を取得する。
【０１９９】
そして、次に、ジョブ情報の比較判定処理を実行する（ステップＳ１６４）。具体的には、取得されたジョブ情報に含まれるファイル名、ファイルのフォーマット情報と、スプールファイルのファイル情報に含まれるファイル名、ファイルのフォーマット情報とを比較する。
【０２００】
次に、比較判定処理の結果、一致したかどうかを判断する（ステップＳ１６６）。すなわち、同一のデータであるか否かを判断する。
【０２０１】
ステップＳ１６６において、一致したと判断した場合（ステップＳ１６６においてＹＥＳ）には、処理対象に設定されたスプールファイルを代替プレビュー表示用のデータファイルに設定する（ステップＳ１６８）。
【０２０２】
そして、ステップＳ１７２に進む。
一方、ステップＳ１６６において、一致しないと判断した場合（ステップＳ１６６においてＮＯ）には、検出が全て終了したかどうかを判断する（ステップＳ１７０）。
【０２０３】
ステップＳ１７０において、検出が全て終了していないと判断した場合（ステップＳ１７０においてＮＯ）には、再びステップＳ１５２に戻り、上記と同様の処理を繰り返す。
【０２０４】
一方、ステップＳ１７０において、検出が全て終了したと判断した場合（ステップＳ１７０においてＹＥＳ）には、代替プレビュー表示用のデータファイルが有るかどうかを判断する（ステップＳ１７２）。
【０２０５】
ステップＳ１７２において、代替プレビュー表示用のデータファイルが有ると判断した場合（ステップＳ１７２においてＹＥＳ）には、代替プレビュー表示用のデータファイルを送信する（ステップＳ１７４）。
【０２０６】
そして、次に、代替データ送信フラグを「実行」に設定する（ステップＳ１７６）。これによりプレビューアプリケーション４０＃において代替プレビュー表示用のデータファイルに基づくプレビュー表示が可能となる。
【０２０７】
そして、次に、画像データのキャンセル処理を実行する（ステップＳ１７８）。具体的には、プレビュー処理部２８＃のオフライン処理部４６は、ジョブキャンセル処理部４８に指示して、ジョブキャンセル処理部４８は、スプーラーＳＰから画像データを削除する。代替プレビュー表示用のデータファイルをプレビューアプリケーション４０＃に送信したためスプールファイルを削除することによりスプーラーＳＰの領域を確保することが可能である。
【０２０８】
そして、処理を終了する（リターン）。
一方、ステップＳ１７２において、代替プレビュー表示用のデータファイルが無いと判断した場合（ステップＳ１７２においてＮＯ）には、データファイルが無いため処理を終了する（リターン）。
【０２０９】
図２０は、本発明の実施の形態２に従うプレビューアプリケーション処理について説明するフロー図である。
【０２１０】
図２０を参照して、まず、データ受信フラグを初期化（「未完了」に設定）する（ステップＳ１８０）。
【０２１１】
そして、次に、オフライン判定処理の判定結果としてオフライン状態かどうかを判断する（ステップＳ１８２）。具体的には、印刷ステータスのフラグを確認してオフライン状態であるか否かを判断する。なお、オフライン判定部４４は、出力ポート１０２を常時監視していてオフライン状態からオンライン状態に変更された場合には、印刷ステータスのフラグを変更するものとする。
【０２１２】
ステップＳ１８２において、オフライン状態であると判断した場合（ステップＳ１８２においてＹＥＳ）には、代替データ送信フラグが実行であるか否かを判断する（ステップＳ１８４）。
【０２１３】
ステップＳ１８４において、代替データ送信フラグが実行であると判断した場合（ステップＳ１８４においてＹＥＳ）には、代替データを受信する（ステップＳ１８６）。具体的には、プレビュー表示制御部５０が当該代替データを取得する。
【０２１４】
そして、データ受信フラグを「完了」に設定する（ステップＳ１８８）。
次に、プレビュー表示制御部５０におけるプレビュー表示処理を実行する（ステップＳ１９０）。プレビュー表示処理については、図１２で説明したのと同様である。
【０２１５】
そして、次に、搭載機能処理部５６におけるプレビュー搭載機能の処理を実行する（ステップＳ１９２）。プレビュー搭載機能の処理については、図１４で説明したのと同様である。
【０２１６】
そして、処理を終了する（リターン）。
一方、ステップＳ１８２において、オフライン状態でないと判断した場合（ステップＳ１８２においてＮＯ）には、すなわち、オンライン状態であると判断した場合には、データ受信部４２においてプレビューフィルター３６から出力されるデータを受信する（ステップＳ１９６）。
【０２１７】
そして、データ受信部４２は、全てのデータを受信したかどうかを判断する（ステップＳ１９８）。
【０２１８】
ステップＳ１９８において、全てのデータを受信したと判断した場合（ステップＳ１９８においてＹＥＳ）には、データ受信フラグを「完了」に設定する（ステップＳ２００）。
【０２１９】
一方、ステップＳ１９８において、全てのデータを受信していないと判断した場合（ステップＳ１９８においてＮＯ）には、ステップＳ２００をスキップして、ステップＳ１９０に進む。
【０２２０】
そして、プレビュー表示制御部５０におけるプレビュー表示処理を実行する（ステップＳ１９０）。以降の処理は同様である。
【０２２１】
なお、図１２で説明したプレビュー表示処理において、データ受信待ちを継続するとの指示が有った場合には、図１７のステップＳ１１２に戻る。そして、再度、上記の処理を繰り返す。
【０２２２】
上記で説明したように、本方式により、プリンタドライバ側において、オフラインか否かを判定して、オフラインであると判定した場合に、プレビュー表示有りの場合にはオフライン処理部４６が予めスプーラーＳＰから画像データを取得して、取得した画像データを代替プレビュー表示用データとしてプレビューアプリケーション４０＃に送信する。プレビューアプリケーション４０＃は、オフラインか否かを判断して、オフラインであると判断した場合には、オフライン処理部４６から送信された代替プレビュー表示用データを受信する。そして、受信したデータを用いて、プレビュー表示制御部５０は、描画フィルター３８を介して描画処理したプレビュー画像をディスプレイ１６に表示する。したがって、オフライン時においてフィルタパイプラインサービスＦＰからプレビューフィルター３６に画像データが出力されない場合であっても、プレビュー画像を表示することが可能である。
【０２２３】
なお、上記のプレビューアプリケーション処理において、ステップＳ１８２においてオフライン状態である場合には、代替プレビュー表示用データを用いたプレビュー表示が行われるが、オンライン状態である場合には、プレビューフィルター３６を介して受信する画像データを用いたプレビュー表示が行われる。この点で、最初オフライン状態で代替プレビュー表示用データがプレビューアプリケーション４０＃に送信された場合であってもその後オンライン状態となってプレビューフィルター３６から画像データを受信可能であればプレビューフィルター３６の方を優先して、当該プレビューフィルター３６から出力された画像データを受信してプレビュー表示を実行する。
【０２２４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２２５】
１  ＰＣ、１１  ＣＰＵ、１２  ＲＯＭ、１３  ＲＡＭ、１６  ディスプレイ、１９  内部バス、２０  プリンタドライバ、２２  ＵＩ処理部、２４  ＵＩ画面表示部、２６  印刷イベント処理部、２８  プレビュー処理部、３０  プレビュー起動部、３２  ジョブ情報取得部、３４  描画処理部、３６  プレビューフィルター、３８  描画フィルター、４０  プレビューアプリケーション、４２  データ受信部、４４  オフライン判定部、４６  オフライン処理部、４８  ジョブキャンセル処理部、５０  プレビュー表示制御部、５２  プレビュー画面制御部、５４  印刷処理部、５６  搭載機能処理部、１００  プリンタ、１０２  出力ポート。
【図１】
2014038410.tif 000003
【図２】
2014038410.tif 000004
【図３】
2014038410.tif 000005
【図４】
2014038410.tif 000006
【図５】
2014038410.tif 000007
【図６】
2014038410.tif 000008
【図７】
2014038410.tif 000009
【図８】
2014038410.tif 000010
【図９】
2014038410.tif 000011
【図１０】
2014038410.tif 000012
【図１１】
2014038410.tif 000013
【図１２】
2014038410.tif 000014
【図１３】
2014038410.tif 000015
【図１４】
2014038410.tif 000016
【図１５】
2014038410.tif 000017
【図１６】
2014038410.tif 000018
【図１７】
2014038410.tif 000019
【図１８】
2014038410.tif 000020
【図１９】
2014038410.tif 000021
【図２０】
2014038410.tif 000022