所需依赖
<dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type>
</dependency>
源码
public class PdfUtils {public static byte[] embedImage(byte[] pdfBytes, byte[] imageBytes, float width, float height, float x, float y, int pageNumber) {try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {PdfDocument pdfDoc = new PdfDocument(new PdfReader(new ByteArrayInputStream(pdfBytes)),new PdfWriter(baos));int numberOfPages = pdfDoc.getNumberOfPages();if (pageNumber < 1 || pageNumber > numberOfPages) {log.error("指定的页码 {} 无效,文档总页数为 {}", pageNumber, numberOfPages);return null;}ImageData imageData = ImageDataFactory.create(imageBytes);Image image = new Image(imageData);image.scaleToFit(width, height);image.setFixedPosition(pageNumber, x, y);Document document = new Document(pdfDoc);document.add(image);document.close();return baos.toByteArray();} catch (Exception e) {throw new ServiceException(0, "PDF处理失败");}}
}