Hogyan lehet szöveget kivonni a .NET PDF- táblagépből ?

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ényRészletek
Futási idő.NET 8.0 vagy újabb változatú
Paketdotnet 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ályCélja
TextAbsorberMinden szöveget szalagként kivonni
TextFragmentAbsorberSzerkezetes szöveg kivonása
TextFragmentA szöveg helyzete és betűtípus
FontRepositoryBetűtípus keresés

Lásd még:

 Magyar