TOP設計・移行・活用> (1)テンプレートXMLのコンパイル
オープンソース帳票システム
オープンソース帳票システム

第4回:アプリケーションに組み込む
著者:ビーブレイクシステムズ  横井 朗   2005/3/25
前のページ  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専門のソフトウェアハウス〜フリーエンジニアを経て現職。帳票開発のみならず、オープンソースを用いたシステム構築を日々提案。なによりもお客様の真のニーズを求めるため社内外でオープンソースに関する啓蒙活動を行う。


INDEX
第4回:アプリケーションに組み込む
  はじめに
(1)テンプレートXMLのコンパイル
  その他の出力形式
  Webアプリケーションへの組み込み