【问题标题】:Lightweight Java reporting engine [closed]轻量级 Java 报告引擎 [关闭]
【发布时间】:2009-08-19 00:06:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: java reporting jasper-reports


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

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

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

          【讨论】:

          • Jasper 会动态加载类,你需要弄清楚依赖关系。
          【解决方案5】:

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

          【讨论】:

          • 我不是在服务器端使用它,而是在客户端使用它。小程序从服务器加载 .jasper 流,然后摆动查看器将其呈现给用户。
          【解决方案6】:

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

          【讨论】:

          • 对于 PDF,我使用 Chunk 生成 XML,Apache FOP 引擎可以将其即时转换为 PDF 输出。
          • 具有特定于报告的块模板功能吗?自动分组标题和总计/小计似乎最重要?我使用(在一些旧项目中)模板引擎以“手动模式”进行报告,这是一项艰苦的工作。
          猜你喜欢
          • 2011-08-02
          • 2011-03-26
          • 2013-01-06
          • 1970-01-01
          • 1970-01-01
          • 2011-02-06
          • 2011-02-28
          • 1970-01-01
          • 2011-07-21
          相关资源
          最近更新 更多