説明

情報処理装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体

【課題】一般的な業務システムから出力された描画データを受け取って帳票ファイルに変換し、当該描画データ内の情報について効率的に検索を行えるようにする。
【解決手段】CPU101は、仮想プリンタ130で処理された描画データであるEMFデータ108bからテキスト検索が可能な新規フォーマットの帳票ファイル1081を作成する。また、CPU101は、設定ファイル108kに設定されている帳票サーバ100の仮想プリンタの処理に係る処理モードに従って、新規フォーマットの帳票ファイル1081を特定するための帳票特定情報ファイル108mを作成する。そして、CPU101は、クライアントPCから検索要求を受け付けると、当該検索要求と帳票特定情報ファイル108mの情報に従って、検索対象の新規フォーマットの帳票ファイル1081を決定し、当該新規フォーマットの帳票ファイルに対してテキスト検索処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、描画データから生成される帳票ファイルを管理する情報処理装置及びその制御方法、当該制御方法をコンピュータに実行させるためのプログラム、並びに、当該プログラムを記憶するコンピュータ読み取り可能な記憶媒体に関するものである。
【背景技術】
【0002】
従来、例えば、ホストコンピュータやクライアントから出力される帳票の印刷データ(描画データ)を帳票サーバで受信し、これを帳票データとして変換し保管する電子帳票システムがある。その一例として、下記の特許文献1に示すものが挙げられる。
【0003】
具体的に、特許文献1には、クライアントのアプリケーションにより入力された出力指示に応答してクライアントのデバイスドライバにより作成され出力先情報を含む印刷用データ(EMF(Enhanced Metafile Format:拡張メタファイル形式)データ)を受信し、受信した印刷用データ(EMFデータ)をグラフィックスおよびテキストのオブジェクトの圧縮データで記述された電子帳票ファイルに変換し、変換した電子帳票ファイルを前記出力先情報により指定される出力先に出力する技術が開示されている。
【0004】
また、特許文献2には、印刷イメージ及び明細データを、電子的に省スペース化を図りながら保管でき、また、明細データを他のアプリケーションプログラムにおいて有効活用でき、過去の帳票の検索及び印刷もプログラムの変更等の必要もなく容易に行える電子帳票システムに関する技術が開示されている。
【0005】
【特許文献1】特開2006−24108号公報
【特許文献2】特開2002−15266号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の電子帳票システムでは、特定のプリンタに対する印刷データのみを処理の対象としているため、電子帳票システムの適用範囲は、特定のホストと特定のプリンタを業務に使用しているユーザに限られるものであった。
【0007】
また、特許文献1では、出力することを前提に電子帳票ファイルに変換するものであるため、当該電子帳票ファイル内の情報を検索することについては一切考慮されていない。
【0008】
さらに、電子帳票システムの1つの例として、一般のオフィスでやり取りされる文書ファイルを帳票ファイルとして変換する電子帳票システムも存在するが、この場合、文書ファイルが一般的なパッケージソフトの文書ファイルである必要があり、また、ファイルの種類とアプリケーションとの組み合わせがOSに登録されていることも必要である。そして、このようなシステムの制約があると、当該電子帳票システムは、特定のアプリケーションの文書ファイルを保存している業務にしか適用できない。
【0009】
即ち、従来の電子帳票システムにおいては、他の一般的な業務システムから出力された印刷データ(描画データ)を受け取って帳票ファイルに変換し、当該描画データ内の情報について効率的に検索を行うことが困難であるという問題があった。
【0010】
なお、特許文献2では、帳票の検索に関するものであるが、汎用的なファイル形式であるCSVファイルを作成することで検索を実現するものであり、電子帳票システムを利用した帳票の検索を実現するものではない。
【0011】
本発明は上述の問題点に鑑みてなされたものであり、一般的な業務システムから出力された描画データを受け取って帳票ファイルに変換し、当該描画データ内の情報について効率的に検索を行えるようにすることを目的とする。
更に、当該描画データに基づき作成される帳票ファイルを、ホストコンピュータより入力される帳票印刷データから変換された帳票ファイルと同様に取り扱えるようにすることを他の目的とする。
【課題を解決するための手段】
【0012】
本発明の情報処理装置は、描画データから生成される帳票ファイルを管理する情報処理装置であって、外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成手段と、前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成手段で作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成手段と、前記帳票特定情報作成手段により作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理手段と、検索要求を受け付ける検索要求受付手段と、前記検索要求受付手段で受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索手段とを有する。
【0013】
本発明の情報処理装置の制御方法は、描画データから生成される帳票ファイルを管理する情報処理装置の制御方法であって、外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成ステップと、前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成ステップで作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成ステップと、前記帳票特定情報作成ステップにより作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理ステップと、検索要求を受け付ける検索要求受付ステップと、前記検索要求受付ステップで受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索ステップとを有する。
【0014】
本発明のプログラムは、描画データから生成される帳票ファイルを管理する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成ステップと、前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成ステップで作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成ステップと、前記帳票特定情報作成ステップにより作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理ステップと、検索要求を受け付ける検索要求受付ステップと、前記検索要求受付ステップで受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索ステップとをコンピュータに実行させるためのものである。
【0015】
本発明のコンピュータ読み取り可能な記憶媒体は、前記プログラムを記憶する。
【発明の効果】
【0016】
本発明によれば、一般的な業務システムから出力された描画データを帳票ファイルとして取り扱い、当該描画データ内の情報について効率的に検索を行うことが可能となる。
【発明を実施するための最良の形態】
【0017】
以下、添付図面を参照して、本発明を実施するための最良の形態について詳細に説明する。なお、以下に示す本発明の実施形態においては、本発明に係る情報処理装置として、電子帳票サーバ(以下、単に「帳票サーバ」と称する)を適用した例で説明を行う。
【0018】
図1は、本発明の実施形態に係る帳票サーバ(情報処理装置)100を含む電子帳票システムの概略構成図である。
図1に示す電子帳票システムは、ネットワーク300を介して、本実施形態に係る帳票サーバ100と、クライアントPC201及び202と、アプリケーションサーバ400と、業務用PC500とが接続された構成となっている。
【0019】
帳票サーバ100は、例えば、外部装置であるアプリケーションサーバ400(或いは業務用PC500)から入力される描画データ(文書データ、画像データ等の印刷データ)から生成されるファイルを帳票ファイルとして保存・管理するものである。なお、帳票サーバ100は、従来と同様、ホストコンピュータ(不図示)から入力される、描画データとは異なる形式の帳票印刷データも帳票ファイルに変換して保存・管理することが可能である。
【0020】
クライアントPC201及び202は、例えば、帳票ファイルを検索する各種の命令を帳票サーバ100に対して送信する。なお、クライアントPC201及び202は、従来と同様、ホストコンピュータから入力された帳票印刷データから変換され保存・管理されている帳票ファイルに対して検索命令を含む各種の命令を帳票サーバ100に対して行うことも可能である。
【0021】
アプリケーションサーバ400は、ネットワーク300を介して、当該サーバ単独で行う印刷処理結果の描画データを帳票サーバ100に送信する。本実施の形態において、描画データは、バッチ処理により指定されたタイミングで、アプリケーションサーバ400から送信される。
【0022】
業務用PC500は、ネットワーク300を介して、アプリケーションサーバ400と通信して業務データの印刷処理を行い、当該印刷処理結果の描画データを帳票サーバ100に送信する。本実施の形態において、描画データは、ユーザの印刷指示による任意のタイミングで、業務用PC500から送信される。
【0023】
図2は、本発明の実施形態に係る帳票サーバ(情報処理装置)100のシステム構成図である。
図2に示すように、帳票サーバ100は、CPU101、RAM102、ROM103、入力部104、入力コントローラ105、表示部106、表示コントローラ107、外部メモリ108、外部メモリコントローラ109、通信インタフェース(I/F)コントローラ110及びシステムバス111を有して構成されている。
【0024】
CPU101は、帳票サーバ100における動作を統括的に制御するものであり、システムバス111を介して、帳票サーバ100の各構成部(102、103、105、107、109及び110)を制御する。
【0025】
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して、ROM103から必要なプログラム103a等をRAM102にロードし、当該プログラム103a等を実行することで各種の動作を実現する。
【0026】
ROM103には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(OS)、CPU101が後述する図3、図5、図6−1、図7−1、図8−1、図9、図11−1、図14〜図18、図20及び図21の処理を実行するために必要なプログラム等のプログラム103aが記憶されている。なお、プログラム103aは、外部メモリ108に記憶されていてもよい。
【0027】
入力コントローラ105は、キーボードやマウスなどで構成される入力部104からの入力を制御する。
【0028】
表示コントローラ107は、CRTや液晶ディスプレイなどで構成される表示部106への表示を制御する。
【0029】
外部メモリコントローラ109は、例えば、ハードディスク(HD)やフレキシブルディスク(FD)などで構成される外部メモリ108への情報の書き込み(記憶)や、外部メモリ108からの情報の読み出しを制御する。
【0030】
外部メモリ108は、オフィス文書ファイル108aや、後述するEMF(Enhanced Metafile Format:拡張メタファイル形式)データ108b、設定ファイル108k、帳票特定情報ファイル108m、オフィス文書ファイル108aから変換された新規フォーマットの帳票ファイル1081、ホストコンピュータからの帳票印刷データから変換された従来フォーマットの帳票ファイル1082、及び、データベース(DB)1083を記憶する。
【0031】
ここで、新規フォーマットの帳票ファイル1081としては、帳票ファイル(イメージ)108c、帳票ファイル(検索用マップデータ)108d、ダミーページ定義ファイル108e、及び、ダミーフォーム定義ファイル108fが記憶される。また、従来フォーマットの帳票ファイル1082としては、帳票テキストファイル108g、帳票マップファイル108h、ページ定義ファイル108i、及び、フォーム定義ファイル108jが記憶される。新規フォーマットの帳票ファイル1081と従来フォーマットの帳票ファイル1082とは、図2に示すように、帳票ファイル(イメージ)108cと帳票テキストファイル108gが対応し、帳票ファイル(検索用マップデータ)108dと帳票マップファイル108hが対応し、ダミーページ定義ファイル108eとページ定義ファイル108iが対応し、ダミーフォーム定義ファイル108fとフォーム定義ファイル108jが対応している。
【0032】
また、設定ファイル108kは、後述の仮想プリンタ(図3)に係る処理を設定するためのものである。また、帳票特定情報ファイル108mは、描画データであるEMFデータ108bに基づき作成される帳票ファイルを特定するための情報を規定するものである。また、DB1083には、帳票ファイルの登録先に係る登録先テーブル108p、及び、帳票ファイルの登録実績に係る帳票登録実績テーブル108qが保存される。
【0033】
その他、外部メモリ108には、必要に応じて各種のファイルや各種のデータ等が記憶される。
【0034】
なお、従来フォーマットの帳票ファイル1082は、ホストコンピュータ(不図示)から帳票印刷データが入力されたことが検知された場合に、当該帳票印刷データに基づいて作成される。
【0035】
通信I/Fコントローラ110は、図1に示すネットワーク300を介して、クライアントPC201及び202や、アプリケーションサーバ400、業務用PC500と通信するための制御をする。
【0036】
システムバス111は、CPU101、RAM102、ROM103、入力コントローラ105、表示コントローラ107、外部メモリコントローラ109及び通信I/Fコントローラ110を相互に通信可能に接続するためのものである。
【0037】
なお、図1に示すクライアントPC201及び202、アプリケーションサーバ400、並びに、業務用PC500のシステム構成についても、図2に示すシステム構成を適用することが可能である。この場合、図2に示す外部メモリ108に記億されている各種のファイルや各種のデータ等は不要である。
【0038】
図3は、本発明の実施形態に係る帳票サーバ(情報処理装置)100の処理の流れを示すフローチャートである。
ここで、図3に示す帳票サーバ100において、その内部に仮想プリンタ130が構成されている。この仮想プリンタ130は、アプリケーションサーバ400(或いは業務用PC500)との接続インタフェースとなっている。例えば、印刷命令の発行後に、CPU101がROM103から必要なプログラム103a等をRAM102にロードし、当該プログラム103a等を実行することで実現される。なお、例えば、仮想プリンタ130に係るプログラムを外部メモリ108の内部に構成する形態であっても良い。また、仮想プリンタ130の処理は、設定ファイル108kによって設定される。
【0039】
本実施形態では、まず、アプリケーションサーバ400または業務用PC500において、仮想プリンタ130に対する印刷処理が実行されると、アプリケーションサーバ400または業務用PC500において、アプリケーション固有の文書データ、描画データ等から描画データであるEMFデータの生成が行われる。その後、生成されたEMFデータは、帳票サーバ100に送られる。なお、仮想プリンタ130に対して印刷処理を行うのにあたり、アプリケーションサーバ400または業務用PC500には予め仮想プリンタ130を動作させるための専用のプリンタドライバをインストールしておく必要がある。ユーザは、仮想プリンタ130に対して印刷処理を実行する場合、プリンタ指定画面から設定した仮想プリンタを選択して印刷指示を実行する。印刷指示を受けてアプリケーションサーバ400または業務用PC500は、描画データであるEMFデータを作成し、帳票サーバ100へ送信する。ここで、EMFデータとは、アプリケーション固有の形式による文書データを、アプリケーション固有の印刷処理を経てOSが解釈可能なグラフィック命令の集合(Windows(登録商標)環境においてはGDI(Graphics Device Interface)が解釈可能な命令の集合)に変換した描画データをいう。
【0040】
帳票サーバ100では、アプリケーションサーバ400または業務用PC500から送信されたEMFデータを通信I/Fコントローラ(受信手段)110で受信する。
そして、ステップS10において、帳票サーバ100の仮想プリンタ130(図2に示すCPU101)は、通信I/Fコントローラ110で受信したEMFデータに対して印刷処理(擬似プリント処理)を実行して、これをEMFデータ108bとしてスプールディレクトリである外部メモリ108にスプールして記憶する。ここで、本実施の形態においては、アプリケーションサーバ400または業務用PC500において、既に生成されたEMFデータを受信するので、受信したEMFデータがEMFデータ108bとなる。
ステップS10においては、接続する他のシステム(アプリケーションサーバ400、業務用PC500)のアプリケーションの機能は利用せずに、受信したEMFデータのみを用いるので、他のシステムのアプリケーションの種類は問わずに適用可能である。即ち、特定のアプリケーションに依存することなく帳票ファイルを作成することが可能となる。このEMFデータ108bの詳細なデータ構成等については、図4を用いて後述する。なお、EMFデータではなく、アプリケーション固有の文書データ、描画データ等を受信する実施の形態においては、帳票サーバ100において、アプリケーション固有の文書データ、描画データ等からEMFデータを生成する機能が必要となる。具体的には、仮想プリンタ130が利用するOSの基本的な描画機能を呼び出すことによってEMFデータを生成することになる。
【0041】
また、アプリケーションサーバ400または業務用PC500から送信されたEMFデータを受信すると、ステップS20において、仮想プリンタ130(CPU101)は、EMFデータ108bに基づき作成される帳票ファイルの登録において、当該帳票ファイルを特定するための帳票特定処理を行う。そして、この処理の結果得られた情報を帳票特定情報ファイル108mとして外部メモリ108に記憶する。帳票特定情報ファイル108mは、例えば拡張子だけ別にするなどして、EMFデータ108bと関連付けられた形態で外部メモリ108に記憶される。ここで、帳票特定情報を生成するのは、従来の帳票印刷データはファイルの形式でスプールディレクトリに投入されるので、帳票サーバに登録する際に、帳票の種別(帳票ID)、登録先(登録先フォルダ)との関連付けがファイル名と紐付きで行えたが、EMFデータ108bの場合、EMFデータ108bそのものはファイル名が特定されず、その後に作成される帳票ファイルを特定する材料になる情報がないためである。このステップS20の詳細な処理については、図5を用いて後述する。
【0042】
続いて、ステップS30において、帳票サーバ100のCPU101は、外部メモリコントローラ109を介して、スプールディレクトリである外部メモリ108に新たなEMFデータ108bが記憶されたかを監視するスプールディレクトリ監視処理を行う。ここで、本実施形態では、このスプールディレクトリを監視する機能は、従来の帳票印刷データの投入の場合も監視することが可能である。この従来の帳票印刷データの運用と併用する場合は、スプールディレクトリを印刷データ(描画データ)の種類ごとにわけて運用することになる。
【0043】
ステップS30の監視結果、スプールディレクトリ(外部メモリ108)に新たなEMFデータ108bが記憶されたことを検知すると、続いて、ステップS40において、CPU101は、生成されたEMFデータ108bの変換処理を行って、帳票ファイル(イメージ)108c及び帳票ファイル(検索用マップデータ)108dを作成する帳票ファイル作成処理を行う。このステップS40の詳細な処理については、図14を用いて後述する。
【0044】
ステップS40の帳票ファイル作成処理が終了すると、続いて、ステップS50において、CPU101は、帳票特定情報ファイル108mの帳票特定情報に基づいて、ステップS40で作成した帳票ファイル(イメージ)108c及び帳票ファイル(検索用マップデータ)108dを、それぞれ関連付けて外部メモリ108の新規フォーマットの帳票ファイル1081として記憶し、帳票ファイルの登録処理を行う。さらに、CPU101は、帳票特定情報ファイル108mの帳票特定情報を、後述の帳票登録実績テーブルに反映させてDB1083に保存する。このステップS50の詳細な処理については、図11−1を用いて後述する。
【0045】
その後、クライアントPC(201又は202)から検索命令(検索コマンド)が送信されると、これを通信I/Fコントローラ110で受信する。そして、ステップS60において、CPU101は、受信した検索コマンドに基づいて、後述の帳票登録実績テーブルを用いて検索対象の帳票ファイル(検索用マップデータ)108dを決定して外部メモリ108から読み出し、当該帳票ファイル(検索用マップデータ)108dを用いた検索処理を行う。このステップS60の詳細な処理については、図20を用いて後述する。
【0046】
ここで、仮想プリンタ130とは、印刷用の描画データ(印刷データ)を生成する機能のみを有し、用紙等への実際の出力機能がないプリンタであり、上述したステップS20のような帳票ファイルの登録処理を補助する機能を有している。また、例えば、仮想プリンタ130のドライバを帳票サーバ100とアプリケーションサーバ400もしくは業務用PC500のそれぞれに導入することも可能であり、この場合、アプリケーションサーバ400、業務用PC500のプリンタでは帳票サーバ100の仮想プリンタ130に接続するように設定しておく。また、仮想プリンタ130は、帳票サーバ100上に複数作成することが可能であり、仮想プリンタごとに専用の設定ファイル108kを持たせ、仮想プリンタごとに動作を変更させることも可能である。
【0047】
次に、図2及び図3に示すEMFデータ108bのデータ構成等について説明する。
図4は、EMFデータ108bのデータ構成及び各構成部に保持されるデータの一例を示す模式図である。
【0048】
EMFデータ108bは、図4(a)に示すように、EMFヘッダ部30と、ページ毎のEMFデータ31を有して構成されている。EMFヘッダ部30には、EMFデータ108bに係る情報(例えば、EMFデータ108bのタイトルデータ、ページ数に係る情報等)が記憶されている。
【0049】
1ページ分のEMFデータ31は、図4(a)に示すように、データヘッダ部311、描画命令レコード312及びパレット情報313を有して構成されている。データヘッダ部311には、図4(b)に示すように、当該EMFデータ31のページ番号、データのレコード数、描画サイズ、パレット情報313の有無などの情報が保持されている。また、描画命令レコード312には、図4(b)に示すように、1つの図形、文字列などを描画する際の描画命令が、1つ以上の描画命令レコードとして保持されている。また、パレット情報313には、図4(b)に示すように、当該EMFデータ31内で使用する色の情報等が保持されている。
【0050】
次に、図3のステップS20の詳細な処理について説明する。
図5は、図3のステップS20における帳票特定処理の詳細な処理を示すフローチャートである。
【0051】
まず、ステップS20の帳票特定処理の行う前段階において、予め、設定ファイル108kに、仮想プリンタ130の処理モードに係る設定がなされている。具体的に、例えば、仮想プリンタ130のインストール時などにおいて、運用に合わせてユーザから入力部104を介して処理モードが指定されると、CPU101は、ユーザから指定された処理モードに応じて、仮想プリンタ130の処理モードに係る設定を設定ファイル108kに行う。本実施形態においては、以下に示すモード1〜3のいずれかの処理モードが設定ファイル108kに設定されているものとする。なお、処理モードに係る設定は、任意のタイミングで再設定することが可能であるとする。
【0052】
モード1は、EMFデータ108bの中から抽出した情報に基づいて帳票特定情報を作成する処理モードである。モード2は、UI(ダイアログ)を表示してユーザからの指定により帳票特定情報を作成する処理モードである。モード3は、仮想プリンタ130と登録先フォルダを1対1で紐付けし、帳票ファイルを全て指定フォルダに登録する場合の帳票特定情報を作成する処理モードである。
【0053】
ここで、モード1は、EMFデータ108bの中に確実に帳票特定情報が含まれていることが分かっているアプリケーションから印刷処理を実行する場合に用いられる。また、モード2は、ユーザの操作で印刷処理を実行する場合に用いられる。また、モード3は、バッチ処理用であり、特定のアプリケーションで印刷処理された描画データを特定の帳票ファイルに変換したい場合に用いられる。この場合でも、帳票サーバ100の機能を利用して、帳票ファイルの仕分けは可能である。
【0054】
ステップS20の帳票特定処理が開始されると、仮想プリンタ130(CPU101)は、予め設定ファイル108kに設定されている処理モードに応じて、各種の処理(ステップS21〜S23)を行う。その後、ステップS24において、仮想プリンタ130(CPU101)は、各種の処理(ステップS21〜S23)において作成された帳票特定情報をファイルに出力して帳票特定情報ファイル108mを作成し、これを外部メモリ108に保存する。
【0055】
以下に、図5のステップS21〜S24の詳細な処理について説明する。
【0056】
まず、図5のステップS21の詳細な処理について説明する。
図6−1は、図5のステップS21における帳票特定情報抽出処理の詳細な処理を示すフローチャートである。このステップS21の処理は、設定ファイル108kにモード1が設定されている場合に行われる処理である。このステップS21の処理は、例えばバッチ印刷処理を目的とし、描画データであるEMFデータ108bごとに動的に登録先を変更する要件に対応可能である。
【0057】
図5のステップS21における帳票特定情報抽出処理では、まず、図6−1のステップS211において、仮想プリンタ130(CPU101)は、ステップS10においてスプールされたEMFデータ108bのファイルを開く。
【0058】
続いて、ステップS212において、仮想プリンタ130(CPU101)は、ステップS211で開いたEMFデータ108bのファイルからタイトル名が示されたタイトルデータを取得する。具体的に、仮想プリンタ130(CPU101)は、図4に示すEMFデータ108bのEMFヘッダ部30に記億されているタイトルデータを取得する。このタイトルデータは、例えば印刷処理を実行するプログラム内部から指定されるものであり、一般的に文書名がタイトル名として指定されている。
【0059】
続いて、ステップS213において、仮想プリンタ130(CPU101)は、ステップS211で開いたEMFデータ108bのファイルを閉じる。
【0060】
続いて、ステップS214において、仮想プリンタ130(CPU101)は、ステップS212で取得した、タイトル名が示されたタイトルデータに基づいて、タイトル名と
帳票ID及び登録先フォルダIDとを関連付けているDB1083内の登録先テーブル108pと、設定ファイル108kの設定情報を用いて、当該EMFデータ108bに基づき作成される帳票ファイルの登録の際に必要な「帳票種別情報(帳票ID)」と「帳票登録先情報(登録先フォルダID)」を取得する。
【0061】
続いて、ステップS215において、仮想プリンタ130(CPU101)は、ステップS214で取得した情報に基づいて、メモリ(例えば、RAM102)に帳票特定情報108m'を作成する。
【0062】
以上のステップS211〜S215の処理を経ることにより、図5のステップS21における帳票特定情報抽出処理がなされる。
【0063】
図6−2は、図6−1に示す登録先テーブル108p及び設定ファイル108kの構成の一例を示す模式図である。
【0064】
図6−2(a)には、登録先テーブル108pの構成が示されており、ステップS214において、ステップS212で取得したタイトル名をキーとして当該登録先テーブル108pを検索すると、帳票種別情報である帳票IDと,帳票登録先情報である登録先フォルダIDを得ることができる。
【0065】
図6−2(b)には、設定ファイル108kの構成が示されており、例えば、一般的な設定ファイル形式でテキストデータにより設定情報が記述されている。図6−2(b)に示す設定ファイル108kには、まず、仮想プリンタ130の処理モードの設定("TYPE="の行)がされており、処理モードがモード1(帳票特定情報抽出処理モード)の場合には、タイトルデータの何バイト目から("STARTPOS="の行)、何バイトだけ("TITLELEN="の行)のデータを抽出して、登録先テーブル108pの検索のキーとなるタイトル名とするかの設定がされている。図6−2(b)の例では、ステップS212で取得したタイトルデータから8バイト目から16バイト分のデータを取得する設定となっている。ここで取得したデータをキーとして図6−2(a)のタイトル名を検索することで登録先フォルダID及び帳票IDを取得する。
【0066】
次に、図5のステップS22の詳細な処理について説明する。
図7−1は、図5のステップS22における帳票登録先入力処理の詳細な処理を示すフローチャートである。このステップS22の処理は、設定ファイル108k(具体的には、図6−2(b)に示す"TYPE="の行)にモード2が設定されている場合に行われる処理である。このステップS22の処理は、例えばユーザがその都度、印刷処理を実施する場合に対応可能である。
【0067】
図5のステップS22における帳票登録先入力処理では、まず、例えば、アプリケーションから仮想プリンタ130を指定して印刷処理を行う際に、クライアントPC201(或いはクライアントPC202)において、印刷標準ダイアログ表示がなされて、ページ範囲等の印刷標準入力がなされる(図7−1のステップS221及びS222)。
【0068】
そして、クライアントPC201(或いはクライアントPC202)で印刷標準入力がなされると、続いて、ステップS223において、帳票サーバ100の仮想プリンタ130(CPU101)は、DB1083の登録先テーブル108p(図6−2(a))の登録先フォルダIDの情報に基づいて登録先フォルダ一覧を作成する。
【0069】
続いて、ステップS223において、帳票サーバ100の仮想プリンタ130(CPU101)は、DB1083の登録先テーブル108p(図6−2(a))の帳票IDの情報に基づいて帳票一覧を作成する。その後、帳票サーバ100の仮想プリンタ130(CPU101)は、ステップS223及びS224で作成した一覧の情報を、ステップS222の処理を行ったクライアントPC201(或いはクライアントPC202)に送信する。
【0070】
そして、帳票サーバ100から一覧の情報を受信したクライアントPC201(或いはクライアントPC202)では、受信した一覧の情報に基づき、登録先フォルダ及び帳票の種別を指定するためのダイアログ表示がなされる(ステップS225)。
【0071】
図7−2は、図7−1のステップS225で表示されるダイアログの一例を示す模式図である。図7−2に示すフォルダ選択欄71には、ステップS223で作成された登録先フォルダ一覧の登録先フォルダが表示される。また、図7−2に示す帳票選択欄72には、ステップS224で作成された帳票一覧の帳票の種別が表示される。表示されたダイアログには、登録可能な帳票登録先一覧が表示され、ユーザは、この一覧の中から所望の帳票登録先を指定することになる。
【0072】
続いて、クライアントPC201(或いはクライアントPC202)では、表示されたダイアログにおいて、ユーザからの登録先フォルダ及び帳票(の種別)の指定を受け付ける。その後、クライアントPC201(或いはクライアントPC202)では、ユーザによりダイアログが閉じられると、指定された登録先フォルダに係る情報(登録先フォルダID)及び帳票(の種別)に係る情報(帳票ID)を帳票サーバ100に送信する。
【0073】
そして、クライアントPC201(或いはクライアントPC202)から登録先フォルダに係る情報(登録先フォルダID)及び帳票(の種別)に係る情報(帳票ID)が送信されると、帳票サーバ100の仮想プリンタ130(CPU101)は、これを受信する。そして、ステップS227において、帳票サーバ100の仮想プリンタ130(CPU101)は、受信した登録先フォルダIDを帳票登録先情報とし、受信した帳票IDを帳票種別情報として、メモリ(例えば、RAM102)に帳票特定情報108m'を作成する。
【0074】
以上のステップS221〜S227の処理を経ることにより、図5のステップS22における帳票登録先入力処理がなされる。
【0075】
次に、図5のステップS23の詳細な処理について説明する。
図8−1は、図5のステップS23における登録先フォルダ判定処理の詳細な処理を示すフローチャートである。このステップS23の処理は、設定ファイル108kにモード3が設定されている場合に行われる処理である。このステップS23の処理は、例えばバッチ印刷処理に対応することを目的とし、本仮想プリンタ130を利用して帳票ファイルの登録を実行する時は、全て同一の登録先(登録先フォルダ)に登録することを前提としている。なお、登録先(登録先フォルダ)を切り替える場合には、複数の仮想プリンタを構成し、仮想プリンタごとに登録先フォルダ設定を切り替えて対応する。
【0076】
図5のステップS23における登録先フォルダ判定処理では、まず、図8−1のステップS231において、仮想プリンタ130(CPU101)は、設定ファイル108kの設定情報を読み込み、帳票種別情報である帳票IDと、帳票登録先情報である登録先フォルダIDを取得する。
【0077】
続いて、ステップS232において、仮想プリンタ130(CPU101)は、ステップS231で取得した情報に基づいて、メモリ(例えば、RAM102)に帳票特定情報108m'を作成する。
【0078】
以上のステップS231〜S232の処理を経ることにより、図5のステップS23における登録先フォルダ判定処理がなされる。
【0079】
図8−2は、図8−1に示す設定ファイル108kの構成の一例を示す模式図である。
図8−2に示す設定ファイル108kには、まず、図6−2(b)に示すものと同様に、仮想プリンタ130の処理モードの設定("TYPE="の行)がされている。さらに、図8−2に示す設定ファイル108kには、帳票種別情報である登録する帳票IDが"REPORTID="の行に記述され、帳票登録先情報である登録先フォルダIDが"FOLDERID="の行に記述されて設定がされている。
【0080】
次に、図5のステップS24の詳細な処理について説明する。
図9は、図5のステップS24における帳票特定情報出力処理の詳細な処理を示すフローチャートである。
【0081】
図5のステップS24における帳票特定情報出力処理では、まず、図9のステップS241において、仮想プリンタ130(CPU101)は、帳票特定情報のファイルを新規に作成する。
【0082】
続いて、ステップS242において、仮想プリンタ130(CPU101)は、メモリ(例えば、RAM102)中の帳票特定情報108m'から帳票種別情報(帳票ID)を読み取り、その日時(帳票登録日時とする)と共に、ステップS241で作成したファイルに書き込む(出力する)。
【0083】
続いて、ステップS243において、仮想プリンタ130(CPU101)は、メモリ(例えば、RAM102)中の帳票特定情報108m'から帳票登録先情報(登録先フォルダID)を読み取り、ステップS241で作成したファイルに書き込む(出力する)。
【0084】
これにより、帳票特定情報ファイル108mが作成され、その後、仮想プリンタ130(CPU101)は、当該帳票特定情報ファイル108mを外部メモリ108に保存する。
図10は、帳票特定情報ファイル108mのデータ構成の一例を示す模式図である。
図10に示す帳票特定情報ファイル108mには、帳票特定情報として、帳票ID、帳票登録日時、登録先フォルダIDの3つの情報を含む情報が記憶されている。
【0085】
以上のステップS241〜S243の処理を経ることにより、図5のステップS24における帳票特定情報出力処理がなされる。
【0086】
次に、図3のステップS50の詳細な処理について説明する。なお、ここでは、図3のステップS50の詳細な処理について先に説明し、ステップS40の詳細な処理については後述する。
図11−1は、図3のステップS50における帳票登録処理の詳細な処理を示すフローチャートである。
【0087】
図3のステップS50における帳票登録処理では、まず、ステップS51において、CPU101は、外部メモリ108に保存されている帳票特定情報ファイル108mから帳票特定情報を取得する。
【0088】
続いて、ステップS52において、CPU101は、ステップS51で取得した帳票特定情報の中から、帳票登録先情報である登録先フォルダの情報を取得する。
【0089】
続いて、ステップS53において、CPU101は、ステップS52で取得した帳票登録先情報(登録先フォルダ)に従って、ステップS40で作成した帳票ファイル(イメージ)108c及び帳票ファイル(検索用マップデータ)108dを外部メモリ108の保存ディレクトリである新規フォーマットの帳票ファイル1081にコピーして保存する。
【0090】
続いて、ステップS54において、CPU101は、ステップS51で取得した帳票特定情報に基づく情報を、外部メモリ108のDB1083内の帳票登録実績テーブル108qに登録する。
【0091】
図11−2は、図11−1に示す帳票登録実績テーブル108qの構成の一例を示す模式図である。この図11−2に示す帳票登録実績テーブル108qには、帳票ファイルごとに、帳票ID、登録先フォルダID、保存ディレクトリ、帳票登録日時及びページ数の情報が登録されることを示している。ここで、帳票ID、登録先フォルダID及び帳票登録日時の情報は、ステップS51で取得した帳票特定情報(図10)である。また、保存ディレクトリは、ステップS53で保存した保存ディレクトリ(新規フォーマットの帳票ファイル1081)の情報である。また、ページ数は、例えば図4に示すEMFデータ108bのEMFヘッダ部30に含まれているページ数に係る情報に基づく情報である。
【0092】
以上のステップS51〜S54の処理を経ることにより、図3のステップS50における帳票登録処理がなされる。
【0093】
次に、図2のステップS40において作成される帳票ファイル(イメージ)108c及び帳票ファイル(検索用マップデータ)108dについて説明する。
【0094】
図12は、帳票ファイル(イメージ)108c、及び、それに対応して記憶される帳票テキストファイル108gのデータ構成の一例を示す模式図である。図12では、図12(a)に帳票ファイル(イメージ)108cのデータ構成の一例を示し、図12(b)に帳票テキストファイル108gのデータ構成の一例を示している。
図13は、帳票ファイル(検索用マップデータ)108d、及び、それに対応して記憶される帳票マップファイル108hのデータ構成の一例を示す模式図である。図13では、図13(a)に帳票ファイル(検索用マップデータ)108dのデータ構成の一例を示し、図13(b)に帳票マップファイル108hのデータ構成の一例を示している。
【0095】
帳票ファイル(イメージ)108cは、図12(a)に示すように、ファイルヘッダ部11と、帳票ファイル(イメージ)のページごとのデータ12を有して構成されている。ファイルヘッダ部11には、帳票ファイル(イメージ)108cに係る情報(例えば、帳票ファイル(イメージ)108cのページ数に係る情報等)が記憶されている。
【0096】
帳票ファイル(イメージ)1ページ分のデータ12は、ページヘッダ部12aと、イメージデータ部(EMFデータ)12bを有して構成されている。ページヘッダ部12aには、例えば、イメージデータ部(EMFデータ)12bのデータサイズや原稿(用紙)サイズ等の情報が記憶されている。また、イメージデータ部(EMFデータ)12bには、符号化(圧縮)処理された1ページ分のEMFデータ31が各ページに対応して記憶されている。この具体的な内容については、図17を用いて説明で後述する。
【0097】
また、帳票ファイル(検索用マップデータ)108dは、図13(a)に示すように、ファイルヘッダ部21と、帳票ファイル(検索用マップデータ)108dのページごとのデータ22を有して構成されている。ファイルヘッダ部21には、帳票ファイル(検索用マップデータ)108dに係る情報(例えば、帳票ファイル(検索用マップデータ)108dのページ数に係る情報等)が記憶されている。
【0098】
帳票ファイル(検索用マップデータ)1ページ分のデータ22は、ページヘッダ部22aと、文字列情報部22bを有して構成されている。ページヘッダ部22aには、例えば、文字列情報部22bに係る情報(例えば、文字列数に係る情報等)が記憶されている。
【0099】
文字列情報部22bには、当該1ページに含まれる文字列ごとのデータ220が具備されている。1文字列分のデータ220は、文字列の座標データ221、文字列のピッチデータ222、文字列のピッチパターンデータ223及び文字列データ224を有して構成されている。
【0100】
文字列の座標データ221としては、例えば、当該文字列が存在する矩形領域の左上及び右下の座標データが記憶される。文字列のピッチデータ222には、当該文字列を構成する各文字のピッチ(間隔)に関するデータが記憶されている。文字列のピッチパターンデータ223には、当該文字列を構成する各文字のピッチ(間隔)に関するパターンデータが記憶されている。文字列データ224には、当該文字列の文字情報が記憶されている。例えば、「AAAABBBBB」という文字列があった場合において、「A」のピッチデータをp、「B」のピッチデータをPとした場合、ピッチパターンデータ223は、「ppppPPPPP」となる。
【0101】
帳票ファイル(イメージ)108cと帳票ファイル(検索用マップデータ)108dは、従来の電子帳票システムで使用していた従来フォーマットの帳票ファイル1082と役割が共通化される。その対応関係は、図2を用いて説明したとおりである。上述したように、帳票ファイル(イメージ)108cは、帳票のテキスト部分を持つ帳票テキストファイル108gに対応し、帳票ファイル(検索用マップデータ)108dは、テキストデータの座標や、文字列のピッチに係る情報、文字のフォント情報等を持つ、帳票マップファイル108hに対応している。
【0102】
ここで、帳票テキストファイル108gは、図12(b)に示すように、ファイルヘッダ部41と、帳票テキストファイルのページごとのデータ42を有して構成されている。帳票テキストファイル1ページ分のデータ42は、ページヘッダ部42aと、帳票テキストデータ42bを有して構成されており、また、帳票テキストデータ42bには、行ごとのテキストデータ(テキストレコード)421が具備されている。
【0103】
また、帳票マップファイル108hは、図13(b)に示すように、ファイルヘッダ部51と、帳票マップファイルのページごとのデータ52を有して構成されている。帳票マップファイル1ページ分のデータ52は、ページヘッダ部52aと、マップ情報部52bを有して構成されており、また、マップ情報部52bには、文字列ピッチデータ521や文字列ピッチパターンデータ522等が具備されている。
【0104】
なお、新規フォーマットの帳票ファイル1081では、従来フォーマットの帳票ファイル1082におけるページ定義ファイル108iとフォーム定義ファイル108jに相当するファイルとして、それぞれ、ダミーページ定義ファイル108eとダミーフォーム定義ファイル108fを用意することで、当該新規フォーマットの帳票ファイル1081と従来フォーマットの帳票ファイル1082とが併存可能となっている。また、新規フォーマットの帳票ファイル1081と従来フォーマットの帳票ファイル1082の対応する各ファイルは、ファイルのヘッダ部分が共通のデータ形式になっており、帳票サーバ100は、このヘッダ部分を読み取り、新規フォーマット用の処理と従来フォーマット用の処理を切り替える。
【0105】
次に、図3のステップS40の詳細な処理について説明する。
図14は、図3のステップS40における帳票ファイル作成処理の詳細な処理を示すフローチャートである。
【0106】
図3のステップS40における帳票ファイル作成処理では、まず、図14のステップS41において、CPU101は、作成されたEMFデータ108bを、図4(a)に示すページごとのEMFデータ31に分割するEMFデータページ分割処理を行う。このステップS41の詳細な処理について、図15を用いて以下に説明する。
【0107】
図15は、図14のステップS41におけるEMFデータページ分割処理の詳細な処理を示すフローチャートである。
図14のステップS41におけるEMFデータページ分割処理では、まず、図15のステップS411において、CPU101は、作成されたEMFデータ108bにおけるEMFヘッダ部30の情報の読み取りを行う。ここでは、例えば、EMFデータ108bのページ数に係る情報等が読み取られる。
【0108】
続いて、ステップS412において、CPU101は、ステップS411で読み取ったEMFヘッダ部30の情報に基づいて、ページごとのEMFデータ31を読み込む。
【0109】
続いて、ステップS413において、CPU101は、ステップS412で読み込んだページごとのEMFヘッダ部30を、当該ページごとにメモリに書き込む。この際、EMFヘッダ部30を書き込むメモリとしては、CPU101の内部メモリでもよいし、或いは、外部メモリ108であってもよい。
【0110】
以上のステップS411〜S413の処理を経ることにより、図14のステップS41におけるEMFデータページ分割処理がなされる。
【0111】
図14のステップS41におけるEMFデータページ分割処理が終了すると、続いて、図14のステップS42において、CPU101は、EMFデータの変換処理を行って、帳票ファイル(イメージ)108c及び帳票ファイル(検索用マップデータ)108dを作成する。このステップS42の詳細な処理について、図16を用いて以下に説明する。
【0112】
図16は、図14のステップS42におけるEMFデータ変換処理の詳細な処理を示すフローチャートである。
図14のステップS42におけるEMFデータ変換処理では、まず、図16のステップS421において、CPU101は、ステップS413でメモリに記憶したページごとのEMFデータ31の中から、1ページ分のEMFデータ31の読み込み処理を行う。
【0113】
続いて、ステップS422において、CPU101は、ステップS421で読み込んだEMFデータ31に基づいて、図12(a)に示す帳票ファイル(イメージ)1ページ分のデータ12を作成する処理を行う。ここで、このステップS422の詳細な処理について、図17を用いて以下に説明する。
【0114】
図17は、図16のステップS422における帳票ファイル(イメージ)1ページ分のデータ12の作成処理の詳細な処理を示すフローチャートである。
図16のステップS422の処理では、まず、図17のステップS4221において、CPU101は、ステップS421で読み込んだEMFデータ31に対して符号化(圧縮)処理を行って、図12(a)に示すイメージデータ部(EMFデータ)12bを作成する。
【0115】
続いて、ステップS4222において、CPU101は、ステップS4221で作成したイメージデータ部(EMFデータ)12bのページヘッダ部12aを作成する。このページヘッダ部12aの情報としては、前述したように、例えば、イメージデータ部(EMFデータ)12bの符号化(圧縮)前後のデータサイズや原稿(用紙)サイズ等の情報が含まれている。
【0116】
続いて、ステップS4223において、CPU101は、ステップS4221で作成したイメージデータ部(EMFデータ)12bとステップS4222で作成したページヘッダ部12aとをあわせて、帳票ファイル(イメージ)1ページ分のデータ12を作成し、これを外部メモリ108の帳票ファイル(イメージ)108cの後尾に追加する。
【0117】
以上のステップS4221〜S4223の処理を経ることにより、図16のステップS422における帳票ファイル(イメージ)1ページ分のデータ12の作成処理がなされる。
【0118】
図16のステップS422の処理が終了すると、続いて、図16のステップS423において、CPU101は、ステップS421で読み込んだEMFデータ31に基づいて、図13(a)に示す帳票ファイル(検索用マップデータ)1ページ分のデータ22を作成する処理を行う。ここで、このステップS423の詳細な処理について、図18及び図19を用いて以下に説明する。
【0119】
図18は、図16のステップS423における帳票ファイル(検索用マップデータ)1ページ分のデータ22の作成処理の詳細な処理を示すフローチャートである。また、図19は、図18に示す各ステップでの処理のイメージを示した模式図である。
【0120】
図16のステップS423の処理では、まず、図18のステップS4231において、CPU101は、ステップS421で読み込んだ1ページ分のEMFデータ31における描画命令レコード312の中から、テキスト出力命令レコードを抽出する処理を行う。ここで、このステップS4231により、例えば、図19(b)に示すようなテキスト出力命令レコードが抽出されたとする。ここで、X及びYは、各文字の配置情報であり、例えば、当該文字列が存在する矩形領域の左上の座標とし、Pは、各文字のピッチ情報であるとする。この図19(b)に示すテキスト出力命令レコードのイメージは、図19(a)に示すようになる。なお、不図示であるがテキスト出力命令レコードには各文字の大きさ情報が指定されている。
【0121】
続いて、ステップS4232において、CPU101は、ステップS4231で抽出したテキスト出力命令レコードを、Y座標を基準として(即ち、行方向を基準として)並べ替えるソート処理を行う。図19の例では、図19(b)に示すテキスト出力命令レコードを、図19(c)に示すようにソートする。
【0122】
続いて、ステップS4233において、CPU101は、ステップS4232でソート処理したテキスト出力命令レコードについて、1つずつ文字列情報の作成処理を行う。図19の例では、図19(c)に示すようにソートした各テキスト出力命令レコードに基づいて、図19(d)に示すような文字列情報を作成する。
【0123】
具体的には、「TextOut("ABC",X1,Y1,P1)」のテキスト出力命令レコードにより図19(d)の文字列情報220aが作成される。より詳細には、文字列座標データである座標1として、文字列ABCが存在する矩形領域の左上の座標である(X1,Y1)と、各文字のピッチ情報であるP1とに基づいて、文字列ABCが存在する矩形領域の左上の座標(X1,Y1)と共に右下の座標(x1,y1)が定められる。また、文字列ピッチデータであるピッチ1は、P1のピッチ情報に基づいて生成される。また、文字列ピッチパターンデータであるピッチパターン1は、P1のピッチ情報に基づいて生成される。文字列データである文字列1は、テキスト出力命令レコードの情報に基づいて生成される。なお、文字列情報220aは、図13(a)の1文字列分のデータ220に相当するものである。
【0124】
同様にして、「TextOut("あいうえお",X3,Y3,P3)」のテキスト出力命令レコードにより図19(d)の文字列情報220bが作成され、「TextOut("DEF",X2,Y2,P2)」のテキスト出力命令レコードにより図19(d)の文字列情報220cが作成され、「TextOut("かきくけこ",X4,Y4,P4)」のテキスト出力命令レコードにより図19(d)の文字列情報220dが作成される。
【0125】
ステップS4233の処理が全てのテキスト出力命令レコードについて終了すると、続いて、ステップS4234において、CPU101は、ステップS4233で作成した図19(d)に示す文字列情報の符号化(圧縮)処理を行う。これにより、図13(a)に示す文字列情報部22bが作成される。
【0126】
続いて、ステップS4235において、CPU101は、ステップS4234で作成した文字列情報部22bの図13(a)に示すページヘッダ部22aを作成する。このページヘッダ部22aの情報としては、前述したように、例えば、文字列数に係る情報等が含まれている。
【0127】
続いて、ステップS4236において、CPU101は、ステップS4234で作成した文字列情報部22bとステップS4235で作成したページヘッダ部22aとをあわせて、帳票ファイル(検索用マップデータ)1ページ分のデータ22を作成し、これを外部メモリ108の帳票ファイル(検索用マップデータ)108dの後尾に追加する。
【0128】
以上のステップS4231〜S4236の処理を経ることにより、図16のステップS423における帳票ファイル(検索用マップデータ)1ページ分のデータ22の作成処理がなされる。
【0129】
再び、図16の説明に戻る。
上述したステップS421〜S423の処理を、図14のステップS41で分割された全てのEMFデータ31について行う。
【0130】
そして、ステップS421〜S423の処理が全てのEMFデータ31について終了すると、続いて、図16のステップS424において、CPU101は、ステップS422で作成した帳票ファイル(イメージ)の各ページのデータ12におけるファイルヘッダ部11を作成し、これをデータ12の先頭に付加する。このステップS424の処理により、図12(a)に示す帳票ファイル(イメージ)108cが作成され、外部メモリ108に記憶される。なお、ファイルヘッダ部11の情報としては、前述したように、例えば、帳票ファイル(イメージ)108cのページ数に係る情報等が含まれている。
【0131】
続いて、ステップS425において、CPU101は、ステップS423で作成した帳票ファイル(検索用マップデータ)のページごとのデータ22におけるファイルヘッダ部21を作成し、これをデータ22の先頭に付加する。このステップS425の処理により、図13(a)に示す帳票ファイル(検索用マップデータ)108dが作成され、外部メモリ108に記憶される。なお、ファイルヘッダ部21の情報としては、前述したように、例えば、帳票ファイル(検索用マップデータ)108dのページ数に係る情報等が含まれている。
【0132】
以上のステップS421〜S425の処理を経ることにより、図14のステップS42におけるEMFデータ変換処理が終了すると共に、図3のステップS40における帳票ファイル(108c及び108d)の作成処理が終了する。
【0133】
次に、図3のステップS60における検索処理の詳細な処理について説明する。この際、帳票サーバ100は、上述したように、新規フォーマットの帳票ファイル1081と従来フォーマットの帳票ファイル1082の対応するファイルのヘッダ部分を読み取って、新規フォーマット用の処理と従来フォーマット用の処理を切り替える。ここでは、新規フォーマット用の処理についての説明である。
【0134】
図20は、図3のステップS60における検索処理の詳細な処理を示すフローチャートである。
【0135】
図3のステップS60における検索処理では、まず、図20のステップS61において、CPU101は、クライアントPC(201又は202)から受信した検索コマンドに基づいて、DB1083内の帳票登録実績テーブル108qを参照(検索)して、検索対象の帳票ファイルを決定する。
なお、ユーザは、検索処理を実行するのにあたり、従来と同様に選択した帳票ファイルを表示装置に表示させて、検索を所望する帳票イメージ上の領域を指定し、指定した領域に対して検索処理を行う。
【0136】
続いて、ステップS62において、CPU101は、ステップS61で決定した検索対象の帳票ファイル(検索用マップデータ)108dを外部メモリ108から読み込む。
【0137】
続いて、ステップS63において、CPU101は、ステップS62で読み込んだ帳票ファイル(検索用マップデータ)108dについて、帳票ファイル(検索用マップデータ)1ページ分のデータ22ごとに、文字列情報統合化処理を行う。このステップS63の詳細な処理について、図21及び図22を用いて以下に説明する。
【0138】
図21は、図20のステップS63における文字列情報統合化処理の詳細な処理を示すフローチャートである。また、図22は、図21に示す各ステップでの処理のイメージを示した模式図である。
【0139】
図20のステップS63の処理では、まず、図21のステップS631において、CPU101は、当該帳票ファイル(検索用マップデータ)1ページ分のデータ22の中から図13(a)に示す文字列情報部22bの読み込み処理を行う。この際、読み込まれた文字列情報部22bにおけるマップデータの一例を図22(b1)に示し、当該マップデータのイメージの一例を図22(a1)に示す。ここで、図22(b1)に示すマップデータ151b、152b、153b及び154bが、それぞれ、図22(a1)に示すマップデータのイメージ151a、152a、153a及び154aに対応している。また、図22(b1)のピッチ情報は、文字列ピッチデータ222及び文字列ピッチパターンデータ223の両者に係る情報である。
【0140】
続いて、ステップS632において、CPU101は、ステップS631で読み込んだ文字列情報部22bについて、文字列情報(1文字列分のデータ220)ごとに、前の文字列情報(文字列レコード)と統合ができるか否かを判断する。ここで、本実施形態の文字列情報の統合化処理については、文字列座標データ221におけるY座標が同じであるか(即ち、同一行であるか否か)を判断基準として判断する。
【0141】
ステップS632の判断の結果、前の文字列情報と統合ができる場合には、続いて、ステップS633において、CPU101は、当該文字列同士の文字列情報の連結処理を行う。
【0142】
一方、ステップS632の判断の結果、前の文字列情報と統合ができない場合には、続いて、ステップS634において、CPU101は、前の統合化文字列情報の確定処理を行う。続いて、ステップS635において、CPU101は、現在の文字列情報に対して新規な統合化文字列情報の設定処理を行う。
【0143】
ステップS633、又は、ステップS634及びS635による統合化後のマップデータの一例を図22(b2)に示し、当該マップデータのイメージの一例を図22(a2)に示す。例えば、ステップS633による処理により、図22(a1)に示すマップデータのイメージ151a、152a及び153aが図22(a2)に示すマップデータのイメージ150aのように統合化されるため、図22(b1)に示すマップデータ151b、152b及び153bが図22(b2)に示すマップデータ150bに統合化される。また、例えば、ステップS634及びS635による処理により、マップデータ150bの統合化が確定されると共にマップデータ154bにおける新規な統合化マップデータ160bの設定処理が行われる。この際のマップデータのイメージについては、図22(a1)のマップデータのイメージ154aに対応して、図22(a2)の新規な統合化マップデータのイメージ160aを設定している点に反映されている。
【0144】
上述したステップS632〜S635までの処理を、ステップS631で読み込んだ文字列情報部22bにおける全ての文字列情報(1文字列分のデータ220)について行う。
【0145】
そして、ステップS632〜S635の処理が全ての文字列情報(1文字列分のデータ220)について終了すると、図20のステップS63における文字列情報統合化処理が終了する。
【0146】
図20のステップS63の処理が終了すると、続いて、図20のステップS64において、CPU101は、クライアントPC(201又は202)から受信した検索コマンドにおける検索対象の文字列について、検索処理を行う。
【0147】
上述したステップS63及びS64の処理を、ステップS62で読み込んだ帳票ファイル(検索用マップデータ)108dの全てのデータ22について行う。
【0148】
そして、ステップS63及びS64の処理が帳票ファイル(検索用マップデータ)108dの全てのデータ22について終了すると、図3のステップS60における検索処理が終了する。
【0149】
以上説明したように、本実施形態の帳票サーバ100では、他のアプリケーションサーバ等の汎用アプリケーションから、仮想プリンタ130に対して描画データであるEMFデータが送信されると、当該EMFデータを印刷処理してEMFデータ108bを生成するようにしている(S10)。また、本実施形態の帳票サーバ100では、EMFデータ108bからテキスト検索が可能な新規フォーマットの帳票ファイル(第1の形式の帳票ファイル)1081を作成し(S40:第1の帳票ファイル作成ステップ)、作成された新規フォーマットの帳票ファイル1081を外部メモリ108に記億して帳票ファイルの登録処理を行うようにしている(S50)。また、本実施形態の帳票サーバ100では、仮想プリンタ130の処理に係る処理モードを設定ファイル108kに設定するようにしており、設定ファイル108kに設定された処理モードに従って、仮想プリンタ130で処理されたEMFデータ108bに基づきステップS40で作成される新規フォーマットの帳票ファイル1081を特定するための帳票特定情報を作成するようにしている(S20におけるS215、S227、S232:帳票特定情報作成ステップ)。そして、本実施形態の帳票サーバ100では、クライアントPC(201又は202)から検索要求を受け付けると(検索要求受付ステップ)、当該検索要求及び前記帳票特定情報に従って、外部メモリ108の中から検索対象の帳票ファイルを決定し、当該帳票ファイルに対してテキスト検索処理を行うようにしている(S60)。
かかる構成によれば、ホストコンピュータからの帳票印刷データに加えて、汎用的な業務アプリケーション(業務システム)の描画データを帳票ファイルとして取り扱い、当該描画データ内の情報について効率的に検索を行うことが可能となる。
【0150】
また、本実施形態の帳票サーバ100では、例えば、仮想プリンタ130において帳票印刷データを検知した場合、当該帳票印刷データから従来フォーマットの帳票ファイル(第2の形式の帳票ファイル)1082を作成し(第2の帳票ファイル作成ステップ)、図2に示すように、新規フォーマットの帳票ファイル(第1の形式の帳票ファイル)1081と従来フォーマットの帳票ファイル(第2の形式の帳票ファイル)1082とを対応付けて外部メモリ108に記憶して管理するようにしている。
かかる構成によれば、汎用的な業務アプリケーションの描画データに基づき作成される帳票ファイルを、ホストコンピュータより入力される帳票印刷データに基づく帳票ファイルと同様に取り扱うことが可能となる。
【0151】
また、本実施形態の帳票サーバ100では、新規フォーマットの帳票ファイル(第1の形式の帳票ファイル)1081として、表示装置に表示するためのイメージ用ファイルである帳票ファイル(イメージ)108c、及び、文字列検索のために用いる検索ファイルである帳票ファイル(検索用マップデータ)108dを含むように構成している。そして、帳票ファイル(検索用マップデータ)108dに、描画データに含まれる文字列に係る文字列情報を具備するようにしている(図13(a))。
かかる構成によれば、帳票上の文字列の検索を容易に行うことができる。
【0152】
更に、本実施形態の帳票サーバ100では、前記文字列の座標に係る情報として、業務アプリケーションの描画データに含まれる文字列の座標に係る情報(文字列座標データ221)が具備されており、業務アプリケーションの描画データの検索処理を行う際に、文字列座標データ221に基づいて同一行に含まれる文字列を統合化するようにしている(ステップS63)。
かかる構成によれば、帳票の用紙(帳票イメージ)上の領域を指定した検索を行うことが可能になり、帳票上の行をイメージしたより効率的な検索を行うことが可能となる。
【0153】
前述した本実施形態に係る帳票サーバ(情報処理装置)100を構成する図2の各手段、並びに帳票サーバ100の制御方法を示した図3、図5、図6−1、図7−1、図8−1、図9、図11−1、図14〜図18、図20及び図21の各ステップは、コンピュータのCPU(101)がROM(103)などに記憶されたプログラム(103a)を実行することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【0154】
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
【0155】
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る帳票サーバ100の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係る帳票サーバ100の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る帳票サーバ100の機能が実現される場合も、かかるプログラムは本発明に含まれる。
【図面の簡単な説明】
【0156】
【図1】本発明の実施形態に係る帳票サーバ(情報処理装置)を含む電子帳票システムの概略構成図である。
【図2】本発明の実施形態に係る帳票サーバ(情報処理装置)のシステム構成図である。
【図3】本発明の実施形態に係る帳票サーバ(情報処理装置)の処理の流れを示すフローチャートである。
【図4】EMFデータのデータ構成及び各構成部に保持されるデータの一例を示す模式図である。
【図5】図3のステップS20における帳票特定処理の詳細な処理を示すフローチャートである。
【図6−1】図5のステップS21における帳票特定情報抽出処理の詳細な処理を示すフローチャートである。
【図6−2】図6−1に示す登録先テーブル108p及び設定ファイル108kの構成の一例を示す模式図である。
【図7−1】図5のステップS22における帳票登録先入力処理の詳細な処理を示すフローチャートである。
【図7−2】図7−1のステップS225で表示されるダイアログの一例を示す模式図である。
【図8−1】図5のステップS23における登録先フォルダ判定処理の詳細な処理を示すフローチャートである。
【図8−2】図8−1に示す設定ファイルの構成の一例を示す模式図である。
【図9】図5のステップS24における帳票特定情報出力処理の詳細な処理を示すフローチャートである。
【図10】帳票特定情報ファイルのデータ構成の一例を示す模式図である。
【図11−1】図3のステップS50における帳票登録処理の詳細な処理を示すフローチャートである。
【図11−2】図11−1に示す帳票登録実績テーブルの構成の一例を示す模式図である。
【図12】帳票ファイル(イメージ)、及び、それに対応して記憶される帳票テキストファイルのデータ構成の一例を示す模式図である。
【図13】帳票ファイル(検索用マップデータ)、及び、それに対応して記憶される帳票マップファイルのデータ構成の一例を示す模式図である。
【図14】図3のステップS40における帳票ファイル作成処理の詳細な処理を示すフローチャートである。
【図15】図14のステップS41におけるEMFデータページ分割処理の詳細な処理を示すフローチャートである。
【図16】図14のステップS42におけるEMFデータ変換処理の詳細な処理を示すフローチャートである。
【図17】図16のステップS422における帳票ファイル(イメージ)1ページ分のデータの作成処理の詳細な処理を示すフローチャートである。
【図18】図16のステップS423における帳票ファイル(検索用マップデータ)1ページ分のデータの作成処理の詳細な処理を示すフローチャートである。
【図19】図18に示す各ステップでの処理のイメージを示した模式図である。
【図20】図3のステップS60における検索処理の詳細な処理を示すフローチャートである。
【図21】図20のステップS63における文字列情報統合化処理の詳細な処理を示すフローチャートである。
【図22】図21に示す各ステップでの処理のイメージを示した模式図である。
【符号の説明】
【0157】
100 帳票サーバ(情報処理装置)
101 CPU
102 RAM
103 ROM
103a プログラム
104 入力部
105 入力コントローラ
106 表示部
107 表示コントローラ
108 外部メモリ
108a オフィス文書ファイル
108b EMFデータ
108c 帳票ファイル(イメージ)
108d 帳票ファイル(検索用マップデータ)
108e ダミーページ定義ファイル
108f ダミーフォーム定義ファイル
108g 帳票テキストファイル
108h 帳票マップファイル
108i ページ定義ファイル
108j フォーム定義ファイル
108k 設定ファイル
108m 帳票特定情報ファイル
108p 登録先テーブル
108q 帳票登録実績テーブル
1081 新規フォーマットの帳票ファイル
1082 従来フォーマットの帳票ファイル
1083 データベース(DB)
109 外部メモリコントローラ
110 通信インタフェース(I/F)コントローラ
111 システムバス
130 仮想プリンタ
201、202 クライアントPC
300 ネットワーク
400 アプリケーションサーバ
500 業務用PC

【特許請求の範囲】
【請求項1】
描画データから生成される帳票ファイルを管理する情報処理装置であって、
外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成手段と、
前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成手段で作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成手段と、
前記帳票特定情報作成手段により作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理手段と、
検索要求を受け付ける検索要求受付手段と、
前記検索要求受付手段で受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記帳票特定情報は、前記第1の形式の帳票ファイルの種別を示す帳票種別情報、及び、前記第1の形式の帳票ファイルの登録先を示す帳票登録先情報を含むものであり、
前記帳票登録処理手段は、前記帳票登録先情報に基づいて、前記第1の形式の帳票ファイルの登録処理を行うことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記帳票特定情報作成手段は、設定された処理モードに応じて、前記帳票特定情報を作成することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
外部装置から前記描画データとは異なる形式の印刷データを更に受け付けるものであり、
前記印刷データから第2の形式の帳票ファイルを作成する第2の帳票ファイル作成手段と、
前記第1の形式の帳票ファイルと前記第2の形式の帳票ファイルとを対応付けて管理する管理手段とを更に有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記検索手段は、前記検索要求受付手段で受け付けた検索要求に従って、前記管理手段により管理される前記第1の形式の帳票ファイル及び前記第2の形式の帳票ファイルに対してテキスト検索処理を行うことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記第1の形式の帳票ファイルは、表示装置に表示するためのイメージ用ファイル、及び、文字列検索のために用いる検索ファイルを含むことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記検索ファイルは、前記描画データに含まれるテキスト出力命令レコードを用いて作成されるものであることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記検索ファイルは、前記描画データに含まれる文字列に係る文字列情報を具備していることを特徴とする請求項6又は7に記載の情報処理装置。
【請求項9】
前記文字列情報として、前記文字列の座標に係る情報、前記文字列のピッチに係る情報、及び、前記文字列を示す情報を含むことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記文字列の座標に係る情報として、前記描画データに含まれる文字列の座標に係る情報が具備されており、
前記検索手段は、当該描画データに含まれる文字列の座標に係る情報に基づいて同一行に含まれる前記文字列を統合化して、前記テキスト検索処理を行うことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
描画データから生成される帳票ファイルを管理する情報処理装置の制御方法であって、
外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成ステップと、
前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成ステップで作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成ステップと、
前記帳票特定情報作成ステップにより作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理ステップと、
検索要求を受け付ける検索要求受付ステップと、
前記検索要求受付ステップで受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項12】
描画データから生成される帳票ファイルを管理する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
外部装置から受け取った描画データを用いて、テキスト検索が可能な第1の形式の帳票ファイルを作成する第1の帳票ファイル作成ステップと、
前記外部装置から受け取った描画データを用いて、前記第1の帳票ファイル作成ステップで作成される前記第1の形式の帳票ファイルを特定するための帳票特定情報を作成する帳票特定情報作成ステップと、
前記帳票特定情報作成ステップにより作成された帳票特定情報に従って、前記第1の帳票ファイル作成手段で作成された前記第1の形式の帳票ファイルの登録処理を行う帳票登録処理ステップと、
検索要求を受け付ける検索要求受付ステップと、
前記検索要求受付ステップで受け付けた検索要求に従って、前記第1の形式の帳票ファイルに対してテキスト検索処理を行う検索ステップと
をコンピュータに実行させるためのプログラム。
【請求項13】
請求項12に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図8−1】
image rotate

【図8−2】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11−1】
image rotate

【図11−2】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2010−3258(P2010−3258A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−163700(P2008−163700)
【出願日】平成20年6月23日(2008.6.23)
【出願人】(592135203)キヤノンITソリューションズ株式会社 (528)
【Fターム(参考)】