以下、本発明に係わる印刷システム、印刷装置、プリンタドライバ、および印刷制御方法の一実施例について添付図面を参照して詳細に説明する。
図1は、本発明に係わる印刷システム100の概略的な構成を示す構成図である。
図1に示すように、印刷システム100は、複数の印刷装置1−1、印刷装置1−2、印刷装置1−3、・・・印刷装置1−n(以下、総称して「印刷装置1−n」という。)と、プリンタドライバ212が搭載された複数のクライアント装置2−1、クライアント装置2−2、・・・クライアント装置2−n(以下、総称して「クライアント装置2−n」という。)とがLAN(=Local Area Network)3等のネットワークを介して接続されている。
図2は、印刷装置1−nとクライアント装置2−nの基本的な構成のブロック図である。
図2に示すように、印刷装置1−nは、CPU(=中央演算処理装置)10と、記憶部11と、画像処理部12と、画像形成部13と、操作表示部14と、給紙部15と、外部インタフェース部16を備えており、CPU10は、印刷装置1−nの各部を制御し、印刷装置1−n全体を統括制御する制御装置である。
記憶部11は、ROMやRAM及びEEPROM等の記憶装置と、これらの記憶装置を制御し、各種データやプログラム等を記憶保持する。
画像処理部12は、入力された印刷データに対して所定の画像処理を施し、画像処理した印刷データを画像形成部13へ転送する。
画像形成部13は、画像処理部12で画像処理された印刷データを給紙部15から給紙される用紙上に転写、定着させ排紙する。
操作表示部14は、印刷装置1−nの稼動状態や印刷ジョブの処理状況等のステータス情報を表示する表示パネルや印刷装置1−nに対する指示操作を行う操作パネル等の装置と、これらの装置の動作制御を行う。
給紙部15は、印刷データを印刷する用紙を画像形成部13へ供給する。
外部インタフェース部16は、印刷装置1−nとは他の装置やLAN3と接続された装置等の外部装置との制御信号やデータ信号の授受の通信制御を行う。
一方、クライアント装置2−nは、CPU(=中央演算処理装置)20と、記憶部21と、入力部22と、表示部23と、外部インタフェース部24を備えたコンピュータである。
CPU20は、クライアント装置2−nの各部を制御し、クライアント装置2−n全体を統括制御する制御装置である。
記憶部21は、ROMやRAM及びハードディスク等の記憶装置と、これらの記憶装置を制御し、各種データやプログラム等を記憶保持する。
この記憶部21の図示せぬハードディスクにはOS(=Operating System)210と、アプリケーションソフト211と、本発明に係わるプリンタドライバ212が予めインストールされており、アプリケーションソフト211は、印刷データの作成や加工、もしくは印刷データの印刷指示を行うソフトである。
また、OS210は、クライアント装置2−nのコンピュータシステム全体を管理する基本ソフトであり、プリンタドライバ212は、アプリケーションソフト211により印刷指示された印刷データの内容が印刷許可されるものであるか否かの問い合わせを印刷装置1−nに行い、この問い合わせに対する印刷装置1−nからの許可の応答を受けて当該印刷データの出力先の印刷装置1−nが解釈できるデータへ変換し、変換した印刷データを印刷する用紙サイズや解像度、拡大縮小等の印刷条件の情報(以下、「印刷条件情報」という。)等を含む印刷ジョブを作成して出力先の印刷装置1−nへ送信する。
入力部22は、キーボードやマウス等の入力装置と、これらの入力装置の動作を制御してクライアント装置2−nへの各種データやプログラム等の入力制御を行う。
表示部23は、ディスプレイ等の表示装置と、表示装置を制御してクライアント装置2−nで処理された処理結果や記憶保持された各種データ及びプログラム等を表示する。
外部インタフェース部24は、クライアント装置2−nとは他の装置やLAN3と接続された装置(以下、「外部装置」)との制御信号やデータ信号の授受の通信制御を行う。
ところで、本発明に係わる印刷システム100を構成するプリンタドライバ212は、アプリケーションソフト211から印刷指示された印刷データの出力を出力先の印刷装置1−nに指示するに先立ち当該印刷データの内容(例えば文書データであれば文書の内容、図等のデータであれば図の形状等)が印刷許可されるか否かの問合せを出力先の印刷装置1−nに対して行い、この問合せに対する問合せ先からの印刷許可の応答を受けることで当該印刷データの印刷ジョブを作成し、出力先の印刷装置1−nに印刷指示するように構成されている。
一方、印刷装置1−nは、自装置1−nで印刷済みの印刷ジョブの履歴(以下、「印刷履歴情報」という。)を当該印刷ジョブに含まれる印刷データの内容を含めて記憶保持し、前述のプリンタドライバ212からの印刷データの内容に基づく問合せに対して印刷許可または印刷不許可を判断し、通知するように構成されている。
このように構成することで機密情報の印刷データを含む印刷ジョブが印刷済みの場合に当該機密情報と同じ内容の印刷データを含む印刷ジョブが印刷指示された場合は、この印刷ジョブの印刷を制限することができる。
ここでクライアント装置2−nに搭載されたプリンタドライバ212がアプリケーションソフト211により印刷指示された印刷データの内容に基づく出力先の印刷装置1−nへの問合せと印刷指示及びプリンタドライバ212からの問合せに対する印刷装置1−nの応答及び印刷処理の各動作について図3乃至図9を参照しながら説明する。
図3は、プリンタドライバ212から問合された内容の印刷データを含む印刷ジョブが印刷装置1−nで未印刷の場合のプリンタドライバ212と印刷装置1−nの各動作を示す流れ図である。
なお、図3は、クライアント装置2−1のプリンタドライバ212が印刷装置1−1に対して問合せを行い、印刷指示する場合を例に示したものである。
図3に示すように、例えばクライアント装置2−1に搭載されたアプリケーションソフト211で印刷データの作成または加工を行い、出力先(例えば印刷装置1−1)及び当該印刷データを印刷する用紙サイズや解像度、拡大、縮小等の印刷条件情報を設定後、当該印刷データの印刷が指示されると、印刷条件情報を含む印刷データがクライアント装置2−1に搭載されたプリンタドライバ212へ転送される(ステップS301)。
プリンタドライバ212は、印刷条件情報を含む印刷データから印刷条件情報を除いた印刷データのみを出力先の印刷装置1−1が解釈できる印刷画像イメージに変換し(ステップS302)、この印刷画像イメージの特徴量を算出する(ステップS303)。
印刷画像イメージの特徴量は、例えばハッシュ関数を用いて印刷画像イメージから算出されるハッシュ値としてもよい。
また、印刷画像イメージから算出されるハッシュ値は、印刷画像イメージの頁毎のハッシュ値でもよく、あるいは複数頁のうちの特定頁の印刷画像イメージのハッシュ値でもよい。
なお、特徴量は、ハッシュ値に限定されるものではなく、印刷画像イメージの黒画素数や画像重心、投影波形の周波数特性等、公知技術で算出される値を印刷画像イメージの特徴量として用いてもよい。
なお、ここでは特徴量を印刷画像イメージのハッシュ値として説明する。
プリンタドライバ212は、印刷画像イメージのハッシュ値を算出後、算出したハッシュ値(以下、「算出ハッシュ値」という。)と同じ値のハッシュ値を有する印刷ジョブが印刷済みでないか否かを出力先の印刷装置1−1に対して問合せを行う(ステップS304)。
なお、前述の算出ハッシュ値に基づく問合せは、出力先の印刷装置1−1だけでなく印刷装置1−1を含むLAN3に接続された全ての印刷装置1−nに対して行う構成としてもよい。
一方、印刷装置1−1は、プリンタドライバ212からの問合せに対して自装置1−nが記憶保持している後述する印刷履歴情報500(図5参照)に記録された印刷済み印刷ジョブの印刷履歴を参照し(ステップS305)、問合せの算出ハッシュ値と同じ値のハッシュ値を有する印刷済み印刷ジョブの印刷履歴が記録されていないか判別する。
算出ハッシュ値と同じ値のハッシュ値を有する印刷済み印刷ジョブが印刷履歴情報500に記録されている場合には(ステップS306でYES)、問合せの算出ハッシュ値の印刷データと同じ内容の印刷データが既に印刷済みであると認識し、後述する印刷許可再判定処理(図6参照)により印刷許可または印刷不許可のいずれかの判定を行い、判定結果に応じた印刷許可または印刷不許可の応答をクライアント装置2−1のプリンタドライバ212に対して行う。
また、プリンタドライバ212は、印刷装置1−1からの応答に応じた処理動作を行う(ステップS313)。
前述のステップS306において、算出ハッシュ値と同じ値のハッシュ値を有する印刷済み印刷ジョブが印刷履歴情報500に記録されていない場合には(ステップS306でNO)、問合せの算出ハッシュ値の印刷データと同じ内容の印刷データは未印刷であると認識し、印刷許可を示す信号をクライアント装置2−1のプリンタドライバ212に応答する。
印刷許可の応答を受けたプリンタドライバ212は、印刷条件情報を含む印刷データを出力先の印刷装置1−1が解釈できる印刷画像イメージに変換して印刷ジョブを作成するとともに(ステップS307)、後述する再印刷許可条件の設定400画面(図4参照)をクライアント装置2−1の表示部23に表示させ、作成した印刷ジョブが再印刷される際の許可条件の設定操作をユーザに促す(ステップS308)。
ユーザが再印刷許可条件の設定400画面により再印刷許可条件を設定すると、プリンタドライバ212は、再印刷許可条件の設定400画面で選択設定された設定値に対応した再印刷許可条件データを作成し、作成した再印刷許可条件データと、前述のステップS302で算出した算出ハッシュ値(特徴量)及び前述のステップS307で作成した印刷ジョブを出力先の印刷装置1−1に送信する(ステップS309)。
プリンタドライバ212により送信された印刷ジョブ、算出ハッシュ値(特徴量)及び再印刷許可条件データを受信した印刷装置1−1は、印刷ジョブの印刷画像イメージを印刷条件情報に基づき用紙上に印刷出力し(ステップS310)、当該印刷ジョブに含まれる全ての印刷画像イメージの印刷出力が正常に終了したところで(ステップS311でYES)、算出ハッシュ値(特徴量)及び再印刷許可条件データを印刷装置1−1が保持する印刷履歴情報500(図5参照)に記録し(ステップS312)、印刷終了メッセージをクライアント装置2−1のプリンタドライバ212へ通知する。
また、プリンタドライバ212は、印刷装置1−1から受信した印刷終了メッセージをアプリケーションソフト211へ通知し、当該印刷ジョブは終了する。
図4は、前述の再印刷許可条件の設定400画面の一例を示す図であり、図4に示すように再印刷許可条件の設定400画面は、前述のステップS307で作成された印刷ジョブが再印刷される際の許可条件として許可する対象者等を選択設定する許可対象選択部410と、許可する印刷部数を制限する許可部数選択部420及び操作ボタン430で構成されている。
許可対象選択部410には、「全てのユーザ対象」、「管理者による出力のみ」、「本人ユーザによる出力のみ」、「このクライアント装置からの出力のみ」、「一切許可しない」が表示されており、これらの中から再印刷を許可する対象者等を選択設定する。
また、許可部数選択部420には、「制限なし」、「印刷部数履歴を管理する」が表示されており、再印刷を許可する印刷部数を制限したくない場合は、「制限なし」を選択し、印刷部数を制限したい場合は、「印刷部数履歴を管理する」を選択して部数入力欄421に制限したい印刷部数の値を入力する。
なお、この再印刷許可条件の設定400画面において、許可対象選択部41で「本人ユーザによる出力のみ」が選択され、「OK」操作ボタン430が押下された場合は、図示せぬユーザ識別情報入力画面が表示され、この画面でユーザはユーザ本人を識別するためのユーザIDを入力する。
また、ユーザ識別情報入力画面で入力されたユーザIDは、当該印刷ジョブを再印刷する際の本人ユーザであるか否かを認証する情報として用いられる。
また、選択項目の選択及び操作ボタン430の押下操作は、選択したい選択項目及び押下したい操作ボタン430をマウスでクリックする。
このように構成された再印刷許可条件の設定400画面で許可対象選択部410及び許可部数選択部420の各選択項目を選択設定後、「OK」操作ボタン430が選択されることで再印刷許可条件の設定400画面で選択設定された設定値に対応した再印刷許可条件データがプリンタドライバ212により作成されて出力先の印刷装置1−1へ送信され、印刷装置1−1が再印刷許可条件データの各設定値を印刷履歴情報500の各設定項目に記録する。
図5は、各印刷装置1−nに記憶保持されている印刷履歴情報500の一例を示す図である。
図5に示すように、印刷履歴情報500は、ドキュメント名501と、印刷日時502と、特徴量(ハッシュ値)503と、許可対象情報504と、再印刷部数情報505等の項目のレコードで構成されており、各印刷装置1−nは、自装置1−nで印刷出力した印刷ジョブの履歴を印刷履歴情報500に記録保持する。
印刷履歴情報500の許可対象情報504は、更に許可対象ID5041と、ユーザID5042と、管理者ID5043と、送信元アドレス5044とで構成され、再印刷部数情報505は、許可部数ID5051と、許可印刷部数5052と、印刷済み部数5053とで構成され、印刷履歴情報500のドキュメント名501には印刷済み印刷ジョブのドキュメント名が記録され、印刷日時502には当該印刷ジョブが最後に印刷された日時が記録され、特徴量(ハッシュ値)503には当該印刷ジョブに含まれる印刷データの特徴量(例えば、ハッシュ値)が記録される。
また、許可対象情報504及び再印刷部数情報505には、前述のプリンタドライバ212から送信された再印刷許可条件データの各設定値が記録される。
具体的には、許可対象情報504の許可対象ID5041には再印刷許可条件の設定400画面の許可対象選択部410で選択設定された設定値が例えば「A」から「E」の値で記録される。
設定値「A」は、許可対象選択部410の「全てのユーザによる出力」が選択されたことを示し、設定値「B」は、「管理者による出力のみ」が選択されたことを示し、設定値「C」は、「本人ユーザによる出力のみ」が選択されたことを示し、設定値「D」は、「このクライアント装置からの出力のみ」」が選択されたことを示し、設定値「E」は、「一切許可しない」が選択されたことをそれぞれ示している。
また、ユーザID5042には、再印刷許可条件の設定400画面の許可対象選択部410で「本人ユーザによる出力のみ」が選択され、図示せぬユーザ識別情報入力画面でユーザにより入力されたユーザID(例えばuser001)が記録される。
具体的には、印刷履歴情報500のドキュメント名501が「ドキュメントC」の例で示されるように許可対象ID5041には「本人ユーザによる出力のみ」が選択されたことを示す「C」の設定値が記録され、ユーザID5042にはユーザ識別情報入力画面で入力されたユーザIDが例えば「user001」の設定値が記録される。
また、管理者ID5043には当該印刷ジョブの再印刷が管理者のみに許可されている場合にユーザが管理者であるか否かを識別するための管理者ID(例えばadminist)が記録される。
なお、この管理者ID(例えばadminist)は、印刷履歴情報500に記録される全ての印刷済み印刷ジョブのレコードに記録される。
また、送信元アドレス5044には当該印刷ジョブを最初に印刷指示したクライアント装置2−nからのみ再印刷を許可する場合の当該クライアント装置2−nのアドレス情報(例えばxxx.xxx.xxx.xxx)が記録される。
このアドレス情報は、当該印刷ジョブを最初に印刷指示したクライアント装置2−nから送信されるパケットのヘッダ情報から印刷装置1−nが読み取って一時的に記憶保持し、当該クライアント装置2−nから送信される再印刷許可条件データ中に「このクライアント装置からの出力のみ」が選択されたことを示す設定値「D」が設定されている場合に一時的に記憶保持した当該クライアント装置2−nのアドレス情報を送信元アドレス5044に記録する。
再印刷部数情報505の許可部数ID5051には再印刷許可条件の設定400画面の許可部数選択部420で選択設定された設定値が例えば「0」または「1」の値で記録される。
設定値「0」は、「制限なし」、すなわち当該印刷ジョブの再印刷する許可する部数を制限しないことを示し、設定値「1」は、「印刷部数履歴を管理する」、すなわち当該印刷ジョブの印刷部数履歴を管理することを示している。
また、許可印刷部数5052には、再印刷許可条件の設定400画面の許可部数選択部420で「印刷部数履歴を管理する」が選択され、部数入力欄421で入力された部数の値が記録される。
具体的には、印刷履歴情報500のドキュメント名501が「ドキュメントA」の例で示されるように、許可部数ID5051には「印刷部数履歴を管理する」が選択されたことを示す「1」の設定値が記録され、許可印刷部数5052には、再印刷許可条件の設定400画面の部数入力欄421で入力された部数の値が例えば「10」の設定値が記録される。
また、印刷済み部数5053には当該印刷ジョブが既に印刷された部数の値が記録される。
この値は、当該印刷ジョブの印刷が正常に終了する毎に、その印刷ジョブの印刷部数をカウントアップし、現在までの印刷部数を印刷済み部数として印刷済み部数5053に記録する。
この印刷履歴情報500には、自装置1−nで印刷処理中の印刷ジョブが正常に終了する毎に当該印刷ジョブの印刷履歴が新規に記録されるか、または既に作成されている場合は更新記録される。
印刷済み印刷ジョブの印刷履歴について印刷履歴情報500に記録された「ドキュメントA」を一例に説明すると、印刷履歴情報500に記録された印刷済み印刷ジョブの「ドキュメントA」(ドキュメント名501)は、ドキュメントAが最後に印刷された日時が「2005年10月01日09時00分」(印刷日時502)、ドキュメントAに含まれる印刷データの内容を示すハッシュ値(特徴量)が「ハッシュ値A」(特徴量(ハッシュ値)503)、ドキュメントAの再印刷が許可される対象者が「全てのユーザによる出力」(許可対象ID5041がA)、ドキュメントAの再印刷の部数制限が印刷部数履歴で管理(許可部数ID5051で1)され、再印刷で許可される印刷部数が「10」(許可印刷部数5052)、ドキュメントAの印刷済み部数が「1」部(印刷済み部数5053)であることを示している。
次に前述のステップS313の印刷許可再判定処理(図3参照)の詳細について図6乃至図9を参照し説明する。
図6は、印刷許可再判定処理におけるプリンタドライバ212と印刷装置1−1の各動作を示す流れ図である。
図6に示すように印刷許可再判定処理は、前述のステップS306でクライアント装置2−1のプリンタドライバ212からの問い合わせに対して算出ハッシュ値と同じ値のハッシュ値を有する印刷済み印刷ジョブの印刷履歴が印刷履歴情報500(図5参照)に記録されているか参照比較して確認し、記録されていると確認された場合は、(ステップS306でYES)、後述する再印刷条件判定処理(図7参照)により印刷許可または印刷不許可の判定を行い(ステップS313)、印刷不許可と判定された場合は(ステップS314でNO)、印刷不許可の応答信号をクライアント装置2−1のプリンタドライバ212へ応答し(ステップS313)、印刷不許可の応答を受けたプリンタドライバ212が後述する印刷不許可処理(図8参照)を行う(ステップS319)。
また、ステップS313の再印刷条件判定処理で印刷許可と判定された場合は(ステップS314でYES)、印刷許可の応答信号をクライアント装置2−1のプリンタドライバ212へ応答する。
一方、印刷許可の応答を受けたクライアント装置2−1のプリンタドライバ212は、印刷条件情報を含む印刷データを出力先の印刷装置1−1が解釈できる印刷画像イメージに変換して印刷ジョブを作成し、作成した印刷ジョブを印刷装置1−1に送信し印刷指示する(ステップS315)。
印刷ジョブを受信した印刷装置1−1は、当該印刷ジョブに含まれる印刷画像イメージを印刷条件情報に基づき用紙上に印刷出力し(ステップS316)、当該印刷ジョブの印刷出力が完了したところで(ステップS317でYES)、当該印刷ジョブの印刷履歴情報500に記録された印刷済み部数の設定値を更新し(ステップS318)、印刷終了メッセージをクライアント装置2−1のプリンタドライバ212へ通知する。
また、プリンタドライバ212は、印刷装置1−1から受信した印刷終了メッセージをアプリケーションソフト211へ通知し、当該印刷ジョブは終了する。
次に、前述のステップS313の再印刷条件判定処理の詳細について図7の流れ図及び前述の印刷履歴情報500(図5参照)を参照しながら説明する。
再印刷条件判定処理は、問い合わせの算出ハッシュ値と同じ値を有する印刷履歴情報500に記録された印刷済み印刷ジョブの許可対象情報504の各設定値が示す再印刷を許可する対象者の条件(印刷対象条件)と、再印刷部数情報505の各設定値が示す再印刷を許可する部数の条件(許可部数条件)の両方の条件が満たされている場合にのみ印刷許可と判定する。
具体的には、図7に示すように、印刷履歴情報500に記録された問合せ算出ハッシュ値と同値の印刷済み印刷ジョブの許可対象情報504の各設定値が示す印刷対象条件が満たされているか否かを判定し(ステップS313−1)、印刷対象条件が満たされていない場合は(ステップS313−2でNO)、印刷不許可と判定する(ステップS313−6)。
また、ステップS313−1において、印刷対象条件が満たされている場合は(ステップS313−2でYES)、更に、当該印刷済み印刷ジョブの再印刷部数情報505の各設定値が示す許可部数条件が満たされているか否かを判定し(ステップS313−3)、満たされていない場合は(ステップS313−4でNO)、印刷不許可と判定し(ステップS313−6)、満たされている場合は(ステップS313−5でYES)、印刷許可と判定する(ステップS313−5)。
具体例を印刷履歴情報500を参照し説明すると、例えばプリンタドライバ212からの問い合わせの算出ハッシュ値Aと同値(特徴量(ハッシュ値)503がハッシュ値A)の印刷履歴情報500に記録された印刷ジョブが「ドキュメントA」(ドキュメント名501)の場合は、先ず、「ドキュメントA」の許可対象情報504の各設定値が示す許可対象条件が満たさているか否かを判定する。
「ドキュメントA」の許可対象条件は、再印刷を全てのユーザに許可する(許可対象ID5041がA)と設定されているので、許可対象条件は満たされていると判定する。
次に「ドキュメントA」の再印刷部数情報505の各設定値が示す許可部数条件が満たさているか否かを判定する。
「ドキュメントA」の許可部数条件は、印刷部数履歴が管理され(許可部数ID5051が1)、再印刷を許可する部数が10部(許可印刷部数ID5052が10)まで許可され、現在までの印刷済み部数が1部(印刷済み部数ID5053が1)と設定されているので、再印刷が9部(許可印刷部数ID5052の10部から印刷済み部数ID5053の1を差し引いた値)までなら許可部数条件は満たされていると判定する。
このように問い合わせの算出ハッシュ値Aと同値の「ドキュメントA」は、印刷済みであるが再印刷を許可する対象者の条件(印刷対象条件)と、再印刷を許可する部数の条件(許可部数条件)の両方の条件を満たす範囲内において、問い合わせ算出ハッシュ値A(特徴量)の印刷データの再印刷を許可すると判定する。
また、例えば問合せの算出ハッシュ値Bと同値の印刷履歴情報500に記録された印刷ジョブが「ドキュメントB」(ドキュメント名501)の場合は、許可対象条件として「ドキュメントB」の再印刷を管理者のみに許可(許可対象ID5041がB)と設定され、許可部数条件として再印刷を許可する部数が「無制限」(許可部数ID5051が0)と設定されているので図示せぬ管理者ID入力画面で入力された管理者IDが管理者ID5043の「admnst」と一致すれば許可対象条件と許可部数条件の両方を満たすこととなり印刷許可と判断し、管理者ID入力画面で入力された管理者IDと管理者ID5043の「admnst」とが一致しなければ許可対象条件が満たされないので印刷不許可と判断する。
なお、管理者ID入力画面で入力された管理者IDの取得は、許可対象条件として再印刷を管理者のみに許可と設定されている場合にプリンタドライバ212に対して管理者IDの送信を要求し、プリンタドライバ212が管理者ID入力画面を表示させてユーザの入力により取得して送信される管理者IDを受信して行う。
また、例えば問合せの算出ハッシュ値Cと同値の印刷履歴情報500に記録された印刷ジョブが「ドキュメントC」(ドキュメント名501)の場合は、許可対象条件として「ドキュメントC」の再印刷を本人ユーザのみ許可(許可対象ID5041がC)と設定され、許可部数条件として再印刷を許可する部数が「無制限」(許可部数ID5051が0)と設定されているので図示せぬユーザID認証画面で入力されたユーザIDがユーザID5042の「user001」と一致すれば許可対象条件と許可部数条件の両方を満たすこととなり印刷許可と判断し、ユーザID認証画面で入力されたユーザIDがユーザID5042の「user001」とが一致しなければ許可対象条件が満たされないので印刷不許可と判断する。
なお、ユーザID認証画面で入力されたユーザIDの取得は、許可対象条件として再印刷を本人ユーザのみ許可と設定されている場合にプリンタドライバ212に対してユーザIDの送信を要求し、プリンタドライバ212がユーザID認証画面を表示させてユーザの入力により取得して送信されるユーザIDを受信して行う。
また、例えば問合せの算出ハッシュ値Dと同値の印刷履歴情報500に記録された印刷ジョブが「ドキュメントD」(ドキュメント名501)の場合は、許可対象条件として「ドキュメントD」の再印刷を指定されたクライアント装置のみに許可(許可対象ID5041がD)と設定され、許可部数条件として印刷部数履歴が管理され(許可部数ID5051が1)、再印刷を許可する部数が5部(許可印刷部数ID5052が5)、現在までの印刷済み部数が5部(印刷済み部数ID5053が5)と設定されているので再印刷が許可された部数5部が既に印刷済みであるため許可部数条件が満たされず許可対象条件のクライアント装置1−1のアドレス情報と送信元アドレス5044のアドレス情報「×××.×××.×××.×××」とが一致する、しないに関わらず印刷不許可と判断する。 また、例えば問合せの算出ハッシュ値Eと同値の印刷履歴情報500に記録された印刷ジョブが「ドキュメントE」(ドキュメント名501)の場合は、許可対象条件として「ドキュメントE」の再印刷を一切許可しない(許可対象ID5041がE)と設定されているので許可対象条件が満たされず、許可部数条件が満たされるか否かに関わらず印刷不許可と判断する。
次に前述のステップS319の再印刷不許可処理(図6参照)の詳細について図8を参照し説明する。
図8は、再印刷不許可処理におけるプリンタドライバ212と印刷装置1−1の各動作を示す流れ図であり、図8に示すように再印刷不許可処理は、前述のステップS314でクライアント装置2−1のプリンタドライバ212が印刷装置1−1から印刷不許可の応答信号を受信した場合(ステップS314でNO)、プリンタドライバ212は、アプリケーションソフト211から印刷指示された当該印刷ジョブを出力先の印刷装置1−1に対して印刷指示することなく再印刷不許可を示す後述の印刷の制限800の画面(図9参照)をクライアント装置2−1の表示部23に表示してユーザへ通知し(ステップS319)、ユーザが印刷制限800の画面に表示された印刷不許可を示す情報を確認し、確認意思を示す「OK」操作ボタン801を選択することで当該印刷ジョブに対するアプリケーションソフト211、プリンタドライバ212及び印刷装置1−1の動作は終了する。 図9は、前述の印刷の制限800の画面の一例を示す図であり、図9に示すように印刷の制限800の画面には印刷不許可を示す情報(例えばこの印刷ジョブはジョブオーナにより印刷が制限されている旨)が表示されており、ユーザは、印刷制限800の画面に表示された印刷不許可を示す情報を確認することで印刷指示した印刷データが印刷不許可であることを認識する。
これまでの説明では、印刷ジョブの印刷指示に先立ち当該印刷ジョブの印刷データの内容が印刷済みの内容と同じないかの問合せを行い、同じ内容の場合は当該印刷ジョブの印刷を制限するように構成された印刷装置、プリンタドライバ、および印刷制御方法の一例を示したが、ここからは印刷指示された印刷ジョブの印刷データの内容と印刷済みの内容とが類似する場合でも当該印刷ジョブの印刷を制限するように構成した本発明に係わる印刷システム、印刷装置、プリンタドライバ、および印刷制御方法の一例について説明する。
このように構成することで例えば印刷済み印刷ジョブの印刷データの日付だけが変更されて印刷されようとした場合であっても当該印刷データの内容が印刷済み印刷データの内容とほぼ同一と認識し、印刷制限することができる。
図10は、印刷ジョブの印刷指示に先立ち当該印刷ジョブの印刷データの内容が印刷済み印刷データの内容と同じまたは類似するかを問合せ、同じまたは類似する場合は、当該印刷ジョブの印刷を制限するように構成した本発明に係わる印刷システム200の印刷装置4−nとクライアント装置5−nの基本的な構成を示すブロック図である。
図10に示すように、本発明に係わる印刷システム200は、複数の図示せぬ印刷装置4−1、印刷装置4−2、印刷装置4−3、・・・及び印刷装置4−n(以下、総称して「印刷装置4−n」という。)と、プリンタドライバ213が搭載された複数の図示せぬクライアント装置5−1、クライアント装置5−2、・・・及びクライアント装置5−n(以下、総称して「クライアント装置5−n」という。)とがLAN3等のネットワークを介して接続されており、印刷装置4−nは、印刷装置1−n(図2参照)と同様にCPU(=中央処理装置)40と、記憶部11と、画像処理部12と、画像形成部13と、操作表示部14と、給紙部15と、外部インタフェース部16を備えている。
印刷装置4−nの基本構成は、印刷装置4−nの各部を制御し、印刷装置4−n全体を統括制御するCPU40が印刷装置1−nのCPU10と構成及び制御動作で異なる他は、印刷装置1−nの各部の構成及び動作制御と同様である。
また、クライアント装置5−nは、クライアント装置2−n(図2参照)と同様にCPU(=中央処理装置)20と、記憶部21と、入力部22と、表示部23と、外部インタフェース部24を備えている。
また、クライアント装置5−nの記憶部21の図示せぬハードディスクにはOS(=Operating System)210と、アプリケーションソフト211と、本発明に係わるプリンタドライバ213が予めインストールされている。
クライアント装置5−nの基本構成は、クライアント装置5−nの記憶部21にインストールされたプリンタドライバ213がクライアント装置2−nのプリンタドライバ212(図2参照)とが異なる他は、クライアント装置2−nの各部の構成及び動作制御と同様である。
このように構成された印刷装置4−nとクライアント装置5−nとがLAN3を介して接続された印刷システム200において、クライアント装置5−nのプリンタドライバ213から印刷指示された印刷データの内容と同じか類似する内容の印刷ジョブが未印刷の場合のプリンタドライバ213と印刷装置4−nの各動作の流れについて図11の流れ図を参照し説明する。
なお、図11は、クライアント装置5−1のプリンタドライバ213が印刷装置4−1に対して問合せを行い、印刷指示する場合を例に示したものである。
図11に示すように、例えばクライアント装置5−1のアプリケーションソフト211で印刷データの作成または加工を行い、出力先(例えば印刷装置4−1)及び当該印刷データを印刷する用紙サイズや解像度、拡大、縮小等の印刷条件情報を設定後、印刷指示すると印刷条件情報を含む印刷データがクライアント装置5−1のプリンタドライバ213へ転送される(ステップS1001)。
プリンタドライバ213は、印刷条件情報を含む印刷データを出力先の印刷装置4−1が解釈できる印刷画像イメージに変換して印刷ジョブを作成し、作成した印刷ジョブを印刷装置4−1へ送信する(ステップS1002)。
プリンタドライバ213から送信された印刷ジョブを受信した印刷装置4−1は、印刷条件情報を除いた印刷データの印刷画像イメージのみを取り出し(ステップS1003)、取り出した印刷画像イメージの特徴量に基づき印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と同じまたは類似するかを後述する同一類似判定処理(図12参照)により判定する(ステップS1004)。
この同一類似判定処理により印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と同じまたは類似であると判定された場合は、(ステップS1005でYES)、更に後述する印刷許可再判定処理(図15参照)により当該印刷ジョブの印刷の許可または不許可が判定され、判定結果に応じた処理が印刷装置4−1及びプリンタドライバ213により行われる(ステップS1010)。
また、ステップS1004の同一類似判定処理により印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と同じまたは類似でないと判定された場合は(ステップS1005でNO)、印刷装置4−1がプリンタドライバ213に対して印刷許可を応答し、この印刷許可の応答を受けたプリンタドライバ212は、後述する再印刷許可条件の設定401の画面(図13参照)をクライアント装置5−1の表示部23に表示させ、前述のステップS1001で印刷指示された印刷ジョブを再印刷する際の許可条件(再印刷許可条件)の設定操作をユーザに対して促す(ステップS1006)。
ユーザが再印刷許可条件の設定401画面により再印刷許可条件を示す各設定値を選択設定すると、プリンタドライバ213は、再印刷許可条件の各設定値に対応した再印刷許可条件データを作成し、印刷装置4−1へ送信する。
再印刷許可条件データを受信した印刷装置4−1は、再印刷許可条件データを一時的に記憶保持するとともに前述のステップS1002でプリンタドライバ213から送信された印刷ジョブの印刷画像イメージを印刷条件情報に基づき用紙上に印刷出力し(ステップS1007)、当該印刷ジョブが正常に終了したところで(ステップS1008でYES)、記憶保持していた再印刷許可条件データを印刷装置4−1が保持する後述する印刷履歴情報510に記録し(ステップS1009)、印刷終了メッセージをプリンタドライバ213へ通知し、プリンタドライバ213は、受信した印刷終了メッセージをアプリケーションソフト211へ通知して当該印刷ジョブは終了する。
ここで前述のステップS1004における同一類似判定処理について図12を参照し説明する。
同一類似判定処理は、プリンタドライバ213から印刷指示された印刷ジョブと印刷履歴情報に記録された印刷済み印刷ジョブとのドキュメント名が同一か、または特徴量が同じかまたは一定値以上の一致がある場合に印刷指示された印刷ジョブの内容が印刷済み印刷ジョブの内容と同一または類似であると判定する。
具体的には、図12に示すように、プリンタドライバ213から送信された印刷ジョブから印刷条件情報を除いた印刷データの印刷画像イメージのハッシュ値を算出し、算出したハッシュ値(算出ハッシュ値)と同じ値のハッシュ値を有する印刷ジョブの印刷履歴が後述する印刷履歴情報510(図14参照)に記録されているか参照比較して確認する(ステップS1004)。
ステップS1004において、算出ハッシュ値と同値の印刷履歴が記録されている場合は(ステップS1104−1でYES)、印刷指示された印刷ジョブの内容(印刷データ)が印刷済み印刷ジョブの内容(印刷データ)と同一であると判定する(ステップS1004−12)。
また、ステップS1004において、算出ハッシュ値と同値の印刷履歴が記録されていない場合は(ステップS1004−1でNO)、印刷指示された印刷ジョブのドキュメント名と同じドキュメント名を有する印刷ジョブの印刷履歴が印刷履歴情報510に記録されているか参照比較して確認する(ステップS1004−2)。
ステップS1004−2において、、印刷指示された印刷ジョブのドキュメント名と同じドキュメント名の印刷履歴が記録されている場合は(ステップS1104−3でYES)、印刷指示された印刷ジョブの内容が印刷済み印刷ジョブの内容と類似であると判定する(ステップS1004−12)。
また、ステップS1004−2において、印刷指示された印刷ジョブのドキュメント名と同じドキュメント名の印刷履歴が記録されていない場合は(ステップS1004−3でNO)、印刷指示された印刷ジョブの印刷データをテキストデータと、図表や写真データ等のイメージデータとに分離し(ステップS1004−4)、分離したテキストデータからハッシュ値を算出し、算出したハッシュ値(算出ハッシュ値)と同じ値のハッシュ値を有する印刷ジョブの印刷履歴が印刷履歴情報510に記録されているか参照比較して確認する(ステップS1004−5)。
ステップS1004−5において、算出ハッシュ値と同値の印刷履歴が記録されている場合は(ステップS1104−6でYES)、印刷指示された印刷ジョブの内容は、印刷済み印刷ジョブの内容と類似であると判定する(ステップS1004−12)。
また、ステップS1004−5において、算出ハッシュ値と同値の印刷履歴が記録されていない場合は(ステップS1104−6でNO)、前述のステップS1004−4で分離したイメージデータからハッシュ値を算出し、算出したハッシュ値(算出ハッシュ値)と同じ値のハッシュ値を有する印刷ジョブの印刷履歴が印刷履歴情報510に記録されているか参照比較して確認する(ステップS1004−7)。
ステップS1004−7において、算出ハッシュ値と同値の印刷履歴が記録されている場合は(ステップS1104−8でYES)、印刷指示された印刷ジョブの内容は、印刷済み印刷ジョブの内容と類似であると判定する(ステップS1004−12)。
また、ステップS1004−7において、算出ハッシュ値と同値の印刷履歴が記録されていない場合は(ステップS1104−8でNO)、「総画素数」、「画像重心」、「投影波形」、「T/I領域構成」等の特徴量から選択設定された特徴量に応じて印刷指示された印刷データの総画素数、画像重心、投影波形の周波数特性、T(テクストデータ)/I(イメージデータ)領域構成比等をそれぞれ算出し、算出した特徴量(算出特徴量)が設定された一致度以上で一致する当該特徴量を有する印刷ジョブの印刷履歴が印刷履歴情報510に記録されているか参照比較して確認する(ステップS1004−9)。
ステップS1004−9において、算出特徴量と同値または一定値以上で一致する特徴量の印刷履歴が記録されている場合は(ステップS1104−10でYES)、印刷指示された印刷ジョブの内容は、印刷済み印刷データの内容と類似であると判定する(ステップS1004−12)。
また、ステップS1004−9において、算出特徴量と同値または一定値以上で一致する特徴量の印刷履歴が記録されていない場合は(ステップS1104−10でNO)、印刷指示された印刷ジョブの内容は、未印刷であると判定する(ステップS1004−11)。
次に前述の再印刷許可条件の設定401画面と印刷履歴情報510の構成について図13及び図14を参照し説明する。
図13は、再印刷許可条件の設定401画面の一例を示す図である。
図13に示すように再印刷許可条件の設定401画面は、許可対象選択部411と、許可部数選択部421と、類似ドキュメント取扱選択部440と、類似ドキュメント特徴量選択部450と、操作ボタン431とで構成されており、許可対象選択部411と、許可部数選択部421及び操作ボタン431は、前述の再印刷許可条件の設定400画面(図4参照)の許可対象選択部410と、許可部数選択部420及び操作ボタン430と同様に構成されている。
類似ドキュメント取扱選択部440は、類似ドキュメントの取り扱い管理を選択する選択項目であり、印刷指示された印刷ジョブと印刷済み印刷ジョブのそれぞれの印刷データの内容が同じ場合のみ印刷制限を行う(完全一致ドキュメントのみ管理を選択)か、または内容が類似する場合も印刷制限を行う(類似ドキュメントも管理を選択)かを選択する選択項目である。
類似ドキュメント特徴量選択部450は、類似ドキュメントの特徴量を選択指定する選択項目であり、印刷指示された印刷ジョブと印刷済み印刷ジョブのそれぞれの印刷データの内容の類似性を判断する条件を選択する選択項目である。
具体的には、類似ドキュメント特徴量選択部450には「ドキュメント名が一致」、「図表、写真データが一致」、「テキストデータが一致」、「画像特徴量の一致度」、「総画素数」、「画像重心」、「投影波形」、「T/I領域構成」、「全て」等が表示されており、「ドキュメント名が一致」は、印刷指示された印刷ジョブのドキュメント名と同じドキュメント名の印刷ジョブが印刷済みの場合は、印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と類似であると判定させる場合に選択設定する。
また、「図表、写真データが一致」は、印刷指示された印刷ジョブの図表、写真データ等のイメージデータの特徴量(例えばハッシュ値)と同値の特徴量(イメージデータ)を有する印刷ジョブが印刷済みの場合は、印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と類似であると判定させる場合に選択設定する。
「テキストデータが一致」は、印刷指示された印刷ジョブのテキストデータの特徴量(例えばハッシュ値)と同値の特徴量(テキストデータ)を有する印刷ジョブが印刷済みの場合は、印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と類似であると判定させる場合に選択設定する。
また、「画像特徴量の一致度」は、印刷指示された印刷ジョブの「総画素数」、「画像重心」、「投影波形」、「T/I領域構成」または「全て」等の選択設定された特徴量が印刷履歴情報510に記録された印刷済み印刷ジョブの特徴量と設定された一致度以上で一致している場合は、印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷データの内容と類似であると判定させる場合に選択設定する。
なお、「全て」は、特徴量として「総画素数」、「画像重心」、「投影波形」、「T/I領域構成」の全てを指定することであり、一致度は、ユーザにより入力設定されるが、デフォルト値として設定してもよい。
この再印刷許可条件の設定401画面の許可対象選択部410、許可部数選択部420、類似ドキュメント取扱選択部440、類似ドキュメント特徴量選択部450の各選択項目を選択設定後、「OK」操作ボタン430が選択されることで選択設定された各設定値に対応する再印刷許可条件データがプリンタドライバ213により作成され、印刷装置4−1へ送信される。
再印刷許可条件データを受信した印刷装置4−1は、当該印刷ジョブの印刷が正常終了後、再印刷許可条件データを印刷履歴情報510に記憶保持する。
図14は、各印刷装置4−nに記憶保持されている印刷履歴情報510の一例を示す図である。
図14に示すように、印刷履歴情報510は、キュメント名511と、印刷日時512と、特徴量(ハッシュ値)513と、許可対象情報514、再印刷部数情報515、類似ドキュメント取扱情報516、類似ドキュメント特徴情報517等の項目に対応するデータのレコード形成で構成されており、自装置4−nで印刷出力した印刷ジョブの履歴を印刷履歴情報500に記録保持する。
また、許可対象情報514は、許可対象ID5141と、ユーザID5142と、管理者ID5143と、送信元アドレス5144とで構成され、再印刷部数情報515は許可部数ID5151と、許可印刷部数5152と、印刷済み部数5153とで構成されている。
なお、印刷履歴情報510のドキュメント名511、印刷日時512、特徴量(ハッシュ値)513、許可対象情報514、再印刷部数情報515は、前述の図5で示した印刷履歴情報500と同様に構成されており、これらの構成の詳細説明は前述の説明を参照することとし、ここでは省略する。
印刷履歴情報510の類似ドキュメント取扱情報516には前述の再印刷許可条件の設定401画面の類似ドキュメント取扱選択部440で選択設定された「完全一致ドキュメントのみ管理」または「類似ドキュメントも管理」に対応する値が設定される。
類似ドキュメント特徴情報517は、類似識別情報5171と、テキスト特徴量(ハッシュ値)5172と、イメージ特徴量(ハッシュ値)5173と、特徴量一致度5174と、一致度識別情報5175と、総画素数データ5176と、画像重心データ5177と、投影波形データ5178と、T/I領域構成データ5179とで構成されており、類似識別情報5171には前述の再印刷許可条件の設定401画面の類似ドキュメント特徴量選択部450の「ドキュメント名が一致」、「図表、写真データが一致」、「テキストデータが一致」、「画像特徴量の一致度」の特徴量から選択された当該特徴量を示す設定値が設定される。
また、特徴量一致度5174には再印刷許可条件の設定401画面の類似ドキュメント特徴量選択部450で「画像特徴量の一致度」が選択され、入力設定された一致度の設定値が設定される。
また、テキスト特徴量(ハッシュ値)5172には印刷指示された印刷ジョブの印刷データをテキストデータとイメージデータ(図表、写真データ等)とに分離し、分離したテキストデータから算出したハッシュ値が設定され、イメージ特徴量(ハッシュ値)5173には分離したイメージデータから算出したハッシュ値が設定される。
また、総画素数データ5176、画像重心データ5177、投影波形データ5178、T/I領域構成データ5179には印刷指示された印刷ジョブの印刷データから算出した総画素数、画像重心、投影波形の周波数特性、印刷データから分離されたテキストデータとイメージデータとの構成比等のそれぞれの値が設定される。
次に前述のステップS1010の印刷許可再判定処理(図11参照)の詳細について図15乃至図17を参照し説明する。
図15は、印刷許可再判定処理におけるプリンタドライバ213と印刷装置4−1の各動作を示す流れ図である。
図15に示すように印刷許可再判定処理は、前述のステップS1005の同一類似判定処理において、印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷ジョブの内容と類似であると判定された場合は(ステップS1005でYES)、更に後述する再印刷条件判定処理(図16参照)により印刷許可または印刷不許可の判定を行い(ステップS1010)、再印刷条件判定処理で印刷不許可と判定された場合は(ステップS1011でNO)、後述する印刷不許可処理(図17参照)により印刷不許可の応答信号をクライアント装置5−1のプリンタドライバ213へ応答し(ステップS1015)、印刷不許可の応答を受けたプリンタドライバ213が印刷不許可に対応した処理動作を行う(ステップS1016)。
また、ステップS1010の再印刷条件判定処理で印刷許可と判定された場合は(ステップS1011でYES)、印刷指示された印刷ジョブの印刷画像イメージを印刷条件情報に基づき用紙上に印刷出力し(ステップS1012)、当該印刷ジョブの印刷出力が正常に終了したところで(ステップS1013でYES)、印刷履歴情報510に記録された当該印刷ジョブの印刷済み部数5153の設定値を更新し(ステップS1014)、印刷終了メッセージをプリンタドライバ213へ通知し、プリンタドライバ213が印刷終了メッセージをアプリケーションソフト211へ通知することで当該印刷ジョブは終了する。
次に、前述のステップS1010の再印刷条件判定処理の詳細について図16の流れ図を参照し説明する。
図16に示す再印刷条件判定処理は、参照する印刷履歴情報510が印刷履歴情報500と異なる他は、前述の再印刷条件判定処理(図7参照)と同様な処理動作である。
具体的には、図17に示すように、印刷履歴情報510に記録された前述の同一類似判定処理(図12参照)で算出された算出特徴量と同値または一定値以上で一致する特徴量の印刷済み印刷ジョブの許可対象情報514に設定された各設定値が示す印刷対象条件が満たされているか否かを判定し(ステップS1010−1)、印刷対象条件が満たされていない場合は(ステップS1010−2でNO)、印刷不許可と判定する(ステップS1010−6)。
また、ステップS1010−1において、印刷対象条件が満たされている場合は(ステップS1010−2でYES)、更に、当該印刷済み印刷ジョブの再印刷部数情報515の各設定値が示す許可部数条件が満たされているか否かを判定し(ステップS1010−3)、満たされていない場合は(ステップS1010−4でNO)、印刷不許可と判定し(ステップS1010−6)、満たされている場合は(ステップS1010−4でYES)、印刷許可と判定する(ステップS1010−5)。
次に前述のステップS1015の再印刷不許可処理(図15参照)の詳細について図17を参照し説明する。
図17は、再印刷不許可処理におけるプリンタドライバ213と印刷装置4−1の各動作を示す流れ図であり、図17に示すように再印刷不許可処理は、前述の再印刷不許可処理(図8参照)と同様な処理動作である。
具体的には、図17に示すように、ステップS1010において同一類似判定処理により印刷指示された印刷ジョブの印刷データの内容が印刷済み印刷データの内容と同一または類似であると判定され、当該印刷済み印刷ジョブの印刷履歴情報510に記録された許可対象情報514及び再印刷部数情報515の各設定値に基づき印刷許可条件を満たしていないと判断された場合は(ステップS1010でNO)、印刷装置4−1が印刷不許可の応答信号をプリンタドライバ213へ応答するとともに、印刷不許可の応答を受けたプリンタドライバ213が再印刷不許可を示す後述の印刷の制限810の画面(図18参照)をクライアント装置5−1の表示部23に表示してユーザへ通知し(ステップS1015)、ユーザが印刷制限810の画面に表示された印刷不許可を示す情報を確認し、確認意思を示す「OK」操作ボタン811を選択することで当該印刷ジョブに対するアプリケーションソフト211、プリンタドライバ212及び印刷装置1−1の動作は終了する。
図18は、前述の印刷の制限810の画面の一例を示す図であり、図18に示す印刷の制限810の画面は、前述の印刷の制限800の画面(図9参照)と同様に構成されている。
具体的には、図18に示すように、印刷の制限810の画面には印刷不許可を示す情報(例えばこの印刷ジョブはジョブオーナにより印刷が制限されている旨)が表示されており、ユーザは、印刷制限810の画面に表示された印刷不許可を示す情報を確認することで印刷指示した印刷データが印刷不許可であることを認識する。
以上の説明では、各印刷装置が自装置で印刷した印刷ジョブの印刷履歴を印刷履歴情報として個別に保持する構成例を示したが、ネットワーク3に接続された各印刷装置がそれぞれ保持している印刷履歴情報を各印刷装置間で定期的に情報交換し、共有するような構成としてもよく、印刷装置を入れ替えた場合でも印刷履歴情報が継承可能なようにリムーバブルメディアに保持させるような構成としてもよく、専用のサーバで保持して共有する構成としてもよい。
このように本発明の印刷装置、プリンタドライバ、および印刷制御方法は、印刷済み印刷ジョブの履歴を印刷ジョブの印刷データの内容を含めて記憶保持し、印刷指示された印データの内容が印刷済みの印刷データの内容と同じかまたは類似する場合は、印刷指示された印刷ジョブの印刷の許可、不許可を選択的に判断して印刷制限するので機密情報等の印刷データが不用意または不正に再印刷されることを防止することができる。