Como gerar códigos QR e códigos de barras em C# for .NET 5 usando o Iron Barcode

Barcodes & QRs in C# & VB.NET Applications

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

A leitura e escrita de códigos de barras em C# e todas as outras linguagens .NET é um processo fácil com nossa biblioteca de software IronBarcode.

Instalar IronBarcode

O primeiro passo da jornada será a instalação do IronBarcode, que pode ser feita baixando do NuGet ou baixando o DLL.

Para instalar o pacote NuGet do IronBarcode, você pode usar o Gerenciador de Pacotes NuGet para Visual Studio:

Install-Package BarCode

Alternativamente, você também pode instalar com o CLI dotnet:

dotnet add package IronBarCode

Lendo um Código de Barra ou QR

Ler um código de barras requer apenas uma linha de código com o IronBarcode.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-1.cs
using IronBarCode;

BarcodeResults results = BarcodeReader.Read("QuickStart.jpg");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine(result.Text);
    }
}
$vbLabelText   $csharpLabel

Com esta única linha de código, você tem a capacidade de detectar e escanear todos os tipos de códigos de barras do documento de entrada com desempenho excepcional—tudo que você precisa em um passo! Este método suporta uma ampla variedade de formatos de imagem, como JPEG, PNG e BMP, bem como PDFs e formatos multi-frame como GIF e TIFF. Para desempenho aprimorado, opções de configuração personalizáveis estão disponíveis.

Para melhorar a velocidade de leitura, você pode criar um objeto BarcodeReaderOptions com a configuração Speed configurada para melhor desempenho. O padrão é Balanced, mas a opção Faster está disponível para pular certas verificações.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-2.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    CropArea = new System.Drawing.Rectangle(100, 200, 300, 400),
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
$vbLabelText   $csharpLabel

Você também pode definir o ScanMode para OnlyBasicScan para otimizar o processo de leitura.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-3.cs
using IronBarCode;

BarcodeResults results = BarcodeReader.Read("MultipleBarcodes.png");

// Loop through the results
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    Bitmap img = result.BarcodeImage;
    BarcodeEncoding barcodeType = result.BarcodeType;
    byte[] binary = result.BinaryValue;
    Console.WriteLine(result.Value);
}
$vbLabelText   $csharpLabel

Outras configurações incluem especificar os formatos de código de barras para procurar, o que pode ajudar a acelerar o processamento reduzindo escaneamentos desnecessários.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-4.cs
using IronBarCode;

BarcodeResults pagedResults = BarcodeReader.Read("MultipleBarcodes.pdf");

// Loop through the results
foreach (BarcodeResult result in pagedResults)
{
    int pageNumber = result.PageNumber;
    string value = result.Value;
    Bitmap img = result.BarcodeImage;
    BarcodeEncoding barcodeType = result.BarcodeType;
    byte[] binary = result.BinaryValue;
    Console.WriteLine(result.Value);
}

// or from a multi-page  TIFF scan with image correction:
BarcodeResults multiFrameResults = BarcodeReader.Read(inputImage: "Multiframe.tiff", new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    Multithreaded = false,
    RemoveFalsePositive = false,
    ImageFilters = null
});
$vbLabelText   $csharpLabel

Escrevendo Códigos de Barra

Para escrever códigos de barras usando o IronBarcode, usamos a classe BarcodeWriter.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-5.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.SaveAsImage("myBarcode.png");
$vbLabelText   $csharpLabel

Estilizando Códigos de Barra

O IronBarcode oferece várias opções para manipular a representação visual de um código de barras.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-7.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.AddAnnotationTextAboveBarcode("Product URL:");
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(100);
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple);

// All major image formats supported as well as PDF and HTML
myBarcode.SaveAsPng("myBarcode.png");
$vbLabelText   $csharpLabel

Exportando Código de Barras como HTML

O IronBarcode pode exportar códigos de barras como documentos HTML ou como parte de conteúdo HTML.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-8.cs
using IronBarCode;

QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPdf("MyQR.pdf");
$vbLabelText   $csharpLabel

Gerando Códigos QR

Para códigos QR, use a classe QRCodeWriter que fornece configuração adicional para recursos específicos de QR, como correção de erros.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-9.cs
using IronBarCode;
using IronSoftware.Drawing;

QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf");
$vbLabelText   $csharpLabel

Formatos de Código de Barra Suportados

O IronBarcode suporta uma ampla variedade de formatos de código de barras comumente usados para leitura e escrita:

  • QR, Micro QR e códigos Rectangular Micro QR (rMQR).
  • Outros códigos de barras bidimensionais, como Aztec, Data Matrix, MaxiCode e PDF417.
  • Códigos de barras lineares empilhados, como Databar.
  • Formatos de códigos de barras unidimensionais convencionais, como UPC-A, UPC-E, EAN-8, EAN-13, Codabar, ITF, MSI e Plessey.

Por que escolher IronBarcode?

IronBarcode oferece uma API amigável e fácil de usar para desenvolvedores lerem e escreverem códigos de barras for .NET, otimizando para precisão, exatidão e velocidade em casos de uso real.

A classe BarcodeWriter, por exemplo, valida e corrige automaticamente 'checksums' em códigos de barras UPCA e UPCE, e lida com restrições de formato numérico. IronBarcode ajuda os desenvolvedores a escolher o formato de código de barras mais adequado para seus dados.

A biblioteca é robusta, com técnicas de pré-processamento de imagem, como rotação automática e remoção de ruído, para maximizar as taxas de sucesso na detecção de códigos de barras.

Seguindo em frente

Para aproveitar ao máximo o IronBarcode, recomendamos que você leia os tutoriais nesta seção de documentação e nos visite no GitHub.

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 ...

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.