Lecture de PDF assistée par IA en C# : Lire et extraire des données

2026-09-29 08:04:31 Jane Zhao
AI Summarize:
ChatGPT
ChatGPT ✓
Claude ✓
Grok ✓
Perplexity ✓
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

IA qui lit un PDF et extrait des données en C# avec Spire.Agent.Office

Lire et traiter des fichiers PDF par programmation en C# est une exigence courante pour les développeurs .NET qui créent des systèmes d'automatisation documentaire, d'extraction de données et de génération de rapports. Les bibliothèques d'analyse PDF traditionnelles exigent un code complexe pour extraire le texte, préserver la mise en forme et analyser les tableaux. Elles produisent fréquemment des résultats médiocres pour les mises en page irrégulières, les contenus désalignés et les structures de tableaux non standard.

Si vous recherchez une méthode simple et assistée par IA pour lire des PDF en C# et exporter le contenu PDF vers d'autres formats, Spire.Agent.Office est un excellent choix. Ce SDK d'agent IA .NET pilote les flux de travail d'analyse et de conversion de PDF à l'aide d'instructions en langage naturel. Il fonctionne sans Adobe Acrobat ni logiciels PDF tiers externes.

Dans ce tutoriel, nous vous présentons comment utiliser l'IA pour lire des PDF en C#, avec des exemples de code entièrement exécutables pour :


Pourquoi choisir Spire.Agent.Office plutôt que d'autres lecteurs PDF à IA ?

Internet regorge de lecteurs PDF à IA génériques, mais la plupart manquent de flexibilité pour les développeurs, de sécurité d'entreprise et de précision d'analyse structurelle. Spire.Agent.Office est un SDK de traitement documentaire par IA conçu pour l'écosystème .NET. Il combine l'analyse par IA avec les API de documents bureautiques. Vous pouvez lire, analyser et convertir des fichiers PDF, Word, Excel et PowerPoint en transmettant de simples invites en langage naturel.

Principaux avantages pour la lecture de PDF par IA en C# :

  • SDK pensé pour les développeurs : conçu pour une intégration transparente de l'API dans des applications personnalisées, des CRM, des pipelines d'automatisation et des systèmes backend
  • Précision des données structurées : préservation supérieure des tableaux et de la mise en page
  • Sécurité d'entreprise : les options de traitement local empêchent les données PDF sensibles de fuiter vers des outils cloud tiers
  • Prise en charge multi-format : lit les PDF ainsi que les documents Office dans un seul agent unifié
  • Code minimal : remplacez des centaines de lignes de logique d'analyse manuelle par de simples appels d'invites IA pour accélérer le développement.

Configuration : projet, espaces de noms et jeton

  • 1. Installer le package NuGet

Créez votre projet .NET et installez la bibliothèque ; toutes les dépendances s'installent automatiquement.

Install-Package Spire.Agent.Office
  • 2. Ajouter les espaces de noms

Trois directives using vous donnent tout ce qui est nécessaire pour le traitement de PDF par IA :

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;
  • 3. Configurer SpireToken

Spire.Agent.Office nécessite une clé SpireToken valide. Vous pouvez demander une clé temporaire pour évaluation ici.

AIOptions options = new AIOptions();
options.SpireToken = "YOUR_SPIRE_TOKEN_KEY";

Exemple 1 : extraire le texte d'un PDF avec un agent IA .NET

L'extraction du contenu texte brut est généralement la première étape de tout pipeline de traitement documentaire. Spire.Agent.Office vous permet d'analyser le contenu d'un PDF et d'écrire les résultats directement dans un fichier TXT à l'aide d'instructions en langage naturel.

Cas d'usage courants : création d'index de recherche, alimentation de pipelines NLP en aval, journalisation d'audit et détection de modifications de contenu.

Code C# : PDF vers TXT

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;

string inputPath = @"input0.pdf";
string outputPath = @"output.txt";
string key = "YOUR_SPIRE_TOKEN_KEY";

if (!string.IsNullOrEmpty(inputPath) && File.Exists(inputPath))
{
    AIOptions options = new AIOptions();
    options.SpireToken = key;

    using (PdfDocument pdf = new PdfDocument())
    {
        pdf.LoadFromFile(inputPath);

        // Get the AI processor for PDF
        AIDocumentProcessor processor = pdf.AI(options);

        // Natural language instruction
        string instruction = "Read all text content from the PDF file, retain paragraph layout, and save as a TXT file";

        // Execute the AI instruction
        AIResult result = processor.ExecuteInstruction(pdf, instruction, outputPath);
    }
}

Le fichier TXT généré conserve la structure des paragraphes du PDF. Pour extraire du texte brut sans mise en forme des paragraphes, modifiez l'instruction IA selon vos besoins.

Extraire le texte d'un PDF vers un fichier TXT à l'aide d'un agent IA .NET


Exemple 2 : convertir un PDF en Word modifiable avec un agent IA .NET

Les PDF standard ne sont pas modifiables, ce qui rend la révision et la réutilisation du contenu difficiles. L'IA de Spire.Agent.Office lit la mise en page, les styles de police et la structure des paragraphes du PDF, puis convertit les PDF statiques en fichiers DOCX entièrement modifiables tout en conservant une mise en forme cohérente.

Cas d'usage concret : les équipes achats ou juridiques reçoivent des contrats fournisseurs au format PDF et ont besoin de fichiers DOCX modifiables pour la révision avec suivi des modifications, l'insertion de commentaires et la comparaison de versions.

Code C# : PDF vers Word

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;

string inputPath = @"supplier_agreement.pdf";
string outputPath = @"supplier_agreement_editable.docx";
string key = "YOUR_SPIRE_TOKEN_KEY";

if (!string.IsNullOrEmpty(inputPath) && File.Exists(inputPath))
{
    AIOptions options = new AIOptions();
    options.SpireToken = key;

    using (PdfDocument pdf = new PdfDocument())
    {
        pdf.LoadFromFile(inputPath);

        // Get the AI processor for PDF
        AIDocumentProcessor processor = pdf.AI(options);

        // Natural language instruction
        string instruction = "Convert this supplier agreement PDF into an editable Word document. " +
                    "Retain hierarchical clause numbering (1, 1.1, 1.2…), use Word's multilevel list, no hardcoded numbers. " +
                    "keep section headings in bold, and convert tables to native Word tables at original positions. " +
                    "Do not flatten the layout into plain paragraphs. Keep signature block formatting intact.";

        // Execute the AI instruction
        AIResult result = processor.ExecuteInstruction(pdf, instruction, outputPath);
    }
}

Principaux avantages

  • Conservation de la structure des clauses : les clauses juridiques numérotées restent correctement structurées pour le redlining
  • Préservation des tableaux : les grilles tarifaires et les annexes restent de véritables tableaux Word
  • Code minimal : une seule instruction remplace ce qui nécessiterait traditionnellement de nombreux appels d'API à plusieurs composants

Convertir un PDF en Word modifiable à l'aide d'un agent IA .NET


Exemple 3 : lire les tableaux d'un PDF vers CSV/Excel avec un agent IA .NET

L'une des fonctionnalités les plus puissantes de Spire.Agent.Office est sa capacité à comprendre et à extraire des données structurées à partir de tableaux PDF. Les scénarios métier incluent l'automatisation des comptes fournisseurs, le rapprochement de relevés bancaires et le traitement de rapports financiers.

Code C# : relevé bancaire PDF vers CSV

Si vous téléchargez un relevé PDF chaque mois et devez importer les transactions dans un logiciel de comptabilité, cet exemple est fait pour vous.

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;

string inputPath = @"bank_statement_1.pdf";
string outputPath = @"bank_transactions.csv";
string key = "YOUR_SPIRE_TOKEN_KEY";

if (!string.IsNullOrEmpty(inputPath) && File.Exists(inputPath))
{
    AIOptions options = new AIOptions();
    options.SpireToken = key;

    using (PdfDocument pdf = new PdfDocument())
    {
        pdf.LoadFromFile(inputPath);

        // Get the AI processor for PDF
        AIDocumentProcessor processor = pdf.AI(options);

        // Natural language instruction
        string instruction = "Extract all transactions from this bank statement into a CSV." +
                    " Include: Transaction Date, Description, Reference Number, Debit Amount, Credit Amount," +
                    " and Running Balance. Use empty cells (not zeros) when a debit or credit field doesn't apply to a row." +
                    " Exclude opening balance, closing balance, and any summary totals." +
                    " Preserve the original transaction order as they appear on the statement.";

        // Execute the AI instruction
        AIResult result = processor.ExecuteInstruction(pdf, instruction, outputPath);
    }
}

Exporter un tableau PDF vers CSV à l'aide d'un agent IA .NET

Code C# : rapport financier PDF vers Excel

Pour exporter des tableaux PDF vers Excel, modifiez simplement le format de sortie (.xlsx) et ajustez les instructions. Par exemple, si vous disposez d'un rapport PDF trimestriel comportant plusieurs tableaux répartis sur plusieurs pages, vous pouvez tout extraire dans un seul classeur avec des feuilles distinctes :

string inputPath = @"Q3_2024_financial_report.pdf";
string outputPath = @"Q3_2024_financials.xlsx";

string instruction = "This PDF contains multiple financial tables across several pages:" +
            " Revenue by Region, Cost of Goods Sold, Operating Expenses, and Cash Flow Summary." +
            " Extract each table into its own named worksheet in the output Excel file." +
            " Use the table's section heading as the sheet name. Keep column headers on the" +
            " first row of each sheet, ensure all currency values are numeric (strip out '{BODY_CONTENT}#39; and ',')," +
            " and preserve the original row and column order.";

Exemple 4 : plusieurs PDF, une seule instruction (traitement par lots)

La plupart des charges de travail d'automatisation réelles traitent des lots de documents (par exemple, des dizaines de PDF de factures). Utilisez le paramètre attachmentPaths :

  • Instanciez un PdfDocument vide.
  • Transmettez votre collection de chemins de fichiers PDF via attachmentPaths.
  • Rédigez une seule instruction décrivant comment combiner ou agréger les sorties.

Ce modèle permet des cas d'usage tels que la consolidation de nombreuses factures dans un seul classeur Excel agrégé.

Code C# : traitement par lots de factures PDF

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;

string[] invoicePaths = Directory.GetFiles(@"F:\Invoices", "*.pdf");
string outputPath = @"consolidated_invoices.xlsx";
string key = "YOUR_SPIRE_TOKEN_KEY";

AIOptions options = new AIOptions();
options.SpireToken = key;

using (PdfDocument pdf = new PdfDocument())
{
    // Get the AI processor for PDF
    AIDocumentProcessor processor = pdf.AI(options);

    // Natural language instruction for batch processing
    string instruction = "Read all attached invoice PDFs and consolidate them into one Excel workbook. " +
        "Create one row per invoice with columns: Invoice Number, Vendor Name, Invoice Date, " +
        "Due Date, Subtotal, Tax, Total Amount. Sort by Invoice Date ascending.";

    // Execute with attachment paths
    AIResult result = processor.ExecuteInstruction(pdf, instruction, outputPath, invoicePaths);
}

Aperçu de la surface d'API

Composant d'API Objectif Méthode/propriété clé
AIOptions Objet de configuration SpireToken, WorkDir, TimeoutMs
AIDocumentProcessor Point d'entrée principal du traitement par IA ExecuteInstruction()
pdf.AI(options) Méthode d'extension sur PdfDocument Retourne AIDocumentProcessor
AIResult Contrat de résultat d'exécution Success, TokenUsage
attachmentPaths Paramètre de documents joints Transmis à ExecuteInstruction()

Bonnes pratiques pour une extraction fiable

1. Rédigez des exigences de sortie précises dans les instructions

Évitez les invites vagues comme « extrayez les données ». Définissez le format cible, les colonnes et la structure (par exemple « exporter vers un classeur Excel, une ligne par article »).

2. Placez la logique métier dans les instructions

Implémentez le filtrage, le tri et la normalisation dans les invites plutôt que de coder en dur des décalages de position ou des coordonnées. La logique reste lisible par l'humain et maintenable.

3. Validez AIResult.Success

Vérifiez l'état d'exécution à chaque appel. Les échecs silencieux peuvent interrompre des pipelines d'automatisation non surveillés.

if (result == null || !result.Success)
{
    throw new InvalidOperationException(
        {BODY_CONTENT}quot;AI instruction failed: {result?.ErrorMessage ?? "Unknown error"}");
}

4. Validez la sortie.

Pour les données financières ou de conformité, effectuez vos propres vérifications sur le fichier produit — nombre de lignes, totaux de colonnes, conformité au schéma. L'agent produit l'artefact ; votre pipeline reste responsable de l'exactitude.


Réflexions finales

Les exemples ci-dessus vous montrent comment le SDK Spire.Agent.Office peut exploiter l'IA pour lire un PDF vers TXT, reconstruire des PDF en documents Word modifiables, extraire des relevés bancaires et des tableaux financiers vers CSV ou Excel, et consolider des lots de factures dans un seul classeur. Dans chaque cas, le code reste concis, les instructions restent lisibles et la sortie demeure suffisamment structurée pour l'automatisation en aval.

Si votre équipe passe du temps à écrire une logique d'analyse fragile ou à ressaisir manuellement des données PDF, Spire.Agent.Office offre une voie pratique. Installez le package NuGet, ajoutez votre jeton et commencez par un seul flux de travail. À partir de là, vous pouvez étendre vers le traitement par lots et construire des pipelines d'automatisation documentaire plus rapides à développer, plus faciles à maintenir et plus résilients face aux PDF du monde réel.


Questions fréquentes (FAQ)

Q : Quelle est la précision de l'extraction des tableaux ?

Spire.Agent.Office utilise une analyse assistée par IA qui comprend la structure des tableaux, y compris les tableaux irréguliers et les cellules fusionnées. Pour de meilleurs résultats, fournissez des instructions claires sur le format de sortie attendu.

Q : Puis-je traiter des PDF protégés par mot de passe ?

Oui. Vous pouvez charger des PDF protégés par mot de passe en fournissant le mot de passe lors de l'appel à pdf.LoadFromFile(inputPath, password).

Q : Comment gérer de grands lots de PDF ?

Utilisez le paramètre attachmentPaths pour transmettre plusieurs fichiers dans une seule instruction. L'agent IA les traite collectivement et produit une sortie consolidée.

Q : Comment définir un délai d'expiration pour le traitement par IA ?

Vous pouvez configurer le délai d'expiration à l'aide de la propriété TimeoutMs dans AIOptions :

AIOptions options = new AIOptions();
options.SpireToken = key;
options.TimeoutMs = 120000; // 2 minutes

Plus d'exemples