如何使用 GroupDocs.Parser 在 Java 中提取所有 PDF 圖像

從 PDF 中提取圖像對於數位保存、資料處理和內容再利用至關重要。在本教學中,您將學習如何使用 GroupDocs.Parser for Java 提取所有 PDF 圖像,並將結果儲存為 PNG 檔案。此方法適用於單檔案情境以及大規模批次作業,為您提供可靠的方式重新利用任何 PDF 的視覺資產。

快速回答

  • 什麼函式庫負責圖像提取? GroupDocs.Parser for Java.
  • 本教學將圖像儲存為何種格式? PNG (使用 ImageFormat.Png).
  • 我可以一次處理多個 PDF 嗎? Yes – combine the code with a loop for batch PDF image extraction.
  • 我需要授權嗎? A free trial or temporary license works for testing; a full license is required for production.
  • 需要哪個 Java 版本? JDK 8 or higher.

什麼是「提取所有 PDF 圖像」?

提取所有 PDF 圖像指的是以程式方式定位 PDF 檔案中嵌入的每個點陣圖形,並將每個圖形匯出為單獨的圖像檔案(例如 PNG、JPEG)。這讓您能在不需手動複製貼上的情況下重新利用視覺資產,實現檔案保存、分析與機器學習流程的自動化。

為什麼使用 GroupDocs.Parser for Java?

GroupDocs.Parser 在一般伺服器上每秒可處理 50+ PDF 頁面,且能在不將整個檔案載入記憶體的情況下處理高達 2 GB 的文件。此函式庫提供高精度的點陣圖偵測、低記憶體佔用,並內建支援 batch PDF image extraction,使其成為企業級工作流程的理想選擇。

介紹

您是否曾需要從長篇 PDF 中提取所有圖像,卻發現手動提取既繁瑣又易出錯?使用 GroupDocs.Parser for Java,這項任務只需幾行程式碼即可完成。本指南將帶您完成函式庫的安裝、圖像提取、以 PNG 儲存,以及將解決方案擴展至批次處理。完成後,您即可將圖像提取整合至任何基於 Java 的後端或桌面工具中。

前置條件

  • GroupDocs.Parser for Java – version 25.5 或更新版本。
  • JDK 8 或更新版本已安裝於開發機器上。
  • IntelliJ IDEAEclipse 等 IDE(非必須但建議使用)。
  • 基本的 Java 知識;熟悉 Maven 有助,但非必須。

設定 GroupDocs.Parser for Java

首先,將函式庫加入您的專案,可透過 Maven 或直接下載 JAR 檔案。

Maven 設定

Add the following configuration to your pom.xml file:

<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. 將 JAR 檔案加入專案的建置路徑。

取得授權

  • Free trial – 探索核心功能,免費使用。
  • Temporary license – 延長評估期,無功能限制。
  • Full license – 生產環境部署及進階功能所需。

如何使用 GroupDocs.Parser 提取所有 PDF 圖像

載入您的 PDF,取得每張圖像,並將輸出寫入 PNG。以下步驟假設您已配置有效授權。解析器會讀取文件,識別所有點陣圖形,並讓您指定輸出資料夾與命名模式。它亦支援受密碼保護的 PDF,且可整合至批次工作流程以實現高吞吐量處理。

直接答案

建立一個以 PDF 路徑為參數的 Parser 實例,呼叫 getImages() 取得 PageImageArea 物件的集合,然後遍歷該集合,使用設定為 ImageFormat.PngImageOptions 來儲存每張圖像。此工作流程在一次執行中提取所有點陣圖形,並將每個檔案寫入目標資料夾。

Parser 是代表 PDF 文件的主要類別,提供對其內容的存取。

1️⃣ 初始化解析器

Parser 是在記憶體中表示 PDF 文件的核心類別,提供對其結構元素的存取。

String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
try (Parser parser = new Parser(filePath)) {
    // Use this parser object to extract images.
}

2️⃣ 提取圖像

getImages() 會回傳在 PDF 中找到的圖像區域的可迭代集合。

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

3️⃣ 以 PNG 儲存圖像

ImageOptions 讓您指定儲存圖像的輸出設定,例如格式與解析度。

ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
for (PageImageArea image : images) {
    String outputFilePath = "YOUR_OUTPUT_DIRECTORY/image" + imageNumber + ".png";
    image.save(outputFilePath, options);
    imageNumber++;
}

關鍵參數說明

  • filePath – 指向來源 PDF 的絕對或相對路徑。
  • ImageOptions & ImageFormat.Png – 指示解析器輸出 PNG 檔案,保留無損品質。
  • outputFilePath – 產生圖像的資料夾與命名模式(例如 output/page_{page}_img_{index}.png)。

4️⃣ 批次 PDF 圖像提取(可選)

將上述邏輯包裝在迴圈中,遍歷 PDF 檔案路徑清單。這可在最少程式碼變更下實現 batch PDF image extraction,並在多核心伺服器上最大化吞吐量。

常見陷阱與故障排除技巧

  • 檔案路徑不正確 – 請再次確認應用程式對來源 PDF 具有讀取權限,且對目標資料夾具有寫入權限。
  • 缺少授權 – 若未取得有效授權,解析器會拋出 LicenseException
  • 受密碼保護的 PDF – 在建立 Parser 物件時提供密碼;否則提取將失敗。
  • 大型檔案的記憶體壓力 – 使用 try‑with‑resources 確保 Parser 實例及時關閉,釋放原生資源。

實務應用

提取所有 PDF 圖像可支援許多實務情境:

  1. Digital archiving – 自動從歷史文件中收集視覺資產,以建立可搜尋的資料庫。
  2. Content repurposing – 將提取的 PNG 輸入至網站相簿、行銷手冊或 e‑learning 模組。
  3. Data analysis – 使用從財務報告或科學論文中提取的視覺資料,強化分析管線。
  4. Machine‑learning pipelines – 直接從 PDF 產生圖像資料集,以訓練電腦視覺模型。
  5. Enterprise DMS integration – 為文件管理系統內的快速視覺搜尋建立提取圖像的索引。

效能考量

處理大型 PDF 或高量批次作業時,請留意以下最佳實踐:

  • Memory management – 在 try‑with‑resources 區塊中實例化 Parser,以確保確定性的清理。
  • Parallel processing – 使用 Java 的 ExecutorService 同時處理多個 PDF,以充分利用 CPU 核心。
  • Image format choice – PNG 提供無損品質;若儲存空間為優先,可改用 JPEG (ImageFormat.Jpeg)。
  • I/O buffering – 將圖像寫入快速 SSD 或網路附加儲存,以避免瓶頸。

結論

在本教學中,您已學會如何使用 GroupDocs.Parser for Java 提取所有 PDF 圖像、如何 將 PDF 圖像儲存為 PNG,以及如何將解決方案擴展至 batch PDF image extraction。此函式庫抽象化低階 PDF 解析,讓您專注於後續的業務邏輯,如檔案保存、分析或 AI 模型訓練。

後續步驟

  • 嘗試其他輸出格式,如 JPEG 或 BMP。
  • 將提取邏輯包裝成 REST 端點,以供即時處理。
  • 探索 GroupDocs.Parser 的其他功能,例如文字提取、表格解析與中繼資料擷取。

常見問答

Q: What is GroupDocs.Parser for Java?
A: GroupDocs.Parser for Java 是一個函式庫,可程式化地從超過 100 種文件格式(包括 PDF)中提取文字、元資料與點陣圖形。

Q: Can I extract images from password‑protected PDFs?
A: 是——在建立 Parser 實例時提供文件密碼,前提是您的授權允許解密。

Q: How should I handle very large PDF files?
A: 使用 try‑with‑resources 及時釋放解析器,將檔案分批處理,並考慮串流輸出,以避免將整個文件載入記憶體。

Q: Are there limits on the number of images or file size?
A: 此函式庫支援多 GB 級的 PDF 與成千上萬的圖像;實際限制取決於伺服器的 CPU、記憶體與儲存吞吐量。

Q: Where can I find more resources or get support?
A: 瀏覽 GroupDocs documentation 並加入 free support forum 以獲取社群協助。

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

相關教學