1,首先下载,安装 Adobe Acrobat DC
步骤方法:https://jingyan.baidu.com/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 s=ps.getAcroFields();
//=====解决中文不显示的问题,注意需要引入itext-asian.jar包
BaseFont bf=BaseFont.createFont("STSong-Lignt","UniGB-USC2-H",BaseFont.Not_EMBEDDEL);
//====填充PDF
//姓名
s.setFieldProperty("fill_1","testfont",bf,null);
if(award,getName()!=null){
s.setField("fill_1",award.getName());
}
//性别
s.setFieldProperty("fill_2","testfont",bf,null);
if(award.getSex()!=null){
if(award.getSex()==0){
s.setField("fill_2","男");
}else if(award.getSex()==1){
s.setField("fill_2:,"女");
}
}
//身份证号
s.setFieldProperty("fill_3","testfont",bf,null);
if(award.getNumberID() != null) {
s.setField("fill_3",award.getNumberID());
}
//模板中的图片的位置--图片
AcroFields from=ps.getAcroFields();
String imgpath=declaration.getFilePath();
int pageNo=from.getFieldPositions("Text1").get(0).page;
Rectangle signRect=from.getFieldPosition("Text1").get(0).position;
float x=signRect.getLeft();
float y=signRect.getBottom();
//根据路径读取图片
Image image=Image.getInstance(imgpath);
//获取图片页面
PdfContentByte under=ps.getOverContent(pageNo);
//图片大小自适应
image.scaleToFit(signRect.getWidth(),signRect.getHeight());
//添加图片
image.setAbsolutePostion(x,y);
unser.addImage(image);
ps.setFormFlattening(true);
ps.close();
//收尾--重新生成PDF
File file=new File(Contants.ROOT_PATH+Contants.BASE_PATH+declaration.getDocumentPath();
if(!file.exists()) {
file.mkdirs();
}
String path=Contants.ROOT_PATH+Contants.BASE_PATH+
declaration.getDocumentPath()+File.separatorChar+declaaaration.getName()+".pdf";
FileOutputStream fos=new FileOutputStream(path);
fos.write(bos.toByteArray());
fos.flush();
fos.close();
return path;
修改字体大小方式
打开Adobe acrobat pro dc ,双击表单字段