Javaで有名なのは、JasperReportとiText。両者とも老舗です。
Webサイトを見比べても感じるとおり、JasperReportの方が華やかで高機能っぽい。思わず飛びついてしまいます。
iReportというGUIを使えば、デザイン・レイアウトからデータソースとの連携までやって、PDFを自動出力してくれるそうです。
とりあえず、iReportをペコペコいじってみました。
が、真っ白なPDFが出力されるばかり(フォントの設定かな?)。感覚的に使えそうでいて、そうでもないぞっと。使い方を調べていくと、またしても分厚い仕様書と大嫌いなXMLファイルにたどり着く。
最近、仕様書&XML疲れしているので、ここでちょっと手をとめて、iTextの方を触ってみることにしました。
一方iTextは、Javaでゴリゴリとプログラムを書いていく仕組みです。
メンドくさいかなぁ・・・と思ったら、そうでもありません。
日本語フォントセットはiTextAsian.jarとして提供されているので、CLASSPATHに入れるだけ。全機能について、わかりやすいサンプルが用意されているので、とりあえずサンプルをコピペすれば、直ぐに動きます。
ホンの20分!で、やりたいことを網羅できるようになりました。
フレームワークって、こうあるべきだよなぁ、と、つくづく感じます。
必ずしも「高機能 イコール 多機能」ではないし、「簡単 By GUI」でもないんですよね。そりゃあ、鼻くそホジりながら片手で作れた方が良いに決まってるけど、中途半端なGUIで仕事増えても困る。
Java陣営は、こういう部分のバランスに欠けてる気がします。
(MSやLLに比べて)