(57)【要約】【課題】文字列の検出精度を向上させることができる情報処理システム、方法、情報処理装置、およびプログラムを提供すること。【解決手段】本発明の情報処理システムは、印刷データから印刷対象の文字および当該文字の座標情報を抽出し、当該文字の座標情報を用いて並び替え行単位または列単位で振り分けて結合し、当該結合した文字列を検索対象として検索処理を実行する。本発明の情報処理システムは、抽出した文字の座標情報が示すＸ座標またはＹ座標が同一または近似する文字を同一の行または同一の列に属すると判断する。【選択図】図３
2015062112.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを処理する情報処理システムであって、
前記印刷データから印刷対象の文字および当該文字の座標情報を抽出する抽出手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて並び替える整列処理手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて行単位または列単位に振り分ける振分手段と、
前記整列処理手段が並び替え、前記振分手段が振り分けた文字を結合する結合手段と
を含む、情報処理システム。
【請求項２】
前記振分手段は、前記抽出した文字の座標情報が示すＸ座標またはＹ座標が同一または近似する文字を同一の行または同一の列に属すると判断する、請求項１に記載の情報処理システム。
【請求項３】
前記整列処理手段は、前記印刷データの表示イメージの文字の並び順と同じ並び順となるよう、前記抽出した文字を並び替える、請求項１または２に記載の情報処理システム。
【請求項４】
前記結合手段は、行毎または列毎の複数の文字列のうち、少なくとも一部を１行または１列の文字列に結合する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記抽出手段により抽出された文字群が横書きか縦書きかを判定する第１判定手段をさらに備え、
前記整列処理手段は、前記第１判定手段の判定結果に応じて、前記文字群を並び替え、
前記振分手段は、前記判定結果に応じて、前記文字群を行単位または列単位に振り分け、
前記結合手段は、前記判定結果が横書きを示す場合、前記文字群を行毎に結合し、前記判定結果が縦書きを示す場合、前記文字群を列毎に結合する、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記整列処理手段が並び替え、前記振分手段が振り分けた文字が、前記印刷データにおいて、指定された検索領域内にあるか否かを判定する第２判定手段をさらに備え、
前記結合手段は、前記第２判定手段により前記検索領域内にあると判定された文字を結合する、請求項１〜５のいずれか１項に記載の情報処理システム。
【請求項７】
前記情報処理システムは、
前記結合手段が結合した文字列を検索対象として検索する検索手段をさらに備える、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項８】
印刷データを処理する情報処理システムが実行する方法であって、前記方法は、前記情報処理システムが、
前記印刷データから印刷対象の文字および当該文字の座標情報を抽出するステップと、
前記抽出するステップが抽出した文字を、当該文字の座標情報を用いて並び替えるステップと、
前記抽出するステップが抽出した文字を、当該文字の座標情報を用いて行単位または列単位に振り分けるステップと、
前記並び替えるステップが並び替え、前記振り分けるステップが振り分けた文字を結合するステップと
を含む、方法。
【請求項９】
前記振り分けるステップは、前記抽出した文字の座標情報が示すＸ座標またはＹ座標が同一または近似する文字を同一の行または同一の列に属すると判断するステップを含む、請求項８に記載の方法。
【請求項１０】
前記並び替えるステップは、前記印刷データの表示イメージの文字の並び順と同じ並び順となるよう、前記抽出した文字を並び替える、請求項８または９に記載の方法。
【請求項１１】
前記方法は、前記情報処理システムが、
前記結合するステップで結合した文字列を検索対象として検索するステップをさらに含む、請求項８〜１０のいずれか１項に記載の方法。
【請求項１２】
印刷データを処理する情報処理装置であって、
前記印刷データから印刷対象の文字および当該文字の座標情報を抽出する抽出手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて並び替える整列処理手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて行単位または列単位に振り分ける振分手段と、
前記整列処理手段が並び替え、前記振分手段が振り分けた文字を結合する結合手段と
を含む、情報処理装置。
【請求項１３】
コンピュータを、
印刷データから印刷対象の文字および当該文字の座標情報を抽出する抽出手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて並び替える整列処理手段と、
前記抽出手段が抽出した文字を、当該文字の座標情報を用いて行単位または列単位に振り分ける振分手段と、
前記整列処理手段が並び替え、前記振分手段が振り分けた文字を結合する結合手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データの出力制御技術に関し、より詳細には、印刷データから特定の情報を検出して印刷データを処理する情報処理システム、方法、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来、企業や行政庁、教育機関、病院等では、複数の印刷装置をネットワークに接続した情報処理システムが導入されている。このような情報処理システムでは、ユーザは、複数の印刷装置の中から印刷処理を実行する印刷装置を指定して印刷を行う。
【０００３】
このような情報処理システムにおいて、印刷データから特定の情報を抽出し、抽出した情報に応じて印刷データの出力条件を決定する技術が提案されている。例えば、特許文献１が開示する情報処理システムは、ＥＭＦ（Enhanced  MetaFile）形式等の印刷データから文字列を抽出し、特定のキーワードに合致する文字列を検出し、当該文字列に応じた出力条件を決定し、当該出力条件に応じた処理、例えば、地紋印刷や文字の置換等を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、図８に示すように、ＥＭＦ形式の印刷データに含まれる文字は、印刷データを生成したアプリケーションが当該文字を描画した順序で記述されるため、実際に用紙に印刷される印刷データの表示イメージの文字の並び順と、印刷データに記述された文字の並び順とが異なる場合がある。このため、特許文献１が開示する情報処理システムでは、文字の並び順が表示イメージと異なる印刷データ、すなわち、文字の並び順が未整列の印刷データからキーワードに合致する文字列を抽出するため、キーワードの検出精度が低いという問題があった。
【０００５】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、文字列の検出精度を向上させることができる情報処理システム、方法、情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理システムは、印刷データから印刷対象の文字および当該文字の座標情報を抽出し、当該抽出した文字を、当該文字の座標情報を用いて並び替え、行単位または列単位で振り分けて結合する。
【発明の効果】
【０００７】
本発明は、上述した手段を採用することにより、検索対象の文字群を、表示イメージと同じ並び順で整列させることができるため、文字列の検出精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の情報処理システムの一実施の形態を示す図である。
【図２】図２は、本発明のプリンタサーバのハードウェア構成図の一実施の形態を示す図である。
【図３】図３は、本発明の第１の実施の形態のプリンタサーバの機能構成を示すブロック図である。
【図４】図４は、本発明の第１の実施の形態のキーワード検出部の機能構成を示す図である。
【図５】図５は、本発明の第１の実施の形態のキーワード検出部が実行する処理を示すフローチャートである。
【図６】図６は、キーワード検出部が実行する処理を示す概念図である。
【図７】図７は、キーワード検出部が実行する検索対象情報の振り分け処理の一実施の形態を示す図である。
【図８】図８は、印刷データの表示イメージおよびＥＭＦ形式の印刷データを示す図である。
【図９】図９は、複数の行単位の文字列を結合した場合の例を示す図である。
【図１０】図１０は、本発明の第２の実施の形態のキーワード検出部の機能構成を示す図である。
【図１１】図１１は、本発明の第２の実施の形態のキーワード検出部が実行する処理を示すフローチャートである。
【図１２】図１２は、本発明の第３の実施の形態のキーワード検出部の機能構成を示す図である。
【図１３】図１３は、本発明の第３の実施の形態のキーワード検出部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明について実施の形態をもって説明するが、本発明は、後述する実施の形態に限定されるものではない。
【００１０】
（第１の実施の形態）
図１は、本発明の情報処理システムの一実施の形態を示す図である。情報処理システム１００は、ネットワーク１３０を介して接続されたクライアントＰＣ１１２ａ，１１２ｂ，１１２ｃと、プリンタサーバ１１０と、印刷装置１２０ａ，１２０ｂ，１２０ｃとを含んで構成される。
【００１１】
クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃは、プリンタサーバ１１０に対し、印刷要求と共に印刷データを送信し、印刷処理を実行させる情報処理装置である。クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃは、文書やグラフ、図形等の生成、編集または表示が可能なアプリケーションを備えており、アプリケーションが生成したデータを、印刷データとしてプリンタサーバ１１０に送信する。
【００１２】
本実施の形態では、クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃとして、デスクトップ型ＰＣやノート型ＰＣ、タブレット型ＰＣ、スマートフォン等の種々の情報処理装置を採用することができる。また、アプリケーションとして、例えば、文書生成ソフトや表計算ソフト、描画ソフト、ドキュメントリーダ等の種々のアプリケーションソフトを採用することができる。
【００１３】
プリンタサーバ１１０は、クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃの印刷要求に応じて、印刷を行う印刷装置を決定し、当該印刷装置に印刷データを送信して印刷物を出力させる情報処理装置である。
【００１４】
印刷装置１２０ａ，１２０ｂ，１２０ｃは、プリンタサーバ１１０の指示により、印刷処理を実行して印刷物を出力する装置である。本実施の形態では、印刷装置１２０ａ，１２０ｂ，１２０ｃとして、スキャナ装置を備えるＭＦＰ（Multiple  Function  Printer）やレーザプリンタ、インクジェットプリンタなどの様々な印刷装置を採用することができる。
【００１５】
ネットワーク１３０は、イーサネット（登録商標）、光ネットワーク、無線ネットワークを含んで構成できるネットワークである。また、ネットワーク１３０は、ＬＡＮの他、ＶＰＮ（Virtual  Private  Network）などによるセキュア環境下で構築されたインターネットなどの広域ネットワークを含んで構成してもよい。
【００１６】
クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃ、プリンタサーバ１１０および印刷装置１２０ａ，１２０ｂ，１２０ｃは、ネットワーク１３０を介して、フレーム、ＴＣＰ／ＩＰプロトコルまたはＲＤＰ（Remote  Desktop  Protocol）に基づく通信によって相互通信を行うことができる。
【００１７】
図２は、本発明のプリンタサーバのハードウェア構成図の一実施の形態を示す図である。以下、図２を参照して、プリンタサーバ１１０のハードウェア構成について説明する。
【００１８】
プリンタサーバ１１０は、ＣＰＵ（Central  Processing  Unit）２０１と、ＲＯＭ（Read  Only  Memory）２０２と、ＲＡＭ（Random  Access  Memory）２０３と、ＨＤＤ（Hard  Disc  Drive）２０４と、ネットワークインタフェース（Ｉ／Ｆ）２０５と、外部装置Ｉ／Ｆ２０６とを含んで構成される。
【００１９】
ＣＰＵ２０１は、プリンタサーバ１１０の動作を制御するプロセッサである。ＲＯＭ２０２は、種々のデータが記憶される不揮発性の記憶装置である。ＲＡＭ２０３は、プリンタサーバ１１０が実行する種々のプログラムの実行空間を提供する揮発性の記憶装置である。ＨＤＤ２０４は、本発明のプログラムなどの種々のデータを持続的に保存可能な記憶装置である。
【００２０】
ネットワークＩ／Ｆ２０５は、ネットワーク１３０とプリンタサーバ１１０との間の通信を可能にする物理インタフェースである。外部装置Ｉ／Ｆ２０６は、ＵＳＢメモリ等の可搬型の記憶装置などの外部装置をプリンタサーバ１１０に接続可能な物理インタフェースである。
【００２１】
プリンタサーバ１１０は、ＷＩＮＤＯＷＳ（登録商標）シリーズ、Ｍａｃ（登録商標）ＯＳ（Operating  System）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などの種々のＯＳの管理下で、ＨＤＤ２０４から本発明のプログラムを読み出し、ＲＡＭ２０３に展開して実行することにより、後述する機能手段をプリンタサーバ１１０上に実現する。本発明のプログラムは、アセンブラ、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）、ＪＡＶＡ  ＳＣＲＩＰＴ（登録商標）、ＰＥＲＬ、ＲＵＢＹ、ＰＹＴＨＯＮ、ＰＨＰ、ＶＩＳＵＡＬ  ＢＡＳＩＣ（登録商標）、ＣＯＢＯＬ、ＰＬ／ＳＱＬなどの様々なプログラミング言語で記述することができる。
【００２２】
図３は、本発明の第１の実施の形態のプリンタサーバの機能構成を示すブロック図である。以下、図３を参照して、プリンタサーバ１１０の機能構成について説明する。
【００２３】
プリンタサーバ１１０は、仮想プリンタドライバ３００と、中間データ記憶部３０１と、印刷制御部３０２と、キーワード検出部３０３とを含む。
【００２４】
仮想プリンタドライバ３００は、クライアントＰＣ１１２ａ，１１２ｂ，１１２ｃが提供する印刷データからページイメージである中間データを作成する手段である。本実施の形態では、仮想プリンタドライバ３００は、印刷データからＥＭＦ形式の画像データを作成し、印刷データに付加されているジョブ情報と共に、中間データ記憶部３０１に保存する。中間データ記憶部３０１に保存される画像データには、文字群および当該文字の座標情報が含まれている。
【００２５】
印刷制御部３０２は、印刷データの出力先である印刷装置を決定し、当該出力先に印刷データを送信する手段である。印刷制御部３０２は、中間データ記憶部３０１に保存されているジョブ情報を参照し、当該ジョブ情報に含まれる印刷要求元のユーザ名、クライアントＰＣの固有識別情報または印刷設定情報（例えば、白黒印刷、カラー印刷等）に関連付けられている出力先に印刷データを送信して印刷処理を実行させる。
【００２６】
また、印刷制御部３０２は、キーワード検出部３０３に対し、中間データ記憶部３０１に保存されている画像データに特定の文字列が含まれているか検索させる。印刷制御部３０２は、キーワード検出部３０３に対し、検出すべき文字列や検索領域等の検出条件を提供し、検索処理を実行させる。
【００２７】
キーワード検出部３０３は、印刷制御部３０２の指示により、中間データである画像データに特定の文字列が含まれているか検索し、その結果を印刷制御部３０２に通知する。図４は、本発明の第１の実施の形態のキーワード検出部３０３の機能構成を示す図である。キーワード検出部３０３は、抽出部４００と、整列処理部４０１と、振分部４０２と、結合部４０３と、検索部４０４とを含む。
【００２８】
抽出部４００は、中間データである画像データから印刷対象の文字群および当該文字の座標情報を抽出する手段である。抽出部４００は、中間データ記憶部３０１から画像データを取得し、検出条件として指定された検索領域が示す領域内に存在する文字群を抽出し、当該文字の座標情報を抽出する。
【００２９】
整列処理部４０１は、画像データから抽出した文字群を並び替える手段である。整列処理部４０１は、抽出した文字群の座標情報である当該文字のＸ座標およびＹ座標を用いて文字群を並び替える。
【００３０】
振分部４０２は、画像データから抽出した文字群を行単位または列単位に振り分ける手段である。振分部４０２は、抽出した文字群のＹ座標を用いて、当該文字群を行単位に振り分ける。本実施の形態では、横書きの文字列を処理するため、抽出した文字群を行単位に振り分けるが、縦書きの文字列を処理する実施の形態では、振分部４０２は、抽出した文字群のＸ座標を用いて、抽出した文字群を列単位に振り分ける。
【００３１】
結合部４０３は、画像データから抽出した文字群を行毎または列毎に結合する手段である。本実施の形態では、結合部４０３は、振分部４０２によって行単位に振り分け、整列処理部４０１によってＸ座標を基準に並び替えられた文字群を行毎に結合する。他の実施の形態では、結合部４０３は、振分部４０２によって列単位に振り分け、整列処理部４０１によってＹ座標を基準に並び替えられた文字群を列毎に結合する。
【００３２】
検索部４０４は、画像データから抽出した文字群を検索する手段である。検索部４０４は、結合部４０３が結合した文字列を検索対象とし、検出条件として指定された検出すべき文字列を検索し、検索結果を印刷制御部３０２に通知する。
【００３３】
図４に示す実施の形態では、キーワード検出部３０３の各機能手段がプリンタサーバ１１０に実装されるが、他の実施の形態では、これらの機能手段を別々の情報処理装置に実装してもよい。
【００３４】
図５は、本発明の第１の実施の形態のプリンタサーバ１１０に実装されるキーワード検出部３０３が実行する処理を示すフローチャートである。以下、図５を参照し、キーワード検出処理について説明する。
【００３５】
図５に示す処理は、ステップＳ５００から開始し、ステップＳ５０１では、抽出部４００が、中間データ記憶部３０１から画像データを取得し、検出条件として指定された検索領域が示す領域内に存在する文字群および当該文字の座標情報を抽出する。ステップＳ５０２では、整列処理部４０１が、抽出した文字群の座標情報である当該文字のＹ座標を用いて、文字群を並び替える。ステップＳ５０３では、振分部４０２が、抽出した文字群のＹ座標を用いて、当該文字群を行単位に振り分ける。
【００３６】
ステップＳ５０４では、整列処理部４０１が、行単位に振り分けられた文字群を、文字群の座標情報である文字群のＸ座標を用いて並び替える。ステップＳ５０５では、結合部４０３が、ステップＳ５０４で並び替えた文字群を行毎に結合する。ステップＳ５０６では、検索部４０４が、ステップＳ５０５で結合した文字列を検索対象とし、検出条件として指定された検出すべき文字列を検索し、検索結果を印刷制御部３０２に通知し、ステップＳ５０７で処理が終了する。
【００３７】
図５に示す処理は、画像データに横書き文字列が記述されている場合に実行される処理である。画像データに縦書きの文字列が記述されている場合には、キーワード検出部３０３は、座標情報であるＸ座標を用いて文字群を並び替えて列単位に振り分け、さらにＹ座標を用いて文字群を並び替え、列単位で結合する。
【００３８】
図６は、キーワード検出部３０３が実行する処理を示す概念図である。以下、図６を参照して、キーワードの検索処理の前に実行する処理について説明する。
【００３９】
検索対象情報６０１は、キーワード検出部３０３が、中間データである画像データから抽出した文字および当該文字の座標情報である。検索対象情報６０１には、複数の文字（「か」、「き」、「く」、「け」、「こ」、「い」、「え」、「お」、「あ」および「う」）と、当該文字の座標情報とが含まれる。キーワード検出部３０３は、検索対象情報６０１に含まれる文字を、当該文字のＹ座標を基準にして並び替える。図６に示す実施の形態では、Ｙ座標の値が昇順となるように文字を並び替える。
【００４０】
次に、キーワード検出部３０３は、Ｙ座標を基準にして並び替えた検索対象情報６０２に含まれる文字および座標情報を行単位に振り分ける。図６に示す実施の形態では、キーワード検出部３０３は、Ｙ座標の値が同じ文字は同一の行に属すると判断する。すなわち、キーワード検出部３０３は、Ｙ座標の値が「１」である文字（「い」、「え」、「お」、「あ」および「う」）が行１に属すると判断し、Ｙ座標の値が「２」である文字（「か」、「き」、「く」、「け」および「こ」）が行２に属すると判断する。
【００４１】
次いで、キーワード検出部３０３は、行単位に振り分けた検索対象情報６０３に含まれる文字を、当該文字のＸ座標を基準にして並び替える。図６に示す実施の形態では、Ｘ座標の値が昇順となるように文字を並び替える。
【００４２】
そして、キーワード検出部３０３は、Ｘ座標を基準にして並び替えた検索対象情報６０４に含まれる文字を行毎に結合して検索対象情報６０５を生成し、検索対象情報６０５を検索対象としてキーワード検出処理を実行する。図６に示す実施の形態では、キーワード検出部３０３は、行１の文字列「あいうえお」、行２の文字列「かきくけこ」を検索対象の文字列として検索する。これにより、表示イメージ６００と同じ並び順の文字列を検索対象とすることができ、キーワードの検出精度を向上させることができる。
【００４３】
図７は、キーワード検出部３０３が実行する検索対象情報の振り分け処理の一実施の形態を示す図である。以下、図７を参照して、検索対象情報の振り分け処理の一実施の形態について説明する。
【００４４】
表示イメージ７００は、印刷データを実際に印刷したときに出力されるイメージである。表示イメージ７００には、太字の文字「氏名」と、標準の文字「：山田太郎」とが同一の行に表示されており、これらの文字列はフォントサイズが異なる。検索対象情報７０１は、Ｙ座標を基準にして並び替えた検索対象情報である。検索対象情報７０１では、太字の文字「名」および「氏」のＹ座標の値が「１」であり、「：」、「山」、「田」、「太」および「郎」のＹ座標の値が「２」である。図７に示す実施の形態では、文字列「氏名」および文字列「：山田太郎」は、文字の太さと大きさが異なるため、これらの文字列のＹ座標の値が異なる。
【００４５】
キーワード検出部３０３は、検索対象情報７０１に含まれる文字および座標情報を行単位に振り分ける。このとき、Ｙ座標の値が同一の文字のみを同一の行に属すると判断すると、検索対象情報７０５，７０６，７０７に示すように、文字列「氏名」および文字列「：山田太郎」が別の行に属すると判断され、文字群を正しく振り分けることができない。このため、本実施の形態では、キーワード検出部３０３は、各文字のＹ座標の値を参照し、Ｙ座標の値の差分が所定値以下であるときには、当該文字が同一の行に属すると判断する。
【００４６】
具体的には、図７に示す実施の形態では、文字「名」および「氏」のＹ座標の値「１」と、「：」、「山」、「田」、「太」および「郎」のＹ座標の値が「２」との差分が「１」であり、所定値（例えば、「１０」）以下であるため、キーワード検出部３０３は、これらの文字が同一の行に属すると判断する。所定値は、同一の行に属する文字のＹ座標の差異が採り得る任意の値とすることが好適である。
【００４７】
このように、本実施の形態では、文字を行単位に振り分ける場合に、Ｙ座標の値が同一の文字のみを同一の行に属すると判断せず、Ｙ座標の値が近似する文字を同一の行に属すると判断するため、同一の行に属する文字の大きさや太さが異なる場合でも、表示イメージ７００と合致するように、文字群を正しく振り分けることができる。
【００４８】
なお、結合部４０３によって結合された行毎（または列毎）の文字列は、図６の検索対象情報６０５に示すように、行毎（または列毎）の複数の文字列として示すことに限定されるものではない。例えば、図９に示す検索対象情報６０５ａのように、行毎（または列毎）の複数の文字列を結合した１行（または１列）の文字列として扱うものとしてもよい。これによって、キーワードの検出を容易にすることができる。また、結合部４０３は、すべての複数の文字列を結合する必要はなく、少なくとも一部の文字列を結合するものとしてもよい。
【００４９】
（第２の実施の形態）
本実施の形態に係る情報処理システムについて、第１の実施の形態に係る情報処理システムと相違する点を中心に説明する。本実施の形態の情報処理システムは、図１に示す情報処理システム１００と同様の構成を有する。また、本実施の形態のプリンタサーバ１１０は、図２に示すプリンタサーバ１１０と同様のハードウェア構成を有する。また、本実施の形態のプリンタサーバ１１０は、図３に示すプリンタサーバ１１０と同様の機能構成を有するが、キーワード検出部３０３の代わりに、後述する図１０に示すキーワード検出部３０３ａを備えている。本実施の形態では、画像データから抽出した文字群が横書きまたは縦書きのいずれかを判定して文字群を並べ替える動作について説明する。
【００５０】
図１０は、本発明の第２の実施の形態のキーワード検出部の機能構成を示す図である。図１０を参照して、本実施の形態のキーワード検出部３０３ａの機能構成について説明する。
【００５１】
図１０に示すように、本実施の形態のキーワード検出部３０３ａは、抽出部４００と、整列処理部４０１と、振分部４０２と、結合部４０３と、検索部４０４と、第１判定部４０５とを含む。本実施の形態の抽出部４００、整列処理部４０１、結合部４０３および検索部４０４の動作は、それぞれ第１の実施の形態の抽出部４００、整列処理部４０１、結合部４０３および検索部４０４の動作と同様である。
【００５２】
振分部４０２は、画像データから抽出した文字群を行単位または列単位に振り分ける手段である。振分部４０２は、抽出した文字群のＹ座標またはＸ座標を用いて、それぞれ当該文字群を行単位または列単位に振り分ける。
【００５３】
第１判定部４０５は、抽出部４００によって画像データから抽出された印刷対象の文字群が横書きであるか、または縦書きであるかを判定する手段である。
【００５４】
なお、図１０に示すように、キーワード検出部３０３ａの各機能手段がプリンタサーバ１１０に実装されるが、これらの機能手段は別々の情報処理装置に実装されてもよい。
【００５５】
図１１は、本発明の第２の実施の形態のキーワード検出部が実行する処理を示すフローチャートである。以下、図１１を参照し、キーワード検出処理について説明する。
【００５６】
図１１に示す処理は、ステップＳ６００から開始し、ステップＳ６０１では、抽出部４００が、中間データ記憶部３０１から画像データを取得し、検出条件として指定された検索領域が示す領域内に存在する文字群および当該文字の座標情報を抽出する。ステップＳ６０２では、第１判定部４０５が、抽出部４００によって抽出された文字群が横書きであるか、または縦書きであるかを判定する。抽出部４００によって抽出された文字群が横書きである場合（ステップＳ６０２：横書き）、ステップＳ６０３へ移行する。一方、抽出部４００によって抽出された文字群が縦書きである場合（ステップＳ６０２：縦書き）、ステップＳ６０７へ移行する。
【００５７】
ステップＳ６０３では、整列処理部４０１が、抽出した文字群の座標情報である当該文字のＹ座標を用いて、文字群を並び替える。ステップＳ６０４では、振分部４０２が、抽出した文字群のＹ座標を用いて、当該文字群を行単位に振り分ける。
【００５８】
ステップＳ６０５では、整列処理部４０１が、行単位に振り分けられた文字群を、文字群の座標情報である文字群のＸ座標を用いて並び替える。ステップＳ６０６では、結合部４０３が、ステップＳ６０５で並び替えた文字群を行毎に結合する。
【００５９】
ステップＳ６０７では、整列処理部４０１が、抽出した文字群の座標情報である当該文字のＸ座標を用いて、文字群を並び替える。ステップＳ６０８では、振分部４０２が、抽出した文字群のＸ座標を用いて、当該文字群を列単位に振り分ける。
【００６０】
ステップＳ６０９では、整列処理部４０１が、列単位に振り分けられた文字群を、文字群の座標情報である文字群のＹ座標を用いて並び替える。ステップＳ６１０では、結合部４０３が、ステップＳ６０９で並び替えた文字群を列毎に結合する。
【００６１】
ステップＳ６１１では、検索部４０４が、ステップＳ６０６またはステップＳ６１０で結合した文字列を検索対象とし、検出条件として指定された検出すべき文字列を検索し、検索結果を印刷制御部３０２に通知し、ステップＳ６１２で処理が終了する。
【００６２】
以上のように、本実施の形態では、第１判定部４０５が、抽出部４００によって画像データから抽出された印刷対象の文字群が横書きであるか、または縦書きであるかを判定し、その判定結果に応じて、文字群を並び替えて、行単位または列単位に振分け、さらにＸ座標またはＹ座標を用いて文字群を並び替え、行単位または列単位で結合するものとしている。これによって、画像データに横書き文字列が記述されていようと、縦書き文字列が記述されていようと、いずれかを判定して、表示イメージと同じ並び順で文字列を検索対象とすることができ、キーワードの検出精度をさらに向上させることができる。
【００６３】
（第３の実施の形態）
本実施の形態に係る情報処理システムについて、第１の実施の形態に係る情報処理システムと相違する点を中心に説明する。本実施の形態の情報処理システムは、図１に示す情報処理システム１００と同様の構成を有する。また、本実施の形態のプリンタサーバ１１０は、図２に示すプリンタサーバ１１０と同様のハードウェア構成を有する。また、本実施の形態のプリンタサーバ１１０は、図３に示すプリンタサーバ１１０と同様の機能構成を有するが、キーワード検出部３０３の代わりに、後述する図１２に示すキーワード検出部３０３ｂを備えている。本実施の形態では、画像データから抽出され、並べ替えられ、そして振り分けられた文字群のうち、検索領域に存在する領域の文字群のみを結合させる動作について説明する。
【００６４】
図１２は、本発明の第３の実施の形態のキーワード検出部の機能構成を示す図である。図１２を参照して、本実施の形態のキーワード検出部３０３ｂの機能構成について説明する。
【００６５】
図１２に示すように、本実施の形態のキーワード検出部３０３ｂは、抽出部４００と、整列処理部４０１と、振分部４０２と、結合部４０３と、検索部４０４と、第２判定部４０６とを含む。本実施の形態の整列処理部４０１、振分部４０２、および検索部４０４の動作は、それぞれ第１の実施の形態の整列処理部４０１、振分部４０２、および検索部４０４の動作と同様である。
【００６６】
抽出部４００は、中間データ記憶部３０１から中間データである画像データを取得し、画像データから印刷対象の文字群および当該文字の座標情報を抽出する手段である。
【００６７】
第２判定部４０６は、整列処理部４０１により並び替えられ、振分部４０２により振り分けられた文字群が、検索条件として指定された検索領域が示す領域内に存在するか否かを判定する手段である。
【００６８】
結合部４０３は、画像データから抽出した文字群のうち、第２判定部４０６によって検索領域が示す領域内に存在すると判定された文字群を、行毎または列毎に結合する手段である。例えば、結合部４０３は、振分部４０２によって行単位に振り分け、整列処理部４０１によってＸ座標を基準に並び替えられた文字群のうち、検索領域が示す領域内に存在する文字群について行毎に結合する。
【００６９】
なお、図１２に示すように、キーワード検出部３０３ｂの各機能手段がプリンタサーバ１１０に実装されるが、これらの機能手段は別々の情報処理装置に実装されてもよい。
【００７０】
図１３は、本発明の第３の実施の形態のキーワード検出部が実行する処理を示すフローチャートである。以下、図１３を参照し、キーワード検索処理について説明する。
【００７１】
図１３に示す処理は、ステップＳ７００から開始し、ステップＳ７０１では、抽出部４００が、中間データ記憶部３０１から画像データを取得し、画像データから印刷対象の文字群および当該文字の座標情報を抽出する。ステップＳ７０２では、整列処理部４０１が、抽出した文字群の座標情報である当該文字のＹ座標を用いて、文字群を並び替える。ステップＳ７０３では、振分部４０２が、抽出した文字群のＹ座標を用いて、当該文字群を行単位に振り分ける。
【００７２】
ステップＳ７０４では、整列処理部４０１が、行単位に振り分けられた文字群を、文字群の座標情報である文字群のＸ座標を用いて並び替える。ステップＳ７０５では、第２判定部４０６が、ステップＳ７０４で並び替えられた文字群が、検索条件として指定された検索領域が示す領域内に存在するか否かを判定する。ステップＳ７０６では、結合部４０３が、ステップＳ７０５で検索領域が示す領域内に存在すると判定した文字群を行毎に結合する。ステップＳ７０７では、検索部４０４が、ステップＳ７０６で結合した文字列を検索対象とし、検出条件として指定された検出すべき文字列を検索し、検索結果を印刷制御部３０２に通知し、ステップＳ７０８で処理が終了する。
【００７３】
図１３に示す処理は、画像データに横書き文字列が記述されている場合に実行される処理である。画像データに縦書きの文字列が記述されている場合には、キーワード検出部３０３は、座標情報であるＸ座標を用いて文字群を並び替えて列単位に振り分け、さらにＹ座標を用いて文字群を並び替え、列単位で結合する。
【００７４】
以上のように、本実施の形態では、第２判定部４０６が、整列処理部４０１により並び替えられ、振分部４０２により振り分けられた文字群が、検索条件として指定された検索領域が示す領域内に存在するか否かを判定し、結合部４０３が、検索領域が示す領域内に存在すると判定された文字群を結合するものとしている。これによって、画像データに記述されたすべての文字列について、すべてを行単位または列単位で結合することなく、指定された検索領域内に存在する文字群のみを結合させ、キーワードの検索対象とするので、キーワードの検出効率を向上させることができる。
【００７５】
なお、上述の各実施の形態における抽出部４００、整列処理部４０１、振分部４０２、結合部４０３、検索部４０４、第１判定部４０５、および第２判定部４０６の一部または全部は、ソフトウェアであるプログラムではなく、ハードウェア回路によって実現されるものとしてもよい。
【００７６】
また、上述の各実施の形態における抽出部４００、整列処理部４０１、振分部４０２、結合部４０３、検索部４０４、第１判定部４０５、および第２判定部４０６の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ２０２等に予め組み込まれて提供される。各実施の形態のプリンタサーバ１１０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、各実施の形態のプリンタサーバ１１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、各実施の形態のプリンタサーバ１１０で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。各実施の形態のプリンタサーバ１１０で実行されるプログラムは、上述した抽出部４００、整列処理部４０１、振分部４０２、結合部４０３、検索部４０４、第１判定部４０５、および第２判定部４０６の少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ２０１が上述のＲＯＭ２０２またはＨＤＤ２０４等からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【００７７】
これまで上述の各実施の形態につき説明してきたが、本発明は、上述した実施の形態に限定されるものではなく、上述した実施の形態の構成要素を変更、組み合わせ若しくは削除し、または上述した実施の形態の構成要素に他の構成要素を追加するなど、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００７８】
１００…情報処理システム、１１０…プリンタサーバ、１１２ａ，１１２ｂ，１１２ｃ…クライアントＰＣ、１２０ａ，１２０ｂ，１２０ｃ…印刷装置、１３０…ネットワーク
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２０１１−００２８８１号公報
【図２】
2015062112.tif 000003
【図３】
2015062112.tif 000004
【図４】
2015062112.tif 000005
【図５】
2015062112.tif 000006
【図６】
2015062112.tif 000007
【図７】
2015062112.tif 000008
【図８】
2015062112.tif 000009
【図９】
2015062112.tif 000010
【図１０】
2015062112.tif 000011
【図１１】
2015062112.tif 000012
【図１２】
2015062112.tif 000013
【図１３】
2015062112.tif 000014
【図１】
2015062112.tif 000015