pdf插入图片到指定位置,常见图片格式都支持
坐标位置可自定义
根据文字、关键字识别坐标位置,可见另一个帖子:pdf识别关键字坐标
依赖引用:itextpdf-5.5.13.jar
常见itextpdf各个版本【0积分免费下载】点击下载
效果展示
话不多说
1.引入工具类代码
/**
* pdf插入图片
* @param oldPath 插入图片前的路径
* @param newPath 插入图片后的路径
* @param imgPath 图片路径
* @throws IOException
* @throws DocumentException
*/
public static void insert(String oldPath, String newPath, String imgPath) throws IOException, DocumentException {
InputStream inputStream = new FileInputStream(oldPath);
FileOutputStream out = new FileOutputStream(newPath);
PdfReader reader = new PdfReader(inputStream);
//pdf页数
int pdfPages = reader.getNumberOfPages();
PdfStamper stamper = new PdfStamper(reader, out);
//图片
BufferedImage bufferedImage = ImageIO.read(new FileInputStream(imgPath));
//x轴坐标
int x = 500;
//y轴坐标
int y = 500;
for (int i = 1; i <= pdfPages; i++) {
//图片处理
Image img = Image.getInstance(ImageUtil.imageToBytes(bufferedImage));
//设置图片大小
img.scaleAbsolute(110, 110);
//设置图片位置
img.setAbsolutePosition(x, y);
stamper.getOverContent(i).addImage(img);
}
//关闭资源
stamper.close();
out.close();
reader.close();
}
2.编写测试案例
public static void main(String[] args) throws IOException, DocumentException {
insert("插入图片前的路径", "插入图片后的路径", "图片路径");
}