Jak extrahovat text z PDF v .NET
Tento článek ukazuje, jak extrahovat text z PDF dokumentů pomocí Aspose.PDF Text Extractor pro .NET. Naučíte se používat všechny podporované režimy extrakce - Pure, Raw a Plain - a automatizovat pracovní toky pro jednotlivé nebo více PDF.
Reálný světový problém
Manuální kopírování textu z PDF je neúčinné a bez chyb. Pro aplikace v oblasti analýzy dat, migrace dokumentů nebo archivace automatizovaná textová extrakce zajišťuje konzistenci, rychlost a přesnost.
Řešení přehled
Aspose.PDF Text Extractor pro .NET poskytuje čistý, programovatelný rozhraní pro extrahování textu v různých formátech. Vyberte mezi Pure, Raw a Plain režimy, které se hodí k vašemu používání - ať už potřebujete formátovaný výstup, surové údaje nebo plochý obsah.
Předpoklady
- Visual Studio 2019 nebo novější
- .NET 6.0 nebo novější
- Aspose.PDF pro .NET instalován prostřednictvím NuGet
PM> Install-Package Aspose.PDF
krok za krokem implementace
Krok 1: Instalace a nastavení ASPOSE.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Krok 2: Odstranit text pomocí výchozí (Raw) režimu
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(); // Raw mode by default
options.AddInput(new FileDataSource("input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
Console.WriteLine(textExtracted);
}
Krok 3: Odstraňte text v čistém nebo plochém režimu
- **Čistý režim: ** Udržuje relativní pozice a přidává prostor pro vyrovnání.
- Plaňovací režim: Strips formátování, výstup textu s minimálním prostorem.
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
options.AddInput(new FileDataSource("input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
Console.WriteLine(textExtracted);
}
Použití případů a aplikací (s kódovými variacemi)
1. Batch Extract Text z více PDF
string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
foreach (var file in files)
options.AddInput(new FileDataSource(file));
var resultContainer = extractor.Process(options);
for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
{
string extracted = resultContainer.ResultCollection[i].ToString();
// Save to disk, process, or analyze as needed
File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
}
}
2. Vybrat režim extrakce na základě použitého případu
- Použijte Pure pro tabulkové uspořádání nebo prostorové formátování.
- Použijte Plain pro čistou extrahování nebo analýzu dat.
- Použijte Raw pro nezpracovaný text.
3. Post-proces extrahovaný text
Po extrakci, aplikovat regex, textové čištění, nebo poslat výsledky do jiných služeb (hledání, ML potrubí, atd.).
4. Integrovat extrakci s datovými potrubí
Automatická extrakce jako součást širšího pracovního toku ETL, reportingu nebo správy dokumentů pomocí standardních postupů .NET.
Společné výzvy a řešení
Výzva: Neslučitelný výsledek v důsledku složité struktury PDFRozhodnutí: Vyzkoušejte různé způsoby extrakce (Pure, Plain, Raw) a porovnejte výsledky.
Výzva: ** Rychlost extrakce batchůRozhodnutí:** Použijte jediný TextExtractor
Příklad a zpracování více souborů v jednom kole pro nejlepší výkon.
Výzva: ** Zvláštní znaky nebo problémy s kódovánímRozhodnutí:** Použijte režim plochý pro minimální formátování a pak aplikujte dle potřeby přizpůsobené řetězové zpracování.
Výsledky a nejlepší postupy
- Vyzkoušejte všechny tři režimy extrakce, abyste určili optimální výsledky pro váš typ dokumentu
- Uložte původní PDF před batchovými operacemi
- Obchodování s produktovými názvy a organizací v batchových pracovních místech
- Integrovaná manipulace s chybami a logování pro robustnost
Kompletní příklad provádění
using Aspose.Pdf.Plugins;
using System;
using System.IO;
class Program
{
static void Main()
{
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
}
}
}
závěr
Aspose.PDF Text Extractor pro .NET vám poskytuje výkonné, flexibilní nástroje pro extrahování textu v několika formátech – vhodné pro zpracování dat, archivování nebo analýzu.