Kako izvesti tekst iz PDF-a u .NET-u
Ovaj članak pokazuje kako izvući tekst iz PDF dokumenata pomoću Aspose.PDF Text Extractor za .NET. naučit ćete kako koristiti sve podržane načine ekstrakcije – Pure, Raw i Plain – i automatizirati tokove rada za pojedinačne ili više PDF-a.
Real-svjetski problem
Za aplikacije u analizi podataka, migraciji dokumenata ili arhiviranju, automatizirana ekstrakcija teksta osigurava dosljednost, brzinu i točnost.
Pregled rješenja
Aspose.PDF Text Extractor za .NET pruža čistu, programiranu interfejs za ekstrakciju teksta u različitim formatima. Izaberite između Pure, Raw i Plain načina kako bi se prilagodili vašem slučaju korištenja – hoće li vam biti potrebna formatirana izlaznica, sirovi podaci ili ravni sadržaj.
Preduzeća
- Visual Studio 2019 ili kasnije
- .NET 6.0 ili noviji
- Aspose.PDF za .NET instaliran preko NuGeta
PM> Install-Package Aspose.PDF
Korak po korak provedba
Korak 1: Instaliranje i konfiguracija Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Korak 2: Izvadite tekst pomoću privremenog (Raw) načina
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);
}
Korak 3: Izvadite tekst u čistom ili ravnomjernom načinu
- **Čisti način: ** Održavaju relativne pozicije i dodaju prostore za usklađivanje.
- Plan način: Stripe formatacije, izlazi tekst s minimalnim prostorima.
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);
}
Korištenje slučajeva i aplikacija (s varijacijama koda)
1. Batch izvlači tekst iz više PDF-a
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. Izaberite način ekstrakcije na temelju slučaja korištenja
- Koristite Pure za raspored poput tablice ili prostorsku formataciju.
- Koristite Plain za čistu ekstrakciju ili analizu podataka.
- Koristite Raw za neprocesirani tekst.
3. Post-proces izveden tekst
Nakon ekstrakcije, primijenite regex, čišćenje teksta ili pošaljite rezultate drugim uslugama (traženje, ML cijevi, itd.).
4. Integracija ekstrakcije s podatkovnim cijevi
Automatizirana ekstrakcija kao dio šire ETL, izvješćivanje ili protok rada za upravljanje dokumentima pomoću standardnih .NET praksi.
Zajednički izazovi i rješenja
Izazov: Neusklađen rezultat zbog složene strukture PDF-aRješenje: Pokušajte različite načine ekstrakcije (Pure, Plain, Raw) i usporedite rezultate.
Izazov: Brzina ekstrakcije bathaRješenje: Koristite jedan TextExtractor
primjer i obrađivanje više datoteka u jednom krugu za najbolju učinkovitost.
Izazov: Posebni likovi ili problem kodiranjaRješenje: Koristite način za minimalno formiranje, a zatim primijenite prilagođenu obradu traka prema potrebi.
Učinkovitost i najbolje prakse
- Provjerite sve tri načina ekstrakcije kako biste utvrdili optimalne rezultate za vaš tip dokumenta
- Sačuvajte originalne PDF-ove prije batch operacija
- Trgovanje proizvodnim imenima i organizacijom u radnim mjestima
- Integrirano rješavanje pogrešaka i logiranje za čvrstoću
Potpuni primjer provedbe
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);
}
}
}
zaključak
Aspose.PDF Text Extractor za .NET pruža vam moćna, fleksibilna alata za ekstrakciju teksta u više formata – prikladna za obradu podataka, arhiviranje ili analizu.