我正在寻找一个轻量级的Java报表引擎,以嵌入小程序应用中。
我的第一个选择是Jasper Reports,但是这个jar文件超过了2Mb,对我的需求有点过重(并且过于臃肿)。我不知道是否有模块化的Jasper分发版本,将功能拆分为几个jar文件(如html呈现、pdf、excel、编译、运行时等)。
我需要使用Swing预览报表并打印。PDF导出是一个加分项。
我正在寻找一个轻量级的Java报表引擎,以嵌入小程序应用中。
我的第一个选择是Jasper Reports,但是这个jar文件超过了2Mb,对我的需求有点过重(并且过于臃肿)。我不知道是否有模块化的Jasper分发版本,将功能拆分为几个jar文件(如html呈现、pdf、excel、编译、运行时等)。
我需要使用Swing预览报表并打印。PDF导出是一个加分项。
Jasper Reports包含一个基本功能的jar文件,用于预览和打印报表。它被打包为jasperreports-x.x.x-applet.jar,大小约为350k。
请查看并告诉我们您的想法。
我个人认为Chunk模板引擎是最好的。这个jar文件只有180 KB!并且支持IF和迭代。太酷了!
如果您找不到更好的解决方案,可以创建一个精简版的Jasper Reports JAR文件。 GenJar 工具应该能够基于其静态依赖项构建JAR文件。
很久以前,我曾经使用过Zelix的“Classmaster”混淆工具,它提供了剥离未使用类的选项。我认为它甚至可能会剥离未使用的方法,尽管我的记忆有点模糊。(我在一个已经消失在知识产权“黑洞”中的闭源产品上使用它。)
编辑:另一个选择是ProGuard,它像Classmaster一样进行混淆和剥离,只不过它是开源的。(可悲的是,他们似乎已经错误配置了他们的SF网站链接。但上面的链接有效。)
当然,如果Jasper Reports使用Class.forName()
,您需要确定所有相关类并将它们添加为剥离工具使用的“根”依赖项。此外,您需要查看Jasper Reports许可证,以确保您被允许“分发”剥离后的JAR文件。