Jak extrahovat text z PDF v .NET

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.

 Čeština