Hogyan lehet szöveget kivonni a .NET PDF- táblagépből ?
Hogyan lehet szöveget kivonni a .NET PDF- táblagépből ?
Ez az útmutató a PDF-oldalakból történő szövegkivonást tartalmazza, amelyre az absorber API alkalmazás használatát alkalmazzák.
Előfeltételek
| Követelmény | Részletek |
|---|---|
| Futási idő | .NET 8.0 vagy újabb változatú |
| Paket | dotnet add package Aspose.Pdf.Foss |
Az összes szöveg kivonása az oldaltól
TextAbsorber Összefoglalja az összes szöveget egy oldalra egyetlen szalagba. Például, adja át a… Page.Accept, és olvassa el az eredményeket a Text tulajdon. Ez a legegyszerűbb megközelítés, amikor kell sima szöveg kimenetel nélkül pozíciós információ.
using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);A szerkezetbe foglalott szövegrészek kivonása
Ha a helyzettől, az írásszóról és a méretről metadata kell a szöveg mellett., Használat TextFragmentAbsorber Mindenki. TextFragment felfedte a a határ koordinátái az átjáró Position tulajdon.
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})");
}A rendszeres kifejezéssel történő keresés
Átadni egy regex mintát a következőknek: TextFragmentAbsorber a megfelelő szöveg megtalálása az oldalon Ez hasznos a telefonszámok, dátumok vagy más adatok megtalálásához. dokumentumban strukturált adatminták.
var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
Console.WriteLine(f.Text);Fontos osztályok
| Az osztály | Célja |
|---|---|
TextAbsorber | Minden szöveget szalagként kivonni |
TextFragmentAbsorber | Szerkezetes szöveg kivonása |
TextFragment | A szöveg helyzete és betűtípus |
FontRepository | Betűtípus keresés |