Jak wyodrębnić tekst z plików PDF w .NET

Jak wyodrębnić tekst z plików PDF w .NET

Jak wyodrębnić tekst z plików PDF w .NET

Ten przewodnik obejmuje wyodrębnianie tekstu ze stron PDF przy użyciu absorber API.


Wymagania wstępne

WymaganieSzczegół
Środowisko uruchomieniowe.NET 8.0 lub nowszy
Pakietdotnet add package Aspose.Pdf.Foss

Wyodrębnij cały tekst z strony

TextAbsorber zbiera cały tekst na stronie w pojedynczy ciąg znaków. Utwórz instancję, przekaż ją do Page.Accept i odczytaj wynik z właściwości Text. Jest to najprostsze podejście, gdy potrzebujesz wyjścia w postaci czystego tekstu bez informacji o położeniu.

using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);

Wyodrębnij ustrukturyzowane fragmenty tekstu

Kiedy potrzebujesz metadanych pozycji, czcionki i rozmiaru wraz z tekstem, użyj TextFragmentAbsorber zamiast tego. Każdy TextFragment udostępnia swoje współrzędne ograniczające poprzez właściwość 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})");
}

Wyszukiwanie przy użyciu wyrażenia regularnego

Przekaż wzorzec wyrażenia regularnego do TextFragmentAbsorber, aby znaleźć pasujący tekst na wszystkich stronach. Jest to przydatne do wyszukiwania numerów telefonów, dat lub innych wzorców danych strukturalnych w dokumencie.

var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
    Console.WriteLine(f.Text);

Kluczowe klasy

KlasaCel
TextAbsorberWyodrębnij cały tekst jako ciąg znaków
TextFragmentAbsorberWyodrębnianie tekstu strukturalnego
TextFragmentTekst z pozycją i czcionką
FontRepositoryWyszukiwanie czcionki

Zobacz także

 Polski