(57)【要約】【課題】OSやユーザの権限によらず、許可しないプリンタやユーザが印刷を行うことを制限する技術を提供することを目的とする。【解決手段】プリンタスプーラに対する印刷ジョブの投入を監視し、印刷ジョブが投入されたとき、該印刷ジョブの印刷が許可されているものか否かを判定し、印刷が許可されている場合は当該印刷ジョブに基づいて印刷を実行し、そうでない場合は当該印刷ジョブをキャンセルする。これにより電子透かしソフトウェアなどをインストールしたとき、電子透かしが付与された文書は印刷許可するが、電子透かしが付与されていない文書については印刷を不許可とするように設定することができる。OSによる制限のためにユーザの権限を変更することなく、また印刷端末にユーザの追加を行うことなく、さらに環境に制限されることなく、印刷を許可しないプリンタやユーザが印刷を行うことを制限することが可能となる。【選択図】図２
2007293673.tif 000002
【特許請求の範囲】
【請求項１】
印刷機能付きのコンピュータにより文書を印刷する際の印刷制御方法であって、
ジョブ監視手段により、印刷情報一時格納手段に対する印刷ジョブの投入を監視するステップと、
ジョブ判定手段により、印刷ジョブが投入されたとき、該印刷ジョブの印刷が許可されているものか否かを判定するステップと、
印刷制御手段により、印刷が許可されている場合は当該印刷ジョブに基づいて印刷を実行し、そうでない場合は当該印刷ジョブをキャンセルするステップと
を備えることを特徴とする印刷制御方法。
【請求項２】
印刷機能付きのコンピュータにより文書を印刷する際の印刷制御プログラムであって、
前記コンピュータを、
印刷情報一時格納手段に対する印刷ジョブの投入を監視する手段、
印刷ジョブが投入されたとき、該印刷ジョブの印刷が許可されているものか否かを判定する手段、および、
印刷が許可されている場合は当該印刷ジョブに基づいて印刷を実行し、そうでない場合は当該印刷ジョブをキャンセルする手段
として機能させることを特徴とする印刷制御プログラム。
【請求項３】
印刷機能付きのコンピュータにより識別情報付き文書または識別情報無し文書を印刷する際の印刷制御方法であって、
識別情報付与決定手段が、上位アプリケーションから発行された文書データの印刷指示に対し、該文書データに識別情報を付与するか否かを決定するステップと、
識別情報付与手段が、識別情報を付与すると決定した文書データに識別情報を付与するステップと、
識別情報を付与しないと決定された文書データに対して、ユーザ権限判定手段が、当該ユーザに識別情報無しの文書の印刷権限があるか否かを判定するステップと、
判定情報付与手段が、識別情報が付与された文書データ、または、当該ユーザに識別情報無しの文書の印刷権限がある場合における識別情報無しの文書データに、所定の判定情報を付与するステップと、
印刷ジョブ投入手段が、前記文書データの印刷ジョブを印刷情報一時格納手段に投入するステップと、
印刷ジョブ監視手段が、前記印刷情報一時格納手段に投入された印刷ジョブを検出するステップと、
印刷ジョブ判定手段が、検出された印刷ジョブの文書データに前記判定情報が付与されているか否か判定するステップと、
印刷実行手段が、前記判定情報が付与されている文書データを印刷するステップと、
印刷ジョブキャンセル手段が、前記判定情報が付与されていない文書データの印刷ジョブをキャンセルするステップと
を備えることを特徴とする印刷制御方法。
【請求項４】
印刷機能付きのコンピュータにより識別情報付き文書または識別情報無し文書を印刷する際の印刷制御プログラムであって、
前記コンピュータを、
上位アプリケーションから発行された文書データの印刷指示に対し、該文書データに識別情報を付与するか否かを決定する手段、
識別情報を付与すると決定した文書データに識別情報を付与する手段、
識別情報を付与しないと決定された文書データに対して、当該ユーザに識別情報無しの文書の印刷権限があるか否かを判定する手段、
識別情報が付与された文書データ、または、当該ユーザに識別情報無しの文書の印刷権限がある場合における識別情報無しの文書データに、所定の判定情報を付与する手段、
前記文書データの印刷ジョブを印刷情報一時格納手段に投入する手段、
前記印刷情報一時格納手段に投入された印刷ジョブを検出する手段、
検出された印刷ジョブの文書データに前記判定情報が付与されているか否か判定する手段、
前記判定情報が付与されている文書データを印刷する手段、および、
前記判定情報が付与されていない文書データの印刷ジョブをキャンセルする手段
として機能させることを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書に電子透かしを付与して印刷するシステムなどに適用して好適な印刷制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、文書（ドキュメント）に電子透かしを付与して印刷するシステムが知られている。電子透かしとは、印刷する文書に対して肉眼では分からない加工を加え、作成者や作成日時、著作権の表示などの各種の情報を埋め込む技術である。電子透かしが埋め込まれた印刷物は、スキャナでスキャンし、所定の検証アプリケーションを用いて検証することにより、埋め込まれた情報を読み出すことができる。これにより、当該文書について、いつ誰が印刷したかなどを特定することが可能となる。
【０００３】
このような電子透かしを付与するソフトウエアを例えば１台の端末にインストールする場合には、その端末のユーザに対して使用制限（印刷制限）をかけたい場合がある。例えば、その端末で任意の文書を印刷する場合には必ず所定の情報を埋め込んだ電子透かしを付与した上で印刷させるものとし、電子透かし無しの文書の印刷を禁止したい場合などである。このような使用制限をかけるため、従来方式では、各ユーザに対して全く印刷が行えないユーザを追加し、通常はその印刷できないユーザIDで強制的にログインさせ、印刷が指示されたときには、特定のプリンタが指定されていれば、印刷できるユーザに切り替えて、電子透かしを付与して印刷させるようにしていた。印刷後は、再び元の印刷できないユーザに戻す。ユーザの切り替えとは、OSの所定のAPIを呼び出すことにより、ログインしている現ユーザを別のユーザに切り替えるものである。ユーザの切り替えにより、印刷の許可／不許可などのユーザ環境を切り替えることができる。以上のようにして、各ユーザが透かし無しで印刷を行うことを制限している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以上のように、印刷時に一時的に印刷できるユーザに切り替えて印刷させ、その後印刷が行えないユーザに戻す方式では、各端末に印刷可能なユーザを追加する作業が必要となり、作業工数がかかるという問題がある。特に、既存の印刷環境が存在するシステムに電子透かしのソフトウエアをインストールするときには、それら既存の端末の１台１台に管理者が出向いて印刷環境を書き替えていく作業を行う必要があった。また、印刷時にユーザを切り替えるため、印刷可能なユーザが印刷することになり、既存のユーザ毎の管理・課金システムが使えなくなるという不具合がある。さらに、ユーザを切り替えるためにOSのセキュリティ機能を使用する必要があり、セキュリティ上の問題が発生する可能性がある。また、ユーザの切り替えを行うためのOSの処理上の性能劣化が発生する。
【０００５】
本発明は、以上のような問題点を解決することを目的とし、特に、OSやユーザの権限によらず、許可しないプリンタやユーザが印刷を行うことを制限する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、印刷情報一時格納手段（例えばプリンタスプーラ）に対する印刷ジョブの投入を監視し、印刷ジョブが投入されたとき、該印刷ジョブの印刷が許可されているものか否かを判定し、印刷が許可されている場合は当該印刷ジョブに基づいて印刷を実行し、そうでない場合は当該印刷ジョブをキャンセルすることを特徴とする。
【０００７】
例えば電子透かしなどの識別情報を付与するシステムに適用し、上位アプリケーションから発行された文書データの印刷指示に対し、該文書データに識別情報を付与するか否かを決定し、識別情報を付与すると決定した文書データに識別情報を付与し、識別情報を付与しないと決定された文書データに対して、当該ユーザに識別情報無しの文書の印刷権限があるか否かを判定し、識別情報が付与された文書データ、または、当該ユーザに識別情報無しの文書の印刷権限がある場合における識別情報無しの文書データに、所定の判定情報を付与し、前記文書データの印刷ジョブを印刷情報一時格納手段に投入し、前記印刷情報一時格納手段に投入された印刷ジョブを検出し、検出された印刷ジョブの文書データに前記判定情報が付与されているか否か判定し、前記判定情報が付与されている文書データを印刷し、前記判定情報が付与されていない文書データの印刷ジョブをキャンセルするようにする。
【０００８】
上位アプリケーションから発行された文書データの印刷指示に対し、該文書データに識別情報を付与するか否かを決定する方式としては、例えば、上位アプリケーションで識別情報を付与するか否かをユーザが指定できるようにすればよい。あるいは、本発明に係るプログラムにおいて、動作属性として、識別情報を付与するか否かをユーザに設定させるようにしてもよい。また、管理者により必ず識別情報を付与すると決定されたユーザについては、識別情報を付与しないという選択ができないようにし、必ず識別情報を付与するものとして処理するようにしてもよい。
【０００９】
ユーザに識別情報無しの文書の印刷権限があるか否かについては、例えば、管理者により各ユーザ毎に予め当該印刷権限の有無を設定しておけばよい。また、上記判定情報は、例えばフラグのような情報で明示的に印刷許可を示すものでよい。明示的な判定情報のほか、（１）出力先が特定のプリンタである場合に印刷許可とする、（２）当該ユーザが特定のユーザ名である場合に印刷許可とする、（３）印刷文書の名称が特定の文書名である場合に印刷許可とする、などの非明示的な判定情報も本発明の範囲内である。
【００１０】
上記識別情報は、例えば電子透かしや背景文字など、視認できるか否かにかかわらず、当該文書を識別するために付与される任意の情報である。
【発明の効果】
【００１１】
本発明によれば、OSによる制限のためにユーザの権限を変更することなく、また印刷端末にユーザの追加を行うことなく、さらに環境に制限されることなく、印刷を許可しないプリンタやユーザが印刷を行うことを制限することが可能となる。従って、例えば電子透かしソフトウェアなどをインストールしたときに、必ず電子透かしが付与された文書しか印刷できないように設定することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を用いてこの発明を実施するための一形態例を説明する。
【００１３】
図１は、任意の文書に対し強制的に電子透かしを埋め込んで印刷させ、電子透かし無しの文書の印刷を禁止するようにしたシステムの一例を示すブロック図である。ユーザ端末100は、表示装置101、CPU（中央演算処理装置）102、入力装置103、メモリ104、および通信コントローラ109を備える。これら各部はバスラインなどの通信線115aにより相互に接続されている。表示装置101は、CPU102からの指示に基づいて、与えられた情報を表示する。CPU102は、メモリ104上にロードされた各種のプログラムを実行することにより、この端末全体の処理を制御する。入力装置103は、例えばキーボードやマウスなどである。メモリ104には、CPU102が実行する各種のプログラムがロードされ、ここではサービスプログラム105、アプリケーションプログラム106、プリンタドライバ107、およびプリンタドライバ108を図示した。通信コントローラ109は、LANなどのネットワーク114との間の通信制御を行う。ユーザ端末100は、ネットワーク114を介してサーバ110、スキャナ111、プリンタ112、およびプリンタ113と接続されている。同様の複数のユーザ端末がネットワーク114に接続されるが、ここでは１台のみ図示した。
【００１４】
図１のシステムにおいて、印刷する文書に対する電子透かしの付与およびその印刷の制御は、サービスプログラム105およびアプリケーションプログラム106で行っている。逆に言えば、電子透かしのソフトウエアをインストールする前の状態では、これらのプログラム105，106は存在せず、ユーザが実行する任意の上位アプリケーションプログラム（例えば、文書作成ソフトや表計算ソフトなど）から任意の文書の印刷を指示すると、指示されたプリンタに対応するプリンタドライバ107または108にその印刷データが渡され、ドライバ107または108が対応するプリンタ112または113に印刷データを送って印刷する。
【００１５】
これに対し、電子透かしソフトウエアをインストールすると、ユーザ端末100を立ち上げたときにサービスプログラム105が起動され、また上位アプリケーションからの印刷要求があったときアプリケーションプログラム106が起動され、これにより透かし無し文書の印刷が制限できる。なお、具体的には、管理者が電子透かしソフトウエアのインストーラを各ユーザ毎に透かし無し印刷許可／不許可を設定して作成し、各ユーザは自分が使用する端末にそのインストーラで電子透かしソフトウエアをインストールする。管理者が透かし無し印刷を許可したユーザは、透かし付き文書と透かし無し文書の両方を印刷できる。管理者が透かし無し印刷を不許可としたユーザは、透かし付き文書の印刷しかできなくなる。
【００１６】
図２は、図１のシステムにおける印刷制御の流れを示す図である。図１と同じ番号は、同じものを示す。上位アプリケーションプログラム201および205は、図１では不図示であるが、ユーザ200や204が使用する文書作成ソフトや表計算ソフトなどである。ユーザ200が上位アプリケーションプログラム201を使用して文書を作成し印刷を指示したとする。その印刷の指示はアプリケーションプログラム106が受け取る。（通常は、上位アプリケーションプログラム201からの印刷の指示はプリンタドライバが受け取るが、電子透かしソフトウエアをインストールすることにより、上位アプリケーションプログラム201からの印刷の指示はアプリケーションプログラム106で受け取るように印刷指示をフックする仕組みを組み込むものとする。）アプリケーションプログラム106は、与えられた印刷データに対し電子透かしを埋め込みジョブ判定情報216を付与して、その印刷データを所定のプリンタドライバ１（ここでは107）に送る。プリンタドライバ１（107）は、その印刷指示に応じてプリンタドライバ１のスプーラ202に印刷ジョブを投入する。
【００１７】
一方、サービスプログラム105は、印刷ジョブキャンセル機能211、印刷ジョブ判定機能212、スプール制御機能213、印刷ジョブ監視機能214、およびユーザインタフェース215を備える。サービスプログラム105の印刷ジョブ監視機能214は、当該ユーザ端末における全てのプリンタスプーラを常時監視しており、印刷ジョブの投入を検出する。印刷ジョブが投入されたとき、印刷ジョブ判定機能212により、その印刷データにジョブ判定情報216が付与されているかを判定する。付与されているときは、その文書が印刷許可されているものとし、指定されたプリンタ１（112）に出力し印刷させる。
【００１８】
アプリケーションプログラム106は、上位アプリケーションプログラム201からの印刷指示があったとき、その文書に電子透かしを埋め込まないことが指示されているときは、電子透かしを埋め込まない。ただし、当該ユーザの権限として電子透かし無しの文書の印刷権限がある場合にはその文書にジョブ判定情報216を付与するが、そうでない場合にはジョブ判定情報216を付与せずにプリンタドライバに渡す。電子透かし無しの文書の印刷権限があるか否かは、上述したように、管理者がインストーラに設定した各ユーザ毎の透かし無し印刷の許可／不許可により決定される。
【００１９】
いま、ユーザ200が電子透かし無しの文書の印刷権限を持たないユーザであり、該ユーザ200が、電子透かし無しの文書の印刷を上位アプリケーションプログラム201から指示したとする。このとき、アプリケーションプログラム106は、電子透かしを埋め込まないことが指示されているので当該印刷データに電子透かしを埋め込まず、また当該ユーザは電子透かし無しの文書の印刷権限を持たないので、当該印刷データにジョブ判定情報216を付与しない。このジョブ判定情報216が付与されていない印刷ジョブは、例えばプリンタドライバ２のスプーラ203に投入される。サービスプログラム105は、スプーラ203へのジョブ投入を検出し、印刷ジョブ判定機能212によりその印刷データにジョブ判定情報216が付与されているか判定する。この場合、ジョブ判定情報216が付与されていないので、スプーラ203からプリンタ113に出力されることは行われず、その印刷ジョブは自動的にキャンセル（スプーラから削除）される。これにより、電子透かし無しの文書の印刷が禁止される。なお、もしユーザ200が電子透かし無しの文書の印刷権限を持っていたとすれば、ユーザ200の指示に応じて電子透かし無しの文書の印刷指示があったとき、アプリケーションプログラム106はその印刷ジョブにジョブ判定情報216を付与する。これにより、ユーザに権限があれば電子透かし無しの文書の印刷も行うことができる。
【００２０】
なお、電子透かしソフトウエアをインストールした後に、何らかの上位アプリケーションプログラム205がインストールされた場合、その上位アプリケーションプログラム205からの印刷指示は、アプリケーションプログラム106を介さず、直接プリンタドライバ108に渡される場合が考えられる。この場合、プリンタドライバに渡される印刷データにはジョブ判定情報216が付与されることはないので、スプーラ203に投入されるジョブにはジョブ判定情報216が付与されていない。従って、上述したのと同様にジョブ判定情報216が付与されていない印刷データはプリンタに出力されることはない。
【００２１】
図３は、アプリケーションプログラム106の処理手順を示す。アプリケーションプログラム106は、ユーザ端末100で動作している上位アプリケーションプログラムからの印刷要求があったときに起動される。ステップ301で、上位アプリケーションプログラムからの印刷要求を受け付ける。ステップ302で、電子透かしを埋め込むか否か判定する。この判定は、上位アプリケーションプログラムからの指示（すなわちユーザからの指示）によって行う。電子透かしを埋め込む場合、ステップ303で、当該印刷データに電子透かしを埋め込む処理を行う。その後、ステップ304でジョブ判定情報を付与する。ステップ305で、指定されたプリンタのプリンタドライバに、ジョブ判定情報付きの印刷データを出力する。ステップ302で、電子透かしを埋め込まない場合は、ステップ306で、電子透かし無しの文書の印刷権限があるか否か判定する。この判定は、電子透かしソフトウエアをインストールするときに、管理者から当該ユーザに対し当該権限が許可されているか否かが指定されているので、その権限があればステップ304に進み、無ければステップ305に進む。これにより、電子透かし無しの文書の印刷権限がないユーザからの印刷要求については、印刷データにジョブ判定情報が付与されずに出力されることになる。
【００２２】
なお、印刷する全ての文書に電子透かしを埋め込み、電子透かし無しの文書は印刷できないように設定するためには、ステップ302，306は削除し、受け付けた印刷要求の印刷データに必ず電子透かしを埋め込みジョブ判定情報を付与して出力するようにしてもよい。この場合は、ユーザが電子透かし無しの指定をすることはできない。
【００２３】
また、この実施形態では、文書に電子透かしを埋め込むか否かを上位アプリケーションプログラムから指示する例で説明しているが、そのようにするためには、電子透かしソフトウェアのインストール時に上位アプリケーションに対して所定のアドインソフトなどを組み込み、電子透かしを埋め込むか否かを指定できる機能を付加するものとする。また、電子透かしを埋め込むか否かを上位アプリケーションプログラムから指示する代りに、アプリケーションプログラム106の属性画面で電子透かしを埋め込むか否かをユーザが設定できるようにし、その設定情報に基づいて電子透かしを埋め込むか否かを決定してもよい。
【００２４】
図４は、サービスプログラム105の印刷ジョブ判定機能の処理手順を示す。サービスプログラム105は、ユーザ端末100が起動されOSが起動されたとき同時に起動され、印刷ジョブ監視機能で当該端末における全スプーラを監視している。何れかのスプーラに印刷ジョブが投入されたとき、図４の処理が実行される。まず、ステップ401で、印刷許可／不許可判定関数で印刷の許可／不許可を判定する。これは、当該スプーラから取り出した印刷ジョブの印刷データにジョブ判定情報216が付与されているか否かを判定する関数である。ステップ402で、当該文書が印刷許可されているか判定する。これは、ジョブ判定情報が付与されている文書については印刷許可と判定し、そうでない文書については不許可と判定する処理である。印刷許可されていない場合は、ステップ403で印刷許可せず、当該印刷ジョブをキャンセル（スプーラから削除）する。許可されている場合は、ステップ404で指定されたプリンタに当該印刷データを出力し印刷を行う。
【００２５】
なお、ここではステップ403で印刷ジョブをキャンセルしているが、とりあえず印刷は行い、（１）印刷者に警告メッセージを通知する、（２）管理者にメールで通知する、（３）印刷ログに記録する、などの処理を行うようにしてもよい。また、印刷ジョブをキャンセルして、（１）〜（３）の処理を行ってもよい。
【００２６】
図５は、印刷処理の全体的な流れを示す。ユーザ端末が起動されOSが起動されると（500）、サービスプログラム105が起動される（501）。これによりスプール制御機能も起動される（502）。ユーザは、任意の上位アプリケーションプログラムから任意の文書の印刷を指示する。これによりアプリケーションプログラム106が起動され、アプリケーションプログラム106はその印刷要求を受け、図３で説明したような印刷処理を実行する（511）。これにより、プリンタドライバに出力された印刷ジョブは例えばプリンタスプーラ１にスプール処理される（512）。一方、サービスプログラム105が起動されているので、印刷ジョブ監視機能（513）により、プリンタスプーラ１に投入された印刷ジョブが検出される。その印刷ジョブについて、図４で説明した処理が行われ（514）、印刷許可される場合（515）は、当該印刷ジョブがプリンタ１に出力され印刷される（516，517）。
【００２７】
一方、ユーザが上位アプリケーションプログラムから電子透かし無しの文書の印刷指示を行ったとする。アプリケーションプログラム106はその印刷要求を受け、図３の印刷処理を行い（521）、当該印刷ジョブが例えばプリンタスプーラ２に投入される（522）。このとき、当該ユーザに電子透かし無しの文書の印刷権限が無ければ、ジョブ判定情報は付与されずにプリンタスプーラ２に印刷ジョブが投入される（522）。サービスプログラム105は、印刷ジョブ監視機能（523）により当該ジョブの投入を検出し、図４の処理を行う（524）。この場合、ジョブ判定情報が付与されていないので、当該印刷ジョブはキャンセルされ（526）、プリンタに出力されることはない。なお、当該ユーザに電子透かし無し文書の印刷権限が与えられていれば、電子透かし無しの印刷データにジョブ判定情報が付与されてスプールされるので、印刷されることになる。
【００２８】
なお、上記実施形態では、ジョブ判定情報を付与し、あるいは付与しないことで、印刷の許可／不許可を示したが、ジョブ判定情報を用いる代りに、（１）出力先が特定のプリンタである場合に印刷許可とする、（２）当該ユーザが特定のユーザ名である場合に印刷許可とする、（３）印刷文書の名称が特定の文書名である場合に印刷許可とする、などの方式で印刷の許可／不許可を決定してもよい。
【００２９】
上記実施形態では、上位アプリケーションとプリンタドライバの間にアプリケーション106を配置したが、このアプリケーション106の機能をプリンタドライバに含ませるようにしてもよい。
【００３０】
なお、上記実施形態では文書に電子透かしを付与する例で説明したが、本発明は電子透かしに限らず任意の識別情報を付与するものに適用可能である。例えば、電子透かしの代わりに、視認できる背景文字を文書に付与する場合に適用することもできる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係る印刷制御方法を組み込んだ電子透かし印刷システムの全体構成を示す図
【図２】図１のシステムにおける印刷の流れを示す図
【図３】アプリケーションプログラムの動作手順例を示すフローチャート
【図４】サービスプログラムの動作手順を示すフローチャート
【図５】本システムにおける印刷の全体的な流れを示す図
【符号の説明】
【００３２】
100…ユーザ端末、101…表示装置、102…CPU、103…入力装置、104…メモリ、105…サービスプログラム、106…アプリケーションプログラム、107…プリンタドライバ１、108…プリンタドライバ２、109…通信コントローラ、110…サーバ、111…スキャナ、112…プリンタ１、113…プリンタ２、114…ネットワーク。
【図１】
2007293673.tif 000003
【図２】
2007293673.tif 000004
【図３】
2007293673.tif 000005
【図４】
2007293673.tif 000006
【図５】
2007293673.tif 000007