Also preserve italics with .

Now produce final content.# 使用 GroupDocs.Editor for Java 從 Word 文件提取資源

如果你正尋找 如何程式化提取資源 從 Word 檔案,你來對地方了。在本指南中,我們將示範如何在 Java 中載入 Word 文件、編輯它,並提取圖像、字型與 CSS——正是你自動化文件處理流程所需的步驟。

你將學會:

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

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

快速解答

  • 「如何提取資源」是什麼意思? 它指的是以程式方式從 Word 檔案中抽取圖像、字型、CSS 等資源。
  • 哪個程式庫在 Java 中處理此功能? GroupDocs.Editor for Java。
  • 我需要授權嗎? 免費試用可用於測試;正式環境需購買完整授權。
  • 我可以處理 DOCX 與 DOC 檔案嗎? 可以,兩者皆受支援。
  • 大型文件使用是否安全? 可以,但建議使用批次處理並妥善釋放記憶體。

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

資源提取是從 Word 檔案中取得嵌入項目(如圖片、自訂字型與樣式表)的過程,讓這些資源可以被重新使用、歸檔或轉換至其他應用程式。

為什麼使用 GroupDocs.Editor for Java?

GroupDocs.Editor 提供高階 API,抽象化 Office Open XML 格式的複雜性。它讓你專注於 如何提取資源,而不必處理低階的 ZIP 操作或 XML 解析。

前置條件

  • 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。

取得授權

  • Free Trial: 完美用於探索 API。
  • Temporary License:GroupDocs Temporary License Page 取得臨時授權。
  • Full License: 購買後即可無限制在正式環境使用。

基本初始化

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

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

如何從 Word 文件提取資源

以下將實作分為三個邏輯步驟:載入/編輯、提取與儲存。

步驟 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

常見問題與解決方案

IssueWhy it HappensFix
OutOfMemoryError on large filesResources are loaded into memory all at once.Process documents in smaller batches and call editor.dispose() after each file.
Missing fonts after extractionFont extraction disabled in options.Ensure editOptions.setFontExtraction(FontExtractionOptions.ExtractAll) is set.
Images saved with wrong extensionSome images lack proper MIME type detection.Verify oneImage.getFilenameWithExtension() before saving; rename if necessary.

常見問答

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

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

Q: API 在處理極大型文件時表現如何?
A: 已針對速度進行最佳化,但對於超大檔案,我們建議將文件切分或分段順序處理。

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

Q: 若只想提取圖像而不需要字型或 CSS,該怎麼做?
A: 只呼叫 beforeEdit.getImages(),跳過字型與 CSS 的提取步驟即可。

結論

現在你已掌握使用 GroupDocs.Editor for Java 如何提取資源 的完整、可投入生產環境的操作流程。透過載入文件、設定編輯選項,並遍歷返回的資源集合,你可以輕鬆自動化檔案歸檔、範本建立與動態內容產生等工作。

後續步驟:

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

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