(57)【特許請求の範囲】
【請求項１】
印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理が必要であるか否か判定するＯＣＲ要否判定手段と、
前記ＯＣＲ要否判定手段でＯＣＲ処理が不要であると判定された場合、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータを、前記画像データの検索用テキストデータとしてデータベースに登録する第１のデータ登録手段と、
前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理を行って、テキストデータを抽出するＯＣＲ手段と、
前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記ＯＣＲ手段で抽出したテキストデータと、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータとを、前記画像データの検索用テキストデータとしてデータベースに登録する第２のデータ登録手段と、を有する画像処理サーバであって、
前記ＯＣＲ要否判定手段は、以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異に基づいて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする画像処理サーバ。
【請求項２】
前記ＯＣＲ要否判定手段は、前記以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異を、当該以前に処理した印刷ジョブの印刷実行モジュール名と関連づけて格納している差異データベースを用いて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする請求項１に記載の画像処理サーバ。
【請求項３】
前記以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの、文字数の差分の絶対値を算出し、前記印刷実行モジュール名と関連づけて前記差異データベースに格納する差分格納手段を、更に備えることを特徴とする請求項２に記載の画像処理サーバ。
【請求項４】
前記ＯＣＲ要否判定手段は、前記以前に処理した印刷ジョブの回数が閾値より小さい場合は、前記印刷ジョブに対してＯＣＲ処理が必要であると判定し、
前記以前に処理した印刷ジョブの回数が閾値以上である場合は、前記以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異に基づいて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする請求項１に記載の画像処理サーバ。
【請求項５】
前記印刷ジョブのテキスト描画コマンドから抽出されるテキストデータは、プリンタドライバの機能により抽出されるテキストデータであることを特徴とする請求項１に記載の画像処理サーバ。
【請求項６】
前記印刷ジョブの描画コマンドに基づいて生成された画像データと前記印刷ジョブのテキスト描画コマンドから抽出されたテキストデータとを受信する受信手段を、更に有し、
前記ＯＣＲ要否判定手段では、前記受信した印刷ジョブの画像データに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする請求項１に記載の画像処理サーバ。
【請求項７】
ＯＣＲ要否判定手段が、印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理が必要であるか否か判定するＯＣＲ要否判定工程と、
第１のデータ登録手段が、前記ＯＣＲ要否判定工程でＯＣＲ処理が不要であると判定された場合、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータを、前記画像データの検索用テキストデータとしてデータベースに登録する第１のデータ登録工程と、
ＯＣＲ手段が、前記ＯＣＲ要否判定工程でＯＣＲ処理が必要であると判定された場合、前記印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理を行って、テキストデータを抽出するＯＣＲ工程と、
第２のデータ登録手段が、前記ＯＣＲ要否判定工程でＯＣＲ処理が必要であると判定された場合、前記ＯＣＲ工程で抽出したテキストデータと、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータとを、前記画像データの検索用テキストデータとしてデータベースに登録する第２のデータ登録工程と、を有する画像処理方法であって、
前記ＯＣＲ要否判定工程では、以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異に基づいて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする画像処理方法。
【請求項８】
コンピュータを、
印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理が必要であるか否か判定するＯＣＲ要否判定手段、
前記ＯＣＲ要否判定手段でＯＣＲ処理が不要であると判定された場合、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータを、前記画像データの検索用テキストデータとしてデータベースに登録する第１のデータ登録手段、
前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理を行って、テキストデータを抽出するＯＣＲ手段、
前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記ＯＣＲ手段で抽出したテキストデータと、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータとを、前記画像データの検索用テキストデータとしてデータベースに登録する第２のデータ登録手段、として機能させるためのコンピュータプログラムであって、
前記ＯＣＲ要否判定手段では、以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異に基づいて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理サーバ、画像処理方法、コンピュータプログラム、および記憶媒体に関する。
【背景技術】
【０００２】
近年、企業等における機密情報漏洩の問題が多発している。その背景としてプリンタやデジタル複合機の普及に従って、誰でも原稿の印刷、複写や送信が容易に行うことが可能になっていることが挙げられる。このため、利便性が向上しているが、機密原稿などの印刷や複写、送信といった情報漏洩の問題につながっていると考えられる。このような問題の対処法として、プリンタやデジタル複合機でジョブが実行される際に読み取った画像データ、テキストデータ、及び、いつ、どこで、誰が、といったログ情報をすべて記憶装置に蓄積し、それらのデータを検索できるようにする方法が考えられる。そうすることで情報漏洩が如何にして発生したかの追跡、及び結果として情報漏洩の抑止が可能になる。
【０００３】
このようなシステムではジョブの検索を可能にするために、ジョブのテキストデータを抽出し、画像データやログ情報に関連付けて蓄積しておく必要がある。関連技術として、電子ファイリングを行うためにファイリングドライバを実行し、描画情報からキーワード検索用の情報を抽出してキーワードとして登録するものがある（例えば、特許文献１）。また、所定アプリケーションソフトにより作成された文書の描画コードから文字コードを抽出してテキスト情報を生成し、文書画像と関連づけてデータベースに登録するものがある（例えば、特許文献３）。また画像データにＯＣＲ処理（光学文字認識処理）を実行して文字情報を抽出し、文書画像と関連づけてデータベースに登録するものがある（例えば、特許文献２、特許文献３）。
【０００４】
【特許文献１】特開平８−１４７４４６号公報
【特許文献２】特開平８−１６１４６７号公報
【特許文献３】特開平８−２１２３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、テキストデータの抽出方法が固定、或いはファイル形式に応じて固定となっている。
【０００６】
本発明では、印刷ジョブ等の画像データ、テキストデータ、及びログ情報を抽出するために、ジョブ実行時にプリンタドライバがそれらのデータを抽出する。印刷描画コマンドが、文字を画像や図形としてプリンタドライバに送られてきた場合、プリンタドライバは、例えば、データのファイル形式が不明である場合に、テキストデータを抽出することができない。そのような印刷実行モジュールを有するアプリケーションに対しては、プリンタドライバがジョブの画像データを抽出し、その画像データにＯＣＲ処理を施してテキストデータを抽出する回避策が考えられる。
【０００７】
しかしながら、この方法は、「プリンタドライバがテキストデータを抽出することができないアプリケーション」をあらかじめ分かっていない限り、必ずＯＣＲ処理を実行しなければならない。そのため、正常にテキストデータを抽出できるアプリケーションの実行ジョブに対しても毎回ＯＣＲ処理を実行しなければならず、パフォーマンス劣化の要因となるといった課題がある。それを避けるために、管理者が「プリンタドライバがテキストデータを抽出することができないアプリケーション」を調査し、システムに登録することは、労力のいる作業であり、ミスが発生する可能性も高い。
【０００８】
以上のことから、アプリケーション単位で、プリンタドライバが正確に文字を抽出できるかどうかシステムが自動的に調査し、テキストデータの抽出方法を自動的に切り替えるような技術が求められる。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像処理サーバは、印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理が必要であるか否か判定するＯＣＲ要否判定手段と、前記ＯＣＲ要否判定手段でＯＣＲ処理が不要であると判定された場合、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータを、前記画像データの検索用テキストデータとしてデータベースに登録する第１のデータ登録手段と、前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記印刷ジョブの描画コマンドに基づいて生成された画像データに対してＯＣＲ処理を行って、テキストデータを抽出するＯＣＲ手段と、前記ＯＣＲ要否判定手段でＯＣＲ処理が必要であると判定された場合、前記ＯＣＲ手段で抽出したテキストデータと、前記印刷ジョブのテキスト描画コマンドから抽出したテキストデータとを、前記画像データの検索用テキストデータとしてデータベースに登録する第２のデータ登録手段と、を有する画像処理サーバであって、前記ＯＣＲ要否判定手段は、以前に処理した印刷ジョブのＯＣＲ処理を行うことにより生成されたテキストデータと、当該以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータとの差異に基づいて、前記印刷ジョブに対してＯＣＲ処理が必要であるか否かを判定することを特徴とする。
【発明の効果】
【００１０】
本発明によって、プリンタのジョブのコンテンツデータをログ情報とともにサーバに保存するようなシステムにおいて、不必要なＯＣＲ処理を実行することなく精度の高いテキストデータを抽出することができる。そのため、データ登録処理におけるパフォーマンスを向上させることができる。或いはプリンタドライバが正確に文字を抽出していると判断した場合には画像データを抽出しないように設定することによって、データ登録処理のさらなるパフォーマンス向上、及びデータベースの容量を削減することができる。また、管理者が「プリンタドライバがテキストデータを抽出することができないアプリケーション」を手動で調べる必要がなくなるため、ユーザの利便性向上にもつながる。
【発明を実施するための最良の形態】
【００１１】
（実施形態１）
以下、本発明の実施形態を図面に基づいて説明する。
【００１２】
図１は、本発明に係るネットワーク文書管理システムの第１の実施形態の例を示すブロック図である。図１において、ネットワーク上にクライアントＰＣ１０１、プリンタ１０２、画像処理サーバ１０３、データベースサーバ１０４、管理者ＰＣ１０５が接続されている。
【００１３】
クライアントＰＣ１０１は、いわゆる一般ユーザが使用するＰＣであり、本発明の実施形態ではプリンタ１０２への印刷を実行するＰＣである。図１では、１台しかクライアントＰＣ１０１が示されていないが、システムが許容する範囲内で複数台接続することができる。
【００１４】
クライアントＰＣ１０１には、プリンタドライバ１０６とエージェントアプリケーション１０７がインストールされており、これらがＰＣのＣＰＵやメモリを用いて実行されると、図１で示した各処理部が実現されることになる。
【００１５】
プリンタドライバ１０６は、主にユーザの指示に基づく印刷実行コマンドを受けてプリンタ１０２へ印刷データ（印刷ジョブ）を送信したり、印刷ジョブから画像データ等を抽出したりする機能がある。つまり、プリンタドライバ１０６により、印刷実行部１０８、画像データ抽出部１０９、テキストデータ抽出部１１０、ログ情報抽出部１１１としてコンピュータを機能させる。印刷実行部１０８は、アプリケーションの印刷要求を受けてＰＤＬなどの印刷コマンドを生成し、プリンタ１０２に印刷コマンドを送信して印刷処理を行わせる。画像データ抽出部１０９は、印刷コマンドから描画コマンドを受信し、ＢＭＰやＪＰＥＧといった一般的な形式の画像ファイルを生成する。テキストデータ抽出部１１０は、印刷コマンドからテキスト描画コマンドを受信し、テキストデータを生成する。ここで、テキストデータは、例えば、印刷される文字列を含む。ログ情報抽出部１１１は、”いつ”、”どこで”、”誰が”といったログ情報を抽出する。このようなログ情報を、例えば、ログ情報を含む画像データの情報漏洩や不正使用を抑止するために、利用できる。ログ情報抽出部１１１は、印刷を実行したアプリケーションが使用した印刷実行モジュール名も抽出する。
【００１６】
エージェントアプリケーション１０７は、プリンタドライバ１０６での抽出条件の設定機能、プリンタドライバ１０６で抽出した画像データ、テキストデータ、及びログ情報の受信および保存機能、保存したデータの画像処理サーバ１０３への送信機能を実現させる。
【００１７】
エージェントアプリケーション１０７は、抽出条件設定部１１２、データ保存部１１３、データ送信部１１４としてコンピュータを機能させる。抽出条件設定部１１２は、プリンタドライバ１０６が画像やテキストなど、何を抽出するのか、さらには画像データ抽出部１０９が抽出する画像データの解像度やビット数、ＪＰＥＧの場合には量子化係数などを設定する。データ保存部１１３は、画像データ抽出部１０９、テキストデータ抽出部１１０、及びログ情報抽出部１１１で抽出したデータを受信し、記憶装置に保存する。データ送信部１１４は、データ保存部１１３によって記憶装置に蓄積されたデータを、画像処理サーバ１０３へ送信する。
【００１８】
プリンタ１０２は、クライアントＰＣ１０１から送信された印刷データ（印刷ジョブ）に従って印刷を行う。
【００１９】
画像処理サーバ１０３は、主にクライアントＰＣ１０１から受信した画像データの変換処理、ＯＣＲ処理（光学文字認識処理）、データベースサーバ１０４への登録処理を行う機能がある。
【００２０】
画像処理サーバ１０３は、データ受信部１１５、画像変換部１１６、ＯＣＲ要否判定部１１７、ＯＣＲ処理部１１８、文字数登録部１１９、データ登録部１２０として機能する。なお、本発明において、データ登録部が複数存在してもよい。この場合、複数のデータ登録部を、第１のデータ登録部、第２のデータ登録部、第３のデータ登録部のように呼んでもよい。データ受信部１１５は、クライアントＰＣ１０１のデータ送信部１１４から送信された画像データ、テキストデータ、ログデータを受信する。画像変換部１１６は、受信した画像データをＯＣＲ処理が実行できる形式に変換し、かつデータベースサーバ１０４が格納できる形式に変換する。また、ＯＣＲ処理をかけるために解像度変換処理、回転処理、斜行補正といった処理も画像変換部１１６が行う。ＯＣＲ要否判定部１１７は、受信した画像データに対しＯＣＲ処理をかけてテキストデータを抽出するかどうかを判断する。ＯＣＲ処理部１１８は、画像データにＯＣＲ処理をかけてテキストデータを抽出する。文字数登録部１１９は、データ受信部１１５で受信したテキストデータと、ＯＣＲ処理部１１８が抽出したテキストデータの文字数の差分を算出し、差分を差分格納手段によりデータベースサーバ１０４へ格納する。登録する際には印刷実行モジュール名に関連付けて登録し、その印刷実行モジュール名で印刷した回数も同時に登録する。データ登録部１２０は、画像処理サーバ１０３ですべての処理がなされた、画像データ、テキストデータ、ログデータをデータベースサーバ１０４に登録する。
【００２１】
データベースサーバ１０４は、画像処理サーバ１０３より送られた画像データ、テキストデータ、ログデータ、すなわちジョブ追跡情報を蓄積するアーカイブサーバである。
【００２２】
管理者ＰＣ１０５は、ジョブの追跡を行うためにデータベースサーバ１０４に蓄積されたデータを検索するためのＰＣである。
【００２３】
なお、図１において、クライアントＰＣ１０１が直接プリンタ１０２へ印刷するシステムを示したが、プリントサーバを経由してクライアントＰＣ１０１がプリンタ１０２へ接続されても良い。その場合は、プリンタドライバ１０６内の各処理部は、例えば、まずプリントサーバへインストールされ、クライアントＰＣ１０１へはポイントアンドプリントを利用してインストールされる。また、エージェントアプリケーション１０７内の各処理部はプリントサーバにだけインストールされる。
【００２４】
図２は、クライアントＰＣ１０１、画像処理サーバ１０３、データベースサーバ１０４、及び管理者ＰＣ１０５のハードウェアを示すブロック図である。いずれもＩＢＭ−ＰＣ／ＡＴ互換機などの汎用ＰＣなので同じブロック図としている。ＣＰＵ２０１は、内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する。ＲＯＭ２０２は、ＢＩＯＳなどの基本ソフトウェアを格納する。ＲＡＭ２０３は、ＣＰＵ２０１のワーク領域として利用され、また本発明を実現するためのプログラムをロードするための一時記憶として利用される。ＨＤＤ（ハードディスクドライブ）２０４は、プログラムをファイルとして格納してある。入力装置２０５は、プログラムの中で操作画面を持つものを操作する。モニタ２０６は、操作の確認する。ＬＡＮ  Ｉ／Ｆ２０７は、外部機器をネットワークに接続する。
【００２５】
図３は、図１で詳説した各処理部が生成する画像データ、テキストデータの流れを示した図であり、画像処理サーバ１０３がＯＣＲ処理を行う場合の図である。なお、ログ情報については特に明記していないが、テキストデータと関連付けてデータベースサーバへ登録されるものとする。
【００２６】
クライアントＰＣ１０１において印刷が実行された場合、画像データ抽出部１０９は、画像データ３０１を生成し、テキストデータ抽出部１１０は、テキストデータ３０２（テキスト１）を生成する。データ送信部１１４は、これらのデータを画像処理サーバ１０３へ送信する。画像処理サーバ１０３の画像変換部１１６は、画像データ３０１に画像変換処理を行い、ＯＣＲ処理部１１８は、画像データ３０１にＯＣＲ処理を実行し、テキストデータ３０３（テキスト２）を生成する。文字数登録部１１９は、テキストデータ３０２（テキスト１）とテキストデータ３０３（テキスト２）の文字数を比較し、その差分を差分格納手段によりデータベースサーバ１０４へ格納する。データ登録部１２０は、画像データ３０１、テキストデータ３０２（テキスト１）、及びテキストデータ３０３（テキスト２）をデータベースサーバ１０４へ登録する。
【００２７】
図４は、図１で詳説した各処理部が生成する画像データ、テキストデータの流れを示した図であり、画像処理サーバ１０３がＯＣＲ処理を行わない場合の図である。なお、ログデータについては特に明記していない。
【００２８】
クライアントＰＣ１０１の処理については、図３と同様の処理となるため、説明を省略する。画像処理サーバ１０３のＯＣＲ要否判定部１１７が、画像データに対してＯＣＲ処理が不要であると判断した場合、ＯＣＲ処理部１１８は実行されない。このとき、図３のテキストデータ３０３（テキスト２）は生成されない。データ登録部１２０は、画像データ３０１とテキストデータ３０２（テキスト１）をデータベースサーバ１０４へ登録する。
【００２９】
図４に示されている処理の流れでは、ＯＣＲ処理を行わないため、ジョブに対する登録パフォーマンスが向上する。また、データベースサーバ１０４に冗長なテキストデータを登録しないためデータベースサーバ１０４のディスク容量の削減につながる。
【００３０】
図５は、本発明の実施形態に係る印刷実行時のクライアントＰＣ１０１における各処理部のフローチャートである。実際の紙の排紙に関わる部分など、本発明に直接関係しない処理についての説明を省略する。
【００３１】
図５に示されているフローチャートの処理は、全て図２に示されているＣＰＵ２０１により実行される。
【００３２】
ユーザの操作により印刷指示がなされると、画像データ抽出部１０９は、実行ジョブ（印刷ジョブ）に基づいて画像データ３０１を生成する（ステップＳ５０１）。テキストデータ抽出部１１０は実行ジョブ（印刷ジョブ）のテキスト描画コマンドからテキストデータ３０２（テキスト１）を抽出する（ステップＳ５０２）。データ保存部１１３は画像データ、テキストデータ、及びログデータを記憶装置２０４に保存する（ステップＳ５０３）。データ送信部１１４は、記憶装置２０４に蓄積されたデータを画像処理サーバ１０３へ送信する（ステップＳ５０４）。
【００３３】
図６は、本発明の実施形態に係る印刷実行時の画像処理サーバ１０３における各処理部のフローチャートである。データサーバへ格納するために必要な画像変換処理など、本発明に直接関係しない処理についての説明を省略する。
【００３４】
図６に示されているフローチャートの処理は、全て図２に示されているＣＰＵ２０１により実行される。
【００３５】
画像処理サーバ１０３のデータ受信部１１５は、クライアントＰＣ１０１のデータ送信部１１４から送られたデータを受信する（ステップＳ６０１）。ＯＣＲ要否判定部１１７は、画像データ３０１に対してＯＣＲ処理を実行する必要があるか否かを判定する（ステップＳ６０２）。
【００３６】
ステップＳ６０２の処理の詳細をステップＳ６０３〜Ｓ６０９で示す。ＯＣＲ要否判定部１１７は、データベースサーバ１０４へ接続し、該印刷ジョブを作成した印刷実行モジュール名に対応する判定データである「文字数の差の累計」と「印刷実行回数」を取得する（ステップＳ６０３）。「印刷実行回数」が予め定められた値以下だった場合には（ステップＳ６０４）、ＯＣＲ要否判定部１１７は、画像データ３０１に対するＯＣＲ処理が必要と判断し、ステップＳ６０９に処理が進む。「印刷実行回数」が予め定められた閾値以上だった場合には（ステップＳ６０４）、ＯＣＲ要否判定部１１７は「文字数の差の累計」と「印刷実行回数」から「文字数の差の平均」を算出する（ステップＳ６０６）。算出された平均値が予め定められた閾値以下だった場合には（ステップＳ６０７）、ＯＣＲ要否判定部は画像データ３０１に対するＯＣＲ処理は必要ない（ステップＳ６０８）と判断する。逆に、算出された平均値が予め定められた値以上だった場合には（ステップＳ６０７）、ＯＣＲ要否判定部は、画像データ３０１に対するＯＣＲ処理は必要であると判断する（ステップＳ６０９）。つまり、以前に処理した印刷ジョブのテキスト描画コマンドから抽出したテキストデータと、ＯＣＲ結果として得たテキストデータとの差異が大きいか否かに基づいて、新たな印刷ジョブに対してＯＣＲ処理が必要か否かを判定している。なお、「印刷実行回数」、及び「文字数の差の平均」で比較対象となる閾値は、システムとして予め登録してある値でも良いし、管理者が設定可能な値でも良い。
【００３７】
ＯＣＲ要否判定部１１７が、ＯＣＲ処理は必要だと判定した場合（ステップＳ６１０）、ＯＣＲ処理部１１８は、画像データ３０１にＯＣＲ処理を実行し、テキストデータ３０３（テキスト２）を生成する（ステップＳ６１１）。文字数登録部１１９は、テキストデータの文字数の登録を行う（ステップＳ６１２）。
【００３８】
ステップＳ６１２の処理の詳細をステップＳ６１３〜Ｓ６１５で示す。文字数登録部１１９は、テキストデータ３０２（テキスト１）とテキストデータ３０３（テキスト２）の文字数をそれぞれカウントし、差分の絶対値を算出する（ステップＳ６１３）。そして、文字数登録部１１９は該ジョブの印刷実行モジュール名と関連付けて、算出した値をデータベースサーバ１０４へ登録する（ステップＳ６１４）。そして文字数登録部１１９は、該印刷実行モジュール名の「印刷実行回数」を１つ加算する（ステップＳ６１５）。
【００３９】
データ登録部１２０は、テキストデータ３０３（テキスト２）を画像データ３０１の全文検索用テキストデータとして、データベースサーバ１０４へ登録する（ステップＳ６１６）。そして、データ登録部１２０は、画像データ３０１をデータベースサーバ１０４へ登録する（ステップＳ６１７）。そして、データ登録部１２０はテキストデータ３０２（テキスト１）も画像データ３０１の全文検索用テキストデータとして、データベースサーバ１０４へ登録する（ステップＳ６１８）。そして、データ登録部１２０は、ログ情報を画像データ３０１に関連付けてデータベースサーバ１０４へ登録する（ステップＳ６１９）。
【００４０】
ＯＣＲ要否判定部１１７が、ＯＣＲ処理は必要ないと判断した場合は（ステップＳ６１０）、ステップＳ６１１からステップＳ６１６までの処理は行われず、ステップＳ６１７、ステップＳ６１８、ステップＳ６１９の処理のみ行う。これらの処理を行わない分、パフォーマンスの向上につながる。
【００４１】
なお、上記で説明したフローでは、ステップＳ６０４の処理によって、予め定められた印刷実行回数まで必ずＯＣＲ処理が発生する。これを回避するために、ステップＳ６１１の処理において抽出した文字数の差が常に非常に小さいと判断できる場合には、ＯＣＲ処理が不要という判断を早める処理を入れても良い。
【００４２】
また、ステップＳ６１２において、単なる文字数の差分の絶対値でなく、テキストデータ３０２（テキスト１）とテキストデータ３０３（テキスト２）のどちらか文字数の多い方の値で差分を割っても良い。これによって精度の向上が期待できる。
【００４３】
また、上記で説明したフローでは、ステップＳ６０２において、一度ＯＣＲ処理が不要であると判定された後も常に画像処理サーバ１０３は、データベースサーバ１０４へ接続し、ＯＣＲ処理の要否を確認している。これを回避するために以下のように処理しても良い。初めてＯＣＲ処理が必要でないと判定されたときにその実行モジュール名を画像処理サーバの記憶装置２０４へ記録する。以降該印刷実行モジュールのジョブは、データベースサーバ１０４へ接続せずにローカルの記憶装置２０４をチェックする。これにより、ＯＣＲ処理の要否を確認の処理のパフォーマンスが向上する。
【００４４】
なお、上記で説明した動作フローは一例であり、上記の処理の流れに限定されるものではない。
【００４５】
図７は、データベースサーバ１０４内における、印刷実行モジュール名ごとの文字数の差分を格納するテーブル（差異データベース）の例を示している。
【００４６】
テーブル７０１は、テーブル本体である。属性名７０２は、左から「印刷実行モジュール名」、「差分の累計」、「印刷実行回数」の属性を有する。「差分の累計」は、その印刷実行モジュール名に対するテキストデータ３０２（テキスト１）とテキストデータ３０３（テキスト２）の差分の累計を、「印刷実行回数」はその印刷実行モジュール名に対する印刷実行回数を記録する。フィールド７０３は、属性名７０２に対応した値の入るフィールドである。
【００４７】
図７では主キーなどの属性を省略している。また、テーブルの持ち方は一つの例であり、かつデータベースは必ずしも関係データベースに限定されるものではない。
【００４８】
（実施形態２）
図８は、本発明の第２の実施形態に係る各処理部が生成する画像データ、テキストデータの流れを示した図であり、ＯＣＲ処理が不要であると判断した場合にクライアントＰＣ１０１で画像データ３０１を抽出しないことを例示した図である。なお、図８について、上記第１の実施形態における図４と対応する要素と同一符号を付してある要素についての説明を省略する。
【００４９】
図５および図６を用いて説明したフローでは、テキストデータ３０２（テキスト１）とテキストデータ３０３（テキスト２）の文字数の差分の平均値からＯＣＲ処理の要否のみ切り替えていた。第２の実施形態ではさらに、ＯＣＲ処理が不要と判定した後、画像データ抽出部１０９は、画像データ３０１を抽出しないようにする。すなわち、クライアントＰＣ１０１ではテキストデータ３０２（テキスト１）のみが抽出され、画像処理サーバ１０３を経由してデータベースサーバ１０４へ登録される。これによって画像データ３０１の転送時間、及び画像処理時間の削減からくるパフォーマンス向上、及びデータベースサーバ１０４のディスク容量の削減が実現する。
【００５０】
図９は、本発明の第２の実施形態に係る印刷実行時のクライアントＰＣ１０１における各処理部のフローチャートである。なお、図９について第１の実施形態における図５と対応する要素と同一符号を付してある要素の説明を省略する。
【００５１】
図９に示されているフローチャートの処理は、全て図２に示されているＣＰＵ２０１により実行される。
【００５２】
印刷が実行された場合、画像データ抽出部１０９は、画像データ３０１を抽出するかどうか自身の記憶装置２０４をチェックする（ステップＳ９０１）。抽出が必要ないときは画像データ３０１を抽出しない。
【００５３】
図１０は、本発明の第２の実施形態に係る印刷実行時の画像処理サーバ１０３における各処理部のフローチャートである。なお、図１０について、第１の実施形態における図６と対応する要素と同一符号を付してある要素についての説明を省略する。
【００５４】
図１０に示されているフローチャートの処理は、全て図２に示されているＣＰＵ２０１により実行される。
【００５５】
図１０において、画像変換部１１６は、受信したデータに画像が含まれているかチェックする（ステップＳ１００１）。受信したデータに画像が含まれていない場合には、データ登録部１２０は、テキストデータ３０２（テキスト１）とログ情報のみデータベースサーバ１０４へ登録する。
【００５６】
ステップＳ６０９において、ＯＣＲ処理が必要ないと判定された場合、ＯＣＲ要否判定部１１７は、該ジョブの印刷実行モジュール名を調べ、クライアントＰＣ１０１へ画像データ３０１を抽出する必要のない印刷実行モジュール名として通知する。この通知は、画像処理サーバ１０３がクライアントＰＣ１０１へ通知するのではなく、画像処理サーバ１０３は、自身の記憶装置２０４へ該印刷実行モジュール名を記録し、クライアントＰＣ１０１が定期的に画像処理サーバ１０３へ問い合わせても良い。
【００５７】
なお、上記で説明した動作フローは、一例であり、上記の処理の流れに限定されるものではない。
【００５８】
（その他の実施形態）
本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がそのプログラムコードを読出し実行することによって達成される。この場合、記憶媒体から読み出されたプログラムコードによって上述した実施形態の機能（各処理部）を実現することになる。そのため、このプログラムコード及びプログラムコードを記録または記憶したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
【００５９】
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６０】
また、プログラムコードの指示に基づきコンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれる。更に、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても、上述した実施形態の機能を実現可能である。この場合、上記記憶媒体から読出されたプログラムコードが機能拡張ボードや機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき上記ＣＰＵなどによって処理が実行される。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施形態におけるネットワーク文書管理システムの全体を示すブロック図である。
【図２】本システムの一連のＰＣ、サーバのハードウェアを示すブロック図である。
【図３】ＯＣＲ処理を行う場合において、図１の各処理部が生成する画像データ、テキストデータの流れを示した図である。
【図４】ＯＣＲ処理を行わない場合において、図１の各処理部が生成する画像データ、テキストデータの流れを示した図である。
【図５】印刷実行時におけるクライアントＰＣ１０１の各処理部の処理フローを説明するフローチャートである。
【図６】印刷実行時における画像処理サーバ１０３の各処理部の処理フローを説明するフローチャートである。
【図７】データベースサーバ１０４内における、印刷実行モジュール名ごとの文字数の差分を格納するテーブルの例を示した図である。
【図８】本発明の第２の実施形態における、画像データ３０１を抽出しない場合の、テキストデータの流れを示した図である。
【図９】本発明の第２の実施形態における、印刷実行時におけるクライアントＰＣ１０１の各処理部の処理フローを説明するフローチャートである。
【図１０】本発明の第２の実施形態における、印刷実行時における画像処理サーバ１０３の各処理部の処理フローを説明するフローチャートである。
【符号の説明】
【００６２】
１０１  クライアントＰＣ
１０３  画像処理サーバ
１０４  データベースサーバ
１０６  プリンタドライバ
１０７  エージェントアプリケーション
１０８  印刷実行部
１０９  画像データ抽出部
１１０  テキストデータ抽出部
１１１  ログ情報抽出部
１１３  データ保存部
１１４  データ送信部
１１５  データ受信部
１１７  ＯＣＲ要否判定部
１１８  ＯＣＲ処理部
１１９  文字数登録部
１２０  データ登録部
３０１  画像データ
３０２  テキストデータ
３０３  テキストデータ
７０１  テーブル
【図１】
0004904218.tif 000002
【図２】
0004904218.tif 000003
【図３】
0004904218.tif 000004
【図４】
0004904218.tif 000005
【図５】
0004904218.tif 000006
【図６】
0004904218.tif 000007
【図７】
0004904218.tif 000008
【図８】
0004904218.tif 000009
【図９】
0004904218.tif 000010
【図１０】
0004904218.tif 000011