后台打印PDF功能 itextpdf+jfreechart

    我所在的开发的项目其实是一个维护工单系统的项目,其中包括报表功能前端使用的是echarts,其中有一个任务就是导出Echarts图,这里面不仅仅是echarts报表中的一张图,我这里呢介绍的是使用itextpdf和jfreechart来进行一个多报表数据的打印功能。

后端接收前端传递过来的数据进行打印报表功能(实际可以通过前端传递过来数据进入后台查询)下面我开始介绍具体报表打印pdf功能

一、引入pdf包和jfreechart包


<dependency>
   <groupId>jfreegroupId>
   <artifactId>jfreechartartifactId>
   <version>1.0.7version>
dependency>

<dependency>
   <groupId>com.itextpdfgroupId>
   <artifactId>itextpdfartifactId>
   <version>5.0.6version>
dependency>

二、编写后台逻辑代码

1、编写报表类:

后台打印PDF功能 itextpdf+jfreechart_第1张图片

2、编写调用的Controller

后台打印PDF功能 itextpdf+jfreechart_第2张图片

3、创建TestPdf类编写createDocument方法

List代表传入的数据、titles 指pdf各列表标题、path项目目录地址、filename文件名、type 图表类型数组

后台打印PDF功能 itextpdf+jfreechart_第3张图片

Pdf写数据流程是在createDocument方法中的

后台打印PDF功能 itextpdf+jfreechart_第4张图片

图表打印

后台打印PDF功能 itextpdf+jfreechart_第5张图片

5、创建jfreechart 类编写Jfreechart代码  这块需要查看

jfreechart api 地址:

https://www.yiibai.com/jfreechart/jfreechart_referenced_apis.html

下面我列举其中写的一块代码

后台打印PDF功能 itextpdf+jfreechart_第6张图片

下面代码中path:项目目录地址;list:报表中需要打印的数据;title:报表的标题;document :实质就是pdf插件文档类后台打印PDF功能 itextpdf+jfreechart_第7张图片

Document功能是jfreechart画出报表后生成图片写入document中

 

后台打印PDF功能 itextpdf+jfreechart_第8张图片

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打印

地址: https://www.baidu.com/link?url=db8X10VJeaD_C7k2ZHe_2c0VLfV047MsGKGo4Pzge0I4zoHBfEyq_uVlFwVJ6KoL&wd=&eqid=8318de2d00001b4a000000035b503d7b

上文是根据itextpdf和jfreechart所结合使用,对大家不知道帮助是否大如果对我编写文档有什么疑问的话,请在下方留言我会更完善我的博客

 

你可能感兴趣的:(后台打印PDF功能 itextpdf+jfreechart)