Como ler códigos de barras de PDFs em C#

Como Ler Códigos de Barras de PDFs em C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode permite a leitura direta de códigos de barras de documentos PDF sem converter em imagens primeiro, usando o método ReadPdf para extrair dados de código de barras de faturas, etiquetas de envio e relatórios em apenas uma linha de código.

Ler códigos de barras de documentos PDF significa detectar e decodificar códigos de barras dentro das páginas do PDF. Esta tecnologia extrai informações codificadas diretamente de documentos digitais, eliminando a digitalização manual de códigos de barras impressos. Ela automatiza fluxos de trabalho para o processamento de faturas, etiquetas de envio, relatórios e outros documentos que contêm dados de códigos de barras.

Começo Rápido: Lendo Códigos de Barras Diretamente de um PDF

Use o método ReadPdf do IronBarcode para ler códigos de barras de PDFs sem converter em imagens. Extraia dados do código de barras com uma linha de código, depois adicione opções avançadas conforme necessário.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

    PM > Install-Package BarCode
  2. Copie e execute este trecho de código.

    var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Quais são as etapas básicas para ler códigos de barras em PDF?

  1. Instale a biblioteca de códigos de barras para processar arquivos de códigos de barras. Consulte nosso guia de Pacotes NuGet para instalação específica da plataforma.
  2. Crie PdfBarcodeReaderOptions se necessário.
  3. Use o método ReadPdf do BarcodeReader para ler códigos de barras de PDFs.
  4. Especifique opções adicionais de leitura de código de barras usando BarcodeReaderOption.
  5. Extraia os valores do código de barras.

Como ler códigos de barras de documentos PDF diretamente?

IronBarcode lê códigos de barras diretamente de documentos PDF sem a necessidade de conversão para imagens. Para uma visão abrangente de todas as funcionalidades, visite nossa página de Recursos. Use o método BarcodeReader.ReadPdf(), que aceita estes tipos de entrada em PDF:

  • byte[] array: Documento PDF como um array de bytes.
  • IEnumerable<Byte[]>: Documentos PDF como arrays de bytes armazenados em uma coleção.
  • MemoryStream: Documentos PDF como tipo MemoryStream.
  • IEnumerable<Stream>: Documentos PDF como uma coleção de MemoryStream. Veja nosso guia Ler Código de Barras de Streams.
  • String: Caminho do documento PDF como uma string ou nome de arquivo se copiado para o projeto.
  • IEnumerable<String>: Strings de nome/caminho de documento PDF armazenadas em uma coleção.

O método BarcodeReader.ReadPdf() também aceita PdfBarcodeReaderOptions para capacidades de leitura avançadas, discutidas na próxima seção. Veja como usar BarcodeReader.ReadPdf() para ler códigos de barras em documentos PDF:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-1.cs
using IronBarCode;
using System;
using System.Collections.Generic;

List<String> docs = new List<String>();
docs.Add(@"pdf_a.pdf");
docs.Add(@"pdf_b.pdf");

var myBarcode = BarcodeReader.ReadPdfs(docs);   //can also accept individual PDF document file path as argument

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}
$vbLabelText   $csharpLabel

Passe a string de caminho do arquivo PDF para BarcodeReader.ReadPdf() para ler valores de código de barras. Para mais exemplos de leitura de códigos de barras de diferentes fontes, confira nosso tutorial Lendo Códigos de Barras em C# / .NET. Para imprimir todos os valores de código de barras encontrados no PDF, percorra os resultados usando um loop foreach e chame ToString() em cada elemento. Este exemplo também demonstra o uso de uma coleção de nomes de documentos PDF como argumento do método.

Como posso ler múltiplos PDFs de uma vez?

IronBarcode fornece um método ReadPdfs para processar múltiplos PDFs simultaneamente. Este método extrai códigos de barras de uma lista de PDFs de maneira eficiente. Para lidar com múltiplos códigos de barras dentro de documentos, veja nosso guia sobre Ler Múltiplos Códigos de Barras.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-read-from-multiple-pdf.cs
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;

// Get all PDF files from a directory and add to list
string folderPath = @"PATH_TO_YOUR_FOLDER";
List<string> docs = new List<string>(Directory.GetFiles(folderPath, "*.pdf"));

// Read barcodes from all PDFs
var docResult = BarcodeReader.ReadPdfs(docs);

// Print results
foreach (var doc in docResult)
{
    foreach (var item in doc)
    {
        Console.WriteLine("Barcode " + item.ToString() + " found at page " + item.PageNumber);
    }
}
$vbLabelText   $csharpLabel

Esse código recupera todos os arquivos PDF de um diretório, os adiciona a um List<string>, e chama ReadPdfs com a lista como entrada. O método retorna um array de BarcodeResults. Percorra os resultados para acessar códigos de barras de cada PDF.

Como configuro as opções do leitor de códigos de barras de PDF?

Configure a leitura de códigos de barras de PDFs usando PdfBarcodeReaderOptions. Para uma explicação detalhada de todas as configurações do leitor, visite nosso exemplo Configurar Opções do Leitor de Códigos de Barras de PDF. Ajustar essas propriedades melhora a qualidade, precisão e desempenho. PdfBarcodeReaderOptions herda todas as propriedades de BarcodeReaderOptions e adiciona opções específicas para PDF. Especifique números de página ao instanciar PdfBarcodeReaderOptions:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-2.cs
using IronBarCode;
using System.Collections.Generic;

List<int> pageNumber = new List<int>() { 1, 2, 3 };

PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber)  // can also use individual page number as argument
{
    // Properties of PDF Barcode reader options
};
$vbLabelText   $csharpLabel

Explore as propriedades adicionais disponíveis em PdfBarcodeReaderOptions além daquelas herdadas de BarcodeReaderOptions.

Como a configuração de DPI afeta a leitura de códigos de barras?

Defina o DPI (Pontos por Polegada) das imagens de códigos de barras em documentos PDF. Isso melhora a leitura de códigos de barras de baixa qualidade. Use um valor inteiro. O DPI padrão é 150. Para códigos de barras menores ou de menor qualidade, aumente para 300 ou 600 para melhor reconhecimento. Valores de DPI mais altos aumentam o tempo de processamento e o uso de memória.

Quando Devo Especificar Números de Página?

Especifique números de página que contenham códigos de barras para melhorar o desempenho, especialmente para PDFs com várias páginas. IronBarcode pula páginas sem códigos de barras quando você fornece números de página específicos. A numeração das páginas começa em 1 (a primeira página é 1, não 0). Para técnicas de otimização com documentos grandes, veja nosso guia sobre Opções de Velocidade de Leitura.

Como devo lidar com PDFs protegidos por senha?

Trabalhe com arquivos PDF criptografados fornecendo a senha como uma entrada de String. IronBarcode não pode recuperar senhas de PDF. Certifique-se de ter as permissões necessárias e armazene as senhas de forma segura em sua aplicação.

Qual Fator de Escala Devo Usar para Pequenos Códigos de Barras?

Controle o fator de escala para largura e altura ao converter para imagens. Aceita um valor Integer com um padrão de 3.5. Fatores de escala mais altos ajudam a ler pequenos códigos de barras ampliando o PDF. Para códigos de barras com menos de 1 polegada, use fator de escala 5.0 ou superior. Fatores de escala altos impactam o desempenho.

Como Implemento Leitura Avançada de Código de Barras em PDFs?

Aplique propriedades PdfBarcodeReaderOptions em seu projeto para melhorar a leitura de códigos de barras de documentos PDF. Para dicas adicionais de solução de problemas quando códigos de barras não são reconhecidos, consulte nosso guia Código de Barras Não Reconhecido.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-3.cs
using IronBarCode;
using System;
using System.Collections.Generic;

List<int> pageNumber = new List<int>() { 1, 2, 3 };

PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber)
{
    DPI = 150,
    //PageNumbers = pageNumber,      //this property is not needed if page numbers has been specified as the argument in PdfBarcodeReaderOptions
    Password = "barcode",
    Scale = 3.5,
    //properties below are some of the properties inherited from BarcodeReaderOptions
    Speed = ReadingSpeed.Detailed,
    ExpectBarcodeTypes = BarcodeEncoding.Code93,
    ExpectMultipleBarcodes = true
};

var myBarcode = BarcodeReader.ReadPdf(@"pdf_a_filepath.pdf", PdfOptions);
foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}
$vbLabelText   $csharpLabel

Inicialize PdfBarcodeReaderOptions com um nome de variável para acessar e ajustar propriedades. Passe números de página como um argumento durante a inicialização para aplicar configurações a páginas específicas. Alternativamente, defina números de página usando a propriedade PageNumbers.

Use propriedades herdadas de BarcodeReaderOptions como ExpectMultipleBarcodes e ExpectBarcodeTypes para melhorar o desempenho e a precisão. Aplique PdfBarcodeReaderOptions configurado passando-o como o segundo argumento para BarcodeReader.ReadPdf(), com o caminho do arquivo PDF como o primeiro argumento.

Para processar PDFs com códigos de barras imperfeitos ou danificados, explore nossos recursos de Correção de Imagem que podem ser aplicados durante o processamento de PDFs.

Perguntas frequentes

Como posso ler códigos de barras de arquivos PDF em C#?

O IronBarcode fornece um método ReadPdf simples que permite ler códigos de barras diretamente de documentos PDF sem convertê-los em imagens primeiro. Você pode extrair dados de código de barras de PDFs com apenas uma linha de código: var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");

Que tipos de entrada PDF o leitor de código de barras aceita?

O método `BarcodeReader.ReadPdf()` da classe `IronBarcode` aceita diversos tipos de entrada PDF, incluindo: arrays de bytes, coleções de arrays de bytes, objetos `MemoryStream`, coleções de objetos `MemoryStream`, strings de caminho de arquivo e coleções de strings de caminho de arquivo. Essa flexibilidade permite trabalhar com PDFs de várias fontes.

Preciso converter PDFs em imagens antes de ler códigos de barras?

Não, o IronBarcode lê códigos de barras diretamente de documentos PDF sem exigir qualquer conversão para imagens. A biblioteca processa arquivos PDF nativamente, o que economiza tempo e preserva a qualidade original dos dados do código de barras.

Quais são os passos básicos para implementar a leitura de códigos de barras em PDF?

Para ler códigos de barras de PDFs usando o IronBarcode: 1) Instale a biblioteca de códigos de barras via NuGet, 2) Crie um objeto PdfBarcodeReaderOptions, se necessário, para configurações avançadas, 3) Use o método ReadPdf da classe BarcodeReader, 4) Opcionalmente, especifique opções de leitura adicionais usando o objeto BarcodeReaderOption e 5) Extraia os valores dos códigos de barras dos resultados.

Posso configurar opções avançadas de leitura para extração de código de barras em PDF?

Sim, o IronBarcode oferece recursos avançados de leitura por meio do PdfBarcodeReaderOptions. Isso permite personalizar o processo de leitura de código de barras com parâmetros e opções específicos para otimizar a detecção e a precisão para o seu caso de uso específico.

Que tipos de documentos podem se beneficiar da leitura de código de barras em PDF?

A leitura de códigos de barras em PDF do IronBarcode é ideal para automatizar fluxos de trabalho envolvendo faturas, etiquetas de envio, relatórios e quaisquer outros documentos comerciais que contenham dados de código de barras. Isso elimina a necessidade de leitura manual de códigos de barras impressos e agiliza o processamento de documentos.

Hairil Hashimi Bin Omar
Engenheiro de Software
Como todo grande engenheiro, Hairil é um ávido aprendiz. Ele está aprimorando seus conhecimentos em C#, Python e Java, usando esse conhecimento para agregar valor aos membros da equipe da Iron Software. Hairil ingressou na equipe da Iron Software vindo da Universiti Teknologi MARA, na Malásia, onde se formou em ...
Leia mais
Pronto para começar?
Nuget Downloads 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.