后台打印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所结合使用,对大家不知道帮助是否大如果对我编写文档有什么疑问的话,请在下方留言我会更完善我的博客

经验分享 程序员 微信小程序 职场和发展