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.