Як витягти структуровані дані та таблиці з PDF в .NET

Як витягти структуровані дані та таблиці з PDF в .NET

Витяг таблиць і структурованих даних з PDF-файлів є загальним завданням для аналітиків, бухгалтерів, і будь-кого, хто працює з доповідями або фінансовими звітами. Aspose.PDF.Plugin для .NET пропонує програмні варіанти для виявлення, парашування та експорту таблиці, такі як прямий текст, CSV або JSON.

Ідентифікація таблиць у PDF-тексті

  • Простий PDF: Таблиці з яскравими клітинними кордонами (таб, простір або лінійні розмежування) найпростіше витягуються.
  • Візуальна інспекція: Витягніть сирий або чистий текст і перевіряйте для постійних шаблонів ряду/колонки.
  • Героїстична парасіння: Використовуйте логіку (наприклад, регулярні вирази, деліметри) для визначення ймовірних рядків і колон з витягнутого тексту.

Приклад: Експорт таблиць як CSV

using Aspose.Pdf.Plugins;
using System.IO;

string input = @"C:\Docs\financial-report.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
options.AddInput(new FileDataSource(input));
string extracted = extractor.Process(options).ResultCollection[0].ToString();

// Simple parsing: Assume rows separated by '\n', columns by tabs or spaces
var rows = extracted.Split('\n');
using (var writer = new StreamWriter(@"C:\Docs\extracted-table.csv"))
{
    foreach (var row in rows)
    {
        var columns = row.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries);
        writer.WriteLine(string.Join(",", columns));
    }
}

Приклад: Експорт таблиць як JSON

using System.Text.Json;
var table = rows
    .Where(r => r.Trim().Length > 0)
    .Select(r => r.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries))
    .ToList();

File.WriteAllText(@"C:\Docs\extracted-table.json", JsonSerializer.Serialize(table));

Обмеження та передові поради

  • З’єднані / розтягнуті клітини: Більшість програмних екстракцій не можуть надійно виявити з’єднуючі або багатоколісні клітин; може знадобитися ручний огляд або пристосована логіка.
  • Комплексні таблиці: Таблиці з зображеннями, графіками або нерегулярними розташуваннями вимагають передового парашуту або інструменту візуального видобутку столу.
  • Точність: Екстракція найкраще з простими, добре структурованими таблицями; завжди переглядати вихід і налаштувати логіку парашуту для ваших даних.

Використання випадків

  • Фінансовий аналіз та аудити (видобуток лідерів, таблиці витрат)
  • дані про опитування та відгуки (таблиці масових відповідей)
  • Міграція даних з PDF до баз даних або Excel

Часто задавані запитання

**Q: Чи можна автоматично виявити або обробляти поєднані клітини?**Відповідь: Не надійно – змішані/розтягнуті клітини зазвичай вимагають ручної корекції або візуального огляду після екстракції.

**Q: Чи завжди витяг даних на 100% точний?**А: Ні — результати залежать від структури столу, форматування, і ПДФ Завжди переглянути витягнуті таблиці і, якщо це необхідно, очистити за допомогою пристосованих правил або скриптів.

**Q: Який найкращий режим для видобутку столу?**Відповідь: Почніть з чистого режиму для структурованих таблиць. сировий режим може бути корисним для видобутку даних або пристосованої гідрології.

Про поради: Для повторення екстракцій, вдосконалюйте логіку парашуту для кожного шаблону звіту CSV і JSON За максимальну гнучкість.

 Українська