java 项目中集成 echarts 统计图,有什么方法实现打印导出?

 

Echarts 由百度研发的开源软件,是一个纯 JS 的图表库。Echarts 是 web 端的技术,前端展现,其在 J2EE 项目中经常被集成使用,图形类型多且直观、生动、可交互、可高度个性化定制。近几年内连续被开源中国评选为“年度最受欢迎的中国开源软件”,并且去年也成为了 Apache 孵化器项目,所以发展更加快速,用户群也越来越多。

1png

Echarts 图形展现没有问题,单独的导出也是支持的,但是 Echarts 多数还是被集成到其他页面。比如我们把 Echarts 和报表结合,报表中既有表格内容,还有 Echarts 生成的图形。

2png

这种情况下,能不能同时实现导出或打印呢?

分析得知,Echarts 图形支持导出打印,通常通过后端程序实现。在进行打印导出的时候,获取到前端图形是解决问题的关键。

结合上面提到的内容,总结 2 个难点:

1、 集成情况下,不仅需要导出 echarts 图,还得把其他内容一块导出来,比如表格和图。

2、 以报表为例,如果报表页数多,分页了,怎么获取到其他页面没有展现的 echarts 图?

针对上面的问题,比较适合的解决思路:

1、 获取每页的 Echarts 代码

2、 根据代码再分别重新生成图片

3、 把图片放到集成页面的对应位置上去

有了方案就是看用什么技术来实现,这里有一篇现成的文章可供参考:如何实现 ECharts 打印导出

结论:

如果项目中只涉及到 Echarts 图,不涉及到其他表格类的内容,参考上面的思路或文章解决即可。如果又涉及到报表,那其实可以直接选个支持 echarts 的报表工具就可以,比如提供这个例子的润乾报表,1w 块钱就可以,只是工程师几人天的成本而已,选择正确的工具搞开发,省时省力又省钱。

另外整理了一些其他的关于 echarts 的帖子,想深入了解的可以看。

集成 Echarts
如何使用 Echarts 自定义主题
如何实现 ECharts 打印导出
《如何才能导出和打印 Echarts 图形》
集成 Echarts 官网示例图