java PDF模版合同生成正式合同
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模版合同生成正式合同相关推荐
- java根据pdf模版动态生成pdf
java根据pdf模版动态生成pdf packagecom.utils;importjava.io.ByteArrayOutputStream;importjava.io.File;importjav ...
- java pdf 中文_java-pdf-itext 生成pdf 文档(支持中文字体)
java-pdf-itext 生成pdf 文档(支持中文字体) itext 版本:2.1.7 package com.demo.preview; import java.io.ByteArrayOut ...
- java pdf模板填充生成pdf打印 (亲测有效)
//先要制作好pdf模板(可以在word 里面画好,导出保存pdf文件), 下载Adobe Acrobat DC 工具 后打开 pdf 里面带格式的,然后 点击 准备表单按钮 你可以拖动 文本 和文本 ...
- java pdf模版的遍历_java使用itext操作填充pdf模板
一.先创建pdf模板 1.先用word做出界面 image.png 2.再转换成pdf格式 image.png image.png 3.用Adobe Acrobat 打开你刚刚用word转换成的pdf ...
- java pdf 工具_Java_iText_PDF—生成PDF工具
/*** PDF工具*/ public classPdfUtils {/*** 生成 *@paramiouData 借据数据 *@paramplanList 还款计划List *@paramaccou ...
- Java实现PDF合同生成
由于在工作中遇到了合同套打的需求,于是在之前 pdfBox获取关键字坐标 的基础上实现了,根据 pdf 模版来套打合同. PDF合同表单生成 首先,需要确定合同是否可以套打,如果合同格式固定,需要添加 ...
- JAVA根据word模板生成合同,并能实现网页在线浏览/打印/下载
最近, 项目有这样一个需求: 根据我选择的模板(docx文件),和我表单填的数据,生成相应的合同文件(docx),该合同要能网页在线浏览/打印/下载在合同中还要放置签字图片和身份证图片 我 ...
- Adobe Acrobat pro生成PDF模版 java生成PDF
最近做了一个关于动态生成PDF合同的需求 java生成PDF 网络上随便一搜遍有了 不要用手动在代码里面输入合同中的文字这种方式 如这样的方式 http://blog.csdn.net/justin ...
- java xsl转换pdf_Java 生成PDF文档-阿里云开发者社区
最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XM ...
最新文章
- html基础:定义 图片 表格
- Solr添加SolrDocument报错
- python画三维立体图-如何在论文中画出漂亮的插图?
- google 浏览器清除缓存
- [CQOI2009]叶子的染色
- Leetcode之javascript解题(No33-34)
- 将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型
- boost一些常用库(数据结构,迭代器,算法及字符串) 简单介绍
- 总结几个 C 语言知识点
- python js 效率_Python,Node.js 哪个比较适合写爬虫?
- imagick php手册,windows7下安装php的imagick和imagemagick扩展教程
- (必读)工业机器人基础教程——快速入门学习
- SVN Server修改端口与SVN修改版本库URL
- 单片机学习笔记(五)
- Android Stagefright MPEG4Extractor分析
- Mybatis 框架CRUD的操作 案例
- 用Python做股市数据分析(二)
- 新浪短网址申请 如何申请开通新浪短网址(t.cn短链接)服务
- Photoshop-为图像添加一个真实投影
- 1.1统计学的发展史