Jak extrahovat text z PDF v .NET

Jak extrahovat text z PDF v .NET

Jak extrahovat text z PDF v .NET

Tento průvodce pokrývá extrakci textu z PDF stránek pomocí absorber API.


Požadavky

PožadavekDetail
Běhové prostředí.NET 8.0 nebo novější
Balíčekdotnet add package Aspose.Pdf.Foss

Extrahovat veškerý text ze stránky

TextAbsorber sbírá veškerý text na stránce do jediného řetězce. Vytvořte
instanci, předávejte ji do Page.Accept a výsledek přečtěte z vlastnosti Text.
Jedná se o nejjednodušší přístup, když potřebujete výstup prostého textu bez pozičních informací.

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

Extrahovat strukturované textové fragmenty

Když potřebujete metadata o pozici, fontu a velikosti spolu s textem, použijte TextFragmentAbsorber místo toho. Každý TextFragment zveřejňuje své ohraničující souřadnice prostřednictvím 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})");
}

Vyhledávat pomocí regulárního výrazu

Předávejte regulární výraz do TextFragmentAbsorber, abyste našli odpovídající text napříč všemi stránkami. To je užitečné pro vyhledávání telefonních čísel, dat nebo jiných strukturovaných datových vzorů v dokumentu.

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

Klíčové třídy

TřídaÚčel
TextAbsorberExtrahovat celý text jako řetězec
TextFragmentAbsorberStrukturovaný výpis textu
TextFragmentText s pozicí a fontem
FontRepositoryVyhledávání fontu

Viz také

 Čeština