通過Java將圖像添加到PDF文檔

使用适用于 Java 库的 Aspose.PDF 以编程方式将图像插入到 PDF 文档

使用 Java 工具将图像添加到 PDF 文档

為了在PDF中添加圖像,我們將使用[Aspose.PDF用於Java](https://products.aspose.com/pdf/java)API,這是一個功能豐富,功能強大且易於使用的Java平台轉換API。您可以直接從 [Maven](https://repository.aspose.com/webapp/#/artifacts/browse/tree/General/repo/com/aspose/aspose-pdf)下載其最新版本,並通過將以下配置添加到 pom.xml 來將其安裝在基於 Maven 的專案中。

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

使用Java將圖像添加到 PDF


你需要 Aspose.PDF for Java 才能在你的环境中试用代码。

  1. 建立一個 Document 物件並開啟輸入的 PDF 文件。
  2. 取得要新增圖像的頁面。
  3. 將圖像加入到頁面的 Resources 集合中。
  4. 使用 GSave 運算子儲存目前圖形狀態。
  5. 使用 ConcatenateMatrix 運算子指定影像的放置位置。
  6. 使用 Do 運算子在頁面上繪製圖像。
  7. 使用 GRestore 運算子儲存更新的圖形狀態。
  8. 儲存 PDF 檔案。

向 PDF 文档添加图片-Java

此示例代码说明如何将图像添加到 PDF 页面-Java

try {
    Document pdfDocument = new Document(DATA_DIR.resolve("AddImage.pdf").toString());

    int lowerLeftX = 100;
    int lowerLeftY = 100;
    int upperRightX = 200;
    int upperRightY = 200;

    Page page = pdfDocument.getPages().get_Item(1);

    FileInputStream imageStream = new FileInputStream(DATA_DIR.resolve("aspose-logo.jpg").toString());

    page.getResources().getImages().add(imageStream);

    page.getContents().add(new GSave());

    Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
    Matrix matrix = new Matrix(new double[]{
            rectangle.getURX() - rectangle.getLLX(), 0,
            0, rectangle.getURY() - rectangle.getLLX(),
            rectangle.getLLX(), rectangle.getLLY()});

    page.getContents().add(new ConcatenateMatrix(matrix));
    XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
    page.getContents().add(new Do(ximage.getName()));
    page.getContents().add(new GRestore());
    pdfDocument.save(DATA_DIR.resolve("AddImage_out.pdf").toString());
    pdfDocument.close();
} catch (Exception e) {
    System.out.println(e.getMessage());
}