(57)【特許請求の範囲】
【請求項１】
ソフトウェアからのデータをもとに帳票データを自動作成する電子帳票作成プログラムにおいて、
アプリケーションプログラムあるいはオペレーティングシステムからプリンタドライバに渡された、所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得する手段と、
上記取得した印刷データに付加するための作成者名または帳票名が指定されたかどうかを解析する手段と、
上記解析した結果、作成者名または帳票名が指定された場合、当該作成者名または当該帳票名を付与した電子帳票を生成する手段と、
更に、上記取得した印刷データに図形データが含まれているかどうかを解析する手段と、
上記取得した印刷データに図形データが含まれていた場合、当該図形データからビットデータを抽出し、縦方向においては、直前のラインと同じデータの場合に同一ライン数をカウントアップして記憶し、同一ラインのビットデータを削除し、横方向においては、１ライン分のビットデータから同一バイトが連続した数をカウントアップして記憶し、同一バイトデータを削除することにより該図形データを圧縮し、同一ライン数と同一バイト数を付与した圧縮された図形データと共に電子帳票を生成する手段と
して機能させるための電子帳票作成プログラム。
【請求項２】
更に、上記電子帳票に帳票名が付与されていた場合、当該電子帳票を当該電子帳票名に基づいて予め定義された該当する格納先に格納する手段を付加した請求項１記載の電子帳票作成プログラム。
【請求項３】
更に、任意のアプリケーションプログラムがオペレーティングシステムに印刷指示したことに対応して、当該オペレーティングシステムから上記印刷データを取得する手段を付加した請求項１あるいは請求項２記載の電子帳票作成プログラム。
【請求項４】
ソフトウェアからのデータをもとに帳票データを自動作成する電子帳票作成方法において、
コンピュータが備える取得手段が、アプリケーションプログラムあるいはオペレーティングシステムからプリンタドライバに渡された、所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得するステップと、
コンピュータが備える解析手段が、上記取得した印刷データに付加するための作成者名または帳票名が指定されたかどうかを解析するステップと、
コンピュータが備える生成手段が、上記解析した結果、作成者名または帳票名が指定された場合、当該作成者名または当該帳票名を付与した電子帳票を生成するステップと、
更に、コンピュータが備える解析手段が、上記取得した印刷データに図形データが含まれているかどうかを解析するステップと、
コンピュータが備える生成手段が、上記取得した印刷データに図形データが含まれていた場合、当該図形データからビットデータを抽出し、縦方向においては、直前のラインと同じデータの場合に同一ライン数をカウントアップして記憶し、同一ラインのビットデータを削除し、横方向においては、１ライン分のビットデータから同一バイトが連続した数をカウントアップして記憶し、同一バイトデータを削除することにより該図形データを圧縮し、同一ライン数と同一バイト数を付与した圧縮された図形データと共に電子帳票を生成するステップと
を有する電子帳票作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェアからのデータをもとに帳票データを自動作成する電子帳票作成プログラムおよび電子帳票作成方法に関するものである。
【０００２】
【従来の技術】
従来、電子帳票システムにおいて、アプリケーションで扱われている帳票を電子化するには以下の方法で実施していた。
【０００３】
・アプリケーションから電子帳票作成機能のインタフェースを呼出すことによつて、電子帳票データ形式に変換していた。
【０００４】
・帳票のデータを設計／出力するアプリケーションを使用することによって帳票の定義体や入カデータを作成し、電子帳票作成機能のインタフェースを呼出すことによつて電子帳票データ形式に変換していた。
【０００５】
・電子帳票データの作成者名や帳票名などの管理情報は、アプリケーションのユーザビユーで指定させていた。
【０００６】
・電子帳票ファイルの格納先は、出カポ‐卜単位で決定していた。
【０００７】
【発明が解決しようとする課題】
従来の技術では、以下の問題点が発生していた。
【０００８】
（１）アプリケーションを修正したり、帳票データを設計／出力するためのアプリケーションが必要になるため、電子帳票システムの利用範囲が非常に限定されてしまう。
【０００９】
（２）アプリケーションが出力する様々な図形データを表現するには、図形データをビットマップ形式によつて出力することが可能であるが、電子化した結果、データサイズが非常に大きくなり、電子帳票データの格納媒体の領域を圧迫してしまう。
【００１０】
（３）電子帳票データの作成者名や帳票名などの管理情報は、アプリケーションのユーザビューにより指定させていた。ユーザビューで情報が設定されない場合には情報が付加できないため、電子帳票データを管理するうえで不便であつた。
【００１１】
（４）電子帳票ファイルの格納先は出力ポートごと一意に決定していたため、格納先を切り替えるには、出力ポートを別のポートに切り替える必要があつた。
【００１２】
本発明は、これらの問題を解決するため、所定の印刷、指示情報、文字データあるいは図形データに関する印刷データを取得して解析し、解析結果をもとに電子帳票ファイルを自動生成し、従来のアプリの修正なしに、しかも帳票データを設定・出力するアプリなしに、印刷業務を行うアプリが扱う全ての帳票を電子化した電子帳票ファイルにして出力したり、圧縮したり、格納先を自動的に決定したりなどすることを目的としている。
【００１３】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
【００１４】
図１において、アプリケーションプログラム１は、印刷指示するものである。ＯＳ２は、オペレーティングシステムであって、ここでは、アプリケーションプログラム１からの印刷指示を受け付け、ドライバ３に印刷データなどを渡したりなどするものである。
【００１５】
ドライバ３は、取得した印刷データなどを解析したりなどするものであって、ここでは、データ取得手段３１、解析手段３２などから構成されるものである。
【００１６】
データ取得手段３１は、ＯＳ２あるいはアプリケーションプログラム１から印刷データなどを取得するものである。
【００１７】
解析手段３２は、取得した印刷データを解析するものである。
電子帳票作成機能４は、印刷データを解析した結果をもとに、電子帳票を自動作成するものであって、ここでは、帳票生成手段４１、圧縮手段４２、格納手段４３などから構成されるものである。
【００１８】
帳票生成手段４１は、解析結果をもとに電子帳票を作成するものである。
圧縮手段４２は、データを圧縮するものである。
【００１９】
格納手段４３は、電子帳票データについて、管理情報定義ファイル４４を参照して該当格納先に振り分けて格納するものである。
【００２０】
次に、動作を説明する。
ドライバ３を構成するデータ取得手段３１が印刷データを取得し、解析手段３２が取得した印刷データを解析し、電子帳票作成機能４を構成する帳票生成手段４１が解析した結果をもとに電子帳票を生成するようにしている。
【００２１】
この際、圧縮手段４２がイメージデータと判明したときに圧縮するようにしている。
【００２２】
また、帳票生成手段４１が解析した結果、データの作成者名、帳票名が付加されていないときに当該解析した印刷データに付加されている作成者名、帳票名を抽出して電子帳票データに付加するようにしている。
【００２３】
また、格納手段４３が電子帳票データに付加された帳票名をもとに管理情報定義ファイル４４を参照して予め定義された該当する格納先に格納するようにしている。
【００２４】
また、データ取得手段３１が任意のアプリケーションプログラム１から所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得するようにしている。
【００２５】
また、データ取得手段３１が任意のアプリケーションプログラムがオペレーティングシステムに印刷指示したことに対応して、オペレーティングシステムから印刷データを取得するようにしている。
【００２６】
従って、アプリケーションプログラム１あるいはＯＳ２から印刷データを取得して解析し、解析結果をもとに電子帳票ファイルを自動生成することにより、従来のアプリケーションプログラムの修正なしに、しかも帳票データを設定・出力するアプリケーションプログラムなしに、印刷業務を行うアプリケーションプログラムが扱う全ての帳票を電子化した電子帳票ファイルにして出力したり、圧縮したり、格納先を自動的に決定したりなどすることが可能となる。
【００２７】
【発明の実施の形態】
次に、図１から図１１を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００２８】
図１は、本発明のシステム構成図を示す。
図１において、アプリケーションプログラム１は、各種業務処理を実行する複数のアプリケーションプログラムであって、ここでは、印刷指示するものである。
【００２９】
ＯＳ２は、オペレーティングシステムであって、ここでは、アプリケーションプログラム１から所定の印刷指示情報、文字データあるいは図形データに関する印刷データなどを受け付け、ドライバ３に印刷データを渡したりなどするものである。
【００３０】
ドライバ３は、ＯＳ２あるいはアプリケーションプログラム１から印刷でデータを取得して解析したりなどするものであって、ここでは、データ取得手段３１、解析手段３２などから構成されるものである。
【００３１】
データ取得手段３１は、ＯＳ２あるいは複数のアプリケーションプログラム１から印刷データなどを取得するものである。
【００３２】
解析手段３２は、取得した印刷データを解析するものである（図２を用いて後述する）。
【００３３】
電子帳票作成機能４は、印刷データを解析した結果をもとに、所定の電子帳票を自動作成するものであって、ここでは、帳票生成手段４１、圧縮手段４２、格納手段４３などから構成されるものである（図２などを用いて後述する）。
【００３４】
帳票生成手段４１は、解析結果をもとに電子帳票を作成するものである（図２から図１１を用いて後述する）。
【００３５】
圧縮手段４２は、印刷データを圧縮するものである（図５から図７を用いて後述する）。
【００３６】
格納手段４３は、電子帳票データについて、管理情報定義ファイル４４を参照して該当格納先に振り分けて格納するものである（図１０から図１１を用いて後述する）。
【００３７】
管理情報定義ファイル４４は、帳票データの格納先情報を定義したものである（図１０から図１１を用いて後述する）。
【００３８】
アプリ固有の帳票データ１１は、各アプリケーションプログラム１に固有の帳票データである。
【００３９】
文字データ１２、図形データ１３は、ドライバ３が取得した印刷データを解析して抽出した文字データ、図形データである。
【００４０】
電子帳票データ１４は、電子帳票作成機能４が解析手段３２によって解析して抽出した文字データ１２、図形データ１３をもとに、自動作成した電子帳票データである（図２から図１１を用いて後述する）。
【００４１】
次に、図２を用いて図１の構成の動作を詳細に説明する。
図２は、本発明の動作説明図を示す。
【００４２】
図２において、端末１，２は、複数のアプリケーションＡ，Ｂ，Ｃが動作する端末の例である。これらアプリケーションＡ，Ｂ，Ｃは、それぞれ印刷依頼をここではＯＳに行い、図示のＯＳスプーラ２１が印刷依頼を受けた印刷データをスプールファイルに一時的に格納する。
【００４３】
ＯＳスプーラ２１は、各アプリケーションＡ，Ｂ，Ｃから依頼を受けた印刷データを図示外のスプールファイルに一時的に格納し、本願発明に係わる図１のドライバ３に当該印刷データを渡すものである。
【００４４】
Ｓ２は、ＯＳが準備した出口がキックされたか判別する。これは、ＯＳスプーラ２１がアプリケーションＡ，Ｂ，Ｃから印刷依頼を受けた印刷データをスプールファイルに一時的に格納し、ＯＳが準備した出口をキックしてドライバ３に印刷指示するので、当該キックがありか判別する。ＹＥＳの場合には、印刷データを取得してＳ３に進む。ＮＯの場合には、Ｓ２を繰り返し待機する。
【００４５】
Ｓ３は、印刷の開始か判別する。これは、Ｓ２のＹＥＳでＯＳから取得した印刷データを解析し、印刷の開始か判別する。ＹＥＳの場合（後述する図３の（Ａ）の（ａ）の開始の場合）には、Ｓ４で、印刷開始を出力し、電子帳票作成機能４に渡す。一方、ＮＯの場合には、Ｓ５に進む。
【００４６】
Ｓ５は、ページの開始か判別する。これは、Ｓ２のＹＥＳで取得した印刷データを解析し、ページの開始か判別する。ＹＥＳの場合（後述する図３の（Ａ）の（ｂ）の場合）には、Ｓ６でページ開始を出力し、電子帳票作成機能４に渡す。一方、ＮＯの場合には、Ｓ７に進む。
【００４７】
Ｓ７は、ページデータか判別する。これは、Ｓ２のＹＥＳで取得した印刷データを解析し、ページデータか判別する。ＹＥＳの場合（後述する図３の（Ａ）の（ｃ））の場合）には、Ｓ８で文字データを出力し、Ｓ９で図形データ（圧縮）を出力し、Ｓ１０で改ページを出力し、電子帳票作成機能４に渡す。一方、ＮＯの場合には、Ｓ１１に進む。
【００４８】
Ｓ１１は、印刷の終了か判別する。これは、Ｓ２のＹＥＳで取得した印刷データを解析し、印刷の終了か判別する。ＹＥＳの場合（後述する図３の（Ａ）の（ｄ）の場合）には、Ｓ１２で印刷終了を出力し、電子帳票作成機能４に渡す。一方、ＮＯの場合には、終了する。
【００４９】
以上の手順によって、アプリケーションＡ，Ｂ，Ｃのいずれかが印刷依頼をＯＳに行うと、ＯＳが準備した出口がキックされ、ドライバ３が印刷データを取得（あるいはアプリケーションプログラムＡ，Ｂ，Ｃから直接に印刷データを取得）し、取得した印刷データを解析し、印刷の開始、ページの開始、ページデータ、印刷の終了のときにそれぞれのデータを電子帳票作成機能４に渡し、電子帳票作成機能４が後述する手順により図４の帳票データを自動作成して出力することが可能となる。
【００５０】
図３は、本発明の説明図（その１）を示す。ここで、図３の（Ａ）は図２のドライバ３が取得する入力データの例を示し、図３の（Ｂ）は図２のドライバ３が出力して電子帳票作成機能４に渡す出力データの例を示す。
【００５１】
図３の（Ａ）は、入力データの例を示す。
図３の（Ａ）の（ａ）は、印刷開始の入力データ例であって、ここでは、特にデータはなく、印刷開始指示という情報である。
【００５２】
図３の（Ａ）の（ｂ）は、ページ開始の入力データ例であって、ここでは、図示の下記のデータなどを設定したものである。
【００５３】
・用紙方向：
・用紙サイズ：
・とじこみ：有無
・印刷開始原点：
・その他：
図３の（Ａ）の（ｃ）は、ページデータの入力データ例であって、ここでは、図示の下記のデータなどを設定したものである。
【００５４】
・ビットマップ：
・解像度／サイズ：
・文字列：
・フォント情報：
・その他：
図３の（Ａ）の（ｄ）は、印刷終了の入力データ例であって、ここでは、特にデータはなく、印刷終了指示という情報である。
【００５５】
図３の（Ｂ）は、出力データの例を示す。
図３の（Ｂ）の（ａ）は、印刷開始の出力データ例であって、ここでは、図示の下記のコマンド部、データ部などを設定したものである。
【００５６】
・コマンド部：
・印刷開始：
・データ部：
・なし
図３の（Ｂ）の（ｂ）は、ページ開始の出力データ例であって、ここでは、図示の下記のコマンド部、データ部などを設定したものである。
【００５７】
・コマンド部：
・ページ開始：
・データ部：
・用紙方向：
・用紙サイズ：
・とじしろ：
・印刷開始原点：
・その他：
図３の（Ｂ）の（ｃ）は、文字データの出力データ例であって、ここでは、図示の下記のコマンド部、データ部（フォントの数、文字の数分繰り返す）などを設定したものである。
【００５８】
・フォント：
・コマンド部：
・フォント出力：
・データ部：
・フォント情報：
・その他：
・文字：
・コマンド部：
・文字出力：
・データ部：
・文字：
・その他：
図３の（Ｂ）の（ｄ）は、図形データの出力データ例であって、ここでは、図示の下記のコマンド部、データ部（図形データの数分繰り返す）などを設定したものである。
【００５９】
・コマンド部：
・ビットマップ出力：
・データ部：
・ビットマップ：
・解像度・サイズ：
・その他：
図３の（Ｂ）の（ｅ）は、改ページの出力データ例であって、ここでは、図示の下記のコマンド部、データ部などを設定したものである。
【００６０】
・コマンド部：
・改ページ：
・データ部：
・なし
図３の（Ｂ）の（ｆ）は、印刷終了データの出力データ例であって、ここでは、図示の下記のコマンド部、データ部などを設定したものである。
【００６１】
・コマンド部：
・印刷終了：
・データ部：
・なし：
図４は、本発明の説明図（その２）を示す。
【００６２】
図４の（ａ）は、ドライバ出力後のデータ例を示す。図２のドライバ３の出力後のデータの例であって、ここでは、図示の下記の情報を設定したものである。
【００６３】
・ヘッダ：
・用紙方向：
・用紙サイズ：
・とじしろ：
・印刷開始原点：
・フォント情報：（文字列分の繰り返し）
・文字：（文字列分の繰り返し）
・解像度／サイズ：（図形分繰り返し）
・ビットマップデータ：（図形分繰り返し）
・その他：
以上のデータについて、ページ分繰り返し出力データとしてドライバ３が出力する（電子帳票作成機能４に渡す）。
【００６４】
図５は、本発明の動作説明フローチャート（圧縮）を示す。これは、既述した図２のＳ９で図形データのときに圧縮してサイズを小さくするときの詳細フローチャートである。
【００６５】
図５において、Ｓ２１は、ビットマップクリッピングを行う。例えば印刷データ中から表のみを取り出す。
【００６６】
Ｓ２２は、ラインデータの取り出しを行う。すべてのラインを処理したら終了する（ＥＮＤ）。すべてのラインを終了していなければ、Ｓ２３に進む。
【００６７】
Ｓ２３は、直前のラインと同一か判別する。これらＳ２１からＳ２３は、例えば後述する図６の（ａ）のクリッピング後のビットデータの上から下に向けて１ラインづつ取り出し、直前のラインと同一か判別する。ＹＥＳの場合には、直前のバイトと、現在のラインとが同一であると判明したので、Ｓ２４で同一ライン数をカウントアップし、Ｓ２２に戻り次のラインを取り出して繰り返す。これにより、同一のラインが連続した数をカウントアップすることが可能となる。一方、Ｓ２３のＮＯの場合には、直前のラインと現在のラインとが同一でなく、異なると判明したので、Ｓ２５に進む。
【００６８】
Ｓ２５は、同一ライン数をバッファに出力する。これは、Ｓ２４でカウントアップした同一ライン数をバッファに出力して記憶する。
【００６９】
以上のＳ２２からＳ２５によって、後述する図６の（ａ）のクリッピング後のビットデータについて、縦方向の同一ライン数をカウントアップし、後述する図６の（ｂ）のように圧縮することが可能となる。
【００７０】
Ｓ２６は、バイトデータの取り出しを行う。ライン内のすべてのバイトを処理したら終了する（ＥＮＤ）。すべてのバイトを終了していなければ、Ｓ２７に進む。
【００７１】
Ｓ２７は、直前のバイトとＸＯＲ演算する。
Ｓ２８は、直前のバイトと同一か判別する。これらＳ２６からＳ２８は、例えば後述する図６の（ｂ）の縦ライン圧縮後のビットデータについて、１ライン取り出して直前のバイトと、現在のバイトとをＸＯＲ演算し、全てのビットが０で同一か判別する。ＹＥＳの場合には、直前のバイトと、現在のバイトとが同一であると判明したので、Ｓ２９で同一バイト数をカウントアップし、Ｓ２６に戻り次のバイトデータを取り出して繰り返す。これにより、ライン内で同一バイトが連続した数をカウントアップすることが可能となる。一方、Ｓ２８のＮＯの場合には、直前のバイトと現在のバイトとが同一でなく、異なると判明したので、Ｓ３０に進む。
【００７２】
Ｓ３０は、同一バイト数をバッファに出力する。これは、Ｓ２９でカウントアップした同一バイト数をバッファに出力して記憶する。
【００７３】
Ｓ３１は、バイトデータをバッファに出力して記憶する。そして、Ｓ２２に戻り繰り返す。
【００７４】
以上のＳ２６からＳ３１によって、後述する図６の（ｂ）の縦ライン圧縮後のビットデータについて、横方向の同一バイト数をカウントアップし、図６の（ｄ）に示すように圧縮することが可能となる。
【００７５】
図６は、本発明の説明図（その３）を示す。これは、図５のフローチャートに従い、縦方向（ライン方向）および横方向（バイト方向）に圧縮する様子を模式的に示したものである。
【００７６】
図６の（ａ）は、クリッピング後のビットデータの例を示す。これは、印刷データ中から、例えば表のみをクリッピングして図示のように取り出す。ここで、縦方向はラインを表す、横方向はバイト単位（１つの矩形が８ビット）のビットデータを表す。ここでは、左側に記載したように、同一ラインが３連続している。
【００７７】
図６の（ｂ）は、縦ライン圧縮後のビットデータの例を示す。これは、既述した図５のＳ２２、Ｓ２３のＹＥＳ，Ｓ２４によって直前のラインと現在のラインとが３回連続して一致したので、左側に矢印で示す位置に連続３ラインを表す”０ｘ０３”を設定して記憶し、右側のビットデータから連続３ラインを削除して圧縮したものである。
【００７８】
図６の（ｃ）は、変化部分を取り出したビットデータの例を示す。これは、直前の１バイト（図中の１ブロック）のデータと、現在の１バイトのデータとをビット対応でＸＯＲ演算を行い、全て０のときに同一バイトと判定し、図示では５バイト連続するので、矢印で示す図６の（ｄ）の位置に”０ｘ０５”を設定してバイト方向に圧縮する。
【００７９】
図６の（ｄ）は、連続するバイトデータ圧縮後のビットデータの例を示す。ここでは、矢印で示すように、図６の（ｃ）の連続する５バイトを、図示の１バイトの”０ｘ０５”に圧縮した後のビットデータの例を示す。
【００８０】
尚、図中で１マスは、１バイトを表している。また、ビットが立っている位置の色は白とする。枠線内のデータはラインデータである。
【００８１】
以上のようにして、縦方向（ライン方向）および横方向（バイト方向）にそれぞれ同一ライン／同一バイトが連続する場合に圧縮することが可能となる。
【００８２】
図７は、本発明の説明図（その４）を示す。これは、図６の縦ライン圧縮した後に、横ライン圧縮する様子を模式的に表したものである。
【００８３】
図７の（ａ）は、クリッピング後のビットマップ例を示す。これは、既述した図６の（ａ）のクリッピング後のビットデータのイメージを表したものである。
【００８４】
図７の（ｂ）は、縦ライン圧縮後のビットマップ例を示す。これは、既述した図６の（ｂ）の縦ライン圧縮後のビットデータのイメージを表したものであって、上下方向に圧縮されている。
【００８５】
図７の（ｃ）は、横ライン圧縮後のビットマップ例を示す。これは、既述した図６の（ｄ）の連続するバイトデータ圧縮後のビットデータのイメージを表したものであって、左右方向に圧縮されている。
【００８６】
図８は、本発明の動作説明フローチャート（情報付加）を示す。
図８において、Ｓ４１は、ユーザビューで作成者名が指定されたか判別する。これは、例えばアプリケーションでデータを印刷するときに表示されるユーザビューで作成名が指定されたか判別する。ＹＥＳの場合には、Ｓ４２で作成者として印刷を実行したユーザ名（例えばＸ）を取得し、Ｓ４３に進む。一方、Ｓ４１のＮＯの場合には、Ｓ４３に進む。
【００８７】
Ｓ４３は、ユーザビューで帳票名が指定されたか判別する。これは、例えばアプリケーションでデータを印刷するときに表示されるユーザビューで帳票名が指定されたか判別する。ＹＥＳの場合には、Ｓ４４で帳票名として印刷ドキュメント名（例えばＹ）を取得し、Ｓ４５に進む。一方、Ｓ４１のＮＯの場合には、Ｓ４５に進む。
【００８８】
Ｓ４５は、帳票データの管理情報を出力する。これは。Ｓ４２で取得した作成者名として印刷を実行したユーザ名、帳票名として印刷ドキュメント名を取得し、これら作成者名、帳票名を出力し、電子帳票作成機能４に渡す。
【００８９】
以上によって、ＯＳあるいはアプリから取得した印刷データ中に、作成者名、帳票名がなくてもＳ４１からＳ４５によって印刷時の作成者、印刷ドキュメント名を取得してこれらを作成者名、帳票名として自動付加することが可能となる。
【００９０】
図９は、本発明の説明図を示す。
図９の（ａ）は、電子帳票ファイルデータ例を示す。これは、図１、図２の電子帳票作成機能４が自動作成する電子帳票ファイルの例であって、図示の下記の情報を設定して作成する。
【００９１】
・電子帳票ファイル識別子：
・管理テーブル：図９の（ｂ）参照
・ページデータ：図９の（ｃ）参照
図９の（ｂ）は、管理テーブル例を示す。これは、図９の（ａ）の電子帳票ファイル中の管理テーブルに設定する情報例であって、図示の下記の情報を設定して自動作成する。
【００９２】
・用紙情報：
・帳票名：Ｙ（既述した図８のＳ４４で取得した印刷ドキュメント名”Ｙ”）
・作成者名：Ｘ（既述した図８のＳ４２取得した作成者名”Ｘ”）
・作成日付：
・ページ情報：
・その他：
図９の（ｃ）は、ページデータ例を示す。これは、図９の（ａ）の電子帳票ファイル中のページデータに設定する情報例であって、図示の下記の情報を設定して自動作成する。
【００９３】
・行情報：
・フォント情報：（文字列分繰り返す）
・文字データ：（文字列分繰り返す）
・図形情報：（図形分繰り返す）
・図形データ：（図形分繰り返す）
・その他：
以上のように、電子帳票ファイルに図示のデータを、既述した印刷データ中から解析して取り出して設定したり、作成者名、帳票名が印刷データ中にない場合には印刷者、印刷ドキュメント名を作成者名、帳票名として取得して自動的に設定することが可能となる。
【００９４】
図１０は、本発明の動作説明フローチャート（格納先の決定）を示す。
図１０において、Ｓ５１は、デフォルトの格納先を取得する。
【００９５】
Ｓ５２は、帳票名を取得する。これは、格納先を決定しようとする図９の電子帳票ファイル中から帳票名を取得する。
【００９６】
Ｓ５３は、管理情報定義ファイルのデータを読み込む。これは、例えば後述する図１１の（ｂ）の管理情報定義ファイルを読み込み、定義されている帳票名と格納先の情報を取得する。
【００９７】
Ｓ５４は、セクション名を検索する。
Ｓ５５は、帳票名が見つかったか判別する。これは、Ｓ５３で読み込んだ例えば図１１の（ｂ）の管理情報定義ファイル中のセクション”〔  〕”で囲まれた帳票名について、Ｓ５２で電子帳票ファイルから取り出した帳票名と一致するものが見つかったか判別する。ＹＥＳの場合には、Ｓ５５で格納先を変更、即ち、Ｓ５１で取得したデフォルトの格納先から、Ｓ５４のＹＥＳで一致するとして見つけた管理情報定義ファイル中のその帳票名に対応づけて登録されている格納先（例えば”Ｃ：￥Ｄａｔａ￥営業部”というディレクトリ）に変更し、Ｓ５６に進む。一方、Ｓ５４のＮＯの場合には、Ｓ５６に進む。
【００９８】
Ｓ５６は、電子帳票ファイルを格納先に保存する。
以上によって、電子帳票ファイルから取得した帳票名について、管理情報定義ファイル中に当該帳票名が登録されている場合には当該帳票名に対応づけて登録されている格納先に当該電子帳票ファイルを格納し、一方、登録されていない場合にはデフォルトの格納先に当該電子帳票ファイルを格納する。これにより、管理情報定義ファイルに帳票名とその格納先を登録することで、生成した電子帳票ファイルを該当帳票名の格納先に自動的に振り分けて格納することが可能となる。
【００９９】
図１１は、本発明の説明図（格納先の決定）を示す。
図１１の（ａ）は、システム構成図を示す。
【０１００】
図１１の（ａ）において、電子帳票作成機能４は、既述した印刷データの解析結果をもとに既述した図９の電子帳票ファイルを自動作成するものであって、ここでは、自動作成した電子帳票ファイル４５について当該電子帳票ファイル４５から取得した帳票名に従い、管理情報定義ファイル４４を参照して該当格納先４６に自動的に振り分けて格納するものである。
【０１０１】
管理情報定義ファイル４４は、帳票名に対応づけて格納先を定義したものである（図１１の（ｂ）を用いて後述）。
【０１０２】
電子帳票ファイル４５は、印刷データの解析結果をもとに自動作成した帳票ファイルである（図９参照）。
【０１０３】
格納先４６は、電子帳票ファイル４５を帳票名で振り分けて格納する格納先（ディレクトリ）である。
【０１０４】
図１１の（ｂ）は、管理情報定義ファイル例を示す。
図１１の（ｂ−１）は、管理情報定義ファイルに登録する情報例を示す。ここでは、図示のように、管理情報定義ファイル４４に下記の情報を定義して登録する。
【０１０５】
・ファイル形式：テキスト形式
・セクション：帳票名を指定、ワイルドカード（＊）有効
・キー：電子帳票ファイルの格納先を指定
図１１の（ｂ−２）は、管理情報定義ファイルの具体例を示す。ここでは、図示の下記のように登録する。
【０１０６】
・〔発注明細書〕
ＤＢ−ＰＡＴＨ＝Ｃ：￥Ｄａｔａ￥営業部
・〔＊見積書〕
ＤＢ−ＰＡＴＨ＝Ｅ：￥Ｄａｔａ￥購買部
ここで、例えば〔発注明細書〕中の〔  〕で囲まれた内部のデータ”発注明細書”が帳票名であり、ＤＢ−ＰＡＴＨ＝Ｃ：￥Ｄａｔａ￥営業部のうちの”Ｃ：￥Ｄａｔａ￥営業部”が格納先（格納先のディレクトリ）である。
【０１０７】
以上のように、帳票名に対応づけて格納先（格納先のディレクトリ）を予め定義して管理情報定義ファイル４４に登録しておくことにより、印刷データの解析結果をもとに図２から図９で自動作成した電子帳票ファイル４５中から取得した帳票名をもとに格納先を見つけて振り分けて格納することが可能となる。
【０１０８】
（付記１）
ソフトウェアからのデータをもとに帳票データを自動作成する電子帳票作成プログラムにおいて、
所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得する手段と、
上記取得した印刷データを解析する手段と、
上記解析した結果をもとに、データの作成者名、帳票名が付加されていないときに当該解析した印刷データに付加されている作成者名、帳票名を抽出して電子帳票を生成する手段と
として機能させるための電子帳票作成プログラム。
【０１０９】
（付記２）
上記解析した結果、イメージデータと判明したときに圧縮する手段として機能させるためのプログラムを付加した請求項１記載の電子帳票作成プログラム。
【０１１０】
（付記３）
上記電子帳票に付加された帳票名をもとに予め定義された該当する格納先に格納する手段として機能させるためのプログラムを付加した付記１あるいは付記２記載の電子帳票作成プログラム。
【０１１１】
（付記４）
任意のアプリケーションプログラムから上記印刷データを取得する手段として機能させるプログラムを付加した付記１から付記３のいずれかに記載の電子帳票作成プログラム。
【０１１２】
（付記５）
任意のアプリケーションプログラムがオペレーティングシステムに印刷指示したことに対応して、当該オペレーティングシステムから上記印刷データを取得する手段として機能させるプログラムを付加した付記１から付記４のいずれかに記載の電子帳票作成プログラム。
【０１１３】
（付記６）
ソフトウェアからのデータをもとに帳票データを自動作成する電子帳票作成方法において、
所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得するステップと、
上記取得した印刷データを解析するステップと、
上記解析した結果をもとに、データの作成者名、帳票名が付加されていないときに当該解析した印刷データに付加されている作成者名、帳票名を抽出して電子帳票を生成するステップと
とを有する電子帳票作成方法。
【０１１４】
（付記７）
所定の印刷指示情報、文字データあるいは図形データに関する印刷データを取得する手段と、
上記取得した印刷データを解析する手段と、
上記解析した結果をもとに、データの作成者名、帳票名が付加されていないときに当該解析した印刷データに付加されている作成者名、帳票名を抽出して電子帳票を生成する手段と
として機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【０１１５】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションプログラム１あるいはＯＳ２から印刷データを取得して解析してその解析結果をもとに電子帳票ファイルを自動作成する構成を採用しているため、従来のアプリケーションプログラムの修正なしに、しかも帳票データを設定・出力するアプリケーションプログラムなしに、印刷業務を行うアプリケーションプログラムが扱う全ての帳票を電子化した電子帳票ファイルにして出力したり、圧縮したり、格納先を自動的に決定して振り分けて格納したりすることが可能となる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明図である。
【図３】本発明の説明図（その１）である。
【図４】本発明の説明図（その２）である。
【図５】本発明の動作説明フローチャート（圧縮）である。
【図６】本発明の説明図（その３）である。
【図７】本発明の説明図（その４）である。
【図８】本発明の動作説明フローチャート（情報付加）である。
【図９】本発明の説明図である。
【図１０】本発明の動作説明フローチャート（格納先の決定）である。
【図１１】本発明の説明図（格納先の決定）である。
【符号の説明】
１：アプリケーションプログラム（アプリ）
１１：帳票データ
１２：文字データ
１３：図形データ
１４：電子帳票データ
２：ＯＳ
２１：ＯＳスプーラ
３：ドライバ
３１：データ取得手段
３２：解析手段
４：電子帳票作成機能
４１：帳票生成手段
４２：圧縮手段
４３：格納手段
４４：管理情報定義ファイル
４５：電子帳票ファイル
４６：格納先
【図１】
0004412524.tif 000002
【図２】
0004412524.tif 000003
【図３】
0004412524.tif 000004
【図４】
0004412524.tif 000005
【図５】
0004412524.tif 000006
【図６】
0004412524.tif 000007
【図７】
0004412524.tif 000008
【図８】
0004412524.tif 000009
【図９】
0004412524.tif 000010
【図１０】
0004412524.tif 000011
【図１１】
0004412524.tif 000012