Kā izņemt tekstu no PDF failām .NET

Kā izņemt tekstu no PDF failām .NET

Šajā rakstā parādās, kā izņemt tekstu no PDF dokumentiem, izmantojot Aspose.PDF teksta ekstraktoru .NET. Jūs iemācīsiet izmantot visus atbalstītos izrakšanas režīmus - Pure, Raw un Plain - un automatizēt darba plūsmas individuāliem vai vairākiem PDF.

Reālā pasaules problēma

Manuāli kopējot tekstu no PDF ir neefektīva un kļūdaino. lietojumprogrammām datu analīzes, dokumentu migrācijas vai arhivēšanas, automatizēta teksta ekstrakcija nodrošina konsekvenci, ātrumu un precizitāti.

Risinājumu pārskats

Aspose.PDF Teksta ekstraktors .NET nodrošina tīru, programmējamu saskarni, lai iegūtu tekstu dažādos formātos. Izvēlieties starp Pure, Raw un Plain režīmiem, kas atbilst jūsu lietojuma gadījumam - vai jums ir nepieciešams formatēts iznākums, izejvielas dati vai plašs saturs.

Prerequisites

  • Visual Studio 2019 vai vēlāk
  • .NET 6.0 vai jaunāks
  • Aspose.PDF for .NET instalēts caur NuGet
PM> Install-Package Aspose.PDF

Step-by-step īstenošana

1. solis: Instalēt un konfigurēt Aspose.PDF

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

2. solis: Izrakstīt tekstu, izmantojot default (Raw) režīmu

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. solis: Izrakstīt tekstu tīrā vai taisnā režīmā

  • Pure Mode: Saglabā relatīvo pozīciju un pievieno telpas saskaņošanai.
  • Plaina režīms: Strips formātā, teksts iznāk ar minimālu telpu.
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);
}

Lietošanas gadījumi un pieteikumi (ar kodu izmaiņām)

1. Batch ekstrakts teksts no vairākiem 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. Izvēlieties ekstrakcijas režīmu, pamatojoties uz lietošanas gadījumu

  • Izmantojiet Pure tabulas līdzīgām izkārtojumiem vai telpu formatēšanu.
  • Izmantojiet Plain tīru datu iegūšanai vai analīzei.
  • Izmantojiet Raw nepārstrādātiem tekstiem.

3. Post-process Izgatavots teksts

Pēc ekstrakcijas, piemēro regex, teksta tīrīšanu, vai nosūtīt rezultātus citiem pakalpojumiem (pētījums, ML caurules, utt.).

4. Integrēt ekstrakciju ar datu cauruļvadiem

Automātiskā ekstrakcija kā daļa no plašākas ETL, ziņošanas vai dokumentu pārvaldības darba plūsmas, izmantojot standarta .NET praksi.

Kopīgi izaicinājumi un risinājumi

Problēma: Nepastāvīgs iznākums, pateicoties sarežģītai PDF struktūraiRīze: Izmēģiniet dažādus ekstrakcijas režīmus (Pure, Plain, Raw) un salīdzinieties rezultātus.

Uzspriedums: Batch ekstrakcijas ātrumsRīkojums: Izmantojiet vienu TextExtractor uzstādīt un apstrādāt vairākus failus vienā posmā, lai sasniegtu labāko sniegumu.

Problēma: Īpaši rakstzīmes vai kodēšanas problēmasRīkojums: Izmantojiet plānu režīmu minimālajam formatēšanai, pēc tam pēc nepieciešamības piemērojiet pielāgotu ķēdes apstrādi.

Darbības un labākās prakses

  • Pārbaudiet visus trīs ekstrakcijas režīmus, lai noteiktu optimālus rezultātus jūsu dokumentu tipam
  • Saglabājiet oriģinālus PDF dokumentus pirms batch operācijām
  • Pārvaldīt produkcijas filēnamus un organizāciju batch darbos
  • Integrēt kļūdu apstrādi un reģistrāciju izturībai

Pilnīgs īstenošanas piemērs

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

Conclusion

Aspose.PDF Teksta ekstraktors .NET dod jums spēcīgas, elastīgas rīkus teksta izņemšanai vairākos formātos – piemērots datu apstrādei, arhivēšanai vai analīzei.

 Latviski