(57)【要約】【課題】  罫線で区切られる画像データ内の任意の領域を正確且つ容易に選択することを可能とする。【解決手段】  罫線を含む画像データから前記罫線の垂直線分又は水平線分を識別し、識別した垂直線分又は水平線分に基づいて、当該垂直線分又は当該水平線分によって区分される画像データ内の各領域を指定する領域指定情報を生成する。【選択図】  図４
2005190439.tif 000002
【特許請求の範囲】
【請求項１】
罫線を含む画像データから前記罫線の垂直線分又は水平線分を識別する罫線識別手段と、
前記罫線識別手段によって識別された垂直線分又は水平線分に基づいて、当該垂直線分又は当該水平線分によって区分される前記画像データ内の各領域を指定する領域指定情報を生成する領域指定情報生成手段とを有することを特徴とする情報処理装置。
【請求項２】
前記画像データ内において指定された水平又は垂直方向の範囲を示す指定範囲情報を入力する指定範囲情報入力手段と、
前記指定された範囲の方向とは異なる方向であって前記範囲の上下限を越える垂直線分又は水平線分を、前記罫線識別手段によって識別された垂直線分又は水平線分から抽出する罫線抽出手段とを更に有し、
前記領域指定情報生成手段は、前記罫線抽出手段により抽出された垂直線分又は水平線分によって区分される前記画像データ内の各領域を指定する領域指定情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記罫線識別手段によって識別された垂直線分又は水平線分と、その線分に重複又は隣接する垂直線分又は水平線分とを結合する罫線結合手段を更に有し、
前記罫線抽出手段は、前記指定された範囲の方向とは異なる方向であって前記範囲の上下限を越える垂直線分又は水平線分を、前記罫線識別手段によって識別された垂直線分又は水平線分から抽出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記罫線は、ベクタ形式のデータによって表される罫線であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
情報処理装置による情報処理方法であって、
罫線を含む画像データから前記罫線の垂直線分又は水平線分を識別する罫線識別ステップと、
前記罫線識別ステップによって識別された垂直線分又は水平線分に基づいて、当該垂直線分又は当該水平線分によって区分される前記画像データ内の各領域を指定する領域指定情報を生成する領域指定情報生成ステップとを含むことを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電子帳票システムに適用可能な情報処理装置、情報処理方法、プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
電子帳票システムにおいて、電子帳票における所定の領域に対して検索を実行するためには、電子帳票における明細データ領域上の１または複数の列を矩形領域として指定し、当該矩形領域に対して適用する検索式を指定することで検索を実行する必要がある。ところで、複数の列を検索の対象としたい場合は、検索対象となる複数の矩形領域を指定する必要があるが、通常、明細データ領域が行列を成していることから、検索対象となる全ての矩形領域の上辺と下辺は、電子帳票における明細データ領域の上辺と下辺付近と同じ垂直座標となる。
【０００３】
そこで、従来の電子帳票システムでは、このように複数の矩形領域を指定する操作を簡略化するため、図２１に示すように、各列共通の上辺と下辺の垂直座標を指定するために２つの表示上のオブジェクト「上限ルーラ２１１ａ」および「下限ルーラ２１１ａ」、各列の左辺と右辺の水平座標を指定するためのオブジェクト「列位置指定ルーラ２１２」を設けていた。
【０００４】
ここで、上限ルーラ２１１ａ及び下限ルーラ２１１ｂは、表示画面上の左端付近に位置し、電子帳票を表示した初期状態では、適当な位置に配置されるが、利用者がポインティングデバイスなどを使用して、それぞれ画面上を上下に移動させて位置を決定する。一方、列位置指定ルーラ２１２は、表示画面上の上端付近に位置し、電子帳票を表示した初期状態では、所定の数のルーラ（例えば、図２１のように３つ）が、適当な幅で、適当な位置に配置される。
【０００５】
利用者は、図２２に示すように、それぞれのルーラをポインティングデバイスなどにより、左右に移動させ（図２２（ａ）、（ｂ））、左端、右端の位置を調整することで（図２２（ｃ））幅の変更を行う。また、列位置指定ルーラは、ボタンの様に有効／無効（ON／OFF）を切り替えることができ、これを有効（ON）にした場合に（図２２（ｄ））、その要素の左端部を左辺、右端部を右辺、および上下限ルーラの位置を上辺、下辺とした矩形領域を指定したことになる。このようにして、明細上データ領域上の列を、比較的容易に指定できるようになっている。
【０００６】
しかし、上述したような検索矩形領域の指定方法では、利用者が正確な領域を指定するために「上限ルーラ」、「下限ルーラ」及び「列位置指定ルーラ」の３つのオブジェクトの配置を調整するために、画像表示装置上のピクセルサイズに相当する位置精度が必要であった。従って、図２３に示すように、利用者が実際に指定したい領域と帳票上に実際に列が配置される領域とに、ある程度の誤差が生じてしまうという問題があった。
【０００７】
この誤差が大きくなると、例えば、表示されている範囲においては、上記領域指定により矩形領域内に目的とする列のテキストが全て含まれているとしても、表示されていない範囲又はページが複数存在する場合、指定領域の右辺を超えて該当列にテキストが印字されている可能性が高くなる。
【０００８】
このように指定領域の範囲から漏れたテキスト部分は、本来であれば検索条件式と一致すべきものであっても、指定領域範囲外であるため検索不一致と判定されることとなる。また、印字テキストが密に並ぶ帳票であればあるほど高い領域指定の精度が必要になるため、正しい検索結果が得られないという問題が発生する危険性が増大することになる。ところで、明細データの列の指定は、その電子帳票がフォームによる罫線を持つ書式の場合、その罫線に合わせて領域を指定することが望ましい。
【０００９】
何故なら、電子帳票は、通常、可読性が失われることを避けるために、各列に印字されるテキストが、区切り線となる罫線を超えて印字されたり重なって印字されたりすることがないようにデザインされているからである。特に、明細データ上の各列を区切る垂直方向の罫線を持つ帳票の場合、検索対象領域の左辺と右辺を正確にその罫線に合わせる事で、表示画面上に表示されていないテキストを含めて正確な検索結果を期待することができる。
【００１０】
一方、水平方向の罫線により、各行や列の見出部分を分離する書式の帳票があるが、検索対象領域の上辺や下辺をそのような罫線に正確に合わせることは、垂直方向の罫線に左辺、右辺を一致させるほどの意味は持たない。これは、通常、同じ列に配置されるテキストの高さは統一されていることと、仮に不統一であっても、列のテキストの高さは、文字列の幅ほどの偏差を持たないからである。従って、検索矩形領域指定を適切に行うためには、電子帳票の垂直罫線を抽出し、当該垂直罫線に基づいて矩形領域を指定すればよい。なお、電子帳票は、ベクタ形式のデータの集合によりデザインされているため、垂直罫線を抽出するためには、ベクタ形式のデータの中から垂直線分を有するものを識別する必要がある。
【００１１】
ところで、罫線を抽出する技術として、あらかじめ罫線構造が予測できない一般の文書画像から、罫線を正しく抽出する技術が特許文献１に、任意の画像に含まれる様々な形態のパターンを効率よく処理し、より正確に罫線を抽出すること技術が特許文献２に開示されている。
【００１２】
【特許文献１】特開平１０−２３２９３９号公報
【特許文献２】特開平１０−２４０９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記の両技術は、入力画像に基づいて罫線を抽出する技術であるため、ベクタ形式のデータに基づいて罫線を抽出する技術を提供するものではない。
【００１４】
従って、本発明は、罫線で区切られる画像データ内の任意の領域を正確且つ容易に選択することを可能とする情報処理装置、情報処理方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１５】
斯かる目的を達成するために、本発明の情報処理装置は、罫線を含む画像データから前記罫線の垂直線分又は水平線分を識別する罫線識別手段と、前記罫線識別手段によって識別された垂直線分又は水平線分に基づいて、当該垂直線分又は当該水平線分によって区分される前記画像データ内の各領域を指定する領域指定情報を生成する領域指定情報生成手段とを有することを特徴とする。
【００１６】
本発明の情報処理方法は、情報処理装置による情報処理方法であって、罫線を含む画像データから前記罫線の垂直線分又は水平線分を識別する罫線識別ステップと、前記罫線識別ステップによって識別された垂直線分又は水平線分に基づいて、当該垂直線分又は当該水平線分によって区分される前記画像データ内の各領域を指定する領域指定情報を生成する領域指定情報生成ステップとを含むことを特徴とする。
【００１７】
本発明のプログラムは、前記情報処理方法をコンピュータに実行させることを特徴とする。本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、罫線を含む画像データから罫線の垂直線分又は水平線分を識別し、識別された垂直線分又は水平線分に基づいて、それらによって区分される画像データ内の各領域を指定する領域指定情報を生成するように構成したので、ユーザは、領域指定情報を利用することにより罫線で区切られる画像データ内の任意の領域を正確且つ容易に選択することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００２０】
図１は、本発明の一実施形態に係る電子帳票システムの構成を示す図である。本実施形態に係る電子帳票システムは、電子帳票を参照するための複数の利用者端末１３（図１では、一つの利用者端末のみを表記）と、帳票データの集中管理を行なう電子帳票サーバ１２とをＬＡＮ等のネットワークによって接続されることにより構築される。
【００２１】
個々の利用者端末１３は、電子帳票の参照および検索を行なうビューアを有している。ビューアは、図１の構成のうち、帳票画像再現部１３２、検索領域入力部１３４、検索式入力部１３５、検索結果表示部１３３により構成される。電子帳票サーバ１２は、印字用データ記憶部１２２、帳票データ変換部１２３、帳票データ記憶部１２４、検索実行部１２５を備える。利用者端末１３及び電子帳票サーバ１２は、ＬＡＮ等のネットワークを介して通信を行なうため、前記構成以外にもそれぞれに通信部１３１、１２１、１２６を備える。
【００２２】
ここで、電子帳票サーバ１２における各構成について説明する。電子帳票サーバ１２は、印字用データ記憶部１２２において、ホストコンピュータなど外部のコンピュータシステム１１が作成した印字用データを記憶する。帳票データ変換部１２４は、印字用データ記憶部１２２に記憶されている印刷用データをシステム固有の帳票データに変換する。
【００２３】
帳票データ記憶部１２４は、利用者端末の表示装置上に帳票の印刷画像を再現するために必要な帳票データを格納する。なお、印字用データ記憶部１２２及び帳票データ記憶部１２４は、ハードディスク等の記憶媒体内の一部の記憶領域に相当する構成である。検索実行部１２５は、利用者端末１３から入力された検索領域および検索式に従い帳票データ記憶部１２４に格納されている帳票データを検索し、検索結果を出力する。
【００２４】
次に、利用者端末１３の構成について説明する。帳票画像再現部１３２は、帳票データを入力し表示装置１３６上に帳票の印刷画像を再現させる。検索領域入力部１３４は、利用者が表示装置１３５上に再現された帳票画像から選択された検索の対象としたい領域を入力する。検索式入力部１３５は、利用者が検索の対象とした領域から目的の印字テキストを得る。検索結果表示部１３３は、検索結果を表示装置１３６上に一覧表示させる。
【００２５】
図２は、本実施形態における電子帳票サーバ１２及び利用者端末１３のハードウェア構成を示す図である。
電子帳票サーバ１２及び利用者端末１３は、ＣＰＵ２１、ＲＡＭ（メモリ）２２、ＲＯＭ２３、ハードディスクドライブ（ＨＤＤ）２４、記録媒体ドライブ２５、ネットワークインタフェースカード（ＮＩＣ）２９、ポインティングデバイス（ＰＤ）２８、キーボード（Ｋ／Ｂ）２７、ビデオアダプタ２６を備え、これらがシステムバスを介して互いに接続されている。
【００２６】
ＣＰＵ２１は、オペレーションシステム（ＯＳ）のプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算及びハードウェアの制御を行うものである。
【００２７】
ＲＡＭ２２は、ハードディスクドライブ（ＨＤＤ）２４、ＲＯＭ２３、記録媒体（例えば、ＣＤ−ＲＯＭ，ＤＶＤ，ＦＤ）等の記憶装置に記録されているＯＳやアプリケーションプログラム等を一時的に記憶するものであり、これらＲＡＭ２２に記憶されたプログラムはＣＰＵ２１の制御の下に実行される。
【００２８】
ＲＯＭ２３には、ＯＳと協働して外部記憶装置等への入出力を司るいわゆるＢＩＯＳ等が記憶される。ハードディスクドライブ（ＨＤＤ）２４には、ＯＳ、情報処理方法を実行するためのプログラム等が記憶されている。
【００２９】
記録媒体ドライブ２５は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取り等に用いる。
【００３０】
ネットワークインタフェースカード（ＮＩＣ）２９は、ＣＰＵ２１によって制御されるＯＳの通信プログラムと協働してネットワークを介した外部との通信を行う。
【００３１】
キーボード（Ｋ／Ｂ）２７やポインティングデバイス（例えばマウス）２８は、情報処理装置への指示を入力するために用いられる。ビデオアダプタ２６は、画像表示装置に表示する画像を形成するために用いられる。
【００３２】
なお、図１における帳票データ変換部１２３、検索実行部１２５、帳票画像再現部１３２、検索結果表示部１３３、検索領域入力部１３４及び検索式入力部１３５は夫々、ＨＤＤ２３、ＲＯＭ２３、他の記録媒体等から必要に応じてプログラムがＲＡＭ２２にロードされ、ＣＰＵ２１によって実行される機能的構成である。印字用データ記憶部１２２は、帳票サーバ１２２のＨＤＤ２４等の記録媒体に相当する構成である。尚、この記録媒体は、電子帳票サーバ１２の外部に接続した構成としてもよい。また、通信部１２１、１２６、１３１は、ＮＩＣに相当する構成である。
【００３３】
図３は、本実施形態に係る垂直罫線選択処理において利用される検索対象矩形領域の指定手順を示すフローチャートである。
【００３４】
マウス等のポインティングデバイス２８を通じて利用者により、利用者端末１３の表示装置１３６上に表示されている「上限ルーラ（図４の４２ａ）」及び「下限ルーラ（図４の４２ｂ）」の位置が指定される（ステップＳ３１）。利用者端末１３は、垂直罫線選択処理実行の指示を検知することにより、図４に示す列位置指定ルーラ４１ａ〜４１ｃを帳票の垂直罫線に一致するように配置する（ステップＳ３２）。
【００３５】
具体的には、上限ルーラ４２ａ及び下限ルーラ４２ｂによって指定された上限位置および下限位置の双方と交差する（貫く）連続した垂直の罫線（罫線上端が上限ルーラ４１ａより上位にあり、かつ罫線下端が下限ルーラ４１ｂより下位に位置するような垂直罫線）の水平位置を各列の区切り位置とした状態にする（なお、本処理は後に詳述する）。そして、利用者の指示により、目的とする列に配置されている列位置指定ルーラ４１ａ〜４１ｃをON状態にすることで、検索対象領域に指定する（ステップＳ３３）。なお、図４の例では、各列位置指定ルーラ４１ａ〜４１ｃは全てON状態となっているが、利用者により指示される前は、全ての位置指定ルーラ４１ａ〜４１ｃはOFF状態である。
【００３６】
次に、図５を参照しながら、利用者端末のビューアによって実行される垂直罫線選択処理の流れを説明する。なお、図５において情報の読み書きを行なう対象は、特に指定しない限りＨＤＤなどの外部記憶媒体、メモリの何れでも構わない。実際は、この機能が呼び出される際には、次の情報がメモリ上に置かれている。
・フォームを描画するためのベクタ命令の列
・図３のステップＳ３１で指定された上限、下限の位置（垂直座標）
・現在の列位置指定ルーラの配置（水平位置、幅を個数分）
【００３７】
本処理は、利用者による垂直罫線選択処理実行の指示を検知したとき開始される。電子帳票システムの入力情報となる印刷用データにおいて、罫線の情報はフォームの一部としてフォーム定義に含まれ、一般にベクタ形式と呼ばれる図形描画命令で表現されているが、ステップＳ５１では、主記憶上に置かれているフォーム描画のためのベクタ命令の列から（次の）１レコードを読み取る。
【００３８】
なお、ベクタ命令とは、罫線のような直線や多角形、円などの幾何学図形を、その種類を表す符号と、極点の座標や半径などのパラメータ列により表現するものである。そのため、図形を点（ラスタ）の集合として表現するラスタ形式と比べ一般的に少ない情報量で幾何学図形を表現することができ、出力デバイスの解像度に対する依存性が低いという特性を有する。
【００３９】
また、電子帳票システムにおいては、画像再現の効率を考慮して、フォームを印刷用データ（元データ）そのままのベクタ形式ではなく、例えば、「Windows（Ｒ）メタファイル」と呼ばれるマイクロソフト社製のWindows（Ｒ）専用のベクタ形式に変換して帳票データとして保存することもあるが、その他一般のベクタ命令（標準化されているベクタ命令としては、SVG（スケーラブル・ベクタ・グラフィック）などが挙げられる。）であっても本発明に適用できることはいうまでもない。
【００４０】
ここで、ベクタ命令を図６を用いて簡単に説明するが、Windows（Ｒ）メタファイルなど特定のベクタ形式を表現したものではない。なお、図形一つ一つの描画命令をここでは「ベクタレコード」といい、図６（ａ）に示すように、命令は表の上から下に並んでいる。ベクタレコードは、描画する図形の種類により異なるパラメータ列を持つため可変長となり、各命令に格納されているレコード長の情報に従いフェッチ（走査、取り出し）される。
【００４１】
フォーム定義には、このようなベクタ形式で表現された図形描画命令が複数含まれ、それらを合成することで全体として図６（ｂ）に示すような目的のフォームが描画されるようになっているが、本発明は、このようなベクタ命令を用いて、帳票上の列となる領域をプログラムにより判別することで、利用者による領域指定の簡易化と誤操作の防止を目的としている。
【００４２】
ステップＳ５１において、最初にベクタ命令を読み取る際、フォーム定義の最初のレコードを読み取ることとなる。なお、読み取るベクタ命令の長さは、ベクタ命令中の特定の位置に格納されている命令長により決定される。図７の例では、図形の種類「1005（角円長方形）」、命令の長さ「26（バイト）」、図形の種類に固有のパラメータ「100,100,1800,1200,20（角の半径）」のベクタ命令が始めに読み取られることになる。
【００４３】
続く、ステップＳ５２では、ステップＳ５１で取り出した1つのベクタ命令により描画される図形が「垂直線分を持つか」を判定する。例えば、取り出した命令が直線であれば、始点と終点の水平座標が同じかを判定することで、それ自体が1つの垂直線分であると判定できるし、長方形の描画命令であれば、左辺および右辺の２つの垂直線分を持つと判断できる。
【００４４】
図７の例では、角の丸い長方形のベクタ命令を取り出したが、図８に示すように、この命令のパラメータは、左辺のＸ座標（100）、上辺のＹ座標（100）、右辺のＸ座標（1800）、下辺のＹ座標（1200）、各頂点の円の半径（20）であり、次の２つの垂直線分を取り出すことができる。（１）「Ｘ座標が100で、上端のＹ座標が100、下端のＹ座標が1200」、（２）「Ｘ座標が1800で、上端のＹ座標が100、下端のＹ座標が1200」である。なお、角の丸い長方形の場合、上記２つの垂直線分とも正確には端部が直線ではないが、列の区切りとしての意図があり作図されていると判断できるため、上記のように考えて差し支えない。
【００４５】
また、ステップＳ５２は、次のような判定処理に細分化できる。
判定１として、ステップＳ５１で読み取ったベクタ命令の図形の種類が、垂直線分を持つ可能性がある図形かを判定し、該当すれば次の判定（判定２）を行い、該当しなければこの部分で判定を終える（ステップＳ５２／Ｎｏ）。例えば、「円」の描画命令は、これに該当せずここで判定が終わることになる。ここで、垂直線分をもつ可能性がある図形の種類のリスト（不図示）はプログラムの命令コード中に存在しており、実行時は、命令の一部としてメモリに（離散的に）ロードされることになる。
【００４６】
判定２として、判定１で垂直線分を持つ可能性がある図形と判定されたベクタ命令は、図形の種類により異なるパラメータの判定が行なわれ、実際に垂直線分を持つかが判定される。例えば、図形の種類が長方形であれば、長方形が空（長さが０の辺を持つ）でない場合に左辺、右辺の２つの垂直線分を持つことになる。また、直線であれば、始点と終点のＸ座標を比較することで、その直線が垂直であるかを判定することになり、多角形であれば、隣接する頂点について直線と同様のＸ座標の比較を行なう。ここでの判定は、図形の種類により異なる判定となるが、それぞれの説明は省略する。
【００４７】
ステップＳ５３では、図９に示すように、ステップＳ５２の判定の過程としてメモリ上に取り出された１つまたは複数の垂直線分のうち1つを取り出す。図９の例では、Ｘ座標（100）、上端のＹ座標（100）、下端のＹ座標（100）の垂直線分が取り出されている。
【００４８】
ステップＳ５４では、ステップＳ５３により取り出された1つの垂直線分と、過去同様にして取り出され、メモリ上に保存されている垂直線分の集合の各要素とを比較し、それらが接しているかを判定する。図１０に示す例の場合、今回抽出した垂直線分は、過去にメモリ（一時域（４））に保存されている垂直線分のリストにおいて３番目の要素と接していると判定できる。
【００４９】
即ち、線分ＡのＸ座標をＸａ、上端下端のＹ座標をＴａ,Ｂａとし、線分Ｂの各Ｘ座標をＸｂ、上端下端のＹ座標をＴｂ,Ｂｂとした場合、「ＸａとＸｂが等しく」、かつ「ＴａとＴｂのうちの大きいほうの値Ｔｍａｘと、ＢａとＢｂのうち小さいほうの値Ｂｍｉｎとを比較し、Ｔｍａｘ≦Ｂｍｉｎであれば」、線分ＡとＢは、接していることになる。
【００５０】
なお、ベクタ命令が長方形を描画するものであれば、左辺および右辺の２つが垂直線分となるが、このような処理をすることにより、例えば、表示装置上では、１本の垂直線分に見えるが、ある描画命令の一部であったり、複数の描画命令により描かれていたりする帳票にも対応することができる。このような帳票は、フォーム作成時に作成者が複数の線分や長方形を隣接して配置したため、２つの線分が画像上１つの垂直線分として再生されることになる。図１１に、２つの長方形を隣接した配置したため、それらの左辺、右辺が夫々画像上において１つの垂直線分として再生される例を示す。
【００５１】
なお、ここでは、過去のリストからＸ座標が等しい線分を判定する際、リスト先頭からの順次検索を行なっているが、メモリの上記一時域（４）にツリーなどの検索に適した構造を適用することで、処理の高速化を図ることもできる。
【００５２】
ステップＳ５５では、図１２に示すように、ステップＳ５４で接する線分があると判定した場合に、それらを１つの線分と見なし、今回抽出した垂直線分を、過去に抽出された線分の集合に追加せずに、過去の線分を延長する。図１２の例では、メモリの一時域（４）に格納される過去に抽出された垂直線分のうち、今回抽出された垂直線分（一時域（３）に格納）と接すると判定された垂直線分の上端のＹ座標を190から100に更新することにより、過去の線分を延長している。ここで、合成の処理は、ステップＳ５４の説明と同様に、ＴａとＴｂの小さい方Ｔｍｉｎ、およびＢａとＢｂの大きい方Ｂｍａｘをそれぞれ上端、下端の座標として過去に抽出された線分の座標を書き換えることで行なう。
【００５３】
ステップＳ５６は、ステップＳ５４において、メモリの一時域（４）に格納される過去に抽出した垂直線分に、今回抽出した垂直線分（一時域（３）に格納）に接するものがないと判定した場合に、図１３に示すように、今回の垂直線分を過去のそれとして加える。
【００５４】
なお、ステップＳ５４〜ステップＳ５６の処理において線分が接することを判定する際に、数ドット（例えば５ドット）程度の誤差を許容する方法が考えられる。何故なら、フォーム作成時にこのような微細な誤差が生じる可能性があるからである。従って、この場合、ステップＳ５５の合成後のＸ座標は、何れかのＸ座標を採用する、もしくは、平均を採用するなどの方法が考えられる。また、垂直線分が接していなくても、Ｘ座標が同じであれば線分を延長（結合）する方法も考えられる。この方法は、列の区切りが幾つかの離散的な罫線で描画されるケースにおいて有効となる。
【００５５】
ステップＳ５７及びステップＳ５８は、それぞれループの終りを判定している。ステップＳ５７は、ステップＳ５３で取り出せる垂直線分がもうないかを、ステップＳ５８は、ステップＳ５１で読み出すベクタ命令がもうないか（フォームの描画命令が終りか）を判定している。
【００５６】
ここまでで、フォームの描画命令に含まれる全ての垂直線分が抽出され、且つそれらのうちで接しているものは1つにまとめられた、列区切りの候補となる垂直線分のリストが作成されたことになり、このリスト（メモリ一時域（４）に格納）が以降のステップで使用される。
【００５７】
次に、上記抽出した垂直線分の中から列区切となる垂直線分を判定する。図１４に、列の区切りとして判定される垂直罫線の例を挙げる（○の罫線が列の区切りとして採用される）。ただし、ここで用いている判定基準は一例であり、例えば、全ての垂直罫線を列区切として判定するという応用が考えられる。このような場合であっても、多くの場合は期待通りの結果が得られると考えられるからである。
【００５８】
なお、利用者は、前述したように「上限ルーラ」及び「下限ルーラ」の位置を指定することになるが、上図のように区切り垂直罫線を識別している関係上、列として判定したい個所の上端と下端に対し、簡単な目視により、上端の少し下に「上限ルーラ」を指定し、下端の少し上に「下限ルーラ」を指定することでより期待した判定結果を得ることができることとなる。例えば、図１４の状態から下限ルーラを少し上に指定すると、破線で示される垂直罫線もさらに識別することが可能となる。
【００５９】
図１５に、上記抽出した垂直線分の中から列区切となる垂直線分を判定する処理の流れを示す。
ステップＳ１５１では、図１６に示すように、メモリ一時域（４）に保存されている抽出済みの垂直線分のリストから、順次垂直線分を読み取る。続くステップＳ１５２及びステップＳ１５３では、図１７に示すように、ステップＳ１５１で読み取った垂直線分の上下端と、上限ルーラ及び下限ルーラにより指定された上下限の位置とを比較して、垂直線分が、上下限を「貫いているか」を判定する。
【００６０】
具体的には、ルーラにより指定された上下限をそれぞれＵｌｉｍ,Ｂｌｉｍとし、垂直線分の上下端をそれぞれＵ,Ｂとしたとき、「Ｕ≦Ｕｌｉｍ (ステップＳ１５２)」かつ「Ｂ≧Ｂｌｉｍ(ステップＳ１５３)」が成り立つか否かを調べる。なお、図１７に示す例の垂直線分は、上下限を貫くと判定されることになる。
【００６１】
ステップＳ１５４では、ステップＳ１５２〜ステップＳ１５３により垂直線分が上下限を貫くと判定された場合に、図１８に示すように、その線分のＸ座標を「列の区切り」としてメモリの一時域（６）に加える。ステップＳ１５５は、ステップＳ１５１で読み出す垂直線分がもうないかを判定している。
【００６２】
ステップＳ１５６では、図１９に示すように、ここまでで判定された列の区切り位置のリストを、例えばクイックソート等のアルゴリズムを用いて昇順に分類（ソート）する。ステップＳ１５７では、図２０に示すように、ステップＳ１５６により分類された列の区切り位置のリストに合わせて、列位置指定ルーラを配置している。
【００６３】
このように列位置指定ルーラが、各列に対応して配置された後は、利用者は、マウス等のポインティングデバイスにより検索等の対象として指定したい列のルーラをクリックすることによりON（選択）状態とすることで、罫線に従った正確な列領域の指定ができる。
【００６４】
なお、上記実施形態は飽くまでも本発明の一適用例であり、当然、その他の実施形態をとることができる。例えば、上記実施形態では、水平成分を抽出する例を説明したが、ベクタ命令から同様に垂直線分を抽出することもできる。
【００６５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００６６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係る電子帳票システムの構成を示す図である。
【図２】電子帳票サーバ及び利用者端末のハードウェア構成を示す図である。
【図３】垂直罫線選択処理において利用される検索対象矩形領域の指定手順を示すフローチャートである。
【図４】列位置指定ルーラの位置合わせの概要を説明するための図である。
【図５】垂直罫線選択処理の流れを示すフローチャートである。
【図６】ベクタ命令及びそれによる再生画像の一例を示す図である。
【図７】フォーム定義からのベクタ命令の読み取り例を示す図である。
【図８】ベクタ命令からの垂直線分の抽出例を示す図である。
【図９】メモリ上に取り出された垂直線分から１つの垂直線分を抽出する例を示す図である。
【図１０】抽出された垂直線分が過去に抽出された垂直線分と接するか否かの判定処理を説明するための図である。
【図１１】２つの長方形を隣接した配置したため、それらの左辺、右辺が夫々画像上において１つの垂直線分として再生される例を示す図である。
【図１２】接する線分があると判定した場合にそれらを１つの線分と見なし、過去の線分を延長する例を示す図である。
【図１３】過去に抽出した垂直線分に今回抽出した垂直線分に接するものがないと判定した場合における垂直線分のメモリ格納例を示す図である。
【図１４】列の区切りとして判定される垂直罫線の例を示す図である。
【図１５】垂直線分の中から列区切となる垂直線分を判定する処理の流れを示すフローチャートである。
【図１６】メモリに保存されている抽出済みの垂直線分のリストから、順次垂直線分を読み取る例を示す図である。
【図１７】読み取った垂直線分の上下端と、上限ルーラ及び下限ルーラにより指定された上下限の位置とを比較して、垂直線分が上下限を「貫いているか」を判定する処理を説明するための図である。
【図１８】垂直線分が上下限を貫くと判定された場合に、その線分のＸ座標を「列の区切り」としてメモリに加える例を示す図である。
【図１９】列の区切り位置のリストを昇順に分類（ソート）する例を示す図である。
【図２０】分類された列の区切り位置のリストに合わせて、列位置指定ルーラを配置する例を示す図である。
【図２１】矩形領域を指定する操作を行うための上限ルーラ、下限ルーラ及び列位置指定ルーラを説明するための図である。
【図２２】列位置指定ルーラの操作方法を説明するための図である。
【図２３】利用者が実際に指定したい領域と帳票上に実際に列が配置される領域とに誤差が生じることを説明するための図である。
【符号の説明】
【００７１】
１１  外部コンピュータシステム
１２  電子帳票サーバ
１３  利用者端末
１２１、１２６、１３１  通信部
１２２  印字用データ記憶部
１２３  帳票データ変換部
１２４  帳票データ記憶部
１２５  検索実行部
１３２  帳票画像再現部
１３３  検索結果表示部
１３４  検索領域入力部
１３５  検索式入力部
１３６  表示装置
１３７  キーボード
２１  ＣＰＵ
２２  ＲＡＭ
２３  ＲＯＭ
２４  ＨＤＤ（ハードディスクドライブ）
２５  記録媒体ドライブ
２６  ビデオアダプタ
２７  Ｋ／Ｂ（キーボード）
２８  マウス
２９  ＮＩＣ（ネットワークインタフェースカード）
【図１】
2005190439.tif 000003
【図２】
2005190439.tif 000004
【図３】
2005190439.tif 000005
【図４】
2005190439.tif 000006
【図５】
2005190439.tif 000007
【図６】
2005190439.tif 000008
【図７】
2005190439.tif 000009
【図８】
2005190439.tif 000010
【図９】
2005190439.tif 000011
【図１０】
2005190439.tif 000012
【図１１】
2005190439.tif 000013
【図１２】
2005190439.tif 000014
【図１３】
2005190439.tif 000015
【図１４】
2005190439.tif 000016
【図１５】
2005190439.tif 000017
【図１６】
2005190439.tif 000018
【図１７】
2005190439.tif 000019
【図１８】
2005190439.tif 000020
【図１９】
2005190439.tif 000021
【図２０】
2005190439.tif 000022
【図２１】
2005190439.tif 000023
【図２２】
2005190439.tif 000024
【図２３】
2005190439.tif 000025