Com extreure dades estructurades i taules de PDF en .NET

Com extreure dades estructurades i taules de PDF en .NET

L’extracció de taules i dades estructurades de PDFs és una tasca comuna per a analistes, comptadors i qualsevol persona que treballa amb informes o declaracions financeres. Aspose.PDF.Plugin per .NET ofereix opcions programàtiques per detectar, paralitzar i exportar tauletes com text pla, CSV, o JSON.

Identificació de taules en PDF Text

  • Simple PDF: Les taules amb límits de cèl·lules clares (tab, espai o delimitors de línia) són més fàcils d’extreure.
  • Inspecció visual: Extreu el text brut o pur i inspecteu els patrons de ronda/columna consistents.
  • Parsament històric: Utilitza lògica (per exemple, expressions regulars, delimitors) per identificar rutes i columnes possibles del text extraït.

Exemple: Exportació de taules com 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));
    }
}

Exemple: Exportació de taules com 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));

Limitacions i consells avançats

  • Cèl·lules fusionades/spannades: La majoria d’extraccions programàtiques no poden detectar de manera fiable cèl · lules fusades o multi-rous; es pot requerir revisió manual o lògica personalitzada.
  • Tables complexes: Les taules amb imatges, gràfics o dissenys irregulars requereixen parsatge avançat o una eina d’extracció de taula visual.
  • Accuralitat: L’extracció és la millor amb taules senzilles i ben estructurades; sempre revisar la producció i ajustar la lògica de parcel·lació per a les seves dades.

Utilitza els casos

  • Anàlisi financera i auditors (extractors, taules de despeses)
  • Dades d’enquesta i de feedback (taules de resposta en massa de pars)
  • Migració de dades de PDFs d’herència a bases de datos o Excel

Preguntes freqüents

**Q: Les cèl·lules fusionades es poden detectar o tractar automàticament?**A: No és fiable - les cèl·lules barrejades / espatllades normalment requereixen correcció manual o revisió visual després de l’extracció.

**Q: És sempre l’extracció de dades 100% exacta?**A: No - els resultats depenen de l’estructura de la taula, el format, i PDF Sempre revisar les taules extraïdes i, si cal, netejar-se utilitzant regles o escripts personalitzats.

**Q: Quin és el millor mode per a l’extracció de taula?**A: Comença amb el mode Pure per a taules estructurades. El mode brut pot ser útil en la mineria de dades o l’hurística personalitzada.

Pro Suggeriment: Per repetir les extraccions, finalitza la seva lògica de paratge per a cada plantilla de reportatge El CSV i JSON Per a la màxima flexibilitat.

 Català