一、 创建一个SpringBoot项目工程:

https://start.spring.io/

二、引入相应的POM坐标

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.2</version>
</dependency><dependency><groupId>com.itextpdf.tool</groupId><artifactId>xmlworker</artifactId><version>5.4.1</version>
</dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version>
</dependency><dependency><groupId>org.xhtmlrenderer</groupId><artifactId>flying-saucer-pdf</artifactId><version>9.0.3</version>
</dependency>

三、直接引入写好的工具类

 public static void ExportPdf(HttpServletRequest request, HttpServletResponse response) throws Exception {//告诉浏览器用什么软件可以打开此文件response.setHeader("content-Type", "application/pdf");//下载文件的默认名称response.setHeader("Content-Disposition", "attachment;filename=XXX.pdf");//设置中文BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);Document document = new Document();PdfWriter.getInstance(document, response.getOutputStream());// 打开文档  document.open();//设置文档标题document.addTitle("PDF");//设置文档作者  document.addAuthor("码神");document.addCreationDate();//设置关键字  document.addKeywords("iText"); document.addLanguage("中文");//表头PdfPTable title = new PdfPTable(2);title.addCell(new Paragraph("编号", FontChinese));title.addCell(new Paragraph("名称, FontChinese));document.add(title);User u = new User("1","码神");        //插入数据PdfPTable table = new PdfPTable(2);table.addCell(new Paragraph(u.getId(), FontChinese));table.addCell(new Paragraph(u.getName(), FontChinese));document.add(table);document.close();}

如果是集合,将集合遍历出来,插入到数据中。注:表头行数要对应

如需想做预览效果,将下载默认名称删除,如下

response.setHeader("Content-Disposition", "attachment;filename=XXX.pdf");

四、测试,直接调用工具类

    /*** 下载pdf文档* @throws Exception*/@GetMapping("/downloadPDF")public void downloadPDF(HttpServletRequest request, HttpServletResponse response) throws Exception {ExportPdfUtils.ExportPdf(request,response);}

五、直接访问接口即可,效果如图

end...

Spring Boot基于itext实现PDF生成功能相关推荐

  1. Spring boot基于itext实现定制化模板pdf生成功能

    最近被安排公司项目的一个活:根据给定的模板生成pdf,很多公司的项目涉及这种xxx单的生成,我这里是个检查单的生成,具体内容下面给出,和各位csdner一起分享学习一下,如有不对多多指教. 首先先看下 ...

  2. Spring Boot 之 itext导出pdf下载

    Java操作pdf框架详解 itext是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有 ...

  3. 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现

    文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...

  4. Spring Boot中使用Swagger CodeGen生成REST client

    文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring B ...

  5. Spring Boot集成支付宝电脑网站支付功能

    Spring Boot集成支付宝电脑网站支付功能 接入准备 登录 创建应用 添加能力 生成私钥与公钥 开发设置 沙箱环境 示例Demo的使用与学习 下载Demo 启动项目 参数配置 执行测试 Spri ...

  6. Spring Boot最新版集成邮件发送功能大全

    Spring Boot最新版集成邮件发送功能大全 前言 一.开启SMTP服务并获取授权码 二.创建Spring Boot项目 1.配置邮箱基本信息: 2.简单邮件发送: 3.发送带附件的邮件: 5.使 ...

  7. spring boot整合icepdf实现pdf转图片

    一 项目图片 下载地址: http://www.gxcode.top/code 项目描述 spring boot整合icepdf实现pdf转图片 springboot整合icepdf组件,实现pdf转 ...

  8. Spring BOOT ( 基于Kotlin 编程语言) 使用 Spring WebFlux 实现响应式编程

    Spring BOOT ( 基于Kotlin 编程语言) 使用 Spring WebFlux 实现响应式编程 image.png 参考文档:https://docs.spring.io/spring/ ...

  9. Spring boot基于redis实现附近的人(附源码下载)

    此文章是针对去年写的Java基于Redis实现"附近的人 进行业务优化! 核心源码 public class NearbyPO {@NotNull(message = "id值不能 ...

最新文章

  1. ID3、C4.5、CART树算法简介,这几个算法有什么区别?对于异常值和分类值有什么需要注意的?
  2. 织梦动态PHP可以删除吗,DeDe织梦cms如何全站动态化,取消静态功能
  3. .net DataGrid绑定列手动添加数据
  4. what should we learn from Magnetite?
  5. teams怎么去看谁在说话
  6. spring + angular 实现导出excel
  7. Android-带你从源码角度理解SharedPreferences存储原理
  8. 将数组按指定大小分组
  9. java hotswap_DCEVM+HotSwapAgent实现java类热加载
  10. P4592 [TJOI2018]异或
  11. 各种语言的 Hello World
  12. c++使用单向链表存储一组有序数据_数据结构笔试题基础
  13. linux部署tomcat8(基于centOS7)
  14. python官方文档怎么样_python官方文档
  15. Linux学习笔记(用户管理)
  16. Wireshark实战分析之UDP协议
  17. Android实现圆角和圆形
  18. 为什么AI需要的是角色扮演,而不是象棋和围棋?
  19. 联想小新air13装双系统_联想小新 Air 13IBK Pro 安装黑苹果Windows双系统教程
  20. uniapp实现图片压缩:

热门文章

  1. ELMo模型最简单使用方式(pytorch版)
  2. Jenkins基础:Jenkinsfile使用实例:14:使用docker.image进行容器部署
  3. 计算机八代配置资料,能装win7系统的最新intel 8代cpu电脑配置推荐
  4. 测试开发工程师实习—第一次面试总结
  5. php获取文件夹中的音乐文件_PHP获取音频文件信息的方法
  6. 蓖麻凝集素Ⅰ(RCAⅠ,RCA120)
  7. 【自动微分原理三】自动微分的具体实现
  8. java 90坦克大战_java小项目之:坦克大战,90后的集体回忆杀!
  9. 饥饿的小易(枚举+广度优先遍历(BFS))
  10. C语言: 数列第一项为2,此后各项均为它前一项的两倍再加三,计算该数列前10项之和;