itext生成PDF excel 示例

生成效果

代码

   @ApiOperation("生成pdf文件,response")//SUPPRESS@GetMapping(path = "/print/{idCard}")public Message test(@PathVariable String idCard,HttpServletResponse response) throws Exception {PermanentResidentPopulation bean = permanentPersonService.findByIcCard(idCard);// 存储pdf 文件String pdfFolder = pdfLocation;File  pdfFile = new File(pdfFolder);if (!pdfFile.exists()) {pdfFile.mkdir();}String pdf = pdfFolder + UUID.randomUUID() + ".pdf";// 1.新建documnet对象Document doc = new Document(PageSize.A4, 0, 0, 50, 0);//SUPPRESSFileOutputStream fos = new FileOutputStream(pdf);PdfWriter.getInstance(doc, fos);// 字体设置BaseFont baseFont =BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 创建字体对象Font font = new Font(baseFont, 14, Font.NORMAL);//SUPPRESSFont font2 = new Font(baseFont, 21, Font.BOLD);//SUPPRESS/***  添加7列表格*/PdfPTable table = new PdfPTable(6);//SUPPRESS// 设置各列列宽table.setTotalWidth(new float[]{130, 100, 100, 100, 100, 100});//SUPPRESS// 添加表格内容table.addCell(getPDFCell("户别", font));
//        PdfPCell pCell = mergeCol("常住人口登记表", font2, 3);PdfPCell pCell = new PdfPCell(new Paragraph("常住人口登记表", font2));pCell.setHorizontalAlignment(Element.ALIGN_CENTER);pCell.setVerticalAlignment(Element.ALIGN_MIDDLE);pCell.setRowspan(2);//SUPPRESSpCell.setColspan(3);//SUPPRESSpCell.setMinimumHeight(25);//SUPPRESStable.addCell(pCell);table.addCell(getPDFCell("户主姓名", font));table.addCell(getPDFCell("与户主关系", font));// 户别table.addCell(getPDFCell("", font));// 户主姓名table.addCell(getPDFCell(bean.getName(), font));// 与户主关系table.addCell(getPDFCell("", font));table.addCell(getPDFCell("姓名", font));table.addCell(mergeCol("", font, 3));//SUPPRESStable.addCell(getPDFCell("性别", font));// 性别table.addCell("");table.addCell(getPDFCell("曾用名", font));table.addCell(mergeCol("", font, 3));//SUPPRESStable.addCell(getPDFCell("民族", font));// 民族table.addCell("");table.addCell(getPDFCell("出生日期", font));// 出生日期table.addCell(mergeCol("", font, 5));//SUPPRESS// 监护人table.addCell(getPDFCell("监护人", font));// 监护关系table.addCell("");table.addCell("");table.addCell(getPDFCell("出生地", font));table.addCell(mergeCol("", font, 2));//SUPPRESStable.addCell(getPDFCell("住址", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("本市(县)其他住址", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("籍贯", font));table.addCell(mergeCol("", font, 3));//SUPPRESStable.addCell(getPDFCell("宗教信仰", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("公民身份证编号", font));table.addCell(mergeCol("", font, 3));//SUPPRESStable.addCell(getPDFCell("居民身份证签发日期", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("文化程度", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("婚姻状况", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("兵役状况", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("身高", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("血型", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("职业", font));table.addCell(getPDFCell("", font));table.addCell(getPDFCell("服务处所", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("何时何因何由何地迁来本市(县)", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("何时何因由何地迁来本市(县)", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("何时何因迁往何地", font));table.addCell(mergeCol("", font, 5));//SUPPRESStable.addCell(getPDFCell("何时何因注销户口", font));table.addCell(mergeCol("", font, 5));//SUPPRESSParagraph end = new Paragraph("申报人签章");end.setAlignment(Paragraph.ALIGN_LEFT);Paragraph end2 = new Paragraph("申报人签章            加盖户口登记机关专用专用章", font);end2.setFirstLineIndent(90);//SUPPRESSParagraph end3 = new Paragraph("申报人签章");end3.setPaddingTop(20);//SUPPRESSParagraph end4 = new Paragraph("承办人签章            登记日期:  年  月  日", font);end4.setFirstLineIndent(90);//SUPPRESSdoc.open();doc.add(table);doc.add(end);doc.add(end2);doc.add(end3);doc.add(end4);doc.close();String name = URLEncoder.encode("常住人口登记.pdf", "utf-8");response.setCharacterEncoding("UTF-8");response.setContentType("application/x-msdownload");response.addHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + name);try (OutputStream out = response.getOutputStream()) {InputStream is = new FileInputStream(pdf);byte[] bys = new byte[1024];//SUPPRESSint len = 0;while ((len = is.read(bys)) != -1) {//SUPPRESSout.write(bys, 0, len);//SUPPRESS}is.close();}return null;}public static PdfPCell getPDFCell(String value, Font font) {PdfPCell cell = new PdfPCell();cell.setVerticalAlignment(Element.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setPhrase(new Phrase(value, font));return cell;}

不熟悉的基础的可参考:

itext 生成 PDF(一)_itextpdf_猪之仆的博客-CSDN博客

itext 生成 PDF(二)_itext2_猪之仆的博客-CSDN博客

itext 生成 PDF(三) pdf横向输出_itext pdf 横向_猪之仆的博客-CSDN博客

itext 生成 PDF(四) 表格绝对定位_猪之仆的博客-CSDN博客

itext 生成 PDF(五) 使用外部字体_猪之仆的博客-CSDN博客

itext 生成 PDF(二)相关推荐

  1. itext 生成 PDF(三) pdf横向输出

    不熟悉的基础的可参考: itext 生成 PDF(一)_itextpdf_猪之仆的博客-CSDN博客 itext 生成 PDF(二)_itext2_猪之仆的博客-CSDN博客 itext 生成 PDF ...

  2. itext 生成 PDF(五) 使用外部字体

    在 Spring Boot 项目中,使用 iTextPDF 库的 BaseFont.createFont() 方法并使用外部字体,您需要将字体文件放置在项目的资源文件夹中,然后使用相对路径来引用它们. ...

  3. Java使用itext生成pdf并添加水印、二维码字节流

    记录一次使用itext生成pdf,并添加水印的过程 本地字体路径:C:\Windows\Fonts Maven导入: <dependency><groupId>com.itex ...

  4. java 生成pdf itext_使用Java组件itext 生成pdf介绍

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

  5. java itext 设计器_使用Java组件itext 生成pdf的介绍

    [IT168 技术]iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给 ...

  6. itext生成pdf间距_使用itext生成pdf

    在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过 在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到 ...

  7. java pdf 首行缩进_java使用iText生成pdf文档的对齐方式

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  8. java使用iText生成pdf文档的对齐方式

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  9. Java使用itext生成Pdf

    Java使用itext生成Pdf 背景 所需依赖 解决jpedal-lgpl jar包问题 示例代码 生成带图片的PDF(使用本地文件系统图片) 生成带图片的PDF(使用网络图片) 背景 在某些业务场 ...

最新文章

  1. deeplearning模型量化实战
  2. 开课吧python课程-开课吧Python课程亮相胡海泉抖音直播间
  3. 一名全栈工程师的必备“百宝箱”
  4. linux c之通过消息队列实现进程通信
  5. snipaste截图软件滚动截图_截图工具的逆袭,Snipaste 还可以这么玩
  6. Noip 2014酱油记+简要题解
  7. Java:URLEncoder、URLDecoder、Base64编码与解码
  8. java数组比较的头文件_Java和C++的数组比较
  9. python3 模板引擎_Python实现的简单模板引擎功能示例
  10. 《Objective-C开发经典教程》
  11. linux登录日志保存多久,Centos清除系统日志和登录记录-Linux清除系统日志和登录记录的方法-吾爱编程网...
  12. jenkins JDK的集成
  13. JS实现获取今天星期几
  14. Windows系统的正版与盗版
  15. 手机和电视不在一个网络如何投屏?跨网段投屏方法
  16. 剑侠世界3怎么快速起号?
  17. 【MacOS】Hammerspoon-sugood多合一效率工具,新增状态栏显示系统信息(CPU/内存/硬盘/网速)-v0.1.7
  18. 如果今天是我生命中的最后一天
  19. 通过Mycat分库分表
  20. 求职-平安产险科技一二面

热门文章

  1. 英语四级作文计算机,英语四级作文范文:科技与现代生活
  2. 极坐标t1t2几何意义_二重积分-换元法-极坐标
  3. PAT1080 Graduate Admission (30)
  4. 信息周刊:微软Vista百问
  5. UWB DW1000 硬件设计
  6. 手写Mustache
  7. Vue.use()和Vue.prototype详解
  8. 人类,你比一只猪聪明吗?
  9. lateral函数oracle,[2016026]12c lateral语法.txt
  10. RX7600M XT参数 RX7600M XT性能相当于什么水平