Come estrarre i dati e le tabelle strutturate dal PDF in .NET

Come estrarre i dati e le tabelle strutturate dal PDF in .NET

L’estratto di tabelle e dati strutturati dai PDF è un compito comune per gli analisti, gli accountanti e chiunque stia lavorando con rapporti o relazioni finanziarie. Aspose.PDF.Plugin per .NET offre opzioni programmatiche per rilevare, parcheggiare e esportare tabel come testo piatto, CSV o JSON.

Identificare le tabelle in testo PDF

  • Simple PDF: I tavoli con limiti cellulari chiari (tab, spazio o delimitori di linea) sono più facili da estrarre.
  • Inspezione visiva: Extraggere testo crudo o puro e ispezionare i modelli di riga/colonna costanti.
  • Heuristic Parsing: Utilizza la logica (ad esempio, espressioni regolari, delimitori) per identificare linee e colonne probabili dal testo estratto.

Esempio: esportazione di tabelle come 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));
    }
}

Esempio: esportazione di tabelle come 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));

Limitazioni e suggerimenti avanzati

  • Cellule messe/spannate: La maggior parte dell’estrazione programmatica non può rilevare affidabilmente cellule miste o multi-roole; può essere richiesto un esame manuale o logica personalizzata.
  • Tabelle complesse: I tavoli con immagini, grafica o layout irregolari richiedono parsaggio avanzato o uno strumento di estrazione del tavolo visivo.
  • Curità: L’estrazione è la migliore con tabelle semplici e ben strutturate; sempre esaminare la produzione e regolare la logica di parcheggio per i tuoi dati.

Casi d’uso

  • Analisi finanziaria e audit (leder di estrazione, tabelle di spese)
  • Dati di sondaggio e feedback (tabelle di risposta a massa parsi)
  • Migrazione dei dati da PDF in database o Excel

Domande frequenti

**Q: Le cellule mescolate possono essere rilevate o trattate automaticamente?**A: Non affidabile – le cellule mescolate/spannate di solito richiedono la correzione manuale o la revisione visiva dopo l’estrazione.

**Q: L’estrazione dei dati è sempre al 100% accurata?**A: No – i risultati dipendono dalla struttura della tabella, dal formato e Il PDF Visualizza sempre le tabelle estratte e, se necessario, pulisce utilizzando regole o script personalizzati.

**Q: Qual è il modo migliore per l’estrazione da tavolo?**A: Inizia con modalità Pure per tabelle strutturate. modalità cruda può essere utile per la miniera dei dati o per l’euristica personalizzata.

Pro Suggerimento: Per ripetere le estrazioni, eseguire la tua logica di parsing per ogni modello di rapporto di CSV e di JSON per la massima flessibilità.

 Italiano