使用itextpdf编辑PDF
制作PDF模板
Word里面制作模板,并另存为PDF格式
制作模板,使用工具:Adobe Acrobat DC
选择更多工具
选择准备表单
开始编辑数据源
代码的编写
导入jar包
<!-- PDF导出-->
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version>
</dependency>
实现生成PDF、数据插入、导出
@RequestMapping(value = "/DM/gwclwxsq/qygl/exportPDF$m=query.service",method =RequestMethod.POST)
public String exportPdf(@RequestBody GwclwxsqBean gwclwxsqBean , HttpServletResponse response) throws UnsupportedEncodingException {// 1.指定解析器System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");String filename="表单.pdf";String path="D:/";response.setContentType("application/pdf");response.setHeader("Content-Disposition", "attachment;fileName="+ URLEncoder.encode(filename, "UTF-8"));OutputStream os = null;PdfStamper ps = null;PdfReader reader = null;try {os = response.getOutputStream();// 2 读入pdf表单reader = new PdfReader(path+ "/"+filename);// 3 根据表单生成一个新的pdfps = new PdfStamper(reader, os);// 4 获取pdf表单AcroFields form = ps.getAcroFields();// 5给表单添加中文字体 这里采用系统字体。不设置的话,中文可能无法显示BaseFont bf = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);form.addSubstitutionFont(bf);// 6查询数据================================================Map<String, String> data = new HashMap<String, String>();data.put("commitTime", gwclwxsqBean.getCommitTime());data.put("driver", gwclwxsqBean.getDriver());data.put("carId", gwclwxsqBean.getCarId());data.put("carType", gwclwxsqBean.getCarType());data.put("repairAddress", gwclwxsqBean.getRepairAddress());data.put("repairCost",gwclwxsqBean.getRepairCost());data.put("project", gwclwxsqBean.getProject());data.put("fwbzzxfzrYj", gwclwxsqBean.getFwbzzxfzrYj());data.put("fgldspYj", gwclwxsqBean.getFgldspYj());data.put("remarks", gwclwxsqBean.getRemarks());// 7遍历data 给pdf表单表格赋值for (String key : data.keySet()) {form.setField(key,data.get(key).toString());}ps.setFormFlattening(true);log.info("*******************PDF导出成功***********************");} catch (Exception e) { log.error("*******************PDF导出失败***********************");e.printStackTrace();} finally {try {ps.close();reader.close();os.close();} catch (Exception e) {e.printStackTrace();}}return null;
}
测试
使用itextpdf编辑PDF相关推荐
- 使用itextpdf编辑PDF制作电子合同
PDF电子合同 使用pdfescape生成一份PDF表单模板 1.打开网站 https://www.pdfescape.com/ 导入一份PDF模板文件 2.为PDF文件插入表单元素,并设置元素名称和 ...
- 【Java中级篇】使用itextpdf生成PDF
我们可以发现很多求职网站都会将我们录入的信息来生成一个PDF简历文件.所以我这里提供了用itextpdf生成的PDF的代码. 一.步骤 1.1.使用Adobe Acrobat Pro工具编辑PDF模板 ...
- java设置pdf不可编辑_Java动态生成pdf文件(使用itext编辑pdf)
一.创建pdf模板 使用PDFelement制作pdf模板(数据域的名称对应后面插入的key) 二.导入maven依赖 com.itextpdf itextpdf 5.5.13 com.itextpd ...
- java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...
Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...
- 使用itextpdf在pdf模板中插入对应数据
大家好今儿给大家带来的是使用itextpdf在pdf模板中插入对应数据 目录 大家好今儿给大家带来的是使用itextpdf在pdf模板中插入对应数据 1.需求描述 2.操作Adobe Acrobat ...
- iText编辑Pdf模板
本文讲述JAVA如何操作PDF模板生成PDF文件. 1.由Word 文档生成PDF模板 工具:Microsoft Office Word , AdobeAcrobat_2015.exe(安装好后是 A ...
- 使用Itext编辑PDF(可处理后保存本地,也可只处理文件流后返回文件流实现文件不落地)
使用Itext编辑PDF(使用文件流及临时文件实现最终文件不落地) 话不多说上代码: 下面实体类: 下面是调用测试: 话不多说上代码: import com.itextpdf.text.BaseCol ...
- java使用itextpdf生成pdf并填充自定义数据
项目中有个需求,对于已有的数据生成对应的发票pdf或者合同pdf,这些pdf具有一些特性,就是pdf有固定的格式,类似于表格,我们只要往表格里面填充数据即可.当然,也会涉及到签章,二维码等需求. 总体 ...
- itextpdf通过pdf模板生成pdf文件
itextpdf通过pdf模板生成pdf文件,设置粗体字体 1.创建pdf模板 2.使用模板生成pdf 3.itext自带的字体列表 4.遇到的坑 1.创建pdf模板 可以使用PDFFescape网站 ...
最新文章
- 用javascript进行一个简单的机器学习小实例
- django-request对象
- 常用chrome插件
- android 6.0动态权限问题
- ConcurrentHashMap的源码分析-CounterCells初始化图解
- ios 数字键盘左下角添加按钮_iOS8数字键盘加左下角完成button
- FreeRTOS移植到STM32F103
- Asp .Net Mvc在DeBug模式下设置自定义IP
- silverlight 3 blend3最新版本 破解方法
- JavaScript学习之函数的定义方式及调用
- 配置:Ubuntu/Nginx/Mysql/PHP,Git/Svn,Node/pip,mongoChef
- 单片机测量PWM占空比的三种方法
- Windows7下OEM中证书错误,导航已阻止解决办法
- Android 跳转外部浏览器
- 中国Top20天使投资机构和中国Top20VC投资机构
- 名片互赞软件(安卓版)
- [论文阅读] Facial Expression Recognition Using Residual Masking Network
- 关联规则—频繁项集Apriori算法
- Git分支的创建,切换及分支指针移动的理解
- 用JAVA算养鸡大户王大喜_养鸡大户王大喜,用百钱买百鸡,公鸡每只5元整,3元一只是母鸡,小小鸡崽价钱低,1元正好买三只,公鸡母鸡和小鸡,请你算算各...