Wie man Text aus PDFs in .NET extrahiert

Wie man Text aus PDFs in .NET extrahiert

Wie man Text aus PDFs in .NET extrahiert

Dieser Leitfaden behandelt die Textextraktion aus PDF‑Seiten mithilfe der absorber API.


Voraussetzungen

AnforderungDetail
Laufzeit.NET 8.0 oder höher
Paketdotnet add package Aspose.Pdf.Foss

Extrahiere den gesamten Text von einer Seite

TextAbsorber sammelt allen Text auf einer Seite in einem einzigen String. Erstellen Sie eine
Instanz, übergeben Sie sie an Page.Accept und lesen Sie das Ergebnis aus der Text‑Eigenschaft.
Dies ist der einfachste Ansatz, wenn Sie reine Textausgabe ohne Positionsinformationen benötigen.

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

Strukturierte Textfragmente extrahieren

Wenn Sie Positions‑, Schriftart‑ und Größen‑Metadaten zusammen mit dem Text benötigen, verwenden Sie stattdessen TextFragmentAbsorber. Jeder TextFragment stellt seine Begrenzungskoordinaten über die Eigenschaft Position bereit.

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

Suche mit einem regulären Ausdruck

Übergeben Sie ein Regex‑Muster an TextFragmentAbsorber, um passenden Text auf allen Seiten zu finden. Dies ist nützlich, um Telefonnummern, Daten oder andere strukturierte Datenmuster in einem Dokument zu lokalisieren.

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

Schlüsselklassen

KlasseZweck
TextAbsorberExtrahiere gesamten Text als Zeichenkette
TextFragmentAbsorberStrukturierte Textextraktion
TextFragmentText mit Position und Schriftart
FontRepositorySchriftartsuche

Siehe auch

 Deutsch