使用 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 IDEA 或 Eclipse 等 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: 購買以獲得無限制的正式使用。
基本初始化
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