(57)【要約】【課題】印刷対象文書が重要文書である場合、ハードディスク装置内のファイルに保存された印刷データ経由で情報が漏洩する危険性を低減する。【解決手段】画像生成装置１は、印刷対象文書が重要文書であるか否かを判定する機密判定部３０Ａと、印刷実行の結果、印刷データＤ５０がファイルに保存されるか否かを、プリンタ３の設定及び印刷設定に基づいて判定するプリンタ設定判定部５２及び印刷設定判定部５３と、機密判定部３０Ａの判定結果、プリンタ設定判定部５２及び印刷設定判定部５３の判定結果に基づいて、文書データＤ４０の印刷可否を判定する印刷可否判定制御部５４と、文書データに基づいて印刷データを生成し、印刷可否判定制御部５４が印刷不可と判定した場合には、印刷データの生成を中止する画像生成部５６等と、を備えている。そして、印刷データがファイルに保存されない場合にのみ印刷を行う。【選択図】図１
2012146204.tif 000002
【特許請求の範囲】
【請求項１】
文書情報を処理する文書処理プログラムにより出力された文書データに基づき、プリンタに与える印刷可能な画像データを生成する画像生成装置において、
前記文書情報が所定の情報を含むか否かを判定する第１判定部と、
印刷実行の結果、前記画像データがファイルに保存されるか否かを、前記プリンタの設定及び印刷設定に基づいて判定する第２判定部と、
前記第１判定部の判定結果及び前記第２判定部の判定結果に基づいて、前記文書データの印刷可否を判定する印刷可否判定部と、
前記印刷可否判定部が印刷可と判定した場合に、前記文書データに基づいて前記画像データを生成する画像生成部と、
前記印刷可否判定部が印刷不可と判定した場合には、前記印刷不可であることを報知する報知部と、
を備えたことを特徴とする画像生成装置。
【請求項２】
前記印刷可否判定部は、
前記文書情報が前記所定の情報を含むと前記第１判定部が判定し、且つ前記印刷実行の結果、前記画像データが前記ファイルに保存されると前記第２判定部が判定した場合、前記印刷不可と判定することを特徴とする請求項１記載の画像生成装置。
【請求項３】
前記第２判定部は、前記プリンタの設定が、前記画像データを一時ファイルに保存する設定になっているか、又は、前記画像データの出力先が、前記ファイルに設定されているかのいずれかである場合、前記画像データが前記ファイルに保存されると判定することを特徴とする請求項１又は２記載の画像生成装置。
【請求項４】
請求項１〜３のいずれか１項に記載の画像生成装置は、更に、
指定された前記プリンタの設定を変更するプリンタ設定変更部と、
前記プリンタ設定変更部にプリンタ名及び設定変更内容を通知する通知処理を行う設定変更通知部と、
前記プリンタ設定変更部に前記印刷の終了を通知する印刷終了通知部とを備え、
前記画像生成部は、前記印刷可否判定部により前記印刷不可と判定された場合には、前記画像生成処理をスキップし、
前記報知部は、前記印刷不可と判定された場合には、前記スキップ後に前記報知処理を行い、
前記設定変更通知部は、前記印刷不可と判定された場合には、前記スキップ後に前記通知処理を行い、
前記プリンタ設定変更部は、前記設定変更通知部から前記通知を受信した場合には、前記通知内容に基づいて前記プリンタの設定を変更し、前記印刷終了通知部から前記印刷終了の通知を受信した場合には、前記プリンタの設定変更を元に戻すことを特徴とする画像生成装置。
【請求項５】
前記第２判定部は、
プリンタポートの情報と前記文書データとから、前記プリンタの設定を調べ、前記画像データが前記ファイルに保存されるか否かを判定するプリンタ設定判定部と、
前記文書データから、前記印刷設定を調べ、前記画像データが前記ファイルに保存されるか否かを判定する印刷設定判定部と、
を有することを特徴とする請求項１〜４のいずれか１項に記載の画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書情報を処理する文書処理プログラムにより出力された文書データに基づいて印刷可能な画像データを生成する画像生成装置に関するものである。
【背景技術】
【０００２】
従来、下記の特許文献１に記載されているように、プリンタの印刷可能な画像データとしての印刷データを生成する画像生成装置は、文書処理アプリケーションプログラム、プリンタドライバプログラム、及び、印刷データをプリンタへ出力するプリンタポート等を有している。
【０００３】
例えば、文書処理アプリケーションプログラムで文書の印刷を実行する際、プリンタの設定でスプール（spool、ハードディスク装置に一時的に印刷データを書き込んで、プリンタの印刷の進行状況に応じて少しずつ処理を行うこと）が有効になっている場合、プリンタドライバプログラムが生成した印刷データは、ハードディスク装置内の所定のスプール領域にファイルとして一時保存され、プリンタに送信された後に削除される。スプールが有効で、更に“印刷後ドキュメントを残す”が指定されている場合、スプール領域に一時保存された印刷データは、プリンタに送信完了後も削除されず残される。プリンタポートの設定がファイルに保存（FILE:）になっている場合、印刷データは、プリンタへ送信される代わりに、ユーザの指定したファイル名で保存される。文書処理アプリケーションプログラムでの印刷時に、“ファイルへ出力”を指定して印刷を実行した場合も、印刷データはユーザの指定したファイル名で保存され、プリンタへの送信はスキップ（skip、命令によって１つ飛ばして、その次の命令に進めること）される。
【０００４】
ファイルに保存された印刷データは、別途プリンタへ送信することにより印刷が行えるので、文書処理アプリケーションプログラムが実行できない別環境下であっても、印刷ジョブファイルの受け渡しにより文書の印刷が行える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０８８５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の画像生成装置では、印刷対象文書が機密情報や個人情報を含む重要文書である場合、印刷データが一時的又は明示的にファイルに保存されると、このファイルに保存された印刷データがコピーされて重要情報の漏洩に繋がるという課題があった。
【課題を解決するための手段】
【０００７】
本発明のうちの第１の発明の画像生成装置は、文書情報を処理する文書処理プログラムにより出力された文書データに基づき、プリンタに与える印刷可能な画像データを生成する画像生成装置において、前記文書情報が所定の情報を含むか否かを判定する第１判定部と、印刷実行の結果、前記画像データがファイルに保存されるか否かを、前記プリンタの設定及び印刷設定に基づいて判定する第２判定部と、前記第１判定部の判定結果及び前記第２判定部の判定結果に基づいて、前記文書データの印刷可否を判定する印刷可否判定部と、前記印刷可否判定部が印刷可と判定した場合に、前記文書データに基づいて前記画像データを生成する画像生成部と、前記印刷可否判定部が印刷不可と判定した場合には、前記印刷不可であることを報知する報知部と、を備えたことを特徴とする。
【０００８】
第２の発明の画像生成装置は、前記第１の発明の画像生成装置において、更に、指定された前記プリンタの設定を変更するプリンタ設定変更部と、前記プリンタ設定変更部にプリンタ名及び設定変更内容を通知する通知処理を行う設定変更通知部と、前記プリンタ設定変更部に前記印刷の終了を通知する印刷終了通知部と、を備えている。前記画像生成部は、前記印刷可否判定部により前記印刷不可と判定された場合には、前記画像生成処理をスキップし、前記報知部は、前記印刷不可と判定された場合には、前記スキップ後に前記報知処理を行い、前記設定変更通知部は、前記印刷不可と判定された場合には、前記スキップ後に前記通知処理を行い、前記プリンタ設定変更部は、前記設定変更通知部から前記通知を受信した場合には、前記通知内容に基づいて前記プリンタの設定を変更し、前記印刷終了通知部から前記印刷終了の通知を受信した場合には、前記プリンタの設定変更を元に戻すことを特徴とする。
【発明の効果】
【０００９】
本発明のうちの第１の発明の画像生成装置によれば、印刷対象文書が機密情報や個人情報等の所定の情報を含むか否かを第１判定部で判定し、所定の情報である場合は、画像データがファイルに保存されない場合にのみ印刷を行うようにしたので、ファイルに保存された画像データ経由で情報が漏洩する危険性を低減することができる。
【００１０】
第２の発明の画像生成装置によれば、第１の発明の画像生成装置の動作に加えて、画像データがファイルに保存されないようにプリンタの設定を変更し、印刷が終了したら変更前の設定に戻す処理を行うプリンタ設定変更部、設定変更通知部、及び印刷終了通知部を設けたので、一度印刷不可と判定された文書を印刷し直す場合の利用者（ユーザ）の煩わしさを低減できる。
【図面の簡単な説明】
【００１１】
【図１】図１は本発明の実施例１における図２の画像生成装置１を示す機能ブロック図である。
【図２】図２は本発明の実施例１における画像生成装置を示す概略のハードウエア構成図である。
【図３】図３は図１の画像生成装置１で行われる印刷処理動作を説明するフローチャートである。
【図４】図４は図１のプリンタ設定判定部５２における判定処理を説明するフローチャートである。
【図５】図５は図１の印刷設定判定部５３の動作を説明するフローチャートである。
【図６】図６は図１の印刷可否判定制御部５４の動作を説明するフローチャートである。
【図７】図７は図６のフローチャートにおける報知部５５の表示例を示す図である。
【図８】図８は図６のフローチャートにおける報知部５５の表示例を示す図である。
【図９】図９は図６のフローチャートにおける報知部５５の表示例を示す図である。
【図１０】図１０は本発明の実施例２における画像生成装置を示す機能ブロック図である。
【図１１】図１１は図１０の印刷可否判定制御部５４Ｂの動作を説明するフローチャートである。
【図１２】図１２は図１１のフローチャートにおける報知部５５Ｂの表示例を示す図である。
【図１３】図１３は図１１のフローチャートにおける報知部５５Ｂの表示例を示す図である。
【図１４】図１４は図１１のフローチャートにおけるポート選択部６２が表示するポート選択画面の例を示す図である。
【図１５】図１５は図１０のプリンタ設定変更部７０の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
本発明を実施するための形態は、以下の好ましい実施例の説明を添付図面と照らし合わせて読むと、明らかになるであろう。但し、図面はもっぱら解説のためのものであって、本発明の範囲を限定するものではない。
【実施例１】
【００１３】
（実施例１の構成）
図２は、本発明の実施例１における画像生成装置を示す概略のハードウエア構成図である。
【００１４】
画像生成装置１は、例えば、パーソナルコンピュータ（以下「ＰＣ」という。）で構成され、このＰＣのプリンタポート２に、プリンタ３が接続されている。画像生成装置１は、アドレスバス／データバスを含むシステムバス１０を有している。システムバス１０には、装置全体をプログラム制御する中央処理装置（以下「ＣＰＵ」という。）１１と、プログラムやデータを格納する記憶装置（例えば、ハードディスク装置）１２と、ＣＰＵ１１によるプログラム実行時に必要なデータを読み書きするための一時記憶装置であるランダム・アクセス・メモリ（以下「ＲＡＭ」という。）１３とが接続されている。システムバス１０には更に、入力インタフェース（以下、インタフェースを「Ｉ／Ｆ」という。）１４を介して入力装置１５と、表示Ｉ／Ｆ１６を介してディスプレイ１７と、画像データとしての印刷データＤ５０をプリンタポート２へ出力するプリンタＩ／Ｆ１８と、プログラム格納用のリード・オンリ・メモリ（以下「ＲＯＭ」という。）１９等とが接続されている。
【００１５】
入力装置１５は、ユーザが画像生成装置１に対して指示入力を行うための装置であり、キーボード、マウス等からなる。ディスプレイ１７は、画像生成装置１で行われる処理内容を確認するための表示装置である。画像生成装置１の利用者は、ディスプレイ１７の表示を見ながら、入力装置１５を操作して、ハードディスク装置１２内に格納された文書処理アプリケーションプログラムで文書を印刷する指示を行うようになっている。
【００１６】
ハードディスク装置１２には、図示しないWindows（登録商標）オペレーション・システム（Operating  System、以下「ＯＳ」という。）のプログラムと共に、文書処理アプリケーションプログラム２０と、機密判定プログラム３０と、文書データＤ４０を出力するグラフィック・デバイス・インタフェース（Graphics  Device  Interface、以下「ＧＤＩ」という。）プログラム４０と、印刷データＤ５０を出力するプリンタドライバプログラム５０等とが格納されている。ハードディスク装置１２からそれらのプログラム２０，３０，４０，５０が読み出され、ＣＰＵ１１で実行されることにより、それらの各プログラム２０，３０，４０，５０がそれぞれ以下の動作を行う機能を有している。
【００１７】
文書処理アプリケーションプログラム２０は、テキスト、イメージ、及び図形等からなる文書情報の編集、保存、表示、及び印刷を行うためのアプリケーションプログラムである。ユーザにより入力された文書情報又は文書ファイルから読み出された文書情報は、文書処理アプリケーションプログラム２０の内部処理形式である文書データＤ４０に変換され、この文書データＤ４０に基づいて表示や印刷等の処理を行う。機密判定プログラム３０は、文書処理アプリケーションプログラム２０でユーザの操作対象となっている文書データＤ４０が、企業の社外秘情報や個人情報等の所定の情報としての特定情報を含むかどうかの判定処理を実行する機能を有している。
【００１８】
ＧＤＩプログラム４０は、ＯＳの構成要素（コンポーネント）であり、文書処理アプリケーションプログラム２０で文書の印刷が指示された場合に、文書データＤ４０の描画内容をプリンタドライバプログラム５０に渡す処理を行う。プリンタドライバプログラム５０は、ＧＤＩプログラム４０から文書データＤ４０を受信し、プリンタ３で印刷可能な印刷データＤ５０に変換する機能を有している。
【００１９】
図１は、本発明の実施例１における図２の画像生成装置１を示す機能ブロック図である。
画像生成装置１は、文書処理アプリケーションプログラム２０に対応する文書処理アプリケーション２０Ａと、この文書処理アプリケーション２０Ａに接続され、機密判定プログラム３０に対応する第１判定部としての機密判定部３０Ａと、文書処理アプリケーション２０Ａに接続され、ＧＤＩプログラム４０に対応するＧＤＩ４０Ａと、このＧＤＩ４０Ａに接続され、プリンタドライバプログラム５０に対応するプリンタドライバ５０Ａとの各機能ブロックを有している。
【００２０】
プリンタドライバ５０Ａは、ポート情報取得部５１と、このポート情報取得部５１に接続されたプリンタ設定判定部５２及び印刷設定判定部５３からなる第２判定部と、機密判定部３０Ａ、プリンタ設定判定部５２及び印刷設定判定部５３に接続され、印刷可否判定部としての印刷可否判定制御部５４と、この印刷可否判定制御部５４に接続された報知部５５と、ＧＤＩ４０Ａに接続された画像生成部５６との機能ブロックにより構成されている。
【００２１】
ポート情報取得部５１は、ＯＳにインストールされているプリンタポート２の設定に関する情報を取得する。プリンタ設定判定部５２は、ポート情報取得部５１が取得したプリンタポート２の情報と、ＧＤＩ４０Ａから受信した情報とから、印刷に使用されるプリンタ３の設定を調べ、スプールが有効になっているか、プリンタポート２がFILE:になっているかのいずれかであれば、印刷可否判定制御部５４に通知し、印刷可否の判定結果を受信する。このプリンタ設定判定部５２は、判定結果が印刷不可であれば、ＧＤＩ４０Ａへエラー発生を示す戻り値を返す機能を有している。
【００２２】
印刷設定判定部５３は、文書処理アプリケーション２０Ａでの印刷時に、指定された印刷設定をＧＤＩ４０Ａから受信して調べ、“ファイルへ出力”が指定されていれば、印刷可否判定制御部５４に通知し、印刷可否の判定結果を受信する。この印刷設定判定部５３は、判定結果が印刷不可であれば、ＧＤＩ４０Ａへエラー発生を示す戻り値を返す機能を有している。印刷可否判定制御部５４は、機密判定部３０Ａ、プリンタ設定判定部５２、及び印刷設定判定部５３からそれぞれ判定結果を受信して、印刷の可否を判定する機能を有している。
【００２３】
報知部５５は、印刷可否判定制御部５４が印刷不可と判定した場合に、印刷不可であることをユーザに知らせるためのメッセージをディスプレイ１７に表示する。画像生成部５６は、ＧＤＩ４０Ａから受信した文書データＤ４０を印刷データＤ５０に変換し、プリンタ３に送信する機能を有している。
【００２４】
（実施例１の動作）
機密判定部３０Ａは、文書処理アプリケーション２０Ａでユーザの操作対象となっている文書データＤ４０が、企業の社外秘情報や個人情報等の特定情報を含むかどうかの判定処理を実行する。判定処理は、文書処理アプリケーション２０Ａの公開アプリケーション・プログラム・インタフェース（Application  Program  Interface、以下「ＡＰＩ」という。）を用いて文書処理アプリケーション２０Ａと通信を行うことにより、ユーザの操作対象となっている文書データＤ４０の内容を参照し、ハードディスク装置１２に予め記憶されている特定の文字列や画像データが含まれているかどうかを、キーワード検索又はパターンマッチング処理等により判定する。この判定処理は、文書処理アプリケーション２０Ａの公開ＡＰＩを通じて、文書ファイルのオープン等の所定の動作を検知したタイミングで行い、文書処理アプリケーション２０Ａで文書の印刷が指示されるよりも前の時点で行うものとする。
【００２５】
図３は、図１の画像生成装置１で行われる印刷処理動作を説明するフローチャートである。
【００２６】
Windows（登録商標）ＯＳが稼働する画像生成装置１では、文書処理アプリケーション２０Ａで印刷実行が指示され、必要な指示入力（例えば、プリンタ３の選択、１ページに複数ページのデータを印刷するためのｎ−ｕｐ印刷や用紙トレイ選択等のプリンタ３の設定、印刷ページ範囲や印刷部数等の印刷設定）が行われると、図３に示すように、印刷処理が開始され、プリンタ３のデバイスコンテキスト（Device  Context）生成等を行うステップＳ１の印刷初期化処理と、ステップＳ２の印刷開始処理と、ステップＳ３の文書の描画処理と、ステップＳ４の印刷終了処理との順番で、各ステップＳ１〜Ｓ４に対応するＧＤＩ関数が読み出され（コールされ）、処理が終了する。
【００２７】
図１のＧＤＩ４０Ａは、プリンタドライバ５０Ａのコールバック関数（callback  function）としてのDrvDocumentEvent関数をコールすることにより、各処理ステップＳ１〜Ｓ４の実行をプリンタドライバ５０Ａに通知する。
【００２８】
コールバック関数とは、プログラム中で、呼び出し先の関数の実行中に実行されるように、予め指定しておく関数である。呼び出し先の関数の引数としてコールバック関数への参照情報を渡すことで、呼び出し先から任意のコールバック関数を実行させ、コールバック関数に実行制御を移すことが可能になる。
【００２９】
プリンタドライバ５０Ａは、DrvDocumentEvent関数の第３引数（７つある引数のうちの３番目の引数ｉＥｓｃ）の値によって、ＧＤＩ４０Ａが現在どの処理ステップを実行中かを判定できる。他の引数に格納されたポインタを通じて、プリンタ３のハンドル（handle）等の必要な情報を参照できる。コールバック関数がエラー発生の戻り値を返して復帰（リターン）した場合、その時点でＧＤＩ４０Ａは図３のフローの実行を中止し、印刷処理は中止される。
【００３０】
プリンタ設定判定部５２は、ステップＳ１の実行前のタイミングで、DrvDocumentEvent関数がコールされた時に、プリンタ３の設定がスプール有効であるか、プリンタポート２がFILE:になっているかのいずれかであれば、印刷可否判定制御部５４に通知し、印刷不可と判定されれば、エラー発生を示す戻り値をＧＤＩ４０Ａへ返す。
【００３１】
図４は、図１のプリンタ設定判定部５２における判定処理を説明するフローチャートである。
【００３２】
プリンタ設定判定部５２では、以下のステップＳ１１〜Ｓ１７の判定処理を行う。
先ず、判定処理が開始されると、ステップＳ１１において、ポート情報取得部５１が、ＯＳにインストールされているプリンタポート２の情報を取得する。ＯＳのＡＰＩであるEnumPorts関数をコールして、ＯＳにインストールされている全てのプリンタポート２の情報を取得し、ステップＳ１２に進む。
【００３３】
ステップＳ１２において、ステップＳ１１で取得したプリンタポート２の情報と、DrvDocumentEvent関数の引数でポインタが渡された構造体に格納されたデータとを参照し、プリンタ３の設定がスプール有効となっているかどうかを判定する。スプール有効であれば（Ｙ）、ステップＳ１５に進み、スプール有効でなければ（Ｎ）、ステップＳ１３に進む。ステップＳ１３において、ステップＳ１１で取得したプリンタポート２の情報と、DrvDocumentEvent関数の引数でポインタが渡された構造体に格納されたデータとを参照し、プリンタポート２の出力先がハードディスク装置１２内の図示しないファイルであるかどうかを判定する。プリンタポート２の出力先がファイルであれば（Ｙ）、ステップＳ１３に進み、プリンタポート２の出力先がファイルでなければ（Ｎ）、ステップＳ１４に進む。ステップＳ１４において、必要な処理を行った後、処理が成功したことを示す戻り値DOCUMENTEVENT_SUCCESSを返し、処理を終了する。
【００３４】
ステップＳ１５において、印刷可否判定制御部５４に通知を行い、ステップＳ１６に進む。ステップＳ１６において、印刷可否判定制御部５４から印刷不可の判定結果を受信した場合は（Ｙ）、ステップＳ１７に進み、そうでない場合は（Ｎ）、ステップＳ１４に進む。ステップＳ１７において、エラー発生を示す戻り値DOCUMENTEVENT_FAILUREを返し、処理を終了する。
【００３５】
印刷設定判定部５３は、図３のステップＳ２の実行前のタイミングで、DrvDocumentEvent関数がコールされた時に、印刷設定で“ファイルへ出力”が指定されているかどうかを判定し、指定されている場合は印刷可否判定制御部５４に通知し、印刷不可と判定されれば、エラー発生を示す戻り値をＧＤＩ４０Ａへ返す。
【００３６】
図５は、図１の印刷設定判定部５３の動作を説明するフローチャートである。
印刷設定判定部５３では、以下のステップＳ２１〜Ｓ２５の判定処理を行う。
【００３７】
先ず、処理が開始されると、ステップＳ２１において、DrvDocumentEvent関数の引数で、ポインタが渡された構造体に格納されたデータを参照し、印刷設定で“ファイルへ出力”が指定されているかどうかを判定し、指定されていれば（Ｙ）、ステップ２２に進み、指定されていなければ（Ｎ）、ステップＳ２４に進む。
【００３８】
ステップＳ２２において、印刷可否判定制御部５４に通知し、ステップＳ２３に進む。ステップＳ２３において、印刷可否判定制御部５４から印刷不可の判定結果を受信した場合は（Ｙ）、ステップＳ２５に進み、受信していない場合は（Ｎ）、ステップＳ２４に進む。ステップＳ２４において、必要な処理を行った後、処理が成功したことを示す戻り値DOCUMENTEVENT_SUCCESSを返し、処理を終了する。一方、ステップＳ２５では、エラー発生を示す戻り値DOCUMENTEVENT_FAILUREを返し、処理を終了する。
【００３９】
図６は、図１の印刷可否判定制御部５４の動作を説明するフローチャートである。
印刷可否判定制御部５４では、以下のステップＳ３１〜Ｓ３７の処理を行う。
【００４０】
先ず、処理が開始されると、ステップＳ３１において、プリンタ設定判定部５２から、スプールが有効になっていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、ステップＳ３２に進む。ステップＳ３２において、プリンタ設定判定部５２から、プリンタポート２の設定がFILE:になっていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、ステップＳ３３に進む。ステップＳ３３において、印刷設定判定部５３から、“ファイルへ出力”が指定されていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、処理を終了する。
【００４１】
ステップＳ３４において、機密判定部３０Ａが、印刷対象文書が特定情報としての機密情報を含むと判定した場合は（Ｙ）、ステップＳ３６に進み、機密情報を含まないと判定した場合は（Ｎ）、ステップＳ３５に進む。ステップＳ３５において、印刷可の判定結果を返し、処理を終了する。一方、ステップＳ３６では、報知部５５により、印刷不可であることを報知し、ステップＳ３７に進む。ステップＳ３７において、印刷不可の判定結果を返し、処理を終了する。
【００４２】
図７、図８及び図９は、図６のフローチャートにおける報知部５５の表示例を示す図である。
【００４３】
図７は、図６のフローチャーチにおいて、ステップ３１→ステップＳ３４→ステップＳ３６と進んだ場合に、ステップＳ３６で報知部５５が行う表示の一例である。図８は、図６のフローチャートにおいて、ステップＳ３１→ステップＳ３２→ステップＳ３４→ステップＳ３６と進んだ場合に、ステップＳ３６で報知部５５が行う表示の一例である。更に、図９は、図６のフローチャートにおいて、ステップＳ３１→ステップ３２→ステップＳ３３→ステップＳ３４→ステップＳ３６と進んだ場合に、ステップＳ３６で報知部５５が行う表示の一例である。
【００４４】
図３の印刷処理動作のフローチャートにおいて、ステップＳ３の文書の描画処理が開始されると、文書処理アプリケーション２０Ａで、印刷対象となっている文書内容の描画が行われ、プリンタ３の設定でスプールが有効になっていれば、印刷データＤ５０はハードディスク装置１２内の図示しない一時ファイルに一時保存される。一時ファイルに一時保存された印刷データＤ５０は、通常はプリンタ３に送信された後に削除されるが、プリンタ３の設定及び印刷設定によってはファイルに保存されたまま残る場合がある。この動作は、印刷対象文書が機密情報等を含む重要文書である場合、情報漏洩に繋がる危険性がある。
【００４５】
そこで、本実施例１の画像生成装置１では、重要文書を印刷する場合、印刷データＤ５０がハードディスク装置１２に保存されるかどうかを判定し、保存される場合は、ＧＤＩ４０Ａにエラー発生を通知して印刷処理動作を停止させるようにしている。その判定処理は、図３のステップＳ３の描画処理に入る前の段階で行うので、重要文書の内容がハードディスク装置１２内のファイルに残った印刷データＤ５０を経由して漏洩する危険性を確実に防止できる。
【００４６】
（実施例１の効果）
本実施例１の画像生成装置１では、印刷対象文書が機密情報や個人情報を含む重要文書かどうかを機密判定部３０Ａで判定し、重要文書である場合は、印刷データＤ５０がハードディスク装置１２に保存されない場合にのみ印刷を行うようにしたので、ハードディスク装置１２に保存された印刷データ経由で情報が漏洩する危険性をなくすことができる。
【実施例２】
【００４７】
（実施例２の構成）
図１０は、本発明の実施例２における画像生成装置を示す機能ブロック図であり、実施例１の画像生成装置１を示す図２中の要素と共通の要素には共通の符号が付されている。
【００４８】
本実施例２の画像生成装置１Ｂは、実施例１の画像生成装置１と同様に、例えば、ＰＣで構成され、実施例１に対し、プリンタ設定を変更するためのプリンタ設定変更部７０と、このプリンタ設定変更部７０に接続され、そのプリンタ設定を記憶するプリンタ設定記憶部７１とが追加されている。更に、本実施例２では、実施例１のプリンタドライバ５０Ａに代えて、これとは構成の異なるプリンタドライバ５０Ｂが設けられている。
【００４９】
本実施例２のプリンタドライバ５０Ｂでは、実施例１に対し、プリンタ設定の変更指示を入力する入力部６０と、この入力部６０及びプリンタ設定変更部７０に接続され、プリンタ設定の変更を通知するプリンタ設定変更通知部６１と、このプリンタ設定変更通知部６１に接続され、プリンタポート２を選択するためのポート選択部６２と、ＧＤＩ４０Ａ及びプリンタ設定変更部７０に接続され、印刷終了を通知する印刷終了通知部６３とが、新たに追加されている。更に、このプリンタドライバ５０Ｂでは、実施例１の印刷可否判定制御部５４及び報知部５５に代えて、これらとは動作の異なる印刷可否判定制御部５４Ｂと、報知部５５Ｂとが設けられている。その他の構成は、実施例１と同様である。
【００５０】
（実施例２の動作）
図１１は、図１０の印刷可否判定制御部５４Ｂの動作を説明するフローチャートであり、実施例１を示す図６中の要素と共通の要素には共通の符号が付されている。
【００５１】
本実施例２の印刷可否判定制御部５４Ｂでは、実施例１の図６のステップＳ３１〜Ｓ３７の処理に加えて、新たに、ステップＳ４０〜Ｓ４３の処理が追加されている。
【００５２】
先ず、判定処理が開始されると、実施例１と同様に、ステップＳ３１において、プリンタ設定判定部５２から、スプールが有効になっていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、ステップＳ３２に進む。ステップＳ３２において、実施例１と同様に、プリンタ設定判定部５２から、プリンタポート２の設定がFILE:になっていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、ステップＳ３３に進む。
【００５３】
ステップＳ３３において、印刷設定判定部５３から、“ファイルへ出力”が指定されていると通知を受けた場合は（Ｙ）、ステップＳ３４に進み、そうでなければ（Ｎ）、処理を終了する。ステップＳ３４において、実施例１と同様に、機密判定部３０Ａが、印刷対象文書が機密情報を含むと判定した場合は（Ｙ）、ステップＳ３６に進み、機密情報を含まないと判定した場合は（Ｎ）、ステップＳ３５に進む。ステップＳ３５において、実施例１と同様に、印刷可の判定結果を返し、処理を終了する。
【００５４】
ステップＳ３６において、実施例１と同様に、報知部５５Ｂにより、印刷不可であることを報知し、ステップＳ４０に進む。ステップＳ４０において、入力部６０により、プリンタ３の設定変更が指示された場合は（Ｙ）、ステップＳ４１に進み、そうでない場合は（Ｎ）、ステップＳ３７に進む。ステップＳ４１において、プリンタ３の設定変更指示がプリンタポート２の変更である場合（＝ステップＳ３２で（Ｙ））は（Ｙ）、ステップＳ４２に進み、そうでなければ（Ｎ）、ステップＳ４３に進む。
【００５５】
ステップＳ４２において、ポート選択部６２を実行し、変更するプリントポート２を選択し、ステップＳ４３に進む。ステップＳ４３において、プリンタ設定変更通知部６１を実行し、ステップＳ３７に進む。ステップＳ３７において、実施例１と同様に、印刷不可の判定結果を返し、処理を終了する。
【００５６】
図１２及び図１３は、図１１のフローチャートにおける報知部５５Ｂの表示例を示す図である。
【００５７】
図１２は、図１１のフローチャートにおいて、ステップＳ３１→ステップＳ３４→ステップＳ３６と進んだ場合に、ステップＳ３６で報知部５５Ｂが行う表示の一例である。更に、図１３は、図１１のフローチャートにおいて、ステップＳ３１→ステップＳ３２→ステップＳ３４→ステップＳ３６と進んだ場合に、ステップＳ３６で報知部５５Ｂが行う表示の一例である。ユーザはその報知に対し、図１１のステップＳ４０において、入力部６０を通じて“はい（Ｙ）”又は“いいえ（Ｎ）”を入力する。
【００５８】
図１４は、図１１のフローチャートにおいてポート選択部６２が表示するポート選択画面の例を示す図である。
【００５９】
図１１のステップＳ４２で処理を行うポート選択部６２は、図１４のようなポート選択画面を表示して、ユーザにプリンタポート２を選択させる。表示画面のリスト１７ａには、ポート情報取得部５１の取得したプリンタポート情報のうち、FILE:以外のポートのポート名（例えば、パラレルポートＬＰＴ１，ＬＰＴ２、シリアルポートＣＯＭ１，ＣＯＭ２、及び、ＴＣＰ／ＩＰポートIP_10.84.115,73，IP_10.84.115.90）を列挙する。ユーザは、リスト１７ａの中から項目を選択して、ＯＫボタン１７ｂをクリックすることにより、プリンタポート２を選択する。
【００６０】
図１１のステップＳ４３で処理を行うプリンタ設定変更通知部６１は、図１２又は図１３の報知に対して、入力部６０により“はい（Ｙ）”が入力された場合に、プリンタ設定変更部７０にプリンタ名を通知する。図１３の報知が行なわれて“はい（Ｙ）”が入力された場合は、ポート選択部６２で選択されたボート名も通知する。プリンタ名は、ＧＤＩ４０Ａからコールバック関数の引数で渡されたプリンタハンドルを用いて取得可能である。
【００６１】
印刷終了通知部６３は、図３のステップＳ４の実行後のタイミングで、DrvDocumentEvent関数がコールされた時に、印刷処理が終了したことをプリンタ設定変更部７０に対して通知する。
【００６２】
図１５は、図１０のプリンタ設定変更部７０の動作を説明するフローチャートである。
プリンタ設定変更部７０は、以下のステップＳ５１〜Ｓ６１の処理を行う。
【００６３】
先ず、処理が開始されると、ステップＳ５１において、プリンタ設定変更通知部６１から通知を受信した場合は（Ｙ）、ステップＳ５２に進み、そうでない場合は（Ｎ）、ステップＳ５６に進む。ステップＳ５２において、プリンタ設定変更通知部６１から通知されたプリンタ名について、ＯＳのＡＰＩをコールしてプリンタハンドルの取得を試行し、取得に成功した場合は（Ｙ）、ステップＳ５３に進み、取得できなかった場合は（Ｎ）、ステップＳ５２に戻る。
【００６４】
ステップＳ５３において、取得したプリンタハンドルを用いて、ＯＳのＡＰＩをコールしてプリンタ３の現在の設定を取得し、プリンタ名と共にプリンタ設定記憶部７１に格納し、ステップＳ５４に進む。ステップＳ５４において、取得したプリンタハンドルを用いて、プリンタ設定変更通知部６１から通知された設定変更内容に従い、ＯＳのＡＰＩをコールしてプリンタ３の設定を変更し、ステップＳ５５に進む。ステップＳ５５において、ＯＳのＡＰＩをコールしてプリンタハンドルを閉じ（クローズし）、処理を終了する。
【００６５】
一方、ステップＳ５６において、印刷終了通知部６３から印刷処理終了の通知を受信した場合は（Ｙ）、ステップＳ５７に進み、受信していない場合は処理を終了する。ステップＳ５７において、プリンタ設定記憶部７１の記憶内容が空であれば（Ｙ）、処理を終了し、記憶内容が空でなければ（Ｎ）、ステップＳ５８に進む。ステップＳ５８において、プリンタ設定記憶部７１に記憶されているプリンタ名について、ＯＳのＡＰＩをコールしてプリンタハンドルの取得を試行し、取得に成功した場合は（Ｙ）、ステップＳ５９に進み、取得できなかった場合は（Ｎ）、ステップＳ５８に戻る。
【００６６】
ステップＳ５９において、取得したプリンタハンドルを用いて、プリンタ設定記憶部７１に記憶されている設定変更に従い、ＯＳのＡＰＩをコールしてプリンタ３の設定を元へ戻し（リストアし）、ステップＳ６０に進む。ステップＳ６０において、プリンタ設定記憶部７１の記憶内容をクリアし、ステップＳ６１に進む。ステップＳ６１において、ＯＳのＡＰＩをコールしてプリンタハンドルをクローズし、処理を終了する。
【００６７】
実施例１の画像生成装置１では、印刷データＤ５０がハードディスク装置１２に保存される設定で重要文書を印刷しようとした場合、報知を行って印刷処理を停止する。その文書を印刷するためには、印刷データＤ５０がハードディスク装置１２に保存されないようにプリンタ３の設定を変更し、印刷をやり直した後、プリンタ３の設定を再び元に戻すという煩雑な操作が必要になる。そこで、本実施例２の画像生成装置１Ｂでは、印刷データＤ５０がハードディスク装置１２に保存される設定で重要文書を印刷しようとした場合、報知部５５Ｂで報知を行って印刷処理を停止し、印刷データ５０Ｄがハードディスク装置１２に保存されないようにプリンタ３の設定変更を自動で行う。ユーザが印刷をやり直した後、プリンタ３の設定を元に戻す処理も自動で行うので、ユーザの煩わしさを低減できる。
【００６８】
（実施例２の効果）
本実施例２の画像生成装置１Ｂによれば、実施例１の画像生成装置１の動作に加えて、印刷データＤ５０がハードディスク装置１２に保存されないようにプリンタ３の設定を変更し、印刷が終了したら変更前の設定に戻す処理を行う印刷可否判定制御部５４Ｂ及びプリンタ設定変更部７０等の処理部を設けたので、一度印刷不可と判定された文書を印刷し直す場合のユーザの煩わしさを低減できる。
【００６９】
（変形例）
本発明は、上記実施例に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、以下の（ａ）〜（ｃ）のようなものがある。
【００７０】
（ａ）  機密判定部３０，３０Ａの判定処理は、印刷対象文書のドキュメント名に特定の文字列が含まれるかどうかによって判定するようにしても良い。この場合は、印刷設定判定部５３がコールバック関数経由でＧＤＩ４０Ａから渡されるドキュメント名を参照し、前記の機密判定処理を行うようにしても良い。
【００７１】
（ｂ）  プリンタ設定判定部５２は、プリンタ名又はプリンタ３のポート情報を参照して、プリンタドライバ５０，５０ＢがＰＤＦ（Adobe  Systems社によって開発された電子文書のためのフォーマット）やＸＰＳ（XML  Paper  Specification、Microsoft社が開発した電子文書を記述するためのＸＭＬベースのフォーマット）等の特定フォーマットの文書データを出力するものであるかどうかを判定し、文書データを出力するものである場合は、エラー発生をＧＤＩ４０Ａに通知するようにしても良い。
【００７２】
（ｃ）  画像生成装置１，１Ｂは、ＰＣ以外のプロセッサ等で構成しても良い。更に、ハードディスク装置１２は、他の記憶装置で構成しても良い。
【符号の説明】
【００７３】
１，１Ｂ      画像生成装置
２      プリンタポート
３      プリンタ
１１      ＣＰＵ
１２      ハードディスク装置
２０      文書処理アプリケーションプログラム
２０Ａ      文書処理アプリケーション
３０      機密判定プログラム
３０Ａ      機密判定部
４０      ＧＤＩプログラム
４０Ａ      ＧＤＩ
５０      プリンタドライバプログラム
５０，５０Ａ，５０Ｂ      プリンタドライバ
５２      プリンタ設定判定部
５３      印刷設定判定部
５４，５４Ｂ      印刷可否判定制御部
５５，５５Ｂ      報知部
５６      画像生成部
６０      入力部
６１      プリンタ設定変更通知部
６２      ポート選択部
６３      印刷終了通知部
７０      プリンタ設定変更部
７１      プリンタ設定記憶部
【図１】
2012146204.tif 000003
【図２】
2012146204.tif 000004
【図３】
2012146204.tif 000005
【図４】
2012146204.tif 000006
【図５】
2012146204.tif 000007
【図６】
2012146204.tif 000008
【図７】
2012146204.tif 000009
【図８】
2012146204.tif 000010
【図９】
2012146204.tif 000011
【図１０】
2012146204.tif 000012
【図１１】
2012146204.tif 000013
【図１２】
2012146204.tif 000014
【図１３】
2012146204.tif 000015
【図１４】
2012146204.tif 000016
【図１５】
2012146204.tif 000017