Kaip ištraukti tekstą iš PDF .NET
Šiame straipsnyje parodyta, kaip iš PDF dokumentų ištraukti tekstą naudodami „Aspose.PDF Text Extractor“ .NET. Jūs išmoksite naudoti visus palaikytus ekstrakcijos režimus – Pure, Raw ir Plain – ir automatizuoti darbo srautus atskiriems ar keliems PDF failams.
Realaus pasaulio problemos
Rankiniu būdu kopijuoti tekstą iš PDF yra neveiksmingas ir klaidų priežastis. Duomenų analizės, dokumentų migracijos ar archyvavimo programoms automatizuota teksto ekstrakcija užtikrina nuoseklumą, greitį ir tikslumą.
Sprendimo apžvalga
Aspose.PDF Text Extractor for .NET suteikia švarų, programuojamą sąsają, skirtą teksto ekstrakcijai įvairiais formatais. Pasirinkite tarp Pure, Raw ir Plain režimų, kad atitiktumėte jūsų naudojimo atvejį – ar jums reikia formatuotų išteklių, žaliavų duomenų ar plokščių turinio.
Prerequisites
- „Visual Studio 2019“ arba vėliau
- .NET 6.0 arba naujesnė
- Aspose.PDF už .NET įdiegtas per NuGet
PM> Install-Package Aspose.PDF
Žingsnis po žingsnio įgyvendinimas
1 žingsnis: Įdiegti ir konfigūruoti Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
2 žingsnis: Išimkite tekstą naudojant numatytą (Raw) režimą
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 žingsnis: Išimkite tekstą gryname arba plokščiame režime
- Švarus režimas: Išsaugo santykines pozicijas ir prideda erdvę suderinimui.
- Plano režimas: Strips formatuoti, tekstas išeina su minimaliomis erdvėmis.
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);
}
Naudokite atvejus ir paraiškas (su kodo variacijomis)
1. Batch teksto ekstraktas iš daugelio 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. ** Pasirinkite ekstrakcijos režimą remiantis naudojimo atvejais**
- Naudokite Pure lentelės ar erdvės formatavimui.
- Naudokite Plain , kad būtų galima išgauti ar analizuoti grynus duomenis.
- Naudokite Raw už neapdorotą tekstą.
3. Post-procesas Išimtas tekstas
Po ekstrakcijos, taikyti regex, teksto valymo arba siųsti rezultatus kitoms paslaugoms (klausos, ML vamzdžiai ir tt).
4. Integruoti ekstrakciją su duomenų vamzdžiais
Automatinis ekstrakcija kaip platesnės ETL, ataskaitų ar dokumentų valdymo darbo srauto dalis naudojant standartines .NET praktikas.
Bendrieji iššūkiai ir sprendimai
** Iššūkis:** Nesuderinamas išleidimas dėl sudėtingos PDF struktūrosIšsprendimas: Išbandykite skirtingus ekstrakcijos režimus (Pure, Plain, Raw) ir palyginkite rezultatus.
** Iššūkis:** Batch ekstrakcijos greitisIšsprendimas: Naudokite vieną TextExtractor
Pavyzdžiui, ir perdirbti kelis failus vienoje ratoje geriausią rezultatą.
** Iššūkis:** Specialių simbolių ar kodavimo problemųIšsprendimas: Naudokite plokščią režimą minimaliam formatuojimui, tada pagal poreikį taikykite pritaikytą grandinės apdorojimą.
Veiksmai ir geriausios praktikos
- Išbandykite visus tris ekstrakcijos režimus, kad nustatytumėte optimalius rezultatus jūsų dokumento tipui
- Išsaugokite originalius PDF failus prieš batch operacijas
- Prekyba produkcijos pavadinimus ir organizaciją batch darbo vietose
- Integruoti klaidų tvarkymą ir prisijungimą prie tvirtumo
Išsamus įgyvendinimo pavyzdys
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 Text Extractor for .NET suteikia jums galingas, lanksčias įrankius teksto ekstrakcijai keliuose formatuose – tinka duomenų apdorojimui, archyvavimui ar analizei.