Aspose.Words Processor для обробки текстових файлів у .NET
Aspose.Words Text File Processor для .NET є легким API, зосередженим на plain-text сценаріях .txt
, здійснює програмістичні редагування (введіть, видаляйте, замінюйте), і **зберегти назад в TXT ** з точним контролем над **кодуванням ** , **BOM ** та лінійними кінцями – ідеально підходить для послуг, ETL робочих місць та CI/CD трубопроводів.
Працює на Windows, Linux і macOS з .NET Framework, .Net Core/5/6+, або Mono.
Інсталяція та установка
- Завантажити Aspose.Words з NuGet.
- Зареєструйте свою ліцензію на стартап (див. Мітрова Ліцензія ).
- Перевірка системних вимог в [Інсталяційний посібник] https://docs.aspose.net/words/getting-started/installation/ ).
Підтримуються сценарії: ** файлових шляхів і ** потоків (рекомендується для веб / хмари).
Швидкий старт
Створення файлу TXT (UTF‐8, CRLF)
using Aspose.Words;
using Aspose.Words.Saving;
using System.Text;
var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.Writeln("Paragraph 1.");
builder.Writeln("Paragraph 2.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: true), // with BOM
ParagraphBreak = "\r\n" // Windows EOL
};
doc.Save("Output.txt", txt);
Завантажити TXT з чітким кодуванням, додати текст, зберегти як LF
using Aspose.Words;
using Aspose.Words.Loading;
using Aspose.Words.Saving;
using System.Text;
var load = new TxtLoadOptions { Encoding = Encoding.UTF8 };
var doc = new Document("Input.txt", load);
var builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
builder.Writeln("");
builder.Writeln("Appended by Aspose.Words.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), // UTF‑8 no BOM
ParagraphBreak = "\n" // Unix EOL
};
doc.Save("Updated.txt", txt);
Особливості та функціональність
Створення документа
- Почніть з білого тексту в пам’яті.
- Налаштуйте стратегію **за замовчуванням кодування ** та EOL при збереженні.
- Оптимічно напишіть заголовки / ноги ** коментарі** перед текстом тіла.
Завантажити існуючий TXT
- Завантажити з path , stream або byte[] за допомогоюкодування авто-детекту або примусового кодування.
- Збереження або нормалізація лінійних перерв (CRLF / ЛФ / CR) на навантаження і / або збереження.
- Потік дуже великих файлів, щоб зберегти пам’ять стабільною.
Маніпуляція тексту
- Переходити контент через знайомий Документ → Розділ → Параграф → Використання модель.
- Введіть, додайте або видаліть текст на точних місцях — без ручної математики.
- Виконання ** bulk find/replace** по всьому документу або розкритих рядків.
- Розподіл / змішування параграфу за допомогою звичайних делімітерів.
Заробітна плата за TXT
- Зберегти до файлу або ** потоку ** з вибраним ** кодуванням** (UTF‐8 / UTF-16 / ASCII / і т.д.).
- Контроль **BOM ** викидів і ParagraphBreak (EOL) експлицитно.
- Переписуйте або напишіть до цільового потоку, який ви керуєте.
Завантажити & i18n
- Повна підтримка Unicode.
- Прозорі падіння для сторінок коду спадщини під час читання.
- Виявлення та збереження бомба навантаження, якщо не перетягнуто.
Потік перших APIs
- Користувати
Stream
→Stream
для веб-сервісів та облачних функцій. - Легко інтегрувати з S3/Blob SDK і в-пам’яті трубопроводів.
Performance
- Модель об’єкта Lean для прямого тексту.
- Прості операції мінімізують виділення.
- Thread-safe reading; синхронізація пише при розподілі ресурсів.
Загальні рецепти
1) Регекс знайти / замінити (колапс кількох просторів)
using System.Text.RegularExpressions;
using Aspose.Words;
using Aspose.Words.Replacing;
var doc = new Document("input.txt");
var opts = new FindReplaceOptions { MatchCase = false };
doc.Range.Replace(new Regex(@"\s{2,}"), " ", opts);
doc.Save("cleaned.txt");
2) Потік→Потік (Windows‐1252 до UTF‐8 LF)
using (var input = File.OpenRead("legacy.txt"))
using (var output = File.Create("normalized.txt"))
{
var load = new Aspose.Words.Loading.TxtLoadOptions
{
Encoding = Encoding.GetEncoding(1252)
};
var doc = new Document(input, load);
var save = new Aspose.Words.Saving.TxtSaveOptions
{
Encoding = new UTF8Encoding(false), // no BOM
ParagraphBreak = "\n"
};
doc.Save(output, save);
}
3) Нормалізація лінійних кінців (CRLF → LF)
var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);
ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ & Найкращі практики
- Краще stream-based APIs для великих файлів і веб-прикладів.
- Завжди встановити кодування на завантаження та збереження, щоб уникнути мохібаку.
- Бач редагується в пам’яті; зберегти один раз для зменшення I/O.
- Нормалізуйте EOL на навантаження, конвертуйте до цільового Eol на збереження.
- Використовуйте regex замінити для складних очищення в одному проході.
- У довготривалому обслуговуванні, спостереження за вимірюваним використанням та доброзичливо обробляти квоту.
FAQ
**Чи зберігає TXT таблиці, зображення чи стилі?**No. TXT - це чіткий текст; розширений формат флатентований.
**Чи можу я додати до існуючого файлу без перепису?**Відкрийте FileStream в режимі додаток і введіть в нього збережений вихід.
**Як вибрати кінцеву лінію?**Стіл TxtSaveOptions.ParagraphBreak
до "\r\n"
(Windows або "\n"
(Унікс і MacOS).
**Як вимкнути UTF-8 BOM?**Користувати new UTF8Encoding(false)
в TxtSaveOptions.Encoding
.
**Чи потрібен Office або Notepad?**No. Aspose.Words є самостійним.