Како извући структуриране податке и табеле из ПДФ-а у .NET

Како извући структуриране податке и табеле из ПДФ-а у .NET

Истраживање табела и структурираних података из ПДФ-а је уобичајена задатак за аналитичаре, рачуноводце и свакога ко ради са извештајима или финансијским изјавама. Aspose.PDF.Plugin за .NET нуди програмске опције за откривање, парсирање и извоз таблица као што су плоски текст, ЦСВ или ЈСОН.

Идентификовање табела у ПДФ тексту

  • Једноставан ПДФ: Табеле са јасним ћелијским границама (таб, простор или линијски делимитери) најлакше се извлаче.
  • Визуелна инспекција: Истражите сирови или чисти текст и инспектирајте за конзистентне обрасци редова / колона.
  • Херистички Парсинг: Користите логику (на пример, редовне изразе, делимитери) да бисте идентификовали вероватне редове и колоне из извученог текста.

Пример: Извоз табела као ЦСВ

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));
    }
}

Пример: Извоз табела као ЈСОН

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));

Ограничења и напредни савети

  • Merged/Spanned Cells: Većina programmatske ekstrakcije ne može pouzdano detektirati spajene ili multi-row ćelije; može se zahtevati ručni pregled ili prilagođena logika.
  • Комплексне табеле: Табела са сликама, графиком или неправилним распоредом захтевају напредни парсинг или визуелни алат за екстракцију стола.
  • Прецизност: Екстракција је најбоља са једноставним, добро структурираним табелама; увек прегледати излаз и прилагодити логику парсинг за ваше податке.

Коришћење случајева

  • Финансијска анализа и ревизије (екстрактни лидгери, табеле трошкова)
  • Истраживање и подаци о повратним информацијама (парсе масовне табеле одговора)
  • Миграција података из наследног ПДФ-а у базе или Екцел

Često postavljana pitanja

**П: Да ли се спојене ћелије могу открити или обрадити аутоматски?**А: Непоуздано - мешане / исцрпљене ћелије обично захтевају ручну корекцију или визуелни преглед након екстракције.

**П: Да ли је извлачење података увек 100% тачно?**А: Не – резултати зависе од структуре табеле, форматирања и ПДФ Увек прегледајте извучене табеле и, ако је потребно, чистите их користећи прилагођене правила или скрипте.

**Q: Који је најбољи режим за екстракцију стола?**A: Počnite sa načinom Pure za strukturirane tabele. način sirovine može biti koristan za rudarenje podataka ili prilagođenu heuristiku.

Про Савет: Да бисте поновили екстракције, уклоните своју логику парсинг за сваки шаблон извештаја ЦСВ и ЈСОН Za maksimalnu fleksibilnost.

 Српски