C# Geliştiricileri İçin ZXing'de Barkodlar Nasıl Taranır
Barkodlar, verileri sunmanın net ve makine tarafından okunabilir bir yolunu sağlar. İlk başta, barkodlar, verilerin temsilini sağlayan değişken genişlikte ve aralıkta paralel çizgilerden oluşuyordu. Bu geleneksel doğrusal veya tek boyutlu (1D) barkodlar, barkod okuyucular denilen özel optik cihazlar tarafından taranabiliyordu. Ancak, barkodların evrimi, matris kodları olarak da bilinen iki boyutlu (2D) barkodların icadına yol açtı. Geleneksel barkodların aksine, 2D barkodlar çubuklar yerine kareler, noktalar ve altıgenler gibi desenler kullanır. Bu 2D barkodları okumak için belirli optik tarayıcı kurulumları mevcuttur ya da alternatif yöntemler, kod çözücü yazılım çalıştıran bir bilgisayara bağlı dijital kamera kullanmayı içerir. Ayrıca, akıllı telefonlar gibi mobil cihazlar, entegre kameraları ve özel uygulamaları sayesinde 2D barkod tarayıcı olarak işlev görebilirler.
ZXing Barkod Tarayıcı
Zebra Crossing, genellikle ZXing olarak bilinir, Java'da geliştirilen ve diğer dillere de taşınmış açık kaynak kodlu, çok formatlı 1D/2D barkod görsel işleme araç kitidir. ZXing, Java'ya özgü istemci kodu ve Android istemci Barkod Tarayıcı gibi kütüphaneleri içeren modüllerden oluşur. Birçok bağımsız açık kaynak projesi üzerine inşa edilmiştir.
1. Özellikler
- URL'leri, iletişim bilgilerini, takvim etkinliklerini ve daha fazlasını takip edebilir.
- Java SE uygulamaları düşünülerek oluşturulmuştur.
- Planlı olarak barkod tarayıcı entegrasyonu mümkündür.
- Bu bir basit Google Glass uygulamasıdır.
2. ZXing ile .NET Kullanma
Visual Studio'yu açın, dosya menüsünden "yeni proje" seçin, ardından "konsol uygulaması" seçin. Bu makalede, C# konsol uygulamasını seçiyoruz.

Proje adını ve dosya yolunu uygun metin kutusuna girin. Sonra, gerekli .NET Framework'ü seçmek için Oluştur butonuna tıklayın.
Konsol uygulaması seçtiyseniz, proje şimdi yapısını oluşturacak ve program.cs dosyasını açarak programın kodunu girebilir ve oluşturabilir veya çalıştırabilirsiniz.

2.1 ZXing Barkod Yükleme
ZXing kütüphanesini yüklemek için NuGet Paket Yöneticisi Konsoluna şu komutu girin:
Install-Package ZXing.Net.Bindings.Windows.Compatibility
Alternatif olarak, NuGet paket yönetici aracı ile paketi alabilirsiniz. Aşağıdaki gibi bir illüstrasyon. Seçtiğiniz ilk sonucu yüklemeyi deneyin.

2.2 ZXing Kullanarak Barkod Okuma ve Yazma
Aşağıdaki örnek kod ile bir barkod oluşturabiliriz. ZXing, 10'dan fazla barkod formatı oluşturmamıza izin verir.
using ZXing.Windows.Compatibility;
var options = new QrCodeEncodingOptions
{
Width = 250,
Height = 250,
};
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;
// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");
// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
using ZXing.Windows.Compatibility;
var options = new QrCodeEncodingOptions
{
Width = 250,
Height = 250,
};
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;
// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");
// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
Imports ZXing.Windows.Compatibility
Private options = New QrCodeEncodingOptions With {
.Width = 250,
.Height = 250
}
Private writer = New BarcodeWriter()
writer.Format = BarcodeFormat.QR_CODE
writer.Options = options
' Encode the string into a QR code bitmap image
Dim _bitmap As System.Drawing.Bitmap = writer.Write("Hello world")
' Save the bitmap as a PNG file
_bitmap.Save("Demo1.png")
Yukarıdaki kod QrCodeEncodingOptions için yükseklik ve genişliği ayarlar. Ardından, bir BarcodeWriter örneği oluşturur. BarcodeWriter için barkod formatını QR kodu olarak ayarlıyoruz. Önceden oluşturulan QR kodu seçeneklerini yazara atıyoruz. BarcodeWriter içindeki Write yöntemi, verilen dizeyi bir barkod olarak kodlar ve bitmap görüntü olarak döndürür. Görüntü, bitmap'in Save yöntemi kullanılarak kaydedilir. Aşağıda koddan elde edilen sonuç bulunmaktadır.

Bir sonraki kod örneği, ZXing kullanarak bir barkodun kodunu çözmeyi gösterir.
using ZXing.Windows.Compatibility;
// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
// Create a BarcodeReader object
var reader = new BarcodeReader();
// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
// Output the decoded text to the console
Console.WriteLine(result.Text);
Console.ReadKey();
}
using ZXing.Windows.Compatibility;
// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
// Create a BarcodeReader object
var reader = new BarcodeReader();
// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
// Output the decoded text to the console
Console.WriteLine(result.Text);
Console.ReadKey();
}
Imports ZXing.Windows.Compatibility
' Load the barcode image into a bitmap
Private barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
' Create a BarcodeReader object
Private reader = New BarcodeReader()
' Decode the bitmap into a result
Private result = reader.Decode(barcodeBitmap)
If result IsNot Nothing Then
' Output the decoded text to the console
Console.WriteLine(result.Text)
Console.ReadKey()
End If
Yukarıdaki kodda, önce görüntüyü bir bitmape yükleriz ve ardından bir BarcodeReader nesnesi oluştururuz. Decode fonksiyonu, bitmapi bir parameter olarak geçmemize izin verir, bu da sonuçları birden fazla formatta dönebilir. Barkodda kodlanmış metni almak için Text özelliğini kullanıyoruz.

IronBarcode
Bu barkod kütüphanesi ile barkodları okumak ve oluşturmak basittir. IronBarcode Kütüphanesi ile bir dinamik barkod oluşturmak kolaydır. Bu basit kütüphane, barkod görüntülerini kodlamamıza yardımcı olan kurtacı bir barkod üretebilir. IronBarcode, C# ve VB.NET gibi dillerde barkod oluşturmamıza olanak sağlar.
1. Özellikler
- IronBarcode, UPC A/E, Databar, EAN 8/13, MSI, Kod 39/93/128, CodaB, RSS 14/Expanded ve ITF dahil olmak üzere barkod görüntü formatları ve QR standartlarının çoğunu okuyabilir ve yazabilir.
- Taramaları ve gerçek zamanlı video karelerini tararken, IronBarcode döndürmeyi, gürültüyü, çarpıklığı ve eğriliği düzeltebilir. IronBarcode, barkod görüntülerini oluşturuldukları gibi otomatik olarak ön işlemden geçirerek okuma doğruluğunu ve hızını artırır. Dinamik barkodlar, içerik değiştirmeye imkan tanıdıkları için sıkça kullanılır.
- IronBarcode'un birçok çekirdek ve iş parçacığını kullanma yeteneği, toplu işleme sunucuları için avantajlıdır.
- Tek ve çok sayfalı belgelerde, IronBarcode bir veya daha fazla barkodu otomatik olarak bulabilir.
2. IronBarcode Kullanma
Çözüme IronBarcode kütüphanesini kullanmak için gerekli paketi indirmeniz gerekir. Bunu yapmak için, NuGet Paket Yöneticisi Konsoluna aşağıdaki komutu kullanın:
Install-Package BarCode
Alternatif olarak, "Barkod" paketini aramak ve indirmek için tüm arama sonuçlarını gösterecek olan NuGet Paket Yöneticisini kullanabilirsiniz. Ardından, program için gerekli paketi indirmenizden seçebilirsiniz.

3. IronBarcode kullanarak Barkod Okuma ve Yazma
Sadece birkaç satır kodla, IronBarcode kütüphanesi kullanılarak hızlıca barkod görüntüleri oluşturabiliriz. Ayrıca, oluşturulan barkodu ayrı bir resim dosyası olarak kaydetmemize olanak tanır. İşte bir Konsol programı ile barkod etiketi oluşturmak için bazı C# kod örnekleri.
using IronBarCode;
// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
using IronBarCode;
// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
Imports IronBarCode
' Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png")
Bu kod, orta düzeyde hata düzeltme kullanarak, 500'e 500 piksel grafik oluşturur ve ardından SaveAsPng yöntemi kullanılarak bir dosya konumuna kaydeder.
Bir sonraki kod örneği, önceki örnekte oluşturduğumuz QR kodunda kodlanmış metni okur.
using IronBarCode;
// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);
// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
using IronBarCode;
// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);
// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
Imports IronBarCode
' Load the QR code image into a bitmap
Private barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
' Read the barcode image
Private reader = IronBarCode.BarcodeReader.Read(barcodeBitmap)
' Output the decoded value to the console
Console.WriteLine(reader.Values(0))
Console.ReadKey()
Önce görüntüyü bir bitmap'e yükleyip, ardından BarcodeReader sınıfındaki Read yöntemi ile görüntüyü okuyoruz. QR kodundan okunan içeriği elde etmek için, Read yönteminden döndürülen BarcodeResults nesnesi üzerindeki Values özelliğini kullanıyoruz.
ZXing hakkında ve IronBarcode ile nasıl karşılaştırıldığını öğrenmek için bu sonraki blog gönderisini okuyun.
Barkod Okuma eğiticimiz, IronBarcode'u kullanarak barkodları ve QR kodlarını nasıl okumak hakkında daha fazla bilgi de sağlar. IronBarcode ile ilgili daha fazla kod eğitimi için.
Sonuç
ZXing barkod tarayıcı, yüksek kalitede barkodlar oluşturabilir, ancak güncelliğini yitirmiştir ve az sayıda barkod formatını destekler. Ayrıca sınırlı dokümantasyon ve ürün desteği vardır.
Öte yandan, IronBarcode çok verimli ve esnek olup, birçok işletim sisteminde çalışabilir. IronBarcode, barkodlardaki renk, boyut, aralık ve yazıyı değiştirebilir. Ayrıca Crystal Reports'u destekler.
Geliştiriciler IronBarcode'u ücretsiz olarak kullanabilirler. Kullanıcılar ek özelliklere erişmek ve tam bir yıl destek ve ürün güncellemeleri almak için bir lisans satın alabilirler.
Sıkça Sorulan Sorular
HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?
HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.
IronBarcode ve ZXing arasındaki farklar nelerdir?
IronBarcode, ZXing'e kıyasla daha fazla esneklik sunar ve daha geniş bir barkod formatı yelpazesini destekler. ZXing, barkod oluşturma için etkili olsa da format desteği ve dökümantasyon açısından sınırlıdır. IronBarcode, verimlilik açısından üstündür ve çeşitli işletim sistemleriyle uyumludur.
Mobil bir cihaz kullanarak barkod nasıl tararım?
ZXing Android istemci Barcode Scanner ile cihazınızın kamerasını kullanarak barkod tarayabilirsiniz. Daha güçlü özellikler için, IronBarcode mobil uygulamalara entegre edilebilir, böylece barkod tarama yeteneklerini artırabilirsiniz.
IronBarcode 2D barkodları destekliyor mu?
Evet, IronBarcode hem 1D hem de 2D barkodları, QR kodları da dahil, destekleyerek çeşitli barkod okuma ve oluşturma imkanı tanır.
IronBarcode dinamik barkod oluşturabilir mi?
IronBarcode, renk, boyut, aralık ve harfler açısından barkodları özelleştirmenize olanak tanıyan dinamik barkod oluşturmayı destekler.
IronBarcode'u bir .NET projesine entegre etmek için ne gereklidir?
IronBarcode'u bir .NET projesine entegre etmek için, NuGet Paket Yöneticisi Konsolu'nu kullanarak Install-Package IronBarcode komutunu çalıştırarak veya NuGet Paket Yöneticisinde bularak paketi yükleyin.
IronBarcode kullanmak için bir maliyet var mı?
IronBarcode bir ücretsiz deneme sunar, ancak bir lisans satın almak ek özellikler, ürün güncellemeleri ve bir yıl destek sağlar.
IronBarcode video karelerinden barkod okuyabilir mi?
Evet, IronBarcode gerçek zamanlı video karelerini işleyebilir, döndürme, gürültü, çarpılma ve eğrilik düzeltmesi yaparak barkod tarama sürecinde hassasiyet ve hızı artırabilir.
ZXing'in barkod tarama özellikleri nelerdir?
ZXing, özellikle 1D ve 2D barkodlar için açık kaynaklı bir barkod tarama aracı sunar. Bir çekirdek görüntü kod çözme kütüphanesi ve bir Android istemci Barcode Scanner içerir.
IronBarcode'un desteklediği programlama dilleri nelerdir?
IronBarcode, .NET framework içinde çalışan geliştiriciler için ideal olan C# ve VB.NET'i destekler.

