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žadavek | Detail |
|---|---|
| Běhové prostředí | .NET 8.0 nebo novější |
| Balíček | dotnet 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 |
|---|---|
TextAbsorber | Extrahovat celý text jako řetězec |
TextFragmentAbsorber | Strukturovaný výpis textu |
TextFragment | Text s pozicí a fontem |
FontRepository | Vyhledávání fontu |