Com extreure text de PDFs a .NET

Com extreure text de PDFs a .NET

Com extreure text de PDFs a .NET

Aquesta guia cobreix l’extracció de text de les pàgines PDF utilitzant l’API absorber.


Requisits previs

RequisitDetall
Entorn d’execució.NET 8.0 o posterior
Paquetdotnet add package Aspose.Pdf.Foss

Extreu tot el text d’una pàgina

TextAbsorber recopila tot el text d’una pàgina en una única cadena. Creeu una
instància, passeu-la a Page.Accept i llegiu el resultat de la propietat Text.
Aquest és l’enfocament més senzill quan necessiteu una sortida de text pla sense informació posicional
informació.

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

Extreu fragments de text estructurat

Quan necessiteu metadades de posició, tipus de lletra i mida juntament amb el text, utilitzeu TextFragmentAbsorber en el seu lloc. Cada TextFragment exposa les seves coordenades de límit a través de la propietat 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})");
}

Cerca amb una expressió regular

Passeu un patró regex a TextFragmentAbsorber per trobar text coincident a través de totes les pàgines. Això és útil per localitzar números de telèfon, dates, o altres patrons de dades estructurades dins d’un document.

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

Classes clau

ClassePropòsit
TextAbsorberExtreu tot el text com a cadena
TextFragmentAbsorberExtracció de text estructurat
TextFragmentText amb posició i tipografia
FontRepositoryCerca de tipografia

Vegeu també

 Català