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.
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.
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");
}
}
Imports System
Imports System.Diagnostics
Imports IronBarCode
Friend Class Program
Shared Sub Main()
' Create a stopwatch to measure the execution time
Dim stopwatch As New Stopwatch()
stopwatch.Start()
' Generate a QR code
Dim 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")
End Sub
End Class
A instância Stopwatch é criada para medir o tempo de execução do programa para analisar a eficiência da biblioteca.
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.
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");
}
}
Imports System
Imports System.Drawing
Imports QRCoder
Friend Class Program
Shared Sub Main()
' Initialize the QRCodeGenerator
Dim qrGenerator As New QRCodeGenerator()
' Generate QRCodeData with specified error correction level
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
' Create QRCode object
Dim qrCode As New QRCode(qrCodeData)
' Convert QRCode to Bitmap
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
' Save the QR code as a PNG file
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
End Sub
End Class
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.
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.
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");
}
}
Imports IronBarCode
Friend Class Program
Shared Sub Main()
' Generate a barcode with Code128 encoding
Dim barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128)
' Save the generated barcode as a PNG file
barcode.SaveAsPng("D:\Barcode Images\BarcodeByIronBarcode.png")
End Sub
End Class
Código de barras gerado usando IronBarcode
O tempo de execução para gerar um código de barras usando IronBarcode está abaixo:
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);
}
}
}
}
Imports System
Imports IronBarCode
Friend Class Program
Shared Sub Main()
' Read QR code from an image file
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeByIronBarcode.png")
' Check if any QR codes are found
If results IsNot Nothing Then
' Loop through each result and print extracted text
For Each result As BarcodeResult In results
Console.WriteLine("Extracted text from QR Code is: " & result.Text)
Next result
End If
End Sub
End Class
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.
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);
}
}
}
}
Imports System
Imports IronBarCode
Friend Class Program
Shared Sub Main()
' Read barcode from an image file
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeByIronBarcode.png")
' Check if any barcodes are found
If results IsNot Nothing Then
' Loop through each result and print extracted text
For Each result As BarcodeResult In results
Console.WriteLine("Text Extracted from Barcode is: " & result.Text)
Next result
End If
End Sub
End Class
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:
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.
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.
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.

