Как редактировать DOCX и конвертировать форматы с GroupDocs.Editor

Легко управляйте и преобразуйте документы Word в вашей среде .NET с помощью GroupDocs.Editor .NET. В этом руководстве вы узнаете how to edit docx файлы, конвертировать их в форматы такие как RTF, DOCM и обычный текст, а также автоматизировать рабочий процесс с документами для максимальной продуктивности.

Быстрые ответы

  • Какая библиотека требуется? GroupDocs.Editor for .NET (20.10+).
  • Можно ли конвертировать DOCX в RTF? Да — используйте WordProcessingSaveOptions с WordProcessingFormats.Rtf.
  • Поддерживается ли сохранение как TXT? Абсолютно, через TextSaveOptions.
  • Нужна ли лицензия? Пробная версия работает для разработки; лицензия открывает все функции.
  • Как обрабатывать множество файлов? Скомбинируйте код с async/await или Parallel.ForEach для пакетной обработки.

Что такое “how to edit docx” с GroupDocs.Editor?

GroupDocs.Editor загружает DOCX, предоставляет его содержимое в виде редактируемого HTML, позволяет программно изменять этот HTML, а затем сохраняет результат в любой поддерживаемый формат. Такой подход устраняет необходимость в Office interop и работает на любой серверной .NET платформе.

Почему использовать GroupDocs.Editor для автоматизации рабочего процесса с документами?

  • Только серверная часть – установка Office не требуется.
  • Несколько форматов вывода – RTF, DOCM, TXT, HTML, PDF и др.
  • Высокая производительность – легковесный API, разработанный для пакетных сценариев.
  • Полный контроль – редактировать, заменять или внедрять HTML‑фрагменты перед сохранением.

Требования

  • GroupDocs.Editor library (Version 20.10 или новее)
  • .NET Framework 4.7.2 + или .NET 5/6
  • Visual Studio (любая современная версия)
  • Базовые знания C# и знакомство с вводом‑выводом файлов

Установка GroupDocs.Editor

Вы можете добавить пакет через .NET CLI, консоль Package Manager Console или интерфейс NuGet UI.

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

Приобретение лицензии

Начните с бесплатной пробной версии или запросите временный лицензионный ключ. Для использования в продакшене приобретите лицензию, чтобы разблокировать неограниченную обработку.

Как загрузить и отредактировать документ DOCX

Сначала укажите редактору ваш исходный файл, затем получите редактируемый HTML, внесите необходимые изменения и, наконец, создайте новый EditableDocument из изменённой разметки.

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

Пошаговый разбор кода

  1. Определите путь к входному файлу
string inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
  1. Создайте экземпляр Editor
using GroupDocs.Editor;
using GroupDocs.Editor.Options;

Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions());
  1. Отредактируйте HTML документа
EditableDocument defaultWordProcessingDoc = editor.Edit();
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
  1. Создайте новый EditableDocument из отредактированного HTML
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
  1. Освободите временные объекты
editedDoc.Dispose();
defaultWordProcessingDoc.Dispose();
editor.Dispose();

Как конвертировать Word в RTF

Сохранение отредактированного документа в RTF простое при использовании соответствующих параметров сохранения.

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

Как сохранить DOCX как DOCM, используя поток

Когда вам нужен формат DOCM с поддержкой макросов, вы можете записать напрямую в 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();

Как конвертировать DOCX в TXT (обычный текст)

Извлечение обычного текста полезно для индексации, поиска или 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();

Распространённые сценарии использования и реальные примеры

  • Автоматическое создание отчетов: Конвертировать аналитические Word‑отчёты в TXT для рассылки по email.
  • Платформы совместного редактирования: Позволяют пользователям редактировать HTML‑фрагменты и сохранять результат как DOCM или RTF.
  • Архивирование документов: Перенести устаревшие файлы DOCX в DOCM для поддержки макросов, сохраняя содержимое.
  • Веб‑сервисы: Потоковая конвертация DOCX → PDF/RTF «на лету» без временных файлов.

Советы по производительности при пакетной обработке Word‑документов

  • Своевременно освобождайте ресурсы: Всегда вызывайте Dispose() у объектов Editor и документов.
  • Разумно загружайте: Выбирайте наиболее конкретные LoadOptions, чтобы избежать лишнего парсинга.
  • Безопасно параллелизуйте: Используйте Parallel.ForEach с отдельными экземплярами Editor для каждого потока.
  • Избегайте больших строк в памяти: При обработке огромных документов работайте с потоками вместо полных HTML‑строк.

Часто задаваемые вопросы

Q: Можно ли редактировать защищённый паролем DOCX?
A: Да. Укажите пароль через WordProcessingLoadOptions.Password при создании Editor.

Q: Можно ли конвертировать множество файлов за один запуск?
A: Абсолютно. Оберните логику обработки одного файла в цикл или используйте Parallel.ForEach для параллельной обработки.

Q: Поддерживает ли GroupDocs.Editor .NET Core?
A: Библиотека работает с .NET 5, .NET 6 и .NET Core 3.1, а также с полной .NET Framework.

Q: Что происходит с макросами при сохранении как DOCM?
A: Макросы сохраняются, когда вы используете формат сохранения Docm; они удаляются при сохранении в RTF/TXT.

Q: Как решить проблему “OutOfMemoryException” при больших пакетных заданиях?
A: Обрабатывайте файлы небольшими партиями, сразу освобождайте объекты и рассмотрите возможность увеличения лимита памяти приложения.

Заключение

Теперь у вас есть полный, готовый к продакшену рабочий процесс для how to edit docx файлов и их конвертации в RTF, DOCM или обычный текст с помощью GroupDocs.Editor .NET. Следуя приведённым выше шагам, вы сможете автоматизировать рабочие процессы с документами, обрабатывать пакетные задачи и интегрировать бесшовную конвертацию форматов в любое .NET приложение.


Последнее обновление: 2026-04-07
Тестировано с: GroupDocs.Editor 20.10 (последняя на момент написания)
Автор: GroupDocs