Kako izvući tekst iz PDF‑ova u .NET
Kako izvući tekst iz PDF‑ova u .NET
Ovaj vodič pokriva izdvajanje teksta iz PDF stranica koristeći absorber API.
Preduslovi
| Zahtev | Detalj |
|---|---|
| Okruženje za izvršavanje | .NET 8.0 ili noviji |
| Paket | dotnet add package Aspose.Pdf.Foss |
Izvucite sav tekst sa stranice
TextAbsorber prikuplja sav tekst na stranici u jedan string. Kreirajte
instancu, prosledite je Page.Accept, i pročitajte rezultat iz svojstva Text.
Ovo je najjednostavniji pristup kada vam je potreban plain‑text izlaz bez
informacija o poziciji.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Izvuci strukturirane tekstualne fragmente
Kada su vam potrebni podaci o položaju, fontu i veličini uz tekst, koristite TextFragmentAbsorber umesto toga. Svaki TextFragment izlaže svoje koordinate granice putem svojstva 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})");
}Pretraživanje regularnim izrazom
Prosledite regex obrazac TextFragmentAbsorber da biste pronašli odgovarajući tekst preko
svih stranica. Ovo je korisno za pronalaženje telefonskih brojeva, datuma ili drugih
obrazaca strukturiranih podataka u dokumentu.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Ključne klase
| Klasa | Svrha |
|---|---|
TextAbsorber | Izvuci sav tekst kao string |
TextFragmentAbsorber | Ekstrakcija strukturisanog teksta |
TextFragment | Tekst sa pozicijom i fontom |
FontRepository | Pretraga fonta |