以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
図1を参照して、本実施の形態の装置構成を説明する。図1は、帳票管理装置10の機能構成を示すブロック図である。
図1に示す帳票管理装置10は、個人商店などの店舗に設置された情報処理装置であり、店舗の顧客などに発行する帳票の情報を管理する。帳票管理装置10は、専用機としてもよく、汎用のPC(Personal Computer)などにより実現する構成としてもよい。
帳票管理装置10は、類似帳票特定手段、設定手段、第1の更新手段、第2の更新手段、検出手段、入力項目取得手段としてのCPU(Central Processing Unit)11と、操作部12と、RAM(Random Access Memory)13と、表示部14と、記憶部15と、通信部16と、スキャナ部17と、印刷部18と、を備える。帳票管理装置10の各部は、バス19を介して接続されている。
CPU11は、帳票管理装置10の各部を制御する。CPU11は、記憶部15に記憶されているシステムプログラム及びアプリケーションプログラムのうち、指定されたプログラムを読み出してRAM13に展開し、当該プログラムとの協働で、各種処理を実行する。
操作部12は、キーボードなどのキー入力部と、マウスなどのポインティングデバイスとを有し、キー入力及び位置入力を受け付け、その操作情報をCPU11に出力する。
RAM13は、揮発性のメモリであり、各種のデータやプログラムを一時的に格納するワークエリアを形成する。表示部14は、LCD(Liquid Crystal Display)、EL(ElectroLuminescent)ディスプレイなどで構成され、CPU11から指示された表示情報に従い各種表示を行う。
記憶部15は、HDD(Hard Disk Drive)、SSD(Solid State Drive)などにより構成され、データ及びプログラムを書き込み及び読み出し可能な記憶部である。特に、記憶部15は、帳票管理に関する、帳票管理データベースD、帳票管理制御プログラムPを記憶している。
帳票管理データベースDは、後述する抽出領域テーブル20、判定テーブル30、抽出リスト40,50、設定別抽出テーブル60、帳票フォーム情報70、入力項目テーブル80、明細領域情報90、合致領域情報100、帳票情報テーブル110、候補リスト120を含む。帳票管理制御プログラムPは、複数のプログラムモジュールからなり、後述するタイトル文字列抽出処理、型番文字列抽出処理、入力項目テーブル作成処理、帳票フォーム調整処理、帳票フォーム編集処理が実現されるプログラムである。
通信部16は、ネットワークカードなどにより構成され、通信ネットワークに通信接続されて、当該通信ネットワーク上の機器との通信を行う。
スキャナ部17は、CPU11の指示により、セットされた帳票などの原稿を光学的に読み取り、当該原稿の画像データを生成してCPU11に出力する読取部である。
印刷部18は、CPU11の指示により、文字などの印刷情報を用紙に印刷するプリンタである。例えば、後述する図3に示すように、帳票の背景画像が印刷された用紙がセットされ、印刷部18は、具体的な入力データを当該帳票の用紙に印刷して、入力データを含む帳票を作成する。
次に、図2〜図7を参照して、記憶部15に記憶される情報を説明する。図2(a)は、抽出領域テーブル20を示す図である。図2(b)は、判定テーブル30を示す図である。図2(c)は、抽出リスト40を示す図である。図2(d)は、抽出リスト50を示す図である。図2(e)は、設定別抽出テーブル60を示す図である。図3は、帳票の背景画像F1を示す図である。図4は、帳票のタイトル抽出領域TI1及び型番抽出領域TN1を示す図である。図5は、帳票フォーム情報70を示す図である。図6は、帳票から得られた帳票フォームの領域を示す図である。図7(a)は、入力項目テーブル80を示す図である。図7(b)は、明細領域情報90を示す図である。図7(c)は、合致領域情報100を示す図である。図7(d)は、帳票情報テーブル110を示す図である。図7(e)は、候補リスト120を示す図である。
図2(a)に示す抽出領域テーブル20は、帳票に印刷された情報記入欄を含む帳票フォームの背景画像のうち、帳票を識別するためのタイトル、型番の情報が印刷されている可能性が高い抽出領域に関する情報のテーブルである。ここで、一例として、店舗で使用され、具体的な文字列、数値などの情報が未記入の帳票がスキャンされ、例えば、図3に示す帳票の背景画像F1が取得される例を説明する。この帳票は、名称が納品書(控)の帳票であり、上端、下端、左端、右端の4辺に囲まれた矩形と、左右に延在した直線と、を複数含む。帳票の背景画像F1は、左上端を原点として、第1の所定方向としての右方向のX軸と、第2の所定方向としての下方向のY軸と、の2次元座標の点からなるものとする。
抽出領域テーブル20は、番号21と、区分22と、抽出領域指定23と、のカラムを有する。番号21は、抽出領域テーブル20のレコードの識別番号である。区分22は、番号21に対応する抽出領域の区分であり、タイトル抽出領域の「タイトル」又は型番抽出領域の「型番」である。図4に示すように、納品書(控)の帳票の背景画像において、タイトルを抽出するためのタイトル抽出領域TI1と、型番を抽出するための型番抽出領域TN1と、が指定されている。
抽出領域指定23は、番号21に対応する抽出領域の座標の定義情報である。「TF」は、背景画像の上端からの検出領域のピクセル数を示す。「TL」は、背景画像の左端からの抽出領域のピクセル数を示す。「TB」は、背景画像の下端からの抽出領域のピクセル数を示す。このように、タイトル抽出領域TI1は、背景画像F1の上端から100ピクセルの領域であり、型番抽出領域TN1は、背景画像F1の左端及び下端から50ピクセルの領域である。
図2(b)に示す判定テーブル30は、帳票フォームの背景画像のうち、抽出領域で抽出された文字列が帳票を識別する文字列であるか否かを判別するための情報のテーブルである。判定テーブル30は、番号31と、区分32と、文字列33と、のカラムを有する。
番号31は、判定テーブル30のレコードの識別番号である。区分32は、番号31に対応する文字列の区分である。文字列33は、番号31に対応する帳票を識別する文字列の内容である。
図2(c)に示す抽出リスト40は、帳票フォームの背景画像のうち、タイトル抽出領域で抽出された文字列のリストである。抽出リスト40は、番号41と、文字列42と、のカラムと、帳票フォーム名43と、を有する。番号41は、抽出リスト40のレコードの識別番号である。文字列42は、番号41に対応する抽出された文字列の内容である。帳票フォーム名43は、文字列の抽出元の帳票(フォーム)の名称である。帳票フォーム名は、各帳票(フォーム)を識別するユニークな名称として、ユーザにより任意に設定されているものとする。
図2(d)に示す抽出リスト50は、帳票フォームの背景画像のうち、型番抽出領域で抽出された文字列のリストである。抽出リスト50は、番号51と、文字列52と、のカラムと、帳票フォーム名53と、を有する。番号51は、抽出リスト50のレコードの識別番号である。文字列52は、番号51に対応する抽出された文字列の内容である。帳票フォーム名53は、文字列の抽出元の帳票(フォーム)の名称である。
図2(e)に示す設定別抽出テーブル60は、抽出リスト40,50の抽出された文字列のうち、判定テーブル30で判定された文字列の情報を有するテーブルである。設定別抽出テーブル60は、番号61と、区分62と、文字列63と、のカラムと、帳票フォーム名64と、を有する。
番号61は、設定別抽出テーブル60のレコードの識別番号である。区分62は、番号61に対応する抽出された文字列の区分である。文字列63は、番号61に対応する抽出された文字列の内容である。帳票フォーム名64は、文字列の抽出元の帳票(フォーム)の名称である。
図5に示すように、帳票フォーム情報70は、スキャンされた帳票について具体的な文字、数字などの情報の入力を受け付ける帳票フォーム(画面)を設定するための情報である。帳票フォーム情報70は、項目情報70Aと、明細情報70Bと、を有する。
図6に示すように、帳票の背景画像F1から得られた帳票フォーム情報70は、具体的な文字の入力を受け付ける情報記入欄の領域として、明細領域SP1と、繰返領域RP1と、出力項目T1〜T19と、に関する情報(項目詳細情報)を有する。明細情報70Bは、帳票において、X軸方向の同じ並びパターン(形状(幅)及び位置)の複数の矩形領域からなる繰返領域(例えば繰返領域PR1)がY軸方向に連続的に繰り返された明細領域(例えば明細領域SP1)の情報である。繰返領域RP1は、明細領域SP1のうちY軸方向に繰り返される項目グループ情報単位の領域である。項目グループとは、帳票の背景画像において、Y座標が同じ矩形領域の項目詳細情報をまとめた集合である。繰返領域PR1には、出力項目T6〜T11が含まれる。項目情報70Aとは、帳票において、明細領域以外の情報記入欄の各矩形領域(例えば出力項目T1〜T5,T12〜T19)の情報である。
また、繰返領域PR1において、出力項目T9は、X軸方向に同じ幅の8個の矩形領域を1つに統合した矩形領域としている。また、繰返領域PR1と同じ並びパターン(形状(幅)及び位置)の矩形領域を有し、項目区分が異なる矩形領域を少なくとも1つ有する領域を、繰返領域PR1の類似領域AN1とする。類似領域AN1には、出力項目T12〜T16が含まれる。類似領域AN1においても、出力項目T14は、X軸方向に同じ幅の8個の矩形領域を1つに統合した矩形領域としている。
帳票フォーム情報70は、図5の矢印で関連付けられるように、明細領域以外の領域の項目情報70Aとして、項目情報アドレス71、項目詳細情報アドレス72、項目詳細情報73と、明細領域の明細情報70Bとして、明細情報アドレス74、明細情報75、項目詳細情報アドレス76、項目詳細情報77と、帳票フォーム名78と、の情報を有する。項目情報アドレス71は、項目情報70Aのアドレス情報である。項目詳細情報アドレス72は、項目情報アドレス71の項目情報に含まれる項目詳細情報73のアドレス情報である。項目情報アドレス71は、例えば、含まれる先頭の項目詳細情報アドレス72で表される。
項目詳細情報73は、項目情報70Aの項目詳細情報である。項目詳細情報73は、項目名731と、項目種732と、領域733と、の情報を有する。項目名731は、項目詳細情報アドレス72の項目詳細情報の出力項目の名称である。項目種732は、項目詳細情報アドレス72の項目詳細情報の出力項目の種類であり、例えば文字、数値、日時である。領域733は、項目詳細情報アドレス72の項目詳細情報の出力項目の矩形領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。
明細情報アドレス74は、明細情報70Bのアドレス情報である。明細情報75は、明細情報アドレス74の繰返領域の項目詳細情報以外の明細領域に関する情報を有する。明細情報75は、明細領域751と、繰返領域752と、移動量753と、項目情報アドレス754と、の情報を有する。明細領域751は、明細情報アドレス74の明細領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。繰返領域752は、明細情報アドレス74の明細領域の繰返領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。移動量753は、明細情報アドレス74の明細領域の繰返領域のY軸方向の繰り返しの幅の値である。項目情報アドレス754は、明細情報アドレス74の明細領域の繰返領域の項目詳細情報アドレス76のアドレス情報である。項目詳細情報アドレス76は、明細情報アドレス74の明細領域の繰返領域の項目詳細情報77のアドレス情報である。項目情報アドレス754は、例えば、含まれる先頭の項目詳細情報アドレス76とされる。
項目詳細情報77は、明細情報アドレス74の明細領域の繰返領域の項目詳細情報である。項目詳細情報77は、項目名771と、項目種772と、領域773と、の情報を有する。項目名771は、項目詳細情報アドレス76の項目詳細情報の出力項目の名称である。項目種772は、項目詳細情報アドレス76の項目詳細情報の出力項目の種類であり、例えば文字、数値、日付である。領域773は、項目詳細情報アドレス76の項目詳細情報の出力項目の矩形領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。帳票フォーム名78は、帳票フォーム情報70に対応する帳票(フォーム)の名称である。
図7(a)に示すように、入力項目テーブル80は、帳票フォーム情報70のうちの帳票を識別する項目情報(入力項目)を有するテーブルである。入力項目テーブル80は、番号81と、区分82と、文字列83と、のカラムと、帳票フォーム名84と、を有する。番号81は、入力項目テーブル80のレコードの識別番号である。区分82は、番号81に対応する入力項目の区分であり、項目情報に対応する「ページ」又は明細情報に対応する「明細」である。文字列83は、番号81に対応する入力項目の文字列の内容である。帳票フォーム名84は、入力項目の抽出元の帳票(フォーム)の名称である。
図7(b)に示すように、明細領域情報90は、帳票の帳票フォーム情報70から取得した明細領域の情報である。明細領域情報90は、番号91と、明細領域92と、のカラムと、帳票フォーム名93と、を有する。番号91は、明細領域情報90のレコードの識別番号である。明細領域92は、番号91に対応する帳票の明細領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。帳票フォーム名93は、明細領域が含まれる帳票(フォーム)の名称である。
図7(c)に示すように、合致領域情報100は、2つの帳票の帳票フォーム情報70の明細領域が合致する合致領域の情報である。合致領域情報100は、番号101と、合致領域102と、のカラムを有する。番号101は、合致領域情報100のレコードの識別番号である。合致領域102は、番号101に対応する合致領域の左端(X軸)、上端(Y軸)、右端(X軸)、下端(Y軸)の各辺の座標の値である。
図7(d)に示すように、帳票情報テーブル110は、スキャンされ帳票フォーム情報70が生成された帳票の情報のテーブルである。帳票情報テーブル110は、番号111と、帳票フォーム名112と、のカラムを有する。番号111は、帳票情報テーブル110のレコードの識別番号である。帳票フォーム名112は、番号111に対応する帳票の帳票フォーム名である。
図7(e)に示すように、候補リスト120は、帳票情報テーブル110の帳票のうち編集対象帳票に類似する帳票のリスト表示候補としての類似帳票の情報のテーブルである。候補リスト120は、番号121と、帳票フォーム名122と、類似値123と、のカラムを有する。番号121は、候補リスト120のレコードの識別番号である。帳票フォーム名122は、番号121に対応する帳票の帳票フォーム名である。類似値123は、編集対象の帳票の帳票フォームに対する番号121に対する帳票の帳票フォームの類似の度合いを示す値である。
次に、図8〜図25を参照して、帳票管理装置10の動作を説明する。図8は、タイトル文字列抽出処理を示すフローチャートである。図9(a)は、型番文字列抽出処理を示すフローチャートである。図9(b)は、入力項目テーブル作成処理を示すフローチャートである。図10は、帳票フォーム調整処理を示すフローチャートである。図11は、帳票フォーム調整画面200を示す図である。図12は、調整後の帳票フォーム情報70Uを示す図である。
図13は、帳票フォーム編集処理を示すフローチャートである。図14は、候補リスト生成処理を示すフローチャートである。図15は、類似値取得処理を示すフローチャートである。図16(a)は、型番情報合致判定処理を示すフローチャートである。図16(b)は、タイトル情報合致判定処理を示すフローチャートである。図17は、入力項目情報合致判定処理を示すフローチャートである。図18は、明細領域類似値取得処理を示すフローチャートである。図19は、不足項目追加処理を示すフローチャートである。図20は、編集対象帳票選択画面300を示す図である。図21(a)は、編集対象帳票フォームの設定別抽出テーブル60aを示す図である。図21(b)は、編集対象帳票フォームの入力項目テーブル80aを示す図である。図22は、類似帳票選択画面400を示す図である。図23は、更新後の帳票フォーム情報70Uaを示す図である。図24は、不足項目追加時の帳票フォーム修正画面500を示す図である。図25は、修正後の帳票フォーム修正画面500Aを示す図である。
予め、帳票管理装置10が設置された店舗で扱う納品書(控)、納品書、仕入伝票などの全ての種類の帳票の帳票フォーム情報70を作成しておく。ここで、一例として、図5の納品書(控)の帳票の帳票フォーム情報70の作成処理を簡単に説明する。
先ず、帳票管理装置10において、CPU11は、スキャナ部17にセットされた納品書(控)の帳票をスキャンし、図3の背景画像F1の背景画像データを取得する。そして、CPU11は、背景画像F1内の左端、上端、右端、下端の4辺で囲まれた矩形領域及びX軸方向の直線を検出し、直線の上に矩形領域を設定する。そして、CPU11は、Y軸の座標が同じ複数の矩形領域を項目グループ情報としてまとめる。そして、CPU11は、矩形領域を、矩形領域内に文字列を含まない又は年月若しくは年月日以外の文字を有する出力項目と、矩形領域内に中央領域を跨ぐ文字列を有する名称項目とに設定し、Y軸の座標が同じ複数の矩形領域を項目グループ情報としてまとめる。
そして、CPU11は、同一グループの複数の出力項目の矩形領域が、所定の幅及び並び順でX軸方向に並んだ繰返領域と、繰返領域を含み当該繰返領域の矩形領域の各幅及び並び順が同じ項目グループ情報がY軸方向に複数並んだ明細領域とを検出し、繰返領域及び明細領域の情報を明細情報70Bとして記憶部15の帳票フォーム情報70に記憶する。例えば、図6の繰返領域PR1及びの明細情報75、項目詳細情報77などの情報が、明細情報70Bとして帳票フォーム情報70に記憶される。また、繰返領域PR1の項目名771には、繰返領域PR1上の名称項目の矩形領域の文字列が設定される。また、繰返領域PR1のうち、同じ幅で並んだ複数の矩形領域は1つに統合され、同じ項目名の複数の矩形領域がある場合には、それぞれの項目名に識別可能な番号(1、2)が付与される。
そして、CPU11は、明細領域以外の出力項目の矩形領域を検出し、出力項目の矩形領域の情報を項目情報70Aとして帳票フォーム情報70に記憶する。例えば、図6の出力項目T4,T18,T19の項目詳細情報などが帳票フォーム情報70に記憶される。「年」「月」「日」、「様」、「%」の文字を含む出力項目の矩形領域については、文字のみの領域が削除されて矩形領域によっては複数の矩形領域に分割され、当該文字の領域を除き、当該文字を項目名とした出力項目T1〜T3,T5,T17の項目詳細情報などが帳票フォーム情報70に記憶される。
さらに、CPU11は、明細領域以外で、矩形領域を検出し、繰返領域の矩形領域の各幅及び並び順が同じ項目グループ情報であって、少なくとも1つの矩形領域が名称項目である類似領域を検出し、当該類似領域の情報を項目情報70Aとして帳票フォーム情報70に記憶する。例えば、図6の類似領域AN1が検出され、含まれる名称項目の矩形領域の文字列「合計」が繰返領域RP1の出力項目T7〜T11の各項目名に追加されて出力項目T12〜T16の各項目名が作成され、出力項目T12〜T16の作成された項目名を含む項目詳細情報などが項目情報70Aとして帳票フォーム情報70に記憶される。
さらに、CPU11は、操作部12を介してユーザからの帳票フォーム名の入力を受け付け、入力された帳票フォーム名が帳票フォーム情報70に対応付けて記憶される。例えば、図6の帳票フォーム情報70において、入力された帳票フォーム名「納品書(控)」が帳票フォーム名78として含められている。上記の帳票フォーム情報70の作成処理が全ての帳票に対して行われ、全帳票の帳票フォーム情報70と、当該各帳票のスキャンされた背景画像データと、が対応付けられて、記憶部15に記憶されているものとする。
次に、図8を参照して、帳票管理装置10で実行されるタイトル文字列抽出処理を説明する。タイトル文字列抽出処理は、任意の帳票の背景画像データのタイトル抽出領域からタイトルの文字列を抽出する処理である。予め、全帳票の帳票フォーム情報70の作成処理が実行されているものとする。
そして、帳票管理装置10において、例えば、操作部12を介してユーザから文字列を抽出する対象の帳票フォーム名と、タイトル文字列抽出処理の実行指示と、が入力されたことをトリガとして、CPU11は、記憶部15から読み出されて適宜RAM13に展開された帳票管理制御プログラムPの一部との協働により、タイトル文字列抽出処理を実行する。
先ず、CPU11は、入力された帳票フォーム名に対応する帳票の背景画像データを記憶部15から読み出す(ステップS11)。ここでは、一例として、帳票フォーム名が「納品書(控)」の帳票フォーム名が入力された場合を説明する。
そして、CPU11は、抽出領域テーブル20を記憶部15から読み出し、区分22が「タイトル」の抽出領域指定23を用いて、ステップS11で読み出された背景画像データのタイトル抽出領域から文字列を抽出し、当該文字列を含む抽出リスト40を作成して記憶部15に記憶し、区分22が「型番」の抽出領域指定23を用いて、ステップS11で読み出された背景画像データの型番抽出領域から文字列を抽出し、当該文字列を含む抽出リスト50を作成して記憶部15に記憶する(ステップS12)。例えば、抽出リスト40では、タイトル抽出領域TI1から抽出された文字列ごとに付与された番号41と、抽出された文字列42と、が対応付けられる。抽出リスト50では、型番抽出領域TN1から抽出された文字列ごとに付与された番号51と、抽出された文字列52と、が対応付けられる。また、入力された帳票フォーム名が、帳票フォーム名43,53に設定される。
そして、CPU11は、タイトル抽出領域の抽出リスト40から先頭のレコードの文字列42を抽出文字列として取得する(ステップS13)。そして、CPU11は、ステップS13又はS21で取得された抽出文字列があるか否かを判別する(ステップS14)。抽出文字列がない場合(ステップS14;NO)、タイトル文字列抽出処理が終了する。
抽出文字列がある場合(ステップS14;YES)、CPU11は、判定テーブル30を記憶部15から読み出し、判定テーブル30から先頭の文字列33を設定文字列として取得する(ステップS15)。そして、CPU11は、ステップS15又はS19で取得された設定文字列があるか否かを判別する(ステップS16)。設定文字列がある場合(ステップS16;YES)、CPU11は、取得中の設定文字列に対応する区分32が「タイトル」であるか否かを判別する(ステップS17)。
区分32が「タイトル」である場合(ステップS17;YES)、CPU11は、取得中の抽出文字列が取得中の設定文字列を含むか否かを判別する(ステップS18)。区分32が「タイトル」でない場合(ステップS17;NO)、又は設定文字列を含まない場合(ステップS18;NO)、CPU11は、判定テーブル30から次の文字列33を設定文字列として取得し(ステップS19)、ステップS16に移行する。
設定文字列を含む場合(ステップS18;YES)、CPU11は、取得中の抽出文字列の情報を含む設定別抽出テーブル60を記憶部15に記憶する(ステップS20)。ステップS21では、ユニークな番号61が付与され、区分62に「タイトル」が設定され、取得中の抽出文字列が文字列63とされ、番号61、区分62、文字列63が関連付けられて、入力された帳票フォーム名64の設定別抽出テーブル60に記憶される。そして、CPU11は、タイトル抽出領域の抽出リスト40から次のレコードの文字列42を抽出文字列として取得し(ステップS21)、ステップS14に移行する。設定文字列がない場合(ステップS16;NO)、ステップS21に移行される。
次に、図9(a)を参照して、帳票管理装置10で実行される型番文字列抽出処理を説明する。型番文字列抽出処理は、任意の帳票の背景画像データの型番抽出領域から型番の文字列を抽出する処理である。予め、全帳票の帳票フォーム情報70の作成処理、タイトル文字列抽出処理が実行されているものとする。
そして、帳票管理装置10において、例えば、操作部12を介してユーザから文字列を抽出する対象の帳票フォーム名と、型番文字列抽出処理の実行指示と、が入力されたことをトリガとして、CPU11は、記憶部15から読み出されて適宜RAM13に展開された帳票管理制御プログラムPの一部との協働により、型番文字列抽出処理を実行する。
先ず、CPU11は、入力された帳票フォーム名に対応する型番抽出領域の抽出リスト50を記憶部15から読み出す(ステップS30)。ここでは、一例として、帳票フォーム名が「納品書(控)」の帳票フォーム名が入力された場合を説明する。
そして、CPU11は、型番抽出領域の抽出リスト50から先頭のレコードの文字列52を抽出文字列として取得する(ステップS31)。そして、CPU11は、ステップS31又はS39で取得された抽出文字列があるか否かを判別する(ステップS32)。抽出文字列がない場合(ステップS32;NO)、型番文字列抽出処理が終了する。
抽出文字列がある場合(ステップS32;YES)、CPU11は、判定テーブル30を記憶部15から読み出し、判定テーブル30から先頭の文字列33を設定文字列として取得する(ステップS33)。そして、CPU11は、ステップS33又はS37で取得された設定文字列があるか否かを判別する(ステップS34)。設定文字列がある場合(ステップS34;YES)、CPU11は、取得中の設定文字列に対応する区分32が「型番」であるか否かを判別する(ステップS35)。
区分32が「型番」である場合(ステップS35;YES)、CPU11は、取得中の抽出文字列が取得中の設定文字列を含むか否かを判別する(ステップS36)。区分32が「型番」でない場合(ステップS35;NO)、又は設定文字列を含まない場合(ステップS36;NO)、CPU11は、判定テーブル30から次の文字列33を設定文字列として取得し(ステップS37)、ステップS34に移行する。
設定文字列を含む場合(ステップS36;YES)、CPU11は、取得中の抽出文字列の情報を含む設定別抽出テーブル60を記憶部15に記憶する(ステップS38)。ステップS38では、ユニークな番号61が付与され、区分62に「型番」が設定され、取得中の抽出文字列が文字列63とされ、番号61、区分62、文字列63が関連付けられて、入力された帳票フォーム名64の設定別抽出テーブル60に記憶される。そして、CPU11は、型番抽出領域の抽出リスト50から次のレコードの文字列52を抽出文字列として取得し(ステップS39)、ステップS32に移行する。設定文字列がない場合(ステップS34;NO)、ステップS39に移行される。
次に、図9(b)を参照して、帳票管理装置10で実行される入力項目テーブル作成処理を説明する。入力項目テーブル作成処理は、任意の帳票の帳票フォーム情報70から当該帳票を識別するための入力項目テーブル80を作成する処理である。予め、全帳票の帳票フォーム情報70の作成処理が実行されているものとする。
そして、帳票管理装置10において、例えば、操作部12を介してユーザから文字列を抽出する対象の帳票フォーム名と、入力項目テーブル作成処理の実行指示と、が入力されたことをトリガとして、CPU11は、記憶部15から読み出されて適宜RAM13に展開された帳票管理制御プログラムPの一部との協働により、入力項目テーブル作成処理を実行する。
先ず、CPU11は、入力された帳票フォーム名78を含む帳票フォーム情報70を記憶部15から読み出し、項目情報70Aの先頭の項目詳細情報73を項目詳細情報d1として取得する(ステップS41)。ここでは、一例として、帳票フォーム名が「納品書(控)」の帳票フォーム名が入力された場合を説明する。
そして、CPU11は、ステップS41又はS45で取得された項目詳細情報d1があるか否かを判別する(ステップS42)。項目詳細情報d1がある場合(ステップS42;YES)、CPU11は、取得中の項目詳細情報d1の項目名731があるか否かを判別する(ステップS43)。
項目名731がある場合(ステップS43;YES)、CPU11は、取得中の項目詳細情報d1の項目名731を区分;ページで含む入力項目テーブル80を記憶部15に記憶する(ステップS44)。ステップS44では、ユニークな番号81が付与され、区分82に「ページ」が設定され、取得中の項目詳細情報d1の項目名731が文字列83とされ、番号81、区分82、文字列83が関連付けられて、入力された帳票フォーム名84の入力項目テーブル80に記憶される。そして、CPU11は、ステップS41の項目情報70Aの次の項目詳細情報73を項目詳細情報d1として取得し(ステップS45)、ステップS42に移行する。項目名731がない場合(ステップS43;NO)、ステップS45に移行される。
項目詳細情報d1がない場合(ステップS42;NO)、CPU11は、ステップS41で読み出された帳票フォーム情報70の明細情報70Bの先頭の項目詳細情報77を項目詳細情報d2として取得する(ステップS46)。そして、CPU11は、ステップS46又はS50で取得された項目詳細情報d2があるか否かを判別する(ステップS47)。項目詳細情報d2がある場合(ステップS47;YES)、CPU11は、取得中の項目詳細情報d2の項目名771があるか否かを判別する(ステップS48)。
項目名771がある場合(ステップS48;YES)、CPU11は、取得中の項目詳細情報d2の項目名771を区分;明細で含む入力項目テーブル80を記憶部15に記憶する(ステップS49)。ステップS49では、ユニークな番号81が付与され、区分82に「明細」が設定され、取得中の項目詳細情報d2の項目名771が文字列83とされ、番号81、区分82、文字列83が関連付けられて、入力された帳票フォーム名84の入力項目テーブル80に記憶される。そして、CPU11は、明細情報70Bの次の項目詳細情報73を項目詳細情報d2として取得し(ステップS50)、ステップS47に移行する。項目名771がない場合(ステップS48;NO)、ステップS50に移行される。
上記のように、帳票フォーム情報70の作成処理、タイトル文字列抽出処理、型番文字列抽出処理、入力項目テーブル作成処理が、全帳票について実行され、全帳票についての背景画像データ、設定別抽出テーブル60、帳票フォーム情報70及び入力項目テーブル80が記憶部15に記憶されているものとする。
次いで、図10〜図12を参照して、帳票管理装置10で実行される帳票フォーム調整処理を説明する。帳票フォーム調整処理は、任意の帳票の帳票フォームに出力項目を追加して帳票フォーム情報を更新する処理である。予め、全帳票の帳票フォーム情報70の作成処理が実行されているものとする。
そして、帳票管理装置10において、例えば、操作部12を介してユーザから出力項目を追加する対象の帳票フォーム名と、帳票フォーム調整処理の実行指示と、が入力されたことをトリガとして、CPU11は、記憶部15から読み出されて適宜RAM13に展開された帳票管理制御プログラムPの一部との協働により、帳票フォーム調整処理を実行する。
図10に示すように、先ず、CPU11は、入力された帳票フォーム名78を含む帳票フォーム情報70及び背景画像データを記憶部15から読み出し、帳票フォーム情報70に基づく情報記入欄となる出力項目、繰返領域及び明細領域を背景画像データ上に表示した帳票フォーム画像を含む帳票フォーム調整画面データを作成して表示部14に表示する(ステップS61)。ここでは、一例として、帳票フォーム名が「納品書(控)」の帳票フォーム名が入力された場合を説明する。ステップS61では、例えば、図11に示す帳票フォーム調整画面200の帳票フォーム調整画面データが表示される。
帳票フォーム調整画面200は、選択領域210と、帳票フォーム画像表示領域220と、を有する。選択領域210は、文字項目追加ボタン211と、数値項目追加ボタン212と、日時項目追加ボタン213と、終了ボタン214と、を有する。文字項目追加ボタン211は、入力される情報の項目種が「文字」の出力項目の追加入力を受け付けるコマンド実行ボタンである。数値項目追加ボタン212は、入力される情報の項目種が「数値」の出力項目の追加入力を受け付けるコマンド実行ボタンである。日時項目追加ボタン213は、入力される情報の項目種が「日時」の出力項目の追加入力を受け付けるコマンド実行ボタンである。終了ボタン214は、帳票フォーム調整処理の終了実行を受け付けるボタンである。
帳票フォーム画像表示領域220は、入力された帳票フォーム名の帳票の背景画像と、背景画像上に配置された出力項目、繰返領域及び明細領域を含む帳票フォーム画像221の表示領域である。例えば、帳票フォーム画像221は、図5の帳票フォーム情報70に基づき、図6に示す納品書(控)の背景画像F1の上に、出力項目T1〜T19、繰返領域RP1、明細領域SP1が配置された画像となる。
そして、CPU11は、操作部12を介して、ユーザから文字項目追加ボタン211、数値項目追加ボタン212、日時項目追加ボタン213又は終了ボタン214の入力があるか否かを判別する(ステップS62)。入力がない場合(ステップS62;NO)、ステップS62に移行される。入力がある場合(ステップS62;NO)、CPU11は、ステップS62の入力が終了ボタン214の入力か否かを判別する(ステップS63)。終了ボタン214の入力である場合(ステップS63;YES)、帳票フォーム調整処理が終了する。
終了ボタン214の入力でない場合(ステップS63;NO)、CPU11は、帳票フォーム情報70に追加するための項目詳細情報を作成する(ステップS64)。そして、CPU11は、ステップS62の入力が文字項目追加ボタン211、数値項目追加ボタン212、日時項目追加ボタン213のいずれの入力かを判別する(ステップS65)。
文字項目追加ボタン211の入力である場合(ステップS65;文字)、CPU11は、ステップS64で作成された項目詳細情報の項目種(項目種732又は772)に「文字」を設定する(ステップS66)。数値項目追加ボタン212の入力である場合(ステップS65;数値)、CPU11は、ステップS64で作成された項目詳細情報の項目種(項目種732又は772)に「数値」を設定する(ステップS67)。日時項目追加ボタン213の入力である場合(ステップS65;日時)、CPU11は、ステップS64で作成された項目詳細情報の項目種(項目種732又は772)に「日時」を設定する(ステップS68)。
そして、CPU11は、範囲入力用のカーソルを帳票フォーム画像表示領域220上に表示する(ステップS69)。そして、CPU11は、操作部12を介して、ユーザからのカーソルを用いた追加する出力項目の範囲の入力を受け付ける(ステップS70)。そして、CPU11は、ステップS64で作成された項目詳細情報の領域(領域733又は773)にステップS70で入力された範囲の4辺の座標(左端、上端、右端、下端)を設定する(ステップS71)。
そして、CPU11は、ステップS70で入力された範囲の上に、項目名入力領域を表示する(ステップS72)。そして、CPU11は、操作部12を介して、ユーザからのステップS72で表示された項目名入力領域への追加する出力項目の項目名の入力を受け付ける(ステップS73)。そして、CPU11は、ステップS64で作成された項目詳細情報の項目名(項目名731又は771)にステップS73で入力された項目名を設定する(ステップS72)。
そして、CPU11は、取得中の帳票フォーム情報70の明細領域751を参照して、ステップS70で入力された範囲が、帳票フォーム画像221の明細領域内であるか否かを判別する(ステップS75)。明細領域内である場合(ステップS75;YES)、CPU11は、取得中の帳票フォーム情報70の明細情報70Bを拡張し、新たな項目詳細情報アドレス76を設定し、項目情報アドレス754、項目詳細情報アドレス76、ステップS64で作成された項目詳細情報77を関連付けて、調整(編集)後の帳票フォーム情報70を帳票フォーム情報70Uとして記憶部15に記憶し(ステップS76)、ステップS62に移行する。
明細領域内でない場合(ステップS75;NO)、CPU11は、取得中の帳票フォーム情報70の項目情報70Aを拡張し、新たな項目詳細情報アドレス72を設定し、項目情報アドレス71、項目詳細情報アドレス72、ステップS64で作成された項目詳細情報73を関連付けて、調整(編集)後の帳票フォーム情報70を帳票フォーム情報70Uとして記憶部15に記憶し(ステップS77)、ステップS62に移行する。
例えば、帳票フォーム調整処理により、図5の帳票フォーム情報70において、図11に示す項目名が「担当者」の出力項目222と、項目名が「住所」の出力項目223と、が追加された場合に、図12に示すように、項目情報70Aに出力項目222,223に対応する2つのレコードR1が追加された調整後の帳票フォーム情報70Uが、記憶部15の帳票管理データベースDに記憶される。
次いで、図13〜図25を参照して、帳票管理装置10で実行される帳票フォーム編集処理を説明する。帳票フォーム編集処理は、任意の編集対象の帳票(編集対象帳票)の帳票フォームに類似した帳票(類似帳票)の帳票フォームから、編集対象帳票の帳票フォームに不足している出力項目を取得して編集対象帳票の帳票フォームに自動的に設定して編集を行う処理である。予め、全帳票の帳票フォーム情報70の作成処理、タイトル文字列抽出処理、型番文字列抽出処理及び入力項目テーブル作成処理が実行されており、調整対象の帳票の帳票フォーム調整処理が実行されているものとする。
そして、帳票管理装置10において、例えば、操作部12を介してユーザから帳票フォーム編集処理の実行指示が入力されたことをトリガとして、CPU11は、記憶部15から読み出されて適宜RAM13に展開された帳票管理制御プログラムPの一部との協働により、帳票フォーム編集処理を実行する。
図13に示すように、先ず、CPU11は、記憶部15に記憶された全帳票の帳票フォーム情報70及びその背景画像データを用いて、全帳票(フォーム)から編集対象の帳票(フォーム)を選択するための編集対象帳票選択画面データを生成して表示部14に表示する(ステップS81)。ステップS81では、例えば、図20に示す編集対象帳票選択画面300の編集対象帳票選択画面データが生成される。
編集対象帳票選択画面300は、編集対象帳票画像一覧領域310と、編集対象帳票フォームのプレビュー表示領域320と、類似帳票フォームのプレビュー表示領域330と、を有する。編集対象帳票画像一覧領域310は、全帳票の背景画像311と、選択枠312と、選択ボタン313と、取消ボタン314と、を有する。
背景画像311は、記憶部15に記憶されている全帳票の背景画像データの背景画像であり、各帳票の帳票フォーム名78とともに表示される。選択枠312は、背景画像311を囲む1つの選択枠であり、操作部12を介する移動操作により各背景画像311を移動される。選択ボタン313は、選択枠312で囲まれ選択された背景画像311の編集対象帳票フォームの選択実行を受け付けるボタンである。取消ボタン314は、選択枠312で囲まれ選択された背景画像311の編集対象帳票フォームの選択の取消実行を受け付けるボタンである。
プレビュー表示領域320は、選択枠312で囲まれ選択された背景画像311を拡大したプレビュー画像321を表示する領域である。プレビュー表示領域330は、後述する類似帳票フォームのプレビュー画像を表示する領域であり、この時点では空欄となる。
そして、CPU11は、操作部12を介して、ユーザからのステップS81で表示された編集対象帳票選択画面300に対応する入力を受け付ける(ステップS82)。そして、CPU11は、ステップS82で入力された入力が、選択枠312の移動による帳票フォームの選択、取消ボタン314のクリック入力、又は選択ボタン313のクリック入力のいずれであるかを判別する(ステップS83)。帳票フォームの選択である場合(ステップS83;帳票選択)、CPU11は、選択された帳票フォームの帳票フォーム名の背景画像データを編集対象帳票フォームとしてプレビュー表示領域320にプレビュー表示し(ステップS84)、ステップS81に移行する。
取消ボタン314のクリック入力である場合(ステップS83;取消)、CPU11は、プレビュー表示領域320への編集対象帳票フォームのプレビュー表示を取り消し(ステップS85)、ステップS81に移行する。選択ボタン313のクリック入力である場合(ステップS83;選択実行)、CPU11は、候補リスト作成処理を実行する(ステップS86)。
ここで、図14を参照して、ステップS86の候補リスト作成処理を説明する。図14に示すように、先ず、CPU11は、記憶部15に記憶されている編集対象帳票以外の全帳票の帳票フォーム情報70の帳票フォーム名78を用いて、帳票情報テーブル110を作成して記憶部15に記憶する(ステップS101)。ステップS101では、例えば、編集対象帳票以外の全帳票のそれぞれにユニークな識別番号が番号111として付与され、番号111に対応する帳票フォーム名78が帳票フォーム名112として設定されて図7(a)に示す帳票情報テーブル110が作成される。
そして、CPU11は、ステップS81で作成された帳票情報テーブル110から先頭のレコードを帳票情報として取得する(ステップS102)。そして、ステップS102又はS106で取得された帳票情報の帳票フォーム名112があるか否かを判別する(ステップS103)。帳票フォーム名がない場合(ステップS103;NO)、候補リスト生成処理が終了する。帳票フォーム名がある場合(ステップS103;YES)、CPU11は、類似値取得処理を実行する(ステップS104)。
ここで、図15を参照して、ステップS104の類似値取得処理を説明する。図15に示すように、先ず、CPU11は、ステップS82で選択された編集対象帳票フォーム(帳票フォームFaとする)と、ステップS102又はS106で取得中の帳票情報の帳票フォーム(帳票フォームFb)との類似の度合いを示す類似値を0に設定する(ステップS121)。ここでは、一例として、類似値が1000点満点の値とする。
そして、CPU11は、帳票フォームFa,Fbの情報(タイトル、型番の設定別抽出テーブルの情報、入力項目テーブルの情報)の合致の数を示す合致数を0に設定する(ステップS122)。そして、CPU11は、型番情報合致判定処理を実行する(ステップS123)。
ここで、図16(a)を参照して、ステップS123の型番情報合致判定処理を説明する。図16(a)に示すように、先ず、CPU11は、記憶部15の編集対象帳票の帳票フォームFaに対応する帳票フォーム名64の設定別抽出テーブル60を読み出し、区分62が「型番」のレコードを型番情報として取得する(ステップS141)。ステップS141では、例えば、図21(a)に示す仕入伝票の設定別抽出テーブル60aが読み出される。そして、CPU11は、ステップS141で取得された帳票フォームFaの型番情報があるか否かを判別する(ステップS142)。
帳票フォームFaの型番情報がない場合(ステップS142;NO)、型番情報合致判定処理が終了する。帳票フォームFaの型番情報がある場合(ステップS142;YES)、CPU11は、記憶部15のステップS102又はS106で取得された帳票の帳票フォームFbに対応する帳票フォーム名64の設定別抽出テーブル60を読み出し、区分62が「型番」のレコードを型番情報として取得する(ステップS143)。ステップS143では、例えば、図2(e)に示す納品書(控)などの設定別抽出テーブル60が読み出される。そして、CPU11は、ステップS143で取得された帳票フォームFbの型番情報があるか否かを判別する(ステップS144)。
帳票フォームFbの型番情報がない場合(ステップS144;NO)、型番情報合致判定処理が終了する。帳票フォームFbの型番情報がある場合(ステップS144;YES)、CPU11は、ステップS141で取得された帳票フォームFaの型番情報の文字列63と、ステップS143で取得された帳票フォームFbの型番情報の文字列63と、が一致するか否かを判別する(ステップS145)。
型番情報の文字列63が一致しない場合(ステップS145;NO)、型番情報合致判定処理が終了する。型番情報の文字列63が一致する場合(ステップS145;YES)、CPU11は、帳票フォームFa,Fbの合致数を+1して設定し(ステップS146)、型番情報合致判定処理を終了する。
図15に戻り、ステップS123の実行後、CPU11は、帳票フォームFa,Fbの合致数が1であるか否かを判別する(ステップS124)。合致数が1である場合(ステップS124;YES)、帳票フォームFa,Fbが同じ型番の帳票フォームであり、CPU11は、帳票フォームFa,Fbの類似値に1000を設定し(ステップS125)、類似値取得処理を終了する。
合致数が1でない場合(ステップS124;NO)、帳票フォームFa,Fbが同じ型番の帳票フォームでなく、CPU11は、帳票フォームFa,Fbの合致数を0に設定する(ステップS126)。そして、CPU11は、タイトル情報合致判定処理を実行する(ステップS127)。
ここで、図16(b)を参照して、ステップS127のタイトル情報合致判定処理を説明する。図16(b)に示すように、先ず、CPU11は、記憶部15の編集対象帳票の帳票フォームFaに対応する帳票フォーム名64の設定別抽出テーブル60を読み出し、区分62が「タイトル」のレコードを型番情報として取得する(ステップS151)。そして、CPU11は、ステップS151で取得された帳票フォームFaのタイトル情報があるか否かを判別する(ステップS152)。
帳票フォームFaのタイトル情報がない場合(ステップS152;NO)、タイトル情報合致判定処理が終了する。帳票フォームFaのタイトル情報がある場合(ステップS152;YES)、CPU11は、記憶部15のステップS102又はS106で取得された帳票の帳票フォームFbに対応する帳票フォーム名64の設定別抽出テーブル60を読み出し、区分62が「タイトル」のレコードをタイトル情報として取得する(ステップS153)。そして、CPU11は、ステップS153で取得された帳票フォームFbのタイトル情報があるか否かを判別する(ステップS154)。
帳票フォームFbのタイトル情報がない場合(ステップS154;NO)、タイトル情報合致判定処理が終了する。帳票フォームFbの型番情報がある場合(ステップS154;YES)、CPU11は、ステップS151で取得された帳票フォームFaのタイトル情報の文字列63と、ステップS153で取得された帳票フォームFbのタイトル情報の文字列63と、が一致するか否かを判別する(ステップS155)。
タイトル情報の文字列63が一致しない場合(ステップS155;NO)、タイトル情報合致判定処理が終了する。タイトル情報の文字列63が一致する場合(ステップS155;YES)、CPU11は、帳票フォームFa,Fbの合致数を+1して設定し(ステップS156)、タイトル情報合致判定処理を終了する。
図15に戻り、ステップS127の実行後、CPU11は、帳票フォームFa,Fbの合致数×100×2(重み係数)を加算値として算出し、算出した加算値を帳票フォームFa,Fbの類似値に加算する(ステップS128)。そして、CPU11は、帳票フォームFa,Fbの合致数を0に設定する(ステップS129)。そして、CPU11は、入力項目情報合致判定処理を実行する(ステップS130)。
ここで、図17を参照して、ステップS130の入力項目情報合致判定処理を説明する。図17に示すように、先ず、CPU11は、記憶部15の編集対象帳票の帳票フォームFaに対応する帳票フォーム名84の入力項目テーブル80を読み出し、先頭のレコードを入力項目情報として取得する(ステップS161)。ステップS161,168では、例えば、図21(b)に示す仕入伝票の入力項目テーブル80aが読み出される。そして、CPU11は、ステップS161又はS168で取得された帳票フォームFaの入力項目情報があるか否かを判別する(ステップS162)。
帳票フォームFaの入力項目情報がない場合(ステップS162;NO)、入力項目情報合致判定処理が終了する。帳票フォームFaの入力項目情報がある場合(ステップS162;YES)、CPU11は、記憶部15のステップS102又はS106で取得された帳票の帳票フォームFbに対応する帳票フォーム名84の入力項目テーブル80を読み出し、先頭のレコードを入力項目情報として取得する(ステップS163)。ステップS163,S167では、例えば、図7(a)に示す納品書(控)の入力項目テーブル80が読み出される。
そして、CPU11は、ステップS163又はS167で取得された帳票フォームFbの入力項目情報があるか否かを判別する(ステップS164)。帳票フォームFbの入力項目情報がある場合(ステップS164;YES)、CPU11は、取得中の帳票フォームFaの入力項目情報の区分82及び文字列83と、取得中の帳票フォームFbの入力項目情報の区分82及び文字列83と、が一致するか否かを判別する(ステップS165)。
帳票フォームFa,Fbの入力項目情報の区分82及び文字列83が一致する場合(ステップS165;YES)、CPU11は、帳票フォームFa,Fbの合致数を+1して設定する(ステップS166)。そして、CPU11は、帳票フォームFbに対応する帳票フォーム名84の入力項目テーブル80の次のレコードを入力項目情報として取得し(ステップS167)、ステップS164に移行する。帳票フォームFa,Fbの入力項目情報の区分82及び文字列83が一致しない場合(ステップS165;NO)、ステップS167に移行される。
帳票フォームFbの入力項目情報がない場合(ステップS164;NO)、CPU11は、帳票フォームFaに対応する帳票フォーム名84の入力項目テーブル80の次のレコードを入力項目情報として取得し(ステップS168)、ステップS162に移行する。
図15に戻り、ステップS130の実行後、CPU11は、ステップS130で参照された帳票フォームFaの入力項目テーブル80から、入力項目情報(レコード)の数を入力項目情報数として取得する(ステップS131)。そして、CPU11は、(帳票フォームFa,Fbの合致数/(ステップS131で取得された帳票フォームFaの入力項目情報数)×100)×5(重み付け係数)を加算値として算出し、算出した加算値を帳票フォームFa,Fbの類似値に加算する(ステップS132)。そして、CPU11は、明細領域類似値取得処理を実行する(ステップS133)。
ここで、図18を参照して、ステップS133の明細領域類似値取得処理を説明する。図18に示すように、先ず、CPU11は、記憶部15の編集対象帳票の帳票フォームFaに対応する帳票フォーム名78の帳票フォーム情報70を読み出し、明細情報70Bの明細領域751を明細領域情報として取得する(ステップS171)。ステップS171では、例えば、帳票フォームFaの番号91、読み出した明細領域92、編集対象帳票の納品書(控)の帳票フォーム名93を有する明細領域情報90が作成され、記憶部15に記憶される。
そして、CPU11は、記憶部15のステップS102又はS106で取得された帳票の帳票フォームFbに対応する帳票フォーム名78の帳票フォーム情報70を読み出し、明細情報70Bの明細領域751を明細領域情報として取得する(ステップS172)。ステップS172では、例えば、図7(b)に示すように、納品書(控)の帳票フォームFbの番号91、読み出した明細領域92、ステップS102又はS106で取得された帳票の帳票フォーム名93を有する明細領域情報90が作成され、記憶部15に記憶される。
そして、CPU11は、ステップS171で取得された帳票フォームFaの明細領域情報と、ステップS172で取得された帳票フォームFbの明細領域情報との両方があるか否かを判別する(ステップS173)。帳票フォームFa,Fbの明細領域情報の両方はない場合(ステップS173;YES)、CPU11は、ステップS171で取得された帳票フォームFaの明細領域情報と、ステップS172で取得された帳票フォームFbの明細領域情報との両方がないか否かを判別する(ステップS174)。
帳票フォームFa,Fbの明細領域情報のいずれか1つがある場合(ステップS174;NO)、明細領域類似値取得処理を終了する。帳票フォームFa,Fbの明細領域情報のいずれもない場合(ステップS174;YES)、CPU11は、帳票フォームFa,Fbの類似値に300を設定し(ステップS175)、明細領域類似値取得処理を終了する。類似値の満点の1000中で、明細領域情報に関する類似値の満点を300としている。帳票フォームFa,Fbともに明細領域がなく、合致しているからである。この300は、明細領域情報について重み係数を3に設定したことに対応する。
帳票フォームFa,Fbの明細領域情報の両方がある場合(ステップS173;YES)、CPU11は、取得中の帳票フォームFa,Fbの明細領域情報の領域の左端のうち、大きい方を帳票フォームFa,Fbの合致領域の左端に設定する(ステップS176)。合致領域とは、帳票フォームFaの明細領域と帳票フォームFbの明細領域とで重なる領域である。ステップS176では、例えば、図7(c)に示す番号101、合致領域102のカラムを有する合致領域情報100が作成されて記憶部15に記憶され、合致領域102の領域の左端が設定される。
そして、CPU11は、取得中の帳票フォームFa,Fbの明細領域情報の領域の上端のうち、大きい方を合致領域の上端に設定する(ステップS177)。ステップS177では、例えば、合致領域情報100の合致領域102の領域の上端が設定される。そして、CPU11は、取得中の帳票フォームFa,Fbの明細領域情報の領域の右端のうち、小さい方を合致領域の右端に設定する(ステップS178)。ステップS178では、例えば、合致領域情報100の合致領域102の領域の右端が設定される。そして、CPU11は、取得中の帳票フォームFa,Fbの明細領域情報の領域の下端のうち、小さい方を合致領域の下端に設定する(ステップS179)。ステップS179では、例えば、合致領域情報100の合致領域102の領域の下端が設定される。
そして、CPU11は、ステップS178で算出された合致領域の右端が、ステップS176で算出された合致領域の左端よりも大きいか否かを判別する(ステップS180)。合致領域の右端>左端でない場合(ステップS180;NO)、X軸方向に帳票フォームFa,Fbの明細領域が重なっていないことを示し、CPU11は、帳票フォームFa,Fbの類似値に50を設定し(ステップS182)、明細領域類似値取得処理を終了する。
合致領域の右端>左端である場合(ステップS180;YES)、X軸方向に帳票フォームFa,Fbの明細領域が重なっていることを示し、CPU11は、ステップS179で算出された合致領域の下端が、ステップS177で算出された合致領域の上端よりも大きいか否かを判別する(ステップS181)。合致領域の下端>上端でない場合(ステップS181;NO)、Y軸方向に帳票フォームFa,Fbの明細領域が重なっていないことを示し、ステップS82に移行される。
合致領域の下端>上端である場合(ステップS181;YES)、Y軸方向に帳票フォームFa,Fbの明細領域が重なっていることを示し、CPU11は、合致領域の((右端−左端)×(下端−上端))により、合致領域の面積を算出する(ステップS183)。そして、CPU11は、帳票Faの明細領域の((右端−左端)×(下端−上端))により、帳票Faの明細領域の面積を算出する(ステップS184)。
そして、CPU11は、(ステップS183で算出された合致領域の面積)/(ステップS184で算出された帳票Faの明細領域の面積)×100により、帳票Faの明細領域の合致率を算出する(ステップS185)。そして、CPU11は、((ステップS185で算出された合致率)×2.5)+50)を算出し、算出値を帳票フォームFa,Fbの類似値に設定し(ステップS186)、明細領域類似値取得処理を終了する。
類似値における重み付けは、型番を最優先とし、タイトル(重み付け係数=2)、明細領域情報(合致領域の情報)(重み付け係数=3)、入力項目情報(重み付け係数=5)の順に優先順が設定されている。というのは、タイトルは、同じタイトル名でも縦向き、横向きのものがあり、入力項目情報は、帳票フォーム情報の差分の情報だからである。また、明細領域情報は、タイトルと入力項目情報との間の優先順とした。しかし、この例に限定されるものではない。
図15に戻り、ステップS133の実行後、CPU11は、ステップS133で算出された帳票フォームFa,Fbの類似値を、ステップS133の実行前の帳票フォームFa,Fbの類似値に加算し、加算した値を最終的な帳票フォームFa,Fbの類似値に設定し(ステップS134)、類似値取得処理を終了する。
図14に戻り、ステップS104の実行後、CPU11は、ステップS104の類似値取得処理で取得された類似値が0より大きいか否かを判別する(ステップS105)。類似値>0でない場合(ステップS105;NO)、帳票フォームFa,Fbが類似しておらず、CPU11は、ステップS81で作成された帳票情報テーブル110から次のレコードを帳票情報として取得し(ステップS106)、ステップS103に移行する。
類似値>0の場合(ステップS105;YES)、帳票フォームFa,Fbが類似しており、CPU11は、作成中の候補リストから先頭のレコードを候補情報として取得する(ステップS107)。初めてステップS107が実行される場合、CPU11は、候補リストを作成して記憶部15に記憶する。この候補リストは、例えば、図7(f)に示される候補リスト120である。ただし、後述するステップS109,S112が実行されるまでは、候補リスト120にレコードが格納されていない状態となり、ステップS107でも候補情報が取得されない。
そして、CPU11は、ステップS107又はS111で取得された候補情報があるか否かを判別する(ステップS108)。候補情報がない場合(ステップS108;NO)、CPU11は、候補リスト120の候補情報の末尾のレコードに、ステップS102又はS106で取得された帳票情報及びステップS104で取得された帳票情報の類似値を挿入し(ステップS109)、ステップS106に移行する。ステップS109では、候補リスト120の末尾となるユニークな番号が付与され、付与された番号、帳票情報の帳票フォーム名112及びステップS104で取得された帳票情報の類似値が、候補リスト120の末尾のレコードの番号121、帳票フォーム名122及び類似値123に設定される。
候補情報がある場合(ステップS108;YES)、CPU11は、ステップS104で取得された帳票情報の類似値が、ステップS107又はS111で取得された候補情報の類似値123よりも小さいか否かを判別する(ステップS110)。帳票情報の類似値<候補情報の類似値123である場合(ステップS110;YES)、CPU11は、作成中の候補リスト120から次のレコードを候補情報として取得し(ステップS111)、ステップS108に移行する。帳票情報の類似値<候補情報の類似値123でない場合(ステップS110;NO)、CPU11は、候補リスト120の候補情報の一つ上の番号121のレコードに、ステップS102又はS106で取得された帳票情報及びステップS104で取得された帳票情報の類似値を挿入し(ステップS112)、ステップS106に移行する。
図13に戻り、ステップS86の実行後、CPU11は、ステップS86で作成された候補リスト120、候補リスト120の帳票の帳票フォーム情報70U(調整後の帳票フォーム情報70Uがない帳票は帳票フォーム情報70)を用いて、類似帳票選択画面データを生成して表示部14に表示する(ステップS87)。ステップS87では、例えば、図22に示す類似帳票選択画面400の類似帳票選択画面データが生成される。
類似帳票選択画面400は、類似帳票フォーム一覧領域410と、編集対象帳票フォームのプレビュー表示領域420と、類似帳票フォームのプレビュー表示領域430と、を有する。類似帳票フォーム一覧領域410は、候補リスト120の候補帳票の帳票フォーム画像411と、選択枠412と、選択ボタン413と、取消ボタン414と、を有する。
帳票フォーム画像411は、記憶部15に記憶されている候補リスト120の類似帳票(編集対象帳票フォームに類似している帳票フォーム)の背景画像データの背景画像上に、類似帳票の調整後の帳票フォーム情報70U(調整後の帳票フォーム情報70Uがない帳票は帳票フォーム情報70)に基づく出力項目、繰返領域、明細領域が表示された帳票フォーム画像であり、各類似帳票の帳票フォーム名78とともに表示される。類似帳票フォーム一覧領域410内の帳票フォーム画像411の帳票フォームの並び順は、候補リスト120の番号121の順(類似値123の高い順)に並べられている。このため、ユーザは、類似値が高い帳票フォームを容易に選択入力可能である。
選択枠412は、帳票フォーム画像411を囲む1つの選択枠であり、操作部12を介する移動操作により各帳票フォーム画像411を移動される。選択ボタン413は、選択枠412で囲まれ選択された帳票フォーム画像411の候補帳票フォームの選択実行を受け付けるボタンである。取消ボタン414は、選択枠412で囲まれ選択された帳票フォーム画像411の候補帳票フォームの選択の取消実行を受け付けるボタンである。
プレビュー表示領域420は、プレビュー表示領域320と同様に、編集対象帳票フォーム421のプレビュー画像を表示する領域である。プレビュー表示領域430は、選択枠412で囲まれ選択された類似帳票の帳票フォーム画像411を拡大したプレビュー画像431を表示する領域である。
そして、CPU11は、操作部12を介して、ユーザからのステップS87で表示された類似帳票選択画面400に対応する入力を受け付ける(ステップS88)。そして、CPU11は、ステップS88で入力された入力が、選択枠412の移動による帳票フォームの選択、取消ボタン414のクリック入力、又は選択ボタン413のクリック入力のいずれであるかを判別する(ステップS89)。帳票フォームの選択である場合(ステップS89;帳票選択)、CPU11は、選択された類似帳票の帳票フォーム名の帳票フォーム画像データを類似帳票フォームとしてプレビュー表示領域430にプレビュー表示し(ステップS90)、ステップS87に移行する。
取消ボタン414のクリック入力である場合(ステップS89;取消)、CPU11は、プレビュー表示領域430への類似帳票フォームのプレビュー表示を取り消し(ステップS91)、ステップS87に移行する。選択ボタン413のクリック入力である場合(ステップS89;選択実行)、CPU11は、不足項目追加処理を実行する(ステップS92)。
ここで、図19を参照して、ステップS92の不足項目追加処理を説明する。図19に示すように、先ず、CPU11は、記憶部15のステップS81で選択された編集対象帳票の帳票フォームFaに対応する帳票フォーム名78の帳票フォーム情報70の項目情報70Aから先頭の項目詳細情報73を項目詳細情報d3として取得する(ステップS191)。そして、CPU11は、ステップS191又はS197で取得された帳票フォームFaの項目詳細情報d3があるか否かを判別する(ステップS192)。
帳票フォームFaの項目詳細情報d3がある場合(ステップS192;YES)、CPU11は、記憶部15の類似帳票の帳票フォームFbに対応する帳票フォーム名78の帳票フォーム情報70U(調整後の帳票フォーム情報70Uがない帳票は未調整の帳票フォーム情報70)の項目情報70Aから先頭の項目詳細情報73を項目詳細情報d4として取得する(ステップS193)。そして、CPU11は、ステップS193又はS196で取得された帳票フォームFbの項目詳細情報d4があるか否かを判別する(ステップS194)。
帳票フォームFbの項目詳細情報d4がある場合(ステップS194;YES)、CPU11は、帳票フォームFaの項目詳細情報d3の項目名731と、帳票フォームFbの項目詳細情報d4の項目名731とが同一であるか否かを判別する(ステップS195)。帳票フォームFa,Fbの項目名731が同一でない場合(ステップS195;NO)、CPU11は、帳票フォームFbに対応する帳票フォーム名78の帳票フォーム情報70U(又は帳票フォーム情報70)の項目情報70Aから次の項目詳細情報73を項目詳細情報d4として取得し(ステップS196)、ステップS194に移行する。
帳票フォームFa,Fbの項目名731が同一でない場合(ステップS195;NO)、CPU11は、帳票フォームFaに対応する帳票フォーム名78の帳票フォーム情報70の項目情報70Aから次の項目詳細情報73を項目詳細情報d3として取得し(ステップS197)、ステップS192に移行する。
帳票フォームFbの項目詳細情報d4がない場合(ステップS194;NO)、CPU11は、取得中の帳票フォームFbの項目詳細情報d4を用いて、帳票フォームFaの編集後の帳票フォーム情報70Uに追加するための項目詳細情報を作成する(ステップS198)。そして、CPU11は、帳票フォームFaの帳票フォーム情報70の項目情報70Aを拡張し、ステップS198で作成された項目詳細情報を追加する(ステップS199)。そして、CPU11は、新たな項目詳細情報アドレス72を設定し、項目情報アドレス71、設定した項目詳細情報アドレス72、ステップS199で追加された項目詳細情報73を関連付け(ステップS200)、ステップS197に移行する。
帳票フォームFaの項目詳細情報d3がない場合(ステップS192;NO)、CPU11は、帳票フォームFaの帳票フォーム情報70の明細情報70Bから先頭の項目詳細情報73を項目詳細情報d5として取得する(ステップS201)。そして、CPU11は、ステップS201又はS207で取得された帳票フォームFaの項目詳細情報d5があるか否かを判別する(ステップS202)。
帳票フォームFaの項目詳細情報d5がある場合(ステップS202;YES)、CPU11は、帳票フォームFbの帳票フォーム情報70U(又は帳票フォーム情報70)の明細情報70Bから先頭の項目詳細情報73を項目詳細情報d6として取得する(ステップS203)。そして、CPU11は、ステップS203又はS206で取得された帳票フォームFbの項目詳細情報d6があるか否かを判別する(ステップS204)。
帳票フォームFbの項目詳細情報d6がある場合(ステップS204;YES)、CPU11は、帳票フォームFaの項目詳細情報d5の項目名731と、帳票フォームFbの項目詳細情報d6の項目名731とが同一であるか否かを判別する(ステップS205)。帳票フォームFa,Fbの項目名731が同一でない場合(ステップS205;NO)、CPU11は、帳票フォームFbに対応する帳票フォーム名78の帳票フォーム情報70U(又は帳票フォーム情報70)の明細情報70Bから次の項目詳細情報73を項目詳細情報d6として取得し(ステップS206)、ステップS204に移行する。
帳票フォームFa,Fbの項目名731が同一である場合(ステップS205;YES)、CPU11は、帳票フォームFaに対応する帳票フォーム名78の帳票フォーム情報70の明細情報70Bから次の項目詳細情報73を項目詳細情報d5として取得し(ステップS207)、ステップS202に移行する。
帳票フォームFbの項目詳細情報d6がない場合(ステップS204;NO)、CPU11は、取得中の帳票フォームFbの項目詳細情報d6を用いて、帳票フォームFaの編集後の帳票フォーム情報70Uに追加するための項目詳細情報を作成する(ステップS208)。そして、CPU11は、帳票フォームFaの帳票フォーム情報70の明細情報70Bを拡張し、ステップS208で作成された項目詳細情報を追加する(ステップS209)。そして、CPU11は、新たな項目詳細情報アドレス76を設定し、項目情報アドレス754、設定した項目詳細情報アドレス76、ステップS209で追加された項目詳細情報77を関連付け(ステップS210)、ステップS207に移行する。
ステップS92の不足項目追加処理により、例えば、帳票フォームFaの「仕入伝票」の帳票フォーム名78の帳票フォーム情報70から、図23に示す更新後の帳票フォーム情報70Uaが作成され、記憶部15に記憶される。帳票フォーム情報70Uaでは、項目名731が「消費税額等」、「担当者」、「住所」の項目詳細情報73のレコードR2が項目情報70Aに追加されている。
図13に戻り、ステップS92の実行後、CPU11は、ステップS92で作成された編集対象帳票の帳票フォームFaの帳票フォーム情報70Ua及び背景画像データを用いて、帳票フォーム修正画面データを生成して表示部14に表示する(ステップS93)。ステップS93では、例えば、図24に示す帳票フォーム修正画面500の帳票フォーム修正画面データが表示される。
帳票フォーム修正画面500は、帳票フォーム画像511、修正ボタン521を有する。帳票フォーム画像511は、編集対象帳票の「仕入伝票」の帳票フォーム名78の帳票フォームFaであり、「仕入伝票」の編集対象帳票の背景画像の上に、帳票フォーム情報70Uaの項目詳細情報73,77に基づく出力項目、繰返領域及び明細領域が配置されている。さらに、帳票フォーム画像511には、帳票フォームFaの帳票フォーム情報70UaのレコードR2に対応する出力項目512,513,514が配置されている。
出力項目512は、項目名731が「担当者」の項目詳細情報73に対応する追加する出力項目であり、帳票フォーム名が「納品書(控)」の帳票フォームFbの調整時に追加された出力項目に対応する。出力項目513は、項目名731が「住所」の項目詳細情報73に対応する追加する出力項目であり、帳票フォーム名が「納品書(控)」の帳票フォームFbの調整時に追加された出力項目に対応する。
出力項目514は、項目名731が「消費税等」の項目詳細情報73に対応する追加する出力項目であり、帳票フォーム名が「納品書(控)」の帳票フォームFbの背景画像に含まれていた出力項目に対応する。出力項目512,513,514は、初期配置として、帳票フォームFaの帳票フォーム情報70Ua上の他の出力項目に重なるように配置されており、当該他の出力項目の間の空間に配置されるのが好ましい。
また、修正ボタン521は、操作部12を介して、ユーザからの出力項目512,513,514の修正実行のクリック入力を受け付けるボタンである。
そして、CPU11は、操作部12を介して、ユーザからのステップS93で表示された帳票フォーム修正画面500に対応する入力を受け付ける(ステップS94)。そして、CPU11は、ステップS94で入力された入力が、新たに配置された出力項目の修正入力(出力項目のサイズ、移動、項目名の変更入力、出力項目の削除入力)、修正ボタン521のクリック入力のいずれであるかを判別する(ステップS95)。
修正入力である場合(ステップS96;修正入力)、CPU11は、修正入力に応じた編集対象帳票の帳票フォーム名の帳票フォーム画像データを作成し、帳票フォーム画像511として帳票フォーム修正画面500に表示し(ステップS96)、ステップS93に移行する。ステップS95出力項目の修正入力により、帳票フォーム修正画面500として、例えば図25に示す帳票フォーム修正画面500Aが表示される。
帳票フォーム修正画面500Aにおいて、出力項目513の四隅には、つまみK1が配置されている。出力項目513のつまみK1を移動することで、出力項目513のサイズを修正できる。また、出力項目513をドラッグして移動することにより、出力項目513を移動できる。また、出力項目513に削除の操作を行うことにより削除が可能である。
帳票フォーム修正画面500Aでは、帳票フォーム修正画面500に比べて、出力項目512,513のサイズ及び移動の修正入力がされ、出力項目514の削除の修正入力がされた状態の帳票フォーム画像511を有する。
修正ボタン521のクリック入力である場合(ステップS95;修正実行)、CPU11は、ステップS94で修正入力された操作情報に基づいて、編集対象帳票の帳票フォームFaの帳票フォーム情報70Uaを更新して記憶部15に記憶し(ステップS97)、帳票フォーム編集処理を終了する。ステップS97では、例えば、図23の仕入伝票の編集対象帳票の帳票フォーム情報70Uaにおいて、項目名731が「担当者」、「住所」の項目詳細情報73の領域733が修正後の領域の座標値に更新され、項目名731が「消費税等」の項目詳細情報73のレコード及び対応する項目詳細情報アドレス72が削除される。
帳票フォーム情報70U(又は70)が作成されて記憶部15に記憶された後、帳票管理装置10は、帳票フォーム情報70Uを用いて、帳票のデータ入力を受け付ける。例えば、帳票管理装置10のCPU11は、帳票フォーム情報70Uaを用いて、図25に示す帳票フォーム画像511のように、帳票の背景画像上に、修正後の出力項目、明細領域及び繰返領域を情報記入欄として配置して表示部14に表示し、操作部12を介して、ユーザからの、出力項目のデータと、明細領域における繰り返し数分の繰返領域のデータとの入力を受け付け、当該入力されたデータを帳票データとして記憶部15に記憶する。
あるいは、出力項目、明細領域及び繰返領域に対応するデータが予め記憶部15に記憶又は通信部16を介して通信接続された外部機器(データベースサーバなど)に記憶されている場合に、帳票管理装置10のCPU11は、当該データを記憶部15又は外部機器から取得し、帳票フォーム情報70U(又は70)を用いて、帳票の出力項目のデータと、明細領域の繰り返し数分の繰返領域のデータとに変換し、当該変換されたデータを帳票データとして記憶部15に記憶する。そして、帳票管理装置10のCPU11は、印刷部18により、入力された帳票データを、背景画像が印刷された帳票の用紙の各情報記入欄に印刷して、帳票データが印刷された帳票を作成する。
以上、本実施の形態によれば、帳票管理装置10のCPU11は、帳票の画像データから、当該帳票の各情報記入欄に対応するデータ入力の設定をするための入力設定情報としての帳票フォーム情報が作成された帳票のうち、編集対象の帳票(編集対象帳票フォーム)に類似する類似帳票(類似帳票フォーム)を特定し、特定された類似帳票の帳票フォーム情報に比べて編集対象の帳票の帳票フォーム情報が不足する情報記入欄(出力項目、繰返領域、明細領域)を取得し、取得した情報記入欄を編集対象の帳票の帳票フォーム情報に追加設定する。
このため、編集対象の帳票に類似する類似帳票の帳票フォーム情報を用いて、編集対象の帳票の帳票フォーム情報を容易に編集できる。
また、CPU11は、不足する出力項目が追加設定された編集対象の帳票の帳票フォーム情報の編集の入力に応じて、編集対象の帳票の帳票フォーム情報を更新する。このため、ユーザが、編集対象の帳票の帳票フォーム情報に追加設定された情報記入欄などの情報を所望の情報記入欄の情報に編集して更新できる。
また、CPU11は、類似帳票の候補となる帳票の帳票フォーム情報の編集(調整)の入力に応じて、類似帳票の候補となる帳票の帳票フォーム情報を更新する。ユーザが、類似帳票の候補となる帳票の帳票フォーム情報を所望の帳票フォーム情報に編集して更新でき、類似帳票の候補の編集された帳票フォーム情報の情報記入欄の情報を編集対象の帳票の帳票フォーム情報に追加設定することもできる。
また、CPU11は、編集対象の帳票に類似する複数の類似帳票を特定し、複数の類似帳票から選択入力された1つの類似帳票の帳票フォーム情報に比べて編集対象の帳票の帳票フォーム情報が不足する情報記入欄を取得する。このため、ユーザが、特定された複数の類似帳票から好ましい類似帳票を選択できる。
また、CPU11は、帳票の画像データから型番及びタイトルを検出し、検出された型番及びタイトルの一致の結果に基づいて、編集対象の帳票に類似する類似帳票を特定する。このため、型番及びタイトルの少なくとも1つが一致する類似帳票をより適切に特定できる。
また、CPU11は、帳票フォーム情報に含まれる文字列の入力項目の情報を取得して入力項目テーブル80を作成し、入力項目テーブル80の入力項目の情報の一致の結果に基づいて、編集対象の帳票に類似する類似帳票を特定する。このため、入力項目テーブル80の入力項目の情報が一致する度合いが高い類似帳票をより適切に特定できる。
また、帳票の帳票フォーム情報は、帳票における矩形領域からなる情報記入欄がX軸方向に複数配置された繰返領域が、Y軸方向に繰り返し並んだ明細領域の情報を含む。CPU11は、作成された帳票フォーム情報に含まれる明細領域の情報において、帳票の明細領域が合致する合致領域の情報に基づいて、編集対象の帳票に類似する類似帳票を特定する。このため、合致領域の面積が大きい類似帳票をより適切に特定できる。
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部15のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリや、CD−ROMなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
なお、上記実施の形態における記述は、本発明に係る帳票管理装置及びプログラムの一例であり、これに限定されるものではない。
例えば、上記実施の形態では、帳票管理装置10のCPU11が、帳票フォーム編集処理の開始前に予め、全ての帳票について、スキャナ部17による帳票のスキャン、帳票フォーム情報の作成処理、タイトル文字列抽出処理、型番文字列抽出処理、入力項目テーブル作成処理を実行して、背景画像データ、帳票フォーム情報70、設定別抽出テーブル60、入力項目テーブル80を取得、記憶しておき、これらの情報を用いて図13の帳票フォーム編集処理を実行する構成としたが、これに限定されるものではない。
例えば、CPU11が、帳票フォーム編集処理の開始前に予め、全ての帳票について、スキャナ部17による帳票のスキャンを行い、上記各処理により編集対象帳票以外の全ての帳票の背景画像データ、帳票フォーム情報70、設定別抽出テーブル60、入力項目テーブル80を取得、記憶しておく構成としてもよい。この構成として、CPU11は、帳票フォーム編集処理において、ステップS81で編集対象帳票の帳票フォームの選択入力を受け付け、編集対象帳票について、上記各処理により編集対象帳票以外の全ての帳票の帳票フォーム情報70、設定別抽出テーブル60、入力項目テーブル80を取得し、ステップS86以降の処理を実行する構成としてもよい。なお、帳票フォーム編集処理の開始時に、スキャナ部17による編集対象帳票のスキャンを行い、編集対象帳票の帳票フォームの選択入力を行わずに、当該スキャンされた帳票を編集対象帳票とする構成としてもよい。
また、上記実施の形態では、タイトル文字列抽出処理、型番文字列抽出処理、入力項目テーブル作成処理、帳票フォーム調整処理、帳票フォーム編集処理などの処理を帳票管理装置10で実行する構成としたが、これに限定されるものではない。例えば、帳票管理装置10などの端末装置が通信部16を介してサーバに接続され、端末装置でスキャナ部17によりスキャンされた帳票の背景画像データがサーバに送信され、サーバが、端末装置の操作入力、スキャンを適宜用いて、タイトル文字列抽出処理、型番文字列抽出処理、入力項目テーブル作成処理、帳票フォーム調整処理、帳票フォーム編集処理などの処理を実行し、作成した帳票フォーム情報を端末装置に提供する構成としてもよい。
また、上記実施の形態における帳票管理装置10の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
帳票の画像データから、当該帳票の各情報記入欄に対応するデータ入力の設定をするための入力設定情報が作成された帳票のうち、編集対象の帳票に類似する類似帳票を特定する類似帳票特定手段と、
前記特定された類似帳票の入力設定情報に比べて前記編集対象の帳票の入力設定情報が不足する情報記入欄を取得し、当該取得した情報記入欄を前記編集対象の帳票の入力設定情報に追加設定する設定手段と、を備える帳票管理装置。
<請求項2>
前記不足する情報記入欄が追加設定された前記編集対象の帳票の入力設定情報の編集の入力に応じて、前記編集対象の帳票の入力設定情報を更新する第1の更新手段を備える請求項1に記載の帳票管理装置。
<請求項3>
前記類似帳票の候補となる帳票の入力設定情報の編集の入力に応じて、当該類似帳票の候補となる帳票の入力設定情報を更新する第2の更新手段を備える請求項1又は2に記載の帳票管理装置。
<請求項4>
前記類似帳票特定手段は、前記編集対象の帳票に類似する複数の類似帳票を特定し、
前記設定手段は、前記複数の類似帳票から選択入力された1つの類似帳票の入力設定情報に比べて前記編集対象の帳票の入力設定情報が不足する情報記入欄を取得する請求項1から3のいずれか一項に記載の帳票管理装置。
<請求項5>
帳票の画像データから型番及びタイトルを検出する検出手段を備え、
前記類似帳票特定手段は、前記検出された型番及びタイトルの少なくとも1つの一致の結果に基づいて、前記編集対象の帳票に類似する類似帳票を特定する請求項1から4のいずれか一項に記載の帳票管理装置。
<請求項6>
前記作成された入力設定情報に含まれる文字列の入力項目の情報を取得する入力項目取得手段を備え、
前記類似帳票特定手段は、前記取得された入力項目の情報の一致の結果に基づいて、編集対象の帳票に類似する類似帳票を特定する請求項1から5のいずれか一項に記載の帳票管理装置。
<請求項7>
前記帳票の入力設定情報は、当該帳票における矩形領域からなる情報記入欄が第1の所定方向に複数配置された繰返領域が、第2の所定方向に繰り返し並んだ明細領域の情報を含み、
前記類似帳票特定手段は、前記作成された入力設定情報に含まれる明細領域の情報において、帳票の明細領域が合致する合致領域の情報に基づいて、前記編集対象の帳票に類似する類似帳票を特定する請求項1から6のいずれか一項に記載の帳票管理装置。
<請求項8>
コンピュータを、
帳票の画像データから、当該帳票の各情報記入欄に対応するデータ入力の設定をするための入力設定情報が作成された帳票のうち、編集対象の帳票に類似する類似帳票を特定する類似帳票特定手段、
前記特定された類似帳票の入力設定情報に比べて前記編集対象の帳票の入力設定情報が不足する情報記入欄を取得し、当該取得した情報記入欄を前記編集対象の帳票の入力設定情報に追加設定する設定手段、
として機能させるためのプログラム。