IronBarcode ve QrCoder C# Arasında Bir Karşılaştırma
Bu eğitimde, QR kodları ve barkodlarla çalışmak için yaygın olarak kullanılan iki C# kütüphanesi - IronBarcode ve QrCoder'ı karşılaştıracağız.
Öncelikle her iki kütüphaneye kısa bir giriş yapalım:
IronBarcode
IronBarcode, Iron Software tarafından oluşturulan ve sürdürülen bir kütüphanedir ve C# yazılım mühendislerinin .NET uygulamaları ve web sitelerinde barkod ve QR kodları okumasını ve yazmasını sağlar. .NET Frameworks ve .NET Core Frameworks için NuGet üzerinde mevcuttur. IronBarcode barkod okumak veya yazmak için sadece bir satır kod gerektirir.
QrCoder
QrCoder, size QR kodları oluşturmanıza olanak tanıyan basit bir C# kütüphanesidir. Diğer kütüphanelere bağımlılığı yoktur ve .NET Framework ve .NET Core PCL sürümlerinde NuGet üzerinde mevcuttur.
Her iki kütüphanenin de aşağıdaki ana özelliklere sahip olması gerekir:
- QR kod tarama
- Barkod tarama
- QR kodu oluştur
- Barkod oluştur
Her iki kütüphaneden de tüm bu özellikleri uygulayacak ve performanslarını karşılaştıracağız.
İlk olarak, Visual Studio projemize her iki kütüphaneyi de kurmalıyız. Her iki kütüphane de kendi NuGet paketlerine sahiptir, bu yüzden NuGet Paket Yöneticisi Konsolunu kullanarak kuracağız.
IronBarcode Kurulumu
IronBarcode'u kurmak için, Paket Yöneticisi Konsoluna şu komutu yazın:
Install-Package BarCode
Bu, IronBarcode kütüphanesini projemize kuracaktır.
IronBarcode Kurulumu
QrCoder Kurulumu
Paket Yöneticisi Konsoluna şu komutu yazın:
Install-Package QRCoder
Bu, QrCoder kütüphanesini projemize kuracaktır.
QrCoder Kurulumu
Şimdi, her iki kütüphaneyi kullanarak ilk QR kodumuzu oluşturacağız.
IronBarcode kullanarak QR kodları oluşturun
Aşağıdaki kod bir QR kodu oluşturacaktır.
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\QrCodeBy IronBarcode.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\QrCodeBy IronBarcode.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
Module Program
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\QrCodeBy IronBarcode.png")
' Stop the stopwatch and output the execution time
stopwatch.Stop()
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms")
End Sub
End Module
Stopwatch örneği, kütüphanenin verimliliğini analiz etmek için programın yürütme süresini ölçmek amacıyla oluşturulmuştur.
IronBarcode tarafından yaratılan Barkod
IronBarcode'un Yürütme Süresi
IronBarcode, bir QR Kod oluşturmak ve kaydetmek için 3503 ms sürer.
Yeni Barkodlar için IronBarcode'un yürütme süresi
QrCoder ile bir QR kod oluşturun
Aşağıdaki örnek kod, QrCoder kullanarak bir QR kodu oluşturacaktır.
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, QR kodunu bir resim olarak kaydetmek için yerleşik bir fonksiyon sağlamaz. Ancak, QrCoder'ı bir Bitmap nesnesine çözüp kaydedebiliriz. Daha sonra, Bitmap tarafından sağlanan kaydetme fonksiyonu ile QR kodunu kaydedebiliriz.
QrCoder'ın yaratılan barkodu
QrCoder'in Çalışma Süresi
QrCoder, bir QR Kod oluşturmak ve kaydetmek için 592 ms sürer.
QrCoder'ın yeni bir barkod oluşturma süresi
Analiz
IronBarcode tarafından alınan yürütme süresi 3503 ms, oysa QrCoder sadece 592 ms sürer. Bu, performans açısından QrCoder'ı IronBarcode'dan daha hızlı yapar.
QR kodları oluşturmak IronBarcode'da çok daha basittir, çünkü sadece iki satır kod yazmamız yeterlidir. QrCoder kütüphanesi ile, beş satır kod gerekir.
IronBarcode ayrıca oluşturulan QR kodlarını bir dosyada kaydetmek için yerleşik bir fonksiyon sağlar, oysa QrCoder sağlamaz. QR kodunu bir dosyada kaydetmek için bir bitmap nesnesi oluşturmamız gerekir. Bu, QrCoder kullanarak QR kodları oluşturmak için dört nesne oluşturmamızı gerektirir. IronBarcode'da aynı şeyi yapmak için yalnızca bir nesne oluşturmamız gerekir.
Sonraki adımda, her iki kütüphaneyi de kullanarak barkodlar oluşturacağız.
IronBarcode kullanarak bir Barkod oluşturun
Aşağıdaki kod, IronBarcode kullanarak bir barkod oluşturacaktır:
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\BarcodeBy IronBarcode.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\BarcodeBy IronBarcode.png");
}
}
Imports IronBarCode
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\BarcodeBy IronBarcode.png")
End Sub
End Class
IronBarcode kullanılarak üretilen barkod
IronBarcode kullanarak bir barkod oluşturma süresi aşağıdadır:
IronBarcode'un Barkod oluşturma süresi
Bir barkod oluşturmak, 3756 ms veya 3,76 saniye sürer.
QrCoder kullanarak bir barkod oluşturun
QrCoder kütüphanesinin barkod oluşturma fonksiyonu sağlamadığını belirtmekte fayda var. Bu nedenle, barkod oluşturmanız gerekiyorsa, IronBarcode daha iyi bir seçenektir.
QR kodu taraması ile ilgili olarak, hangi kütüphanenin en iyi seçenek olduğunu görelim.
IronBarcode kullanarak bir QR Kodu okuyun
Aşağıdaki kod, IronBarcode kullanarak bir QR kodunu okuyacaktır.
using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read QR code from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeBy IronBarcode.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\QrcodeBy IronBarcode.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
Class Program
Shared Sub Main()
' Read QR code from an image file
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeBy IronBarcode.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
End If
End Sub
End Class
IronBarcode, QR kodlarını okumanın bir sonucu olarak bir Enumerable döndürür. Her sonucu almak için Enumerable döngüsünden geçmemiz gerekiyor. Bu özellik, bir belgede veya birden fazla QR koduna sahip bir görüntüden QR kodlarını okuma için yararlıdır.
IronBarcode'un bir belgeden tüm QR kodlarını okuma/tarama için harcadığı süre
IronBarcode kullanarak 3136 ms veya 3,1 saniye sürer.
QRCoder kullanarak bir QR Kodu okuyun
QrCoder Kütüphanesi, QR Kodu okuma veya tarama işlevini sağlamaz.
IronBarcode kullanarak bir Barkod okuyun
Aşağıdaki kod, IronBarcode kullanarak barkodu tarayacaktır.
using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read barcode from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeBy IronBarcode.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\BarcodeBy IronBarcode.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
Class Program
Shared Sub Main()
' Read barcode from an image file
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeBy IronBarcode.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
End If
End Sub
End Class
IronBarcode, barkodları okumanın bir sonucu olarak Enumerable döndürür. Her sonucu almak için içinde döngü kurmamız gerekiyor. Bu, bir belgede veya birden fazla barkoda sahip bir görüntüden Barkod okuma için yararlıdır.
Yukarıdaki kodun ürettiği çıktı şu şekildedir:
Bir PDF veya bir görüntüdeki barkodu taramak için IronBarcode'un harcadığı zaman
QrCoder kullanarak bir Barkod okuyun
QrCoder Kütüphanesi, QR Kodu okuma veya tarama işlevi sağlamaz.
Şimdi, her iki kütüphanenin lisans seçeneklerini tartışalım.
Lisanslama
IronBarcode için Lisanslama
IronBarcode, geliştirme için ücretsizdir. Ancak, Visual Studio geliştirme ortamının dışında kullanım için bir lisans gerektirir. Lisans fiyatları $liteLicense'tan $unlimitedLicense'a (USD) kadar değişmektedir. Tüm Iron Suite satın alırsanız indirim alabilirsiniz.
Check out IronBarcode's [licensing page](/csharp/barcode/licensing/) for more information about available licenses.
QrCoder için Lisanslama
QrCoder, açık kaynak olduğundan, herhangi bir lisans gerektirmez. Her tür ortamda kullanmakta özgürsünüz. Ayrıca, açık kaynak geliştirmeden hoşlanıyorsanız, kaynak koduna katkıda bulunabilirsiniz.
Ne zaman QrCoder kullanılır
Sadece QR kodları oluşturma işlevine ihtiyacımız varsa, QrCoder kullanmak için en iyi seçenektir çünkü kullanımı ücretsizdir ve herhangi bir ödeme veya abonelik ücreti gerektirmez.
Ne zaman IronBarcode kullanılır
IronBarcode, QR kodları oluşturmanın ötesinde işlevsellikler gerektirdiğimizde harika bir seçenektir, örneğin:
- Resimlerden veya PDF'lerden tek veya çoklu barkodlar ve QR kodları okumak.
- Eğrilik, yön, gürültü, düşük çözünürlük, kontrast vb. için görüntü düzeltme.
- Barkodlar oluşturmak ve bunları görüntülere veya PDF belgelerine uygulamak.
- HTML belgelerine barkodları gömme.
- Barkodları stil vermek ve ek açıklama metni eklemek.
- Logolar, renkler ve ileri düzey QR hizalaması eklemeye izin veren QR kodu yazımı.
Özet
Aşağıdaki tablo hem IronBarcode hem de QrCoder'ı karşılaştırır.
IronBarcode ve QrCoder yan yana karşılaştırması
Sonuç
IronBarcode for .NET, geliştiricilerin .NET uygulamalarında tek bir kod satırı ile barkod ve QR kodlarını okumasını ve yazmasını sağlar. Kütüphane, 39/93/128, UPC A/E, EAN 8/13 ve QR gibi çoğu barkod ve QR kodu standartlarını destekler. Kütüphane, barkod görüntülerini otomatik olarak ön işler ve hız ve doğruluğu artırmak için döndürme, gürültü, bozulma ve eğriliğe yönelik düzeltme sunar. IronBarcode, 32 ve 64 bit sistemlerle, tüm .NET dilleriyle uyumludur ve masaüstü, konsol, bulut, mobil ve web uygulamaları dahil olmak üzere çeşitli platformlarla uyumludur. Ayrıca geliştiricilerin PDF, JPG, TIFF, GIF, BMP, PNG ve HTML belgeleri için barkod ve QR kodları yazmasına ve metin rengini, boyutunu, dönme açısını ve kalitesini değiştirmesine olanak tanır. Kütüphane güvenlidir ve internet üzerinden veri göndermediği gibi web hizmetlerini de kullanmaz. IronBarcode, ücretsiz bir deneme sürümü ile sunulmaktadır ve bireysel kullanım için Lite sürümü, en fazla 10 geliştiriciye kadar ekipler için Professional paketi ve şirketler için Unlimited paketi dahil olmak üzere üç lisanslama seçeneği sunar.
QrCoder, ISO/IEC 18004 tabanlı QR kodları üreten, diğer kütüphanelere bağımlılığı olmayan bir C# .NET kütüphanesidir. QRCode, ArtQRCode, AsciiQRCode ve diğerleri dahil olmak üzere birkaç QR kodu oluşturma sınıfı sunar. Ancak, tüm çeviriler tüm hedef çerçevelerde mevcut değildir ve .NET Standard/.NET >=5.0 sürümleri bazı kısıtlamalara sahiptir. QrCoder ücretsizdir ve lisans gerektirmez.
IronBarcode, tüm .NET Framework sürümleri için destek sunması, daha geniş özellik yelpazesine sahip olması ve SaaS ve OEM Yeniden Dağıtım kapsamı sunması nedeniyle QrCoder'dan daha çok yönlüdür. IronBarcode ayrıca kapsamlı belgeler ve 7/24 destek sunarken, QrCoder sunmaz. IronBarcode'un bir lisans ücreti vardır, ancak sunduğu özellikler ve destek dikkate alındığında makuldur.
IronBarcode, Iron Software tarafından geliştirilen bir kütüphanedir; ayrıca IronPDF, IronXL, IronOCR ve IronWebScraper gibi diğer kullanışlı kütüphaneler de sunar. Beş ürünü önemli bir indirimle almak için tam Iron Suite'i satın alın.
Özetle, IronBarcode, barkodlar ve QR kodları ile çalışması gerekenler ve barkod oluşturan, QR kod oluşturan, barkod okuyucu ve QR kod okuyucu oluşturmak isteyenler için en uygun olanıdır. Öte yandan, yalnızca bir QR kod üreteci oluşturmak isteyenler için QrCoder uygundur.
Sıkça Sorulan Sorular
C# ile QR kodlarını nasıl oluşturabilirim?
C#'ta QR kodları oluşturmak için, basit ve açık kaynaklı bir kütüphane olan QrCoder kütüphanesini kullanabilirsiniz. Alternatif olarak, QR kodunu stilize etme ve belgelerle entegrasyon gibi daha gelişmiş özellikler için IronBarcode kullanabilirsiniz.
IronBarcode'u QrCoder'a karşı kullanmanın avantajları nelerdir?
IronBarcode, kodları okuyup yazma, görüntü düzeltme ve barkodların PDF'lere ve diğer belgelere gömülmesi gibi geniş işlevsellikler sunar. Kapsamlı barkod ve QR kodu işlemlerine ihtiyaç duyan projeler için idealdir.
C#'ta QR kodu oluşturmak için ücretsiz bir kütüphane var mı?
Evet, QrCoder, C#’ta QR kodları oluşturmak için ücretsiz ve açık kaynaklı bir kütüphanedir. Lisans gerektirmez, bu da onu basit QR kodu oluşturma için maliyet-etkili bir seçenek yapar.
QrCoder kullanarak QR kodlarını okuyabilir miyim?
Hayır, QrCoder QR kodlarını okuma veya tarama desteği sağlamaz. QR kodlarını okumak için, bu işlevselliği ek özelliklerle sunan IronBarcode'u kullanabilirsiniz.
.NET projesinde bir QR kodu kütüphanesini nasıl kurarım?
QrCoder'ı, Install-Package QRCoder komutuyla NuGet Paket Yöneticisi Konsolu üzerinden kurabilirsiniz. IronBarcode için Install-Package IronBarcode komutunu kullanın.
IronBarcode ve QrCoder arasındaki QR kodu oluşturma süresi farkı nedir?
QrCoder daha hızlıdır, bir QR kodunu oluşturup kaydetmek yaklaşık 592 ms sürer, oysa IronBarcode yaklaşık 3503 ms alır. Ancak, IronBarcode QR kodu oluşturmanın ötesinde daha gelişmiş özellikler sunar.
IronBarcode, dağıtım için bir lisans gerektiriyor mu?
Evet, IronBarcode, Visual Studio geliştirme ortamı dışına dağıtım için bir lisans gerektirir. Lite, Professional ve Unlimited paketler dahil olmak üzere farklı lisanslama seçenekleri sunar.
IronBarcode, barkod işlemede hangi işlevsellikleri sunar?
IronBarcode, hem barkod hem de QR kodu yazma ve okuma, görüntü düzeltme, stilize etme seçenekleri ve PDF gibi belgelere barkod gömme gibi işlevler sunarak barkod işleme için kapsamlı bir araçtır.
C#'ta basit QR kodu oluşturma için hangi kütüphaneyi seçmeliyim?
Basit QR kodu oluşturma için, kullanım kolaylığı ve ücretsiz lisanslama nedeniyle QrCoder uygun bir seçimdir. Ancak, daha gelişmiş görevler için IronBarcode önerilir.
C# kullanarak PDF'lere QR kodları entegre edebilir miyim?
Evet, IronBarcode kullanarak QR kodlarını PDF'lere entegre edebilirsiniz. QR kodlarını ve barkodları okumak, yazmak ve belgelerle sorunsuz bir şekilde entegre etmek için işlevler sağlar.

