帳票の実現 |
|
JavaによるWebアプリケーションにおいて、PDFの動的生成、配布を実現するためには、以下のようなソフトを用意する必要があります。
●PDF生成用ソフト(ミドルウェア)
ご存じのとおりPDFはAdobe社の策定した仕様ですが、PDF自体の仕様は公開されています。これに従えば、簡単なPDFであれば自分で作成することも可能です。ただ、PDFのフォーマットはかなり複雑ですので、開発の労力を考えると自前で一からPDF生成のための環境を作るのはあまり現実的とはいえないでしょう。
Adobe社からはPDF操作用のライブラリや、Acrobatを操作するためのAPIなども提供されています。また、サードパーティーからもJavaでPDFの操作を行うことのできるライブラリ製品が出ています。これらを使えば多少は楽にPDFを生成することができますが、いずれにしろAPIやライブラリで記述できるのは低レベルな操作にとどまりますから、帳票のような複雑な出力を得るためにはかなりの労力が必要です。
ですから、現実的には、帳票のデザインツールなどを含めた、パッケージ製品を利用することになると思われます。
●PDF表示、印刷用ソフト
これについては、クライアント側がAdobe Acrobat Reader(Web経由で無償で入手可能)を使用することで容易に実現できます。プラグインを利用すればWebブラウザ内での表示、印刷も可能です。
●帳票デザイン用のツール
PDF形式での帳票をデザインする場合、単なる固定的なPDFであれば、Adobe社のAcrobatを利用することもできますが、データベースの値を参照して埋め込んだりするような動的な内容を生成するには、上で紹介したような専用のパッケージ製品に含まれるツールを利用することになります。そういったツールによって、単なるレイアウトだけでなく、動的に埋め込みたい内容を記述した中間ファイルを作成し、これをもとに、専用のPDF生成ミドルウェアでPDFを生成する、という仕組みになっている製品が多いようです。
これらの関連を図にまとめると以下のようになります。詳細は、製品などによって変わってくると思われますが、おおむね、このような構成を取っている製品が多いようです。
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|