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 |
| Pachet | dotnet 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 |
|---|---|
TextAbsorber | Extrage tot textul ca un șir |
TextFragmentAbsorber | Extracție de text structurat |
TextFragment | Text cu poziție și font |
FontRepository | Căutare font |