Passer au contenu du pied de page
UTILISATION D'IRONOCR

PDF Data Extraction .NET : Guide complet du développeur

Extrayez du texte, des tableaux, des formulaires et des images de fichiers PDF en .NET à l'aide d'IronPDF en quelques lignes de code seulement : installez-le via NuGet, chargez votre PDF et appelez ExtractAllText () pour commencer en moins de 5 minutes.

Les documents PDF sont omniprésents dans le monde des affaires : factures, rapports, contrats et manuels. Mais extraire des informations vitales de ces données par programmation peut s'avérer complexe. Les PDF se concentrent sur l'apparence, pas sur l'accessibilité des données. Pour les développeurs travaillant avec la reconnaissance optique de caractères (OCR) en C# , cela présente des défis uniques lorsqu'il s'agit de documents numérisés.

Pour les développeurs .NET, IronPDF est une puissante bibliothèque PDF .NET qui facilite l'extraction de données à partir de fichiers PDF. Vous pouvez extraire directement du texte, des tableaux, des champs de formulaire, des images et des pièces jointes à partir de documents PDF. Que vous automatisiez le traitement des factures, constituiez une base de connaissances ou génériez des rapports, cette bibliothèque vous fera gagner un temps précieux. Lors de la manipulation de PDF numérisés, vous pourriez également avoir besoin de fonctionnalités d'extraction de texte par reconnaissance optique de caractères (OCR) pour traiter le contenu image.

Ce guide vous présente des exemples pratiques d'extraction de contenu textuel, de données tabulaires et de valeurs de champs de formulaire, avec des explications après chaque extrait de code afin que vous puissiez les adapter à vos propres projets. Si vous travaillez également avec d'autres types de documents, il pourrait être utile d'explorer la lecture de documents numérisés ou la conversion de fichiers TIFF en PDF consultable .

Comment débuter avec IronPDF ?

L'installation de IronPDF prend quelques secondes via le gestionnaire de packages NuGet. Ouvrez votre Console de gestionnaire de packages et lancez :

Install-Package IronPDF
Install-Package IronPDF
$vbLabelText   $csharpLabel

Pour des scénarios d'installation plus avancés, consultez la documentation des packages NuGet . Une fois installé, vous pouvez immédiatement commencer à traiter les documents PDF d'entrée. Voici un exemple minimal en .NET qui démontre la simplicité de l'API d'IronPDF :

using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
using IronPdf;
// Load any PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text with one line
string allText = pdf.ExtractAllText();
Console.WriteLine(allText);
$vbLabelText   $csharpLabel

Ce code charge un PDF et extrait chaque morceau de texte. IronPDF gère automatiquement les structures PDF complexes, les données de formulaire, et les encodages qui causent généralement des problèmes avec d'autres bibliothèques. Les données extraites des documents PDF peuvent être enregistrées dans un fichier texte ou traitées ultérieurement pour l'analyse. Pour des besoins d'extraction plus complexes, vous pourriez envisager des techniques de traitement de documents spécialisées .

Conseil pratique : vous pouvez enregistrer le texte extrait dans un fichier .txt pour un traitement ultérieur, ou l'analyser pour alimenter des bases de données, des feuilles Excel ou des bases de connaissances. Cette méthode est particulièrement efficace pour les rapports, les contrats ou tout fichier PDF pour lequel vous avez besoin rapidement du texte brut. Pour les scénarios impliquant des tableaux, il est conseillé de se renseigner sur la lecture des tableaux dans les documents pour une extraction de données plus structurée.

À quoi ressemble le texte extrait ?

! Affichage en écran partagé montrant à gauche un document PDF expliquant " Qu'est-ce qu'un PDF ? " et à droite une fenêtre de console Visual Studio affichant le texte extrait de ce PDF

Comment extraire des données de pages spécifiques ?

Les applications réelles nécessitent souvent une extraction de données précise. IronPDF offre plusieurs méthodes pour cibler des informations précieuses à partir de pages spécifiques d'un PDF. Cette approche est similaire à l'extraction de régions spécifiques par OCR , mais pour les PDF. Pour cet exemple, nous utiliserons le PDF suivant :

Visionneuse PDF affichant le rapport annuel 2024 avec un tableau récapitulatif des factures contenant les numéros, dates et montants des factures, ainsi que les sections relatives aux performances des départements et à la situation financière.

Le code suivant extrait des données de pages spécifiques de ce PDF et renvoie les résultats à notre console. Lors du traitement de documents multipages, les techniques de traitement TIFF multipages peuvent également s'avérer utiles pour relever des défis similaires.

using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
    string pageText = pdf.ExtractTextFromPage(pageIndex);
    // Split on 2 or more spaces (tables often flatten into space-separated values)
    var tokens = Regex.Split(pageText, @"\s{2,}");
    foreach (string token in tokens)
    {
        // Match totals, invoice headers, and invoice rows
        if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
        {
            Console.WriteLine($"Important: {token.Trim()}");
        }
    }
}
using IronPdf;
using System;
using System.Text.RegularExpressions;
// Load any PDF document
var pdf = PdfDocument.FromFile("AnnualReport2024.pdf");
// Extract from selected pages
int[] pagesToExtract = { 0, 2, 4 }; // Pages 1, 3, and 5
foreach (var pageIndex in pagesToExtract)
{
    string pageText = pdf.ExtractTextFromPage(pageIndex);
    // Split on 2 or more spaces (tables often flatten into space-separated values)
    var tokens = Regex.Split(pageText, @"\s{2,}");
    foreach (string token in tokens)
    {
        // Match totals, invoice headers, and invoice rows
        if (token.Contains("Invoice") || token.Contains("Total") || token.StartsWith("INV-"))
        {
            Console.WriteLine($"Important: {token.Trim()}");
        }
    }
}
$vbLabelText   $csharpLabel

Cet exemple montre comment extraire du texte des documents PDF, rechercher des informations clés, et les préparer pour le stockage dans des fichiers de données ou une base de connaissances. La méthode ExtractTextFromPage() conserve l'ordre de lecture du document, ce qui la rend idéale pour les tâches d'analyse de documents et d'indexation de contenu. Pour une précision accrue, vous pouvez envisager d'utiliser des filtres d'optimisation d'image lorsque vous travaillez avec des PDF de qualité inférieure.

! Console de débogage de Microsoft Visual Studio affichant les données de facture extraites avec le résumé de la facture, les dates, les montants et le total final de 2 230,00 $

Lors du traitement de documents financiers, le pack de vocabulaire financier peut vous être utile pour une meilleure précision dans l'utilisation de la terminologie spécialisée. De plus, le suivi des progrès peut aider à surveiller les performances d'extraction pour les lots de documents volumineux.

Comment extraire des tableaux d'un fichier PDF ?

Les tableaux dans les fichiers PDF n'ont pas de structure native ; il s'agit simplement de contenu textuel agencé pour ressembler à des tableaux. IronPDF extrait des données tabulaires tout en préservant la mise en page, afin que vous puissiez les traiter en fichiers Excel ou textes. Ceci est similaire à l'extraction de dessins par reconnaissance optique de caractères (OCR) , mais spécifiquement optimisé pour le contenu tabulaire. Pour cet exemple, nous utiliserons ce PDF :

Exemple de facture présentant des données structurées avec les coordonnées du client, le détail des produits et un montant total de 180,00 $.

Notre objectif est d'extraire les données au sein même du tableau, démontrant ainsi la capacité d'IronPDF à analyser les données tabulaires. Pour des scénarios d'extraction de tableaux plus avancés, explorez la lecture des tableaux dans les documents , qui utilise l'apprentissage automatique pour les structures de tableaux complexes.

using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
    if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
        continue;
    string[] rawCells = Regex.Split(line.Trim(), @"\s+");
    string[] cells;
    // If the line starts with "Product", combine first two tokens as product name
    if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
    {
        cells = new string[rawCells.Length - 1];
        cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
        Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
    }
    else
    {
        cells = rawCells;
    }
    // Keep header or table rows
    bool isTableOrHeader = cells.Length >= 2
                           && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
                               || Regex.IsMatch(cells[0], @"^INV-\d+"));
    if (isTableOrHeader)
    {
        Console.WriteLine($"Row: {string.Join("|", cells)}");
        string csvRow = string.Join(",", cells).Trim();
        csvBuilder.AppendLine(csvRow);
    }
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
using IronPdf;
using System;
using System.Text;
using System.Text.RegularExpressions;
var pdf = PdfDocument.FromFile("example.pdf");
string rawText = pdf.ExtractAllText();
// Split into lines for processing
string[] lines = rawText.Split('\n');
var csvBuilder = new StringBuilder();
foreach (string line in lines)
{
    if (string.IsNullOrWhiteSpace(line) || line.Contains("Page"))
        continue;
    string[] rawCells = Regex.Split(line.Trim(), @"\s+");
    string[] cells;
    // If the line starts with "Product", combine first two tokens as product name
    if (rawCells[0].StartsWith("Product") && rawCells.Length >= 5)
    {
        cells = new string[rawCells.Length - 1];
        cells[0] = rawCells[0] + " " + rawCells[1]; // Combine Product + letter
        Array.Copy(rawCells, 2, cells, 1, rawCells.Length - 2);
    }
    else
    {
        cells = rawCells;
    }
    // Keep header or table rows
    bool isTableOrHeader = cells.Length >= 2
                           && (cells[0].StartsWith("Item") || cells[0].StartsWith("Product")
                               || Regex.IsMatch(cells[0], @"^INV-\d+"));
    if (isTableOrHeader)
    {
        Console.WriteLine($"Row: {string.Join("|", cells)}");
        string csvRow = string.Join(",", cells).Trim();
        csvBuilder.AppendLine(csvRow);
    }
}
// Save as CSV for Excel import
File.WriteAllText("extracted_table.csv", csvBuilder.ToString());
Console.WriteLine("Table data exported to CSV");
$vbLabelText   $csharpLabel

Les tableaux dans les PDF ne sont généralement que du texte positionné pour ressembler à une grille. Cette vérification aide à déterminer si une ligne appartient à une rangée ou un en-tête de tableau. En filtrant les en-têtes, les pieds de page et les textes non pertinents, vous pouvez extraire des données tabulaires propres d'un PDF, prêtes pour le format CSV ou Excel. Pour le traitement des reçus et des factures aux mises en page complexes, consultez l' extension AdvancedScan .

Ce flux de travail fonctionne pour les formulaires PDF, les documents financiers, et les rapports. Vous pouvez ensuite convertir les données des PDF en fichiers xlsx ou les fusionner dans un fichier zip contenant toutes les données utiles. Pour des tableaux complexes avec des cellules fusionnées, vous devrez peut-être ajuster la logique de parsing en fonction des positions des colonnes. La documentation relative aux données de sortie fournit des instructions détaillées sur l'utilisation des résultats structurés.

Feuille de calcul Excel présentant l'inventaire des produits avec des colonnes pour l'article, la quantité, le prix et le total calculé.

Pour une meilleure précision d'extraction des tableaux, envisagez d'utiliser des techniques de vision par ordinateur pour détecter automatiquement les régions du tableau avant le traitement. Cette approche peut améliorer considérablement les résultats sur des configurations complexes.

Comment extraire les données des champs de formulaire ?

IronPDF gère également l'extraction et la modification des données des champs de formulaire, de manière similaire aux capacités de lecture des passeports pour les documents structurés :

using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
    Console.WriteLine($"{field.Name}: {field.Value}");
    // Update form values if needed
    if (field.Name == "customer_name")
    {
        field.Value = "Updated Value";
    }
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
using IronPdf;
using System.Drawing;
using System.Linq;
var pdf = PdfDocument.FromFile("form_document.pdf");
// Extract form field data
var form = pdf.Form;
foreach (var field in form) // Removed '.Fields' as 'FormFieldCollection' is enumerable
{
    Console.WriteLine($"{field.Name}: {field.Value}");
    // Update form values if needed
    if (field.Name == "customer_name")
    {
        field.Value = "Updated Value";
    }
}
// Save modified form
pdf.SaveAs("updated_form.pdf");
$vbLabelText   $csharpLabel

Ce code extrait les valeurs des champs de formulaire des fichiers PDF et vous permet de les mettre à jour par programmation, ce qui facilite le traitement des formulaires PDF et l'extraction de données spécifiques pour l'analyse ou la génération de rapports. Cela est utile pour automatiser des flux de travail tels que l'intégration des clients, le traitement des sondages, ou la validation des données. Pour le traitement des documents d'identité, explorez les meilleures pratiques en matière de reconnaissance optique de caractères (OCR) pour les documents d'identité .

Comparaison côte à côte de deux formulaires PDF illustrant les résultats de l'extraction de données : le formulaire original à gauche, contenant les données de " John Doe ", et le formulaire mis à jour à droite, avec la mention " Valeur mise à jour ", confirmant la réussite de l'extraction et de la modification des données.

Lors de la création de formulaires contenant des cases à cocher et des boutons radio, il peut être nécessaire d'implémenter une logique personnalisée similaire à la lecture de codes-barres et de QR codes pour certains types de champs. La documentation de la classe OcrResult fournit des informations détaillées sur la gestion des différents types de résultats.

Que dois-je faire ensuite ?

IronPDF rend l'extraction de données PDF en .NET pratique et efficace. Vous pouvez extraire des images, du texte, des tableaux, des champs de formulaire, et même extraire des pièces jointes d'une variété de documents PDF, y compris des PDF scannés qui nécessitent normalement un traitement OCR supplémentaire. Pour les documents numérisés, la combinaison des fonctionnalités d'IronPDF et d'IronOCR offre des capacités de traitement de documents complètes.

Que vous construisiez une base de connaissances, automatisiez les flux de travail de reporting ou extrayiez des données de fichiers PDF financiers, cette bibliothèque vous fournit les outils nécessaires pour y parvenir sans copie manuelle ni analyse sujette aux erreurs. C'est simple, rapide et cela s'intègre directement aux projets Visual Studio. Pour le déploiement, IronPDF prend en charge diverses plateformes, notamment Windows , Linux , Docker et les plateformes cloud comme AWS et Azure .

Essayez-le ! Vous gagnerez probablement du temps et éviterez les problèmes habituels liés au traitement des fichiers PDF. Pour les startups et les petites équipes, les options de licence incluent des plans flexibles qui évoluent avec vos besoins. Vous pouvez également explorer la mise en œuvre des clés de licence pour les déploiements en production.

Prêt à implémenter l'extraction de données PDF dans vos applications? IronPDF semble-t-il être la bibliothèque .NET qu'il vous faut? Démarrez votre essai gratuit pour accéder à toutes les fonctionnalités, ou explorez nos options de licence pour une utilisation commerciale. Visitez notre documentation pour des guides complets et des références d'API. Pour une mise en œuvre rapide, consultez nos démos et exemples de code pour démarrer en quelques minutes.

Questions Fréquemment Posées

Quelle est la principale difficulté liée à l'extraction de données à partir de documents PDF ?

Les documents PDF sont principalement conçus pour afficher le contenu dans une mise en page spécifique, ce qui rend difficile l'extraction programmatique de données en raison de l'accent mis sur l'apparence plutôt que sur l'accessibilité des données.

Comment IronOCR peut-il aider à l'extraction de données PDF en .NET ?

IronOcr fournit des outils pour extraire du texte et des données des PDF, y compris des documents numérisés, en utilisant la reconnaissance optique de caractères (OCR) pour convertir les images de texte en données lisibles par une machine.

IronOCR peut-il traiter des documents PDF numérisés ?

Oui, IronOcr est capable de traiter des PDF numérisés en utilisant une technologie OCR avancée pour reconnaître et extraire le texte des images contenues dans le document.

Quel langage de programmation est utilisé avec IronOCR pour l'extraction de données PDF ?

IronOCR est conçu pour être utilisé avec C#, ce qui en fait un excellent choix pour les développeurs travaillant dans le cadre .NET pour extraire des données des PDF.

Existe-t-il des exemples de code disponibles pour l'extraction de données PDF à l'aide d'IronOcr ?

Oui, le guide comprend des exemples de code C# complets pour démontrer comment extraire efficacement des données de fichiers PDF à l'aide d'IronOcr.

IronOCR peut-il analyser des tableaux à partir de documents PDF ?

IronOCR comprend une fonctionnalité d'analyse de tableaux à partir de documents PDF, permettant aux développeurs d'extraire efficacement des données structurées.

Quels types de contenu PDF IronOCR peut-il extraire ?

IronOcr peut extraire divers types de contenu des PDF, notamment du texte, des tableaux et des données provenant d'images numérisées, ce qui en fait un outil polyvalent pour l'extraction de données.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite