使用 Java 處理 PDF 圖像

圖像廣泛用於 PDF 文件中不同類型的描述和演示。在本文中,您將學習如何以編程方式操作 PDF 文件中的圖像。特別是,本文將介紹如何使用 Java 添加、提取、刪除或替換 PDF 文件中的圖像。

用於在 PDF 中添加和操作圖像的 Java API - 免費下載

Aspose.PDF for Java 是一個強大的 API,可為您提供廣泛的 PDF 操作功能。 API 讓您可以無縫地處理 PDF 文件中的文本、註釋或圖像。您可以 下載 API 的 JAR 或使用以下 Maven 配置安裝它。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.2</version>
</dependency>

在 Java 中將圖像添加到 PDF 文件

以下是使用 Java 在 PDF 文件中添加圖像的步驟。

以下代碼示例顯示瞭如何使用 Java 將圖像添加到 PDF 文件。

// 打開文檔
Document pdfDocument1 = new Document("input.pdf");

// 設定坐標
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// 獲取要添加圖片的頁面
Page page = pdfDocument1.getPages().get_Item(1);

// 將圖像加載到流中
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));

// 將圖像添加到頁面資源的圖像集合
page.getResources().getImages().add(imageStream);

// 使用 GSave 運算符:此運算符保存當前圖形狀態
page.getContents().add(new Operator.GSave());

// 創建矩形和矩陣對象
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });

// 使用 ConcatenateMatrix(連接矩陣)運算符:定義必須如何放置圖像
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());

// 使用 Do 運算符:此運算符繪製圖像
page.getContents().add(new Operator.Do(ximage.getName()));

// 使用 GRestore 運算符:此運算符恢復圖形狀態
page.getContents().add(new Operator.GRestore());

// 保存新的 PDF
pdfDocument1.save("Updated_document.pdf");

// 關閉圖像流
imageStream.close();

使用 Java 從 PDF 文件中提取圖像

以下是使用 Java 從 PDF 文檔中提取圖像的步驟。

以下代碼示例顯示瞭如何使用 Java 從 PDF 文件中提取圖像。

// 打開文檔
Document pdfDocument = new Document("input.pdf");

// 提取特定圖像
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);

// 創建流對像以保存輸出圖像
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");

// 保存輸出圖像
xImage.save(output);

// 關閉流
output.close();

使用 Java 從 PDF 文件中刪除圖像

以下是使用 Java 從 PDF 文件中刪除圖像的步驟。

以下代碼示例顯示瞭如何使用 Java 刪除 PDF 中的圖像。

// 打開文檔
Document pdfDocument = new Document("input.pdf");

// 刪除特定圖像
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);

// 保存更新的 PDF 文件
pdfDocument.save("output.pdf");

使用 Java 替換 PDF 文件中的圖像

以下是使用 Java 替換 PDF 文件中的圖像的步驟。

以下代碼示例顯示瞭如何使用 Java 替換 PDF 中的圖像。

// 打開文檔
Document pdfDocument = new Document("input.pdf");

// 替換特定圖像
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("aspose.png")));

// 保存更新的 PDF 文件
pdfDocument.save("output.pdf");

用於在 PDF 中添加圖像的 Java API - 獲取免費的 API 許可證

您可以通過獲得臨時許可證免費試用 Aspose.PDF for Java。

結論

在本文中,您學習瞭如何使用 Java 操作 PDF 文件中的圖像。分步指南和代碼示例展示瞭如何提取、添加、刪除和替換 PDF 文件中的圖像。您可以使用 文檔 探索 Aspose.PDF for Java 的其他功能。如有任何疑問,您可以通過我們的論壇與我們聯繫。

也可以看看