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

JasperReport 6 と Java を使って PDF を出力しました。試行錯誤の連続だったので、忘れないように、一連の手順をまとめました。今回は「【2】帳票レイアウトを作成する」です。

← 前回:【1】JasperReport とは?~帳票に出力するデータを準備する

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

帳票レイアウトを作成するには、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 用)

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

Eclipse に組み込む場合

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

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

[JasperReports] Eclipse マーケットプレイスで Jaspersoft Studio を検索
Eclipse マーケットプレイスで Jaspersoft Studio を検索

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

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

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

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

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

JasperReports の帳票レイアウト ファイルを配置
帳票レイアウト ファイルを配置

その後[Finish]を押すと、帳票レイアウトが表示されます。

帳票に出力するデータを設定する

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

[JasperReports] データセットとクエリの設定ダイアログを開く
データセットとクエリーの設定ダイアログを開く

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

[JasperReports] フィールド名、データの型を設定
フィールド名、データの型を設定

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

[JasperReports] プログラムから値を渡すためのパラメーターを追加
プログラムから値を渡すためのパラメーターを追加

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

レイアウトを編集する

いよいよレイアウトを編集していきます。

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

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

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

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

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

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

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

次回:【3】Java プログラムから PDF を出力する →

kpdn

お寿司とゲームと動物が好きな、フリーランスのエンジニアです。フロントエンドからインフラまで日々奮闘中です。最近は物忘れがどんどんがひどくなってきました。

コメントを残す