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.