Cum să extragi text din PDF-uri în .NET

Cum să extragi text din PDF-uri în .NET

Cum să extragi text din PDF-uri în .NET

Acest ghid acoperă extragerea de text din paginile PDF utilizând absorber API.


Cerințe preliminare

CerințăDetaliu
Timp de execuție.NET 8.0 sau ulterior
Pachetdotnet add package Aspose.Pdf.Foss

Extrage tot textul dintr‑o pagină

TextAbsorber colectează tot textul de pe o pagină într-un singur șir.
Creează o instanță, transmite‑o la Page.Accept și citește rezultatul din proprietatea Text.
Aceasta este cea mai simplă abordare când ai nevoie de ieșire text simplă fără informații de poziționare.

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

Extrage fragmente de text structurat

Când aveți nevoie de metadatele de poziție, font și dimensiune alături de text, folosiți TextFragmentAbsorber în schimb. Fiecare TextFragment expune coordonatele de delimitare prin proprietatea 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})");
}

Căutați cu o expresie regulată

Transmite un model regex către TextFragmentAbsorber pentru a găsi textul care se potrivește pe toate paginile. Acest lucru este util pentru localizarea numerelor de telefon, datelor sau altor modele de date structurate într-un 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);

Clase cheie

ClasăScop
TextAbsorberExtrage tot textul ca un șir
TextFragmentAbsorberExtracție de text structurat
TextFragmentText cu poziție și font
FontRepositoryCăutare font

Vezi și

 Română