04/07/07 08:55.net
JAVAで帳票作成するとなると
それなりの帳票ツールがないとテンテコ舞。
でも、帳票ツールは高い。
せっかくJavaとかTomcatとか無料で開発・運用できる環境があるのに
帳票も作りも無料でやりたいもんだ。
そんな救世主JasperReportsについて朝まで語り合いましょう。
URLリンク(jasperreports.sourceforge.net)
デザインツールiReportやJasperAssistantがなければ
ラクラクにはなりませんのでその話題も・・・。
URLリンク(ireport.sourceforge.net)
URLリンク(www.jasperassistant.com)
1げっと。
2:デフォルトの名無しさん
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:デフォルトの名無しさん
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版。
URLリンク(216.239.57.104)
画像全滅か。。。
元リンクは、これ。今はつながらない。
URLリンク(www.nulab.co.jp)
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/09/30 22:44:44.net
>>20
fop
24:デフォルトの名無しさん
04/11/01 12:11:25.net
iReportの使い勝手ってどうよ?
位置合わせが難しいわ、
XMLにコメントとか細かい設定をしても、iReportで更新したらおじゃんになるわで、
結局XMLをEclipseプラグインのX-Menでシコシコ書いているわけですが・・・
おれだけ?
25:デフォルトの名無しさん
04/11/07 16:24:14.net
>>24
俺も俺も!
自動生成系の奴は元のコメント残してくれるだけでもありがたいんだけどなぁっていつも思う
26:デフォルトの名無しさん
04/11/17 13:38:52.net
A4横のPDFをservletから直接プリンタへ出力すると
縦で印刷されたかのように右側が切れて印刷されるんだけど
誰か教えて!!
PDFそのものはアップロードさせて見てみたけど問題ないのです。
27:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
05/03/30 20:42:21 .net
>>39
2ヶ月も前のレスにレスするのも何だけど・・・
XMLファイル内のJavaコードの記述に誤りがあるのではないかと。
要はサブレポートのjasperファイル(クラスファイルみたいなもの)が
コンパイルエラーで出来ていないということです。
41:デフォルトの名無しさん
05/04/27 22:55:21 .net
iReport-0.4.1 上では日本語を表示できていたが、
アプリでPDFとしてエクスポートする機能を
使用したときに日本語を表示できない。
URLリンク(www.moriwaki.net)
の「外部フォントを使用しない日本語表示」を参考に
iTextAsian.jar追加し、レポートのフィールドのプロパティを
変更してから実行すると日本語が表示できた。
日本語PDFを扱うのに iTextAsian.jar って必要なの?
iReport付属のライブラリだけではできないのかな?
やり方がおかしいのかな?
42:デフォルトの名無しさん
05/04/29 14:29:16 .net
>>41
で、結局出来たのか出来ないのか、どっちなんだ!
43:デフォルトの名無しさん
05/04/29 21:15:09 .net
>>41
必要だと聞いている。
44:デフォルトの名無しさん
05/05/07 01:08:59 .net
1000ページぐらいあるレポート作成できる?
45:デフォルトの名無しさん
05/05/07 06:40:14 .net
iReportで合計行を明細のすぐ下に出すにはどうしたらいいんですか?
どうしても合計行だけが離れて紙の一番下にへばりついてしまうんですけど。
a 100
b 200
c 300
計 600
46:デフォルトの名無しさん
05/05/07 14:44:26 .net
>>45
レポート定義のXMLはどうなっているの?
47:デフォルトの名無しさん
05/05/07 14:48:22 .net
補足。
例えば、jasperReport要素のisFloatColumnFooter属性にtrueを設定するといいかも。
48:45
05/05/07 17:09:13 .net
>>46,47
iReport上からは変えられないんですか?
って見てみると、iReportのプロジェクトのオプションのところで
Floating column footerにチェックを入れると一番下だったのが
a,b,cから3行ぐらい開けた下あたりに表示されました。
フローティングしたいわけではなくて、a,b,cのすぐ下に出したいんですけど。
普通の帳票でよくある様に。
49:デフォルトの名無しさん
05/05/07 22:08:14 .net
>>48
すぐ下に出すのがフローティングだと思うのだが。
3行ぐらい空いているのは別の要因だと思うが。
50:48
05/05/08 09:55:05 .net
>>49
やっぱり分からない。
iReportで、detailのところでテキストフィールド1つおいて、detailの幅をそのテキストフィールドの高さにぴったりと合わせてます。
ボーダーつけて表示すると、データが5件あったら5つ箱が重なったみたいに表示されます。
ここまでは問題なし。
columnFooterもテキストフィールド1つおいて同様に、高さを上下の隙間無くぴったりと合わせてます。
すると5つの箱が重なったその下に2,3行分ぐらいの隙間をあけてぽつーんと1つ四角の箱が表示されます。
6つの重なった箱にしたいだけなのに、なんか設定が足りないんですかね。
設定する箇所もそんなにないんですけど。
51:デフォルトの名無しさん
05/05/10 21:04:06 .net
日本語を含むレポートをJRHtmlExporterでエクスポートしたけど
日本語が文字化けしてしまいます。
日本語を扱うための追加処理が必要なんでしょうか?
ちなみに、JasperExportManager#exportReportToPdf を
使用したPDFへのエクスポートでは、正しく日本語が出ています。
52:デフォルトの名無しさん
05/05/10 21:36:32 .net
JSP で contentType の指定が抜けていました。。。
逝ってきます。
53:デフォルトの名無しさん
05/05/11 11:51:09 .net
オレiTextAsian.jarツカッテナイ
デモ、ニホンゴヒョウジデキタ
Windowsノフォントシカツカッテナイカラ?
54:デフォルトの名無しさん
05/05/12 01:39:35 .net
>>53
iReport で、テキストフィールドの Font の設定のところの
Report font、Font name、 PDF font name、TrueType font、
PDF Encoding は何を指定しているの?
55:デフォルトの名無しさん
05/05/12 01:59:45 .net
URLリンク(www.aware.jp)
で、JasperReportsでフォントを埋め込まない日本語PDFを
生成する方法はわかるんだけど、
フォントを埋め込んで日本語PDFを生成するにはどうすればいいの?
56:デフォルトの名無しさん
05/05/12 02:07:35 .net
iReport 0.4.1 ってメニューを日本語で表示でけたのね。。。。
57:デフォルトの名無しさん
05/05/12 20:30:52 .net
でもメニューだけって感じで中途半端だよね。
58:デフォルトの名無しさん
05/05/12 22:57:32 .net
iReport で
SELECT * FROM TABLENAME WHERE KEY = :variable
ようなバインド変数を使ったSQLを使用してレポート作ることができますか?
59:デフォルトの名無しさん
05/05/12 23:18:34 .net
iReport でパラメータの追加/修正のところの
Is for prompting ってなんなの?
チェック入れてもはずしても効果がないんだけど。
てっきり、パラメータを入力するダイアログかなんかが
出てくると思ったんだけど。
60:デフォルトの名無しさん
05/05/12 23:57:22 .net
iReport でレポートSQLクエリを複数入力したいんですけど、
無理ですか?
61:デフォルトの名無しさん
05/05/13 21:28:48 .net
金額表示を3桁カンマ区切りで表示したいんだけど、
どうすればいいのかな?
62:デフォルトの名無しさん
05/05/13 21:57:44 .net
>>61
テキストフィールドのプロパティでパターンを指定する。
63:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/16 10:35:21 .net
>>58
できますよぉ~。
65:デフォルトの名無しさん
05/05/16 10:38:41 .net
>>60
無理じゃないかしら。
レイアウトが見えないのでなんともだけど
JOINしてなんとか1クエリにまとめるか
サブレポート化するなどすればなんとかなるかも
66:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/16 20:16:06 .net
>>62
できました。パターンをいろいろ指定できるんですね。
パターンを指定するところでCurrencyという¥#,##0.00の
パターンを選んだときにフォントを日本語にしないと
円マークってでないんですね。全角だから?
気付くのに時間がかかった。。。
68:デフォルトの名無しさん
05/05/16 20:52:27 .net
>>67
日本以外で円マークを使っている国はあるのか?
69:デフォルトの名無しさん
05/05/16 21:18:32 .net
円を取引していれば国に関係なく使うんじゃ?
70:デフォルトの名無しさん
05/05/16 21:29:29 .net
iReport で縦書きのフィールドを作成できるのでしょうか?
改行いれながら調整するしかないんでしょうか?
71:デフォルトの名無しさん
05/05/16 21:39:31 .net
iReport 0.4.1 でパワーポイントのテキストのように
「テキストにあわせて描画オブジェクトのサイズを調整する」
ようなことってできますか?
ぽちぽちっと適度なサイズに変更したいんですけど。
72:デフォルトの名無しさん
05/05/16 22:04:09 .net
iReport で枠を書くのって、バンド毎に縦線を引かなきゃ
いけないんでしょうか?次のようなレポートだと、縦線が
6本必要になりますよね?もっとうまいやり方があるんでしょうか?
|氏名 |年齢|
---------
|$F{name}|$F{age}|
73:デフォルトの名無しさん
05/05/16 23:32:48 .net
>>71
ワシも知りたい。
>>72
エリアごとに四角を配置してみるとか?
74:デフォルトの名無しさん
05/05/17 00:40:38 .net
>67, 69
円マークは使わないよ。
JPYとかが一般的じゃない?
アメリカドルならUSDとか。
75:デフォルトの名無しさん
05/05/17 02:16:48 .net
iReport でバーコードを使えるみたいなんですけど、
これって実用レベルに達しているのでしょうか?
それと、プロパティのBarcode expressionってStringで表現
しないとコンパイルが通らないです。でも、ダブルクオートで
表現したいコードを囲むと、iReport上のバーコードオブジェクトが
Barcode Errorで表示されてしまう。う~ん。
76:デフォルトの名無しさん
05/05/17 02:23:36 .net
それと、バーコードの高さが半端なんだけど、
調整できないのかな?
77:デフォルトの名無しさん
05/05/17 12:19:35 .net
>>70
1行だけなら縦長のフィールドを作成して
自動改行させればできるが、縦文字のフォント
を使わないと長音(ー)とか括弧なんかは変になってしまうよ
78:デフォルトの名無しさん
05/05/17 22:36:42 .net
>>65
複数クエリは無理なんですか。。。
メインで扱うデータを取得するSQLはレポートSQLクエリに、
それ以外のデータは、パラメータ化してレポートに渡すか、
サブレポートで、というのがお作法なんでしょうか。
レポートに複数SQLを埋め込めたほうが、SQLがまとまって
いいような気もするけど。
79:デフォルトの名無しさん
05/05/17 22:57:57 .net
>>64, >>66
できまつた。
それとJava 側からバインド変数へ値を渡すにはHashMapを使うんですね。
また、SQLの条件句自体をパラメータ渡ししたいときは$P!{hogehoge}
ってのが使えるんだね。
80:デフォルトの名無しさん
05/05/17 23:08:46 .net
>>78
作法というか
おかれている環境、状況で工夫するしかないと思います。
複数SQLを埋め込める帳票ツールがあってそれを導入することが
できるのならそれを用いればよいし。。。
メインのデータとそれ以外のデータに結合点があればJOINすればいいし
そうでなければストアドなどで無理やり1つのResultSetを作り出せば
いいんじゃないかと。
81:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/21 22:13:46 .net
>20 さんは XML Datasource を問題なく使えたのかなぁ。。。
83:デフォルトの名無しさん
05/05/24 08:45:53 .net
iReportで作ったXMLを
PHPでPDF出力するようなソリューションってころがってないかにゃー。
84:デフォルトの名無しさん
05/05/25 23:53:15 .net
>>83
お、それいただき!
85:デフォルトの名無しさん
05/05/26 20:32:39 .net
iReport 0.5.0 release!!
86:デフォルトの名無しさん
05/06/06 21:39:06 .net
JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。
XMLからJasperReportインスタンス(空のレポートインスタンス?)
を生成するところで、数秒かかってしまってます。
このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。
再利用は可能でしょうか?
JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint
インスタンスを作るって方法です。
要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか?
APIやその他ドキュメントを見ても良く分かりませんでした。
宜しくお願いします。
87:デフォルトの名無しさん
05/06/07 00:10:19 .net
jrxml → jasper のコンパイルが遅いということを言っているなら、
コンパイル済みjasper ファイルを実行時に読み込んでバインド→PDF出力、ということを、
サンプルの JasperPrintServlet.java でやってる。
88:86
05/06/07 05:42:29 .net
>>87
サンクスです。
このjasperファイルってJasperReportインスタンスをシリアライズ
したものなんですよね?
ファイルの読み込みってシンクロナイズする必要ありましたっけ?
StrutsのActionはスレッドを意識しないで組みたいなって思ってますので。
自分ももうちょい調べてみます。
89:デフォルトの名無しさん
05/06/07 14:36:05 .net
>>88
Jasperはxml(jrxml)で定義したデザインファイルをJavaバイトコードに
コンパイルしたものだったと記憶してますが、
なのでPDFを出力するたびにアプリケーションでjasperを作り出すのは
どうかと思います。
わてはAntの段階でjasperにしてリリースしてまっせ。
そんためには、jrxml→jasperにするためのツールを
JAVAで作ってAntで実行せにゃいかんね。
90:デフォルトの名無しさん
05/06/07 22:57:35 .net
JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。
XMLからJasperReportインスタンス(空のレポートインスタンス?)
を生成するところで、数秒かかってしまってます。
このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。
再利用は可能でしょうか?
JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint
インスタンスを作るって方法です。
要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか?
APIやその他ドキュメントを見ても良く分かりませんでした。
宜しくお願いします。
91:86
05/06/07 23:17:22 .net
>>89
APIドキュメント見る限りではJasperReportのインスタンスっぽいですが?
JasperCompileManager#compileReportToFile()を見てみてください。
どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む
必要があるってことなんですか?
メモリ上に持ってきたインスタンスを使いまわせればいいんですがね~
92:デフォルトの名無しさん
05/06/09 10:11:56 .net
>>91
Jasperは最終的にはインスタンス化しますが、インスタンスにする前に
インスタンスのクラスを作らなければなりませんよね。
クラスを作るにはレイアウト(jrxml)からコンパイルされるということです。
>どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む
>必要があるってことなんですか?
です。
jasperを読み込むのとjrxmlを読み込んでコンパイルするのとでは
前者のほうが明らかにパフォーマンスで勝るのは理解できると思います。
93:デフォルトの名無しさん
05/06/09 10:26:50 .net
92だけど補足
>メモリ上に持ってきたインスタンスを使いまわせればいいんですがね~
使いまわすかどうかは考え方次第。
消費メモリを気にしないのであれば、常駐化すればいいし
そうでなければ毎回Jasperファイルを読めばいいし、
というところでしょう。
少なくとも私の環境では毎回Jasperファイルを読んでも体感的には
変らないのでメンテナンスの楽な後者の方法を選択しました。
94:86
05/06/11 09:41:20 .net
>>92-93
サンクスです。
jrxmlからJasperReportのサブクラスを作ってインスタンスをって流れですかね?
とりあえず、リクエスト毎にjasperファイルを読み込む方向で進めてみます。
さらに質問なんですが、jasperファイルを読み込むところは排他取らなくも
大丈夫ですか?
もし必要になるなら並行度上げる小細工を考える必要あるなって思いまして。
95:デフォルトの名無しさん
05/06/13 12:21:37 .net
楽々なんてウソ!汗たらたらジャン!
96:デフォルトの名無しさん
05/06/13 12:22:22 .net
>>94
Youがどのようなタイミングでやるかは解らないけど、
jasper(JasperReport)をスタック上に展開すれば問題ないはず
97:デフォルトの名無しさん
05/06/13 21:32:26 .net
JasperReport死亡かも
Eclipse Foundation,レポーティング・ツール「BIRT 1.0」を発表
URLリンク(itpro.nikkeibp.co.jp)
だれか試して!
98:デフォルトの名無しさん
05/06/17 06:52:47 .net
最近人から聞いたやつけど、Jasperとはどう違うか知ってる人います?
OpenFunXion for iText
URLリンク(www2.nobworks.co.jp)
99:デフォルトの名無しさん
05/07/27 13:12:54 .net
1.0.0 リリース記念age
100:デフォルトの名無しさん
05/07/27 13:13:59 .net
ついでに100get
ひさびさに使ってみたが、少し使いやすくなっていたかも。
101:デフォルトの名無しさん
05/09/09 12:03:44 .net
>>76
バーコードの高さ調整、オレも知りたい。
102:デフォルトの名無しさん
05/09/09 12:07:08 .net
CODE39高さ低すぎないか?
103:デフォルトの名無しさん
05/09/13 13:04:02 .net
BarbecueRenderer を修正して
指定された描画位置よりも若干上からレンダリングするようにすれば
見かけ上高さが調整されたようになる。対処療法的だけど。
104:デフォルトの名無しさん
05/09/15 18:34:20 .net
サンクスです。やってみます。
105:デフォルトの名無しさん
05/09/15 18:43:39 .net
iReport0.5.1でCODE39指定してみた。確かに高さは少し低い。試しにリーダで読んだら半角英数文字が全角英数文字で表示された。(?_?)
106:デフォルトの名無しさん
05/09/15 20:38:35 .net
1次元バーコードって太いバーと細いバーの幅の比率が
一定割合に収まってさえいれば
高かろうが低かろうが、単位幅がどれだけであろうが
全然かまわないという認識で合ってる?
(リーダーの性能とかは度外視して。)
107:デフォルトの名無しさん
05/09/15 23:12:10 .net
合っている。とおもう。
108:デフォルトの名無しさん
05/09/21 14:46:34 .net
現在JasperReport+iReportで帳票を作成してるのですが、
改ページの設定の仕方がわかりません。
例えばIDという項目があって
ID=1が15件
ID=2が5件
とあった場合
1ページに10件表示可能として、
2ページ目の5件まで表示したらID2は3ページ目に表示するという感じにしたいと思っています
これにはどうのような設定をしたらいいかわかる方いましたらご教授お願い致します。
109:デフォルトの名無しさん
05/09/22 09:03:40 .net
subreport 使うとうまく行くんじゃないでしょうか。
example 下に例題プロジェクトがあるから
それ試してみたらどうでしょう?
110:デフォルトの名無しさん
05/09/22 11:03:15 .net
>>108
group でできる。isStartNewPage を true にすればOK。
URLリンク(jasperreports.sourceforge.net)
111:108
05/09/22 17:21:53 .net
>>110
groupを使用して作成することができました。
ありがとうございました。
>>109
ご質問なのですが、exampleの下とはどこを指しているのでしょうか?
私の使ってるiReportのフォルダ内にはありませんでした
iReportは日本語の資料が少なくて結構大変ですね・・・
112:デフォルトの名無しさん
05/09/22 23:33:05 .net
JasperReportsのdemo/samplesのことじゃないかねえ。
113:デフォルトの名無しさん
05/09/23 23:11:35 .net
samples の下ですた。ごめんなさい。。
114:デフォルトの名無しさん
05/09/24 02:18:15 .net
>>106
ちゃんとしたリーダなら、
資料読んでフリーハンドで適当に書いたのでも
ある程度読めるからな。
115:108.111
05/09/26 10:22:16 .net
>>113
ありました。ありがとうございました。
参考にさせて頂きます。
116:デフォルトの名無しさん
05/09/26 21:27:18 .net
ところで下層の iText に Barcode クラスあるのに
JasperReports では直接サポートせずに
Barbecue で云々しちゃってるのは何でだろう?
117:デフォルトの名無しさん
05/09/29 16:01:50 .net
PDFを出力する際に、5枚分のデータを送ると6枚目に白紙がでてしまうのですが
これを出さないようにするにはどこを設定したらよろしいのでしょうか?
whenNoDataType="NoPages"
辺りだと思うのですが、うまくいかないので、
わかる方おられましたら、ご教授お願い致します。
118:デフォルトの名無しさん
05/09/30 16:28:37 .net
detail band の一番下の要素のマージンはどうなってます?
-------------------
$hoge
ここら辺に余白
-------------------
こんな感じになってると、$hoge がないにも関わらず
余白を出力するために、白紙がザックリ出力されますよ。
一応確認してみはいかがでしょう?
119:デフォルトの名無しさん
05/10/03 18:15:58 .net
すみません。iText.NETの質問はここでいいでしょうか?
120:デフォルトの名無しさん
05/10/03 21:12:46 .net
おそらくスレ違いだと思われますが
適切なスレもないようだし
聞くだけ聞いてもいいんじゃないでしょうか。
あるいはPDF変換関連のスレを立てたら
需要があるかどうかをくだ質あたりで探りを入れてみるとか。
121:117
05/10/05 11:41:53 .net
>>118
返答ありがとうございます
1つずつ要素を調べていったところ
意味のない要素が操作ミスか何かでほかの要素と重なってたのが原因で
白紙が出てたようです。
たぶん気づかない間にペーストとかやってたのかな・・・
122:デフォルトの名無しさん
05/11/01 20:12:46 .net
JasperReportsって、SourceForgeのTop 25 Projectsに入っているのだが、
これってJava系のプロジェクトとしては実はすごいことだよなあ・・・。
123:デフォルトの名無しさん
05/11/20 21:45:05 .net
目に付くようにから揚げ。
124:デフォルトの名無しさん
05/11/29 22:19:14 .net
保守をかねて
公式サイトのFAQより
Q. DETAIL バンドの高さがページの高さを超えると、意図どおりに表示されない件について
A. DETAIL バンドの仕様で、高さチェックをしててどうしてもそうなる。
回避する方法は以下のとおり。
1. 複数のグループを作成し、DETAILバンドの中身を適宜そちらへ振り分ける。
2. 1.で作成したグループ全てに対して
<groupExpression>$V{REPORT_COUNT}</groupExpression>
を指定する。
3. 以上により1.で作成したグループが一つのカラムのように振るまう。
4. GROUPに対しては高さチェックは働かないため、上記の問題が消える。
ついさっきまでハマってた。しかも二ヶ月前に通った道だった。
125:デフォルトの名無しさん
05/11/29 22:21:01 .net
カラムというよりはロウか。
126:デフォルトの名無しさん
05/11/30 23:40:08 .net
>>125
だねえ。前から違和感を覚えてた。
127:デフォルトの名無しさん
05/12/02 03:07:45 .net
>>122の続報だが、今日来たSourceForgeニューズレターによると、
11位になっていた。
128:デフォルトの名無しさん
05/12/06 20:34:23 .net
detail部分は動的にレコード出力できますが、
空白行を出力することはできないですか?
例えば5行出力したいとして、2行分の動的データが
存在する場合、残りの3行は空白レコード表示とか・・・
129:デフォルトの名無しさん
05/12/07 00:40:39 .net
>>128
いまいちよくわからないんだけど、次のうちのどれ?
(1) 各ページに5行出力したいが、2行の場合も残りを空白にしたい
(2) 各ページで2行出力して3行あけたい
(3) その他
130:128
05/12/07 01:20:15 .net
>>129
(1) です。
131:デフォルトの名無しさん
05/12/07 21:33:53 .net
>>130
普通空白にならんの?
jasperReports要素のisFloatColumnFooter属性がtrueになっているとか?
132:128
05/12/08 02:04:19 .net
>>131
空白というよりも空白行(空行?)にしたいんですよね
線は出つつも中の各項目は空という状態です。
下のようなイメージ
┌------------------┐
|No |商品 |金額 |
├--┼---------┼-----┤
| 1 |ああああ | 100|
├--┼---------┼-----┤
| 2 |いいいい | 200|
├--┼---------┼-----┤
| | | |
├--┼---------┼-----┤
| | | |
├--┼---------┼-----┤
| | | |
├--┴---------┼-----┤
| 合計| 300|
└------------┴-----┘
133:デフォルトの名無しさん
05/12/08 13:51:32 .net
空白分の行をつくったらえぇ。
それ以外のやり方があったらボクにも教えて。
134:デフォルトの名無しさん
05/12/09 01:06:24 .net
>>132
うわっ・・・そういうことかい。
難儀なことを言うなあw
最初から、線を引いておけばいいんじゃないの?
135:デフォルトの名無しさん
05/12/09 12:28:12 .net
策1: 空白データを作成する
DataSource 作成する時に、5の剰余分だけ
コレクションに空の Bean を追加する。
「空データも表示する」という業務要求だと思えば自然な処理。
策2: 罫線は Background Band で記述する
用紙に手入力するイメージに近くなる気がする。
策2はデザインが面倒なので
(高さや幅変えたくなった時に編集箇所が分散してる)
策1をお勧めするけど。
136:128
05/12/09 14:35:43 .net
>>135
やっぱり策1の方法になっちゃいますか。
最初にその方法を考えたけど、もしかすると設定で
実現出来るのかなぁと思ったんで・・・
策1でやってみます。
137:デフォルトの名無しさん
05/12/09 21:03:03 .net
ActiveReportのJava版?
138:デフォルトの名無しさん
05/12/23 15:11:15 .net
SVFをいじってると頭がイライラ。
JasperReportsに戻りたいです。
139:デフォルトの名無しさん
06/01/30 23:21:32 .net
subreportってデータの量が多いとdetailの大きさに合わせて伸びてしまいますよね?
これを回避するためにsubreportのサイズを固定にすることってできますでしょうか?
140:デフォルトの名無しさん
06/01/31 15:06:41 .net
>139
今ひとつ状況が分からず。
p1
| 他
| サブレポ
| サブレポ
| 他
p2
| 他
| サブレポ
| サブレポ
| 他
となって欲しいのに
p1
| 他
| サブレポ
| サブレポ
| サブレポ
p2
| サブレポ
| サブレポ
| 他
となることを言ってる?
141:139
06/02/01 00:28:36 .net
----------------- detail
|他1
|サブレポ1
|他2
|サブレポ2
-----------------
のようになって欲しいのですが
サブレポ1のデータの量が多いと
----------------- detail
|他
|サブレポ1
|サブレポ1
|サブレポ1
-----------------
のようになってしまって
他2とサブレポ2がサブレポ1の下に隠れてしまいます。
142:デフォルトの名無しさん
06/02/07 12:39:00 .net
聞き返したくせに放置しててすまそ。
1. 他1グループ、サブレポ1グループ、他2グループ、サブレポ2グループを作成する。
2. 他1グループの Header バンドに他1を貼り付ける。サブレポ1グループの Header バンドに(以下略)
3. Detail バンドは使用しない。
でやってみてはどうでしょうか。
詳しくは >>124 や ↓を参照。
URLリンク(jasperreports.sourceforge.net)
143:デフォルトの名無しさん
06/02/09 13:29:34 .net
以下のようなデ-タがDBに存在した場合に
動的にセルを結合して表示する方法を
知っている人いませんか?
●DB
--------------------------
| 販売NO | 商品名 | 価格 |
|-------------------------
| 000001 | XPC | 500|
|-------------------------
| 000002 | XPC | 600|
--------------------------
↓
●帳票
--------------------------
| 販売NO | 商品名 | 価格 |
|-------------------------
| 000001 | | 500|
|--------- XPC --------
| 000002 | | 600|
--------------------------
条件としては
・重複しているセルを結合する。
・重複行数は可変で2行とはかぎらない。
・中央揃えで表示したい。
jasperreportで無理でしょうか?
144:デフォルトの名無しさん
06/02/15 12:06:24 .net
>143
恐らく無理。
データの持ち方を相当工夫したら結合は可能だろうけど
(上セル、下セルの値を持たせて、枠線あり・なしのセルを条件により描画する)
それにしても中央揃えとかまでは無理だと思う。
145:デフォルトの名無しさん
06/03/15 09:53:25 .net
iReportの最新バージョン(1.2.0)使っている人いますか?
ダウンロードしてみたのですがメニューがすべて□□□で読ませんでした。
見当つけてツールのオプションを選択しプロパティのLANGAGEを一番下が
英語だろうと見当をつけて選択したら、メニューは英語で表示されたのですが、
まだプロバティ内には□文字が残ります。0.5.1でLANGAGE日本語で使用していた
ので日本語にしたいところなのですが、対処方法をご存知の方がいましたら
教えて下さい。
146:デフォルトの名無しさん
06/03/15 11:15:13 .net
>>145
あきらめて私は1.10を使っています。
すいません、質問です。
Webアプリの帳票作成のため、
JasperReports+iReportの調査中なんですが、
これってJava側からListに入っている文字列なんかを
だらだらと表にするときってどうするんでしょうか?
BIRTも調べているんですが、同じ問題で詰まってしまって・・・。
147:デフォルトの名無しさん
06/03/15 12:36:29 .net
JasperReportsは最近いじってないけど、
JRDataSourceを自分で実装すれば、
どんなデータでもだいたい対応できたよ。
で、その自分JRDataSourceの実装を
iReportのどっかで指定してやればよかったと思う。
今のJasperReportsだとJRDataSourceの実装が
いくつかすでに用意されてるようですね。
そのListの中身がMapの場合は、
JRMapCollectionDataSourceなんてのが使えそうな。
148:デフォルトの名無しさん
06/03/15 13:22:34 .net
>>146
Javaからの受け渡しはMapになりますのでデータソースを
利用するしかないと思います。Listの中のデータがデータ
ベースから書き出したものなら、iReportでデータソース
を定義してSQL SELECT文を書けば良いのですが、そうでない
場合はそうできるような工夫が必要だと思います。
149:デフォルトの名無しさん
06/03/15 13:49:26 .net
>>147>>148
なるほど。
一応その方法も、最初思いついたんですが、
大変そうな気がしたので、楽なメソッドとか無いかと思ったんですが。
JRDataSoursを自分で実装する方向でやってみます。
150:デフォルトの名無しさん
06/03/15 16:25:24 .net
>>149
Listの中身がBeanならJRBeanCollectionDataSourceが使えるけどなあ・・・。
Beanを用意しないといかんし、Beanにコピーしなければならないのがめんどくさいけど。
151:148
06/03/15 18:36:56 .net
>>150
JRBeanCollectionDataSourceの中身はArrayListみたいだから、
いけるかなぁ?とか思ったんですが、jxmlのコンパイルでこけているので、
それ以前の問題のようで・・・。
サンプルもそのままだとだめだし、英文でいいので資料ないですかね?
152:デフォルトの名無しさん
06/03/15 18:37:41 .net
>>151
失礼146でした
153:デフォルトの名無しさん
06/03/15 21:09:35 .net
>>151
JavaBeanのCollectionでなければJRBeanCollectionDataSourceは
使えないと思います。
資料は本家サイトにいくつかあります。
あと、サンプルって、ソースコードも含んだZIPファイル(jasperreports-1.2.0-project.zipかな?)
をダウンロードして展開した中にあるやつ?
154:デフォルトの名無しさん
06/03/15 21:55:24 .net
151です。
>>153
しまった、それではないですね。
今日は退社してしまったので、明日試して見ます。
ありがとうございました。
155:デフォルトの名無しさん
06/03/16 14:23:40 .net
151です。
サンプルを参考に、
JRDataSourceをインプリメントした独自クラスを作って放り込んだら、
うまくいきました。
ありがとうございました。
156:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 19:57:59 .net
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
157:デフォルトの名無しさん
06/03/23 16:00:34 .net
すいません、JasperReportsで1/4Pointの線を引くには
どうしたらよいのでしょうか?
もしかして㍉?
158:デフォルトの名無しさん
06/03/24 01:24:18 .net
無理じゃなかろうか。
俺は thin で OK が出たから良かったものの
任意の数値が入れられるようにならんかな。
CSS 並の表現力とまでは言わずとも。
159:157
06/03/24 14:26:19 .net
>>158
やはりそうですか、
無理そうなので、ソースいじって、最細の線を引けるようにして解決しました。
任意で設定できればいいのに・・・。
160:デフォルトの名無しさん
06/03/25 00:18:24 .net
>>159
パッチを本家に投げるんだ!
161:デフォルトの名無しさん
06/03/25 01:40:10 .net
Open Discussion フォーラムで提議してみてはどうか。
拙い(俺だけ?)英語で盛り上げようぜ。
162:デフォルトの名無しさん
06/03/26 12:25:27 .net
>>161
お前だけじゃないので心配するなw
163:デフォルトの名無しさん
06/03/27 16:32:00 .net
Java でレポート作るなら JasperReports が一番?
164:デフォルトの名無しさん
06/03/28 00:13:19 .net
用途によりけりだろうが JasperReports が最適、
JasperReports で十分、JasperReports で妥協できる、
な範囲はそれなりに広いと感じる。
157氏みたいにスキルが許せば、足りない部分を付け足すことも出来るし。
試してみる価値はあるよ。オープンソースだから
気に食わなければ使わなければいい。
時間は戻ってこないが、金はかからん。
165:デフォルトの名無しさん
06/03/28 15:36:18 .net
>>164
ありがと
166:デフォルトの名無しさん
06/04/25 07:08:15 .net
JRDataSourceをimplementsして値をレポートに渡すのは
わかったけどさらにサブレポートに値を渡すという方法がわかりません
それぞれの方法はわかるんだけど・・・
同時、というのは無理?
167:デフォルトの名無しさん
06/04/25 17:41:49 .net
どこで詰まってるのか今ひとつ分からないので
もっと詳しく聞かせてもらえないだろうか。
168:デフォルトの名無しさん
06/04/26 20:52:30 .net
> 167
レスありがとうです
なかなか伝えにくいんですが
1. JRDataSourceを使用した連続帳票(自動改ページ) --> 成功
2. 1. のレポートにサブレポートを追加 --> うまくできない
2. でサブレポートを追加したんだけど
Javaクラスからどうやってデータを渡したら良いかわからないのです
JRDataSourceにはサブレポートを渡せるような実装は
できないし・・・
ただサブレポートのみ、であれば
JRBeanCollectionDataSource
を使えばうまく出力できました
これを同時にできないか、というところです
たとえば
fillReportxxxxx
を2回続けて発行できれば、なんて思うけど
fillReportxxxxx(); ---> 明細マップのフィル
fillReportxxxxx(); ---> サブレポートへのフィル
あら、もしかしてこれって可能なのかな???
伝え方が悪くてすみません
169:デフォルトの名無しさん
06/04/26 22:56:45 .net
>>168
以前、JRDataSourceからサブレポート用のデータソースを返すようにしてうまくいった。
かなり前のバージョンのJasperRepoortsでの話だけど、
今手元にあるソースコードではだいたい以下のようになってます。
public class RootJRDataSource implements JRDataSource {
public Object getFieldValue(JRField jrField) {
String name = jrField.getName();
// some code
if (name.equals("subReport")) {
SubData subData = ...
return new SubJRDataSource(subData);
}
// some code
}
}
jrxmlの方はもうよく覚えてないので、適当に試してみて。
170:デフォルトの名無しさん
06/04/27 06:12:00 .net
> 169
ありがとうございます、すごく助かります
確認してまた報告します
171:デフォルトの名無しさん
06/04/27 13:23:28 .net
>168
親レポートオブジェクトが子レポートオブジェクトのリストを持つような構造を定義して、
それを親の JRDataSource が返すようにする。
ではダメですか?
172:デフォルトの名無しさん
06/05/20 14:23:46 .net
すいません。JasperAssistantってライセンス購入必要でしょうか。
173:デフォルトの名無しさん
06/05/20 15:24:59 .net
Crosstabの列名を可変にしたいとおもっています。
列名にJavaでセットする予定のパラメータを割り当てて帳票を出力してみたところ
1列目だけ値が置換されて2列目以降にパラメータ名がそのままでてしまいました。
どのようにすればよいか教えていただけないでしょうか。
174:デフォルトの名無しさん
06/05/23 09:21:12 .net
連続帳票をひとしきり出力した最後のページに
別レイアウトのページを1ページ追加するような
pdfを作成することはできますでしょうか?
175:デフォルトの名無しさん
06/05/23 09:58:11 .net
JavaDocを調べてみたら
2つのJasperReportを作成して
JasperReport1.addPage((JRPrintPage)JasperReport2.getPages().get(0))
で出来るかな?
とメモしてみました。
176:デフォルトの名無しさん
06/05/23 10:07:04 .net
まだ正式に要望があった訳ではないので試してませんが・・・
訂正:JasperPrint1.addPage((JRPrintPage)JasperPrint2.getPages().get(0))
177:デフォルトの名無しさん
06/05/24 19:43:54 .net
>>174
一番てっとり早いのは、<summary>タグじゃないか?
178:デフォルトの名無しさん
06/05/27 10:46:27 .net
jrxmlファイルを、Linux上でAntを実行してjasperファイルにコンパイルしようとすると
以下のようなエラーになります。
java.lang.UnsatisfiedLinkError: /usr/lib/j2sdk1.4-sun/jre/lib/i386/libawt.so:
libXp.so.6: cannot open shared object file: No such file or directory
同じビルドファイルで、Windows上では正常にコンパイルできます。
antの設定等で、これを回避することは可能でしょうか?
179:デフォルトの名無しさん
06/05/28 15:04:00 .net
>>178
ちょっとぐぐってみましたが、AntとかJasperReportsとは関係なさそうですね。
ひょっとしたら役に立つかも・・・。
URLリンク(bbs.fedora.jp)
180:178
06/06/04 00:38:49 .net
>>179
遅レスすみません。
XWindow関連かと思い、それならAntの設定で回避できるのではと
考えていたんですが、やっぱりlibXp.so.6を入れないと無理ですかね。
jdk1.5では出ないという話もどこかで見かけた気がするんですが
それもまた影響範囲が大きい……。
入れる方向で検討します、ありがとうございました。
181:デフォルトの名無しさん
06/06/05 12:11:58 .net
JVM の起動パラメータを操作可能なら、
-Djava.awt.headless=trueを指定してはどうでしょうか。
ネイティブなAWT実装を使用しなくなるため、
libawt.so に依存しなくなる、と期待したい。
詳しくはググってくれ。
182:デフォルトの名無しさん
06/06/28 14:56:47 .net
現在java+iReport+JasperReportで帳票を作成しております
普通の帳票は問題なく作成できましたが
次のような行可変のテーブルが2つある場合の
帳票の作り方が解らず困っております
よろしくお願いします
[作成予定]
算数
--------------------------
| No | 名前 | 点数 |
|-------------------------
| 01 | あああ | 100 |
|-------------------------
| 02 | いいい | 80 |
--------------------------
国語
--------------------------
| No | 名前 | 点数 |
|-------------------------
| 01 | あああ | 100 |
|-------------------------
| 02 | いいい | 80 |
|-------------------------
| 03 | ううう | 70 |
--------------------------
固定文字列のしたに可変行のテーブルを表示したいと思っています
この場合どのようなグループの設定をすればよろしいのでしょうか?
またJAVA側からどんなCollectionを送ればよろしいのでしょうか?
よろしくお願いします。
183:デフォルトの名無しさん
06/06/28 21:23:49 .net
科目ごとのグループにすればいいんじゃない?
グループごとに票を分けるのはサンプルをごらんあれ
184:デフォルトの名無しさん
06/06/29 16:04:52 .net
一つの科目に限れば普通の帳票になるので、
それを Subreport とした帳票を作ってはどうか。
/demo/samples/subreport とか参考にして。
AddressReport.jrxml ← 全科目帳票
ProductReport.jrxml ← 科目別サブレポート
にそれぞれ対応すると思えばいい。
185:182
06/06/29 18:29:43 .net
>>183,184
ご意見ありがとうございます、やってみます。
186:デフォルトの名無しさん
06/07/04 21:12:26 .net
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
i-want-to-study-java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
187:デフォルトの名無しさん
06/07/12 00:45:35 .net
明細が2列のレポートを作成した場合、最終ページが2列目で終了すると
空白ページが差し込まれるという現象が発生するんですが何か対策はないでしょうか?
サブレポートを使用してサブレポート内で2列明細を使用した場合も同じような
感じです。
188:デフォルトの名無しさん
06/07/12 10:31:20 .net
117 から数レスほど読んで、該当しなければ
もう少し詳しく説明してみるヨロシ。
あと列じゃなくて行だよね。
189:187
06/07/12 12:08:41 .net
2列というのは、jasperreportタグのcolumncountを2にした場合の事です
2列目で終了した場合、サマリーバンドを新しいページで追加しようとしているようです
190:デフォルトの名無しさん
06/07/12 16:16:09 .net
失礼しました。
段組はやったことないのでなんとも。。
Forum を 「columnCount blank」で検索すると
・サマリーバンドを高さ0にする。
・サマリーバンドを消す。
・サマリーバンドのprintWhenExpressionにBoolean.FALSEを指定する。
など書かれてるようですが、
2003年頃から言われてて2006年でもごにょごにょやってるんで
完璧なバグフィックスはされてないのかも知れないですね。
よう分からんです。
191:デフォルトの名無しさん
06/07/17 20:54:46 .net
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i-want-to-study-java@hotmail.co.jp
教える対象は超初心者です。
専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
192:デフォルトの名無しさん
06/08/02 20:15:09 .net
仕事でJasperReportsを使ってPDF出力をやるって話になっているのですが、
調べてもわからない事が多いので質問をさせてください。
●やりたいこと
iReportを使って1人分の雛形を作っておいて
1つPDFファイルの中に人数分同じ雛形を動的に作成したい。
調べている途中なので変なソースかもしれませんが
にしてあります。
これで単純に同じ1つの雛形を作っておけば1つのPDFファイルの中に同じ雛形のデータが2つできるのかなと
思っていたのですが、上書きをされてしまって1つ分のデータしか出来ません。
実現方法がわからないので何かアドバイスがあったらお願いします。
※ソースは後述
193:192
06/08/02 20:15:57 .net
String filename = "sampleReport";
JasperPrint jPrint = null;
JasperReport jReport = JasperCompileManager.compileReport("sampleReport.jrxml");
Map parameters = new HashMap();
for (int i=0;i<2;i++) {
jReport = JasperCompileManager.compileReport("sampleReport.jrxml");
parameters.put("ReportTitle", "タイトル");
parameters.put("name", "名前");
parameters.put("affiliation", "会社名");
parameters.put("initiation", "2006/05/01");
parameters.put("portrait", getImageFile("images\\Sunset.jpg"));
jPrint = JasperFillManager.fillReport(jReport, parameters, (JRDataSource)null);
jPrint.setLocaleCode(Locale.JAPANESE.toString());
jPrint.setTimeZoneId(TimeZone.getDefault().toString());
}
JasperExportManager.exportReportToPdfFile(jPrint, filename + ".pdf");
jrxmlの isTitleNewPage="true"
isSummaryNewPage="true">
のようにしています。
194:デフォルトの名無しさん
06/08/02 20:50:33 .net
for の囲いを取り払って、fill してる行を以下の4行にしたらどうなります?
JRDataSource dataSource = new JRBeanArrayDataSource(
new Object[10]
);
jPrint = JasperFillManager.fillreport(jReport, parameters, dataSource);
195:デフォルトの名無しさん
06/08/02 23:54:22 .net
font.propertiesで指定している論理フォントを埋め込みたいんだけど
どういう風に指定すればいいか、誰か知っていたら教えてください。
196:デフォルトの名無しさん
06/08/03 12:27:16 .net
物理フォント名じゃダメなの?
197:195
06/08/03 22:44:08 .net
テストサーバと本番サーバで、
フォントの入ってるディレクトリのパスが違うので
それが解決できればいいんだけど、
それには論理フォント指定が出来ればいいかなと。
少なくとも、ネットで見つかるフォントの埋め込みをやってるサンプルは
どれもフルパスで指定してたので、
そうではなく相対パスで指定したいと思ってます。
プロパティファイルを読みこんでくれればそれでも解決なんだけど。
サンプルにあったFontってのが、なんだかそれっぽい事をしてたけど
真似しても上手くいきませんでした。
ただ、font.propertiesとかいじったの初めてなので、サーバ設定の方が悪いのかもしれない……。
198:デフォルトの名無しさん
06/08/09 18:55:50 .net
>197
サンプル見てみたけど、FONT_MAP に put してる
フォントオブジェクト作成する際の物理フォントのファイルパスを
プロパティファイルか何かで取得するようにすれば
それで用件が満たせそうな気がする。
・デザインファイル(*.jrxml)は一つ
・コンパイル済みデザインファイル(*.jasper)は一つ
・プログラムは一つ
・プロパティファイルは開発用と本番用の二つ
実際に試してみてないのでこれで行けるとは断言できんけど。
>それっぽい事
具体的にどんな事をしたんでしょうか。
199:195
06/08/09 23:54:16 .net
>>198
それは、jrxmlからjasperを作るときに、プロパティファイルを読み込んで
値を変更するって事でしょうか。
そうではなくて、jasperからプロパティファイルを読み込ませる方法があるのかな?
それっぽいことと言うのは、
今、サンプルも自分のソースも手元に無いから詳細は違うかもしれないけど。
確かサンプルの方では、fontNameがSerif、
pdfFontNameがフォント名(Times New Romanだったかな?)
になってる部分があったと思います。
また、Serif等の論理フォント名はfont.propertiesを見て決めていると
Linux上の日本語フォントの扱いを調べていて知りました。
なので、上記の構成を真似て
font.propertiesのSerifにマッピングするフォントを日本語TrueTypeフォントに変更し、
fontNameにSerif、pdfFontNameに使用した日本語フォントの名前
(Windowsで、ダブルクリックした時のフォント画面で表示される名前)を
設定した、のだったと思います。
しばらく前の記憶を頼りに書いているので、詳細は違うかも。
200:デフォルトの名無しさん
06/08/10 07:19:50 .net
> それは、jrxmlからjasperを作るときに、
> プロパティファイルを読み込んで値を変更するって事でしょうか。
そうっす。
開発用・本番用のプロパティファイルの振り分けは
ant とかでやればいいだけの話なんで
これで困ることはないと思うんですよ。
FontApp.java で
> FontKey key = new FontKey("sansserif", false, true);
(中略)
> exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);
って部分があって、ここで sanserif を COMICBD.TTF にマップしてると思われ。
で、作成される PDF の sansserif 指定されてる部分が
愉快なフォント(COMICBD.TTF)になってる、と。
font.properties から引っ張ってくるところを
プログラム側から上書きしてるイメージ。
FONT_MAP を *.jrxml 内部で指定できるかどうかは
ちょっと試してみないと分からないです。
201:195
06/08/16 19:53:37 .net
>>200
レス遅くなってすみません。
それでやってみます。
他にも何かやり方がありそうだったら、また報告します。
202:デフォルトの名無しさん
06/08/17 10:25:02 .net
URLリンク(www.thinkit.co.jp)
のサンプルを試そうとしたら
JasperReport jasperReport =
JasperCompileManager.compileReport(templatePath);
で
java.lang.NoClassDefFoundError:
org/apache/commons/digester/SetNestedPropertiesRule
が発生しました。
このクラスはどこにあるのですか。
203:デフォルトの名無しさん
06/08/17 11:04:30 .net
>202
です。
自己解決しました。
TomcatPlugin内のDevLoader.zipを解凍して
Tomcatのlibフォルダに入れることで解決しました。
ですが、次は
java.lang.NoClassDefFoundError:
org/apache/commons/javaflow/bytecode/Continuable
が発生してしまいました。
解決方法を教えてください。
204:デフォルトの名無しさん
06/08/17 14:26:59 .net
>>203
NoClassDefFoundErrorが起こっているクラスのパッケージ名から、
どのライブラリが欠けているか、想像できない?
<チラシの裏>
それにしても、Commons JavaFlowなんてものがあるのか・・・。
そしてJasperReportsで使ってたのか・・・。
</チラシの裏>
205:デフォルトの名無しさん
06/08/18 00:47:14 .net
>>202-203
どういう環境でやろうとしてるのか良く分からないけど、要するに
jasperreports.jarだけをlibに突っ込んで帳票を出そうとして、
NoClassDefFoundErrorが出たところだけ順番に潰しているという前提で。
> TomcatPlugin内のDevLoader.zipを解凍して
まずここからして解せない。そんな事する必要は無いはずなんだが。
それに、Tomcat自体のlibフォルダに、特定のモジュール用のファイルを入れると、
いずれ他のモジュールとバッティングして混乱するからやめた方がいいぞ。
それと、一つずつ聞いていくと、君はこのスレであと5回ぐらい質問する事になる。
まず、
URLリンク(sourceforge.net)
ここでjasperreports-1.2.5-project.zipを落として来るといい。
そして、その直下の「lib」ディレクトリの中から
あとはNoClassDefFoundErrorが出ているパッケージ名に、名前が似てるjarを探して
Tomcatではなくモジュールのlibディレクトリにコピーしろ。
全部コピーすれば一発で動くが、要らないjarまで入るから鬱陶しい。
1つ入れては動かして、次のNoClassDefFoundErrorを確認して……って手順でやれば
jasperReports自体は、確か7つぐらいのjarで動く。
206:デフォルトの名無しさん
06/08/18 00:56:34 .net
書いてから気づいた、TomcatPluginって
eclipseからTomcat立ち上げるための設定なのかな?
そうだとしたらスマソ、中段はちょっと的外れだったかも。
207:デフォルトの名無しさん
06/08/30 11:48:07 .net
┌─────┐
│┌──┐┌──┐│
││リスト││リスト││
││ ││ ││
││ ││ ││
│└──┘└──┘│
└─────┘
こんな感じの帳票を作りたいんですが、
どうすればできますでしょうか。
208:デフォルトの名無しさん
06/08/30 11:49:39 .net
ずれまくってる・・・
1枚に明細が2つある帳票です。
209:デフォルトの名無しさん
06/08/30 19:14:14 .net
左の明細と右の明細は同じ構造?(段組なのか、違う構造を並べるのか)
段組ならサブレポートのサンプルがまさにそんな感じ。
違う構造並べる場合は、高さ調整とかどうなるのか分からない。
210:208
06/08/31 09:39:26 .net
>>209
回答ありがとうございます。
同じ構造でいいです。
ご指摘のサンプルを動かしてみましたが、
サブレポートが表示されないんですが。
レポート実行時のDIRをどう指定しても表示されません。
211:デフォルトの名無しさん
06/09/04 00:28:08 .net
ちょっとレスの内容と違うが、
帳票って知ってる人って少ないと思わない?
212:デフォルトの名無しさん
06/09/05 02:12:54 .net
ついに1000体突破かよ
アイロボットみたいだな
株ロボもいつか夢を見るようになるのかなぁ
213:デフォルトの名無しさん
06/09/11 11:10:42 .net
外字を含むデータを出力することは出来るのでしょうか。
214:デフォルトの名無しさん
06/09/11 12:26:03 .net
外字使うフィールドと通常文字使うフィールドが分かれてるなら出来る。
同一フィールドに混在させるなら制限付きになりそう。
絶対に使わないコードポイントを外字に割り当てて、
かつ、そういうフォントを用意する、とか。
215:デフォルトの名無しさん
06/09/14 15:01:34 .net
iReportのeclipseプラグインがリリースされてた。
rmi使ってeclipseからiReportや新規ウィザードを起動させてるみたいなんだけど正常に動かない(><)
試された方います?
216:デフォルトの名無しさん
06/10/18 01:58:52 .net
XLSで出力するときに、印刷範囲の指定って出来ますか?
JExcelAPIのSheetSettingで設定できるというところまでは調べたのですが、
JasperReportsからアクセスするメソッドが見当たらないんです。
やっぱりJExcelAPIを単独で呼び出すしかないんでしょうか。
217:デフォルトの名無しさん
06/12/17 23:06:33 .net
帳票って英語でなんていうの?
218:デフォルトの名無しさん
06/12/18 03:39:01 .net
>>217
なぜこんなところで聞く?
219:デフォルトの名無しさん
06/12/19 10:17:00 .net
>>217
URLリンク(www.excite.co.jp)
220:デフォルトの名無しさん
07/04/22 23:56:51 .net
221:デフォルトの名無しさん
07/05/06 00:56:13 .net
簿記の正式な書式って結構うるさいけど、
その正式な帳簿として出力含めてできますか?
222:デフォルトの名無しさん
07/05/08 11:37:12 .net
簿記の正式な書式知らないので分かりません。
223:デフォルトの名無しさん
07/05/16 23:22:38 .net
正式な書式に合わせてレイアウトすればいいさ。
224:デフォルトの名無しさん
07/05/27 19:02:22 .net
レコードを横方向に伸びる形で表示することは簡単にできますか?
225:デフォルトの名無しさん
07/05/28 11:33:17 .net
縦方向に伸ばすのは楽だが
横方向に伸ばすのは無理だと思ったほうが。
226:デフォルトの名無しさん
07/06/06 23:50:57 .net
横方向はnullスペース埋めでやるしかない!!
227:デフォルトの名無しさん
07/07/22 18:48:25 .net
excelで出力するときにバージョン指定ってできる?
execl2000,excel Xp で出力するみたな。
228:デフォルトの名無しさん
07/07/23 10:32:14 .net
Excel 出力は jakarta-poi の 2.0-final を使ってて、
POI 自体は 97(-2000) 互換のファイルを作れます、だそうで。
POI について詳しく調べてないけど、
出力バージョンの制御ってなかった気がする。
そもそも Excel のフォーマットが 97/2000/XP でどれだけ違うのかが分からない。
229:デフォルトの名無しさん
07/07/31 23:40:06 .net
>>228
なんかOSとごっちゃになっているみたいだが、
ExcelのフォーマットはOffice 97からOffice 2003まで変わっていない。
2007で変わってしまったみたいだが。
230:デフォルトの名無しさん
07/08/04 14:04:43 .net
レスthx。
私は2000をつかっているのですが、昔XPとかをつかったときに
保存形式に2003とかあったような気がしたので。。。勘違いしていたようです。
ありがとうございました。
231:デフォルトの名無しさん
07/12/11 10:00:36 .net
おそレスだがいつの間にか2.0.0出てた。
232:デフォルトの名無しさん
08/02/23 17:31:20 .net
Windows2003サーバに環境を上げて
某複合機に印刷したらTomcatサービスごと落ちた。
他のプリンタでは問題ないし旧環境でも問題なかったので
ドライバのせいだと思うのでスレチガイ失礼。
233:デフォルトの名無しさん
08/04/26 02:11:04 .net
iReport-2.0.5、JasperReport-2.0.5を使ってます。
IMAGEフォルダのサンプルを使ってPDFファイルの作成を試していますが、iReportでは問題ないのに、プログラムからファイルを作ると画像が表示されません。
ファイルサイズも小さいので、画像が組み込まれていないようです。
画像のパスを絶対パスにしても駄目でした。
以下はコードです。
String xmlPath = "c:/ImagesReport.jrxml";
String destPath = "c:/ImagesReport.pdf";
JasperReport jasperReport =JasperCompileManager.compileReport(xmlPath);
JasperPrint print = JasperFillManager.fillReport(jasperReport, new HashMap());
JasperExportManager.exportReportToPdfFile(print, destPath);
何が問題なんでしょう?
アドバイスお願いします。
234:デフォルトの名無しさん
08/04/26 09:10:47 .net
状況説明の仕方に問題がありそうだが。
> iReportでは問題ないのに
サンプルでは問題なく動いたのに、の意味なのか?
235:デフォルトの名無しさん
08/04/26 10:53:37 .net
iReport上の環境で実行したら問題ないの意では?
236:233
08/04/26 11:10:42 .net
>>234
携帯から書き込んだので、端折った書き方をしてしまいました。
わかりづらくて申し訳ありません。
>>235さんが書かれている通り、iReport上で「空のデータソースで実行」すると正常に
表示がされます。
なのでXMLファイルには問題ないと思うのですが(サンプルですし)、かといってコードに問題あるとも思えず・・・。
iTextのバージョンが2.1.0なんですが、バージョンの組み合わせが悪いとかあるでしょうか?
237:デフォルトの名無しさん
08/04/26 19:20:05 .net
> バージョンの組み合わせが悪いとか
特定の組み合わせのどれがとかって、
商用プロダクトでもロクに調べないわけで。
とりあえず JasperReport 添付のバージョンで試してみてはどうだろう。
あとは空の Map の代わりに JREmptyDataSource 使ってみるとか。
パス指定で問題起こした場合(=自分のミス)を除けば
プログラムからのPDF作成で
画像が出なかったことってなかったですよ。
238:233
08/04/27 02:29:58 .net
>>237
JasperReport 添付のバージョンですか?
現在がそれぞれの最新のバージョン使用なので、iReport-2.0.5、JasperReport-2.0.5、iText-2.1.0の
組み合わせで使用しています。
iReport-2.0.5がJasperReport-2.0.5、iText-1.3.1の組み合わせを使っているようなので、こちらの環境も
iText-2.1.0→iText-1.3.1にしてみたんですが、かわらず・・・。
逆に、iReportのiTextのバージョンを1.3.1→2.1.0にしたら、同じように真っ白なPDFになったので
これだ!と思ったのですが・・・。
・・・と今ふと思いついて、iText-1.3.1に入れ替えた後に、Eclipceのworkフォルダ削除、プロジェクトクリーン、
Eclipce終了してEclipce -cleanで再起動してから再度試したところ、無事に画像が表示されました!
私の環境だけかもしれないですが、バージョンの組み合わせにより問題が出るようです。
お騒がせしました。ありがとうございました。
239:デフォルトの名無しさん
08/06/12 07:49:49 .net
メインレポートにサブレポートを動的に(javaで)変更する
方法はあるのでしょうか
240:デフォルトの名無しさん
08/06/25 18:55:03 .net
>>239
おそくなったが、
iReportでサブレポートのプロパティ → サブレポート(その他)
のサブレポート表現をパラメータで渡せば出来るんじゃないか?
試したことないけど、
241:デフォルトの名無しさん
08/07/02 07:57:20 .net
フィールドにjavaから値を設定しています。
テキストを右寄せ、左寄せ、中央寄せはできるのですが
均等割りみたいなことは出来ないのでしょうか。
242:デフォルトの名無しさん
08/07/04 19:47:36 .net
>>241
できないと思う。
例えば 固定幅のフォントにして文字列に対してスペースを入れ込んでいくとか。。。
ちょい無茶か
243:デフォルトの名無しさん
08/07/07 16:42:43 .net
いつの間にか3.0.0出てた。
この前2.0.0が出たばっかりたったのに・・・
244:デフォルトの名無しさん
08/07/10 09:07:54 .net
>>243
ほんとだ
っつかiReport3.0出てるのな。。。
245:デフォルトの名無しさん
08/07/12 00:04:13 .net
知ってる人いたら教えてください。ググったんだけどレスついている書き込み
が無くて、お手上げToT
iReportでサブレポートを使ってみたんだけど、サブレポートの部分が表示され
ないんです。2.0.4/2.0.5/3.0.0で試しました。
物としては、StaticTextを貼り付けただけのサブレポートをメインのレポート
に貼り付けただけ。それでJRViewerでプレビューしてみたけど何も表示されない。
メインにStaticTextを貼り付けるとそれだけ表示される。
何か設定が足りない?不具合?
246:デフォルトの名無しさん
08/07/12 16:49:09 .net
サンプルのサブレポートは表示される?
247:デフォルトの名無しさん
08/07/13 07:51:28 .net
>>245
「サブレポート表現」のパスの指定が間違ってるとか
「データないとき」プロパティに「no-data section」指定してるとか
みないとわからんね
248:デフォルトの名無しさん
08/07/13 21:33:02 .net
>246
サブレポートを使っているサンプルをいくつかダウンロードしたけどみんなダメです。
>247
レポートの作成にはiReportを使ってます。「データ無いとき」に「no-data section」
を指定しているつもりはないんですけど、ちょっと見てみます。
っていうことは、みんなの環境ではサブレポートを使っているレポートを作れてる?
2.0.4/2.0.5/3.0.0/で動作情報あれば教えてください。
249:デフォルトの名無しさん
08/07/14 15:29:38 .net
>>248
ずーっと 出来てますよ。(っても触りだしたが2.0.xからだけど
この間3.0.0に上げたけど問題なく出来てます。
環境は
ウェブアプリ、全体的には EclipseRCP×HttpInvoker なんだけど
PDFの出力だけ内部ブラウザからアクセスさせてるから
Jasper部はウェブアプリ
僕がサブレポートで躓いたときは
「サブレポート表現」に絶対パスを渡すのがミソだった
250:245&248
08/07/14 22:28:17 .net
>249さん
確認ありがとうございます。
それと原因わかりました。作成していたサンプルはサブレポートにデータソースもなにも
ないレポートをつけていたのですが、そうだと表示されないみたい。
Tutorial SWFのサブレポートを真似してDB(レポートクエリ)からデータをとってくるように
したらサブレポートが表示されました。
実際は、Java(Webアプリ)から配列で情報を渡して配列の内容を一覧してくれるような
サブレポートを作りたいのですがどうしたらよいか・・・。もうちょいサンプルをググって見ます。
ともあれ、サブレポートの動作確認はできました。有難うございました。
251:デフォルトの名無しさん
08/07/15 14:58:55 .net
参考までに
jrxml側
1.サブレポートに渡す為のパラメータを追加
(例:パラメータ名:summary、 パラメータクラスタイプ:net.sf.jasperreports.engine.JRDataSource
2.サブレポートのプロパティに1.で作成したパラメータを設定
(例:サブレポートタブの「接続/データソース表現」で「データソース表現の使用」を選択して $P{summary} と書き込む
java側
3.パラメータに データソースを "summary"でぶち込む
List list = new ArrayList();
...
JRBeanCollectionDataSource ds4mainreport = new JRBeanCollectionDataSource(list);
JRBeanCollectionDataSource ds4subreport = new JRBeanCollectionDataSource(list);
Map param = new HashMap();
param.put("summary", ds4subreport);
JasperPrint print = JasperFillManager.fillReport
("somewhere/some.jasper", param, ds4mainreport);
こんな感じかな?
252:251
08/07/15 15:00:29 .net
>>251
メインとサブで 同じデータソース(list)になっちゃってるけど気にするなwww
253:デフォルトの名無しさん
08/07/22 17:24:32 .net
環境を0.6.7から2.0.5にバージョンアップを試行中なのですが
2.0.5にしたらcompileReportToFileでjrxml→jasperにプリコンパイルすると
次のようなエラーが出てしまいます。
net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :
1. Warning : Element bottom reaches outside band area : y=30 height=11 band-height=39
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:260)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:144)
at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:591)
at java.lang.Thread.run(Thread.java:595)
どうやらバンド領域をはみ出したエレメント(表示項目)があるとこのような
エラーが出るようです。0.6.7でははみ出してもプリコンパイルも表示もうまく
いっていたのですが・・・。
元々なぜバンド領域をはみ出してレイアウトしているかを説明すると長くなるので
割愛させていただきますが、現状のままバージョンアップをしたいと考えています。
何か回避方法はありますでしょうか?
254:デフォルトの名無しさん
08/07/25 06:37:54 .net
>>253
無理だと思います。
割愛している必要性の部分が想像できないので代替方法の提案もできないです。
255:253
08/07/26 00:27:26 .net
無理でした。
throwしている部分をソースを修正し強引に回避してcompileReportToFileはとおるようにしましたが
表示ができませんでした。
それで結局はみ出さないようにレイアウトを変更することで解決しました。
0.6.7ではdetail部分に表示する表のヘッダ(タイトル部)をpageHeaderにレイアウトしたとき
表のヘッダの罫線をpageHeaderからdetailにはみ出さないとヘッダと明細の表の罫線がうまくくっ付かなかったので
線をくっ付けるにははみ出さないとダメというjasperreportsの仕様だと思ってました。
でも本来の仕様は2.0.5が正しいということなのですね。
失礼しました。
256:デフォルトの名無しさん
08/07/28 16:17:29 .net
本家サイトにアクセスすると
ランタイムエラーが発生しました。
デバッグしますか?
行:nnn
エラー:'s'は宣言されていません。
となるよぉ
257:デフォルトの名無しさん
08/07/29 02:09:10 .net
>>256
ウザイよね。
リニューアルしてから、iReportのEclipseプラグインのアップデートサイトがつながらないのが困る。
フォーラムに同じ質問投げてる人いるけど、回答なし。
258:デフォルトの名無しさん
08/08/01 14:32:23 .net
JasperReport + iReport + JAVA で連続帳票の出力について
イメージ
プリンター: EPSON VP-1850 (ドットプリンター)
連続用紙を使用
・横長指定の出力をした場合
プリント イメージ が90度回転した形で出力されてしまいます。
・JAVA で縦長を指定した場合
iReport で横長指定をしている物をJAVA(jasper)側で、縦長指定している為に
イメージの後ろが切れてしまいます。(当然ですが)
JAVA SOURCE
HashPrintRequestAttributeSet attribute = new HashPrintRequestAttributeSet();
attribute.add(OrientationRequested.PORTRAIT); // たて
// 出力
exportJasperReport(template, attribute, vo, DOWNLOAD_FILE);
・ちなみにCANON ページプリンター(レーザー)では、正しく出力します。
お手数ですが、JasperReport で連続帳票を出力経験のある方いらっしゃいましたら
ご教授お願いいたします。
iReport ページサイズの指定
幅: 29.940
高さ: 17.780
用紙向き: 横長
259:デフォルトの名無しさん
08/08/05 13:56:01 .net
>>258
attribute.add(OrientationRequested.LANDSCAPE);
ではどう?
或いはプリンタの設定で90度回転とか?
260:デフォルトの名無しさん
08/08/05 18:32:42 .net
>>259
回答ありがとうございます。
返信遅くなりました。
attribute.add(OrientationRequested.LANDSCAPE);
を指定した場合。
プリント イメージ が90度回転した形で出力されてしまいます。
attribute.add(OrientationRequested.PORTRAIT);
を指定した場合。
iReport で横長指定をしている物をJAVA(jasper)側で、縦長指定している為に
イメージの後ろが切れてしまいます。
プリンターの回転についてですが、プリンタードライバーに回転が見当たらず
ハード側(プリンター本体)からの指定が分からず調査中です(指定がなさそう)
プリンター: EPSON VP-1850 (ドットプリンター)
連続用紙を使用
今回はありがとうございました、また良い案がありましたら
アドバイスおねがいします。
261:デフォルトの名無しさん
08/08/06 14:01:29 .net
iReportのウィンドウメニューで「左右に並べて表示」と「上下に並べて表示」が
実際の動作と逆転していて混乱しませんか?
JasperBabylonで管理されてるんでしょうか?
誰か直して(指摘して)くれるとありがたいです(´・ω・`)
262:259
08/08/06 23:13:51 .net
>>260
ん!>>258で「90度回転した形で出力されてしまいます。」
出力時に90度戻せばOKだと思ったんだけどそうじゃないの?
現状の用紙の方向と印字の向きがよくわからないよ。
263:デフォルトの名無しさん
08/08/28 19:02:04 .net
複数の表示エレメントに同じ条件の<printWhenExpression>を設定したい場合
どこかに条件を定義してそこを参照することってできないですかねぇ
条件を修正することがあると全部直さなきゃいけない
264:デフォルトの名無しさん
08/08/29 01:27:53 .net
条件判定の真偽値を変数として定義しといて、
printWhenExpression でその変数参照するようにするとか?
URLリンク(jasperforge.org)
265:デフォルトの名無しさん
08/08/29 23:40:56 .net
>>264
なるほど。目から鱗です。
て実装方法がピンとこないけど試行錯誤してみます。
266:263
08/09/02 22:08:20 .net
・・・
ページが変わったときに変数を更新するにはどうしたら・・・
と心配していましたが、試行錯誤することなくアッサリとできました。
さんくすでした。
しかし、pageheader、pagefooterバンドのところで1ページ目だけに
表示するように条件式を入れたんですが、pageheaderバンドだけ
どうしても2ページ目にも表示してしまい断念しました。
バージョン0.6.7だからかなぁ。
267:デフォルトの名無しさん
08/09/03 00:52:31 .net
>>266
どんな条件で表示判定しようとしてる?
incrementType とか設定してる?
268:デフォルトの名無しさん
08/09/03 19:57:26 .net
>>267
<variableExpression>と<initialValueExpression>に
[new Boolean($V{PAGE_NUMBER} == 1)]を
resetTypeは"Page"にしてその他は何も設定していません。(iReportのデフォルト)
269:デフォルトの名無しさん
08/09/04 04:52:54 .net
症状として、
・1ページ目には表示されている。
・2ページ目の pageHeader に表示、pageFooter に非表示
・3ページ目以降はどちらも非表示
で、2ページ目の pageHeader のみおかしいと。
pageHeader 表示の判定で、variable が評価されるタイミングが、
$V{PAGE_NUMBER} がインクリメントするタイミングより早いとか?
pageHeader/pageFooter 使わずに
group の header/footer 使ったら、評価の順序が調整されるかも。
まるっきり希望的観測ですけど。
270:デフォルトの名無しさん
08/09/04 19:26:14 .net
>>269
症状はそうです。
3.0.0でやっても同様の動作でした。
1帳票に同じ条件のprintWhenExpressionが最大40箇所あって
Variablesでなんとかなれば動作的にも若干軽くなるところなのですが・・・
とりあえずVariablesでのフラグ化はあきらめておとなしく全部の項目に条件式を入れました。
さんくすした。
271:デフォルトの名無しさん
08/09/05 01:55:57 .net
役に立てなくてすまんかった。
ところで、今更でもうしわけないんだけど
Integer を引数にして Boolean を返す static メソッド持つ
適当なクラス作って、クラスパス通しといて
printWhenExpression の中でそのメソッド呼ぶのが
手っ取り早かったかも知れない・・・
Variables と違って評価順も明快だろうし。
動作的に軽く云々はまた別の話かも。
272:デフォルトの名無しさん
08/10/24 10:55:08 .net
JDK1.5、Eclipse3.2でjasperReports2.0.5使ってます。
携帯からの書き込みのため、正確でない部分がありましたらすみません。
数種類の帳票をexportReportToPdfStreamで作成してますが、同じページ数でもデータ量の多い帳票は、このメソッドですごく時間がかかってしまいます。
開発環境がAMD Sempron1GHz、メモリが1.5GHz、JVMのオプションでメモリの最小最大とも512MHzを指定していますが、600ページ程のPDFにするのに15分、場合によってはOutOfMemoryErrorで作成できないことがあります。
上記メソッド実行中、CPU100%になります。
速度とメモリエラーとCPU100%になるのを改善したいです。
アドバイスいただけないでしょうか?
273:272
08/10/24 11:15:25 .net
さっそくメモリの単位間違えてました。
Hzじゃないですね。すみません。
274:デフォルトの名無しさん
08/10/29 08:02:43 .net
フィールドの背景をjavaで動的に変更したいのですが
なにかいい方法はあるでしょうか
アドバイスよろしくお願いします。
275:デフォルトの名無しさん
08/11/13 11:59:44 .net
>>272
亀レスだが
直接ファイルに出力する(FileOutputStream)とか、
パイプする(PipedOutputStream)とか、
あとは中身みてみないとわかるわけないね。
>>274
背景に使う画像ファイルのパスを変数にすればおk
276:デフォルトの名無しさん
08/11/20 07:48:23 .net
275さん、ありがとうございます。
自分の説明不足で申し訳ありません。
フィールドの背景色を動的に変更する方法はないですしょうか
277:275
08/11/23 14:29:45 .net
>>276
書き込んだ後、そうかなーって思ったwww
ちょっと調べてみたけど、情報みつかんない。
本家のフォーラムに同じ事やりたいって書いてある人にレスついてないし
無理矢理やるとすれば、未コンパイル(jrxml)のままファイルを置いておいて編集してからコンパイルするってのが出来るかもしれないけど、非現実的だな
あとは、できあがったPDFを編集するとかかなー
Jasperreportsだけじゃ無理っぽいス
278:デフォルトの名無しさん
08/11/28 09:39:53 .net
JasperReportsに限った話ではないと思いますが
例えば発注書を作成するとして
長い品名があるとき皆さんはどう対応してますか?
やむを得ず印字できるところまでであきらめますか
それともデータを加工して改行したりしてますか
279:デフォルトの名無しさん
08/11/28 12:54:17 .net
自分で考えろ
280:デフォルトの名無しさん
08/12/01 18:22:05 .net
>>278
大抵、jakarta commons で省略する
一回だけタックシールの印刷の時に全文字はいるようにフォントサイズの調整をした事があるなー
VB6だったけど。
281:デフォルトの名無しさん
09/02/19 12:05:49 .net
3.0.0で特定のキー項目をレポートグループとして定義し、「新規ページで開始」にしてあります。
さらに「ページ番号のリセット」にもチェックを付けておけば
$V{PAGE_NUMBER}(評価時間:今すぐ)がグループ中ページ番号、
$V{PAGE_NUMBER}(評価時間:レポート)がグループページ数という扱いになりますが、
全体のページ番号・ページ数も同時に表示させたい場合にはどうすればよいでしょうか?
イメージとしては以下のような感じです。
グループ:1 グループページ:1/2 ページ:1/6
~改ページ~
グループ:1 グループページ:2/2 ページ:2/6
~改ページ~
グループ:2 グループページ:1/3 ページ:3/6
~改ページ~
グループ:2 グループページ:2/3 ページ:4/6
~改ページ~
グループ:2 グループページ:3/3 ページ:5/6
~改ページ~
グループ:3 グループページ:1/1 ページ:6/6
282:デフォルトの名無しさん
09/03/05 22:44:18 .net
日本語のイタリック、ボールドが効きません。
なにか方法ありますか?
283:デフォルトの名無しさん
09/03/17 03:09:50 .net
パチもんのことをバッタもんと言わないでください
パチもん→コピー商品
バッタもん→倒産した会社から安く買い叩いた正規品
284:デフォルトの名無しさん
09/03/17 05:24:35 .net
Excelで言えば
パチもん→OpenOffice
バッタもん→秋葉原でガイジンが売ってる緑のCDのExcel
ということか。
で、誤爆は何になるんだ?
285:デフォルトの名無しさん
09/04/18 21:42:31 .net
>>282
もう解決しているかもしれんが、
HeiseiKakuGo-W5,Bold
HeiseiKakuGo-W5,Italic
でおk
286:デフォルトの名無しさん
09/05/17 07:17:22 .net
>>261
∧,,∧
( `・ω・) ウーム…ここは?
/ ∽ |
しー-J
287:デフォルトの名無しさん
09/07/21 10:57:11 .net
POIでのExcelファイル出力で、
漢数字フォーマットの数値セルって不可能?
日本語版Excelは"[DBNum1][$-411]G/標準"みたいにして
漢数字フォーマットを扱えるんだけど、
POIのHSSFDataFormatは"[DBNum1]"に対応してない気がするんだが。。。
288:デフォルトの名無しさん
09/09/28 13:50:56 .net
iReport3.0.0/pdf出力がしたいです
サブレポートを使った帳票を作成しています。
mainのdetailにサブレポートを指定していますが、
出力した時に、インデントがずれて右よりになってしまいます。
レイアウト上はサブレポートもdetailの左端に揃えているのですが…。
解決方法はありますでしょうか。
289:デフォルトの名無しさん
09/10/01 03:06:14 .net
サブレポート側で上下左右のマージン潰してある?
290:デフォルトの名無しさん
09/10/02 10:12:25 .net
>>289
余白「0」設定してませんでした。。。
無事、揃えて出力ができました。
ありがとうございます。
すいません。さらに別件で質問です。
グループ指定についてです。
一覧表で、「ユーザー名」または「登録日」の
どちらか一方が変わるごとに、金額合計を表示したく、
「ユーザー名」と「登録日」の2つのグループを作成し、
各フッターに「一覧合計」の欄を設定しました。
しかし、「ユーザー名」と「登録日」の両方が同時に変わると
一覧合計が2つ表示されてしまいます。
上記の場合は、一覧合計の表示は1つで良いのですが、
そのためにはどのように設定したらよろしいでしょうか。
291:デフォルトの名無しさん
09/11/26 22:54:50 .net
>>290
亀だけど、ユーザ名と登録日を結合したフィールドを使えば良いかと
用紙サイズの違う2つの単票をJasperPrint1.addPage((JRPrintPage)JasperPrint2.getPages().get(0))
で、1つのPDFファイルにまとめています。
1ページ目はA3、2ページ目はA4のようにiReportで指定した用紙サイズで印刷したいのですが
2ページ目もA3になってしまいます。
設定方法をご存知の方教えてください。
292:デフォルトの名無しさん
10/02/04 22:34:25 .net
Webアプリと帳票出力処理(JasperReport)が別サーバの場合、
画面からの同期処理でPDFするには、どういう方法がいいですか?
293:デフォルトの名無しさん
10/02/14 10:13:00 .net
アプリから別サーバに投げて、その結果をアプリが返せば良いんじゃない?
294:デフォルトの名無しさん
10/02/14 12:04:07 .net
具体的な実装方法は?
295:デフォルトの名無しさん
10/02/14 13:47:05 .net
HTTPでもなんでもいいじゃん。
296:デフォルトの名無しさん
10/02/14 17:39:44 .net
webサービスだな
297:デフォルトの名無しさん
10/02/25 11:58:41 .net
JasperReports3.5.3で自動改行できないのですが、自動改行のためのプラグインなどが必要なのでしょうか?
298:デフォルトの名無しさん
10/02/26 05:07:02 .net
3.5.3固有の挙動なのか、そうじゃないのかが分からないので、
JasperReports 使ったことがほとんどないならそう書いた方が
適切な回答が期待できると思う。
後者だと仮定して、
stretch with overflow を指定しない場合、
確保した矩形領域分しかテキストは出力されませんよ。
299:297
10/02/27 21:03:42 .net
>>298
ありがとうございます。
stretch with overflowを設定したら解決しました。
JasperReportsは勉強始めたばかりです。
「JasperReports 3.5 for Java Developers」という参考書に掲載されていた
サンプルコードをそのまま利用したけど、実行結果が違ってて悩んでいました。
サンプルコードにはstretch with overflowの設定は書かれていませんでした、
参考書のコードが間違っていたようです。
300:デフォルトの名無しさん
10/03/03 04:48:33 .net
その本は読んだことないので推測になりますが、
最初の一歩的な例として、細かい話はあえて省略してるのかも。
301:デフォルトの名無しさん
10/04/18 18:39:10 .net
ページリセットでどうやるんですか?
302:デフォルトの名無しさん
10/06/12 02:25:29 .net
JasperPeports と言うよりは、iText に関する質問になるかも知れません。
スレ違いでしたらすみません。
花園フォントまたは花園明朝OTを PDF に埋め込みたいと考えています。
JDK7 の M3 から Unicode 5.1 に対応しているそうですが、IVS を使った異体字の PDF 出力を試した方はいらっしゃいませんか?
一応、テキストファイルとしてなら異体字が正しく出力できていることを Windows7 のメモ帳などで確認しているのですが、PDF への埋め込みには成功していません。
なお、開発環境は、JDK7 build95、iReport 3.7.3(JasperReports3.7.3/iText2.1.7) です。
または、JasperReports を使って、CID コードを直接指定して CID フォントを PDF に出力することが可能かどうかご存じな方はいらっしゃいませんか?
303:デフォルトの名無しさん
10/07/28 17:42:13 .net
JasperPeportsで色々試して、結果 FastPDFGenで解決ってことになりました。
304:デフォルトの名無しさん
10/07/28 18:42:22 .net
理由は?
305:デフォルトの名無しさん
10/07/28 18:49:32 .net
あ、302が結局無理だったのか
306:デフォルトの名無しさん
10/08/03 19:54:52 .net
iReport 3.7.4
Java: 1.6.0_20; Java HotSpot(TM) Client VM 16.3-b01
上記の環境で帳票を作成し、完成した帳票をJasperServerCEに登録、PHPで用意した画面から
SOAPを通してJasperServerのrunReportを呼び出しって感じで運用しようとしております。
ちゃんと帳票自体は表示されるのですが、EXCEL出力しようとすると全然ダメに・・・
帳票の中の表を、iReportのTextFieldとStaticテキストにstyleで枠線を付け、これを組み合わせて
表現しているのですが(つまり、セルの集合で「表」を表現してます)、EXCEL形式で出力すると
罫線が全部消えてしまうのです
iReportのPreviewを使って表示すると罫線までちゃんと出るのに、何故ブラウザから表示すると
ダメなのか・・・大分調べたのですが原因不明です。
どなたか、ご存知の方いらっしゃいましたらよろしくお願いします。
307:302
10/09/04 13:48:22 .net
規制を食らって書き込めませんでした。
>>303 は私ではありません。
半ば諦め気味ですが、相変わらず試行錯誤してます。
花園フォント側で尋ねた方がいいのでしょうか...
308:デフォルトの名無しさん
10/11/18 11:47:06 .net
iReport3.6.1で帳票作成してます。
このスレをざっと流し読みしてて、ついさっきBackground Bandの存在を知りました。
羅線をBackgroundに描けたらいいなと思っているのですが、位置合わせがめんどくさいです。
Backgroundはデザイン時にPage HeaderやDetail等と重ねて表示出来ないのでしょうか?
309:デフォルトの名無しさん
10/12/28 17:08:59 .net
定期あげ
310:デフォルトの名無しさん
11/02/09 21:53:06 .net
A4縦の用紙でラベル印刷用に2列×5行の帳票レイアウトを作成しました。データソースはJDBCです。
フェッチしたデータ
Data1, Data2, Data3, Data4
上記データを例えばレイアウトの2番目の位置からセットしたいのですがやり方が分かりません。
下記のように出力したいのですが、PDF生成時にパラメータで印字開始位置を指定する方法はないのでしょうか?
[ブランク][Data1]
[Data2][Data3]
[Data4][ブランク]
[ブランク][ブランク]
[ブランク][ブランク]
311:デフォルトの名無しさん
11/02/09 21:58:03 .net
age
312:デフォルトの名無しさん
11/04/30 13:45:01.19 .net
iReportで画像埋め込むのどうすればよいでしょうか?
どこにもそれっぽいアイコンが見当たりません
313:デフォルトの名無しさん
11/04/30 14:24:39.97 .net
>312
パレットにありました。すいません。
314:デフォルトの名無しさん
11/08/15 17:29:07.76 .net
iReport-nb-3.6.1使用しています。
JasperReportsに限ったことではありませんが。。。
作成したPDFをページ表示させず、
クライアントの「通常使うプリンタ」で印刷させる方法はないでしょうか?
315:デフォルトの名無しさん
12/01/22 13:01:42.85 .net
JSP帳票アプリケーション実践開発入門っての買ってきた
これから読む
iTextを使うみたい
316:デフォルトの名無しさん
12/09/11 15:05:39.71 .net
258 :デフォルトの名無しさん:2008/08/01(金) 14:32:23
JasperReport + iReport + JAVA で連続帳票の出力について
イメージ
プリンター: EPSON VP-1850 (ドットプリンター)
連続用紙を使用
・横長指定の出力をした場合
プリント イメージ が90度回転した形で出力されてしまいます。
を今更ながらレスするとドットインパクトプリンタではLandscapeが効かない。
Portraitで用紙を設計すると正確な位置で印字するようになる。
例えば、よくあるドットの伝票チェーンストア統一伝票の用紙サイズは
H 5 inch x W 11 1/2 inch だ。
iReportだと
Format > Page format
Format:Custom
Width: 10.5 inch
Height: 5 inch
Page Orientation:
Portrait
JRXMLの中の表示だと
<jasperReport .... pageWidth="756" pageHeight="360" ...>
逆に、レーザーで印字すると真ん中に縦に印字されてしまうので、位置合わせは完全にドットインパクトプリンタでやった方がいいだろう。