Slik henter du tekst fra PDF-filer i .NET
Hvordan hente ut tekst fra PDF-er i .NET
Denne guiden dekker tekstuttrekking fra PDF‑sider ved bruk av absorber API.
Forutsetninger
| Krav | Detalj |
|---|---|
| Kjøretid | .NET 8.0 eller senere |
| Pakke | dotnet add package Aspose.Pdf.Foss |
Ekstraher all tekst fra en side
TextAbsorber samler all tekst på en side til en enkelt streng. Opprett en
instans, send den til Page.Accept, og les resultatet fra Text‑egenskapen.
Dette er den enkleste tilnærmingen når du trenger ren tekstutdata uten posisjons‑
informasjon.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Ekstraher strukturerte tekstfragmenter
Når du trenger posisjon, skrifttype og størrelsesmetadata sammen med teksten, bruk TextFragmentAbsorber i stedet. Hver TextFragment eksponerer sine avgrensende koordinater gjennom Position‑egenskapen.
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øk med et regulært uttrykk
Send et regex-mønster til TextFragmentAbsorber for å finne matchende tekst på tvers av
alle sider. Dette er nyttig for å lokalisere telefonnumre, datoer eller andre
strukturerte datamønstre i 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økkelklasser
| Klasse | Formål |
|---|---|
TextAbsorber | Ekstraher all tekst som en streng |
TextFragmentAbsorber | Strukturert tekstuttrekk |
TextFragment | Tekst med posisjon og skrifttype |
FontRepository | Skriftoppslag |