Reconheça e gere códigos de barras QR Code usando o VintaSoft Barcode .NET SDK

Categoria do blog: Código de barras.NET

24.06.2025

O VintaSoft Barcode .NET SDK é um SDK multiplataforma profissional para Windows, Linux e macOS, que permite reconhecer e gerar códigos de barras QR Code em .NET, WPF, Web e MAUI. Você só precisa de algumas linhas de código para adicionar a capacidade de reconhecer e gerar códigos de barras QR Code ao seu aplicativo .NET.

O que é um código de barras QR Code?

O QR Code é um código de barras matricial bidimensional, sendo o código de barras bidimensional mais utilizado no mundo. O nome deste código de barras reflete a ideia por trás de seu desenvolvimento: "Resposta Rápida", reconhecimento rápido em qualquer ângulo de inclinação. Uma característica distintiva do código de barras QR Code são os padrões de busca claramente identificáveis ​​- quadrados pretos nos cantos do código de barras:


Características do código de barras QR Code

Todos os fabricantes modernos utilizam códigos de barras QR Code, que são descritos na norma ISO/IEC 18004. A norma AIM ITS/97-001 descreve o QR Code Modelo 1, uma versão desatualizada do código de barras, cujo uso não é recomendado.

O código de barras QR Code pode armazenar dados mistos de vários tipos em quatro modos de codificação:

O código de barras QR Code utiliza o algoritmo de correção de erros Reed-Solomon, que permite o reconhecimento de códigos de barras danificados. Ao criar um código de barras, um dos 4 níveis de correção de erros é selecionado dependendo das condições de uso esperadas: quanto maior o nível de correção de erros, menos dados podem ser colocados no código de barras.


A estrutura da matriz do código de barras

As matrizes de código de barras QR e Micro QR têm a seguinte estrutura:



O que é um código de barras Micro QR?

O código de barras Micro QR é uma versão compacta do código de barras QR Code. O código de barras Micro QR é geralmente usado para marcar embalagens pequenas:


O código de barras Micro QR possui apenas um padrão de pesquisa. A quantidade de dados neste código de barras é muito limitada:


O que é um código de barras "GS1 QR"?

"O código de barras "GS1 QR" é um código de barras QR que armazena valores no formato de dados do sistema GS1. O VintaSoft Barcode .NET SDK pode gerar e reconhecer códigos de barras "GS1 QR".
Aqui está uma imagem do código de barras "GS1 QR":


O que é um código de barras "GS1 Digital Link QR"?

"O código de barras "GS1 Digital Link QR" é um código de barras QR que armazena valores no formato GS1 Digital Link. O VintaSoft Barcode .NET SDK pode gerar e reconhecer códigos de barras "GS1 Digital Link QR".
Aqui está uma imagem do código de barras "GS1 Digital Link QR":


O que é um código de barras "XFA Compressed QR"?

O código de barras "XFA Compressed QR" é um código de barras QR que armazena dados comprimidos de acordo com a especificação Adobe XFA. O VintaSoft Barcode .NET SDK pode gerar e reconhecer códigos de barras "XFA Compressed QR".
Aqui está uma imagem do código de barras "XFA Compressed QR":


O que é um código de barras "Swiss QR Code"?

O código de barras "Swiss QR Code" é um subconjunto do código de barras QR usado em faturas na Suíça e em Liechtenstein desde 1º de outubro de 2022. O VintaSoft Barcode .NET SDK pode gerar e reconhecer códigos de barras "Swiss QR Code"..
Aqui está uma imagem do código de barras "Swiss QR Code":


O que é o código de barras "HIBC LIC QR Code"?

O código de barras "HIBC LIC QR Code" é um subconjunto do código de barras QR Code usado para conformidade com o UDI de dispositivos médicos, identificando fabricantes, produtos e lotes. O VintaSoft Barcode .NET SDK pode gerar e reconhecer códigos de barras "HIBC LIC QR Code".
Aqui está uma imagem do código de barras "HIBC LIC QR Code":


Símbolo especial "Anexo de estrutura"

O código de barras QR Code suporta um símbolo especial chamado "Anexo de estrutura", que permite dividir os dados em vários códigos de barras QR Code. O símbolo é codificado no código de barras e permite determinar claramente o número de partes do código de barras e sua ordem. Esse recurso pode ser usado para marcar uma área alongada ou para inserir uma grande quantidade de dados.


O VintaSoft Barcode .NET SDK permite dividir dados e gerar vários códigos de barras QR Code vinculados pelo símbolo "Anexar estrutura". O SDK também contém um algoritmo para restaurar dados de um conjunto de códigos de barras QR Code divididos usando o símbolo "Anexar estrutura".


Quais códigos de barras QR Code o VintaSoft Barcode .NET SDK reconhece?

O VintaSoft Barcode .NET SDK reconhece todos os tipos de códigos de barras QR e Micro QR. Algoritmos exclusivos são usados ​​para o reconhecimento, permitindo identificar rapidamente códigos de barras com diversos problemas:


Aqui está um código C# que demonstra como reconhecer códigos de barras QR Code em uma imagem capturada por uma câmera:
/// <summary>
/// Reads QR Code barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadQRCodeBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
    // create barcode reader
    using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
    {
        // specify that reader must search for QR Code barcodes
        reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.QR;

        // read barcodes from image
        Vintasoft.Barcode.IBarcodeInfo[] infos = Vintasoft.Barcode.GdiExtensions.ReadBarcodes(reader, bitmap);

        // if barcodes are not detected
        if (infos.Length == 0)
        {
            System.Console.WriteLine("No barcodes found.");
        }
        // if barcodes are detected
        else
        {
            // get information about extracted barcodes

            System.Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
            System.Console.WriteLine();
            for (int i = 0; i < infos.Length; i++)
            {
                Vintasoft.Barcode.IBarcodeInfo info = infos[i];
                System.Console.WriteLine(string.Format("[{0}:{1}]", i + 1, info.BarcodeType));
                System.Console.WriteLine(string.Format("Value:      {0}", info.Value));
                System.Console.WriteLine(string.Format("Region:     {0}", info.Region));
                System.Console.WriteLine();
            }
        }
    }
}


Quais códigos de barras QR Code o VintaSoft Barcode .NET SDK pode gerar?

O VintaSoft Barcode .NET SDK gera todos os tipos de códigos de barras QR e Micro QR.

Aqui está um código C# que demonstra como gerar uma imagem raster de um código de barras QR:
/// <summary>
/// Returns the QR Code barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetQRCodeBarcodeAsBitmap(string value)
{
    // create the barcode writer
    using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
    {
        // set barcode writer settings
        barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.QR;
        barcodeWriter.Settings.Value = value;

        // get a barcode image as System.Drawing.Bitmap
        return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
    }
}


Aqui está um código C# que demonstra como gerar uma imagem raster de um código de barras Micro QR:
/// <summary>
/// Returns the Micro QR barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetMicroQRBarcodeAsBitmap(string value)
{
    // create the barcode writer
    using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
    {
        // set barcode writer settings
        barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.MicroQR;
        barcodeWriter.Settings.Value = value;

        // get a barcode image as System.Drawing.Bitmap
        return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
    }
}


Aqui está um código C# que demonstra como gerar uma imagem vetorial (SVG) de um código de barras QR:
/// <summary>
/// Returns the QR Code barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetQrCodeBarcodeAsSvgString(string barcodeValue)
{
    // create the barcode writer
    using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
    {
        // set barcode writer settings
        barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.QR;
        barcodeWriter.Settings.Value = barcodeValue;

        // generate QR Code barcode as a SVG string
        return barcodeWriter.GetBarcodeAsSvgFile();
    }
}