Cách chỉnh sửa DOCX và chuyển đổi định dạng với GroupDocs.Editor

Dễ dàng quản lý và chuyển đổi tài liệu Word trong môi trường .NET của bạn bằng GroupDocs.Editor .NET. Trong hướng dẫn này, bạn sẽ khám phá cách chỉnh sửa docx files, chuyển đổi chúng sang các định dạng như RTF, DOCM và văn bản thuần, và tự động hóa quy trình tài liệu để đạt năng suất tối đa.

Câu trả lời nhanh

  • Thư viện nào cần thiết? GroupDocs.Editor for .NET (20.10+).
  • Tôi có thể chuyển đổi DOCX sang RTF không? Có – sử dụng WordProcessingSaveOptions với WordProcessingFormats.Rtf.
  • Có hỗ trợ lưu dưới dạng TXT không? Hoàn toàn có, thông qua TextSaveOptions.
  • Tôi có cần giấy phép không? Bản dùng thử hoạt động cho phát triển; giấy phép sẽ mở khóa tất cả tính năng.
  • Làm sao xử lý nhiều tệp cùng lúc? Kết hợp mã với async/await hoặc Parallel.ForEach để xử lý hàng loạt.

“cách chỉnh sửa docx” là gì với GroupDocs.Editor?

GroupDocs.Editor tải một DOCX, hiển thị nội dung dưới dạng HTML có thể chỉnh sửa, cho phép bạn sửa đổi HTML này một cách lập trình, và sau đó lưu kết quả trở lại bất kỳ định dạng nào được hỗ trợ. Cách tiếp cận này loại bỏ nhu cầu sử dụng Office interop và hoạt động trên bất kỳ nền tảng .NET phía máy chủ nào.

Tại sao nên dùng GroupDocs.Editor cho tự động hoá quy trình tài liệu?

  • Chỉ phía máy chủ – không cần cài đặt Office.
  • Nhiều định dạng đầu ra – RTF, DOCM, TXT, HTML, PDF, v.v.
  • Hiệu năng cao – API nhẹ được thiết kế cho các kịch bản batch.
  • Kiểm soát toàn diện – chỉnh sửa, thay thế hoặc chèn các đoạn HTML trước khi lưu.

Yêu cầu trước

  • Thư viện GroupDocs.Editor (Phiên bản 20.10 trở lên)
  • .NET Framework 4.7.2 + hoặc .NET 5/6
  • Visual Studio (bất kỳ phiên bản mới nào)
  • Kiến thức cơ bản về C# và quen thuộc với I/O tệp

Cài đặt GroupDocs.Editor

Bạn có thể thêm gói qua .NET CLI, Package Manager Console, hoặc giao diện NuGet.

dotnet add package GroupDocs.Editor
Install-Package GroupDocs.Editor

Mua giấy phép

Bắt đầu với bản dùng thử miễn phí hoặc yêu cầu khóa giấy phép tạm thời. Đối với sản xuất, mua giấy phép để mở khóa xử lý không giới hạn.

Cách tải và chỉnh sửa tài liệu DOCX

Đầu tiên, chỉ định trình chỉnh sửa tới tệp nguồn của bạn, sau đó lấy HTML có thể chỉnh sửa, thực hiện các thay đổi cần thiết, và cuối cùng tạo một EditableDocument mới từ markup đã sửa.

using (Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY/sample.docx", new Options.WordProcessingLoadOptions()))
{
    // Your document manipulation code here
}

Hướng dẫn mã từng bước

  1. Xác định đường dẫn tệp đầu vào
string inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
  1. Tạo thể hiện Editor
using GroupDocs.Editor;
using GroupDocs.Editor.Options;

Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions());
  1. Chỉnh sửa HTML của tài liệu
EditableDocument defaultWordProcessingDoc = editor.Edit();
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
  1. Tạo một EditableDocument mới từ HTML đã chỉnh sửa
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
  1. Giải phóng các đối tượng tạm thời
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();

Cách chuyển đổi Word sang RTF

Lưu tài liệu đã chỉnh sửa dưới dạng RTF rất đơn giản với các tùy chọn lưu phù hợp.

string outputRtfPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.rtf");
WordProcessingSaveOptions rtfSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputRtfPath, rtfSaveOptions);
}
editor.Dispose();

Cách lưu DOCX dưới dạng DOCM bằng Stream

Khi bạn cần định dạng DOCM hỗ trợ macro, có thể ghi trực tiếp vào một FileStream.

string outputDocmPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.docm");
WordProcessingSaveOptions docmSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm);
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    using (FileStream outputStream = File.Create(outputDocmPath))
    {
        editor.Save(editedDoc, outputStream, docmSaveOptions);
    }
}
editor.Dispose();

Cách chuyển đổi DOCX sang TXT (Văn bản thuần)

Trích xuất văn bản thuần rất hữu ích cho việc lập chỉ mục, tìm kiếm, hoặc thông báo qua email.

string outputTxtPath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "editedDoc.txt");
TextSaveOptions textSaveOptions = new TextSaveOptions()
{
    Encoding = Encoding.UTF8,
    PreserveTableLayout = true
};
using (Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions()))
{
    editor.Save(editedDoc, outputTxtPath, textSaveOptions);
}
editor.Dispose();

Các trường hợp sử dụng phổ biến & Kịch bản thực tế

  • Tự động tạo báo cáo: Chuyển đổi các báo cáo Word phân tích sang TXT để gửi email.
  • Nền tảng chỉnh sửa cộng tác: Cho phép người dùng chỉnh sửa các đoạn HTML và lưu kết quả dưới dạng DOCM hoặc RTF.
  • Lưu trữ tài liệu: Di chuyển các tệp DOCX cũ sang DOCM để hỗ trợ macro đồng thời giữ nguyên nội dung.
  • Dịch vụ web: Stream chuyển đổi DOCX → PDF/RTF ngay lập tức mà không cần tệp tạm thời.

Mẹo hiệu năng cho xử lý batch tài liệu Word

  • Giải phóng kịp thời: Luôn gọi Dispose() trên các đối tượng Editor và tài liệu.
  • Tải thông minh: Chọn LoadOptions cụ thể nhất để tránh việc phân tích không cần thiết.
  • Song song một cách an toàn: Sử dụng Parallel.ForEach với các thể hiện Editor riêng cho mỗi luồng.
  • Tránh chuỗi lớn trong bộ nhớ: Khi xử lý tài liệu khổng lồ, làm việc với stream thay vì chuỗi HTML đầy đủ.

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

Q: Tôi có thể chỉnh sửa DOCX được bảo vệ bằng mật khẩu không?
A: Có. Cung cấp mật khẩu qua WordProcessingLoadOptions.Password khi tạo Editor.

Q: Có thể chuyển đổi nhiều tệp trong một lần chạy không?
A: Hoàn toàn có thể. Đặt logic xử lý từng tệp vào vòng lặp hoặc dùng Parallel.ForEach để xử lý đồng thời.

Q: GroupDocs.Editor có hỗ trợ .NET Core không?
A: Thư viện hoạt động với .NET 5, .NET 6 và .NET Core 3.1 cũng như .NET Framework đầy đủ.

Q: Điều gì xảy ra với macro khi tôi lưu dưới dạng DOCM?
A: Macro được giữ lại khi bạn sử dụng định dạng lưu Docm; chúng sẽ bị loại bỏ khi lưu dưới dạng RTF/TXT.

Q: Làm sao khắc phục “OutOfMemoryException” khi chạy batch lớn?
A: Xử lý tệp theo các batch nhỏ hơn, giải phóng đối tượng ngay lập tức, và cân nhắc tăng giới hạn bộ nhớ của ứng dụng.

Kết luận

Bạn đã có một quy trình làm việc hoàn chỉnh, sẵn sàng cho môi trường production để cách chỉnh sửa docx và chuyển đổi chúng sang RTF, DOCM hoặc văn bản thuần bằng GroupDocs.Editor .NET. Bằng cách làm theo các bước trên, bạn có thể tự động hoá quy trình tài liệu, xử lý batch và tích hợp chuyển đổi định dạng mượt mà vào bất kỳ ứng dụng .NET nào.


Cập nhật lần cuối: 2026-04-07
Đã kiểm tra với: GroupDocs.Editor 20.10 (phiên bản mới nhất tại thời điểm viết)
Tác giả: GroupDocs