Javaで帳票出力

Javaで帳票出力するには、[iReport][1] と [JasperReports][2] を使うのが簡単そうだ。

* [iReport][1]
* [JasperReports][2]

簡単なメモ。

###iReport

* 概要
iReportは帳票のデザインテンプレートを作成するソフト。
作成したデザインテンプレートはJasperReportsで帳票に変換する。

* チュートリアル
* [iReportに触れる][3]
ここを読めば使えるようなる。

* 注意点
* フォントの設定
日本語を使う場合、間違ったフォントを選択すると日本語が表示されない
* ゴシック体
* PDF font name = HeiseiKakuGo-W5
* PDF Encoding = UniJIS-UCS2-H
* 明朝体
* PDF font name = HeiseiMin-W3
* PDF Encoding = UniJIS-UCS2-HW-H

###JasperReports

* 概要
iReportで作成したデザインテンプレートを帳票に作成するライブラリ。

* 処理の流れ
1. iReportで作ったテンプレートファイル(XML)をコンパイルしてjasperファイルを作成

JasperCompileManager.compileReportToFile(“sample.jrxml”, “sample.jasper”);

2. jasperファイルとDataSource、MapからPDFファイルを作成

byte[] bytes = JasperRunManager.runReportToPdf(“sample.jasper”, paramMap, dataSource);

3. 出力

//Servletの場合
response.setContentType(“application/pdf”);
response.setContentLength(bytes.length);
OutputStream out = response.getOutputStream();
out.write(bytes);
out.flush();
out.close();

* 注意点
* テンプレートファイルのコンパイルは一回だけでいい。
テンプレートファイルのコンパイルは重たい処理なので、何度も行わないようにする工夫が必要。

* インストールするライブラリ
* [jasperreports-1.0.3.jar][4]
* [Jakarta Commons Digester Component (version 1.7 or later)][5]
* [Jakarta Commons BeanUtils Component (version 1.1 or later)][6]
* [Jakarta Commons Collections Component (version 2.0 or later)][7]
* [Jakarta Commons Logging Component (version 1.0 or later)][8]
* [iText(PDF出力に必要)][9]
* [iTextAsian.jar(日本語出力に必要)][10]

[1]: http://ireport.sourceforge.net/
[2]: http://jasperreports.sourceforge.net/
[3]: http://www.thinkit.co.jp/free/tech/4/2/1.html
[4]: http://sourceforge.net/projects/jasperreports
[5]: http://jakarta.apache.org/commons/digester/
[6]: http://jakarta.apache.org/commons/beanutils/
[7]: http://jakarta.apache.org/commons/collections/
[8]: http://jakarta.apache.org/commons/logging/
[9]: http://www.lowagie.com/iText/
[10]: http://itextpdf.sourceforge.net/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください