Spring Boot 之 itext导出pdf下载

Java操作pdf框架详解

itext是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。

下载效果演示

在这里插入图片描述

pom.xml

<!-- itext方式导出pdf -->
<dependency><groupId>com.lowagie</groupId><artifactId>itext</artifactId><version>4.2.2</version>
</dependency>

UserController.download方法

我们开始下载pdf文档

  @RequestMapping("/download")public void download(HttpServletRequest request, HttpServletResponse response) throws Exception {// 告诉浏览器用什么软件可以打开此文件response.setHeader("content-Type", "application/pdf");// 下载文件的默认名称response.setHeader("Content-Disposition", "attachment;filename=user.pdf");Document document = new Document();PdfWriter.getInstance(document, response.getOutputStream());document.open();List<User> list = userRepository.findAll();for (User user : list) {PdfPTable table = new PdfPTable(3);PdfPCell cell = new PdfPCell();cell.setPhrase(new Paragraph(user.getId().toString()));table.addCell(cell);document.add(table);cell = new PdfPCell();cell.setPhrase(new Paragraph(user.getName().toString()));table.addCell(cell);document.add(table);cell = new PdfPCell();cell.setPhrase(new Paragraph(user.getAge().toString()));table.addCell(cell);document.add(table);}document.close();}

如果感觉不错的话记得点赞哟!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从您的计算机移除此产品,解决office提示“此操作只对目前安装的产品有效”的方法...

Office软件是我们所有微软系统预装版本中都会有的一个组件&#xff0c;有的用户在购买电脑之后由于不想使用这个软件等种种原因会选择将这个软件从电脑中卸载。卸载的方法有很多&#xff0c;我们常用的方法就是使用电脑中自带的卸载软件卸载这个程序&#xff0c;还有一种就是使…

没有bug队——加贝——Python 练习实例 25,26

我非常认真的告诉大家今天这是一篇水文&#xff0c;别看了 25.题目&#xff1a; 求12!3!...20!的和。 程序分析&#xff1a;此程序只是把累加变成了累乘。 s 0 l range(1,21) def op(x):r 1for i in range(1,x 1):r * ireturn r s sum(map(op,l)) print (1! 2! 3! …

符江职高计算机教什么,高县符江职高具体地址

摘要&#xff1a;学校地址 :宜宾市高县清福镇学府路22号 公交路线 高县:进入盛兴路&#xff0c;行驶300米-左转&#xff0c;进入朔村路&#xff0c;行驶540米-左转&#xff0c;进入汉胜路&#xff0c;行驶440米-请直走&#xff0c;进入富悦路&#xff0c;行驶200米-请直走&…

MATLAB基础教程(7)——求解定积分和不定积分

目录 定积分的基本概念 什么是定积分&#xff1f; 如何深入的理解定积分&#xff1f; 如何计算定积分? 在matlab中计算定积分。 不定积分 在matlab中计算不定积分 在matlab中计算定积分 本期回顾 定积分的基本概念 什么是定积分&#xff1f; 简而言之&#xff0c;我…

微信公众号中选择时间css,微信公众号到底应该几点推文?

原标题&#xff1a;微信公众号到底应该几点推文&#xff1f;微信公众号到底应该几点推文&#xff1f;早晨上班&#xff0c;中午休息&#xff0c;晚上睡觉前&#xff0c;都是好时间。这些时间别说刚入行的小白知道&#xff0c;就连半只脚没踏进运营门槛的小灰都知道&#xff0c;…

没有bug队——加贝——Python 练习实例 27,28

今天这两题都是递归&#xff0c;如果你看不太明白&#xff0c;可以翻翻之前的&#xff0c;那里介绍的比较明白&#xff0c;嘿嘿&#xff0c;我今天继续水了&#xff0c;拜拜各位&#xff01;&#xff01; 27.题目&#xff1a; 利用递归函数调用方式&#xff0c;将所输入的5个…

MATLAB基础教程(9)——高级积分运算、二重积分

目录 复习定积分&#xff08;单变量&#xff09; 二重积分 今日小结 复习定积分&#xff08;单变量&#xff09; 在之前&#xff0c;先复习一下之前学习的内容。使用matlab求解定积分的步骤大概如下&#xff1a; 定义符号变量&#xff08;syms关键字&#xff09;定义内联函…

服务器怎么存储文件节省空间,超大空间云服务器文件存储

超大空间云服务器文件存储 内容精选换一换本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用&#xff0c;当内存耗尽时&#xff0c;云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时&#xff0c;频…

C语言变量和数据类型

从数据在内存中的存储方式中可以得知 计算机要处理的数据&#xff08;诸如数字、文字、符号、图形、音频、视频等&#xff09;是以二进制的形式存放在内存中的&#xff1b;我们将8个比特&#xff08;Bit&#xff09;称为一个字节&#xff08;Byte&#xff09;&#xff0c;并将字…

MATLAB基础教程(10)——二维中的数据可视化

目录 MATLAB数据可视化 绘图 在同一个figure里面绘制多个图形 本期小结 MATLAB数据可视化 绘图 绘制图形&#xff08;二维&#xff09;一般使用plot函数&#xff0c;这个函数一般能满足很多画图的功能了&#xff0c;比如我们能绘制一个函数图像&#xff1a; 代码如下&…

没有bug队——加贝——Python 练习实例 29,30

目录 29.题目&#xff1a; 30.题目&#xff1a; 彩蛋&#xff1a; 扩展资料 29.题目&#xff1a; 给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。 程序分析&#xff1a;学会分解出每一位数。 注&#xff1a;…

没有bug队——加贝——Python 练习实例 31,32

31.题目&#xff1a; 请输入星期几的第一个字母来判断一下是星期几&#xff0c;如果第一个字母一样&#xff0c;则继续判断第二个字母。 程序分析&#xff1a;用情况语句比较好&#xff0c;如果第一个字母一样&#xff0c;则判断用情况语句或if语句判断第二个字母。用 if 语句…

MATLAB基础教程(11)——二维中的数据可视化(续)

目录 今天目标&#xff1a; 画一个图像并且给图像加上标题 子图绘制 一些小知识 grid 设置框线 box 设置边框 polar() 绘图 今天小结 今天目标&#xff1a; 画一个图像并且给图像加上标题 首先我们画一张很简单的图形&#xff0c;比如就画一个y cos x 的图像吧。 代码…

没有bug队——加贝——Python 练习实例 33,34

目录 33.题目&#xff1a; 小知识&#xff1a; 参数 返回值 我们换种写法&#xff1a; 34.题目&#xff1a; 我们也换种写法&#xff1a; 33.题目&#xff1a; 按逗号分隔列表。 小知识&#xff1a; join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串…

没有bug队——加贝——Python 练习实例 35,36

目录 35.题目&#xff1a;文本颜色设置。 小知识&#xff1a; 36.题目&#xff1a;求100之内的素数。 何为素数&#xff1f; 35.题目&#xff1a;文本颜色设置。 class bcolors:HEADER \033[95mOKBLUE \033[94mOKGREEN \033[92mWARNING \033[93mFAIL \033[91mENDC …

C语言各种类型数据的输出显示

之前我们使用 puts 来输出字符串。puts 是 output string 的缩写&#xff0c;只能用来输出字符串&#xff0c;不能输出整数、小数、字符等&#xff0c;我们需要用另外一个函数&#xff0c;那就是 printf。 printf 比 puts 更加强大&#xff0c;不仅可以输出字符串&#xff0c;…

没有bug队——加贝——Python 练习实例 37,38

目录 37.题目&#xff1a;对10个数进行排序。 Python sort()方法 语法 参数 返回值 Python sorted函数及用法 语法 返回值 38.题目&#xff1a;求一个3*3矩阵主对角线元素之和。 37.题目&#xff1a;对10个数进行排序。 程序分析&#xff1a;可以利用选择法&#xff…

C语言中的整数

整数是编程中常用的一种数据&#xff0c;C语言通常使用int来定义整数&#xff08;int 是 integer 的简写&#xff09;。 现代操作系统中&#xff0c;int 一般占用 4 个字节&#xff08;Byte&#xff09;的内存&#xff0c;共计 32 位&#xff08;Bit&#xff09;。如果不考虑正…

没有bug队——加贝——Python 39,40

目录 39.题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 40.题目&#xff1a;将一个数组逆序输出。 39.题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 程序分析…

C语言中的二进制、八进制和十六进制的表示

二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的&#xff0c;表示一个十进制数字不需要任何特殊的格式。但是&#xff0c;表示一个二进制、八进制或者十六进制数字就不一样了&#xff0c;为了和十进制数字区分开来&#xff0c;必须采用某种特殊的写法&#xf…