通過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. 建立一個文件物件並打開輸入的 PDF 文件。
  2. 取得要新增影像的頁面。
  3. 將影像添加到頁面的資源集合中。
  4. 使用 GSave 運算子保存當前圖形狀態。
  5. 使用串聯矩陣運算子指定要放置影像的位置。
  6. 使用 Do 運算子在頁面上繪製圖像。
  7. 使用 GRestore 運算子保存更新的圖形狀態。
  8. 保存 PDF 檔。

向 PDF 文档添加图片-Java

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


    Document pdfDocument = new Document(dataDir+ "AddImage.pdf");

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

    Page page = pdfDocument.Pages[1];

    FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);

    page.Resources.Images.Add(imageStream);

    page.Contents.Add(new Aspose.Pdf.Operators.GSave());

    Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
    Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

    page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
    XImage ximage = page.Resources.Images[page.Resources.Images.Count];

    page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

    page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
    dataDir = dataDir + "AddImage_out.pdf";

    pdfDocument.Save(dataDir);