
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 :
- Extraire le contenu PDF vers TXT
- Convertir un PDF en Word modifiable
- Lire les tableaux PDF vers CSV/Excel
- Traiter plusieurs PDF par lots
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.

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

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);
}
}

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
PdfDocumentvide. - 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
- Audit Excel assisté par IA en C# : détecter les erreurs et les anomalies de données
- Génération de documents par IA : des données aux documents prêts à l'emploi
- Caviardage de documents assisté par IA en C# : préserver la mise en forme
- Traducteur de documents IA : traduire des fichiers Word, Excel et PowerPoint en C#
- Automatiser les calculs dans Excel avec un agent IA .NET