|
|
前のページ 1 2 3 4 次のページ
|
|
(1)テンプレートXMLのコンパイル
|
テンプレートXMLを読み込んでJasperReportオブジェクトを生成しています。結果を.jasperファイルへ出力する場合は、"JasperCompileManager.compileReportToFile()"を使用します。
|
(2)パラメータの生成
|
(4)データの動的バインドで使用するパラメータを生成しています。今回のプログラムでは、見積書の宛て名部分で使用する"CLIENT_NAME"というパラメータを設定しています。
|
(3)データソースの生成
|
(4)データの動的バインドで使用するデータソースを生成しています。今回はJDBCをデータソースとして使用するので、JDBCのコネクションを生成しています。
|
(4)データの動的バインド
|
JasperReportオブジェクトに(2)、(3)で作成したデータをバインドして帳票のイメージを作成しています。コンパイル済みの.jasperファイルを読み込んでデータをバインドする場合は、"JasperFillManager.fillReport()"の第1引数に.jasperファイルのパスを指定します。
また、バインドした結果を.jrprintファイルに出力する場合は、"JasperFillManager.fillReportToFile()"を使用します。
|
(5)PDFへ出力
|
バインドした結果のJasperPrintオブジェクトと出力先のパスからPDFを出力しています。なお、.jasperファイルを読み込んで出力する場合は、以下のようにシンプルに記述できます。
JasperPrintからPDFを出力
|
import java.sql.*;
import java.util.*;
import net.sf.jasperreports.engine.*;
/**
* JasperReportのサンプル
*
* .jasperファイルを読み込んでPDFに出力する
*/
public class JasperSample2 {
public static void main(String[] args) {
// コンパイル済みファイルのパス
String jasperPath = "./template/estimate.jasper";
// 出力するPDFファイルのパス
String destPath = "./output/JasperSample2.pdf";
Connection con = null;
try {
// パラメータの作成
Map paramMap = new HashMap();
paramMap.put("CLIENT_NAME", "ビーブレイクシステムズ");
// データソースの生成
Class.forName("org.postgresql.Driver");
con = DriverManager.getConnection(
"jdbc:postgresql://hostname:port/instance", "user","pass");
// PDFへ出力(内部的にデータのバインドと出力を行っている)
JasperRunManager.runReportToPdfFile( jasperPath, destPath, paramMap, con);
} catch (Exception ex) {
ex.printStackTrace();
}
finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
|
|
前のページ 1 2 3 4 次のページ
|
|
|
|
著者プロフィール
株式会社ビーブレイクシステムズ 横井 朗
オープンソース指向技術コンサルタント。Java専門のソフトウェアハウス〜フリーエンジニアを経て現職。帳票開発のみならず、オープンソースを用いたシステム構築を日々提案。なによりもお客様の真のニーズを求めるため社内外でオープンソースに関する啓蒙活動を行う。
|
|
|
|