(57)【要約】【課題】  電子帳票内の繰り返し明細の領域（主に上限、下限）を特定し、その領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる解析装置、プログラム及び記録媒体を提供する。【解決手段】  帳票解析処理部１３８は、罫線情報を含むフォームデータから水平線分に関する情報である線分情報を抽出し、抽出した線分情報を基に、水平線分をグループ化し、グループ化された一つの水平線分群を含む特定領域の上限座標及び下限座標を特定し、電子帳票に含まれる文字列、文字列の位置情報、及び文字列の書式情報を含むテキストデータから各行毎の特徴を示す行情報を抽出し、特定した上限座標から下限座標間において抽出した行情報を解析することで行の繰り返し単位を特定する。【選択図】  図１
2006309611.tif 000002
【特許請求の範囲】
【請求項１】
フォームデータとテキストデータから構成される電子帳票における行群の繰り返し単位を解析する解析装置であって、
前記フォームデータに含まれる罫線情報から所定の水平線分をグループに分けるグループ化手段と、
前記テキストデータに含まれる配置情報から同じ行となるフィールドをまとめて行情報配列を生成する行情報配列生成手段と、
前記行情報配列生成手段により生成された行情報配列から各行毎の行特徴パターンを取得する取得手段と、
前記取得手段により取得された行特徴パターンと同じ行特徴パターンを有する行に同じ行特徴パターン番号を付与するパターン番号付与手段と、
前記グループ化手段によりグループ化された水平線分のうち最上部及び最下部に位置する水平線分の座標の範囲に含まれる前記行情報配列における行群を特定する特定手段と、
前記特定手段により特定される範囲に含まれる行群において、前記付与手段により付与された行特徴パターン番号の出現傾向を解析することにより行群の繰り返し単位を判定する判定手段と、
を有することを特徴とする解析装置。
【請求項２】
前記判定手段により判定された行群の繰り返し単位、前記最上部に位置する水平線分より下で初めに出現するテキストデータ行の上限座標、及び前記最下部に位置する水平線分の座標を繰り返し明細として確定する確定手段を更に具備することを特徴とする請求項１に記載の解析装置。
【請求項３】
前記グループ化手段により複数のグループが生成された場合において、各グループにおける前記水平線分を含む領域の面積に応じて前記特定手段の処理対象とする１のグループを決定する決定手段を更に具備することを特徴とする請求項１又は２に記載の解析装置。
【請求項４】
前記テキストデータには、書式情報及び文字列情報が含まれることを特徴とする請求項１乃至３のいずれか１項に記載の解析装置。
【請求項５】
前記取得手段は、前記各行毎に含まれるフィールド数、各フィールドの座標情報又は各フィールドの書式情報のうち少なくとも1つを含む情報を前記行特徴パターンとして取得することを特徴とする請求項１乃至４のいずれか１項に記載の解析装置。
【請求項６】
前記グループ化手段によりグループを生成することができなかった場合において、前記取得手段により取得された行特徴パターンを基に擬似水平線分を付与して、前記疑似水平線分をグループ化する疑似線分処理手段を更に具備し、
前記特定手段は、前記疑似線分処理手段がグループ化した疑似水平線分のうち最上部及び最下部に位置する水平線分の座標の範囲に含まれる前記行情報配列における行群を特定することを特徴とする請求項１乃至５のいずれか１項に記載の解析装置。
【請求項７】
前記判定手段により前記行群の繰り返し単位を判定することができなかった場合において、前記水平線分及び行数から繰り返し単位を特定する単位特定手段を更に具備することを特徴とする請求項１乃至６のいずれか１項に記載の解析装置。
【請求項８】
フォームデータとテキストデータから構成される電子帳票における行群の繰り返し単位を解析する解析用のプログラムであって、
前記フォームデータに含まれる罫線情報から所定の水平線分をグループに分けるグループ化ステップと、
前記テキストデータに含まれる配置情報から同じ行となるフィールドをまとめて行情報配列を生成する行情報配列生成ステップと、
前記行情報配列生成ステップにより生成された行情報配列から各行毎の行特徴パターンを取得する取得ステップと、
前記取得ステップにより取得された行特徴パターンと同じ行特徴パターンを有する行に同じ行特徴パターン番号を付与するパターン番号付与ステップと、
前記グループ化ステップによりグループ化された水平線分のうち最上部及び最下部に位置する水平線分の座標の範囲に含まれる前記行情報配列における行群を特定する特定ステップと、
前記特定ステップにより特定される範囲に含まれる行群において、前記パターン番号付与ステップにより付与された行特徴パターン番号の出現傾向を解析することにより行群の繰り返し単位を判定する判定ステップと、
をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子帳票システムに適用可能な解析装置、プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
一般に、電子帳票システムでは、複数行にまたがった明細があり、その明細の繰り返しにより表現されている電子帳票を検索する機能を有する。図３６を参照しながら、複数行にまたがった明細に対する検索について説明する。図３６は、複数行にまたがった明細の繰り返しによる電子帳票の例である。この帳票例では３行によって構成される明細が繰り返されている。
【０００３】
この明細検索機能では、利用者が複数行の明細内の特定行に明細検索領域を設定した後、検索条件を設定し、検索処理を実行することにより、繰り返された個別の明細においても該当する検索領域を対象に検索を行い、条件に合致する明細領域を探索する機能である。
【０００４】
しかし、その明細検索領域を利用者が設定する際には、図３６にある明細区切り線３６３の様に、事前にその電子帳票における繰り返し明細領域が、明細単位に分割されている必要がある。この様に、明細単位に区切り線によって、分割されている時に、利用者によって明細検索領域が一つ設定されると、図３６にあるように各明細において、設定された明細検索領域と同じ相対位置を持つ検索領域（顧客名の領域）が検索対象として有効となる。
【０００５】
前述した通り、この明細検索領域を設定するには、事前に明細区切り線によって、繰り返し明細領域が分割されている必要がある。電子帳票システムにおいて、明細区切り線によって分割した明細のイメージを表示装置に表示する為には、具体的には、その電子帳票における繰り返し明細の領域の上限と下限座標と、その繰り返しが何行ずつのブロックで繰り返されているかの情報を事前に電子帳票システムが認識している必要がある。図３６における上限、下限座標は、横線３６１、３６２の座標である。すなわち、横線３６１〜横線３６２までの間が、繰り返し明細の領域である。
【０００６】
これらの情報を基に電子帳票システムが、明細領域とその繰り返しているイメージ（区切り線）を表示画面上に表現し、それに対し利用者が明細上の特定行に検索領域の設定を行う。
【０００７】
一般に、電子帳票システムは特定の電子フォーム生成システムで生成された電子フォームのみを格納するだけでなく、多種多様なシステムで生成された電子帳票を格納する仕組みを持つ。
よって、電子帳票システムが保存している電子帳票データには、その電子帳票が何行ずつの繰り返し明細であるか、また、どの領域のデータが明細として繰り返し表現とされているか、などの情報は保持していない。そこで、従来の電子帳票システムでは、このような複数行明細の繰り返し帳票を検索する際、事前に利用者によって、繰り返し明細領域の最上限座標、および最下限座標、また何行ずつの繰り返しであるか、の３つの情報を手動で設定する必要があった。
【０００８】
そこで、この利用者による設定を簡略化する為に、図３７に示すように、表示画面上へ繰り返し明細領域の上限と下限を指定する為に２つの表示上のオブジェクト「上限ルーラ」３７１及び「下限ルーラ」３７２を設けていた。ここで、「上限ルーラ」３７１及び「下限ルーラ」３７２は、表示画面上の左端付近に位置し、電子帳票を表示した初期状態では、適当な位置に配置されるが、利用者がポインティングデバイスなどを使用して、それぞれ画面上を上下に移動させて位置を決定する。また、何行ずつの繰り返しであるかを利用者に入力させるための、図３８に示すように「明細行数入力画面」３８１を表示することで、繰り返し行数に関する情報を得ていた。
【０００９】
利用者は、図３７で示すように上限ルーラ３７１及び下限ルーラ３７２をポインティングデバイスなどにより上下に移動させ、繰り返し明細領域の上限と下限を設定する。その後、図３８で示す、「明細行数入力画面」３８１に対し、一つの明細が何行で構成されているかを入力することによって、電子帳票システムへ情報を渡していた。これにより、電子帳票システムにおいて、特定キーワードによる明細検索処理が可能となる。
【００１０】
検索を行う技術として、上記以外に、複数の不連続な分割領域にまたがって存在する段組形式の帳票データから、指定された検索条件を満たすデータ行を効率良く検索する技術が開示されている（例えば、特許文献１参照。）。
【００１１】
【特許文献１】特開２０００−０９９５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、利用者による「明細行数入力画面」３８１への行数入力には、表示画面上に表示されている帳票を実際に人間の目で見て、その帳票が何行単位の明細による繰り返しがされているのかを判断した後に入力する必要があるが、実際の電子帳票データでは、一つの明細内において、表示する必要のない項目に対しては、空白データが一つの行として埋め込まれている場合などがあり、視覚的に判断した行数と実際の行数が異なっている場合などがある。そのような場合には、誤った行数によって電子帳票システムが繰り返し明細のイメージを生成し、画面上に表示されるため、利用者はそのイメージを見ることで、入力した行数が誤っていたことを悟り、再度入力からやり直す必要があり、手間がかかるという問題がある。
【００１３】
また、図３７に示したような上限、下限座標の指定方法では、利用者が正確な領域を指定する為に「上限ルーラ」３７１、「下限ルーラ」３７２の配置を調整するには、画像表示装置上のピクセルサイズに相当する位置精度が要求される場合があるという問題もある。
なお、特許文献１記載の技術は、段組グループは人為的に入力するものであり、段組明細が何行単位で構成されているかを特定する処理については開示されていない。
【００１４】
本発明は上記の課題を解決するためになされたものであり、電子帳票内の繰り返し明細の領域（主に上限、下限）を特定し、その領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる解析装置、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１５】
この発明は、上述した課題を解決すべくなされたもので、本発明による解析装置においては、フォームデータとテキストデータから構成される電子帳票における行群の繰り返し単位を解析する解析装置であって、
前記フォームデータに含まれる罫線情報から所定の水平線分をグループに分けるグループ化手段と、
前記テキストデータに含まれる配置情報から同じ行となるフィールドをまとめて行情報配列を生成する行情報配列生成手段と、行情報配列生成手段により生成された行情報配列から各行毎の行特徴パターンを取得する取得手段と、取得手段により取得された行特徴パターンと同じ行特徴パターンを有する行に同じ行特徴パターン番号を付与するパターン番号付与手段と、グループ化手段によりグループ化された水平線分のうち最上部及び最下部に位置する水平線分の座標の範囲に含まれる前記行情報配列における行群を特定する特定手段と、特定手段により特定される範囲に含まれる行群において、前記付与手段により付与された行特徴パターン番号の出現傾向を解析することにより行群の繰り返し単位を判定する判定手段と、を有することを特徴とする。
【００１６】
また、本発明によるプログラムにおいては、フォームデータとテキストデータから構成される電子帳票における行群の繰り返し単位を解析する解析用のプログラムであって、フォームデータに含まれる罫線情報から所定の水平線分をグループに分けるグループ化ステップと、テキストデータに含まれる配置情報から同じ行となるフィールドをまとめて行情報配列を生成する行情報配列生成ステップと、行情報配列生成ステップにより生成された行情報配列から各行毎の行特徴パターンを取得する取得ステップと、取得ステップにより取得された行特徴パターンと同じ行特徴パターンを有する行に同じ行特徴パターン番号を付与するパターン番号付与ステップと、グループ化ステップによりグループ化された水平線分のうち最上部及び最下部に位置する水平線分の座標の範囲に含まれる前記行情報配列における行群を特定する特定ステップと、特定ステップにより特定される範囲に含まれる行群において、前記パターン番号付与ステップにより付与された行特徴パターン番号の出現傾向を解析することにより行群の繰り返し単位を判定する判定ステップと、をコンピュータに実行させるためのプログラムである。
【００１７】
また、本発明による記録媒体においては、請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１８】
本発明の解析装置、プログラム及び記録媒体は、電子帳票内の繰り返し明細の領域（主に上限、下限）を特定し、その領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を用いて本発明の実施形態について説明する。
まず、本発明の一実施形態による電子帳票サーバと、その電子帳票サーバにアクセスして電子帳票を閲覧する機能と帳票解析機能を有する利用者端末（解析装置）とから構成される電子帳票システムの概略構成について説明する。
【００２０】
（電子帳票システム構成、ハードウェアの説明）
図１は、本発明の一実施形態に係る利用者端末（解析装置）を含む電子帳票システムの構成を示す図である。本実施形態に係る電子帳票システムは、電子帳票を参照するための複数の利用者端末１３（図１では、一つの利用者端末のみを表記）と、帳票データの集中管理を行なう電子帳票サーバ１２とを通信ネットワークによって接続されることにより構築される。
【００２１】
個々の利用者端末１３は、電子帳票の参照および検索を行なうビューアを有している。ビューアは、図１の構成のうち、帳票画像再現部１３２、検索領域入力部１３４、検索式入力部１３５、検索結果表示部１３３、及び帳票解析処理部１３８により構成される。電子帳票サーバ１２は、印字用データ記憶部１２２、帳票データ変換部１２３、帳票データ記憶部１２４、検索実行部１２５を備える。利用者端末１３及び電子帳票サーバ１２は、ＬＡＮ等のネットワークを介して通信を行なうための機能として、上記構成以外にもそれぞれに通信部１３１、１２１、１２６を備える。
【００２２】
ここで、電子帳票サーバ１２における各構成について説明する。電子帳票サーバ１２は、印字用データ記憶部１２２において、ホストコンピュータなど外部のコンピュータシステム１１が作成した印字用データを記憶する。帳票データ変換部１２４は、印字用データ記憶部１２２に記憶されている印刷用データを電子帳票システム固有の帳票データに変換する。
【００２３】
帳票データ記憶部１２４は、利用者端末１３の表示装置１３６上に帳票の印刷画像を再現するために必要な帳票データを格納する。なお、印字用データ記憶部１２２及び帳票データ記憶部１２４は、ハードディスク等の記録媒体内の一部の記憶領域に相当する構成である。検索実行部１２５は、利用者端末１３から入力された検索領域および検索式に従い帳票データ記憶部１２４に格納されている帳票データを検索し、検索結果を出力する。
【００２４】
次に、利用者端末１３の構成について説明する。帳票画像再現部１３２は、通信部１３１が受信した帳票データを表示装置１３６に表示して帳票の印刷画像を再現する。検索領域入力部１３４は、利用者が表示装置１３５上に再現された帳票画像から選択された検索の対象としたい領域を入力するための入力画面を表示装置１３６に表示し、検索の対象としたい領域の指定入力を受け付ける。検索式入力部１３５は、利用者が検索の対象とした領域から目的の印字テキストを得るための検索式（検索条件）を入力する入力画面を表示装置１３６に表示し、検索式の入力を受け付ける。検索領域入力部１３４及び検索式入力部１３５が受け付けた領域の指定に関する情報（領域情報）及び検索式に関する情報（検索式情報）を、通信部１３１は、電子帳票サーバ１２へ送信する。検索結果表示部１３３は、通信部１３１が受信した検索結果を表示装置１３６上に一覧表示させる。
【００２５】
帳票解析処理部１３８は、帳票画像再現部１３２が表示装置１３６に表示中の帳票や指定された帳票に対して明細認識処理（帳票解析処理）を行う。ここで、明細認識処理とは、電子帳票内の繰り返し明細の領域（主に上限、下限）を特定し、その領域における明細が何行単位で構成されているかを特定する処理である。帳票解析処理部１３８は、帳票内の文字列、位置情報、書式情報を含むテキストデータから各行毎の特徴を抽出して上記明細認識処理を行う。尚、帳票解析処理部１３８は、利用者が操作メニューより当追加機能である明細認識機能を実行することで、起動する機能である。なお、本発明の実施形態においては、利用者端末１３が帳票解析処理部１３８を有する構成としているが、電子帳票サーバ１２が帳票解析処理部１３８を有する構成としても本発明を実施することができる。
【００２６】
ところで、一般的に電子帳票は、フォームデータとテキストデータによって構成される。この内、フォームデータ内には罫線データを保持しているが、罫線データは帳票によっては存在しない場合もある。また、テキストデータは必ず存在し、文字列、位置情報、書式情報などによって構成される。一般に罫線データを持つ繰り返し明細帳票では、可読性を良くする為に、繰り返し明細の領域全体を囲む罫線があるようにデザインされ、表を表現することが多い。
【００２７】
しかし、罫線データが存在するからと言って、一つ分の明細領域（繰り返し単位）毎に罫線が引かれているとは限らない。例えば、一つ分の明細行数に関わらず毎行ずつ罫線が引かれている場合もある。また、表の上端と下端のみに罫線が引かれている場合もある。また、複数行にまたがる一つの明細内のテキストデータは、例えば図１６の各矩形枠に示すようにフィールド配列の集まりである。個々のフィールドは、例えば図１７に示すように、文字列、位置情報、書式情報を含むフィールド情報を有する。尚、図１６及び図１７については、詳細を後述する。
【００２８】
繰り返し明細帳票における一つの複数行明細内では、明細内での行ごとに異なる意味を持つデータを表現する必要があるため、行ごとに存在するフィールド情報が持つ特徴が異なることが多い。しかし、繰り返される個々の明細同士ではフィールド情報は同じ特徴を持っている。これらのことより、帳票解析処理部１３８は、繰り返し明細領域の上限、下限座標の間において、罫線データを解析し、上限及び下限となる水平線分を抽出する。一方で、個々の明細が何行ごとの繰り返しであるかを判断する場合には、罫線データではなく、帳票解析処理部１３８は、フィールドの配置特徴や書式等を解析し判断する。
【００２９】
図２は、本実施形態における電子帳票サーバ１２及び利用者端末１３のハードウェア構成を示す図である。電子帳票サーバ１２及び利用者端末１３は、ＣＰＵ２１、ＲＡＭ（ランダムアクセスメモリ）２２、ＲＯＭ２３、ハードディスクドライブ（ＨＤＤ）２４、記録媒体ドライブ２５、ネットワークインタフェースカード（ＮＩＣ）２９、ポインティングデバイス（ＰＤ）２８、キーボード（Ｋ／Ｂ）２７、ビデオアダプタ２６を備え、これらがシステムバスを介して互いに接続されている。
【００３０】
ＣＰＵ２１は、オペレーションシステム（ＯＳ）のプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算及びハードウェアの制御を行うものである。ＲＡＭ２２は、ハードディスクドライブ（ＨＤＤ）２４、ＲＯＭ２３、記録媒体（例えば、ＣＤ−ＲＯＭ，ＤＶＤ，ＦＤ）等の記憶装置に記録されているＯＳやアプリケーションプログラム等を一時的に記憶するものであり、これらＲＡＭ２２に記憶されたプログラムはＣＰＵ２１の制御の下に実行される。
【００３１】
ＲＯＭ２３には、ＯＳと協働して外部記憶装置等への入出力を司るいわゆるＢＩＯＳ等が記憶される。ハードディスクドライブ（ＨＤＤ）２４には、ＯＳ、顧客担当手配方法を実行するためのプログラム等が記憶されている。記録媒体ドライブ２５は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取り等に用いる。
【００３２】
ネットワークインタフェースカード（ＮＩＣ）２９は、ＣＰＵ２１によって制御されるＯＳの通信プログラムと協働してネットワークを介した外部との通信を行う。キーボード（Ｋ／Ｂ）２７やポインティングデバイス（例えばマウス）２８は、情報処理装置への指示を入力するために用いられる。ビデオアダプタ２６は、図２には示していない画像表示装置（例えば、表示装置１３６）に表示する画像を形成するために用いられる。
【００３３】
なお、図１における帳票データ変換部１２３、検索実行部１２５、帳票画像再現部１３２、検索結果表示部１３３、検索領域入力部１３４及び検索式入力部１３５は夫々、ＨＤＤ２４、ＲＯＭ２３、他の記録媒体等から必要に応じて上記処理部を実現するためのプログラムがＲＡＭ２２にロードされ、ＣＰＵ２１によって実行されることで実現される機能である。印字用データ記憶部１２２は、帳票サーバ１２２のＨＤＤ２４等の記録媒体に相当する構成である。尚、この記録媒体は、電子帳票サーバ１２の外部に接続した構成としてもよい。また、通信部１２１、１２６、１３１は、ＮＩＣ２９に相当する構成である。
【００３４】
図３は、本実施形態の利用者端末１３の動作（電子帳票サーバ１２に帳票解析処理部１３８を持たせた場合は、電子帳票サーバ１２の動作）と、利用者が繰り返し明細帳票を検索する際の手順を示すフローチャートである。まず、利用者が、操作メニューより当追加機能である明細認識機能の実行を指示する（ステップＳ３１）。これにより、利用者端末１３は、明細認識処理実行の指示を検知する（ステップＳ３２）。
【００３５】
明細認識処理の実行指示を検知した利用者端末１３において帳票解析処理部１３８が起動し、帳票解析処理部１３８は、表示中の帳票に対して罫線データ及びテキストデータを解析し、繰り返し明細の構成を認識する（ステップＳ３３）。本実施形態の帳票解析処理部１３８は、繰り返し明細構成の認識処理により、帳票表示画面上における繰り返し明細の領域の上限座標及び下限座標、また一つの明細が何行で構成されているかを識別する。更に、帳票解析処理部１３８は、次のステップＳ３４において、繰り返し明細を表すイメージを表示する為の、各明細を区切る区切り線の座標を特定する。
【００３６】
次に、帳票解析処理部１３８は、認識された繰り返し明細情報により、利用者端末１３の表示装置１３６に表示されている帳票画面上に、図３６に示すような、繰り返し明細を表すイメージを表示する（ステップＳ３４）。次に、表示された繰り返し明細イメージを元に、利用者が検索領域の設定を行う。具体的には、図３６に示すように、顧客名の文字列及び備考における担当者名の文字列を含む領域を検索領域に設定したとする。これにより、検索領域入力部１３４は、この検索領域の入力を受け付ける（ステップＳ３５）。
【００３７】
利用者はその後、文字列等の検索条件を設定し、繰り返し明細検索処理の実行を指示する。これにより、検索式入力部１３５は、設定された検索条件を受け付け通信部１３１へ出力し、通信部１３１がその検索条件を電子帳票サーバ１２へ送信する（ステップＳ３６）。電子帳票サーバ１２の検索実行部１２５は、通信部１２６が受信した検索条件を基に検索処理を行い、検索結果を利用者端末１３へ戻す。これにより、利用者端末１３の検索結果表示部１３３は、通信部１３１が受信した検索結果を表示装置１３６に表示する。
【００３８】
次に、本実施形態の特徴である、図３におけるステップＳ３３の明細認識処理について更に詳しく説明する。図４は、図３に示したステップＳ３３の明細認識処理の詳細を示す図である。図４に示すように、まず、ステップＳ４１において、帳票解析処理部１３８は、罫線データ解析処理を行う。この罫線データ解析処理では、前述したフォームデータ内に、一般にベクタ形式と呼ばれる図形描画命令の集まりで表現されているフォーム情報の中から、罫線データとして、水平線分のみを抽出し、また接する水平線分に対しては連結処理を行う。この処理によって、集められた水平線分の集合を同じ長さの、同じ左右位置を持つグループに分ける。そのグループを罫線グループと呼ぶ。この罫線グループは同じ左右位置を持っている為、罫線グループの集合は四角形の領域を表す。この領域の面積を用いて、この電子帳票の繰り返し明細領域の位置を特定する。尚、ステップＳ４１の処理は、後に詳しく説明する。
【００３９】
次に、ステップＳ４２において、帳票解析処理部１３８は、テキストデータ解析処理を行う。このテキストデータ解析処理では、前述したテキストデータから、図１６に矩形枠で示したフィールドと呼ばれる単位毎に、文字列、配置情報、書式情報を読み込み、フィールド集合を生成する。その後、一般的な電子帳票では、行の概念での検索処理を実現する為に、フィールド集合をその位置情報から行毎にグループ化する。そのグループ化された行に対して、行の特徴を分析し、各行の特徴を示す行特徴情報を抽出する処理を実行する。尚、ステップＳ４２の処理は、後に詳しく説明する。
【００４０】
次に、ステップＳ４３において、帳票解析処理部１３８は、明細情報生成処理を行う。この明細情報生成処理では、ステップＳ４１とステップＳ４２によって、解析された罫線情報と行特徴情報を用いて、明細情報を識別する。具体的には、電子帳票の表示画面上においての繰り返し明細領域の上限、下限座標、ならびに一つの明細が何行で構成されているかを解析する。その後、解析された情報である明細情報（解析情報）を出力する。この時、利用者端末１３上の表示画面へ繰り返し明細のイメージを表示する為の座標情報を生成する。尚、ステップＳ４３の処理は、後に詳しく説明する。
【００４１】
次に、図５を参照しながら、図４におけるステップＳ４１の処理を詳細に説明する。
図５は、図４のステップＳ４１における罫線データ解析処理の流れを説明しているフローチャートである。罫線データ解析処理では、帳票解析処理部１３８は、まずフォームデータを、メモリ上に読み込む（ステップＳ５１）。実際にはメモリ上に、フォームを描画する為のベクタ命令の列が読み込まれている。尚、ベクタ命令とは、罫線のような直線や多角形、円などの幾何学図形を、その種類を表す符号と、極点の座標や半径などのパラメータ列により表現するものである。そのため、図形を点（ラスタ）の集合として表現するラスタ形式と比べ、一般的に少ない情報量で幾何学図形を表現することができ、出力デバイスの解像度に対する依存性が低いという特徴を有する。フォームデータには、このようなベクタ形式の図形描画命令が複数含まれ、例えば、線を表す描画命令の集まりによって、帳票中の罫線が表現されている。
【００４２】
次に、帳票解析処理部１３８は、メモリ上に置かれたフォームを描画する為のベクタ命令の列から、水平線分を持つデータを抽出する。抽出された水平線分に対しては、その線同士が座標系において、接する線分である場合には、線分の連結処理を実施する（ステップＳ５２）
【００４３】
このステップＳ５２において、抽出される水平線分の例を図６に基づいて説明する。
図６は、複数の罫線を含む帳票例を示す図である。図６の帳票の場合には、合計１４本の水平線分が抽出されることになる。実際には、水平線分の情報として、図７に示すような水平線分の座標情報を抽出してメモリ上に保持することになる。また、複数の水平線分の情報をメモリ上に保持するために、図７の情報を配列で保持する。
【００４４】
ここで、フォームデータ中の水平線分を持つデータについて解説する。水平線分を持つデータは、線を表す図形描画命令だけではない。例えば、四角形などの多角形においても、その図形は線分の集合によって成り立っている為、その多角形を形成する線分の中には、水平線分が含まれている可能性がある。よって、帳票解析処理部１３８は、フォームデータから水平線分の抽出処理においては、線および多角形を対象に線分の抽出を実施する。例えば、表の外枠は四角形で表されている場合などがある。ここで、水平というのは、その線分の始点と終点が同じ上下座標を持っていることが条件であるということは言うまでもない。尚、場合によっては、完全に水平な水平線分以外にも、多少斜めにずれている線分を水平線分として抽出するようにしてもよい。この場合には、例えば線分の始点と終点のズレが所定の許容範囲内であるか否かなどで判断する。
【００４５】
次に、図５のステップＳ５３における罫線データグループ化処理を、図８を参照しながら説明する。図８は、図５のステップＳ５３における罫線データグループ化処理を示すフロー図である。ここで、罫線データグループ化処理とは、簡単に表現すると同じＸ座標（横方向の線分の始点と終点の座標）を持つ同じ長さの水平線分同士をグループにまとめる処理である。
【００４６】
まず、帳票解析処理部１３８は、メモリ上に罫線グループ配列を生成する（ステップＳ６０１）。この配列は、初期段階では要素は０個であり、格納される要素は図９に示す様に、罫線グループ１、罫線グループ２、…という情報を格納する。この罫線グループについては、後述する。次に、帳票解析処理部１３８は、ステップＳ５２でメモリ上に保持した水平線分配列の要素数分のループ処理を開始する（ステップＳ６０２）。次に、帳票解析処理部１３８は、水平線分配列より、先頭から順に一つずつ水平線分の情報（図７）を読み込む（ステップＳ６０３）。
【００４７】
次に、帳票解析処理部１３８は、ステップＳ６０３で読み込んだ水平線分の左端Ｘ座標（始点）と右端Ｘ座標（終点）とが一致する情報をもつ罫線グループが、罫線グループ配列に存在するか否かを判定する（ステップＳ６０４）。ここで、Ｘ座標の一致を判断する際には、多少の誤差は吸収して、一致の判断を行うようにしてもよい。また、図９に示した罫線グループは、例えば図１０に示す情報を保持する。図１０に示すように、罫線グループとして、左端Ｘ座標と右端Ｘ座標、各水平線分の配列を保持している。つまり、同じ左端・右端Ｘ座標を持つ水平線分の集合を保持する為の情報である。このステップＳ６０４の判定処理で、一致する罫線グループが存在した場合にはステップＳ６０７へ、存在しなかった場合には、ステップＳ６０５へ進む。
【００４８】
ステップＳ６０４の判定で、一致する罫線グループが存在しないと判定した場合には、帳票解析処理部１３８は、新規に罫線グループを生成し、判定対象であった水平線分の左端Ｘ座標と右端Ｘ座標の値を新規罫線グループへ設定し、水平線分を罫線グループへ追加する（ステップＳ６０５）。次に、帳票解析処理部１３８は、新規生成した罫線グループを図９に示す罫線グループ配列へ追加し、メモリ上に保持する（ステップＳ６０６）。ステップＳ６０６の後、ステップＳ６０８の処理へ移る。
【００４９】
また、ステップＳ６０４の判定で、一致する罫線グループが存在すると判定した場合には、帳票解析処理部１３８は、該当する罫線グループへ水平線分の情報を追加する（ステップＳ６０７）。次に、ステップＳ６０８において、帳票解析処理部１３８は、ループ（繰り返し）終端処理として、ステップＳ５２でメモリ上に保持したすべての水平線分に対して処理を終えたか否かを判断する。ここで、全ての水平線分に対する処理を終えた判断した場合には、ループ処理を終え、ステップＳ６０９へ移行する。また、全ての水平線分に対する処理を終えていないと判断した場合には、ステップＳ６０３へ移行し、ループ処理を継続する。
【００５０】
以降のステップＳ６０９からステップＳ６１３の処理において、帳票解析処理部１３８は、生成された罫線グループ配列の中から、水平線分を一つしか持たない罫線グループを排除する処理を行う。以上に示した図８の処理によって、帳票解析処理部１３８は、同一のＸ座標を持つ水平線分同士のグループ化を実現している。すなわち、垂直方向の始点及び終点の並びが揃っている水平線分のグループ化を実現している。例えば、この図８の処理を、図６に示すような罫線情報を持つ帳票に対して実行した場合には、ステップＳ６０１〜Ｓ６０８までの処理で、図６に示すように１本の水平線分を含む罫線グループ６０２、５本の水平線分を含む罫線グループ６０３、及び８本の水平線分を含む罫線グループ６０４の３つの罫線グループが生成される。そして、図８のステップＳ６０９〜Ｓ６１３の処理により、罫線グループ６０２が排除され、罫線グループ６０３及び６０４が罫線グループ配列に保持される。
【００５１】
次に、図５に示したステップＳ５４の対象罫線判定処理について図１１を参照しながら説明する。
この対象罫線判定処理は、ステップＳ５３の処理にて生成された罫線グループ配列の中から、繰り返し明細を囲む罫線グループを選別する処理である。帳票解析処理部１３８は、この選別処理に、罫線グループで保持する水平線分数に関する情報と水平線分が含まれる表示画面上の領域の面積に関する情報を用いる。
【００５２】
図１１に示すように、まず、帳票解析処理部１３８は、対象罫線グループ保存領域Ｇを確保する（ステップＳ７０１）。この領域Ｇは、この対象罫線判定処理で選別された罫線グループに関する情報を保存する為のメモリ上の領域であり、図１０と同じデータを保持する。次に、帳票解析処理部１３８は、メモリ上に一時領域Ａを確保する（ステップＳ７０２）。一時領域Ａは、図１２に示すように、水平線分数・罫線面積・罫線グループを関連付けて一時的に保存するデータ構成となる。
【００５３】
次に、ステップＳ５３でメモリ上に構成した、図９に示す罫線グループ配列の要素数分のループ処理を開始する（ステップＳ７０３）。このループの終端はステップＳ７１０であり、要素をすべて処理するまでループ処理する。まず、帳票解析処理部１３８は、罫線グループ配列より、先頭から順に一つずつ罫線グループ（図１０）を取り出す（ステップＳ７０４）。
【００５４】
次に、帳票解析処理部１３８は、ステップＳ７０４で取り出した罫線グループより、水平線分数と罫線面積に関する情報を取得する（ステップＳ７０５）。ここで、水平線分数とは、罫線グループで保持している水平線分の個数である。また、罫線面積とは、罫線グループが表示画面上に占める面積である。図１３は、罫線グループが２つ存在する場合の水平線分数及び罫線面積の一例を示す図である。図１３において、罫線グループ１は、水平線分が５本存在する。また、それぞれの水平線分の左端Ｘ座標は、１００であり、右端Ｘ座標は２００である。これらの水平線分の中で、一番上部に配置される線分のＹ座標１００と一番下部に配置される線分のＹ座標１５０である。以上の数値より罫線面積は
（２００−１００）×（１５０−１００）＝５０００
で算出される。又、同様に罫線グループ２では、水平線分が８本存在し、同様の計算によって９６０００と算出される。
【００５５】
図１１のステップＳ７０６、Ｓ７０７、及びＳ７０８の判定は、ステップＳ７０５において取得した水平線分数及び算出した罫線面積を使用して、この罫線グループがこの帳票における繰り返し明細部分の罫線グループであるか否かを判定する処理である。この判定処理では、罫線面積が一番優先される。すなわち、帳票解析処理部１３８は、この罫線面積が一番大きい罫線グループを繰り返し明細部分であるとして採用する。また、帳票解析処理部１３８は、１つの帳票内に罫線面積が同じ罫線グループが複数存在する場合には、水平線分数が多いものを優先する。面積又は水平線分数を判断基準とすることで帳票の中から適切に明細部分を抽出することが可能となる。  
尚、ステップＳ７０４〜Ｓ７０９のループ処理時には、帳票解析処理部１３８は、罫線グループを順次処理する上で、それまでに最適と判断した罫線グループを一時的に保持し、ステップＳ７０４で取り出した罫線グループとの比較対象とする為に、一時領域Ａを用いている。
【００５６】
ステップＳ７１０にてループ処理を抜けると、一時領域Ａに罫線グループが設定されているか否かを判定する（ステップＳ７１１）。この時の一時領域Ａは、空であるときがあるがそれは、この帳票に繰り返し明細を囲うような罫線が無い場合である。よって、一時領域Ａに罫線グループが設定されている場合のみ、ステップＳ７０１で生成した対象罫線グループ保存領域Ｇに、一時領域Ａに保持している罫線グループ（対象罫線グループ）の情報を設定する（ステップＳ７１２）。
【００５７】
図１３における帳票例では、帳票解析処理部１３８は、罫線グループ２の方が罫線グループ１よりも罫線面積が広い為、罫線グループ２に関する情報を対象罫線グループ保存領域Ｇに格納する。本実施形態では、対象罫線グループを決定する際の要素として、水平線分の本数よりも面積を優先して取り扱っている。これは帳票によっては、図１４に示す帳票６０５における罫線グループ６０７の様に、表の外周のみを線分で囲っている場合があるからである。このような場合であっても、罫線面積を最優先に判断することによって、帳票解析処理部１３８は、図１４における罫線グループ６０６ではなく、罫線グループ６０７を対象罫線グループとして決定することができる。
【００５８】
次に、図１５を参照しながら、図４におけるステップＳ４２のテキストデータ解析処理について詳細に説明する。図１５は、図４におけるステップＳ４２のテキストデータ解析処理の流れを示すフローチャートである。図１５に示すように、帳票解析処理部１３８は、テキストデータ解析処理として、電子帳票の構成要素であるフォームデータとテキストデータのうち、テキストデータから、文字列、配置情報、書式情報を読み込み、フィールドと呼ばれる単位にまとめて、フィールドの集合（フィールド配列）を生成する（ステップＳ８１〜Ｓ８４）。
【００５９】
ここで、図１６を参照し、フィールドについて解説する。
図１６は、図３６で説明した帳票例から、フォームデータ（罫線）を取り除いたテキストデータのみの概念図である。図１６の帳票イメージ１６１では、フィールドを分かりやすく表現する為に、矩形枠で表現している。尚、本実施形態においてフィールドと呼んでいるのは、図１６の矩形枠で囲った部分である。一つのフィールドには、文字列、配置座標、文字列の書式（フォントの種類やサイズなど）が定義されている。一般的な電子帳票設計ツールでは、このようなフィールドを配置することによって、帳票が設計されている。図１７は、帳票イメージ１６１中の丸で囲んだフィールドの情報であるフィールド情報例を示す図である。図１７に示すように、フィールド情報には、フィールドの範囲（図１６の矩形枠）を示す位置情報と、フィールド内に含まれる文字列の情報と、書式情報が含まれている。すなわち、図１５のステップＳ８４において、帳票解析処理部１３８は、図１７のようなフィールド情報をメモリ上に生成し、フィールド配列を生成する。
【００６０】
次に、ステップＳ８５において、帳票解析処理部１３８は、生成されたフィールドを同じ行ごとのグループにまとめて行情報生成処理を行う。この時、各フィールドの上下位置座標を比較し、同じ上下位置を持つフィールドを同じ行として取り扱い、メモリ上に行配列を生成する。図１８は、図１６の帳票イメージ１６１に含まれる各フィールドを、行単位でまとめる処理の概念を示す図である。図１８に示すように、行配列枠１８１により各フィールドを行単位でまとめている。また、図１９は、行配列枠１８１に関する情報である行情報の一例を示す図である。図１９に示すように、行情報には、各行に含まれるフィールド数及び各行に含まれるフィールドを特定するフィールド識別情報が含まれる。尚、フィールド識別情報により図１７のフィールド情報を特定できる。また、図１９の行情報に含まれるフィールド識別情報の代わりに、図１７のフィールド情報を埋め込んでもよい。
【００６１】
尚、ステップＳ８５における各フィールドの上下位置の確認は、座標比較することで行っているが、同一行と判断するフィールドの座標は、多少の誤差を吸収するように実装されてもよい。例えば、複数のフィールドが行方向で重なっていれば多少はみ出しているフィールドがあっても、同一行と判断する。
【００６２】
次に、ステップＳ８６において、帳票解析処理部１３８は、ステップＳ８５において生成済みの行配列枠１８１に含まれる各フィールドを解析して各行ごとの特徴を抽出し（行特徴分析処理）、行パターン配列を生成する。この行パターン配列は、各行がどの特徴（パターン）を持っているかを保持する配列である。
【００６３】
次に、図２０を参照しながら、ステップＳ８６の行特徴分析処理及び行パターン配列生成の処理について詳しく説明する。まず、帳票解析処理部１３８は、図２０のフロー内でのみ使用する一時領域に行特徴パターンテーブルを生成する（ステップＳ９０１）。この行特徴パターンテーブルの１要素は、図２１に示すように、行特徴パターンの詳細情報（図２２）と、当該行特徴パターンに割り当てられた番号とから構成されるデータ構成である。図２１は、行特徴パターンテーブルの１要素のデータ構成例を示す図である。また、図２２は、行特徴パターンのデータ構成例を示す図である。図２２に示すように、行特徴パターンには、フィールド数、各フィールドの左端Ｘ座標、及び各フィールドの書式情報が含まれる。
【００６４】
次に、帳票解析処理部１３８は、行パターン配列を生成する（ステップＳ９０２）。この行パターン配列は、以降の処理全体で使用する情報となる。この行パターン配列は、図２３で示すように、行番号とパターンＮｏ．の対応を示す情報であり、各行がどのパターンを持つかの情報である。
【００６５】
次に、図１５のステップＳ８５で生成された行配列を順に読み込んでのループ処理を行う（ステップＳ９０３〜Ｓ９１１）。まず、ステップＳ９０４において、帳票解析処理部１３８は、行配列の先頭から順に１つの図１９に示す行情報を読み込む。次に、ステップＳ９０５において、帳票解析処理部１３８は、読み込まれた１行分の行情報を基に、その行の特徴を抽出する処理を行う。前述したように、この１行分の情報は、図１９（及び図１９から参照される図１７）のような情報を保持している。それらの情報より、帳票解析処理部１３８は、以下の３つの特徴となる情報を抽出する。
１．一行に含まれるフィールド数。
２．各フィールドの左端Ｘ座標。
３．各フィールドの書式情報（フォント名、サイズ等）。
【００６６】
図１９に示すように、行情報にはフィールド数が保持されているので、帳票解析処理部１３８は、その値を取得する。また、各フィールドのフィールド情報は図１７のように保持されているので、帳票解析処理部１３８は、図１７における左上Ｘ座標と書式情報を取得することにより、上記特徴となる情報を抽出し、図２３の例で示すように行特徴パターンとしてメモリ上に保持する（ステップＳ９０５）。図２３の例では、フィールド数が３つ、３つのフィールドの左端Ｘ座標がそれぞれ、１００，２００，５００であり、３つのフィールドの書式情報がそれぞれ、明朝８ｐｏｉｎｔ，ゴシック１０ｐｏｉｎｔ、ゴシック８ｐｏｉｎｔであることを示している。
【００６７】
次に、帳票解析処理部１３８は、抽出された行特徴パターンと全く同じ行特徴パターンが、図２１に示す行特徴パターンテーブルに存在するか否かを判定する（ステップＳ９０６）。もちろん、初期状態では存在しない。存在しなかった場合は、帳票解析処理部１３８は、新たな行特徴パターンとして、一意な番号（パターンＮｏ．）を割り当て、行特徴パターンテーブルに追加する（ステップＳ９０７、Ｓ９０８）。ここでの一意な番号とは、行特徴パターンテーブル内に、登録されていないパターンＮｏ．であれば何でも構わない。
【００６８】
また、ステップＳ９０６にて、帳票解析処理部１３８は、行特徴パターンテーブルに同一の行特徴パターンが存在した時には、そのパターンＮｏ．を取得する（ステップＳ９０９）。次に、帳票解析処理部１３８は、ステップＳ９０２にて生成した行パターン配列に、現在処理している行番号とパターンＮｏ．を１要素として追加する（ステップＳ９１０）。この要素は、図２３に示すようなデータ構造である。ステップＳ９１１はステップＳ９０３で開始したループの終端であり、行配列の全要素に対して処理するまでループ処理を継続する。以上の処理により帳票解析処理部１３８は、行パターン配列を生成する。この行パターン配列は、図４のステップＳ４２におけるテキストデータ解析処理の最終出力となる。
【００６９】
尚、上記図２０の処理によって、帳票解析処理部１３８は、行パターン配列を生成するが、この配列は図２３で示す様に、行におけるパターンＮｏ．しか保持していない。これは、以降の処理で各行がどのような特徴を持っているかは必要なく、行特徴パターンの分布のみが必要とされるからである。
【００７０】
次に、図４のステップＳ４３における明細情報生成処理について説明する。ステップＳ４３において、帳票解析処理部１３８は、ステップＳ４１及びＳ４２によって解析された罫線情報（対象罫線グループの情報）と行特徴情報（行パターン配列）を用いて、実際に電子帳票の繰り返し明細情報を生成する。図２４は、図４におけるステップＳ４３の明細情報生成処理の詳細を示すフローチャートである。
【００７１】
図２４に示すフローチャートでは本実施形態の主な特徴となる処理が３点存在する。それは、罫線が存在しない電子帳票であっても、擬似的な罫線を生成する処理（ステップＳ１００２）と、行特徴の出現パターンより、繰り返し明細情報を特定する処理（ステップＳ１００５）と、行特徴の出現パターンに際立った傾向がなく、ステップＳ１００５による特定に失敗した場合でも、罫線と含まれる行数により、繰り返し明細情報を特定する処理（ステップＳ１００７）である。これらの主な特徴となる処理を行うことにより、より確実な繰り返し明細情報を特定することができる。
【００７２】
尚、罫線が存在し、行特徴の出現パターンも特出した傾向（＝信頼性のある行パターン配列を得やすい傾向）のある通常のケースでは、ステップＳ１００２とステップＳ１００７は実行されない。これらのステップは、例外的な帳票であっても正常に繰り返し明細情報の生成を可能とするためのリカバリ処理である。
【００７３】
図２４において、まず、帳票解析処理部１３８は、対象罫線グループ保存領域Ｇに罫線グループが保存されているか否かを判定する（ステップＳ１００１）。一般の電子帳票では、罫線のない帳票も珍しくない。または、罫線が存在しても図１６に示したような表を成す罫線が存在しない帳票の場合には、対象罫線グループ保存領域Ｇに罫線グループが保存されていないケースとなる。
【００７４】
対象罫線グループ保存領域Ｇに罫線グループが設定されていない場合には、帳票解析処理部１３８は、擬似罫線グループ生成処理を実行する（ステップＳ１００２）。この処理によって、罫線の存在しない帳票であっても以降の処理を実行することを可能にしている。この処理は以降で詳細に説明する。
【００７５】
対象罫線グループ保存領域Ｇに罫線グループが設定されている場合、およびステップＳ１００２によって対象罫線グループ保存領域Ｇに罫線グループが設定された後には、帳票解析処理部１３８は、その罫線グループの情報を読み込む（ステップＳ１００３）。ここでの対象罫線グループ保存領域Ｇ上の罫線グループの情報は、図１０に示した通りのデータ構成である。
【００７６】
次に、帳票解析処理部１３８は、罫線グループ情報が保持している水平線分の情報（図７）の中から、最上部に位置する線分と最下部に位置する線分のＹ座標をそれぞれ取得する（ステップＳ１００４）。次に、帳票解析処理部１３８は、この最上部、最下部に位置する線分のＹ座標と、先述の処理での行パターン配列等の情報により、行特徴の出現パターンを解析し、繰り返し明細の行数を判定する（ステップＳ１００５）。この処理は、以降で詳細に説明する。
【００７７】
尚、ステップＳ１００５においては、必ずしも繰り返し明細が特定されるとは限らない。例えば、行特徴がどの行も同じであったり、行特徴の出現パターンに規則性がなかったりする場合もある。このような繰り返し明細の行数が特定されなかった場合には、ステップＳ１００７へ移行し、繰り返し明細の行数が特定された場合には、ステップＳ１００９へ移行する（ステップＳ１００６）。
【００７８】
ステップＳ１００７において、帳票解析処理部１３８は、ステップＳ１００５で繰り返し明細の行数が特定できなかった場合の救済措置として、罫線（水平線分）の本数とその罫線で囲まれる領域に存在する行数によって、繰り返し明細の行数を特定する（ステップＳ１００７）。このステップＳ１００７の処理は、以降で詳細に説明する。
【００７９】
また、ステップＳ１００７において繰り返し明細の行数が特定された場合には、帳票解析処理部１３８は、ステップＳ１００９へ移行するが、ここでも行数が特定できなかった場合には、ステップＳ１０１１へ移行する（ステップＳ１００８）。ステップＳ１０１１においては、帳票解析処理部１３８は、繰り返し明細行数が特定不能であると利用者へ伝える。
【００８０】
ステップＳ１００９において、帳票解析処理部１３８は、この電子帳票における繰り返し明細の情報を確定する。明細範囲の上限Ｙ座標には、ステップＳ１００４で取得した最上部の水平線分Ｙ座標以下で初めに出現するテキストデータ行の上限座標を採用する。具体例として図２５を示す。図２５は、本実施形態における処理対象となる帳票例を示す図である。図２５の横線２５１の座標が上記「最上部の水平線分Ｙ座標」の座標である。また、横線２５２の座標が上記「下限座標」となる。そして、横線２５１の一つ下の横線２５３が上記「初めに出現するテキストデータ行の上限座標」となる。
【００８１】
図２５に示すように、ステップＳ１００４で取得した「最上部の水平線分２５１のＹ座標」は、繰り返し明細の上限座標としては、不適切である。この図２５の例では、表のヘッダ部分に、取引先・住所・備考の文字列が含まれている。一般的な電子帳票では、このような表のヘッダ部のカラムに表示させる文字列は、先述のフォームデータ内に埋め込まれているため、行配列内のフィールドでは取り扱っていない。よって、上限座標を特定する場合に、最上部の水平線分２５１のＹ座標より下で初めに出現するテキストデータ行（図２５での行番号４）の上端の横線２５３のＹ座標を「上限座標」として使用することにより、適切な繰り返し明細領域の上限座標を決定している。
【００８２】
一方、明細範囲の下限Ｙ座標は、ステップＳ１００４で取得した最下部の水平線分Ｙ座標を用いる。これは、一連の処理を実施したページにおいて、表の一番下の明細領域までテキストデータが埋め込まれていない場合にも対応する為に、表の一番下の水平線分Ｙ座標を使用する。図２５の例では、表の一番下の明細領域にはデータは配置されていないが、表の一番下となる水平線分２５２のＹ座標を下限座標に用いることにより、適切な下限座標を決定している。
【００８３】
また、繰り返し明細の行数は、前述のステップＳ１００５の処理にて特定された行数値を使用する。図２５の例では、繰り返し明細の行数を４行としている。
【００８４】
次に、ステップＳ１０１０において、帳票解析処理部１３８は、確定した繰り返し明細情報より、図３６で説明したような明細区切り線イメージを利用者端末１３の表示装置１３６に表示させるための座標情報を生成している。この処理は既存の処理を使用することによって実現している。
【００８５】
さて、ここでステップＳ１００５とステップＳ１００７の２回の判定処理を実施しても、繰り返し明細の行数が特定できなかった場合には、利用者端末１３の表示装置１３６に明細認識ができなかった旨を伝えるメッセージ画面を表示する（ステップＳ１０１１）。図２６は、メッセージ画面の例を示す図である。
【００８６】
次に、図２７および図２８を参照しながら、図２４におけるステップＳ１００２の擬似罫線グループ生成処理について説明する。図２７は、図２４におけるステップＳ１００２の擬似罫線グループ生成処理の詳細を示すフローチャートである。帳票解析処理部１３８は、この擬似罫線グループ生成処理を、先述した様に水平な罫線の無い、又は表をきれいに囲むような罫線のない帳票の場合（＝対象罫線グループが無い場合）に実行する。
【００８７】
ここでは、図２８に示す帳票例と併せて、図２７のフローチャートを説明する。
図２８は、罫線の存在しない帳票の例である。図２８において文字列を囲む矩形枠は、フィールドを示し、また、罫線の様に見える横長の矩形枠は、複数のフィールドを横方向に束ねる行を示しており、実際の罫線ではない。すなわち、図２８の帳票には実際には罫線が全く無い。また、図２８において右端に記載している数値は、この帳票における行パターン配列の内容を示すものであり、行番号と行特徴パターンＮｏ．を記載している。
【００８８】
行パターン配列から、仮に図２８の帳票に罫線が存在した場合には、行番号４〜２３を囲う表のような罫線があることが特定できる。よって、その領域を範囲とする罫線グループを擬似的に生成すればよい。
【００８９】
まず、図２７のステップＳ１１０１において、帳票解析処理部１３８は、このフローチャートの処理で使用する以下の情報を格納するためのメモリ上の一時領域を生成、初期化している。但し、下記「範囲内出現パターン集合Ｘ」は、数値の集合を格納できるメモリ上の一時領域となる。
・最多パターンＮｏ．
・最多パターン先頭行番号
・最多パターン末尾行番号
・上端行番号Ａ
・下端行番号Ｂ
・範囲内出現パターン集合Ｘ
【００９０】
次に、帳票解析処理部１３８は、図１５のステップＳ８６で生成した行パターン配列を読み込む（ステップＳ１１０２）。次に、帳票解析処理部１３８は、行パターン配列内の要素を走査し、一番出現頻度の多い行特徴パターンＮｏ．を取得し、最多パターンＮｏ．に格納する（ステップＳ１１０３）。この図２８の例では、パターンＮｏ．５が一番出現頻度の多いパターンＮｏ．となる。
【００９１】
次に、帳票解析処理部１３８は、行パターン配列内の要素を走査し、最多パターンＮｏ．の存在する行番号範囲を取得し、最多パターン先頭行番号と最多パターン末尾行番号へ格納する。図２８の例では、パターンＮｏ．５は、行番号５〜２２の範囲に出現する為、それぞれ５と２２を格納することとなる。
【００９２】
ステップＳ１１０５〜Ｓ１１０８において、帳票解析処理部１３８は、行パターン配列の要素数分のループ処理を行い、最多パターン先頭行番号と最多パターン末尾行番号の間の行に位置するパターンＮｏ．を取得する。つまり、ここで繰り返し明細として使用されていると考えられる行特徴パターンを識別している。図２８の例では、パターンＮｏ．４、５、６の３つが出現する為、範囲内出現パターン集合Ｘに上記３つのパターンＮｏ．が格納されることになる。
【００９３】
次に、帳票解析処理部１３８は、ステップＳ１１０９〜Ｓ１１１５において、行パターン配列の要素数分のループ処理を行い、範囲内出現パターン集合Ｘに格納されているパターンＮｏ．を持つ行の最上部行と最下部行を求める。行パターン配列から行番号順に取り出すことにより、上端行番号Ａと下端行番号Ｂに最上部行と最下部行の行番号を設定している。図２８の例では、パターンＮｏ．４、５、６が一番上部で出現する行は、４行目であり、また一番下部で出現する行は、２３行目である為、上端行番号Ａには４、下端行番号Ｂには２３が格納されることとなる。ここまでのステップで、繰り返し明細の対象となるであろう行番号の範囲が特定される。
【００９４】
次に、帳票解析処理部１３８は、ステップＳ１１１６〜Ｓ１１２０において、図２４のステップＳ１００３にて、元々罫線グループ情報が存在する時と同様に処理が実行できるように、罫線グループ情報を擬似的に生成する。具体的には、帳票解析処理部１３８は、上端行番号Ａと下端行番号Ｂに格納してある行番号より、行の座標を取得し、上端行の上に配置される水平線分と、下端行の下に配置される水平線分を行の座標から生成する（ステップＳ１１１６〜Ｓ１１１９）。最後に、帳票解析処理部１３８は、これら二つの水平線分データを保持する罫線グループを生成することによって、擬似的に罫線での枠イメージを生成する（ステップＳ１１２０）。
【００９５】
次に、図２９および図２８を参照しながら、図２４におけるステップＳ１００５の行特徴出現パターン解析処理について説明する。図２９は、図２４におけるステップＳ１００５の行特徴出現パターン解析処理の詳細を示すフローチャートである。この行特徴出現パターン解析処理は、罫線グループにより特定された表と考えられる領域において、行特徴の出現パターンを見つけ出し、繰り返し明細の行数を特定する処理である。
【００９６】
大まかな処理の流れは、行ごとのパターンの格納済みである行パターン配列に対し、繰り返し明細がＮ行であると仮定して、パターンの出現に不整合が無いかを検証する。Ｎは２行から開始し、不整合があれば３行、４行と検証する繰り返し明細行数を増やし、整合性のある繰り返し明細行数を特定する。
【００９７】
まず、帳票解析処理部１３８は、この処理において一時的に使用する以下の領域をメモリ上に確保する（ステップＳ１２０１）。
・開始行番号Ｓ
・終了行番号Ｅ
・繰り返し行数Ｎ
・評価基準行番号Ｂ
・評価行番号Ｒ
上記はいずれも数値を格納可能なメモリ上の領域である。
【００９８】
次に、帳票解析処理部１３８は、図２４のステップＳ１００４で取得した罫線グループの最上部線分と最下部線分のＹ座標を取得する（ステップＳ１２０２）。次に、帳票解析処理部１３８は、行配列に格納されている各行の座標より、ステップＳ１２０２で取得した最上部Ｙ座標と最下部Ｙ座標に収まっている行番号の範囲を取得し、一時領域の開始行番号Ｓ、終了行番号Ｅへそれぞれ格納する（ステップＳ１２０３）。ここで、図２８の例では行番号４が開始行番号Ｓへ、行番号２３が終了行番号Ｅへそれぞれ格納する。
【００９９】
次に、行パターン配列に対し、開始行番号Ｓと終了行番号Ｅの間において、２つ以上のパターンが出現するかを判定する（ステップＳ１２０４）。ここで、範囲内に行特徴パターンが１つしか出現しない場合には、行特徴パターンの出現傾向が取得できないため、本フローチャートによる処理では、繰り返し明細の行数を特定することができないため、帳票解析処理部１３８は、ステップＳ１２１６へ処理を進めて、行数の特定不能となる。又、２つ以上のパターンが出現する場合には、帳票解析処理部１３８は、ステップＳ１２０５へ処理を進める。図２８の例では、開始行Ｓ（４行目）から終了行Ｅ（２３行目）の間に、３つの行特徴パターンが出現するので、帳票解析処理部１３８は、ステップＳ１２０５へ移行する。
【０１００】
ステップＳ１２０５において、帳票解析処理部１３８は、一時領域の繰り返し行数Ｎへ２を代入している。これは、繰り返し明細の行数の検証を２行目から順に進めていくための初期化である（ステップＳ１２０５）。次に、ステップＳ１２０６において、帳票解析処理部１３８は、繰り返し明細行数が特定不能であるか否かの判定処理を行う。ここで判定式は以下となっており、この式が成り立たない場合に特定不能と判定する。
（開始行番号Ｓ＋（繰り返し行数Ｎ×２））≦（終了行番号Ｅ＋１）
これは、開始行番号Ｓと終了行番号Ｅの間に明細が２回以上繰り返せない繰り返し行数ＮまでＮが達してしまった場合に、特定不能となる式である。
【０１０１】
図２８の例では、
（４＋（Ｎ×２））≦（２３＋１）
となり、Ｎが１１に達した場合には、特定不能となるが、実際にこの例ではＮが１１まで達することはない（ステップＳ１２０６）。次に、ステップＳ１２０７において、帳票解析処理部１３８は、開始行番号Ｓを評価基準行番号Ｂと評価行番号Ｒへ代入する（ステップＳ１２０７）。この処理は、Ｎが更新される毎に１度実行される。
【０１０２】
次のステップＳ１２０８〜ステップＳ１２１３の処理が、Ｎ行に対する検査の中心的な処理である。
ここで、ステップＳ１２０８において
開始行番号Ｓ＋繰り返し行数Ｎ＞Ｂ
が不成立となった場合に、その時検査していた繰り返し行数Ｎが、この帳票の繰り返し明細の行数として特定される。
【０１０３】
また、ステップＳ１２１３における評価基準行番号Ｂと評価行番号Ｒにおける行のパターンが同一かどうかの比較において、一致しない結果となった場合には、現在評価中であった繰り返し行数Ｎが不整合とみなされ、ステップＳ１２１５において、Ｎに１加算され、新たな繰り返し明細行数候補が検証される仕組みとなる。
【０１０４】
図２８においても一時変数Ｎが２の状態から検証を開始する。
この場合は、繰り返し明細が２行で不整合がないかを終了行番号Ｅまで検査することとなる。この場合のＮを２とした場合の一番上部の明細を図３０の太枠３０２に示す。Ｎを２として、検査を進めた場合、まず４行目と６行目が同じパターンＮｏ．であるかがステップＳ１２１３で判定されるが、符号３０１に示すように同じではないので、ステップＳ１２１５において、Ｎに１加算され、繰り返し行数Ｎを３行としての検査に移行する。
【０１０５】
次に、Ｎを３とした場合の一番上部の明細を、図３１の太枠３１２に示す。この場合においても、まず４行目と７行目が同じパターンＮｏ．であるかがステップＳ１２１３で判定されるが、符号３１１に示すように同じではないので次はＮを４としての検査に移行する。
【０１０６】
次に、Ｎを４とした場合の一番上部の明細を、図３２の太枠３２２に示す。この場合は、まず４行目と８行目が同じパターンＮｏ．であるかがステップＳ１２１３で判定される。ここで、符号３２１に示すように同じパターンＮｏ．であるので、ステップＳ１２１０へ処理が移行し、評価行番号ＲにＮが加算される。ここでは、評価行番号Ｒに現在の繰り返し行数Ｎの４が加算され、１２となる。次は４行目と１２行目が同じパターンであるかが判定される。この様にＲに順々に４を加算した行が４行目と同じパターンであるかの判定を繰り返し、Ｒが２４に達した時、ステップＳ１２１１によって、評価行番号Ｒが終了行番号Ｅを超えることになる。
【０１０７】
この時点で４行毎の繰り返し明細と考えた時の第一行目、図３２でいう４行目部分は終了行まで整合性が確認されたことになる。つまり、４，８，１２，１６，２０行目が同じパターンＮｏ．で構成されていることが確認されたことになる。
【０１０８】
図３３は、行パターン配列におけるパターン出現傾向の評価例を示す図である。上記Ｒ＝２０行目の次はＲ＝２４行目となるので、帳票解析処理部１３８は、評価基準行番号Ｂについては検査が終了したと判断し（ステップＳ１２１１のＮＯ）、ステップＳ１２１４に移行して、Ｂに１を加算し、ステップＳ１２０８へ移行する。Ｂに１が加算されたことによって、ここではＢ＝５となる。
【０１０９】
ここで、ステップＳ１２０８の判定では、４＋４＞５となり、成立しているので、処理は続行される。図３３に示すように同様にＮ＝４、Ｂ＝５での検証を繰り返し、次にＢ＝６、７での検証もクリアする。評価基準行番号Ｂが７の場合のステップＳ１２１１において、評価行番号Ｒが終了行番号Ｅを超えた時に、ステップＳ１２１４においてＢが８と加算される。その段階で、ステップＳ１２０８へ移行した場合に、４＋４＞８となり、不成立となり、ステップＳ１２１７へ移行し、帳票解析処理部１３８は、この図２８の例の場合はＮ＝４行であるので、繰り返し明細行を４行と特定する。
【０１１０】
以上に説明したように、繰り返し明細の行数を２行から初めて、整合性の確認される行数まで順に確認し、繰り返し明細行数を特定する。また、行特徴パターンの出現に傾向が見られない場合には、ステップＳ１２０６においてＮＯと判断されて、ステップＳ１２１６に移行し、特定不能となる。以上に示したように、本実施形態における利用者端末１３は、電子帳票内の繰り返し明細の領域（主に上限、下限）を特定し、その領域における明細が何行単位で構成されているかを特定する処理を自動で行うことができる。
【０１１１】
従来のシステムでは人間の目で見て繰り返し明細行数を判断し設定する場合には、内部的にスペース文字や空文字のような目に見えない行を判断することが出来ない為、実際の電子帳票内部で取り扱う行数と異なることがあり処理が失敗し、再試行する必要があることを問題点としたが、本実施形態の行特徴出現パターン解析処理によって、内部的にスペース文字や空文字のような目に見えない行に対しても、行特徴の出現パターン処理を実施することにより、自動で繰り返し明細行数を特定することができる。
【０１１２】
次に、図３５を参照しながら、図２４におけるステップＳ１００７の罫線の本数とその罫線で囲まれる領域に存在する行数によって、繰り返し明細の行数を特定する処理を説明する。この処理は、図２９での処理で繰り返し明細の行数が特定できなかった場合の処理である。
【０１１３】
図３５において、帳票解析処理部１３８は、ステップ１３０１〜１３１０までの処理として、対象罫線グループ保存領域Ｇに格納されている罫線グループの表現する領域内に存在する最上部行番号と最下部行番号を座標より単純に取得している。次に、ステップＳ１３１１において、帳票解析処理部１３８は、罫線グループで囲まれる行の最上部行と最下部行の間に何本罫線（水平線分）が存在するかをカウントしている。これは言い換えれば、対象となる明細の集合を何本の罫線で区切っているかを求めている処理である。
【０１１４】
次に、ステップＳ１３１２において、帳票解析処理部１３８は、下記の判定式により繰り返し明細の行数を特定している。
（罫線グループ領域内の行数）÷（仕切り罫線数＋１）＝繰り返し明細行数
例えば、図３４の例では、罫線グループ領域内に４〜２３行目の様に２０行存在し、仕切っている罫線数は４本である。よって、判定式に適用すると２０÷（４＋１）＝４となり、繰り返し明細行数が４行と特定される。
【０１１５】
以上、図２９と図３５において、繰り返し明細の行数を特定する処理の説明を記したが、図２９の処理ではテキストデータの特徴に着目した行数の特定処理であることに対して、図３５の処理は罫線の配置に着目した繰り返し明細行数の特定処理である。ここで、図３５の処理は図２９の処理で行数を特定できなかった場合の救済措置と位置付けているが、これは電子帳票におけるフォームデータとテキストデータの重要度に由来している。
【０１１６】
先に述べたように、電子帳票においてフォームデータは、帳票の見栄えを良くするために用いられているもので、必ずしも明細単位に罫線が配置されているとは限らない。よって、この用にテキストデータを第一に考えて繰り返し明細の行数を特定することが重要なのである。
【０１１７】
ここまでに説明したように、本実施形態の利用者端末１３は、罫線を含む画像データから識別された繰り返し明細領域上の水平線分の情報と、文字列、位置情報、書式情報を含むテキストデータから各行毎の特徴を識別した情報より、電子帳票上の繰り返し明細の領域と明細が構成される行数を特定することができるので、従来のように利用者が繰り返し明細領域の上限、下限座標を指定したり、明細行数を判断して入力する必要がなく、誤りの無い設定を簡便に行うことが可能となる。
【０１１８】
尚、上記実施形態は飽くまでも本発明の一適用例であり、当然、その他の実施形態をとることが出来る。例えば、上記実施形態では、繰り返し明細の情報を利用者端末１３が識別することで、利用者の明細領域設定の手順を助けるものであったが、帳票の繰り返し明細の情報を識別することによって、電子帳票に一ページ内に複数の種類の繰り返し明細があった場合でも、その複数の明細を取り扱って検索処理等を行うことも可能である。
【０１１９】
また、上述した実施形態における帳票解析処理部１３８の機能を実現するソフトウェアのプログラムを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行する実施形態であってもよい。この場合、記録媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は-本発明を構成することになる。
【０１２０】
上記記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、コンピュータが記録媒体から読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２２】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１２３】
【図１】本発明の一実施形態に係る利用者端末（解析装置）を含む電子帳票システムの構成を示す図である。
【図２】本実施形態における電子帳票サーバ１２及び利用者端末１３のハードウェア構成を示す図である。
【図３】本実施形態の利用者端末１３の動作と、利用者が繰り返し明細帳票を検索する際の手順を示すフローチャートである。
【図４】本実施形態の明細認識処理を示すフローチャートである。
【図５】本実施形態の罫線データ解析処理を示すフローチャートである。
【図６】本実施形態における電子帳票の罫線の一例を示す図である。
【図７】本実施形態におけるメモリ上に持つ水平線分のデータの一例を示す図である。
【図８】本実施形態の罫線データグループ化処理を示すフローチャートである。
【図９】本実施形態におけるメモリ上の罫線グループ配列の一例を示す図である。
【図１０】本実施形態におけるメモリ上に持つ罫線グループのデータの一例を示す図である。
【図１１】本実施形態の対象罫線判定処理を示すフローチャートである。
【図１２】本実施形態におけるメモリ上の一時領域Ａのデータの一例を示す図である。
【図１３】本実施形態の罫線グループのイメージの一例を示す図である。
【図１４】本実施形態における電子帳票の罫線の一例を示す図である。
【図１５】本実施形態のテキストデータ解析処理を示すフローチャートである。
【図１６】本実施形態におけるフィールド情報の一例を示す図である。
【図１７】本実施形態におけるメモリ上のフィールド情報のデータの一例を示す図である。
【図１８】本実施形態における行イメージの一例を示す図である。
【図１９】本実施形態におけるメモリ上の行の一例を示す図である。
【図２０】本実施形態の行特徴分析処理を示すフローチャートである。
【図２１】本実施形態におけるメモリ上の行特徴パターンテーブルの要素の一例を示す図である。
【図２２】本実施形態におけるメモリ上の行特徴パターンの一例を示す図である。
【図２３】本実施形態におけるメモリ上の行パターン配列の要素の一例を示す図である。
【図２４】本実施形態の明細情報生成処理を示すフローチャートである。
【図２５】本実施形態における繰り返し明細情報特定における電子帳票の一例を示す図である。
【図２６】本実施形態において、繰り返し明細行数が特定できなかった場合に表示するメッセージの一例を示す図である。
【図２７】本実施形態の擬似罫線グループ生成を示すフローチャートである。
【図２８】本実施形態において、帳票サンプルにおける行パターン配列の一例および、生成される擬似罫線の一例を示す図である。
【図２９】本実施形態の行特徴出現パターン解析処理を示すフローチャートである。
【図３０】本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。
【図３１】本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。
【図３２】本実施形態において、帳票サンプルにおける行パターン配列の一例を示す図である。
【図３３】本実施形態において、行パターン配列においてパターンの出現傾向を確認する一例を示す図である。
【図３４】本実施形態において、帳票サンプルにおける罫線からの繰り返し明細行数特定の一例を示す図である。
【図３５】本実施形態の罫線と行数による繰り返し行数解析処理を示すフローチャートである。
【図３６】帳票表示画面における繰り返し明細の一例を示す図である。
【図３７】従来の帳票表示画面における上限・下限ルーラを示す図である。
【図３８】従来の実施形態における繰り返し明細行数入力画面を示す図である。
【符号の説明】
【０１２４】
１１  外部コンピュータシステム
１２  電子帳票サーバ
１３  利用者端末
１２１、１２６、１３１  通信部
１２２  印字用データ記憶部
１２３  帳票データ変換部
１２４  帳票データ記憶部
１２５  検索実行部
１３２  帳票画像再現部
１３３  検索結果表示部
１３４  検索領域入力部
１３５  検索式入力部
１３６  表示装置
１３７  キーボード
１３８  帳票解析処理部
２１    ＣＰＵ
２２    ＲＡＭ
２３    ＲＯＭ
２４    ＨＤＤ（ハードディスクドライブ）
２５    記録媒体ドライブ
２６    ビデオアダプタ
２７    Ｋ／Ｂ（キーボード）
２８    マウス
２９    ＮＩＣ（ネットワークインタフェースカード）
【図１】
2006309611.tif 000003
【図２】
2006309611.tif 000004
【図３】
2006309611.tif 000005
【図４】
2006309611.tif 000006
【図５】
2006309611.tif 000007
【図６】
2006309611.tif 000008
【図７】
2006309611.tif 000009
【図８】
2006309611.tif 000010
【図９】
2006309611.tif 000011
【図１０】
2006309611.tif 000012
【図１１】
2006309611.tif 000013
【図１２】
2006309611.tif 000014
【図１３】
2006309611.tif 000015
【図１４】
2006309611.tif 000016
【図１５】
2006309611.tif 000017
【図１６】
2006309611.tif 000018
【図１７】
2006309611.tif 000019
【図１８】
2006309611.tif 000020
【図１９】
2006309611.tif 000021
【図２０】
2006309611.tif 000022
【図２１】
2006309611.tif 000023
【図２２】
2006309611.tif 000024
【図２３】
2006309611.tif 000025
【図２４】
2006309611.tif 000026
【図２５】
2006309611.tif 000027
【図２６】
2006309611.tif 000028
【図２７】
2006309611.tif 000029
【図２８】
2006309611.tif 000030
【図２９】
2006309611.tif 000031
【図３０】
2006309611.tif 000032
【図３１】
2006309611.tif 000033
【図３２】
2006309611.tif 000034
【図３３】
2006309611.tif 000035
【図３４】
2006309611.tif 000036
【図３５】
2006309611.tif 000037
【図３６】
2006309611.tif 000038
【図３７】
2006309611.tif 000039
【図３８】
2006309611.tif 000040