Aspose.Words Processador de Arquivos de Texto para .NET

O Aspose.Words Text File Processor para .NET é uma API leve focada em cenários de texto planejado .txt, execute edição programática (insere, apagar, substituir), e salve de volta para TXT com controle preciso sobre encodificação , BOM eline endings – ideal para serviços, empregos ETL e tubos CI/CD.

Não é necessário Microsoft Office. funciona em Windows, Linux e macOS com .NET Framework, .Net Core/5/6+, ou Mono.

Instalação e Setup

**Scenários suportados: ** caminhos de arquivo e streams (recomendado para web/cloud).

Início rápido

Crie um arquivo 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);

Carregar um TXT com codificação explícita, adicionar texto, salvar como 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);

Características e Funcionalidade

Criação de Documentos

  • Comece com um documento de texto branco na memória.
  • Configurar a estratégia de codificação **default ** e EOL ao economizar.
  • Opcionalmente escreva o cabeçalho/footer comentários antes do texto corporal.

Carregar TXT existente

  • Carregar a partir de **path ** , **stream ** ou **byte[] ** com encodando auto-detect e/ou com um codificação forçada.
  • Preservar ou normalizar brechas de linha (CRLF / LF / CR) em carga e / ou armazenamento.
  • Stream arquivos muito grandes para manter a memória estável.

Manipulação de texto

  • Passar pelo conteúdo através do modelo familiar Document → Secção → Parágrafo → Run.
  • Insira, adicione ou apague texto em locais precisos – sem matemática manual.
  • Performar bulk find/replace em todo o documento ou faixas descartadas.
  • Dividir / misturar parágrafos por delimitadores personalizados.

Poupança para TXT

  • Save to file or **stream ** with chosen encoding (UTF‐8/Utf‐16/ASCII/etc.).
  • Controle explícitamente as emissões **BOM ** e ParagraphBreak (EOL.
  • Escreva ou escreva para um fluxo alvo que você gerencia.

Avaliação & i18n

  • Suporte completo Unicode.
  • Falhas transparentes para páginas de código de herança durante a leitura.
  • Detectar e preservar Bomba em carga, a menos que seja exagerada.

Primeira APIs

  • Utilização StreamStream para serviços web e funções em nuvem.
  • Integra facilmente com SDKs S3/Blob e tubos de memória.

Performance

  • Modelo de objetos Lean para texto plano.
  • As operações leves minimizam as atribuições.
  • Leitura segura; sincronização escreve ao compartilhar recursos.

Recetas comuns

Regex Find/Replace (Collapse de vários espaços)

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) Stream→Stream (Windows‐1252 para 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) Normalize Line Endings (CRLF → LF)

var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);

Tipos e Melhores Práticas

  • Preferir stream-based APIs para grandes arquivos e aplicativos da web.
  • Sempre configurar a codificação em carregamento e armazenamento para evitar mojibake.
  • Edição de batch na memória; salve uma vez para reduzir o I/O.
  • Normalize o EOL em carga, converte-se para o objetivo do Eol em poupança.
  • Use regex substituir para limpeza complexa em um passo.
  • Em serviços de longa duração, monitorar o uso medido e lidar com a quota com graça.

FAQ

**O TXT preserva tabelas, imagens ou estilos?**TXT é texto plano; o formato avançado é flatulente.

**Posso anexar a um arquivo existente sem exagerar?**Abra um FileStream no modo de adição e digite a saída salvida para ele. Assegure-se de que você adicione uma nova linha anterior se necessário.

**Como escolher a linha de fim?**Sete TxtSaveOptions.ParagraphBreak Para "\r\n" (Windows ou "\n" (A Unix e o MacOS).

**Como posso desativar o UTF-8 BOM?**Utilização new UTF8Encoding(false) em TxtSaveOptions.Encoding.

**O Office ou o Notepad++ são necessários?**No. Aspose.Words é standalone.

 Português