API Gratuita C# .NET para Extração e Análise de Texto em PDF
Uma Biblioteca Open Source .NET de destaque para extrair texto, imagens, metadados e informações de estrutura de PDF de arquivos PDF com facilidade. Adicione novas páginas, tabelas, texto e formas aos PDFs.
O que é a Biblioteca PdfPig?
PdfPig é uma biblioteca .NET de código aberto projetada para ler, analisar e extrair conteúdo de arquivos PDF em C#. Foi desenvolvida como uma porta do Apache PDFBox para o ecossistema .NET e é amplamente utilizada para extração de texto de PDF, análise de documentos e processamento de PDF de baixo nível. Ela suporta .NET Standard e várias versões do .NET, tornando-a altamente flexível para ambientes de desenvolvimento modernos. A biblioteca é muito útil para indexação de documentos, motores de busca, pré-processamento de documentos para IA/ML, pós-processamento de OCR, automação de faturas, ferramentas de acessibilidade de PDF e sistemas de extração de dados.
Os arquivos PDF estão em toda parte—contratos, relatórios, faturas, eBooks, extratos bancários, artigos de pesquisa e formulários. Extrair informações estruturadas de PDFs costuma ser difícil porque o PDF é principalmente um formato de apresentação, não um formato de documento semântico. O PdfPig simplifica esse problema ao fornecer aos desenvolvedores acesso ao texto bruto e às palavras, posições de caracteres e caixas delimitadoras, fontes e informações de estilo, imagens e metadados e detalhes de layout do documento. Ao contrário de muitas bibliotecas PDF que se concentram principalmente em gerar PDFs, o PdfPig é especializado na leitura de documentos PDF existentes. Isso o torna uma escolha excelente para desenvolvedores que constroem mecanismos de busca, pipelines de OCR, analisadores de faturas, analisadores de documentos, ferramentas de conformidade ou sistemas de extração de conteúdo.
Começando com o PdfPig
A biblioteca PdfPig está disponível como um pacote NuGet. Portanto, recomenda-se fortemente usar o NuGet para instalar o PdfPig em seu projeto. Por favor, use o comando a seguir para uma instalação bem-sucedida.
Instalar PdfPig via Gerenciador de Pacotes NuGet
// Package Manager
Install-Package PdfPig
// .NET CLI
dotnet add package PdfPig
Você também pode instalá-lo manualmente; baixe os arquivos da versão mais recente diretamente do repositório GitHub.
Extrair Texto de Documentos PDF via .NET
Um dos casos de uso mais comuns do PdfPig é extrair texto simples de documentos PDF. Desenvolvedores de software podem abrir um PDF e ler o texto página por página ou extrair todo o conteúdo. Isso é especialmente útil para indexação de busca, varredura de palavras‑chave e análise de conteúdo. Aqui está um exemplo simples que demonstra como desenvolvedores de software podem extrair texto de documentos PDF em aplicações C# .NET. Primeiro ele abre o arquivo PDF e itera por todas as páginas e, em seguida, lê o conteúdo de texto extraído.
Como Extrair Texto de Documentos PDF via API C#?
using UglyToad.PdfPig;
using (var document = PdfDocument.Open("sample.pdf"))
{
foreach (var page in document.GetPages())
{
string text = page.Text;
Console.WriteLine(text);
}
}
Formulários Interativos e Extração de Arquivos Incorporados
A biblioteca de código aberto PdfPig oferece suporte nativo à extração de Formulários Acrobat interativos (AcroForms) e à leitura de arquivos ocultos em anexos PDF. Ela permite que os desenvolvedores verifiquem definições de formulário globalmente, iterem pelos elementos interativos tipados (como caixas de seleção, campos de texto ou botões), e acessem os dados brutos subjacentes dos arquivos incorporados nas anotações do documento para uma interoperabilidade de sistema perfeita.
Como Extrair Dados de Formulário Interativo via Biblioteca C# .NET?
using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;
class Program
{
static void ExtractInteractiveContent(string pdfPath)
{
using (PdfDocument document = PdfDocument.Open(pdfPath))
{
// Extracting Interactive Form Data
if (document.TryGetForm(out AcroForm form))
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
}
}
// Extracting Embedded Documents/Attachments
if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
{
foreach (var file in embeddedFiles)
{
Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
// File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
}
}
}
}
}
Mesclagem de PDFs múltiplos sem costura via C#
Além da extração de conteúdo, o PdfPig oferece utilitários simples de gerenciamento de documentos. Ao utilizar a classe PdfMerger, os desenvolvedores podem consolidar estruturas PDF independentes separadas em um único array de bytes de saída unificado. Isso fornece uma maneira eficaz de concatenar relatórios programáticos, faturas ou documentos de extrato de cliente sem adicionar dependências externas volumosas ao seu pipeline .NET. O exemplo a seguir demonstra como os usuários podem combinar vários documentos PDF dentro de aplicações .NET.
Como Mesclar Vários Arquivos PDF em Aplicativos C# .NET?
using System.IO;
using UglyToad.PdfPig.Writer;
class Program
{
static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
{
// Consolidate files into a single continuous byte sequence
byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
// Output the combined file stream directly to disk
File.WriteAllBytes(outputPdf, mergedFileBytes);
}
}
Ler Metadados, Formulários e Anotações de PDF
Além da extração de texto, a biblioteca de código aberto PdfPig inclui recursos que expõem metadados do documento (título, autor, produtor), campos de formulário interativos, hyperlinks e marcadores. Isso é inestimável para sistemas de classificação de documentos, processamento automatizado de formulários e indexação de conteúdo, onde você precisa tanto do conteúdo quanto do contexto.