TOP設計・移行・活用> はじめに
オープンソース帳票システム
オープンソース帳票システム

第4回:アプリケーションに組み込む
著者:ビーブレイクシステムズ  横井 朗   2005/3/25
1   2  3  4  次のページ
はじめに

   こんにちは。ビーブレイクシステムズの横井です。iReport編の最終回となる今回は、第3回で作成した見積書をJavaアプリケーションやWebアプリケーションへ組み込む方法について説明します。

   ここで第2回の説明を思い出して、頭の中を整理していただきたいと思います。実際の帳票出力処理はJasperReportsが行っていますので、アプリケーションに組み込む場合はiReportで作成したテンプレートXMLとJasperReportsを利用することになります。
JasperReportsのデータ変換

   組み込み方法の説明の前に、JasperReportsのデータ変換の流れについて説明します。JasperReportsでは以下の図のように3段階のステップを経て帳票を出力しており、それぞれのステップの状態をファイルに保存しておくこともできます。例えば、動的なデータのバインドが不要な帳票であれば、あらかじめ(3)の.jrprintファイルを用意しておくことで、出力にかかる時間を短縮することができます。逆に、毎回コンパイルから行うようなコーディングをすると、必要以上にリソースを消費し、処理時間も長くなります。

データ変換の流れ
図:データ変換の流れ



PDF出力

   それではJasperReportsを使用した出力プログラムについて見て行きましょう。第3回で作成した見積書を顧客名付きで出力するプログラムについて説明します。なお、ここで紹介するプログラムの白文字部分は環境に応じて変更してください。

見積書を顧客名付きで出力
import java.sql.*;
import java.util.*;
import net.sf.jasperreports.engine.*;

/**
* JasperReportのサンプル
*
* コンパイル〜データのバインド〜出力の全ステップを行う
*/
public class JasperSample1 {

public static void main(String[] args) {
// テンプレートXMLファイルのパス
String templatePath = "./template/estimate.jrxml";
// 出力するPDFファイルのパス
String destPath = "./output/JasperSample1.pdf";

Connection con = null;
try {
// (1)テンプレートXMLのコンパイル
JasperReport jasperReport = JasperCompileManager.compileReport(templatePath);

// (2)パラメータの生成
Map paramMap = new HashMap();
paramMap.put("CLIENT_NAME", "ビーブレイクシステムズ");

// (3)データソースの生成
Class.forName("org.postgresql.Driver");
con = DriverManager.getConnection(
"jdbc:postgresql://hostname:port/instance", "user","pass");

// (4)データの動的バインド
JasperPrint print = JasperFillManager.fillReport(jasperReport, paramMap, con);

// (5)PDFへ出力
JasperExportManager.exportReportToPdfFile(print, destPath);

} catch (Exception ex) {
ex.printStackTrace();
}
finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

   上記のプログラムを実行すると、第3回に作成した見積書が出力されます。このプログラムでは、先ほど説明した流れが分かりやすいように、コンパイル、バインド、出力の全ステップをプログラムで行っています。

pdf  出力した見積書 (35.2 KB)
上記のプログラムから作成したものです。こちらを参考にしながら作成してみてください。
1   2  3  4  次のページ


ビーブレイクシステムズ
著者プロフィール
株式会社ビーブレイクシステムズ  横井 朗  
オープンソース指向技術コンサルタント。Java専門のソフトウェアハウス〜フリーエンジニアを経て現職。帳票開発のみならず、オープンソースを用いたシステム構築を日々提案。なによりもお客様の真のニーズを求めるため社内外でオープンソースに関する啓蒙活動を行う。


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