Sådan udtrækker du tekst fra PDF'er i .NET

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

KravDetalje
Kørselstid.NET 8.0 eller senere
Pakkedotnet 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

KlasseFormål
TextAbsorberUdtræk al tekst som en streng
TextFragmentAbsorberStruktureret tekstudtræk
TextFragmentTekst med position og skrifttype
FontRepositoryOpslag på skrifttype

Se også

 Dansk