Sådan udtrækker du tekst fra PDF'er i .NET
Sådan udtrækker du tekst fra PDF-filer i .NET
Denne vejledning dækker tekstudtrækning fra PDF‑sider ved hjælp af absorber API.
Forudsætninger
| Krav | Detalje |
|---|---|
| Kørselstid | .NET 8.0 eller senere |
| Pakke | dotnet add package Aspose.Pdf.Foss |
Udtræk al tekst fra en side
TextAbsorber indsamler al tekst på en side i en enkelt streng. Opret en
instans, send den til Page.Accept, og læs resultatet fra Text-egenskaben.
Dette er den enkleste tilgang, når du har brug for ren tekstoutput uden
positionsinformation.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Udtræk strukturerede tekstfragmenter
Når du har brug for position, skrifttype og størrelsesmetadata sammen med teksten, skal du i stedet bruge TextFragmentAbsorber. Hver TextFragment eksponerer sine afgrænsende koordinater gennem Position-egenskaben.
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})");
}Søg med et regulært udtryk
Send et regex‑mønster til TextFragmentAbsorber for at finde matchende tekst på tværs af
alle sider. Dette er nyttigt til at lokalisere telefonnumre, datoer eller andre
strukturerede datamønstre inden for et dokument.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Nøgleklasser
| Klasse | Formål |
|---|---|
TextAbsorber | Udtræk al tekst som en streng |
TextFragmentAbsorber | Struktureret tekstudtræk |
TextFragment | Tekst med position og skrifttype |
FontRepository | Opslag på skrifttype |