11

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

我的第一个选择是 Jasper Reports,但是 jar 超过 2Mb,对于我的需要来说有点太重(而且太臃肿)了。我不知道是否有模块化的 jasper 发行版,功能分为几个 jar(如 html 渲染、pdf、excel、编译、运行时等)。

我需要使用 Swing 预览报告并打印出来。PDF 导出是一个优点。

4

6 回答 6

6

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

于 2009-08-19T16:49:10.593 回答
4

我知道这有点晚了,但是根据您的要求,我工作的公司推出的报告解决方案似乎是完美的选择:i-net Clear Reports(以前是 i-net Crystal-Clear)。

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

查看并告诉我们您的想法。

于 2010-06-08T11:55:44.170 回答
2

请参阅NextReports Engine大约 300k。NextReports Designer 是免费使用的。

于 2010-09-02T19:49:32.883 回答
1

恕我直言,块模板引擎是最好的。jar 文件只有180 KB!并支持IF和迭代。多么酷啊 !

于 2014-06-06T16:11:50.463 回答
1

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

于 2010-05-11T10:00:32.393 回答
1

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

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

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

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

于 2009-08-19T00:49:43.120 回答