Web アプリに html ページとして埋め込まれたレポート、またはpdfとしてダウンロード可能なレポートを生成したいと考えています。したがって、 JasperReportsはこれらの要件を満たすと考えていたため、JasperReportsに出会いました。
現在、レポートは約 50 ~ 100 ページあり、ほぼヒストグラムといくつかの表のみで構成されていると想定しています。データは、DB からいくつかの高価なクエリによって取得されます。
一日中評価した後、Web アプリの側面に関していくつか疑問があります。
1) ページネーション: もちろん、すべてのページを 1 つの Web ページに表示したくはありません。ページネーションのようなものが必要です。しかし、JasperReportsはこのアプローチをサポートしていないようです。JasperReportsに付属している wepp デモは、進むべき道を示しています。JasperPrintを作成する必要があります。これは、すでに完全なレポートであり、不要なメモリを割り当て、高価なクエリを実行しています。その後、1ページを表示できました。しかし、これをページごとに何度も行うことは、適切な解決策とは思えません。
2) 前述のとおり、レポートはほとんどが図で構成されます。JasperPrintをその出力形式にエクスポートする際に画像が生成されます。すべてが正しいことを理解していれば、 JRに付属のImageServletは機能しますが、これらの画像を取得するには
i) 生成されたイメージをファイル システムから読み取ります
。ii) エクスポータはそれらをセッションに保存しました (したがって、メモリに)。
大量の画像があると思うので、Web アプリケーションのメモリ フットプリントを低く抑えたい場合、ii) はオプションではありません。しかし一方で、ファイルシステムをファイルであふれさせることも、私が想像できる最良のアイデアではありません。いつかファイルを削除しますか?
何か問題がありましたか?私の理解は正しいですか?