Como criar imagens de código de barras e código QR em C#

Como Criar Imagens de Código de Barras em C# com IronBarcode

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

IronBarcode permite que desenvolvedores .NET gerem imagens de códigos de barras e QR code em C# com uma única linha de código, suportando vários formatos e tipos de imagem. Construa sistemas de gerenciamento de inventário, aplicativos de varejo ou soluções de processamento de documentos com uma API robusta que cria códigos de barras de qualidade profissional para leitura confiável em todos os principais leitores.

Início Rápido: Crie e Salve um Código de Barras Code128 em Uma Linha

Use a API de uma linha do IronBarcode para criar um código de barras Code128 a partir de uma string e salvá-lo como uma imagem PNG. Comece imediatamente — forneça os dados, escolha a codificação e o tamanho e escreva seu arquivo de imagem.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

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

    IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");
  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

Como Eu Gero Códigos de Barras e Salvo como Arquivos de Imagem?

Além de ler códigos de barras, o IronBarcode permite que usuários escrevam códigos de barras com codificação mínima. Call the CreateBarcode() method from the BarcodeWriter class, specifying the barcode value, type, width, and height in the method parameters. Isso gera um objeto GeneratedBarcode, que pode ser salvo como um arquivo de imagem usando o método SaveAs().

Quais Tipos de Dados Posso Usar para Valores de Código de Barras?

O método BarcodeWriter.CreateBarcode() aceita múltiplos tipos de dados para valores de código de barras: byte[] array, MemoryStream e string. Os comprimentos das strings e os caracteres aceitos variam conforme o tipo de código de barras—veja nossa documentação da API para detalhes. Code128 suporta todo o conjunto de caracteres ASCII, enquanto UPC-A requer exatamente 12 dígitos numéricos. Para dados binários, use byte[] array para codificar estruturas de dados complexas.

Quais Tipos de Codificação de Código de Barras São Suportados?

IronBarcode suporta vários formatos de código de barras—veja nosso artigo de Formatos de Código de Barras Suportados para a lista completa. Formatos populares incluem:

  • Códigos de Barras Lineares/1D: Code128, Code39, UPC-A, UPC-E, EAN-8, EAN-13
  • Códigos de Barras 2D: QR Code, Data Matrix, PDF417, Aztec
  • Formatos Especializados: MaxiCode para envio, Databar para varejo

Cada formato tem usos específicos. Code128 lida bem com dados alfanuméricos gerais, enquanto QR codes oferecem melhor correção de erros para escaneamento móvel.

Como Configurações de Largura e Altura Afetam Meu Código de Barras?

Defina as dimensões da imagem de saída do código de barras em pixels. As medidas padrão são 250 px para ambos. Alguns tipos de códigos de barras (QR, PDF417) exigem dimensões específicas para conformidade. Quando as dimensões de entrada não correspondem aos requisitos, o código de barras é gerado em dimensões compatíveis, com espaços em branco preenchendo o espaço restante. Dimensões muito pequenas lançam uma exceção.

Para escaneamento ideal:

  • Códigos de barras lineares: Mantenha a largura significativamente maior que a altura
  • Códigos de barras 2D: Use dimensões quadradas para QR codes (ex: 250x250)
  • Qualidade de impressão: Dimensões de pixels maiores melhoram a qualidade da impressão em tamanhos físicos maiores

Para Quais Formatos de Imagem Posso Exportar Códigos de Barras?

O objeto GeneratedBarcode de BarcodeWriter.CreateBarcode() salva em vários formatos de imagem usando métodos específicos SaveAs():

  • SaveAsGif(): Salva como arquivo de imagem GIF
  • SaveAsJpeg(): Salva como arquivo de imagem JPEG
  • SaveAsPng(): Salva como arquivo de imagem PNG (recomendado para web)
  • SaveAsTiff(): Salva como arquivo de imagem TIFF (ideal para arquivamento/impressão)
  • SaveAsWindowsBitmap(): Salva como arquivo de imagem BMP
  • SaveAsImage(): Método geral—especifique a extensão do formato no caminho do arquivo

Além disso, exporte códigos de barras como fluxos para processamento em memória ou crie códigos de barras como documentos PDF para integração de documentos.

Como Eu Gero um Código de Barras e o Salvo Como um Arquivo de Imagem?

Use BarcodeWriter.CreateBarcode() para criar um código de barras Code128 e salvá-lo como uma imagem JPEG:

using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
using IronBarCode;

// Create a basic barcode
BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");

// Create a barcode with custom options
var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150);

// Apply styling
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(10);

// Save in multiple formats
myBarcode.SaveAsJpeg("product-barcode.jpg");
myBarcode.SaveAsPng("product-barcode.png");
$vbLabelText   $csharpLabel
Código de barras unidimensional gerado com barras verticais pretas mostrando o exemplo de saída do código de criação de código de barras

Para opções avançadas de estilo, veja nosso guia sobre customização de estilos de código de barras.

Como Eu Gero QR Codes e os Salvo Como Arquivos de Imagem?

QR codes, classificados como códigos de barras bidimensionais, são totalmente suportados pelo IronBarcode. A sua versatilidade, apelo estético e recursos personalizáveis impulsionaram a adoção generalizada desde menus de restaurantes até sistemas de pagamento.

Criar QR codes requer métodos diferentes devido à sua complexidade. Chame o método CreateQrCode() da classe QRCodeWriter, que aceita 4 argumentos: o valor do código de barras, tamanho de saída do código QR, campo enum QRCodeWriter.QrErrorCorrectionLevel e QRVersion.

Quais Tipos de Dados Posso Usar para Valores de QR Code?

QRCodeWriter.CreateQrCode() aceita valores numéricos, alfabéticos ou alfanuméricos como tipos byte[] array, MemoryStream ou System.String. Códigos QR são excelentes para armazenar:

  • URLs: Direcionar usuários para sites ou páginas de destino
  • Texto: Armazenar até 4.296 caracteres alfanuméricos
  • Dados binários: Codificar arquivos ou estruturas de dados complexas
  • Dados estruturados: vCards, credenciais de WiFi ou informações de pagamento

Para suporte ao Unicode e caracteres internacionais, veja nosso tutorial sobre códigos de barras em Unicode.

Como Defino o Tamanho do Código QR?

Especifique o tamanho do código QR diretamente como tipo Int32 em pixels (px). O tamanho padrão é 500 px. Considere estes fatores:

  • Meio de exibição: Exibições em tela geralmente precisam de 200-400px
  • Aplicações de impressão: Use 600px ou mais para impressão de qualidade
  • Distância de digitalização: Códigos maiores são melhores para digitalização de longas distâncias

O Que É o Nível de Correção de Erro do QR e Por Que É Importante?

QRErrorCorrectionLevel determina a tolerância a falhas, com quatro níveis: Máximo, Alto, Médio e Baixo. Níveis de correção mais altos criam códigos QR mais complexos que resistem a erros de leitura mesmo quando danificados ou parcialmente obstruídos.

NívelDeCorreçãoDeErroQR.Máximo

Gera o código QR mais complexo com 30% de correção de erro. Suporta estampagem de logotipo ou gráficos de imagem. Ideal para personalizar códigos QR com logotipos.

Código QR gerado com o mais alto nível de correção de erro mostrando padrão denso preto e branco com quadrados de posicionamento

NívelDeCorreçãoDeErroQR.Alto

Aplica 25% de correção de erro. Menos complexo que o nível Highest. Equilibra durabilidade com capacidade de dados.

Exemplo de código QR mostrando alto nível de correção de erro com padrão de dados denso e elementos de posicionamento padrão

NívelDeCorreçãoDeErroQR.Médio

Aplica 15% de correção de erro. Produz códigos QR mais rápidos, mas com mais suscetibilidade a erros. Adequado para a maioria das aplicações comerciais com impressão clara.

Exemplo de código QR gerado mostrando matriz de dados preta e branca com marcadores de posição de canto

NívelDeCorreçãoDeErroQR.Baixo

Aplica 7% de correção de erro, criando o código QR menos complexo. Use quando a capacidade máxima de dados é necessária com condições de digitalização ótimas.

Exemplo de código QR gerado com baixo nível de correção de erro mostrando padrão padrão de módulos preto e branco

Quando Devo Usar Diferentes Versões de QR?

A Versão de QR (1-40) determina a complexidade do símbolo e a capacidade de dados. Versões mais altas produzem códigos mais complexos que armazenam mais dados. Definir a versão muito baixa causa problemas ao codificar grandes quantias de dados. A versão 0 atribui automaticamente a versão apropriada com base no valor codificado. See QR Version for more information.

Como Crio uma Imagem de Código QR com Configurações Específicas?

Use QRCodeWriter.CreateQrCode() para escrever um código QR e salvá-lo como uma imagem:

using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
using IronBarCode;

// Basic QR code creation
QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");

// Advanced QR code with custom styling
var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add logo and styling
qrCode.AddLogo("logo.png");
qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);

// Save in multiple formats
qrCode.SaveAsPng("styled-qr.png");
qrCode.SaveAsPdf("styled-qr.pdf");
$vbLabelText   $csharpLabel
Exemplo de código QR mostrando nível médio de correção de erro com padrões de busca padrão e estrutura de codificação de dados

O código codifica um valor alfanumérico a 250 pixels com correção de erro média. A versão 0 permite que o programa selecione a versão de código QR apropriada. SaveAsJpeg() aceita o nome do arquivo com extensão JPEG.

Melhores Práticas para Geração de Imagens de Código de Barra

Para aplicações de produção:

  1. Escolha o formato certo: PNG para web, TIFF para arquivamento, JPEG para uso geral
  2. Testar digitalização: Verifique códigos de barras com vários dispositivos de digitalização
  3. Aplicar margens adequadas: Use configurações de margem de código de barras para digitalização confiável
  4. Considere o desempenho: Explore opções de async e multithreading para geração em grande volume

Para exemplos adicionais e técnicas, visite nosso tutorial Gerador de Imagens de Código de Barras em C#.

Perguntas frequentes

Como posso criar uma imagem de código de barras em C# usando uma única linha de código?

Com o IronBarcode, você pode criar uma imagem de código de barras em uma única linha usando o método BarcodeWriter.CreateBarcode(). Basta passar seus dados, o tipo de codificação, a largura e a altura e, em seguida, salvá-la como um arquivo de imagem. Por exemplo: IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");

Que tipos de dados posso codificar em códigos de barras?

O método `BarcodeWriter.CreateBarcode()` da classe `IronBarcode` aceita diversos tipos de dados, incluindo arrays de bytes, `MemoryStreams` e strings. O comprimento das strings e os caracteres aceitos variam de acordo com o tipo de código de barras: o Code128 suporta o conjunto completo de caracteres ASCII, enquanto o UPC-A exige exatamente 12 dígitos numéricos. Para dados binários, você pode usar arrays de bytes para codificar estruturas de dados complexas.

Quais formatos de código de barras são suportados para geração de imagens?

O IronBarcode suporta diversos formatos de código de barras, incluindo códigos de barras lineares/1D (Code128, Code39, UPC-A, UPC-E, EAN-8, EAN-13), códigos de barras 2D (QR Code, Data Matrix, PDF417, Aztec) e formatos especializados como MaxiCode para remessas e Databar para varejo. Cada formato atende a usos específicos: o Code128 lida com dados alfanuméricos gerais, enquanto os códigos QR oferecem correção de erros superior para leitura em dispositivos móveis.

Como faço para definir as dimensões da minha imagem de código de barras?

Você pode definir as dimensões da imagem do código de barras em pixels diretamente nos parâmetros do método CreateBarcode(). O IronBarcode usa medidas padrão de 250px para largura e altura. Alguns tipos de código de barras, como QR e PDF417, podem exigir dimensões específicas para conformidade, e a biblioteca se ajusta automaticamente quando as dimensões de entrada não correspondem aos requisitos.

Em que formatos de arquivo de imagem posso salvar meus códigos de barras gerados?

O IronBarcode permite salvar códigos de barras gerados em vários formatos de imagem usando o método SaveAs(). Você pode salvar como PNG usando SaveAsPng(), bem como em outros formatos comuns como JPEG, BMP e TIFF. O objeto GeneratedBarcode retornado por CreateBarcode() fornece vários métodos de salvamento para diferentes tipos de arquivo.

Posso gerar códigos QR além dos códigos de barras tradicionais?

Sim, o IronBarcode oferece suporte completo à geração de códigos QR, além dos códigos de barras tradicionais. Você pode criar códigos QR usando o mesmo método CreateBarcode() especificando BarcodeEncoding.QRCode como o tipo de codificação. Os códigos QR oferecem vantagens como correção de erros superior e são ideais para aplicativos de leitura em dispositivos móveis.

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.