Ruby から JasperReports でPDF帳票を出す(PDF出力処理をサーバ化)

2010年5月14日

Railsをpassengerで動かしている時に、RJBでJavaのライブラリJasperReportsを呼び出そうとすると

うまくいかなかった。

なので、一つの解決法としてJasperReportsの呼び出し部分をRailsとは切り離す仕組みとしてDRubyを採用する。

サンプルは別途リンクを張りますが、ここでは主要なソースのみ書き出します。

まずは、実際にPDFを作成する部分から

gen/WritePdf.java:

このJavaのメソッド「runTest」をrubyから呼び出します。

つづいて、この「runTest」を呼び出すrubyソース

create_pdf.rb:

これで、RubyからRJBを使ってJavaのインスタンスを起動し、JasperReportsでPDF出力することが出来ます。

ここまでの修正で、実行テストは

create_pdf_client.rb:

とし、このcreate_pdf_client.rbファイルを実行すると、PDFファイルが作成されます。