public boolean addImgToPdf() throws Exception {
boolean result = false;
PdfReader reader = null;
PdfStamper stamper = null;
FileInputStream fis = null;
try {
fis = new FileInputStream(new File("原pdf路径1"));
} catch (FileNotFoundException e) {
try {
fis = new FileInputStream(new File("原pdf路径2"));
} catch (FileNotFoundException e1) {
logger.error("两条路径均未找到pdf文件",e);
return result;
}
}
String path = "生成的新文件路径";
try {
reader = new PdfReader(fis);
stamper = new PdfStamper(reader, new FileOutputStream(path));
stamper.insertPage(reader.getNumberOfPages() + 1, reader.getPageSizeWithRotation(1));//新增空白页
PdfContentByte under = stamper.getOverContent(reader.getNumberOfPages());//捕获新增的空白页
Image image = Image.getInstance("图片路径");
image.scaleAbsolute(250, 200);// 图片大小 宽,高
image.setAbsolutePosition(25, 530);
under.addImage(image);
result = true;
stamper.close();
reader.close();
} catch (DocumentException | IOException e) {
logger.error("向pdf追加图片失败",e);
return result;
} finally {
if (NonUtil.isNotNon(stamper)) {
stamper.close();
}
if (NonUtil.isNotNon(reader)) {
reader.close();
}
}
return result;
}