JP2016004394A - 情報処理装置、その制御方法、及びプログラム - Google Patents
情報処理装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2016004394A JP2016004394A JP2014123833A JP2014123833A JP2016004394A JP 2016004394 A JP2016004394 A JP 2016004394A JP 2014123833 A JP2014123833 A JP 2014123833A JP 2014123833 A JP2014123833 A JP 2014123833A JP 2016004394 A JP2016004394 A JP 2016004394A
- Authority
- JP
- Japan
- Prior art keywords
- form file
- character string
- file
- files
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【課題】同一レイアウトの複数の帳票ファイルを用いて可変の文字領域を特定すること。
【解決手段】情報処理装置101は、ユーザから指示された同一レイアウトの複数の帳票ファイルを読み込む。そして読み込んだ複数の帳票ファイルが持つ共通の領域を比較し、同一の文字列が格納されているか否かを判定する。同一の文字列が格納されている場合には、当該領域を固定領域として決定し、そうでない場合、つまり異なる文字列が格納されている場合には、当該領域を可変領域として決定する。
【選択図】図1
【解決手段】情報処理装置101は、ユーザから指示された同一レイアウトの複数の帳票ファイルを読み込む。そして読み込んだ複数の帳票ファイルが持つ共通の領域を比較し、同一の文字列が格納されているか否かを判定する。同一の文字列が格納されている場合には、当該領域を固定領域として決定し、そうでない場合、つまり異なる文字列が格納されている場合には、当該領域を可変領域として決定する。
【選択図】図1
Description
本発明は、同一レイアウトの複数の帳票ファイルを用いて可変の文字領域を特定することの可能な情報処理装置、その制御方法、及びプログラムに関する。
従来、見積書や請求書といった紙の帳票を印刷するための元となるデータを作成する帳票作成アプリケーションが存在する。帳票作成アプリケーションでは、フォームファイルと呼ばれる、データの挿入位置や固定文字列の表示位置を定めた定義ファイルを作成し、このフォームファイルに各種データを流し込むことで、帳票ファイルを作成している。
つまり、このフォームファイルを作成しなければ帳票ファイルは生成できない。そのため、従来は紙の帳票を扱っていた企業がこの帳票作成アプリケーションを作成する場合には、紙の帳票を見ながらフォームファイルを作成しなければならない。
また、企業によってはある帳票作成アプリケーションAから別の帳票作成アプリケーションBに乗り換える場合がある。この場合、帳票作成アプリケーションAが生成するフォームファイルを帳票作成アプリケーションBが認識可能なファイル形式であればよいが、そうでない場合には一からフォームファイルを作成し直さなくてはならない。
そこで下記の特許文献1では、データの流し込まれていない帳票ファイルのイメージデータとデータの流し込まれている帳票ファイルのイメージデータとを従前の帳票作成アプリケーションから出力しておき、このイメージデータの差分を取ることでデータを流し込む位置を特定し、新しい帳票作成アプリケーションのフォームファイルとして保存する仕組みが開示されている。
しかしながら、すでに従前の帳票アプリケーションAのライセンスが切れており、特許文献1のようなデータの流し込まれていない帳票ファイルが出力できない場合には、前述した特許文献1の仕組みを採用することができないという問題がある。
通常、出力した紙の帳票や帳票ファイルとして生成したものがいくつか残っているはずなので、これらを利用して前述したフォームファイルを生成することが望まれている。
そこで本発明の目的は、同一レイアウトの複数の帳票ファイルを用いて可変の文字領域を特定することの可能な仕組みを提供することである。
上記の目的を達成するために、本発明の情報処理装置は、同一のレイアウトを持ち、異なるデータが挿入される複数の帳票ファイルを取得する帳票ファイル取得手段と、前記帳票ファイル取得手段で取得した複数の帳票ファイル同士を比較する帳票ファイル比較手段と、前記帳票ファイル比較手段で比較した結果、複数の帳票ファイルに共通する領域にそれぞれ異なる文字列が存在する場合には当該文字列を含む領域を可変領域として決定し、複数の帳票ファイルに共通する領域にそれぞれ同じ文字列が存在する場合には当該文字列を含む領域を固定領域として決定する決定手段と、前記決定手段で決定された結果を用いて帳票ファイルを生成するためのフォームファイルを生成するフォームファイル生成手段とを備えることを特徴とする。
本発明によれば、同一レイアウトの複数の帳票ファイルを用いて可変の文字領域を特定することの可能な効果を奏する。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の情報処理システムのシステム構成の一例を示す図である。情報処理装置101と、帳票作成アプリケーションサーバA102と、帳票作成アプリケーションサーバB103とがLAN104(Local Area Network)等のネットワークを介して、相互にデータ通信可能に接続されている。尚、図1のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、パーソナルコンピュータ等の汎用のコンピュータ装置である。本実施形態における情報処理装置101は、帳票作成アプリケーションサーバB103で利用可能なフォームファイルを生成するために、帳票作成アプリケーションサーバA102で生成された帳票ファイルを複数読み込む。そして、読み込んだ複数の帳票ファイルを用いて帳票作成アプリケーションサーバB103で利用可能なフォームファイルを生成する。フォームファイルとは、帳票ファイルを作成するためのレイアウトや文字列の配置位置等が定義されたファイルである。このフォームファイルに顧客名や価格等を流し込むことにより、帳票ファイルが生成される。
帳票作成アプリケーションサーバA102と帳票作成アプリケーションサーバB103とは、いわゆるサーバ装置である。この2つのサーバは、それぞれ異なる帳票作成アプリケーションがインストールされており、それぞれ異なるフォームファイルを用いて帳票ファイルを生成する。本実施形態では、ユーザが帳票作成アプリケーションサーバA102から帳票作成アプリケーションサーバB103に乗り換える場合を想定している。
図2は、本発明の実施形態における情報処理装置101、帳票作成アプリケーションサーバA102、帳票作成アプリケーションサーバB103のハードウェア構成の一例を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボードやマウス等のポインティングデバイスといった入力デバイス209からの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の各種装置及びサーバが後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101のモジュール構成を示す機能構成図について、図3を用いて説明する。尚、図3の情報処理装置101の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は機能部として、PDFファイル取込部301、PDFファイル解析部302、テーブル記憶部303、テーブル比較部304、テーブル更新部305、フォームファイル生成部306を備える。
PDFファイル取込部301は、帳票作成アプリケーションサーバA102で生成された同一レイアウトの帳票ファイルを複数取り込むための機能部である。本実施形態の帳票ファイルはPDFファイル形式であるものとして説明するが、これに限らない。画像ファイルであってもよいし、文書ファイルや表計算ファイルであってもよい。
PDFファイル解析部302は、PDFファイル取込部301で取り込んだ帳票ファイルの文字やその位置、大きさ等を解析するための機能部である。OCR(Optical Character Reader)や画像認識といった技術を用いて、これらを解析する。
テーブル記憶部303は、後述するマスタテーブル800とワークテーブル1200を記憶するための機能部である。そして、テーブル比較部304は、文字列が可変になっている領域と固定になっている領域とを特定するべく、マスタテーブル800とワークテーブル1200とに格納されたデータを比較する機能部である。テーブル更新部305は、その結果をマスタテーブル800に格納するための機能部である。
フォームファイル生成部306は、取り込んだ複数の帳票ファイルに対して処理が完了した後に、マスタテーブル800に格納されている情報を用いて、帳票作成アプリケーションサーバB103で利用可能なフォームファイルを生成するための機能部である。
次に、本実施形態における一連の処理の流れについて、図4に示すフローチャートを用いて説明する。尚、ステップS401乃至ステップS406の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
まず、ステップS401では、ユーザから取り込みが指示された複数のPDFファイルのうち、1ファイル目のPDFファイルの文字オブジェクトを取得し、取得した情報をマスタテーブル800にセットする処理を実行する(帳票ファイル取得手段)。ステップS401の処理の詳細は、後述する図5に示す。
ステップS402では、取り込んだすべてのPDFファイルに対してステップS403乃至ステップS405の処理を行うまで、当該ステップS403乃至ステップS405を繰り返し実行する。すべてのPDFファイルに対して処理が実行できたら、ステップS406に処理を進める。
ステップS403では、未処理のPDFファイルの文字オブジェクトを取得し、取得した情報をワークテーブルにセットする処理を実行する(帳票ファイル取得手段)。ステップS403の処理の詳細は、後述する図9に示す。
ステップS404では、マスタテーブル800とワークテーブル1200の各レコードを比較し、相違点を記録していく処理を実行する(帳票ファイル比較手段)。ステップS404の処理の詳細は、後述する図13に示す。
ステップS405では、マスタテーブル800の各レコードにある比較フラグ806を基に、マスタテーブル800の値を更新する処理を実行する。ステップS405の処理の詳細は、後述する図15に示す。また、比較フラグ806の説明は後述する。
ステップS406では、マスタテーブル800に格納された情報を用いて帳票作成アプリケーションサーバB103で利用可能なフォームファイルを生成する(フォームファイル生成手段)。前述したステップS403乃至ステップS405の各処理を実行することにより、どの領域の文字列が可変になり、どの領域の文字列が固定であるのかがわかる。そのため、この情報を用いて帳票作成アプリケーションサーバB103で利用可能なフォームファイルを生成する。フォームファイルの生成方法は帳票作成アプリケーションの種類に応じて異なるが、従来技術であるので説明は省略する。
次に、ステップS401の詳細な処理について、図5に示すフローチャートを用いて説明する。尚、ステップS501乃至ステップS508の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
まず、ステップS501では、複数個の指示されたPDFファイルのうち1番目のPDFファイルをオープンする。オープンするPDFファイルの順番は特に問わない。
ステップS502では、PDFファイルに含まれる、文字を示す文字オブジェクトすべてに対して後述するステップS503乃至ステップS507が実行されるまで、当該ステップS503乃至ステップS507の処理を繰り返す。
ステップS503では、オープンしたPDFファイルのある文字オブジェクトの左上X座標、左上Y座標を取得し、RAM203に記憶する。文字オブジェクトの左上の座標の取得は、OCR処理によって特定した文字オブジェクトの位置を解析してもよいし、PDFファイルに含まれている座標を用いてもよい。
ステップS504では、ステップS503で座標値を取得した文字オブジェクトを構成する文字列を取得する。すなわち、PDFファイル上で表示されている文字列を特定し、これを取得し、RAM203に記憶する。
ステップS505では、ステップS504で取得した文字列の文字列長(文字数)を算出し、RAM203に記憶する。
ステップS506では、ステップS504で取得した文字列のフォントサイズを特定し、これをRAM203に記憶する。フォントサイズの特定方法は従来技術を用いるものとする。
ステップS507では、ステップS503乃至ステップS506で取得した各種情報をマスタテーブル800に格納するための処理を実行する。ステップS507の処理の詳細は、後述する図7に示す。
ステップS508では、すべての文字オブジェクトに対してステップS503乃至ステップS507の処理を実行したので、ステップS501でオープンしたPDFファイルをクローズする。
次に、ステップS507の詳細な処理について、図7に示すフローチャートを用いて説明する。尚、ステップS701乃至ステップS706の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
ステップS701では、マスタテーブル800に新たにレコードを作成し、固定/可変805に「0」を格納し、更にRAM203に記憶された、文字オブジェクトの左上座標のX座標値をマスタテーブル800の左上X座標801に格納する。
ここでマスタテーブル800の説明を行う。マスタテーブル800のテーブル構成例を図8に示す。マスタテーブル800は、情報処理装置101の外部メモリ211に記憶されているデータテーブルである。マスタテーブル800は、左上X座標801、左上Y座標802、文字列803、文字列長804、固定/可変805、比較フラグ806、フォントサイズ807から構成される。尚、図8に示すマスタテーブル800のテーブル構成はあくまで一例であり、他の構成例であってもよい。
左上X座標801と左上Y座標802は、文字オブジェクトを矩形で特定したときの左上の座標を構成するX座標とY座標とをそれぞれ格納する。文字列803は、文字オブジェクトが示す文字列を格納する。文字列長804は、文字オブジェクトが示す文字列の文字数を格納する。固定/可変805は、当該文字オブジェクトが固定の文字列なのか、可変の文字列なのかを格納する。可変の文字列とは、流し込むデータによって文字列や文字数が変わる領域のことである。比較フラグ806は、他のPDFファイルと同等の位置にある文字オブジェクトとの比較が行われたか否かを示すフラグである。フォントサイズ807は、文字オブジェクトが示す文字列のフォントのサイズを示す。
ステップS702では、RAM203に記憶された、文字オブジェクトの左上座標のY座標値をマスタテーブル800の左上X座標801に格納する。続いて、ステップS703では、RAM203に記憶された、文字オブジェクトの文字列をマスタテーブル800の文字列803に格納し、ステップS704では、文字列長をマスタテーブル800の文字列長804に格納する。ステップS705では、マスタテーブル800の固定/可変805に「固定」を格納する。そして、ステップS706では、RAM203に記憶された、文字オブジェクトのフォントサイズをマスタテーブル800のフォントサイズ807に格納する。
例えば、図6に示すような帳票作成アプリケーションサーバA102で生成された1つ目の帳票ファイル600が存在したとする。この帳票ファイル600には、文字オブジェクトが8つ(文字オブジェクト601〜文字オブジェクト608)存在する。そのため、この8つについてそれぞれ解析を行う。例えば、文字オブジェクト601であれば、左上座標が(10,10)であり、文字列は「請求書」、文字列長は「3」、フォントサイズは「24」であるので、これらをそれぞれ図8のマスタテーブル格納例810の1レコード目に示すような形態で格納する。そして、固定/可変805には、「固定」と格納する。比較フラグ806には「0」を格納しておく。文字オブジェクト601〜文字オブジェクト608に対してそれぞれ処理を行うと、図8のマスタテーブル格納例810のようになる。
次に、ステップS403の詳細な処理について、図9に示すフローチャートを用いて説明する。尚、ステップS901乃至ステップS908の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
まず、ステップS901では、ステップS501でオープンしたPDFファイルとは別のPDFファイルであって、複数個の指示されたPDFファイルのうち1番目のPDFファイルをオープンする。オープンするPDFファイルの順番は特に問わない。
ステップS902では、PDFファイルに含まれる、文字を示す文字オブジェクトすべてに対して後述するステップS903乃至ステップS907が実行されるまで、当該ステップS903乃至ステップS907の処理を繰り返す。
ステップS903では、オープンしたPDFファイルのある文字オブジェクトの左上X座標、左上Y座標を取得し、RAM203に記憶する。文字オブジェクトの左上の座標の取得は、OCR処理によって特定した文字オブジェクトの位置を解析してもよいし、PDFファイルに含まれている座標を用いてもよい。
ステップS904では、ステップS903で座標値を取得した文字オブジェクトを構成する文字列を取得する。すなわち、PDFファイル上で表示されている文字列を特定し、これを取得し、RAM203に記憶する。
ステップS905では、ステップS904で取得した文字列の文字列長(文字数)を算出し、RAM203に記憶する。
ステップS906では、ステップS904で取得した文字列のフォントサイズを特定し、これをRAM203に記憶する。フォントサイズの特定方法は従来技術を用いるものとする。
ステップS907では、ステップS903乃至ステップS906で取得した各種情報をワークテーブル1200に格納するための処理を実行する。ステップS907の処理の詳細は、後述する図11に示す。
ステップS908では、すべての文字オブジェクトに対してステップS903乃至ステップS907の処理を実行したので、ステップS901でオープンしたPDFファイルをクローズする。
次に、ステップS907の詳細な処理について、図7に示すフローチャートを用いて説明する。尚、ステップS1101乃至ステップS1106の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
ステップS1101では、ワークテーブル1200に新たにレコードを作成し、固定/可変805に「0」を格納し、更にRAM203に記憶された、文字オブジェクトの左上座標のX座標値をワークテーブル1200の左上X座標801に格納する。
ここでワークテーブル1200の説明を行う。ワークテーブル1200のテーブル構成例を図12に示す。ワークテーブル1200は、情報処理装置101の外部メモリ211に記憶されているデータテーブルである。ワークテーブル1200は、左上X座標1201、左上Y座標1202、文字列1203、文字列長1204、フォントサイズ1205から構成される。尚、図12に示すワークテーブル1200のテーブル構成はあくまで一例であり、他の構成例であってもよい。
左上X座標1201と左上Y座標1202は、文字オブジェクトを矩形で特定したときの左上の座標を構成するX座標とY座標とをそれぞれ格納する。文字列1203は、文字オブジェクトが示す文字列を格納する。文字列長1204は、文字オブジェクトが示す文字列の文字数を格納する。フォントサイズ1205は、文字オブジェクトが示す文字列のフォントのサイズを示す。
ステップS1102では、RAM203に記憶された、文字オブジェクトの左上座標のY座標値をワークテーブル1200の左上X座標1201に格納する。続いて、ステップS1103では、RAM203に記憶された、文字オブジェクトの文字列をワークテーブル1200の文字列1203に格納し、ステップS1104では、RAM203に記憶された文字列長をワークテーブル1200の文字列長1204に格納する。そして、ステップS1105では、RAM203に記憶された、文字オブジェクトのフォントサイズをワークテーブル1200のフォントサイズ1205に格納する。
例えば、図10に示すような帳票作成アプリケーションサーバA102で生成された1つ目の帳票ファイル600とは別の帳票ファイル1000が存在したとする。この帳票ファイル1000には、文字オブジェクトが8つ(文字オブジェクト1001〜文字オブジェクト1008)存在する。そのため、この8つについてそれぞれ解析を行う。例えば、文字オブジェクト1001であれば、左上座標が(10,10)であり、文字列は「請求書」、文字列長は「3」、フォントサイズは「24」であるので、これらをそれぞれ図12のワークテーブル格納例1210の1レコード目に示すような形態で格納する。文字オブジェクト1001〜文字オブジェクト1008に対してそれぞれ処理を行うと、図12のワークテーブル格納例1210のようになる。
次に、ステップS404の詳細な処理について、図13に示すフローチャートを用いて説明する。尚、ステップS1301乃至ステップS1317の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
まず、ステップS1301では、ワークテーブル1200に格納されているレコードそれぞれに対して、後述するステップS1302乃至ステップS1317の処理を実行するまで、当該ステップS1302乃至ステップS1317の処理を繰り返す。
ステップS1302では、ワークテーブル1200に格納されたレコードのうち、まだステップS1303以下を未実行のレコードを1つ読み込む。
ステップS1303では、読み込んだワークテーブルの左上X座標1201と左上Y座標1202をキーとして、マスタテーブル800を検索する。マスタテーブル800の左上X座標801と左上Y座標802との組み合わせが一致するレコードを検索すればよい。
ステップS1304では、ステップS1303における検索の結果、同一の左上座標を持つレコードが存在するか否かを判定する。同一の左上座標を持つレコードが存在すると判定した場合には、ステップS1311に処理を進める。同一の左上座標を持つレコードが存在しないと判定した場合には、ステップS1305に処理を進める。
ステップS1305では、比較元の帳票ファイルには存在しない文字列が存在するので、可変領域として新たにマスタテーブル800に登録するべく、レコードを生成する。そして、ワークテーブル1200で読み込んだレコードの左上X座標1201をマスタテーブル800の左上X座標801に格納する。ステップS1306では、ワークテーブル1200で読み込んだレコードの左上Y座標1202をマスタテーブル800の左上Y座標802に格納する。ステップS1307では、ワークテーブル1200で読み込んだレコードの文字列1203をマスタテーブル800の文字列803に格納する。ステップS1308では、ワークテーブル1200で読み込んだレコードの文字列長1204をマスタテーブル800の文字列長804に格納する。
ステップS1309では、新たに作成したレコードの固定/可変805に「可変」を格納し、ステップS1310では、ワークテーブル1200で読み込んだレコードのフォントサイズ1205をマスタテーブル800のフォントサイズ807に格納する。
一方、ステップS1311では、ステップS1310で一致すると判定されたマスタテーブル800のレコードの文字列803と、読み込んだワークテーブル1200のレコードの文字列1203とを比較する。そして、ステップS1312では、その比較の結果、文字列が一致するか否かを判定する。つまり、座標が一致した領域が固定の文字列が格納される領域なのか、可変の文字列が格納される領域なのかを判定する。文字列が一致すると判定した場合には、固定の領域である可能性が高いので、そのままステップS1317に処理を進める。文字列が一致しないと判定した場合には、可変の領域である可能性が高いので、ステップS1313に処理を進める。
ステップS1313では、検索した結果一致すると判定されたマスタテーブル800のレコードの固定/可変805を「可変」に変更する(決定手段)。
そして、ステップS1314では、ステップS1310で一致すると判定されたマスタテーブル800のレコードの文字列長804と、読み込んだワークテーブル1200のレコードの文字列長1204とを比較する。ステップS1315では、比較した結果、ワークテーブル1200のレコードの文字列長1204の方が大きいか否かを判定する。ワークテーブル1200のレコードの文字列長1204の方が大きいと判定した場合には、ステップS1316に処理を進める。ワークテーブル1200のレコードの文字列長1204の方が大きくない、すなわち同じまたは小さいと判定した場合には、ステップS1317に処理を進める。
ステップS1316では、マスタテーブル800の文字列803、文字列長804を、読み込んだワークテーブルのレコードの文字列1203、文字列長1204に置き換える。こうすることで、最大の文字列長を持つものを保存していく。
ステップS1317では、ステップS1310とステップS1316の処理が終了したら、ステップS1310から処理が流れてきた場合には新しくステップS1305で生成したマスタテーブル800のレコードの比較フラグ806に、ステップS1316から処理が流れてきた場合には一致すると判定されたマスタテーブル800のレコードの比較フラグ806にそれぞれ「1」を格納する。こうすることで、一度は比較されたレコードであることを残す。
図8と図12でそれぞれ説明したマスタテーブル格納例810とワークテーブル格納例1210とを用いて、図13の処理を実行すると、図14の実行結果1410に示すような形態となる。すなわち、マスタテーブル格納例810とワークテーブル格納例1210との差は、それぞれ2レコード目に格納されている会社名である。マスタテーブル格納例810は、「株式会社○○○」であり、ワークテーブル格納例1210は、「□□□□株式会社」となっている。これにより、文字列と文字列長がそれぞれ異なるので、マスタテーブル800を更新することになる。その実行結果が実行結果1410であり、破線で囲んである2レコード目の部分が更新された部分である。このようにして、各領域の最大文字数やその文字列を収集していく。
次に、ステップS405の詳細な処理について、図15に示すフローチャートを用いて説明する。尚、ステップS1501乃至ステップS1505の各ステップは、情報処理装置101のCPU201が処理を実行するものとして説明する。
ステップS1501では、マスタテーブル800に格納された各レコードそれぞれに対してステップS1502乃至ステップS1505の処理が実行されるまで、当該ステップS1502乃至ステップS1505の処理を繰り返す。
ステップS1502では、マスタテーブル800のレコードのうち、ステップS1502乃至ステップS1505の処理を未実行なレコードを読み込む。そして、ステップS1503では、読み込んだレコードの比較フラグ806が「1」であるか否かを判定する。「1」であると判定した場合には、ステップS1505に処理を進める。「1」でないと判定した場合には、ステップS1504に処理を進める。
ステップS1504では、比較フラグ806が「0」であるので、どの帳票ファイルにもない領域であったことがわかる。すなわち、可変領域である可能性があるので、読み込んでいるマスタテーブル800のレコードの固定/可変805に「可変」を格納する。一方、ステップS1505では、比較フラグ806を一旦リセットするべく、読み込んでいるマスタテーブル800のレコードの比較フラグ806を「0」にする。
このようにして処理を繰り返すことで、どの文字オブジェクトが固定領域/可変領域なのかがわかる。尚、本実施形態では左上の座標を比較することにより一致の判定を行ったが、これに限らない。画像解析によりセンタリングされているようなら文字列の中心の座標を比較し、右寄せなら右上の座標を比較するようにすればよい。
以上説明したように、本実施形態によれば、同一レイアウトの複数の帳票ファイルを用いて可変の文字領域を特定することのできる効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 情報処理装置
102 帳票作成アプリケーションサーバA
103 帳票作成アプリケーションサーバB
104 LAN
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/Fコントローラ
209 入力デバイス
210 ディスプレイ
211 外部メモリ
102 帳票作成アプリケーションサーバA
103 帳票作成アプリケーションサーバB
104 LAN
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/Fコントローラ
209 入力デバイス
210 ディスプレイ
211 外部メモリ
Claims (6)
- 同一のレイアウトを持ち、異なるデータが挿入される複数の帳票ファイルを取得する帳票ファイル取得手段と、
前記帳票ファイル取得手段で取得した複数の帳票ファイル同士を比較する帳票ファイル比較手段と、
前記帳票ファイル比較手段で比較した結果、複数の帳票ファイルに共通する領域にそれぞれ異なる文字列が存在する場合には当該文字列を含む領域を可変領域として決定し、複数の帳票ファイルに共通する領域にそれぞれ同じ文字列が存在する場合には当該文字列を含む領域を固定領域として決定する決定手段と、
前記決定手段で決定された結果を用いて帳票ファイルを生成するためのフォームファイルを生成するフォームファイル生成手段と
を備えることを特徴とする情報処理装置。 - 前記フォームファイル生成手段は、前記決定手段で可変領域として決定された領域の文字列のうち、最も文字数の多い文字列を用いてフォームファイルを生成することを特徴とする請求項1に記載の情報処理装置。
- 前記フォームファイル生成手段は、所定の帳票作成アプリケーションで利用可能なフォームファイルであることを特徴とする請求項1または2に記載の情報処理装置。
- 前記帳票ファイルは、PDF形式のファイルであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 情報処理装置の帳票ファイル取得手段が、同一のレイアウトを持ち、異なるデータが挿入される複数の帳票ファイルを取得する帳票ファイル取得ステップと、
情報処理装置の帳票ファイル比較手段が、前記帳票ファイル取得ステップで取得した複数の帳票ファイル同士を比較する帳票ファイル比較ステップと、
情報処理装置の決定手段が、前記帳票ファイル比較ステップで比較した結果、複数の帳票ファイルに共通する領域にそれぞれ異なる文字列が存在する場合には当該文字列を含む領域を可変領域として決定し、複数の帳票ファイルに共通する領域にそれぞれ同じ文字列が存在する場合には当該文字列を含む領域を固定領域として決定する決定ステップと、
情報処理装置のフォームファイル生成手段が、前記決定ステップで決定された結果を用いて帳票ファイルを生成するためのフォームファイルを生成するフォームファイル生成ステップと
を備えることを特徴とする情報処理装置の制御方法。 - 情報処理装置の制御方法を実行可能なプログラムであって、
前記情報処理装置を、
同一のレイアウトを持ち、異なるデータが挿入される複数の帳票ファイルを取得する帳票ファイル取得手段と、
前記帳票ファイル取得手段で取得した複数の帳票ファイル同士を比較する帳票ファイル比較手段と、
前記帳票ファイル比較手段で比較した結果、複数の帳票ファイルに共通する領域にそれぞれ異なる文字列が存在する場合には当該文字列を含む領域を可変領域として決定し、複数の帳票ファイルに共通する領域にそれぞれ同じ文字列が存在する場合には当該文字列を含む領域を固定領域として決定する決定手段と、
前記決定手段で決定された結果を用いて帳票ファイルを生成するためのフォームファイルを生成するフォームファイル生成手段
として機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014123833A JP2016004394A (ja) | 2014-06-16 | 2014-06-16 | 情報処理装置、その制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014123833A JP2016004394A (ja) | 2014-06-16 | 2014-06-16 | 情報処理装置、その制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016004394A true JP2016004394A (ja) | 2016-01-12 |
Family
ID=55223634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014123833A Pending JP2016004394A (ja) | 2014-06-16 | 2014-06-16 | 情報処理装置、その制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016004394A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020144653A (ja) * | 2019-03-07 | 2020-09-10 | 日本電気株式会社 | 帳票処理装置、帳票処理方法、及びプログラム |
-
2014
- 2014-06-16 JP JP2014123833A patent/JP2016004394A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020144653A (ja) * | 2019-03-07 | 2020-09-10 | 日本電気株式会社 | 帳票処理装置、帳票処理方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009003802A (ja) | 情報表示装置及び情報表示方法 | |
JP6015546B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
US20090300001A1 (en) | Server apparatus, catalog processing method, and computer-readable storage medium | |
JP6795767B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP2016004394A (ja) | 情報処理装置、その制御方法、及びプログラム | |
US10275127B2 (en) | Client apparatus, information processing system, information processing method, and non-transitory computer readable medium | |
JP5526991B2 (ja) | 情報処理装置、情報処理方法、プログラム、情報処理システム | |
JP5880637B2 (ja) | 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム | |
JP4885569B2 (ja) | スタイルシート生成装置及びスタイルシート生成プログラム | |
JP5991365B2 (ja) | 帳票システム、情報処理装置と、その処理方法及びプログラム | |
US20190179877A1 (en) | Information processing system, control method, and storage medium | |
JP2015118597A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6405666B2 (ja) | 情報処理システム、およびその制御方法、プログラム | |
JP7048912B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP2018106538A (ja) | 情報処理装置、情報処理システム、制御方法、プログラム | |
JP6756967B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP6700559B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
US11449664B1 (en) | Template for creating content item | |
JP6361770B2 (ja) | 情報処理装置とその処理方法及びプログラム | |
JP2010157165A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5696474B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2009157470A (ja) | 電子文書処理装置及びプログラム | |
JP2007041864A (ja) | メタデータ取得・管理方法及び装置及びプログラム | |
JP2020129392A (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP6024313B2 (ja) | 情報処理装置、その制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20161101 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20161101 |