
Leggere ed elaborare file PDF a livello di programmazione in C# è un'esigenza comune per gli sviluppatori .NET che creano sistemi di automazione documentale, estrazione dati e generazione report. Le librerie tradizionali di analisi PDF richiedono codice complesso per estrarre testo, preservare la formattazione e analizzare tabelle. Spesso producono output scadenti per layout irregolari, contenuti disallineati e strutture di tabelle non standard.
Se desideri un modo semplice, basato sull'AI, per leggere PDF in C# ed esportare il contenuto PDF in altri formati, Spire.Agent.Office è una scelta valida. Questo SDK agente AI .NET guida flussi di lavoro di analisi e conversione PDF utilizzando istruzioni in linguaggio naturale. Funziona senza Adobe Acrobat o software PDF di terze parti esterni.
In questo tutorial, presenteremo come usare l'AI per leggere PDF in C#, con esempi di codice completi ed eseguibili per:
- Estrazione del contenuto PDF in TXT
- Conversione di PDF in Word modificabile
- Lettura di tabelle PDF in CSV/Excel
- Elaborazione in batch di più PDF
Perché scegliere Spire.Agent.Office rispetto ad altri lettori PDF AI?
Internet è pieno di lettori PDF AI generici, ma molti mancano di flessibilità per gli sviluppatori, sicurezza aziendale e accuratezza nell'analisi strutturale. Spire.Agent.Office è un SDK di elaborazione documenti AI progettato per l'ecosistema .NET. Combina l'analisi AI con API per documenti office. Puoi leggere, analizzare e convertire file PDF, Word, Excel e PowerPoint passando semplici prompt in linguaggio naturale.
Vantaggi principali per la lettura PDF con AI in C#:
- SDK pensato per gli sviluppatori: progettato per un'integrazione API fluida in app personalizzate, CRM, pipeline di automazione e sistemi backend
- Accuratezza dei dati strutturati: conservazione superiore di tabelle e layout
- Sicurezza aziendale: opzioni di elaborazione locale impediscono che dati PDF sensibili trapelino verso strumenti cloud di terze parti
- Supporto multi-formato: legge PDF e documenti Office in un unico agente unificato
- Codice minimo: sostituisci centinaia di righe di logica di analisi manuale con semplici chiamate a prompt AI per accelerare lo sviluppo.
Configurazione: progetto, namespace e token
- 1. Installa il pacchetto NuGet
Crea il tuo progetto .NET e installa la libreria; tutte le dipendenze vengono installate automaticamente.
Install-Package Spire.Agent.Office
- 2. Aggiungi i namespace
Tre direttive using ti forniscono tutto il necessario per l'elaborazione PDF con AI:
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;
- 3. Configurazione di SpireToken
Spire.Agent.Office richiede una chiave SpireToken valida. Puoi richiedere qui una chiave temporanea per la valutazione.
AIOptions options = new AIOptions();
options.SpireToken = "YOUR_SPIRE_TOKEN_KEY";
Esempio 1: estrarre testo PDF con agente AI .NET
L'estrazione del contenuto testuale grezzo è in genere la prima fase di qualsiasi pipeline di elaborazione documenti. Spire.Agent.Office ti consente di analizzare il contenuto PDF e scrivere i risultati direttamente in un file TXT usando istruzioni in linguaggio naturale.
Casi d'uso comuni: creazione di indici di ricerca, alimentazione di pipeline NLP downstream, registrazione di audit e rilevamento di modifiche ai contenuti.
Codice C#: da PDF a 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);
}
}
Il file TXT generato conserva la struttura dei paragrafi del PDF. Per estrarre testo semplice senza formattazione dei paragrafi, modifica l'istruzione AI come necessario.

Esempio 2: convertire PDF in Word modificabile con agente AI .NET
I PDF standard non sono modificabili, il che rende difficili revisione e riutilizzo dei contenuti. L'AI di Spire.Agent.Office legge layout PDF, stili dei caratteri e struttura dei paragrafi, quindi converte PDF statici in file DOCX completamente modificabili mantenendo la formattazione coerente.
Caso d'uso reale: team di approvvigionamento o legali ricevono accordi con fornitori in formato PDF e richiedono file DOCX modificabili per revisione con modifiche tracciate, inserimento commenti e confronto versioni.
Codice C#: da PDF a 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);
}
}
Vantaggi principali
- Conservazione della struttura delle clausole: le clausole legali numerate rimangono correttamente strutturate per la redazione delle modifiche
- Conservazione delle tabelle: tabelle prezzi e schedule rimangono come vere tabelle Word
- Codice minimo: una singola istruzione sostituisce ciò che tradizionalmente richiederebbe numerose chiamate API a più componenti

Esempio 3: leggere tabelle PDF in CSV/Excel con agente AI .NET
Una delle funzionalità più potenti di Spire.Agent.Office è la capacità di comprendere ed estrarre dati strutturati dalle tabelle PDF. Gli scenari aziendali includono automazione dei conti fornitori, riconciliazione di estratti conto bancari ed elaborazione di report finanziari.
Codice C#: estratto conto bancario PDF in CSV
Se scarichi un estratto conto PDF ogni mese e devi importare le transazioni nel software contabile, questo esempio fa per te.
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);
}
}

Codice C#: report finanziario PDF in Excel
Per esportare tabelle PDF in Excel, cambia semplicemente il formato di output (.xlsx) e adatta le istruzioni. Ad esempio, se hai un report PDF trimestrale con più tabelle su più pagine, puoi estrarre tutto in un'unica cartella di lavoro con fogli separati:
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.";
Esempio 4: molti PDF, un'unica istruzione (elaborazione in batch)
La maggior parte dei carichi di lavoro di automazione reali gestisce batch di documenti (ad es. dozzine di PDF di fatture). Usa il parametro attachmentPaths:
- Istanzia un
PdfDocumentvuoto. - Passa la tua raccolta di percorsi di file PDF tramite
attachmentPaths. - Scrivi un'unica istruzione che descriva come combinare o aggregare gli output.
Questo pattern abilita casi d'uso come la consolidazione di molte fatture in un'unica cartella di lavoro Excel aggregata.
Codice C#: elaborazione in batch di fatture 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);
}
Panoramica dell'API
| Componente API | Scopo | Metodo/proprietà chiave |
|---|---|---|
AIOptions |
Oggetto di configurazione |
SpireToken, WorkDir, TimeoutMs
|
AIDocumentProcessor |
Punto di ingresso principale per l'elaborazione AI | ExecuteInstruction() |
pdf.AI(options) |
Metodo di estensione su PdfDocument | Restituisce AIDocumentProcessor
|
AIResult |
Contratto del risultato di esecuzione |
Success, TokenUsage
|
attachmentPaths |
Parametro per documenti di supporto | Passato a ExecuteInstruction()
|
Buone pratiche per un'estrazione affidabile
1. Scrivi requisiti di output specifici nelle istruzioni
Evita prompt vaghi come “estrai i dati”. Definisci formato di destinazione, colonne e struttura (ad es. “esporta in una cartella di lavoro Excel, una riga per voce”).
2. Inserisci la logica di business nelle istruzioni
Implementa filtri, ordinamenti e normalizzazione all'interno dei prompt invece di codificare in modo rigido offset posizionali o coordinate. La logica rimane leggibile e manutenibile.
3. Convalida AIResult.Success
Controlla lo stato di esecuzione a ogni chiamata. I fallimenti silenziosi possono interrompere le pipeline di automazione non presidiate.
if (result == null || !result.Success)
{
throw new InvalidOperationException(
{BODY_CONTENT}quot;AI instruction failed: {result?.ErrorMessage ?? "Unknown error"}");
}
4. Convalida l'output.
Per dati finanziari o di conformità, esegui i tuoi controlli sul file prodotto — conteggi righe, totali colonne, conformità allo schema. L'agente produce l'artefatto; la tua pipeline rimane responsabile della correttezza.
Considerazioni finali
Gli esempi precedenti mostrano come l'SDK Spire.Agent.Office possa sfruttare l'AI per leggere PDF in TXT, ricostruire PDF come documenti Word modificabili, estrarre estratti conto bancari e tabelle finanziarie in CSV o Excel e consolidare batch di fatture in un'unica cartella di lavoro. In ogni caso, il codice rimane ridotto, le istruzioni rimangono leggibili e l'output resta sufficientemente strutturato per l'automazione downstream.
Se il tuo team trascorre tempo scrivendo logica di analisi fragile o reinserendo manualmente dati PDF, Spire.Agent.Office offre un percorso pratico. Installa il pacchetto NuGet, aggiungi il tuo token e inizia con un flusso di lavoro. Da lì, puoi espanderti nell'elaborazione in batch e creare pipeline di automazione documentale più veloci da sviluppare, più facili da mantenere e più resilienti ai PDF del mondo reale.
Domande frequenti (FAQ)
D: Quanto è accurata l'estrazione delle tabelle?
Spire.Agent.Office utilizza analisi basata su AI che comprende la struttura delle tabelle, incluse tabelle irregolari e celle unite. Per risultati ottimali, fornisci istruzioni chiare sul formato di output previsto.
D: Posso elaborare PDF protetti da password?
Sì. Puoi caricare PDF protetti da password fornendo la password quando chiami pdf.LoadFromFile(inputPath, password).
D: Come gestisco grandi batch di PDF?
Usa il parametro attachmentPaths per passare più file in un'unica istruzione. L'agente AI li elabora collettivamente e produce un output consolidato.
D: Come imposto un timeout per l'elaborazione AI?
Puoi configurare il timeout usando la proprietà TimeoutMs in AIOptions:
AIOptions options = new AIOptions();
options.SpireToken = key;
options.TimeoutMs = 120000; // 2 minutes
Altri esempi
- Audit Excel basato su AI in C#: rileva errori e anomalie nei dati
- Generazione documenti con AI: dai dati a documenti pronti all'uso
- Oscuramento documenti basato su AI in C#: preserva la formattazione
- Traduttore di documenti AI: traduci file Word, Excel e PowerPoint in C#
- Automatizza i calcoli in Excel con un agente AI .NET