Come estrarre testo da PDF in .NET

Come estrarre testo da PDF in .NET

Come estrarre testo da PDF in .NET

Questa guida copre l’estrazione di testo dalle pagine PDF utilizzando l’API absorber.


Prerequisiti

RequisitoDettaglio
Ambiente di esecuzione.NET 8.0 o successivo
Pacchettodotnet add package Aspose.Pdf.Foss

Estrai tutto il testo da una pagina

TextAbsorber raccoglie tutto il testo di una pagina in una singola stringa. Crea un
istanza, passala a Page.Accept e leggi il risultato dalla proprietà Text.
Questo è l’approccio più semplice quando hai bisogno di output di testo semplice senza informazioni posizionali.

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

Estrai frammenti di testo strutturato

Quando hai bisogno di metadati di posizione, carattere e dimensione insieme al testo, usa TextFragmentAbsorber invece. Ogni TextFragment espone le sue coordinate di delimitazione tramite la proprietà 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 con un’espressione regolare

Passa un modello regex a TextFragmentAbsorber per trovare il testo corrispondente su tutte le pagine. Questo è utile per individuare numeri di telefono, date o altri modelli di dati strutturati all’interno di 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);

Classi chiave

ClasseScopo
TextAbsorberEstrai tutto il testo come stringa
TextFragmentAbsorberEstrazione di testo strutturato
TextFragmentTesto con posizione e carattere
FontRepositoryRicerca del carattere

Vedi anche

 Italiano