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
- Instale Aspose.Words em NuGet.
- Aplique sua licença no startup (ver Metered Licensing ).
- Requisitos do sistema de revisão no Guia de instalação .
**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
Stream
→Stream
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.