如何使用 Java 在 PDF 中插入图像

问题描述

如何使用 Java 在 PDF 中插入图像。

解决方案

以下是使用 Java 在 PDF 中插入图像的示例程序。

import java.io.File;  

import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage; 
import org.apache.pdfbox.pdmodel.PDPageContentStream; 
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;  

public class InsertingImageInPdf { 
   public static void main(String args[]) throws Exception {  
      
        //加载现有文档
        File file = new File("C:/pdfBox/InsertImage_IP.pdf");
        PDDocument doc = PDDocument.load(file);
        
        //检索页面
        PDPage page = doc.getPage(0);
        
        //创建 PDImageXObject 对象
        PDImageXObject pdImage = PDImageXObject.createFromFile("C:/pdfBox/logo.png", doc);
        
        //创建 PDPageContentStream 对象
        PDPageContentStream content = new PDPageContentStream(doc, page);
        
        //在 PDF 文档中绘制图像
        contents.drawImage(pdImage, 70, 250);
        System.out.println("Image inserted");
        
        //关闭 PDPageContentStream 对象
        contents.close();
        
        //保存文档
        doc.save("C:/pdfBox/InsertImage_OP.pdf");
        
        //关闭文档
        doc.close();
   }  
} 

Input

Insert Image Input

Output

Insert Image Output
java_apache_pdf_box.html