Редактировать простые текстовые документы с помощью GroupDocs.Editor для .NET
Введение
Если вам нужно редактировать простой текст быстро и надёжно в .NET‑приложении, GroupDocs.Editor для .NET — это инструмент, который делает всю тяжёлую работу. Этот API поддерживает более 30 форматов документов, может обрабатывать файлы размером до 500 МБ и позволяет манипулировать текстом без загрузки всего файла в память. В этом руководстве вы узнаете, как загрузить txt‑файл, удалить конечные пробелы, преобразовать начальные пробелы, установить правильную кодировку и, наконец, сохранить отредактированное содержимое обратно на диск. Готовы приступить? Давайте начнём!
Быстрые ответы
- Какой первый шаг для редактирования txt‑файла? Загрузите файл с помощью
Editor, используя имеющийся путь или поток. - Могу ли я изменить кодировку файла во время редактирования? Да —
TxtSaveOptionsпозволяют указать UTF‑8, UTF‑16 или любую пользовательскую кодировку. - Как удалить лишние пробелы в конце каждой строки? Получите текст, вызовите
TrimEnd()для каждой строки и запишите его обратно. - Можно ли бесплатно попробовать GroupDocs.Editor? Полнофункциональная 30‑дневная пробная версия доступна на странице релизов.
- Какие версии .NET поддерживаются? .NET Framework 4.6+, .NET Core 3.1+, и .NET 5/6/7.
Что такое редактирование простого текста?
Редактирование простого текста означает программное изменение символов внутри простого .txt‑файла — добавление, удаление или пере‑форматирование текста — при сохранении исходной кодировки файла и стиля разрывов строк. Это может включать такие задачи, как удаление пробелов, нормализация разрывов строк, обновление значений конфигурации или вставка сгенерированного контента. Операция должна сохранять возможность чтения файла любым стандартным текстовым редактором и поддерживать любые существующие метаданные, такие как маркеры BOM.
Почему стоит использовать GroupDocs.Editor для редактирования простого текста?
GroupDocs.Editor обрабатывает файлы в потоковом режиме, что означает возможность редактировать лог‑файл размером 300 МБ, используя менее 50 МБ ОЗУ. Библиотека поддерживает более 50 форматов ввода и вывода, автоматически определяет стили разрывов строк (CR, LF, CRLF) и предоставляет встроенные опции для удаления конечных пробелов и преобразования начальных пробелов без необходимости писать собственные парсеры.
Предварительные требования
- Среда разработки .NET — Visual Studio 2022 или VS Code с расширением C#.
- GroupDocs.Editor для .NET — загрузите со страницы релизов GroupDocs.Editor for .NET.
- Базовые знания C# — вы должны быть уверены в работе с вводом‑выводом файлов и манипуляциями со строками.
- Текстовый редактор (необязательно) — для просмотра исходных файлов; рекомендуется VS Code.
- Для подробного использования см. документацию.
- Вы также можете просмотреть общую страницу релизов.
Как редактировать простой текст пошагово
Загрузите файл, отредактируйте его содержимое и сохраните обратно — всё это менее чем в десяти строках кода. Ниже приведённые разделы проведут вас через каждый этап с понятными объяснениями.
Шаг 1: Получить путь к входному TXT‑файлу
Сначала решите, будете ли вы работать с физическим путём к файлу или с потоковой памятью. Использование пути — самый простой подход для локальной разработки.
using System.Collections.Generic;
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.HtmlCss.Resources;
using GroupDocs.Editor.Options;
Шаг 2: Создать экземпляр Editor
Editor — основной класс, который загружает документ и предоставляет возможности редактирования.
string inputFilePath = "YourSampleDocument.txt";
Шаг 3: Создать параметры редактирования TXT
TxtEditOptions настраивает способ разбора и редактирования простых текстовых файлов, позволяя задать кодировку и правила обработки пробелов.
using (Editor editor = new Editor(inputFilePath))
{
Шаг 4: Создать экземпляр EditableDocument
EditableDocument представляет собой версию загруженного документа в памяти, включая его текст и любые связанные ресурсы.
TextEditOptions editOptions = new TextEditOptions
{
Encoding = System.Text.Encoding.UTF8,
RecognizeLists = true,
LeadingSpaces = TextLeadingSpacesOptions.ConvertToIndent,
TrailingSpaces = TextTrailingSpacesOptions.Trim
};
Шаг 5: Отредактировать содержимое документа
Получите оригинальный текст, примените необходимые операции со строками (например, замену, обрезку, изменение регистра) и сохраните результат обратно в EditableDocument.
EditableDocument beforeEdit = editor.Edit(editOptions);
Шаг 6: Создать EditableDocument с обновлённым содержимым
После преобразования текста создайте новый EditableDocument, содержащий отредактированную строку и исходную коллекцию ресурсов.
string originalTextContent = beforeEdit.GetContent();
string updatedTextContent = originalTextContent.Replace("text", "EDITED text");
List<IHtmlResource> allResources = beforeEdit.AllResources;
Шаг 7: Создать параметры сохранения WordProcessing
WordProcessingSaveOptions определяет настройки для сохранения документа в совместимом с Word формате, таком как DOCX или DOCM.
EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources);
Шаг 8: Создать параметры сохранения TXT
TxtSaveOptions указывает, как должен быть записан отредактированный простой текстовый файл, включая кодировку, сохранение разрывов строк и обработку табличного макета.
WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docm)
{
Locale = System.Globalization.CultureInfo.GetCultureInfo("en-GB")
};
Шаг 9: Подготовить пути вывода
Получите каталог вывода из пути входного файла, затем сформируйте полные имена файлов для результатов DOCX и TXT.
TextSaveOptions txtSaveOptions = new TextSaveOptions
{
Encoding = System.Text.Encoding.UTF8,
PreserveTableLayout = true
};
Шаг 10: Сохранить отредактированный документ
Наконец, вызовите editor.Save дважды — один раз с параметрами WordProcessing и один раз с параметрами TXT, чтобы создать оба формата за одну операцию.
string outputWordPath = Path.Combine(Path.GetDirectoryName(inputFilePath), Path.GetFileNameWithoutExtension(inputFilePath) + ".docm");
string outputTxtPath = Path.Combine(Path.GetDirectoryName(inputFilePath), Path.GetFileNameWithoutExtension(inputFilePath) + ".txt");
Распространённые проблемы и решения
- Оставшиеся конечные пробелы после редактирования — убедитесь, что
TxtEditOptions.TrimTrailingSpacesустановлен вtrueперед загрузкой документа. - Неправильная кодировка в сохранённом файле — проверьте, что
TxtSaveOptions.Encodingсоответствует требуемой кодовой странице (например,Encoding.UTF8). - Большие файлы вызывают OutOfMemoryException — используйте потоковый API (
Editor.Load(Stream)) вместо загрузки по пути к файлу, чтобы снизить использование памяти.
Часто задаваемые вопросы
В: Какие форматы файлов поддерживает GroupDocs.Editor для .NET?
О: Библиотека поддерживает более 50 форматов, включая DOCX, TXT, HTML, PDF и markdown, позволяя без проблем редактировать и конвертировать их между собой.
В: Как получить бесплатную пробную версию GroupDocs.Editor для .NET?
О: Скачайте пробную версию со страницы релизов.
В: Можно ли приобрести временную лицензию для тестирования?
О: Да, временные лицензии доступны на странице покупки GroupDocs.
В: Где можно получить поддержку, если возникнут проблемы?
О: Официальный форум поддержки — лучший вариант; посетите форум поддержки GroupDocs.Editor.
В: Есть ли подробная документация для продвинутых сценариев?
О: Конечно. Полная справка доступна на странице документации GroupDocs.Editor.
Заключение
Теперь вы освоили, как редактировать простой текст с помощью GroupDocs.Editor для .NET — загрузка txt‑файла, удаление пробелов, преобразование начальных пробелов, установка правильной кодировки и сохранение результата как в форматах TXT, так и DOCX. Эта возможность позволяет автоматизировать очистку лог‑файлов, генерировать конфигурационные файлы «на лету» или создавать собственные конвейеры обработки текста без необходимости изобретать колесо заново. Исследуйте дополнительные функции, такие как пакетная обработка и конвертация документов, посетив официальную документацию.
Последнее обновление: 2026-08-10
Тестировано с: GroupDocs.Editor 23.11 for .NET
Автор: GroupDocs
editor.Save(afterEdit, outputWordPath, wordSaveOptions);
editor.Save(afterEdit, outputTxtPath, txtSaveOptions);
}
System.Console.WriteLine("Document editing process completed successfully!");