Hoe tekst uit PDF's te extraheren in .NET
Hoe tekst uit PDF’s te extraheren in .NET
Deze gids behandelt tekstelextractie van PDF-pagina’s met de absorber API.
Vereisten
| Vereiste | Detail |
|---|---|
| Runtime | .NET 8.0 of later |
| Pakket | dotnet add package Aspose.Pdf.Foss |
Alle tekst van een pagina extraheren
TextAbsorber verzamelt alle tekst op een pagina in één enkele string. Maak een
instance, geef deze door aan Page.Accept, en lees het resultaat uit de Text eigenschap.
Dit is de eenvoudigste aanpak wanneer je platte‑tekstoutput nodig hebt zonder positionele
informatie.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Gestructureerde tekstfragmenten extraheren
Wanneer je positie‑, lettertype‑ en grootte‑metadata naast de tekst nodig hebt, gebruik dan TextFragmentAbsorber. Elke TextFragment geeft zijn begrenzende coördinaten weer via de Position‑eigenschap.
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})");
}Zoeken met een reguliere expressie
Geef een regex‑patroon door aan TextFragmentAbsorber om overeenkomende tekst over
alle pagina’s. Dit is handig voor het lokaliseren van telefoonnummers, datums, of andere
gestructureerde gegevenspatronen binnen een 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);Belangrijke klassen
| Klasse | Doel |
|---|---|
TextAbsorber | Alle tekst extraheren als een string |
TextFragmentAbsorber | Gestructureerde tekstelextractie |
TextFragment | Tekst met positie en lettertype |
FontRepository | Lettertype opzoeken |