Ako extrahovať text z PDF v .NET

Ako extrahovať text z PDF v .NET

Tento článok ukazuje, ako extrahovať text z PDF dokumentov pomocou Aspose.PDF Text Extractor pre .NET. Naučíte sa používať všetky podporované režimy extrakcie - Pure, Raw a Plain - a automatizovať pracovné toky pre jednotlivé alebo viaceré PDF.

Reálny svetový problém

Manuálne kopírovanie textu z PDF je neefektívne a bez chýb. Pre aplikácie v oblasti analýzy údajov, migrácie dokumentov alebo archivácie automatizovaná textová extrakcia zaisťuje konzistenciu, rýchlosť a presnosť.

Prehľad riešenia

Aspose.PDF Text Extractor for .NET poskytuje čistý, programovateľný rozhranie na extrahovanie textu v rôznych formátoch.Vybrať medzi Pure, Raw a Plain režimy prispôsobiť váš prípad použitia - či potrebujete formátovaný výstup, surové údaje, alebo plochý obsah.

Predpoklady

  • Visual Studio 2019 alebo neskôr
  • .NET 6.0 alebo novšie
  • Aspose.PDF pre .NET nainštalovaný prostredníctvom NuGet
PM> Install-Package Aspose.PDF

krok za krokom implementácia

Krok 1: Inštalácia a konfigurácia Aspose.PDF

using Aspose.Pdf.Plugins;
using System.IO;

Krok 2: Odstrániť text pomocou predvoleného (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: Odstráňte text v čistom alebo plochom režime

  • **Čistý režim: ** Zachováva relatívne pozície a pridáva priestory na zosúladenie.
  • Plaňový režim: Stripy formátovanie, výstupy textu s minimálnym priestorom.
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žitie prípadov a aplikácií (s kódovými variáciami)

1. Batch extrahovať text z viacerých 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. Vybrať režim extrakcie na základe použitia prípadu

  • Použite Pure pre tabuľkové rozloženie alebo priestorové formátovanie.
  • Použite Plain pre čistú extrakciu alebo analýzu údajov.
  • Použite Raw pre nezpracovaný text.

3. Post-proces vytiahnutý text

Po extrakcii, aplikovať regex, čistenie textu, alebo odoslať výsledky na iné služby (vyhľadávanie, ML potrubia, atď.).

4. Integrácia extrakcie s dátovými potrubím

Automatická extrakcia ako súčasť širšieho pracovného toku ETL, správy alebo správy dokumentov pomocou štandardných postupov .NET.

Spoločné výzvy a riešenia

Výzva: Nekompatibilný výsledok kvôli zložitému PDF štruktúreRiešenie: Vyskúšajte rôzne režimy extrakcie (Pure, Plain, Raw) a porovnajte výsledky.

Výzva: Rýchlosť extrakcie batchovRiešenie: Použite jedno TextExtractor Príklad a spracovanie viacerých súborov v jednom rande pre najlepšiu výkonnosť.

Výzva: Špeciálne znaky alebo problémy s kódovanímRiešenie: Použite režim plochý pre minimálne formátovanie, potom použite prispôsobené spracovanie pruhov podľa potreby.

Výkon a najlepšie postupy

  • Vyskúšajte všetky tri režimy extrakcie, aby ste určili optimálne výsledky pre typ dokumentu
  • Uložiť pôvodné PDF pred batch operácie
  • Obchodovanie s produktovými názvami a organizáciou v batchových pracovných miestach
  • Integrované riešenie chýb a logovanie pre robustnosť

Kompletný príklad realizácie

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áver

Aspose.PDF Text Extractor for .NET vám poskytuje výkonné, flexibilné nástroje na extrakciu textu v viacerých formátoch – vhodné pre spracovanie údajov, archiváciu alebo analýzu.

 Slovenčina