特許第6973433号(P6973433)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6973433帳票処理装置、帳票処理方法、及びプログラム
<>
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000002
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000003
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000004
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000005
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000006
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000007
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000008
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000009
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000010
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000011
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000012
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000013
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000014
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000015
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000016
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000017
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000018
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000019
  • 特許6973433-帳票処理装置、帳票処理方法、及びプログラム 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6973433
(24)【登録日】2021年11月8日
(45)【発行日】2021年11月24日
(54)【発明の名称】帳票処理装置、帳票処理方法、及びプログラム
(51)【国際特許分類】
   G06F 40/186 20200101AFI20211111BHJP
   G06Q 10/10 20120101ALI20211111BHJP
【FI】
   G06F40/186
   G06Q10/10
【請求項の数】9
【全頁数】27
(21)【出願番号】特願2019-41335(P2019-41335)
(22)【出願日】2019年3月7日
(65)【公開番号】特開2020-144653(P2020-144653A)
(43)【公開日】2020年9月10日
【審査請求日】2019年3月7日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】特許業務法人ブライタス
(72)【発明者】
【氏名】井上 尚也
【審査官】 長 由紀子
(56)【参考文献】
【文献】 特開2001−101327(JP,A)
【文献】 特開2016−004394(JP,A)
【文献】 特開2005−208708(JP,A)
【文献】 特開平08−212269(JP,A)
【文献】 特開平08−287168(JP,A)
【文献】 特開平09−231291(JP,A)
【文献】 特開平10−011531(JP,A)
【文献】 特開2009−031937(JP,A)
【文献】 特開2005−056010(JP,A)
【文献】 特開2001−243423(JP,A)
【文献】 特開平10−040312(JP,A)
【文献】 特開2000−036035(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00−58
G06Q 10/10
(57)【特許請求の範囲】
【請求項1】
データ入力済みの入力帳票ファイルに基づいて生成された出力帳票ファイルを取得し、
取得した前記入力帳票ファイルと前記出力帳票ファイルに対して画像処理を実行し、前記入力帳票ファイルと前記出力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データと、罫線が抽出された罫線抽出領域を表すデータと、前記罫線の幅を表すデータとが関連付けられた罫線データを抽出し、
前記出力帳票の前記文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる第一の閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた文字比較設定を参照し、前記出力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
さらに、前記出力帳票の罫線抽出領域を表すデータごとに、罫線用の比較対象である罫線の幅の一致率を判定するために用いる罫線用閾値を表すデータと、前記罫線用の比較対象を表すデータとが関連付けられた出力帳票用の罫線用比較設定を参照し、前記出力帳票ファイルそれぞれの前記罫線データの同じ前記抽出領域ごとに、前記罫線用の比較対象の一致率を算出し、算出した前記一致率と前記罫線用閾値に基づいて罫線データを分類し、
分類した前記可変文字データと前記固定文字データと前記罫線データとを用いて、データ未入力の前記出力帳票ファイルに対応するマスタ帳票ファイルを生成する、第一の生成部
を有することを特徴とする帳票処理装置。
【請求項2】
請求項1に記載の帳票処理装置であって、
前記第一の生成部は、データ入力済みの前記入力帳票ファイルを取得し、
前記入力帳票ファイルそれぞれに対して前記画像処理を実行し、前記入力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データを抽出し、
あらかじめ設定された前記入力帳票の文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる文字用閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた入力帳票用の文字比較設定を参照し、前記入力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
分類した前記入力帳票ファイルの前記可変文字データと、分類した前記出力帳票ファイルの前記可変文字データとを参照し、前記入力帳票ファイルの前記可変文字データと前記出力帳票ファイルの前記可変文字データとから前記文字列を含む可変文字データを抽出し、
抽出した前記入力帳票ファイルの前記可変文字データに含まれる前記文字列と関連するデータと、抽出した前記出力帳票ファイルの可変文字データに含まれる前記文字列に関連するデータとを関連付けて、可変データ関連情報を生成する、第二の生成部
を有することを特徴とする帳票処理装置。
【請求項3】
請求項に記載の帳票処理装置であって、
新規に作成された前記入力帳票ファイルから抽出した前記可変文字データを用いて、前記可変データ関連情報を参照し、前記マスタ帳票ファイルから当該可変文字データを出力する出力領域を検出し、当該出力領域に当該可変文字データを関連付けて、新規に出力帳票ファイルを生成する、第三の生成部
を有することを特徴とする帳票処理装置。
【請求項4】
コンピュータが、
データ入力済みの入力帳票ファイルに基づいて生成された出力帳票ファイルを取得し、
取得した前記入力帳票ファイルと前記出力帳票ファイルに対して画像処理を実行し、前記入力帳票ファイルと前記出力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データと、罫線が抽出された罫線抽出領域を表すデータと、前記罫線の幅を表すデータとが関連付けられた罫線データを抽出し、
前記出力帳票の前記文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる第一の閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた文字比較設定を参照し、前記出力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
さらに、前記出力帳票の罫線抽出領域を表すデータごとに、罫線用の比較対象である罫線の幅の一致率を判定するために用いる罫線用閾値を表すデータと、前記罫線用の比較対象を表すデータとが関連付けられた出力帳票用の罫線用比較設定を参照し、前記出力帳票ファイルそれぞれの前記罫線データの同じ前記抽出領域ごとに、前記罫線用の比較対象の一致率を算出し、算出した前記一致率と前記罫線用閾値に基づいて罫線データを分類し、
分類した前記可変文字データと前記固定文字データと前記罫線データとを用いて、データ未入力の前記出力帳票ファイルに対応するマスタ帳票ファイルを生成する、第一の生成ステップ
を実行することを特徴とする帳票処理方法。
【請求項5】
請求項に記載の帳票処理方法であって、
前記第一の生成ステップにおいて、データ入力済みの前記入力帳票ファイルを取得し、
前記入力帳票ファイルそれぞれに対して前記画像処理を実行し、前記入力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データとを抽出し、
あらかじめ設定された前記入力帳票の文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる文字用閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた入力帳票用の文字比較設定を参照し、前記入力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
分類した前記入力帳票ファイルの前記可変文字データと、分類した前記出力帳票ファイルの前記可変文字データとを参照し、前記入力帳票ファイルの前記可変文字データと前記出力帳票ファイルの前記可変文字データとから前記文字列を含む可変文字データを抽出し、
抽出した前記入力帳票ファイルの前記可変文字データに含まれる前記文字列と関連するデータと、抽出した前記出力帳票ファイルの可変文字データに含まれる前記文字列に関連するデータとを関連付けて、可変データ関連情報を生成する、第二の生成ステップ
を実行することを特徴とする帳票処理方法。
【請求項6】
請求項に記載の帳票処理方法であって、
前記コンピュータが、
新規に作成された前記入力帳票ファイルから抽出した前記可変文字データを用いて、前記可変データ関連情報を参照し、前記マスタ帳票ファイルから当該可変文字データを出力する出力領域を検出し、当該出力領域に当該可変文字データを関連付けて、新規に出力帳票ファイルを生成する、第三の生成ステップ
を有することを特徴とする帳票処理方法。
【請求項7】
コンピュータに、
データ入力済みの入力帳票ファイルに基づいて生成された出力帳票ファイルを取得し、
取得した前記入力帳票ファイルと前記出力帳票ファイルに対して画像処理を実行し、前記入力帳票ファイルと前記出力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データと、罫線が抽出された罫線抽出領域を表すデータと、前記罫線の幅を表すデータとが関連付けられた罫線データを抽出し、
前記出力帳票の前記文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる第一の閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた文字比較設定を参照し、前記出力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
さらに、前記出力帳票の罫線抽出領域を表すデータごとに、罫線用の比較対象である罫線の幅の一致率を判定するために用いる罫線用閾値を表すデータと、前記罫線用の比較対象を表すデータとが関連付けられた出力帳票用の罫線用比較設定を参照し、前記出力帳票ファイルそれぞれの前記罫線データの同じ前記抽出領域ごとに、前記罫線用の比較対象の一致率を算出し、算出した前記一致率と前記罫線用閾値に基づいて罫線データを分類し、
分類した前記可変文字データと前記固定文字データと前記罫線データとを用いて、データ未入力の前記出力帳票ファイルに対応するマスタ帳票ファイルを生成する、第一の生成ステップ
を実行させることを特徴とするプログラム。
【請求項8】
請求項に記載のプログラムであって、
前記プログラムが、前記コンピュータに、
前記第一の生成ステップにおいて、データ入力済みの前記入力帳票ファイルを取得し、
前記入力帳票ファイルそれぞれに対して前記画像処理を実行し、前記入力帳票ファイルごとに、文字が抽出された領域を表す文字抽出領域のデータと、前記文字抽出領域に含まれる文字列を表すデータと、前記文字列のデータ形式を表すデータと、前記文字列の記述形式を表すデータとが関連付けられた文字データとを抽出し、
あらかじめ設定された前記入力帳票の文字抽出領域を表すデータごとに、文字用の比較対象である文字列とデータ形式と記述形式の一致率を判定するために用いる文字用閾値を表すデータと、前記文字用の比較対象を表すデータとが関連付けられた入力帳票用の文字比較設定を参照し、前記入力帳票ファイルそれぞれの前記文字データの同じ前記抽出領域ごとに、前記文字用の比較対象の一致率を算出し、算出した前記一致率と前記文字用閾値に基づいて可変文字データと固定文字データとを分類し、
分類した前記入力帳票ファイルの前記可変文字データと、分類した前記出力帳票ファイルの前記可変文字データとを参照し、前記入力帳票ファイルの前記可変文字データと前記出力帳票ファイルの前記可変文字データとから前記文字列を含む可変文字データを抽出し、
抽出した前記入力帳票ファイルの前記可変文字データに含まれる前記文字列と関連するデータと、抽出した前記出力帳票ファイルの可変文字データに含まれる前記文字列に関連するデータとを関連付けて、可変データ関連情報を生成する、第二の生成ステップ
を実行させることを特徴とするプログラム。
【請求項9】
請求項に記載のプログラムであって、
前記コンピュータに、
前記プログラムが、前記コンピュータに、
新規に作成された前記入力帳票ファイルから抽出した前記可変文字データを用いて、前記可変データ関連情報を参照し、前記マスタ帳票ファイルから当該可変文字データを出力する出力領域を検出し、当該出力領域に当該可変文字データを関連付けて、新規に出力帳票ファイルを生成する、第三の生成ステップ
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票を処理する帳票処理装置、帳票生成方法、及びプログラムに関する。
【背景技術】
【0002】
例えば、発行された請求書に基づいて支払依頼書を作成する場合、帳票(電子文書)の作成、データ入力などの作業が発生する。そこで、従来においては、このような作業の負担を軽減するための方法が提案されている。
【0003】
特許文献1には、汎用的なデータ形式で表現された帳票ファイルを解析し、異なるデータ形式へ効率よく変換する方法が開示されている。また、特許文献2には、異なる種類の帳票ファイルに含まれるデータを、共通のフォーマットを用いて出力する方法が開示されている。
【0004】
更に、特許文献3には、複数の帳票を用いて文字列が可変する領域を特定する情報処理装置が開示されている。特許文献3に開示されている情報処理装置によれば、複数の帳票ファイルに共通する領域に異なる文字列が存在する場合、当該文字列を含む領域を可変領域とし、複数の帳票ファイルに共通する領域に同じ文字列が存在する場合、当該文字列を含む領域を固定領域としている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−237952号公報
【特許文献2】特開2015−130159号公報
【特許文献3】特開2016−004394号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1、2に開示されている方法では、あらかじめ手動でマスタ帳票を作成しなければならない。そのため、作業の負担を軽減することはできない。
【0007】
また、特許文献3に開示されている情報処理装置では、帳票ファイルの共通する領域において、文字列が誤検出された場合、又は文字列データが抽出できない場合、固定領域か可変領域かが判定できない。すなわち、特許文献3に開示されている情報処理装置が、同じ文字列であるにも係らず、異なる文字列であると判定した場合、実際には固定領域であるにも係らず可変領域と判定してしまう。
【0008】
更に、特許文献3に開示されている情報処理装置では、固定領域の文字列が修正された帳票ファイルが混在した場合、固定領域に異なる文字列があると判定されるため、実際には固定領域であるにも係らず可変領域と判定してしまう。
【0009】
なお、特許文献1から3に開示されている方法においては、帳票ファイルから罫線を抽出する方法、及びマスタ帳票ファイルを生成する方法について開示されていない。
【0010】
本発明の目的の一例は、帳票ファイルを効率よく生成する帳票処理装置、帳票処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の一側面における帳票処理装置は、
データ入力済みの入力帳票ファイルと出力帳票ファイルとで用いられているデータを、可変文字データと、固定文字データと、罫線データとに分類し、分類した前記固定文字データと前記罫線データとを用いて、前記入力帳票ファイルに対して用いるデータ未入力の出力帳票ファイルであるマスタ帳票ファイルを生成する、第一の生成部
を有することを特徴とする。
【0012】
また、上記目的を達成するため、本発明の一側面における帳票処理方法は、
(a)データ入力済みの入力帳票ファイルと出力帳票ファイルとで用いられているデータを、可変文字データと、固定文字データと、罫線データとに分類する、ステップと、
(b)分類した前記固定文字データと前記罫線データとを用いて、前記入力帳票ファイルに対して用いるデータ未入力の出力帳票ファイルであるマスタ帳票ファイルを生成する、ステップと、
を有することを特徴とする。
【0013】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)データ入力済みの入力帳票ファイルと出力帳票ファイルとで用いられているデータを、可変文字データと、固定文字データと、罫線データとに分類する、ステップと、
(b)分類した前記固定文字データと前記罫線データとを用いて、前記入力帳票ファイルに対して用いるデータ未入力の出力帳票ファイルであるマスタ帳票ファイルを生成する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0014】
以上のように本発明によれば、帳票を効率よく生成することができる。
【図面の簡単な説明】
【0015】
図1図1は、帳票処理装置の一例を示す図である。
図2図2は、帳票処理装置を有するシステムの一例を示す図である。
図3図3は、第一の生成部の一例を示す図である。
図4図4は、入力帳票ファイル及び出力帳票ファイルの一例を示す図である。
図5図5は、文字データ、罫線データの抽出領域の一例を示す図である。
図6図6は、文字・罫線データのデータ構造の一例を示す図である。
図7図7は、比較設定、文字・罫線データ、比較結果の関係を示す図である。
図8図8は、可変データ抽出定義ファイルのデータ構造の一例を示す図である。
図9図9は、固定の文字・罫線データのデータ構造の一例を示す図である。
図10図10は、マスタ帳票ファイルの一例を示す図である。
図11図11は、第二の生成部の一例を示す図である。
図12図12は、可変文字データのデータ構造の一例を示す図である。
図13図13は、入力帳票ファイル、出力帳票ファイルから抽出した可変文字データと、データリンク定義とのデータ構造の一例を示す図である。
図14図14は、比較設定、データリンク定義、比較結果の関係を示す図である。
図15図15は、出力帳票ファイルの生成を説明するための図である。
図16図16は、帳票処理装置の動作の一例を示す図である。
図17図17は、第一の生成部の動作の一例を示す図である。
図18図18は、第二の生成部の動作の一例を示す図である。
図19図19は、帳票処理装置を実現するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0016】
(実施の形態)
以下、本発明の実施の形態について、図1から図19を参照しながら説明する。
【0017】
[装置構成]
最初に、図1を用いて、本実施の形態における帳票処理装置100の構成について説明する。図1は、帳票処理装置の一例を示す図である。
【0018】
図1に示す帳票処理装置100は、帳票を効率よく生成する装置である。また、図1に示すように、帳票処理装置100は、第一の生成部200を有する。
【0019】
このうち、第一の生成部200は、データ入力済みの入力帳票ファイルと出力帳票ファイルとで用いられているデータを、可変文字データと、固定文字データと、罫線データとに分類する(分類部2(後述する210、220に対応))。そして、分類した固定文字データと罫線データとを用いて、入力帳票ファイルに対して用いるデータ未入力の出力帳票ファイルであるマスタ帳票ファイルを生成する(生成部3(後述する240に対応))。
【0020】
ここで、データとは、入力帳票ファイルと出力帳票ファイルとが有する、帳票上の文字、罫線などを表すデータなどである。
【0021】
可変文字データは、例えば、複数の同じフォーマットの帳票ファイル(入力帳票ファイル、出力帳票ファイル)において、同じ領域に入力された文字が変化したと判断された場合、この領域に入力された文字を表すデータ(例えば、領域、文字列、データ形式、記述形式などのデータ)である。
【0022】
固定文字データは、例えば、複数の同じフォーマットの帳票ファイルにおいて、同じ領域に入力された文字が固定され変化しないと判断された場合、この領域に入力された文字を表すデータである。
【0023】
罫線データは、例えば、帳票ファイルで用いる罫線を表すデータ(例えば、領域、太さ(幅)などのデータ)である。
【0024】
このように、本実施の形態においては、固定文字データと罫線データとを用いて、マスタ帳票ファイルを生成するので、帳票ファイルを効率よく生成することができる。
【0025】
[システム構成]
続いて、図2を用いて、本実施の形態における帳票処理装置100の構成をより具体的に説明する。図2は、帳票処理装置を有するシステムの一例を示す図である。
【0026】
図2に示すように、本実施の形態における帳票処理装置100は、第一の生成部200に加えて、第二の生成部300、第三の生成部400を有する。
【0027】
第一の生成部200は、処理済みの複数の帳票ファイル10を用いて、可変データ抽出定義ファイル40及びマスタ帳票ファイル50を生成する。なお、第一の生成部200の詳細については後述する。
【0028】
第二の生成部300は、帳票ファイル10を用いて、データリンク定義ファイル60を生成する。また、第二の生成部300が有する可変データ抽出部310(抽出部)は、入力帳票ファイル20を用いて、可変データ抽出定義ファイル40を参照し、可変文字データ70を抽出する。なお、第二の生成部300の詳細については後述する。
【0029】
第三の生成部400は、データリンク定義ファイル60を参照して、可変文字データ70をマスタ帳票ファイル50にオーバーレイし、出力帳票ファイル30を生成する。なお、第三の生成部400の詳細については後述する。
【0030】
第一の生成部200について説明する。
図3を用いて、可変データ抽出定義ファイル40とマスタ帳票ファイル50との生成方法について説明する。図3は、第一の生成部の一例を示す図である。図3に示すように、第一の生成部200は、文字・罫線データ抽出部210、可変・固定データ分類部220、可変データ抽出定義生成部230、マスタ帳票生成部240を有する。
【0031】
文字・罫線データ抽出部210は、帳票ファイル10ごとに、帳票ファイル10に含まれる文字を表す文字データと、罫線を表す罫線データとを抽出する。
【0032】
(a1)具体的には、文字・罫線データ抽出部210は、まず、不図示の記憶部に記憶されている複数の帳票ファイル10を取得する。なお、記憶部は、帳票処理装置100の内部に設けてもよいし、外部に設けてもよい。
【0033】
帳票ファイル10は、処理済みの複数の入力帳票ファイル、又は複数の出力帳票ファイル、又は三つ以上の入力帳票ファイルと出力帳票ファイルとを有している。
【0034】
ここで、処理済みの帳票ファイルとは、入力帳票ファイル及び出力帳票ファイルに、過去において何らかの処理が行われた、データ入力済みの帳票ファイルである。帳票ファイル10とは、例えば、PDF(Portable Document Format)形式の帳票ファイルなどである。ただし、帳票ファイルはPDFに限定されるのもではない。
【0035】
図4は、入力帳票ファイル及び出力帳票ファイルの一例を示す図である。図4に示す請求書は、入力帳票ファイルの一例を示している。また、図4に示す支払依頼書は、出力帳票ファイルの一例を示している。なお、支払依頼書とは、入力帳票ファイルに対応する請求書に対して作成された出力帳票ファイルである。
【0036】
(a2)続いて、文字・罫線データ抽出部210は、画像処理を用いて、帳票ファイル10が有する文字データと罫線データとを抽出する。その後、文字・罫線データ抽出部210は、帳票ファイル10ごとに、抽出した文字データと罫線データとを文字・罫線データ80として、記憶部に記憶する。
【0037】
なお、画像処理としては、例えば、OCR(Optical Character Reader)などの画像処理を用いることが考えられる。ただし、画像処理はOCRに限定されるのもではない。
【0038】
図5は、文字データ、罫線データの抽出領域の一例を示す図である。図5には、図4に示した支払依頼書の一部が示されている。文字・罫線データ抽出部210は、画像処理を用いて、例えば、図5に示すように文字に対応する領域(破線矩形範囲:文字の抽出領域)と、罫線に対応する領域(実線矩形範囲:罫線の抽出領域)を抽出する。
【0039】
図6は、文字・罫線データのデータ構造の一例を示す図である。文字・罫線データ80のうち、図6に示す帳票データ81(81a、81b、81c・・・)には、項目「抽出番号」、「始点座標」「終点座標」「文字列」「データ形式」「記述形式」それぞれに、それらの項目に関係する帳票ファイルに文字を表すために用いる文字データ(図6に示す表81の行のデータ)が関連付けられている。
【0040】
帳票データ81の項目「抽出番号」には、抽出した文字の抽出領域のインデックス番号を表すパラメータが関連付けられる。項目「始点座標」「終点座標」には、抽出した文字の抽出領域の始点、終点となる座標を表すデータが関連付けられる。項目「文字列」には、抽出した文字の抽出領域に含まれる文字列を表すデータが関連付けられる。項目「データ形式」には、文字、数値、金額、日付などのデータの種類を表すデータが関連付けられる。項目「記述形式」には、文字列に含まれる文字のフォント、区切り文字、桁数などの文字の記述を表すデータが関連付けられる。
【0041】
また、文字・罫線データ80のうち、図6に示す帳票データ82(82a、82b、82c・・・)には、項目「抽出番号」、「始点座標」「終点座標」「幅」それぞれに、それらの項目に関係する帳票に罫線を表すために用いるデータ(図6に示す表82の行のデータ)が関連付けられている。
【0042】
帳票データ82の項目「抽出番号」には、抽出した罫線の抽出領域のインデックス番号を表すデータが関連付けられている。項目「始点座標」「終点座標」には、抽出した罫線の抽出領域の始点、終点となる座標を表すデータが関連付けられている。項目「幅」には、抽出した罫線の抽出領域の幅を表すデータが関連付けられている。
【0043】
可変・固定データ分類部220は、あらかじめ設定された比較設定を参照して、文字・罫線データ80(帳票データ81、82)の抽出領域で扱うデータを、可変文字データ90と固定文字・罫線データ91とに分類する。
【0044】
(b1)具体的には、可変・固定データ分類部220は、まず、文字・罫線データ抽出部210から、文字・罫線データ80(文字データ81、罫線データ82)を取得する。また、可変・固定データ分類部220は、文字データ81、罫線データ82それぞれを分類するために用いる比較条件が設定された比較設定も取得する。
【0045】
比較設定は、例えば、図7に示す比較設定83、84のような情報で、あらかじめ記憶部に記憶しておく。比較設定83、84は、項目「始点座標」「終点座標」「閾値」「項目」に、それら項目に関連する、抽出領域を比較するために用いる条件を表すデータが関連付けられている。図7は、比較設定、文字・罫線データ、比較結果の関係を示す図である。
【0046】
比較設定83の項目「始点座標」「終点座標」には、文字の抽出領域の始点、終点となる座標を表すデータが関連付けられている。項目「閾値」には、データの種類(可変・固定データ)ごとにあらかじめ設定した閾値Th1を表すデータが関連付けられている。項目「項目」には、比較対象となる文字データの項目を表すデータが関連付けられている。
【0047】
また、比較設定84の項目「始点座標」「終点座標」には、罫線の抽出領域の始点、終点となる座標を表すデータが関連付けられている。項目「閾値」には、データの種類ごとにあらかじめ設定した閾値を表すデータが関連付けられている。項目「項目」には、比較対象となる罫線データの項目を表すデータが関連付けられている。
【0048】
(b2)続いて、可変・固定データ分類部220は、取得した比較設定の抽出領域を選択する。例えば、比較設定83の先頭行の抽出領域を選択する場合、「始点座標」(130,5)と「終点座標」(140,10)とを選択する。
【0049】
(b3)続いて、可変・固定データ分類部220は、選択した比較設定の抽出領域を参照して、選択した比較設定の抽出領域に対応する抽出領域を文字・罫線データ80から検出する。例えば、選択した抽出領域が比較設定83の「始点座標」(130,5)と「終点
座標」(140,10)である場合、図6の帳票データ81a、81b、81c・・・それぞれから、選択した比較設定83の抽出領域に対応する抽出領域を検出する。
【0050】
なお、抽出領域の検出では、文字列長、フォントサイズなどの影響により、抽出領域の大きさ、位置に差が生じる。そこで、抽出領域の検出をする場合には、抽出領域の大きさ、位置などが完全に一致したか否かを判定するのではなく、抽出領域が重複するか否かを判定する。例えば、抽出領域の一部又は全部が重複するか否かを判定する。
【0051】
また、他の抽出領域の検出として、重複する抽出領域の割合を算出し、あらかじめ設定した閾値以上であるか否かを判定してもよい。更に、「始点座標」「終点座標」にあらかじめ設定した補正値を加算して補正後の領域範囲内の場合、同一であると判定してもよい。
【0052】
(b4)続いて、可変・固定データ分類部220は、検出した文字・罫線データ80それぞれの抽出領域に含まれるデータを取得する。例えば、取得した抽出領域が比較設定83の「始点座標」(130,5)と「終点座標」(140,10)とである場合、選択した比較設定83の抽出領域(「始点座標」「終点座標」)に関連付けられた「項目」に含まれる「文字列」「データ形式」を参照して、図6の帳票データ81a、81b、81cそれぞれから、「文字列」に対応するデータ「発行日」と、「データ形式」に対応するデータ「文字列」とを取得する。
【0053】
(b5)続いて、可変・固定データ分類部220は、選択した比較設定の抽出領域に、取得したデータを関連付ける。例えば、図7に示すように、選択した比較設定83の抽出領域(「始点座標」「終点座標」)に関連付けられた、帳票データ81a、81b、81cそれぞれに対応する帳票Aデータ、帳票Bデータ、帳票Cデータ・・・ごとの項目「文字列」「データ形式」それぞれに、取得したデータ「発行日」「文字列」を関連付ける。
【0054】
(b6)続いて、可変・固定データ分類部220は、抽出領域ごとに、文字データ又は罫線データの一致率Cr1[%]を算出する。一致率Cr1は、例えば、数1を用いて算出する。
【0055】
[数1]
Cr1=max(データが一致する帳票ファイル数)/帳票ファイル総数×100
【0056】
なお、maxは、複数の帳票ファイルにおいて、一致するデータ(文字データ又は罫線データ)が複数あった場合、データの一致数が最も大きい帳票ファイルの数を求める関数である。例えば、図7の比較設定83における一行目の「項目」の場合、「文字列」「データ形式」の二項目を用いて比較する。帳票Aデータ、帳票Bデータ、帳票Cデータは、すべて「発行日」「文字列」になっているので、全て一致していると判定する。
【0057】
次に、図7の表に帳票Dデータ、帳票Eデータ、帳票Fデータが存在した場合、もし、帳票Dデータと帳票Eデータとの一行目に対応する「文字列」が「発行日付」で、帳票Fデータの一行目に対応する「文字列」が「日付」などである場合、帳票Aデータ、帳票Bデータ、帳票Cデータと異なる「文字列」であるので、帳票Aデータ、帳票Bデータ、帳票Cデータを最多と判定し、データが一致する帳票ファイル数を3とする。つまり、最初に入力した帳票ファイルのデータを基準にデータが一致するか否かを判定するのではなく、多数決方式でデータが一致するか否かを判定する。
【0058】
また、図7の比較設定83における二行目の「項目」の場合、「文字列」「データ形式
」「記述形式」の三項目を用いて比較する。その場合、帳票Aデータが「2018年8月20日」「日付」「半角数字,YYYY年MM月DD日」で、帳票Bデータが「2018/09/20」「日付」「半角数字,YYYY/MM/DD」で、帳票Cデータが「2018年10月20日」「日付」「全角数字,YYYY年MM月DD日」であるので、「日付」の「データ形式」とその「記述形式」の違いを検出して、帳票Aデータの「文字列」を「2018/8/20」とし、帳票Bデータを「2019/9/20」とし、帳票Cデータを「2018/10/20」とする。すなわち、同じ形式の文字列に変換して比較する。その上で文字列が異なるため、全て一致しないと判定する。
【0059】
選択した抽出領域が比較設定83の「始点座標」(130,5)と「終点座標」(140,10)とである場合、図7では、帳票Aデータ、帳票Bデータ、帳票Cデータ・・・すべてにおいて、取得した「発行日」と「文字列」とが一致しているので、一致率Cr1は100[%]となる。対して、一致していない場合は、一致率Cr1は100[%]より小さくなる。
【0060】
なお、上述した例においては、「文字列」「データ形式」のデータを比較したが、「記述形式」などを用いてもよい。そうすることで、比較精度がより向上する。また、罫線データの場合、誤差が発生する可能性があるので、「幅」のデータに許容範囲を設けてもよい。
【0061】
このように、(b1)の処理をした後に、(b2)から(b6)の処理を繰り返して、比較設定83、84の抽出領域(「開始座標」「終点座標」のペア)の一部又は全てにおいて一致率Cr1を算出して、図7に示すように比較結果85、86の「一致率」に記憶する。
【0062】
(b7)続いて、可変・固定データ分類部220は、算出した一致率Cr1を参照して、対応する抽出領域で扱うデータが可変文字データであるか固定文字データであるかを分類する。例えば、可変・固定データ分類部220は、比較結果85、86から一致率Cr1を取得して、対応する比較設定83、84の「閾値」に設定されている閾値Th1を参照して、抽出領域で扱うデータが可変文字データであるか固定文字データであるかを分類する。
【0063】
すなわち、可変・固定データ分類部220は、一致率Cr1が閾値Th1より大きい場合、抽出領域で扱うデータを固定文字データに分類する。また、一致率Cr1が閾値Th1以下の場合、抽出領域で扱うデータを可変文字データに分類する。
【0064】
図7の例では、比較設定83の「始点座標」(130,5)と「終点座標」(140,10)とで表される抽出領域に対応する、比較設定83の「閾値」が「90」で、比較結果85の「一致率」が「100」であるので、当該抽出領域は固定文字データを扱う領域に分類される。従って、図7に示すように、比較結果85の抽出領域に対応する「分類」には「固定」が記憶される。
【0065】
対して、図7の例においては、「始点座標」(170,5)と「終点座標」(195,10)とで表される抽出領域に対応する、比較設定83の「閾値」は「100」で、比較結果85の「一致率」は「10」であるので、当該抽出領域は可変文字データを扱う領域に分類される。従って、図7に示すように、比較結果85の当該抽出領域に対応する「分類」には「可変」が記憶される。
【0066】
なお、閾値Th1は、実験、シミュレーションなどにより決定する。なお、数値、金額、日付などのデータは、可変である可能性が高いため、閾値Th1を高く設定することが
望ましい。
【0067】
また、閾値Th1を100と設定するとことにより、対象の抽出領域で扱うデータを「可変」と分類してもよい。
【0068】
また、可変文字データと固定文字データとを分類するのは難しため、帳票総数に合わせて閾値を設定することが望ましい。帳票ファイルの総数が多い場合、閾値を高くすることにより、データの分類精度を向上させることができる。
【0069】
また、閾値Th1の最小値は「51」とすることが望ましい。その理由は、一致率Cr1が50である場合、対象の抽出領域を、可変文字データを扱う領域に分類する必要があるためである。
【0070】
このように、(b6)の処理をした後に、(b7)の処理を繰り返して、比較設定83、84の抽出領域(「開始座標」「終点座標」のペア)の一部又は全てにおいて閾値Th1と一致率Cr1とを比較して、比較結果85、86の「分類」に分類した結果(「可変」又は「固定」)を記憶する。
【0071】
なお、図7において、「可変」に分類された文字データを可変文字データ90とし、「固定」に分類された文字データ及び罫線データを固定文字・罫線データ91とする。
【0072】
可変データ抽出定義生成部230は、可変文字データ90を参照して、可変データ抽出定義ファイル40を生成する。例えば、可変データ抽出定義生成部230は、可変文字データ90の項目「始点座標」「終点座標」「データ形式」それぞれのデータに、項目「定義番号」のインデックス番号を表すデータを関連付けて、図8に示すような可変データ抽出定義ファイル40を生成する。図8は、可変データ抽出定義ファイルのデータ構造の一例を示す図である。
【0073】
マスタ帳票生成部240は、固定文字・罫線データ91を参照して、マスタ帳票ファイル50を生成する。
【0074】
例えば、マスタ帳票生成部240は、固定文字・罫線データ91(図9に示す固定の文字データ、固定の罫線データ)における、固定文字データの項目「始点座標」「終点座標」「文字列」「記述形式」に関連付けられたデータと、罫線データの項目「始点座標」「終点座標」「幅」に関連付けられたデータとを参照して、新規ファイル(無地の帳票ファイル)に固定文字と罫線とを出力するために用いる固定文字データと罫線データとを取得する。図9は、固定文字・罫線データのデータ構造の一例を示す図である。
【0075】
そして、マスタ帳票生成部240は、取得した固定文字データと罫線データとを用いて、図10に示すようなマスタ帳票ファイル50を生成する。図10は、マスタ帳票ファイルの一例を示す図である。
【0076】
第二の生成部300について説明する。
図2図11を用いて、データリンク定義ファイル60(可変データ関連情報)と可変文字データ70との生成方法について説明する。図11は、第二の生成部の一例を示す図である。図11に示すように、第二の生成部300は、可変データ抽出部310、データリンク定義生成部320、データリンク定義分類部330を有する。
【0077】
第二の生成部300は、分類した可変文字データのうち文字列を表すデータを用いて、入力帳票ファイル11と、入力帳票ファイル11に対して用いられる出力帳票ファイル1
2とにおいて共通で用いられる可変文字データを抽出する(可変データ抽出部310)。
【0078】
そして、第二の生成部300は、入力帳票ファイル11から抽出した可変文字データと、出力帳票ファイル12から抽出した可変文字データとを関連付けて、データリンク定義ファイル60を生成する(データリンク定義生成部320、データリンク定義分類部330)。
【0079】
可変データ抽出部310は、帳票ファイル10(図11に示す入力帳票ファイル11、出力帳票ファイル12)に対して、第一の生成部200で生成した可変データ抽出定義ファイル40(図11に示す入力帳票可変データ抽出定義ファイル41、出力帳票可変データ抽出定義ファイル42)を参照して、入力帳票文字データ71、出力帳票文字データ72を生成する。
【0080】
また、可変データ抽出部310(抽出部)は、入力帳票ファイル20に対して、第一の生成部200で生成した可変データ抽出定義ファイル40を参照して、可変文字データ70を生成する。
【0081】
データリンク定義ファイル60を生成する場合について具体的に説明する。
可変データ抽出部310は、入力帳票ファイル11(例えば、図4に示す請求書)に対して、入力帳票ファイル11に対応する、第一の生成部200で生成した入力帳票可変データ抽出定義ファイル41を参照して、入力帳票文字データ71を生成する。
【0082】
また、可変データ抽出部310は、出力帳票ファイル12(例えば、図4に示す支払依頼書)に対しても、第一の生成部200で生成した出力帳票ファイル12に対応する出力帳票可変データ抽出定義ファイル42を参照して、出力帳票文字データ72を生成する。例えば、図4に示す支払依頼書の場合であれば、図12に示すように可変文字データを抽出する。図12は、可変文字データのデータ構造の一例を示す図である。
【0083】
可変文字データ70を生成する場合について具体的に説明する。
可変データ抽出部310(抽出部)は、分類した可変文字データを用いて、新規の入力帳票ファイルから可変文字データを抽出する。例えば、可変データ抽出部310は、新規に作成された入力帳票ファイル20に対して、第一の生成部200で生成した入力帳票ファイル20に対応する可変データ抽出定義ファイル40を参照して、可変文字データを抽出して、可変文字データ70を生成する。
【0084】
なお、可変文字データ70を生成する抽出部は、可変データ抽出部310と別に設けてもよい。
【0085】
データリンク定義生成部320は、入力帳票文字データ71と出力帳票文字データ72とを用いて、データリンク定義61を生成する。例えば、データリンク定義生成部320は、図13に示すように、入力帳票文字データ71の項目「文字列」に関連付けられたデータと、出力帳票文字データ72の項目「文字列」に関連付けられたデータとを比較して、一致するデータを検出する。図13は、入力帳票ファイル、出力帳票ファイルから抽出した可変文字データと、データリンク定義とのデータ構造の一例を示す図である。
【0086】
なお、検出の際に、更に項目「記述形式」に関連付けられたデータを比較対象としてもよい。なお、「記述形式」に関連付けられたデータの表す内容が一致又は同じと判定できる場合には一致とする。
【0087】
その後、データリンク定義生成部320は、一致した可変文字データを検出した場合、
図13に示すように、一致した「文字列」「データ形式」のデータに関連する、入力帳票文字データ71の抽出領域(「始点座標」「終点座標」)と、出力帳票文字データ72の抽出領域(「始点座標」「終点座標」)とを取得する。
【0088】
そして、データリンク定義生成部320は、図13のデータリンク定義に示すように、入力帳票文字データ71の抽出領域(「始点座標」「終点座標」のデータ)と、出力帳票文字データ72の抽出領域(「始点座標」「終点座標」のデータ)と、一致した「データ形式」「記述形式」それぞれのデータと、更にインデックス番号を示す「定義番号」とを関連付けて、データリンク定義61を生成する。
【0089】
なお、データリンク定義61は、入力帳票ファイルと、入力帳票ファイルに対応する出力帳票ファイルとの組み合わせに応じた数だけ生成される。
【0090】
データリンク定義分類部330は、生成したデータリンク定義61を固定と可変とに分類する。データリンク定義分類部330は、生成したデータリンク定義61の数が一つの場合、データリンク定義61を固定と分類し、データリンク定義ファイル60とする。
【0091】
また、データリンク定義分類部330は、データリンク定義61の数が複数ある場合、あらかじめ設定された比較設定を参照して、生成したデータリンク定義61それぞれの定義を、固定と可変とに分類する。
【0092】
(c1)具体的には、データリンク定義分類部330は、まず、データリンク定義生成部320から、データリンク定義61を取得する。また、データリンク定義分類部330は、データリンク定義61の定義それぞれを分類するために用いる比較条件が設定された比較設定も取得する。
【0093】
定義の比較設定は、例えば、図14に示す比較設定62のような情報で、あらかじめ記憶部に記憶しておく。比較設定62は、項目「定義番号」「閾値」に、それら項目に関連する、定義を比較するために用いる条件を表すデータが関連付けられている。図14は、比較設定、データリンク定義、比較結果の関係を示す図である。
【0094】
比較設定62の項目「定義番号」には、インデックス番号を表すデータが関連付けられている。項目「閾値」には、閾値Th2を表すデータが関連付けられている。なお、閾値Th2は、実験、シミュレーションなどにより決定する。
【0095】
(c2)続いて、データリンク定義分類部330は、取得した比較設定の定義番号を選択する。例えば、比較設定62の先頭行の定義番号を選択する場合、「定義番号」に対応する「1」を選択する。
【0096】
(c3)続いて、データリンク定義分類部330は、データリンク定義61それぞれの「定義番号」が一致する各定義に対して、数2を用いて定義の一致率Cr2を算出する。
【0097】
[数2]
Cr2=定義が一致するデータリンク定義数/データリンク定義の総数×100
【0098】
選択した比較設定62の「定義番号」が「1」である場合、図14では、データリンク定義A、データリンク定義B、データリンク定義C・・・すべてにおいて、定義番号「1」に対応する定義があるので、一致率Cr2は100[%]となる。対して、定義番号に対応する定義がデータリンク定義A、B、C・・・のいずれかにない場合、一致率Cr2
は100[%]より小さくなる。
【0099】
このように、(c1)から(c3)の処理を繰り返して、比較設定62の定義番号の一部又は全てにおいて一致率Cr2を算出して、図14に示すように比較結果63の「一致率」に記憶する。
【0100】
(c4)続いて、データリンク定義分類部330は、算出した一致率Cr2を参照して、定義を固定か可変かに分類する。例えば、データリンク定義分類部330は、比較結果63から一致率Cr2を取得して、対応する比較設定62の「閾値」に設定されている閾値Th2を参照して、定義を固定か可変かに分類する。
【0101】
すなわち、データリンク定義分類部330は、一致率Cr2が閾値Th2より大きい場合、定義を固定に分類する。また、一致率Cr2が閾値Th2以下の場合、定義を可変に分類する。
【0102】
図14の例では、比較設定62の定義番号「1」に対応する、比較設定62の「閾値」が「80」で、比較結果63の「一致率」が「100」であるので、当該定義番号に対応する定義は固定に分類される。従って、図14に示すように、比較結果63の抽出領域に対応する「分類」には「固定」が記憶される。
【0103】
対して、図14の例においては、比較設定62の定義番号「3」に対応する、比較設定62の「閾値」が「80」で、比較結果63の「一致率」が「0」であるので、当該定義番号に対応する定義は固定に分類される。従って、図14に示すように、比較結果63の抽出領域に対応する「分類」には「可変」が記憶される。
【0104】
なお、閾値Th2は、帳票ファイルの総数に合わせて閾値を設定することが望ましく、帳票総数が比較的に多い場合は閾値を高くすることにより定義の分類の精度を向上させることができる。
【0105】
このように、(c3)の処理をした後に、(c4)の処理を繰り返して、比較設定62の定義番号の一部又は全てにおいて閾値Th2と一致率Cr2とを比較して、比較結果63の「分類」に分類した結果(「可変」又は「固定」)を記憶する。
【0106】
そして、データリンク定義分類部330は、「固定」に分類された定義をデータリンク定義ファイル60として、記憶部に記憶する。
【0107】
第三の生成部400は、データリンク定義ファイル60(可変データ関連情報)を参照して、可変文字データ70をマスタ帳票ファイル50にオーバーレイ出力し、出力帳票ファイル30を生成する。
【0108】
例えば、第三の生成部400は、新規の入力帳票ファイルから抽出した可変文字データ(可変文字データ70)を用いて、データリンク定義ファイル60(可変データ関連情報)を参照し、マスタ帳票ファイル50から当該可変文字データを出力する出力領域を検出する。そして、第三の生成部400は、検出した出力領域に当該可変文字データを関連付けて、新規に出力帳票ファイル30を生成する。
【0109】
図15の例では、入力帳票ファイル20から抽出した可変文字データ70の可変文字データ(抽出領域(「始点座標」(50,70)、「終点座標」(70,80))、文字列「216,000」)を用いて、データリンク定義ファイル60を参照して、マスタ帳票ファイル50の出力領域(「始点座標」(110,100)、「終点座標」(125,1
05))を検出する。そして、第三の生成部400は、検出した出力領域に文字列「216,000」)をオーバーレイする。図15は、出力帳票ファイルの生成を説明するための図である。
【0110】
[変形例]
入力帳票ファイルから抽出した可変文字データが、出力帳票ファイルに存在しないことがある。例えば、文書番号に対応する文字データと別に管理されている番号、発行者の所属、TEL、名前に対応するデータが該当する。
【0111】
そこで、文書番号に対応する文字データと別に管理されている番号については、あらかじめマスタデータとして記憶部に記憶しておいてもよい。具体的には、マスタデータを、データリンク定義ファイル60と、文字・罫線データ80とへ追加する機能を、帳票処理装置100に設ける。
【0112】
また、所属、TEL(電話番号)、名前などのデータについては、データの変更の頻度が低いので、当該データが一致する複数の帳票ファイル10を準備して、第一の生成部200を用いて、固定データとしてマスタ帳票ファイル50に出力させる。
【0113】
[装置動作]
次に、本発明の実施の形態における帳票処理装置の動作について図16図17図18を用いて説明する。図16は、帳票処理装置の動作の一例を示す図である。図17は、第一の生成部の動作の一例を示す図である。図18は、第二の生成部の動作の一例を示す図である。以下の説明においては、適宜図2から図15を参照する。また、本実施の形態では、帳票処理装置を動作させることによって、帳票処理法が実施される。よって、本実施の形態における帳票処理方法の説明は、以下の帳票処理装置の動作説明に代える。
【0114】
図16を用いて帳票処理装置1の全体の動作について説明する。
最初に、帳票準備フィーズにおいて、帳票処理装置1の第一の生成部200は、可変データ抽出定義ファイルを生成する(ステップA1)。また、第一の生成部200は、マスタ帳票ファイルを生成する(ステップA2)。
【0115】
具体的には、ステップA1、A2において、第一の生成部200は、処理済みの複数の帳票ファイル10を用いて、可変データ抽出定義ファイル40及びマスタ帳票ファイル50を生成する。なお、ステップA1とステップA2の順番は逆でもよい。なお、ステップA1、A2の詳細については図17を用いて後述する。
【0116】
次に、帳票処理装置1の第二の生成部300は、データリンク定義ファイル(可変データ関連情報)を生成する(ステップA3)。具体的には、ステップA3において、第二の生成部300は、帳票ファイル10を用いて、データリンク定義ファイル60を生成する。なお、ステップA3の詳細については図18を用いて後述する。
【0117】
次に、帳票生成フェーズにおいて、第二の生成部300は、可変文字データを抽出する(ステップA4)。具体的には、ステップA4において、第二の生成部300が有する可変データ抽出部310(抽出部)は、入力帳票ファイル20を用いて、可変データ抽出定義ファイル40を参照し、可変文字データ70を抽出する。なお、ステップA4の詳細については後述する。
【0118】
次に、帳票生成フェーズにおいて、第三の生成部400は、出力帳票ファイルを生成する(ステップA5)。第三の生成部400は、具体的には、ステップA5において、データリンク定義ファイル60を参照して、可変文字データ70をマスタ帳票ファイル50に
オーバーレイし、出力帳票ファイル30を生成する。なお、ステップA5の詳細については後述する。
【0119】
ステップA1、A2の処理について図17を用いて説明する。
ステップB1において、文字・罫線データ抽出部210は、帳票ファイル10ごとに、帳票ファイル10に含まれる文字を表す文字データと、罫線を表す罫線データとを抽出する。
【0120】
(a1)具体的には、ステップB1において、文字・罫線データ抽出部210は、まず、不図示の記憶部に記憶されている複数の帳票ファイル10を取得する。
【0121】
(a2)続いて、ステップB1において、文字・罫線データ抽出部210は、画像処理を用いて、帳票ファイル10が有する文字データと罫線データとを抽出する。その後、文字・罫線データ抽出部210は、帳票ファイル10ごとに、抽出した文字データと罫線データとを文字・罫線データ80として、記憶部に記憶する。
【0122】
ステップB2において、可変・固定データ分類部220は、あらかじめ設定された比較設定を参照して、文字・罫線データ80(帳票データ81、82)の抽出領域で扱うデータを、可変文字データ90と固定文字・罫線データ91とに分類する。
【0123】
(b1)具体的には、ステップB2−1において、可変・固定データ分類部220は、まず、文字・罫線データ抽出部210から、文字・罫線データ80(文字データ81、罫線データ82)を取得する。また、ステップB2−1において、可変・固定データ分類部220は、文字データ81、罫線データ82それぞれを分類するために用いる比較条件が設定された比較設定も取得する。
【0124】
(b2)続いて、ステップB2−2において、可変・固定データ分類部220は、取得した比較設定の抽出領域を選択する。例えば、図7の比較設定83の先頭行の抽出領域を選択する場合、「始点座標」(130,5)と「終点座標」(140,10)とを選択する。
【0125】
(b3)続いて、ステップB2−3において、可変・固定データ分類部220は、選択した比較設定の抽出領域を参照して、選択した比較設定の抽出領域に対応する抽出領域を、文字・罫線データ80から検出する。例えば、図7の選択した抽出領域が比較設定83の「始点座標」(130,5)と「終点座標」(140,10)である場合、図6の帳票データ81a、81b、81c・・・それぞれから、選択した比較設定83の抽出領域に対応する抽出領域を検出する。
【0126】
(b4)続いて、ステップB2−4において、可変・固定データ分類部220は、検出した文字・罫線データ80それぞれの抽出領域に含まれるデータを取得する。例えば、取得した抽出領域が比較設定83の「始点座標」(130,5)と「終点座標」(140,10)とである場合、選択した比較設定83の抽出領域(「始点座標」「終点座標」)に関連付けられた「項目」に含まれる「文字列」「データ形式」を参照して、図6の帳票データ81a、81b、81cそれぞれから、「文字列」に対応するデータ「発行日」と、「データ形式」に対応するデータ「文字列」とを取得する。
【0127】
(b5)続いて、ステップB2−5において、可変・固定データ分類部220は、選択した比較設定の抽出領域に、取得したデータを関連付ける。例えば、図7に示すように、選択した比較設定83の抽出領域(「始点座標」「終点座標」)に関連付けられた、帳票データ81a、81b、81cそれぞれに対応する帳票Aデータ、帳票Bデータ、帳票Cデ
ータ・・・ごとの項目「文字列」「データ形式」それぞれに、取得したデータ「発行日」「文字列」を関連付ける。
【0128】
(b6)続いて、ステップB2−6において、可変・固定データ分類部220は、抽出領域ごとに、文字データ又は罫線データの一致率Cr1[%]を算出する。一致率Cr1は、例えば、数1を用いて算出する。
【0129】
選択した抽出領域が比較設定83の「始点座標」(130,5)と「終点座標」(140,10)とである場合、図7では、帳票Aデータ、帳票Bデータ、帳票Cデータ・・・すべてにおいて、取得した「発行日」と「文字列」とが一致しているので、一致率Cr1は100[%]となる。対して、一致していない場合は、一致率Cr1は100[%]より小さくなる。
【0130】
このように、ステップB2−1(b1)の処理をした後に、ステップB2−2(b2)からステップB2−6(b6)の処理を繰り返して、比較設定83、84の抽出領域(「開始座標」「終点座標」のペア)の一部又は全てにおいて一致率Cr1を算出して、図7に示すように比較結果85、86の「一致率」に記憶する。
【0131】
(b7)続いて、ステップB2−7において、可変・固定データ分類部220は、算出した一致率Cr1を参照して、対応する抽出領域で扱うデータが可変文字データであるか固定文字データであるかを分類する。
【0132】
すなわち、可変・固定データ分類部220は、一致率Cr1が閾値Th1より大きい場合(ステップB2−7:Yes)、ステップB2−8において、抽出領域で扱うデータを固定文字データに分類する。また、一致率Cr1が閾値Th1以下の場合、ステップB2−9において、抽出領域で扱うデータを可変文字データに分類する。
【0133】
その後、可変・固定データ分類部220は、ステップB2−10において、分類が終了した場合(ステップB2−10:Yes)、ステップB3の処理を実行する。分類が終了していない場合(ステップB2−10:No)、可変・固定データ分類部220は、ステップB2−7の処理を実行する。
【0134】
このように、ステップB2−6(b6)の処理をした後に、ステップB2−7からB2−10(b7)の処理を繰り返して、比較設定83、84の抽出領域(「開始座標」「終点座標」のペア)の一部又は全てにおいて閾値Th1と一致率Cr1とを比較して、比較結果85、86の「分類」に分類した結果(「可変」又は「固定」)を記憶する。
【0135】
なお、図7において、「可変」に分類された文字データを可変文字データ90とし、「固定」に分類された文字データ及び罫線データを固定文字・罫線データ91とする。
【0136】
続いて、ステップB3において、可変データ抽出定義生成部230は、可変文字データ90を参照して、可変データ抽出定義ファイル40を生成する。例えば、可変データ抽出定義生成部230は、可変文字データ90の項目「始点座標」「終点座標」「データ形式」それぞれのデータに、項目「定義番号」のインデックス番号を表すデータを関連付けて、図8に示すような可変データ抽出定義ファイル40を生成する。
【0137】
続いて、ステップB4において、マスタ帳票生成部240は、固定文字・罫線データ91を参照して、マスタ帳票ファイル50を生成する。
【0138】
例えば、マスタ帳票生成部240は、固定文字・罫線データ91(図9に示す固定の文
字データ、固定の罫線データ)における、固定文字データの項目「始点座標」「終点座標」「文字列」「記述形式」に関連付けられたデータと、罫線データの項目「始点座標」「終点座標」「幅」に関連付けられたデータとを参照して、新規ファイル(無地の帳票ファイル)に固定文字と罫線とを出力するために用いる固定文字データと罫線データとを取得する。
【0139】
そして、マスタ帳票生成部240は、取得した固定文字データと罫線データとを用いて、図10に示すようなマスタ帳票ファイル50を生成する。
【0140】
ステップA3の処理について図18を用いて説明する。
ステップC1において、可変データ抽出部310は、帳票ファイル10(図11に示す入力帳票ファイル11、出力帳票ファイル12)に対して、第一の生成部200で生成した可変データ抽出定義ファイル40(図11に示す入力帳票可変データ抽出定義ファイル41、出力帳票可変データ抽出定義ファイル42)を参照して、入力帳票文字データ71、出力帳票文字データ72を生成する。
【0141】
ステップC2において、データリンク定義生成部320は、入力帳票文字データ71と出力帳票文字データ72とを用いて、データリンク定義61を生成する。例えば、データリンク定義生成部320は、図13に示すように、入力帳票文字データ71の項目「文字列」に関連付けられたデータと、出力帳票文字データ72の項目「文字列」に関連付けられたデータとを比較して、一致するデータを検出する。
【0142】
ステップC3において、データリンク定義生成部320は、入力帳票ファイルと、入力帳票ファイルに対応する出力帳票ファイルとの組み合わせに応じた数のデータリンク定義を生成した場合(ステップC3:Yes)、ステップC4の処理を実行し、そうでない場合(ステップC3:No)、データリンク定義生成部320は、ステップC2の処理を実行する。
【0143】
ステップC4において、データリンク定義分類部330は、生成したデータリンク定義61を固定と可変とに分類する。データリンク定義分類部330は、生成したデータリンク定義61の数が一つの場合、データリンク定義61を固定と分類し、データリンク定義ファイル60とする。
【0144】
また、ステップC4において、データリンク定義分類部330は、データリンク定義61の数が複数ある場合、あらかじめ設定された比較設定を参照して、生成したデータリンク定義61それぞれの定義を、固定と可変とに分類する。
【0145】
(c1)具体的には、ステップC4−1において、データリンク定義分類部330は、まず、データリンク定義生成部320から、データリンク定義61を取得する。また、データリンク定義分類部330は、データリンク定義61の定義それぞれを分類するために用いる比較条件が設定された比較設定も取得する。
【0146】
(c2)続いて、ステップC4−2において、データリンク定義分類部330は、取得した比較設定の定義番号を選択する。例えば、比較設定62の先頭行の定義番号を選択する場合、「定義番号」に対応する「1」を選択する。
【0147】
(c3)続いて、ステップC4−3において、データリンク定義分類部330は、データリンク定義61それぞれの「定義番号」が一致する各定義に対して、数2を用いて定義の一致率Cr2を算出する。
【0148】
選択した比較設定62の「定義番号」が「1」である場合、図14では、データリンク定義A、データリンク定義B、データリンク定義C・・・すべてにおいて、定義番号「1」に対応する定義があるので、一致率Cr2は100[%]となる。対して、定義番号に対応する定義がデータリンク定義A、B、C・・・のいずれかにない場合、一致率Cr2は100[%]より小さくなる。
【0149】
このように、ステップC4−1(c1)からステップC4−3(c3)の処理を繰り返して、比較設定62の定義番号の一部又は全てにおいて一致率Cr2を算出して、図14に示すように比較結果63の「一致率」に記憶する。
【0150】
(c4)続いて、ステップC4−4において、データリンク定義分類部330は、算出した一致率Cr2を参照して、定義を固定か可変かに分類する。例えば、データリンク定義分類部330は、比較結果63から一致率Cr2を取得して、対応する比較設定62の「閾値」に設定されている閾値Th2を参照して、定義を固定か可変かに分類する。
【0151】
すなわち、データリンク定義分類部330は、一致率Cr2が閾値Th2より大きい場合(ステップC4−4:Yes)、ステップC4−5において、定義を固定に分類する。また、一致率Cr2が閾値Th2以下の場合(ステップC4−4:No)、ステップC4−6において、定義を可変に分類する。
【0152】
図14の例では、比較設定62の定義番号「1」に対応する、比較設定62の「閾値」が「80」で、比較結果63の「一致率」が「100」であるので、当該定義番号に対応する定義は固定に分類される。従って、図14に示すように、比較結果63の抽出領域に対応する「分類」には「固定」が記憶される。
【0153】
対して、図14の例においては、比較設定62の定義番号「3」に対応する、比較設定62の「閾値」が「80」で、比較結果63の「一致率」が「0」であるので、当該定義番号に対応する定義は固定に分類される。従って、図14に示すように、比較結果63の抽出領域に対応する「分類」には「可変」が記憶される。
【0154】
このように、ステップC4−7(c4)の処理をした後に、ステップC4−(c4)の処理を繰り返して、比較設定62の定義番号の一部又は全てにおいて閾値Th2と一致率Cr2とを比較して、比較結果63の「分類」に分類した結果(「可変」又は「固定」)を記憶する。
【0155】
続いて、ステップC5において、データリンク定義分類部330は、「固定」に分類された定義をデータリンク定義ファイル60として、記憶部に記憶する。
【0156】
ステップA4、A5について説明する。
ステップA4において、可変データ抽出部310(抽出部)は、入力帳票ファイル20に対して、第一の生成部200で生成した可変データ抽出定義ファイル40を参照して、可変文字データ70を生成する。
【0157】
例えば、ステップA4において、可変データ抽出部310は、新規に作成された入力帳票ファイル20に対して、第一の生成部200で生成した入力帳票ファイル20に対応する可変データ抽出定義ファイル40を参照して、可変文字データを抽出して、可変文字データ70を生成する。
【0158】
なお、可変文字データ70を生成する抽出部は、可変データ抽出部310と別に設けてもよい。
【0159】
ステップA5において、第三の生成部400は、データリンク定義ファイル60(可変データ関連情報)を参照して、可変文字データ70をマスタ帳票ファイル50にオーバーレイ出力し、出力帳票ファイル30を生成する。
【0160】
例えば、ステップA5において、第三の生成部400は、新規の入力帳票ファイルから抽出した可変文字データ(可変文字データ70)を用いて、データリンク定義ファイル60(可変データ関連情報)を参照し、マスタ帳票ファイル50から当該可変文字データを出力する出力領域を検出する。そして、第三の生成部400は、検出した出力領域に当該可変文字データを関連付けて、新規に出力帳票ファイル30を生成する。
【0161】
図15の例では、入力帳票ファイル20から抽出した可変文字データ70の可変文字データ(抽出領域(「始点座標」(50,70)、「終点座標」(70,80))、文字列「216,000」)を用いて、データリンク定義ファイル60を参照して、マスタ帳票ファイル50の出力領域(「始点座標」(110,100)、「終点座標」(125,105))を検出する。そして、第三の生成部400は、検出した出力領域に文字列「216,000」)をオーバーレイする。
【0162】
[変形例]
入力帳票ファイルから抽出した可変文字データが、出力帳票ファイルに存在しないことがある。例えば、文書番号に対応する文字データと別に管理されている番号、発行者の所属、TEL、名前に対応するデータが該当する。
【0163】
そこで、文書番号に対応する文字データと別に管理されている番号については、あらかじめマスタデータとして記憶部に記憶しておいてもよい。具体的には、マスタデータを、データリンク定義ファイル60と、文字・罫線データ80とへ追加するステップを追加する。
【0164】
また、所属、TEL(電話番号)、名前などのデータについては、データの変更の頻度が低いので、当該データが一致する複数の帳票ファイル10を準備して、第一の生成部200を用いて、固定データとしてマスタ帳票ファイル50に出力させる。
【0165】
[本実施の形態の効果]
以上のように本実施の形態によれば、固定文字データと罫線データとを用いて、マスタ帳票ファイル(テンプレート)を生成するので、帳票ファイルを効率よく生成することができる。
【0166】
また、過去の処理済の複数帳票ファイルから可変データ抽出定義及びデータリンク定義を自動生成するため、専用のアプリケーションによる帳票作成、更には設計の作業が不要となる。
【0167】
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図16に示すステップA1からA5、図16に示すステップB1からB4、図17に示すステップC1からC5を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における帳票処理装置と帳票処理方法とを実現することができる。この場合、コンピュータのプロセッサは、第一の生成部200(文字・罫線データ抽出部210、可変・固定データ分類部220、可変データ抽出定義生成部230、マスタ帳票生成部240)、第二の生成部300(可変データ抽出部310、データリンク定義生成部320、データリンク定義分類部330)、第三の生成部400として
機能し、処理を行なう。
【0168】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、第一の生成部200(文字・罫線データ抽出部210、可変・固定データ分類部220、可変データ抽出定義生成部230、マスタ帳票生成部240)、第二の生成部300(可変データ抽出部310、データリンク定義生成部320、データリンク定義分類部330)、第三の生成部400のいずれかとして機能してもよい。
【0169】
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、帳票処理装置を実現するコンピュータについて図19を用いて説明する。図19は、本発明の実施の形態における帳票処理装置を実現するコンピュータの一例を示すブロック図である。
【0170】
図19に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
【0171】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
【0172】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0173】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0174】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【産業上の利用可能性】
【0175】
以上のように本発明によれば、帳票を効率よく生成することができる。本発明は、入力帳票ファイルに対応する出力帳票ファイルを生成する処理が必要な分野において有用である。
【符号の説明】
【0176】
100 帳票処理装置
200 第一の生成部
210 文字・罫線データ抽出部
220 可変・固定データ分類部
230 可変データ抽出定義生成部
240 マスタ帳票生成部
300 第二の生成部
310 可変データ抽出部
320 データリンク定義生成部
330 データリンク定義分類部
400 第三の生成部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19