Jak wydobyć tekst z plików PDF w .NET
Ten artykuł pokazuje, jak wyciągać tekst z dokumentów PDF za pomocą Aspose.PDF Text Extractor dla .NET. Nauczysz się używać wszystkich obsługiwanych trybów ekstrakcji - Pure, Raw i Plain - i automatyzować przepływy robocze dla pojedynczych lub wielokrotnych PDF.
Problem świata rzeczywistego
Ręczne kopiowanie tekstu z plików PDF jest nieefektywne i bez błędów. Dla aplikacji w analizie danych, migracji dokumentów lub archiwizacji, automatyczna ekstrakcja tekstu zapewnia spójność, szybkość i dokładność.
Przegląd rozwiązania
Aspose.PDF Text Extractor for .NET zapewnia czysty, programowalny interfejs do ekstrakcji tekstu w różnych formach. Wybierz między Pure, Raw i Plain trybów, aby dopasować się do twojego przypadku użytkowania – czy potrzebujesz formatowanego wyjścia, surowych danych, czy płaskich treści.
Warunki
- Visual Studio 2019 lub później
- .NET 6.0 lub nowszy
- Aspose.PDF dla .NET zainstalowany za pośrednictwem NuGet
PM> Install-Package Aspose.PDF
Wdrażanie krok po kroku
Krok 1: Instaluj i skonfiguruj Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Krok 2: Wyciągnij tekst za pomocą trybu standardowego (Raw)
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);
}
Krok 3: Wyciągnij tekst w czystym lub płaskim trybie
- **Pure Mode: ** Utrzymuje relatywne pozycje i dodaje miejsca do dostosowania.
- **W trybie planowania: ** Strumień formatowania, tekst wyjściowy z minimalnymi przestrzeniami.
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);
}
Używanie przypadków i aplikacji (z odmianami kodu)
1. Batch Ekstrakt tekstu z wielu plików 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. Wybierz tryb ekstrakcji w oparciu o przypadek użycia
- Użyj Pure do aranżacji tabeli lub formatowania przestrzennego.
- Użyj Plain do czystej ekstrakcji lub analizy danych.
- Użyj Raw dla nieprzetworzonego tekstu.
3. Post-proces wyciągnięty tekst
Po ekstrakcji, zastosować regex, czyszczenie tekstu, lub wysłać wyniki do innych usług (w poszukiwaniu, rurociągów ML, itp.).
4. Integracja ekstrakcji z rurami danych
Automatyczna ekstrakcja jako część szerszego przepływu pracy ETL, sprawozdawczości lub zarządzania dokumentami przy użyciu standardowych praktyk .NET.
Wspólne wyzwania i rozwiązania
Wyzwanie: Wydajność nierównomierna ze względu na złożoną strukturę PDFRozwiązanie: Spróbuj różnych trybów ekstrakcji (Pure, Plain, Raw) i porównaj wyniki.
Wyzwanie: ** Prędkość ekstrakcji batchRozwiązanie: ** Użyj jednego TextExtractor
Przykład i przetwarzanie wielu plików w jednym rzędzie dla najlepszej wydajności.
Wyzwanie: Specjalne postacie lub problemy z kodowaniemRozwiązanie: Użyj trybu płaskiego do minimalnego formatowania, a następnie zastosować przyzwoite przetwarzanie pasków w razie potrzeby.
Wydajność i najlepsze praktyki
- Wypróbuj wszystkie trzy tryby ekstrakcji, aby określić optymalne wyniki dla typu dokumentu
- Zapisz oryginalne pliki PDF przed operacjami batch
- Zarządzanie nazwami i organizacjami produkcji w pracy batch
- Zintegrowane zarządzanie błędami i logowanie dla wytrzymałości
Pełny przykład wdrażania
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);
}
}
}
konkluzja
Aspose.PDF Text Extractor for .NET oferuje potężne, elastyczne narzędzia do ekstrakcji tekstu w wielu formach – odpowiednie do przetwarzania danych, archiwizacji lub analizy. Wybierz tryb ekstraktowania najlepiej nadaje się do Twoich potrzeb i automatyzuj extrakcję dla wysokiej wydajności w aplikacjach .Net.