Itext 7 生成pdf带有背景图并下载PDF到本地

引入jar包

     <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.0.3</version><type>pom</type></dependency>

代码实现

    @GetMapping(value = "itextPdfDownLoad")public void itextPdfDownLoad(HttpServletResponse response) throws IOException {response.reset();//设置文件编码response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("个人荣誉.PDF", "UTF-8"));response.setContentType("application/octet-stream;charset=UTF-8");OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());PageSize pageSize = PageSize.A4.rotate();PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputStream));Document doc = new Document(pdfDoc, pageSize);float[] f = new float[]{0.01f};Table table = new Table(UnitValue.createPercentArray(f));table.setWidth(745);Cell cell = new Cell();//设置表格边框颜色 这里设置的是白色cell.setBorder(new SolidBorder(new DeviceRgb(0xFFF, 0xFFF, 0xFFF),3));//设置插入字体PdfFont font = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H",true);//背景图上写入汉字Paragraph p = new Paragraph("努尔哈赤").setFont(font).setFontSize(13f).setFontColor(DeviceGray.BLACK);//写入汉字坐标p.setFirstLineIndent(140f);p.setFixedLeading(418f);cell.add(p);//获取表格背景图URL resource = this.getClass().getClassLoader().getResource("honour.png");assert resource != null;Image img = new Image(ImageDataFactory.create(resource.getPath()));cell.setNextRenderer(new ImageBackgroundCellRenderer(cell, img));cell.setHeight(590 * img.getImageHeight() / img.getImageWidth());table.addCell(cell);doc.add(table);doc.close();outputStream.flush();}

实现效果

Itext 7 生成pdf带有背景图相关推荐

  1. [itext]Java生成PDF文件

    一.前言 最近在做也导出试卷的功能,刚开始是导出为doc,可是导出来格式都有变化,最后说直接将word转为pdf,可是各种不稳定,各种报错.最后想到直接将文件写入pdf(参考:http://www.c ...

  2. HTML生成PDF模板(Java iText+FreeMarker生成PDF(HTML转PDF))

    Java iText+FreeMarker生成PDF(HTML转PDF) 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打 ...

  3. iText+freemarker 生成PDF 使用ftl模板

    iText+freemarker 生成PDF 生成样式图片 模板地址 maven PDF生成工具类 PDF生成辅助类 base64编码工具类 service方法调用 总结 生成样式图片 模板地址 ma ...

  4. Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)

    来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...

  5. 关于PDF嵌入背景图的实现

    因为业务需要,导出PDF时需要嵌入一张背景图,使用的技术是com.itextpdf,然后在往上苦苦搜索不可得,最后经过自己研究终于解决了该问题,所以分享给大家. 导出一张简单PDF代码 public ...

  6. 2021-11-11 itext html生成pdf 内容过长分页问题

    项目场景: 在公司用itext 生成html 并保存为PDF,html中有个div很长很长,导致生成完PDF之后,页面有大量空白 html样式: 生成PDF之后: 解决方案: 计算好一整页有多少行数据 ...

  7. 使用iText来生成PDF

    首先导入pom依赖 <!-- itext--><dependency><groupId>com.itextpdf</groupId><artifa ...

  8. [itext] java生成pdf

    iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...

  9. Velocity+IText+Flying-saucer生成pdf文件

    这篇文章比较长,包括三个模块的内容: 用到的相关jar包及其版本号 根据velocity模板生成html文件方法 根据html文件生成pdf文件方法 如果你是其它方法已经生成了html模板,则直接参考 ...

最新文章

  1. 类 property属性
  2. 线程的属性 —— 分离的状态(detached state)、栈地址(stack address)、栈大小(stack size)
  3. 家长必读:不想逼孩子,你应该这样做
  4. 我php第一个页面,PHP 第一个 PHP 页面 - 第一个 PHP 页面 - phpStudy
  5. 怎样在CSDN的博客里面显示上传的图片,教你一招
  6. 选择不相交区间(贪心:求不相交区间最多个数)
  7. 运行gedit报No protocol specified
  8. SQL系列(二)—— 查询(select)
  9. Xcode 证书生成、设置、应用(转)
  10. ISA防火墙的基础应用与配置
  11. 【python基础】英文大小写函数
  12. 龙芯(Loongarch64),在Linux虚拟一个龙芯OS体验下
  13. 最全IDC数据中心知识讲解(一)
  14. 中国式危机公关9加1策略(第十一章 强大执行力原则)
  15. 设计模式-设计原则之迪米特原则
  16. c++实现微妙级时间统计
  17. python创建dataframe表格不显示_Python pandas .使用Series创建DataFrame不会保留dtype
  18. 杭州发布取证APP 基于区块链技术应用于社交、直播电商等移动端
  19. go语言web开发1 相关知识
  20. Android procrank 使用以及原理

热门文章

  1. 吐血整理!四年Java面试遇到的问题整理
  2. 软件测试的性能指标从哪获取,软件性能测试指标有哪些?做性能测试前注意事项...
  3. 学计算机的能考什么职称,我是学计算机专业的,本科,请问我能考那些类别的职称...
  4. 承德计算机学校什么时候开学,2021年承德小学中学暑假放假时间安排,开学时间什么时候...
  5. 全国各省电信及网通DNS列表
  6. CISA:注意这三个工控系统软件中的严重漏洞
  7. 换脸插件 php,换脸系列——整脸替换
  8. nextSibling和nextElementSilbing使用以及解决兼容性问题
  9. vsftp账号_VSFTP用户权限配置
  10. 使用Excel导出XML格式文件