1 最近项目中需求根据合同模板生成正式的PDF合同,即将客户信息填充到合同模板上 开声称正式的合同
2. 工具:PDF模版中占位符需要使用(AdobeAcrobatproDC_pjb_3987)工具 将模版占位符替换成文本域
2.1 使用工具打开模版文件 点击 – 准备菜单

 2.2 右键 -- 文本域 2.3 选中文本域  -- 右键 -- 属性 -- 把占位符key输入   选择只读

3 代码
`

    // 获取项目部署的根目录String WEBROOTPATH = Thread.currentThread().getContextClassLoader().getResource("").getPath();logger.debug("如果目录不存在,创建文件夹..");File file = new File(path);if (!file.exists() && !file.isDirectory()) {file.mkdir();}String desFile;// 正式pdf保存路径String srcFile ;// 合同模版的路径PdfReader reader = null;PdfStamper stamper = null;ByteArrayOutputStream bos = null;FileOutputStream fos = null;try {BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 防止中文乱码reader = new PdfReader(srcFile);bos = new ByteArrayOutputStream();stamper = new PdfStamper(reader, bos);AcroFields form = stamper.getAcroFields();form.addSubstitutionFont(bf);// 1、替换表单元素中的变量为具体的值for (Iterator<String> it = form.getFields().keySet().iterator(); it.hasNext();) {String name = (String) it.next();form.setField(name, paraMap.get(name));form.setFieldProperty(name, "textfont", bf, null);}// 这两步必须有,否则pdf生成失败stamper.setFormFlattening(false);stamper.close();// 生成填充完成的PDF合同文件fos = new FileOutputStream(desFile);fos.write(bos.toByteArray());} catch (FileNotFoundException e) {logger.error("FileNotFoundException, srcFile==" + srcFile, e);} catch (Exception e) {logger.error("Exception, srcFile==" + srcFile, e);} finally {if (null != reader) {reader.close();}try {if (null != bos) {bos.close();}} catch (IOException e) {logger.info("关闭ByteArrayOutputStream失败", e);}try {if (null != fos) {fos.close();}} catch (IOException e) {logger.info("关闭FileOutputStream失败", e);}}deleteFile(srcFile);/*** 删除文件* @param fileName*/public static void deleteFile(String fileName) {File f = new File(fileName);if (f.exists()) {f.delete();}

4 到这里 你的文件中占位符就会替换成正式的数据 生成正式的合同了

5 附上 Java PDF 相关依赖

   <!-- pdf begin --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.1</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency><!-- pdf end -->

java PDF模版合同生成正式合同相关推荐

  1. java根据pdf模版动态生成pdf

    java根据pdf模版动态生成pdf packagecom.utils;importjava.io.ByteArrayOutputStream;importjava.io.File;importjav ...

  2. java pdf 中文_java-pdf-itext 生成pdf 文档(支持中文字体)

    java-pdf-itext 生成pdf 文档(支持中文字体) itext 版本:2.1.7 package com.demo.preview; import java.io.ByteArrayOut ...

  3. java pdf模板填充生成pdf打印 (亲测有效)

    //先要制作好pdf模板(可以在word 里面画好,导出保存pdf文件), 下载Adobe Acrobat DC 工具 后打开 pdf 里面带格式的,然后 点击 准备表单按钮 你可以拖动 文本 和文本 ...

  4. java pdf模版的遍历_java使用itext操作填充pdf模板

    一.先创建pdf模板 1.先用word做出界面 image.png 2.再转换成pdf格式 image.png image.png 3.用Adobe Acrobat 打开你刚刚用word转换成的pdf ...

  5. java pdf 工具_Java_iText_PDF—生成PDF工具

    /*** PDF工具*/ public classPdfUtils {/*** 生成 *@paramiouData 借据数据 *@paramplanList 还款计划List *@paramaccou ...

  6. Java实现PDF合同生成

    由于在工作中遇到了合同套打的需求,于是在之前 pdfBox获取关键字坐标 的基础上实现了,根据 pdf 模版来套打合同. PDF合同表单生成 首先,需要确定合同是否可以套打,如果合同格式固定,需要添加 ...

  7. JAVA根据word模板生成合同,并能实现网页在线浏览/打印/下载

    最近, 项目有这样一个需求:       根据我选择的模板(docx文件),和我表单填的数据,生成相应的合同文件(docx),该合同要能网页在线浏览/打印/下载在合同中还要放置签字图片和身份证图片 我 ...

  8. Adobe Acrobat pro生成PDF模版 java生成PDF

    最近做了一个关于动态生成PDF合同的需求  java生成PDF 网络上随便一搜遍有了 不要用手动在代码里面输入合同中的文字这种方式 如这样的方式 http://blog.csdn.net/justin ...

  9. java xsl转换pdf_Java 生成PDF文档-阿里云开发者社区

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XM ...

最新文章

  1. html基础:定义 图片 表格
  2. Solr添加SolrDocument报错
  3. python画三维立体图-如何在论文中画出漂亮的插图?
  4. google 浏览器清除缓存
  5. [CQOI2009]叶子的染色
  6. Leetcode之javascript解题(No33-34)
  7. 将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型
  8. boost一些常用库(数据结构,迭代器,算法及字符串) 简单介绍
  9. 总结几个 C 语言知识点
  10. python js 效率_Python,Node.js 哪个比较适合写爬虫?
  11. imagick php手册,windows7下安装php的imagick和imagemagick扩展教程
  12. (必读)工业机器人基础教程——快速入门学习
  13. SVN Server修改端口与SVN修改版本库URL
  14. 单片机学习笔记(五)
  15. Android Stagefright MPEG4Extractor分析
  16. Mybatis 框架CRUD的操作 案例
  17. 用Python做股市数据分析(二)
  18. 新浪短网址申请 如何申请开通新浪短网址(t.cn短链接)服务
  19. Photoshop-为图像添加一个真实投影
  20. 1.1统计学的发展史

热门文章

  1. 做什么类型的网站容易挂google广告容易取得长久收入
  2. 从Flask入门SSTI
  3. Tensorflow 网络冻结
  4. 【无标题】甘肃教育期刊征稿
  5. NYOJ - 街区最短路径问题
  6. gts分布式事务框架踩坑记录
  7. Centos7 postfix dovecot安装配置
  8. 微信扫码拉起小程序手机号授权跨端登录
  9. 一个非python的电脑打印机连接过程分享
  10. ecshop开发的外贸网站欣赏