java根据模板⽣成PDF⽂件1,⾸先下载,安装 Adobe Acrobat DC
步骤⽅法:/article/c14654138d7a9c0bfcfc4ce9.html
2,新建⼀个Word模板,转成PDF格式
埃迪蒙托3,通过 Adobe Acrobat DC⼯具打开保存好的PDF⽂件
4,点击右边准备表单
*** (模板中的fell_*,这些变量需要删除重新写⼀遍,不然数据存不进去)
4.准备好模板以后开始写Java代码
⾸先导⼊所需jar包
5.具体代码实现
1,模板
private static final String TEMPLATE_PATH="/template/XXX.pdf";只有你最珍贵
2.读取模板位置
//Award award=数据对象;
//===award==为要导出的对象数据
PdfReader reader=new PdfReader(TEMPLATE_PATH);
ByteArrayOutputStream bos=new ByteArrayOutPutStream();
PdfStamper ps=new PdfStamper(reader,bos);
AcroFields AcroFields();
//=====解决中⽂不显⽰的问题,注意需要引⼊itext-asian.jar包
BaFont ateFont("STSong-Lignt","UniGB-USC2-H",BaFont.Not_EMBEDDEL); //====填充PDF
//姓名
腋毛可以剪吗
s.tFieldProperty("fill_1","testfont",bf,null);
if(award,getName()!=null){
s.tField("fill_1",Name());
}
//性别
s.tFieldProperty("fill_2","testfont",bf,null);
Sex()!=null){
去死皮
Sex()==0){
s.tField("fill_2","男");
}el Sex()==1){
s.tField("fill_2:,"⼥");
}
}
//⾝份证号
s.tFieldProperty("fill_3","testfont",bf,null);
NumberID() != null) {
s.tField("fill_3",NumberID());
}
//模板中的图⽚的位置--图⽚
AcroFields AcroFields();
String FilePath();
int FieldPositions("Text1").get(0).page;
Rectangle FieldPosition("Text1").get(0).position;
float Left();
感叹近义词 float Bottom();
//根据路径读取图⽚
Image Instance(imgpath);
//获取图⽚页⾯
PdfContentByte OverContent(pageNo);
//图⽚⼤⼩⾃适应
image.Width(),Height());
//添加图⽚
image.tAbsolutePostion(x,y);
unr.addImage(image);
ps.tFormFlattening(true);
ps.clo();
//收尾--重新⽣成PDF
File file=new File(Contants.ROOT_PATH+Contants.BASE_DocumentPath(); if(!ists()) {
file.mkdirs();
林的成语 }
String path=Contants.ROOT_PATH+Contants.BASE_PATH+
DocumentPath()+File.Name()+".pdf";
1704年 FileOutputStream fos=new FileOutputStream(path);
fos.ByteArray());
读书记录卡内容
fos.flush();
fos.clo();
return path;
修改字体⼤⼩⽅式
打开Adobe acrobat pro dc ,双击表单字段