提取 PDF 圖像(Java) – 使用 GroupDocs 將 PDF 圖像保存為 PNG

在現代以文件為中心的工作流程中,extract images pdf java 是一項常見需求,可免除手動開啟 PDF 以複製圖片的麻煩。無論您需要從型錄中取得產品照片、從合約中取得標誌,或從報告中取得螢幕截圖,使用 Java 及 GroupDocs.Parser 自動化提取即可在數秒內抓取所有嵌入的點陣圖像。本指南將帶您完成安裝函式庫、從 PDF(以及其他格式)提取圖像,以及saving images as PNG 檔案的步驟,讓您可供後續處理。

快速回答

  • What does “extract images from PDF” mean? 它是透過程式方式讀取 PDF 並提取每個嵌入的點陣圖像的過程。
  • Which library handles this in Java? GroupDocs.Parser for Java 提供簡單的 API,可在多種文件類型中提取圖像。
  • Can I save the extracted files as PNG? 是的 – 在呼叫 image.save() 時使用 ImageOptions(ImageFormat.Png)
  • Do I need a license? 開發階段可使用免費試用版;正式環境則需商業授權。
  • Is it possible to extract images from Word, Excel or ZIP files? 當然可以 – 相同的 parser.getImages() 呼叫亦適用於這些格式。

什麼是 extract images pdf java?

Extract images pdf java 指的是以程式方式定位 PDF 文件中所有嵌入的點陣圖像物件,並取得其二進位資料,以便在不手動開啟檔案的情況下重新使用、分析或歸檔這些圖片。此過程通常包括解析 PDF 結構、提取圖像串流,並將其寫入選定格式(如 PNG)的獨立圖像檔案。

為何使用 GroupDocs.Parser 從 PDF 提取圖像?

GroupDocs.Parser 能在一般 8 核心伺服器上於 5 秒內處理最多 500 頁的 PDF,且支援 超過 50 種輸入格式,包括 DOCX、XLSX、PPTX 以及 ZIP 壓縮檔。原生編碼引擎保持低記憶體使用量,讓您能處理數百頁的檔案而無需將整份文件載入記憶體。您亦可完整掌控輸出格式、檔名以及批次處理。

先決條件

  • Java Development Kit (JDK) 8 或更新版本。
  • 基本熟悉 Java I/O 與例外處理。
  • Maven 或能將外部 JAR 加入專案的能力。

所需函式庫與相依性

要在 Java 中使用 GroupDocs.Parser,請透過 Maven 或直接下載函式庫將其納入專案。

環境設定需求

確保您的 IDE(IntelliJ IDEA、Eclipse、VS Code)已配置 JDK 與 Maven(若選擇 Maven 方式)。

知識先決條件

了解檔案串流、try‑with‑resources 以及基本的物件導向 Java,將使實作更順暢。

設定 GroupDocs.Parser for Java

要使用 GroupDocs.Parser,請透過 Maven 加入專案或從官方發行頁面下載函式庫。

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 下載最新版本。

欲取得完整指南,請參考 GroupDocs Documentation

授權取得

先下載函式庫以開始免費試用。若需長期使用,請考慮購買授權或從 GroupDocs 取得臨時授權。

基本初始化與設定

Parser 類別是 GroupDocs.Parser 中所有文件解析操作的入口點。您可在建構子中傳入檔案路徑(以及可選的密碼)來建立實例。

import com.groupdocs.parser.Parser;

public class InitializeParser {
    public static void main(String[] args) {
        // Initialize the Parser object with a document path
        try (Parser parser = new Parser("path/to/your/document")) {
            System.out.println("Parser initialized successfully.");
        } catch (Exception e) {
            System.err.println("Error initializing parser: " + e.getMessage());
        }
    }
}

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

使用 new Parser("yourFile.pdf") 載入文件,然後呼叫 parser.getImages() —— 這個單一呼叫會回傳 PDF、Word、Excel 或 ZIP 檔案中所有嵌入的點陣圖像集合。

實作指南

我們將實作分成邏輯區段,讓您能清楚跟隨每一步。

功能 1:從文件提取圖像

此功能示範如何使用 GroupDocs.Parser for Java 提取圖像。

概覽

您將建立一個方法,從指定文件中提取所有圖像,並檢查給定格式是否支援圖像提取。

實作步驟

步驟 1:設定 parser

使用您的文件路徑初始化 Parser 物件:

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

public class ExtractImagesFeature {
    public static void extractImages() throws UnsupportedDocumentFormatException, IOException {
        String documentPath = "YOUR_DOCUMENT_DIRECTORY/document.zip";
        
        try (Parser parser = new Parser(documentPath)) {
            Iterable<PageImageArea> images = parser.getImages();
            if (images == null) {
                throw new UnsupportedDocumentFormatException("Page images extraction isn't supported.");
            }
        }
    }
}
說明
  • parser.getImages() 會提取文件中的每個圖像區域,無論是 PDF、Word、Excel,甚至是包含支援檔案的 ZIP 壓縮檔。
  • Error handling:若格式不支援圖像提取,該方法會拋出 UnsupportedDocumentFormatException,讓您能優雅地回退。

功能 2:將提取的圖像儲存為檔案

取得圖像物件後,下一步是將它們寫入磁碟為 PNG 檔案。

概覽

您將遍歷每個提取的圖像,使用 ImageOptions 類別將其保存為 PNG 檔案。

ImageOptions 指定了保存圖像的輸出格式與編碼設定。
ImageFormat.Png 是選擇 PNG 圖像格式的列舉值。

實作步驟

步驟 1:儲存每張圖像

遍歷圖像並保存:

import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.options.ImageOptions;
import com.groupdocs.parser.options.ImageFormat;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class SaveImagesFeature {
    public static void saveExtractedImages(Iterable<PageImageArea> images) throws IOException {
        String outputPath = "YOUR_OUTPUT_DIRECTORY/";
        int imageNumber = 0;
        
        ImageOptions options = new ImageOptions(ImageFormat.Png);

        for (PageImageArea image : images) {
            String outputFilePath = outputPath + String.format("%d.png", imageNumber++);
            
            try (OutputStream outputStream = new FileOutputStream(outputFilePath)) {
                image.save(outputStream, options);
            }
        }
    }
}
說明
  • ImageOptions(ImageFormat.Png) 指定 PNG 格式,該格式無損且適合需要精確保真度的螢幕截圖或圖形。
  • image.save() 使用提供的輸出串流將每張圖像寫入檔案系統,並重複使用同一個 ImageOptions 實例以提升效能。

故障排除提示

  • 確認 document path 指向現有檔案且應用程式具備讀取權限。
  • 確保 output directory 已存在且流程具備寫入權限。
  • 對於非常大的 PDF,建議分批處理頁面以降低記憶體使用量。

如何將圖像儲存為 PNG

載入文件、提取圖像,然後呼叫 image.save(outputStream, new ImageOptions(ImageFormat.Png)) —— 這行程式碼會將每個點陣圖像寫入 PNG 檔案,同時保留原始解析度與色深。

從 Word、Excel 與 ZIP 檔案提取圖像

GroupDocs.Parser 的 getImages() 可跨多種格式運作:

  • Word (.docx) – 提取嵌入的圖片與圖形。
  • Excel (.xlsx) – 抽取圖表與插入的圖片。
  • ZIP – 若壓縮檔內含支援的文件,解析器會處理每個條目並回傳其圖像。

只需將 documentPath 變數替換為您的 .docx.xlsx.zip 檔案路徑,即可重複使用相同的提取與保存邏輯。

實務應用

GroupDocs.Parser 可整合至各種系統,提升功能:

  1. Automated document processing – 從發票或合約中提取圖像,以自動化資料輸入。
  2. Archiving systems – 集中儲存文件圖像,快速視覺檢索。
  3. Content management systems (CMS) – 自動從上傳的文件中抽取媒體資產。

效能考量

在處理大量批次時,保持 Java 應用程式的回應性:

  • Close streams promptly 使用 try‑with‑resources(如示範)。
  • Reuse ImageOptions 而非為每張圖像建立新實例。
  • Process documents sequentially or in a controlled thread pool 以避免記憶體峰值。
  • GroupDocs.Parser 能在 4 秒內 從 300 頁 PDF 提取圖像,且使用的堆積記憶體低於 200 MB

結論

在本教學中,您學會了如何設定 GroupDocs.Parser for Java、extract images pdf java,以及 save images as PNG 檔案。此功能可大幅加速任何基於 Java 的文件中心工作流程。

下一步

探索 GroupDocs documentation 以發現更多功能,如文字提取、表格解析與 OCR 支援。欲查閱詳細方法簽名,請參考 API Reference

行動呼籲

立即在您的專案中實作這些程式碼片段——您的自動化圖像提取管線只差幾行程式碼!

常見問題

Q: GroupDocs.Parser 支援哪些格式進行圖像提取?
A: PDF、Word (.docx)、Excel (.xlsx)、PowerPoint、包含支援檔案的 ZIP 壓縮檔,以及更多其他格式。

Q: 能從受密碼保護的 PDF 提取圖像嗎?
A: 可以。建構 Parser 物件時提供密碼即可。

Q: 如何處理非常大的文件?
A: 建議逐頁處理,於每個批次釋放資源,必要時增加 JVM 堆積大小。

Q: 除了圖像外,還能提取其他資料類型嗎?
A: 當然可以。GroupDocs.Parser 也能提取文字、表格與中繼資料。

Q: 若特定檔案不支援圖像提取會怎樣?
A: API 會拋出 UnsupportedDocumentFormatException;您可以捕捉此例外並採取替代策略(例如先將檔案轉換)。


Last Updated: 2026-08-10
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs

相關教學