Como Ler Códigos de Barras de PDFs em C
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.
-
Instale IronBarcode com o Gerenciador de Pacotes NuGet
PM > Install-Package BarCode -
Copie e execute este trecho de código.
var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita
Quais são as etapas básicas para ler códigos de barras em PDF?
- 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.
- Crie
PdfBarcodeReaderOptionsse necessário. - Use o método
ReadPdfdoBarcodeReaderpara ler códigos de barras de PDFs. - Especifique opções adicionais de leitura de código de barras usando
BarcodeReaderOption. - 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());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Private docs As New List(Of String)()
docs.Add("pdf_a.pdf")
docs.Add("pdf_b.pdf")
Dim myBarcode = BarcodeReader.ReadPdfs(docs) 'can also accept individual PDF document file path as argument
For Each value In myBarcode
Console.WriteLine(value.ToString())
Next value
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);
}
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Imports System.IO
' Get all PDF files from a directory and add to list
Dim folderPath As String = "PATH_TO_YOUR_FOLDER"
Dim docs As New List(Of String)(Directory.GetFiles(folderPath, "*.pdf"))
' Read barcodes from all PDFs
Dim docResult = BarcodeReader.ReadPdfs(docs)
' Print results
For Each doc In docResult
For Each item In doc
Console.WriteLine("Barcode " & item.ToString() & " found at page " & item.PageNumber)
Next
Next
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
};
Imports IronBarCode
Imports System.Collections.Generic
Private pageNumber As New List(Of Integer)() From {1, 2, 3}
Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber)
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());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Private pageNumber As New List(Of Integer)() From {1, 2, 3}
Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber) With {
.DPI = 150,
.Password = "barcode",
.Scale = 3.5,
.Speed = ReadingSpeed.Detailed,
.ExpectBarcodeTypes = BarcodeEncoding.Code93,
.ExpectMultipleBarcodes = True
}
Private myBarcode = BarcodeReader.ReadPdf("pdf_a_filepath.pdf", PdfOptions)
For Each value In myBarcode
Console.WriteLine(value.ToString())
Next value
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.

