Как да извлечете текст от PDF в .NET
Тази статия показва как да се извлича текст от PDF документи с помощта на Aspose.PDF Text Extractor за .NET. Ще се научите да използвате всички поддържани режими на екстракция - Pure, Raw и Plain - и да автоматизирате работните потоци за индивидуални или множество PDF файлове.
Реални световни проблеми
Ръчно копиране на текст от PDF е неефективно и без грешки.За приложения в анализ на данни, миграция на документи или архивиране, автоматизираното текстово извличане гарантира последователност, скорост и точност.
Преглед на решението
Aspose.PDF Text Extractor за .NET осигурява чист, програмируем интерфейс за извличане на текст в различни формати. Изберете между Pure, Raw и Plain режими, за да се съобразите с вашия случай на употреба - дали имате нужда от формат на изхода, сурови данни или плоско съдържание.
Предупреждения
- Visual Studio 2019 или по-късно
- .NET 6.0 или по-късно
- Aspose.PDF за .NET, инсталиран чрез NuGet
PM> Install-Package Aspose.PDF
Стъпка по стъпка изпълнение
Стъпка 1: Инсталиране и конфигуриране Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Стъпка 2: Извличане на текст с дефолт (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);
}
Стъпка 3: Изтегляне на текст в чист или плосък режим
- **Чист режим: ** Съхранява относителни позиции и добавя пространства за хармонизиране.
- Плаен режим: Стрип форматиране, изход текст с минимални пространства.
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);
}
Използване на случаи и приложения (с код вариации)
1. Batch Екстракт на текст от множество 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. Изберете режим на екстракция въз основа на случая на използване
- Използвайте Pure за таблични оформления или пространствено форматиране.
- Използвайте Plain за извличане или анализ на чисти данни.
- Използвайте Raw за непроработен текст.
3. Пост-процес Извлечен текст
След извличане, прилагайте регекс, текстово почистване или изпратете резултатите на други услуги (търсене, МЛ тръби и т.н.).
4. Интегриране на екстракцията с тръби за данни
Автоматично извличане като част от по-широк работен поток на ETL, докладване или управление на документи с помощта на стандартни .NET практики.
Съвместни предизвикателства и решения
Предизвикателство: Несъвместим резултат поради сложната PDF структураРешение: Опитайте различни режими на екстракция (Чиста, Пълна, Raw) и сравнявайте резултатите.
Предизвикателство: Скорост на екстракция на батерията Решение: Използвайте един TextExtractor
Пример и обработка на няколко файла в един ред за най-добро изпълнение.
Предизвикателство: Специални знаци или проблеми с кодиранетоРешение: Използвайте режим Пълно за минимално форматиране, след което приложите персонализирана обработка на редове, както е необходимо.
Резултати и най-добри практики
- Тествайте всичките три режима на екстракция, за да определите оптимални резултати за вашия тип документ
- Съхранение на оригинални PDF файлове преди батерията
- Търговия с произходни имената и организацията в батерията работни места
- Интегриране на обработката на грешки и записване за устойчивост
Допълнителен пример за изпълнение
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);
}
}
}
заключение
Aspose.PDF Text Extractor за .NET ви дава мощни, гъвкави инструменти за извличане на текст в много формати – подходящи за обработка на данни, архивиране или анализ. Изберете режима на екстракция, който най-добре отговаря на вашите нужди и автоматизирате извлечението за висока ефективност в приложенията .Net.