Comment extraire des données structurées et des tables de PDF dans .NET

Comment extraire des données structurées et des tables de PDF dans .NET

L’extraction de tables et de données structurées des PDF est une tâche commune pour les analystes, les comptables et tout le monde qui travaille avec des rapports ou des déclarations financières. Aspose.PDF.Plugin pour .NET offre des options de programmation pour la détection, la partage et l’exportation de tableaux tels que le texte plain, CSV ou JSON.

Identifier les tables dans le texte PDF

  • Simple PDF: Les tables avec des limites cellulaires claires (tab, espace ou délimitants de ligne) sont les plus faciles à extraire.
  • Inspection visuelle: Extrait du texte brut ou pur et inspection pour des modèles de ligne/colonne cohérents.
  • Parsing héroïstique: Utilisez la logique (par exemple, les expressions régulières, des délimitants) pour identifier les lignes et les colonnes susceptibles du texte extrait.

Exemple: Exportation de tables en 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: Exportation de tables en tant que 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));

Les limites et les conseils avancés

  • Cellules mélangées/spannées: La plupart des extraits programmatiques ne peuvent pas détecter de manière fiable les cellules fusionnées ou multi-rous; une révision manuelle ou une logique personnalisée peuvent être requises.
  • Tables complexes: Les tables avec des images, des graphiques ou des layouts irréguliers nécessitent un partage avancé ou un outil d’extraction visuelle de table.
  • Exactitude: L’extraction est la meilleure avec des tables simples et bien structurées; toujours vérifier la sortie et ajuster la logique de partage pour vos données.

Casi d’uso

  • Analyse financière et audits (légers d’extraction, tables de coûts)
  • Données d’enquête et de commentaires (tables de réponse en masse parse)
  • Migration des données de documents PDF à des bases de données ou Excel

Questions fréquentes posées

**Q: Les cellules fusionnées peuvent-elles être détectées ou traitées automatiquement?**A: Non fiable – les cellules mélangées/spannées nécessitent généralement une correction manuelle ou une vérification visuelle après l’extraction.

**Q: Est-ce que l’extraction de données est toujours 100% précise?**A : Non – les résultats dépendent de la structure de table, du formatage et PDF Vérifier toujours les tables extraites et, si nécessaire, nettoyer en utilisant des règles ou des scripts personnalisés.

**Q: Quel est le meilleur mode pour l’extraction de table?**A: Commencez par le mode Pure pour les tables structurées. mode crus peut être utile pour la mining de données ou l’hyuristique personnalisée.

Pro Conseil: Pour répéter les extraits, finisez votre logique de partage pour chaque modèle de rapport CSV et JSON Pour une flexibilité maximale.

 Français