Passer au contenu du pied de page
UTILISATION D'IRONOCR

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

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
Install-Package IronPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPDF
$vbLabelText   $csharpLabel

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 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.

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 fonctionne bien pour les rapports, les contrats, ou tout PDF où vous avez juste besoin du texte brut rapidement.

Sortie de texte extrait

PDF Data Extraction .NET : Guide complet du développeur : Image 1 - Exemple de PDF et son texte extrait

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 :

PDF Data Extraction .NET : Guide complet du développeur : Image 2 - Image 2 de 6 liées à PDF Data Extraction .NET : Guide complet du développeur

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;
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()}");
        }
    }
}
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() 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.

PDF Data Extraction .NET : Complete Developer Guide : Image 3 - Sortie de la console des données extraites de pages spécifiques

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 :

PDF Data Extraction .NET : Guide complet du développeur : Image 4 - Image 4 de 6 liées à PDF Data Extraction .NET : Guide complet du développeur

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.

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");
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.

PDF Data Extraction .NET : Guide complet du développeur : Image 5 - Données de table extraites

Extraire les données des champs de formulaire des PDF

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.

PDF Data Extraction .NET : Guide complet du développeur : Image 6 - Données de formulaire extraites et formulaire mis à jour

Prochaines étapes

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.

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.

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