Cómo extraer texto de PDFs en .NET

Cómo extraer texto de PDFs en .NET

Cómo extraer texto de PDFs en .NET

Esta guía cubre la extracción de texto de páginas PDF usando la API absorber.


Requisitos previos

RequisitoDetalle
Entorno de ejecución.NET 8.0 o posterior
Paquetedotnet add package Aspose.Pdf.Foss

Extraer todo el texto de una página

TextAbsorber recopila todo el texto de una página en una sola cadena. Crea una
instancia, pásala a Page.Accept y lee el resultado de la propiedad Text.
Este es el enfoque más sencillo cuando necesitas una salida de texto sin formato sin información posicional.

using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);

Extraer fragmentos de texto estructurado

Cuando necesites metadatos de posición, fuente y tamaño junto con el texto, usa TextFragmentAbsorber en su lugar. Cada TextFragment expone sus coordenadas de contorno a través de la propiedad Position.

var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);

foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}

Buscar con una expresión regular

Pase un patrón regex a TextFragmentAbsorber para encontrar texto coincidente en todas las páginas.
Esto es útil para localizar números de teléfono, fechas u otros
patrones de datos estructurados dentro de un documento.

var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
    Console.WriteLine(f.Text);

Clases clave

ClasePropósito
TextAbsorberExtraer todo el texto como una cadena
TextFragmentAbsorberExtracción de texto estructurado
TextFragmentTexto con posición y fuente
FontRepositoryBúsqueda de fuentes

Ver también

 Español