Altbilgi içeriğine atla
DIğER BILEşENLERLE KARşıLAşTıRıN

ZXing'de Barkodlar Nasıl Tarayacağınızı C# Geliştiricileri İçin Öğrenin

Barkodlar, verileri sunmanın net ve makine tarafından okunabilir bir yolunu sağlar. Başlangıçta, barkodlar, verilerin temsilini sağlamak için farklı genişlik ve boşluklarla paralel çizgilerden oluşuyordu. Bu geleneksel lineer veya tek boyutlu (1D) barkodlar, barkod okuyucular adı verilen özel optik cihazlarla taranabiliyordu. Ancak, barkodların evrimi, iki boyutlu (2D) barkodların, matrix kodları olarak da bilinen icadına yol açtı. Geleneksel barkodlardan farklı olarak, 2D barkodlar çubuklar yerine dikdörtgenler, noktalar ve altıgenler gibi desenler kullanır. Bu 2D barkodları okumak için belirli optik tarayıcı kurulumları kullanılabilir veya bir alternatif yöntem olarak bir bilgisayara bağlı bir dijital kamera ile çalışan kod çözme yazılımı kullanabilir. Ayrıca, akıllı telefonlar gibi mobil cihazlar, entegre kameralarını ve özel uygulamalarını kullanarak 2D barkod tarayıcı olarak işlev görebilirler.

ZXing Barkod Tarayıcı

Genellikle ZXing olarak bilinen Zebra Crossing, açık kaynaklı, çok formatlı 1D/2D barkod görüntü işleme araç takımıdır ve Java'da geliştirilmiştir ve diğer diller için bağlantı noktaları vardır. Çekirdek görüntü kod çözme kütüphanesi, Java özel müşteri kodu ve Android müşteri Barkod Tarayıcı, ZXing'i oluşturan modüllerden sadece birkaçıdır. Üzerine inşa edilmiş birçok başka bağımsız açık kaynaklı proje bulunmaktadır.

1. Özellikler

  • URL'leri, iletişim bilgilerini, takvim etkinliklerini ve daha fazlasını izleyebilir.
  • Java SE uygulamaları düşünülerek oluşturulmuştur.
  • Amaç doğrultusunda barkod tarayıcı entegrasyonu mümkündür.
  • Bu basit bir Google Glass uygulamasıdır.

2. ZXing ile .NET Kullanımı

Visual Studio'yu açın, dosya menüsünden "yeni proje" seçin, ardından "konsol uygulaması". Bu makalede, C# konsol uygulamasını seçiyoruz.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 1

Proje adını ve dosya yolunu ilgili metin kutusuna girin. Sonra, gerekli .NET Framework'ü seçmek için Oluştur butonuna tıklayın.

Bir konsol uygulaması seçtiyseniz, proje şimdi yapısını oluşturacak ve program.cs dosyasını açarak program kodunu girmenize ve oluşturmanız veya çalıştırmanıza olanak sağlayacaktır.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 2

2.1 ZXing Barkod'u Kurun

ZXing kütüphanesini kurmak için NuGet Package Manager Console'a aşağıdaki komutu girin:

Install-Package ZXing.Net.Bindings.Windows.Compatibility

Alternatif olarak, NuGet paket yöneticisi aracı kullanarak paketi edinebilirsiniz. Aşağıdaki şekilde olduğu gibi. Seçtiğiniz ilk sonucu yüklemeye çalışın.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 3

2.2 ZXing ile Barkod Oku ve Yaz

Aşağıdaki örnek kodu kullanarak 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")
$vbLabelText   $csharpLabel

Yukarıdaki kod, QrCodeEncodingOptions için yükseklik ve genişlik ayarlıyor. Ardından BarcodeWriter bir örneğini oluşturuyor. BarcodeWriter için barkod formatını QR kodu olarak ayarlıyoruz. Daha önce oluşturduğumuz QR kodu seçeneklerini yazara atıyoruz. Write metodu, BarcodeWriter içindeki verilen metni bir barkoda kodlayıp, bunu bitmap görüntüsü olarak döndürür. Görüntü, bitmap'in Save metodu kullanılarak kaydedilir. Aşağıda koddan elde edilen sonuç bulunmaktadır.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 4

Bir sonraki kod örneği, ZXing kullanarak bir barkodun nasıl çözüleceğini göstermektedir.

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
$vbLabelText   $csharpLabel

Yukarıdaki kodda, önce görüntüyü bir bitmap'e yüklüyor ve ardından bir BarcodeReader nesnesi oluşturuyoruz. Decode fonksiyonu, bitmap'i bir parametre olarak geçerek, birden fazla formatta sonuç dönebilen sonuçlar elde etmemize olanak tanır. Barkodda kodlanan metni almak için Text özelliğini kullanıyoruz.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 5

IronBarcode

Bu barkod kütüphanesinin yardımıyla, barkodları okumak ve oluşturmak kolaydır. Dinamik bir barkod, IronBarcode'un Kütüphanesi ile yapmak kolaydır. Sadece birkaç kod satırı ile, bu basit kütüphane bir barkod oluşturabilir, bu da barkod görüntülerini kodlamamıza yardımcı olur. IronBarcode, C# ve VB.NET gibi dillerde barkodlar üretmemizi sağlıyor.

1. Özellikler

  • IronBarcode, UPC A/E, Databar, EAN 8/13, MSI, Code 39/93/128, CodaB, RSS 14/Expanded ve ITF dahil olmak üzere çoğu barkod görüntü formatını ve QR standartlarını okuyabilir ve yazabilir.
  • Tarama taramaları ve gerçek zamanlı video kareleri sırasında, IronBarcode döndürme, gürültü, deformasyon ve eğim düzeltebilir. Okuma doğruluğunu ve hızını artırmak için, IronBarcode barkod görüntülerini otomatik olarak oluşturuldukları anda ön işler. Dinamik barkodlar, içerik değişikliğine izin verdikleri için sıklıkla kullanılır.
  • IronBarcode'un birçok çekirdek ve iş parçacığını kullanma yeteneği, toplu iş işleme sunucuları için avantajlıdır.
  • Tek ve çok sayfalı belgelerde, IronBarcode bir veya daha fazla barkodu otomatik olarak bulabilir.

2. IronBarcode Kullanımı

Çözümde IronBarcode kutuphanesini kullanmak için gerekli paketi indirmeniz gerekir. Bunu yapmak için, NuGet Package Manager Console'da aşağıdaki komutu kullanın:

Install-Package BarCode

Alternatif olarak, tüm arama sonuçlarını gösterecek olan NuGet Package Manager'ı kullanarak 'Barcode' paketini arayabilir ve indirebilirsiniz. Ardından, programı indirmek için gerekli olan paketi seçebilirsiniz.

ZXing'de C# Geliştiricileri İçin Barkodları Nasıl Tarayacağınız: Şekil 6

3. IronBarcode kullanarak Barkodlari Oku ve Yaz

Birkaç satır kodla, IronBarcode kutuphanesini kullanarak hızlıca barkod görüntüleri oluşturabiliriz. Ayrıca, yaratılan barkodun ayrı bir resim dosyası olarak kaydedilmesine olanak tanır. İşte bir Konsol programı ile barkod etiketi oluşturmak için bazı örnek C# kodları.

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")
$vbLabelText   $csharpLabel

Bu kod, orta seviyede hata düzeltme kullanarak, 500 x 500 piksel grafik üretir ve ardından SaveAsPng metodu ile bir dosya konumuna kaydeder.

Sonraki kod örneği, önceki örnekte oluşturduğumuz QR kodunda şifrelenmiş 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()
$vbLabelText   $csharpLabel

Önce görüntüyü bir bitmap'e yüklüyoruz ve ardından BarcodeReader sınıfında Read metodu kullanılarak görüntüyü okuyoruz. QR kodundan okunan içeriği almak için, Read metodundan dönen BarcodeResults nesnesinde Values özelliğini kullanıyoruz.

ZXing hakkında daha fazlasını ve IronBarcode ile nasıl karşılaştırıldığını öğrenmek için bir sonraki blog yazısını okuyun.

Barkodları Okuma eğitimimiz de IronBarcode kullanarak barkodların ve QR kodlarının nasıl okunacağı hakkında daha fazla bilgi sağlar. IronBarcode üzerine daha fazla kod eğitimi için.

Sonuç

ZXing barkod tarayıcı yüksek kaliteli barkodlar oluşturabilir, ancak eski ve az sayıda barkod formatını destekler. Ayrıca sınırlı dökümantasyon ve ürün desteğine sahiptir.

Öte yandan, IronBarcode çok verimli ve esnektir ve birçok işletim sisteminde çalışabilir. IronBarcode barkodlarda kullanılan rengi, boyutu, aralığı ve harfleri değiştirebilir. Ayrıca Crystal Reports'ı da destekler.

Geliştiriciler IronBarcode'u ücretsiz olarak kullanabilir. Kullanıcılar, ek özelliklere erişim sağlamak için bir lisans satın alabilir ve tam bir yıl destek ve ürün güncellemeleri alabilirler.

Lütfen dikkate alinZXing, ilgili sahibinin tescilli ticari markasıdır. Bu site, ZXing ile ilişkili, onaylı veya sponsorlu değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerinin mülkiyetindedir. Karşılaştırmalar yalnızca bilgilendirme amaçlıdır ve yazım sırasında kamuya açık bilgileri yansıtır.

Sıkça Sorulan Sorular

HTML'yi C#'de PDF'ye nasil dönüştürebilirim?

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca RenderHtmlFileAsPdf kullanarak HTML dosyalarının PDF'lere dönüştürülmesini de sağlayabilirsiniz.

IronBarcode ve ZXing arasındaki farklar nelerdir?

IronBarcode, ZXing'e kıyasla daha geniş bir esneklik sunar ve daha fazla barkod formatını destekler. ZXing, barkod oluşturmak için etkili olsa da, format desteği ve belgeleri sınırlıdır. IronBarcode, verimliliği ile öne çıkar ve çeşitli işletim sistemleriyle uyumludur.

Mobil bir cihaz kullanarak barkod nasıl tararım?

ZXing Android istemcisi Barkod Tarayıcı ile cihazınızın kamerasını barkodları taramak için kullanabilirsiniz. Daha güçlü özellikler için IronBarcode mobil uygulamalara entegre edilerek barkod tarama yeteneklerini artırabilir.

IronBarcode 2D barkodları destekliyor mu?

Evet, IronBarcode, QR kodları da dahil olmak üzere hem 1D hem de 2D barkodlarını destekler ve çeşitli barkod okuma ve oluşturma imkanı sunar.

IronBarcode dinamik barkod oluşturmayı yapabilir mi?

IronBarcode, renk, boyut, boşluk ve metin gibi özelliklerde kişiselleştirilmiş barkodlar oluşturarak dinamik barkod oluşturmayı destekler.

IronBarcode'u bir .NET projesine entegre etmek için ne gerekir?

IronBarcode'u bir .NET projesine entegre etmek için, NuGet Paket Yöneticisi Konsolu üzerinden Install-Package IronBarcode komutu ile yükleyin veya NuGet Paket Yöneticisi'nde bulun.

IronBarcode kullanmanın maliyeti var mı?

IronBarcode ücretsiz bir deneme sunar, ancak bir lisans satın almak ek özellikler, ürün güncellemeleri ve bir yıllık destek sağlar.

IronBarcode, video karelerinden barkod okuyabilir mi?

Evet, IronBarcode gerçek zamanlı video karelerini işleyebilir, döndürme, gürültü, bozulma ve eğimi düzeltmek için taramada doğruluğu ve hızı artırır.

ZXing'in barkod tarama için özellikleri nelerdir?

ZXing, özellikle 1D ve 2D barkodlar için bir açık kaynaklı barkod tarama araç takımını sunar. Temel bir görüntü kod çözme kütüphanesi ve bir Android istemcisi Barkod Tarayıcı içerir.

IronBarcode hangi programlama dilleri tarafından destekleniyor?

IronBarcode, C# ve VB.NET'i destekler, bu da onu .NET framework içinde çalışan geliştiriciler için ideal yapar.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara