Los archivos PDF son populares porque admiten texto, imágenes, animaciones, videos y muchas otras anotaciones. Sin embargo, el texto es la parte más importante de la mayoría de los documentos PDF. En este artículo, convertiremos un archivo PDF a TXT y un archivo TXT a formato PDF usando C# .NET. Esta conversión es útil en situaciones en las que solo le preocupa el contenido de texto de los documentos PDF. Repasemos los siguientes encabezados para obtener una descripción general de los próximos temas:

Sugerencia: puede que le interese un Convertidor de texto a GIF gratuito que le permite generar animaciones a partir de textos.

Convertidor TXT a PDF o PDF a TXT

La conversión de PDF a TXT, así como la conversión de archivos TXT a PDF, es muy útil cuando su principal preocupación es la cadena de texto utilizada en el documento. Puede convertir estos formatos de archivo entre sí con unos simples pasos usando Aspose.PDF for .NET API. Al ser una API basada en .NET Framework, le permite trabajar con C# y con el lenguaje de programación VB.NET. Puede instalar fácilmente la API en sus aplicaciones .NET, ya sea descargando los archivos DLL desde Descargas o mediante la galería NuGet.

Después de instalar la API con éxito, procedamos a convertir un archivo PDF a un archivo TXT con dos enfoques diferentes:

Convierta PDF a archivo de TEXTO sin formatear usando C# o VB.NET

En primer lugar, convertiremos el PDF a texto sin ninguna rutina de formateo. El contenido del texto se convertirá en su forma tal cual. Por lo tanto, el texto de salida no seguirá ningún formato a partir del archivo PDF de entrada. Debe seguir los pasos a continuación para convertir PDF a TXT con gran eficiencia y confiabilidad.

  1. Cargar documento PDF de entrada
  2. Inicializar una instancia de StringBuilder Clase
  3. Iterar a través de cada página del documento PDF
  4. Leer texto usando el modo TextDevice y Raw
  5. Guarde el texto de salida como un archivo TXT

El fragmento de código a continuación muestra cómo convertir un archivo PDF a TXT usando C# o VB en .NET Framework:

// Abrir documento
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Cadena para contener el texto extraído
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Crear dispositivo de texto
        TextDevice textDevice = new TextDevice();

        // Establecer diferentes opciones
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Convierta la página y guarde el texto en la secuencia
        textDevice.Process(pdfPage, textStream);

        // Cerrar flujo de memoria
        textStream.Close();

        // Obtener texto del flujo de memoria
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Guardar el archivo de texto
File.WriteAllText(dataDir, builder.ToString());

Convierta archivos PDF a TXT con rutinas de formateo usando C# o VB.NET

Ahora, consideremos el caso de uso en el que necesita convertir el PDF a texto con un poco de rutinas de formateo. Por ejemplo, sangrías de párrafo, tabulaciones, estilos o formato por columnas. Puede convertir fácilmente el contenido de texto de un documento PDF en un archivo TXT con C# siguiendo los pasos a continuación:

  1. Cargar archivo PDF de origen
  2. Iniciar una variable de cadena
  3. Lea cada página con TextFormattingMode.Pure
  4. Guardar archivo TXT convertido

El siguiente fragmento de código muestra cómo convertir archivos PDF a TXT con formato usando lenguaje C# o VB.NET:

// Abrir documento
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Cadena para contener el texto extraído
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Crear dispositivo de texto
        TextDevice textDevice = new TextDevice();

        // Establecer diferentes opciones
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Convierta la página y guarde el texto en la secuencia
        textDevice.Process(pdfPage, textStream);

        // Cerrar flujo de memoria
        textStream.Close();

        // Obtener texto del flujo de memoria
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Guardar el archivo de texto
File.WriteAllText(dataDir, builder.ToString());

Comparación visual de la conversión de texto PURE y RAW

La siguiente captura de pantalla es una comparación visual de los dos enfoques que acabamos de discutir. Puede notar que el modo puro (ventana más a la derecha) muestra el texto con los mismos formatos que en el archivo PDF (ventana más a la izquierda).

Convertir PDF TXT csharp

Esta captura de pantalla de los archivos de entrada y salida le permite decidir qué enfoque de conversión le conviene más.

Convierta archivos TXT a PDF mediante programación usando C# o VB.NET

Los archivos TXT a menudo contienen un gran contenido de texto. Puede convertir fácilmente un archivo TXT a un archivo PDF con Aspose.PDF for .NET API. Simplemente siga los pasos a continuación para realizar la conversión de texto a PDF:

  1. Crea una instancia de la clase TextReader
  2. Inicialice un documento PDF y agregue una página en blanco
  3. Instanciar el objeto TextBuilder
  4. Lea cada línea de texto del archivo TXT de entrada
  5. Guardar archivo PDF de salida

El fragmento de código a continuación explica cómo convertir mediante programación un archivo TXT que contiene texto en un documento PDF utilizando el lenguaje C# o VB.NET:

// Leer archivo TXT de entrada
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Inicializar nuevo documento
Document doc = new Document();

// Añadir página en blanco
Page page = doc.Pages.Add();
String strLine;

// Iniciar objeto TextBuilder
TextBuilder builder = new TextBuilder(page);
double x = 100; double y = 100;
while ((strLine = tr.ReadLine()) != null)
{
 TextFragment text = new TextFragment(strLine);
 text.Position = new Position(x, y);
 if (y >= page.PageInfo.Height - 72)
 {
  y = 100;
  page = doc.Pages.Add();
  builder = new TextBuilder(page);
 }
 else
 {
  y += 15;
 }
 builder.AppendText(text);
}

// Guardar archivo PDF de salida
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Conclusión

En este artículo, hemos aprendido y explorado la conversión del texto en un archivo PDF al formato de archivo TXT. Además, hemos convertido el texto de un archivo TXT en un documento PDF usando C# o VB en .NET Framework. Puede convertir archivos PDF y TXT de manera bastante eficiente y rápida. Sin embargo, si tiene alguna inquietud o consulta, no dude en escribirnos en el Foro de soporte gratuito o explore la Documentación del producto. ¡Nos encantaría saber de usted!

Ver también