使用 GroupDocs.Editor 在 Java 中將 DOCX 轉換為 DOCM

在當今快速變化的商業環境中,能夠直接在 Java 程式碼中 convert docx to docm,可大幅減少人工工作量並消除相容性問題。無論是需要更新季報、客製化合約範本,或產生個人化信件,程式化編輯都能提供點擊工具常缺乏的速度與可靠性。本指南將帶您一步步完成載入 DOCX 檔案、程式化修改內容,並使用 GroupDocs.Editor for Java 將結果儲存為多種常見格式(包括 DOCM)。

快速解答

  • 哪個函式庫可以在 Java 中編輯 Word 文件? GroupDocs.Editor for Java。
  • 可以自動取代文字嗎? 可以 – 使用 HTML 標記 API 進行搜尋與取代。
  • 可以匯出哪些格式? DOCM、RTF、純文字等。
  • 開發階段需要授權嗎? 免費試用可用於測試;正式上線需購買商業授權。
  • 是否相容於 Maven 專案? 完全相容 – 只要加入相應的倉庫與相依性即可。

什麼是 “edit word document java”?

在 Java 中編輯 Word 文件指的是將 .docx 檔案載入記憶體,透過 API 操作其內容(文字、圖片、表格等),再將更新後的檔案寫回磁碟或串流。GroupDocs.Editor 抽象化了複雜的 Office Open XML 格式,提供簡易的 HTML 為基礎的編輯模型。

為什麼要使用 GroupDocs.Editor 來編輯 word document java?

  • 無需 Microsoft Office 相依 – 可在任何伺服器或容器上執行。
  • 高保真度 – 保留原始版面配置、樣式與嵌入物件。
  • 多種輸出格式 – 只需一次呼叫即可在 DOCX、DOCM、RTF、TXT 之間切換。
  • 可擴展 – 適合大量文件的批次處理。

前置條件

  • Java 8 以上與建置工具(Maven 或 Gradle)。
  • 取得 GroupDocs.Editor for Java 函式庫(版本 25.3 或更新)。
  • 具備基本的 Java 與 Maven 相依管理知識。

設定 GroupDocs.Editor for Java

透過 Maven 安裝

pom.xml 中加入 GroupDocs 倉庫與相依性:

<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 page 下載最新的 JAR 檔。

取得授權

先使用免費試用版探索 API。正式上線時,請於 GroupDocs 入口網站取得臨時或正式授權。

基本初始化與設定

建立指向來源 DOCX 檔案的 Editor 實例:

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.options.WordProcessingLoadOptions;

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

現在您已可載入、編輯與儲存文件。

如何使用 GroupDocs.Editor 進行 docx 轉 docm

轉換流程相當簡單:載入 DOCX、如有需要編輯 HTML,最後以 Docm 格式儲存。以下步驟會重複先前的程式碼區塊,無需額外撰寫程式。

步驟 1:載入文件

概述: 載入後會得到可供操作的 EditableDocument 物件。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor = new Editor(inputFilePath, new WordProcessingLoadOptions());
EditableDocument defaultWordProcessingDoc = editor.edit();

步驟 2:(可選)編輯內容

若需取代佔位字元或客製化範本,請修改內嵌的 HTML。

String allEmbeddedInsideString = defaultWordProcessingDoc.getEmbeddedHtml();
String modifiedContent = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle");

步驟 3:儲存為 DOCM

設定 DOCM 格式的儲存選項,並將結果寫入檔案或串流。

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import com.groupdocs.editor.formats.WordProcessingFormats;

WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;

String outputDocmPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.docm";
try (OutputStream outputStream = new ByteArrayOutputStream()) {
    // Create a new EditableDocument from the (possibly) modified HTML
    EditableDocument editedDocDocm = EditableDocument.fromMarkup(modifiedContent, null);
    editor.save(editedDocDocm, outputStream, docmSaveOptions);
    // If you need a physical file, write the stream to disk here
}

專業提示: 完成後請立即釋放 EditableDocumentEditor 物件,以釋放本機資源。

儲存文件為 RTF

概述: 編輯完成後,可匯出為 Rich Text Format。

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import com.groupdocs.editor.formats.WordProcessingFormats;

String outputRtfPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.rtf";
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
EditableDocument editedDocRtf = EditableDocument.fromMarkup(modifiedContent, null);
editor.save(editedDocRtf, outputRtfPath, rtfSaveOptions);
editedDocRtf.dispose();
editor.dispose();

儲存文件為純文字

概述: 匯出為純文字可用於內容索引或簡易資料抽取。

import com.groupdocs.editor.options.TextSaveOptions;
import java.nio.charset.StandardCharsets;

TextSaveOptions textSaveOptions = new TextSaveOptions();
textSaveOptions.setEncoding(StandardCharsets.UTF_8);
textSaveOptions.setPreserveTableLayout(true);
String outputTxtPath = "YOUR_OUTPUT_DIRECTORY/editedDoc.txt";
editor.save(editedDocTxt, outputTxtPath, textSaveOptions);

實務應用

  1. 自動化報告產生 – 從資料庫撈取資料、取代佔位字元,輸出精美的 DOCX、DOCM 或 RTF 報告。
  2. 客製化 Word 範本 – 依使用者輸入動態填入行銷或法律範本。
  3. Word 轉 txt – 抽取原始文字供搜尋索引、分析或後續處理。
  4. replace text docx java – 使用 HTML 標記 API 在大量文件中執行批次搜尋與取代。

效能考量

  • 完成後立即釋放 EditableDocumentEditor 物件,以釋放本機資源。
  • 處理極大檔案時,可分段處理或使用串流 API 以降低記憶體使用。
  • 進行大量文字取代時,建議使用 StringBuilder 或效能佳的正規表達式。

常見問題與解決方案

問題解決方案
找不到檔案 / 存取被拒確認絕對路徑,並確保 Java 行程具備讀寫權限。
大型文件導致記憶體不足增加 JVM 堆疊大小 (-Xmx) 或在編輯前將文件切割成較小的部分。
取代後格式遺失謹慎使用 HTML 標記 API,避免直接取代標記標籤本身。
授權未生效在建立 Editor 前呼叫 License license = new License(); license.setLicense("path/to/license.file");

常見問答

Q: 可以編輯受密碼保護的 Word 檔案嗎?
A: 可以。使用包含密碼的 WordProcessingLoadOptions 載入文件,之後照常操作。

Q: GroupDocs.Editor 是否支援 DOCM 檔案中的巨集?
A: 函式庫會保留巨集,但不會執行它們。您可以將含有巨集的 DOCM 檔案儲存而不影響巨集內容。

Q: 如何處理文件中嵌入的圖片?
A: 圖片會作為 HTML 標記的一部份保留。您可以替換 <img> 標籤或使用標準 HTML 新增圖片。

Q: 能直接轉換成 PDF 嗎?
A: GroupDocs.Editor 主要聚焦於編輯;若需 PDF 轉換,可在儲存編輯後的 DOCX 時結合 GroupDocs.Conversion 使用。

Q: 支援哪些 Java 版本?
A: 完全支援 Java 8 及以上版本。

結論

現在您已掌握使用 GroupDocs.Editor convert docx to docm 的完整端對端工作流程。透過載入 DOCX、程式化修改其 HTML,並匯出為 RTF、DOCM 或純文字等格式,您可以在 Java 應用程式中自動化無數與文件相關的任務。進一步探索拼寫檢查、變更追蹤或與 GroupDocs.Conversion 整合等功能,讓解決方案更上一層樓。


最後更新: 2026-03-20
測試環境: GroupDocs.Editor 25.3 for Java
作者: GroupDocs