Chuyển đổi docx sang docm trong Java với GroupDocs.Editor

Trong các quy trình doanh nghiệp hiện đại, convert docx to docm một cách lập trình để bạn có thể tự động hoá việc tạo báo cáo, cá nhân hoá hợp đồng và giao tiếp dựa trên mẫu. Bằng cách sử dụng GroupDocs.Editor cho Java, bạn tránh việc cần cài đặt Microsoft Office trên máy chủ, giữ nguyên độ chính xác của bố cục, và có khả năng thay thế văn bản trong docx, xuất Word sang txt, hoặc chuyển đổi Word sang rtf—tất cả từ một API nhẹ duy nhất. Hướng dẫn này sẽ chỉ cho bạn cách tải một tệp DOCX, tùy chọn chỉnh sửa HTML của nó, và lưu kết quả dưới dạng DOCM hoặc các định dạng phổ biến khác.

Câu trả lời nhanh

  • Thư viện nào cho phép tôi chỉnh sửa tài liệu Word trong Java? GroupDocs.Editor for Java.
  • Tôi có thể tự động thay thế văn bản không? Có – API đánh dấu HTML cho phép bạn tìm và thay thế chuỗi trong toàn tài liệu.
  • Các định dạng nào tôi có thể xuất ra? DOCM, RTF, plain‑text (TXT), and more.
  • Tôi có cần giấy phép cho việc phát triển không? Bản dùng thử miễn phí hoạt động cho việc thử nghiệm; giấy phép thương mại là bắt buộc cho môi trường sản xuất.
  • Có tương thích với các dự án Maven không? Hoàn toàn tương thích – chỉ cần thêm kho và phụ thuộc.

“edit word document java” là gì?

Việc tải một tệp .docx vào bộ nhớ, sửa đổi nội dung của nó (văn bản, hình ảnh, bảng, macro) thông qua một API, và ghi tệp đã cập nhật trở lại đĩa hoặc một luồng là ý nghĩa của “edit word document java”. GroupDocs.Editor trừu tượng hoá định dạng Office Open XML và cung cấp một mô hình chỉnh sửa dựa trên HTML đơn giản, cho phép bạn xử lý tài liệu như một trang web.

Tại sao nên sử dụng GroupDocs.Editor để edit word document java?

GroupDocs.Editor cho phép bạn convert docx to docm và thực hiện các thao tác hàng loạt mà không cần cài đặt Microsoft Office. Nó hỗ trợ hơn 30 định dạng đầu vào và đầu ra, xử lý các tệp hàng trăm trang với dung lượng heap dưới 200 MB, và có thể thực hiện xử lý hàng loạt tài liệu Word với tốc độ 150 tài liệu mỗi phút trên một máy chủ 8‑core tiêu chuẩn. Thư viện cũng giữ lại macro trong các tệp DOCM, duy trì kiểu dáng gốc, và chạy trên bất kỳ nền tảng tương thích Java nào.

Yêu cầu trước

  • Java 8 hoặc mới hơn và một công cụ xây dựng (Maven hoặc Gradle).
  • Truy cập vào thư viện GroupDocs.Editor cho Java (phiên bản 25.3 hoặc mới hơn).
  • Kiến thức cơ bản về Java và quản lý phụ thuộc Maven.

Cài đặt GroupDocs.Editor cho Java

Cài đặt qua Maven

Add the GroupDocs repository and dependency to your 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>

Tải trực tiếp

Alternatively, download the latest JAR from the GroupDocs.Editor for Java releases page.

Nhận giấy phép

Bắt đầu với bản dùng thử miễn phí để khám phá API. Đối với các tải công việc sản xuất, hãy lấy giấy phép tạm thời hoặc đầy đủ từ cổng thông tin GroupDocs.

Khởi tạo và cấu hình cơ bản

Editor is the core class that provides loading, editing, and saving capabilities for Word documents. Create an Editor instance that points to your source DOCX file:

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());

Bây giờ bạn đã sẵn sàng để tải, chỉnh sửa và lưu tài liệu.

Cách chuyển đổi docx sang docm bằng GroupDocs.Editor

Tải DOCX, tùy chọn chỉnh sửa HTML của nó, và sau đó lưu kết quả dưới dạng tệp DOCM. Quá trình chuyển đổi chỉ cần ba lời gọi API: khởi tạo Editor, tải tài liệu vào EditableDocument, và gọi save với tùy chọn Docm. Sau khi lưu, bạn có thể tiếp tục xử lý DOCM, chẳng hạn tải lên hệ thống quản lý tài liệu hoặc đính kèm vào email, mà không mất bất kỳ macro hoặc định dạng nhúng nào.

Bước 1: tải tài liệu

EditableDocument represents a Word file that can be edited as HTML. Loading returns this object, which you can then manipulate.

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();

Bước 2: (tùy chọn) chỉnh sửa nội dung

If you need to replace placeholders, update the embedded HTML using standard string‑replace or regex techniques.

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

Bước 3: lưu dưới dạng DOCM

Configure the save options for the DOCM format and write the result to a file or a stream.

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
}

Mẹo chuyên nghiệp: Giải phóng các đối tượng EditableDocument và Editor ngay khi bạn hoàn thành để giải phóng tài nguyên gốc và giữ mức sử dụng bộ nhớ thấp.

Lưu tài liệu dưới dạng RTF

Exporting to Rich Text Format is useful when downstream systems only understand RTF. The same EditableDocument can be saved with RTF options.

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();

Lưu tài liệu dưới dạng văn bản thuần

Plain‑text output is ideal for indexing, analytics, or feeding content into search engines.

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);

Ứng dụng thực tiễn

  1. Tự động tạo báo cáo – Lấy dữ liệu từ cơ sở dữ liệu, thay thế các placeholder, và xuất ra báo cáo DOCX, DOCM hoặc RTF hoàn chỉnh.
  2. Tùy chỉnh mẫu Word – Điền động các mẫu marketing hoặc pháp lý dựa trên đầu vào của người dùng.
  3. Xuất Word sang txt – Trích xuất văn bản thô để lập chỉ mục tìm kiếm, phân tích, hoặc xử lý tiếp.
  4. Thay thế văn bản trong docx – Sử dụng API đánh dấu HTML để thực hiện tìm‑và‑thay thế hàng loạt trên nhiều tài liệu trong một công việc batch duy nhất.

Các cân nhắc về hiệu năng

  • Giải phóng các đối tượng EditableDocument và Editor kịp thời để giải phóng tài nguyên gốc.
  • Đối với các tệp rất lớn, xử lý các phần theo khối hoặc sử dụng API streaming để giữ mức sử dụng bộ nhớ dưới 250 MB.
  • Ưu tiên sử dụng StringBuilder hoặc các biểu thức chính quy đã biên dịch khi thực hiện thay thế văn bản hàng loạt để giảm thiểu tải CPU.

Các vấn đề thường gặp và giải pháp

The License class applies your GroupDocs.Editor license file to enable full functionality.

Vấn đềGiải pháp
Không tìm thấy tệp / truy cập bị từ chốiXác minh đường dẫn tuyệt đối và đảm bảo quá trình Java có quyền đọc/ghi.
Lỗi out‑of‑memory trên tài liệu lớnTăng bộ nhớ heap JVM (-Xmx2g) hoặc chia tài liệu thành các phần nhỏ hơn trước khi chỉnh sửa.
Mất định dạng sau khi thay thếSử dụng API đánh dấu HTML một cách cẩn thận; tránh thay thế các thẻ markup trực tiếp.
Giấy phép không được áp dụngGọi License license = new License(); license.setLicense("path/to/license.file"); trước khi tạo Editor.

Câu hỏi thường gặp

Q: Tôi có thể chỉnh sửa tệp Word được bảo vệ bằng mật khẩu không?
A: Có. Tải tài liệu bằng WordProcessingLoadOptions bao gồm mật khẩu, sau đó tiếp tục như bình thường.

Q: GroupDocs.Editor có hỗ trợ macro trong các tệp DOCM không?
A: Thư viện giữ lại macro nhưng không thực thi chúng. Bạn có thể lưu tệp DOCM với các macro hiện có không bị thay đổi.

Q: Làm thế nào để xử lý hình ảnh nhúng trong tài liệu?
A: Hình ảnh được giữ như một phần của markup HTML. Thay thế các thẻ <img> hoặc thêm thẻ mới bằng HTML tiêu chuẩn.

Q: Có thể chuyển đổi trực tiếp sang PDF không?
A: GroupDocs.Editor tập trung vào chỉnh sửa; để chuyển đổi PDF, kết hợp với GroupDocs.Conversion sau khi lưu DOCX đã chỉnh sửa.

Q: Các phiên bản Java nào được hỗ trợ?
A: Java 8 và các phiên bản mới hơn đều được hỗ trợ đầy đủ.

Kết luận

Bạn giờ đã có một quy trình hoàn chỉnh, đầu‑tới‑cuối để convert docx to docm bằng GroupDocs.Editor. Bằng cách tải một DOCX, tùy chọn chỉnh sửa HTML của nó, và xuất ra DOCM, RTF, hoặc văn bản thuần, bạn có thể tự động hoá vô số nhiệm vụ liên quan đến tài liệu trong các ứng dụng Java. Khám phá các tính năng bổ sung như kiểm tra chính tả, theo dõi thay đổi, hoặc tích hợp với GroupDocs.Conversion để mở rộng giải pháp của bạn hơn nữa.


Cập nhật lần cuối: 2026-09-16
Kiểm tra với: GroupDocs.Editor 25.3 for Java
Tác giả: GroupDocs

Hướng dẫn liên quan