问题 轻量级Java报告引擎[关闭]


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

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

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


6542
2017-08-19 00:06


起源



答案:


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


6
2017-08-19 16:49





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

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

看看它,告诉我们你的想法。


4
2018-06-08 11:55





看到 NextReports引擎 大约300k。 NextReports Designer可免费使用。


2
2017-09-02 19:49





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

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

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

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


1
2017-08-19 00:49



Jasper确实动态加载类,你需要弄清楚依赖关系。 - sventechie


答案:


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


6
2017-08-19 16:49





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

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

看看它,告诉我们你的想法。


4
2018-06-08 11:55





看到 NextReports引擎 大约300k。 NextReports Designer可免费使用。


2
2017-09-02 19:49





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

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

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

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


1
2017-08-19 00:49



Jasper确实动态加载类,你需要弄清楚依赖关系。 - sventechie


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


1
2018-05-11 10:00



我不是在服务器端使用它,而是在客户端使用它。 applet从服务器加载.jasper流,并且swing查看器将其呈现给用户。 - tuler


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


1
2018-06-06 16:11



对于PDF,我使用Chunk生成XML,Apache FOP引擎可以即时转换为PDF输出。 - Tom McClure
Chunk Templating功能是否适用于报告?自动组标题和总计/小计似乎最重要?我使用(在一些旧项目中)模板引擎来报告“手动模式”,这是它的辛勤工作。 - Jacek Cz