Как да извлечете текст от PDF в .NET

Как да извлечете текст от 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.

 Български