2011-11-23 43 views
15

私の上司は、WebアプリケーションからPDFで請求書を欲しかったと私に尋ねました。誰もがJasperReportsとiReportを使ってデザインしてみました。私のWebアプリケーションは、Java + HibernateとSpringに基づいています。当初、ジャスパーはうまくやっていたようだ。とにかく私は2つのことによって止められました:JasperReportsの代替手段をお探しですか?

  • iReportは私の人生で今まで見た中で最も遅いものです。
  • もっと真剣に、クラス階層がある特定の豆があり、ジャスパーでこれを処理するのは非常に複雑です。私のオフィスの誰もがSQLクエリーでJasperを使います。その方法は簡単で便利なツールですが、私は豆をレポートやサブレポートにマッピングしてほんの少しの作業に費やしていました。

私はDynamicJasperを見ましたが、それを使ってレポートをデザインすることはできません。どう思いますか?代替手段を使用する方が簡単ですか?

+0

Java + HibernateおよびSpringと連携して動作する代替製品をお探しですか? –

+0

DynamicJasper APIはJasperReports APIの「ラッパー」です –

+1

iReportのパフォーマンスに関しては、最近の4.1.xと4に何らかのバグがあります。5つのリリース。詳細については、このフォーラムの記事をチェックしてください:http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=94781#95291クラスパスを削除/再設定することで、iReportのパフォーマンスが私にとって大きかった。 – kaliatech

答えて

2

iReportの代わりに、JasperReportsのJasperWaveデザイナーを試すことができます。 2番目の問題に対処するために、Bean構造をレポート構造に変換するいくつかのヘルパーJavaコードを記述してみませんか?いずれにしても、ある種のフラット構造にJavaオブジェクトをマップすることは常に容易ではありません。基本的なBean構造の複雑さを隠すJavaインターフェイスをいくつか作成します。 2番目の問題が代替のレポート解決策を探す理由であるかどうかは不明です。

4

時間(通常は、あなたの上司があなたに何かを手場合のように)本質であるならば、私はiTextのを(メインのサイトがhereある)チェックアウトをお勧めします。

20分で簡単な「Hello、PDF!」の例を作成して実行することができます。非常に簡単です(テーブル、リスト、グラフ、イメージ、ハイパーテキストなど

私自身の入場によって、JRBeanCollectionDataSourceを実装しているJasperReportsは、より洗練された、柔軟で永続的なソリューションです。しかし、単にPDFを作成するためにすばやく汚い図書館が必要な場合は、が迫っています。私はiText JARをダウンロードしてダウンロードします。

このサイトには、達成したいと思うものの実用的なコード例が満載されています。

JasperReportsとは異なり、iTextはレポートジェネレータではありません。その唯一のPDFジェネレーター(私はあなたの質問では、あなたが必要なすべてのように聞こえる)から伝えることができますから。だから、任意の特定のビーンのために、あなたはちょうどあなたがPDFの請求書にエクスポートしたいプロパティを選択して、あなたが必要とするよう文書にそれらを追加するChunkParagraphなどのクラスを使用します。

// Your POJO/Bean/VO 
Employee oEmp = new Employee(); 

Document oInvoicePdf = new Document(); 
PdfWriter.getInstance(document, new FileOutputStream("/invoices/2011/Invoice201.pdf")); 
document.open(); 
document.add(new Chunk("Employee's name is : " + oEmp.getName())); 
document.close(); 

たとえをこれはあなたが探しているものではありませんすべての費用Apache PdfBoxのを操縦することをお勧めします。私の謙虚な意見では、それは純粋な悪であり、あなたの心を壊すだけです。

これが役立ち、運が良ければ幸いです。

+0

2番目のPDFBoxは難しいです。内部データ構造はメモリリークを乗り越えているようで、大きなドキュメントを扱うようには設計されていません。私はソースPDFを閉じて再オープンする必要があり、残っている不要なデータをすべて消去する必要がありました。 私は本当にこれらの問題を解決することを願っています。 –

+0

これに新しいアップデートはありますか? – powder366