营业执照咋做网等网站,遂宁网站建设公司哪家好,dedecms建手机网站流程,怎么向国外打广告java使用itext填充pdf模板1、先去建一个Word文件#xff0c;设置好想要填充的地方#xff0c;留好位置#xff0c;设置好下划线2、将Word另存为pdf3、打开电脑中的Adobe Acrobat pro DC#xff08;这个应该win10 都有#xff0c;搜索一下就出来了#xff09;#xff0c;…
java使用itext填充pdf模板1、先去建一个Word文件设置好想要填充的地方留好位置设置好下划线2、将Word另存为pdf3、打开电脑中的Adobe Acrobat pro DC这个应该win10 都有搜索一下就出来了点击 文件→创建→创建表单4、然后导入刚刚生成的pdf会出来这个页面双击这个阴影部分将名称改成你要设置的名称后面要根据这个名称来给他赋值全部设置好以后就可以另存为了5、前期的pdf模板准备好了就开始上代码1、首先导入我们所需要的依赖2、上代码3、字体需要放在resources目录下6、开始测试7、看看效果ok非常完美如果觉得这种pdf模板的方式不好可以参考我的另一篇博文可以不用设置pdf模板就直接生成pdf问题总结1、先去建一个Word文件设置好想要填充的地方留好位置设置好下划线 2、将Word另存为pdf 3、打开电脑中的Adobe Acrobat pro DC这个应该win10 都有搜索一下就出来了点击 文件→创建→创建表单 4、然后导入刚刚生成的pdf 会出来这个页面 双击这个阴影部分将名称改成你要设置的名称后面要根据这个名称来给他赋值 全部设置好以后就可以另存为了 5、前期的pdf模板准备好了就开始上代码
1、首先导入我们所需要的依赖
dependencygroupIdcom.itextpdf/groupIdartifactIditextpdf/artifactIdversion5.5.13/version/dependency2、上代码
package com.icaremgt.admin.test;import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.*;
import org.junit.Test;import java.io.*;
import java.util.HashMap;
import java.util.Map;public class TestPdf {Testpublic void testPdf() {// 模板文件路径String inputFileName F:\\pdfWork\\1\\mytests.pdf;// 生成的文件路径String outputFileName F:\\pdfWork\\2\\test9.pdf;OutputStream os null;PdfStamper ps null;PdfReader reader null;PdfStamper stamper null;try {os new FileOutputStream(new File(outputFileName));// 2 读入pdf表单reader new PdfReader(inputFileName);// 3 根据表单生成一个新的pdfps new PdfStamper(reader, os);// 4 获取pdf表单AcroFields form ps.getAcroFields();// 5给表单添加中文字体BaseFont bf BaseFont.createFont(Font/SIMYOU.TTF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);form.addSubstitutionFont(bf);// 6查询数据MapString, Object data new HashMapString, Object();data.put(childrenName, 李四);data.put(gender, 男);data.put(year, 2021);data.put(month, 09);data.put(day, 23);data.put(userName, 张三);data.put(address, 河南省案发时发放手动阀是的);// 7遍历data 给pdf表单表格赋值for (String key : data.keySet()) {form.setField(key, data.get(key).toString());}ps.setFormFlattening(true);System.out.println(PDF导出成功);} catch (Exception e) {System.out.println(PDF导出失败);e.printStackTrace();} finally {try {ps.close();reader.close();os.close();} catch (Exception e) {e.printStackTrace();}}}}
3、字体需要放在resources目录下
BaseFont bf BaseFont.createFont(Font/SIMYOU.TTF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);这个SIMYOU.TTF就是字体 字体下载地址
6、开始测试 导出成功
7、看看效果 ok非常完美
可以关注我下一期讲java使用itext将图片放到pdf模板的指定位置
如果觉得这种pdf模板的方式不好可以参考我的另一篇博文可以不用设置pdf模板就直接生成pdf
java使用itext直接生成pdf无需模板
问题总结
gao1123576431 这位老哥提出问题说赋值了但是最后导出的PDF是没有值得后来他给出了解决办法引入itext-asian
dependencygroupIdcom.itextpdf/groupIdartifactIditext-asian/artifactIdversion5.2.0/version/dependency