(57)【要約】      （修正有）【課題】ストレージデバイス等の記憶手段に記憶された中間データによらずにプレビューを表示することにより、機密情報の漏洩リスクを低減する印刷制御プログラムを提供する。【解決手段】プリンタドライバ３０２は、印刷するための印刷データを生成する印刷データ生成手段（印刷データ生成部４０３）と、印刷に係るプレビュー画像を生成するプレビュー画像生成手段（プレビュー画像生成部４０４）と、印刷プレビューを表示するプレビュー手段（プレビューアプリケーション３０３）からインタフェースの情報を取得する取得手段（アプリケーション通信部４０５）と、印刷データ生成手段が印刷データを生成中に、取得したインタフェースの情報を用いてプレビュー画像を含むプレビュー情報をプレビュー手段に通知する通知手段（アプリケーション通信部４０５）と、としてコンピュータを機能させる。【選択図】図４
2016177552.tif 000002
【特許請求の範囲】
【請求項１】
印刷を制御するプログラムであって、
前記印刷するための印刷データを生成する印刷データ生成手段と、
前記印刷に係るプレビュー画像を生成するプレビュー画像生成手段と、
印刷プレビューを表示するプレビュー手段からインタフェースの情報を取得する取得手段と、
前記印刷データ生成手段が前記印刷データを生成中に、前記取得したインタフェースの情報を用いて前記プレビュー画像を含むプレビュー情報を前記プレビュー手段に通知する通知手段と、
としてコンピュータを機能させるためのプログラム。
【請求項２】
前記インタフェースは、
前記プレビュー手段に前記プレビュー情報を渡すためのコールバック関数であることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記プレビュー画像生成手段は、
前記印刷に係るプレビュー画像をページ毎に生成する請求項１又は２に記載のプログラム。
【請求項４】
前記通知手段は、
前記ページ毎に生成されたプレビュー画像を含むプレビュー情報を、前記ページ毎に前記プレビュー手段に通知する請求項３に記載のプログラム。
【請求項５】
前記コンピュータを、
前記インタフェースの安全性を確認する安全性確認手段として機能させる請求項１乃至４のいずれか一項に記載のプログラム。
【請求項６】
前記コンピュータを、
前記プレビュー手段から、前記インタフェースに係る認証情報を取得する認証情報取得手段として機能させ、
前記安全性確認手段は、
前記認証情報を認証することにより、前記インタフェースの安全性を確認する請求項５に記載のプログラム。
【請求項７】
前記プレビュー手段は、
前記コンピュータを、
前記取得手段に前記インタフェースの情報を通知するインタフェース情報通知手段と、
前記通知手段から前記プレビュー情報を受け付ける受付手段と、
前記受け付けたプレビュー情報に基づいて前記印刷プレビューを表示するプレビュー表示手段と、
として機能させるためのアプリケーションプログラムであることを特徴とする請求項１乃至６のいずれか一項に記載のプログラム。
【請求項８】
請求項１乃至７のいずれか一項に記載のプログラムと、
前記プログラムの制御に応じて前記印刷データを印刷する画像処理装置と、
を含む情報処理システム。
【請求項９】
印刷を制御する情報処理装置であって、
前記印刷するための印刷データを生成する印刷データ生成手段と、
前記印刷に係るプレビュー画像を生成するプレビュー画像生成手段と、
印刷プレビューを表示するプレビュー手段からインタフェースの情報を取得する取得手段と、
前記印刷データ生成手段が前記印刷データを生成中に、前記取得したインタフェースの情報を用いて前記プレビュー画像を含むプレビュー情報を前記プレビュー手段に通知する通知手段と、
を有する情報処理装置。
【請求項１０】
印刷を制御する印刷制御方法であって、
情報処理装置が、前記印刷するための印刷データを生成する印刷データ生成ステップと、
前記情報処理装置が、前記印刷に係るプレビュー画像を生成するプレビュー画像生成ステップと、
前記情報処理装置が、印刷プレビューを表示するプレビュー手段からインタフェースの情報を取得する取得ステップと、
前記情報処理装置が、前記印刷データ生成ステップにより前記印刷データを生成中に、前記取得したインタフェースの情報を用いて前記プレビュー画像を含むプレビュー情報を前記プレビュー手段に通知する通知ステップと、
を含む印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、印刷制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）等の情報処理装置において、印刷を制御するプリンタドライバの印刷設定インタフェースを用いて印刷設定を行い、設定された印刷設定による印刷イメージを表示するプレビュー機能が知られている。例えば、印刷対象となる文書データを中間データとして保存手段に保存し、指定された印刷方法に基づくレイアウト情報と、保存手段に保存された中間データとに基づいて印刷プレビューを表示する情報処理装置が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
特許文献１に開示された技術は、例えば、ストレージデバイス等の記憶手段に中間データが保存されるので、不正な手段等により、記憶手段に保存した中間データが取得され、機密情報が漏洩するリスクがある。また、記憶手段に保存する中間データを暗号化する方法も考えられるが、簡易な暗号化では機密情報の漏洩リスクが残り、高度な暗号化を行うと処理速度や、汎用性等の面でデメリットがある。
【０００４】
このように、例えば、ストレージデバイス等の記憶手段に中間データを保存し、保存された中間データを用いてプレビューを表示する従来の技術では、機密情報の漏洩リスクを低減させることには困難を伴っていた。
【０００５】
本発明の実施の形態は、上記問題点に鑑みてなされたものであって、印刷を制御するプログラムにおいて、ストレージデバイス等の記憶手段に記憶された中間データによらずに、プレビューを表示することを容易にするプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一実施形態に係るプログラムは、印刷を制御するプログラムであって、前記印刷するための印刷データを生成する印刷データ生成手段と、前記印刷に係るプレビュー画像を生成するプレビュー画像生成手段と、印刷プレビューを表示するプレビュー手段からインタフェースの情報を取得する取得手段と、前記印刷データ生成手段が前記印刷データを生成中に、前記取得したインタフェースの情報を用いて前記プレビュー画像を含むプレビュー情報を前記プレビュー手段に通知する通知手段と、としてコンピュータを機能させる。
【発明の効果】
【０００７】
本発明の実施の形態によれば、印刷を制御するプログラムにおいて、ストレージデバイス等の記憶手段に記憶された中間データによらずに、プレビューを表示することを容易にするプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理システムの構成例を示す図である。
【図２】一実施形態に係る情報処理装置のハードウェアの構成例を示す図である。
【図３】一実施形態に係る情報処理装置のソフトウェアの構成例を示す図である。
【図４】第１の実施形態に係る情報処理装置の機能構成図である。
【図５】第１の実施形態に係る通信インタフェースの機能構成図である。
【図６】第１の実施形態に係る印刷処理の例を示すシーケンスチャート（１）である。
【図７】第１の実施形態に係る印刷処理の例を示すシーケンスチャート（２）である。
【図８】第１の実施形態に係るプレビュー表示画面の例を示す図である。
【図９】第２の実施形態に係る情報処理装置の機能構成図である。
【図１０】第２の実施形態に係る通信インタフェースの機能構成図である。
【図１１】第２の実施形態に係る印刷処理の例を示すシーケンスチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１０】
＜システムの構成＞
初めに、本実施形態に係るシステム構成の例について説明する。
【００１１】
図１は一実施形態に係る情報処理システムの構成例を示す図である。図１において、情報処理システム１００は、例えば、インターネットやＬＡＮ（Local Area Network）等のネットワーク１０３に接続された情報処理装置１０１、及び１台以上の画像処理装置１０２−１、１０２−２を有する。尚、以下の説明の中で、１台以上の画像処理装置１０２−１、１０２−２のうち、任意の画像処理装置を示す場合、「画像処理装置１０２」を用いる。また、図１の画像処理装置１０２の数は一例であって、情報処理システム１００は、１台以上の画像処理装置１０２を有していれば、その数は任意で良い。
【００１２】
尚、図１のシステム構成は一例であり、情報処理装置１０１と画像処理装置１０２とは、ネットワーク１０３を介さずに、例えば、ＵＳＢ（Universal Serial Bus）や、近距離無線通信等により、１対１で通信を行うもの等であっても良い。
【００１３】
情報処理装置１０１は、利用者が利用する、例えば、デスクトップＰＣ（Personal Computer）、ノートＰＣ等の情報端末である。利用者は、情報処理装置１０１で各種アプリケーションプログラム（以下、アプリケーションと呼ぶ）を起動させて、様々な文書データの作成、編集、保存等を行うことができる。また、情報処理装置１０１の利用者は、アプリケーションを用いて作成した文書データを、画像処理装置１０２を用いて印刷することができる。
【００１４】
画像処理装置１０２は、印刷機能を有する、例えば、プリンタ、ＭＦＰ（MultiFunction Peripheral）等の画像形成装置である。画像処理装置１０２で印刷を行う利用者は、情報処理装置１０１で、文書作成用のアプリケーション等から、プリンタドライバを呼び出して、印刷設定の確認、変更を行い、印刷処理を実行させることができる。
【００１５】
尚、プリンタドライバは、利用者やアプリケーションに対して印刷設定画面等の印刷設定インタフェースを提供し、利用者やアプリケーションによって設定された印刷設定に基づいて印刷データを作成するプログラムである。
【００１６】
印刷を行う利用者は、プリンタドライバから提供される印刷設定画面等の印刷設定インタフェースを用いて印刷設定を行うが、実際の印刷前に印刷設定後の印刷結果のイメージを示すプレビューを確認したいという要求がある。この要求に対し、例えば、特許文献１に開示された技術では、印刷対象の文書データを中間データとしてストレージデバイス等に保存し、指定されたレイアウト情報と、ストレージデバイス等に保存された中間データとに基づいてプレビューを表示していた。
【００１７】
一方、本実施形態に係るプリンタドライバは、プレビュー表示を行うプレビュー手段（例えば、プレビューアプリケーション）と通信するインタフェースを有し、印刷中にそのインタフェースを用いて、プレビューに必要な情報をプレビュー手段に通知する。
【００１８】
従って、本実施形態に係る情報処理装置１０１では、例えば、ＨＤＤ等のストレージデバイスに保存された中断データによらずに、印刷のプレビュー表示を行うことができるようになる。
【００１９】
＜ハードウェアの構成＞
次に、情報処理装置１０１のハードウェア構成について説明する。
【００２０】
図２は、一実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【００２１】
情報処理装置１０１は、一般的なコンピュータの構成を有しており、例えば、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ストレージ部２０４、ネットワークＩ／Ｆ（Interface）部２０５、入力部２０６、表示部２０７、外部Ｉ／Ｆ部２０８、及びバス２０９等を含む。
【００２２】
ＣＰＵ２０１は、ＲＯＭ２０３やストレージ部２０４等に格納されたプログラムやデータ等をＲＡＭ２０２上に読み出し、処理を実行することで、情報処理装置１０１の各機能を実現する演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ２０３は、電源を切ってもプログラムやデータを保持する不揮発性のメモリであり、例えば、フラッシュＲＯＭ等により構成される。ストレージ部２０４は、例えば、ＨＤＤや、ＳＳＤ（Solid State Drive）等のストレージ装置であり、例えば、ＯＳ（Operation System）、各種アプリケーション、プリンタドライバ等のプログラム、及び文書データ等の各種データを記憶する。
【００２３】
ネットワークＩ／Ｆ部２０５は、情報処理装置１０１をネットワーク１０３に接続し、画像処理装置１０２等とデータの送受信を行うための、例えば、有線／無線ＬＡＮ等の通信インタフェースである。
【００２４】
入力部２０６は、情報処理装置１０１の操作を行うための入力を受け付ける、例えば、キーボード、マウス、タッチパッド、タッチパネル等の入力装置である。表示部２０７は、情報処理装置１０１の処理結果等を表示する、例えば、ＬＣＤ（Liquid Crystal Display）等のディスプレイ装置である。尚、入力部２０６又は表示部２０７は、情報処理装置１０１の外部に設けられていても良い。或いは、入力部２０６及び表示部２０７は、例えば、タッチパネルディスプレイ等の表示入力装置であっても良い。
【００２５】
外部Ｉ／Ｆ部２０８は、情報処理装置１０１に外部装置を接続するためのインタフェースである。外部装置には、例えば、ＵＳＢメモリ、メモリカード、光学ディスク等の記録媒体や、画像処理装置１０２等の電子機器が含まれる。バス２０９は、上記の各構成要素に共通に接続され、アドレス信号、データ信号、及び各種制御信号等を伝達する。
【００２６】
＜ソフトウェアの構成＞
次に、情報処理装置１０１のソフトウェアの構成例について説明する。
【００２７】
図３は、一実施形態に係る情報処理装置のソフトウェアの構成例を示す。図３の例では、情報処理装置１０１は、例えば、ＯＳ上で動作する、印刷アプリケーション３０１、プリンタドライバ３０２、及びプレビューアプリケーション３０３等を含む。
【００２８】
印刷アプリケーション３０１は、利用者が情報処理装置１０１を用いて文書を作成し、印刷を行う、例えば、ワードプロセッサ、表計算ソフト等のアプリケーションである。
【００２９】
プリンタドライバ３０２は、印刷アプリケーション３０１からの要求に基づいて、印刷を制御するプログラムである。また、プリンタドライバ３０２は、利用者が印刷設定を変更するためのインタフェースを提供する。尚、プリンタドライバ３０２の構成例については後述する。
【００３０】
プレビューアプリケーション３０３は、プリンタドライバ３０２から受け付けた、プレビュー画像や、印刷設定を用いてプレビュー画像を表示するアプリケーションである。尚、プレビューアプリケーション３０３の構成例については後述する。
【００３１】
尚、図３のソフトウェアの構成例は一例であり、例えば、プレビューアプリケーション３０３は、プリンタドライバ３０２に含まれていても良い。
【００３２】
次に、第１の実施形態に係る情報処理装置１０１の機能構成について説明する。
【００３３】
［第１の実施形態］
＜機能構成＞
図４は、第１の実施形態に係る情報処理装置の機能構成図である。図４において、情報処理装置１０１は、図３で説明した、印刷アプリケーション３０１、プリンタドライバ３０２、及びプレビューアプリケーション３０３を含む。
【００３４】
（プリンタドライバの機能構成）
プリンタドライバ３０２は、ＵＩ（User Interface）部４０１、描画部４０２、及び記憶部４０６を有する。
【００３５】
ＵＩ部４０１は、利用者が印刷設定の変更等を行うためのユーザインタフェースを、印刷アプリケーションや、利用者に提供する手段である。例えば、ＵＩ部４０１は、印刷アプリケーション３０１を介して、表示手段（例えば、図２の表示部２０７等）に印刷設定の変更等を行うための設定画面を表示させる。また、ＵＩ部４０１は、入力手段（例えば、図２の入力部２０６等）に入力された、利用者による印刷設定の変更操作等を受け付けて、受け付けた印刷設定を、例えば、記憶部４０６に印刷設定情報４０７として記憶する。
【００３６】
描画部４０２は、印刷データの作成や、プレビューアプリケーション３０３にプレビューを表示させるための制御等を行う。描画部４０２は、印刷データ生成部４０３、プレビュー画像生成部４０４、アプリケーション通信部４０５等を含む。
【００３７】
印刷データ生成部（印刷データ生成手段）４０３は、印刷アプリケーション３０１から受け付けた印刷の印刷データを生成する。例えば、印刷データ生成部４０３は、描画部４０２が印刷アプリケーション３０１から受け付けた文書データに、ＵＩ部４０１が利用者から受け付けた印刷設定を反映した印刷データを生成する。この印刷データは、例えば、画像処理装置１０２が解釈可能なＰＤＬ（Page Description Language：ページ記述言語）形式のデータ等、画像処理装置１０２が印刷可能なデータである。
【００３８】
プレビュー画像生成部（プレビュー画像生成手段）４０４は、印刷アプリケーション３０１から受け付けた印刷に係るプレビュー画像を生成する。このプレビュー画像は、プレビューアプリケーション３０３が、プレビューを表示する際に利用する画像データである。
【００３９】
好ましくは、プレビュー画像生成部４０４は、印刷アプリケーション３０１から受け付けた印刷に係るプレビュー画像を、例えば、ページ毎に生成する。
【００４０】
アプリケーション通信部４０５は、プレビューアプリケーション３０３がプレビューを表示するために利用するプレビュー情報を、プレビューアプリケーション３０３に通知するためのインタフェースである。このプレビュー情報には、例えば、プレビュー画像生成部４０４が生成したプレビュー画像が含まれる。
【００４１】
アプリケーション通信部４０５は、プレビューアプリケーション３０３から、プレビュー情報を通知するためのインタフェースの情報を取得し、取得したインタフェースの情報を、例えば、記憶部４０６にインタフェース情報４０８として記憶する。また、アプリケーション通信部４０５は、このインタフェースの情報を用いて、プレビュー情報をプレビューアプリケーション３０３に通知する。
【００４２】
好ましくは、アプリケーション通信部４０５は、プレビュー画像生成部４０４が生成したページ毎のプレビュー画像を含むプレビュー情報を、ページ毎にプレビューアプリケーション３０３に通知する。尚、アプリケーション通信部４０５の具体的な構成については、図５を用いて後述する。
【００４３】
尚、上記のＵＩ部４０１、描画部４０２、印刷データ生成部４０３、プレビュー画像生成部４０４、アプリケーション通信部４０５等は、例えば、図２のＣＰＵ２０１で動作するプログラムによって実現される。
【００４４】
記憶部４０６は、プリンタドライバ３０２が管理する記憶領域（記憶手段）であり、例えば、図２のＲＡＭ２０２等によって実現される。
【００４５】
（プレビューアプリケーションの機能構成）
プレビューアプリケーション３０３は、ドライバ通信部４０９、プレビュー表示部４１０、及び記憶部４１１を有する。尚、プレビューアプリケーション３０３は、印刷アプリケーション３０１から受け付けた印刷に係るプレビュー情報に基づいて印刷のプレビューを表示するプレビュー手段の一例である。
【００４６】
ドライバ通信部４０９は、プリンタドライバ３０２から、プレビュー情報を取得し、取得したプレビュー情報を記憶部４１１にプレビュー情報４１２として記憶する。尚、ドライバ通信部４０９の具体的な構成については、図５を用いて、プリンタドライバ３０２のアプリケーション通信部４０５と共に後述する。
【００４７】
プレビュー表示部４１０は、ドライバ通信部４０９が受け付けたプレビュー情報に基づいて、表示手段（例えば、図２の表示部２０７）に印刷のプレビューを表示する。
【００４８】
尚、上記のドライバ通信部４０９、及びプレビュー表示は、例えば、図２のＣＰＵ２０１で動作するプログラムによって実現される。
【００４９】
記憶部４１１は、プレビューアプリケーション３０３が管理する記憶領域であり、例えば、図２のＲＡＭ２０２等によって実現される。
【００５０】
ここで、図５を用いて、アプリケーション通信部４０５、及びドライバ通信部４０９について、詳しく説明する。
【００５１】
（アプリケーション通信部）
図５は、第１の実施形態に係る通信インタフェースの機能構成図である。図５に示すように、プリンタドライバ３０２のアプリケーション通信部４０５は、インタフェース情報取得部５０１と、印刷情報通知部５０２とを含む。
【００５２】
インタフェース情報取得部（取得手段）５０１は、プレビューアプリケーション３０３から、プレビューアプリケーション３０３にプレビュー情報を通知する（渡す）ためのインタフェースの情報を取得する手段である。
【００５３】
例えば、プレビューアプリケーション３０３にプレビュー情報を通知するためのインタフェースがコールバック関数である場合、インタフェース情報取得部５０１は、プレビューアプリケーション３０３に、このコールバック関数の参照情報の取得を要求する。また、インタフェース情報取得部５０１は、上記の要求に対して、プレビューアプリケーション３０３から通知されるコールバック関数の参照情報（例えば、関数ポインタ、アドレス等）を取得し、記憶部４０６にインタフェース情報４０８として記憶する。これにより、アプリケーション通信部４０５は、プレビューアプリケーション３０３にプレビュー情報を通知する（渡す）ためのコールバック関数を呼び出すことができるようになる。尚、コールバック関数は、プレビューアプリケーション３０３にプレビュー情報を通知するためのインタフェースの一例である。
【００５４】
尚、コールバック関数とは、プログラムの中で、呼び出し先の関数の実行中に実行されるように、予め指定しておく関数である。例えば、呼び出し側から、呼び出し先の関数の引数としてコールバック関数への参照情報を渡すことにより、呼び出し先でコールバック関数を実行させることができる。
【００５５】
例えば、プレビューアプリケーション３０３にプレビュー情報を通知するためのコールバック関数を「ｓｅｔＰｒｅｖｉｅｗ（）」とする。インタフェース情報取得部５０１は、この「ｓｅｔＰｒｅｖｉｅｗ（）」の参照情報（関数ポインタ等）をプレビューアプリケーション３０３から取得し、記憶部４０６に記憶する。
【００５６】
これにより、アプリケーション通信部４０５は、このコールバック関数「ｓｅｔＰｒｅｖｉｅｗ（）」を呼び出して、プレビュー情報をプレビューアプリケーション３０３に通知する（渡す）ことができるようになる。
【００５７】
印刷情報通知部（通知手段）５０２は、例えば、印刷データ生成部４０３が印刷データを生成中に、インタフェース情報４０８を用いて、プレビュー情報をプレビューアプリケーション３０３に通知する手段である。
【００５８】
例えば、印刷情報通知部５０２は、記憶部４０６に記憶されたコールバック関数「ｓｅｔＰｒｅｖｉｅｗ（）」の参照情報を用いて、「ｓｅｔＰｒｅｖｉｅｗ（）」を呼びだし、プレビュー情報をプレビューアプリケーション３０３に通知する。
【００５９】
このとき、印刷情報通知部５０２が、プレビューアプリケーション３０３に通知するプレビュー情報には、例えば、プレビュー画像生成部４０４が生成したプレビュー画像や、記憶部４０６に記憶された印刷設定情報４０７等が含まれる。
【００６０】
好ましくは、印刷情報通知部５０２は、プレビュー画像生成部４０４がページ毎に生成したプレビュー画像を含むプレビュー情報を、ページ毎にプレビューアプリケーション３０３に通知する。これにより、プレビューアプリケーション３０３は、印刷データ生成部４０３が印刷データを生成中であっても、ページ毎のプレビューを順次に表示することができるようになる。
【００６１】
（ドライバ通信部）
図５に示すように、プレビューアプリケーション３０３のドライバ通信部４０９は、インタフェース情報通知部５０３と、印刷情報受付部５０４とを含む。
【００６２】
インタフェース情報通知部５０３は、プリンタドライバ３０２からの要求に応じて、プレビューアプリケーション３０３にプレビュー情報を通知する（渡す）ためのインタフェースの情報を、プリンタドライバ３０２に通知する手段である。
【００６３】
例えば、インタフェース情報通知部５０３は、プリンタドライバ３０２のインタフェース情報取得部５０１からの取得要求に応じて、前述のコールバック関数「ｓｅｔＰｒｅｖｉｅｗ（）」の参照情報を、インタフェース情報取得部５０１に通知する。
【００６４】
印刷情報受付部５０４は、プリンタドライバ３０２から通知されるプレビュー情報を受け付ける手段である。
【００６５】
例えば、印刷情報受付部５０４は、コールバック関数「ｓｅｔＰｒｅｖｉｅｗ（）」を用いて通知されたプレビュー情報を取得し、取得したプレビュー情報をプレビューアプリケーション３０３の記憶部４１１に、プレビュー情報４１２として記憶する。
【００６６】
＜処理の流れ＞
続いて、情報処理装置１０１の印刷処理の例について説明する。
【００６７】
図６、７は、第１の実施形態に係る印刷処理の例を示すシーケンスチャートである。ここでは、２ページ分の文書データをプレビュー表示する場合の例について説明する。
【００６８】
ステップＳ６０１において、例えば、印刷アプリケーション３０１で印刷操作が行われると、印刷アプリケーション３０１は、プリンタドライバ３０２の描画部４０２に対して、印刷処理の開始を要求する。
【００６９】
ステップＳ６０２において、描画部４０２は、印刷アプリケーション３０１から印刷処理の開始要求を受け付けると、印刷データ生成部４０３に対して印刷データの生成を依頼する。
【００７０】
ステップＳ６０３において、印刷データ生成部４０３は、描画部４０２から印刷データの生成依頼を受け付けると、印刷データの生成を開始する。
【００７１】
ステップＳ６０４において、印刷データ生成部４０３は、印刷データの生成を開始すると、アプリケーション通信部４０５に対して印刷データの生成を開始したことを通知する。
【００７２】
ステップＳ６０５において、アプリケーション通信部４０５は、印刷開始の通知を受け付けると、プレビューアプリケーション３０３のドライバ通信部４０９に対して、プレビュー情報を通知するためのインタフェースの情報（コールバック関数の参照情報等）を要求する。
【００７３】
ステップＳ６０６において、ドライバ通信部４０９は、アプリケーション通信部４０５からの要求に応じて、プレビュー情報を受け付けるためのインタフェースの情報を、プリンタドライバ３０２のアプリケーション通信部４０５に通知する。
【００７４】
ステップ６０７において、アプリケーション通信部４０５は、ドライバ通信部４０９からインタフェースの情報を受信すると、受信したインタフェースの情報をプリンタドライバ３０２の記憶部４０６に保存する。
【００７５】
ステップＳ６０８において、印刷データ生成部４０３は、プレビュー画像生成部４０４に対して、１ページ目のプレビュー画像の生成を依頼する。
【００７６】
ステップＳ６０９において、プレビュー画像生成部４０４は、作成した１ページ目のプレビュー画像、又は１ページ目のプレビュー画像の生成が完了したことを示す通知を、印刷データ生成部４０３に通知する。
【００７７】
ステップＳ６１０において、印刷データ生成部４０３は、１ページ目のプレビュー画像の生成が完了したことを示す１ページ目の完了通知をアプリケーション通信部４０５に通知する。
【００７８】
ステップＳ６１１において、アプリケーション通信部４０５は、１ページ目の完了通知を受信すると、記憶部４０６に記憶したインタフェース情報４０８を読出す。
【００７９】
ステップＳ６１２において、アプリケーション通信部４０５は、読み出したインタフェース情報４０８を用いて、１ページ目のプレビュー情報をドライバ通信部に通知する（１ページ目完了通知）。このプレビュー情報には、例えば、１ページ目のプレビュー画像、ページ番号情報、印刷設定情報等が含まれる。
【００８０】
ステップＳ６１３において、ドライバ通信部４０９は、受信した１ページ目のプレビュー情報を、プレビューアプリケーション３０３の記憶部４１１にプレビュー情報４１２として保存（記憶）する。
【００８１】
ステップＳ６１４において、ドライバ通信部４０９は、プレビュー表示部４１０に、１ページ目のプレビュー情報を取得したことを示す１ページ目の完了通知を行う。
【００８２】
ステップＳ６１５において、プレビュー表示部４１０は、プレビューアプリケーション３０３の記憶部４１１に記憶された１ページ目のプレビュー情報を用いて、表示入力部（例えば、図２の表示部２０７、入力部２０６等）にプレビューを表示させる。
【００８３】
上記の処理により、プレビューアプリケーション３０３は、印刷データ生成部４０３による印刷データ生成の完了を待つことなく、１ページ目のプレビューを表示することができりょうになる。また、プレビュー情報は、プリンタドライバ３０２から、プレビューアプリケーション３０３に直接通知されるので、ストレージデバイス等に中間データを保存しなくても良い。
【００８４】
ステップＳ６１６〜Ｓ６１８において、１ページ目のプレビュー処理が完了したことを示す応答情報が、プレビュー表示部４１０から、順次に印刷データ生成部４０３まで通知される。
【００８５】
続いて、図７を用いて、２ページ目プレビュー処理について説明する。
【００８６】
ステップＳ６１９において、印刷データ生成部４０３は、１ページ目のプレビュー処理が完了したことを示す応答情報を受け付けると、プレビュー画像生成部４０４に対して、２ページ目のプレビュー画像の生成を依頼する。尚、この処理は、ステップＳ６１１〜Ｓ６１８の処理と、一部並行して開始されるものであっても良い。
【００８７】
ステップＳ６２０において、プレビュー画像生成部４０４は、作成した２ページ目のプレビュー画像、又は２ページ目のプレビュー画像の生成が完了したことを示す通知を、印刷データ生成部４０３に通知する。
【００８８】
ステップＳ６２１において、印刷データ生成部４０３は、２ページ目のプレビュー画像の生成が完了したことを示す１ページ目の完了通知をアプリケーション通信部４０５に通知する。
【００８９】
ステップＳ６２２において、アプリケーション通信部４０５は、２ページ目の完了通知の受信に応じて、記憶部４０６に記憶したインタフェース情報４０８を読出す。
【００９０】
ステップＳ６２３において、アプリケーション通信部４０５は、読み出したインタフェース情報を用いて、２ページ目のプレビュー情報をドライバ通信部に通知する（２ページ目完了通知）。このプレビュー情報には、２ページ目のプレビュー画像、ページ番号情報、印刷設定情報等が含まれる。
【００９１】
ステップＳ６２４において、ドライバ通信部４０９は、受信した２ページ目のプレビュー情報を、プレビューアプリケーション３０３の記憶部４１１にプレビュー情報４１２として記憶する。
【００９２】
ステップＳ６２５において、ドライバ通信部４０９は、プレビュー表示部４１０に、２ページ目のプレビュー情報を取得したことを示す２ページ目の完了通知を行う。
【００９３】
ステップＳ６２６において、プレビュー表示部４１０は、表示入力部に、２ページ目のプレビュー表示が可能になったことを表示させる。このとき表示される表示画面の例を図８に示す。
【００９４】
図８は、第１の実施形態に係るプレビュー表示画面の例を示す図である。図８の例では、プレビューの表示画面８０１には、プレビュー画像を表示するプレビュー画面８０２と、印刷設定を変更する設定画面８０３が表示され、設定画面８０３の下に、メッセージ画面８０４が表示されている。また、メッセージ画面８０４には、現在、２ページ目までプレビュー表示が可能であることを示すメッセージが表示されている。
【００９５】
印刷を要求した利用者は、この表示画面８０１のプレビュー画面８０２で、ページ毎の印刷イメージを示すプレビューを確認し、問題がない場合、印刷ボタン８０５を選択することにより、印刷を実行することができる。また、利用者は、設定画面８０３の操作により、印刷設定を変更することもできる。
【００９６】
図７に戻ってシーケンスチャートの説明を続ける。
【００９７】
ステップＳ６２７〜Ｓ６２９において、２ページ目のプレビュー処理が完了したことを示す応答情報が、プレビュー表示部４１０から、順次に印刷データ生成部４０３まで通知される。
【００９８】
次に、図７の例では、ステップＳ６３０において、印刷データ生成部４０３による印刷データの生成が完了する。尚、この印刷データの生成完了のタイミングはあくまで一例であり、印刷データの生成は、ステップＳ６２９よりも前に完了するものであっても良い。
【００９９】
なお、設定画面８０３の操作により、印刷設定を変更した場合には、印刷データの生成は、ステップＳ６３６とＳ６３７の間に行われる。
【０１００】
一方、ステップＳ６３１において、利用者により、２ページ目の表示操作が行われると、ステップＳ６３２において、プレビュー表示部４１０は、２ページ目のプレビュー表示を行う。
【０１０１】
ステップＳ６３３において、例えば、２ページ目のプレビュー表示を確認した利用者が印刷の開始操作（例えば、印刷ボタン８０５を選択）を行う。
【０１０２】
ステップＳ６３４〜６３６において、利用者の開始操作を受け付けたプレビュー表示部から、印刷データ生成部４０３まで、順次に印刷データの出力を要求する出力要求が通知される。
【０１０３】
ステップＳ６３７において、印刷データ生成部６３７は、生成された印刷データを画像処理装置１０２に出力し、ステップＳ６３８において、印刷データを出力したことを描画部４０２に通知する。
【０１０４】
ステップＳ６３９において、描画部４０２は、印刷アプリケーション３０１に、印刷が完了したことを通知する。
【０１０５】
以上、本実施形態によれば、ストレージデバイス等の記憶手段に記憶された中間データによらずに、プレビューを表示することを容易にするプログラム（プリンタドライバ３０２）を提供することができる。
【０１０６】
これにより、ストレージデバイス等の記憶手段に中間データ（プレビュー情報）が保存されないので、不正な手段等により、記憶手段に保存した中間データが取得され、機密情報が漏洩するリスクを低減させることができる。
【０１０７】
［第２の実施形態］
第２の実施形態では、第１の実施形態のセキュリティ性をさらに向上させる方策について説明する。第１の実施形態では、例えば、悪意を持つ利用者が、本来想定しているプレビューアプリケーション３０３と同名のアプリケーションを作成し、置き換えることにより、プリンタドライバ３０２からプレビュー情報を不正に取得できる可能性が残る。
【０１０８】
尚、ここで想定している同名のアプリケーションとは、例えば、プレビュー情報を受け付けるコールバック関数を有し、インタフェースの取得要求に対して、コールバック関数の参照情報を返却するように作成された不正なアプリケーションである。
【０１０９】
本実施形態では、悪意を持つ利用者が、情報処理装置１０１に、上記のプレビューアプリケーション３０３と同名のアプリケーションをインストールしただけでは、プレビュー情報が漏洩しないようにする方法について説明する。
【０１１０】
＜機能構成＞
第２の実施形態に係る機能構成について説明する。尚、基本的な機能構成は、図４、５に示す第１の実施形態の機能構成と同様なので、ここでは差分を中心に説明する。
【０１１１】
図９は、第２の実施形態に係る情報処理装置の機能構成図である。本実施形態に係るプリンタドライバ３０２の描画部４０２は、図４に示す第１の実施形態に係る描画部４０２の構成に加えて、安全性確認部９０１を有している。また、本実施形態に係るプリンタドライバ３０２の記憶部４０６は、印刷設定情報４０７及びインタフェース情報４０８に加えて、認証情報９０２を記憶している。
【０１１２】
図１０は、第２の実施形態に係る通信インタフェースの機能構成図である。本実施形態に係るプリンタドライバ３０２のアプリケーション通信部４０５は、図５に示す第１の実施形態に係るアプリケーション通信部４０５の構成に加えて、認証情報取得部１００１を有している。また、本実施形態に係るプレビューアプリケーション３０３のドライバ通信部４０９は、図５に示す第１の実施形態に係るドライバ通信部４０９の構成に加えて、認証情報通知部１００２を有している。
【０１１３】
認証情報取得部１００１は、例えば、インタフェース情報取得部５０１が、ドライバ通信部４０９からインタフェース情報を取得する際に、ドライバ通信部４０９に認証情報の取得を要求する。この認証情報は、例えば、ＰＩＮ（Personal Identification Number）コードや、文字列等、任意の認証情報で良いが、ここでは、ＰＩＮコードを用いるものとして説明を行う。
【０１１４】
認証情報通知部１００２は、プリンタドライバ３０２から認証情報の取得要求を受け付けると、予め設定された認証情報をプリンタドライバ３０２に通知する。
【０１１５】
安全性確認部９０１は、認証情報取得部１００１が取得した認証情報と、プリンタドライバ３０２の記憶部４０６に記憶された認証情報９０２とを比較し、両者が一致した場合に、プレビュー処理を実行させる。
【０１１６】
上記の構成により、プリンタドライバ３０２は、予め定められた認証情報を有するプレビューアプリケーションに対してのみ、プレビュー情報の送信を行うように制御することができる。
【０１１７】
＜処理の流れ＞
図１１は、第２の実施形態に係る情報処理装置の印刷処理の例を示すシーケンスチャートである。尚、図１１のステップＳ６０１〜Ｓ６０６、及びステップＳ６０８〜Ｓ６１８の処理は、図６に示す第１の実施形態の処理と同様なので、ここでは差分を中心に説明する。
【０１１８】
図１１のステップＳ６０６において、プリンタドライバ３０２のアプリケーション通信部４０５がインタフェース情報を取得すると、ステップＳ１１０１において、認証情報取得部１００１は、プレビューアプリケーション３０３にＰＩＮコードの取得を要求する。
【０１１９】
ステップＳ１１０２において、ＰＩＮコードの取得を要求されたプレビューアプリケーション３０３の認証情報通知部１００２は、予め設定されたＰＩＮコードをプリンタドライバ３０２に通知する。尚、ＰＩＮコードは、認証情報の一例である。
【０１２０】
ステップＳ１１０３において、アプリケーション通信部４０５は、プレビューアプリケーション３０３から通知されたＰＩＮコードの安全性の確認を、安全性確認部９０１に依頼する。安全性確認部９０１は、安全性の確認を依頼されたＰＩＮコード（第１のＰＩＮコード）と、記憶部４０６に認証情報９０２として記憶されたＰＩＮコード（第２のＰＩＮコード）を照合し、両者が一致した場合、確認結果として「ＯＫ」を返却する。
【０１２１】
ステップＳ１１０４において、安全性確認部９０１から、アプリケーション通信部４０５に、確認結果として「ＯＫ」が通知されると、ステップＳ６０７において、アプリケーション通信部４０５は、取得したインタフェース情報を記憶部４０６に記憶する。尚、ステップＳ６０８以降の処理は、図６の実施例１の処理と同様である。
【０１２２】
一方、ステップＳ１１０４において、安全性確認部９０１から、アプリケーション通信部４０５に、確認結果として「ＯＫ」以外の値が返却された場合、アプリケーション通信部４０５は、例えば、処理を終了する。
【０１２３】
上記の処理により、プリンタドライバ３０２は、予め定められた認証情報を有するプレビューアプリケーションに対してのみ、プレビュー情報の送信を行うことができるように
なる。
【０１２４】
［その他の実施形態］
第２の実施形態では、プレビューアプリケーション３０３のインタフェース情報の安全性確認を、ＰＩＮコードを用いて行う場合の例を示したが、安全性の確認方法は他の方法であっても良い。
【０１２５】
例えば、プレビューアプリケーション３０３が通知するインタフェース情報を暗号化（公開鍵暗号化等）し、プリンタドライバ３０２が受信したインタフェース情報を正しく復号化できた場合に、インタフェースを呼び出せるような構成であっても良い。
【０１２６】
＜まとめ＞
以上、本発明に係るプログラム（３０２）は、
印刷を制御するプログラム（３０２）であって、
前記印刷の印刷データを生成する印刷データ生成手段（４０３）と、
前記印刷に係るプレビュー情報に基づいて印刷プレビューを表示するプレビュー手段（３０３）から、前記プレビュー手段（３０３）に前記プレビュー情報を通知するためのインタフェースの情報を取得する取得手段（５０１）と、
前記印刷データを生成中に、前記取得したインタフェースの情報を用いて前記プレビュー情報を前記プレビュー手段に通知する通知手段（５０２）と、
を有する。
【０１２７】
これにより、ストレージデバイス等の記憶手段に記憶されたプレビュー情報（中間データ）によらずに、プレビューを表示することを容易にするプログラム（３０２）を提供することができる。
【符号の説明】
【０１２８】
１００    情報処理システム
１０１    情報処理装置
１０２    画像処理装置
３０２    プリンタドライバ（プログラム）
３０３    プレビューアプリケーション（プレビュー手段）
４０３    印刷データ生成部（印刷データ生成手段）
４０４    プレビュー画像生成部（プレビュー画像生成手段ｎ）
４１０    プレビュー表示部（プレビュー表示手段）
５０１    インタフェース情報取得部（取得手段）
５０２    印刷情報通知部（通知手段）
５０３    インタフェース情報通知部（インタフェース情報通知手段）
５０４    印刷情報受付部（受付手段）
９０１    安全性確認部（安全性確認手段）
１００１    認証情報取得部（認証情報取得手段）
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２００７−１５７１２１号公報
【図１】
2016177552.tif 000003
【図２】
2016177552.tif 000004
【図３】
2016177552.tif 000005
【図４】
2016177552.tif 000006
【図５】
2016177552.tif 000007
【図６】
2016177552.tif 000008
【図７】
2016177552.tif 000009
【図８】
2016177552.tif 000010
【図９】
2016177552.tif 000011
【図１０】
2016177552.tif 000012
【図１１】
2016177552.tif 000013