Aspose.Words Procesador de Archivos de Texto para .NET

El procesador de archivos de texto Aspose.Words para .NET es una API ligera que se centra en los escenarios del texto plain .txt, ejecuta las ediciones programáticas (insertar, borrar, reemplazar) y salvar de nuevo a TXT con control preciso sobre encodificación , BOM yfines de línea-ideal para servicios, trabajos ETL y tuberías CI/CD.

No se requiere Microsoft Office. funciona en Windows, Linux y macOS con .NET Framework, .Net Core/5/6+, o Mono.

Instalación y configuración

**Scenarios apoyados: ** caminos de archivo y streams (recomendado para web/cloud).

Inicio rápido

Crear un archivo 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);

Cargar un TXT con codificación explícita, añadir texto, guardar 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 y Funcionalidad

Creación de documentos

  • Comienza con un documento de texto blanco en la memoria.
  • Establecer la estrategia de codificación **default ** y EOL al ahorrar.
  • Opcionalmente escriba el título/footer comentarios antes del texto corporal.

Descargar TXT existente

  • Cargar desde **path ** , **stream ** o **byte[] ** con encodando auto-detecto u un codificación forzada.
  • Preserva o normaliza las brechas de línea (CRLF / LF / CR) en carga y / o ahorro.
  • Stream archivos muy grandes para mantener la memoria estable.

La manipulación del texto

  • Transmite el contenido a través del modelo familiar Documento → Sección → Parágrafo → Run.
  • Insertar, añadir o borrar texto en lugares precisos, sin matemáticas manuales.
  • Performan bulk encontrar/reemplazar a lo largo de todo el documento o las ramas descifradas.
  • Compartir / mezclar parágrafos por delimitadores personalizados.

ahorrar a TXT

  • Salva para el archivo o stream con el codificación elegido (UTF‐8 / UDF‐16 / ASCII / etc.).
  • Controlar las emisiones **BOM ** y ParagraphBreak (EOL) explícitamente.
  • Sobreescribe o escribe a un flujo de destino que gestiona.

Cortesía y i18n

  • Soporte completo Unicode.
  • Los fallbacks transparentes para las páginas de código legado al leer.
  • Detectar y preservar Bomberos en la carga, a menos que se exagere.

Primeras APIs

  • Uso StreamStream para los servicios web y las funciones en la nube.
  • Integra fácilmente con los SDKs S3/Blob y los tubos de memoria.

Performance

  • Modelo Objeto Lean para texto plano.
  • Las operaciones leves minimizan las asignaciones.
  • La lectura segura; la sincronización escribe cuando comparte recursos.

Recetas comunes

Regex Find / Replace (collapse de varios espacios)

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 a 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);
}

Normalizar los terminales de línea (CRLF → LF)

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

Consejos y mejores prácticas

  • Preferir las APIs ** basadas en el flujo** para grandes archivos y aplicaciones web.
  • Siempre fija la codificación en carga y almacenamiento para evitar mojibake.
  • El batch se edita en la memoria; salve una vez para reducir el I/O.
  • Normalizar EOL en carga, convertirse en la meta de Eol en ahorro.
  • Utilice regex reemplazo para limpieza compleja en un solo paso.
  • En los servicios a largo plazo, monitorear el uso medido y gestionar la cuota con gracia.

FAQ

**TXT conserva tablas, imágenes o estilos?**No. TXT es texto plano; la formatación avanzada es flatenada.

**Puedo anexar a un archivo existente sin sobreescribirlo?**Abre un FileStream en el modo de apéndice y escriba la salida salvada en él. Asegúrese de agregar una novedad anterior si es necesario.

**Cómo elegir la línea que termina?**Sitio TxtSaveOptions.ParagraphBreak para "\r\n" (Windows o "\n" (Unix y MacOS).

**Cómo desactivar el UTF-8 BOM?**Uso new UTF8Encoding(false) En TxtSaveOptions.Encoding.

**Es necesario Office o Notepad?**No. Aspose.Words es standalone.

 Español