情報処理装置、及びその制御方法、プログラム
【課題】データ認識処理の精度を向上させること。
【解決手段】データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを解析することにより、当該印刷用紙に印刷された、該データ認識処理を行う領域の位置を検出し、該画像データに含まれる該位置情報を読み取ることにより、該位置情報に示された、該データ認識処理を行う領域の位置を取得し、当該検出された位置と、当該取得された位置とに従って、当該取得された位置を補正し、当該補正された位置で示される、画像データの領域に対してデータ認識処理を行うことを特徴とする。
【解決手段】データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを解析することにより、当該印刷用紙に印刷された、該データ認識処理を行う領域の位置を検出し、該画像データに含まれる該位置情報を読み取ることにより、該位置情報に示された、該データ認識処理を行う領域の位置を取得し、当該検出された位置と、当該取得された位置とに従って、当該取得された位置を補正し、当該補正された位置で示される、画像データの領域に対してデータ認識処理を行うことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及びその制御方法、プログラムに関し、特に、データ認識の精度を向上させるための技術に関するものである。
【背景技術】
【0002】
従来、一定の書式(テンプレート)に変数(文字や数値等のテンプレートに固定されないデータ)等のデータをオーバーレイして帳票などを作成している。また、このようにして帳票等を作成するために用いるテンプレートのデータを作成するためのソフトウェアも開発されている。
【0003】
このテンプレートのデータ(テンプレートデータ)は、具体的には、一定の書式である帳票などのフォームのデータ(フォームデータ)である。このソフトウェアを用いて、帳票のフォームを作成したり、そのフォームの一部の領域に、変数等のデータを出力する出力領域や、ユーザからの文字等の入力(記載)が可能な印字領域等を設定したりすることで、テンプレートデータを作成している。このようにして作成されたテンプレートデータに、該変数などを重ね合わせて(オーバーレイして)、目的の帳票などを出力している。
【0004】
また、従来、このようにして帳票が出力された後に、帳票の出力領域に出力された変数や、ユーザにより印字領域に記載された文字などを読み取るために、帳票に対してOCR処理(文字認識処理)を実行している。OCR処理を効率的に行うため、ユーザの指示に応じて、帳票の一部の領域(出力領域や印字領域など)をOCR処理する領域として規定されたOCRテンプレートを生成し、このOCRテンプレートに従ってOCR処理を実行している。
【0005】
例えば、特許文献1には、スキャナから読み取った帳票のイメージを表示し、表示されたイメージの中から、ユーザにより指示された領域のフィールド項目属性情報を作成することが開示されている。
【0006】
また、特許文献2には、スキャナで読み取られ得られた画像から、帳票の左端部付近と右端部付近の2点の特徴部位座標と、予め格納されている特徴部位座標とから、ずれ量を判定することが記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−044256号公報
【特許文献2】特開2004−326672号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1では、帳票のテンプレートデータを作成する際に、帳票の出力領域などのオブジェクトを設定し、該オブジェクトに対して、文字のフォント(ゴシック体や明朝体などの書体)やフォントサイズ、出力されるデータが文字か数字かを示す文字/数字属性、出力される文字又は数字等の桁数などの属性情報を設定し、その後OCR処理を行う際に、OCR処理する対象領域や、OCR処理で用いる辞書などの属性情報(OCR定義情報)を当該対象領域に設定しなければならない。すなわち、ユーザは、テンプレートデータを作成する際とOCR処理を行う際に、属性情報の設定を行わなくてはならず煩雑であった。
【0009】
また、帳票フォームデータが印刷された印刷用紙を読み取って、フィールド領域に対して文字認識処理を行うために、あらかじめ文字認識装置側にOCR定義情報を用意しておかなければならず、OCR定義情報が用意されていない文字認識装置では効率的に文字認識処理が行えないという問題点がある。
【0010】
また、帳票フォームデータを印刷する際に、プリンタ毎に印字ずれなどが発生する場合があり、このような印字がずれている帳票用紙に対して、適切なOCR定義情報に基づいて特定される対象領域に対してOCR処理を行ったとしても、適切にOCR処理が行われない場合があった。
【0011】
特許文献2においては、あらかじめ特徴部位座標を設定し装置内に格納しなければならず、このような情報が用意されていない装置では、精度良く文字認識処理を行えないという問題がある。
【0012】
本発明の目的は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることである。
【課題を解決するための手段】
【0013】
本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置であって、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段と、を備えることを特徴とする。
【0014】
また、本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置の制御方法であって、前記情報処理装置の検出手段が、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出工程と、前記情報処理装置の取得手段が、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得工程と、前記情報処理装置の補正手段が、前記検出工程で検出された位置と、前記取得工程で取得された位置とに従って、前記取得工程で取得された位置を補正する補正工程と、前記情報処理装置のデータ認識手段が、前記補正工程で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識工程と、を備えることを特徴とする。
【0015】
また、本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置で実行可能なプログラムあって、前記情報処理装置を、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段として機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本実施形態に係るシステムの構成例を示す図である。
【図2】図2は、図1に示した情報処理装置101及び102のハードウェア構成を示すブロック図である。
【図3】図3は、図1に示した情報処理装置のソフトウェア構成の一例を示したブロック図である。
【図4】図4は、フォームエディター画面400の一例である。
【図5】図5は、フォームの属性情報を入力するための帳票フォームのプロパティ画面500の一例である。
【図6】図6は、オブジェクトの属性(定義)を入力するためのプロパティ画面の一例である。
【図7】図7は、フォームを定義するためのデータが記憶されるフォーム定義テーブルの一例である。
【図8】図8は、オブジェクトの定義(属性)するデータが記憶されるオブジェクト定義テーブルの一例である。
【図9】図9は、フォームのOCR定義テーブルの一例を示す図である。
【図10】図10は、オブジェクトのOCR定義テーブルの一例を示す図である。
【図11】図11は、出力データの一例を示す図である。
【図12】図12は、フォーム(テンプレート)のOCR処理対象の領域を示す表示画面の一例を示す図である。
【図13】図13は、複合機103により読み取られた、ユーザにより記載された帳票のOCR処理対象の領域を示す表示画面の一例を示す図である。
【図14】図14は、本発明のシステムにおける第1の制御処理手順の一例を示すフローチャートである。
【図15】図15は、図14に示すステップS1404の詳細処理の一例を示すフローチャートである。
【図16】図16は、図15に示すステップS1508の詳細処理の一例を示すフローチャートである。
【図17】図17は、辞書テーブルの一例である。
【図18】図18は、図16のステップS1602、図19のステップS1902、図20のステップS2002、図21のステップS2102の処理の詳細処理の一例を示すフローチャートである。
【図19】図19は、図15のステップS1509の処理の詳細処理の一例を示すフローチャートである。
【図20】図20は、図15のステップS1510の処理の詳細処理の一例を示すフローチャートである。
【図21】図21は、図15のステップS1511の処理の詳細処理の一例を示すフローチャートである。
【図22】図21は、本発明のシステムにおける第2の制御処理手順の一例を示すフローチャートである。
【図23】図23は、オブジェクトの配置領域2301と、OCR処理を行う領域(OCR処理の対象領域2302)と、クリアエリア2303の関係を説明するための概念図である。
【図24】図24は、帳票フォームデータの印刷指示時に表示される帳票印刷設定画面の一例を示す画面図である。
【図25】図25は、本発明の情報処理装置における帳票印刷処理手順の一例を示すフローチャートである。
【図26】図26は、本発明の情報処理装置におけるデータ認識処理手順の一例を示すフローチャートである。
【図27】図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理を示すフローチャートである。
【図28】プリンタ管理サーバ104が実行するプリンタの印字位置調整処理を示すフローチャートである。
【図29】プリンタ管理テーブルの一例を示す図である。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
<図1の説明>
【0019】
図1は、本実施形態に係るシステムの構成例を示す図である。図1に示すように、情報処理装置101と情報処理装置102とプリンタ管理サーバ104と複合機(画像処理装置)103は、ネットワーク105を介して相互に通信可能に接続されている。
【0020】
複合機103は、スキャナ機能や印刷機能等を備えたいわゆるMFP(Multifunction Peripheral)などの画像処理装置であって、情報処理装置からの要求に応じて印刷処理を実行することや、帳票(紙)などを読み取って(スキャンして)生成した電子化したデータ(電子データ)を情報処理装置に送信することが可能である。
【0021】
情報処理装置は、ネットワーク105を介して複合機103に帳票などの印刷要求を行うことが可能である。また、情報処理装置は、帳票などのテンプレート(帳票フォームデータ)を作成、編集する機能や、テンプレートを作成する際に入力するフォームの属性情報(フォーム定義テーブル(図7)内のデータであるフォーム定義情報)やオブジェクトの属性情報(オブジェクト定義テーブル(図8)内のデータであるオブジェクト定義情報)から、OCRするために設定するOCR定義情報(図10内のデータ)を生成する機能などを備えている。
【0022】
また、情報処理装置は、複合機から送信される、ユーザにより記載された帳票の電子データを表示する機能も備えている。図13は、複合機103により読み取られた、ユーザにより記載された帳票のOCR処理対象の領域を示す表示画面の一例を示す図である。図13に示すように、1302、1303、1304、1305、1306、1307、1308の領域は、OCR処理対象の領域を示している。
【0023】
プリンタ管理サーバ104は、情報処理装置から受信したデータに従って、印字位置を補正するためのコマンドを複合機103に送信する機能や、複合機の管理者が操作する端末にメールを送信する機能を備えている。
【0024】
なお、本実施の形態では、データ認識処理の一例として好適な文字認識処理(OCR処理)を用いて説明しているが、これに限るものではなく、記号認識処理(OMR処理)でも適用可能である。
<図2の説明>
【0025】
以下、図2を用いて、図1に示した情報処理装置101及び102及び104のハードウェア構成について説明する。
【0026】
図2は、図1に示した情報処理装置101及び102及び104のハードウェア構成を示すブロック図である。
【0027】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output
【0028】
System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PC(情報処理装置)の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0029】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0030】
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器(表示部)への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0031】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0032】
208は通信I/Fコントローラで、ネットワーク105を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0033】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0034】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられるファイル及び各種テーブル等も、外部メモリ211に格納されている。
<図3の説明>
【0035】
図3は、図1に示した情報処理装置のソフトウェア構成の一例を示したブロック図である。
【0036】
外部メモリ211には、フォームエディタソフトウェア301と、OCRソフトウェアプログラム318と、フォーム定義テーブル(図7)と、オブジェクト定義テーブル(図8)と、下書きとなるイメージデータ312と、帳票フォームデータ全体のOCR定義テーブル(図9)と、帳票フォームデータ内のフィールド領域に書き込まれるオブジェクトのOCR定義テーブル(図10)と、辞書テーブル(図17)と、OCR処理するために用いる各種辞書(316)と、OCRエンジンによる認識処理結果が出力された出力結果317と、出力データ(図11)とが記憶される。
【0037】
フォームエディタソフトウェア301(以下、フォームエディタソフトとも言う)は、帳票などのフォームのテンプレートを作成又は編集するために用いられるソフトウェアである。
【0038】
フォームエディタソフト301は、ユーザからの指示に応じて、帳票などのフォームのテンプレートのデータや、当該テンプレートの各種属性情報を入力するフォームデータ・属性入力部302と(図5)、テンプレート内に配置する各種オブジェクトのデータや当該オブジェクトの各種属性情報を入力するオブジェクトデータ入力・属性入力部303と(図6)、302や303で入力されたデータを用いてOCR定義情報(図10)を生成するOCR定義情報生成部304と、テンプレートの下書きとなるイメージデータ(テンプレートとオーバーレイするデータ)を生成するイメージデータ生成部305と、OCR定義情報生成部304で生成されたOCR定義情報をOCRエンジンに設定するためにOCRソフトウェアが読み込む所定の記憶領域に当該OCR定義情報を記憶するOCR定義情報設定部306と、OCR処理(文字認識処理)を実行した結果(認識結果)を出力する出力部307と、を備えている。なお、イメージデータ生成部305で生成されたイメージデータは、記憶部308に記憶される。
【0039】
ここで、302で入力されるテンプレート(フォーム)のデータや、当該テンプレートの各種属性情報はフォーム定義テーブル(図7)310に記憶され、303で入力される各種オブジェクトのデータや当該オブジェクトの各種属性情報は、オブジェクト定義テーブル(図8)311に記憶される。このフォーム定義テーブル310とオブジェクト定義テーブル311内のデータは、テンプレートとなるフォーム(様式)を構成(定義)するためのデータ309である。
【0040】
OCR定義情報生成部304は、このように記憶部308に記憶されたフォーム定義テーブル(図7)やオブジェクト定義テーブル(図8)内のデータからOCR定義情報を生成する。
【0041】
そして、OCR定義情報設定部306は、生成されたOCR定義情報を、記憶部308に記憶されたオブジェクトのOCR定義テーブル315に記憶する。
【0042】
これらフォームのOCR定義テーブル314及びオブジェクトのOCR定義テーブル315は、OCR処理(文字認識処理)を実行するために用いられるデータ313である。
【0043】
記憶部308は、外部メモリ211等の記憶手段であり、OCR処理で用いる各種辞書316が記憶されている。
【0044】
OCRソフトウェアプログラム318(OCRソフトウェアとも言う)は、記憶部308に記憶されたフォームのOCR定義テーブル314とオブジェクトのOCR定義テーブル315内のOCR定義情報を読み込む読込部319と、読込部319で読み込んだデータ(OCR定義情報)を用いて文字認識処理を行う文字認識処理部320(OCRエンジン)と、文字認識処理部320で認識された結果を記憶部308に記憶させるべく出力する出力部321とを備えている。
【0045】
ここで、出力部321は、文字認識処理部320での認識結果を、CRT210などの表示部に表示するために出力することや、また、複合機103に印刷させるべく出力することが可能である。
<図14の説明>
【0046】
次に、図14のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0047】
図14は、本発明のシステムにおける第1の制御処理手順の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1401〜S1406は各ステップを示す。
【0048】
まず、情報処理装置101のCPU201は、フォームエディタソフトウェアプログラムを実行すると、図4に示すフォームエディター画面400をCRT210(表示部)に表示する。
【0049】
図4は、フォームエディター画面400の一例である。
【0050】
次に、情報処理装置101のCPU201は、ユーザから帳票などのフォームの入力を受け付ける。具体的には、情報処理装置101のCPU201は、ユーザにより設定ボタン415が押下されたことを検知すると、図5に示す帳票フォームのプロパティ画面が表示される。
【0051】
図5は、フォームの属性情報を入力するための帳票フォームのプロパティ画面500の一例である。
【0052】
図5に示す帳票フォームのプロパティ画面500は、帳票のフォーム名(名称)を入力する部501と、出力する用紙の大きさ(サイズ)を入力する部503と、印刷の向きを入力する部507と、グリッドの間隔を入力する部509と、余白を入力する部512と、レイアウトの単位を入力する部517と、OCR処理を行うかを入力する部518とから構成される。この帳票フォームのプロパティ画面500の各部で入力される情報のそれぞれをフォーム(テンプレート)の属性情報として説明する。
【0053】
ここで、帳票フォームのプロパティ画面500について詳しく説明する。
【0054】
502は、ユーザによる帳票のフォーム名(名称)の入力を受け付けるテキストボックスである。
【0055】
また、504は、用紙サイズ(A4など)を選択することができるプルダウンであり、505は、用紙の幅を入力することができるテキストボックスであり、506は、用紙の高さを入力することができるテキストボックスである。また、508は、印刷の向き(縦か横)を入力することができるプルダウンである。
【0056】
また、510はグリッドの間隔(高さ)を、511はグリッドの間隔(横)を入力できるテキストボックスである。513、514、515、516は、テンプレートの余白を入力するテキストボックスであり、それぞれテンプレートの上側、下側、左側、右側の余白を入力することができる。
【0057】
また、517は、レイアウトの単位を入力できるプルダウンであり、たとえば、ミリメートル(mm)などを入力することが可能である。
【0058】
また、519は、図4に表示されているフォームに対してOCR処理を実行する設定を入力することができるチェックボックスであり、ここにチェックされている場合はOCR処理を実行する設定が入力されることとなる。520は、図4に表示されているフォームに対してOCR処理を実行しない設定を入力することができるチェックボックスである。ここにチェックされている場合はOCR処理を実行しない設定が入力されることとなる。
【0059】
ここで説明した帳票フォームのプロパティ画面500の各部に入力された属性情報は、グリッドの間隔や余白などの、フォームを定義するためのデータである。
【0060】
情報処理装置101のCPU201は、ユーザにより帳票フォームのプロパティ画面500の各部で属性情報が入力され、OKボタン521が押下されると、入力された属性情報はフォーム定義テーブル(図7)に記憶される(ステップS1401)。また、キャンセル522ボタンが押下されると、帳票フォームのプロパティ画面500を閉じる。
【0061】
図7は、フォームを定義するためのデータが記憶されるフォーム定義テーブルの一例である。
【0062】
次に、情報処理装置101のCPU201は、フォームエディター画面400に表示されるテンプレート(フォーム、又は帳票フォームデータという)401に、ユーザの指示に応じてオブジェクトを配置して表示する。
【0063】
すなわち、帳票フォームデータに、データが書き込まれる領域を示すフィールド領域を設定する(フィールド設定手段)。
【0064】
具体的には、表示ボタン416がユーザにより押下されると、フィールド一覧画面417を表示する。
【0065】
この画面には、固定フィールド418や、可変フィールド419などのオブジェクトを配置するためのオブジェクトが表示されている。
【0066】
ここで、固定フィールドとは、固定の(変更のない)データを出力する領域であり、可変フィールドとは、可変のデータを出力する領域である。ユーザにより固定フィールド418をドラッグアンドドロップしてテンプレート401上に配置すると、たとえば、413のような出力領域をテンプレート上に設定することができる。可変フィールドの設定も固定フィールドと同様に、可変フィールド419をドラッグアンドドロップしてテンプレート401上に配置することで、可変フィールドをテンプレート上に設定することができる。
【0067】
また、フィールド一覧画面417のOLEフィールド420は、QRコードなどの二次元コードの出力を設定できるオブジェクトであり、可変フィールドと同様、OLEフィールド420をドラッグアンドドロップすることにより、テンプレート401上に配置される。たとえば、414のような出力領域をテンプレート上に設定することができる。ここで、414は、QRコードを出力するための領域として設定された例を示している。
【0068】
また、ユーザにより、421のオブジェクトが押下され、KB209から文字が入力されることにより、テンプレート401上に文字を直接入力することもできる。 たとえば、403や404、406、407、408、409、410、411は、このようにして文字が入力されている。
【0069】
405は、チェックボックスのオブジェクトが入力されたものである。405は、ユーザによりオブジェクト422が押下され、テンプレート401が指定されることにより、情報処理装置101のCPU201は、テンプレート401上に405を入力する。また、412に示す「はしご枠」のオブジェクトもこれと同様に入力することが可能である。
【0070】
次に、情報処理装置101のCPU201は、入力されたオブジェクトがユーザの指示により選択され、ユーザの指示に応じて、選択されたオブジェクトのプロパティ画面600(図6)を表示する。たとえば、ユーザがオブジェクトを選択し、選択された状態で右クリックすることにより表示される「プロパティ」(不図示)が選択されることで、選択されたオブジェクトのプロパティ画面600(図6)が表示される。
【0071】
そして、表示されたプロパティ画面600(図6)から、ユーザの指示により、当該オブジェクトに対して、オブジェクトの定義を示すデータを入力することが可能である。
【0072】
すなわち、設定されるフィールド領域(オブジェクト)に書き込まれるデータの属性情報を設定する(属性設定手段)。
【0073】
図6は、オブジェクトの属性(定義)を入力するためのプロパティ画面の一例である。
【0074】
図6に示すオブジェクトのプロパティ画面600は、オブジェクトの名称とその種別(種類)を入力する部601と、OCR処理を行うかを入力する部604と、オブジェクトの配置位置とそのサイズを入力する部607,619と、線の属性を入力する部610と、文字の属性を入力する部614と、文字(列)の組み方向が横か縦か、また文字が全角か半角かを入力する出力定義部620と、文字枠が設定されている場合に、その文字枠の行数と桁数とを入力する部623とから構成される。
【0075】
ここで、オブジェクトのプロパティ画面600について詳しく説明する。
【0076】
602は、フィールド図形名(名称)を入力するテキストボックスであり、603は、その種別を選択入力できるプルダウンである。ここで種別とは、一例として、図形(四角)、文字、図形(チェックボックス)、文字(丸囲み)、図形(はしご枠)、出力領域(文字)、出力領域(QRコード)などを選択することができる。
【0077】
図形(四角)とは、たとえば、図4の402にしめすような、テンプレートを四角の図形(線)で囲まれたオブジェクトである。また、文字とは、たとえば、図4の403、404、406、408、410、411に入力されている文字のオブジェクトである。また、図形(チェックボックス)とは、たとえば、図4の405に示すような、チェックボックスとして用いるオブジェクトである。また、文字(丸囲み)とは、たとえば、図4の407や409に示すような、ユーザにより丸囲みされるオブジェクトである。また、図形(はしご枠)とは、たとえば、図4の412に示すような、ユーザにより文字などを入力(記入)されるオブジェクトである。
【0078】
また、出力領域(文字)とは、たとえば、図4の413に示すような、文字が出力されるオブジェクトである。なお、このオブジェクトに出力される文字は、ユーザの指示により予め、例えば出力データ(図11)として記憶されている。
【0079】
図11は、出力データの一例を示す図である。図11には、図4の413の領域(文字エリア)に出力するデータとして「※電子クーポンはこちらからアクセスしてね」という文字データと、図4の414の領域(QRコードを出力するための領域)に出力するデータとして、QRコードのデータ「ABC・・・・jpee3dw」とを示している。
【0080】
図4のテンプレートの印刷を行う際に、出力データ(図11)のデータを413、414の領域に出力して印刷を行う。そして、印刷した結果を図12に示す。
【0081】
図12は、テンプレートのOCR領域の表示画面の一例である。オブジェクトのプロパティ画面600の説明に戻る。 出力領域(QRコード)とは、たとえば、図4の414に示すような二次元コードを出力するためのオブジェクトである。
【0082】
605は、選択されたオブジェクトに対してOCR処理を実行する設定を入力することができるチェックボックスであり、ここにチェックされている場合は、選択されたオブジェクトに対してOCR処理を実行する設定が入力されることとなる。606は、選択されたオブジェクトに対してOCR処理を実行しない設定を入力することができるチェックボックスである。ここにチェックされている場合は、選択されたオブジェクトに対してOCR処理を実行しない設定が入力されることとなる。
【0083】
608は、オブジェクトの配置位置の基準位置としての、テンプレートの最も左側からの距離を入力できるテキストボックスであり、609は、テンプレートの最も上側からの距離を入力できるテキストボックスである。
【0084】
611は、オブジェクトの実線や点線などの線種を選択することができるプルダウンである。また、612は、オブジェクトの線の幅を選択入力することができるプルダウンである。また、613は、オブジェクトの線の色を選択入力することができるプルダウンである。
【0085】
615は、オブジェクトの文字のフォント(ゴシック体や明朝体など)を入力することができるプルダウンである。また、616は、オブジェクトの文字のスタイル(細字、標準、太文字など)を入力することができるプルダウンである。また、617は、オブジェクトの文字のサイズ(ポイント)を入力することができるプルダウンである。また、618は、オブジェクトの文字の色を入力することができるプルダウンである。
【0086】
619は、オブジェクトのサイズ(大きさ)を入力することができるテキストボックスである。ここでは、オブジェクトの幅と高さを入力することが可能である。
【0087】
621は、オブジェクトの文字組みの方向を選択入力できるプルダウンである。また、622は、オブジェクトの文字の出力サイズ(全角、半角など)を選択入力できるプルダウンである。624、625は、それぞれ文字枠の行数、桁数を選択入力できるプルダウンである。
【0088】
プロパティ画面600(図6)を介して、オブジェクトの定義を示すデータの入力がなされ、OKボタンがユーザにより押下されると、情報処理装置101のCPU201は、入力されたオブジェクトの定義を示すデータを図8に示すオブジェクト定義テーブルに記憶する。ユーザは、各オブジェクトに対してこの操作を行う。
【0089】
以上の通り、ステップS1402では、情報処理装置101のCPU201は、上述した表示されたプロパティ画面600(図6)から、ユーザの指示により、各オブジェクトに対して、オブジェクトの定義を示すデータの入力を受け付ける。そして、入力されたデータをオブジェクト定義テーブル(図8)に記憶させる。 図8は、オブジェクト(フィールド)の定義(属性)(フィールドの属性情報)するデータが記憶されるオブジェクト定義テーブルの一例である。
【0090】
図8に示すオブジェクト定義テーブルは、「オブジェクト番号」、「種別」、「種別内連番」、「名称」、「OCR利用区分」、「左」、「上」、「幅」、「高さ」、「行数」、「桁数」、「線種」、「線幅」、「線色」、「フォント」、「スタイル」、「サイズ」、「色」、「組方向」、「文字出力サイズ」の項目から構成される。
【0091】
「オブジェクト番号」はオブジェクトを識別する番号であり、図4の符号に括弧で示す番号に対応している。すなわち、オブジェクト番号<1>は、図4の402の枠を示している。また、「種別」は、オブジェクトの種別(種類)を示す情報である。また、「種別内連番」は、同一種別のオブジェクトを識別するために付与される連続した番号である。また、「名称」は、オブジェクトの名称である。また、「OCR利用区分」は、OCRを利用するか否かを示す情報が記憶される。OCRをするオブジェクトの場合は“する”が記憶され、OCRをしないオブジェクトの場合は“しない”が記憶される。また、「左」には、オブジェクトの配置位置の基準位置を特定する、テンプレートの最左からの位置を示す情報が記憶される。また、「上」には、オブジェクトの配置位置の基準位置を特定する、テンプレートの最上からの位置を示す情報が記憶される。また、「幅」には、オブジェクトの幅が記憶される。また、「高さ」には、オブジェクトの高さが記憶される。また、「行数」は、はしご枠などの文字の入力領域の行数である。また、「桁数」は、はしご枠などの文字の入力領域の桁数である。また、「線種」は、実線や点線などの情報である。また、「線幅」は、線の幅である。また、「線色」は、線の色である。また、「フォント」は、文字のフォントである。また、「スタイル」は、文字のスタイルである。また、「サイズ」は、文字のサイズである。また、「色」は、文字の色である。また、「組方向」は、文字(列)の組方向である。また、「文字出力サイズ」は、全角・半角などの文字出力サイズである。
【0092】
次に、情報処理装置101のCPU201は、ステップS1401で入力され記憶されたフォーム定義テーブル(図7)の「OCR利用」が“する”なのか否かを判定する(ステップS1403)。
【0093】
すなわち、フォームのプロパティ画面500の519がチェックされたか否かを判定する。519がチェックされた場合(フォーム定義テーブル(図7)の「OCR利用」が“する”の場合)(ステップS1403:YES)、記憶部に記憶されたオブジェクト定義テーブルから、OCR処理の実行に用いるOCR定義情報を生成する(ステップS1404)。
【0094】
すなわち、各オブジェクト(フィールド領域)の属性情報から、帳票フォームデータの印刷用紙の当該各フィールド領域のOCR処理(データ認識処理)で用いるデータ認識情報(OCR定義情報)を生成する(データ認識情報生成手段)。
【0095】
一方、519がチェックされず、520がチェックされた場合(フォーム定義テーブル(図7)の「OCR利用」が“しない”の場合)(ステップS1403:NO)は、OCR定義情報を生成することなく処理を終了する。
【0096】
ステップS1404の詳細処理については、図15を用いて後述する。
【0097】
次に、情報処理装置101のCPU201は、ステップS1404でOCR定義情報を生成すると、予め記憶されたフォームのOCR定義テーブル(図9)のスキャン時解像度(dpi)や印刷の向きなどを取得し、例えば以下の式を用いてイメージデータのサイズ(左上のX座標:0,左上のY座標:0,右下のX座標:以下の式で算出される値,右下のY座標:以下の式で算出される値)を決定し、テンプレートの下書きとなるイメージデータを生成する(ステップS1405)。ここで生成されるイメージデータをOCR定義情報の下書きとすることで、テンプレート内のどの領域を、OCR処理を行う領域とするかを特定することができる。
【0098】
図12は、このようにして特定された、フォーム(テンプレート)のOCR処理対象の領域を示す表示画面1200の一例を示す図である。図12は、出力データ(図11)を出力領域に出力した帳票に、OCR処理対象の領域を表示した画面である。図12では、OCR処理対象の領域として、1202、1203、1204、1205、1206、1207、1208が定義されている。なお、このOCR処理対象の領域のサイズは、ユーザの指示により補正することができる。
【0099】
(式)・右下のX座標=サイズ(幅)(mm)×スキャン時の解像度(dpi)÷25.4(mm)・右下のY座標=サイズ(高さ)(mm)×スキャン時の解像度(dpi)÷25.4(mm)
【0100】
例えば、印刷の向きが縦のA4の用紙(幅が210mmで高さが297mm)のスキャン時の解像度が300dpiである場合、上記式に、これらの値を代入すると、右下のX座標は、210(mm)×300(dpi)÷25.4(mm)=2480.349・・・となり、約2480の値となる。また、右下のY座標も、これと同様に代入すると、297(mm)×300(dpi)÷25.4(mm)=3507.87・・・となり、約3507の値となる。
【0101】
このようにして、ここで生成されるイメージデータのサイズを決定し、そのサイズのイメージデータ(画像)を生成する(ステップS1405)。
【0102】
次に、情報処理装置101のCPU201は、ステップS1404で生成したOCR定義情報を、OCRソフトウェアが読み込む記憶部に記憶することにより、当該OCR定義情報をOCRソフトウェアに設定する(ステップS1406)。
【0103】
ここで、図9について説明する。 図9は、帳票フォームデータ全体のOCR定義テーブルの一例を示す図である。
【0104】
フォームのOCR定義テーブルは、「帳票フォーム名」、「OCR利用」、「印刷時解像度」、「スキャン時解像度」、「イメージファイル名」、「クリアエリア初期値」とから構成されている。
【0105】
「帳票フォーム名」は、フォーム定義テーブル(図7)の「帳票フォーム名」に対応したデータであり、OCR定義情報生成部304でコピーされることにより記憶(生成)される。
【0106】
「OCR利用」は、フォーム定義テーブル(図7)の「OCR利用」に対応したデータであり、OCR定義情報生成部304でコピーされることにより記憶(生成)される。
【0107】
「印刷時解像度」は、ユーザの指示に応じて予め記憶される値であり、印刷時にどの解像度で印刷するかを規定したものである。したがって、フォームエディタソフト301で生成されたフォームデータはここで設定された解像度で印刷指示される。
【0108】
「スキャン時解像度」は、ユーザの指示に応じて予め記憶される値であり、スキャン時にどの解像度で読み取るかを規定したものである。したがって、フォームエディタソフト301で生成されたフォームデータはここで設定された解像度で読み取られる。
【0109】
「イメージファイル名」は、ステップS1405で生成されるイメージデータのファイル名であり、イメージデータが生成される際に、フォーム定義テーブル(図7)の帳票フォーム名をコピーすることで生成される。
【0110】
「クリアエリア初期値」は、ユーザの指示に応じて予め記憶される値であり、図23に示すように、オブジェクトの配置領域2301からOCR処理を行う対象領域2302までの幅の長さ2303である。
【0111】
図23は、オブジェクトの配置領域2301と、OCR処理を行う領域(OCR処理の対象領域2302)と、クリアエリア2303の関係を説明するための概念図である。
<図15の説明>
【0112】
次に、図15のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0113】
図15は、図14に示すステップS1404の詳細処理の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1501〜S1511は各ステップを示す。
【0114】
情報処理装置101のCPU201は、後述するステップS1502からステップS1511までの処理を、オブジェクト定義テーブル(図8)に記憶されている全てのオブジェクト定義情報に対して繰り返し実行する。ここで、オブジェクト定義情報(フォームのフィールドの属性情報)とは、図8に示すレコードの情報を示す。
【0115】
情報処理装置101のCPU201は、まず、オブジェクト定義テーブル(図8)のオブジェクト定義情報を読み込む(ステップS1502)。例えば、ここでは、オブジェクト番号が<1>のオブジェクト定義情報を読み込む。
【0116】
そして、情報処理装置101のCPU201は、「OCR利用区分」が“する”と定義されているか否かを判定する(ステップS1503)。すなわち、オブジェクトのプロパティ画面(図6)の605がチェックされたのか、それとも606がチェックされたのかを判定する。
【0117】
ここで、オブジェクト定義テーブル(図8)には、605がチェックされた場合は「OCR利用区分」が“する”と記憶され、606がチェックされた場合は「OCR利用区分」が“しない”と記憶されている。
【0118】
情報処理装置101のCPU201は、ステップS1503で「OCR利用区分」が“する”と定義されていると判定した場合は(ステップS1503:YES)、処理をステップS1504に移行し、一方、「OCR利用区分」が“しない”と定義されていると判定した場合は(ステップS1503:NO)、処理対象をオブジェクト定義テーブルの次のレコードにして、ステップS1502に戻る。またこのとき、全てのオブジェクト定義情報に対して処理を実行し、処理対象がなくなった場合は処理を終了する。
【0119】
次に、情報処理装置101のCPU201は、「OCR利用区分」が“する”と定義されていると判定した場合は(ステップS1503:YES)、オブジェクト定義情報に含まれるオブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」であるか否かを判定する(ステップS1504)。
【0120】
そして、情報処理装置101のCPU201は、オブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」であると判定した場合は(ステップS1504:YES)、ステップS1508に処理を移行して文字認識設定処理(図16)を実行する。一方、オブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」ではないと判定した場合は(ステップS1504:NO)、オブジェクトの種別が「図形(チェックボックス)」であるか否かを判定する(ステップS1505)。
【0121】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「図形(チェックボックス)」であると判定した場合は(ステップS1505:YES)、処理をステップS1509に移行してチェックボックス認識設定処理(図19)を実行する。一方、オブジェクトの種別が、「図形(チェックボックス)」ではないと判定した場合は(ステップS1505:NO)、オブジェクトの種別が「文字(丸囲み)」であるか否かを判定する(ステップS1506)。
【0122】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「文字(丸囲み)」であると判定した場合は(ステップS1506:YES)、処理をステップS1510に移行して、丸囲み数字認識設定処理(図20)を実行する。一方、オブジェクトの種別が「文字(丸囲み)」ではないと判定した場合は(ステップS1506:NO)、オブジェクトの種別が「出力領域(QRコード)」であるか否かを判定する(ステップS1507)。
【0123】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「出力領域(QRコード)」であると判定した場合は(ステップS1507:YES)、処理をステップS1511に移行してQRコード認識設定処理(図21)を実行する。
【0124】
情報処理装置101のCPU201は、ステップS1507でオブジェクトの種別が「出力領域(QRコード)」ではないと判定された場合、及び、ステップS1508、ステップS1509、ステップS1510、ステップS1511の処理を実行後は、ステップS1503でNOと判定した場合と同様に、処理対象をオブジェクト定義テーブルの次のレコードにして、ステップS1502に戻る。またこのとき、全てのオブジェクト定義情報に対して処理を実行し、処理対象がなくなった場合は処理を終了する。
【0125】
このようにして、オブジェクト定義テーブルに記憶されている全てのオブジェクト定義情報に対して、ステップS1502からステップS1511までの処理を実行する。
<図16の説明>
【0126】
次に、図16のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0127】
図16は、図15に示すステップS1508の詳細処理の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1601〜S1615は各ステップを示す。
【0128】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、文字を認識する文字認識処理を実行することを示すデータ(ここでは“OCR”)を生成する(ステップS1601)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブル(OCRテンプレート)に記憶される。ここで、OCRテンプレートとは、図10に示す各オブジェクトのOCR定義情報の集合である。
【0129】
図10は、帳票フォームデータ内のフィールド領域に書き込まれるオブジェクトのOCR定義テーブルの一例を示す図である。OCR定義テーブルには、OCRするために用いられる各種データが記憶される。
【0130】
図10の示すオブジェクトのOCR定義テーブルは、「No」、「領域名(名称)」、「オブジェクト番号」、「認識種別」、オブジェクトの配置領域(認識領域)の左上座標のX座標が記憶される「X」、オブジェクトの配置領域(認識領域)の左上座標のY座標が記憶される「Y」、オブジェクトの配置領域(認識領域)の右下座標のX座標が記憶される「X」、オブジェクトの配置領域(認識領域)の右下座標のY座標が記憶される「Y」、「使用辞書」、「組方向」、「文字枠」、「桁数」、「行数」、「文字出力サイズ」などから構成される。
【0131】
「No」は、レコードを識別するための番号であり、このレコード内の一部又は全ての情報をOCR定義情報という。また、「領域名(名称)」は、OCRを行う対象のオブジェクト(OCR対象オブジェクト)の名称(領域名)である。また、「オブジェクト番号」は、図8のオブジェクト定義テーブルのオブジェクト番号に対応した番号である。また、「認識種別」は、OCRソフトウェアプログラム318が行う認識処理の種別(種類)である。また、「使用辞書」は、OCRソフトウェアプログラム318が行う認識処理の際に用いる辞書を示している。また、「組方向」は、文字(列)が縦方向か横方向かを示している。また、「文字枠」は、はしご枠かなどの文字枠がどのような枠であるかを示している。また、「桁数」は、文字枠の桁数を示している。また、「行数」は、文字枠の行数を示している。また、「文字出力サイズ」は、半角か全角かを示している。
【0132】
次に、情報処理装置101のCPU201は、共通情報生成処理を実行することにより(ステップS1602)、オブジェクト定義情報から、オブジェクトのOCR定義情報テーブルのOCR対象オブジェクト(オブジェクトの領域名など)と認識領域(Pixel)(オブジェクトの配置位置(座標))とを生成する。そして、ここで生成されたOCR対象オブジェクト(オブジェクトの領域名など)と認識領域(Pixel)(オブジェクトの配置位置(座標))は、オブジェクトのOCR定義テーブルに記憶される。ステップS1602の詳細処理は、図18を用いて後で説明する。
【0133】
次に、情報処理装置101のCPU201は、共通情報生成処理を実行した後、オブジェクト定義情報の「フォント」にフォント名が記憶されているかを判定する(ステップS1603)。そして、フォント名が記憶されていると判定した場合は(ステップS1603:YES)、当該フォントに対応する辞書を辞書テーブル(図17)の中から検索する(ステップS1604)。
【0134】
図17は、辞書テーブルの一例である。図17は、文字のフォントに対して、OCRするのに好適な辞書が記憶されていることを示している。なお、辞書テーブルは、記憶部に記憶されている。
【0135】
次に、情報処理装置101のCPU201は、ステップS1604でフォントに対応する辞書が検索されたか否かを判定する(ステップS1605)。そして、フォントに対応する辞書が検索されたと判定された場合は(ステップS1605:YES)、検索された辞書を使用する辞書と設定するために、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に検索された辞書名を記憶(生成)する。一方、フォントに対応する辞書が検索されなかったと判定された場合は(ステップS1605:NO)、(予め設定された)既定の辞書を使用する辞書として設定するために、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に、該既定の辞書の辞書名を記憶(生成)する(ステップS1607)。
【0136】
ステップS1603で、オブジェクト定義情報の「フォント」にフォント名が記憶されていないと判定された場合、つまり、フォントの情報が無い場合も、ステップS1607の処理を実行する。すなわち、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に、既定の辞書の辞書名を記憶(生成)する。
【0137】
次に、情報処理装置101のCPU201は、ステップS1607又は、ステップS1606の処理を実行した後、現在、処理対象のオブジェクト定義テーブル(図8)の1レコード(オブジェクト定義情報)の「組方向」と「文字出力サイズ」とをオブジェクトのOCR定義テーブル(図10)の「組方向」と「文字出力サイズ」にそれぞれ記憶(生成)させる。
【0138】
そして、情報処理装置101のCPU201は、現在、処理対象のオブジェクト定義情報の「枠」に数値が設定されているか否かを判定することにより、文字枠のオブジェクトであるか否かを判定する(ステップS1609)。そして、情報処理装置101のCPU201は、文字枠のオブジェクトであると判定された場合は(ステップS1609:YES)、文字枠が複数に分割されているか否かを判定する(ステップS1610)。すなわち、処理対象のオブジェクト定義情報の「枠」に設定された値(少なくとも行数、桁数のいずれか1つの値)が2以上の数値であるか否かを判定することにより、「はしご枠」であるのか、それとも「フィールド枠」であるのかを判定する(ステップS1610)。
【0139】
そして、「はしご枠」であると判定された場合(「枠」に設定された、少なくとも行数、桁数のいずれかの値が2以上の数値であると判定された場合)は(ステップS1610:YES)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、はしご枠であることを示すデータとして“はしご”を記憶(生成)する(ステップS1611)。一方、「フィールド枠」であると判定された場合(「枠」に設定された行数、桁数のいずれの値も1の数値であると判定された場合)は(ステップS1610:NO)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、フィールド枠であることを示すデータとして“フィールド”を記憶(生成)する(ステップS1613)。
【0140】
また、ステップS1609において、現在、処理対象のオブジェクト定義情報の「枠」に数値が設定されていないと判定(文字枠のオブジェクトではないと判定)された場合(ステップS1609:NO)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、枠がないことを示すデータとして“―”を記憶(生成)する(ステップS1604)。
【0141】
次に、情報処理装置101のCPU201は、オブジェクトの定義テーブル(図8)の「枠」の“行数”、“桁数”の値を、文字認識すべき対象の文字数の最大値として、オブジェクトのOCR定義テーブル(図10)の「行数」、「桁数」にそれぞれ記憶(生成)する(ステップS1612)。
【0142】
また、情報処理装置101のCPU201は、ステップS1604またはステップS1613の処理を実行した後、OCRソフトウェアが、文字認識すべき対象の文字数を自動的に認識させる設定情報として、“0(ゼロ)”を、オブジェクトのOCR定義テーブル(図10)の「行数」、「桁数」に記憶(生成)する(ステップS1615)。
【0143】
以上、ステップS1615又はステップS1612の処理を実行すると、ステップS1508に示す文字認識設定処理は終了し、ステップS1502で次の処理対象のオブジェクトの定義情報を読み込む。
<図18の説明>
【0144】
次に、図18のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0145】
図18は、図16のステップS1602、図19のステップS1902、図20のステップS2002、図21のステップS2102の処理の詳細処理の一例を示すフローチャートである。なお、図18は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0146】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1801〜S1804は各ステップを示す。
【0147】
情報処理装置101のCPU201は、OCR対象オブジェクトの名称(領域名)を生成する(ステップS1801)。
【0148】
具体的には、オブジェクト定義テーブル(図8)の「名称」にオブジェクトの名称が入力されている場合は、その名称をOCR対象オブジェクトの名称(領域名)として、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶(生成)する。また、オブジェクト定義テーブル(図8)の「名称」にオブジェクトの名称が入力されていない場合は、オブジェクトの「種別」と「種別内連番」からOCR対象オブジェクトの名称(領域名)を生成して、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶(生成)する。
【0149】
例えば、オブジェクト番号<4>のオブジェクトは、チェックボックスなので、領域名(名称)にチェックボックスを示す「CHK」と、「種別内連番」の「001」とを繋げて「CHK001」というOCR対象オブジェクトの名称(領域名)を生成し、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶している。
【0150】
次に、情報処理装置101のCPU201は、オブジェクト定義テーブル(図8)の「配置」の情報から、認識領域の座標を算出し、オブジェクトのOCR定義テーブルの「認識領域(pixel)」に算出結果を記憶(生成)する(ステップS1802)。 具体的には、例えば、認識領域の左上座標及び右下座標は、以下の式を用いて算出することができる。
【0151】
(式)・「認識領域の左上のX座標」=(基準位置(左)―クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の左上のY座標」=(基準位置(上)―クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の右下のX座標」=(基準位置(左)+サイズ(幅)+クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の右下のY座標」=(基準位置(上)+サイズ(高さ)+クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)
【0152】
ここで、クリアエリアとは、図23に示すように、オブジェクトの配置領域2301からOCR処理を行う対象領域2302までの幅の長さ2303であり、ユーザの指示により予め設定され記憶部に記憶されている。ここでは、ユーザの指示により予め設定されたクリアエリアの値をクリアエリアの初期値として記載している。
【0153】
また、スキャン解像度は、ユーザの指示により予め設定され、記憶部のフォームのOCR定義テーブル(図9)に記憶されている。また、基準位置(左)、基準位置(上)、サイズ(幅)、サイズ(高さ)は、それぞれ、オブジェクト定義テーブル(図8)の項目「左」、「上」、「幅」、「高さ」に記憶されている値である。
【0154】
ステップS1802では、これらの情報を取得して上述した式に代入することにより、認識領域の座標を算出することができる。
【0155】
次に、情報処理装置101のCPU201は、ステップS1802で算出された座標により決定される認識領域がテンプレート(帳票)の領域内に収まるか否かを判定する(ステップS1803)。
【0156】
具体的には、ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超えているか否かを判定する。
【0157】
そして、認識領域がテンプレートの領域内に収まる(ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超えていない)と判定された場合は、図18に示す処理を終了し、一方、収まらない(ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超える)と判定された場合は、テンプレートの領域内に収まるように認識領域の各座標を補正する(ステップS1804)。
【0158】
具体的には、超えていると判定された、ステップS1802で算出して得られた認識領域の座標を、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標に設定することで補正することができる。
<図19の説明>
【0159】
次に、図19のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0160】
図19は、図15のステップS1509の処理の詳細処理の一例を示すフローチャートである。なお、図19は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0161】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1901〜S1902は各ステップを示す。
【0162】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、チェックボックスを認識する文字認識処理を実行することを示すデータ(ここでは“チェックボックス”)を生成する(ステップS1901)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。
【0163】
次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS1902)、ステップS1509の処理を終了する。
<図20の説明>
【0164】
次に、図20のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0165】
図20は、図15のステップS1510の処理の詳細処理の一例を示すフローチャートである。なお、図20は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0166】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2001〜S2002は各ステップを示す。
【0167】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、丸囲み文字を認識する文字認識処理を実行することを示すデータ(ここでは“丸囲み”)を生成する(ステップS2001)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。 次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS2002)、ステップS1510の処理を終了する。
<図21の説明>
【0168】
次に、図21のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0169】
図21は、図15のステップS1511の処理の詳細処理の一例を示すフローチャートである。なお、図21は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0170】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2101〜S2102は各ステップを示す。
【0171】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、二次元コードを認識する文字認識処理を実行することを示すデータ(ここでは“QRコード”)を生成する(ステップS2101)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。 次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS2102)、ステップS1511の処理を終了する。
<図22の説明>
【0172】
次に、図22のフローチャートを参照して、OCRソフトウェアが実行する処理を説明する。
【0173】
図21は、本発明のシステムにおける第2の制御処理手順の一例を示すフローチャートであり、図3に示すOCRソフトウェアによる処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2201〜S2204は各ステップを示す。
【0174】
情報処理装置101のCPU201は、フォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)とを記憶部308から読み込み(ステップS2201)、読み込んだフォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)内のデータを、OCRするために設定する(ステップS2202)。
【0175】
そして、ステップS2202で設定されたデータを用いてOCRを実行し(ステップS2203)、その認識結果を記憶部に記憶させるべく出力して(ステップS2204)処理を終了する。そして、フォームエディタソフトウェアは、記憶された認識結果を読み込み出力(表示や印刷など)する。
【0176】
以上説明したように、本実施の形態によれば、テンプレートデータを作成するために入力されるオブジェクトの属性情報に従って、OCR処理を実行する対象領域に対する属性情報を生成することにより、ユーザによる当該属性情報の入力作業を軽減させることができる。
【0177】
<図24の説明>
【0178】
次に、図24を用いて、帳票印刷時に帳票フォームデータの印刷用紙にデータ認識情報(OCR定義情報)を二次元バーコード(QRコード)で付加する仕組みについて説明する。
【0179】
図24は、帳票フォームデータの印刷指示時に表示される帳票印刷設定画面の一例を示す画面図である。この帳票印刷設定画面は、帳票フォームデータを印刷するときに、帳票フォームデータのアプリケーションプログラム(フォームエディタソフトウェア301)により表示部に表示される印刷設定画面の一例である。
【0180】
この帳票印刷設定画面において、「OCR定義を付加して印刷する」チェックボックス2401がチェックされることで、帳票フォームデータの印刷用紙にデータ認識情報であるOCR定義情報を二次元バーコードであるQRコードとして付加して印刷することが指示できる。また、「OCR定義:裏面に印刷する」チェックボックス2402がチェックされることで、データ認識情報であるOCR定義情報のQRコードを、帳票フォームデータの印刷用紙の裏面に印刷することが指示できる。このチェックがなければ、OCR定義情報のQRコードは、帳票フォームデータの印刷用紙の表面の所定の個所(たとえば右下の位置)に配置されて印刷されることになる。
【0181】
なお、「OCR定義:裏面に印刷する」チェックボックス2402は、必須項目ではなく、この項目は持たせずに、固定的にQRコードを裏面に印刷するようにしてもよい。
【0182】
データ認識情報であるOCR定義情報は、図9のフォームのOCR定義テーブルの情報と、図10のオブジェクトのOCR定義テーブルの情報とを含んでいるものとする。なお、本実施の形態では、復元情報を埋め込む対象として、2次元バーコードのQRコードを用いているが、これに限るものではなく、印刷用紙にRF−IDタグが付いており、その書き込み機能をプリンタが備えている場合には、RF−IDタグに復元情報を記録してもよいし、その他の情報付加機能を用いてもよい。以下、本実施の形態では、QRコードを用いた例を説明する。
【0183】
<図25の説明>
【0184】
次に、図25を用いて帳票印刷の指示がなされたときの情報処理装置における印刷データ生成処理について説明する。
【0185】
図25は、本発明の情報処理装置における帳票印刷処理手順の一例を示すフローチャートである。
【0186】
図25に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0187】
まず、ステップS2501では、フォームエディタソフトウェア301は、ユーザ操作により生成された帳票フォームデータ(枠線や、フォーム定義テーブル310、オブジェクト定義テーブル311)を用いて、帳票フォームデータの印刷データを生成する。具体的には、ユーザにより出力先のプリンタの選択を受け付けると、ユーザ操作により生成された帳票フォームデータに従って、その出力先のプリンタで印刷処理可能なPDL形式またはイメージデータ形式の印刷データを生成する。
【0188】
次にステップS2502では、生成された印刷データに、OCR定義情報を付加して印刷を行うか否かを判定する。つまり、印刷設定画面(図24)を介するユーザの指示(チェックボックス2401がチェック済み)により、データ認識情報であるOCR定義情報を付加して印刷データを生成することが指定されているか否かを判定する。OCR定義情報を付加して印刷データを生成すると判定された場合には(YES)、ステップS2503に処理を進め、OCR定義情報を付加しないで印刷データを生成すると判定された場合には(NO)、ステップS2505に処理を進める。
【0189】
次に、ステップS2503では、ユーザにより選択され印刷要求がなされた帳票フォームデータに対応する、図9のフォームのOCR定義テーブルの情報と、図10のオブジェクトのOCR定義テーブルの情報とを記憶部308から読み出し、これらの情報と、ユーザにより出力先として選択されたプリンタを識別するプリンタの個体識別情報(プリンタ個体識別情報)(プリンタ識別情報とも言う)とを含む二次元バーコードであるQRコードを生成する。なお、この印刷データの生成処理は、フォームエディタソフトウェア301の制御手順であるため、印刷要求された帳票フォームデータに対応するOCR定義テーブル(図9と図10)は、フォームエディタソフトウェア301自身が特定する。
【0190】
ここで、生成されるQRコードには、オブジェクトのOCR定義テーブルの情報内の認識領域(座標)が含まれている。この認識領域(座標)のうち、オブジェクトのOCR定義テーブルのOCR対象オブジェクトの領域名がQRコードの認識領域(座標)は、標準印字位置座標として、QRコードに含まれている。また、実際に印刷された帳票用紙のQRコードの印字位置座標と、標準印字位置座標との誤差を許容する範囲(誤差範囲)は、予め、情報処理装置に設定されており、情報処理装置のメモリに記憶されている。ここでは、この誤差範囲も含めてQRコードが生成される。
【0191】
続いてステップS2504では、帳票フォームデータの印刷データに、ステップS2503で生成した二次元バーコードのOCR定義情報(QRコード)を付加する。ここでQRコードが付加される位置は、オブジェクト定義テーブル(図8)のオブジェクトの種別が「出力領域(QRコード)」の「配置」に定められている領域(図10のオブジェクトのOCR定義テーブルのOCR対象オブジェクトの領域名が「QRコード」に対する認識領域)に配置される。
【0192】
このように、二次元バーコードのOCR定義情報(QRコード)を帳票フォームデータの印刷データの表面の所定の位置(オブジェクト定義テーブル(図8)又はオブジェクトのOCR定義テーブルに定められたQRコードを配置する位置)に付加する。
【0193】
そして、ステップS2505では、ステップS2504でQRコードが付加された印刷データをプリンタで印刷すべく出力する。出力先は、複合機103(プリンタ)に対して直接送信してもいいし、プリントサーバに出力し、プリントサーバからプリンタに転送して印刷させてもよい。そして、複合機103(プリンタ)は、情報処理装置から受信した印刷データの印刷を行い、帳票印刷された印刷用紙を出力する。
【0194】
なお、ステップS2505で送信される印刷データは、帳票フォームデータが印刷される面には、帳票フォームデータを識別する識別情報が印刷されている。
【0195】
すなわち、ステップS2501で印刷データを生成する際に、帳票フォームデータを識別する識別情報を印刷データに含めるようにして生成する。
【0196】
この帳票フォームデータを識別する識別情報をスキャナ部で読み取り認識することで、印刷用紙に印刷されている帳票フォームデータを識別することができ、対応するOCR定義情報を、図9及び図10のOCR定義テーブルから特定することが可能となる。
【0197】
以上のように、図25の処理により、ステップS1404で生成されたOCR定義情報(データ認識情報)を含むQRコードを、OCR定義情報内のQRコードの認識領域に示される位置に付加した印刷データを生成する。
【0198】
<図26の説明>
【0199】
次に、図26を用いて帳票印刷されている印刷用紙が画像読取部(スキャナ)で読み取られ、読み取られたデータが入力された情報処理装置におけるデータ認識処理について説明する。
【0200】
図26は、本発明の情報処理装置におけるデータ認識処理手順の一例を示すフローチャートである。
【0201】
図26に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0202】
ステップS2601では、図示省略されたスキャナ装置(画像読取部(スキャナ))で帳票の印刷用紙(帳票用紙)を読み取り処理した結果である画像を入力し記憶部に記憶する。すなわち、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する。スキャナ装置は情報処理装置にI/Fを介して直接接続されていてもよいし、ネットワークを介して通信可能な複合機のスキャナ部で読み取った画像をネットワーク通信で受信してもよい。
【0203】
次に、ステップS2602では、ステップS2601で入力され記憶部に記憶された画像に含まれているQRコード内のデータを全て読み込み取得する。すなわち、ここでは、QRコードから、データ認識処理を行う領域の位置と共に、データ認識処理を行う領域の位置であって、QRコードが配置されている位置も取得される。
【0204】
そして、ステップS2603では、QRコードから読み込んだデータを解析し、該データの中に、OCR定義情報が含まれているか否かを判定する。そして、OCR定義情報が含まれていると判定された場合は(YES)、ステップS2604に処理を進め、OCR定義情報が含まれていないと判定された場合は(NO)、ステップS2606に処理を進める。
【0205】
ステップS2604では、ステップS2601で入力された画像を解析して、QRコードが帳票用紙(印刷用紙)に印字されている位置(データ認識処理を行う領域の位置)を検出し、該位置の座標(印字位置座標)を取得する。
【0206】
ここで、印字位置座標とは、帳票用紙に印字されたQRコードの左上の頂点の座標(X、Y)と、右下の頂点の座標(X、Y)である。
【0207】
そして、ステップS2605において、ステップS2604で取得した印字位置座標と、ステップS2602でQRコードから取得した標準印字位置座標との差を算出し、その差が、ステップS2602でQRコードから取得した誤差範囲(所定範囲)内であるか否かを判定する。
【0208】
そして、ステップS2605で、当該差が、誤差範囲内であると判定された場合は(YES)、処理をステップS2609に移行する。一方、ステップS2605で、当該差が、誤差範囲を超えていると判定された場合は(NO)、当該差に従って、OCR処理を行う領域の座標を補正する補正量を算出する(ステップS2607)。ステップS2605の詳細処理は、図27を用いて、後で説明する。そして、ステップS2607で算出された補正量だけ、ステップS2602でQRコードから読み込んだOCR定義情報の認識領域をそれぞれ補正し(ステップS2608)、処理をステップS2609に移行する。
【0209】
すなわち、ステップS2608では、ステップS2604で検出されたQRコードが配置されている位置と、ステップS2602で取得されたQRコードの位置とに従って、ステップS2602で取得されたデータ認識処理(OCR処理)を行う領域の位置(OCR定義情報)を補正する(補正手段)。
【0210】
ステップS2609では、ステップS2605で誤差範囲内であると判定された場合は(YES)、ステップS2602で読み込んだ図9、図10のデータ(OCR定義情報)を用いて、ステップS2601で入力された画像のOCR処理(データ認識処理)を実行する。すなわち、OCR定義情報に示される画像データの領域に対してOCR処理(データ認識処理)を行う。
【0211】
また、ステップS2609では、ステップS2605で誤差範囲を超えていると判定された場合は(NO)、ステップS2608で補正されたOCR定義情報を含むデータ(図9、図10のデータ)を用いて、ステップS2601で入力された画像のOCR処理(データ認識処理)を実行する。
【0212】
OCR定義情報には、認識領域の座標が含まれており、その座標で示される領域に対してOCR処理を行う。プリンタによる帳票用紙の印字位置のずれに応じて、ステップS2608でこの認識領域の座標を補正したことにより、精度良くデータ認識処理を実行することが可能となる。
【0213】
そして、情報処理装置は、ステップS2609によるOCR処理の結果を表示部に出力し終了する。
【0214】
また、ステップS2603において、QRコードから読み込んだデータの中に、OCR定義情報が含まれていないと判定された場合は(NO)、処理をステップS2606に移行し、図22に示すフローチャートの処理を実行して、処理を終了する。
【0215】
OCR定義付加情報が付与されていない場合には、図22に示すフローチャートにおいて、ステップS2201で、帳票フォームデータの印刷用紙(帳票用紙)に印刷されている帳票識別情報を用いて、帳票フォームデータを識別し、識別された帳票フォームデータに対応する図9、図10のOCR定義テーブルを記憶部308から読み込む。
【0216】
そして、ステップS2202において、読み込んだフォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)内のデータを、OCRするために設定する。そして、ステップS2202で設定されたデータを用いてOCRを実行し(ステップS2203)、その認識結果を記憶部に記憶させるべく出力して(ステップS2204)処理を終了する。
【0217】
また、ステップS2601では、入力される画像(データ)が拡大又は縮小されている場合が考えられる。そこで、ステップS2604の処理を実行した後に、入力された画像が拡大又は縮小されているか否かを判定し、拡大又は縮小されていないと判定された場合は、処理をステップS2605に移行し、拡大又は縮小されていると判定された場合は、その拡縮されている割合(%)から、ステップS2602で取得した標準印字位置座標と、誤差範囲と、ステップS2604で取得した印字位置座標とを補正し、処理をステップS2605に移行するようにしてもよい。このような処理を追加することで、入力された画像(データ)が拡大又は縮小されている場合でも、適切にずれを補正し、認識処理の精度を向上させることが可能となる。
<図27の説明>
【0218】
次に、図27を用いて、図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理について説明する。
【0219】
図27に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0220】
図27は、図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理を示すフローチャートである。
【0221】
図27に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0222】
情報処理装置は、ステップS2602でQRコードから取得した標準印字位置座標と、印字位置座標との差から、ステップS2602でQRコードから取得したOCR定義情報の認識領域の座標を補正する補正量を算出する(ステップ2701)。ここで算出された補正量に従って、ステップS2608で、OCR定義情報の認識領域の座標を補正する。ここでは、更に、認識領域が、画像データの領域内に収まるように、クリアエリアや、画像データのサイズなどを考慮して、補正量を算出するようにしても良い。
【0223】
そして、情報処理装置は、ステップS2702で、ユーザの操作指示に従って、プリンタ管理サーバ104に通知を行うか否かを判定する(ステップS2702)。すなわち、ユーザの操作により、プリンタ管理サーバ104に通知を行う旨の指示を受け付けると(S2702:YES)、QRコードからプリンタ個体識別情報を取得して(ステップS2703)、当該プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差をプリンタ管理サーバ104に送信する(ステップS2704)。そして、処理をステップS2608に戻す。
<図28の説明>
【0224】
次に、図28を用いて、プリンタ管理サーバ104が実行するプリンタの印字位置調整処理について説明する。
【0225】
図28は、プリンタ管理サーバ104が実行するプリンタの印字位置調整処理を示すフローチャートである。
【0226】
図28に示す各ステップは、プリンタ管理サーバ104のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0227】
プリンタ管理サーバ104は、情報処理装置101から、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差を受信すると(ステップS2801)、当該プリンタ個体識別情報に該当する(当該プリンタ個体識別情報を含む)プリンタ管理情報をプリンタ管理テーブル(図29)から取得する(ステップS2802)。ここで、プリンタ管理情報とは、プリンタ管理テーブル(図29)のレコードの情報である。
【0228】
プリンタ管理テーブル(図29)は、プリンタ管理サーバ104の外部メモリに記憶されている。
【0229】
図29は、プリンタ管理テーブルの一例を示す図である。
【0230】
プリンタ管理テーブルは、「No」、「個体識別情報」、「メーカー」、「機種」、「タイプ」、「設置場所」、「IPアドレス」、「リモート印字調整」、「メンテナンス開始可能時間」、「通知先」、「管理者」などの項目から構成される。
【0231】
「No」は、プリンタ管理情報(レコード)を識別するための識別情報である。「個体識別情報」は、プリンタを識別するプリンタ個体識別情報が格納される項目である。「メーカー」は、当該プリンタを製造しているメーカーの名前が格納される項目である。「機種」は、当該プリンタの機種名が格納される項目である。「タイプ」は、当該プリンタの種類(複合機、モノクロLBP(モノクロレーザープリンタ)、カラーLBP(カラーレーザープリンタ)など)を示す名称が格納される項目である。「設置場所」は、当該プリンタが設置されている場所を示す情報が格納される項目である。「IPアドレス」は、当該プリンタのIPアドレスが格納される項目である。「リモート印字調整」は、当該プリンタがリモートでの印字位置調整が実行可能か否かを示す情報(可または否)が格納される項目である。「メンテナンス開始可能時間」は、印字位置調整の実行開始可能時間が格納される項目である。「通知先」は、当該プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが格納される項目である。すなわち、「通知先」には、当該プリンタを管理する管理者が操作する管理者端末に送信するメールアドレスが格納される。「管理者」は、当該プリンタの管理者(メンテナンスをしているユーザ)の名前が格納される項目である。
【0232】
そして、プリンタ管理サーバ104は、ステップS2802で、該当するプリンタ管理情報をプリンタ管理テーブル(図29)から取得すると、当該プリンタ管理情報に含まれている「リモート印字調整」の項目が「可」か「否」を判定する(ステップS2803)。すなわち、当該プリンタがリモートでの印字位置調整が実行可能か否かを判定する。
【0233】
そして、プリンタ管理サーバ104は、ステップS2803で「リモート印字調整」の項目が「可」と判定(リモートでの印字位置調整が実行可能なプリンタと判定)された場合は(YES)、処理をステップS2804に移行し、「リモート印字調整」の項目が「否」と判定(リモートでの印字位置調整が実行不可能なプリンタと判定)された場合は(NO)、処理をステップS2806に移行する。
【0234】
ステップS2804において、プリンタ管理サーバ104は、取得したプリンタ管理情報に含まれる「メンテナンス開始可能時間」に示される印字位置調整の実行開始可能時間以降に、ステップS2801で受信したプリンタ個体識別情報により識別されるプリンタの印字位置調整を行うコマンド(リモート印字位置調整コマンド)を生成して登録する。ここで生成されるコマンドは、ステップS2801で受信した、標準印字位置座標と印字位置座標との差だけ印字位置を補正するようなコマンドである。
【0235】
そして、プリンタ管理サーバ104は、「メンテナンス開始可能時間」に示される印字位置調整の実行開始可能時間以降に、生成したコマンド(リモート印字位置調整コマンド)を、該プリンタ個体識別情報により識別されるプリンタに送信するようにスケジュールに登録し、スケジュールを開始する(ステップS2805)。そして、そのスケジュールの時間(メンテナンス開始可能時間)になると、プリンタ管理サーバ104は、当該生成したコマンドをプリンタに送信して、当該コマンドを受信したプリンタは、そのコマンドに従って、印字位置を補正する処理を実行する。
【0236】
すなわち、プリンタ個体識別情報(プリンタ識別情報)で識別されるプリンタでの印字位置の補正を指示するべく、標準印字位置座標と印字位置座標との差を含むコマンドを、当該プリンタ識別情報で識別されるプリンタに送信する(送信手段)。
【0237】
ステップS2806において、プリンタ管理サーバ104は、ステップS2802で取得したプリンタ管理情報に含まれる「通知先」に、プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが含まれている(登録されている)か否かを判定し、当該メールアドレスが含まれていると判定された場合(YES)、当該メールアドレスに、調整依頼を示す電子メールを送信する(ステップS2807)。ステップS2807で送信される電子メールには、ステップS2802で取得したプリンタ管理情報と、ステップS2801で受信した、標準印字位置座標と印字位置座標との差とが含まれている。
【0238】
一方、ステップS2806において、ステップS2802で取得したプリンタ管理情報に含まれる「通知先」に、プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが含まれていないと判定された場合は(NO)、ステップS2704で、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差とを送信した情報処理装置にその旨を返信して、処理を終了する。
【0239】
また、本実施の形態では、図28に示す各ステップの処理をプリンタ管理サーバが実行することで説明したが、図28に示す各ステップの処理を情報処理装置101で実行するようにしてもよい。その場合は、ステップS2704で、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差をプリンタ管理サーバ104に送信するのではなく、自身の情報処理装置101内に送信するようにすればよい。
【0240】
以上、本発明によれば、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることができる。
【0241】
また、本実施の形態によれば、帳票フォームデータの生成時に設定する設定内容を利用して、OCR処理を行うフィールド領域に対するOCR定義情報を生成し、生成されたOCR定義情報をQRコードのような付加情報に変換して帳票フォームデータの印刷データに付加して印刷させるので、ユーザによるフィールド領域のデータ認識情報の入力作業や、データ認識処理を行う情報処理装置にデータ認識情報を予め用意しておくという管理者の負担を軽減させることができる。
【0242】
すなわち、帳票フォームデータの生成時に設定したフィールド領域に書き込まれるデータの属性情報(文字種、文字サイズ等)を用いてデータ認識情報(OCR定義情報)を自動的に生成し、生成されたデータ認識情報を、帳票フォームデータに付加して帳票フォームデータの印刷データを生成することである。これにより、帳票フォームデータの印刷用紙には、データ認識情報が付加されているので、この印刷用紙を読み取るだけで、データ認識情報を取得でき、データ認識処理(OCR処理)の精度が高くなる。
【0243】
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0244】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0245】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0246】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0247】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0248】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0249】
また上記のソフトウェアで実現する各処理を、ファームウェアやハードウェア構成にして、各処理を各手段として実現することも可能であり、本発明の技術的範囲はこのようなファームウェアやハードウェア構成による実現も含むものである。
【符号の説明】
【0250】
101 情報処理装置
102 情報処理装置
103 複合機
【0251】
104 プリンタ管理サーバ
105 ネットワーク
【技術分野】
【0001】
本発明は、情報処理装置、及びその制御方法、プログラムに関し、特に、データ認識の精度を向上させるための技術に関するものである。
【背景技術】
【0002】
従来、一定の書式(テンプレート)に変数(文字や数値等のテンプレートに固定されないデータ)等のデータをオーバーレイして帳票などを作成している。また、このようにして帳票等を作成するために用いるテンプレートのデータを作成するためのソフトウェアも開発されている。
【0003】
このテンプレートのデータ(テンプレートデータ)は、具体的には、一定の書式である帳票などのフォームのデータ(フォームデータ)である。このソフトウェアを用いて、帳票のフォームを作成したり、そのフォームの一部の領域に、変数等のデータを出力する出力領域や、ユーザからの文字等の入力(記載)が可能な印字領域等を設定したりすることで、テンプレートデータを作成している。このようにして作成されたテンプレートデータに、該変数などを重ね合わせて(オーバーレイして)、目的の帳票などを出力している。
【0004】
また、従来、このようにして帳票が出力された後に、帳票の出力領域に出力された変数や、ユーザにより印字領域に記載された文字などを読み取るために、帳票に対してOCR処理(文字認識処理)を実行している。OCR処理を効率的に行うため、ユーザの指示に応じて、帳票の一部の領域(出力領域や印字領域など)をOCR処理する領域として規定されたOCRテンプレートを生成し、このOCRテンプレートに従ってOCR処理を実行している。
【0005】
例えば、特許文献1には、スキャナから読み取った帳票のイメージを表示し、表示されたイメージの中から、ユーザにより指示された領域のフィールド項目属性情報を作成することが開示されている。
【0006】
また、特許文献2には、スキャナで読み取られ得られた画像から、帳票の左端部付近と右端部付近の2点の特徴部位座標と、予め格納されている特徴部位座標とから、ずれ量を判定することが記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−044256号公報
【特許文献2】特開2004−326672号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1では、帳票のテンプレートデータを作成する際に、帳票の出力領域などのオブジェクトを設定し、該オブジェクトに対して、文字のフォント(ゴシック体や明朝体などの書体)やフォントサイズ、出力されるデータが文字か数字かを示す文字/数字属性、出力される文字又は数字等の桁数などの属性情報を設定し、その後OCR処理を行う際に、OCR処理する対象領域や、OCR処理で用いる辞書などの属性情報(OCR定義情報)を当該対象領域に設定しなければならない。すなわち、ユーザは、テンプレートデータを作成する際とOCR処理を行う際に、属性情報の設定を行わなくてはならず煩雑であった。
【0009】
また、帳票フォームデータが印刷された印刷用紙を読み取って、フィールド領域に対して文字認識処理を行うために、あらかじめ文字認識装置側にOCR定義情報を用意しておかなければならず、OCR定義情報が用意されていない文字認識装置では効率的に文字認識処理が行えないという問題点がある。
【0010】
また、帳票フォームデータを印刷する際に、プリンタ毎に印字ずれなどが発生する場合があり、このような印字がずれている帳票用紙に対して、適切なOCR定義情報に基づいて特定される対象領域に対してOCR処理を行ったとしても、適切にOCR処理が行われない場合があった。
【0011】
特許文献2においては、あらかじめ特徴部位座標を設定し装置内に格納しなければならず、このような情報が用意されていない装置では、精度良く文字認識処理を行えないという問題がある。
【0012】
本発明の目的は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることである。
【課題を解決するための手段】
【0013】
本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置であって、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段と、を備えることを特徴とする。
【0014】
また、本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置の制御方法であって、前記情報処理装置の検出手段が、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出工程と、前記情報処理装置の取得手段が、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得工程と、前記情報処理装置の補正手段が、前記検出工程で検出された位置と、前記取得工程で取得された位置とに従って、前記取得工程で取得された位置を補正する補正工程と、前記情報処理装置のデータ認識手段が、前記補正工程で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識工程と、を備えることを特徴とする。
【0015】
また、本発明は、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置で実行可能なプログラムあって、前記情報処理装置を、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段として機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本実施形態に係るシステムの構成例を示す図である。
【図2】図2は、図1に示した情報処理装置101及び102のハードウェア構成を示すブロック図である。
【図3】図3は、図1に示した情報処理装置のソフトウェア構成の一例を示したブロック図である。
【図4】図4は、フォームエディター画面400の一例である。
【図5】図5は、フォームの属性情報を入力するための帳票フォームのプロパティ画面500の一例である。
【図6】図6は、オブジェクトの属性(定義)を入力するためのプロパティ画面の一例である。
【図7】図7は、フォームを定義するためのデータが記憶されるフォーム定義テーブルの一例である。
【図8】図8は、オブジェクトの定義(属性)するデータが記憶されるオブジェクト定義テーブルの一例である。
【図9】図9は、フォームのOCR定義テーブルの一例を示す図である。
【図10】図10は、オブジェクトのOCR定義テーブルの一例を示す図である。
【図11】図11は、出力データの一例を示す図である。
【図12】図12は、フォーム(テンプレート)のOCR処理対象の領域を示す表示画面の一例を示す図である。
【図13】図13は、複合機103により読み取られた、ユーザにより記載された帳票のOCR処理対象の領域を示す表示画面の一例を示す図である。
【図14】図14は、本発明のシステムにおける第1の制御処理手順の一例を示すフローチャートである。
【図15】図15は、図14に示すステップS1404の詳細処理の一例を示すフローチャートである。
【図16】図16は、図15に示すステップS1508の詳細処理の一例を示すフローチャートである。
【図17】図17は、辞書テーブルの一例である。
【図18】図18は、図16のステップS1602、図19のステップS1902、図20のステップS2002、図21のステップS2102の処理の詳細処理の一例を示すフローチャートである。
【図19】図19は、図15のステップS1509の処理の詳細処理の一例を示すフローチャートである。
【図20】図20は、図15のステップS1510の処理の詳細処理の一例を示すフローチャートである。
【図21】図21は、図15のステップS1511の処理の詳細処理の一例を示すフローチャートである。
【図22】図21は、本発明のシステムにおける第2の制御処理手順の一例を示すフローチャートである。
【図23】図23は、オブジェクトの配置領域2301と、OCR処理を行う領域(OCR処理の対象領域2302)と、クリアエリア2303の関係を説明するための概念図である。
【図24】図24は、帳票フォームデータの印刷指示時に表示される帳票印刷設定画面の一例を示す画面図である。
【図25】図25は、本発明の情報処理装置における帳票印刷処理手順の一例を示すフローチャートである。
【図26】図26は、本発明の情報処理装置におけるデータ認識処理手順の一例を示すフローチャートである。
【図27】図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理を示すフローチャートである。
【図28】プリンタ管理サーバ104が実行するプリンタの印字位置調整処理を示すフローチャートである。
【図29】プリンタ管理テーブルの一例を示す図である。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
<図1の説明>
【0019】
図1は、本実施形態に係るシステムの構成例を示す図である。図1に示すように、情報処理装置101と情報処理装置102とプリンタ管理サーバ104と複合機(画像処理装置)103は、ネットワーク105を介して相互に通信可能に接続されている。
【0020】
複合機103は、スキャナ機能や印刷機能等を備えたいわゆるMFP(Multifunction Peripheral)などの画像処理装置であって、情報処理装置からの要求に応じて印刷処理を実行することや、帳票(紙)などを読み取って(スキャンして)生成した電子化したデータ(電子データ)を情報処理装置に送信することが可能である。
【0021】
情報処理装置は、ネットワーク105を介して複合機103に帳票などの印刷要求を行うことが可能である。また、情報処理装置は、帳票などのテンプレート(帳票フォームデータ)を作成、編集する機能や、テンプレートを作成する際に入力するフォームの属性情報(フォーム定義テーブル(図7)内のデータであるフォーム定義情報)やオブジェクトの属性情報(オブジェクト定義テーブル(図8)内のデータであるオブジェクト定義情報)から、OCRするために設定するOCR定義情報(図10内のデータ)を生成する機能などを備えている。
【0022】
また、情報処理装置は、複合機から送信される、ユーザにより記載された帳票の電子データを表示する機能も備えている。図13は、複合機103により読み取られた、ユーザにより記載された帳票のOCR処理対象の領域を示す表示画面の一例を示す図である。図13に示すように、1302、1303、1304、1305、1306、1307、1308の領域は、OCR処理対象の領域を示している。
【0023】
プリンタ管理サーバ104は、情報処理装置から受信したデータに従って、印字位置を補正するためのコマンドを複合機103に送信する機能や、複合機の管理者が操作する端末にメールを送信する機能を備えている。
【0024】
なお、本実施の形態では、データ認識処理の一例として好適な文字認識処理(OCR処理)を用いて説明しているが、これに限るものではなく、記号認識処理(OMR処理)でも適用可能である。
<図2の説明>
【0025】
以下、図2を用いて、図1に示した情報処理装置101及び102及び104のハードウェア構成について説明する。
【0026】
図2は、図1に示した情報処理装置101及び102及び104のハードウェア構成を示すブロック図である。
【0027】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output
【0028】
System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PC(情報処理装置)の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0029】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0030】
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器(表示部)への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0031】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0032】
208は通信I/Fコントローラで、ネットワーク105を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0033】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0034】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられるファイル及び各種テーブル等も、外部メモリ211に格納されている。
<図3の説明>
【0035】
図3は、図1に示した情報処理装置のソフトウェア構成の一例を示したブロック図である。
【0036】
外部メモリ211には、フォームエディタソフトウェア301と、OCRソフトウェアプログラム318と、フォーム定義テーブル(図7)と、オブジェクト定義テーブル(図8)と、下書きとなるイメージデータ312と、帳票フォームデータ全体のOCR定義テーブル(図9)と、帳票フォームデータ内のフィールド領域に書き込まれるオブジェクトのOCR定義テーブル(図10)と、辞書テーブル(図17)と、OCR処理するために用いる各種辞書(316)と、OCRエンジンによる認識処理結果が出力された出力結果317と、出力データ(図11)とが記憶される。
【0037】
フォームエディタソフトウェア301(以下、フォームエディタソフトとも言う)は、帳票などのフォームのテンプレートを作成又は編集するために用いられるソフトウェアである。
【0038】
フォームエディタソフト301は、ユーザからの指示に応じて、帳票などのフォームのテンプレートのデータや、当該テンプレートの各種属性情報を入力するフォームデータ・属性入力部302と(図5)、テンプレート内に配置する各種オブジェクトのデータや当該オブジェクトの各種属性情報を入力するオブジェクトデータ入力・属性入力部303と(図6)、302や303で入力されたデータを用いてOCR定義情報(図10)を生成するOCR定義情報生成部304と、テンプレートの下書きとなるイメージデータ(テンプレートとオーバーレイするデータ)を生成するイメージデータ生成部305と、OCR定義情報生成部304で生成されたOCR定義情報をOCRエンジンに設定するためにOCRソフトウェアが読み込む所定の記憶領域に当該OCR定義情報を記憶するOCR定義情報設定部306と、OCR処理(文字認識処理)を実行した結果(認識結果)を出力する出力部307と、を備えている。なお、イメージデータ生成部305で生成されたイメージデータは、記憶部308に記憶される。
【0039】
ここで、302で入力されるテンプレート(フォーム)のデータや、当該テンプレートの各種属性情報はフォーム定義テーブル(図7)310に記憶され、303で入力される各種オブジェクトのデータや当該オブジェクトの各種属性情報は、オブジェクト定義テーブル(図8)311に記憶される。このフォーム定義テーブル310とオブジェクト定義テーブル311内のデータは、テンプレートとなるフォーム(様式)を構成(定義)するためのデータ309である。
【0040】
OCR定義情報生成部304は、このように記憶部308に記憶されたフォーム定義テーブル(図7)やオブジェクト定義テーブル(図8)内のデータからOCR定義情報を生成する。
【0041】
そして、OCR定義情報設定部306は、生成されたOCR定義情報を、記憶部308に記憶されたオブジェクトのOCR定義テーブル315に記憶する。
【0042】
これらフォームのOCR定義テーブル314及びオブジェクトのOCR定義テーブル315は、OCR処理(文字認識処理)を実行するために用いられるデータ313である。
【0043】
記憶部308は、外部メモリ211等の記憶手段であり、OCR処理で用いる各種辞書316が記憶されている。
【0044】
OCRソフトウェアプログラム318(OCRソフトウェアとも言う)は、記憶部308に記憶されたフォームのOCR定義テーブル314とオブジェクトのOCR定義テーブル315内のOCR定義情報を読み込む読込部319と、読込部319で読み込んだデータ(OCR定義情報)を用いて文字認識処理を行う文字認識処理部320(OCRエンジン)と、文字認識処理部320で認識された結果を記憶部308に記憶させるべく出力する出力部321とを備えている。
【0045】
ここで、出力部321は、文字認識処理部320での認識結果を、CRT210などの表示部に表示するために出力することや、また、複合機103に印刷させるべく出力することが可能である。
<図14の説明>
【0046】
次に、図14のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0047】
図14は、本発明のシステムにおける第1の制御処理手順の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1401〜S1406は各ステップを示す。
【0048】
まず、情報処理装置101のCPU201は、フォームエディタソフトウェアプログラムを実行すると、図4に示すフォームエディター画面400をCRT210(表示部)に表示する。
【0049】
図4は、フォームエディター画面400の一例である。
【0050】
次に、情報処理装置101のCPU201は、ユーザから帳票などのフォームの入力を受け付ける。具体的には、情報処理装置101のCPU201は、ユーザにより設定ボタン415が押下されたことを検知すると、図5に示す帳票フォームのプロパティ画面が表示される。
【0051】
図5は、フォームの属性情報を入力するための帳票フォームのプロパティ画面500の一例である。
【0052】
図5に示す帳票フォームのプロパティ画面500は、帳票のフォーム名(名称)を入力する部501と、出力する用紙の大きさ(サイズ)を入力する部503と、印刷の向きを入力する部507と、グリッドの間隔を入力する部509と、余白を入力する部512と、レイアウトの単位を入力する部517と、OCR処理を行うかを入力する部518とから構成される。この帳票フォームのプロパティ画面500の各部で入力される情報のそれぞれをフォーム(テンプレート)の属性情報として説明する。
【0053】
ここで、帳票フォームのプロパティ画面500について詳しく説明する。
【0054】
502は、ユーザによる帳票のフォーム名(名称)の入力を受け付けるテキストボックスである。
【0055】
また、504は、用紙サイズ(A4など)を選択することができるプルダウンであり、505は、用紙の幅を入力することができるテキストボックスであり、506は、用紙の高さを入力することができるテキストボックスである。また、508は、印刷の向き(縦か横)を入力することができるプルダウンである。
【0056】
また、510はグリッドの間隔(高さ)を、511はグリッドの間隔(横)を入力できるテキストボックスである。513、514、515、516は、テンプレートの余白を入力するテキストボックスであり、それぞれテンプレートの上側、下側、左側、右側の余白を入力することができる。
【0057】
また、517は、レイアウトの単位を入力できるプルダウンであり、たとえば、ミリメートル(mm)などを入力することが可能である。
【0058】
また、519は、図4に表示されているフォームに対してOCR処理を実行する設定を入力することができるチェックボックスであり、ここにチェックされている場合はOCR処理を実行する設定が入力されることとなる。520は、図4に表示されているフォームに対してOCR処理を実行しない設定を入力することができるチェックボックスである。ここにチェックされている場合はOCR処理を実行しない設定が入力されることとなる。
【0059】
ここで説明した帳票フォームのプロパティ画面500の各部に入力された属性情報は、グリッドの間隔や余白などの、フォームを定義するためのデータである。
【0060】
情報処理装置101のCPU201は、ユーザにより帳票フォームのプロパティ画面500の各部で属性情報が入力され、OKボタン521が押下されると、入力された属性情報はフォーム定義テーブル(図7)に記憶される(ステップS1401)。また、キャンセル522ボタンが押下されると、帳票フォームのプロパティ画面500を閉じる。
【0061】
図7は、フォームを定義するためのデータが記憶されるフォーム定義テーブルの一例である。
【0062】
次に、情報処理装置101のCPU201は、フォームエディター画面400に表示されるテンプレート(フォーム、又は帳票フォームデータという)401に、ユーザの指示に応じてオブジェクトを配置して表示する。
【0063】
すなわち、帳票フォームデータに、データが書き込まれる領域を示すフィールド領域を設定する(フィールド設定手段)。
【0064】
具体的には、表示ボタン416がユーザにより押下されると、フィールド一覧画面417を表示する。
【0065】
この画面には、固定フィールド418や、可変フィールド419などのオブジェクトを配置するためのオブジェクトが表示されている。
【0066】
ここで、固定フィールドとは、固定の(変更のない)データを出力する領域であり、可変フィールドとは、可変のデータを出力する領域である。ユーザにより固定フィールド418をドラッグアンドドロップしてテンプレート401上に配置すると、たとえば、413のような出力領域をテンプレート上に設定することができる。可変フィールドの設定も固定フィールドと同様に、可変フィールド419をドラッグアンドドロップしてテンプレート401上に配置することで、可変フィールドをテンプレート上に設定することができる。
【0067】
また、フィールド一覧画面417のOLEフィールド420は、QRコードなどの二次元コードの出力を設定できるオブジェクトであり、可変フィールドと同様、OLEフィールド420をドラッグアンドドロップすることにより、テンプレート401上に配置される。たとえば、414のような出力領域をテンプレート上に設定することができる。ここで、414は、QRコードを出力するための領域として設定された例を示している。
【0068】
また、ユーザにより、421のオブジェクトが押下され、KB209から文字が入力されることにより、テンプレート401上に文字を直接入力することもできる。 たとえば、403や404、406、407、408、409、410、411は、このようにして文字が入力されている。
【0069】
405は、チェックボックスのオブジェクトが入力されたものである。405は、ユーザによりオブジェクト422が押下され、テンプレート401が指定されることにより、情報処理装置101のCPU201は、テンプレート401上に405を入力する。また、412に示す「はしご枠」のオブジェクトもこれと同様に入力することが可能である。
【0070】
次に、情報処理装置101のCPU201は、入力されたオブジェクトがユーザの指示により選択され、ユーザの指示に応じて、選択されたオブジェクトのプロパティ画面600(図6)を表示する。たとえば、ユーザがオブジェクトを選択し、選択された状態で右クリックすることにより表示される「プロパティ」(不図示)が選択されることで、選択されたオブジェクトのプロパティ画面600(図6)が表示される。
【0071】
そして、表示されたプロパティ画面600(図6)から、ユーザの指示により、当該オブジェクトに対して、オブジェクトの定義を示すデータを入力することが可能である。
【0072】
すなわち、設定されるフィールド領域(オブジェクト)に書き込まれるデータの属性情報を設定する(属性設定手段)。
【0073】
図6は、オブジェクトの属性(定義)を入力するためのプロパティ画面の一例である。
【0074】
図6に示すオブジェクトのプロパティ画面600は、オブジェクトの名称とその種別(種類)を入力する部601と、OCR処理を行うかを入力する部604と、オブジェクトの配置位置とそのサイズを入力する部607,619と、線の属性を入力する部610と、文字の属性を入力する部614と、文字(列)の組み方向が横か縦か、また文字が全角か半角かを入力する出力定義部620と、文字枠が設定されている場合に、その文字枠の行数と桁数とを入力する部623とから構成される。
【0075】
ここで、オブジェクトのプロパティ画面600について詳しく説明する。
【0076】
602は、フィールド図形名(名称)を入力するテキストボックスであり、603は、その種別を選択入力できるプルダウンである。ここで種別とは、一例として、図形(四角)、文字、図形(チェックボックス)、文字(丸囲み)、図形(はしご枠)、出力領域(文字)、出力領域(QRコード)などを選択することができる。
【0077】
図形(四角)とは、たとえば、図4の402にしめすような、テンプレートを四角の図形(線)で囲まれたオブジェクトである。また、文字とは、たとえば、図4の403、404、406、408、410、411に入力されている文字のオブジェクトである。また、図形(チェックボックス)とは、たとえば、図4の405に示すような、チェックボックスとして用いるオブジェクトである。また、文字(丸囲み)とは、たとえば、図4の407や409に示すような、ユーザにより丸囲みされるオブジェクトである。また、図形(はしご枠)とは、たとえば、図4の412に示すような、ユーザにより文字などを入力(記入)されるオブジェクトである。
【0078】
また、出力領域(文字)とは、たとえば、図4の413に示すような、文字が出力されるオブジェクトである。なお、このオブジェクトに出力される文字は、ユーザの指示により予め、例えば出力データ(図11)として記憶されている。
【0079】
図11は、出力データの一例を示す図である。図11には、図4の413の領域(文字エリア)に出力するデータとして「※電子クーポンはこちらからアクセスしてね」という文字データと、図4の414の領域(QRコードを出力するための領域)に出力するデータとして、QRコードのデータ「ABC・・・・jpee3dw」とを示している。
【0080】
図4のテンプレートの印刷を行う際に、出力データ(図11)のデータを413、414の領域に出力して印刷を行う。そして、印刷した結果を図12に示す。
【0081】
図12は、テンプレートのOCR領域の表示画面の一例である。オブジェクトのプロパティ画面600の説明に戻る。 出力領域(QRコード)とは、たとえば、図4の414に示すような二次元コードを出力するためのオブジェクトである。
【0082】
605は、選択されたオブジェクトに対してOCR処理を実行する設定を入力することができるチェックボックスであり、ここにチェックされている場合は、選択されたオブジェクトに対してOCR処理を実行する設定が入力されることとなる。606は、選択されたオブジェクトに対してOCR処理を実行しない設定を入力することができるチェックボックスである。ここにチェックされている場合は、選択されたオブジェクトに対してOCR処理を実行しない設定が入力されることとなる。
【0083】
608は、オブジェクトの配置位置の基準位置としての、テンプレートの最も左側からの距離を入力できるテキストボックスであり、609は、テンプレートの最も上側からの距離を入力できるテキストボックスである。
【0084】
611は、オブジェクトの実線や点線などの線種を選択することができるプルダウンである。また、612は、オブジェクトの線の幅を選択入力することができるプルダウンである。また、613は、オブジェクトの線の色を選択入力することができるプルダウンである。
【0085】
615は、オブジェクトの文字のフォント(ゴシック体や明朝体など)を入力することができるプルダウンである。また、616は、オブジェクトの文字のスタイル(細字、標準、太文字など)を入力することができるプルダウンである。また、617は、オブジェクトの文字のサイズ(ポイント)を入力することができるプルダウンである。また、618は、オブジェクトの文字の色を入力することができるプルダウンである。
【0086】
619は、オブジェクトのサイズ(大きさ)を入力することができるテキストボックスである。ここでは、オブジェクトの幅と高さを入力することが可能である。
【0087】
621は、オブジェクトの文字組みの方向を選択入力できるプルダウンである。また、622は、オブジェクトの文字の出力サイズ(全角、半角など)を選択入力できるプルダウンである。624、625は、それぞれ文字枠の行数、桁数を選択入力できるプルダウンである。
【0088】
プロパティ画面600(図6)を介して、オブジェクトの定義を示すデータの入力がなされ、OKボタンがユーザにより押下されると、情報処理装置101のCPU201は、入力されたオブジェクトの定義を示すデータを図8に示すオブジェクト定義テーブルに記憶する。ユーザは、各オブジェクトに対してこの操作を行う。
【0089】
以上の通り、ステップS1402では、情報処理装置101のCPU201は、上述した表示されたプロパティ画面600(図6)から、ユーザの指示により、各オブジェクトに対して、オブジェクトの定義を示すデータの入力を受け付ける。そして、入力されたデータをオブジェクト定義テーブル(図8)に記憶させる。 図8は、オブジェクト(フィールド)の定義(属性)(フィールドの属性情報)するデータが記憶されるオブジェクト定義テーブルの一例である。
【0090】
図8に示すオブジェクト定義テーブルは、「オブジェクト番号」、「種別」、「種別内連番」、「名称」、「OCR利用区分」、「左」、「上」、「幅」、「高さ」、「行数」、「桁数」、「線種」、「線幅」、「線色」、「フォント」、「スタイル」、「サイズ」、「色」、「組方向」、「文字出力サイズ」の項目から構成される。
【0091】
「オブジェクト番号」はオブジェクトを識別する番号であり、図4の符号に括弧で示す番号に対応している。すなわち、オブジェクト番号<1>は、図4の402の枠を示している。また、「種別」は、オブジェクトの種別(種類)を示す情報である。また、「種別内連番」は、同一種別のオブジェクトを識別するために付与される連続した番号である。また、「名称」は、オブジェクトの名称である。また、「OCR利用区分」は、OCRを利用するか否かを示す情報が記憶される。OCRをするオブジェクトの場合は“する”が記憶され、OCRをしないオブジェクトの場合は“しない”が記憶される。また、「左」には、オブジェクトの配置位置の基準位置を特定する、テンプレートの最左からの位置を示す情報が記憶される。また、「上」には、オブジェクトの配置位置の基準位置を特定する、テンプレートの最上からの位置を示す情報が記憶される。また、「幅」には、オブジェクトの幅が記憶される。また、「高さ」には、オブジェクトの高さが記憶される。また、「行数」は、はしご枠などの文字の入力領域の行数である。また、「桁数」は、はしご枠などの文字の入力領域の桁数である。また、「線種」は、実線や点線などの情報である。また、「線幅」は、線の幅である。また、「線色」は、線の色である。また、「フォント」は、文字のフォントである。また、「スタイル」は、文字のスタイルである。また、「サイズ」は、文字のサイズである。また、「色」は、文字の色である。また、「組方向」は、文字(列)の組方向である。また、「文字出力サイズ」は、全角・半角などの文字出力サイズである。
【0092】
次に、情報処理装置101のCPU201は、ステップS1401で入力され記憶されたフォーム定義テーブル(図7)の「OCR利用」が“する”なのか否かを判定する(ステップS1403)。
【0093】
すなわち、フォームのプロパティ画面500の519がチェックされたか否かを判定する。519がチェックされた場合(フォーム定義テーブル(図7)の「OCR利用」が“する”の場合)(ステップS1403:YES)、記憶部に記憶されたオブジェクト定義テーブルから、OCR処理の実行に用いるOCR定義情報を生成する(ステップS1404)。
【0094】
すなわち、各オブジェクト(フィールド領域)の属性情報から、帳票フォームデータの印刷用紙の当該各フィールド領域のOCR処理(データ認識処理)で用いるデータ認識情報(OCR定義情報)を生成する(データ認識情報生成手段)。
【0095】
一方、519がチェックされず、520がチェックされた場合(フォーム定義テーブル(図7)の「OCR利用」が“しない”の場合)(ステップS1403:NO)は、OCR定義情報を生成することなく処理を終了する。
【0096】
ステップS1404の詳細処理については、図15を用いて後述する。
【0097】
次に、情報処理装置101のCPU201は、ステップS1404でOCR定義情報を生成すると、予め記憶されたフォームのOCR定義テーブル(図9)のスキャン時解像度(dpi)や印刷の向きなどを取得し、例えば以下の式を用いてイメージデータのサイズ(左上のX座標:0,左上のY座標:0,右下のX座標:以下の式で算出される値,右下のY座標:以下の式で算出される値)を決定し、テンプレートの下書きとなるイメージデータを生成する(ステップS1405)。ここで生成されるイメージデータをOCR定義情報の下書きとすることで、テンプレート内のどの領域を、OCR処理を行う領域とするかを特定することができる。
【0098】
図12は、このようにして特定された、フォーム(テンプレート)のOCR処理対象の領域を示す表示画面1200の一例を示す図である。図12は、出力データ(図11)を出力領域に出力した帳票に、OCR処理対象の領域を表示した画面である。図12では、OCR処理対象の領域として、1202、1203、1204、1205、1206、1207、1208が定義されている。なお、このOCR処理対象の領域のサイズは、ユーザの指示により補正することができる。
【0099】
(式)・右下のX座標=サイズ(幅)(mm)×スキャン時の解像度(dpi)÷25.4(mm)・右下のY座標=サイズ(高さ)(mm)×スキャン時の解像度(dpi)÷25.4(mm)
【0100】
例えば、印刷の向きが縦のA4の用紙(幅が210mmで高さが297mm)のスキャン時の解像度が300dpiである場合、上記式に、これらの値を代入すると、右下のX座標は、210(mm)×300(dpi)÷25.4(mm)=2480.349・・・となり、約2480の値となる。また、右下のY座標も、これと同様に代入すると、297(mm)×300(dpi)÷25.4(mm)=3507.87・・・となり、約3507の値となる。
【0101】
このようにして、ここで生成されるイメージデータのサイズを決定し、そのサイズのイメージデータ(画像)を生成する(ステップS1405)。
【0102】
次に、情報処理装置101のCPU201は、ステップS1404で生成したOCR定義情報を、OCRソフトウェアが読み込む記憶部に記憶することにより、当該OCR定義情報をOCRソフトウェアに設定する(ステップS1406)。
【0103】
ここで、図9について説明する。 図9は、帳票フォームデータ全体のOCR定義テーブルの一例を示す図である。
【0104】
フォームのOCR定義テーブルは、「帳票フォーム名」、「OCR利用」、「印刷時解像度」、「スキャン時解像度」、「イメージファイル名」、「クリアエリア初期値」とから構成されている。
【0105】
「帳票フォーム名」は、フォーム定義テーブル(図7)の「帳票フォーム名」に対応したデータであり、OCR定義情報生成部304でコピーされることにより記憶(生成)される。
【0106】
「OCR利用」は、フォーム定義テーブル(図7)の「OCR利用」に対応したデータであり、OCR定義情報生成部304でコピーされることにより記憶(生成)される。
【0107】
「印刷時解像度」は、ユーザの指示に応じて予め記憶される値であり、印刷時にどの解像度で印刷するかを規定したものである。したがって、フォームエディタソフト301で生成されたフォームデータはここで設定された解像度で印刷指示される。
【0108】
「スキャン時解像度」は、ユーザの指示に応じて予め記憶される値であり、スキャン時にどの解像度で読み取るかを規定したものである。したがって、フォームエディタソフト301で生成されたフォームデータはここで設定された解像度で読み取られる。
【0109】
「イメージファイル名」は、ステップS1405で生成されるイメージデータのファイル名であり、イメージデータが生成される際に、フォーム定義テーブル(図7)の帳票フォーム名をコピーすることで生成される。
【0110】
「クリアエリア初期値」は、ユーザの指示に応じて予め記憶される値であり、図23に示すように、オブジェクトの配置領域2301からOCR処理を行う対象領域2302までの幅の長さ2303である。
【0111】
図23は、オブジェクトの配置領域2301と、OCR処理を行う領域(OCR処理の対象領域2302)と、クリアエリア2303の関係を説明するための概念図である。
<図15の説明>
【0112】
次に、図15のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0113】
図15は、図14に示すステップS1404の詳細処理の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1501〜S1511は各ステップを示す。
【0114】
情報処理装置101のCPU201は、後述するステップS1502からステップS1511までの処理を、オブジェクト定義テーブル(図8)に記憶されている全てのオブジェクト定義情報に対して繰り返し実行する。ここで、オブジェクト定義情報(フォームのフィールドの属性情報)とは、図8に示すレコードの情報を示す。
【0115】
情報処理装置101のCPU201は、まず、オブジェクト定義テーブル(図8)のオブジェクト定義情報を読み込む(ステップS1502)。例えば、ここでは、オブジェクト番号が<1>のオブジェクト定義情報を読み込む。
【0116】
そして、情報処理装置101のCPU201は、「OCR利用区分」が“する”と定義されているか否かを判定する(ステップS1503)。すなわち、オブジェクトのプロパティ画面(図6)の605がチェックされたのか、それとも606がチェックされたのかを判定する。
【0117】
ここで、オブジェクト定義テーブル(図8)には、605がチェックされた場合は「OCR利用区分」が“する”と記憶され、606がチェックされた場合は「OCR利用区分」が“しない”と記憶されている。
【0118】
情報処理装置101のCPU201は、ステップS1503で「OCR利用区分」が“する”と定義されていると判定した場合は(ステップS1503:YES)、処理をステップS1504に移行し、一方、「OCR利用区分」が“しない”と定義されていると判定した場合は(ステップS1503:NO)、処理対象をオブジェクト定義テーブルの次のレコードにして、ステップS1502に戻る。またこのとき、全てのオブジェクト定義情報に対して処理を実行し、処理対象がなくなった場合は処理を終了する。
【0119】
次に、情報処理装置101のCPU201は、「OCR利用区分」が“する”と定義されていると判定した場合は(ステップS1503:YES)、オブジェクト定義情報に含まれるオブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」であるか否かを判定する(ステップS1504)。
【0120】
そして、情報処理装置101のCPU201は、オブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」であると判定した場合は(ステップS1504:YES)、ステップS1508に処理を移行して文字認識設定処理(図16)を実行する。一方、オブジェクトの種別が、「文字」又は「図形(はしご枠)」又は「出力領域(文字)」ではないと判定した場合は(ステップS1504:NO)、オブジェクトの種別が「図形(チェックボックス)」であるか否かを判定する(ステップS1505)。
【0121】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「図形(チェックボックス)」であると判定した場合は(ステップS1505:YES)、処理をステップS1509に移行してチェックボックス認識設定処理(図19)を実行する。一方、オブジェクトの種別が、「図形(チェックボックス)」ではないと判定した場合は(ステップS1505:NO)、オブジェクトの種別が「文字(丸囲み)」であるか否かを判定する(ステップS1506)。
【0122】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「文字(丸囲み)」であると判定した場合は(ステップS1506:YES)、処理をステップS1510に移行して、丸囲み数字認識設定処理(図20)を実行する。一方、オブジェクトの種別が「文字(丸囲み)」ではないと判定した場合は(ステップS1506:NO)、オブジェクトの種別が「出力領域(QRコード)」であるか否かを判定する(ステップS1507)。
【0123】
そして、情報処理装置101のCPU201は、オブジェクトの種別が「出力領域(QRコード)」であると判定した場合は(ステップS1507:YES)、処理をステップS1511に移行してQRコード認識設定処理(図21)を実行する。
【0124】
情報処理装置101のCPU201は、ステップS1507でオブジェクトの種別が「出力領域(QRコード)」ではないと判定された場合、及び、ステップS1508、ステップS1509、ステップS1510、ステップS1511の処理を実行後は、ステップS1503でNOと判定した場合と同様に、処理対象をオブジェクト定義テーブルの次のレコードにして、ステップS1502に戻る。またこのとき、全てのオブジェクト定義情報に対して処理を実行し、処理対象がなくなった場合は処理を終了する。
【0125】
このようにして、オブジェクト定義テーブルに記憶されている全てのオブジェクト定義情報に対して、ステップS1502からステップS1511までの処理を実行する。
<図16の説明>
【0126】
次に、図16のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0127】
図16は、図15に示すステップS1508の詳細処理の一例を示すフローチャートであり、図3に示すフォームエディタソフトウェア301による処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1601〜S1615は各ステップを示す。
【0128】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、文字を認識する文字認識処理を実行することを示すデータ(ここでは“OCR”)を生成する(ステップS1601)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブル(OCRテンプレート)に記憶される。ここで、OCRテンプレートとは、図10に示す各オブジェクトのOCR定義情報の集合である。
【0129】
図10は、帳票フォームデータ内のフィールド領域に書き込まれるオブジェクトのOCR定義テーブルの一例を示す図である。OCR定義テーブルには、OCRするために用いられる各種データが記憶される。
【0130】
図10の示すオブジェクトのOCR定義テーブルは、「No」、「領域名(名称)」、「オブジェクト番号」、「認識種別」、オブジェクトの配置領域(認識領域)の左上座標のX座標が記憶される「X」、オブジェクトの配置領域(認識領域)の左上座標のY座標が記憶される「Y」、オブジェクトの配置領域(認識領域)の右下座標のX座標が記憶される「X」、オブジェクトの配置領域(認識領域)の右下座標のY座標が記憶される「Y」、「使用辞書」、「組方向」、「文字枠」、「桁数」、「行数」、「文字出力サイズ」などから構成される。
【0131】
「No」は、レコードを識別するための番号であり、このレコード内の一部又は全ての情報をOCR定義情報という。また、「領域名(名称)」は、OCRを行う対象のオブジェクト(OCR対象オブジェクト)の名称(領域名)である。また、「オブジェクト番号」は、図8のオブジェクト定義テーブルのオブジェクト番号に対応した番号である。また、「認識種別」は、OCRソフトウェアプログラム318が行う認識処理の種別(種類)である。また、「使用辞書」は、OCRソフトウェアプログラム318が行う認識処理の際に用いる辞書を示している。また、「組方向」は、文字(列)が縦方向か横方向かを示している。また、「文字枠」は、はしご枠かなどの文字枠がどのような枠であるかを示している。また、「桁数」は、文字枠の桁数を示している。また、「行数」は、文字枠の行数を示している。また、「文字出力サイズ」は、半角か全角かを示している。
【0132】
次に、情報処理装置101のCPU201は、共通情報生成処理を実行することにより(ステップS1602)、オブジェクト定義情報から、オブジェクトのOCR定義情報テーブルのOCR対象オブジェクト(オブジェクトの領域名など)と認識領域(Pixel)(オブジェクトの配置位置(座標))とを生成する。そして、ここで生成されたOCR対象オブジェクト(オブジェクトの領域名など)と認識領域(Pixel)(オブジェクトの配置位置(座標))は、オブジェクトのOCR定義テーブルに記憶される。ステップS1602の詳細処理は、図18を用いて後で説明する。
【0133】
次に、情報処理装置101のCPU201は、共通情報生成処理を実行した後、オブジェクト定義情報の「フォント」にフォント名が記憶されているかを判定する(ステップS1603)。そして、フォント名が記憶されていると判定した場合は(ステップS1603:YES)、当該フォントに対応する辞書を辞書テーブル(図17)の中から検索する(ステップS1604)。
【0134】
図17は、辞書テーブルの一例である。図17は、文字のフォントに対して、OCRするのに好適な辞書が記憶されていることを示している。なお、辞書テーブルは、記憶部に記憶されている。
【0135】
次に、情報処理装置101のCPU201は、ステップS1604でフォントに対応する辞書が検索されたか否かを判定する(ステップS1605)。そして、フォントに対応する辞書が検索されたと判定された場合は(ステップS1605:YES)、検索された辞書を使用する辞書と設定するために、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に検索された辞書名を記憶(生成)する。一方、フォントに対応する辞書が検索されなかったと判定された場合は(ステップS1605:NO)、(予め設定された)既定の辞書を使用する辞書として設定するために、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に、該既定の辞書の辞書名を記憶(生成)する(ステップS1607)。
【0136】
ステップS1603で、オブジェクト定義情報の「フォント」にフォント名が記憶されていないと判定された場合、つまり、フォントの情報が無い場合も、ステップS1607の処理を実行する。すなわち、オブジェクトのOCR定義テーブル(図10)の「使用辞書」に、既定の辞書の辞書名を記憶(生成)する。
【0137】
次に、情報処理装置101のCPU201は、ステップS1607又は、ステップS1606の処理を実行した後、現在、処理対象のオブジェクト定義テーブル(図8)の1レコード(オブジェクト定義情報)の「組方向」と「文字出力サイズ」とをオブジェクトのOCR定義テーブル(図10)の「組方向」と「文字出力サイズ」にそれぞれ記憶(生成)させる。
【0138】
そして、情報処理装置101のCPU201は、現在、処理対象のオブジェクト定義情報の「枠」に数値が設定されているか否かを判定することにより、文字枠のオブジェクトであるか否かを判定する(ステップS1609)。そして、情報処理装置101のCPU201は、文字枠のオブジェクトであると判定された場合は(ステップS1609:YES)、文字枠が複数に分割されているか否かを判定する(ステップS1610)。すなわち、処理対象のオブジェクト定義情報の「枠」に設定された値(少なくとも行数、桁数のいずれか1つの値)が2以上の数値であるか否かを判定することにより、「はしご枠」であるのか、それとも「フィールド枠」であるのかを判定する(ステップS1610)。
【0139】
そして、「はしご枠」であると判定された場合(「枠」に設定された、少なくとも行数、桁数のいずれかの値が2以上の数値であると判定された場合)は(ステップS1610:YES)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、はしご枠であることを示すデータとして“はしご”を記憶(生成)する(ステップS1611)。一方、「フィールド枠」であると判定された場合(「枠」に設定された行数、桁数のいずれの値も1の数値であると判定された場合)は(ステップS1610:NO)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、フィールド枠であることを示すデータとして“フィールド”を記憶(生成)する(ステップS1613)。
【0140】
また、ステップS1609において、現在、処理対象のオブジェクト定義情報の「枠」に数値が設定されていないと判定(文字枠のオブジェクトではないと判定)された場合(ステップS1609:NO)、オブジェクトのOCR定義テーブル(図10)の「文字枠」に、枠がないことを示すデータとして“―”を記憶(生成)する(ステップS1604)。
【0141】
次に、情報処理装置101のCPU201は、オブジェクトの定義テーブル(図8)の「枠」の“行数”、“桁数”の値を、文字認識すべき対象の文字数の最大値として、オブジェクトのOCR定義テーブル(図10)の「行数」、「桁数」にそれぞれ記憶(生成)する(ステップS1612)。
【0142】
また、情報処理装置101のCPU201は、ステップS1604またはステップS1613の処理を実行した後、OCRソフトウェアが、文字認識すべき対象の文字数を自動的に認識させる設定情報として、“0(ゼロ)”を、オブジェクトのOCR定義テーブル(図10)の「行数」、「桁数」に記憶(生成)する(ステップS1615)。
【0143】
以上、ステップS1615又はステップS1612の処理を実行すると、ステップS1508に示す文字認識設定処理は終了し、ステップS1502で次の処理対象のオブジェクトの定義情報を読み込む。
<図18の説明>
【0144】
次に、図18のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0145】
図18は、図16のステップS1602、図19のステップS1902、図20のステップS2002、図21のステップS2102の処理の詳細処理の一例を示すフローチャートである。なお、図18は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0146】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1801〜S1804は各ステップを示す。
【0147】
情報処理装置101のCPU201は、OCR対象オブジェクトの名称(領域名)を生成する(ステップS1801)。
【0148】
具体的には、オブジェクト定義テーブル(図8)の「名称」にオブジェクトの名称が入力されている場合は、その名称をOCR対象オブジェクトの名称(領域名)として、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶(生成)する。また、オブジェクト定義テーブル(図8)の「名称」にオブジェクトの名称が入力されていない場合は、オブジェクトの「種別」と「種別内連番」からOCR対象オブジェクトの名称(領域名)を生成して、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶(生成)する。
【0149】
例えば、オブジェクト番号<4>のオブジェクトは、チェックボックスなので、領域名(名称)にチェックボックスを示す「CHK」と、「種別内連番」の「001」とを繋げて「CHK001」というOCR対象オブジェクトの名称(領域名)を生成し、オブジェクトのOCR定義テーブル(図10)の「領域名(名称)」に記憶している。
【0150】
次に、情報処理装置101のCPU201は、オブジェクト定義テーブル(図8)の「配置」の情報から、認識領域の座標を算出し、オブジェクトのOCR定義テーブルの「認識領域(pixel)」に算出結果を記憶(生成)する(ステップS1802)。 具体的には、例えば、認識領域の左上座標及び右下座標は、以下の式を用いて算出することができる。
【0151】
(式)・「認識領域の左上のX座標」=(基準位置(左)―クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の左上のY座標」=(基準位置(上)―クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の右下のX座標」=(基準位置(左)+サイズ(幅)+クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)・「認識領域の右下のY座標」=(基準位置(上)+サイズ(高さ)+クリアエリアの初期値)×スキャン時解像度(dpi)÷25.4(mm)
【0152】
ここで、クリアエリアとは、図23に示すように、オブジェクトの配置領域2301からOCR処理を行う対象領域2302までの幅の長さ2303であり、ユーザの指示により予め設定され記憶部に記憶されている。ここでは、ユーザの指示により予め設定されたクリアエリアの値をクリアエリアの初期値として記載している。
【0153】
また、スキャン解像度は、ユーザの指示により予め設定され、記憶部のフォームのOCR定義テーブル(図9)に記憶されている。また、基準位置(左)、基準位置(上)、サイズ(幅)、サイズ(高さ)は、それぞれ、オブジェクト定義テーブル(図8)の項目「左」、「上」、「幅」、「高さ」に記憶されている値である。
【0154】
ステップS1802では、これらの情報を取得して上述した式に代入することにより、認識領域の座標を算出することができる。
【0155】
次に、情報処理装置101のCPU201は、ステップS1802で算出された座標により決定される認識領域がテンプレート(帳票)の領域内に収まるか否かを判定する(ステップS1803)。
【0156】
具体的には、ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超えているか否かを判定する。
【0157】
そして、認識領域がテンプレートの領域内に収まる(ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超えていない)と判定された場合は、図18に示す処理を終了し、一方、収まらない(ステップS1802で算出して得られた認識領域の座標が、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標を超える)と判定された場合は、テンプレートの領域内に収まるように認識領域の各座標を補正する(ステップS1804)。
【0158】
具体的には、超えていると判定された、ステップS1802で算出して得られた認識領域の座標を、ステップS1405でイメージデータを生成する際に決定した当該イメージデータのサイズの座標に設定することで補正することができる。
<図19の説明>
【0159】
次に、図19のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0160】
図19は、図15のステップS1509の処理の詳細処理の一例を示すフローチャートである。なお、図19は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0161】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S1901〜S1902は各ステップを示す。
【0162】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、チェックボックスを認識する文字認識処理を実行することを示すデータ(ここでは“チェックボックス”)を生成する(ステップS1901)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。
【0163】
次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS1902)、ステップS1509の処理を終了する。
<図20の説明>
【0164】
次に、図20のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0165】
図20は、図15のステップS1510の処理の詳細処理の一例を示すフローチャートである。なお、図20は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0166】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2001〜S2002は各ステップを示す。
【0167】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、丸囲み文字を認識する文字認識処理を実行することを示すデータ(ここでは“丸囲み”)を生成する(ステップS2001)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。 次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS2002)、ステップS1510の処理を終了する。
<図21の説明>
【0168】
次に、図21のフローチャートを参照して、フォームエディタソフトウェア301が実行する処理を説明する。
【0169】
図21は、図15のステップS1511の処理の詳細処理の一例を示すフローチャートである。なお、図21は、図3に示すフォームエディタソフトウェア301による処理に対応する。
【0170】
すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2101〜S2102は各ステップを示す。
【0171】
情報処理装置101のCPU201は、まず、認識する種別(種類)として、二次元コードを認識する文字認識処理を実行することを示すデータ(ここでは“QRコード”)を生成する(ステップS2101)。ここで生成されたデータは、図10に示すオブジェクトのOCR定義テーブルに記憶される。 次に、情報処理装置101のCPU201は、図18に示す共通情報生成処理を実行し(ステップS2102)、ステップS1511の処理を終了する。
<図22の説明>
【0172】
次に、図22のフローチャートを参照して、OCRソフトウェアが実行する処理を説明する。
【0173】
図21は、本発明のシステムにおける第2の制御処理手順の一例を示すフローチャートであり、図3に示すOCRソフトウェアによる処理に対応する。すなわち、情報処理装置101のCPU201がROM202又は外部メモリ211からRAM203に読み出したプログラムを実行することにより実現される。また、図中、S2201〜S2204は各ステップを示す。
【0174】
情報処理装置101のCPU201は、フォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)とを記憶部308から読み込み(ステップS2201)、読み込んだフォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)内のデータを、OCRするために設定する(ステップS2202)。
【0175】
そして、ステップS2202で設定されたデータを用いてOCRを実行し(ステップS2203)、その認識結果を記憶部に記憶させるべく出力して(ステップS2204)処理を終了する。そして、フォームエディタソフトウェアは、記憶された認識結果を読み込み出力(表示や印刷など)する。
【0176】
以上説明したように、本実施の形態によれば、テンプレートデータを作成するために入力されるオブジェクトの属性情報に従って、OCR処理を実行する対象領域に対する属性情報を生成することにより、ユーザによる当該属性情報の入力作業を軽減させることができる。
【0177】
<図24の説明>
【0178】
次に、図24を用いて、帳票印刷時に帳票フォームデータの印刷用紙にデータ認識情報(OCR定義情報)を二次元バーコード(QRコード)で付加する仕組みについて説明する。
【0179】
図24は、帳票フォームデータの印刷指示時に表示される帳票印刷設定画面の一例を示す画面図である。この帳票印刷設定画面は、帳票フォームデータを印刷するときに、帳票フォームデータのアプリケーションプログラム(フォームエディタソフトウェア301)により表示部に表示される印刷設定画面の一例である。
【0180】
この帳票印刷設定画面において、「OCR定義を付加して印刷する」チェックボックス2401がチェックされることで、帳票フォームデータの印刷用紙にデータ認識情報であるOCR定義情報を二次元バーコードであるQRコードとして付加して印刷することが指示できる。また、「OCR定義:裏面に印刷する」チェックボックス2402がチェックされることで、データ認識情報であるOCR定義情報のQRコードを、帳票フォームデータの印刷用紙の裏面に印刷することが指示できる。このチェックがなければ、OCR定義情報のQRコードは、帳票フォームデータの印刷用紙の表面の所定の個所(たとえば右下の位置)に配置されて印刷されることになる。
【0181】
なお、「OCR定義:裏面に印刷する」チェックボックス2402は、必須項目ではなく、この項目は持たせずに、固定的にQRコードを裏面に印刷するようにしてもよい。
【0182】
データ認識情報であるOCR定義情報は、図9のフォームのOCR定義テーブルの情報と、図10のオブジェクトのOCR定義テーブルの情報とを含んでいるものとする。なお、本実施の形態では、復元情報を埋め込む対象として、2次元バーコードのQRコードを用いているが、これに限るものではなく、印刷用紙にRF−IDタグが付いており、その書き込み機能をプリンタが備えている場合には、RF−IDタグに復元情報を記録してもよいし、その他の情報付加機能を用いてもよい。以下、本実施の形態では、QRコードを用いた例を説明する。
【0183】
<図25の説明>
【0184】
次に、図25を用いて帳票印刷の指示がなされたときの情報処理装置における印刷データ生成処理について説明する。
【0185】
図25は、本発明の情報処理装置における帳票印刷処理手順の一例を示すフローチャートである。
【0186】
図25に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0187】
まず、ステップS2501では、フォームエディタソフトウェア301は、ユーザ操作により生成された帳票フォームデータ(枠線や、フォーム定義テーブル310、オブジェクト定義テーブル311)を用いて、帳票フォームデータの印刷データを生成する。具体的には、ユーザにより出力先のプリンタの選択を受け付けると、ユーザ操作により生成された帳票フォームデータに従って、その出力先のプリンタで印刷処理可能なPDL形式またはイメージデータ形式の印刷データを生成する。
【0188】
次にステップS2502では、生成された印刷データに、OCR定義情報を付加して印刷を行うか否かを判定する。つまり、印刷設定画面(図24)を介するユーザの指示(チェックボックス2401がチェック済み)により、データ認識情報であるOCR定義情報を付加して印刷データを生成することが指定されているか否かを判定する。OCR定義情報を付加して印刷データを生成すると判定された場合には(YES)、ステップS2503に処理を進め、OCR定義情報を付加しないで印刷データを生成すると判定された場合には(NO)、ステップS2505に処理を進める。
【0189】
次に、ステップS2503では、ユーザにより選択され印刷要求がなされた帳票フォームデータに対応する、図9のフォームのOCR定義テーブルの情報と、図10のオブジェクトのOCR定義テーブルの情報とを記憶部308から読み出し、これらの情報と、ユーザにより出力先として選択されたプリンタを識別するプリンタの個体識別情報(プリンタ個体識別情報)(プリンタ識別情報とも言う)とを含む二次元バーコードであるQRコードを生成する。なお、この印刷データの生成処理は、フォームエディタソフトウェア301の制御手順であるため、印刷要求された帳票フォームデータに対応するOCR定義テーブル(図9と図10)は、フォームエディタソフトウェア301自身が特定する。
【0190】
ここで、生成されるQRコードには、オブジェクトのOCR定義テーブルの情報内の認識領域(座標)が含まれている。この認識領域(座標)のうち、オブジェクトのOCR定義テーブルのOCR対象オブジェクトの領域名がQRコードの認識領域(座標)は、標準印字位置座標として、QRコードに含まれている。また、実際に印刷された帳票用紙のQRコードの印字位置座標と、標準印字位置座標との誤差を許容する範囲(誤差範囲)は、予め、情報処理装置に設定されており、情報処理装置のメモリに記憶されている。ここでは、この誤差範囲も含めてQRコードが生成される。
【0191】
続いてステップS2504では、帳票フォームデータの印刷データに、ステップS2503で生成した二次元バーコードのOCR定義情報(QRコード)を付加する。ここでQRコードが付加される位置は、オブジェクト定義テーブル(図8)のオブジェクトの種別が「出力領域(QRコード)」の「配置」に定められている領域(図10のオブジェクトのOCR定義テーブルのOCR対象オブジェクトの領域名が「QRコード」に対する認識領域)に配置される。
【0192】
このように、二次元バーコードのOCR定義情報(QRコード)を帳票フォームデータの印刷データの表面の所定の位置(オブジェクト定義テーブル(図8)又はオブジェクトのOCR定義テーブルに定められたQRコードを配置する位置)に付加する。
【0193】
そして、ステップS2505では、ステップS2504でQRコードが付加された印刷データをプリンタで印刷すべく出力する。出力先は、複合機103(プリンタ)に対して直接送信してもいいし、プリントサーバに出力し、プリントサーバからプリンタに転送して印刷させてもよい。そして、複合機103(プリンタ)は、情報処理装置から受信した印刷データの印刷を行い、帳票印刷された印刷用紙を出力する。
【0194】
なお、ステップS2505で送信される印刷データは、帳票フォームデータが印刷される面には、帳票フォームデータを識別する識別情報が印刷されている。
【0195】
すなわち、ステップS2501で印刷データを生成する際に、帳票フォームデータを識別する識別情報を印刷データに含めるようにして生成する。
【0196】
この帳票フォームデータを識別する識別情報をスキャナ部で読み取り認識することで、印刷用紙に印刷されている帳票フォームデータを識別することができ、対応するOCR定義情報を、図9及び図10のOCR定義テーブルから特定することが可能となる。
【0197】
以上のように、図25の処理により、ステップS1404で生成されたOCR定義情報(データ認識情報)を含むQRコードを、OCR定義情報内のQRコードの認識領域に示される位置に付加した印刷データを生成する。
【0198】
<図26の説明>
【0199】
次に、図26を用いて帳票印刷されている印刷用紙が画像読取部(スキャナ)で読み取られ、読み取られたデータが入力された情報処理装置におけるデータ認識処理について説明する。
【0200】
図26は、本発明の情報処理装置におけるデータ認識処理手順の一例を示すフローチャートである。
【0201】
図26に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0202】
ステップS2601では、図示省略されたスキャナ装置(画像読取部(スキャナ))で帳票の印刷用紙(帳票用紙)を読み取り処理した結果である画像を入力し記憶部に記憶する。すなわち、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する。スキャナ装置は情報処理装置にI/Fを介して直接接続されていてもよいし、ネットワークを介して通信可能な複合機のスキャナ部で読み取った画像をネットワーク通信で受信してもよい。
【0203】
次に、ステップS2602では、ステップS2601で入力され記憶部に記憶された画像に含まれているQRコード内のデータを全て読み込み取得する。すなわち、ここでは、QRコードから、データ認識処理を行う領域の位置と共に、データ認識処理を行う領域の位置であって、QRコードが配置されている位置も取得される。
【0204】
そして、ステップS2603では、QRコードから読み込んだデータを解析し、該データの中に、OCR定義情報が含まれているか否かを判定する。そして、OCR定義情報が含まれていると判定された場合は(YES)、ステップS2604に処理を進め、OCR定義情報が含まれていないと判定された場合は(NO)、ステップS2606に処理を進める。
【0205】
ステップS2604では、ステップS2601で入力された画像を解析して、QRコードが帳票用紙(印刷用紙)に印字されている位置(データ認識処理を行う領域の位置)を検出し、該位置の座標(印字位置座標)を取得する。
【0206】
ここで、印字位置座標とは、帳票用紙に印字されたQRコードの左上の頂点の座標(X、Y)と、右下の頂点の座標(X、Y)である。
【0207】
そして、ステップS2605において、ステップS2604で取得した印字位置座標と、ステップS2602でQRコードから取得した標準印字位置座標との差を算出し、その差が、ステップS2602でQRコードから取得した誤差範囲(所定範囲)内であるか否かを判定する。
【0208】
そして、ステップS2605で、当該差が、誤差範囲内であると判定された場合は(YES)、処理をステップS2609に移行する。一方、ステップS2605で、当該差が、誤差範囲を超えていると判定された場合は(NO)、当該差に従って、OCR処理を行う領域の座標を補正する補正量を算出する(ステップS2607)。ステップS2605の詳細処理は、図27を用いて、後で説明する。そして、ステップS2607で算出された補正量だけ、ステップS2602でQRコードから読み込んだOCR定義情報の認識領域をそれぞれ補正し(ステップS2608)、処理をステップS2609に移行する。
【0209】
すなわち、ステップS2608では、ステップS2604で検出されたQRコードが配置されている位置と、ステップS2602で取得されたQRコードの位置とに従って、ステップS2602で取得されたデータ認識処理(OCR処理)を行う領域の位置(OCR定義情報)を補正する(補正手段)。
【0210】
ステップS2609では、ステップS2605で誤差範囲内であると判定された場合は(YES)、ステップS2602で読み込んだ図9、図10のデータ(OCR定義情報)を用いて、ステップS2601で入力された画像のOCR処理(データ認識処理)を実行する。すなわち、OCR定義情報に示される画像データの領域に対してOCR処理(データ認識処理)を行う。
【0211】
また、ステップS2609では、ステップS2605で誤差範囲を超えていると判定された場合は(NO)、ステップS2608で補正されたOCR定義情報を含むデータ(図9、図10のデータ)を用いて、ステップS2601で入力された画像のOCR処理(データ認識処理)を実行する。
【0212】
OCR定義情報には、認識領域の座標が含まれており、その座標で示される領域に対してOCR処理を行う。プリンタによる帳票用紙の印字位置のずれに応じて、ステップS2608でこの認識領域の座標を補正したことにより、精度良くデータ認識処理を実行することが可能となる。
【0213】
そして、情報処理装置は、ステップS2609によるOCR処理の結果を表示部に出力し終了する。
【0214】
また、ステップS2603において、QRコードから読み込んだデータの中に、OCR定義情報が含まれていないと判定された場合は(NO)、処理をステップS2606に移行し、図22に示すフローチャートの処理を実行して、処理を終了する。
【0215】
OCR定義付加情報が付与されていない場合には、図22に示すフローチャートにおいて、ステップS2201で、帳票フォームデータの印刷用紙(帳票用紙)に印刷されている帳票識別情報を用いて、帳票フォームデータを識別し、識別された帳票フォームデータに対応する図9、図10のOCR定義テーブルを記憶部308から読み込む。
【0216】
そして、ステップS2202において、読み込んだフォームのOCR定義テーブル(図9)と、オブジェクトのOCR定義テーブル(図10)内のデータを、OCRするために設定する。そして、ステップS2202で設定されたデータを用いてOCRを実行し(ステップS2203)、その認識結果を記憶部に記憶させるべく出力して(ステップS2204)処理を終了する。
【0217】
また、ステップS2601では、入力される画像(データ)が拡大又は縮小されている場合が考えられる。そこで、ステップS2604の処理を実行した後に、入力された画像が拡大又は縮小されているか否かを判定し、拡大又は縮小されていないと判定された場合は、処理をステップS2605に移行し、拡大又は縮小されていると判定された場合は、その拡縮されている割合(%)から、ステップS2602で取得した標準印字位置座標と、誤差範囲と、ステップS2604で取得した印字位置座標とを補正し、処理をステップS2605に移行するようにしてもよい。このような処理を追加することで、入力された画像(データ)が拡大又は縮小されている場合でも、適切にずれを補正し、認識処理の精度を向上させることが可能となる。
<図27の説明>
【0218】
次に、図27を用いて、図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理について説明する。
【0219】
図27に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0220】
図27は、図26に示すステップS2607に示すプリンタ印字位置ずれ補正処理の詳細処理を示すフローチャートである。
【0221】
図27に示す各ステップは、情報処理装置101のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0222】
情報処理装置は、ステップS2602でQRコードから取得した標準印字位置座標と、印字位置座標との差から、ステップS2602でQRコードから取得したOCR定義情報の認識領域の座標を補正する補正量を算出する(ステップ2701)。ここで算出された補正量に従って、ステップS2608で、OCR定義情報の認識領域の座標を補正する。ここでは、更に、認識領域が、画像データの領域内に収まるように、クリアエリアや、画像データのサイズなどを考慮して、補正量を算出するようにしても良い。
【0223】
そして、情報処理装置は、ステップS2702で、ユーザの操作指示に従って、プリンタ管理サーバ104に通知を行うか否かを判定する(ステップS2702)。すなわち、ユーザの操作により、プリンタ管理サーバ104に通知を行う旨の指示を受け付けると(S2702:YES)、QRコードからプリンタ個体識別情報を取得して(ステップS2703)、当該プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差をプリンタ管理サーバ104に送信する(ステップS2704)。そして、処理をステップS2608に戻す。
<図28の説明>
【0224】
次に、図28を用いて、プリンタ管理サーバ104が実行するプリンタの印字位置調整処理について説明する。
【0225】
図28は、プリンタ管理サーバ104が実行するプリンタの印字位置調整処理を示すフローチャートである。
【0226】
図28に示す各ステップは、プリンタ管理サーバ104のCPU201が外部メモリ211等のメモリに格納されたプログラムをRAM203にロードして実行することにより実現される。
【0227】
プリンタ管理サーバ104は、情報処理装置101から、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差を受信すると(ステップS2801)、当該プリンタ個体識別情報に該当する(当該プリンタ個体識別情報を含む)プリンタ管理情報をプリンタ管理テーブル(図29)から取得する(ステップS2802)。ここで、プリンタ管理情報とは、プリンタ管理テーブル(図29)のレコードの情報である。
【0228】
プリンタ管理テーブル(図29)は、プリンタ管理サーバ104の外部メモリに記憶されている。
【0229】
図29は、プリンタ管理テーブルの一例を示す図である。
【0230】
プリンタ管理テーブルは、「No」、「個体識別情報」、「メーカー」、「機種」、「タイプ」、「設置場所」、「IPアドレス」、「リモート印字調整」、「メンテナンス開始可能時間」、「通知先」、「管理者」などの項目から構成される。
【0231】
「No」は、プリンタ管理情報(レコード)を識別するための識別情報である。「個体識別情報」は、プリンタを識別するプリンタ個体識別情報が格納される項目である。「メーカー」は、当該プリンタを製造しているメーカーの名前が格納される項目である。「機種」は、当該プリンタの機種名が格納される項目である。「タイプ」は、当該プリンタの種類(複合機、モノクロLBP(モノクロレーザープリンタ)、カラーLBP(カラーレーザープリンタ)など)を示す名称が格納される項目である。「設置場所」は、当該プリンタが設置されている場所を示す情報が格納される項目である。「IPアドレス」は、当該プリンタのIPアドレスが格納される項目である。「リモート印字調整」は、当該プリンタがリモートでの印字位置調整が実行可能か否かを示す情報(可または否)が格納される項目である。「メンテナンス開始可能時間」は、印字位置調整の実行開始可能時間が格納される項目である。「通知先」は、当該プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが格納される項目である。すなわち、「通知先」には、当該プリンタを管理する管理者が操作する管理者端末に送信するメールアドレスが格納される。「管理者」は、当該プリンタの管理者(メンテナンスをしているユーザ)の名前が格納される項目である。
【0232】
そして、プリンタ管理サーバ104は、ステップS2802で、該当するプリンタ管理情報をプリンタ管理テーブル(図29)から取得すると、当該プリンタ管理情報に含まれている「リモート印字調整」の項目が「可」か「否」を判定する(ステップS2803)。すなわち、当該プリンタがリモートでの印字位置調整が実行可能か否かを判定する。
【0233】
そして、プリンタ管理サーバ104は、ステップS2803で「リモート印字調整」の項目が「可」と判定(リモートでの印字位置調整が実行可能なプリンタと判定)された場合は(YES)、処理をステップS2804に移行し、「リモート印字調整」の項目が「否」と判定(リモートでの印字位置調整が実行不可能なプリンタと判定)された場合は(NO)、処理をステップS2806に移行する。
【0234】
ステップS2804において、プリンタ管理サーバ104は、取得したプリンタ管理情報に含まれる「メンテナンス開始可能時間」に示される印字位置調整の実行開始可能時間以降に、ステップS2801で受信したプリンタ個体識別情報により識別されるプリンタの印字位置調整を行うコマンド(リモート印字位置調整コマンド)を生成して登録する。ここで生成されるコマンドは、ステップS2801で受信した、標準印字位置座標と印字位置座標との差だけ印字位置を補正するようなコマンドである。
【0235】
そして、プリンタ管理サーバ104は、「メンテナンス開始可能時間」に示される印字位置調整の実行開始可能時間以降に、生成したコマンド(リモート印字位置調整コマンド)を、該プリンタ個体識別情報により識別されるプリンタに送信するようにスケジュールに登録し、スケジュールを開始する(ステップS2805)。そして、そのスケジュールの時間(メンテナンス開始可能時間)になると、プリンタ管理サーバ104は、当該生成したコマンドをプリンタに送信して、当該コマンドを受信したプリンタは、そのコマンドに従って、印字位置を補正する処理を実行する。
【0236】
すなわち、プリンタ個体識別情報(プリンタ識別情報)で識別されるプリンタでの印字位置の補正を指示するべく、標準印字位置座標と印字位置座標との差を含むコマンドを、当該プリンタ識別情報で識別されるプリンタに送信する(送信手段)。
【0237】
ステップS2806において、プリンタ管理サーバ104は、ステップS2802で取得したプリンタ管理情報に含まれる「通知先」に、プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが含まれている(登録されている)か否かを判定し、当該メールアドレスが含まれていると判定された場合(YES)、当該メールアドレスに、調整依頼を示す電子メールを送信する(ステップS2807)。ステップS2807で送信される電子メールには、ステップS2802で取得したプリンタ管理情報と、ステップS2801で受信した、標準印字位置座標と印字位置座標との差とが含まれている。
【0238】
一方、ステップS2806において、ステップS2802で取得したプリンタ管理情報に含まれる「通知先」に、プリンタの管理者(メンテナンスをしているユーザ)に通知する通知先であるメールアドレスが含まれていないと判定された場合は(NO)、ステップS2704で、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差とを送信した情報処理装置にその旨を返信して、処理を終了する。
【0239】
また、本実施の形態では、図28に示す各ステップの処理をプリンタ管理サーバが実行することで説明したが、図28に示す各ステップの処理を情報処理装置101で実行するようにしてもよい。その場合は、ステップS2704で、プリンタ個体識別情報と、標準印字位置座標と印字位置座標との差をプリンタ管理サーバ104に送信するのではなく、自身の情報処理装置101内に送信するようにすればよい。
【0240】
以上、本発明によれば、データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られ得られた画像データを解析することにより得られる、当該印刷用紙に印刷された、前記データ認識処理を行う領域の位置と、当該画像データに含まれる位置情報に示される位置とに従って、データ認識処理を行う領域の位置を補正することにより、データ認識処理の精度を向上させることができる。
【0241】
また、本実施の形態によれば、帳票フォームデータの生成時に設定する設定内容を利用して、OCR処理を行うフィールド領域に対するOCR定義情報を生成し、生成されたOCR定義情報をQRコードのような付加情報に変換して帳票フォームデータの印刷データに付加して印刷させるので、ユーザによるフィールド領域のデータ認識情報の入力作業や、データ認識処理を行う情報処理装置にデータ認識情報を予め用意しておくという管理者の負担を軽減させることができる。
【0242】
すなわち、帳票フォームデータの生成時に設定したフィールド領域に書き込まれるデータの属性情報(文字種、文字サイズ等)を用いてデータ認識情報(OCR定義情報)を自動的に生成し、生成されたデータ認識情報を、帳票フォームデータに付加して帳票フォームデータの印刷データを生成することである。これにより、帳票フォームデータの印刷用紙には、データ認識情報が付加されているので、この印刷用紙を読み取るだけで、データ認識情報を取得でき、データ認識処理(OCR処理)の精度が高くなる。
【0243】
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0244】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0245】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0246】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0247】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0248】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0249】
また上記のソフトウェアで実現する各処理を、ファームウェアやハードウェア構成にして、各処理を各手段として実現することも可能であり、本発明の技術的範囲はこのようなファームウェアやハードウェア構成による実現も含むものである。
【符号の説明】
【0250】
101 情報処理装置
102 情報処理装置
103 複合機
【0251】
104 プリンタ管理サーバ
105 ネットワーク
【特許請求の範囲】
【請求項1】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置であって、
前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、
前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、
前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、
前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記記憶手段は、データ認識処理を行う領域の位置を示す位置情報が当該位置情報に示される印刷用紙の位置に印刷された印刷用紙が読みと取られることにより得られる画像データを記憶し、
前記検出手段は、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された位置情報の位置を検出し、
前記取得手段は、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された位置を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記検出手段で検出された位置と、前記取得手段で取得された位置との差が、所定範囲を超えているかを判定する判定手段と、
前記補正手段は、前記判定手段で、前記検出手段で検出された位置と、前記取得手段で取得された位置との差が、所定範囲を超えていると判定された場合に、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記記憶手段は、データ認識処理を行う領域の位置を示す位置情報と、印刷されるプリンタを識別するプリンタ識別情報とが印刷された印刷用紙が読み取られることにより得られる画像データを記憶し、
前記取得手段は、前記記憶手段に記憶されている画像データを読み取ることにより、前記印刷用紙が印刷されたプリンタを識別するプリンタ識別情報を取得し、
前記取得手段で取得したプリンタ識別情報で識別されるプリンタでの印字位置の補正を指示するべく、前記検出手段で検出された位置と、前記取得手段で取得された位置との差を示す情報を送信する送信手段と、
を更に備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記送信手段は、前記取得手段で取得したプリンタ識別情報で識別されるプリンタを管理する管理者が操作する管理者端末に、前記取得手段で取得したプリンタ識別情報、及び前記検出手段で検出された位置と、前記取得手段で取得された位置との差を示す情報に送信することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
帳票フォームデータに、データが書き込まれる領域を示すフィールド領域を設定するフィールド設定手段と、
前記フィールド設定手段で設定されるフィールド領域に書き込まれるデータの属性情報を設定する属性設定手段と、
前記属性設定手段で設定されたフィールド領域の属性情報から、前記帳票フォームデータの印刷用紙の当該フィールド領域のデータ認識処理で用いるデータ認識情報を生成するデータ認識情報生成手段と、
前記データ認識情報生成手段で生成されたデータ認識情報を付加して印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段で生成された印刷データを印刷するべく出力する出力手段と、
を更に備え、
前記データ認識情報生成手段は、前記属性設定手段で設定されたフィールド領域の属性情報から、データ認識処理を行う領域の位置を示す位置情報を含むデータ認識情報を生成し、
前記印刷データ生成手段は、前記データ認識情報生成手段で生成されたデータ認識情報を、当該位置情報に示される位置に付加して印刷データを生成することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置の制御方法であって、
前記情報処理装置の検出手段が、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出工程と、
前記情報処理装置の取得手段が、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得工程と、
前記情報処理装置の補正手段が、前記検出工程で検出された位置と、前記取得工程で取得された位置とに従って、前記取得工程で取得された位置を補正する補正工程と、
前記情報処理装置のデータ認識手段が、前記補正工程で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項8】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置で実行可能なプログラムあって、
前記情報処理装置を、
前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、
前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、
前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、
前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段として機能させることを特徴とするプログラム。
【請求項1】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置であって、
前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、
前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、
前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、
前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記記憶手段は、データ認識処理を行う領域の位置を示す位置情報が当該位置情報に示される印刷用紙の位置に印刷された印刷用紙が読みと取られることにより得られる画像データを記憶し、
前記検出手段は、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された位置情報の位置を検出し、
前記取得手段は、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された位置を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記検出手段で検出された位置と、前記取得手段で取得された位置との差が、所定範囲を超えているかを判定する判定手段と、
前記補正手段は、前記判定手段で、前記検出手段で検出された位置と、前記取得手段で取得された位置との差が、所定範囲を超えていると判定された場合に、前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記記憶手段は、データ認識処理を行う領域の位置を示す位置情報と、印刷されるプリンタを識別するプリンタ識別情報とが印刷された印刷用紙が読み取られることにより得られる画像データを記憶し、
前記取得手段は、前記記憶手段に記憶されている画像データを読み取ることにより、前記印刷用紙が印刷されたプリンタを識別するプリンタ識別情報を取得し、
前記取得手段で取得したプリンタ識別情報で識別されるプリンタでの印字位置の補正を指示するべく、前記検出手段で検出された位置と、前記取得手段で取得された位置との差を示す情報を送信する送信手段と、
を更に備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記送信手段は、前記取得手段で取得したプリンタ識別情報で識別されるプリンタを管理する管理者が操作する管理者端末に、前記取得手段で取得したプリンタ識別情報、及び前記検出手段で検出された位置と、前記取得手段で取得された位置との差を示す情報に送信することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
帳票フォームデータに、データが書き込まれる領域を示すフィールド領域を設定するフィールド設定手段と、
前記フィールド設定手段で設定されるフィールド領域に書き込まれるデータの属性情報を設定する属性設定手段と、
前記属性設定手段で設定されたフィールド領域の属性情報から、前記帳票フォームデータの印刷用紙の当該フィールド領域のデータ認識処理で用いるデータ認識情報を生成するデータ認識情報生成手段と、
前記データ認識情報生成手段で生成されたデータ認識情報を付加して印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段で生成された印刷データを印刷するべく出力する出力手段と、
を更に備え、
前記データ認識情報生成手段は、前記属性設定手段で設定されたフィールド領域の属性情報から、データ認識処理を行う領域の位置を示す位置情報を含むデータ認識情報を生成し、
前記印刷データ生成手段は、前記データ認識情報生成手段で生成されたデータ認識情報を、当該位置情報に示される位置に付加して印刷データを生成することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置の制御方法であって、
前記情報処理装置の検出手段が、前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出工程と、
前記情報処理装置の取得手段が、前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得工程と、
前記情報処理装置の補正手段が、前記検出工程で検出された位置と、前記取得工程で取得された位置とに従って、前記取得工程で取得された位置を補正する補正工程と、
前記情報処理装置のデータ認識手段が、前記補正工程で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項8】
データ認識処理を行う領域の位置を示す位置情報が印刷された印刷用紙が読み取られることにより得られる画像データを記憶する記憶手段を備えた情報処理装置で実行可能なプログラムあって、
前記情報処理装置を、
前記記憶手段に記憶されている画像データを解析することにより、前記印刷用紙に印刷された、前記データ認識処理を行う領域の位置を検出する検出手段と、
前記記憶手段に記憶されている画像データに含まれる前記位置情報を読み取ることにより、前記位置情報に示された、前記データ認識処理を行う領域の位置を取得する取得手段と、
前記検出手段で検出された位置と、前記取得手段で取得された位置とに従って、前記取得手段で取得された位置を補正する補正手段と、
前記補正手段で補正されることにより得られる位置で示される、前記記憶手段に記憶された画像データの領域に対してデータ認識処理を行うデータ認識手段として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2012−133569(P2012−133569A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−284848(P2010−284848)
【出願日】平成22年12月21日(2010.12.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(592135203)キヤノンITソリューションズ株式会社 (528)
【Fターム(参考)】
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願日】平成22年12月21日(2010.12.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(592135203)キヤノンITソリューションズ株式会社 (528)
【Fターム(参考)】
[ Back to top ]