圖像廣泛用於 PDF 文件中不同類型的描述和演示。在本文中,您將學習如何以編程方式操作 PDF 文件中的圖像。特別是,本文將介紹如何使用 Java 添加、提取、刪除或替換 PDF 文件中的圖像。
- 用於在 PDF 中添加和操作圖像的 Java API
- 使用 Java 在 PDF 中添加圖像
- 使用 Java 從 PDF 中提取圖像
- 使用 Java 從 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 文件中添加圖像的步驟。
- 首先,創建一個 Document 類的實例來加載 PDF 文檔。
- 使用 Document.getPages().getItem(int) 方法獲取要添加圖像的 Page。
- 將圖像文件加載到 FileInputStream 對像中。
- 使用 Page.getResources().getImages().add(FileInputStream) 方法將圖像添加到頁面的資源中。
- 使用運算符將圖像放置在頁面上:
- GSave 運算符保存當前圖形狀態。
- ConcatenateMatrix 運算符指定圖像的放置位置。
- Do 運算符在頁面上繪製圖像。
- GRestore 運算符保存更新的圖形狀態。
- 最後,使用 Document.save(string) 方法保存更新後的 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 文檔中提取圖像的步驟。
- 創建 Document 類的實例以加載 PDF 文檔。
- 使用 Document.getPages().getItem(int).getResources().getImages().getItem(int) 方法將所需圖像提取到 XImage 對像中。
- 您還可以遍歷圖像集合以提取並保存所有圖像。
- 最後,使用 OutputStream 將提取的圖像保存為文件。
以下代碼示例顯示瞭如何使用 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 文件中刪除圖像的步驟。
- 將 PDF 文件加載到 Document 對像中。
- 使用以下方法之一刪除所需的圖像。
- 最後,使用 Document.save(string) 方法保存更新後的 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 文件中的圖像的步驟。
- 將 PDF 文件加載到 Document 對像中。
- 將新圖像加載到 FileInputStream 對像中。
- 使用Document.getPages().getItem(int).getResources().getImages().replace(int, FileInputStream)方法通過指定索引替換圖片。
- 最後,使用 Document.save(string) 方法保存更新後的 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 的其他功能。如有任何疑問,您可以通過我們的論壇與我們聯繫。