轻量级Java报告引擎

时间:2009-08-19 00:06:29

标签: java reporting jasper-reports

我正在寻找一个嵌入applet应用程序的轻量级java报告引擎。

我的第一个选择是Jasper Reports,但是罐子超过2Mb,有点太重(太臃肿)以满足我的需求。我不知道是否有模块化的碧玉分布,功能分为几个罐子(如html渲染,pdf,excel,编译,运行时等)。

我需要使用Swing预览报告并打印它。 PDF导出是一个加号。

6 个答案:

答案 0 :(得分:6)

Jasper Reports确实包含一个具有预览和打印报告基本功能的jar。它打包为jasperreports-x.x.x-applet.jar,大约350k。

答案 1 :(得分:4)

我知道这有点晚了,但根据您的要求,我工作的公司提出的报告解决方案似乎非常合适: i-net Clear Reports (曾经是i-net Crystal-Clear)。

  • 轻巧简单的查看器(类似于PDF查看器)
  • 非常简单易用的API
  • 可以导出为一堆不同的格式,包括PDF
  • 支持任何JDBC数据源,或者手动设置数据
  • 可以运行Crystal Reports模板
  • 我们还提供免费且功能齐全的report designer

检查出来并告诉我们你的想法。

答案 2 :(得分:2)

请参阅NextReports Engine约300k。 NextReports Designer可免费使用。

答案 3 :(得分:1)

如果找不到更好的解决方案,应该可以为Jasper Reports创建一个精简的JAR文件。 GenJar工具应该能够根据其静态依赖关系构建JAR文件。

很久以前,我曾经使用过Zelix的“Classmaster”混淆工具,它可以让你选择剥离未使用的类。我认为它甚至可能剥夺了未使用的方法,尽管我的记忆有点模糊。 (我在一个封闭的源产品上使用它......它已经消失在IP“黑洞”中。)

编辑:另一个选项是ProGuard,它会像Classmaster一样进行模糊处理和剥离,但它是开源的。 (可悲的是,他们似乎错误配置了他们的SF网站链接。但上面的链接有效。)

当然,如果Jasper Reports使用Class.forName(),您需要识别所有相关类,将它们添加为您使用的剥离工具的“根”依赖项。此外,您需要查看Jasper Reports许可证,以确保您可以“分发”剥离的JAR文件。

答案 4 :(得分:1)

为什么2Mb对于服务器端库来说太大了? Docmosis的jar大小在500k以下,但在服务器上需要OpenOffice,因此它在某种程度上更小而在另一种方式中更大。除非您使用所有功能/类,否则Java不会将2Mb Jasper加载到内存中。

答案 5 :(得分:1)

恕我直言Chunk Templating engine是最好的。 jar文件只有 180 KB !并支持IF和迭代。这有多酷!

相关问题