從特定區域提取 PDF 圖像(使用 GroupDocs.Parser Java API)

在本教學中,您將學會如何使用 GroupDocs.Parser Java 函式庫,透過指定的矩形區域 從 PDF 檔案中提取圖像。當您需要從發票、報告或掃描表單中抽取標誌、簽名或圖表片段,而不必將整個文件載入記憶體時,此方法非常理想。您將獲得逐步指引、以效能為導向的技巧,以及實務案例。

快速回答

  • 「提取 PDF 圖像」是什麼意思? 指以程式方式從 PDF 檔案中抽取點陣圖像物件,以便在其他地方重新使用。
  • 本教學使用哪個函式庫? GroupDocs.Parser for Java。
  • 需要授權嗎? 免費試用可用於測試;正式環境需購買永久授權。
  • 可以一次處理多個檔案嗎? 可以——將示範程式碼與批次迴圈結合,即可批量提取 PDF 圖像。
  • 需要哪個 Java 版本? JDK 8 或更新版本。

「提取 PDF 圖像」在 PDF 中的意義是什麼?

提取 PDF 圖像指以程式方式抽出嵌入於 PDF 檔案中的點陣圖像物件,讓您能在其他地方重新使用或處理。當 PDF 包含照片、標誌或掃描圖形時,這些元素會以圖像物件的形式儲存,透過解析 API 即可存取。這可支援如將標誌送入品牌流程或將掃描圖表送至 OCR 引擎等工作流程。

為什麼選擇 GroupDocs.Parser Java 來完成此任務?

GroupDocs.Parser 提供高階 API,讓您能從指定矩形區域提取圖像,支援處理高達 2 GB 的 PDF 而不需將整個檔案載入記憶體,且在一般 4 核心伺服器上每分鐘可處理超過 500 頁文件。此函式庫跨平台(Windows、Linux、macOS),內建串流機制以降低記憶體使用。

前置條件

  • Java Development Kit (JDK) 8+ – 使用 java -version 檢查。
  • Maven – 雖非必須,但建議用於相依管理。
  • IDE – IntelliJ IDEA、Eclipse,或您慣用的任何編輯器。

必要的函式庫與相依性

Maven 安裝

將以下設定加入您的 pom.xml 檔案:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

直接下載
或直接從 GroupDocs.Parser for Java releases 下載最新版本。

授權取得

  1. 免費試用: 先啟用免費試用以探索函式庫功能。
  2. 臨時授權: 若需延長無限制使用,可申請臨時授權。
  3. 購買授權: 考慮購買完整授權以供長期使用。

設定 GroupDocs.Parser for Java

Maven 設定

若使用 Maven,以上程式碼片段會自動下載所需的 JAR。

直接下載設定

手動方式下,將下載的 JAR 放入專案的 libs 資料夾,並將其加入 IDE 的建置路徑。

如何從特定 PDF 區域提取圖像?

載入 PDF、定義矩形,然後呼叫提取方法——這就是取得與該區域相交圖像的全部步驟。getImages 為從頁面中於給定矩形範圍內抽取圖像物件的方法。getImages 會掃描指定的頁面區域,僅回傳與矩形重疊的圖像。API 會回傳 PageImageArea 物件的可疊代集合,內含抽取出的圖像資料:

Iterable<PageImageArea> images = parser.getImages(options);

if (images == null) {
    System.out.println("Image extraction isn't supported in this area");
} else {
    // Process extracted images here
}

1. 功能概述

此功能讓您在 PDF 頁面上定義矩形區域,僅抽取與該區域相交的圖像。非常適合分離標誌、簽名或圖表片段。

2. 初始化解析器物件

Parser 類別是 GroupDocs.Parser 讀取 PDF 檔案的主要入口。傳入 PDF 檔案路徑即可建立實例:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.options.PageAreaOptions;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleImagesPdf.pdf")) {
    // Code for image extraction will follow here
} catch (UnsupportedDocumentFormatException e) {
    System.err.println("The provided document format is not supported.");
}

3. 定義提取區域

Rectangle 類別代表您要掃描的區域。在此範例中,我們從點 (340, 150) 開始,捕捉 300 × 100 像素的區域:

import com.groupdocs.parser.options.PageAreaOptions;
import java.awt.Rectangle;
import java.awt.Point;
import java.awt.Size;

PageAreaOptions options = new PageAreaOptions(new Rectangle(
    new Point(340, 150),
    new Size(300, 100)
));

4. 提取圖像

getImages 為從頁面中於給定矩形範圍內抽取圖像物件的方法。以區域選項呼叫 getImages。該方法回傳 PageImageArea 物件的可疊代集合,內含抽取出的圖像資料:

Iterable<PageImageArea> images = parser.getImages(options);

if (images == null) {
    System.out.println("Image extraction isn't supported in this area");
} else {
    // Process extracted images here
}

主要設定選項

  • 矩形定義: 調整 Point(x、y)與 Size(寬、高)以定位頁面的任意部分。
  • 錯誤處理: 使用 try‑catch 區塊包裹呼叫,以優雅地處理不支援的格式或提取失敗。

實務應用

  1. 發票處理: 抽取標誌、條碼或特定欄位以進行自動驗證。
  2. 文件數位化: 從掃描報告中抽取圖表或圖形,供資料管線再利用。
  3. 內容歸檔: 從研究論文或行銷手冊中分離並儲存視覺資產。

效能考量

  • 最佳化記憶體使用: 逐頁處理,並在每次迭代後釋放資源,以降低記憶體佔用。
  • 批次處理: 將提取邏輯包在迴圈中,對多個 PDF 進行批量圖像提取,減少額外開銷。

常見問題與解決方案

症狀可能原因解決方式
未返回圖像矩形未與任何圖像相交核對座標與尺寸;測試時使用較大的矩形。
UnsupportedDocumentFormatExceptionPDF 版本不受支援更新至最新的 GroupDocs.Parser 版本,或將 PDF 轉換為受支援的版本。
大檔案記憶體不足整個文件一次載入改為逐頁處理,並在每個檔案處理完畢後釋放 Parser

常見問答

Q: GroupDocs.Parser 最低需要哪個 Java 版本?
A: 建議使用 JDK 8 或更新版本,以獲得最佳相容性與效能。

Q: 我能從所有類型的 PDF 檔案中提取圖像嗎?
A: 大多數 PDF 均受支援,但高度加密或損毀的檔案可能需要先行前處理。

Q: 圖像提取過程中發生錯誤該如何處理?
A: 在解析器初始化與提取呼叫周圍使用 try‑catch,捕捉 UnsupportedDocumentFormatException 及其他執行時例外。

Q: 有什麼方法可以提升大型 PDF 的效能?
A: 可以批次處理文件、將提取區域限制在必要範圍,並盡可能重複使用同一個 Parser 實例。

Q: GroupDocs.Parser 是否支援其他程式語言?
A: 本指南聚焦於 Java,GroupDocs 亦提供 .NET、Python 等平台的類似函式庫。

資源


最後更新: 2026-08-15
測試環境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs

相關教學