Hogyan lehet kivonni a szöveget a PDF-kból a .NET-ben

Hogyan lehet kivonni a szöveget a PDF-kból a .NET-ben

Ez a cikk megmutatja, hogyan kell kivonni a szöveget a PDF dokumentumok segítségével az Aspose.PDF Text Extractor for .NET. Megtanulják használni az összes támogatott kivonási módok - Tiszta, nyers, és téglalap - és automatizálja a munkafolyamatok egyéni vagy több PDF.

Valódi problémák

A dokumentumok kézi másolása a PDF-kból hatástalan és hibaellenes. Az adatok elemzésében, a dokumentumi migrációban vagy az archiválásban alkalmazott alkalmazások esetében az automatizált szöveges kivonat biztosítja a következetességet, gyorsaságot és pontosságot.

megoldás áttekintése

Az Aspose.PDF Text Extractor for .NET egy tiszta, programozható felületet biztosít a szöveg különböző formátumokban történő kivonására. Válasszon Pure, Raw és Plain módok között, hogy illeszkedjen a használati esetekhez - legyen szó formázott kimenetelre, nyers adatokra vagy sima tartalomra.

előfeltételek

  • Visual Studio 2019 vagy újabb
  • .NET 6.0 vagy újabb
  • Aspose.PDF for .NET telepítve a NuGet-en keresztül
PM> Install-Package Aspose.PDF

lépésről lépésre megvalósítás

1. lépés: Telepítse és konfigurálja Aspose.PDF

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

2. lépés: A szöveg kivonása az alapértelmezett (Raw) módban

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);
}

3. lépés: A szöveg kivonása tiszta vagy sima módban

  • Tiszta üzemmód: A relatív pozíciókat megőrzi, és helyet ad a kiigazításhoz.
  • A tervezési mód: A formázás folyamata, a szöveg kimenete minimális helyiséggel.
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);
}

Használati esetek és alkalmazások (kódváltozásokkal)

1. Batch Extract szöveg több PDF-ből

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. Válassza ki a kivonási módot a használati eset alapján

  • Használja a Pure táblázatszerű elrendezéseket vagy térbeli formázást.
  • Használja Plain a tiszta adatgyűjtéshez vagy elemzéshez.
  • Használja Raw a feldolgozatlan szöveghez.

3. Post-process extracted szöveg

A kivágás után alkalmazza a regex, a szövegtisztítás, vagy küldje el az eredményeket más szolgáltatások (keresés, ML csövek, stb.).

4. Az integrált kivonás az adatcsövekkel

Automatikus kivonás egy szélesebb ETL, jelentési vagy dokumentumkezelési munkafolyamat részeként a .NET szabványos gyakorlatok segítségével.

Közös kihívások és megoldások

kihívás: Komplex PDF szerkezet miatt következetlenséges kimenetelMegoldás: Próbálja ki a különböző kivonási módokat (tiszta, tiszta, nyers) és hasonlítsa össze az eredményeket.

kihívás: Batch kivonási sebességMegoldás: Használjon egy TextExtractor több fájlt egy sorban, a legjobb teljesítmény érdekében feldolgozzuk.

kihívás: Különleges karakterek vagy kódolási problémákMegoldás: A minimális formázáshoz használja a Tiszta üzemmódot, majd a szükséges módon alkalmazza a személyre szabott sorkezelést.

A teljesítmény és a legjobb gyakorlatok

  • Próbáld ki az összes három kivonási módot a dokumentumtípus optimális eredményeinek meghatározásához
  • Az eredeti PDF-k mentése a batch műveletek előtt
  • Gyártás termékei és szervezete a batch munkákban
  • Integrált hibaelhárítás és logging a rugalmasság érdekében

Teljes végrehajtási példa

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);
        }
    }
}

következtetések

Az Aspose.PDF Text Extractor for .NET erőteljes, rugalmas eszközöket kínál a szöveg több formátumban történő kivonására – alkalmas az adatok feldolgozására, archiválására vagy elemzésére.

 Magyar