(57)【要約】【課題】  帳票ドキュメントを解析し、異なるドキュメントデータ形式への効率の良い変換と、意味のある内容のデータへの変換を行う帳票ドキュメント解析・変換装置を提供すること。【解決手段】  帳票のフォーマットデータを予め格納したデータベースを備えた帳票ドキュメント解析・変換装置であって、  入力装置から入力された入力帳票データを解析し、入力帳票データの構成要素が文字列に分類される構成要素であるかどうかを判定し、文字列に分類される構成要素であった場合には文字列のみを前記データベースに登録されているフォーマットデータと組み合わせて出力帳票データを生成し、出力する出力帳票データ生成手段を備えることを特徴とする。【選択図】    図１
2010237952.tif 000002
【特許請求の範囲】
【請求項１】
帳票のフォーマットデータを予め格納したデータベースを備えた帳票ドキュメント解析・変換装置であって、
入力装置から入力された入力帳票データを解析し、入力帳票データの構成要素が文字列に分類される構成要素であるかどうかを判定し、文字列に分類される構成要素であった場合には文字列のみを前記データベースに登録されているフォーマットデータと組み合わせて出力帳票データを生成し、出力する出力帳票データ生成手段を備えることを特徴とする帳票ドキュメント解析・変換装置。
【請求項２】
前記出力帳票データ生成手段は、入力帳票データの構成要素が、前記データベースに登録されているフォーマット部分に含まれるかどうかを判定し、各ページに適用されているフォーマットを特定し、その特定したフォーマットのデータと文字列などのデータ部分とを組み合わせて出力帳票データを生成し、出力する手段をさらに備えることを特徴とする請求項１記載の帳票ドキュメント解析・変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票に代表される定型ドキュメントを解析し、含まれる要素が帳票の様式部分を指すフォーマット部分の要素であるか、データ部分の要素であるかを判断することにより、予め登録されているデータを利用した異なるドキュメントファイル形式への効率の良い変換と、意味のある内容のデータへの変換を行う帳票ドキュメント解析・変換装置に関するものである。
【背景技術】
【０００２】
情報化社会の進展により、様々な社会活動において紙を使用するのではなく電子データに置き換えるペーパーレス化が進んでいる。とりわけ企業活動においては、大量のドキュメントを扱うため、業務の効率化とコスト削減を目的に従来から積極的に電子化が行われている。また昨今では、環境問題への対策として、企業には環境にやさしい取り組みが求められており、多くの企業で紙使用量の削減による環境負荷の低減を目的としたドキュメントの電子化が行われている。
特に帳票に関しては、いわゆる「e文書法」の施行により、従来は紙での保存が義務付けられてきた帳票を電子データとして保存することが可能となったことで、企業で扱うドキュメントの中でも積極的に電子化が進められているドキュメントの１つとなっている。
【０００３】
帳票を電子化する方法は様々あるが、最も一般的な方法は、専用の帳票作成アプリケーションを用いる方法である。帳票のフォーマット部分を専用のデザイナで設計し、業務で生成されるデータと組み合わせて帳票として出力され、出力データ形式は、長期的に保存・参照できる必要性や他システムとの連携を考慮して、例えばＩＳＯで標準化が行われているＰＤＦ／Ａ形式のような一般的かつ汎用的なドキュメントデータ形式で生成される。
【０００４】
このように紙ではなく、電子的に生成され、保存管理される帳票は電子帳票と呼ばれる。
電子帳票を用いる目的は、単純に帳票を電子的に保存管理・参照することに加えて、高度な運用管理、検索、データの２次利用を行うことにより業務を効率化することにある。
この目的は、汎用的なドキュメントデータ形式で生成された電子帳票では完全には満たされないため、帳票に特化した高度な運用管理、検索、データの２次利用を行うことができる専用アプリケーションを用いることになる。
このようなアプリケーションは、一般的なデータ形式の帳票を入力としてデータ解析を行い、ある目的に特化した処理を行うための専用データを生成・保持したり、専用のデータ形式に変換したりすることにより、汎用的なドキュメントビューア等にはない電子帳票に特化した高度な機能の提供を可能としている。
【０００５】
特許文献１では、第１のフォーマットで記述された帳票データを、第２のフォーマットで記述された帳票データに変換する上で、変換後の帳票データに対して、高度な複合検索が可能になるような帳票データ変換装置が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−３４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように電子帳票の作成、効率の良い運用において、データ形式の変換処理は必須であるが、企業において、帳票は日次や月次で大量に発行されるものも多くあり、この大量に発行された帳票に対してデータ変換処理を行うことはシステムにとって大きな負荷となる場合が多く、懸念されている。
また、電子帳票の生成においては、様々な他システムとの連携を考慮して、汎用的なデータ形式として電子帳票を生成するのが一般的であるが、これにより、帳票データの特徴であるフォーマット部分とデータ部分の区別がつかなくなってしまい、帳票データの２次利用がしづらくなってしまうという問題がある。
【０００８】
本発明の目的は、汎用的なドキュメントデータ形式で表現された帳票に代表される定型ドキュメントを解析し、異なるドキュメントデータ形式への効率の良い変換と、意味のある内容のデータへの変換を行う帳票ドキュメント解析・変換装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の帳票ドキュメント解析・変換装置は、帳票のフォーマットデータを予め格納したデータベースを備えた帳票ドキュメント解析・変換装置であって、
入力装置から入力された入力帳票データを解析し、入力帳票データの構成要素が文字列に分類される構成要素であるかどうかを判定し、文字列に分類される構成要素であった場合には文字列のみを前記データベースに登録されているフォーマットデータと組み合わせて出力帳票データを生成し、出力する出力帳票データ生成手段を備えることを特徴とする。
また、前記出力帳票データ生成手段は、入力帳票データの構成要素が、前記データベースに登録されているフォーマット部分に含まれるかどうかを判定し、各ページに適用されているフォーマットを特定し、その特定したフォーマットのデータと文字列などのデータ部分とを組み合わせて出力帳票データを生成し、出力する手段をさらに備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、汎用的なドキュメントデータ形式で表現された帳票に代表される定型ドキュメントを解析し、異なるドキュメントデータ形式へ効率よく変換することができる。
また、変換後のデータは、定型ドキュメントのフォーマット部分とデータ部分を認識した意味のあるデータとなり、変換後のデータを２次利用するような機能を提供する際に有効となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態である帳票ドキュメント解析・変換装置の構成を示すブロック図である。
【図２】図１の装置を組み込んだ電子帳票運用システムの構成図である。
【図３】帳票生成方式データベース及び帳票フォーマットデータベースのオブジェクトテーブルに格納されているデータの構成図である。
【図４】帳票フォーマットデータベースのリンクテーブル及び実行一時データ領域に格納されているデータの構成図である。
【図５】実行一時データ領域に格納されているデータの構成図である。
【図６】入力帳票フォーマットデータの具体例の説明図である。
【図７】入力帳票全体データの具体例の説明図である。
【図８】複数フォーマットの帳票の具体例の説明図である。
【図９】固定フォーマットと可変フォーマットの帳票の具体例の説明図である。
【図１０】データ部分として文字列データ以外を含む帳票の具体例の説明図である。
【図１１】入力帳票データの意味のある単位の具体例の説明図である。
【図１２】入力帳票データのハッシュ値計算用データの具体例の説明図である。
【図１３】帳票フォーマット登録処理の概要を示すフローチャートである。
【図１４】帳票データ変換処理の概要を示すフローチャートである。
【図１５】フォーマット含有判定処理の概要を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施する場合の実施形態を、図面を用いて詳細に説明する。
図１は、本発明の実施形態を示す帳票ドキュメント解析・変換装置のブロック構成図である。
ここで示す帳票ドキュメント解析・変換装置は、ある形式の入力帳票データからある形式の出力帳票データへの変換を行う帳票データ処理部１１と、入出力帳票データを格納するための外部記憶装置１２、本装置に指示を与えるための入力装置１３、本装置からの応答が表示される表示装置１４、帳票ＩＤごとに出力帳票データの生成方式を管理する帳票生成方式ＤＢ１５、帳票ＩＤごとに帳票のフォーマットを管理する帳票フォーマットＤＢ１６から構成される。なお、帳票ＩＤとは帳票の種類ごとに振られる一意な識別子であるとする。
【００１３】
帳票データ処理部１１は、プログラムを配置するプログラム領域１１０と、プログラムを実行する際に使用するデータを配置するデータ領域１１１で構成される。
プログラム領域１１０は、帳票ＩＤごとに、その帳票で使用するフォーマットと出力帳票生成方式を登録するための帳票フォーマット登録部１１２と、入力帳票データから出力帳票データへ効率よく変換、かつ、ページ単位のフォーマット情報を付加して生成することができる出力帳票データ生成部１１３と、入力帳票データ中のオブジェクトがフォーマットに含まれているかどうかを判定するフォーマット含有判定部１１４を備える。
なお、オブジェクトとは、入力帳票データを意味のある単位に分割した構成要素のこととする。例えば、図１１の入力帳票データ１１０１において、意味のある単位は、定義オブジェクト１１０２、データオブジェクト１１０３、ラインオブジェクト１１０４、イメージオブジェクト１１０５等となる。
【００１４】
データ領域１１１は、帳票フォーマット登録部１１２、出力帳票データ生成部１１３、フォーマット含有判定部１１４が実行するために共通に使用する実行一時データ領域１１５を備える。実行一時データ領域１１５は、図４（ｂ）の形式で表される。
外部記憶装置１２は、帳票ＩＤごとに決まっている帳票のフォーマット部分のみを含む入力帳票フォーマットデータ１２１と、帳票のフォーマット部分とデータ部分が混ざった入力帳票全体データ１２２、そして、帳票データ処理部１の出力結果である出力帳票データ１２３を持つ。これらのデータの形式は、意味的な構造を持ったドキュメント形式やベクタ画像形式であればなんでもよいものとし、例えば一般的にはＰＤＦ形式、ＸＰＳ形式、ＳＶＧ形式等がそれに当たる。
【００１５】
入力帳票フォーマットデータ１２１は、例えば図６に示すようなデータ部分のない１ページの帳票データである。オブジェクト６１１、６１２は、ページが変化しても変化しない帳票のフォーマット部分を構成するオブジェクトであり、オブジェクト６１３、６１４は、行やページごとに変化する可能性のある帳票のデータ部分を構成するオブジェクトである。なお、オブジェクト６１３、６１４は空白文字のみを含む文字列であり、帳票フォーマット登録部１１２は、空白文字列オブジェクトは無視される。
入力帳票全体データ１２２は、例えば図７に示すような帳票データである。オブジェクト７１１、７１２は、帳票のフォーマット部分を構成するオブジェクトであり、オブジェクト７１３、７１４は、行やページごとに変化する可能性のある帳票のデータ部分を構成するオブジェクトであるが、通常の解析ではその判断をつけることはできない。
【００１６】
本発明では、帳票ドキュメント解析・変換装置への入力である入力帳票データを、用いられているフォーマット部分、またデータ部分の内容の特徴によって分類することにより、最適な解析・変換を行っている。
その分類方法として、全てのページで用いられているフォーマットが必ず同じであるような帳票を単一フォーマットの帳票と分類し、複数のフォーマットをページ単位で使い分けているような帳票を複数フォーマットの帳票と分類する。例えば、図７の帳票は、図６で示すフォーマットのみを用いた帳票であるので、単一フォーマットの帳票といえる。
【００１７】
図８のフォーマットを持つ帳票は、メインのフォーマットとしてフォーマット８１があり、場合によってサブフォーマットであるフォーマット８２が複数ページ続くようなパターンの帳票となるので、このような帳票は、複数フォーマットの帳票といえる。
また、帳票のフォーマット部分が、データ部分の内容によらず常に固定であるようなものを固定フォーマットの帳票と分類し、データ部分の内容によりフォーマット部分が変化するものを可変フォーマットの帳票と分類する。
【００１８】
例えば、図９のフォーマット９１が用いられた帳票９２、９３がある場合、帳票９２はデータ量によらずフォーマット部分が固定であるので、固定フォーマットの帳票といえ、帳票９３はデータ量によらずフォーマット部分が伸び縮みするため、可変フォーマットの帳票といえる。
さらに、データ部分に関しては、文字列データのみをデータ部分として含むような帳票と、文字列データ以外の画像データや図形データをデータ部分として含むような帳票に分類する。例えば、図６のフォーマット６１を用いた帳票は、データ部分として文字列データのみを含む帳票であり、図１０のフォーマット１０１を用いた帳票は、ページによって変化する文字列以外のデータである顔写真１０１１を持つため、データ部分として文字列データ以外を含む帳票である。
【００１９】
このように入力帳票データを分類することにより、それぞれに最適な解析・変換処理と最適な出力データ形式を選択することができるのが本発明の特徴である。一般的に企業で使用される帳票は、扱いやすさから、固定フォーマットの帳票が多く用いられる傾向にある。本発明では、入力帳票が固定フォーマットの帳票であると仮定したときに最も効果を発揮するため、非常に有効であるといえる。
なお、本実施形態では入力データとして帳票を対象としているが、入力データとして一般的な定型ドキュメントを使用しても適用可能である。
【００２０】
入力装置１３は、エンドユーザがこの帳票ドキュメント解析・変換装置に対して、必要なパラメータを指定した上で、帳票フォーマット登録、帳票データ変換を行うように指定する際に使用する。
【００２１】
帳票生成方式ＤＢ１５は、図３（ａ）の形式で表され、帳票の種類を識別する帳票ＩＤ単位で出力帳票の生成方式を管理する。
帳票フォーマットＤＢ１６は図３（ｂ）の形式で表されるオブジェクトテーブル１６１と、図４（ａ）の形式で表されるリンクテーブル１６２で構成される。オブジェクトテーブル１６１は、帳票のフォーマットに含まれるオブジェクトが登録され、リンクテーブル１６２は、オブジェクト間のリンク情報が登録される。
【００２２】
図２は、図１の帳票ドキュメント解析・変換装置を組み込んだ電子帳票運用システムの構成図であり、業務データ等からＰＤＦ等の一般的なドキュメントの形式で帳票を生成する帳票生成サーバ２１と、作成された帳票を帳票管理に特化した独自形式に変換して管理し、効率の良い帳票検索等の様々な付加機能を提供する帳票管理サーバ２２と、帳票管理サーバ２２の提供する機能を利用するクライアントＰＣ２３、２４と、これらの装置間の通信を行うために接続されたＬＡＮ２５で構成される。
帳票生成サーバ２１は、入力帳票フォーマットデータ１２１と入力帳票全体データ１２２を生成し、帳票管理サーバ２２へと送信する機能を持つ。
【００２３】
帳票管理サーバ２２は、図１の帳票ドキュメント解析・変換装置を組み込むことにより入力帳票データから独自帳票形式のデータへの効率的のよい変換と、ページ単位のフォーマット情報の付加を行う帳票データ解析・変換部２２１と、帳票生成サーバ２１からの入力帳票データの受信やクライアントＰＣ２３、２４からの様々な要求の受信と結果の送信を行う通信部２２２と、独自形式に変換された帳票データを管理し、帳票に特化した効率の良い検索等の機能を提供する帳票運用管理部２２３で構成される。
【００２４】
図３（ａ）は、帳票ＩＤ単位で出力帳票の生成方式を管理する帳票生成方式ＤＢ１５の形式であり、帳票ＩＤ３１１と生成方式３１２で構成される。
帳票ＩＤ３１１とは、帳票の種類ごとに一意にエンドユーザが設定する識別子である。生成方式３１２とは、入力帳票データから出力帳票データを生成する際、入力帳票データの特徴に合わせて出力帳票データ生成部１１３の処理方式を選択するためにエンドユーザが設定するコードであり、簡易フォーマットモード、固定フォーマットモード、可変フォーマットモードの３種類がある。
【００２５】
簡易フォーマットモードとは、該当帳票ＩＤの帳票は、フォーマット部分が単一・固定フォーマットであり、データ部分に文字列データのみを含むような帳票であることを想定した出力帳票生成モードのことである。
簡易フォーマットモードでの変換では、入力帳票全体データ１２２に含まれる文字列オブジェクトの中で、フォーマットに含まれていないもののみをデータ部分と認識して変換し、フォーマット部分はあらかじめ登録されたものを使用することによって、非常に高速なデータ変換と、フォーマット部分とデータ部分を分離したデータ構造で出力帳票データを生成することができる。
【００２６】
固定フォーマットモードとは、該当帳票ＩＤの帳票は、フォーマット部分が固定フォーマットであるような帳票を想定した出力帳票生成モードのことである。簡易フォーマットモードでは対応できない、複数フォーマットや、データ部分として文字列以外を持つような帳票に対応するモードである。
固定フォーマットモードでの変換では、入力帳票全体データ１２２に含まれるオブジェクトの中で、フォーマットに含まれていないものをデータ部分と認識して変換し、フォーマット部分はあらかじめ登録されたものの中で該当するものを使用することによって、高速なデータ変換と、フォーマット部分とデータ部分を分離したデータ構造で出力帳票データを生成することができる。
【００２７】
可変フォーマットモードとは、該当帳票ＩＤの帳票のフォーマットが可変であることを許す出力帳票生成モードのことであり、どのような帳票であっても対応できるモードとなる。
可変フォーマットモードでの変換では、入力帳票全体データ１２２に含まれるオブジェクトの中で、フォーマットに含まれるものをフォーマット部分の一部であると認識し、予め出力データ形式に変換済みの部分データを再利用することによって、データ変換の効率を上げることができる。この場合、フォーマット部分とデータ部分を分離したデータ構造で出力帳票データを生成することはできない。
本発明では、上記３種類のモードを帳票ＩＤ単位で使い分けることで、入力帳票データのそれぞれの特性に応じた解析・出力帳票データ生成を行うことを可能としている。
【００２８】
図３（ｂ）は、帳票ＩＤごとに帳票のフォーマットを管理する帳票フォーマットＤＢ１６の中で、フォーマットに含まれるオブジェクトを登録したオブジェクトテーブル１６１の形式であり、帳票ＩＤ３２１、フォーマットＩＤ３２２、オブジェクト番号３２３、オブジェクトタイプ３２４、ハッシュ値３２５、出力コマンド情報３２６で構成される。
フォーマットＩＤ３２２とは、帳票ＩＤごとにシステムが一意に振るＩＤであり、フォーマットを識別するために使用する。
オブジェクト番号３２３とは、各フォーマットに含まれるオブジェクトに対してシステムが出現した順番に連番で振る識別番号である。
オブジェクトタイプ３２４とは、各オブジェクトの種別を表したタイプコードで、例えば、ＳＴＲＩＮＧ（文字列）、ＬＩＮＥ（線）、ＩＭＡＧＥ（画像）等が考えられる。これは、入力帳票データの形式によって異なるが、帳票ドキュメント解析・変換装置では、最低限、文字列オブジェクトであるか否かを判定する必要があるため、これを識別できない入力帳票データ形式は、入力帳票データとして使用できない。
ハッシュ値３２５とは、入力帳票データの各オブジェクトのバイナリデータをハッシュ値に変換したものである。
出力コマンド情報３２６とは、入力帳票データのオブジェクトを出力帳票データに変換したものである。
【００２９】
本発明では、入力帳票全体データ１２２に入力帳票フォーマットデータ１２１のオブジェクトが含まれているかどうかを認識することで、対象オブジェクトがフォーマット部分であるのか、データ部分であるのかを認識する。その際、オブジェクトが一致しているかどうかの判定は、お互いのオブジェクトのバイナリデータに対するハッシュ値の比較により行う。ハッシュ値を用いているのは効率のためであり、バイナリデータ比較で十分であるのは、入力帳票フォーマットデータ１２１と入力帳票全体データ１２２が同じ生成系を使用して生成されることを想定しているためである。例えば、帳票をＰＤＦ形式で生成するような生成系は、一般的に、専用のデザイナで帳票のフォーマット部分とデータが挿入されるフィールドを定義したフォーマット定義ファイルを作成し、その定義ファイルと、日次や月次で作成されるデータファイルとを組み合わせてＰＤＦ形式の帳票を生成する。このようにして生成されたＰＤＦ形式の帳票のフォーマット部分は、毎回同じバイナリデータとなるため、バイナリデータの比較で十分といえる。
【００３０】
図４（ａ）は、帳票ＩＤごとに帳票のフォーマットを管理する帳票フォーマットＤＢ１６の中で、オブジェクト間のリンク情報を登録したリンクテーブル１６２の形式であり、帳票ＩＤ４１１、フォーマットＩＤ４１２、オブジェクト番号４１３、リンクＩＤ４１４、リンク先オブジェクト番号４１５で構成される。
帳票ＩＤ４１１、フォーマットＩＤ４１２、オブジェクト番号４１３は、他オブジェクトへのリンクを含むオブジェクトを指定する。
リンクＩＤ４１４は、対象オブジェクトに含まれるリンク先を識別するための識別子である。リンク先オブジェクト番号４１５は、リンクＩＤ４１４が示すリンク先のオブジェクトのオブジェクト番号である。
【００３１】
図４（ｂ）は、帳票フォーマット登録部１１２、出力帳票データ生成部１１３、フォーマット含有判定部１１４が実行するために共通に使用する実行一時データ領域１１５の形式であり、入力帳票ＩＤ４２１、生成方式４２２、対象フォーマットＩＤ４２３、解析オブジェクト情報４２４、対象オブジェクト情報４２５、ページフォーマット情報４２６、データ解析コンテキスト情報４２７で構成される。
入力帳票ＩＤ４２１、生成方式４２２は、エンドユーザが、帳票フォーマット登録や、帳票データ変換の処理を実行する際に、入力装置１３により指定される情報を保持しておく領域である。
対象フォーマットＩＤ４２３は、帳票フォーマット登録部１１２が入力帳票フォーマットを登録する際に用いるフォーマットＩＤを保持しておく領域である。
【００３２】
解析オブジェクト情報４２４は、図４（ｃ）の形式で表され、入力帳票データを解析して得られる意味のある単位のオブジェクトの情報を保持しておく領域である。
対象オブジェクト情報４２５は、図５（ａ）の形式で表され、フォーマット含有判定部１１４により含有すると判定した際に、帳票フォーマットＤＢ１６に含まれる一致オブジェクト情報を保持しておく領域である。
【００３３】
ページフォーマット情報４２６は、図５（ｂ）の形式で表され、出力帳票データ生成部１１３が、ページ単位でどのフォーマットが使用されているかを判定するために用いる情報を保持しておく領域である。
データ解析コンテキスト情報４２７は、帳票フォーマット登録部１１２、出力帳票データ生成部１１３が入力帳票データの解析、出力帳票データの生成を行う際に必要となるコンテキスト情報を保持しておく領域である。例えば、現在解析中のデータの位置やページ番号、ＩＤの発行管理情報、参照オブジェクト情報等が考えられる。データ解析コンテキスト情報４２７は、入力帳票データ形式、出力帳票データ形式によって内容の異なる情報である。
【００３４】
図４（ｃ）は、入力帳票データを解析して得られる解析オブジェクト情報４２４の形式であり、解析オブジェクトデータ４３１、解析オブジェクトタイプ４３２、解析オブジェクトハッシュ値４３３、出力コマンド４３４で構成される。
解析オブジェクトデータ４３１は、解析されたオブジェクトのバイナリデータを保持しておく領域である。
解析オブジェクトタイプ４３２は、解析されたオブジェクトのオブジェクトタイプを保持しておく領域である。
解析オブジェクトハッシュ値４３３は、解析オブジェクトデータ４３１のハッシュ値を保持しておく領域である。
出力コマンド４３４は、解析オブジェクトデータ４３１を出力帳票データ形式に変換したコマンド情報のバイナリデータを保持しておく領域である。
【００３５】
図５（ａ）は、フォーマット含有判定部１１４による判定で、一致したオブジェクト情報を保持しておく対象オブジェクト情報４２５の形式であり、フォーマットＩＤ５１１、オブジェクトタイプ５１２、バイナリデータ５１３、ハッシュ値５１４、出力コマンド情報５１５、リンクフラグ５１６で構成される。
フォーマットＩＤ５１１は、一致したオブジェクトが含まれるフォーマットＩＤを保持しておく領域である。一致するオブジェクトは複数のフォーマットに存在する可能性があり、その場合はフォーマットＩＤ５１１で識別される複数のカラムが対象オブジェクト情報４２５に格納される。
オブジェクトタイプ５１２、バイナリデータ５１３、ハッシュ値５１４、出力コマンド情報５１５は、帳票フォーマットＤＢ１６のオブジェクトテーブル１６１に含まれる、一致したオブジェクトの情報を保持しておく領域である。
リンクフラグ５１６は、一致したオブジェクトが他のオブジェクトへのリンクを含んでいるかどうかを表すフラグを保持しておく領域である。
【００３６】
図５（ｂ）は、ページ単位でどのフォーマットが使用されているかを判定するために用いる情報を保持しておくページフォーマット情報４２６の形式であり、ページ番号５２１、フォーマットＩＤ５２２、出現回数５２３で構成される。
ページ番号５２１は、どのページ番号の情報であるかを識別するための情報、フォーマットＩＤ５２２は、該当ページのオブジェクトが含まれていたフォーマットのＩＤ、出現回数５２３は、該当ページ中のオブジェクトが該当フォーマットに何個含まれていたかを表す情報である。出現回数５２３が一番多いフォーマットがそのページで使用されているフォーマットＩＤとなる。
【００３７】
以下、本実施形態に係る帳票ドキュメント解析・変換装置の動作について説明する。
図１３は、帳票フォーマット登録部１１２における帳票フォーマット登録処理の概要を示すフローチャートであり、エンドユーザが入力装置１３を用いて、帳票ＩＤ、出力帳票データ生成方式を指定した上で、帳票フォーマット登録要求を行うことで開始する。
開始されると、エンドユーザが指定した帳票ＩＤ、出力帳票データ生成方式を読み込み、実行一時データ領域１１５の入力帳票ＩＤ４２１、生成方式４２２に格納する。なお、出力帳票データ生成方式の指定がなかった場合は、帳票生成方式ＤＢ１５から、入力帳票ＩＤ４２１に一致する生成方式３１２を取り出し、生成方式４２２に格納する（ステップ１３０１）。
生成方式４２２が簡易フォーマットモードであるかどうかをチェックし（ステップ１３０２）、簡易フォーマットモードである場合は、帳票フォーマットＤＢ１６から、入力帳票ＩＤ４２１に対して登録されているフォーマットが存在するかどうかをチェックする（ステップ１３０３）。
【００３８】
登録されているフォーマットが存在した場合は、そのフォーマットを削除してよいかどうかを表示装置１４に表示し、エンドユーザは、その応答を入力装置１３を用いて行うことで判定をする（ステップ１３０４）。
エンドユーザの応答がＮＯであった場合は、帳票フォーマット登録処理は終了する。ＹＥＳであった場合は、帳票フォーマットＤＢ１６から該当データを削除する（ステップ１３０５）。
【００３９】
ステップ１３０２で簡易フォーマットモード以外である場合、及び、ステップ１３０３で登録されているフォーマットが存在しない場合、及び、ステップ１３０５の処理を行った後、帳票生成方式ＤＢ１５に生成方式４２２の値を登録（上書き登録）する（ステップ１３０６）。
そして、帳票フォーマットＤＢ１６を参照し、重複しないように、現在登録するフォーマットのためのフォーマットＩＤを生成し、対象フォーマットＩＤ４２３に格納する。
【００４０】
次に、入力帳票フォーマットデータ１２１のデータ構文解析を行う（ステップ１３０８）。データ構文解析により、入力帳票フォーマットデータ１２１は、出力帳票データを生成するために意味のある単位のオブジェクトに分割する。また、取得したオブジェクトに対応する入力帳票フォーマットデータ１２１の一部分を、解析オブジェクトデータ４３１に格納し、解析オブジェクトのオブジェクトタイプを解析オブジェクトタイプ４３２に格納する。解析中の状態は、データ解析コンテキスト情報４２７に保持しておく。データ解析コンテキスト情報４２７には解析オブジェクトデータ４３１が参照する別のオブジェクトデータに関する情報も含むものとする。
【００４１】
次に、解析オブジェクトデータ４３１が描画関連オブジェクトであるかどうかを判定する（ステップ１３０９）。描画関連オブジェクトとは、文字列や線、画像等を表すオブジェクトのことを指し、非描画関連オブジェクトとは、ページの区切り等の制御用のオブジェクトのことを指す。
【００４２】
解析オブジェクトデータ４３１が描画関連オブジェクトであった場合、そのオブジェクトのオブジェクトタイプが文字列であり、空白文字のみを含んでいる場合は、そのオブジェクトは無視してステップ１３１４に遷移する（ステップ１３１０）。
これは、帳票生成サーバ２１で入力帳票フォーマットデータ１２１を生成する際に、一般的にデータ部分として空白を指定させた方が生成が容易であることを考慮している。
例えば、入力帳票フォーマットデータとして、図６のような帳票を用いた場合、オブジェクト６１３、６１４は、空白の文字列であるため、無視される対象となる。
【００４３】
解析オブジェクトデータ４３１が無視される対象ではない場合、解析オブジェクトデータ４３１に対して、ハッシュ関数を用いてハッシュ値を計算し、解析オブジェクトハッシュ値４３３に格納する（ステップ１３１１）。ただし、対象オブジェクトが他のオブジェクトへの参照を持っている場合は、入力帳票データ形式の文法が許す範囲でインライン化するか、もしくは連結した上で、ハッシュ値に変換する。
【００４４】
また、オブジェクト内部に識別子を持つような場合は、その識別子を空白に置き換えた上でハッシュ値に変換する。例えば、図１２（ａ）の場合、入力帳票データ１２０１のＩＤ部分１２０２を空白にし、リンク部分１２０３をインライン化した、ハッシュ値計算用データ１２０４を作成し、これに対してハッシュ値を計算する。
また、図１２（ｂ）の場合、入力帳票データ１２１１のリンク部分１２１２をインライン化した、ハッシュ値計算用データ１２１３を作成し、これに対してハッシュ値を計算する。
【００４５】
次に、解析オブジェクトデータ４３１を出力帳票データ形式に変換し、変換した結果を出力コマンド４３４に格納する（ステップ１３１２）。
ステップ１３０８，１３１０，１３１１で解析、生成したデータを帳票フォーマットＤＢ１６のオブジェクトテーブル１６１、リンクテーブル１６２に登録する（ステップ１３１３）。
オブジェクトテーブル１６１の帳票ＩＤ３２１には、入力帳票ＩＤ４２１を格納し、フォーマットＩＤ３２２には、対象フォーマットＩＤ４２３を格納し、オブジェクト番号３２３には、同じ帳票ＩＤ３２１、フォーマットＩＤ３２２で連番となるような番号を格納し、オブジェクトタイプ３２４には、解析オブジェクトタイプ４３２を格納し、ハッシュ値３２５には解析オブジェクトハッシュ値４３３を格納し、出力コマンド情報３２６には、出力コマンド４３４を格納する。
【００４６】
リンクテーブル１６２の帳票ＩＤ４１１、フォーマットＩＤ４１２、オブジェクト番号４１３には、オブジェクトテーブル１６１の帳票ＩＤ３２１、フォーマットＩＤ３２２、オブジェクト番号３２３と同じ値を格納し、リンクＩＤ４１４、リンク先オブジェクト番号４１５には、データ解析コンテキスト情報４２７に格納されたリンク情報を参照して値を格納する。
ステップ１３０８から１３１３までの処理を入力データ解析が完了するまで繰り返し行う（ステップ１３１４）。
入力データ解析が全て完了したら、帳票フォーマット登録処理は終了となる。
【００４７】
図１４は、出力帳票データ生成部１１３における帳票データ変換処理の概要を示すフローチャートであり、エンドユーザが入力装置１３を用いて、帳票ＩＤを指定した上で、帳票データ変換要求を行うことで開始する。
開始されると、エンドユーザが指定した帳票ＩＤを読み込み、実行一時データ領域１１５の入力帳票ＩＤ４２１に格納する。また、帳票生成方式ＤＢ１５から入力帳票ＩＤ４２１に一致する生成方式３１２を取り出し、生成方式４２２に格納する。
【００４８】
次に、入力帳票全体データ１２２のデータ構文解析を行う（ステップ１４０２）。この解析処理は、図１３のステップ１３０８と同様の処理である。
続いて、ステップ１４０２により格納されている解析オブジェクト情報４２４が描画関連オブジェクトであるかどうかを判定する（ステップ１４０３）。この処理は、図１３のステップ１３０９と同様の処理である。
【００４９】
解析オブジェクト情報４２４が描画関連オブジェクトでなかった場合は、必要に応じてデータ解析コンテキスト情報４２７にコンテキスト情報を格納、対象オブジェクトを出力帳票データ形式に変換し（ステップ１４０４）、変換した結果を用いて出力帳票データの生成を行い（ステップ１４０５）、ステップ１４１４に遷移する。
解析オブジェクト情報４２４が描画関連オブジェクトであった場合は、生成方式４２２が簡易フォーマットモードであるかどうかの判定を行う（ステップ１４０６）。
生成方式４２２が簡易フォーマットモードである場合、解析オブジェクトタイプ４３２が文字列以外の場合は、無条件でフォーマットに含まれていると判断するため、ステップ１４１４へ遷移する。
【００５０】
解析オブジェクトタイプ４３２が文字列の場合は、フォーマット部分の文字列かデータ部分の文字列かわからないため、ステップ１４０８へ遷移する（ステップ１４０７）。
すなわち、簡易フォーマットモードでは、文字列以外のオブジェクトに対して、フォーマット含有判定や出力コマンド生成処理を行わないため、非常に高速となる。
解析オブジェクト情報４２４がフォーマットに含まれているかどうかを判定する必要がある場合は、フォーマット含有判定を行う（ステップ１４０８）。この処理は、図１５で示すフローチャートで説明する。
フォーマット含有判定により、含有すると判定された場合、含有されている全てのフォーマットＩＤについて、ページフォーマット情報４２６の出現回数５２３をカウントアップする（ステップ１４０９）。これは、複数フォーマットの帳票の場合に、たまたま同じオブジェクトが複数のフォーマットに含まれてしまっていることがあるため、対象ページのフォーマットがどのフォーマットであるかを後の処理で判定するために使用する情報である。
【００５１】
例えば、図８のような複数フォーマットの帳票の場合、オブジェクト８１２とオブジェクト８２１は同じラインオブジェクトであり、このオブジェクトを見ただけでは、どちらのフォーマットであるかは判断できないが、ページ全体の一致回数をカウントしておけばどちらのフォーマットであるかを判断することができる。
【００５２】
次に、生成方式４２２が可変フォーマットモードであるかどうかを判定し（ステップ１４１０）、可変フォーマットモードであれば、取得した対象オブジェクト情報４２５の出力コマンド情報５１５を用いて出力帳票データの生成を行う（ステップ１４１１）。
可変フォーマットモード以外であった場合は、出力帳票データ生成は行わず、ステップ１４１４へ遷移する。
これは、簡易フォーマットモード、固定フォーマットモードの場合は、各ページのフォーマットは、必ず登録されているフォーマットであると仮定するが、可変フォーマットモードの場合は、フォーマット部分が一定ではないため、対象オブジェクトに対する出力帳票データ生成処理をその都度行う必要があるため行っている分岐処理である。
ステップ１４０８のフォーマット含有判定により、含有しないと判定された場合、そのオブジェクトは帳票のデータ部分であると判断し、出力帳票データ形式に変換し（ステップ１４１２）、変換した結果を用いて出力帳票データの生成を行う（ステップ１４１３）。
【００５３】
次に、１ページの解析が終了したかどうかを検出し（ステップ１４１４）、ページ終了であった場合で、さらに可変フォーマットモードかどうかを判定し（ステップ１４１５）、可変フォーマットモード以外であった場合は、出力帳票データの現在ページのページ情報に、ページフォーマット情報４２６の出現回数５２３を参照した上で、そのページで使用されているフォーマットの識別子を判定し、格納する。ただし、これは、出力帳票データ形式がページ単位でのフォーマットの設定が可能であることを想定している。このようなデータ形式をサポートしていない場合は、可変フォーマットモードと同じ処理を用いるようにする。
ステップ１４０２から１４１６までの処理を入力データ解析が完了するまで繰り返し行う（ステップ１４１７）。
【００５４】
入力データ解析処理が終了したら、もし可変フォーマットモードでないならば（ステップ１４１８）、その帳票で使用されている全てのフォーマットについて、帳票フォーマットＤＢ１６を参照することで、一連の出力コマンド情報３２６を取得し、出力帳票データの生成を行う（ステップ１４１９）。
最後に、帳票全体に必要な情報等を、出力帳票データ形式の構文に従って出力し、出力帳票データの生成が完了する（ステップ１４２０）。
【００５５】
図１５は、フォーマット含有判定部１１４におけるフォーマット含有判定処理の概要を示すフローチャートであり、実行一時データ領域１１５に値が設定された状態で、他の手続きからの呼び出しにより開始する。
始めに、解析オブジェクト情報４２４の解析オブジェクトデータ４３１に対して、ハッシュ関数を用いてハッシュ値を計算し、解析オブジェクトハッシュ値４３３に格納する（ステップ１５０１）。
次に、帳票フォーマットＤＢ１６に入力帳票ＩＤ４２１に一致し、かつ、解析オブジェクトハッシュ値４３３と一致するハッシュ値が存在するかどうかを検索し（ステップ１５０２）、一致する情報が存在するならば（ステップ１５０３）、対象オブジェクト情報４２５に値を格納することで（ステップ１５０４）、フォーマット含有判定処理は終了する。
【符号の説明】
【００５６】
１１…帳票データ処理部、１２…外部記憶装置、１３…入力装置、１４…表示装置、１５…帳票生成方式ＤＢ、１６…帳票フォーマットＤＢ、１１０…プログラム領域、１１１…データ領域、１１２…帳票フォーマット登録部、１１３…出力帳票データ生成部、１１４…フォーマット含有判定部、１１５…実行一時データ領域、１２１…入力帳票フォーマットデータ、１２２…入力帳票全体データ、１２３…出力帳票データ、１６１…オブジェクトテーブル、１６２…リンクテーブル、２１…帳票生成サーバ、２２…帳票管理サーバ、２３，２４…クライアントＰＣ、２５…ＬＡＮ、２２１…帳票データ解析・変換部、２２２…通信部、２２３…帳票運用管理部、３１１…帳票ＩＤ、３１２…生成方式、３２１…帳票ＩＤ、３２２…フォーマットＩＤ、３２３…オブジェクト番号、３２４…オブジェクトタイプ、３２５…ハッシュ値、３２６…出力コマンド情報、４１１…帳票ＩＤ、４１２…フォーマットＩＤ、４１３…オブジェクト番号、４１４…リンクＩＤ、４１５…リンク先オブジェクト番号、４２１…入力帳票ＩＤ、４２２…生成方式、４２３…対象フォーマットＩＤ、４２４…解析オブジェクト情報、４２５…対象オブジェクト情報、４２６…ページフォーマット情報、４２７…データ解析コンテキスト情報、４３１…解析オブジェクトデータ、４３２…解析オブジェクトタイプ、４３３…解析オブジェクトハッシュ値、４３４…出力コマンド、５１１…フォーマットＩＤ、５１２…オブジェクトタイプ、５１３…バイナリデータ、５１４…ハッシュ値、５１５…出力コマンド情報、５１６…リンクフラグ、５２１…ページ番号、５２２…フォーマットＩＤ、５２３…出現回数。
【図１】
2010237952.tif 000003
【図２】
2010237952.tif 000004
【図３】
2010237952.tif 000005
【図４】
2010237952.tif 000006
【図５】
2010237952.tif 000007
【図６】
2010237952.tif 000008
【図７】
2010237952.tif 000009
【図８】
2010237952.tif 000010
【図９】
2010237952.tif 000011
【図１０】
2010237952.tif 000012
【図１１】
2010237952.tif 000013
【図１２】
2010237952.tif 000014
【図１３】
2010237952.tif 000015
【図１４】
2010237952.tif 000016
【図１５】
2010237952.tif 000017