Kaip išgauti tekstą iš PDF dokumentų naudojant .NET

Kaip išgauti tekstą iš PDF dokumentų naudojant .NET

Kaip išgauti tekstą iš PDF dokumentų .NET

Šiame vadove nagrinėjamas teksto išgavimas iš PDF puslapių naudojant absorber API.


Būtinosios sąlygos

ReikalavimasDetalė
Vykdymo aplinka.NET 8.0 arba vėlesnė
Paketasdotnet add package Aspose.Pdf.Foss

Ištraukti visą tekstą iš puslapio

TextAbsorber surenka visą tekstą puslapyje į vieną eilutę. Sukurkite
egzempliorių, perduokite jį Page.Accept, ir perskaitykite rezultatą iš Text savybės.
Tai yra paprasčiausias metodas, kai reikia gryno teksto išvesties be pozicinių
informacijos.

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

Išgauti struktūruotus teksto fragmentus

Kai jums reikia pozicijos, šrifto ir dydžio metaduomenų kartu su tekstu, naudokite TextFragmentAbsorber vietoje. Kiekvienas TextFragment atskleidžia savo ribinius koordinates per Position savybę.

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})");
}

Ieškoti naudojant reguliarią išraišką

Perduokite regex šabloną TextFragmentAbsorber, kad rastumėte atitinkamą tekstą visose puslapiuose. Tai naudinga ieškant telefono numerių, datų ar kitų struktūruotų duomenų šablonų 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);

Pagrindinės klasės

KlasėTikslas
TextAbsorberIšgauti visą tekstą kaip eilutę
TextFragmentAbsorberStruktūruoto teksto išgavimas
TextFragmentTekstas su pozicija ir šriftu
FontRepositoryŠrifto paieška

Žr. taip pat

 Lietuvių