使用 GroupDocs.Editor for Java 從 Word 文件提取圖片

如果您需要以程式方式 extract pictures from Word 檔案,您來對地方了。在本教學中,我們將示範如何在 Java 中載入 Word 文件、設定編輯器,並抽取圖片、字型與 CSS——正是您在使用 GroupDocs.Editor for Java 自動化文件處理流程時所需的步驟。

您將學會:

  • 如何使用 GroupDocs.Editor load word document java
  • 如何 extract images java 以及其他嵌入資產
  • 如何 extract css java 以重新使用樣式
  • 最佳實踐方式將這些資源儲存至磁碟
  • 實務情境中抽取資源可節省時間與精力

準備好簡化您的文件工作流程了嗎?讓我們開始吧!

快速解答

  • “extract pictures from word” 是什麼意思? 這表示以程式方式從 Word 檔案中抽取圖片、字型、CSS 以及其他嵌入資產。
  • 哪個程式庫在 Java 中處理此功能? GroupDocs.Editor for Java 提供了高階 API 來完成此任務。
  • 我需要授權嗎? 免費試用可用於測試;正式環境需購買完整授權。
  • 我可以處理 DOCX 與 DOC 檔案嗎? 可以,兩者皆完整支援。
  • 大型文件安全嗎? 可以,但對於超過 200 MB 的檔案,建議使用批次處理並妥善釋放記憶體。

什麼是 Word 文件中的資源抽取?

資源抽取是指系統性地取得 Word 檔案中所有嵌入資產,包括圖片、自訂字型、樣式表、巨集以及其他二進位物件。透過抽取這些元件,開發者可以在其他應用程式中重複使用、為合規性進行歸檔,或轉換成適合網路的格式,從而提升原始文件的價值。

為什麼使用 GroupDocs.Editor for Java?

GroupDocs.Editor for Java 抽象化了 Office Open XML 格式,讓您專注於 how to extract pictures from word,無需編寫低階的 ZIP 或 XML 程式碼。它支援 30 多種輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下處理高達 500 MB 的文件,提供高速與可擴充性。

前置條件

  • Maven(或直接下載 JAR)用於管理相依性。
  • JDK 8+ 已安裝於開發機器上。
  • 使用 IntelliJ IDEAEclipse 等 IDE 進行 Java 程式碼編輯與執行。

設定 GroupDocs.Editor for Java

將以下儲存庫與相依性加入您的 pom.xml

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

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-editor</artifactId>
      <version>25.3</version>
   </dependency>
</dependencies>

您也可以從 GroupDocs.Editor for Java releases 下載最新的 JAR。

取得授權

基本初始化

Editor 是 GroupDocs.Editor for Java 的主要入口,提供載入、編輯以及抽取 Word 文件資源的方法。

建立指向您的 Word 檔案的 Editor 實例:

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());

如何從 Word 文件抽取資源

抽取資源的流程從將目標 Word 檔案載入 Editor 實例開始,接著設定 WordProcessingEditOptions 以啟用圖片、字型與 CSS 的抽取。文件準備好後,API 會提供各資源類型的集合,您可以遍歷這些集合,將資源儲存至檔案系統或依工作流程需求進一步處理。

步驟 1:載入並準備文件以供編輯

// Initialize editor and edit options
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
editOptions.setFontExtraction(FontExtractionOptions.ExtractAll);
EditableDocument beforeEdit = editor.edit(editOptions);

FontExtractionOptions.ExtractAll 旗標保證所有嵌入字型皆可抽取。

步驟 2:抽取圖片、字型與樣式表

List<IImageResource> images = beforeEdit.getImages();
List<FontResourceBase> fonts = beforeEdit.getFonts();
List<CssText> stylesheets = beforeEdit.getCss();

這三個呼叫會提供每種資源類型的集合,已可進行後續處理。

步驟 3:將抽取的資源儲存至磁碟

String outputFolderPath = "YOUR_OUTPUT_DIRECTORY";
for (int i = 0; i < images.size(); i++) {
    IImageResource oneImage = images.get(i);
    File outputFile = new File(outputFolderPath + oneImage.getFilenameWithExtension());
    oneImage.save(outputFile.getAbsolutePath());
}
for (int i = 0; i < fonts.size(); i++) {
    FontResourceBase oneFont = fonts.get(i);
    File outputFile = new File(outputFolderPath + oneFont.getFilenameWithExtension());
    oneFont.save(outputFile.getAbsolutePath());
}
for (int i = 0; i < stylesheets.size(); i++) {
    CssText oneStylesheet = stylesheets.get(i);
    File outputFile = new File(outputFolderPath + oneStylesheet.getFilenameWithExtension());
    oneStylesheet.save(outputFile.getAbsolutePath());
}

每個迴圈會將相應的資源寫入 outputFolderPath,並保留原始檔名。

步驟 4:直接取得資源內容(可選)

如果您需要原始位元組或 Base64 字串,例如在 HTML 電子郵件中嵌入圖片,可使用:

InputStream ms = images.get(0).getByteContent(); // raw bytes
String base64EncodedResource = images.get(0).getTextContent(); // Base64 string

常見問題與解決方案

問題為何發生解決方式
OutOfMemoryError on large files資源一次全部載入記憶體。將文件分批處理,並在每個檔案後呼叫 editor.dispose()
Missing fonts after extraction選項中未啟用字型抽取。確認已設定 editOptions.setFontExtraction(FontExtractionOptions.ExtractAll)
Images saved with wrong extension某些圖片缺乏正確的 MIME 類型偵測。在儲存前驗證 oneImage.getFilenameWithExtension(),必要時重新命名。

常見問答

Q: GroupDocs.Editor 是否相容所有 Word 檔案格式?
A: 是的,它支援 DOCX、DOC 以及其他 Microsoft Word 格式。

Q: 我可以從受密碼保護的文件中抽取資源嗎?
A: 當然可以。建立 Editor 時,透過 WordProcessingLoadOptions 提供密碼即可。

Q: API 在處理非常大的文件時表現如何?
A: 它已針對速度進行最佳化;對於超過 200 MB 的檔案,我們建議使用批次處理或逐段抽取。

Q: 我可以將此與 Spring Boot 或其他 Java 框架整合嗎?
A: 可以。此 API 與框架無關,只需加入相依性並在需要的地方注入 Editor 即可。

Q: 如果我只想抽取圖片而不需要字型或 CSS 呢?
A: 只呼叫 beforeEdit.getImages(),並跳過字型/CSS 抽取步驟。

結論

現在您已擁有使用 GroupDocs.Editor for Java 完整且可投入生產的 how to extract pictures from word 文件抽取教學。透過載入文件、設定編輯選項,並遍歷返回的資源集合,您可以輕鬆自動化歸檔、範本建立與動態內容產生。

接下來的步驟:

  • 嘗試不同的 WordProcessingEditOptions 以微調抽取行為。
  • 結合此工作流程與雲端儲存 SDK,直接上傳資源至 S3 或 Azure Blob。
  • 探索 GroupDocs 轉換 API,將抽取的資產轉換為其他格式。

最後更新: 2026-05-22
測試版本: GroupDocs.Editor 25.3 for Java
作者: GroupDocs

相關教學