Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment extraire des données d'un PDF en .NET

Les documents PDF sont partout dans les entreprises; des exemples modernes incluent les factures, les rapports, les contrats et les manuels. Mais extraire les informations vitales de manière programmatique peut être délicat. Les PDF se concentrent sur l'apparence, pas sur l'accessibilité des données.

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 du texte, des tableaux, des champs de formulaire, des images, et des pièces jointes directement des documents PDF d'entrée. Que vous automatisiez le traitement des factures, construisiez une base de connaissances, ou génériez des rapports, cette bibliothèque vous fait gagner beaucoup de temps.

Ce guide vous guidera à travers 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 pour que vous puissiez les adapter à vos propres projets.

Commencer 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

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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ce code charge un PDF et extrait chaque bit 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.

Conseil pratique: Vous pouvez enregistrer le texte extrait dans un fichier .txt pour un traitement ultérieur, ou l'analyser pour remplir des bases de données, des feuilles Excel, ou des bases de connaissances. Cette méthode fonctionne bien pour les rapports, les contrats, ou tout PDF où vous avez juste besoin du texte brut rapidement.

Extraire des données des documents PDF

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. Pour cet exemple, nous utiliserons le PDF suivant :

Le code suivant extraira des données de pages spécifiques de ce PDF et renverra les résultats à notre console.

using IronPdf;
using System;
// 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;
// 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()}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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() maintient l'ordre de lecture du document, ce qui la rend parfaite pour les tâches d'analyse de documents et d'indexation de contenu.

Extraire des données de tableau à partir de documents PDF

Les tableaux dans les fichiers PDF n'ont pas de structure native; ils sont simplement du contenu textuel positionné 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. Pour cet exemple, nous utiliserons ce PDF :

using IronPdf;
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.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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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, pieds de page, et texte non pertinent, vous pouvez extraire des données tabulaires propres d'un PDF, et elles seront prêtes pour CSV ou Excel.

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.

Comment extraire des données d'un PDF en .NET : Figure 5 - Données de table extraites

Extraire les données des champs de formulaire des PDFs

IronPDF permet également l'extraction et la modification des données des champs de formulaire :

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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet extrait de code extrait les valeurs des champs de formulaire des PDFs et vous permet de les mettre à jour de manière programmatique. Cela facilite le traitement des formulaires PDF et l'extraction de limites spécifiques d'informations 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.

Comment extraire des données d'un PDF en .NET : Figure 6 - Données de formulaire extraites et formulaire mis à jour

Étapes suivantes

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.

Que votre objectif soit de construire une base de connaissances, d'automatiser les flux de travail de rapport, ou d'extraire des données de PDFs financiers, cette bibliothèque vous donne les outils pour y parvenir sans copie manuelle ou parsing sujet aux erreurs. C'est simple, rapide, et s'intègre directement aux projets Visual Studio. Essayez-le, vous économiserez probablement beaucoup de temps et éviterez les problèmes habituels liés au travail avec les PDFs.

Commencez avec IronPDF maintenant.
green arrow pointer

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? Commencez votre essai gratuit pour une utilisation commerciale. Visitez notre documentation pour des guides complets et des références API.

Questions Fréquemment Posées

Quelle est la meilleure façon d'extraire du texte des documents PDF en utilisant .NET ?

En utilisant IronPDF, vous pouvez facilement extraire du texte des documents PDF dans les applications .NET. Il fournit des méthodes pour récupérer efficacement les données textuelles, garantissant l'accès au contenu nécessaire.

IronPDF peut-il traiter les PDF scannés pour l'extraction de données ?

Oui, IronPDF prend en charge l'OCR (Reconnaissance Optique de Caractères) pour traiter et extraire des données des PDF scannés, permettant d'accéder au texte même dans des documents basés sur des images.

Comment puis-je extraire des tables d'un PDF en utilisant C# ?

IronPDF fournit des fonctionnalités pour analyser et extraire des tableaux des documents PDF en C#. Vous pouvez utiliser des méthodes spécifiques pour identifier et récupérer les données des tableaux avec précision.

Quels sont les avantages d'utiliser IronPDF pour l'extraction de données PDF ?

IronPDF offre une solution complète pour l'extraction de données PDF, y compris la récupération de texte, l'analyse de tableaux, et l'OCR pour les documents scannés. Il s'intègre parfaitement aux applications .NET, fournissant une manière fiable et efficace de gérer les données PDF.

Est-il possible d'extraire des images d'un PDF en utilisant IronPDF ?

Oui, IronPDF vous permet d'extraire des images des PDFs. Cette fonctionnalité est utile si vous avez besoin d'accéder et de manipuler des images intégrées dans les documents PDF.

Comment IronPDF gère-t-il les dispositions complexes des PDF lors de l'extraction de données ?

IronPDF est conçu pour gérer les dispositions complexes des PDF en offrant des outils robustes pour naviguer et extraire des données, garantissant que vous pouvez manipuler des documents avec un formatage et une structure complexes.

Puis-je automatiser l'extraction de données PDF dans une application .NET ?

Absolument. IronPDF peut être intégré dans des applications .NET pour automatiser l'extraction de données PDF, rationalisant les processus nécessitant une récupération de données régulière et cohérente.

Quels langages de programmation puis-je utiliser avec IronPDF pour l'extraction de données PDF ?

IronPDF est principalement utilisé avec C# dans le framework .NET, offrant un support et une fonctionnalité étendus pour les développeurs souhaitant extraire des données des PDFs programmatiquement.

IronPDF prend-il en charge l'extraction des métadonnées des documents PDF ?

Oui, IronPDF peut extraire les métadonnées des documents PDF, vous permettant d'accéder à des informations telles que l'auteur, la date de création et d'autres propriétés du document.

Quel code d'exemple est disponible pour apprendre l'extraction de données PDF avec IronPDF ?

Le guide du développeur fournit des tutoriels complets en C# avec des exemples de code fonctionnels pour vous aider à maîtriser l'extraction de données PDF en utilisant IronPDF dans vos applications .NET.

IronPDF est-il entièrement compatible avec la nouvelle version .NET 10 et quels avantages cela apporte-t-il pour l'extraction de données ?

Oui, IronPDF est entièrement compatible avec .NET 10 et prend en charge toutes ses améliorations en matière de performances, d'API et d'exécution, telles que la réduction de l'allocation de mémoire, la dévirtualisation de l'interface des tableaux et les fonctionnalités améliorées du langage. Ces améliorations permettent des flux de travail d'extraction de données PDF plus rapides et plus efficaces dans les applications C#.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite