JP2018106538A - 情報処理装置、情報処理システム、制御方法、プログラム - Google Patents
情報処理装置、情報処理システム、制御方法、プログラム Download PDFInfo
- Publication number
- JP2018106538A JP2018106538A JP2016253876A JP2016253876A JP2018106538A JP 2018106538 A JP2018106538 A JP 2018106538A JP 2016253876 A JP2016253876 A JP 2016253876A JP 2016253876 A JP2016253876 A JP 2016253876A JP 2018106538 A JP2018106538 A JP 2018106538A
- Authority
- JP
- Japan
- Prior art keywords
- file
- data
- conversion
- 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
【課題】取り込み対象とする帳票のフォーマット変換を高速に行うことが可能な情報処理装置、制御方法、及びプログラムを提供する【解決手段】処理対象となる複数ページからなるPDFファイルがPDF監視フォルダへ格納されると、所定のページ数単位で、PDFファイルをSVGファイル(中間ファイル)へ変換するモジュールを起動して、PDFファイルからSVGファイルへの変換を行う。SVGファイルは、PDFファイルに対するフォームに関する情報を有するFormSVGファイルと、データに関する情報を有するDataSVGファイルと、を含む構成をとり、全てのページに対してSVGファイルを作成した後、重複しないようにFormSVGファイルを用いて、DataSVGファイルとマージする。【選択図】図5
Description
本発明は、取り込み対象とするファイルのフォーマットを高速に変換する電子帳票システムに関する。
従来より、紙媒体である帳票を基に、あるいはホスト(上位システム)からデータを受信して、電子帳票(帳票データ)に変換して、保存・管理する電子帳票システムがある。
このような電子帳票システムは、独自のファイル形式にデータを変換して、システム上で電子帳票を閲覧、検索できるようになっているが、近年では電子帳票システムに取り込むデータはメインフレームなどのデータに限らず、汎用的なコンピュータで生成されるPDF形式などのファイルを取り込むことが望まれている。
PDFファイルなどのテキストデータとテキストデータの属性情報と罫線情報とを1ファイルに含む文書データを、電子帳票システムで容易に扱えるファイルに変換する仕組みについて開示されている(特許文献1参照)。
しかしながら、特許文献1のPDF帳票取り込み方法では、後述する図4のように、PDFファイルを一旦SVG形式の中間ファイル(SVGファイル)として出力するため、従来のホスト帳票と比べて、電子帳票システムへの取り込み速度が遅くなる。
また、PDFの構造上、この中間ファイル作成処理をマルチスレッド処理にすることは難しいため、CPUなどのハードウェアリソースを増強しても処理速度を大幅に改善するのは難しい。
ところで、会計システム等の上位システムから転送されるデータを用いて日次のPDF帳票データを生成し、電子帳票システムに登録する電子帳票システムがある。
PDF帳票を電子帳票システムへ登録するには、夜間バッチ処理で行われることが多いが、ページ数が多いPDF帳票では、業務開始前に登録を完了させるためにPDFファイルを分割してから登録するなどの運用で回避しているケースもある。
しかしながら、この回避方法では日次の帳票が別の世代として登録されてしまうという課題がある。
そこで本発明の目的は、取り込み対象とする帳票のフォーマット変換を高速に行うことが可能な情報処理装置、情報処理システム、制御方法、及びプログラムを提供することを目的とする。
上記課題を解決するための本発明は、電子帳票を参照するための情報処理装置であって、フォームに対してデータが入力されたファイルを受付ける受付手段と、前記受付手段によって受付けたファイルを分割する分割手段と、前記分割手段によって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換手段と、前記第一の変換手段で変換されたフォームファイルを重複することなく抽出するフォーム抽出手段と、前記フォーム抽出手段で抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換手段と、を備えることを特徴とする。
本発明によれば、取り込み対象とする帳票のフォーマット変換を高速に行うことができる、という効果を奏する。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態における電子帳票システム(情報処理システム)のシステム構成の一例を示す図である。
本実施形態における電子帳票システムは、帳票サーバ100及びクライアントPC101を含み、これらがLAN(Local Area Network)またはインターネット等のネットワーク102を介して、相互にデータ通信可能に接続されている。
尚、図1のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
帳票サーバ100(情報処理装置)は、サーバ装置である。帳票サーバ100の外部メモリには帳票データが記憶されており、クライアントPC101のウェブブラウザから帳票データの参照要求を受け付けると、ネットワーク102を通じてクライアントPC101に帳票データを送信する。
また、クライアントPC101から操作を受け付けるためのウェブページや、帳票データを閲覧するためウェブページを生成する。
本実施形態において帳票データとは、例えば、会計システム等の上位システムから転送されるデータを用いて生成される、電子的な帳票である。
帳票データは、罫線や固定の文字列から構成されるテンプレートのデータに、上位システムから取得したデータを挿入して生成する。
また帳票サーバ100は、電子帳票管理装置として、複数種類の電子帳票(以下、単に「帳票」と称す)のデータ(以下、「帳票データ」または「帳票ファイル」と称す)を記憶、管理し、ネットワーク102を介してクライアントPC101に対して、帳票ファイルの閲覧や検索等のサービスを提供する。また帳票サーバ100はPDFファイルを受け付け、PDFファイルを帳票データに変換する。
帳票データは帳票サーバ100の外部メモリ211に記憶されている。
クライアントPC101は、パーソナルコンピュータである。クライアントPC101は、ウェブブラウザを介して帳票サーバ100が記憶する帳票データを表示することができる。
図2は、本発明の実施形態における帳票サーバ100及びクライアントPC101のハードウェア構成の一例を示すブロック図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OSという。)が記憶されている。
また外部メモリ211には、帳票サーバ100及びクライアントPC101の実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ205は、キーボードやマウス等のポインティングデバイスといった入力デバイス209からの入力を制御する。
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
メモリコントローラ207は、ハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
外部メモリ211(記憶手段)は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
通信I/Fコントローラ208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の帳票サーバ100及びクライアントPC101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。
さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
図3は、本発明の実施形態における帳票サーバ100及びクライアントPC101の機能構成の一例を示す図である。
尚、図3に示す帳票サーバ100及びクライアントPC101の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
帳票サーバ100は機能部として、PDF受信モジュール1001、PDF登録モジュール1002、及びRV帳票保管モジュール1005を備え、クライアントPC101は機能部として、ウェブブラウザ1011を備える。
尚、各機能の詳細については、後述するフローチャートにおいて説明する。
図4は、従来のPDF変換処理の一例を示す図である。このPDF変換処理では、PDFtoSVG変換モジュールが単独で実行され、PDFファイルの全ページをSVGファイルに変換する。
図5は、本発明の実施形態におけるPDF変換処理の一例を示す図である。このPDF変換処理では、PDFtoSVG変換モジュールが複数プロセス起動し、それぞれのプロセスがPDFファイルの指定ページをSVGファイルに変換し、SVGtoRV変換モジュール1020の実行に必要となる情報のみが残るように、PDFtoSVG変換モジュールの各プロセスの出力結果をマージする。
図6は、本発明の実施形態におけるディレクトリ構成の一例を示す図である。この図6はPDFtoSVG変換モジュールが2つ並列に動作する場合の例である。
Spoolフォルダ301は、処理対象となるPDFファイルが格納されるフォルダであり、格納されたか否かを常時監視している。
Workフォルダ302は、PDFtoSVG変換モジュールの実行結果を格納するフォルダであり、プロセスフォルダ303(プロセスフォルダ0)、プロセスフォルダ304(プロセスフォルダ1)、プロセスフォルダ305(プロセスフォルダ2)を含んで構成しているが、プロセスフォルダ1以降については、PDFtoSVG変換モジュールの並列実行数分作成される。
プロセスフォルダ303(プロセスフォルダ0)については、PDFtoSVG変換モジュールでPDFファイルを変換する前段のプレ変換の処理結果を格納するフォルダであり、PDFファイルの1ページ目の処理結果を格納する。
PDFファイルの1ページ目には、PDFファイルの構成情報が含まれ、例えば、総ページ数に関する情報が含まれることから、この構成情報を取得するための処理結果を格納している。
次に図7〜図11に示すフローチャートを用いて、本発明の実施形態におけるPDF変換処理について説明する。
図7に示すフローチャートは、電子帳票システムの起動時処理を示すフローチャートである。
ステップS101では、帳票サーバ100のCPU201は、帳票サーバ100に予め登録されているPDF変換設定ファイル(不図示)から読み込んだ変換プラグイン名をPDF変換設定テーブル500の変換プラグイン名501に格納する。
ステップS102では、帳票サーバ100のCPU201は、PDF変換設定ファイルから読み込んだ並列プロセス数をPDF変換設定テーブル500の並列プロセス数502に格納する。
図12に示すPDF変換設定テーブル500は、変換プラグイン名501、及び並列プロセス数502の項目からなる。
変換プラグイン名501には、帳票サーバ100のPDF変換設定ファイルから読み込んだ、PDF→SVG変換部1003におけるプラグイン名が登録される。
並列プロセス数502には、帳票サーバのPDF変換設定ファイルから読み込んだ、PDFtoSVG変換モジュールを並列で実行する数が登録される。
図8に示すフローチャートは、本発明の実施形態におけるPDF変換処理の一連の流れを示すフローチャートである。
ステップS201では、上位システム等で作成されたPDFファイルをファイル転送ソフトウェア等で帳票サーバのSpoolフォルダ301に格納する。
ステップS202では、帳票サーバ100は、PDF受信モジュール1001によりPDFファイルをWorkフォルダ302に転送する。
ステップS203では、帳票サーバ100は、ステップS101において取得した変換プラグイン名501を参照し、PDF変換処理を行うプラグインの種類がPDF変換高速化プラグインであるか否かを判定する。
PDF変換高速化プラグインであると判定した場合には、ステップS205に処理を進め、PDF変換高速化プラグインでないと判定した場合には、ステップS204に処理を進める。
ステップS205は、本発明であるPDF変換の高速化処理、ステップS204は、既存のPDF変換の通常処理を示す。このPDF変換高速化処理の詳細は、後述する図9で説明する。
ステップS205またはステップS204の処理が終了したら、本一連の処理を完了する。
図9に示すフローチャートは、PDF変換高速化処理の一連の流れを示すフローチャートである。
ステップS301では、帳票サーバ100は、各種変数の定義を実行する。本実施形態で使用する変数について説明する。PDF総ページ数として変数Totalを定義する。PDFtoSVG変換モジュール1プロセスごとに処理するページ数(プロセスごとの処理ページ数)として変数Nを定義する。以上が、本実施形態で使用する変数についての説明である。
ステップS302では、帳票サーバ100は、各種変数の定義及び初期化を実行する。本実施形態で使用する変数とその初期値について説明する。
ステップS303のループ1カウンタとして変数iを定義し、初期値として0を格納する。ステップS309のループ2カウンタとして変数jを定義し、初期値として1を格納する。
PDFtoSVG変換モジュール実行時に引数として渡す処理開始ページ(PDF変換処理開始ページ)として変数startを定義し、初期値として0を格納する。
PDFtoSVG変換モジュール実行時に引数として渡す処理終了ページ(PDF変換処理終了ページ)として変数endを定義し、初期値として0を格納する。
以上が、本実施形態で使用する変数とその初期値についての説明である。
ステップS303では、帳票サーバ100は、Workフォルダ配下へのプロセスフォルダの作成を並列プロセス数+1分繰り返すループ処理の開始である。
ステップS304では、帳票サーバ100は、PDFtoSVG変換モジュールのi番目のプロセスが使用するフォルダ(プロセスフォルダ)を作成する。
ステップS305では、帳票サーバ100は、並列プロセス数+1の数だけステップS304が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS306に処理を進める。そうでない場合には、ステップS303に処理を戻す。こうすることで、並列プロセス数+1分のプロセスフォルダを作成する。
ステップS306では、帳票サーバ100は、PDF変換処理開始ページ(変数start)に1を代入し、PDF変換処理終了ページ(変数end)に1を代入し、PDFtoSVG変換モジュールの実行結果ファイルの出力先(出力先)にプロセスフォルダ0のパスを代入する。
そして、PDF変換処理開始ページと、PDF変換処理終了ページと、出力先を、PDFtoSVG変換モジュール実行時の引数として与え、PDFtoSVG変換モジュールを実行する。
PDFtoSVG変換モジュールは、FormSVGテーブル510(図13参照)で構成されるFormSVGファイルと、DataSVGテーブル520(図14参照)で構成されるDataSVGファイルと、PDF構成情報テーブル530(図15参照)で構成されるPDF構成情報ファイルをプロセスフォルダ0に出力する。
図13には、FormSVGテーブル510の構成が示されており、FormSVGテーブル510は、フォーム情報511の項目からなる。
フォーム情報511には、PDFtoSVG変換モジュールが出力した、FormSVGファイルの情報(帳票のフォームに関する情報)が登録される。
図14には、DataSVGテーブル520の構成が示されており、データ情報521の項目からなる。
データ情報521には、PDFtoSVG変換モジュールが出力した、DataSVGファイルの情報(帳票のデータに関する情報)が登録される。
図15には、PDF構成情報テーブル530の構成が示されており、PDF属性情報531、PDFページ情報データ532の項目からなる。
PDFページ情報データ532はPDFページ番号533、FormSVGファイル名534を子データとして保持する。
PDF属性情報531には、PDFの総ページ数や作成者などの情報が登録されるが、本発明ではPDFの総ページ数以外の情報は使用しない。
PDFページ情報データ532には、PDFページ番号533とFormSVGファイル名の対が登録される。この対により、PDFの任意のページがどのフォームを使用しているかを判別することが可能となる。
ステップS307では、帳票サーバ100は、ステップS306で作成されたPDF構成情報テーブル530のPDF属性情報531に含まれるPDFページ数を、PDF総ページ数(変数Total)に代入する。
ステップS308では、帳票サーバ100は、PDF総ページ数(変数Total)を並列プロセス数502で除算した値(小数点以下は切り上げ)を、プロセスごとの処理ページ数(変数N)に代入する。
ステップS309では、帳票サーバ100は、PDFtoSVG変換モジュールを並列プロセス数分繰り返すループ処理の開始である。
ステップS310では、帳票サーバ100は、PDF変換処理開始ページ(変数start)に前回のPDF変換実行時の終了ページ+1(変数end+1)を代入し、PDF変換処理終了ページ(変数end)に今回のPDF変換処理開始ページ+プロセスごとの処理ページ数−1(変数start+N−1)を代入し、PDFtoSVG変換モジュールの実行結果ファイルの出力先(出力先)にプロセスフォルダjのパスを代入する。
そして、PDF変換処理開始ページと、PDF変換処理終了ページと、出力先を、PDFtoSVG変換モジュール実行時の引数として与え、PDFtoSVG変換モジュールを実行する。
PDFtoSVG変換モジュールは、FormSVGテーブル510で構成されるFormSVGファイルと、DataSVGテーブル520で構成されるDataSVGファイルと、PDF構成情報テーブル530で構成されるPDF構成情報ファイルをプロセスフォルダjに出力する。
なお、ステップS310はスレッド処理として実行されるため、PDFtoSVG変換モジュールの終了を待つことなく、ステップS311の処理に進むため、PDFtoSVG変換モジュールの並列実行が可能となる。
ステップS311では、帳票サーバ100のCPU201は、並列プロセス数の数だけステップS304が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS312に処理を進める。そうでない場合には、ステップS309に処理を戻す。こうすることで、並列プロセス数分のプロセスが実行される。
ステップS312では、各PDFtoSVG変換モジュールのプロセスが出力したファイルのマージ処理を示す。この各PDFtoSVG変換モジュールのプロセスが出力したファイルのマージ処理の詳細は、後述する図10で説明する。
ステップS313では、帳票サーバ100は、各PDFtoSVG変換モジュールのプロセスが使用したプロセスフォルダを全て削除する。
ステップS314では、帳票サーバ100は、既存のSVGファイルからシステムで閲覧可能なフォーマットへ変換するRV実績変換処理を実行する。
図10に示すフローチャートは、各PDFtoSVG変換モジュールのプロセスが出力したファイルのマージ処理の流れを示すフローチャートである。
ステップS401では、帳票サーバ100は、FormSVGファイルマップ600(図16参照)をRAM203に作成する。
このFormSVGファイルマップ600は、PDFtoSVG変換モジュールの各プロセスが出力したFormSVGファイルの中に同じものがあれば集約し、FormSVGファイル名を連番でリネームしなおすための用途で使用する。
図16に示すFormSVGファイルマップ600は、マップID601をキーとして、FormSVGファイル名602、並列プロセス番号603、ハッシュ値604、同ハッシュ値マップID605、及びファイル名変更フラグ606の項目からなる。
マップID601には、FormSVGファイルの通し番号が登録され、FormSVGファイル名602には、並列プロセス番号603のPDFtoSVG変換モジュールが出力したFormSVGファイル名が登録される。
並列プロセス番号603には、PDFtoSVG変換モジュールのプロセス番号が登録され、ハッシュ値604には、FormSVGファイル名602から特定されるFormSVGファイルに対してハッシュ関数を適用して得られた値が登録される。
同ハッシュ値マップID605には、同じハッシュ値604を持つマップIDがあれば、そのマップIDが登録され、ファイル名変更フラグ606には、FormSVGファイルのリネームなどでファイル名の変更が必要となるかどうかのフラグが登録される。
ステップS402では、帳票サーバ100は、PDF構成情報ファイルリスト700をRAM203に作成する。
このPDF構成情報ファイルリスト700は、PDFtoSVG変換モジュールの各プロセスが出力したPDF構成情報テーブル530のFormSVGファイル名534を、リネーム後のFormSVGファイル名で更新するための用途で使用する。
図17に示すPDF構成情報ファイルリスト700は、PDFページ番号701、FormSVGファイル名702、並列プロセス番号703、及びFormSVGファイルマップID704の項目からなる。
PDFページ番号701には、PDFのページ番号が登録され、FormSVGファイル名702には、PDFの任意のページが使用する一意のFormSVGファイル名が登録される。
並列プロセス番号703には、PDFtoSVG変換モジュールの各プロセスを一意に識別する番号が登録され、FormSVGファイルマップID704には、同じハッシュ値604を持つマップIDがあれば、そのマップID601が登録される。
ステップS403では、帳票サーバ100は、各PDFtoSVG変換モジュールのプロセスが出力した情報を、FormSVGファイルマップ600ならびにPDF構成情報ファイルリスト700に設定するループ処理の開始である。なおループ1カウンタ(変数i)の処理値は0を代入しておく。
ステップS404では、帳票サーバ100は、PDFtoSVG変換モジュールのプロセスiが出力したFormSVGファイルの数だけ、FormSVGファイルマップに情報をセットする。
具体的には、FormSVGファイルの通し番号をマップID601にキーとしてセットし、FormSVGファイル名をFormSVGファイル名602にセットし、PDFtoSVG変換モジュールのプロセス番号(変数i)を並列プロセス番号603にセットし、FormSVGファイルに対してハッシュ関数を適用して生成したハッシュ値をハッシュ値604にセットし、FormSVGファイルマップ600に追加する。
ステップS405では、帳票サーバ100は、PDFtoSVG変換モジュールのプロセスiが出力したPDF構成情報テーブル530などから、PDF構成情報ファイルリストに情報をセットする。
具体的には、PDF構成情報テーブル530のPDFページ番号533をPDFページ番号701にセットし、PDF構成情報ファイルのFormSVGファイル名534をFormSVGファイル名702にセットし、PDFtoSVG変換モジュールのプロセス番号(変数i)を並列プロセス番号703にセットし、ステップS404でセットしたマップID601をFormSVGファイルマップID704にセットし、PDF構成情報ファイルリスト700に追加する。
ステップS406では、帳票サーバ100は、並列プロセス数+1の数だけステップS404が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS407に処理を進める。そうでない場合には、ステップS403に処理を戻す。
こうすることで、PDFtoSVG変換モジュールの各プロセスの実行結果が、FormSVGファイルマップ600ならびにPDF構成情報ファイルリスト700に格納される。
ステップS407では、帳票サーバ100は、FormSVGファイルマップ600中に上位要素のマップIDと同じハッシュ値を持つ要素は、同ハッシュ値マップID605に上位要素のマップIDをセットする。
こうすることで、PDFtoSVG変換モジュールの各プロセスが出力したFormSVGファイルの中に同じものがあっても、最初に出現したFormSVGファイルのみを残すことが可能となる。(FormSVGファイルの集約)
ステップS408では、帳票サーバ100は、FormSVGファイルマップ600において、各マップIDに対応するFormSVGファイル名の変更が必要か否かを判定するループ処理の開始である。
ステップS408では、FormSVGファイルマップ600に格納されているマップIDの数だけ実行される。
ステップS409では、帳票サーバ100は、該当マップIDの同ハッシュ値マップID605を参照し、値に何か設定されているか否かを判定する。値に何も設定されていない場合には、ステップS410に処理を進める。値に何か設定されていると判定した場合には、ステップS4011に処理を進める。
ステップS410では、帳票サーバ100は、上位のマップIDから連番になるように該当のマップIDのFormSVGファイル名602を変更し、ファイル名変更フラグ606にTRUEをセットする。こうすることで、このユニークなFormSVGファイルの番号を連番で振り直すことが可能となる。
ステップS411では、帳票サーバ100は、該当マップIDのFormSVGファイル名602が示す実ファイルの末尾に「x」を付与する。こうすることで、後続処理でのFormSVGファイル名をリネームする際の重複を回避することが可能となる。
ステップS412では、帳票サーバ100は、FormSVGファイルマップ600の数だけステップS409が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS413に処理を進める。そうでない場合には、ステップS408に処理を戻す。こうすることで、最初に出現したFormSVGファイルのみを連番で残すことが可能となる。
ステップS413では、帳票サーバ100は、ステップS408からS412の処理において変更されたFormSVGファイル名で、PDF構成情報ファイルリスト700のFormSVGファイル名702を更新するループ処理の開始である。ステップS413はFormSVGファイルマップ600に格納されているマップIDの数だけ実行される。
ステップS414では、帳票サーバ100のCPU201は、該当マップIDの同ハッシュ値マップID605を参照し、値に何か設定されているか否かを判定する。値に何か設定されている場合には、ステップS415に処理を進める。値に何も設定されていないと判定した場合には、ステップS417に処理を進める。
ステップS415では、帳票サーバ100は、該当マップIDと、PDF構成情報ファイルリスト700のFormSVGファイルマップID704が等しいか否かを判定する。等しい場合には、ステップS415に処理を進める。等しくないと判定した場合には、ステップS417に処理を進める。
ステップS416では、帳票サーバ100は、該当マップIDのFormSVGファイル名602で、PDF構成情報ファイルリスト700のFormSVGファイル名702を更新する。
ステップS417では、帳票サーバ100は、該当マップIDのファイル名変更フラグ606を参照し、TRUEが設定されているか否かを判定する。TRUEが設定されている場合には、ステップS418に処理を進める。FALSEが設定されている場合には、ステップS419に処理を進める。
ステップS418では、帳票サーバ100は、該当マップIDと、PDF構成情報ファイルリスト700のFormSVGファイルマップID704が等しいか否かを判定する。等しい場合には、ステップS419に処理を進める。等しくないと判定した場合には、ステップS420に処理を進める。
ステップS419では、帳票サーバ100は、該当マップIDのFormSVGファイル名602で、PDF構成情報ファイルリスト700のFormSVGファイル名702を更新する。
ステップS420では、帳票サーバ100は、FormSVGファイルマップ600の数だけステップS414からステップS419が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS421に処理を進める。そうでない場合には、ステップS413に処理を戻す。こうすることで、PDF構成情報ファイルのFormSVGファイル名534を正しい情報で書き換えることが可能となる。
図11に示すフローチャートは、各PDFtoSVG変換モジュールのプロセスが出力したファイルのマージ処理の後処理の流れを示すフローチャートである。
ステップS501では、帳票サーバ100は、FormSVGファイルマップ600において、出力されたFormSVGファイルのうち、ユニークなものか否かを判定するループ処理の開始である。ステップS501はFormSVGファイルマップ600に格納されているマップIDの数だけ実行される。
ステップS502では、帳票サーバ100は、該当マップIDの同ハッシュ値マップID605を参照し、値に何も設定されていないか否かを判定する。値に何も設定されていない場合には、ステップS503に処理を進める。値に何か設定されていると判定した場合には、ステップS504に処理を進める。
ステップS503では、帳票サーバ100は、該当のマップIDの並列プロセス番号603とFormSVGファイル名602を参照し、並列プロセス番号603と紐づいているプロセスフォルダの実際のFormSVGファイルをWorkフォルダ302に移動する。
ステップS504では、帳票サーバ100は、FormSVGファイルマップ600の数だけステップS502が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS505に処理を進める。そうでない場合には、ステップS501に処理を戻す。こうすることで、必要なFormSVGファイルのみWorkフォルダに集めることが可能となる。
ステップS505では、帳票サーバ100は、各プロセスフォルダ配下のDataSVGファイルの移動を並列プロセス数+1分繰り返すループ処理の開始である。
ステップS506では、帳票サーバ100は、PDFtoSVG変換モジュールのi番目のプロセスが使用するフォルダ(プロセスフォルダ)配下のDataSVGファイルをWorkフォルダ302に移動する。
ステップS507では、帳票サーバ100は、並列プロセス数+1の数だけステップS506が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップS508に処理を進める。そうでない場合には、ステップS505に処理を戻す。こうすることで、全てのDataSVGファイルをWorkフォルダに集めることが可能となる。
ステップS508では、帳票サーバ100は、PDF構成情報ファイルリスト700の内容に従って、プロセスフォルダ303(プロセスフォルダ0)配下のPDF構成情報ファイルを書き換える。
ステップS509では、帳票サーバ100のCPU201は、ステップ509で書き換えたプロセスフォルダ303(プロセスフォルダ0)配下のPDF構成情報ファイルを、Workフォルダ302に移動する。
以上説明したように、本実施形態によれば、取り込み対象とする帳票のフォーマット変換を高速に行うことができる。
以上、実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図7から図11に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図7から図11の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図7から図11の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
100 帳票サーバ
101 クライアントPC
102 ネットワーク
101 クライアントPC
102 ネットワーク
Claims (9)
- 電子帳票を参照するための情報処理装置であって、
フォームに対してデータが入力されたファイルを受付ける受付手段と、
前記受付手段によって受付けたファイルを分割する分割手段と、
前記分割手段によって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換手段と、
前記第一の変換手段で変換されたフォームファイルを重複することなく抽出するフォーム抽出手段と、
前記フォーム抽出手段で抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換手段と、
を備えることを特徴とする情報処理装置。 - 前記受付手段によって受付けたファイルは複数のページから構成され、
前記分割手段は、任意のページ数単位で前記ファイルを分割することを特徴とする請求項1に記載の情報処理装置。 - 前記抽出手段は、前記第一の変換手段で変換されたフォームファイルに関してハッシュ関数を適用して求められたハッシュ値に基づいて重複するフォームファイルを取得することを特徴とする請求項1または2に記載の情報処理装置。
- 第一の変換手段は、前記分割単位でフォルダを生成し、それぞれのフォルダにおいて、フォームファイルに対してファイル名称を付与するとともに、当該フォームファイルに対応するデータファイルの対応付けを行い、
全ての前記フォルダにおいて、重複するフォームファイルのファイル名称を変更しつつ、対応するデータファイルの対応付けの変更を行うことを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。 - 電子帳票を参照するための情報処理装置の制御方法であって、
前記情報処理装置は、
フォームに対してデータが入力されたファイルを受付ける受付ステップと、
前記受付ステップによって受付けたファイルを分割する分割ステップと、
前記分割ステップによって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換ステップと、
前記第一の変換ステップで変換されたフォームファイルを重複することなく抽出するフォーム抽出ステップと、
前記フォーム抽出ステップで抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換ステップと、
を備えることを特徴とする情報処理装置。 - 電子帳票を参照するための情報処理装置で読取実行可能なプログラムであって、
前記情報処理装置を、
フォームに対してデータが入力されたファイルを受付ける受付手段と、
前記受付手段によって受付けたファイルを分割する分割手段と、
前記分割手段によって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換手段と、
前記第一の変換手段で変換されたフォームファイルを重複することなく抽出するフォーム抽出手段と、
前記フォーム抽出手段で抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換手段と、
して機能させるためのプログラム。 - クライアント端末とサーバとが接続された電子帳票を参照するための情報処理システムであって、
前記サーバは、
フォームに対してデータが入力されたファイルを受付ける受付手段と、
前記受付手段によって受付けたファイルを分割する分割手段と、
前記分割手段によって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換手段と、
前記第一の変換手段で変換されたフォームファイルを重複することなく抽出するフォーム抽出手段と、
前記フォーム抽出手段で抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換手段と、
を備え、
前記クライアント端末は、
前記第二の変換手段の変換によって得られた電子帳票を表示する表示手段と、
を備えることを特徴とする情報処理システム。 - クライアント端末とサーバとが接続された電子帳票を参照するための情報処理システムでの制御方法であって、
前記サーバは、
フォームに対してデータが入力されたファイルを受付ける受付ステップと、
前記受付ステップによって受付けたファイルを分割する分割ステップと、
前記分割ステップによって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換ステップと、
前記第一の変換ステップで変換されたフォームファイルを重複することなく抽出するフォーム抽出ステップと、
前記フォーム抽出ステップで抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換ステップと、
実行し、
前記クライアント端末は、
前記第二の変換ステップの変換によって得られた電子帳票を表示する表示ステップと、
を実行することを特徴とする情報処理システムの制御方法。 - クライアント端末とサーバとが接続された電子帳票を参照するための情報処理システムで読取実行可能なプログラムであって、
前記サーバを、
フォームに対してデータが入力されたファイルを受付ける受付手段と、
前記受付手段によって受付けたファイルを分割する分割手段と、
前記分割手段によって分割したファイルをフォームに関するフォームファイルとデータに関するデータファイルとを含む中間ファイルへ分割単位で変換する第一の変換手段と、
前記第一の変換手段で変換されたフォームファイルを重複することなく抽出するフォーム抽出手段と、
前記フォーム抽出手段で抽出したフォームファイルに対して前記データファイルの当該データを入力して、前記電子帳票の形式にあわせるように変換を行う第二の変換手段と、
して機能させ、
前記クライアント端末を、
前記第二の変換手段の変換によって得られた電子帳票を表示する表示手段と、
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016253876A JP2018106538A (ja) | 2016-12-27 | 2016-12-27 | 情報処理装置、情報処理システム、制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016253876A JP2018106538A (ja) | 2016-12-27 | 2016-12-27 | 情報処理装置、情報処理システム、制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018106538A true JP2018106538A (ja) | 2018-07-05 |
Family
ID=62787383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016253876A Pending JP2018106538A (ja) | 2016-12-27 | 2016-12-27 | 情報処理装置、情報処理システム、制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018106538A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11368501B1 (en) | 2020-04-13 | 2022-06-21 | Hercules Solutions LLC | Apparatus, methods, and systems for formatting documents for multi-device web conferencing |
-
2016
- 2016-12-27 JP JP2016253876A patent/JP2018106538A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11368501B1 (en) | 2020-04-13 | 2022-06-21 | Hercules Solutions LLC | Apparatus, methods, and systems for formatting documents for multi-device web conferencing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011523133A (ja) | レイアウトファイルの構造処理方法及び装置 | |
JP5939123B2 (ja) | 実行制御プログラム、実行制御方法および情報処理装置 | |
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
JP2014153583A (ja) | 署名文書の管理方法及び署名サーバ | |
JP2018106538A (ja) | 情報処理装置、情報処理システム、制御方法、プログラム | |
CN111159270A (zh) | 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 | |
JP5706306B2 (ja) | リンクされたテキストボックスを有する電子文書のレンダリングの方法、レンダリングする指示を含むコンピューターが読み取り可能な記憶媒体及びシステム | |
CN115756692A (zh) | 基于样式属性自动组合展示页面的方法及其相关设备 | |
JP2017524211A (ja) | 複数の情報源からの情報とツールを統一する方法、並びに前記方法を応用するコンピュータプログラム製品及び装置 | |
JP2014010640A (ja) | 画像検索装置、情報処理方法、プログラム | |
JP2011154608A (ja) | 帳票入出力装置 | |
JP5903843B2 (ja) | 回路部品移行装置、回路部品移行プログラムおよび回路部品移行方法 | |
JP2010157165A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2021039624A (ja) | 情報処理装置および情報処理システム | |
JP2019139379A (ja) | 所要量計算装置、所要量計算方法、および、所要量計算プログラム | |
US11921496B2 (en) | Information processing apparatus, information processing method and computer readable medium | |
JP2016004394A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP4908538B2 (ja) | ワークフロー処理装置、プログラム及び方法 | |
JP2009157470A (ja) | 電子文書処理装置及びプログラム | |
US20240086179A1 (en) | Software component update system, and software component update method | |
JP2017091187A (ja) | 情報処理システム、制御方法、プログラム | |
JP2008033647A (ja) | ドキュメントセット作成装置及びドキュメントセット作成方法 | |
JP2009301118A (ja) | 素材情報検索表示装置及びプログラム | |
Srivastava et al. | A Comprehensive Review of Next. js Technology: Advancements, Features, and Applications | |
CN114138379A (zh) | 任务执行方法、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180703 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20181031 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190109 |