1 名前:デフォルトの名無しさん [04/07/07 08:55.net] JAVAで帳票作成するとなると それなりの帳票ツールがないとテンテコ舞。 でも、帳票ツールは高い。 せっかくJavaとかTomcatとか無料で開発・運用できる環境があるのに 帳票も作りも無料でやりたいもんだ。 そんな救世主JasperReportsについて朝まで語り合いましょう。 jasperreports.sourceforge.net/ デザインツールiReportやJasperAssistantがなければ ラクラクにはなりませんのでその話題も・・・。 ireport.sourceforge.net/ www.jasperassistant.com/index.html 1げっと。
2 名前:デフォルトの名無しさん mailto:sage [04/07/07 09:07.net] ほほう、よさげですな。 マツリバイト文字とか大丈夫なのかな? 2グッシ
3 名前:2 [04/07/07 09:07.net] マルチバイトの間違い。。。 鬱age
4 名前:デフォルトの名無しさん [04/07/07 09:09.net] 横浜ベイキットやクリスタルレポートの帳票作成ツールとくらべどうなんだ?
5 名前:デフォルトの名無しさん [04/07/07 09:19.net] >2 だいじょうぶだよ。
6 名前:デフォルトの名無しさん [04/07/07 09:25.net] 実際に使っている者だが 全角英字を項目名として使うとうまくないようだ。 DBと連携して帳票を出す際にテーブルの項目名が 全角英字だとそのままでは使えないのでSELECTの記述で 項目名に別名をつければいいよ。
7 名前:デフォルトの名無しさん mailto:sage [04/07/07 23:15.net] おお、参考になるじゃねえか
8 名前:デフォルトの名無しさん [04/07/08 09:33.net] JasperAssistantよさげだね。 でもフリーじゃないのね?
9 名前:デフォルトの名無しさん [04/07/08 11:17.net] NuLabって会社が、JasperReportに関するPDF資料を公開してたんだけど、 サイトが落ちてるな。。。 ググったページ(PDF)のキャッシュのHTML版。 ttp://216.239.57.104/search?q=cache:pcmxkVssvzIJ:www.nulab.co.jp/docs/opensource-01-jasperreports.pdf+%22opensource-01-jasperreports%22+%22.pdf%22&hl=en&lr=lang_ja 画像全滅か。。。 元リンクは、これ。今はつながらない。 ttp://www.nulab.co.jp/docs/opensource-01-jasperreports.pdf
10 名前:JasperReports [04/07/08 21:49.net] >>8 iReportで充分だよ 自分は公開されているiReportに関するPDF資料で なんとか使えるようになったよ。
11 名前:デフォルトの名無しさん [04/07/09 17:18.net] ソースのdori/jasper/engine/util/JRQueryExecuter.java の209行目の pstmt = conn.prepareStatement(queryString); を if (!queryString.substring(0,5).toUpperCase().equals("EXEC ")) { pstmt = conn.prepareStatement(queryString); } else { pstmt = (PreparedStatement)conn.prepareCall(queryString); } に変更すればストアド対応になるよ。 java.sql.CallableStatement; のimportも忘れずに。 SQL-Server + jtds0.5.2にて確認。
12 名前:デフォルトの名無しさん [04/07/22 04:52.net] XMLファイルからjasperファイルにコンパイルする時にクラスファイルがないと 言われる場合は、中間でコンパイルに使うJavaファイルのどこかがおかしい。 XMLファイルのクラス指定あたりをチェックしてみるとよいかも。
13 名前:デフォルトの名無しさん [04/07/22 04:55.net] 複雑なレポートを作るのには本当に疲れた。 いくつもサブレポートを作って、更にその中にサブレポートがあったり、 グループがいっぱいあったり・・・。
14 名前:デフォルトの名無しさん [04/07/22 22:09.net] >>12 XMLファイルの中にクラス指定って Javaでいうimportみたいなことですか? 自分もコンパイルで「クラスが見つからないエラー」が出たとき クラス指定のやり方が解からず、結局はクラスのURLを フルパスで入れて対処しました。
15 名前:デフォルトの名無しさん [04/07/23 04:01.net] >>14 フルパスで入れてOKならいいけど、どこを指定してもダメな場合がある。 大概の場合、これでエラーが出ると定義ファイルを疑った方がよさそう。 典型的なのは<textFieldExpression> class属性のデフォルトはjava.lang.Stringなので、Integer型の変数とかを表示する際に class属性を指定しないと、>>12 で上げたようなエラーになる。
16 名前:デフォルトの名無しさん [04/07/23 22:49.net] >>15 >典型的なのは<textFieldExpression> >class属性のデフォルトはjava.lang.Stringなので、Integer型の変数とかを表示する際に >class属性を指定しないと、>>12 で上げたようなエラーになる。 なるほど、そうゆうことですね。 自分の場合は、DBから取得したデータ(コード)を画面に表示する際に コードに対応した日本語表現に変換するクラスを作成したしたのですが そのクラスを印刷するときにも流用させようと思って試行錯誤しました。 最初、作成したクラスをJavaのimportみたいなことで定義するには どうやればよいのか調べたのですが、結局見つからずにフルパスでやったのでした。
17 名前:デフォルトの名無しさん [04/08/08 01:47.net] ver0.5.3と0.6.0でクラス名が変わっているけど、 dori.jasper.engine ⇒ net.sf.jasperreports.engine 等 iReportやその他サンプルによって利用しているverがまちまちだったりする ので注意。
18 名前:デフォルトの名無しさん [04/08/20 11:42.net] そうそう・・・ 変わったんだよね。 0.6.0にしたとたん動かなくなったのでびっくりした。 なぜ変えたんだろ。 意味は分からないけどdoriよりnetの方がカッコいいから?
19 名前:デフォルトの名無しさん [04/08/20 15:54.net] sourceforgeで管理始めたから? それにしても、sourceforgeつかったらnet.sfっていうパッケージ名が使えて便利だね。
20 名前:デフォルトの名無しさん mailto:renwo009@hotmail.com [04/09/29 17:01:15.net] はじめまして、 JavaでPDF帳票をつくりたいですが、サイトでいくら調べてて、 iReportとJasperReports組み合わせるほうがいちばんよいらしいです。 サンプルにみるとほとんど DBと接続して帳票がつくるものですが。 XML電文式のデータで帳票をつくったケースがありますか。 ご教授。
21 名前:デフォルトの名無しさん [04/09/30 00:25:16.net] >>20 そういうケースは知らないけど、 インプットがDBでなくXMLであるのなら、 JRXmlDataSourceを使ってみては如何?
22 名前:デフォルトの名無しさん [04/09/30 09:08:25.net] >>20 XMLデータのレポートはやったことがないし、 いまのところニーズもないけど、 JasperReportsのソースをダウンロードして \demo\samples\xmldatasource を参考にしたらよろしいかと・・・。
23 名前:デフォルトの名無しさん mailto:sage [04/09/30 22:44:44.net] >>20 fop
24 名前:デフォルトの名無しさん mailto:sage [04/11/01 12:11:25.net] iReportの使い勝手ってどうよ? 位置合わせが難しいわ、 XMLにコメントとか細かい設定をしても、iReportで更新したらおじゃんになるわで、 結局XMLをEclipseプラグインのX-Menでシコシコ書いているわけですが・・・ おれだけ?
25 名前:デフォルトの名無しさん mailto:sage [04/11/07 16:24:14.net] >>24 俺も俺も! 自動生成系の奴は元のコメント残してくれるだけでもありがたいんだけどなぁっていつも思う
26 名前:デフォルトの名無しさん [04/11/17 13:38:52.net] A4横のPDFをservletから直接プリンタへ出力すると 縦で印刷されたかのように右側が切れて印刷されるんだけど 誰か教えて!! PDFそのものはアップロードさせて見てみたけど問題ないのです。
27 名前:デフォルトの名無しさん mailto:sage [04/11/17 19:34:48.net] >>26 むしろ、プリンターの設定の問題じゃないの?
28 名前:デフォルトの名無しさん [04/11/17 22:50:22.net] >>27 プリンタの設定は確認してないけど PDFファイルに落としてAcrobatReaderで開いて 普通に印刷すると問題ないのです。はい。
29 名前:26 [04/11/18 11:10:28.net] JRPrintServiceExporter.javaの180行目を 下のようにしたら解決したのでご報告まで(<の部分を追加) if (!printRequestAttributeSet.containsKey(MediaPrintableArea.class)) { < if (printRequestAttributeSet.containsKey(OrientationRequested.class) && printRequestAttributeSet.containsValue(OrientationRequested.LANDSCAPE)) < printRequestAttributeSet.add( < new MediaPrintableArea( < 0f, < 0f, < (float)jasperPrint.getPageHeight() / 72f, < (float)jasperPrint.getPageWidth() / 72f, < MediaPrintableArea.INCH < ) < ); < else printRequestAttributeSet.add( new MediaPrintableArea( 0f, 0f, (float)jasperPrint.getPageWidth() / 72f, (float)jasperPrint.getPageHeight() / 72f, MediaPrintableArea.INCH ) ); } バージョン 0.6.2
30 名前:デフォルトの名無しさん mailto:sage [04/11/19 01:32:35.net] >>29 乙! デフォルトは縦になってるのか・・・。
31 名前:デフォルトの名無しさん [04/11/20 01:40:55.net] Linuxサーバで帳票作るとき、フォントは何指定するの? MS明朝?
32 名前:デフォルトの名無しさん [04/11/22 11:24:00.net]
33 名前:デフォルトの名無しさん [04/11/24 17:30:23.net] AcrobatReaderで開いてから印刷したものと JasperReportsを使って直接プリンタに印刷したものとでは 直接印刷したほうがちょっと拡大されてででくるよね。 それっておれだけ?
34 名前:デフォルトの名無しさん [04/11/27 23:11:01.net] 単純に縮小して印刷になってない?
35 名前:デフォルトの名無しさん [04/11/28 17:33:12.net] >>34 特に縮小拡大の指定はしていないんですが、 印刷するアプリケーションが違うので多少の誤差は あるとは思うけど・・・。 逆にチョット縮小させて出したいので縮小拡大の方法を ご存知でしたらご存知でしたら教えてー。
36 名前:33,35 [04/12/17 15:45:11.net] 縮小のやり方はJasperReportsを改造することで可能になったけど オレの勘違いでAcrobatReaderで印刷するときに縮小印刷に なっていた。(default?) JasperReportsで出た大きさが正解ってことでした。 >>34 そのことを言いたかったのか・・・
37 名前:デフォルトの名無しさん [05/01/28 15:37:28 .net] サブレポートってどうやって作るんですか?
38 名前:デフォルトの名無しさん mailto:sage [05/01/28 23:32:41 .net] >>37 ・レポートを作る ・そのレポートを別のレポートからsubreport要素を使って呼び出す ま、サンプルがあると思うから、それを見てみるこった。
39 名前:デフォルトの名無しさん [05/01/31 17:17:49 .net] >>38 アドバイスに従って、サンプル(jasperreports-0.6.4/demo/samples/subreport)をまねてみたのですが、 以下のようなエラーが出ました。 Error filling print... testdb $ testdb jdbc:mysql://localhost:3306/testdb dori.jasper.engine.JRException: Could not load object from location : subReport.jasper 省略 print not filled. Try to use an EmptyDataSourse...! 環境は iReport-0.2.2 を使用しています。 御教授お願いします。
40 名前:デフォルトの名無しさん [2005/03/30(水) 20:42:21 .net] >>39 2ヶ月も前のレスにレスするのも何だけど・・・ XMLファイル内のJavaコードの記述に誤りがあるのではないかと。 要はサブレポートのjasperファイル(クラスファイルみたいなもの)が コンパイルエラーで出来ていないということです。
41 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 22:55:21 .net] iReport-0.4.1 上では日本語を表示できていたが、 アプリでPDFとしてエクスポートする機能を 使用したときに日本語を表示できない。 ttp://www.moriwaki.net/wiki/index.php?JasperReports の「外部フォントを使用しない日本語表示」を参考に iTextAsian.jar追加し、レポートのフィールドのプロパティを 変更してから実行すると日本語が表示できた。 日本語PDFを扱うのに iTextAsian.jar って必要なの? iReport付属のライブラリだけではできないのかな? やり方がおかしいのかな?
42 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 14:29:16 .net] >>41 で、結局出来たのか出来ないのか、どっちなんだ!
43 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 21:15:09 .net] >>41 必要だと聞いている。
44 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 01:08:59 .net] 1000ページぐらいあるレポート作成できる?
45 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 06:40:14 .net] iReportで合計行を明細のすぐ下に出すにはどうしたらいいんですか? どうしても合計行だけが離れて紙の一番下にへばりついてしまうんですけど。 a 100 b 200 c 300 計 600
46 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 14:44:26 .net] >>45 レポート定義のXMLはどうなっているの?
47 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 14:48:22 .net] 補足。 例えば、jasperReport要素のisFloatColumnFooter属性にtrueを設定するといいかも。
48 名前:45 mailto:sage [2005/05/07(土) 17:09:13 .net] >>46 ,47 iReport上からは変えられないんですか? って見てみると、iReportのプロジェクトのオプションのところで Floating column footerにチェックを入れると一番下だったのが a,b,cから3行ぐらい開けた下あたりに表示されました。 フローティングしたいわけではなくて、a,b,cのすぐ下に出したいんですけど。 普通の帳票でよくある様に。
49 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 22:08:14 .net] >>48 すぐ下に出すのがフローティングだと思うのだが。 3行ぐらい空いているのは別の要因だと思うが。
50 名前:48 mailto:sage [2005/05/08(日) 09:55:05 .net] >>49 やっぱり分からない。 iReportで、detailのところでテキストフィールド1つおいて、detailの幅をそのテキストフィールドの高さにぴったりと合わせてます。 ボーダーつけて表示すると、データが5件あったら5つ箱が重なったみたいに表示されます。 ここまでは問題なし。 columnFooterもテキストフィールド1つおいて同様に、高さを上下の隙間無くぴったりと合わせてます。 すると5つの箱が重なったその下に2,3行分ぐらいの隙間をあけてぽつーんと1つ四角の箱が表示されます。 6つの重なった箱にしたいだけなのに、なんか設定が足りないんですかね。 設定する箇所もそんなにないんですけど。
51 名前:デフォルトの名無しさん [2005/05/10(火) 21:04:06 .net] 日本語を含むレポートをJRHtmlExporterでエクスポートしたけど 日本語が文字化けしてしまいます。 日本語を扱うための追加処理が必要なんでしょうか? ちなみに、JasperExportManager#exportReportToPdf を 使用したPDFへのエクスポートでは、正しく日本語が出ています。
52 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 21:36:32 .net] JSP で contentType の指定が抜けていました。。。 逝ってきます。
53 名前:デフォルトの名無しさん [2005/05/11(水) 11:51:09 .net] オレiTextAsian.jarツカッテナイ デモ、ニホンゴヒョウジデキタ Windowsノフォントシカツカッテナイカラ?
54 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 01:39:35 .net] >>53 iReport で、テキストフィールドの Font の設定のところの Report font、Font name、 PDF font name、TrueType font、 PDF Encoding は何を指定しているの?
55 名前:デフォルトの名無しさん [2005/05/12(木) 01:59:45 .net] ttp://www.aware.jp/pdf/jasper_jp.html で、JasperReportsでフォントを埋め込まない日本語PDFを 生成する方法はわかるんだけど、 フォントを埋め込んで日本語PDFを生成するにはどうすればいいの?
56 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 02:07:35 .net] iReport 0.4.1 ってメニューを日本語で表示でけたのね。。。。
57 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 20:30:52 .net] でもメニューだけって感じで中途半端だよね。
58 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 22:57:32 .net] iReport で SELECT * FROM TABLENAME WHERE KEY = :variable ようなバインド変数を使ったSQLを使用してレポート作ることができますか?
59 名前:デフォルトの名無しさん [2005/05/12(木) 23:18:34 .net] iReport でパラメータの追加/修正のところの Is for prompting ってなんなの? チェック入れてもはずしても効果がないんだけど。 てっきり、パラメータを入力するダイアログかなんかが 出てくると思ったんだけど。
60 名前:デフォルトの名無しさん [2005/05/12(木) 23:57:22 .net] iReport でレポートSQLクエリを複数入力したいんですけど、 無理ですか?
61 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 21:28:48 .net] 金額表示を3桁カンマ区切りで表示したいんだけど、 どうすればいいのかな?
62 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 21:57:44 .net] >>61 テキストフィールドのプロパティでパターンを指定する。
63 名前:デフォルトの名無しさん [2005/05/16(月) 10:31:37 .net] >>54 コンナカナジデス。 <reportFont name="STD_FONT" isDefault="false" fontName="MS ゴシック" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="C:\WINNT\FONTS\MSGothic.ttc,0" pdfEncoding="Identity-H" isPdfEmbedded="false"/>
64 名前:デフォルトの名無しさん [2005/05/16(月) 10:35:21 .net] >>58 できますよぉ〜。
65 名前:デフォルトの名無しさん [2005/05/16(月) 10:38:41 .net] >>60 無理じゃないかしら。 レイアウトが見えないのでなんともだけど JOINしてなんとか1クエリにまとめるか サブレポート化するなどすればなんとかなるかも
66 名前:デフォルトの名無しさん [2005/05/16(月) 13:30:11 .net] >>58 こんな感じだ <parameter name="MaxOrderID" class="java.lang.Integer"></parameter> <queryString><![CDATA[SELECT * FROM Orders WHERE OrderID <= $P{MaxOrderID} ORDER BY ShipCountry]]></queryString> くわしくはdemoのFirstJasperなんかをLOOK
67 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 20:16:06 .net] >>62 できました。パターンをいろいろ指定できるんですね。 パターンを指定するところでCurrencyという¥#,##0.00の パターンを選んだときにフォントを日本語にしないと 円マークってでないんですね。全角だから? 気付くのに時間がかかった。。。
68 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 20:52:27 .net] >>67 日本以外で円マークを使っている国はあるのか?
69 名前:デフォルトの名無しさん [2005/05/16(月) 21:18:32 .net] 円を取引していれば国に関係なく使うんじゃ?
70 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 21:29:29 .net] iReport で縦書きのフィールドを作成できるのでしょうか? 改行いれながら調整するしかないんでしょうか?
71 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 21:39:31 .net] iReport 0.4.1 でパワーポイントのテキストのように 「テキストにあわせて描画オブジェクトのサイズを調整する」 ようなことってできますか? ぽちぽちっと適度なサイズに変更したいんですけど。
72 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 22:04:09 .net] iReport で枠を書くのって、バンド毎に縦線を引かなきゃ いけないんでしょうか?次のようなレポートだと、縦線が 6本必要になりますよね?もっとうまいやり方があるんでしょうか? |氏名 |年齢| −−−−−−−−− |$F{name}|$F{age}|
73 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 23:32:48 .net] >>71 ワシも知りたい。 >>72 エリアごとに四角を配置してみるとか?
74 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 00:40:38 .net] >67, 69 円マークは使わないよ。 JPYとかが一般的じゃない? アメリカドルならUSDとか。
75 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 02:16:48 .net] iReport でバーコードを使えるみたいなんですけど、 これって実用レベルに達しているのでしょうか? それと、プロパティのBarcode expressionってStringで表現 しないとコンパイルが通らないです。でも、ダブルクオートで 表現したいコードを囲むと、iReport上のバーコードオブジェクトが Barcode Errorで表示されてしまう。う〜ん。
76 名前:デフォルトの名無しさん [2005/05/17(火) 02:23:36 .net] それと、バーコードの高さが半端なんだけど、 調整できないのかな?
77 名前:デフォルトの名無しさん [2005/05/17(火) 12:19:35 .net] >>70 1行だけなら縦長のフィールドを作成して 自動改行させればできるが、縦文字のフォント を使わないと長音(ー)とか括弧なんかは変になってしまうよ
78 名前:デフォルトの名無しさん [2005/05/17(火) 22:36:42 .net] >>65 複数クエリは無理なんですか。。。 メインで扱うデータを取得するSQLはレポートSQLクエリに、 それ以外のデータは、パラメータ化してレポートに渡すか、 サブレポートで、というのがお作法なんでしょうか。 レポートに複数SQLを埋め込めたほうが、SQLがまとまって いいような気もするけど。
79 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 22:57:57 .net] >>64 , >>66 できまつた。 それとJava 側からバインド変数へ値を渡すにはHashMapを使うんですね。 また、SQLの条件句自体をパラメータ渡ししたいときは$P!{hogehoge} ってのが使えるんだね。
80 名前:デフォルトの名無しさん [2005/05/17(火) 23:08:46 .net] >>78 作法というか おかれている環境、状況で工夫するしかないと思います。 複数SQLを埋め込める帳票ツールがあってそれを導入することが できるのならそれを用いればよいし。。。 メインのデータとそれ以外のデータに結合点があればJOINすればいいし そうでなければストアドなどで無理やり1つのResultSetを作り出せば いいんじゃないかと。
81 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:52:15 .net] iReport 0.4.1 のdocs/cap7.html を参考に, 7.3章のXML Datasource Syntax を試しているんだけど、 +、@、*のシンボルがエラーになる。 例えば、次のように設定してid属性値を取得しようとしても 一番下のようなエラーが出る。 ・XML Datasource Name: Hello XML file: C:\hello.xml Select Expression: /hello ・Fields Field Name, Field, Description Type hello, /hello, java.lang.String ○ このフィールドは表示可能 id, /hello@id, java.lang.String × エラーになる ・hello.xml の内容 <hello id="id">hello</hello> ・iReport 上でのエラーメッセージ Filling report... Error?filling?print... javax.xml.transform.TransformerException:?余分な不正トークン:?'@',?'id' (エラーメッセージって日本語で出力されてたから □□□になってたんですね。。。)
82 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 22:13:46 .net] >20 さんは XML Datasource を問題なく使えたのかなぁ。。。
83 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 08:45:53 .net] iReportで作ったXMLを PHPでPDF出力するようなソリューションってころがってないかにゃー。
84 名前:デフォルトの名無しさん [2005/05/25(水) 23:53:15 .net] >>83 お、それいただき!
85 名前:デフォルトの名無しさん mailto:age [2005/05/26(木) 20:32:39 .net] iReport 0.5.0 release!!
86 名前:デフォルトの名無しさん [2005/06/06(月) 21:39:06 .net] JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。 XMLからJasperReportインスタンス(空のレポートインスタンス?) を生成するところで、数秒かかってしまってます。 このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。 再利用は可能でしょうか? JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint インスタンスを作るって方法です。 要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか? APIやその他ドキュメントを見ても良く分かりませんでした。 宜しくお願いします。
87 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 00:10:19 .net] jrxml → jasper のコンパイルが遅いということを言っているなら、 コンパイル済みjasper ファイルを実行時に読み込んでバインド→PDF出力、ということを、 サンプルの JasperPrintServlet.java でやってる。
88 名前:86 [2005/06/07(火) 05:42:29 .net] >>87 サンクスです。 このjasperファイルってJasperReportインスタンスをシリアライズ したものなんですよね? ファイルの読み込みってシンクロナイズする必要ありましたっけ? StrutsのActionはスレッドを意識しないで組みたいなって思ってますので。 自分ももうちょい調べてみます。
89 名前:デフォルトの名無しさん [2005/06/07(火) 14:36:05 .net] >>88 Jasperはxml(jrxml)で定義したデザインファイルをJavaバイトコードに コンパイルしたものだったと記憶してますが、 なのでPDFを出力するたびにアプリケーションでjasperを作り出すのは どうかと思います。 わてはAntの段階でjasperにしてリリースしてまっせ。 そんためには、jrxml→jasperにするためのツールを JAVAで作ってAntで実行せにゃいかんね。
90 名前:デフォルトの名無しさん [2005/06/07(火) 22:57:35 .net] JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。 XMLからJasperReportインスタンス(空のレポートインスタンス?) を生成するところで、数秒かかってしまってます。 このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。 再利用は可能でしょうか? JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint インスタンスを作るって方法です。 要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか? APIやその他ドキュメントを見ても良く分かりませんでした。 宜しくお願いします。
91 名前:86 [2005/06/07(火) 23:17:22 .net] >>89 APIドキュメント見る限りではJasperReportのインスタンスっぽいですが? JasperCompileManager#compileReportToFile()を見てみてください。 どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む 必要があるってことなんですか? メモリ上に持ってきたインスタンスを使いまわせればいいんですがね〜
92 名前:デフォルトの名無しさん [2005/06/09(木) 10:11:56 .net] >>91 Jasperは最終的にはインスタンス化しますが、インスタンスにする前に インスタンスのクラスを作らなければなりませんよね。 クラスを作るにはレイアウト(jrxml)からコンパイルされるということです。 >どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む >必要があるってことなんですか? です。 jasperを読み込むのとjrxmlを読み込んでコンパイルするのとでは 前者のほうが明らかにパフォーマンスで勝るのは理解できると思います。
93 名前:デフォルトの名無しさん [2005/06/09(木) 10:26:50 .net] 92だけど補足 >メモリ上に持ってきたインスタンスを使いまわせればいいんですがね〜 使いまわすかどうかは考え方次第。 消費メモリを気にしないのであれば、常駐化すればいいし そうでなければ毎回Jasperファイルを読めばいいし、 というところでしょう。 少なくとも私の環境では毎回Jasperファイルを読んでも体感的には 変らないのでメンテナンスの楽な後者の方法を選択しました。
94 名前:86 [2005/06/11(土) 09:41:20 .net] >>92-93 サンクスです。 jrxmlからJasperReportのサブクラスを作ってインスタンスをって流れですかね? とりあえず、リクエスト毎にjasperファイルを読み込む方向で進めてみます。 さらに質問なんですが、jasperファイルを読み込むところは排他取らなくも 大丈夫ですか? もし必要になるなら並行度上げる小細工を考える必要あるなって思いまして。
95 名前:デフォルトの名無しさん [2005/06/13(月) 12:21:37 .net] 楽々なんてウソ!汗たらたらジャン!
96 名前:デフォルトの名無しさん mailto:age [2005/06/13(月) 12:22:22 .net] >>94 Youがどのようなタイミングでやるかは解らないけど、 jasper(JasperReport)をスタック上に展開すれば問題ないはず
97 名前:デフォルトの名無しさん [2005/06/13(月) 21:32:26 .net] JasperReport死亡かも Eclipse Foundation,レポーティング・ツール「BIRT 1.0」を発表 ttp://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20050608/162307/ だれか試して!
98 名前:デフォルトの名無しさん [2005/06/17(金) 06:52:47 .net] 最近人から聞いたやつけど、Jasperとはどう違うか知ってる人います? OpenFunXion for iText ttp://www2.nobworks.co.jp/nobworks/productsTop.html
99 名前:デフォルトの名無しさん [2005/07/27(水) 13:12:54 .net] 1.0.0 リリース記念age
100 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 13:13:59 .net] ついでに100get ひさびさに使ってみたが、少し使いやすくなっていたかも。