当前位置: 首页 > news >正文

Spring Boot集成JasperReport生成文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档。

一、使用Ireport designer 5.6设计模板

ireport的使用由于时间关系不便多说,设计好之后,将其进行编译生成jasper文件,然后将其拷贝放置于项目jasper目录下,以供访问获取该文件。

二、在Spring Boot项目中引入依赖包

<!-- jasperreports-->
<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.0.0</version>
</dependency>
<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports-fonts</artifactId><version>6.0.0</version>
</dependency>
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.0</version>
</dependency>
<dependency><groupId>com.itextpdf</groupId><artifactId>itext-pdfa</artifactId><version>5.5.0</version>
</dependency>
<dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version>
</dependency>
<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-all</artifactId><version>2.4.11</version>
</dependency>

三、自定义spring mvc通用导出PDF视图类PdfReportView(继承自AbstractView )

四、spring mvc调用案例

五、解决linux下宋体渲染问题

1、在src/main/resources路径下新建jasperreports_extension.properties文件,内容如下:

2、在src/main/resources路径下新建fonts目录,并新建fonts.xml文件

3、在src/main/resources/fonts目录放入宋体字体文件 simsun.ttf

4、线上(linux环境)预览效果如下:

如若转载,请注明出处:开源字节   https://sourcebyte.vip/article/335.html

 

http://www.lryc.cn/news/162664.html

相关文章:

  • 02-Tomcat打破双亲委派机制
  • 怎么理解flink的异步检查点机制
  • SpringMVC <url-pattern/>解读
  • 大学毕业设计的益处:培养实践能力、深入专业领域、展示自信与建立联系
  • ChatGPT:概述Vue.js中data函数初始化和created钩子函数调用的顺序和问题解决方法
  • SpringBoot【基础篇】
  • Vuex - state 状态(获取和使用共享数据)
  • tcp连接+套接字编程
  • OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
  • Kafka3.0.0版本——消费者(offset的默认维护位置)
  • Wireshark技巧[监听串口包]
  • 安全运营中心即服务提供商评估
  • 算法通关村第十三关——幂运算问题解析
  • Python 之使用Numpy库来加载Numpy(.npy)文件并检查其内容
  • C#学习系列之UDP同端口收发问题
  • SpringMVC之文件上传下载以及jrebel的使用
  • 基于Fomantic UI Web构建 个人导航站点网站源码 网站技术导航源码
  • DRF02-请求响应与路由
  • http直接调用paddlepaddle实现文字转语音,语音转文字
  • 9. xaml ComboBox控件
  • 【后量子密码】CRYSTALS-KYBER 算法(二):密钥封装 KEM(附源码分析)
  • 什么是原⼦操作?在 JUC 中有哪些原⼦类?
  • 2022年12月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Hadoop的HDFS的集群安装部署
  • uniapp 在 onLoad 事件中 this.$refs 娶不到的问题
  • 常見算法時間複雜度分析
  • 自学Python05-学会Python中的函数定义
  • 设计模式-组合模式(Composite)
  • 架构核心技术之微服务架构
  • SQL Server2022版+SSMS安装教程(保姆级)