后台打印PDF功能 itextpdf+jfreechart
我所在的开发的项目其实是一个维护工单系统的项目,其中包括报表功能前端使用的是echarts,其中有一个任务就是导出Echarts图,这里面不仅仅是echarts报表中的一张图,我这里呢介绍的是使用itextpdf和jfreechart来进行一个多报表数据的打印功能。
后端接收前端传递过来的数据进行打印报表功能(实际可以通过前端传递过来数据进入后台查询)下面我开始介绍具体报表打印pdf功能
一、引入pdf包和jfreechart包
<!-- https://mvnrepository.com/artifact/jfree/jfreechart -->
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.0.6</version>
</dependency>
二、编写后台逻辑代码
1、编写报表类:
2、编写调用的Controller
3、创建TestPdf类编写createDocument方法
List代表传入的数据、titles 指pdf各列表标题、path项目目录地址、filename文件名、type 图表类型数组
Pdf写数据流程是在createDocument方法中的
图表打印
5、创建jfreechart 类编写Jfreechart代码 这块需要查看
jfreechart api 地址:
https://www.yiibai.com/jfreechart/jfreechart_referenced_apis.html
下面我列举其中写的一块代码
下面代码中path:项目目录地址;list:报表中需要打印的数据;title:报表的标题;document :实质就是pdf插件文档类
Document功能是jfreechart画出报表后生成图片写入document中
6、这些方法写完后 我们可以在页面上编写一个按钮打印pdf 编写点击事件调用controller试一下吧
以上根据
jfreechart api 学习地址: https://www.yiibai.com/jfreechart/jfreechart_referenced_apis.html
itextpdf 学习地址:
https://www.cnblogs.com/chenpi/p/5534595.html
如果打印的报表为excel格式请直接使用poi打印
上文是根据itextpdf和jfreechart所结合使用,对大家不知道帮助是否大如果对我编写文档有什么疑问的话,请在下方留言我会更完善我的博客