[無料でラクラクJava帳票作成] JasperReports使い集合
■ このスレッドは過去ログ倉庫に格納されています
JAVAで帳票作成するとなると それなりの帳票ツールがないとテンテコ舞。 でも、帳票ツールは高い。 せっかくJavaとかTomcatとか無料で開発・運用できる環境があるのに 帳票も作りも無料でやりたいもんだ。 そんな救世主JasperReportsについて朝まで語り合いましょう。 http://jasperreports.sourceforge.net/ デザインツールiReportやJasperAssistantがなければ ラクラクにはなりませんのでその話題も・・・。 http://ireport.sourceforge.net/ http://www.jasperassistant.com/index.html 1げっと。 ほほう、よさげですな。 マツリバイト文字とか大丈夫なのかな? 2グッシ 横浜ベイキットやクリスタルレポートの帳票作成ツールとくらべどうなんだ? 実際に使っている者だが 全角英字を項目名として使うとうまくないようだ。 DBと連携して帳票を出す際にテーブルの項目名が 全角英字だとそのままでは使えないのでSELECTの記述で 項目名に別名をつければいいよ。 JasperAssistantよさげだね。 でもフリーじゃないのね? 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 >>8 iReportで充分だよ 自分は公開されているiReportに関するPDF資料で なんとか使えるようになったよ。 ソースの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にて確認。 XMLファイルからjasperファイルにコンパイルする時にクラスファイルがないと 言われる場合は、中間でコンパイルに使うJavaファイルのどこかがおかしい。 XMLファイルのクラス指定あたりをチェックしてみるとよいかも。 複雑なレポートを作るのには本当に疲れた。 いくつもサブレポートを作って、更にその中にサブレポートがあったり、 グループがいっぱいあったり・・・。 >>12 XMLファイルの中にクラス指定って Javaでいうimportみたいなことですか? 自分もコンパイルで「クラスが見つからないエラー」が出たとき クラス指定のやり方が解からず、結局はクラスのURLを フルパスで入れて対処しました。 >>14 フルパスで入れてOKならいいけど、どこを指定してもダメな場合がある。 大概の場合、これでエラーが出ると定義ファイルを疑った方がよさそう。 典型的なのは<textFieldExpression> class属性のデフォルトはjava.lang.Stringなので、Integer型の変数とかを表示する際に class属性を指定しないと、>>12 で上げたようなエラーになる。 >>15 >典型的なのは<textFieldExpression> >class属性のデフォルトはjava.lang.Stringなので、Integer型の変数とかを表示する際に >class属性を指定しないと、>>12 で上げたようなエラーになる。 なるほど、そうゆうことですね。 自分の場合は、DBから取得したデータ(コード)を画面に表示する際に コードに対応した日本語表現に変換するクラスを作成したしたのですが そのクラスを印刷するときにも流用させようと思って試行錯誤しました。 最初、作成したクラスをJavaのimportみたいなことで定義するには どうやればよいのか調べたのですが、結局見つからずにフルパスでやったのでした。 ver0.5.3と0.6.0でクラス名が変わっているけど、 dori.jasper.engine ⇒ net.sf.jasperreports.engine 等 iReportやその他サンプルによって利用しているverがまちまちだったりする ので注意。 そうそう・・・ 変わったんだよね。 0.6.0にしたとたん動かなくなったのでびっくりした。 なぜ変えたんだろ。 意味は分からないけどdoriよりnetの方がカッコいいから? sourceforgeで管理始めたから? それにしても、sourceforgeつかったらnet.sfっていうパッケージ名が使えて便利だね。 はじめまして、 JavaでPDF帳票をつくりたいですが、サイトでいくら調べてて、 iReportとJasperReports組み合わせるほうがいちばんよいらしいです。 サンプルにみるとほとんど DBと接続して帳票がつくるものですが。 XML電文式のデータで帳票をつくったケースがありますか。 ご教授。 >>20 そういうケースは知らないけど、 インプットがDBでなくXMLであるのなら、 JRXmlDataSourceを使ってみては如何? >>20 XMLデータのレポートはやったことがないし、 いまのところニーズもないけど、 JasperReportsのソースをダウンロードして \demo\samples\xmldatasource を参考にしたらよろしいかと・・・。 iReportの使い勝手ってどうよ? 位置合わせが難しいわ、 XMLにコメントとか細かい設定をしても、iReportで更新したらおじゃんになるわで、 結局XMLをEclipseプラグインのX-Menでシコシコ書いているわけですが・・・ おれだけ? >>24 俺も俺も! 自動生成系の奴は元のコメント残してくれるだけでもありがたいんだけどなぁっていつも思う A4横のPDFをservletから直接プリンタへ出力すると 縦で印刷されたかのように右側が切れて印刷されるんだけど 誰か教えて!! PDFそのものはアップロードさせて見てみたけど問題ないのです。 >>26 むしろ、プリンターの設定の問題じゃないの? >>27 プリンタの設定は確認してないけど PDFファイルに落としてAcrobatReaderで開いて 普通に印刷すると問題ないのです。はい。 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 >>29 乙! デフォルトは縦になってるのか・・・。 Linuxサーバで帳票作るとき、フォントは何指定するの? MS明朝? AcrobatReaderで開いてから印刷したものと JasperReportsを使って直接プリンタに印刷したものとでは 直接印刷したほうがちょっと拡大されてででくるよね。 それっておれだけ? >>34 特に縮小拡大の指定はしていないんですが、 印刷するアプリケーションが違うので多少の誤差は あるとは思うけど・・・。 逆にチョット縮小させて出したいので縮小拡大の方法を ご存知でしたらご存知でしたら教えてー。 縮小のやり方はJasperReportsを改造することで可能になったけど オレの勘違いでAcrobatReaderで印刷するときに縮小印刷に なっていた。(default?) JasperReportsで出た大きさが正解ってことでした。 >>34 そのことを言いたかったのか・・・ >>37 ・レポートを作る ・そのレポートを別のレポートからsubreport要素を使って呼び出す ま、サンプルがあると思うから、それを見てみるこった。 >>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 を使用しています。 御教授お願いします。 >>39 2ヶ月も前のレスにレスするのも何だけど・・・ XMLファイル内のJavaコードの記述に誤りがあるのではないかと。 要はサブレポートのjasperファイル(クラスファイルみたいなもの)が コンパイルエラーで出来ていないということです。 iReport-0.4.1 上では日本語を表示できていたが、 アプリでPDFとしてエクスポートする機能を 使用したときに日本語を表示できない。 ttp://www.moriwaki.net/wiki/index.php?JasperReports の「外部フォントを使用しない日本語表示」を参考に iTextAsian.jar追加し、レポートのフィールドのプロパティを 変更してから実行すると日本語が表示できた。 日本語PDFを扱うのに iTextAsian.jar って必要なの? iReport付属のライブラリだけではできないのかな? やり方がおかしいのかな? >>41 で、結局出来たのか出来ないのか、どっちなんだ! iReportで合計行を明細のすぐ下に出すにはどうしたらいいんですか? どうしても合計行だけが離れて紙の一番下にへばりついてしまうんですけど。 a 100 b 200 c 300 計 600 >>45 レポート定義のXMLはどうなっているの? 補足。 例えば、jasperReport要素のisFloatColumnFooter属性にtrueを設定するといいかも。 >>46 ,47 iReport上からは変えられないんですか? って見てみると、iReportのプロジェクトのオプションのところで Floating column footerにチェックを入れると一番下だったのが a,b,cから3行ぐらい開けた下あたりに表示されました。 フローティングしたいわけではなくて、a,b,cのすぐ下に出したいんですけど。 普通の帳票でよくある様に。 >>48 すぐ下に出すのがフローティングだと思うのだが。 3行ぐらい空いているのは別の要因だと思うが。 >>49 やっぱり分からない。 iReportで、detailのところでテキストフィールド1つおいて、detailの幅をそのテキストフィールドの高さにぴったりと合わせてます。 ボーダーつけて表示すると、データが5件あったら5つ箱が重なったみたいに表示されます。 ここまでは問題なし。 columnFooterもテキストフィールド1つおいて同様に、高さを上下の隙間無くぴったりと合わせてます。 すると5つの箱が重なったその下に2,3行分ぐらいの隙間をあけてぽつーんと1つ四角の箱が表示されます。 6つの重なった箱にしたいだけなのに、なんか設定が足りないんですかね。 設定する箇所もそんなにないんですけど。 日本語を含むレポートをJRHtmlExporterでエクスポートしたけど 日本語が文字化けしてしまいます。 日本語を扱うための追加処理が必要なんでしょうか? ちなみに、JasperExportManager#exportReportToPdf を 使用したPDFへのエクスポートでは、正しく日本語が出ています。 JSP で contentType の指定が抜けていました。。。 逝ってきます。 オレiTextAsian.jarツカッテナイ デモ、ニホンゴヒョウジデキタ Windowsノフォントシカツカッテナイカラ? >>53 iReport で、テキストフィールドの Font の設定のところの Report font、Font name、 PDF font name、TrueType font、 PDF Encoding は何を指定しているの? ttp://www.aware.jp/pdf/jasper_jp.html で、JasperReportsでフォントを埋め込まない日本語PDFを 生成する方法はわかるんだけど、 フォントを埋め込んで日本語PDFを生成するにはどうすればいいの? iReport 0.4.1 ってメニューを日本語で表示でけたのね。。。。 iReport で SELECT * FROM TABLENAME WHERE KEY = :variable ようなバインド変数を使ったSQLを使用してレポート作ることができますか? iReport でパラメータの追加/修正のところの Is for prompting ってなんなの? チェック入れてもはずしても効果がないんだけど。 てっきり、パラメータを入力するダイアログかなんかが 出てくると思ったんだけど。 iReport でレポートSQLクエリを複数入力したいんですけど、 無理ですか? 金額表示を3桁カンマ区切りで表示したいんだけど、 どうすればいいのかな? >>61 テキストフィールドのプロパティでパターンを指定する。 >>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"/> >>60 無理じゃないかしら。 レイアウトが見えないのでなんともだけど JOINしてなんとか1クエリにまとめるか サブレポート化するなどすればなんとかなるかも >>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 >>62 できました。パターンをいろいろ指定できるんですね。 パターンを指定するところでCurrencyという¥#,##0.00の パターンを選んだときにフォントを日本語にしないと 円マークってでないんですね。全角だから? 気付くのに時間がかかった。。。 >>67 日本以外で円マークを使っている国はあるのか? iReport で縦書きのフィールドを作成できるのでしょうか? 改行いれながら調整するしかないんでしょうか? iReport 0.4.1 でパワーポイントのテキストのように 「テキストにあわせて描画オブジェクトのサイズを調整する」 ようなことってできますか? ぽちぽちっと適度なサイズに変更したいんですけど。 iReport で枠を書くのって、バンド毎に縦線を引かなきゃ いけないんでしょうか?次のようなレポートだと、縦線が 6本必要になりますよね?もっとうまいやり方があるんでしょうか? |氏名 |年齢| −−−−−−−−− |$F{name}|$F{age}| >>71 ワシも知りたい。 >>72 エリアごとに四角を配置してみるとか? >67, 69 円マークは使わないよ。 JPYとかが一般的じゃない? アメリカドルならUSDとか。 iReport でバーコードを使えるみたいなんですけど、 これって実用レベルに達しているのでしょうか? それと、プロパティのBarcode expressionってStringで表現 しないとコンパイルが通らないです。でも、ダブルクオートで 表現したいコードを囲むと、iReport上のバーコードオブジェクトが Barcode Errorで表示されてしまう。う〜ん。 それと、バーコードの高さが半端なんだけど、 調整できないのかな? >>70 1行だけなら縦長のフィールドを作成して 自動改行させればできるが、縦文字のフォント を使わないと長音(ー)とか括弧なんかは変になってしまうよ >>65 複数クエリは無理なんですか。。。 メインで扱うデータを取得するSQLはレポートSQLクエリに、 それ以外のデータは、パラメータ化してレポートに渡すか、 サブレポートで、というのがお作法なんでしょうか。 レポートに複数SQLを埋め込めたほうが、SQLがまとまって いいような気もするけど。 >>64 , >>66 できまつた。 それとJava 側からバインド変数へ値を渡すにはHashMapを使うんですね。 また、SQLの条件句自体をパラメータ渡ししたいときは$P!{hogehoge} ってのが使えるんだね。 >>78 作法というか おかれている環境、状況で工夫するしかないと思います。 複数SQLを埋め込める帳票ツールがあってそれを導入することが できるのならそれを用いればよいし。。。 メインのデータとそれ以外のデータに結合点があればJOINすればいいし そうでなければストアドなどで無理やり1つのResultSetを作り出せば いいんじゃないかと。 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' (エラーメッセージって日本語で出力されてたから □□□になってたんですね。。。) >20 さんは XML Datasource を問題なく使えたのかなぁ。。。 iReportで作ったXMLを PHPでPDF出力するようなソリューションってころがってないかにゃー。 JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。 XMLからJasperReportインスタンス(空のレポートインスタンス?) を生成するところで、数秒かかってしまってます。 このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。 再利用は可能でしょうか? JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint インスタンスを作るって方法です。 要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか? APIやその他ドキュメントを見ても良く分かりませんでした。 宜しくお願いします。 jrxml → jasper のコンパイルが遅いということを言っているなら、 コンパイル済みjasper ファイルを実行時に読み込んでバインド→PDF出力、ということを、 サンプルの JasperPrintServlet.java でやってる。 >>87 サンクスです。 このjasperファイルってJasperReportインスタンスをシリアライズ したものなんですよね? ファイルの読み込みってシンクロナイズする必要ありましたっけ? StrutsのActionはスレッドを意識しないで組みたいなって思ってますので。 自分ももうちょい調べてみます。 >>88 Jasperはxml(jrxml)で定義したデザインファイルをJavaバイトコードに コンパイルしたものだったと記憶してますが、 なのでPDFを出力するたびにアプリケーションでjasperを作り出すのは どうかと思います。 わてはAntの段階でjasperにしてリリースしてまっせ。 そんためには、jrxml→jasperにするためのツールを JAVAで作ってAntで実行せにゃいかんね。 JasperReportsをWeb(Struts)で使って、PDFを出力しようとしています。 XMLからJasperReportインスタンス(空のレポートインスタンス?) を生成するところで、数秒かかってしまってます。 このインスタンスを再利用できれば、パフォーマンスが上がるかなって思ってます。 再利用は可能でしょうか? JasperReportインスタンスは一つだけ作っておき、リクエスト毎にJasperPrint インスタンスを作るって方法です。 要するに、JasperReportインスタンスはスレッドセーフに使えるのでしょうか? APIやその他ドキュメントを見ても良く分かりませんでした。 宜しくお願いします。 >>89 APIドキュメント見る限りではJasperReportのインスタンスっぽいですが? JasperCompileManager#compileReportToFile()を見てみてください。 どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む 必要があるってことなんですか? メモリ上に持ってきたインスタンスを使いまわせればいいんですがね〜 >>91 Jasperは最終的にはインスタンス化しますが、インスタンスにする前に インスタンスのクラスを作らなければなりませんよね。 クラスを作るにはレイアウト(jrxml)からコンパイルされるということです。 >どっちにしろWebでやる場合、リクエスト毎にjasperファイルを読み込む >必要があるってことなんですか? です。 jasperを読み込むのとjrxmlを読み込んでコンパイルするのとでは 前者のほうが明らかにパフォーマンスで勝るのは理解できると思います。 92だけど補足 >メモリ上に持ってきたインスタンスを使いまわせればいいんですがね〜 使いまわすかどうかは考え方次第。 消費メモリを気にしないのであれば、常駐化すればいいし そうでなければ毎回Jasperファイルを読めばいいし、 というところでしょう。 少なくとも私の環境では毎回Jasperファイルを読んでも体感的には 変らないのでメンテナンスの楽な後者の方法を選択しました。 >>92-93 サンクスです。 jrxmlからJasperReportのサブクラスを作ってインスタンスをって流れですかね? とりあえず、リクエスト毎にjasperファイルを読み込む方向で進めてみます。 さらに質問なんですが、jasperファイルを読み込むところは排他取らなくも 大丈夫ですか? もし必要になるなら並行度上げる小細工を考える必要あるなって思いまして。 >>94 Youがどのようなタイミングでやるかは解らないけど、 jasper(JasperReport)をスタック上に展開すれば問題ないはず JasperReport死亡かも Eclipse Foundation,レポーティング・ツール「BIRT 1.0」を発表 ttp://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20050608/162307/ だれか試して! 最近人から聞いたやつけど、Jasperとはどう違うか知ってる人います? OpenFunXion for iText ttp://www2.nobworks.co.jp/nobworks/productsTop.html ついでに100get ひさびさに使ってみたが、少し使いやすくなっていたかも。 BarbecueRenderer を修正して 指定された描画位置よりも若干上からレンダリングするようにすれば 見かけ上高さが調整されたようになる。対処療法的だけど。 iReport0.5.1でCODE39指定してみた。確かに高さは少し低い。試しにリーダで読んだら半角英数文字が全角英数文字で表示された。(?_?) 1次元バーコードって太いバーと細いバーの幅の比率が 一定割合に収まってさえいれば 高かろうが低かろうが、単位幅がどれだけであろうが 全然かまわないという認識で合ってる? (リーダーの性能とかは度外視して。) 現在JasperReport+iReportで帳票を作成してるのですが、 改ページの設定の仕方がわかりません。 例えばIDという項目があって ID=1が15件 ID=2が5件 とあった場合 1ページに10件表示可能として、 2ページ目の5件まで表示したらID2は3ページ目に表示するという感じにしたいと思っています これにはどうのような設定をしたらいいかわかる方いましたらご教授お願い致します。 subreport 使うとうまく行くんじゃないでしょうか。 example 下に例題プロジェクトがあるから それ試してみたらどうでしょう? >>110 groupを使用して作成することができました。 ありがとうございました。 >>109 ご質問なのですが、exampleの下とはどこを指しているのでしょうか? 私の使ってるiReportのフォルダ内にはありませんでした iReportは日本語の資料が少なくて結構大変ですね・・・ JasperReportsのdemo/samplesのことじゃないかねえ。 >>106 ちゃんとしたリーダなら、 資料読んでフリーハンドで適当に書いたのでも ある程度読めるからな。 >>113 ありました。ありがとうございました。 参考にさせて頂きます。 ところで下層の iText に Barcode クラスあるのに JasperReports では直接サポートせずに Barbecue で云々しちゃってるのは何でだろう? PDFを出力する際に、5枚分のデータを送ると6枚目に白紙がでてしまうのですが これを出さないようにするにはどこを設定したらよろしいのでしょうか? whenNoDataType="NoPages" 辺りだと思うのですが、うまくいかないので、 わかる方おられましたら、ご教授お願い致します。 detail band の一番下の要素のマージンはどうなってます? ------------------- $hoge ここら辺に余白 ------------------- こんな感じになってると、$hoge がないにも関わらず 余白を出力するために、白紙がザックリ出力されますよ。 一応確認してみはいかがでしょう? すみません。iText.NETの質問はここでいいでしょうか? おそらくスレ違いだと思われますが 適切なスレもないようだし 聞くだけ聞いてもいいんじゃないでしょうか。 あるいはPDF変換関連のスレを立てたら 需要があるかどうかをくだ質あたりで探りを入れてみるとか。 >>118 返答ありがとうございます 1つずつ要素を調べていったところ 意味のない要素が操作ミスか何かでほかの要素と重なってたのが原因で 白紙が出てたようです。 たぶん気づかない間にペーストとかやってたのかな・・・ JasperReportsって、SourceForgeのTop 25 Projectsに入っているのだが、 これってJava系のプロジェクトとしては実はすごいことだよなあ・・・。 保守をかねて 公式サイトのFAQより Q. DETAIL バンドの高さがページの高さを超えると、意図どおりに表示されない件について A. DETAIL バンドの仕様で、高さチェックをしててどうしてもそうなる。 回避する方法は以下のとおり。 1. 複数のグループを作成し、DETAILバンドの中身を適宜そちらへ振り分ける。 2. 1.で作成したグループ全てに対して <groupExpression>$V{REPORT_COUNT}</groupExpression> を指定する。 3. 以上により1.で作成したグループが一つのカラムのように振るまう。 4. GROUPに対しては高さチェックは働かないため、上記の問題が消える。 ついさっきまでハマってた。しかも二ヶ月前に通った道だった。 >>122 の続報だが、今日来たSourceForgeニューズレターによると、 11位になっていた。 detail部分は動的にレコード出力できますが、 空白行を出力することはできないですか? 例えば5行出力したいとして、2行分の動的データが 存在する場合、残りの3行は空白レコード表示とか・・・ >>128 いまいちよくわからないんだけど、次のうちのどれ? (1) 各ページに5行出力したいが、2行の場合も残りを空白にしたい (2) 各ページで2行出力して3行あけたい (3) その他 >>130 普通空白にならんの? jasperReports要素のisFloatColumnFooter属性がtrueになっているとか? >>131 空白というよりも空白行(空行?)にしたいんですよね 線は出つつも中の各項目は空という状態です。 下のようなイメージ ┌−−−−−−−−−−−−−−−−−−┐ |No |商品 |金額 | ├−−┼−−−−−−−−−┼−−−−−┤ | 1 |ああああ | 100| ├−−┼−−−−−−−−−┼−−−−−┤ | 2 |いいいい | 200| ├−−┼−−−−−−−−−┼−−−−−┤ | | | | ├−−┼−−−−−−−−−┼−−−−−┤ | | | | ├−−┼−−−−−−−−−┼−−−−−┤ | | | | ├−−┴−−−−−−−−−┼−−−−−┤ | 合計| 300| └−−−−−−−−−−−−┴−−−−−┘ 空白分の行をつくったらえぇ。 それ以外のやり方があったらボクにも教えて。 >>132 うわっ・・・そういうことかい。 難儀なことを言うなあw 最初から、線を引いておけばいいんじゃないの? 策1: 空白データを作成する DataSource 作成する時に、5の剰余分だけ コレクションに空の Bean を追加する。 「空データも表示する」という業務要求だと思えば自然な処理。 策2: 罫線は Background Band で記述する 用紙に手入力するイメージに近くなる気がする。 策2はデザインが面倒なので (高さや幅変えたくなった時に編集箇所が分散してる) 策1をお勧めするけど。 >>135 やっぱり策1の方法になっちゃいますか。 最初にその方法を考えたけど、もしかすると設定で 実現出来るのかなぁと思ったんで・・・ 策1でやってみます。 SVFをいじってると頭がイライラ。 JasperReportsに戻りたいです。 subreportってデータの量が多いとdetailの大きさに合わせて伸びてしまいますよね? これを回避するためにsubreportのサイズを固定にすることってできますでしょうか? >139 今ひとつ状況が分からず。 p1 | 他 | サブレポ | サブレポ | 他 p2 | 他 | サブレポ | サブレポ | 他 となって欲しいのに p1 | 他 | サブレポ | サブレポ | サブレポ p2 | サブレポ | サブレポ | 他 となることを言ってる? ----------------- detail |他1 |サブレポ1 |他2 |サブレポ2 ----------------- のようになって欲しいのですが サブレポ1のデータの量が多いと ----------------- detail |他 |サブレポ1 |サブレポ1 |サブレポ1 ----------------- のようになってしまって 他2とサブレポ2がサブレポ1の下に隠れてしまいます。 聞き返したくせに放置しててすまそ。 1. 他1グループ、サブレポ1グループ、他2グループ、サブレポ2グループを作成する。 2. 他1グループの Header バンドに他1を貼り付ける。サブレポ1グループの Header バンドに(以下略) 3. Detail バンドは使用しない。 でやってみてはどうでしょうか。 詳しくは >>124 や ↓を参照。 ttp://jasperreports.sourceforge.net/tips.tricks.html#largebands 以下のようなデ−タがDBに存在した場合に 動的にセルを結合して表示する方法を 知っている人いませんか? ●DB -------------------------- | 販売NO | 商品名 | 価格 | |------------------------- | 000001 | XPC | 500| |------------------------- | 000002 | XPC | 600| -------------------------- ↓ ●帳票 -------------------------- | 販売NO | 商品名 | 価格 | |------------------------- | 000001 | | 500| |--------- XPC -------- | 000002 | | 600| -------------------------- 条件としては ・重複しているセルを結合する。 ・重複行数は可変で2行とはかぎらない。 ・中央揃えで表示したい。 jasperreportで無理でしょうか? >143 恐らく無理。 データの持ち方を相当工夫したら結合は可能だろうけど (上セル、下セルの値を持たせて、枠線あり・なしのセルを条件により描画する) それにしても中央揃えとかまでは無理だと思う。 iReportの最新バージョン(1.2.0)使っている人いますか? ダウンロードしてみたのですがメニューがすべて□□□で読ませんでした。 見当つけてツールのオプションを選択しプロパティのLANGAGEを一番下が 英語だろうと見当をつけて選択したら、メニューは英語で表示されたのですが、 まだプロバティ内には□文字が残ります。0.5.1でLANGAGE日本語で使用していた ので日本語にしたいところなのですが、対処方法をご存知の方がいましたら 教えて下さい。 >>145 あきらめて私は1.10を使っています。 すいません、質問です。 Webアプリの帳票作成のため、 JasperReports+iReportの調査中なんですが、 これってJava側からListに入っている文字列なんかを だらだらと表にするときってどうするんでしょうか? BIRTも調べているんですが、同じ問題で詰まってしまって・・・。 JasperReportsは最近いじってないけど、 JRDataSourceを自分で実装すれば、 どんなデータでもだいたい対応できたよ。 で、その自分JRDataSourceの実装を iReportのどっかで指定してやればよかったと思う。 今のJasperReportsだとJRDataSourceの実装が いくつかすでに用意されてるようですね。 そのListの中身がMapの場合は、 JRMapCollectionDataSourceなんてのが使えそうな。 >>146 Javaからの受け渡しはMapになりますのでデータソースを 利用するしかないと思います。Listの中のデータがデータ ベースから書き出したものなら、iReportでデータソース を定義してSQL SELECT文を書けば良いのですが、そうでない 場合はそうできるような工夫が必要だと思います。 >>147 >>148 なるほど。 一応その方法も、最初思いついたんですが、 大変そうな気がしたので、楽なメソッドとか無いかと思ったんですが。 JRDataSoursを自分で実装する方向でやってみます。 >>149 Listの中身がBeanならJRBeanCollectionDataSourceが使えるけどなあ・・・。 Beanを用意しないといかんし、Beanにコピーしなければならないのがめんどくさいけど。 >>150 JRBeanCollectionDataSourceの中身はArrayListみたいだから、 いけるかなぁ?とか思ったんですが、jxmlのコンパイルでこけているので、 それ以前の問題のようで・・・。 サンプルもそのままだとだめだし、英文でいいので資料ないですかね? >>151 JavaBeanのCollectionでなければJRBeanCollectionDataSourceは 使えないと思います。 資料は本家サイトにいくつかあります。 あと、サンプルって、ソースコードも含んだZIPファイル(jasperreports-1.2.0-project.zipかな?) をダウンロードして展開した中にあるやつ? 151です。 >>153 しまった、それではないですね。 今日は退社してしまったので、明日試して見ます。 ありがとうございました。 151です。 サンプルを参考に、 JRDataSourceをインプリメントした独自クラスを作って放り込んだら、 うまくいきました。 ありがとうございました。 TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? すいません、JasperReportsで1/4Pointの線を引くには どうしたらよいのでしょうか? もしかして_? 無理じゃなかろうか。 俺は thin で OK が出たから良かったものの 任意の数値が入れられるようにならんかな。 CSS 並の表現力とまでは言わずとも。 >>158 やはりそうですか、 無理そうなので、ソースいじって、最細の線を引けるようにして解決しました。 任意で設定できればいいのに・・・。 Open Discussion フォーラムで提議してみてはどうか。 拙い(俺だけ?)英語で盛り上げようぜ。 Java でレポート作るなら JasperReports が一番? 用途によりけりだろうが JasperReports が最適、 JasperReports で十分、JasperReports で妥協できる、 な範囲はそれなりに広いと感じる。 157氏みたいにスキルが許せば、足りない部分を付け足すことも出来るし。 試してみる価値はあるよ。オープンソースだから 気に食わなければ使わなければいい。 時間は戻ってこないが、金はかからん。 JRDataSourceをimplementsして値をレポートに渡すのは わかったけどさらにサブレポートに値を渡すという方法がわかりません それぞれの方法はわかるんだけど・・・ 同時、というのは無理? どこで詰まってるのか今ひとつ分からないので もっと詳しく聞かせてもらえないだろうか。 > 167 レスありがとうです なかなか伝えにくいんですが 1. JRDataSourceを使用した連続帳票(自動改ページ) --> 成功 2. 1. のレポートにサブレポートを追加 --> うまくできない 2. でサブレポートを追加したんだけど Javaクラスからどうやってデータを渡したら良いかわからないのです JRDataSourceにはサブレポートを渡せるような実装は できないし・・・ ただサブレポートのみ、であれば JRBeanCollectionDataSource を使えばうまく出力できました これを同時にできないか、というところです たとえば fillReportxxxxx を2回続けて発行できれば、なんて思うけど fillReportxxxxx(); ---> 明細マップのフィル fillReportxxxxx(); ---> サブレポートへのフィル あら、もしかしてこれって可能なのかな??? 伝え方が悪くてすみません >>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の方はもうよく覚えてないので、適当に試してみて。 > 169 ありがとうございます、すごく助かります 確認してまた報告します >168 親レポートオブジェクトが子レポートオブジェクトのリストを持つような構造を定義して、 それを親の JRDataSource が返すようにする。 ではダメですか? すいません。JasperAssistantってライセンス購入必要でしょうか。 Crosstabの列名を可変にしたいとおもっています。 列名にJavaでセットする予定のパラメータを割り当てて帳票を出力してみたところ 1列目だけ値が置換されて2列目以降にパラメータ名がそのままでてしまいました。 どのようにすればよいか教えていただけないでしょうか。 連続帳票をひとしきり出力した最後のページに 別レイアウトのページを1ページ追加するような pdfを作成することはできますでしょうか? JavaDocを調べてみたら 2つのJasperReportを作成して JasperReport1.addPage((JRPrintPage)JasperReport2.getPages().get(0)) で出来るかな? とメモしてみました。 まだ正式に要望があった訳ではないので試してませんが・・・ 訂正:JasperPrint1.addPage((JRPrintPage)JasperPrint2.getPages().get(0)) >>174 一番てっとり早いのは、<summary>タグじゃないか? 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の設定等で、これを回避することは可能でしょうか? >>178 ちょっとぐぐってみましたが、AntとかJasperReportsとは関係なさそうですね。 ひょっとしたら役に立つかも・・・。 ttp://bbs.fedora.jp/read.php?FID=2&TID=364 >>179 遅レスすみません。 XWindow関連かと思い、それならAntの設定で回避できるのではと 考えていたんですが、やっぱりlibXp.so.6を入れないと無理ですかね。 jdk1.5では出ないという話もどこかで見かけた気がするんですが それもまた影響範囲が大きい……。 入れる方向で検討します、ありがとうございました。 JVM の起動パラメータを操作可能なら、 -Djava.awt.headless=trueを指定してはどうでしょうか。 ネイティブなAWT実装を使用しなくなるため、 libawt.so に依存しなくなる、と期待したい。 詳しくはググってくれ。 現在java+iReport+JasperReportで帳票を作成しております 普通の帳票は問題なく作成できましたが 次のような行可変のテーブルが2つある場合の 帳票の作り方が解らず困っております よろしくお願いします [作成予定] 算数 -------------------------- | No | 名前 | 点数 | |------------------------- | 01 | あああ | 100 | |------------------------- | 02 | いいい | 80 | -------------------------- 国語 -------------------------- | No | 名前 | 点数 | |------------------------- | 01 | あああ | 100 | |------------------------- | 02 | いいい | 80 | |------------------------- | 03 | ううう | 70 | -------------------------- 固定文字列のしたに可変行のテーブルを表示したいと思っています この場合どのようなグループの設定をすればよろしいのでしょうか? またJAVA側からどんなCollectionを送ればよろしいのでしょうか? よろしくお願いします。 科目ごとのグループにすればいいんじゃない? グループごとに票を分けるのはサンプルをごらんあれ 一つの科目に限れば普通の帳票になるので、 それを Subreport とした帳票を作ってはどうか。 /demo/samples/subreport とか参考にして。 AddressReport.jrxml ← 全科目帳票 ProductReport.jrxml ← 科目別サブレポート にそれぞれ対応すると思えばいい。 >>183 ,184 ご意見ありがとうございます、やってみます。 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします 明細が2列のレポートを作成した場合、最終ページが2列目で終了すると 空白ページが差し込まれるという現象が発生するんですが何か対策はないでしょうか? サブレポートを使用してサブレポート内で2列明細を使用した場合も同じような 感じです。 117 から数レスほど読んで、該当しなければ もう少し詳しく説明してみるヨロシ。 あと列じゃなくて行だよね。 2列というのは、jasperreportタグのcolumncountを2にした場合の事です 2列目で終了した場合、サマリーバンドを新しいページで追加しようとしているようです 失礼しました。 段組はやったことないのでなんとも。。 Forum を 「columnCount blank」で検索すると ・サマリーバンドを高さ0にする。 ・サマリーバンドを消す。 ・サマリーバンドのprintWhenExpressionにBoolean.FALSEを指定する。 など書かれてるようですが、 2003年頃から言われてて2006年でもごにょごにょやってるんで 完璧なバグフィックスはされてないのかも知れないですね。 よう分からんです。 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です 仕事でJasperReportsを使ってPDF出力をやるって話になっているのですが、 調べてもわからない事が多いので質問をさせてください。 ●やりたいこと iReportを使って1人分の雛形を作っておいて 1つPDFファイルの中に人数分同じ雛形を動的に作成したい。 調べている途中なので変なソースかもしれませんが にしてあります。 これで単純に同じ1つの雛形を作っておけば1つのPDFファイルの中に同じ雛形のデータが2つできるのかなと 思っていたのですが、上書きをされてしまって1つ分のデータしか出来ません。 実現方法がわからないので何かアドバイスがあったらお願いします。 ※ソースは後述 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"> のようにしています。 for の囲いを取り払って、fill してる行を以下の4行にしたらどうなります? JRDataSource dataSource = new JRBeanArrayDataSource( new Object[10] ); jPrint = JasperFillManager.fillreport(jReport, parameters, dataSource); font.propertiesで指定している論理フォントを埋め込みたいんだけど どういう風に指定すればいいか、誰か知っていたら教えてください。 テストサーバと本番サーバで、 フォントの入ってるディレクトリのパスが違うので それが解決できればいいんだけど、 それには論理フォント指定が出来ればいいかなと。 少なくとも、ネットで見つかるフォントの埋め込みをやってるサンプルは どれもフルパスで指定してたので、 そうではなく相対パスで指定したいと思ってます。 プロパティファイルを読みこんでくれればそれでも解決なんだけど。 サンプルにあったFontってのが、なんだかそれっぽい事をしてたけど 真似しても上手くいきませんでした。 ただ、font.propertiesとかいじったの初めてなので、サーバ設定の方が悪いのかもしれない……。 >197 サンプル見てみたけど、FONT_MAP に put してる フォントオブジェクト作成する際の物理フォントのファイルパスを プロパティファイルか何かで取得するようにすれば それで用件が満たせそうな気がする。 ・デザインファイル(*.jrxml)は一つ ・コンパイル済みデザインファイル(*.jasper)は一つ ・プログラムは一つ ・プロパティファイルは開発用と本番用の二つ 実際に試してみてないのでこれで行けるとは断言できんけど。 >それっぽい事 具体的にどんな事をしたんでしょうか。 >>198 それは、jrxmlからjasperを作るときに、プロパティファイルを読み込んで 値を変更するって事でしょうか。 そうではなくて、jasperからプロパティファイルを読み込ませる方法があるのかな? それっぽいことと言うのは、 今、サンプルも自分のソースも手元に無いから詳細は違うかもしれないけど。 確かサンプルの方では、fontNameがSerif、 pdfFontNameがフォント名(Times New Romanだったかな?) になってる部分があったと思います。 また、Serif等の論理フォント名はfont.propertiesを見て決めていると Linux上の日本語フォントの扱いを調べていて知りました。 なので、上記の構成を真似て font.propertiesのSerifにマッピングするフォントを日本語TrueTypeフォントに変更し、 fontNameにSerif、pdfFontNameに使用した日本語フォントの名前 (Windowsで、ダブルクリックした時のフォント画面で表示される名前)を 設定した、のだったと思います。 しばらく前の記憶を頼りに書いているので、詳細は違うかも。 > それは、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 内部で指定できるかどうかは ちょっと試してみないと分からないです。 >>200 レス遅くなってすみません。 それでやってみます。 他にも何かやり方がありそうだったら、また報告します。 ttp://www.thinkit.co.jp/free/tech/4/4/1.html のサンプルを試そうとしたら JasperReport jasperReport = JasperCompileManager.compileReport(templatePath); で java.lang.NoClassDefFoundError: org/apache/commons/digester/SetNestedPropertiesRule が発生しました。 このクラスはどこにあるのですか。 >202 です。 自己解決しました。 TomcatPlugin内のDevLoader.zipを解凍して Tomcatのlibフォルダに入れることで解決しました。 ですが、次は java.lang.NoClassDefFoundError: org/apache/commons/javaflow/bytecode/Continuable が発生してしまいました。 解決方法を教えてください。 >>203 NoClassDefFoundErrorが起こっているクラスのパッケージ名から、 どのライブラリが欠けているか、想像できない? <チラシの裏> それにしても、Commons JavaFlowなんてものがあるのか・・・。 そしてJasperReportsで使ってたのか・・・。 </チラシの裏> >>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で動く。 書いてから気づいた、TomcatPluginって eclipseからTomcat立ち上げるための設定なのかな? そうだとしたらスマソ、中段はちょっと的外れだったかも。 ┌──────────┐ │┌───┐┌───┐│ ││リスト││リスト││ ││ ││ ││ ││ ││ ││ │└───┘└───┘│ └──────────┘ こんな感じの帳票を作りたいんですが、 どうすればできますでしょうか。 ずれまくってる・・・ 1枚に明細が2つある帳票です。 左の明細と右の明細は同じ構造?(段組なのか、違う構造を並べるのか) 段組ならサブレポートのサンプルがまさにそんな感じ。 違う構造並べる場合は、高さ調整とかどうなるのか分からない。 >>209 回答ありがとうございます。 同じ構造でいいです。 ご指摘のサンプルを動かしてみましたが、 サブレポートが表示されないんですが。 レポート実行時のDIRをどう指定しても表示されません。 ちょっとレスの内容と違うが、 帳票って知ってる人って少ないと思わない? ついに1000体突破かよ アイロボットみたいだな 株ロボもいつか夢を見るようになるのかなぁ 外字を含むデータを出力することは出来るのでしょうか。 外字使うフィールドと通常文字使うフィールドが分かれてるなら出来る。 同一フィールドに混在させるなら制限付きになりそう。 絶対に使わないコードポイントを外字に割り当てて、 かつ、そういうフォントを用意する、とか。 iReportのeclipseプラグインがリリースされてた。 rmi使ってeclipseからiReportや新規ウィザードを起動させてるみたいなんだけど正常に動かない(><) 試された方います? XLSで出力するときに、印刷範囲の指定って出来ますか? JExcelAPIのSheetSettingで設定できるというところまでは調べたのですが、 JasperReportsからアクセスするメソッドが見当たらないんです。 やっぱりJExcelAPIを単独で呼び出すしかないんでしょうか。 簿記の正式な書式って結構うるさいけど、 その正式な帳簿として出力含めてできますか? レコードを横方向に伸びる形で表示することは簡単にできますか? 縦方向に伸ばすのは楽だが 横方向に伸ばすのは無理だと思ったほうが。 excelで出力するときにバージョン指定ってできる? execl2000,excel Xp で出力するみたな。 Excel 出力は jakarta-poi の 2.0-final を使ってて、 POI 自体は 97(-2000) 互換のファイルを作れます、だそうで。 POI について詳しく調べてないけど、 出力バージョンの制御ってなかった気がする。 そもそも Excel のフォーマットが 97/2000/XP でどれだけ違うのかが分からない。 >>228 なんかOSとごっちゃになっているみたいだが、 ExcelのフォーマットはOffice 97からOffice 2003まで変わっていない。 2007で変わってしまったみたいだが。 レスthx。 私は2000をつかっているのですが、昔XPとかをつかったときに 保存形式に2003とかあったような気がしたので。。。勘違いしていたようです。 ありがとうございました。 Windows2003サーバに環境を上げて 某複合機に印刷したらTomcatサービスごと落ちた。 他のプリンタでは問題ないし旧環境でも問題なかったので ドライバのせいだと思うのでスレチガイ失礼。 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); 何が問題なんでしょう? アドバイスお願いします。 状況説明の仕方に問題がありそうだが。 > iReportでは問題ないのに サンプルでは問題なく動いたのに、の意味なのか? iReport上の環境で実行したら問題ないの意では? >>234 携帯から書き込んだので、端折った書き方をしてしまいました。 わかりづらくて申し訳ありません。 >>235 さんが書かれている通り、iReport上で「空のデータソースで実行」すると正常に 表示がされます。 なのでXMLファイルには問題ないと思うのですが(サンプルですし)、かといってコードに問題あるとも思えず・・・。 iTextのバージョンが2.1.0なんですが、バージョンの組み合わせが悪いとかあるでしょうか? > バージョンの組み合わせが悪いとか 特定の組み合わせのどれがとかって、 商用プロダクトでもロクに調べないわけで。 とりあえず JasperReport 添付のバージョンで試してみてはどうだろう。 あとは空の Map の代わりに JREmptyDataSource 使ってみるとか。 パス指定で問題起こした場合(=自分のミス)を除けば プログラムからのPDF作成で 画像が出なかったことってなかったですよ。 >>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で再起動してから再度試したところ、無事に画像が表示されました! 私の環境だけかもしれないですが、バージョンの組み合わせにより問題が出るようです。 お騒がせしました。ありがとうございました。 メインレポートにサブレポートを動的に(javaで)変更する 方法はあるのでしょうか >>239 おそくなったが、 iReportでサブレポートのプロパティ → サブレポート(その他) のサブレポート表現をパラメータで渡せば出来るんじゃないか? 試したことないけど、 フィールドにjavaから値を設定しています。 テキストを右寄せ、左寄せ、中央寄せはできるのですが 均等割りみたいなことは出来ないのでしょうか。 >>241 できないと思う。 例えば 固定幅のフォントにして文字列に対してスペースを入れ込んでいくとか。。。 ちょい無茶か いつの間にか3.0.0出てた。 この前2.0.0が出たばっかりたったのに・・・ >>243 ほんとだ っつかiReport3.0出てるのな。。。 知ってる人いたら教えてください。ググったんだけどレスついている書き込み が無くて、お手上げToT iReportでサブレポートを使ってみたんだけど、サブレポートの部分が表示され ないんです。2.0.4/2.0.5/3.0.0で試しました。 物としては、StaticTextを貼り付けただけのサブレポートをメインのレポート に貼り付けただけ。それでJRViewerでプレビューしてみたけど何も表示されない。 メインにStaticTextを貼り付けるとそれだけ表示される。 何か設定が足りない?不具合? >>245 「サブレポート表現」のパスの指定が間違ってるとか 「データないとき」プロパティに「no-data section」指定してるとか みないとわからんね >246 サブレポートを使っているサンプルをいくつかダウンロードしたけどみんなダメです。 >247 レポートの作成にはiReportを使ってます。「データ無いとき」に「no-data section」 を指定しているつもりはないんですけど、ちょっと見てみます。 っていうことは、みんなの環境ではサブレポートを使っているレポートを作れてる? 2.0.4/2.0.5/3.0.0/で動作情報あれば教えてください。 >>248 ずーっと 出来てますよ。(っても触りだしたが2.0.xからだけど この間3.0.0に上げたけど問題なく出来てます。 環境は ウェブアプリ、全体的には EclipseRCP×HttpInvoker なんだけど PDFの出力だけ内部ブラウザからアクセスさせてるから Jasper部はウェブアプリ 僕がサブレポートで躓いたときは 「サブレポート表現」に絶対パスを渡すのがミソだった >249さん 確認ありがとうございます。 それと原因わかりました。作成していたサンプルはサブレポートにデータソースもなにも ないレポートをつけていたのですが、そうだと表示されないみたい。 Tutorial SWFのサブレポートを真似してDB(レポートクエリ)からデータをとってくるように したらサブレポートが表示されました。 実際は、Java(Webアプリ)から配列で情報を渡して配列の内容を一覧してくれるような サブレポートを作りたいのですがどうしたらよいか・・・。もうちょいサンプルをググって見ます。 ともあれ、サブレポートの動作確認はできました。有難うございました。 参考までに 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); こんな感じかな? >>251 メインとサブで 同じデータソース(list)になっちゃってるけど気にするなwww 環境を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でははみ出してもプリコンパイルも表示もうまく いっていたのですが・・・。 元々なぜバンド領域をはみ出してレイアウトしているかを説明すると長くなるので 割愛させていただきますが、現状のままバージョンアップをしたいと考えています。 何か回避方法はありますでしょうか? >>253 無理だと思います。 割愛している必要性の部分が想像できないので代替方法の提案もできないです。 無理でした。 throwしている部分をソースを修正し強引に回避してcompileReportToFileはとおるようにしましたが 表示ができませんでした。 それで結局はみ出さないようにレイアウトを変更することで解決しました。 0.6.7ではdetail部分に表示する表のヘッダ(タイトル部)をpageHeaderにレイアウトしたとき 表のヘッダの罫線をpageHeaderからdetailにはみ出さないとヘッダと明細の表の罫線がうまくくっ付かなかったので 線をくっ付けるにははみ出さないとダメというjasperreportsの仕様だと思ってました。 でも本来の仕様は2.0.5が正しいということなのですね。 失礼しました。 本家サイトにアクセスすると ランタイムエラーが発生しました。 デバッグしますか? 行:nnn エラー:'s'は宣言されていません。 となるよぉ >>256 ウザイよね。 リニューアルしてから、iReportのEclipseプラグインのアップデートサイトがつながらないのが困る。 フォーラムに同じ質問投げてる人いるけど、回答なし。 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 用紙向き: 横長 >>258 attribute.add(OrientationRequested.LANDSCAPE); ではどう? 或いはプリンタの設定で90度回転とか? >>259 回答ありがとうございます。 返信遅くなりました。 attribute.add(OrientationRequested.LANDSCAPE); を指定した場合。 プリント イメージ が90度回転した形で出力されてしまいます。 attribute.add(OrientationRequested.PORTRAIT); を指定した場合。 iReport で横長指定をしている物をJAVA(jasper)側で、縦長指定している為に イメージの後ろが切れてしまいます。 プリンターの回転についてですが、プリンタードライバーに回転が見当たらず ハード側(プリンター本体)からの指定が分からず調査中です(指定がなさそう) プリンター: EPSON VP-1850 (ドットプリンター) 連続用紙を使用 今回はありがとうございました、また良い案がありましたら アドバイスおねがいします。 iReportのウィンドウメニューで「左右に並べて表示」と「上下に並べて表示」が 実際の動作と逆転していて混乱しませんか? JasperBabylonで管理されてるんでしょうか? 誰か直して(指摘して)くれるとありがたいです(´・ω・`) >>260 ん!>>258 で「90度回転した形で出力されてしまいます。」 出力時に90度戻せばOKだと思ったんだけどそうじゃないの? 現状の用紙の方向と印字の向きがよくわからないよ。 複数の表示エレメントに同じ条件の<printWhenExpression>を設定したい場合 どこかに条件を定義してそこを参照することってできないですかねぇ 条件を修正することがあると全部直さなきゃいけない >>264 なるほど。目から鱗です。 て実装方法がピンとこないけど試行錯誤してみます。 ・・・ ページが変わったときに変数を更新するにはどうしたら・・・ と心配していましたが、試行錯誤することなくアッサリとできました。 さんくすでした。 しかし、pageheader、pagefooterバンドのところで1ページ目だけに 表示するように条件式を入れたんですが、pageheaderバンドだけ どうしても2ページ目にも表示してしまい断念しました。 バージョン0.6.7だからかなぁ。 >>266 どんな条件で表示判定しようとしてる? incrementType とか設定してる? >>267 <variableExpression>と<initialValueExpression>に [new Boolean($V{PAGE_NUMBER} == 1)]を resetTypeは"Page"にしてその他は何も設定していません。(iReportのデフォルト) 症状として、 ・1ページ目には表示されている。 ・2ページ目の pageHeader に表示、pageFooter に非表示 ・3ページ目以降はどちらも非表示 で、2ページ目の pageHeader のみおかしいと。 pageHeader 表示の判定で、variable が評価されるタイミングが、 $V{PAGE_NUMBER} がインクリメントするタイミングより早いとか? pageHeader/pageFooter 使わずに group の header/footer 使ったら、評価の順序が調整されるかも。 まるっきり希望的観測ですけど。 >>269 症状はそうです。 3.0.0でやっても同様の動作でした。 1帳票に同じ条件のprintWhenExpressionが最大40箇所あって Variablesでなんとかなれば動作的にも若干軽くなるところなのですが・・・ とりあえずVariablesでのフラグ化はあきらめておとなしく全部の項目に条件式を入れました。 さんくすした。 役に立てなくてすまんかった。 ところで、今更でもうしわけないんだけど Integer を引数にして Boolean を返す static メソッド持つ 適当なクラス作って、クラスパス通しといて printWhenExpression の中でそのメソッド呼ぶのが 手っ取り早かったかも知れない・・・ Variables と違って評価順も明快だろうし。 動作的に軽く云々はまた別の話かも。 JDK1.5、Eclipse3.2でjasperReports2.0.5使ってます。 携帯からの書き込みのため、正確でない部分がありましたらすみません。 数種類の帳票をexportReportToPdfStreamで作成してますが、同じページ数でもデータ量の多い帳票は、このメソッドですごく時間がかかってしまいます。 開発環境がAMD Sempron1GHz、メモリが1.5GHz、JVMのオプションでメモリの最小最大とも512MHzを指定していますが、600ページ程のPDFにするのに15分、場合によってはOutOfMemoryErrorで作成できないことがあります。 上記メソッド実行中、CPU100%になります。 速度とメモリエラーとCPU100%になるのを改善したいです。 アドバイスいただけないでしょうか? さっそくメモリの単位間違えてました。 Hzじゃないですね。すみません。 フィールドの背景をjavaで動的に変更したいのですが なにかいい方法はあるでしょうか アドバイスよろしくお願いします。 >>272 亀レスだが 直接ファイルに出力する(FileOutputStream)とか、 パイプする(PipedOutputStream)とか、 あとは中身みてみないとわかるわけないね。 >>274 背景に使う画像ファイルのパスを変数にすればおk 275さん、ありがとうございます。 自分の説明不足で申し訳ありません。 フィールドの背景色を動的に変更する方法はないですしょうか >>276 書き込んだ後、そうかなーって思ったwww ちょっと調べてみたけど、情報みつかんない。 本家のフォーラムに同じ事やりたいって書いてある人にレスついてないし 無理矢理やるとすれば、未コンパイル(jrxml)のままファイルを置いておいて編集してからコンパイルするってのが出来るかもしれないけど、非現実的だな あとは、できあがったPDFを編集するとかかなー Jasperreportsだけじゃ無理っぽいス JasperReportsに限った話ではないと思いますが 例えば発注書を作成するとして 長い品名があるとき皆さんはどう対応してますか? やむを得ず印字できるところまでであきらめますか それともデータを加工して改行したりしてますか >>278 大抵、jakarta commons で省略する 一回だけタックシールの印刷の時に全文字はいるようにフォントサイズの調整をした事があるなー VB6だったけど。 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 日本語のイタリック、ボールドが効きません。 なにか方法ありますか? パチもんのことをバッタもんと言わないでください パチもん→コピー商品 バッタもん→倒産した会社から安く買い叩いた正規品 Excelで言えば パチもん→OpenOffice バッタもん→秋葉原でガイジンが売ってる緑のCDのExcel ということか。 で、誤爆は何になるんだ? >>282 もう解決しているかもしれんが、 HeiseiKakuGo-W5,Bold HeiseiKakuGo-W5,Italic でおk >>261 ∧,,∧ ( `・ω・) ウーム…ここは? / ∽ | しー-J POIでのExcelファイル出力で、 漢数字フォーマットの数値セルって不可能? 日本語版Excelは"[DBNum1][$-411]G/標準"みたいにして 漢数字フォーマットを扱えるんだけど、 POIのHSSFDataFormatは"[DBNum1]"に対応してない気がするんだが。。。 iReport3.0.0/pdf出力がしたいです サブレポートを使った帳票を作成しています。 mainのdetailにサブレポートを指定していますが、 出力した時に、インデントがずれて右よりになってしまいます。 レイアウト上はサブレポートもdetailの左端に揃えているのですが…。 解決方法はありますでしょうか。 >>289 余白「0」設定してませんでした。。。 無事、揃えて出力ができました。 ありがとうございます。 すいません。さらに別件で質問です。 グループ指定についてです。 一覧表で、「ユーザー名」または「登録日」の どちらか一方が変わるごとに、金額合計を表示したく、 「ユーザー名」と「登録日」の2つのグループを作成し、 各フッターに「一覧合計」の欄を設定しました。 しかし、「ユーザー名」と「登録日」の両方が同時に変わると 一覧合計が2つ表示されてしまいます。 上記の場合は、一覧合計の表示は1つで良いのですが、 そのためにはどのように設定したらよろしいでしょうか。 >>290 亀だけど、ユーザ名と登録日を結合したフィールドを使えば良いかと 用紙サイズの違う2つの単票をJasperPrint1.addPage((JRPrintPage)JasperPrint2.getPages().get(0)) で、1つのPDFファイルにまとめています。 1ページ目はA3、2ページ目はA4のようにiReportで指定した用紙サイズで印刷したいのですが 2ページ目もA3になってしまいます。 設定方法をご存知の方教えてください。 Webアプリと帳票出力処理(JasperReport)が別サーバの場合、 画面からの同期処理でPDFするには、どういう方法がいいですか? アプリから別サーバに投げて、その結果をアプリが返せば良いんじゃない? JasperReports3.5.3で自動改行できないのですが、自動改行のためのプラグインなどが必要なのでしょうか? 3.5.3固有の挙動なのか、そうじゃないのかが分からないので、 JasperReports 使ったことがほとんどないならそう書いた方が 適切な回答が期待できると思う。 後者だと仮定して、 stretch with overflow を指定しない場合、 確保した矩形領域分しかテキストは出力されませんよ。 >>298 ありがとうございます。 stretch with overflowを設定したら解決しました。 JasperReportsは勉強始めたばかりです。 「JasperReports 3.5 for Java Developers」という参考書に掲載されていた サンプルコードをそのまま利用したけど、実行結果が違ってて悩んでいました。 サンプルコードにはstretch with overflowの設定は書かれていませんでした、 参考書のコードが間違っていたようです。 その本は読んだことないので推測になりますが、 最初の一歩的な例として、細かい話はあえて省略してるのかも。 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 に出力することが可能かどうかご存じな方はいらっしゃいませんか? JasperPeportsで色々試して、結果 FastPDFGenで解決ってことになりました。 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を使って表示すると罫線までちゃんと出るのに、何故ブラウザから表示すると ダメなのか・・・大分調べたのですが原因不明です。 どなたか、ご存知の方いらっしゃいましたらよろしくお願いします。 規制を食らって書き込めませんでした。 >>303 は私ではありません。 半ば諦め気味ですが、相変わらず試行錯誤してます。 花園フォント側で尋ねた方がいいのでしょうか... iReport3.6.1で帳票作成してます。 このスレをざっと流し読みしてて、ついさっきBackground Bandの存在を知りました。 羅線をBackgroundに描けたらいいなと思っているのですが、位置合わせがめんどくさいです。 Backgroundはデザイン時にPage HeaderやDetail等と重ねて表示出来ないのでしょうか? A4縦の用紙でラベル印刷用に2列×5行の帳票レイアウトを作成しました。データソースはJDBCです。 フェッチしたデータ Data1, Data2, Data3, Data4 上記データを例えばレイアウトの2番目の位置からセットしたいのですがやり方が分かりません。 下記のように出力したいのですが、PDF生成時にパラメータで印字開始位置を指定する方法はないのでしょうか? [ブランク][Data1] [Data2][Data3] [Data4][ブランク] [ブランク][ブランク] [ブランク][ブランク] iReportで画像埋め込むのどうすればよいでしょうか? どこにもそれっぽいアイコンが見当たりません iReport-nb-3.6.1使用しています。 JasperReportsに限ったことではありませんが。。。 作成したPDFをページ表示させず、 クライアントの「通常使うプリンタ」で印刷させる方法はないでしょうか? JSP帳票アプリケーション実践開発入門っての買ってきた これから読む iTextを使うみたい 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" ...> 逆に、レーザーで印字すると真ん中に縦に印字されてしまうので、位置合わせは完全にドットインパクトプリンタでやった方がいいだろう。 >316 H 5 inch x W 11 1/2 inch すまん H 5 inch x W 10 1/2 inch の間違い。 JasperReport使って帳票案件やるんですが・・・ 日本語フォント何使ってます?iTextのデフォルトにするか IPAフォントあたり入れるか悩み中・・・。 辻とかの文字がデフォルトだと問題あるしかといって別のフォント入れるとファイルデカくなるし、うーん。 iTextのデフォルト使ってました。 変な文字が出ることは無かったけど、「辻」ってダメなの? >>319 今俺や君は普通に辻って打つと辻って出てくるけど iTextのそれだと辻の点々が一つしかない。 Xpででてくる点ひとつの辻が出てくる。 変な文字っていう表現が間違ってたかな。正しいは正しいんだよ多分どっちも。 正確にはXPやiTextの辻はJIS2004対応じゃない辻 今のWin7はJIS2004対応の辻 でも今回の客その辺異常にこだわるんだよね…。 あー、通常利用の範囲内なら誰も気にしないけど、 個人の名前や、公的機関だとクレームになりそうね。 >>321 なるね多分。 うーん。Webでも使おうって話まであるからできれば 軽いに越したことないんだけどなあ。 軽さは諦めるしかないかな。 ★2ch勢いランキングサイトリスト★ ☆ +ニュース ・ 2NN ・ 2chTimes ☆ +ニュース板新着 ・ 2NN新着 ・ Headline BBY ・ Unker ☆ +ニュース板他 ・ Desktop2ch ・ 記者別一覧 ☆ 全板 ・ 全板縦断勢いランキング ・ スレッドランキング総合ランキング ☆ 実況込み ・ 2勢 ・ READ2CH ・ i-ikioi ※ 要サイト名検索 最近使ってんだけど、これってあるフラグを見て その場合だけフィールドに下線引いたりとかできるのかな…。 フィールド二つ用意してフラグでこっち表示あっち表示ならできるんだけど さすがに下線ひとつでそれやるのはちょっとやり過ぎな気がする…。 下線では無いですが、指摘のような使い方してましたよ。 >>328 それしかないかなあ。えらく複雑怪奇なテンプレートになりそうで嫌だな…。 もう少し調べてみてそれしかなさそうならそうするか…。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 3RUV4 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる