IRONSOFTWAREHOME

Como ler PDFs em C# com IronOCR

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

O IronOCR permite extrair texto de arquivos PDF em C# com uma única linha de código, suportando todas as versões de PDF e fornecendo resultados de OCR precisos por meio de seu mecanismo baseado em Tesseract.

PDF significa "Portable Document Format" (Formato de Documento Portátil). É um formato de arquivo desenvolvido pela Adobe que preserva as fontes, imagens, gráficos e layout de qualquer documento original, independentemente do aplicativo e da plataforma usados ​​para criá-lo. Os arquivos PDF são normalmente usados ​​para compartilhar e visualizar documentos em um formato consistente, independentemente do software ou hardware usado para abri-los. O IronOCR é compatível com diversas versões de documentos PDF, desde as especificações mais antigas do PDF 1.0 até os padrões mais recentes do PDF 2.0.

Início rápido: OCR de um arquivo PDF em segundos

Configure o OCR rapidamente com a IronOCR construindo um OcrPdfInput que aponta para o seu PDF, em seguida, chame Read. Este exemplo demonstra a extração de texto de um PDF usando o IronOCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copie e execute este trecho de código.

    using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronOCR em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como faço para ler um arquivo PDF inteiro?

Comece instanciando a classe IronTesseract para realizar OCR. Em seguida, utilize uma declaração 'using' para criar um objeto OcrPdfInput, passando para ele o caminho do arquivo PDF. Finalmente, execute OCR usando o método Read. Essa abordagem funciona tanto com PDFs digitalizados (baseados em imagens) quanto com PDFs pesquisáveis ​​(baseados em texto), sendo adequada para extrair texto de vários tipos de PDF .

/* :path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs */
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);

// Access the extracted text
string extractedText = ocrResult.Text;
System.Console.WriteLine(extractedText);
Visualização dividida mostrando o texto formatado de Harry Potter versus o texto simples extraído, demonstrando a extração de texto em PDF.

Na maioria dos casos, não há necessidade de especificar a propriedade DPI. No entanto, fornecer um alto número de DPI na construção de OcrPdfInput pode melhorar a precisão da leitura. A configuração padrão de DPI geralmente é suficiente para a maioria dos documentos PDF comuns, mas documentos especializados podem se beneficiar de ajustes.

Quando devo ajustar as configurações de DPI?

As configurações de DPI (pontos por polegada) tornam-se cruciais ao lidar com documentos digitalizados de baixa resolução ou PDFs que contêm texto pequeno. Para obter resultados ideais, considere ajustar as configurações de DPI quando:

  • Trabalhar com documentos digitalizados com resolução inferior a 200 DPI
  • Processamento de PDFs históricos ou de arquivo
  • Lidar com layouts complexos ou fontes pequenas
  • Encontrando problemas de precisão com as configurações padrão

Uma resolução de 300 DPI é recomendada para a maioria das operações de OCR, enquanto 600 DPI pode ser necessário para documentos com texto muito pequeno ou detalhes complexos.

Além do PDF, quais formatos de arquivo o IronOCR suporta?

O IronOCR oferece suporte abrangente para diversos formatos de arquivo além de PDFs. Você pode processar imagens em diversos formatos, incluindo:

  • JPEG/JPG para fotografias padrão
  • PNG para imagens com transparência
  • TIFF para documentos com várias páginas
  • BMP para imagens não comprimidas
  • GIF para gráficos simples

Além disso, o IronOCR pode processar fluxos de PDF diretamente da memória, sendo adequado para aplicações web e serviços em nuvem.

Trabalhando com tipos de conteúdo em PDF

Ao processar PDFs, você pode otimizar o desempenho especificando o tipo de conteúdo. O enum PdfContents permite direcionar conteúdo específico:

// For text-only PDFs (faster processing)
var textOnlyPdf = new OcrPdfInput("document.pdf", PdfContents.Text);

// For image-only PDFs (scanned documents)
var imageOnlyPdf = new OcrPdfInput("scanned.pdf", PdfContents.Images);

// For mixed content (default)
var mixedPdf = new OcrPdfInput("mixed.pdf", PdfContents.TextAndImages);

Como faço para ler páginas específicas de um PDF?

Ao ler páginas específicas de um documento PDF, especifique o número do índice da página para importação. Para fazer isso, passe a lista de índices de página para o parâmetro PageIndices ao construir o OcrPdfInput. Lembre-se de que os índices de páginas usam numeração baseada em zero. Essa funcionalidade é particularmente útil ao trabalhar com documentos extensos, nos quais apenas algumas páginas contêm informações relevantes.

using IronOcr;
using System.Collections.Generic;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Create page indices list
List<int> pageIndices = new List<int>() { 0, 2 };

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);

Por que a numeração das páginas começa em zero?

A indexação baseada em zero é uma convenção padrão em C# e na maioria das linguagens de programação. Isso significa que a primeira página tem o índice 0, a segunda página tem o índice 1 e assim por diante. Essa consistência com a indexação de arrays facilita o trabalho programático dos desenvolvedores com coleções de páginas. Ao converter números de página legíveis por humanos (1, 2, 3...) em índices, basta subtrair 1 do número da página.

Como posso ler páginas não consecutivas?

Com o IronOCR, ler páginas não consecutivas é muito fácil. Basta adicionar os índices de página desejados à sua lista em qualquer ordem. Por exemplo:

// Read pages 1, 3, 5, and 10 (using zero-based indices)
List<int> pageIndices = new List<int>() { 0, 2, 4, 9 };

// Or use LINQ for range-based selection
var evenPages = Enumerable.Range(0, 10).Where(x => x % 2 == 0).ToList();

O mecanismo de OCR processará apenas as páginas especificadas, melhorando significativamente o desempenho para documentos grandes.

O que acontece se eu especificar números de página inválidos?

Se você especificar índices de página que excedam a contagem de páginas do documento, o IronOCR lançará uma exceção. Implemente o tratamento de erros ou valide a contagem de páginas antes do processamento. Você pode verificar o número total de páginas de um PDF antes de realizar o OCR para garantir que seus índices sejam válidos.

Como faço para usar OCR em uma região específica de um PDF?

Ao delimitar a área a ser lida, você pode aumentar significativamente a eficiência da leitura. Para isso, especifique a região exata do PDF importado que precisa ser lida. No exemplo de código abaixo, o IronOCR se concentra exclusivamente em extrair o número e o título do capítulo. Essa técnica, semelhante à definição de regiões OCR para imagens , melhora tanto a velocidade quanto a precisão.

using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop regions
Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) };

// Add PDF
using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions))
{
    // Perform OCR
    OcrResult ocrResult = ocrTesseract.Read(pdfInput);

    // Output the result to console
    Console.WriteLine(ocrResult.Text);
}

Como determino as coordenadas corretas de um retângulo?

PDF com retângulo vermelho selecionando o título do capítulo para processamento de OCR, console do Visual Studio mostrando a execução concluída.

Encontrar as coordenadas corretas exige compreender o sistema de coordenadas do PDF. O construtor Rectangle aceita quatro parâmetros: X (posição horizontal), Y (posição vertical), Width e Height. Todas as medidas estão em pixels. Ferramentas como visualizadores de PDF com recursos de régua ou utilitários de depuração podem ajudar a identificar as coordenadas exatas. Alternativamente, utilize o método de tentativa e erro, fazendo pequenos ajustes para refinar a área de seleção.

Para uma definição de região mais precisa, você pode utilizar o recurso de destaque de texto para depuração, a fim de visualizar as áreas que estão sendo processadas.

Posso especificar várias regiões em uma única operação?

Sim, o IronOCR suporta múltiplas regiões em uma única operação de OCR. Basta adicionar vários objetos Rectangle ao seu array:

Rectangle[] scanRegions = { 
    new Rectangle(50, 50, 200, 100),    // Header region
    new Rectangle(50, 200, 500, 300),   // Main content region
    new Rectangle(50, 550, 200, 50)     // Footer region
};

Cada região será processada separadamente e os resultados serão combinados na ordem especificada.

Por que usar OCR específico para cada região em vez de OCR de página inteira?

O OCR específico para cada região oferece diversas vantagens:

  • Desempenho : O processamento de áreas menores é significativamente mais rápido.
  • Precisão : Focar em regiões específicas reduz o ruído proveniente de conteúdo irrelevante.
  • Estrutura : Extrair dados de formulários e tabelas de forma mais confiável
  • Eficiência de custos : Menos tempo de processamento significa custos computacionais menores.

Essa abordagem é particularmente valiosa ao trabalhar com documentos estruturados, como faturas, formulários ou relatórios, onde os dados aparecem em locais previsíveis. Para estruturas de documentos complexas, explore a leitura de tabelas nos documentos para técnicas especializadas de extração de tabelas.

Quais são os recursos avançados de OCR para PDF disponíveis?

O IronOCR oferece recursos adicionais para processamento de PDF que vão além da simples extração de texto. É possível criar PDFs pesquisáveis ​​a partir de documentos digitalizados, preservando o layout original e adicionando uma camada de texto para pesquisa e cópia. A biblioteca também oferece suporte a multithreading para processamento mais rápido de grandes coleções de PDFs.

Para desenvolvedores que desejam começar a usar OCR em seus aplicativos .NET, explorar os exemplos simples de OCR fornece uma base sólida para entender os recursos e as melhores práticas do IronOCR.

Lidando com cenários complexos em PDF

Ao lidar com documentos PDF complexos, o IronOCR oferece diversos recursos avançados:

  1. Pré-processamento de Imagem: Aplique filtros de imagem para melhorar a clareza do texto
  2. Múltiplos Idiomas: Processe documentos contendo múltiplos idiomas simultaneamente
  3. Configurações Personalizadas: Ajuste as configurações do OCR para tipos específicos de documentos
  4. Opções de Exportação : Salve os resultados em vários formatos, incluindo PDFs pesquisáveis ​​e HTML com OCR.

Essas características fazem do IronOCR uma solução completa para requisitos de processamento de PDF em nível empresarial.

Perguntas frequentes

Como extrair texto de um arquivo PDF em C#?

Você pode extrair texto de arquivos PDF usando o IronOCR com apenas uma linha de código. Basta criar uma instância de IronTesseract e usar o método Read com OcrPdfInput: `using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));`. O IronOCR lida tanto com PDFs digitalizados (baseados em imagens) quanto com PDFs pesquisáveis (baseados em texto).

Quais versões de PDF são compatíveis com a extração de texto?

O IronOCR é compatível com todas as versões de PDF, desde as especificações mais antigas do PDF 1.0 até os padrões mais recentes do PDF 2.0. O mecanismo de OCR é baseado na tecnologia Tesseract, garantindo a extração precisa do texto, independentemente da versão do PDF com a qual você esteja trabalhando.

Posso ler apenas páginas específicas de um PDF em vez do documento inteiro?

Sim, o IronOCR permite ler páginas específicas de um PDF fornecendo índices de página. Em vez de processar o documento inteiro, você pode especificar de quais páginas extrair o texto usando o objeto OcrPdfInput, tornando o processo de OCR mais eficiente para documentos grandes.

Qual é o fluxo de trabalho mínimo para OCR em um arquivo PDF?

O fluxo de trabalho mínimo com o IronOCR consiste em 5 etapas: 1) Baixar a biblioteca C#, 2) Preparar o documento PDF, 3) Criar um objeto OcrPdfInput com o caminho do arquivo PDF, 4) Usar o método Read para realizar o OCR e 5) Opcionalmente, especificar os índices de página para leitura seletiva.

Quando devo ajustar as configurações de DPI para OCR de PDF?

Embora as configurações padrão de DPI do IronOCR funcionem bem para a maioria dos PDFs comuns, você deve considerar ajustar o DPI ao trabalhar com documentos digitalizados de baixa resolução (abaixo de 200 DPI) ou PDFs que contenham texto pequeno. Configurações de DPI mais altas na construção do OcrPdfInput podem melhorar significativamente a precisão de leitura para documentos especializados.

O mecanismo de OCR funciona tanto com PDFs digitalizados quanto com PDFs pesquisáveis?

Sim, o IronOCR processa com eficiência tanto PDFs digitalizados (baseados em imagens) quanto PDFs pesquisáveis (baseados em texto). O mecanismo baseado no Tesseract lida automaticamente com diferentes tipos de PDF, tornando-o versátil para extrair texto de vários formatos de PDF sem a necessidade de abordagens diferentes.

What are the advantages of using region-specific OCR over full-page OCR?

Region-specific OCR improves performance by focusing on relevant areas, enhancing accuracy and reducing noise from irrelevant content. It is especially useful for forms and structured documents.

What advanced OCR features does IronOCR offer for PDFs?

IronOCR provides features such as creating searchable PDFs, multithreading for faster processing, image preprocessing, and support for multiple languages, catering to complex document processing needs.

How do you handle invalid page numbers in IronOCR?

If invalid page numbers are specified in IronOCR, it will throw an exception. It is recommended to implement error handling or verify page counts prior to processing.

Can IronOCR process non-consecutive pages from a PDF?

Yes, IronOCR can handle non-consecutive pages by specifying the desired page indices in a list. This allows for selective processing of pages in any order.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 6,236,385Versão:2026.9recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronOCR".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronOCR em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronOCR.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.