Како извући текст из ПДФ-а у .NET

Како извући текст из ПДФ-а у .NET

Овај чланак показује како извући текст из ПДФ докумената користећи Аппосе.ПдФ текстуал Екстрактор за .НЕТ. Научићете да користите све подржане режиме извлачења — Чиста, Рав и Плаин — и аутоматски радни токови за појединачне или више Пдф.

Реал светски проблем

Ручно копирање текста из ПДФ-а је неефикасно и без грешака.За апликације у анализи података, миграцији докумената или архивирању, аутоматска текстуална екстракција обезбеђује конзистентност, брзину и тачност.

Преглед решења

Aspose.PDF Text Extractor for .NET пружа чист, програмирајући интерфејс за екстракцију текста у различитим форматима.Изаберите између чистих, сирових и равних режима како бисте прилагодили вашу употребу - било да вам је потребан форматски излаз, сурови подаци или равни садржај.

Принципи

  • 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: Екстрактирајте текст у подразумеваном (РАВ) режиму

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. Батцх екстракт текста из више ПДФ-а

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 за распореде сличне табели или просторно форматирање.
  • Користите Плаин за чисту екстракцију или анализу података.
  • Користите Raw за непрорађени текст.

3. Пост-процес извучен текст

Након екстракције, примените регекс, текстуално чишћење или пошаљите резултате другим услугама (потрага, МЛ цеви, итд.).

4. Интегрисање екстракције са цевима података

Аутоматска екстракција као део ширег радног тока за ЕТЛ, извештавање или управљање документима користећи стандардне .НЕТ праксе.

Заједнички изазови и решења

Проблем: Неконзистентан излаз због сложене ПДФ структуреРешење: Покушајте различите режиме екстракције (чиста, равна, сива) и упоредите резултате.

Проблем: Брзина екстракције бацх Решење: Употреба једног TextExtractor Пример и обрада више датотека у једном реду за најбоље перформансе.

Проблем: Специјални ликови или проблеме кодирањаРешење: Користите режим равна за минимално форматирање, а затим примените прилагођену обраду редова према потреби.

Резултати и најбоља пракса

  • Тестирајте све три режима екстракције како бисте одредили оптималне резултате за ваш тип документа
  • Сачувајте оригиналне ПДФ-а пре бацх операција
  • Тржи име производа и организацију у баццх радовима
  • Интегрисано управљање грешкама и пријављивање за чврстоћу

Потпуни пример имплементације

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 za .NET vam pruža snažne, fleksibilne alate za ekstrakciju teksta u više formata – prikladno za obradu podataka, arhiviranje ili analizu.

 Српски