AMG Solution

JavaでPDF出力するには? Jasper Reports ~帳票出力編~

 
前回のブログで、帳票のテンプレートをJasper Reportsを利用して作成しました。
今回はJavaからそのテンプレートを使用してPDFを出力したいと思います。

今回のブログで最終回となります。

Javaのプロジェクトを作成する

まずはじめにJavaのプロジェクトを作成しました。ごく普通のプロジェクトです。
(以下の画像はeclipseではなく、stsを使用しています。普通のJavaプロジェクトを作る分には、特に変わりはありません。)

プログラムの構成は以下のようにしました。

1

早速中身を見ていきましょう。

繰り返し処理用のEntity作成

繰り返し処理で使用する部分を1つのEntityとしてクラスを作成しました。
privateな変数とpublicなgetter、setterを作成します。

名前・備考は文字列を表示するのでString型、数量・価格・金額は数字を表示するのでint型にしています。
テンプレートを作成した時の変数の型と同様にします。

3

実際にEntityを使用する際には、Listにして使います。

resourceの作成

resourceフォルダの中に、Jasper Reports作成時に使用したfontsフォルダをコピーしてipaexg.ttfを入れます。

resouce/fontsフォルダの中に、ipaexg.xmlを作成します。
内容は以下のようにします。

3行目のfontFamily nameには、テンプレート作成時にフォントの設定をした名前を入れます。この名前がテンプレート作成時と異なっていると、実行時にエラーとなりPDFが作成できません。

resourceフォルダの中に、jasperreports_extension.propertiesを作成します。
このファイルは、JasperReportsの拡張プロパティファイルになります。内容は以下のようにします。

テンプレートファイルの設置

場所はどこでも構わないのですが、今回はjasperフォルダをプロジェクト直下に作成し、ファイル名をtest.jasperと変更して置きました。

ライブラリー

Jasper Reportsを実行するには、いくつかのライブラリーを参照する必要があります。
(以下の画像で表示したライブラリが全て必要だというわけではありません。)

ライブラリーは、プロパティー - Javaのビルドパス - ライブラリーのJar追加をしてください。

5

実行クラス

実行する

さっそく実行してみます。

6

出力した結果を見ると、前回プレビューで見た時とは違っていました。
テーブルの1行目の真ん中寄せ、2行目以降の数字が右寄せではなく左寄せ(デフォルト表示)になってしまいました。
どうやってもうまくいかなかったので、もしかしたらJaspersoft Studioのバグなのかもしれません。

上記の理由でうまくいかなかったので、Jaspersoft iReport Designerで修正をおこない実行してみました。

7

いい感じに表示されるようになりました。

まとめ

いかがでしたでしょうか。
全4回にわたり、JavaからPDF作成について書いてきましたが、帳票を作成するのは意外と難しくはありません。
なんとなく敷居が高いんじゃないかと思うだけで、特別なことは何もありません。

JavaでPDFの帳票作成が必要な場合には、Jasper Reportsで十分対応できます。

また何か便利なツールがありましたら紹介していきたいと思います。

《関連記事》
JavaでPDF出力するには?おすすめツールまとめ
JavaでPDF出力するには? ~Jasper Reports設定編~
JavaでPDF出力するには? ~Jasper Reports 帳票作成編~

INOUE'S BLOG

井上剛の記事

井上剛の記事の最新情報をお届けいたします。

SAME CATEGORY BLOG

この記事と同様のカテゴリー記事

新卒採用
はじめました。
LOADING