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 の[インストール]を押します。
後は、画面に表示される流れにしたがって、インストールします。インストール完了後に、Eclipse の再起動が必要です。
帳票レイアウトを作成する
帳票レイアウト ファイルを作成する
Jaspersoft Studio(または Eclipse)の[File]メニューから[New]-[Jasper Report]を選択します。
レポートのテンプレート一覧から気に入ったテンプレートを選択し、[Next >]を押します。今回は「Blank A4」を使います。
ファイルを配置する先のフォルダーを設定し、ファイル名を入力します。ファイル名は、「SushiMenuReport.jrxml」としました。
その後[Finish]を押すと、帳票レイアウトが表示されます。
帳票に出力するデータを設定する
さっそく文字を入力して、罫線をひいて…といきたいところなのですが、その前にまず、帳票に出力するデータの設定を終わらせておきます。帳票レイアウトの何もないところを押すと帳票のプロパティが表示されるので、[Edit query, filter and sort options]を押し、データセットとクエリーの設定ダイアログを開きます。
[Fields]タブにて、CSV のフィールドを追加します。[Add]を押すと入力行ができるので、フィールド名、データの型を設定します。
CSV の出力だけだと面白くないので、プログラムからも値を渡せるようにしてみます。[Parameters]タブにて、パラメーターを追加します。ここでは、帳票のタイトルの上に表示するキャッチフレーズを追加することにしました。
これでデータの設定ができたので、[OK]を押して設定画面を閉じます。
レイアウトを編集する
いよいよレイアウトを編集していきます。
レイアウト画面には、「設計モード」、「ソース モード」、「プレビュー モード」の 3 つの表示モードがあるので、状況に応じて使い分けると良いと思います。表示モードの切り替えは、レイアウト画面左下のタブで行います。
表示モード | 説明 |
---|---|
設計モード | 帳票レイアウトに配置した要素などが、ビジュアル表示されます。基本的には、この表示方法でレイアウト作業を行います。 |
ソース モード | 帳票レイアウトに配置した要素などの情報が、XML 形式で表示されます。XML を直接変更することも可能です。 |
プレビュー モード | 実際に帳票が出力された時のイメージが表示されます。 |
編集方法ですが、基本的には、固定文字列を出力する場所には Static Text、データを動的に埋め込む場所には Text Field を配置することになります。Text Field を配置したなら、そこに出力するデータの定義も行います。これらの操作手順は、とてもわかりやすくまとめてくださっている Web サイトもたくさんありましたので、ここでは詳しく触れないこととします(すみません)。手当たり次第触っているうちに、なんとなくわかるような…ある程度直感的に操作できると思います。
今回作成する帳票は、以下のように設定しました。
要素 | テキスト | 説明 | |
---|---|---|---|
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 を出力する →