作者:you是was的was | 来源:互联网 | 2023-08-29 02:38
原标题:JAVA pdf中插入自定义图片
转载
第一步
使用adobe acrobat 插入文本域
第二步
根据域值插入图片:
需要先引入itextpdf包。
public class PdfAddImage {
public static void main(String[] args) throws Exception {
try {
// 模板文件路径
String templatePath = "d:/aa.pdf";
// 生成的文件路径
String targetPath = "d:/target.pdf";
// 书签名
String fieldName = "texts";
// 图片路径
String imagePath = "d:/11116.png";
// 读取模板文件
InputStream input = new FileInputStream(new File(templatePath));
PdfReader reader = new PdfReader(input);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
targetPath));
// 提取pdf中的表单
AcroFields form = stamper.getAcroField文章来源地址45587.htmls();文章来源站点https://www.yii666.com/
form.addSubstitutionFont(BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED));
// 通过域名获取所在页和坐标,左下角为起点
int pageNo = form.gwww.yii666.cometFieldPositions(fieldName).get(0).page;
Rectangle signRect = form.getFieldPositions(fieldName).get(0).position;
float x = signRect.getLeft();
float y = signRect.getBottom();
// 读图片
Image image = Image.getInstance(imagePath);
// 获取操作的页面
PdfContentByte under = stamper.getOverContent(pageNo);
// 根据域的大小缩放图www.yii666.com片
image.scaleToFit(signRect.getWidth(), signRect.getHeight());
// 添加图片
image.setAbsolutePosition(x, y);
under.addImage(image);
stamper.close();
reader.close();
文章来源地址45587.html} catch (Exception e) {
e.printStackTrace();
}
}
}
从网络引用,来源:https://www.jb51.net/article/149788.htm
侵删
来源于:JAVA pdf中插入自定义图片
转载