JasperReports 6 で PDF を作り、ブラウザーで表示する (2)

← (1) JasperReports とはなんぞ ~ 帳票に埋め込むデータを準備する

目次

帳票レイアウトを作成する

帳票レイアウトを作成するには、Jaspersoft Studio を使用します。Jaspersoft Studio は、単体のアプリケーションをインストールする方法と、Eclipse に組み込む形でインストールする方法があります。Java のプログラム作成に Eclipse を使用しているのであれば、帳票レイアウトの作成とプログラミングをシームレスに行うことができる後者の方が、個人的にはオススメです。

■Jaspersoft Studio のインストール ~アプリケーション単体の場合~

以下をダウンロードします。

  • Jaspersoft Studio (TIBCOJaspersoftStudio-x.x.x.final-windows-installer-x86_64.exe (64 ビット版 OS 用)、または TIBCOJaspersoftStudio-x.x.x.final-windows-installer-x86.exe (32 ビット版 OS 用) のいずれか)

ダウンロードされたファイルはインストーラー形式なので、画面に表示される流れにしたがって、インストールします。

■Jaspersoft Studio のインストール ~Eclipse に組み込む場合~

Eclipse にて、[ヘルプ] メニューより、[Eclipse マーケットプレース] をクリックします。

[Eclipse マーケットプレース] ウィンドウにて、[検索] テキスト ボックスに “Jaspersort Studio” と入力し、[実行] ボタンをクリックします。次に、検索結果一覧から、Jaspersoft Studio の [インストール] ボタンをクリックします。

create-pdf-by-jasperreports6-and-java_6p3vv4fk

後は、画面に表示される流れにしたがって、インストールします。(インストール完了後、Eclipse の再起動が必要です。)

■帳票レイアウトを作成

Jaspersoft Studio (または Eclipse) の [File] メニューから [New] – [Jasper Report] をクリックします。
レポートのテンプレート一覧から、気に入ったテンプレートを選択し、[Next >] ボタンをクリックします。今回は「Blank A4」を使います。

ファイルを配置する先のフォルダーを設定し、ファイル名を入力します。ファイル名は、「SushiMenuReport.jrxml」としました。

create-pdf-by-jasperreports6-and-java_pbq7l4sa

その後 [Finish] ボタンをクリックすると、帳票レイアウトが表示されます。

さぁ早速、文字打って、罫線ひいて…といきたいところですが、その前にまず、帳票に出力するデータの設定を終わらせておきます。帳票レイアウトの何もないところをクリックすると、帳票のプロパティが表示されるので、[Edit query, filter and sort options] ボタンをクリックします。

create-pdf-by-jasperreports6-and-java_gariowrq

[Fields] タブにて、CSV のフィールドを追加します。[Add] ボタンをクリックすると入力行ができるので、フィールド名、データの型を設定します。

create-pdf-by-jasperreports6-and-java_fycaikue

CSV の出力だけだと面白くないので、プログラムから値を渡せるようにしてみようと思います。[Parameters] タブにて、パラメーターを追加します。ここでは、帳票のタイトルの上に表示するキャッチフレーズを追加することにしました。

create-pdf-by-jasperreports6-and-java_s89hu0p4

これでデータの設定ができたので、[OK] ボタンをクリックして設定画面を閉じます。

次に、いよいよレイアウトを作成していきます。

帳票レイアウト画面の表示方法として、設計モード、ソース モード、プレビュー モードの 3 つの表示モードがあります。状況に応じて、使い分けると良いと思います。表示モードの切り替えは、帳票レイアウト画面左下のタブで行います。

表示モード 説明
設計モード 帳票レイアウトに配置した要素などが、ビジュアル表示されます。基本的には、この表示方法でレイアウト作業を行います。
ソース モード 帳票レイアウトに配置した要素などの情報が、XML 形式で表示されます。XML を直接変更することも可能です。
プレビュー モード 実際に帳票が出力された時のイメージが表示されます。

基本的には、固定文字列を出力する場所には Static Text、データを動的に埋め込む場所には Text Field を配置することになります。もし Text Field を配置したなら、そこに出力するデータの定義も行います。これらの操作手順は、とてもわかりやすくまとめてくださっている Web サイトもたくさんありましたので、ここでは割愛します (すんません)。手当たり次第触ってみているうちに、なんとなくわかるような。個人的感想としては、まぁまぁ直感的に操作できる感じがしました。

今回作成する帳票は、以下のように設定しました。

create-pdf-by-jasperreports6-and-java_htzzhzun

要素 テキスト 説明
1 Text Field $P{REPORT_CATCHPHRASE} 帳票のキャッチフレーズ。
[REPORT_CATCHPHRASE] パラメーターの値。
具体的な値は、プログラムから指定します。
2 Static Text “おすしメニュー” 帳票のタイトル。
3 Static Text “カテゴリー” 表のヘッダー。
4 Static Text “名前” 表のヘッダー。
5 Static Text “価格” 表のヘッダー。
6 Static Text “エネルギー” 表のヘッダー。
7 Text Field $F{CATEGORY} [CATEGORY] フィールドの値。
CSV ファイルから取得されます。
8 Text Field $F{NAME} [NAME] フィールドの値。
CSV ファイルから取得されます。
9 Text Field $F{PRICE} + “円” [PRICE] フィールドの値 + “円”。
CSV ファイルから取得されます。
10 Text Field $F{CALORIES} + “kcal” [CALORIES] フィールドの値 + “kcal”。
CSV ファイルから取得されます。

フィールド名の大文字・小文字は、CSV 上の定義と一致させる必要があります。

ここまでできたら、ひとまず帳票レイアウト ファイルを保存しておきます。次は、いよいよ Java プログラムから PDF を出力します。

(3) Java プログラムから PDF を出力する →

●履歴

  • 2015/07/27 リンクが正しく設定されていなかった箇所を、修正しました。

KPDN

プログラミングとゲームが好きな、しがないにゃんこ好きです。わんこも同じぐらい好きです。最近、物忘れどんどんが酷くなってきた。

コメントを残す