Як витягти текст з PDF-файлів в .NET

Як витягти текст з PDF-файлів в .NET

Ця стаття показує, як витягти текст з PDF-документів за допомогою Aspose.PDF Text Extractor для .NET. Ви навчитеся використовувати всі підтримувані режими екстракції — Pure, Raw і Plain — і автоматизувати робочі потоки для окремих або декількох PDF.

Реальні проблеми світу

Ручне копіювання тексту з ПДФ є неефективним і без помилок. Для додатків в аналізі даних, міграції документів, або архівування, автоматизована текстова екстракція забезпечує послідовність, швидкість і точність.

Огляд рішення

Aspose.PDF Text Extractor для .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: Витяг тексту за допомогою стандартного режиму (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. Пост-процес Витягнутий текст

Після екстракції застосовуйте регекс, текстове очищення або відправляйте результати іншим послугам (пошук, трубопроводи ML і т.д.).

4. Інтеграція екстракції з трубопроводами даних

Автоматичне видобуток в рамках більш широкого робочого потоку ETL, звітності або управління документами за допомогою стандартних практик .NET.

Спільні виклики та рішення

Виклик: Несумісна продукція через складну структуру PDFРішення: Спробуйте різні режими видобутку (чистий, рівний, брудний) і порівнюйте результати.

Проблема: ** Швидкість видобутку батареїРезолюція: ** Використовуйте один 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.

 Українська