JasperReport 6 と Java を使って PDF を出力しました。試行錯誤の連続だったので、忘れないように、一連の手順をまとめました。今回は「【1】JasperReport とは?~帳票に出力するデータを準備する」です。
もくじ
JasperReports とは
JasperReports は、帳票および BI ツール群です。企業に蓄えられたたくさんのデータを加工して、さらに必要に応じて帳票化して、ビジネスの分析に役立てようというものです。
帳票を作成するためのライブラリである JasperReports Library、帳票レイアウト ファイルを作成するための Jaspersoft Studio という GUI アプリケーション、帳票の管理などが行える Jaspersoft Server などで構成されます。帳票は、入力データとして各種データベースや Excel 、CSV などを使うことができ、また PDF、Excel、HTML など、いろいろな形式で出力できるようです。
BI ツールというと、私はなんとなく敷居が高そうで構えてしまうのですが、ちょっとした帳票を出力するだけの目的にも使えます。
ちなみに、JasperReports のことを Web で検索すると、しつこいぐらい iReport という名前が出てくるのですが、どうやら iReport を新しくEclipse ベースに移植したものが Jaspersoft Studio とのことです。[古]iReport → [新]Jaspersoft Studio ということみたいです。iReport の方は 2015 年末に開発・保守を停止する予定らしいので、これから使うのなら、Jaspersoft Studio が良さそうです。Jaspersoft 社が TIBCO 社に合併されたので、Jaspersoft Studio は、正式には TIBCO Jaspersoft Studio というのですが、本記事では Jaspersoft Studio と表記しています。
環境
- OS:Windows 7 Home Premium Service Pack 1(64 ビット版)
- 言語:Java 8 (JRE 1.8)
- サーブレット コンテナー:Tomcat 8.0.20
- 統合開発環境:Eclipse 4.4.2
- Jaspersoft Studio 6.0.3
方針・前提条件
- 適当なデータが埋め込まれた PDF を生成し、ブラウザーで表示します。
- 帳票のデザイン(見た目の美しさなど)は重視しません。とにかく表示するのを目標とします。
- 帳票に表示するデータは、手軽さを重視で CSV ファイルから取得します。データベースは準備が大変なので利用しないこととします。
- Tomcat 関連の設定は完了していることとします。また、Web アプリケーションとしての最低限のフォルダー構成(WEB-INF フォルダーなど)は、作成済みとします。
- PDF を作成する際、ファイル化すると後で消すのが面倒そうなので、バイナリ(バイト配列)として作成し、直接 HTTP のレスポンスとして返します。
処理の流れ

「帳票データ(今回はCSV ファイル)」「帳票レイアウト ファイル」「プログラム」の 3 点の準備が必要です。また、日本語を出力するためには、設定を変更する必要があります。これらについて、ひとつずつ説明しています。
帳票に出力するデータを準備する
適当な内容の CSV ファイルを用意します。今回は、とあるお寿司屋さんの Web サイトから、メニューを一部抜粋したものを用意しました。ファイル名は「SushiMenuData.csv」としました。列を特定するために、1 行目にヘッダーを入れておきます。
CSV ファイルを、Tomcat プロジェクトの任意の場所に配置します。今回は、以下のように配置しました。

これで、データの準備は完了です。次は、帳票レイアウトを作成します。