Ir para o conteúdo do rodapé
COMPARAR COM OUTROS COMPONENTES

Uma comparação entre IronBarcode e QRCoder em C#

Neste tutorial, compararemos duas bibliotecas C# amplamente utilizadas - IronBarcode e QrCoder - para trabalhar com códigos QR e códigos de barras.

Vamos começar com uma breve introdução a ambas as bibliotecas:

IronBarcode

IronBarcode é uma biblioteca criada e mantida pela Iron Software que permite que engenheiros de software C# leiam e escrevam códigos de barras e códigos QR em aplicativos e sites .NET. Está disponível no NuGet para todos os Frameworks .NET e .NET Core. IronBarcode requer apenas uma linha de código para ler ou escrever códigos de barras.

QrCoder

QRCoder é uma biblioteca C# simples que permite criar códigos QR. Não tem dependências de outras bibliotecas e está disponível no NuGet nas versões PCL do .NET Framework e .NET Core.

Ambas as bibliotecas devem ter os seguintes recursos principais:

  • Digitalizar código QR
  • Digitalizar código de barras
  • Gerar código QR
  • Gerar código de barras

Implementaremos todas essas funcionalidades de ambas as bibliotecas e compararemos seu desempenho.

Primeiro, vamos instalar ambas as bibliotecas em nosso projeto do Visual Studio. Como ambas as bibliotecas têm seus próprios pacotes NuGet, vamos instalá-las através do Console do Gerenciador de Pacotes NuGet.

Instalar IronBarcode

Para instalar o IronBarcode, digite o seguinte comando no Console do Gerenciador de Pacotes:

Install-Package BarCode

Isso instalará a biblioteca IronBarcode em nosso projeto.

A Comparison Between IronBarcode and QrCoder C# - Figure 1: Instalando IronBarcode

Instalando IronBarcode

Instalar QrCoder

Digite o seguinte comando no Console do Gerenciador de Pacotes:

Install-Package QRCoder

Isso instalará a biblioteca QrCoder em nosso projeto.

A Comparison Between IronBarcode and QrCoder C# - Figure 2: Instalando QrCoder

Instalando QrCoder

Agora, vamos gerar nosso primeiro código QR usando ambas as bibliotecas.

Gerar códigos QR usando IronBarcode

O código a seguir gerará um código QR.

using System;
using System.Diagnostics;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Create a stopwatch to measure the execution time
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();

        // Generate a QR code
        var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");

        // Save the generated QR code as a PNG file
        qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode.png");

        // Stop the stopwatch and output the execution time
        stopwatch.Stop();
        Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
    }
}
using System;
using System.Diagnostics;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Create a stopwatch to measure the execution time
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();

        // Generate a QR code
        var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");

        // Save the generated QR code as a PNG file
        qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode.png");

        // Stop the stopwatch and output the execution time
        stopwatch.Stop();
        Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
    }
}
$vbLabelText   $csharpLabel

A instância Stopwatch é criada para medir o tempo de execução do programa para analisar a eficiência da biblioteca.

A Comparison Between IronBarcode and QrCoder C# - Figure 3: IronBarcode Result

Código de Barras Gerado a partir do IronBarcode

Tempo de Execução do IronBarcode

IronBarcode leva 3503 ms para gerar e salvar um Código QR.

A Comparison Between IronBarcode and QrCoder C# - Figure 4: Execution Time

Tempo de execução do IronBarcode para gerar novos Códigos de Barras

Criar um código QR com QRCoder

O código de exemplo a seguir gerará um código QR usando QrCoder.

using System;
using System.Drawing;
using QRCoder;

class Program
{
    static void Main()
    {
        // Initialize the QRCodeGenerator
        QRCodeGenerator qrGenerator = new QRCodeGenerator();

        // Generate QRCodeData with specified error correction level
        QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);

        // Create QRCode object
        QRCode qrCode = new QRCode(qrCodeData);

        // Convert QRCode to Bitmap
        Bitmap qrCodeImage = qrCode.GetGraphic(20);

        // Save the QR code as a PNG file
        qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
    }
}
using System;
using System.Drawing;
using QRCoder;

class Program
{
    static void Main()
    {
        // Initialize the QRCodeGenerator
        QRCodeGenerator qrGenerator = new QRCodeGenerator();

        // Generate QRCodeData with specified error correction level
        QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);

        // Create QRCode object
        QRCode qrCode = new QRCode(qrCodeData);

        // Convert QRCode to Bitmap
        Bitmap qrCodeImage = qrCode.GetGraphic(20);

        // Save the QR code as a PNG file
        qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
    }
}
$vbLabelText   $csharpLabel

QrCoder não fornece uma função embutida para salvar o código QR como uma imagem. No entanto, podemos salvá-lo convertendo o QrCoder em um objeto Bitmap. Em seguida, podemos salvar o código QR usando a função de salvar fornecida pelo Bitmap.

A Comparison Between IronBarcode and QrCoder C# - Figure 5: QR Coder Result

Código de barras gerado pelo QrCoder

Tempo de Execução do QrCoder

QrCoder leva 592 ms para gerar e salvar um Código QR.

A Comparison Between IronBarcode and QrCoder C# - Figure 6: QrCoder's Execution Time

O tempo que o QrCoder levou para gerar um novo código de barras

Análise

O tempo de execução tomado pelo IronBarcode é de 3503 ms, enquanto o QrCoder leva apenas 592 ms. Isso torna o QrCoder mais rápido do que o IronBarcode em termos de desempenho.

Gerar códigos QR é muito mais simples no IronBarcode, pois precisamos apenas escrever duas linhas de código. Com a biblioteca QrCoder, são necessárias cinco linhas de código.

IronBarcode também fornece uma função embutida para salvar os códigos QR gerados em um arquivo, enquanto o QrCoder não. Precisamos criar um objeto bitmap para salvar o código QR em um arquivo. Isso requer a criação de quatro objetos para gerar códigos QR usando o QrCoder. Precisamos apenas criar um objeto no IronBarcode para fazer a mesma coisa.

Em seguida, vamos gerar códigos de barras usando ambas as bibliotecas.

Gerar um Código de Barras usando IronBarcode

O código a seguir irá gerar um código de barras usando IronBarcode:

using IronBarCode;

class Program
{
    static void Main()
    {
        // Generate a barcode with Code128 encoding
        var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);

        // Save the generated barcode as a PNG file
        barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
    }
}
using IronBarCode;

class Program
{
    static void Main()
    {
        // Generate a barcode with Code128 encoding
        var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);

        // Save the generated barcode as a PNG file
        barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
    }
}
$vbLabelText   $csharpLabel
A Comparison Between IronBarcode and QrCoder C# - Figure 7: Código de barras gerado usando IronBarcode

Código de barras gerado usando IronBarcode

O tempo de execução para gerar um código de barras usando IronBarcode está abaixo:

A Comparison Between IronBarcode and QrCoder C# - Figure 8: Execution time for IronBarcode to generate a new Barcode

Tempo de geração de Código de Barras do IronBarcode

Leva 3756 ms ou 3,76 segundos para gerar um código de barras.

Gerar um código de barras usando QrCoder

Vale a pena notar que a biblioteca QrCoder não fornece a funcionalidade para criar códigos de barras. Portanto, se você precisar criar códigos de barras, o IronBarcode é a melhor opção.

No que diz respeito à leitura de código QR, vamos ver qual biblioteca é a melhor opção.

Ler um Código QR usando IronBarcode

O código a seguir irá ler um código QR usando IronBarcode.

using System;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Read QR code from an image file
        BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");

        // Check if any QR codes are found
        if (results != null)
        {
            // Loop through each result and print extracted text
            foreach (BarcodeResult result in results)
            {
                Console.WriteLine("Extracted text from QR Code is: " + result.Text);
            }
        }
    }
}
using System;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Read QR code from an image file
        BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");

        // Check if any QR codes are found
        if (results != null)
        {
            // Loop through each result and print extracted text
            foreach (BarcodeResult result in results)
            {
                Console.WriteLine("Extracted text from QR Code is: " + result.Text);
            }
        }
    }
}
$vbLabelText   $csharpLabel

IronBarcode retorna um Enumerable como resultado de ler códigos QR. Precisamos percorrer o Enumerable para recuperar cada resultado. Este recurso é benéfico para ler códigos QR de um documento ou de uma imagem que tenha mais de um código QR.

A Comparison Between IronBarcode and QrCoder C# - Figure 9: IronBarcode's QR Code Scanning Execution Time

O tempo que o IronBarcode leva para ler/escanejar todos os códigos QR de um documento

Leva 3136 ms ou 3,1 segundos usando IronBarcode.

Ler um Código QR usando QrCoder

A Biblioteca QrCoder não fornece a funcionalidade para ler ou escanear um Código QR.

Ler um Código de Barras usando IronBarcode

O código a seguir irá escanear o código de barras usando IronBarcode.

using System;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Read barcode from an image file
        BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");

        // Check if any barcodes are found
        if (results != null)
        {
            // Loop through each result and print extracted text
            foreach (BarcodeResult result in results)
            {
                Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
            }
        }
    }
}
using System;
using IronBarCode;

class Program
{
    static void Main()
    {
        // Read barcode from an image file
        BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");

        // Check if any barcodes are found
        if (results != null)
        {
            // Loop through each result and print extracted text
            foreach (BarcodeResult result in results)
            {
                Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
            }
        }
    }
}
$vbLabelText   $csharpLabel

IronBarcode retorna Enumerable como resultado de ler códigos de barras. Precisamos iterar sobre ele para obter cada resultado. É benéfico para ler Código de Barras de um documento ou imagem que tenha mais de um código de barras.

A saída gerada pelo código acima é a seguinte:

A Comparison Between IronBarcode and QrCoder C# - Figure 10: Execution time for IronBarcode Scan one or more barcodes

O tempo que o IronBarcode leva para escanear um código de barras contido em um PDF ou imagem

Ler um Código de Barras usando QrCoder

A Biblioteca QrCoder não fornece a funcionalidade de ler ou escanear Código QR.

Agora, vamos discutir as opções de licença de ambas as bibliotecas.

Licenciamento

Licenciamento para IronBarcode

IronBarcode é gratuito para desenvolvimento. No entanto, requer uma licença para implantação fora do ambiente de desenvolvimento do Visual Studio. O preço da licença varia de $liteLicense a $unlimitedLicense (USD). Você pode obter um desconto se comprar o Iron Suite completo.

A Comparison Between IronBarcode and QrCoder C# - Figure 11: Iron Licenses

Check out IronBarcode's [licensing page](/csharp/barcode/licensing/) for more information about available licenses.

Licenciamento para QrCoder

QrCoder é de código aberto, portanto não requer qualquer licenciamento. Você é livre para usá-lo em qualquer tipo de ambiente. Você também pode contribuir para o seu código-fonte se gostar de desenvolvimento open-source.

Quando usar QrCoder

Se precisarmos apenas da funcionalidade de gerar códigos QR, o QRCoder é a melhor opção a usar, pois é gratuito e não requer qualquer pagamento ou taxa de assinatura.

Quando usar IronBarcode

IronBarcode é uma ótima opção quando precisamos de funcionalidades além de gerar códigos QR, como:

  • Ler códigos de barras e códigos QR únicos ou múltiplos de imagens ou PDFs.
  • Correção de imagem para distorção, orientação, ruído, baixa resolução, contraste, etc.
  • Criar códigos de barras e aplicá-los em imagens ou documentos PDF.
  • Embutir códigos de barras em documentos HTML.
  • Estilizar códigos de barras e adicionar texto de anotação.
  • Escrita de código QR que permite adicionar logos, cores e alinhamento avançado de QR.

Resumo

A tabela abaixo compara o IronBarcode e o QrCoder.

A Comparison Between IronBarcode and QrCoder C# - Figure 12: Comparing the two libraries

Comparação lado a lado de IronBarcode e QrCoder

Conclusão

IronBarcode for .NET permite aos desenvolvedores ler e escrever códigos de barras e códigos QR em suas aplicações .NET usando apenas uma linha de código. A biblioteca suporta a maioria dos padrões de códigos de barras e códigos QR, incluindo 39/93/128, UPC A/E, EAN 8/13 e QR, entre outros. A biblioteca pré-processa automaticamente as imagens de código de barras e oferece correção para rotação, ruído, distorção e inclinação para melhorar a velocidade e a precisão. IronBarcode é compatível com sistemas de 32 e 64 bits, todas as linguagens .NET e uma variedade de plataformas, incluindo desktop, console, nuvem e aplicações móveis e web. Também permite aos desenvolvedores escrever códigos de barras e códigos QR para documentos PDF, JPG, TIFF, GIF, BMP, PNG e HTML, e modificar a cor do texto, tamanho, rotação e qualidade. A biblioteca é segura e não utiliza serviços web nem envia dados pela internet. IronBarcode está disponível para um teste gratuito e oferece três opções de licenciamento, incluindo uma versão Lite para uso individual, um pacote Professional para equipes de até 10 desenvolvedores e um pacote Unlimited para empresas.

QRCoder é uma biblioteca C# .NET que gera códigos QR com base na ISO/IEC 18004 sem dependências de outras bibliotecas. Oferece várias classes de renderização de códigos QR, incluindo QRCode, ArtQRCode, AsciiQRCode e outras. No entanto, nem todos os renderizadores estão disponíveis em todos os frameworks-alvo, e as versões .NET Standard/.NET >=5.0 têm algumas restrições. QRCoder é gratuito e não requer licenciamento.

IronBarcode é mais versátil do que o QRCoder, pois oferece suporte para todas as versões do .NET Framework, tem uma gama mais ampla de recursos e fornece cobertura para a Redistribuição SaaS e OEM. IronBarcode também oferece documentação abrangente e suporte 24/7, enquanto o QRCoder não. IronBarcode tem uma taxa de licenciamento, mas é razoável considerando os recursos e o suporte que oferece.

IronBarcode é uma biblioteca desenvolvida pela Iron Software, que também oferece outras bibliotecas úteis, incluindo IronPDF, IronXL, IronOCR e IronWebScraper. Compre o Iron Suite completo para obter todos os cinco produtos com um desconto notável.

Em resumo, IronBarcode é mais adequado para aqueles que precisam trabalhar com códigos de barras e códigos QR e desejam criar um gerador de código de barras, gerador de código QR, leitor de código de barras e leitor de código QR. Por outro lado, o QRCoder é adequado para quem precisa apenas criar um gerador de código QR.

{i:(QrCoder é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo QrCoder. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Como posso gerar códigos QR em C#?

Para gerar códigos QR em C#, você pode usar a biblioteca QrCoder, que é simples e de código aberto. Como alternativa, você pode usar o IronBarcode para recursos mais avançados, como estilização de códigos QR e integração em documentos.

Quais são as vantagens de usar o IronBarcode em vez do QR Coder?

O IronBarcode oferece funcionalidades abrangentes, como leitura de códigos de barras e códigos QR, correção de imagens e incorporação de códigos de barras em PDFs e outros documentos. É ideal para projetos que exigem operações complexas com códigos de barras e códigos QR.

Existe alguma biblioteca gratuita para gerar códigos QR em C#?

Sim, o QrCoder é uma biblioteca gratuita e de código aberto para gerar códigos QR em C#. Não requer licença, o que a torna uma opção econômica para a geração simples de códigos QR.

Posso ler códigos QR usando o QrCoder?

Não, o QrCoder não suporta a leitura ou digitalização de códigos QR. Para ler códigos QR, você pode usar o IronBarcode, que oferece essa funcionalidade e outros recursos adicionais.

Como faço para instalar uma biblioteca de código QR em um projeto .NET?

Você pode instalar o QRCoder usando o Console do Gerenciador de Pacotes NuGet com o comando Install-Package QRCoder . Para o IronBarcode, use Install-Package IronBarcode .

Qual é a diferença de tempo de execução entre o IronBarcode e o QrCoder para geração de código QR?

O QrCoder é mais rápido, levando aproximadamente 592 ms para gerar e salvar um código QR, enquanto o IronBarcode leva cerca de 3503 ms. No entanto, o IronBarcode oferece recursos mais avançados além da simples geração de código QR.

O IronBarcode requer uma licença para ser implementado?

Sim, o IronBarcode requer uma licença para implantação fora do ambiente de desenvolvimento do Visual Studio. Ele oferece diferentes opções de licenciamento, incluindo os pacotes Lite, Professional e Unlimited.

Quais funcionalidades o IronBarcode oferece para processamento de códigos de barras?

O IronBarcode permite a leitura e gravação de códigos de barras e códigos QR, correção de imagens, opções de formatação e a capacidade de incorporar códigos de barras em documentos como PDFs, tornando-se uma ferramenta completa para o processamento de códigos de barras.

Qual biblioteca devo escolher para gerar códigos QR simples em C#?

Para geração simples de códigos QR, o QrCoder é uma escolha adequada devido à sua facilidade de uso e licença gratuita. No entanto, para tarefas mais avançadas, recomenda-se o IronBarcode.

Posso integrar códigos QR em PDFs usando C#?

Sim, você pode usar o IronBarcode para integrar códigos QR em PDFs. Ele oferece funcionalidades para ler e gravar códigos QR e de barras, incorporando-os aos documentos de forma transparente.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me