2019年5月23日pdfmonkについての全投稿は/tag/pdfmonkにあるので参照されたいここでは、オープンソースライブラリpdfmonkを紹介する。目次JasperReportsへの不満JasperReportsからiText(PDF)へ、そしてpdfmonkへpdfmonkのリポジトリpdfmonkを使ったプログラム例JasperReportsへの不満10年ほど前から帳票作成にJasperReportsを使用していた。これはiReportというGUIでの帳票設計ツールにより帳票フォームを作成し、そこにデータを流しこむというものである。使っていた当時から不満があった。バージョンが変わると帳票設計データ(xmlファイル)の互換性が無くなってしまう。移行方法もわからないので、バージョンアップの恩恵が受けられない(そのため、最新は5.6にも関わらず、使用しているのは相変わらず1.2.1である)。Javaコードでの帳票生成時にJasperReportsはJavaコンパイラを使ってJavaコードを生成を行っているようである。これが良く問題を起こす。Javaのバージョンが変わり「・」が識別子に使用できなくなったために帳票生成ができなくなったのだが、この時点で初めてJasperReportsがパラメータ名をJavaの識別子に変換していることを知った。(使用中バージョンの)JasperReportがsun/misc等のパッケージを使用しているため、Java9では使えない。これらが隠されたしまったからだ。そもそも自分自身がWYSIWYGツールの類が好きではないという事情もある。GWTを扱うにしても、JavaFXを扱うにしても、AndroidでもGUIツールの類はすべてパスしている。Getだ」(「見たままを得る」は「見たものしか得られない」)という格言をどこかで聞いたことがあるが、そのとおりだと思う。これらは私にとっては便利とは思えないのだ。JasperReportsからiText(PDF)へ、そしてpdfmonkへそこで、JasperReportsに代わるものを探したのだが、結局iTextに落ち着いた。