(57)【特許請求の範囲】
【請求項１】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる情報処理装置であって、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得手段と、
前記配置位置取得手段により取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定手段と、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第2の形式の文書ファイルのテキスト情報は、前記第２の形式の文書ファイルの出力する際に用いるテキストファイルと当該テキストの属性情報ファイルであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の形式の文書ファイルは複数のフォームを用いた文書ファイルであって、
前記決定手段は、前記フォームごとにページ共通の行情報を決定し、
前記行情報と前記フォームとを対応付けて管理する管理手段
を更に備えることを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記１の形式の文書ファイルを用いて第２の形式の文書ファイルを生成するべく、取得した第１の形式の文書ファイルの構成を示す、各ページのフォーム識別情報を含む構成ファイルと、各ページのテキスト及びテキストの配置位置を含むテキスト関連ファイルと、前記第１の形式の文書ファイルに用いられるフォーム情報を含むフォームファイルとを生成する生成手段
を更に備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる文書管理システムであって、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得手段と、
前記配置位置取得手段により取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定手段と、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録手段と
を備えることを特徴とする文書管理システム。
【請求項６】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる情報処理装置の処理方法であって、
前記情報処理装置が、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得ステップと、
前記配置位置取得ステップにより取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定ステップと、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録ステップと
を実行することを特徴とする処理方法。
【請求項７】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる文書管理システムの処理方法であって、
前記文書管理システムが、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得ステップと、
前記配置位置取得ステップにより取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定ステップと、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録ステップと
を実行することを特徴とする処理方法。
【請求項８】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる情報処理装置のプログラムであって、
前記情報処理装置を、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得手段と、
前記配置位置取得手段により取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定手段と、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録手段と
として機能させるためのプログラム。
【請求項９】
テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる文書管理システムのプログラムであって、
前記文書管理システムを、
複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得手段と、
前記配置位置取得手段により取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定手段と、
前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ファイル変換に関する情報処理装置、文書管理システムとその処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、紙媒体である帳票から、ホスト（上位システム）からデータを受信して電子帳票（帳票データ）に変換して、保存・管理する電子帳票システムがある。
この電子帳票システムは、独自のファイル形式にデータを変換して、システム上で電子帳票を閲覧、検索できるようになっている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２３５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、近年では電子帳票システムに取り込むデータはメインフレームなどのデータに限らず、汎用的なコンピュータで生成されるＰＤＦ形式などのファイルを取り込むことが望まれてきている。
【０００５】
この場合、単にＰＤＦファイルを取り込むことは容易であるが、電子帳票システムに保存されている独自形式の電子帳票と同じように閲覧や閲覧を行うのは難しかった。
【０００６】
これは、電子帳票システムは、これまで入力となる帳票データ（ホスト帳票）を高速機（ラインプリンタ）に出力することを起点として取り込んでいるため、ページ情報・フォーム情報・データ情報（テキスト、文字）の形式にすることが前提となっているからである。ページ情報は行やページのレイアウトを決定する情報、フォーム情報は罫線や画像情報を決定する情報、データ情報はデータ（テキスト、文字）を行単位・文字単位で決定する情報をそれぞれ持つものである。これに対し、ＰＤＦファイルなどの中間形式のファイルには「行」という概念は存在せず、自由なレイアウトが可能となっており、保存ができたとしても電子帳票と同じように扱うことは難しかった。
【０００７】
そこで本発明の目的は、ＰＤＦファイルなどの文書ファイルを、他のファイル形式のシステムで容易に扱えるようにする仕組みを提供することである。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するための、テキストデータとテキスト属性情報と罫線情報とを含む第１の形式の文書ファイルを用いて生成されたテキスト情報とフォーム情報とページ情報で構成される第２の形式の文書ファイルを記憶させる情報処理装置であって、複数ページの前記第１の形式の文書ファイルであって、当該文書ファイルの各ページから抽出されたテキストの配置位置を取得する配置位置取得手段と、前記配置位置取得手段により取得された複数のページにおけるテキストの配置位置に基づいて、前記罫線情報により特定される共通のフォームにおけるテキストデータの行ごとの出力領域であるページ共通の行情報を決定する決定手段と、前記第１の形式の文書ファイルの罫線情報から抽出された複数のページで共通のフォーム情報と、前記第１の形式の文書ファイルのテキストデータとテキスト属性情報から抽出されたテキスト情報と、前記行情報とを用いた第2の形式の文書ファイルを登録する登録手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＰＤＦファイルなどの文書ファイルを、他のファイル形式のシステムで容易に扱えるようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に実施形態に係る電子帳票管理システムの概略構成図を示す図である。
【図２】図１における帳票サーバのハードウェア構成の一例を示すブロック図である。
【図３】帳票ファイルの構成例を示す図である。
【図４】ＰＤＦファイルから帳票ファイルへの変換結果を示す図である。
【図５】ＰＤＦ帳票定義設定画面の例を示す図である。
【図６】変換処理の全体を示すフローチャートである。
【図７】ＰＤＦ構成情報の一例を示す図である。
【図８】データ情報の一例を示す図である。
【図９】行情報集計処理のフローチャートである。
【図１０】Ｙ座標を集約した行の概略を示すイメージ図である。
【図１１】共有ページ定義の概念図の一例を示す図である。
【図１２】プリントラインの概略を示す図である。
【図１３】プリントデータオブジェクトに割り当てる処理の概略図である。
【図１４】共通ページ定義処理のフローチャートである。
【図１５】独自帳票データ（帳票実績ファイル）を作成する処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は、本発明の実施形態に係る電子帳票システムの概略構成を示す図である。
【００１２】
図１において、帳票サーバ１００は、電子帳票管理装置として、複数種類の電子帳票（以下、単に「帳票」と称す）のデータ（以下、「帳票データ」または「帳票ファイル」と称す）を記憶、管理し、ネットワーク１０３を介してクライアントＰＣ１０１，１０２に対して、帳票ファイルの閲覧や検索等のサービスを提供する。また帳票サーバ１００は、ホスト１０４から出力されたホストデータを電子帳票に変換して保存している。さらに、帳票サーバ１００はＰＤＦファイルを受け付け、ＰＤＦファイルを帳票データに変換する。
【００１３】
クライアントＰＣ１０１，１０２は、ユーザが利用するパーソナルコンピュータ等の情報処理装置である。クライアントＰＣ１０１，１０２は、ネットワーク１０３を介して帳票サーバ１００に通信可能に構成され、帳票サーバ１００に対して帳票ファイルの検索要求や検索結果の閲覧等が可能である。
【００１４】
ネットワーク１０３は、例えば、ＬＡＮ（ＬＯＣＡＬ  ＡＲＥＡ  ＮＥＴＷＯＲＫ）やインターネット等で構成される。なお、ネットワーク１０３に接続される各種装置については、図示例に限らず、用途や目的に応じて様々な装置が接続されていてもよい。
すなわち、図１は、帳票データを表示する情報処理装置と、帳票データを管理するサーバとが通信可能に接続されている帳票システムである。
【００１５】
図２は、図１における帳票サーバ１００のハードウェア構成の一例を示すブロック図である。
【００１６】
図２において、ＣＰＵ（中央演算装置）２０１は、システムバス２０４に接続される各デバイスを統括的に制御するとともに、各種プログラムを実行することで様々な機能を実現する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリであり、ワークエリア、一時退避領域等として機能する。ＲＯＭ２０３或いは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、帳票サーバ１００において様々な機能を実現するためのプログラム２１２が記憶されている。ＣＰＵ２０１は、これらのプログラムを必要に応じてＲＡＭ２０２にロードして実行する。プログラム２１２の実行時に用いられる帳票ファイル２１３およびインデックスファイル２１４は、外部メモリ２１１に格納されている。ＤＢ（データベース）２１５には、帳票データの格納情報（帳票ＩＤ、帳票名、格納先ディレクトリの紐付けなど）が記憶されている。
【００１７】
入力コントローラ２０５は、例えば、キーボードやマウス等で構成された入力部２０９からの操作入力を制御する。表示コントローラ２０６は、表示部２１０の表示を制御する。表示部２１０は、例えば、ＣＲＴや液晶ディスプレイ等で構成される。
【００１８】
外部メモリコントローラ（ＭＣ）２０７は、ブートプログラム、各種のアプリケーション、ユーザファイル、編集ファイルを記憶する外部メモリ２１１へのアクセスを制御する。加えて、サーバ或いは各クライアントＰＣの各種機能を実現するための各種テーブル、パラメータが記憶されている。外部メモリ２１１は、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、磁気テープドライブ等で構成される。
通信Ｉ／Ｆコントローラ２０８は、ネットワーク１０３を介して行われる、クライアントＰＣ等の外部機器との通信を制御する。
【００１９】
クライアントＰＣ１０１，１０２は、帳票サーバ１００と同様のハードウェア構成を有するので、その説明は省略する。なお、帳票ファイル２１３については、クライアントＰＣが、表示するために必要な部分のみを帳票サーバ１００から受信するので、クライアントＰＣ１０１，１０２が予め保持することはない。クライアントＰＣ１０１，１０２は、帳票ファイル２１３を表示するためのクライアントモジュールを保持し、帳票サーバ１００内のプログラム２１２とは異なるプログラムを保持する。また、クライアントＰＣ１０１，１０２では、帳票ファイル２１３の表示若しくは任意の帳票ファイル２１３に対する検索条件の指定等が可能である。
帳票サーバ１００は、ＰＤＦファイルを受信すると、ＣＰＵ２０１により、ＰＤＦファイルを解析して、帳票ファイル２１３を生成する。
【００２０】
図３は、帳票ファイル２１３の構成例を示す図である。
帳票ファイル２１３（第１の文書データ）は、帳票における罫線や図などのレイアウトを定めるフォーム情報ファイル３３０１（テキストデータと合成するためのフォームデータを記憶する第４のファイル）と、帳票に含まれる文字に関するテキスト情報ファイル３３０２（テキストデータを記憶する第１のファイル）と、帳票における行ピッチや文字のフォントなどを定める文字情報ファイル３３０３（テキストデータの属性情報を記憶する第２のファイル）と、帳票において帳票テキストデータの配置を定めるページ情報ファイル３３０４（テキストデータの描画位置を記憶する第３のファイル）とで構成されている。
【００２１】
クライアントＰＣ１０１が帳票（帳票イメージ）を表示する場合、帳票サーバ１００で図示の４つの情報ファイルから表示用の帳票データを生成し、その帳票データをダウンロードした後にハードディスクに一時保存し、ワークメモリに読み込んだ後にディスプレイに帳票として表示する。
【００２２】
また、帳票ファイル２１３は、１つまたは複数のファイルによって構成され、１または複数のページを含有している。帳票サーバ１００は、複数の帳票ファイル２１３のうちの同じ種類のものをグループ化して管理しており、それぞれの帳票ファイル２１３はそのグループの中の世代と呼ばれる。例えば、営業日報のように、日時が異なる同じ種類の帳票が世代として管理される。
【００２３】
次に、図４を用いて、ＰＤＦファイル（テキストデータとテキストデータの属性情報と罫線情報とを１ファイルに含む第２の文書データ）から帳票ファイル２１３（第１のファイルと第２のファイルと第３のファイルと第４のファイルを含む第２の文書データ）へ変換した場合の模式図について説明する。
【００２４】
入力されたＰＤＦファイルを電子帳票システムにおいて登録すると、ＰＤＦファイルを解析して、フォーム情報ファイル、テキスト情報ファイル、ページ情報ファイル、文字情報ファイルを生成する。
【００２５】
例えば、図４は、１行目「あいうえお」２行目「かきくけこ」３行目「さしすせそ」で、各文字列の下には罫線（下線）が備わっているＰＤＦファイルを帳票ファイルに変換する例である。
【００２６】
変換すると、テキスト情報ファイルには、座標の原点、行数、使用するページ情報ファイルＩＤ、使用するフォーム情報ファイルＩＤ、各行のテキストデータが記憶されている。
【００２７】
文字情報ファイルには、各文字の情報、例えば、フォント、高さ、幅、ピッチ、太さ、斜体、ＳＫＩＰ（先頭文字の場合の原点からずらすドット数）が記憶されている。
【００２８】
ページ情報ファイルには、各ページの情報、例えば、用紙サイズ、改行幅数、レコード数、ページ情報ファイルＩＤ、印字開始水平位置、印字開始垂直位置、テキスト開始位置、テキスト終了位置が記憶されている。位置は、ドット数であるものとする。
フォーム情報ファイルは、フォーム情報ファイルＩＤ、座標原点、罫線を含む画像ファイルを記憶している。
【００２９】
次に、図５を用いて、ＰＤＦ登録の前提となる、ＰＤＦ帳票定義の作成について説明する。
【００３０】
管理者のクライアントＰＣから帳票サーバ１００にアクセスし、図５の設定画面をクライアントＰＣに表示する。この設定画面で、帳票サーバ１００の所定のフォルダに格納されたＰＤＦを検知する設定を行う。
【００３１】
帳票種別（ＰＤＦ）、ホスト転送ファイル名は、格納されたＰＤＦファイルのファイル名を指定する。これにより必要なＰＤＦファイルを取得して帳票ファイルに変換することが可能となる。
【００３２】
その他、入力となる帳票データを変換するためのホストプリンタ名を指定する。これらの設定情報をデータベース等の記憶部に保存し、この設定情報をもとにＰＤＦファイルを取得して変換処理を実行する。
【００３３】
次に、図６を用いて、変換処理の全体のフローチャートについて説明する。なお、各処理は帳票サーバ１００のＣＰＵ２０１が実行するものとする。
ステップＳ０１では、帳票サーバ１００がＰＤＦファイルを受信して、ＳＰＯＯＬフォルダに格納する。
【００３４】
ステップＳ０２では、帳票サーバ１００は、ＳＰＯＯＬフォルダを監視しており、ＳＰＯＯＬフォルダに格納されたＰＤＦファイルを取得する。すなわち、テキストデータとテキストデータの属性情報と罫線情報とを１ファイルに含む第２の文書データを取り込む取込処理の一例を示すステップである。
【００３５】
ステップＳ０３では、図５で設定したＰＤＦ帳票定義に一致するＰＤＦファイルが存在するかを判定する。一致する（所定の）ＰＤＦファイルが存在すると判定した場合には、ステップＳ０５へ処理を移す。一致する（所定の）ＰＤＦファイルが存在しないと判定した場合には、ステップＳ０４へ処理を移し、エラーを記録する（ステップＳ０４）。
【００３６】
ステップＳ０５では、ＰＤＦ帳票定義の種別が「ＰＤＦ」であるか判定する。「ＰＤＦ」である場合には、ステップＳ０７へ処理を移す。「ＰＤＦ」でない場合には、ステップＳ０６へ処理を移しエラーを記録する（ステップＳ０６）
【００３７】
ステップＳ０７では、ＰＤＦファイルの解析を開始する。解析では、罫線を抽出し、同一フォームかと特定し、ＰＤＦ構成情報のもと情報を生成する。また、ＰＤＦファイルの文字列から、文字ごとの座標を決定し、データ情報のもと情報を生成する。
【００３８】
ステップＳ０８では、ＰＤＦファイルの解析結果により中間ファイルを生成する。この中間ファイルを一時記憶フォルダに保存する。中間ファイルは、データ情報（ＳＶＧ形式）と、フォーム情報（ＳＶＧ形式）と、ＰＤＦ構成情報（テキスト形式）である。ＳＶＧ形式はＸＭＬ形式で記載されたファイルである。
【００３９】
データ情報は、ＰＤＦファイルのページ分作成され、各ページごとにテキストデータや、描画される位置情報（一文字ずつ）が記憶されている。データ情報の一例を示す図が、図８の８０１である。８０１をもとに、各文字のＹ座標ごと（行ごと）に、Ｘ座標の小さい順に文字を並べ変える。すなわち、テキストデータの１文字ごとに配置位置のＸ座標に従って、各行の文字を配列する配列処理である。
【００４０】
フォーム情報は、ＰＤＦファイルの各ページの罫線情報、画像などがことある数分作成される。すべてのページが同じフォーム（レイアウト）である場合には、フォーム情報は１つとなる。なお、罫線抽出は、PDFファイルに含まれる罫線属性を持つ情報、或いは、既知の罫線抽出技術を用いて、罫線を取得することで実現する。抽出された罫線情報をもとにフォーム情報が生成される。すなわち、第２の文書データから、罫線情報を抽出する罫線抽出処理である。
異なるものかどうかは、各ページから抽出される罫線情報・画像などの情報のハッシュ値をもとに判断する。
【００４１】
ＰＤＦ構成情報は、ＰＤＦファイルにつき、１つ作成されるファイルであり、ＰＤＦファイルが何ページからなるか、各ページで使用されるページ情報やフォーム情報を定義するファイルである。ＰＤＦ構成情報の一例を示す図が、図７である。
【００４２】
ステップＳ０９では、中間ファイルをもとに、行情報を集計する。行情報の集計については、図９のフローチャートを用いて後述する。すなわち、第２の文書データの各ページのテキストデータの配置位置から、ページ共通の行を特定する行特定処理である。
ステップＳ１０では、行情報集計結果から&#8232;共通ページ定義を作成する。共通ページ定義の作成については、図１４のフローチャートを用いて後述する。
ステップＳ１１では、共通ページ定義を使用して、独自帳票データを作成する。帳票データの作成については、図１５のフローチャートを用いて後述する。
ステップＳ１２では、本処理を終了する。
【００４３】
次に、図９のフローチャートを用いて、行情報集計処理について説明する。
ステップＳ１３では、ＰＤＦ構成情報を読み込み、ステップＳ１４では、内部メモリに保持する。
【００４４】
ステップＳ１５では、ＰＤＦ構成情報のヘッダーページのフォーム情報を確認し、フォームごとにファイルリストを作成し、内部メモリに保持する。ファイルリストの例が９０１で、フォーム情報ごとに、どのデータ情報かを対応付けて記憶している。
ステップＳ１６では、作成したデータファイルリストを取得し、フォーム単位に処理を開始する。
ステップＳ１７では、データ情報を読み込み、ステップＳ１８では、読み込んだデータから行リスト（８０２）として、内部メモリに保持する。
【００４５】
ステップＳ１９では、行リストから１行分のデータを読み込み、ステップＳ２０では、行情報集計結果の垂直（Y座標）終了位置として、読み込んだ１行分のデータのY座標データを電子帳票システム内の内部メモリに追加する。この時、同じY座標データが存在した場合は追加せず、行高さ（文字の大きさ）の値を引いた値を垂直（Y座標）開始位置として追加する。すなわち、テキストデータの配置位置のＹ座標に従って、行の位置を決定する行位置決定処理である。
図１０がＹ座標を集約した行の概略を示すイメージ図である。
ステップＳ２１では、行リスト分繰り返し、行集計結果にY座標データをマージする。
【００４６】
ステップＳ２２では、ステップＳ２１の繰り返し処理を終了すると、データ情報１つ分の行情報集計結果が作成される。データ情報１つ分の行情報集計結果の例が９０２である。すなわち、第２の文書データの各ページのテキストデータの配置位置から、ページ共通の行を特定する行特定処理の特徴的なステップである。また、ページごとの行位置（Ｙ座標）に従って、ページ共通の行を特定するものである。
【００４７】
ステップＳ２３では、データファイル数分繰返し、ステップＳ２４では、フォーム情報ファイル毎のデータ情報全ての行情報集計結果が作成される。データ情報すべての行情報集計結果の例が９０３である。
ステップＳ２５では、フォーム毎に作成した行情報集計結果（９０３）を、Y座標で昇順にソートする。ソートした行情報集計結果の例が９０４である。
【００４８】
ステップＳ２６では、ソートしたY座標から改行幅となるY座標の差分を集計して作成し、行情報集計結果に改行幅情報を付け足して内部メモリに保持する。改行幅情報を付け足した行情報集計結果の例が９０５である。前の行の情報を用いてプリントラインを生成できる場合に、「０」となっている。９０５で示されるＹ１〜Ｙ４は、テキストが含まれる各行の行情報である。
ステップＳ２７では、フォーム毎に作成した行情報集計結果を、内部メモリに保持する。
ステップＳ２８では、フォーム数分繰り返し、すべてのフォーム対する行情報集計結果を作成し、行情報集計結果リストを作成する。
【００４９】
次に、図１４のフローチャートを用いて、共通ページ定義処理について説明する。
【００５０】
ステップＳ２９では、作成した全ページの行情報（Y座標）を使用して共通ページ定義作成の処理を開始する。処理はフォーム毎に作成した行情報集計結果を元に開始する。例えば、行情報集計結果リストからフォーム１の行情報集計結果を取得する（例えば、９０５）。フォーム毎に繰返し行うことで、フォームごとに全ページ共通の共通ページ定義を作成することとなる。
ステップＳ３０では、共通ページ定義の情報を格納するオブジェクトを、内部メモリに作成する。
ステップＳ３１では、行情報集計結果から、行情報（Y座標）のリストを取得する。
ステップＳ３２では、取得した行情報（Y座標）のリストから、先頭行の情報を取得する。
【００５１】
ステップＳ３３では、共通ページ定義で必要となるプリントライン（行情報）の値として、行情報集計結果から行数を取得し、先頭行の情報から先頭行の水平（X座標）・垂直（Y座標）の開始位置を共通ページ定義の情報として格納する。プリントラインは行情報であるため、開始位置となる水平（X座標）は「０」として登録する。
プリントラインの概略を示す図が図１２のイメージ図である。
【００５２】
ステップＳ３４では、プリントラインの位置を用いて、共通ページ定義で必要となるフィールド（テキスト領域）の値として、先頭行の情報から先頭行の水平（X座標）・垂直（Y座標）の開始位置・終了位置を共通ページ定義の情報として格納する。電子帳票システムにおいてテキストを描画できる領域は用紙サイズの端から４８ドット内側（有効印字領域）となるため、水平（X座標）の開始位置は「４８」、終了位置は「用紙サイズ−４８」（ドット）として登録する。また、垂直（Y座標）の開始・終了位置は、先頭行の情報で保持している値を登録することとする。
【００５３】
なお、フィールドの値は、行情報集計結果９０５を用いて登録してもよい。行情報集計結果からＹ座標が特定できる。このフィールドの値は、ページ情報ファイルに記憶される。
ステップＳ３５では、共通ページ定義で必要となる改行幅（行の差分情報）の値として、先頭行の情報から改行幅情報を取得する。
ステップＳ３６では、改行幅の設定行数が「０」か否かを判定する。
【００５４】
ステップＳ３７では、「０」で無い（＝改行幅が存在する）場合、改行幅情報として、改行幅の値・該当の改行幅を適用する行数を共通ページ定義の情報として格納する。この時、「０」であった場合は、次の行情報を取得する。
ステップＳ３８では、改行幅の情報が先頭行かどうかを判断する。
【００５５】
ステップＳ３９では、先頭行で無い場合、この改行幅の値の分だけ、共通ページ定義に格納したフィールドの高さを拡張するよう、共通ページ定義を更新する。先頭行であった場合は、既にフィールドが先頭行の値で作成されているため、特になにもせずに次の行情報の処理を実施する。この通り、改行幅情報の分だけ処理を行うことで、行情報集計結果で保持している改行幅情報を共通ページ定義として作成する。
【００５６】
ステップＳ４０では、行数分・フォーム数分の行情報集計結果を共通ページ定義として作成する処理が終了した場合に、この時点で共通ページ定義の作成を終了する。共有ページ定義の概念図は図１１となる。図１１によれば、同一フォーム、全てのページで共通の行情報が特定できる。
ステップＳ４１では、フォーム毎に作成した共通ページ定義を紐付けたリストを作成する。
【００５７】
次に、図１５のフローチャートを用いて、共通ページ定義を使用して独自帳票データ（帳票実績ファイル）を作成する処理について説明する。
【００５８】
ステップＳ４２では、テキスト情報・文字情報を作成するためのテキストデータ変換用のコンバータを内部メモリに作成する。テキストデータ変換用のコンバータは、中間データとして作成したデータ情報を解析し、共通ページ定義を用いてテキスト情報・文字情報を作成するために、データの変換を行うためのものである。
ステップＳ４３では、ページ順にデータファイルを取得し、行リストとして読み込む。
【００５９】
ステップＳ４４では、読み込んだデータは内部メモリ内に保持する。行情報集計結果で取得した情報は既にメモリ上から破棄されているため、ここで改めて読み込むものとする。処理速度を考慮した場合には、読み込んだデータを使いまわすほうが高速になるが、ページ数によってはメモリの圧迫につながるため、必要な時に読み込む。
【００６０】
ステップＳ４５では、PDF構成情報とフォーム毎の共通ページ定義格納情報から、該当のデータファイルで使用する共通ページ定義（図１４で生成された共通ページ）を特定し、取得する。以降は、テキストデータ変換コンバータの処理となる。ここで、テキストデータ変換コンバータには読み込んだデータの行リスト、ページ番号、共通ページ定義の情報を渡して処理を実行する。
ステップＳ４６では、独自形式のテキストオブジェクト（テキスト情報）をメモリ内に作成する。
ステップＳ４７では、独自形式のマップパターン（文字情報）をメモリ内に作成する。
ステップＳ４８では、共通ページ定義から、プリントライン、改行幅情報を取得する。
ステップＳ４９では、プリントラインに設定されている行数分、プリントラインデータオブジェクトを内部メモリ内に作成する。
【００６１】
ステップＳ５０では、プリントラインデータオブジェクトは、データの行リストで保持している行単位のテキストを割り当てるためのものであり、このデータを用いて、独自帳票データ（帳票実績ファイル）のテキスト情報を作成することとなる。
ステップＳ５１では、データの行リストから１行分のデータを取得する。
ステップＳ５２では、共通ページ定義のプリントラインのY座標と１行分のデータのY座標が一致するかを判定する
【００６２】
ステップＳ５３では、一致した場合は、１行分のテキストをプリントラインデータオブジェクトに割り当てる。一致しなかった場合は、データ無しとしてNULLを割り当てる。
【００６３】
ステップＳ５４では、共通ページ定義のプリントラインのY座標を改行幅の分だけずらし、データの行リストが全てのプリントラインデータオブジェクトに割り当てられるまで処理を繰り返して実行する。
プリントデータオブジェクトに割り当てる処理の概略図が図１３である。
【００６４】
ステップＳ５５では、データの行リストが全て割り当てられた後、プリントラインデータオブジェクトの行数が余っている場合、残りは全てNULLを割り当てる。
【００６５】
ステップＳ５６では、プリントラインデータオブジェクトに割り当てられたデータは独自帳票データへの変換を容易にするため、変換しやすい１ページ分のテキストリストとして作成するための格納リストを作成する。
【００６６】
ステップＳ５７では、このリストには行単位のテキストリストを格納するため、プリントラインデータに割り当てられた１行分のテキスト単位（１文字単位）で、独自帳票データのテキストオブジェクト・マップパターンを作成する。マップパターンとは、１文字ずつのバイト数・高さ・幅・フォント・ピッチ（次の文字との間隔）・斜体・太字といった情報を保持するものである。なお、フォントや斜体・太文字などは、ＰＤＦファイルの文字の属性として保持しているものを記憶する。
【００６７】
ステップＳ５８では、作成した１行分のテキストオブジェクトをテキストリストに追加し、これをプリントラインデータに割り当てられた行数分繰返し実行する。これにより、１ページ分のテキストリストが作成される。すなわち、特定した行に含まれるテキストデータを特定するテキストデータ特定処理である。
ステップＳ５９では、１ページ分のテキストリストを、一括で独自帳票データのテキスト情報に変換しやすいように、１ページ分テキスト情報として変換する。
ステップＳ６０では、同じようにメモリ上のマップパターンを１ページ分のマップパターンとして変換する。
【００６８】
ステップＳ６１では、１ページ分テキスト情報をテキスト情報ファイル（REPファイル）として書き込み、１ページ分の情報が格納されたテキスト情報ファイルが作成される。
【００６９】
ステップＳ６２では、１ページ分マップパターンを文字情報ファイル（MAPファイル）として書き込み、１ページ分の情報が格納された文字情報ファイルが作成される。ここまでの処理を繰返し実施することで、全ページ分のテキスト情報ファイル・文字情報ファイルが作成される。
【００７０】
ステップＳ６３では、作成した共通ページ定義情報を、作成した数だけページ情報ファイル（PAGファイル）として書き込む。ここで、フィールドの値が記憶され、各ページの各行の領域が定義される。このフィールドの値は、独自ファイル形式でのテキスト検索の際に用いられるものである。
【００７１】
本実施形態では、フィールドの値の終了位置のＸ座標は、ステップＳ３４で説明した「用紙サイズ−４８」（ドット）となるが、各行のテキストの終端の座標を定義することも可能である。この場合、不要な領域を定義することがなり、より適切な独自形式のファイルとなる。
【００７２】
ステップＳ６４では、中間データとして作成されたフォーム情報（Ｓ０８で生成されたフォーム情報）を、フォーム情報ファイル（FRMファイル）に書き込む形に変換し、ファイルへと書き込む。
【００７３】
ステップＳ６１〜ステップＳ６４の処理は、テキストデータ特定処理で特定されたテキストデータを含む第１のファイルと、各テキストデータに対して、第２の文書データから得られる属性情報を割り当てた第２のファイルと、行特定処理で特定された行に従って、決定されたテキストデータを描画する位置を記憶する第３のファイルと、罫線抽出処理により抽出された罫線情報を含むフォームデータを記憶する第４のファイルとを生成するファイル生成処理である。
【００７４】
ステップＳ６５では、共通ページ定義を使用した独自帳票データ（帳票実績ファイル）に帳票識別情報が付与されて電子帳票システムへの登録が完了する。すなわち、ファイル生成処理により生成された第１のファイルと第２のファイルと第３のファイルと第４のファイルとを、第１の文書として登録する登録処理である。
登録が完了すると、ＰＤＦファイルは削除される。また、この登録された独自帳票データを用いて、クライアント端末のブラウザで帳票を閲覧する。
【００７５】
以上、本実施形態を説明したが、本実施の形態では、帳票ファイル２１３を表示させる際に、ＡＣＴＩＶＥ−Ｘが帳票サーバ１００からクライアントＰＣにダウンロードされ、クライアントＰＣ上のブラウザにより帳票ファイル２１３が表示される。また、各種表示制御をＡＣＴＩＶＥ−Ｘを用いて制御するように構成しているが、これに限定されない。例えば、ブラウザを用いることなく、クライアントサーバ型のシステムで構成してもよい。この場合、クライアントＰＣ側に、帳票ファイル２１３を表示、検索することができる独自のプログラムを予めインストールさせて実現させることも可能である。
【００７６】
以上説明したように、本実施形態によれば、ＰＤＦファイルなどのテキストデータとテキストデータの属性情報と罫線情報とを１ファイルに含む文書データを、電子帳票システムで容易に扱えるファイルに変換することができる。
【００７７】
特に、PDFを電子帳票システムにおいて電子帳票として扱うことが可能となるので、ユーザの業務の効率化を図ることが可能となる。
【００７８】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００７９】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８０】
また、本発明におけるプログラムは、図６、図９、図１４、図１５に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図６、図９、図１４、図１５の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図６、図９、図１４、図１５の各装置の処理方法ごとのプログラムであってもよい。
【００８１】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８２】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００８３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００８４】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００８７】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８８】
１００  帳票サーバ
１０１  クライアントＰＣ
１０２  クライアントＰＣ
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２１１  外部メモリ
【図１】
0006550721.tif 000002
【図２】
0006550721.tif 000003
【図３】
0006550721.tif 000004
【図４】
0006550721.tif 000005
【図５】
0006550721.tif 000006
【図６】
0006550721.tif 000007
【図７】
0006550721.tif 000008
【図８】
0006550721.tif 000009
【図９】
0006550721.tif 000010
【図１０】
0006550721.tif 000011
【図１１】
0006550721.tif 000012
【図１２】
0006550721.tif 000013
【図１３】
0006550721.tif 000014
【図１４】
0006550721.tif 000015
【図１５】
0006550721.tif 000016