Как редактировать 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
}
Пошаговый разбор кода
- Определите путь к входному файлу
string inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
- Создайте экземпляр
Editor
using GroupDocs.Editor;
using GroupDocs.Editor.Options;
Editor editor = new Editor(inputFilePath, new Options.WordProcessingLoadOptions());
- Отредактируйте HTML документа
EditableDocument defaultWordProcessingDoc = editor.Edit();
string allEmbeddedInsideString = defaultWordProcessingDoc.GetEmbeddedHtml();
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
- Создайте новый
EditableDocumentиз отредактированного HTML
EditableDocument editedDoc = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
- Освободите временные объекты
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