(57)【特許請求の範囲】
【請求項１】
帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索装置であって、
指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付手段と、
前記検索ダイアログ表示要求受付手段により受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出手段と、
前記矩形検出手段により検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出手段と、
前記矩形検出手段により検索された矩形の中から、前記項目矩形抽出手段により抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出手段と、
前記検索矩形抽出手段により抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知手段と、
選択された前記検索矩形に対する検索条件を受け付ける検索条件受付手段と、
前記検索条件受付手段により受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行手段と
を有することを特徴とする帳票検索装置。
【請求項２】
前記フォームデータは、全ページ同じ形式が定義されるシングルフォームデータ、または、ページ毎に異なる形式が定義されるマルチフォームデータであることを特徴とする請求項１に記載の帳票検索装置。
【請求項３】
前記所定の配置関係となる矩形とは、前記項目矩形抽出手段により抽出された項目矩形と帳票上において右方向又は下方向に隣接する矩形であることを特徴とする請求項１または２に記載の帳票検索装置。
【請求項４】
前記矩形検出手段は、前記指定された帳票データを構成する前記フォームデータに定義される四角または直線のベクタ命令を用いることで矩形を検出することを特徴とする請求項１乃至３のいずれか１項に記載の帳票検索装置。
【請求項５】
帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索方法であって、
指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付ステップと、
前記検索ダイアログ表示要求受付ステップにより受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出ステップと、
前記矩形検出ステップにより検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出ステップと、
前記矩形検出ステップにより検索された矩形の中から、前記項目矩形抽出ステップにより抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出ステップと、
前記検索矩形抽出ステップにより抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知ステップと、
選択された前記検索矩形に対する検索条件を受け付ける検索条件受付ステップと、
前記検索条件受付ステップにより受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行ステップと
を有することを特徴とする帳票検索方法。
【請求項６】
帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索方法をコンピュータに実行させるためのプログラムであって、
指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付ステップと、
前記検索ダイアログ表示要求受付ステップにより受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出ステップと、
前記矩形検出ステップにより検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出ステップと、
前記矩形検出ステップにより検索された矩形の中から、前記項目矩形抽出ステップにより抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出ステップと、
前記検索矩形抽出ステップにより抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知ステップと、
選択された前記検索矩形に対する検索条件を受け付ける検索条件受付ステップと、
前記検索条件受付ステップにより受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行ステップと
をコンピュータに実行させるためのプログラム。
【請求項７】
請求項６に記載のプログラムをコンピュータに読み取り可能に記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、電子帳票システムにおいてデータの検索を行なう帳票検索装置、帳票検索方法、当該帳票検索方法をコンピュータに実行させるためのプログラム、及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体に関するものである。
【背景技術】
【０００２】
電子帳票システムにおいて、電子帳票として表示される帳票データは、電子帳票の形式を規定するフォームデータと、電子帳票における実際のデータ（以下、このデータを「帳票実データ」と称する）とを合わせることにより表現される。
【０００３】
従来の電子帳票における検索では、帳票実データを中心に考えられており、フォームデータは帳票実データに付随するものとして捉えられている。そのため、オペレータは、検索実行時に検索領域の矩形を設定して、検索を行なう帳票実データの位置を指定しなければならなかった。
【０００４】
一般的に、オペレータは、以下の操作をすることにより、電子帳票内の任意のデータを検索している。
【０００５】
＜１＞帳票を表示し、抽出したいデータのある個所に矩形を設定する。
＜２＞検索対象の矩形や条件文を入力し、検索を実行する。
＜３＞検索結果が画面、もしくは、ファイルに書き出される。
【０００６】
上述したような従来の電子帳票における検索方法では、電子帳票内の特定のデータを検索する際に、オペレータがマウスを操作して検索したい帳票実データの存在する個所に確実に矩形を設定する必要があった。もし矩形から帳票実データがはみだしてしまうと、その帳票実データが検索対象から漏れてしまうからである。従って、オペレータは、検索を実行する度に、慎重にマウス操作をして帳票実データの存在する個所に確実に矩形を設定しなければならなかった。また、この矩形の設定は数頁ある中の１頁を表示させて行なうものであり、そこで設定された矩形の位置が検索対象の位置として全ての頁に反映されるようになっている。そのため、オペレータが確実に矩形を設定するためには、全ての頁で設定した矩形に検索したい帳票実データが含まれるかどうかを確認するも必要あった。
【０００７】
一方、電子帳票の中には、書式（形式）の異なる帳票が複数存在していることが少なくない（本明細書では、電子帳票が全頁に渡って同一の書式で記述されているものを「シングルフォーム」と称し、電子帳票が複数の異なる書式で記述されているものを「マルチフォーム」と称する。）。
【０００８】
マルチフォームの帳票では、頁によってその書式が異なるため、書式に基づいて配置される帳票実データの位置も異なることになる。そして、従来の電子帳票における検索方法では、例えば、マルチフォームの電子帳票の１頁目だけを見て設定した検索領域の矩形を、全ての頁に渡ってオペレータの意図する個所に設定することができず、検索に必要な帳票実データを抽出することができなかった。下記の特許文献１には、画像で作成された書式の罫線を認識しその罫線で囲まれた範囲に存在するデータを抽出するデータ抽出システムに関する技術が開示されている。
【０００９】
【特許文献１】特開２００１−２０９７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１記載の技術は、画像で作成された書式の罫線を認識する技術であるため、フォームデータと帳票実データとからなる電子帳票にそのまま応用できるものではない。また、再利用可能なように帳票内のデータを抽出する技術であるが、検索対象とすることを目的としてデータを抽出するような観点については言及されていない。
【００１１】
本発明は上述の問題点にかんがみてなされたものであり、シングルフォーム、マルチフォームの帳票にかかわらず、帳票実データを容易に検索することができるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の帳票検索装置は、帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索装置であって、指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付手段と、前記検索ダイアログ表示要求受付手段により受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出手段と、前記矩形検出手段により検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出手段と、前記矩形検出手段により検索された矩形の中から、前記項目矩形抽出手段により抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出手段と、前記検索矩形抽出手段により抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知手段と、選択された前記検索矩形に対する検索条件を受け付ける検索条件受付手段と、前記検索条件受付手段により受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行手段とを有する。
【００１３】
本発明の帳票検索方法は、帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索方法であって、指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付ステップと、前記検索ダイアログ表示要求受付ステップにより受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出ステップと、前記矩形検出ステップにより検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出ステップと、前記矩形検出ステップにより検索された矩形の中から、前記項目矩形抽出ステップにより抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出ステップと、前記検索矩形抽出ステップにより抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知ステップと、選択された前記検索矩形に対する検索条件を受け付ける検索条件受付ステップと、前記検索条件受付ステップにより受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行ステップとを有する。
【００１４】
本発明のプログラムは、帳票の形式を定義するフォームデータと当該帳票の実データとから構成される帳票データに対して検索を実行する帳票検索方法をコンピュータに実行させるためのプログラムであって、指定された前記帳票データに対する検索ダイアログの表示要求を受け付ける検索ダイアログ表示要求受付ステップと、前記検索ダイアログ表示要求受付ステップにより受け付けた表示要求に応じて、前記指定された帳票データを構成する前記フォームデータを用いて、矩形を検出する矩形検出ステップと、前記矩形検出ステップにより検出された矩形の中から、前記フォームデータにより矩形内に文字列が定義される矩形を、項目矩形として抽出する項目矩形抽出ステップと、前記矩形検出ステップにより検索された矩形の中から、前記項目矩形抽出ステップにより抽出された項目矩形と帳票上において所定の配置関係となる矩形を、当該項目矩形に対応する検索矩形として抽出する検索矩形抽出ステップと、前記検索矩形抽出ステップにより抽出された検索矩形を検索対象として利用者に選択させるべく、当該検索矩形に対応する前記項目矩形に含まれる前記文字列を通知する通知ステップと、選択された前記検索矩形に対する検索条件を受け付ける検索条件受付ステップと、前記検索条件受付ステップにより受け付けた検索条件を用いて、前記選択された検索矩形に含まれる前記実データに対して検索を実行する検索実行ステップとをコンピュータに実行させるためのものである。
【００１５】
本発明のコンピュータ読み取り可能な記憶媒体は、前記プログラムをコンピュータに読み取り可能に記憶する。
【発明の効果】
【００１６】
本発明によれば、シングルフォーム、マルチフォームの帳票にかかわらず帳票実データを容易に検索することができる。
【発明を実施するための最良の形態】
【００１７】
図１は、本発明の実施形態に係る電子帳票システムの概略構成を示す図である。
本実施形態に係る電子帳票システムは、電子帳票を参照するためのクライアント装置１と、電子帳票に係るデータの集中管理及びデータの検索処理等を行なう電子帳票サーバ装置（帳票検索装置）２と、それらを通信接続するネットワーク３とを有して構成されている。ここで、図１に示す電子帳票システムには、１つのクライアント装置のみを表記しているが、本実施形態においては、複数のクライアント装置が設けられていてもよい。
【００１８】
クライアント装置１は、電子帳票の表示及び検索に係る制御を行なうクライアント制御部（ビューア）１１と、クライアント制御部１１による制御に基づき電子帳票の表示や各種情報の表示を行なう表示装置１２と、オペレータが電子帳票の検索や表示等の入力を行なうための入力装置１３とを有して構成されている。ここで、入力装置１３としては、キーボード１３ａ及びマウス１３ｂが設けられている。この入力装置１３を用いることにより、オペレータが検索領域の選択や検索条件の入力を行なうことが可能となる。
【００１９】
クライアント制御部１１は、帳票データ表示制御部１１１と、検索結果表示制御部１１２と、入力検知部１１３と、通信部１１４とを有して構成されている。
【００２０】
帳票データ表示制御部１１１は、電子帳票サーバ装置２から送信されてきた帳票データに基づく電子帳票の画像を生成し、当該電子帳票の画像を表示装置１２の表示画面に表示する制御を行なう。検索結果表示制御部１１２は、入力装置１３を介してオペレータから入力された帳票実データに係る検索要求に対して、電子帳票サーバ装置２から送られてきた検索結果に基づく画像を生成し、当該画像を表示装置１２の表示画面に表示する制御を行なう。入力検知部１１３は、入力装置１３を介してオペレータから入力された電子帳票の表示要求や帳票実データに係る検索要求を検知する。この入力検知部１１３で検知された情報に基づき、電子帳票サーバ装置２は処理を実行する。通信部１１４は、電子帳票サーバ装置２との通信を司るものである。
【００２１】
電子帳票サーバ装置２は、クライアント装置１からの電子帳票の表示要求や帳票実データに係る検索要求に基づいて当該電子帳票サーバ装置の制御を行なうサーバ制御部２１と、電子帳票の形式を規定するフォームデータ２２ａ及び電子帳票における実際の実データである帳票実データ２２ｂを記憶する帳票データ記憶部２２と、図２に示す各種テーブル情報を記憶するテーブル情報記憶部２３とを有して構成されている。
【００２２】
サーバ制御部２１は、帳票データ取得部２１１と、帳票データ送信部２１２と、検索実行部２１３と、検索結果送信部２１４と、通信部２１５とを有して構成されている。
【００２３】
帳票データ取得部２１１は、電子帳票の表示時や検索実行時に、必要なフォームデータ２２ａ及び／又は帳票実データ２２ｂを帳票データ記憶部２２から取得する。
【００２４】
帳票データ送信部２１２は、帳票データ取得部２１１から出力された帳票データを通信部２１５を介してクライアント装置１へ送信する。
【００２５】
検索実行部２１３は、クライアント装置１から要求された検索条件に基づいて、帳票実データの検索を行なう。また、検索実行部２１３では、検索条件として指定された検索領域の自動抽出も行なう。検索結果送信部２１４は、検索実行部２１３での検索実行結果を通信部２１５を介してクライアント装置１へ送信する。通信部２１５は、クライアント装置１との通信を司るものである。
【００２６】
図３は、本実施形態に係るクライアント装置１及び電子帳票サーバ装置２のハードウェア構成を示す図である。
図３に示すように、クライアント装置１及び電子帳票サーバ装置２には、ＣＰＵ３０１、ＲＡＭ（メモリ）３０２、ＲＯＭ３０３、ハードディスクドライブ（ＨＤＤ）３０４、記録媒体ドライブ３０５、ネットワークインタフェースカード（ＮＩＣ）３０６、ポインティングデバイスであるマウス３０７、キーボード（Ｋ／Ｂ）３０８、ビデオアダプタ３０９、及び表示装置３１０を備えており、また、これらがシステムバス３１１を介して互いに接続されている。
【００２７】
ＣＰＵ３０１は、オペレーションシステム（ＯＳ）のプログラムやアプリケーションプログラムに基づいて、四則演算や比較演算等の各種の演算、及びハードウェアの制御を行なうものである。
【００２８】
ＲＡＭ３０２は、ハードディスクドライブ（ＨＤＤ）３０４、ＲＯＭ３０３、記録媒体（例えば、ＣＤ−ＲＯＭ，ＤＶＤ，ＦＤ）等の記憶装置に記録されているＯＳやアプリケーションプログラム等を一時的に記憶するものであり、これらＲＡＭ３０２に記憶されたプログラムはＣＰＵ３０１の制御の下に実行される。
【００２９】
ＲＯＭ３０３は、ＣＰＵ３０１で実行する処理に必要なプログラム及びデータ等が記憶されており、例えば、ＯＳと協働して外部記憶装置等への入出力を司る、いわゆるＢＩＯＳ等が記憶されている。ハードディスクドライブ（ＨＤＤ）３０４には、ＯＳ、顧客担当手配方法を実行するためのプログラム等が記憶されている。記録媒体ドライブ３０５は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取りなどに用いられる。
【００３０】
ネットワークインタフェースカード（ＮＩＣ）３０６は、ＣＰＵ３０１によって制御されるＯＳの通信プログラムと協働して、ネットワークを介して外部との通信を行なう。
【００３１】
ポインティングデバイスであるマウス３０７やキーボード（Ｋ／Ｂ）３０８は、オペレータからの入力を行なうために用いられる。ビデオアダプタ３０９は、表示する画像を生成するために用いられる。表示装置３１０は、ビデオアダプタ３０９で生成された画像を表示するものである。
【００３２】
図１のクライアント装置１において、クライアント制御部１１は、例えばＣＰＵ３０１及びビデオアダプタ３０９、並びに、ＲＯＭ３０３やＨＤＤ３０４内に記録されるプログラム等から構成されており、表示装置１２は、表示装置３１０に相当するものであり、キーボード１３ａ及びマウス１３ｂは、それぞれキーボード（Ｋ／Ｂ）３０８及びマウス３０７に相当するものである。
【００３３】
図１の電子帳票サーバ装置２において、サーバ制御部２１は、例えばＣＰＵ３０１、並びに、ＲＯＭ３０３やＨＤＤ３０４内に記録されるプログラム等から構成されており、帳票データ記憶部２２及びテーブル情報記憶部２３は、例えばＲＡＭ３０２やＨＤＤ３０４内に設けられている。
【００３４】
図４は、本発明の実施形態に係る電子帳票システムにおいて、クライアント装置１及び電子帳票サーバ装置２での処理を示すフローチャートである。本実施形態においては、特に、下記のステップＳ４０３〜Ｓ４０７及びＳ４１１の処理が特徴的な処理である。
【００３５】
まず、クライアント装置１の表示装置１２に電子帳票が表示されている状態において（ステップＳ４０１）、オペレータから入力装置１３を介して検索ダイアログの表示要求がなされると、入力検知部１１３はこれを検知し、通信部１１４を介して電子帳票サーバ装置２に、検索ダイアログの表示要求を送る（ステップＳ４０２）。
【００３６】
電子帳票サーバ装置２では、クライアント装置１からの検索ダイアログの表示要求を受信し、本実施形態で特徴的な処理である、以下のステップＳ４０３〜Ｓ４０７及びＳ４１１の処理を行なう。
【００３７】
まず、検索実行部２１３は、帳票データ取得部２１１に対して表示要求のあった電子帳票におけるフォームデータ２２ａを取得させる。そして、検索実行部２１３は、当該フォームデータ２２ａ内のベクタ命令を解析して、フォームの罫線（縦線・横線）の座標情報を検出する（ステップＳ４０３）。そして、検索実行部２１３は、検出した縦線・横線の座標情報を含む情報を、図２に示すテーブル情報記憶部２３のそれぞれ「縦線テーブル」及び「横線テーブル」に記憶する。
【００３８】
続いて、検索実行部２１３は、ステップＳ４０３で検出した縦線・横線の座標情報に基づいて、重複する縦線又は横線が存在する場合には、当該重複する縦線又は横線を合成して、それぞれ図２に示す「縦線テーブル」及び「横線テーブル」を再構築する（ステップＳ４０４）。ここで、ステップＳ４０３では、フォームの罫線を無秩序に検出していくため、ステップＳ４０４では、縦線及び横線を整合性の取れた情報としてまとめておく必要がある。
【００３９】
続いて、検索実行部２１３は、ステップＳ４０３及びステップＳ４０４での処理により構築された縦線テーブル及び横線テーブルに基づいて、電子帳票を構成する罫線で囲まれた矩形を検出する（ステップＳ４０５）。そして、検索実行部２１３は、検出した矩形の座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「矩形テーブル」に記憶する。
【００４０】
続いて、検索実行部２１３は、ステップＳ４０５で検出された矩形の中から、当該矩形内にフォーム文字を含む項目矩形を抽出する（ステップＳ４０６）。そして、検索実行部２１３は、抽出した項目矩形の座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「項目矩形テーブル」に記憶する。なお、フォーム文字とは、フォームデータ２２ａ内の文字描画命令に設定されている文字列のことである。
【００４１】
続いて、検索実行部２１３は、ステップＳ４０５で検出された矩形の中から、ステップＳ４０６で抽出した項目矩形に対して所定方向に隣接する矩形を検索矩形として抽出する（ステップＳ４０７）。そして、検索実行部２１３は、抽出した検索矩形の座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「検索矩形テーブル」に記憶する。
【００４２】
続いて、通信部２１５を介して電子帳票サーバ装置２からクライアント装置１に対して、ステップＳ４０３〜Ｓ４０７の処理によって導き出された図２に示す検索矩形テーブルの項目文字列と検索矩形の座標情報が送信される。この時点で、例えば、図５に示すような電子帳票の場合、「氏名」の項目矩形５１、「電話番号」の項目矩形５２、及び、「住所」の項目矩形５３のそれぞれに対応する３つの検索矩形５４、５５及び５６が電子帳票サーバ装置２によって抽出されている。
【００４３】
クライアント装置１では、電子帳票サーバ装置２から送信された図２に示す検索矩形テーブルの項目文字列を検索対象である検索矩形の項目名として、図６の検索ダイアログ６１に表示する（ステップＳ４０８）。
【００４４】
続いて、オペレータにより、図７に示す検索対象設定部７１に選択した検索矩形の項目名が入力され、図７に示す検索条件設定部７２に検索条件の入力が行なわれて（ステップＳ４０９）、「ＯＫ」ボタンが操作されると、クライアント装置１では、検索を行なう検索矩形７３が設定される。
【００４５】
続いて、検索実行の処理がなされると（ステップＳ４１０）、クライアント装置１で設定された検索矩形の情報（項目文字列と検索矩形の座標情報）及びその検索条件の情報が電子帳票サーバ装置２に送信される。
【００４６】
電子帳票サーバ装置２では、クライアント装置１から送信された検索矩形の情報（項目文字列と検索矩形の座標情報）及びその検索条件の情報を受信する。そして、検索実行部２１３は、帳票データ取得部２１１に対して選択された検索矩形内に含まれる帳票実データ２２ｂを取得させる。なお、クライアント装置１から送信される検索矩形の情報（項目文字列）及びその検索条件の情報を受信した場合は、検索実行部２１３は、受信した項目文字列をキーに図２の検索矩形テーブルから該当する検索矩形の座標情報を取得して、帳票データ取得部２１１に対して当該検索矩形内に含まれる帳票実データ２２ｂを取得させる。そして、検索実行部２１３は、帳票データ取得部２１１により取得された帳票実データ２２ｂと、クライアント装置１から送信された検索条件とに基づいて、帳票実データの検索を行なう（ステップＳ４１１）。
【００４７】
続いて、検索実行部２１３は、ステップＳ４１１での検索結果に基づいて、検索結果一覧データを作成する（ステップＳ４１２）。そして、検索結果送信部２１４は、検索実行部２１３で作成された検索結果一覧データを通信部２１５を介してクライアント装置１に送信する。
【００４８】
クライアント装置１では、電子帳票サーバ装置２から送信された検索結果一覧データを受信し、検索結果表示制御部１１２において、当該検索結果一覧データに基づく画像を生成し、当該検索結果一覧データに基づく画像を表示装置１２に表示する（ステップＳ４１３）。
【００４９】
図８は、クライアント装置１に表示された検索結果一覧のイメージを示す図である。
図８に示す例は、図７において、検索対象設定部７１に検索矩形の項目名として「電話番号」が設定され、検索条件設定部７２に検索条件として「３３３３−３３−３３３３」が設定された場合に、電子帳票の帳票実データの中から、当該検索条件を満たす帳票実データ８１が検出され、当該帳票実データ８１が検索結果一覧８２に表示された状態を示している。
【００５０】
次に、図４に示したステップＳ４０３〜４０７における処理の詳細について説明する。
【００５１】
図９は、図４のステップＳ４０３における処理の詳細を示すフローチャートである。
電子帳票で表示される帳票データは、前述したように、通常、罫線等を表示するためのフォームデータと、例えば売上高等の数値を示す帳票実データとの２種類のデータを合わせることにより表示される。そして、本実施形態におけるフォームデータは、ベクタ命令の集合であり、長方形描画命令や直線描画命令、あるいは文字描画命令等の命令で表現される。
【００５２】
図１０は、フォームデータの描画イメージを示す図である。図１０（ａ）には、フォームデータが５つのレコードからなるベクタ命令で構成されており、レコード毎に、図形の種類、レコード長、パラメータ列（可変長）がそれぞれ規定されている。また、図１０（ｂ）は、図１０（ａ）で示したベクタ命令を再生した際の描画イメージを示すものである。
【００５３】
図９のフローチャートにおいて、検索実行部２１３は、表示要求のあった電子帳票におけるフォームデータ２２ａ内に格納されているフォーム描画のためのベクタ命令の列から、１レコードを取り出す（ステップＳ４０３１）。ここで、読み取るベクタ命令の長さは、ベクタ命令中の特定の位置に格納されている命令長により決定する。
【００５４】
図１１は、ベクタ命令を１レコード取り出す処理のイメージを示す図である。図１１（ａ）には、フォームデータが複数のレコードからなるベクタ命令で構成されており、レコード毎に、図形の種類、レコード長、パラメータ列（可変長）がそれぞれ規定されている。また、図１１（ｂ）は、例えば、検索実行部２１３のメモリ領域に、図１１（ａ）で示したベクタ命令のうち、最初のレコードを取り出た場合を示したものである。
【００５５】
続いて、検索実行部２１３は、ステップＳ４０３１で取り出したベクタ命令が長方形を描画する命令であるか否かを判断する（ステップＳ４０３２）。このステップＳ４０３２での判断は、ベクタ命令における図形の種類の値に基づき判断する。
【００５６】
ステップＳ４０３２でベクタ命令が長方形を描画する命令であると判断された場合（ステップＳ４０３２／ＹＥＳ）、続いて、検索実行部２１３は、当該長方形を４つの線分に分解し、各線分における座標情報を、それぞれ図２に示すテーブル情報記憶部２３の「縦線テーブル」又は「横線テーブル」に振り分けて記憶する（ステップＳ４０３３）。
【００５７】
図１２は、長方形を描画する命令がされた場合に、当該長方形を４つの線分に分解する処理のイメージを示す図である。
例えば、ステップＳ４０３１で取り出したベクタ命令の長方形が、図１２（ａ）で示すように、左辺のＸ座標：１００、上辺のＹ座標：１００、右辺のＸ座標：１８００、下辺のＹ座標：１２００と規定されている場合、当該長方形は、図１２（ａ）及び（ｂ）に示す直線１〜４の４つの線分に分解されることになる。
【００５８】
また、ステップＳ４０３３における処理では、長方形を４つの線分に分解した後、それぞれの線分を縦線テーブル又は横線テーブルに振り分けるために、各線分が縦線又は横線のどちらであるかを解析する必要がある。そこで、線分の始点と終点のＸ座標が同一である場合には線分が縦線であると考えられるため、当該線分の座標情報を縦線テーブルに記憶する。また、線分の始点と終点のＹ座標が同一である場合には線分が横線であると考えられるため、当該線分の座標情報を横線テーブルに記憶する。図１２（ｂ）に示す例では、直線１及び直線４が縦線テーブルに、直線２及び直線３が横線テーブルに記憶される。また、各テーブルには、図２に示すフォーマットにしたがって記憶される。
【００５９】
一方、ステップＳ４０３２でベクタ命令が長方形を描画する命令でないと判断された場合（ステップＳ４０３２／ＮＯ）、続いて、検索実行部２１３は、ステップＳ４０３１で取り出したベクタ命令が直線を描画する命令であるか否かを判断する（ステップＳ４０３４）。このステップＳ４０３４での判断も、ステップＳ４０３２と同様に、ベクタ命令における図形の種類の値に基づき判断する。
【００６０】
ステップＳ４０３４でベクタ命令が直線を描画する命令であると判断された場合（ステップＳ４０３４／ＹＥＳ）、続いて、検索実行部２１３は、当該直線が縦線であるか横線であるかを解析し、当該解析結果に基づいて、各線分における座標情報を、それぞれ図２に示すテーブル情報記憶部２３の「縦線テーブル」又は「横線テーブル」に振り分けて記憶する（ステップＳ４０３５）。この際、線分の始点と終点のＸ座標が同一である場合には線分が縦線であると考えられるため、当該線分の座標情報を縦線テーブルに記憶する。また、線分の始点と終点のＹ座標が同一である場合には線分が横線であると考えられるため、当該線分の座標情報を横線テーブルに記憶する。
【００６１】
ステップＳ４０３４でベクタ命令が直線を描画する命令でないと判断された場合（ステップＳ４０３４／ＹＥＳ）、ステップＳ４０３３の処理が終了した場合、あるいは、ステップＳ４０３５の処理が終了した場合、続いて、検索実行部２１３は、ベクタ命令における全てのレコードの取り出しが終了したか否かを判断し、全てのレコードの取り出しが終了するまで、ステップＳ４０３１〜Ｓ４０３５までの処理を繰り返し行なう。
【００６２】
図１３は、図４のステップＳ４０４における処理の詳細を示すフローチャートである。すなわち、図１３では、縦線・横線テーブルのレコードを再構築する処理を行なう。ここで再構築とは、縦線テーブル又は横線テーブルに重複する線分が存在する場合に、当該重複する線分を合成して１つの線分として、各テーブルに記憶し直すことである。
【００６３】
図１４は、縦線・横線テーブルのレコードを再構築する処理のイメージを示す図である。
例えば、図１４（ａ）及び（ｂ）に示すように、直線１、直線２、直線３と３つの線分が重なって描画されるレコードが記憶されている場合、図１４（ｃ）及び（ｄ）に示すように、当該３つの線分を結合して、１つの線分（図１４（ｄ）の直線Ａ）としてテーブルに記憶し直す。したがって、ステップＳ４０４以前の処理で作成された縦線・横線テーブルでは、直線１、直線２、直線３の３つのレコードが記憶されていたものが、ステップＳ４０４の再構築処理の後では、直線Ａの１つのレコードのみが記憶されている状態となる。図１３に示す以下の処理は、縦線テーブルと横線テーブルの両方のテーブルに対して行なう。
【００６４】
図１３のフローチャートにおいて、検索実行部２１３は、ステップＳ４０３で検出された縦線及び横線について、縦線を取り出す場合は縦線テーブルから、縦線を取り出す場合は横線テーブルから、１レコードを取り出す（ステップＳ４０４１）。すなわち、ステップＳ４０４１では、縦線テーブル及び横線テーブルの中から、１つの線分に対応する１つのレコードを取り出す。
【００６５】
続いて、検索実行部２１３は、縦線の場合は縦線テーブルに対して、横線の場合は横線テーブルに対して、ステップＳ４０４１で取り出したレコードにおける線分と重なる線分が存在するか否かを判断する（ステップＳ４０４２）。
【００６６】
図１５は、重なる線分が存在するか否かを判定する条件を示す図である。
図１５に示す条件では、直線Ａと直線Ｂの２つの線分について記載している。線分が縦線である場合には、図１５に示す（１）の条件と、（２）あるいは（３）の条件を満たす場合に、直線Ａと直線Ｂとが重なると判定される。また、線分が横線である場合には、図１５に示す（４）の条件と、（５）あるいは（６）の条件を満たす場合に、直線Ａと直線Ｂとが重なると判定される。
【００６７】
ステップＳ４０４２で重なる線分が存在すると判断された場合（ステップＳ４０４２／ＹＥＳ）、重なる線分の座標情報を、例えば検索実行部２１３のメモリ上に保持し、重なる線分が存在しなくなるまで、当該処理を繰り返す。具体的に、重なる線分が存在する場合は、その線分の始点と終点の座標情報を当該メモリ上に保持する。例えば、図１４（ｂ）に示すように３つの重なる直線１〜３が存在する場合には、直線１、直線２及び直線３のそれぞれの座標情報を当該メモリ上に保持する。
【００６８】
続いて、検索実行部２１３は、ステップＳ４０４２でメモリ上に保持した重なる各線分を１つの線分に合成し、合成した線分の座標情報を含む情報を、当該線分に対応するテーブルに記憶する（ステップＳ４０４３）。この際、当該線分が縦線の場合は縦線テーブルに、当該線分が横線の場合は横線テーブルに再構築して記憶する。
【００６９】
ここで、各テーブルを再構築する際には、合成した線分の始点及び終点の座標位置を導き出し、当該座標位置に基づく座標情報を記憶する。具体的に、合成した線分が縦線の場合には、最も上にある線分の始点の座標が合成後の線分の始点になり、最も下にある線分の終点の座標が合成後の線分の終点になる。また、合成した線分が横線の場合には、最も左にある線分の始点の座標が合成後の線分の始点になり、最も右にある線分の終点の座標が合成後の線分の終点になる。図１４（ｃ）及び（ｄ）がそのイメージを示したものである。なお、各テーブルを再構築する際には、合成された重なる各線分に係る情報は各テーブルから削除される。
【００７０】
ステップＳ４０４３の処理が終了した後、あるいは、ステップＳ４０４２で重なる線分が存在しないと判断された場合（ステップＳ４０４２／ＮＯ）にはステップＳ４０４１で取り出したレコードを、当該レコードが記憶されていたテーブルにそのまま記憶させた状態とした後に、続いて、検索実行部２１３は、ステップＳ４０３で作成された縦線テーブル及び横線テーブルにおける全てのレコードの取り出しが終了したか否かを判断し、全てのレコードの取り出しが終了するまで、ステップＳ４０４１〜Ｓ４０４３までの処理を繰り返し行なう。
【００７１】
図１６は、図４のステップＳ４０５における処理の詳細を示すフローチャートである。
まず、検索実行部２１３は、ステップＳ４０４で再構築された縦線テーブルから、１レコードを取り出す（ステップＳ４０５１）。
【００７２】
続いて、検索実行部２１３は、横線テーブルを走査し、ステップＳ４０５１で取り出した縦線に交わる横線を抜き出す（ステップＳ４０５２）。抜き出した横線の情報は、例えば、検索実行部２１３のメモリ上に保持する。図１７は、横線テーブルから縦線に交わる横線を抜き出す際の条件を示す図である。図１７に示す（１）の条件と、図１７に示す（２）の条件とを満たす場合に、縦線に交わる横線と判定され、当該横線が抜き出される。
【００７３】
続いて、検索実行部２１３は、ステップＳ４０５２で抜き出した横線の数が２つ以上であるか否かを判断する（ステップＳ４０５３）。
【００７４】
ステップＳ４０５３でステップＳ４０５２で抜き出した横線の数が２つ以上であると判断された場合、続いて、検索実行部２１３は、縦線・横線で囲まれた矩形領域が存在するか否かを解析し、当該矩形領域が存在する場合には、当該矩形領域における座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「矩形テーブル」に記憶する（ステップＳ４０５４）。
【００７５】
ステップＳ４０５４の処理の詳細を以下に説明する。
図１８は、矩形領域の検出処理を示すイメージ図である。図１８では、ステップＳ４０５２において、ステップＳ４０５１で取り出された縦線１８１と交わる横線が４つ（横線［１］〜［４］）抜き出された場合の例を示している。
【００７６】
まず、ステップＳ４０５２で抜き出された複数の横線のうち、図１８（ｂ）に示すように、２つの横線を選択する。そして、当該選択した２つの横線に交わり、かつ縦線１８１とは異なる縦線１８２が存在するか否かを解析する。
【００７７】
具体的に、図１８の例では、まず、第１のステップでは、メモリ内部に保持されている横線の中から、最も上に位置する横線［１］を抜き出し、当該横線を基準線とする。そして、図１８（ｂ）に示すように、基準線［１］とそれより下に位置する各横線［２］〜［４］との２つの横線に交わる縦線１８２が存在するか否かを解析する。基準線［１］とそれより下に位置する横線と交わる縦線１８２が存在する場合、もしくは、基準線［１］とそれより下に位置する全ての横線［２］〜［４］と交わる縦線１８２が存在しなかった場合は、基準線を横線［１］から変更する。そして、同様に、第２のステップでは、横線［２］を基準線として当該基準線より下に位置する各横線［３］、［４］との２つの横線に交わる縦線１８２が存在するか否かを解析し、更に、第３のステップでは、横線［３］を基準線として当該基準線より下に位置する横線［４］との２つの横線に交わる縦線１８２が存在するか否かを解析する。なお、本実施形態における基準線は、Ｙ座標を軸に上から順に設定していくものとしている。
【００７８】
図１９は、選択した２つの横線に交わり、かつステップＳ４０５１で取り出された縦線１８１とは異なる縦線１８２が存在するか否かを判定する条件を示す図である。
図１９に示すように、基準線となる横線が図１９に示す（１）及び（２）の条件を満たし、かつ、基準線より下に位置する横線が図１９に示す（３）及び（４）の条件を満たし、かつ、ステップＳ４０５１で取り出された縦線１８１が図１９に示す（５）の条件を満たす場合に、縦線１８２が存在すると判定される。
【００７９】
図２０は、矩形テーブルに記憶される矩形領域の座標情報を示す図である。
図２０に示すように、矩形領域の座標情報としては、矩形領域の上下左右の頂点の位置の座標を導き出し、当該座標を矩形領域における座標情報として矩形テーブルに記憶される。
【００８０】
ステップＳ４０５３でステップＳ４０５２で抜き出した横線の数が２つ未満であると判断された場合、あるいは、ステップＳ４０５４の処理が終了した場合、続いて、検索実行部２１３は、ステップＳ４０５１で縦線テーブルの全てのレコードの取り出しが終了したか否かを判断し、全てのレコードの取り出しが終了するまで、ステップＳ４０５１〜Ｓ４０５４までの処理を繰り返し行なう。
【００８１】
図２１は、図４のステップＳ４０６における処理の詳細を示すフローチャートである。
まず、検索実行部２１３は、ステップＳ４０５４で作成した矩形テーブルから１レコードを取り出す（ステップＳ４０６１）。
【００８２】
続いて、検索実行部２１３は、ステップＳ４０６１で取り出した矩形内にフォーム文字が存在するか否かを判断する（ステップＳ４０６２）。この矩形内にフォーム文字が存在するか否かの判断は、フォームデータ２２ａにおけるベクタ命令を走査し、文字描画命令があるか否かに基づいて判断する。図１０に示す例では、「ＡＢＣＤ」という文字がフォーム文字に該当する。そして、「ＡＢＣＤ」という文字列の位置が（図１０に示す例では、（始点のＸ座標、始点のＹ座標）＝（１００、１００））、ステップＳ４０６１で取り出した矩形内に存在するか否かを判断する。
【００８３】
ステップＳ４０６２で矩形内にフォーム文字が存在すると判断された場合には（ステップＳ４０６２／ＹＥＳ）、当該矩形を項目矩形として、当該矩形における上下左右の頂点の位置の座標情報やフォーム文字の情報を含む情報を、図２に示すテーブル情報記憶部２３の「項目矩形テーブル」に記憶する（ステップＳ４０６３）。
【００８４】
一方、ステップＳ４０６２で矩形内にフォーム文字が存在しないと判断された場合には（ステップＳ４０６２／ＮＯ）、当該矩形を検索領域候補矩形として、当該矩形における上下左右の頂点の位置の座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「検索領域候補矩形テーブル」に記憶する（ステップＳ４０６４）。
【００８５】
ステップＳ４０６３の処理が終了した場合、あるいは、ステップＳ４０６４の処理が終了した場合、続いて、検索実行部２１３は、ステップＳ４０５４で作成した矩形テーブルにおける全てのレコードの取り出しが終了したか否かを判断し、全てのレコードの取り出しが終了するまで、ステップＳ４０６１〜Ｓ４０６５までの処理を繰り返し行なう。
【００８６】
図２２は、図４のステップＳ４０７における処理の詳細を示すフローチャートである。
まず、検索実行部２１３は、ステップＳ４０６３で作成した項目矩形テーブルから１レコードを取り出す（ステップＳ４０７１）。
【００８７】
続いて、検索実行部２１３は、ステップＳ４０６４で作成した検索領域候補矩形テーブル内に、ステップＳ４０７１で取り出した項目矩形に対して、所定方向に隣接する矩形が存在するか否かを判断する（ステップＳ４０７２）。このステップＳ４０７２で存在すると判断された矩形は、検索対象となる「検索矩形」となる。
【００８８】
ステップＳ４０７２の判断において、本実施形態では、項目矩形に対して右方向又は下方向に位置する矩形が存在するか否かに基づいて判断を行なう。これは、一般的に使われる電子帳票の特徴に鑑みて、フォーム文字の項目に該当する帳票実データは、当該項目の右方向又は下方向に記述されることよるものである。
【００８９】
図２３は、検索矩形のイメージを示す図である。図２３に示された項目矩形に対して、当該項目矩形の右方向及び下方向に位置する矩形２０３１及び２０３２が検索矩形となる。
【００９０】
図２４は、検索矩形であるか否かを判定する条件を示す図である。
条件１は、図２４に示す（１）及び（２）の条件を満たす場合に満たしたと判定され、条件２は、図２４に示す（３）及び（４）の条件を満たす場合に満たしたと判定される。そして、検索矩形であるか否かを判定は、条件１及び条件２うち、いずれかを満たす場合に、検索矩形であると判定される。
【００９１】
ステップＳ４０７２において、ステップＳ４０７１で取り出した項目矩形に対して所定方向に隣接する矩形が存在すると判断された場合（ステップＳ４０７２／ＹＥＳ）、続いて、検索実行部２１３は、当該矩形を検索矩形として、当該矩形における上下左右の頂点の位置の座標情報を含む情報を、図２に示すテーブル情報記憶部２３の「検索矩形テーブル」に記憶する（ステップＳ４０７３）。また、Ｓ４０７１で項目矩形テーブルから取り出した項目矩形に含まれる項目文字列を「検索矩形テーブル」に記憶する（ステップＳ４０７３）。
【００９２】
ステップＳ４０７２においてステップＳ４０７１で取り出した項目矩形に対して所定方向に隣接する矩形が存在しないと判断された場合（ステップＳ４０７２／ＮＯ）、あるいは、ステップＳ４０７３の処理が終了した場合、続いて、検索実行部２１３は、項目矩形テーブルにおける全てのレコードの取り出しが終了したか否かを判断し、全てのレコードの取り出しが終了するまで、ステップＳ４０７１〜Ｓ４０７３までの処理を繰り返し行なう。
【００９３】
以上説明したように、本実施形態に係る電子帳票サーバ装置（帳票検索装置）２では、検索実行部２１３において、クライアント装置１から表示要求された電子帳票の形式を規定するフォームデータ２２ａに基づいて電子帳票を構成する縦線及び横線を検出し（ステップＳ４０３）、検出した縦線及び横線に基づいて電子帳票を構成する矩形を検出し（ステップＳ４０５）、検出した矩形の中から、当該矩形内にフォーム文字を含む項目矩形を抽出し（ステップＳ４０６）、クライアント装置１から所定のフォーム文字が指定された場合に、ステップＳ４０４により検出された矩形であって、当該所定のフォーム文字を含む所定の項目矩形に対して所定方向に隣接する矩形内に含まれる帳票実データ２２ｂを検索するようにしている（ステップＳ４１１）。ここで、本実施形態では、帳票実データ２２ｂを検索する検索対象の矩形として、項目矩形に対して右方向又は下方向に位置する矩形としている。
【００９４】
また、本実施形態に係る電子帳票サーバ装置２では、ステップＳ４０５で電子帳票を構成する矩形を検出する際に、ステップＳ４０３で検出した縦線及び横線のうち、重複する縦線又は横線が存在する場合には、当該重複する縦線又は横線を合成して、電子帳票を構成する矩形を検出するようにしている。
【００９５】
また、本実施形態に係る電子帳票サーバ装置２では、ステップＳ４０５で電子帳票を構成する矩形を検出する際に、ステップＳ４０３で検出した縦線及び横線の中から１つの第１線分を取得し、当該第１線分と交わる第２線分が複数ある場合に、当該複数の第２線分のうちの少なくとも２つの第２線分と交わり、かつ第１線分とは異なる第３線分を検出して、電子帳票を構成する矩形を検出するようにしている。
【００９６】
また、本実施形態に係る電子帳票サーバ装置２では、ステップＳ４０３で電子帳票を構成する縦線及び横線を検出する際に、フォームデータ２２ａにおけるベクタ命令情報に基づいて検出を行なうようにしている。
【００９７】
本実施形態に係る電子帳票サーバ装置２によれば、帳票実データ２２ｂを視覚的に分類しているフォームデータ２２ａに着目し、フォームデータ２２ａから必要な帳票実データ２２ｂの位置を判定して帳票実データ２２ｂの検索を行なうようにしたので、電子帳票における各頁のフォームデータ２２ａから必要な帳票実データ２２ｂの位置を特定することができるため、マルチフォームの電子帳票であっても、帳票実データを容易に検索することができる。
【００９８】
また、本実施形態に係る電子帳票サーバ装置２によれば、従来、オペレータが帳票実データの検索を行なう際に行なっていた検索領域の設定という煩雑な操作を行なう必要を無くすことができ、帳票実データの検索処理における操作を容易にすることが可能になる。
【００９９】
また、本実施形態に係る電子帳票サーバ装置２によれば、従来の技術では、困難であったり煩雑な設定を行なう必要があったりした、以下の２つ状況に関しても、容易な操作で実現することが可能になった。
【０１００】
１．電子帳票のフォーム内に同じ内容の項目が複数箇所存在する状況の場合（図２５に示す状況の場合）
この状況の場合、従来の技術では、複数分検索領域を設定して検索を行なう必要があった。本実施形態に係る電子帳票サーバ装置２によれば、電子帳票のフォーム内に同じ内容の項目が複数箇所存在する場合でも、検索対象領域を１つ指定するだけで必要な帳票実データの検索が可能になる。
【０１０１】
例えば、図２５に示す電子帳票のように、「電話番号」の項目が複数箇所（２箇所）に存在する場合、本実施形態に係る電子帳票サーバ装置２では、「電話番号」の項目矩形２５０１及び２５０２に対して、所定方向（右方向又は下方向）に隣接する検索矩形２５０３及び２５０４内に含まれる帳票実データを検索するようにしているため、検索対象領域を１つ指定するだけで必要な帳票実データの検索が可能である。
【０１０２】
２．マルチフォームの電子帳票に対して、頁を跨いだ検索（いわゆる横串検索）を行なう状況の場合（図２６に示す状況の場合）
この状況の場合、従来の技術では、各頁毎に検索領域を設定して検索を行なう必要があった。本実施形態に係る電子帳票サーバ装置２によれば、フォーム文字の項目が指定された場合に、当該フォーム文字を含む項目矩形に対して、所定方向（右方向又は下方向）に隣接する帳票実データを検索するようにしているため、検索対象領域を１つ指定するだけで頁を跨いだ検索、いわゆる横串検索を行なうことが可能になる。
【０１０３】
例えば、図２６（ａ）に示すように１頁目が「住所録」の帳票、図２６（ｂ）に示すように２頁目が「個人記録」の帳票と、マルチフォームの電子帳票である場合、本実施形態に係る電子帳票サーバ装置２では、「電話番号」の項目が指定された際に、当該「電話番号」の項目矩形２６０１及び２６０３に対して、所定方向（右方向又は下方向）に隣接する検索矩形２６０２及び２６０４内に含まれる帳票実データを検索するようにしているため、検索対象領域を１つ指定するだけで頁を跨いだ検索、いわゆる横串検索を行なうことが可能になる。
【０１０４】
前述した本実施形態に係る電子帳票サーバ装置を構成する図１及び図３の各手段、並びに電子帳票サーバ装置における帳票検索方法を示した図４、図９、図１３、図１６、図２１及び図２２の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【０１０５】
具体的に、前記プログラムは、例えばＣＤ−ＲＯＭのような記憶媒体に記録し、あるいは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク（ＬＡＮ、インターネットの等のＷＡＮ、無線通信ネットワーク等）システムにおける通信媒体（光ファイバ等の有線回線や無線回線等）を用いることができる。
【０１０６】
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る電子帳票サーバ装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して本実施形態に係る電子帳票サーバ装置の機能が実現される場合や、供給されたプログラムの処理の全て、あるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る電子帳票サーバ装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態に係る電子帳票システムの概略構成を示す図である。
【図２】テーブル情報記憶部に記憶される各種テーブル情報を示す図である。
【図３】本実施形態に係るクライアント装置及び電子帳票サーバ装置のハードウェア構成を示す図である。
【図４】本発明の実施形態に係る電子帳票システムにおいて、クライアント装置及び電子帳票サーバ装置での処理を示すフローチャートである。
【図５】電子帳票から検出される矩形のイメージを示す図である。
【図６】検索ダイアログのイメージを示す図である。
【図７】検索条件の入力イメージを示す図である。
【図８】クライアント装置に表示された検索結果一覧のイメージを示す図である。
【図９】図４のステップＳ４０３における処理の詳細を示すフローチャートである。
【図１０】フォームデータの描画イメージを示す図である。
【図１１】ベクタ命令を１レコード取り出す処理のイメージを示す図である。
【図１２】長方形を描画する命令がされた場合に、当該長方形を４つの線分に分解する処理のイメージを示す図である。
【図１３】図４のステップＳ４０４における処理の詳細を示すフローチャートである。
【図１４】縦線・横線テーブルのレコードを再構築する処理のイメージを示す図である。
【図１５】重なる線分が存在するか否かを判定する条件を示す図である。
【図１６】図４のステップＳ４０５における処理の詳細を示すフローチャートである。
【図１７】横線テーブルから縦線に交わる横線を抜き出す際の条件を示す図である。
【図１８】矩形領域の検出処理を示すイメージ図である。
【図１９】選択した２つの横線に交わり、かつステップＳ４０５１で取り出された縦線とは異なる縦線が存在するか否かを判定する条件を示す図である。
【図２０】矩形テーブルに記憶される矩形領域の座標情報を示す図である。
【図２１】図４のステップＳ４０６における処理の詳細を示すフローチャートである。
【図２２】図４のステップＳ４０７における処理の詳細を示すフローチャートである。
【図２３】検索矩形のイメージを示す図である。
【図２４】検索矩形であるか否かを判定する条件を示す図である。
【図２５】電子帳票のフォーム内に同じ内容の項目が複数箇所存在する状況の場合を示す図である。
【図２６】マルチフォームの電子帳票に対して、頁を跨いだ検索を行なう状況の場合を示す図である。
【符号の説明】
【０１０８】
１  クライアント装置
２  電子帳票サーバ装置（帳票検索装置）
３  ネットワーク
１１  クライアント制御部（ビューア）
１２  表示装置
１３  入力装置
１３ａ  キーボード
１３ｂ  マウス
１１１  帳票データ表示制御部
１１２  検索結果表示制御部
１１３  入力検知部
１１４  通信部
２１  サーバ制御部
２２  帳票データ記憶部
２２ａ  フォームデータ
２２ｂ  帳票実データ
２３  テーブル情報記憶部
２１１  帳票データ取得部
２１２  帳票データ送信部
２１３  検索実行部
２１４  検索結果送信部
２１５  通信部
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  ハードディスクドライブ（ＨＤＤ）
３０５  記録媒体ドライブ
３０６  ネットワークインタフェースカード（ＮＩＣ）
３０７  マウス
３０８  キーボード（Ｋ／Ｂ）
３０９  ビデオアダプタ
３１０  表示装置
３１１  システムバス
【図１】
0004693167.tif 000002
【図２】
0004693167.tif 000003
【図３】
0004693167.tif 000004
【図４】
0004693167.tif 000005
【図５】
0004693167.tif 000006
【図６】
0004693167.tif 000007
【図７】
0004693167.tif 000008
【図８】
0004693167.tif 000009
【図９】
0004693167.tif 000010
【図１０】
0004693167.tif 000011
【図１１】
0004693167.tif 000012
【図１２】
0004693167.tif 000013
【図１３】
0004693167.tif 000014
【図１４】
0004693167.tif 000015
【図１５】
0004693167.tif 000016
【図１６】
0004693167.tif 000017
【図１７】
0004693167.tif 000018
【図１８】
0004693167.tif 000019
【図１９】
0004693167.tif 000020
【図２０】
0004693167.tif 000021
【図２１】
0004693167.tif 000022
【図２２】
0004693167.tif 000023
【図２３】
0004693167.tif 000024
【図２４】
0004693167.tif 000025
【図２５】
0004693167.tif 000026
【図２６】
0004693167.tif 000027