
Ler e processar arquivos PDF programaticamente em C# é um requisito comum para desenvolvedores .NET que criam sistemas de automação de documentos, extração de dados e geração de relatórios. Bibliotecas tradicionais de análise de PDF exigem código complexo para extrair texto, preservar a formatação e analisar tabelas. Elas frequentemente produzem resultados ruins para layouts irregulares, conteúdo desalinhado e estruturas de tabela não padrão.
Se você deseja uma maneira simples e com IA de ler PDFs em C# e exportar o conteúdo do PDF para outros formatos, Spire.Agent.Office é uma ótima escolha. Este SDK de agente de IA para .NET conduz fluxos de trabalho de análise e conversão de PDF usando instruções em linguagem natural. Ele funciona sem Adobe Acrobat ou softwares externos de terceiros para PDF.
Neste tutorial, apresentaremos como usar IA para ler PDF em C#, com exemplos de código completos e executáveis para:
- Extrair conteúdo de PDF para TXT
- Converter PDF em Word editável
- Ler tabelas de PDF para CSV/Excel
- Processar vários PDFs em lote
Por que escolher o Spire.Agent.Office em vez de outros leitores de PDF com IA?
A internet está cheia de leitores de PDF genéricos com IA, mas a maioria carece de flexibilidade para desenvolvedores, segurança corporativa e precisão na análise estrutural. Spire.Agent.Office é um SDK de processamento de documentos com IA criado para o ecossistema .NET. Ele combina análise com IA com APIs de documentos de escritório. Você pode ler, analisar e converter arquivos PDF, Word, Excel e PowerPoint passando prompts simples em linguagem natural.
Principais vantagens para leitura de PDF com IA em C#:
- SDK focado no desenvolvedor: Criado para integração perfeita de API em aplicativos personalizados, CRMs, pipelines de automação e sistemas de back-end
- Precisão de dados estruturados: preservação superior de tabelas e layout
- Segurança corporativa: opções de processamento local evitam que dados confidenciais de PDF vazem para ferramentas de nuvem de terceiros
- Suporte a vários formatos: lê PDFs e documentos do Office em um único agente unificado
- Código mínimo: substitua centenas de linhas de lógica de análise manual por chamadas simples de prompt de IA para acelerar o desenvolvimento.
Configuração: projeto, namespaces e token
- 1. Instale o pacote NuGet
Crie seu projeto .NET e instale a biblioteca; todas as dependências são instaladas automaticamente.
Install-Package Spire.Agent.Office
- 2. Adicione os namespaces
Três diretivas using fornecem tudo o necessário para processamento de PDF com IA:
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Pdf;
- 3. Configurando o SpireToken
O Spire.Agent.Office exige uma chave SpireToken válida. Você pode solicitar uma chave temporária para avaliação aqui.
AIOptions options = new AIOptions();
options.SpireToken = "YOUR_SPIRE_TOKEN_KEY";
Exemplo 1: Extrair texto de PDF com agente de IA .NET
Extrair o conteúdo de texto bruto geralmente é o primeiro estágio de qualquer pipeline de processamento de documentos. O Spire.Agent.Office permite analisar o conteúdo do PDF e gravar os resultados diretamente em um arquivo TXT usando instruções em linguagem natural.
Casos de uso comuns: criação de índices de pesquisa, alimentação de pipelines de NLP downstream, registro de auditoria e detecção de alterações de conteúdo.
Código C#: PDF para 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);
}
}
O arquivo TXT gerado mantém a estrutura de parágrafos do PDF. Para extrair texto simples sem formatação de parágrafo, altere a instrução de IA conforme necessário.

Exemplo 2: Converter PDF em Word editável com agente de IA .NET
PDFs padrão não são editáveis, o que dificulta a revisão e a reutilização de conteúdo. A IA do Spire.Agent.Office lê o layout do PDF, estilos de fonte e estrutura de parágrafos e, em seguida, converte PDFs estáticos em arquivos DOCX totalmente editáveis, mantendo a formatação consistente.
Caso de uso do mundo real: equipes de compras ou jurídicas recebem contratos de fornecedores em formato PDF e precisam de arquivos DOCX editáveis para revisão com controle de alterações, inserção de comentários e comparação de versões.
Código C#: PDF para 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);
}
}
Principais benefícios
- Retenção da estrutura de cláusulas: cláusulas legais numeradas permanecem devidamente estruturadas para marcação de alterações
- Preservação de tabelas: tabelas de preços e cronogramas permanecem como tabelas reais do Word
- Código mínimo: uma única instrução substitui o que tradicionalmente exigiria chamadas extensas de API para vários componentes

Exemplo 3: Ler tabelas de PDF para CSV/Excel com agente de IA .NET
Um dos recursos mais poderosos do Spire.Agent.Office é sua capacidade de entender e extrair dados estruturados de tabelas de PDF. Cenários de negócios incluem automação de contas a pagar, conciliação de extratos bancários e processamento de relatórios financeiros.
Código C#: Extrato bancário PDF para CSV
Se você baixa um extrato em PDF todos os meses e precisa importar transações para um software de contabilidade, este exemplo é para você.
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);
}
}

Código C#: Relatório financeiro em PDF para Excel
Para exportar tabelas de PDF para Excel, basta alterar o formato de saída (.xlsx) e ajustar as instruções. Por exemplo, se você tem um relatório trimestral em PDF com várias tabelas ao longo das páginas, pode extrair tudo para uma única pasta de trabalho com planilhas separadas:
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.";
Exemplo 4: Muitos PDFs, uma instrução (processamento em lote)
A maioria das cargas de trabalho de automação do mundo real lida com lotes de documentos (por exemplo, dezenas de PDFs de faturas). Use o parâmetro attachmentPaths:
- Instancie um
PdfDocumentvazio. - Passe sua coleção de caminhos de arquivos PDF por meio de
attachmentPaths. - Escreva uma instrução descrevendo como combinar ou agregar as saídas.
Esse padrão possibilita casos de uso como consolidar muitas faturas em uma única pasta de trabalho do Excel agregada.
Código C#: Processamento em lote de faturas em 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);
}
Visão geral da API
| Componente da API | Finalidade | Método/Propriedade principal |
|---|---|---|
AIOptions |
Objeto de configuração |
SpireToken, WorkDir, TimeoutMs
|
AIDocumentProcessor |
Ponto de entrada principal do processamento de IA | ExecuteInstruction() |
pdf.AI(options) |
Método de extensão em PdfDocument | Retorna AIDocumentProcessor
|
AIResult |
Contrato de resultado da execução |
Success, TokenUsage
|
attachmentPaths |
Parâmetro de documentos de suporte | Passado para ExecuteInstruction()
|
Práticas recomendadas para extração confiável
1. Escreva requisitos de saída específicos nas instruções
Evite prompts vagos como “extraia os dados”. Defina o formato de destino, colunas e estrutura (por exemplo, “exporte para uma pasta de trabalho do Excel, uma linha por item”).
2. Coloque a lógica de negócios nas instruções
Implemente filtragem, classificação e normalização nos prompts em vez de codificar deslocamentos posicionais ou coordenadas. A lógica permanece legível e de fácil manutenção.
3. Valide AIResult.Success
Verifique o status de execução em cada chamada. Falhas silenciosas podem interromper pipelines de automação não assistida.
if (result == null || !result.Success)
{
throw new InvalidOperationException(
{BODY_CONTENT}quot;AI instruction failed: {result?.ErrorMessage ?? "Unknown error"}");
}
4. Valide a saída.
Para dados financeiros ou de conformidade, execute suas próprias verificações no arquivo produzido — contagem de linhas, totais de colunas, conformidade de esquema. O agente produz o artefato; seu pipeline continua responsável pela correção.
Considerações finais
Os exemplos acima mostram como o SDK Spire.Agent.Office pode aproveitar a IA para ler PDF para TXT, reconstruir PDFs como documentos Word editáveis, extrair extratos bancários e tabelas financeiras para CSV ou Excel, e consolidar lotes de faturas em uma única pasta de trabalho. Em cada caso, o código permanece pequeno, as instruções permanecem legíveis e a saída continua estruturada o suficiente para automação downstream.
Se sua equipe passa tempo escrevendo lógica de análise frágil ou digitando novamente dados de PDF manualmente, o Spire.Agent.Office oferece um caminho prático a seguir. Instale o pacote NuGet, adicione seu token e comece com um fluxo de trabalho. A partir daí, você pode expandir para processamento em lote e criar pipelines de automação de documentos que são mais rápidos de desenvolver, mais fáceis de manter e mais resilientes a PDFs do mundo real.
Perguntas frequentes (FAQs)
P: Qual é a precisão da extração de tabelas?
O Spire.Agent.Office usa análise com IA que entende a estrutura da tabela, incluindo tabelas irregulares e células mescladas. Para melhores resultados, forneça instruções claras sobre o formato de saída esperado.
P: Posso processar PDFs protegidos por senha?
Sim. Você pode carregar PDFs protegidos por senha fornecendo a senha ao chamar pdf.LoadFromFile(inputPath, password).
P: Como lidar com grandes lotes de PDFs?
Use o parâmetro attachmentPaths para passar vários arquivos em uma única instrução. O agente de IA os processa coletivamente e produz uma saída consolidada.
P: Como defino um tempo limite para o processamento de IA?
Você pode configurar o tempo limite usando a propriedade TimeoutMs em AIOptions:
AIOptions options = new AIOptions();
options.SpireToken = key;
options.TimeoutMs = 120000; // 2 minutes
Mais exemplos
- Auditoria de Excel com IA em C#: detecte erros e anomalias de dados
- Geração de documentos com IA: de dados a documentos prontos para uso
- Censura de documentos com IA em C#: preserve a formatação
- Tradutor de documentos com IA: traduza arquivos Word, Excel e PowerPoint em C#
- Automatize cálculos no Excel com um agente de IA .NET