使用 GroupDocs 編輯 docx 並提取圖像

如果您需要 edit docx with java 同時提取所有嵌入的圖像、字體或樣式表,您來對地方了。在本教程中,我們將演示如何使用 GroupDocs.Editor for Java 編輯 Word 文件、提取圖像、字體和 CSS 樣式表,並處理多個文件的批量處理。無論您是構建內容管理門戶、數位資產管道,或是自訂報告引擎,這些技術都能為您節省時間、保持程式碼整潔,且無需安裝 Microsoft Office。

快速答案

  • 如何在 Java 中編輯 docx 檔案? 建立 Editor 實例,載入檔案,呼叫 edit() 並修改返回的 EditableDocument。
  • 如何從 docx 中提取圖像? 使用 document.getImages(),遍歷返回的 IImageResource 集合,將每個圖像保存到磁碟。
  • 是否也能提取字體? 可以——呼叫 document.getFonts(),並持久化每個 FontResourceBase 物件。
  • 我可以一次處理多個檔案嗎? 當然可以。遍歷 .docx 檔案的資料夾;GroupDocs.Editor 會將每個文件的資源隔離。
  • 生產環境需要授權嗎? 評估時需要臨時或試用授權;正式部署則必須擁有完整授權。

什麼是 edit docx with java?

edit docx with java 指的是使用 Java 程式碼以程式化方式開啟、修改並儲存 Microsoft Word .docx 檔案,而不依賴 Microsoft Word 本身。GroupDocs.Editor 提供高階 API,抽象化 Office Open XML 格式,讓您能直接從 Java 操作文件內容與嵌入資源。

為什麼要從 docx 中提取圖像?

提取圖像可直接取得 Word 檔案中嵌入的視覺資產。當您需要將圖形重新用於網站相簿、遷移資產至數位資產管理系統,或僅將其與文件內容分開存檔時,這特別有用。將圖像抽出後,也能減少原始檔案的大小,便於後續處理。

為什麼在 Java 應用程式中使用 GroupDocs.Editor 編輯 Word 文件?

GroupDocs.Editor 免除安裝 Office 的需求,支援任何作業系統上的 JDK 8 以上,並提供內建的圖像、字體與 CSS 提取方法。它能在不將整個檔案載入記憶體的情況下處理數百頁的文件,適合高吞吐量的批次工作。

先決條件

  • Java Development Kit (JDK) 8 或更高
  • Maven 用於相依管理(或手動加入 JAR)
  • 具備 Java 專案結構與 IDE 設定的基本認識

設定 GroupDocs.Editor for Java

Maven 設定

將儲存庫與相依項目加入您的 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>

直接下載

如果您不想使用 Maven,可從 GroupDocs releases 下載最新版本的 GroupDocs.Editor for Java。

取得授權

要開始使用 GroupDocs.Editor,請取得免費試用或臨時授權。您可在 GroupDocs 的網站 申請臨時授權。依照提供的說明在程式碼中套用授權。

基本初始化與設定

加入函式庫後,建立指向 Word 檔案的 Editor 實例。
Editor 是負責載入與管理 Word 文件的主要類別。

Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY/sample.docx", new WordProcessingLoadOptions());

現在您已準備好 edit docx with java 的方式。

實作指南

我們將把實作分解為不同功能,每個功能聚焦於 GroupDocs.Editor for Java 的特定特性。

如何使用 GroupDocs.Editor for Java 編輯 docx

概覽

載入與編輯文件是第一步。此功能讓您能在應用程式內直接檢視與修改內容。

步驟 1:建立 Editor 物件

Editor 是載入與編輯 Word 文件的入口類別。

// Initialize the Editor with the path to your Word file.
Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY/sample.docx", new WordProcessingLoadOptions());
步驟 2:編輯文件

EditableDocument 代表文件可編輯的 HTML 內容。

EditableDocument document = editor.edit(new WordProcessingEditOptions());

如何從 docx 提取圖像

概覽

當您需要將視覺素材重新使用或與文字分開存檔時,提取圖像是關鍵。

步驟 1:取得圖像

document.getImages() 呼叫會返回 IImageResource 物件的集合,每個物件代表一個嵌入的圖像。
IImageResource 代表從文件中抽出的單一嵌入圖像。

// Get the list of image resources in the document.
List<IImageResource> images = document.getImages();

將圖像保存至資料夾

概覽

抽取後,您可以將圖像儲存至任何需要的地方——本機磁碟、網路共享或雲端儲存桶。

步驟 2:保存抽出的圖像

遍歷 IImageResource 集合,對每個實例呼叫 save(),提供目標目錄與檔名。

String outputFolder = "YOUR_OUTPUT_DIRECTORY";

for (IImageResource oneImage : images) {
    // Save each image with its original name and extension.
    oneImage.save(outputFolder + oneImage.getFilenameWithExtension());
}

如何從 docx 提取字體

概覽

字體常被嵌入以維持品牌形象;提取字體可讓您在不同平台上保持視覺一致性。

步驟 1:取得字體

document.getFonts() 方法會返回 FontResourceBase 物件的清單,每個物件代表一個嵌入的字體檔案。
FontResourceBase 代表從文件中抽出的嵌入字體檔案。

// Obtain a list of font resources within the document.
List<FontResourceBase> fonts = document.getFonts();

將字體保存至資料夾

概覽

持久化抽出的字體,以便在設計工具、其他文件或需要相同排版的 Web 應用程式中使用。

步驟 2:保存抽出的字體

遍歷 FontResourceBase 集合,將每個字體寫入選定的輸出目錄。

for (FontResourceBase oneFont : fonts) {
    // Store each font resource with its original name and extension.
    oneFont.save(outputFolder + oneFont.getFilenameWithExtension());
}

如何從 docx 提取樣式表

概覽

樣式表 (CSS) 定義視覺佈局。抽取它們可讓您在網頁或其他文件格式中重新使用樣式。

步驟 1:取得樣式表

呼叫 document.getStylesheets() 會得到在 DOCX 轉換為 HTML 時產生的 CSS 資源集合。
每個樣式表都是從 DOCX 版面產生的 CSS 檔案。

// Access the list of CSS text resources in the document.
List<CssText> stylesheets = document.getCss();

將樣式表保存至資料夾

概覽

保存 CSS 檔案讓您在 Word 之外完全掌控文件樣式,便於與網頁或其他基於 HTML 的輸出無縫整合。

步驟 2:保存抽出的樣式表

使用 save() 方法將每個樣式表寫入磁碟,必要時可重新命名以增進可讀性。

for (CssText oneStylesheet : stylesheets) {
    // Preserve each stylesheet with its original name and extension.
    oneStylesheet.save(outputFolder + oneStylesheet.getFilenameWithExtension());
}

實務應用

  1. 數位資產管理 – 提取圖像至集中式儲存庫,然後標記與索引以快速檢索。
  2. 品牌一致性 – 抽取字體以確保所有公司文件、簡報與行銷素材的品牌統一。
  3. 自訂文件範本 – 重新使用抽出的樣式表,建立一致的 HTML 範本以自動產生報告。
  4. 批次處理 Word 文件 – 遍歷 .docx 檔案資料夾,對每個檔案套用相同的編輯與抽取工作流程,顯著減少人工工作量。

效能考量

使用 GroupDocs.Editor 時,請留意以下建議:

  • 資源管理 – 在每個文件處理完畢後呼叫 editor.close() 或讓 JVM 的垃圾回收器釋放資源。這可防止長時間服務的記憶體洩漏。
  • 批次處理 – 依序或使用執行緒池處理檔案,但需監控記憶體使用;每個文件佔用獨立的記憶體空間。
  • 載入選項調整 – 為大型文件調整 WordProcessingLoadOptions(例如停用拼寫檢查或 OCR),以加快載入速度。
  • 檔案大小限制 – 由於串流架構,GroupDocs.Editor 可處理高達 500 MB 的檔案,而無需將全部內容載入記憶體。

常見問題

Q: GroupDocs.Editor 是否相容所有 Java 版本?
A: 是的,支援 JDK 8 及更新版本,包括 Java 11、17 以及即將推出的 LTS 版。

Q: 我可以編輯受密碼保護的文件嗎?
A: 當然可以。於建立 Editor 實例時,透過 WordProcessingLoadOptions 提供密碼。

Q: 抽取資源對我的工作流程有何好處?
A: 集中資產可簡化品牌更新、減少重複儲存,並允許在多個專案中重複使用圖像、字體與 CSS。

Q: 批次處理的效能影響為何?
A: 正確關閉每個 Editor 實例並使用輕量載入選項,可使每 300 頁文件的記憶體使用量維持在 150 MB 以下,即使同時處理數十個檔案亦是如此。

Q: GroupDocs.Editor 能與雲端儲存服務整合嗎?
A: 可以,您可直接從 AWS S3、Azure Blob 或 Google Cloud Storage 串流檔案至 Editor,無需先下載至本機。

資源

遵循本指南後,您已具備使用 edit docx with java 並透過 GroupDocs.Editor for Java 抽取所有相關資源的堅實基礎。歡迎嘗試其他 API 功能,例如拼寫檢查、變更追蹤或自訂 HTML 轉換,以進一步擴充您的解決方案。


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

相關教學