X



[無料でラクラクJava帳票作成] JasperReports使い集合

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
NGNG
JAVAで帳票作成するとなると
それなりの帳票ツールがないとテンテコ舞。
でも、帳票ツールは高い。
せっかくJavaとかTomcatとか無料で開発・運用できる環境があるのに
帳票も作りも無料でやりたいもんだ。

そんな救世主JasperReportsについて朝まで語り合いましょう。
http://jasperreports.sourceforge.net/

デザインツールiReportやJasperAssistantがなければ
ラクラクにはなりませんのでその話題も・・・。
http://ireport.sourceforge.net/
http://www.jasperassistant.com/index.html


1げっと。
0184デフォルトの名無しさん
垢版 |
2006/06/29(木) 16:04:52
一つの科目に限れば普通の帳票になるので、
それを Subreport とした帳票を作ってはどうか。

/demo/samples/subreport とか参考にして。
AddressReport.jrxml ← 全科目帳票
ProductReport.jrxml ← 科目別サブレポート
にそれぞれ対応すると思えばいい。
0185182
垢版 |
2006/06/29(木) 18:29:43
>>183,184
ご意見ありがとうございます、やってみます。
0186デフォルトの名無しさん
垢版 |
2006/07/04(火) 21:12:26
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)

i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
0187デフォルトの名無しさん
垢版 |
2006/07/12(水) 00:45:35
明細が2列のレポートを作成した場合、最終ページが2列目で終了すると
空白ページが差し込まれるという現象が発生するんですが何か対策はないでしょうか?
サブレポートを使用してサブレポート内で2列明細を使用した場合も同じような
感じです。
0188デフォルトの名無しさん
垢版 |
2006/07/12(水) 10:31:20
117 から数レスほど読んで、該当しなければ
もう少し詳しく説明してみるヨロシ。

あと列じゃなくて行だよね。
0189187
垢版 |
2006/07/12(水) 12:08:41
2列というのは、jasperreportタグのcolumncountを2にした場合の事です
2列目で終了した場合、サマリーバンドを新しいページで追加しようとしているようです
0190デフォルトの名無しさん
垢版 |
2006/07/12(水) 16:16:09
失礼しました。
段組はやったことないのでなんとも。。

Forum を 「columnCount blank」で検索すると
・サマリーバンドを高さ0にする。
・サマリーバンドを消す。
・サマリーバンドのprintWhenExpressionにBoolean.FALSEを指定する。
など書かれてるようですが、
2003年頃から言われてて2006年でもごにょごにょやってるんで
完璧なバグフィックスはされてないのかも知れないですね。
よう分からんです。
0191デフォルトの名無しさん
垢版 |
2006/07/17(月) 20:54:46
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
0192デフォルトの名無しさん
垢版 |
2006/08/02(水) 20:15:09
仕事でJasperReportsを使ってPDF出力をやるって話になっているのですが、
調べてもわからない事が多いので質問をさせてください。

●やりたいこと
iReportを使って1人分の雛形を作っておいて
1つPDFファイルの中に人数分同じ雛形を動的に作成したい。

調べている途中なので変なソースかもしれませんが

にしてあります。
これで単純に同じ1つの雛形を作っておけば1つのPDFファイルの中に同じ雛形のデータが2つできるのかなと
思っていたのですが、上書きをされてしまって1つ分のデータしか出来ません。
実現方法がわからないので何かアドバイスがあったらお願いします。

※ソースは後述
0193192
垢版 |
2006/08/02(水) 20:15:57
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">
のようにしています。
0194デフォルトの名無しさん
垢版 |
2006/08/02(水) 20:50:33
for の囲いを取り払って、fill してる行を以下の4行にしたらどうなります?

JRDataSource dataSource = new JRBeanArrayDataSource(
  new Object[10]
);
jPrint = JasperFillManager.fillreport(jReport, parameters, dataSource);
0195デフォルトの名無しさん
垢版 |
2006/08/02(水) 23:54:22
font.propertiesで指定している論理フォントを埋め込みたいんだけど
どういう風に指定すればいいか、誰か知っていたら教えてください。
0197195
垢版 |
2006/08/03(木) 22:44:08
テストサーバと本番サーバで、
フォントの入ってるディレクトリのパスが違うので
それが解決できればいいんだけど、
それには論理フォント指定が出来ればいいかなと。
少なくとも、ネットで見つかるフォントの埋め込みをやってるサンプルは
どれもフルパスで指定してたので、
そうではなく相対パスで指定したいと思ってます。
プロパティファイルを読みこんでくれればそれでも解決なんだけど。

サンプルにあったFontってのが、なんだかそれっぽい事をしてたけど
真似しても上手くいきませんでした。
ただ、font.propertiesとかいじったの初めてなので、サーバ設定の方が悪いのかもしれない……。
0198デフォルトの名無しさん
垢版 |
2006/08/09(水) 18:55:50
>197
サンプル見てみたけど、FONT_MAP に put してる
フォントオブジェクト作成する際の物理フォントのファイルパスを
プロパティファイルか何かで取得するようにすれば
それで用件が満たせそうな気がする。

・デザインファイル(*.jrxml)は一つ
・コンパイル済みデザインファイル(*.jasper)は一つ
・プログラムは一つ
・プロパティファイルは開発用と本番用の二つ

実際に試してみてないのでこれで行けるとは断言できんけど。

>それっぽい事
具体的にどんな事をしたんでしょうか。
0199195
垢版 |
2006/08/09(水) 23:54:16
>>198
それは、jrxmlからjasperを作るときに、プロパティファイルを読み込んで
値を変更するって事でしょうか。
そうではなくて、jasperからプロパティファイルを読み込ませる方法があるのかな?

それっぽいことと言うのは、
今、サンプルも自分のソースも手元に無いから詳細は違うかもしれないけど。
確かサンプルの方では、fontNameがSerif、
pdfFontNameがフォント名(Times New Romanだったかな?)
になってる部分があったと思います。
また、Serif等の論理フォント名はfont.propertiesを見て決めていると
Linux上の日本語フォントの扱いを調べていて知りました。
なので、上記の構成を真似て
font.propertiesのSerifにマッピングするフォントを日本語TrueTypeフォントに変更し、
fontNameにSerif、pdfFontNameに使用した日本語フォントの名前
(Windowsで、ダブルクリックした時のフォント画面で表示される名前)を
設定した、のだったと思います。
しばらく前の記憶を頼りに書いているので、詳細は違うかも。
0200デフォルトの名無しさん
垢版 |
2006/08/10(木) 07:19:50
> それは、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 内部で指定できるかどうかは
ちょっと試してみないと分からないです。
0201195
垢版 |
2006/08/16(水) 19:53:37
>>200
レス遅くなってすみません。
それでやってみます。
他にも何かやり方がありそうだったら、また報告します。
0202デフォルトの名無しさん
垢版 |
2006/08/17(木) 10:25:02
ttp://www.thinkit.co.jp/free/tech/4/4/1.html
のサンプルを試そうとしたら
JasperReport jasperReport =
  JasperCompileManager.compileReport(templatePath);

java.lang.NoClassDefFoundError:
org/apache/commons/digester/SetNestedPropertiesRule
が発生しました。
このクラスはどこにあるのですか。
0203デフォルトの名無しさん
垢版 |
2006/08/17(木) 11:04:30
>202
です。
自己解決しました。
TomcatPlugin内のDevLoader.zipを解凍して
Tomcatのlibフォルダに入れることで解決しました。
ですが、次は
java.lang.NoClassDefFoundError:
org/apache/commons/javaflow/bytecode/Continuable
が発生してしまいました。
解決方法を教えてください。
0204デフォルトの名無しさん
垢版 |
2006/08/17(木) 14:26:59
>>203
NoClassDefFoundErrorが起こっているクラスのパッケージ名から、
どのライブラリが欠けているか、想像できない?



<チラシの裏>
それにしても、Commons JavaFlowなんてものがあるのか・・・。
そしてJasperReportsで使ってたのか・・・。
</チラシの裏>
0205デフォルトの名無しさん
垢版 |
2006/08/18(金) 00:47:14
>>202-203
どういう環境でやろうとしてるのか良く分からないけど、要するに
jasperreports.jarだけをlibに突っ込んで帳票を出そうとして、
NoClassDefFoundErrorが出たところだけ順番に潰しているという前提で。

> TomcatPlugin内のDevLoader.zipを解凍して
まずここからして解せない。そんな事する必要は無いはずなんだが。
それに、Tomcat自体のlibフォルダに、特定のモジュール用のファイルを入れると、
いずれ他のモジュールとバッティングして混乱するからやめた方がいいぞ。
それと、一つずつ聞いていくと、君はこのスレであと5回ぐらい質問する事になる。

まず、
ttp://sourceforge.net/project/showfiles.php?group_id=36382&package_id=28579
ここでjasperreports-1.2.5-project.zipを落として来るといい。
そして、その直下の「lib」ディレクトリの中から
あとはNoClassDefFoundErrorが出ているパッケージ名に、名前が似てるjarを探して
Tomcatではなくモジュールのlibディレクトリにコピーしろ。
全部コピーすれば一発で動くが、要らないjarまで入るから鬱陶しい。
1つ入れては動かして、次のNoClassDefFoundErrorを確認して……って手順でやれば
jasperReports自体は、確か7つぐらいのjarで動く。
0206デフォルトの名無しさん
垢版 |
2006/08/18(金) 00:56:34
書いてから気づいた、TomcatPluginって
eclipseからTomcat立ち上げるための設定なのかな?
そうだとしたらスマソ、中段はちょっと的外れだったかも。
0207デフォルトの名無しさん
垢版 |
2006/08/30(水) 11:48:07
┌──────────┐
│┌───┐┌───┐│
││リスト││リスト││
││ ││   ││
││   ││   ││
│└───┘└───┘│
└──────────┘

こんな感じの帳票を作りたいんですが、
どうすればできますでしょうか。
0208デフォルトの名無しさん
垢版 |
2006/08/30(水) 11:49:39
ずれまくってる・・・
1枚に明細が2つある帳票です。
0209デフォルトの名無しさん
垢版 |
2006/08/30(水) 19:14:14
左の明細と右の明細は同じ構造?(段組なのか、違う構造を並べるのか)
段組ならサブレポートのサンプルがまさにそんな感じ。
違う構造並べる場合は、高さ調整とかどうなるのか分からない。
0210208
垢版 |
2006/08/31(木) 09:39:26
>>209
回答ありがとうございます。
同じ構造でいいです。
ご指摘のサンプルを動かしてみましたが、
サブレポートが表示されないんですが。

レポート実行時のDIRをどう指定しても表示されません。
0211デフォルトの名無しさん
垢版 |
2006/09/04(月) 00:28:08
ちょっとレスの内容と違うが、
帳票って知ってる人って少ないと思わない?
0212デフォルトの名無しさん
垢版 |
2006/09/05(火) 02:12:54
ついに1000体突破かよ
アイロボットみたいだな
株ロボもいつか夢を見るようになるのかなぁ
0213デフォルトの名無しさん
垢版 |
2006/09/11(月) 11:10:42
外字を含むデータを出力することは出来るのでしょうか。
0214デフォルトの名無しさん
垢版 |
2006/09/11(月) 12:26:03
外字使うフィールドと通常文字使うフィールドが分かれてるなら出来る。

同一フィールドに混在させるなら制限付きになりそう。
絶対に使わないコードポイントを外字に割り当てて、
かつ、そういうフォントを用意する、とか。
0215デフォルトの名無しさん
垢版 |
2006/09/14(木) 15:01:34
iReportのeclipseプラグインがリリースされてた。
rmi使ってeclipseからiReportや新規ウィザードを起動させてるみたいなんだけど正常に動かない(><)
試された方います?
0216デフォルトの名無しさん
垢版 |
2006/10/18(水) 01:58:52
XLSで出力するときに、印刷範囲の指定って出来ますか?

JExcelAPIのSheetSettingで設定できるというところまでは調べたのですが、
JasperReportsからアクセスするメソッドが見当たらないんです。
やっぱりJExcelAPIを単独で呼び出すしかないんでしょうか。
0217デフォルトの名無しさん
垢版 |
2006/12/17(日) 23:06:33
帳票って英語でなんていうの?

0220デフォルトの名無しさん
垢版 |
2007/04/22(日) 23:56:51
 
0221デフォルトの名無しさん
垢版 |
2007/05/06(日) 00:56:13
簿記の正式な書式って結構うるさいけど、
その正式な帳簿として出力含めてできますか?
0224デフォルトの名無しさん
垢版 |
2007/05/27(日) 19:02:22
レコードを横方向に伸びる形で表示することは簡単にできますか?
0227デフォルトの名無しさん
垢版 |
2007/07/22(日) 18:48:25
excelで出力するときにバージョン指定ってできる?
execl2000,excel Xp で出力するみたな。
0228デフォルトの名無しさん
垢版 |
2007/07/23(月) 10:32:14
Excel 出力は jakarta-poi の 2.0-final を使ってて、
POI 自体は 97(-2000) 互換のファイルを作れます、だそうで。
POI について詳しく調べてないけど、
出力バージョンの制御ってなかった気がする。

そもそも Excel のフォーマットが 97/2000/XP でどれだけ違うのかが分からない。
0229デフォルトの名無しさん
垢版 |
2007/07/31(火) 23:40:06
>>228
なんかOSとごっちゃになっているみたいだが、
ExcelのフォーマットはOffice 97からOffice 2003まで変わっていない。

2007で変わってしまったみたいだが。
0230デフォルトの名無しさん
垢版 |
2007/08/04(土) 14:04:43
レスthx。
私は2000をつかっているのですが、昔XPとかをつかったときに
保存形式に2003とかあったような気がしたので。。。勘違いしていたようです。

ありがとうございました。
0231デフォルトの名無しさん
垢版 |
2007/12/11(火) 10:00:36
おそレスだがいつの間にか2.0.0出てた。
0232デフォルトの名無しさん
垢版 |
2008/02/23(土) 17:31:20
Windows2003サーバに環境を上げて
某複合機に印刷したらTomcatサービスごと落ちた。
他のプリンタでは問題ないし旧環境でも問題なかったので
ドライバのせいだと思うのでスレチガイ失礼。
0233デフォルトの名無しさん
垢版 |
2008/04/26(土) 02:11:04
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);
何が問題なんでしょう?
アドバイスお願いします。
0234デフォルトの名無しさん
垢版 |
2008/04/26(土) 09:10:47
状況説明の仕方に問題がありそうだが。

> iReportでは問題ないのに
サンプルでは問題なく動いたのに、の意味なのか?
0236233
垢版 |
2008/04/26(土) 11:10:42
>>234
携帯から書き込んだので、端折った書き方をしてしまいました。
わかりづらくて申し訳ありません。

>>235さんが書かれている通り、iReport上で「空のデータソースで実行」すると正常に
表示がされます。

なのでXMLファイルには問題ないと思うのですが(サンプルですし)、かといってコードに問題あるとも思えず・・・。

iTextのバージョンが2.1.0なんですが、バージョンの組み合わせが悪いとかあるでしょうか?
0237デフォルトの名無しさん
垢版 |
2008/04/26(土) 19:20:05
> バージョンの組み合わせが悪いとか
特定の組み合わせのどれがとかって、
商用プロダクトでもロクに調べないわけで。
とりあえず JasperReport 添付のバージョンで試してみてはどうだろう。

あとは空の Map の代わりに JREmptyDataSource 使ってみるとか。

パス指定で問題起こした場合(=自分のミス)を除けば
プログラムからのPDF作成で
画像が出なかったことってなかったですよ。
0238233
垢版 |
2008/04/27(日) 02:29:58
>>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で再起動してから再度試したところ、無事に画像が表示されました!

私の環境だけかもしれないですが、バージョンの組み合わせにより問題が出るようです。

お騒がせしました。ありがとうございました。
0239デフォルトの名無しさん
垢版 |
2008/06/12(木) 07:49:49
メインレポートにサブレポートを動的に(javaで)変更する
方法はあるのでしょうか
0240デフォルトの名無しさん
垢版 |
2008/06/25(水) 18:55:03
>>239

おそくなったが、
iReportでサブレポートのプロパティ → サブレポート(その他)
のサブレポート表現をパラメータで渡せば出来るんじゃないか?

試したことないけど、
0241デフォルトの名無しさん
垢版 |
2008/07/02(水) 07:57:20
フィールドにjavaから値を設定しています。
テキストを右寄せ、左寄せ、中央寄せはできるのですが
均等割りみたいなことは出来ないのでしょうか。
0242デフォルトの名無しさん
垢版 |
2008/07/04(金) 19:47:36
>>241
できないと思う。

例えば 固定幅のフォントにして文字列に対してスペースを入れ込んでいくとか。。。
ちょい無茶か
0243デフォルトの名無しさん
垢版 |
2008/07/07(月) 16:42:43
いつの間にか3.0.0出てた。
この前2.0.0が出たばっかりたったのに・・・
0244デフォルトの名無しさん
垢版 |
2008/07/10(木) 09:07:54
>>243

ほんとだ
っつかiReport3.0出てるのな。。。
0245デフォルトの名無しさん
垢版 |
2008/07/12(土) 00:04:13
知ってる人いたら教えてください。ググったんだけどレスついている書き込み
が無くて、お手上げToT
iReportでサブレポートを使ってみたんだけど、サブレポートの部分が表示され
ないんです。2.0.4/2.0.5/3.0.0で試しました。
物としては、StaticTextを貼り付けただけのサブレポートをメインのレポート
に貼り付けただけ。それでJRViewerでプレビューしてみたけど何も表示されない。
メインにStaticTextを貼り付けるとそれだけ表示される。
何か設定が足りない?不具合?
0247デフォルトの名無しさん
垢版 |
2008/07/13(日) 07:51:28
>>245
「サブレポート表現」のパスの指定が間違ってるとか
「データないとき」プロパティに「no-data section」指定してるとか

みないとわからんね
0248デフォルトの名無しさん
垢版 |
2008/07/13(日) 21:33:02
>246
サブレポートを使っているサンプルをいくつかダウンロードしたけどみんなダメです。

>247
レポートの作成にはiReportを使ってます。「データ無いとき」に「no-data section」
を指定しているつもりはないんですけど、ちょっと見てみます。

っていうことは、みんなの環境ではサブレポートを使っているレポートを作れてる?
2.0.4/2.0.5/3.0.0/で動作情報あれば教えてください。
0249デフォルトの名無しさん
垢版 |
2008/07/14(月) 15:29:38
>>248
ずーっと 出来てますよ。(っても触りだしたが2.0.xからだけど
この間3.0.0に上げたけど問題なく出来てます。

環境は
ウェブアプリ、全体的には EclipseRCP×HttpInvoker なんだけど
PDFの出力だけ内部ブラウザからアクセスさせてるから
Jasper部はウェブアプリ

僕がサブレポートで躓いたときは
「サブレポート表現」に絶対パスを渡すのがミソだった
0250245&248
垢版 |
2008/07/14(月) 22:28:17
>249さん
確認ありがとうございます。
それと原因わかりました。作成していたサンプルはサブレポートにデータソースもなにも
ないレポートをつけていたのですが、そうだと表示されないみたい。
Tutorial SWFのサブレポートを真似してDB(レポートクエリ)からデータをとってくるように
したらサブレポートが表示されました。
実際は、Java(Webアプリ)から配列で情報を渡して配列の内容を一覧してくれるような
サブレポートを作りたいのですがどうしたらよいか・・・。もうちょいサンプルをググって見ます。
ともあれ、サブレポートの動作確認はできました。有難うございました。
0251デフォルトの名無しさん
垢版 |
2008/07/15(火) 14:58:55
参考までに

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);

こんな感じかな?
0252251
垢版 |
2008/07/15(火) 15:00:29
>>251
メインとサブで 同じデータソース(list)になっちゃってるけど気にするなwww
0253デフォルトの名無しさん
垢版 |
2008/07/22(火) 17:24:32
環境を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でははみ出してもプリコンパイルも表示もうまく
いっていたのですが・・・。
元々なぜバンド領域をはみ出してレイアウトしているかを説明すると長くなるので
割愛させていただきますが、現状のままバージョンアップをしたいと考えています。
何か回避方法はありますでしょうか?
0254デフォルトの名無しさん
垢版 |
2008/07/25(金) 06:37:54
>>253
無理だと思います。

割愛している必要性の部分が想像できないので代替方法の提案もできないです。
0255253
垢版 |
2008/07/26(土) 00:27:26
無理でした。

throwしている部分をソースを修正し強引に回避してcompileReportToFileはとおるようにしましたが
表示ができませんでした。

それで結局はみ出さないようにレイアウトを変更することで解決しました。

0.6.7ではdetail部分に表示する表のヘッダ(タイトル部)をpageHeaderにレイアウトしたとき
表のヘッダの罫線をpageHeaderからdetailにはみ出さないとヘッダと明細の表の罫線がうまくくっ付かなかったので
線をくっ付けるにははみ出さないとダメというjasperreportsの仕様だと思ってました。
でも本来の仕様は2.0.5が正しいということなのですね。

失礼しました。
0256デフォルトの名無しさん
垢版 |
2008/07/28(月) 16:17:29
本家サイトにアクセスすると

ランタイムエラーが発生しました。
デバッグしますか?
行:nnn
エラー:'s'は宣言されていません。

となるよぉ
0257デフォルトの名無しさん
垢版 |
2008/07/29(火) 02:09:10
>>256
ウザイよね。

リニューアルしてから、iReportのEclipseプラグインのアップデートサイトがつながらないのが困る。
フォーラムに同じ質問投げてる人いるけど、回答なし。
0258デフォルトの名無しさん
垢版 |
2008/08/01(金) 14:32:23
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
用紙向き: 横長
0259デフォルトの名無しさん
垢版 |
2008/08/05(火) 13:56:01
>>258
attribute.add(OrientationRequested.LANDSCAPE);
ではどう?

或いはプリンタの設定で90度回転とか?
0260デフォルトの名無しさん
垢版 |
2008/08/05(火) 18:32:42
>>259
回答ありがとうございます。
返信遅くなりました。
attribute.add(OrientationRequested.LANDSCAPE);
を指定した場合。
プリント イメージ が90度回転した形で出力されてしまいます。

attribute.add(OrientationRequested.PORTRAIT);
を指定した場合。
 iReport で横長指定をしている物をJAVA(jasper)側で、縦長指定している為に
 イメージの後ろが切れてしまいます。

プリンターの回転についてですが、プリンタードライバーに回転が見当たらず
ハード側(プリンター本体)からの指定が分からず調査中です(指定がなさそう)
プリンター: EPSON VP-1850 (ドットプリンター)
      連続用紙を使用

今回はありがとうございました、また良い案がありましたら
アドバイスおねがいします。
0261デフォルトの名無しさん
垢版 |
2008/08/06(水) 14:01:29
iReportのウィンドウメニューで「左右に並べて表示」と「上下に並べて表示」が
実際の動作と逆転していて混乱しませんか?
JasperBabylonで管理されてるんでしょうか?
誰か直して(指摘して)くれるとありがたいです(´・ω・`)
0262259
垢版 |
2008/08/06(水) 23:13:51
>>260
ん!>>258で「90度回転した形で出力されてしまいます。」
出力時に90度戻せばOKだと思ったんだけどそうじゃないの?

現状の用紙の方向と印字の向きがよくわからないよ。
0263デフォルトの名無しさん
垢版 |
2008/08/28(木) 19:02:04
複数の表示エレメントに同じ条件の<printWhenExpression>を設定したい場合
どこかに条件を定義してそこを参照することってできないですかねぇ

条件を修正することがあると全部直さなきゃいけない
0266263
垢版 |
2008/09/02(火) 22:08:20
・・・
ページが変わったときに変数を更新するにはどうしたら・・・
と心配していましたが、試行錯誤することなくアッサリとできました。
さんくすでした。

しかし、pageheader、pagefooterバンドのところで1ページ目だけに
表示するように条件式を入れたんですが、pageheaderバンドだけ
どうしても2ページ目にも表示してしまい断念しました。

バージョン0.6.7だからかなぁ。
0268デフォルトの名無しさん
垢版 |
2008/09/03(水) 19:57:26
>>267
<variableExpression>と<initialValueExpression>に
[new Boolean($V{PAGE_NUMBER} == 1)]を
resetTypeは"Page"にしてその他は何も設定していません。(iReportのデフォルト)
0269デフォルトの名無しさん
垢版 |
2008/09/04(木) 04:52:54
症状として、
・1ページ目には表示されている。
・2ページ目の pageHeader に表示、pageFooter に非表示
・3ページ目以降はどちらも非表示
で、2ページ目の pageHeader のみおかしいと。

pageHeader 表示の判定で、variable が評価されるタイミングが、
$V{PAGE_NUMBER} がインクリメントするタイミングより早いとか?
pageHeader/pageFooter 使わずに
group の header/footer 使ったら、評価の順序が調整されるかも。
まるっきり希望的観測ですけど。
0270デフォルトの名無しさん
垢版 |
2008/09/04(木) 19:26:14
>>269
症状はそうです。
3.0.0でやっても同様の動作でした。

1帳票に同じ条件のprintWhenExpressionが最大40箇所あって
Variablesでなんとかなれば動作的にも若干軽くなるところなのですが・・・
とりあえずVariablesでのフラグ化はあきらめておとなしく全部の項目に条件式を入れました。

さんくすした。
0271デフォルトの名無しさん
垢版 |
2008/09/05(金) 01:55:57
役に立てなくてすまんかった。

ところで、今更でもうしわけないんだけど
Integer を引数にして Boolean を返す static メソッド持つ
適当なクラス作って、クラスパス通しといて
printWhenExpression の中でそのメソッド呼ぶのが
手っ取り早かったかも知れない・・・
Variables と違って評価順も明快だろうし。

動作的に軽く云々はまた別の話かも。
0272デフォルトの名無しさん
垢版 |
2008/10/24(金) 10:55:08
JDK1.5、Eclipse3.2でjasperReports2.0.5使ってます。
携帯からの書き込みのため、正確でない部分がありましたらすみません。

数種類の帳票をexportReportToPdfStreamで作成してますが、同じページ数でもデータ量の多い帳票は、このメソッドですごく時間がかかってしまいます。

開発環境がAMD Sempron1GHz、メモリが1.5GHz、JVMのオプションでメモリの最小最大とも512MHzを指定していますが、600ページ程のPDFにするのに15分、場合によってはOutOfMemoryErrorで作成できないことがあります。
上記メソッド実行中、CPU100%になります。

速度とメモリエラーとCPU100%になるのを改善したいです。
アドバイスいただけないでしょうか?
0273272
垢版 |
2008/10/24(金) 11:15:25
さっそくメモリの単位間違えてました。
Hzじゃないですね。すみません。
0274デフォルトの名無しさん
垢版 |
2008/10/29(水) 08:02:43
フィールドの背景をjavaで動的に変更したいのですが
なにかいい方法はあるでしょうか
アドバイスよろしくお願いします。
0275デフォルトの名無しさん
垢版 |
2008/11/13(木) 11:59:44
>>272
亀レスだが

直接ファイルに出力する(FileOutputStream)とか、
パイプする(PipedOutputStream)とか、

あとは中身みてみないとわかるわけないね。

>>274
背景に使う画像ファイルのパスを変数にすればおk
0276デフォルトの名無しさん
垢版 |
2008/11/20(木) 07:48:23
275さん、ありがとうございます。
自分の説明不足で申し訳ありません。
フィールドの背景色を動的に変更する方法はないですしょうか
0277275
垢版 |
2008/11/23(日) 14:29:45
>>276
書き込んだ後、そうかなーって思ったwww

ちょっと調べてみたけど、情報みつかんない。
本家のフォーラムに同じ事やりたいって書いてある人にレスついてないし

無理矢理やるとすれば、未コンパイル(jrxml)のままファイルを置いておいて編集してからコンパイルするってのが出来るかもしれないけど、非現実的だな

あとは、できあがったPDFを編集するとかかなー

Jasperreportsだけじゃ無理っぽいス
0278デフォルトの名無しさん
垢版 |
2008/11/28(金) 09:39:53
JasperReportsに限った話ではないと思いますが
例えば発注書を作成するとして
長い品名があるとき皆さんはどう対応してますか?

やむを得ず印字できるところまでであきらめますか
それともデータを加工して改行したりしてますか
0280デフォルトの名無しさん
垢版 |
2008/12/01(月) 18:22:05
>>278
大抵、jakarta commons で省略する

一回だけタックシールの印刷の時に全文字はいるようにフォントサイズの調整をした事があるなー
VB6だったけど。
0281デフォルトの名無しさん
垢版 |
2009/02/19(木) 12:05:49
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
0282デフォルトの名無しさん
垢版 |
2009/03/05(木) 22:44:18
日本語のイタリック、ボールドが効きません。
なにか方法ありますか?
0283デフォルトの名無しさん
垢版 |
2009/03/17(火) 03:09:50
パチもんのことをバッタもんと言わないでください
パチもん→コピー商品
バッタもん→倒産した会社から安く買い叩いた正規品
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況