説明

PDF作成システム

【課題】PDFを出力するシステムで出力PDFの追加や修正を行う際、改修を要せずに対応可能であると共に、保守容易性を確保して修正コストの低減化を図り得る汎用的なPDF作成システムを提供する。
【解決手段】このサーバ101内のPDF作成システム102は、PDFのデータに依存しない固定のレイアウトを設定するPDFテンプレート104と、PDFに表示する表示データを設定する表示内容CSVを格納した表示内容CSV格納部103と、表示データの表示定義を設定するための表示定義XMLを格納した表示定義XML格納用データベース105と、データベース105から得た表示定義XMLに従い、格納部103から得た表示内容CSVをテンプレート104から得たレイアウトに基づいてデータ編集してPDFのデータを作成すると共に、作成されたPDFのデータをPDFファイル111の作成用に出力するPDG作成処理部110と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム(サーバ)機能によりJava(登録商標)アプリケーションを利用してPDF(Portable Document Format)を自動的に作成するPDF作成システムに関する。
【背景技術】
【0002】
従来、JavaアプリケーションでPDFを出力するコンピュータシステムでは、一般にPDFに出力するデータ内容については任意に設定することができ、データの変更も容易であるものが多いが、PDFへのデータ出力数、データ出力位置、出力文字サイズ等のデータ変更を行う場合には、システム改修を要せずに対応できる場合は少なく、システム改修を行わずにデータを変更可能にする手法が幾つか提案されている。
【0003】
係る周知技術としては、例えばXML(Extensible Markup Language)で記述された帳票(XML帳票)から帳票定義のXMLデータ構造情報を作成することを目的とした「帳票処理装置及び帳票処理プログラム」(特許文献1参照)や、WEB(World Wide Web)システムの画面/帳票の様式・レイアウト情報の変更をカスタマイズできる帳票システムであって、ホストコンピュータを利用して簡単に、規定用紙の設定等を実現できる帳票の出力である「帳票出力プリントシステム」(特許文献2参照)が挙げられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−21500号公報
【特許文献2】特開2008−130062号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に係る技術では、XMLで記述された帳票(XML帳票)についてのXMLデータ構造を解析してレイアウト情報及びデータ構造情報を抽出し、システムで処理を行って帳票として出力するものであるが、XML内に表示するデータ内容とレイアウト情報との両方が定義されているため、例えばレイアウト情報のみを変更し、データ内容は同一のPDFを出力する場合でも、新たなXMLを作成する必要があるばかりでなく、その後にデータ内容に変更を行う場合には、レイアウト情報のみが異なる複数のXMLの全てに対して変更を行う必要があるため、保守性が低いという問題がある。
【0006】
また、特許文献2に係る技術では、レイアウト情報のみならず、プリンタによる印刷時の用紙設定や出力枚数設定、更にはシステム内の処理で使用する任意の変数等を定義したXMLと、表示データを定義したCSV(Comma Separated Values)とを読み込むことで、紙や電子情報として出力するものであるが、ここではプリンタを用いた紙による出力をサポートするために、用紙設定、ページレイアウト等の情報がXMLに含まれているため、PDF出力のみを目的とした場合に比べて、XML構造が複雑となり、システム開発時の工数やXML作成時の工数が増大してしまうという問題がある。
【0007】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、PDFを出力するシステムで出力PDFの追加や修正を行う際、改修を要せずに対応可能であると共に、保守容易性を確保して修正コストの低減化を図り得る汎用的なPDF作成システムを提供することにある。
【課題を解決するための手段】
【0008】
上記技術的課題を解決するため、本発明の第1の手段は、サーバ機能によりJavaアプリケーションを利用してPDFを作成するPDF作成システムにおいて、PDFのデータに依存しない固定のレイアウトを設定するためのPDFテンプレートと、PDFに表示する表示データを設定するための表示内容CSVを格納した表示内容CSV格納部と、表示データの表示定義を設定するための表示定義XMLを格納した表示定義XML格納部と、表示定義XML格納部から得た表示定義XMLに従い、表示内容CSV格納部から得た表示内容CSVをPDFテンプレートから得たレイアウトに基づいてデータ編集してPDFのデータを作成すると共に、作成されたPDFのデータを出力するPDG作成処理部と、を備えたことを特徴とする。
【0009】
第2の手段は、第1の手段において、PDFテンプレートは、レイアウトとして実際に出力されるPDFのサイズ、背景色、枠線を含んでおり、表示内容CSV格納部は、表示内容CSVとしてPDFの1つのデータを1行とすると共に、PDFに表示される1項目を1カラムとして表示データを設定するもので、表示定義XML格納部は、表示定義XMLとして少なくともPDFテンプレートへの表示内容CSVの表示位置、並びにフォントをカラム毎に設定するものであることを特徴とする。
【0010】
第3の手段は、第1の手段又は第2の手段において、PDFのデータをファイル化生成するための各ファイルの格納場所を定義した設定ファイルを備え、PDG作成処理部は、設定ファイルの格納場所に応じて表示定義XML格納部から表示定義XMLを取得すると共に、表示内容CSV格納部から表示内容CSVを取得するデータ取得処理部と、データ取得処理部で取得された表示定義XMLに従った表示内容CSVをPDFテンプレートからのレイアウトに基づいてデータ編集を行ってPDFのデータを作成するPDFデータ編集処理部と、作成されたPDFのデータに対してファイル名を設定して保存してから出力するPDGデータ出力処理部と、を備えたことを特徴とする。
【0011】
第4の手段は、第1の手段〜第3の手段の何れか1つの手段において、PDFテンプレートのレイアウト、表示内容CSV格納部の表示内容CSV、並びに表示定義XML格納部の表示定義XMLは、PDG作成処理部により作成されたPDFのデータの出力時におけるPDFの追加又はPDFの修正に際して、再作成又は修正可能であることを特徴とする。
【発明の効果】
【0012】
本発明のPDF作成システムによれば、PDFについてのレイアウトとデータ構造とをPDF作成処理部から分離し、別個に作成して管理することが可能となるため、PDFの追加や変更に際してのシステムの改修が不要となる。また、レイアウトのみの変更やデータ構造のみの変更が発生した場合でも、それぞれに対応するPDFテンプレートのレイアウトや表示定義XML格納部の表示定義XML、並びに表示内容CSV格納部の表示内容CSVのデータのみを修正することによって、その後の管理が容易になる。その結果として、PDFの追加や変更の容易性を確保でき、システム改修が不要なために運用上での費用を低減化することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施例1に係るPDF作成システムを具備したサーバの全体的な概略構成を示した機能ブロック図である。
【図2】図1に示すPDF作成システムのPDF作成処理部におけるPDF作成の動作処理を示したフローチャートである。
【図3】図1に示すPDF作成システムのファイル関連図であって、表示内容CSV格納部における表示内容CSVと表示定義XML格納用データベースにおける表示定義XMLのデータの一例を関連付けて示した模式図である。
【図4】図1に示すPDF作成システムの表示定義XML格納用データベースにおけるファイル構成形式の表示定義XMLのデータを例示した図である。
【図5】図1に示すPDF作成システムの表示内容CSV格納部におけるファイル構成形式の表示内容CSVのデータを例示した図である。
【図6】図1に示すPDF作成システムのPDFテンンプレートのデータを例示した図である。
【図7】図1に示すPDF作成システムの設定ファイルにおけるファイル構成形式のデータを例示した図である。
【図8】図1に示すPDF作成システムのPDF作成処理部におけるPDFデータ出力処理部から出力されるPDFのデータを例示した図である。
【図9】図2で説明したPDF作成の動作処理上におけるエラー処理パターンを表形式で例示した図である。
【発明を実施するための形態】
【0014】
以下に、本発明のPDF作成システムについて、具体的な実施例を挙げ、図面を参照して詳細に説明する。
【実施例1】
【0015】
図1は、本発明の実施例1に係るPDF作成システム102を具備したサーバ101の全体的な概略構成を示した機能ブロック図である。
【0016】
サーバ101は、Javaアプリケーションを利用してPDFを作成可能なもので、CPU(Central Processing Unit)、主メモリ、表示装置、入力操作装置、外部記憶装置等を具備して成るコンピュータ機能を有している。また、サーバ101は、CD−ROM等の記憶媒体や、ネットワーク等を介してプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込んでCPUで処理することにより、実施例1のPDF作成システム102に係る各処理を実行する。
【0017】
PDF作成システム102は、PDFのデータに依存しない固定のレイアウトを設定するためのPDFテンプレート104と、PDFに表示する表示データを設定するための表示内容CSVを格納した表示内容CSV格納部103と、表示データの表示定義を設定するための表示定義XMLを格納した表示定義XML格納用データベース(表示定義XML格納部)105と、PDFのデータをファイル化生成するための各ファイルの格納場所(パス)を定義した設定ファイル106と、表示定義XML格納用データベース105から得た表示定義XMLに従い、表示内容CSV格納部103から得た表示内容CSVをPDFテンプレート104から得たレイアウトに基づいてデータ編集してPDFのデータを作成すると共に、作成されたPDFのデータをPDFファイル111の作成用に出力するPDG作成処理部110と、を備えている。
【0018】
このうち、PDFテンプレート104は、レイアウトとして実際に出力されるPDFのサイズ、背景色、枠線を含んでおり、PDFのデータを表示しない代わりに背景や枠線については表示するようになっている。表示内容CSV格納部103は、表示内容CSVとしてPDFの1つのデータを1行とすると共に、PDFに表示される1項目を1カラムとして表示データを設定するものである。表示定義XML格納用データベース105は、表示定義XMLとして少なくともPDFテンプレート104への表示内容CSVの表示位置、並びにフォントをカラム毎に設定するものである。
【0019】
また、PDG作成処理部110は、設定ファイル106のパスに応じて表示定義XML格納用データベース105から表示定義XMLを取得すると共に、表示内容CSV格納部103から表示内容CSVを取得するデータ取得処理部107と、データ取得処理部107で取得された表示内容CSV及び表示定義XMLをPDFテンプレート104からのレイアウトに基づいてデータ編集を行ってPDFのデータを作成するPDFデータ編集処理部108と、作成されたPDFのデータに対してファイル名を設定して保存してからPDFファイル111の作成用に出力するPDGデータ出力処理部109と、を備えている。
【0020】
更に、PDFテンプレート104のレイアウト、表示内容CSV格納部103の表示内容CSV、並びに表示定義XML格納用データベース105の表示定義XMLは、PDG作成処理部110により作成されたPDFのデータのPDFデータ出力処理部109からの出力時におけるPDFの追加又はPDFの修正に際して、再作成又は修正可能となっている。これにより、出力するPDFの追加、或いはPDFの修正を行う際、これらの各部のデータの作成や修正を行うだけで良く、システムの改修を行う必要がない。
【0021】
即ち、このPDF作成システムについて、具体的に云えば、表示内容CSV格納部103に格納される表示内容CSVは、PDFに表示する表示データを設定するためのもので、PDFの1つに表示するデータをCSVの1行に設定し、項目単位でカラムに設定する。PDFテンプレート104は、実際に出力されるPDFのサイズ、背景色、枠線等、PDFのデータに依存しない固定のレイアウトを設定するもので、これにより作成されるPDFは、PDFテンプレート104上に表示内容CSVにより設定されたデータを表示し、出力される形態となる。表示定義XML格納用データベース105は、PDFテンプレート104上に表示内容CSVにより設定されたデータを表示する際の表示位置、フォント、サイズを設定するもので、これらの設定についてはCSVのカラム番号毎に行う。設定ファイル106は、表示内容CSV格納部103の表示内容CSV、PDFテンプレート104のレイアウト、表示定義XML格納用データベース105の表示定義XMLについて、サーバ101上の格納場所(パス)を設定したものである。
【0022】
このPDF作成システム102における基本的処理は、PDFデータ作成処理部110における各部の処理(3つの処理)に分けられる。即ち、データ取得処理107では、設定ファイル106に定義された格納場所に基づいて、表示定義XML格納用データベース105の表示定義XML、表示内容CSV格納部103の表示内容CSVを読み込んで内容を解析し、内蔵する記憶手段(メモリ)に格納する。PDFデータ編集処理部108では、PDFテンプレート104のレイアウトを読み込み、先にデータ取得処理107で読み込んで記憶した表示定義XML及び表示内容CSVの内容に対してPDFファイル111として出力するためのPDFのデータ内容を決定し、PDFを作成する。PDFデータ出力処理部109では、作成されたPDFに対してファイル名を設定してから外部記憶装置へ出力する。
【0023】
図2は、このPDF作成システム102のPDF作成処理部110におけるPDF作成の動作処理を示したフローチャートである。
【0024】
PDF作成処理部110におけるPDF作成の動作処理では、まずデータ取得処理部107において、設定ファイル106を読み込んでそこに定義されている各ファイル(後述する表示内容CSV格納部103、表示定義XML格納用データベース105、及びPDFテンプレート104を示す)の格納場所(パス)を取得する(ステップS201)処理を行った後、表示定義XML格納用データベース105を読み込んで表示定義XMLに定義されている全項目表示位置情報を取得する(ステップS202)処理を行い、記憶手段(メモリ)に全項目表示位置(ステップS203)を展開する。同様に、表示内容CSV格納部103を読み込んでCSVデータの1行を取得する(ステップS204)処理を行う。因みに、ステップS201で取得した格納場所(パス)は、後の処理で各ファイルを読み込む際に利用され、設定ファイル106自体の格納場所はシステム内のプログラムに直接記載するが、各ファイルについての格納場所は設定ファイル106に記載することにより、ファイルの追加や既存ファイルの格納場所の変更があった場合でもプログラムの修正は不要となる。また、ステップS204では、表示内容CSV格納部103から表示内容CSVのデータを1行毎に読み込む。
【0025】
次に、PDFデータ編集処理部108において、取得したCSVデータをカラム毎に分割する(ステップS205)処理を行い、記憶手段(メモリ)に表示項目(ステップS206)として展開する。CSVデータには表示項目の他にPDFのファイル名も設定されている。更に、記憶手段(メモリ)上に展開したCSV1行のデータを先頭から1カラムずつ取得し、表示項目の1項目を取得する(ステップS207)処理を行う。このとき、カラム番号に基づいて各項目の表示情報を記憶手段(メモリ)から取得する。引き続き、PDFテンプレート104を読み込んで記憶手段(メモリ)に展開した後、表示情報に基づいてテンプレートに表示項目を表示位置に合わせて表示する(ステップS208)処理を行った後、全ての表示項目の処理を終了したか否かの判定(ステップS209)を行う。この判定の結果、処理されていなければステップS207の前へリターンしてその後の処理を繰り返すが、処理されていればPDFのデータの作成とみなしてPDFデータ出力処理歩109へ引き渡す。因みに、PDFテンプレート104にはPDFのデータ以外のレイアウトに係る表示情報(背景色や枠線)を設定しておく。また、ステップS208、S209で処理を全カラムに対して行わせることでCSVデータ1行分のPDFのデータが作成され、記憶手段(メモリ)上に完成されることになる。
【0026】
PDFデータ出力処理部109では、PDFデータ編集処理部108から引き渡されたCSVデータ1行分のPDFのデータについて記憶手段(メモリ)よりファイル名を取得し、ファイル名を設定し保存する(ステップS210)処理を行った後、ハードディスク等の外部記録装置へ出力することでCSVデータ1行分のPDFファイル111の生成に至るが、この後に最終的にCSVデータの全行を処理したか否かを判定(ステップS211)する。この判定の結果、処理されていれば動作処理を終了するが、処理されていなければステップS204の前にリターンしてPDF作成の完了に至るまでのCSVデータの行数分繰り返し、CSVデータに設定されている行数分のPDFデータの作成を完了させるようにする。
【0027】
図3は、このPDF作成システム102のファイル関連図であって、表示内容CSV格納部103における表示内容CSVと表示定義XML格納用データベース105における表示定義XMLのデータの一例を関連付けて示した模式図である。また、図4は表示定義XML格納用データベース105におけるファイル構成形式の表示定義XMLのデータを例示した図である。更に、図5は、表示内容CSV格納部103におけるファイル構成形式の表示内容CSVのデータを例示した図である。
【0028】
各図を参照すれば、表示定義XML格納用データベース105における表示定義XMLの構成は大きく2つに分けられ、例えば図4に示されるように表示定義XMLの全体の設定を行うためのXML定義、設定内容、設定例のうち、XML定義にはroot(設定内容はPDF表示位置情報)の基本となる「config」(設定内容は解析情報)の項目がある。「config」項目の属性には更にXMLの種類を示すitem(設定内容はXML記載タイプ、設定例はtext)や、それに属するシステムでXMLの項目を分解して記憶手段(メモリ)に展開する旨を示すperser(設定内容はJavaプログラム名のJava格納Bean、設定例はcreatePdfParser.Java)等を設定する。
【0029】
rootの他の基本となる「location」項目には設定内容に表示位置情報を設定する。「location」項目に属するtext項目には、属性の項目毎の設定内容として、例えば「項目番号」、「X軸表示位置」、「Y軸表示位置」、「幅」、「高さ」、「フォント」、「文字サイズ」、「揃え位置」、「下線有無」といったレイアウト情報を設定する。
【0030】
表示内容CSVには、図5に示されるように1行に1つのPDFに対して出力データを設定する。更に、1行のPDFデータは出力する項目単位でカラムに分割して設定する。表示内容CSVに設定する値については任意の値を設定することが可能である。PDFにデータを出力する際には、CSVのカラム番号に基づいて表示定義XMLの「項目番号」を検索し、位置情報を取得する。
【0031】
図6は、PDFテンンプレート104のデータを例示した図である。図6を参照すれば、PDFテンプレート104は、上述したようにレイアウトとして実際に出力されるPDFのサイズ、背景色、枠線を含んでおり、PDFのデータを表示しない代わりに背景や枠線について表示する様子を示している。
【0032】
図7は、設定ファイル106におけるファイル構成形式のデータを例示した図である。図7を参照すれば、設定ファイル106は、上述したようにPDFのデータをファイル化生成するための各ファイルの格納場所(パス)を定義するためのもので、各項目に対する設定内容及び設定例を例示している。
【0033】
図8は、PDF作成処理部110におけるPDFデータ出力処理部109から出力されるPDFのデータを例示した図である。図8を参照すれば、図6に示した背景の枠線内の所定箇所にPDFのデータが表示された様子を示している。
【0034】
ところで、上述したPDF作成の動作処理上では、各処理中にエラーが発生する場合があり、そうした場合の対応が作業上では重要になる。図9は、図2で説明したPDF作成の動作処理上におけるエラー処理パターンを表形式で例示した図である。
【0035】
図9を参照してエラー発生時の対応を具体的に説明すれば、ステップS201において、データ取得処理部107で設定ファイル106が読み込めなかった場合(システムが読み込むファイルが指定されたパスに存在しなかった場合)は、その対応として、システムは何も処理することなく動作処理(プログラム)を終了する。
【0036】
ステップS202において、表示定義XML格納用データベース105から表示定義XMLが読み込めなかった場合は、その対応として、システムは何も処理することなく動作処理(プログラム)を終了する。
【0037】
ステップS204において、表示内容CSV格納部103から表示内容CSVが読み込めなかった場合は、その対応として、システムは何も処理することなく動作処理(プログラム)を終了する。
【0038】
ステップS205において、PDFデータ編集処理部108で表示内容CSVより取得したデータがCSV形式でなかった場合は、その対応として、システムは何も処理することなく動作処理(プログラム)を終了する。
【0039】
ステップS208において、PDFテンプレート104が読み込めなかった場合は、その対応として、システムは何も処理することなく動作処理(プログラム)を終了する。また、ステップS208において、表示項目に対応する表示定義が取得できなかった場合は、その対応して表示項目はPDFには表示しない。ここでは、PDFに表示項目を表示する際、表示項目に対する表示位置が定義されていない場合があるので、そうした場合には、その表示項目をPDFに出力せず、次の表示項目の処理を行う。このような処理を行うことによって、CSVには表示データ以外のデータ(PDFファイル名等)も設定することが可能となっている。
【0040】
その他、ステップS210において、PDFデータ出力処理部109でPDFファイル名が取得できなかった場合は、その対応として、「{1から連番}.pdf」で出力する。また、ステップS210において、既に同一ファイル名のPDFが存在した場合は、その対応として、既存ファイルに上書きで保存する。
【0041】
尚、上述した実施例1に係るPDF作成システム102では、PDF作成処理部110がデータ取得処理部107、PDFデータ編集処理部108、及びPDFデータ出力処理部109の各部による別体で構成される例を説明したが、これらは部分的又は全体的に一体的に構成することも可能であるので、本願発明のPDF作成システム102は、実施例1で開示した構成のものに限定されない。
【符号の説明】
【0042】
101 サーバ
102 PDF作成システム
103 表示内容CSV格納部
104 PDFテンプレート
105 表示定義XML格納用データベース
106 設定ファイル
107 データ取得処理部
108 PDFデータ編集処理部
109 PDFデータ出力処理部
110 PDF作成処理部
111 PDFファイル

【特許請求の範囲】
【請求項1】
サーバ機能によりJavaアプリケーションを利用してPDF(Portable Document Format)を作成するPDF作成システムにおいて、
前記PDFのデータに依存しない固定のレイアウトを設定するためのPDFテンプレートと、前記PDFに表示する表示データを設定するための表示内容CSV(Comma Separated Values)を格納した表示内容CSV格納部と、前記表示データの表示定義を設定するための表示定義XML(Extensible Markup Language)を格納した表示定義XML格納部と、前記表示定義XML格納部から得た前記表示定義XMLに従い、前記表示内容CSV格納部から得た前記表示内容CSVを前記PDFテンプレートから得た前記レイアウトに基づいてデータ編集して前記PDFのデータを作成すると共に、作成された前記PDFのデータを出力するPDG作成処理部と、を備えたことを特徴とするPDF作成システム。
【請求項2】
請求項1記載のPDF作成システムにおいて、前記PDFテンプレートは、前記レイアウトとして実際に出力される前記PDFのサイズ、背景色、枠線を含んでおり、前記表示内容CSV格納部は、前記表示内容CSVとして前記PDFの1つのデータを1行とすると共に、前記PDFに表示される1項目を1カラムとして前記表示データを設定するもので、前記表示定義XML格納部は、前記表示定義XMLとして少なくとも前記PDFテンプレートへの前記表示内容CSVの表示位置、並びにフォントを前記カラム毎に設定するものであることを特徴とするPDF作成システム。
【請求項3】
請求項1又は2記載のPDF作成システムにおいて、前記PDFのデータをファイル化生成するための各ファイルの格納場所を定義した設定ファイルを備え、前記PDG作成処理部は、前記設定ファイルの前記格納場所に応じて前記表示定義XML格納部から前記表示定義XMLを取得すると共に、前記表示内容CSV格納部から前記表示内容CSVを取得するデータ取得処理部と、前記データ取得処理部で取得された前記表示定義XMLに従った前記表示内容CSVを前記PDFテンプレートからの前記レイアウトに基づいて前記データ編集を行って前記PDFのデータを作成するPDFデータ編集処理部と、作成された前記PDFのデータに対してファイル名を設定して保存してから出力するPDGデータ出力処理部と、を備えたことを特徴とするPDF作成システム。
【請求項4】
請求項1〜3の何れか1項記載のPDF作成システムにおいて、前記PDFテンプレートの前記レイアウト、前記表示内容CSV格納部の前記表示内容CSV、並びに前記表示定義XML格納部の前記表示定義XMLは、前記PDG作成処理部により作成された前記PDFのデータの出力時における前記PDFの追加又は前記PDFの修正に際して、再作成又は修正可能であることを特徴とするPDF作成システム。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図9】
image rotate

【図3】
image rotate

【図6】
image rotate

【図8】
image rotate


【公開番号】特開2013−25770(P2013−25770A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−163315(P2011−163315)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000233491)株式会社日立システムズ (394)
【Fターム(参考)】