Hur man extraherar text från PDF-filer i .NET

Hur man extraherar text från PDF-filer i .NET

Hur man extraherar text från PDF-filer i .NET

Den här guiden täcker textutdrag från PDF‑sidor med absorber API.


Förutsättningar

KravDetalj
Körmiljö.NET 8.0 eller senare
Paketdotnet add package Aspose.Pdf.Foss

Extrahera all text från en sida

TextAbsorber samlar all text på en sida till en enda sträng. Skapa en
instans, skicka den till Page.Accept och läs resultatet från Text‑egenskapen.
Detta är det enklaste tillvägagångssättet när du behöver rentextutdata utan positionsinformation.

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

Extrahera strukturerade textfragment

När du behöver position, teckensnitt och storleksmetadata tillsammans med texten, använd TextFragmentAbsorber istället. Varje TextFragment exponerar sina avgränsande koordinater genom egenskapen Position.

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 ett reguljärt uttryck

Skicka ett regex‑mönster till TextFragmentAbsorber för att hitta matchande text på
alla sidor. Detta är användbart för att lokalisera telefonnummer, datum eller andra
strukturerade datamönster i ett 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);

Nyckelklasser

KlassSyfte
TextAbsorberExtrahera all text som en sträng
TextFragmentAbsorberStrukturerad textutvinning
TextFragmentText med position och teckensnitt
FontRepositoryTeckensnittssökning

Se även

 Svenska