(57)【要約】【課題】  予めフォーム情報（罫線情報）を準備しておかなくても、文字データを解析することにより当該出力データの最適な出力形態を求めることを可能とする。【解決手段】  電子帳票システムは、区切り文字を含む文字データを、区切り文字を基準にして各フィールドに分割し、各フィールドに分割された文字データのうち、各行で最大となるフィールド文字数の合計値を求め（ステップＳ７２）、求めた各行の最大文字数に基づいて、出力可能な文字データの最大文字サイズを決定する（ステップＳ７５）。【選択図】  図７
2005190194.tif 000002
【特許請求の範囲】
【請求項１】
区切り文字を含む文字データを、前記区切り文字を基準にして各フィールドに分割する分割手段と、
前記分割手段により各フィールドに分割された文字データのうち、各列で最大となるフィールド文字数の合計値を記録する最大文字数記録手段と、
前記最大文字数記録手段に記録された各列の最大文字数に基づいて、出力可能な前記文字データの最大文字サイズを決定する最大文字サイズ決定手段とを有することを特徴とする情報処理装置。
【請求項２】
前記最大文字数記録手段により記録された前記各列の最大文字数で全文字データを出力できない行を特定する特定手段と、
前記特定手段により特定された行に含まれるフィールドの文字データの一部を削除する文字削除手段とを更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字削除手段により削除対象となった文字データを記録する削除文字記録手段を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記文字データを出力する用紙サイズを決定する用紙サイズ決定手段と、
前記最大文字数記録手段により記録された最大文字数、前記最大文字サイズ決定手段により決定された最大文字サイズ、及び、前記用紙サイズ決定決定手段により決定された用紙サイズに基づいて、各フィールドを区切るための罫線情報を作成する罫線情報作成手段とを更に有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記最大文字数記録手段により記録された最大文字数、前記最大文字サイズ決定手段により決定された最大文字サイズ、前記用紙サイズ決定決定手段により決定された用紙サイズ、及び、前記文字データの行数に基づいて、各フィールド内の矩形領域を指定するための領域指定情報を作成する領域指定情報作成手段と、
前記領域指定情報作成手段により作成された前記領域指定情報を記録する領域指定情報記録手段とを更に有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記フィールド文字数より少ない文字数のフィールドの文字データに空白文字データを付加する空白文字付加手段を更に有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
情報処理装置による情報処理方法であって、
区切り文字を含む文字データを、前記区切り文字を基準にして各フィールドに分割する分割ステップと、
前記分割ステップにより各フィールドに分割された文字データのうち、各列で最大となるフィールド文字数の合計値を最大文字数記録手段に記録する最大文字数記録ステップと、
前記最大文字数記録手段に記録された各列の最大文字数に基づいて、出力可能な前記文字データの最大文字サイズを決定する最大文字サイズ決定ステップとを含むことを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電子帳票システムに適用可能な情報処理装置、情報処理方法、プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、電子帳票システムは、ＣＳＶ（Comma Separated Values）、ＴＥＸＴフォーマット等のデータを取得した場合は、予め作成済みのフォーム情報と関連付けを行い、内部に保管していた。
【０００３】
しかし、作成済みのフォーム情報が準備されていない場合は、カンマ区切り形式のまま画面に表示されていた。そのため、電子帳票システムにＣＳＶ、ＴＥＸＴフォーマット等のデータを入力するためには、事前に罫線情報（フォーム情報、ページ情報）を作成する必要があり手間がかかっていた。
【０００４】
また、予め作成されたフォーム情報と関連付けを行い電子データとして保存したとしても、その電子データを画面に表示させて検索を行うためには、ユーザは、表示画面を見ながら検索を実行する所定の検索領域を手動で選択する必要があった。
【０００５】
そのため、検索領域の数が多くなる程、検索領域の指定に手間がかかり、また、手動による検索領域指定のため、領域指定ミスによる検索結果の間違いが生じる可能性があった。
【０００６】
従って、事前にフォーム情報を準備しなくてもＣＳＶ、ＴＥＸＴフォーマット等のデータから電子データに変換することができるとともに、検索領域の指定もされる機能が望まれる。
【０００７】
特許文献１には、データの配置位置状態に応じて、その階層構造を識別できる出力形態の表を自動的に出力可能な技術が開示されている。
【０００８】
【特許文献１】特開平１１−２５９５８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示された発明は、入力後のデータの配置位置状態に応じて、その階層構造を識別できる出力形態の表を自動的に出力できるようにするものであり、入力時に、入力データを解析して各フィールド長から最適な表示形式を求める技術を提供するものではない。
【００１０】
従って、本発明の目的は、予めフォーム情報（罫線情報）を準備しておかなくても、文字データを解析することにより当該出力データの最適な出力形態を求めることを可能とすることにある。
【００１１】
また、本発明の他の目的は、検索領域の検索時等に手動で領域指定操作を行う必要をなくし、領域指定操作のミスによる作業上の手戻りをなくすことにある。
【課題を解決するための手段】
【００１２】
斯かる目的を達成するために、本発明の情報処理装置は、区切り文字を含む文字データを、前記区切り文字を基準にして各フィールドに分割する分割手段と、前記分割手段により各フィールドに分割された文字データのうち、各列で最大となるフィールド文字数の合計値を記録する最大文字数記録手段と、前記最大文字数記録手段に記録された各列の最大文字数に基づいて、出力可能な前記文字データの最大文字サイズを決定する最大文字サイズ決定手段とを有することを特徴とする。
【００１３】
本発明の情報処理方法は、情報処理装置による情報処理方法であって、区切り文字を含む文字データを、前記区切り文字を基準にして各フィールドに分割する分割ステップと、前記分割ステップにより各フィールドに分割された文字データのうち、各列で最大となるフィールド文字数の合計値を最大文字数記録手段に記録する最大文字数記録ステップと、前記最大文字数記録手段に記録された各列の最大文字数に基づいて、出力可能な前記文字データの最大文字サイズを決定する最大文字サイズ決定ステップとを含むことを特徴とする。
【００１４】
本発明のプログラムは、前記情報処理方法をコンピュータに実行させることを特徴とする。本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、例えばＣＳＶやＴＥＸＴフォーマット等の区切り文字を含む文字データを、当該区切り文字を基準にして各フィールドに分割するとともに、出力可能な文字データの最大文字サイズを決定するように構成したので、予めフォーム情報（罫線情報）を準備しておかなくても、文字データを解析することにより当該出力データの最適な出力形態を求めることが可能となる。
【００１６】
また、本発明の他の特徴によれば、各フィールド内の矩形領域を指定するための領域指定情報を作成し、記録するように構成したので、矩形領域の検索時等にその領域指定情報を呼び出すことにより手動で領域指定操作を行う必要がなくなり、領域指定操作のミスによる作業上の手戻りをなくすことが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１８】
先ず、図１を用いて、従来の電子帳票システムと本発明を適用した電子帳票システムとの差異を概略的に説明する。
従来の電子帳票システムは、帳票システム管理者１３がフォーム作成ツール１４を使用して予めフォーム情報１５を作成しており、ホストコンピュータ１１からＣＳＶやＴＥＸＴフォーマット等の印字データ１２を取得した場合には、取得した印字データ１２と予め作成済みのフォーム情報１５との関連付けを行って電子帳票システム内部に登録していた。このように、電子帳票システムが印字データ１２を入力するためには、事前にフォーム情報１５が作成されている必要があり、帳票システム管理者１３にとって手間がかかっていた。これに対し、本発明を適用した電子帳票システムは、入力されるＣＳＶやＴＥＸＴフォーマット等の印字データ１２に応じたフォーム情報１５が自動的に電子帳票システム内で作成されるため、帳票システム管理者１３が事前にフォーム情報１５を作成する手間を省くことを可能としている。
【００１９】
図２は、本発明の一実施形態に係る電子帳票システムのハードウェア構成を示す図である。
電子帳票システムは、ＣＰＵ２１、ＲＡＭ（メモリ）２２、ＲＯＭ２３、ハードディスクドライブ（ＨＤＤ）２４、記録媒体ドライブ２５、ネットワークインタフェースカード（ＮＩＣ）２９、ポインティングデバイス（Ｐ／Ｄ）２８、キーボード（Ｋ／Ｂ）２７、ビデオアダプタ２６を備え、これらがシステムバスを介して互いに接続されている。
【００２０】
ＣＰＵ２１は、オペレーションシステム（ＯＳ）のプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算及びハードウェアの制御を行うものである。
【００２１】
ＲＡＭ２２は、ハードディスクドライブ（ＨＤＤ）２４、ＲＯＭ２３、他の記録媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ＦＤ）等の記憶装置に記録されているＯＳやアプリケーションプログラム等を一時的に記憶するものであり、これらＲＡＭ２２に記憶されたプログラムはＣＰＵ２１の制御の下に実行される。
【００２２】
ＲＯＭ２３には、ＯＳと協働して外部記憶装置等への入出力を司るいわゆるＢＩＯＳ等が記憶される。ハードディスクドライブ（ＨＤＤ）２４には、ＯＳ等のプログラムが記憶されている。
【００２３】
記録媒体ドライブ２５は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取り等に用いる。
【００２４】
ネットワークインタフェースカード（ＮＩＣ）２９は、ＣＰＵ２１によって制御されるＯＳの通信プログラムと協働してネットワークを介した外部との通信を行う。
【００２５】
キーボード（Ｋ／Ｂ）２７やポインティングデバイス（Ｐ／Ｄ（例えばマウス））２８は、電子帳票システムへの指示を入力するために用いられる。ビデオアダプタ２６は、画像表示装置に表示する画像を形成するために用いられる。
【００２６】
図３は、本電子帳票システムの全体的な動作を示すフローチャートである。
ステップＳ３１において、電子帳票システムがホストコンピュータからＣＳＶやＴＥＸＴデータ等の印字データを受信すると、電子帳票システムは、それらの受信データを読み込み、フィールド毎の実データ文字数及び実データ最大文字数を解析する。
【００２７】
続くステップＳ３２では、電子帳票システムは、後述のフィールド幅決定方法に従ってフィールド幅を決定し、ページレイアウト情報を生成する。このページレイアウト情報は印字データとともに本電子帳票システムへ登録される。
【００２８】
本実施形態におけるフィールド幅決定方法には次の２通りがある。
第１のフィールド幅決定方法は、図５にＩＮＰＵＴ形式１として示すように、ＣＳＶ、ＴＥＸＴデータの先頭レコードにフィールド幅を定義する制御レコードを指定する方法である。制御レコードは数字"９"、文字"Ｘ"でフィールド毎に指定する。
【００２９】
第２のフィールド幅決定方法は、図５にＩＮＰＵＴ形式２として示すように、ＣＳＶ、ＴＥＸＴデータには制御レコードがなく、ステップＳ３１にて保持した各フィールドの文字数の最大文字数の合算値により決定する方法である。
【００３０】
図６は、図５のＩＮＰＵＴ形式２の入力データと、その入力データに基づいて生成される帳票データの出力イメージとを示す図である。本実施形態では、上記のように入力データに基づいてフォーム情報が自動的に生成され、図６中のＯＵＴＰＵＴに示すように、印字データの視認性を保つ適正な位置に縦罫線が描画される。
【００３１】
ステップＳ３３では、電子帳票システムは、ステップＳ３２により決定されたフィールド幅毎に縦罫線を描画するためのフォームレイアウトを自動生成し、印字データとともに電子帳票システムに登録する。
【００３２】
ステップＳ３４では、電子帳票システムは、各項目のデータが決定されたフィールド幅になるように空白を付加、又はデータ削除を行いレコードフォーマットの成形を行う。削除された項目に対してはマーカを付加し、そのコメント内に元文字列を記述しておくことで、データ抜けを予防する。図１４は、マーキングの画像イメージを示す図である。エンドユーザは付加されたマーカの位置にマウスポインタを移動することで元のデータを確認することが可能となる。
【００３３】
ステップＳ３５では、電子帳票システムは、検索領域の指定を容易なものとするための矩形カタログ情報を生成し、帳票登録時に同時に登録する。この矩形カタログ情報を用いて検索領域を選択することが可能とすることにより、従来のように手動で検索領域を指定することによって頻繁に生じる領域指定ミスを回避することができる。
【００３４】
次に、図３の各ステップＳ３１〜Ｓ３５の夫々について詳細に説明する。
図４は、図３のステップＳ３１の詳細を示すフローチャートである。先ず、電子帳票システムのＣＰＵ２１は、ホストコンピュータから受信した印字データの１レコード目に制御レコードが存在するか否かを判断する（ステップＳ４１）。なお、本実施形態においては、ホストコンピュータから受信した印字データに対して処理を行っているが、印字データはホストコンピュータから受信するものに限られず、例えば、ユーザから入力された印字データであってもよい。
【００３５】
１レコード目が制御レコードである場合は、当該レコードはフィールド情報の解析には用いられないため、当該レコードをスキップする（ステップＳ４５）。１レコード目が制御レコード以外の印字データから成るレコードである場合は、当該レコードを読み込み、カンマ等の区切り文字によって区切られる印字データを各フィールドに分割する（ステップＳ４２）。
【００３６】
続いて、ＣＰＵ２１は、フィールド単位に実データ（印字データ）文字数をＲＡＭ２２に保存し、次にフィールド単位に実データ文字数の最大値をＲＡＭ２２に保存する（ステップＳ４３）。ステップＳ４２の処理を全レコードに亘って実行し、それにより読み込まれた各レコードの全フィールドに亘ってステップＳ４３、Ｓ４４を実行することにより、各フィールドの実データ文字数と、全レコードにおける各フィールドの実データ文字数の最大値とをＲＡＭ２２に保存する（ステップＳ４４）。
【００３７】
例えば、図４に示すように、各フィールドの実データ文字数としては、レコード１のフィールド１、フィールド２、フィールド３の実データ文字数は夫々"３"、"３"、"６"、レコード２のフィールド１、フィールド２、フィールド３の実データ文字数は夫々"２"、"４"、"４"が保存され、各フィールドの実データ文字数の最大値としては、フィールド１についてはレコード３の実データ文字数"４"、フィールド２についてはレコード２の実データ文字数"４"、フィールド３についてはレコード４の実データ文字数"１０"が夫々保持される。
【００３８】
続いて、ＣＰＵ２１は、各フィールドの実データ文字数最大値を「フィールド文字数」として格納し、定義する（ステップＳ４６）。
【００３９】
図７は、図３のステップＳ３２の詳細を示すフローチャートである。先ず、ＣＰＵ２１は、入力したＣＳＶ、ＴＥＸＴデータを用紙上に印字する際の１行当たりの文字数の上限を求め、ＲＡＭ２２に格納する（ステップＳ７１）。
【００４０】
１行当たりの文字数の上限を求める際には、次の２通りの方法がある。第１の方法としては、ＣＰＵ２１が下記の計算式から１行当たりの文字数の上限を算出する方法である。
１行当たりの文字数上限＝用紙幅／最小文字１文字の幅
ここで、用紙幅とは、帳票を印字する際に使用する用紙の幅であり、最小文字１文字の幅とは、使用可能な文字のうち最も小さな文字の１文字の幅である。
【００４１】
第２の方法としては、ＣＰＵ２１は、予め設定される用紙サイズ（縦、横）、文字サイズ毎に印字可能文字数を対応付けたマトリックス情報に基づいて、１行当たりの文字数の上限を求める。例えば、Ａ４Ｐサイズの用紙を縦方向に文字サイズ８ポイントの文字を印字する場合は、１行当たり最大１４０文字が印字可能であり、１行当たりの文字数の上限は１４０文字となる。Ａ４Ｌサイズの用紙を横方向に文字サイズ１６ポイントの文字を印字する場合は、１行当たり最大１００文字が印字可能であり、１行当たりの文字数の上限は１００文字となる。
【００４２】
続いて、ＣＰＵ２１は、ステップＳ４３で求めた各フィールドの実データ文字数をレコード単位に合計することにより、各レコードの１行当たりの文字数を求める（ステップＳ７２）。
【００４３】
続いて、ＣＰＵ２１は、ステップＳ７１で求めた１行当たりの文字数の上限と、ステップＳ７２で求めた各行の１行当たりの文字数とを比較し（ステップＳ７３）、１行当たりの文字数が上記文字数の上限以上となる行が存在すれば、後述するステップＳ７４のフィールド文字数の削減処理に以降する。
【００４４】
一方、全ての行の文字数が上記１行当たりの文字数の上限より少なければ、ＣＰＵ２１は、ステップＳ４６で定義した各フィールドのフィールド文字数の合計値を算出し、当該合計値と使用する用紙サイズとに基づいて、印字する文字サイズを決定する（ステップＳ７５）。
【００４５】
ステップＳ７５における文字サイズの決定処理には、次の２通りの方法がある。
第１の方法としては、用紙サイズ（縦、横）、文字サイズ毎に印字可能文字数が対応付けたマトリックス情報を使用して文字サイズを決定する方法である。例えば、使用する用紙サイズがＡ４Ｐ、印字方向が横であり、フィールド文字数の合計値が２００文字である場合は、マトリックス情報が参照され、視認性を考慮してそれらの文字全てを最大に印字できる１６ポイントの文字サイズが決定される。
第２の方法としては、下記の式を用いることによって文字サイズを決定することができる。
文字サイズ＝用紙幅／フィールド文字数の合計値
【００４６】
続いて、ＣＰＵ２１は、ステップＳ７５にて決定された文字サイズと所定の最大文字サイズとを比較し（ステップＳ７６）、当該文字サイズが所定の最大文字サイズ以上であれば、文字サイズを最大文字サイズに設定する（ステップＳ７７）。この所定の最大文字サイズは、帳票に印字する文字サイズの上限を規定する値であり、これ以上のサイズの文字は帳票の視認性を考慮すると不適当であるために設けられた制限である。一方、当該文字サイズが所定の最大文字サイズより小さければ、当該文字サイズがそのまま採用される。
【００４７】
続いて、ＣＰＵ２１は、ステップＳ７５又はステップＳ７７で決定された当該文字サイズと使用する用紙の高さとに基づいて、帳票１ページ当たりの行数を決定する（ステップＳ７８）。この行数の決定処理には、次の２通りの方法がある。
第１の方法としては、用紙サイズ（縦、横）、文字サイズ毎に印字可能文字数を対応付けたマトリックス情報を使用して文字サイズを決定する方法である。例えば、文字サイズが１６ポイントであり、使用する用紙サイズがＡ４Ｐ、印刷方向が縦である場合には、ＣＰＵ２１は、上記マトリックス情報を参照して行数を２１９行と決定する。
第２の方法としては、下記の式を用いることによって１ページ当たりの行数を決定することができる。
１ページ当たりの行数＝用紙高さ／文字高さ（文字サイズ）
【００４８】
続いて、ＣＰＵ２１は、ステップＳ７２で求められた１行当たりの文字数、ステップＳ７５又はステップＳ７７で決定された文字サイズ、及び、ステップＳ７８で決定された１ページ当たりの行数をＲＡＭ２２に保存する（ステップＳ７９）。
【００４９】
図８は、文字数の削減処理の詳細を示すフローチャートである。
先ず、ＣＰＵ２１は、ＲＡＭ２２に格納される当該ページのフィールド情報を所定のソート条件に従ってソートする（ステップＳ８１）。ここでフィールド情報とは、当該フィールド内に印字データが配置された情報である。本実施形態におけるソート条件は、文字数の多いフィールドを優先的に先頭から並べ替え（第１キー）、次に、フィールド番号（フィールドＡ：フィールド番号５、フィールドＢ：フィールド番号４、フィールドＣ：フィールド番号３、・・・）の多い順に先頭からフィールドを並べ替える（第２キー）。図８の例では、フィールドＡ（フィールド文字数"２２（半角）"）、フィールドＥ（フィールド文字数"７（半角）"）、フィールドＢ（フィールド文字数"６（半角）"）、フィールドＣ（フィールド文字数"５（半角）"）、フィールドＤ（フィールド文字数"４（半角）"）の順にソートされ、ＲＡＭ２２内のソート結果格納エリアに格納される。
【００５０】
続いて、ＣＰＵ２１は、削除対象となったフィールド情報の配列から１件のフィールド情報を取得する（ステップＳ８２）。ここで取得されるフィールド情報は、ステップＳ８１のソート処理の結果、先頭（第１候補）に配列されたフィールド情報であり、フィールドＡのフィールド情報に該当する。
【００５１】
続いて、ＣＰＵ２１は、当該フィールドのフィールド文字数が既に削除済みであるか否かを、ソート結果格納エリア（図８）内において各フィールドと対応付けられる削除済フラグ（削除済み：Ｙ，未削除：Ｎ）を参照することにより判断する（ステップＳ８３）。既にフィールド文字数を削除済みであれば、ＣＰＵ２１は、当該フィールドが最後に配列されたフィールドであるか否かを判断する（ステップＳ８７）。いま、フィールドＡは、先頭に配列されたフィールドであるため、処理はステップＳ８２に戻り、次の削除対象（第２候補）のフィールド情報を１件取得する。
【００５２】
一方、当該フィールドのフィールド文字数が未削除であれば、ＣＰＵ２１は、当該フィールドには数字が含まれているか、或いは、当該フィールド内の文字数は２０文字以下であるか否かを判断する（ステップＳ８４）。このような判断を行うのは、数字の一部又は２０文字以下の文字列を削除すると情報としての有用性がなくなるからである。当該フィールドに数字が含まれている、或いは、当該フィールド内の文字数が２０文字以下である場合は、ＣＰＵ２１は、当該フィールドが最後に配列されたフィールドであるか否かを判断する（ステップＳ８７）。なお、本実施形態においては、数字又は２０文字以下の文字列を例としたが、当然のことながらこの条件に限られることはない。いま、フィールドＡは、先頭に配列されたフィールドであるため、処理はステップＳ８２に戻り、次の削除対象（第２候補）のフィールド情報を１件取得する。
【００５３】
当該フィールドには数字が含まれておらず、且つ、当該フィールド内の文字数が２０文字より多い場合は、ＣＰＵ２１は、当該フィールドのフィールド文字数の削減数を求める（ステップＳ８５）。このフィールド文字数の削減数の算出処理については後に詳述する。
【００５４】
続いて、ＣＰＵ２１は、ステップＳ８５におけるフィールド文字数の削減数の算出処理において算出された削減数が、０より多いか否かを判断する（ステップＳ８６）。削減数が０より多い場合には、ＣＰＵ２１は求めた削減数によるフィールド文字数の削減処理を実行する（ステップＳ８９）。一方、削減数が０である場合には、ＣＰＵ２１は、続くステップＳ８７において、当該フィールドが最後に配列されたフィールドであるか否かを判断する。いま、フィールドＡは、先頭に配列されたフィールドであるため、処理はステップＳ８２に戻り、次の削除対象（第２候補）のフィールド情報を１件取得する。以上の処理を図７のステップＳ７３の判断処理がＹＥＳとなるまで繰り返し実行する。
【００５５】
なお、全フィールドのフィールド文字数が削除済みである場合、全フィールド内の文字が数字である場合、又は、フィールド文字数の削減数の算出処理を試みたが、その結果何れも０であった場合には、当該ページのフィールド内に文字を適正に配置することができず、視認性に欠けるため、ユーザに対してその旨のエラー通知を行う（ステップＳ８８）。
【００５６】
図９は、図８のステップＳ８５におけるフィールド文字数の削減処理の詳細を示すフローチャートである。ここでは、図８の例におけるフィールドＡを例に挙げて説明を行うものとする。
【００５７】
先ず、ＣＰＵ２１は、フィールドＡの元のフィールド文字数をＲＡＭ２２に保存する（ステップＳ９１）。フィールドＡの元のフィールド文字数は"２２（半角）"文字であるため、"２２（半角）"がＲＡＭ２２に保存される。
【００５８】
続いて、ＣＰＵ２１は、フィールド文字数を１つ削減する（ステップＳ９２）。従って、フィールド文字数は"２１（半角）"となる。
【００５９】
続いて、ＣＰＵ２１は、データ削減の対象となるレコードの数を求める（ステップＳ９３）。即ち、各レコードの該当フィールド（フィールドＡ）に含まれるデータ（実データ）の文字数と現フィールド文字数（"２１（半角）"）とを比較し、現フィールド文字数より文字数の多い実データ文字数のレコード数を求める。
【００６０】
続いて、ＣＰＵ２１は、当該ページ内の全レコードに対する上記削除対象となったレコードの比率を求める（ステップＳ９４）。即ち、下記の式によりその比率が求められる。
比率＝実データ削除対象レコード数／全レコード数
【００６１】
続いて、ＣＰＵ２１は、ステップＳ９４にて算出された比率が１０％より大きい値であるか否かを判断する（ステップＳ９５）。このような判断を行うのは、実データ削除対象レコードが多くなることにより、帳票としての見栄えが悪くなることを防ぐためである。算出された比率が１０％未満であるうちは、ステップＳ９２〜ステップＳ９４の処理を繰り返し実行し、比率が１０％を越えるまでフィールド文字数の削減を行う。
【００６２】
比率が１０％を越えると、処理はステップＳ９６に移行し、ＣＰＵ２１はフィールド文字数の削減数を算出する（ステップＳ９６）。即ち、ＣＰＵ２１は、ステップＳ９１にてＲＡＭ２２に保存した元のフィールド文字数（"２２（半角）"）から現在のフィールド文字数を減算し、その値に１を加算した値をフィールド文字数の削減数として算出する。ここで、比率が１０％を越えることを起因にフィールド文字数の削減数を求める処理に移行するのは、それ以上の比率のレコードを実データ削減対象とすると、帳票としての適正な視認性を維持できないためである。なお、現在のフィールド文字数とは、上記のように、ステップＳ９５において比率が１０％以下であると判断され、ステップＳ９２の処理が繰り返されることによって元のフィールド文字数から１ずつ減算されて至った値である。また、上記比率（１０％）は、設計事項に応じて適宜変更可能な値である。
【００６３】
続いて、ＣＰＵ２１は、ステップＳ９１においてＲＡＭ２２に保存した元のフィールド文字数から上記削減数を減算してフィールド文字数を更新する（ステップＳ９７）。
【００６４】
図１０は、図３のステップＳ３３の詳細を示すフローチャートである。
先ず、ＣＰＵ２１は、当該ページの行数、決定された文字サイズ、及び、使用される用紙サイズから帳票の縦罫線の上端と下端を決定する（ステップＳ１０１）。即ち、図１０の例では、行数は７行、文字サイズ（文字高）は１０ポイント（ドット）であるので、用紙サイズに対応する原点（例えば（０，０））のＹ座標値（０）が縦罫線の上端、下端は上端のＹ座標値に７０ポイント加算した値"７０"となる。
【００６５】
続いて、ＣＰＵ２１は、各フィールドのフィールド文字数と文字サイズから縦罫線の水平位置を決定する（ステップＳ１０２）。即ち、図１０の例では、フィールドＡの場合は、フィールド文字数が５文字、文字サイズ（文字幅）が１文字（半角）当たり１０ポイント（ドット）であるので、フィールドＡとフィールドＢ間の縦罫線の水平位置はＸ座標＝１００となる。ステップＳ１０２、Ｓ１０３の処理を全フィールド分繰り返し実行することにより、全縦罫線の描画命令情報が決定される。決定された縦罫線の描画命令情報はフォーム情報に追加され（ステップＳ１０３）、描画命令情報が追加されたフォーム情報はＲＡＭ２２に保存される（ステップＳ１０４）。
【００６６】
このように、本実施形態によれば、印字データを解析することにより縦罫線の描画命令情報を作成し、フォーム情報にその描画命令情報を追加するように構成したので、予めフォーム情報（罫線情報）を準備しておかなくても、帳票上における印字データの最適な出力形態を求めることができる。
【００６７】
図１１は、図３のステップＳ３４の詳細を示すフローチャートである。
先ず、ＣＰＵ２１は、当該ページから１レコード分の印字データを読み込み、カンマ（区切り文字）に基づいて印字データをフィールド毎に分割する（ステップＳ１１１）。
【００６８】
続いて、ＣＰＵ２１は、分割したフィールドのうちの何れかのフィールド（例えば、フィールドＡ）を対象に、当該フィールド内の実データの文字数が該当するフィールド文字数より少ないか否かを判断する（ステップＳ１１２）。
【００６９】
当該フィールド内の実データの文字数とフィールド文字数とが同じである場合は、ＣＰＵ２１は、実データ文字列を加工せずそのまま帳票データとして保存する（ステップＳ１１６）。
【００７０】
当該フィールド内の実データの文字数がフィールド文字数より短い場合は、ＣＰＵ２１は、フィールド文字数に一致するまで実データに空白文字を付加し（ステップＳ１１３）、帳票データとして保存する（ステップＳ１１６）。
【００７１】
また、当該フィールド内の実データの文字数がフィールド文字数より長い場合は、ＣＰＵ２１は、実データ文字列をマーカ情報としてＲＡＭ２２に保存した後（ステップＳ１１４）、そのフィールド文字数で実データ文字列をカットした後（ステップＳ１１５）、帳票データとして保存する（ステップＳ１１６）。以上の処理をレコード毎、フィールド毎について実行する。
【００７２】
図１２は、図１１のステップＳ１１３の詳細に示すフローチャートである。
当該フィールドの実データ文字数がフィールド文字数より少ない場合、ＣＰＵ２１は、フィールド文字数と実データ文字数の差分から、実データに付加する空白数を決定する（ステップＳ１２１）。
【００７３】
続いて、ＣＰＵ２１は、当該フィールド内の実データの形式が数値であるか否かを判断する（ステップＳ１２２）。実データの形式が数値である場合、実データの前方に空白文字を付加する（ステップＳ１２３）。一方、実データの形式が文字の場合は、実データの後方に空白文字を付加する（ステップＳ１２４）。これによって、フィールド内において数値は右詰め、文字は左詰めに出力されることになり、良好な視認性を得ることができる。
【００７４】
図１３は、図１１のステップＳ１１４の詳細を示すフローチャートである。
当該フィールドの実データ文字数がフィールド文字数より多い場合は、ＣＰＵ２１は、フィールド位置、文字幅、文字高さ、行位置よりマーカを配置する座標を決定する（ステップＳ１３１）。図１３の例では、フィールド位置がフィールドＡ（水平開始位置（２０，４３））、文字幅及び文字高がともに２０ポイント（ドット）、行位置が１行目（Ｙ座標値：４３）の場合を例示している。
【００７５】
続いて、ＣＰＵ２１は、実データ文字列とマーカの座標情報等によりマーカ情報を作成する（ステップＳ１３２）。具体的にマーカ情報とは、各マーカ固有のＩＤ情報、当該帳票のＩＤ情報、当該ページのページ番号情報、マーカの開始座標（Ｘ，Ｙ）、マーカの長さ、及び、当該マーカの位置にポインティングデバイスを移動させることにより表示される文字列（マーカコメント）を含む情報である。図１４にマーカ１４１が配置された帳票データの出力イメージを示す。
【００７６】
続いて、ＣＰＵ２１は、作成したマーカ情報をＲＡＭ２２に保存する（ステップＳ１３３）。
【００７７】
図１５は、図１１のステップＳ１１５の詳細を示すフローチャートである。
ＣＰＵ２１は、マーカ情報を保存した後、当該フィールドのフィールド文字数と実データ文字数の差分をカットする文字数として決定する（ステップＳ１５１）。
【００７８】
続いて、ＣＰＵ２１は、ステップＳ１５１において決定された文字数分、実データの後方のデータからカットする（ステップＳ１５２）。
【００７９】
図１６は、図３のステップＳ３５の詳細を示すフローチャートである。
先ず、ＣＰＵ２１は、当該ページの行数、決定された文字サイズ、用紙サイズから検索矩形の上端と下端を決定する（ステップＳ１６１）。即ち、図１６の例では、用紙サイズから原点（２０，１０）とともに上端（Ｙ座標：１０）が定まり、その行数に文字高を乗じた値（５９０）を上端のＹ座標に加算することによって下端（Ｙ座標：６００）が決定される。
【００８０】
続いて、ＣＰＵ２１は、フィールドＡの実データ文字数と文字サイズに基づいて、検索矩形の開始水平位置、幅を決定する（ステップＳ１６２）。即ち、図１６の例では、フィールドＡの文字数は５文字であるため、その文字数に文字サイズ（文字幅（２０ポイント））を乗じることにより検索矩形の幅（１００）が得られる。なお、フィールドＡの当該検索矩形の開始水平位置はＸ座標２０である。
【００８１】
続いて、ＣＰＵ２１は、検索矩形テンプレートに矩形カタログ情報を追加する（ステップＳ１６３）。図１６の例における矩形カタログ情報は、カタログのＩＤ情報"３２２"、当該帳票のＩＤ情報"report01"、矩形開始座標（２０（開始水平位置），１０（上端））、検索矩形の幅"１００"、検索矩形の高さ"５９０"から構成される。
【００８２】
続いて、ＣＰＵ２１は、矩形カタログ情報を追加した検索矩形テンプレートをＲＡＭ２２に保存する（ステップＳ１６４）。ユーザはこの検索矩形テンプレートを電子帳票システムの機能を用い、図１７に示すように画面上に呼び出すことで矩形領域のカタログ情報として活用することが可能となる。従って、検索又はファイル書き出し時に手動による検索矩形の指定を行うことなく、目的の帳票検索を行うことが可能となるので、検索矩形の指定のための手間を省くことができ、検索矩形の指定作業のミスによる手戻りを無くすことが可能となる。
【００８３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００８４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８８】
【図１】従来の電子帳票システムと本発明を適用した電子帳票システムとの差異を説明するための図である。
【図２】本発明の一実施形態に係る電子帳票システムのハードウェア構成を示す図である。
【図３】電子帳票システムの全体的な動作を示すフローチャートである。
【図４】図３のステップＳ３１の詳細を示す図である。
【図５】入力データの具体例を示すフローチャートである。
【図６】図５のＩＮＰＵＴ形式２の入力データと、その入力データに基づいて生成される帳票データの出力イメージとを示す図である。
【図７】図３のステップＳ３２の詳細を示すフローチャートである。
【図８】文字数の削減処理の詳細を示すフローチャートである。
【図９】フィールド文字数の削減処理の詳細を示すフローチャートである。
【図１０】図３のステップＳ３３の詳細を示すフローチャートである。
【図１１】図３のステップＳ３４の詳細を示すフローチャートである。
【図１２】図１１のステップＳ１１３の詳細を示すフローチャートである。
【図１３】図１１のステップＳ１１４の詳細を示すフローチャートである。
【図１４】マーカが配置された帳票データの出力イメージを示す図である。
【図１５】図１１のステップＳ１１５の詳細を示すフローチャートである。
【図１６】図３のステップＳ３５の詳細を示すフローチャートである。
【図１７】カタログ情報の表示画面例を示す図である。
【符号の説明】
【００８９】
１１  ホストコンピュータ
１２  印字データ
１３  帳票システム管理者
１４  フォーム作成ツール
１５  フォーム情報
２１  ＣＰＵ（中央演算処理ユニット）
２２  ＲＡＭ（ランダムアクセスメモリ）
２３  ＲＯＭ（リードオンリーメモリ）
２４  ＨＤＤ（ハードディスクドライブ）
２５  記録媒体ドライブ
２６  ビデオアダプタ
２７  Ｋ／Ｂ（キーボード）
２８  マウス
２９  ＮＩＣ
１４１  マーカ
【図１】
2005190194.tif 000003
【図２】
2005190194.tif 000004
【図３】
2005190194.tif 000005
【図４】
2005190194.tif 000006
【図５】
2005190194.tif 000007
【図６】
2005190194.tif 000008
【図７】
2005190194.tif 000009
【図８】
2005190194.tif 000010
【図９】
2005190194.tif 000011
【図１０】
2005190194.tif 000012
【図１１】
2005190194.tif 000013
【図１２】
2005190194.tif 000014
【図１３】
2005190194.tif 000015
【図１４】
2005190194.tif 000016
【図１５】
2005190194.tif 000017
【図１６】
2005190194.tif 000018
【図１７】
2005190194.tif 000019