Ako extrahovať text z PDF v .NET
Ako extrahovať text z PDF v .NET
Tento sprievodca pokrýva extrakciu textu z PDF stránok pomocou absorber API.
Požiadavky
| Požiadavka | Detail |
|---|---|
| Čas behu | .NET 8.0 alebo novší |
| Balík | dotnet add package Aspose.Pdf.Foss |
Extrahovať všetok text zo stránky
TextAbsorber zhromažďuje celý text na stránke do jedného reťazca. Vytvorte
inštanciu, odovzdajte ju do Page.Accept a prečítajte výsledok z vlastnosti Text.
Toto je najjednoduchší prístup, keď potrebujete výstup v čistom texte bez
informácií o pozícii.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);Extrahovať štruktúrované textové fragmenty
Keď potrebujete metadáta o pozícii, fonte a veľkosti spolu s textom, použite TextFragmentAbsorber namiesto toho. Každý TextFragment odhaľuje svoje ohraničujúce súradnice prostredníctvom vlastnosti 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})");
}Vyhľadávanie pomocou regulárneho výrazu
Zadajte regex vzor do TextFragmentAbsorber, aby ste našli zodpovedajúci text naprieč
všetkými stránkami. Toto je užitočné pri vyhľadávaní telefónnych čísel, dátumov alebo iných
štruktúrovaných dátových vzorov v dokumente.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Kľúčové triedy
| Trieda | Účel |
|---|---|
TextAbsorber | Extrahovať celý text ako reťazec |
TextFragmentAbsorber | Štruktúrovaná extrakcia textu |
TextFragment | Text s pozíciou a fontom |
FontRepository | Vyhľadávanie fontu |