Altbilgi içeriğine atla
IRONBARCODE KULLANARAK
C# Windows Uygulamasında Barkod Tarayıcıyı Nasıl Okurum

C# Windows Uygulamalarında Barkod Tarayıcılar Nasıl Kullanılır

Bu öğretici, IronBarcode kütüphanesini örnek olarak kullanarak C# Konsol Uygulamalarında ve .NET Windows Form Uygulamalarında QR kodları ve barkodlarını taramayı gösterecektir.

IronBarcode kütüphanesini kullanarak, birden fazla barkod eşzamanlı olarak taranabilir ve okunabilir, ayrıca kusurlu görüntüleri de başarıyla tarayabilir. Öncelikle barkod tarayıcının ne olduğunu açıklayalım.

Barkod Tarayıcı Nedir?

Barkod, değişken genişlikte siyah çizgiler ve beyaz boşluklar dizisinden oluşan kare veya dikdörtgen bir görüntüdür. Barkod tarayıcı veya barkod okuyucu, basılı barkodları okuyabilen, barkod içindeki verileri çözümleyebilen ve verileri bir bilgisayara gönderebilen bir cihazdır.

Aşağıdaki adımlar, IronBarcode Kütüphanesi yardımıyla nasıl bir barkod tarayıcı oluşturulacağını tanıtacaktır.

C#'ta Barkodlar Nasıl Okunur

  • Microsoft Visual Studio'da bir .NET Windows Forms Uygulama projesi oluşturun.
  • Barkod kütüphanesini yükleyin
  • Herhangi bir barkod veya QR kodunu okuyun.
  • Tek bir taramada birden fazla barkod veya QR kodu okuyun.
  • Kusurlu tarama ve fotoğraflardan IronBarcode'un okumasına izin verin.

1. Microsoft Visual Studio'da Bir Windows Forms Uygulaması Oluşturun

Visual Studio'yu açın > Yeni Proje Oluştur'a tıklayın > Windows Forms Uygulama Şablonunu seçin > İleri'ye Basın > Projeyi Adlandırın > İleri'ye Basın > Hedef .NET Framework'ünüzü seçin > Oluştur Düğmesine Tıklayın.

Projeyi oluşturduktan sonra, Visual Studio araç kutusundan aşağıdaki gibi formu tasarlayın: PictureBox, Label, TextBox ve Button kontrolü.

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 1: Barkod Tarayıcı Barkod Tarayıcı

2. Barkod .NET Kütüphanesini C#'ta Yükleyin

Barkod Kütüphanesi, aşağıdaki üç yöntemden biri kullanılarak kurulabilir:

1. Paket Yöneticisi Konsolu

Paket Yöneticisi Konsolunda aşağıdaki komutu yazın. Paketin sizin için indirilmesini ve yüklenmesini sağlar.

Install-Package BarCode

2. NuGet Paket Yöneticisi Çözümü

NuGet Paket Çözümü'nü kullanarak da Barkod Kütüphanesini yükleyebilirsiniz. Basitçe şu adımları takip edin:

Araçlar > NuGet Paket Yöneticisi > Çözüm için NuGet Paketlerini Yönet üzerine tıklayın.

Bu, sizin için NuGet Paket Yöneticisini açacaktır. Gözat'a tıklayın ve Barkod'u arayın, ardından sınıf kütüphanesini yükleyin.

3. Bağlantıdan İndir

Alternatif olarak, IronBarCode.Dll indirilebilir ve projeye bir referans olarak eklenebilir.

İndirdikten sonra, barkod okuyucu projenize aşağıdaki referansları ekleyin.

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

3. Herhangi bir Barkod veya QR Kodunu Okuyun

.NET'te bir barkod veya QR kodunu okumak, IronBarcode kütüphanesi ile .NET Barkod Okuyucu aracılığıyla inanılmaz derecede kolaydır.

Barkod Tarayıcı

Projenizde okumak istediğiniz görüntüyü arayın. Bu PictureBox içinde açılacak; şimdi "tarama kodu" butonuna tıklayın. Metin kutusunda metin görünecek.

"gözat" butonunun bir görüntüyü açması için kullanılan kod:

// Open file dialog   
OpenFileDialog open = new OpenFileDialog();
// Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // Display image in PictureBox
    pictureBox1.Image = new Bitmap(open.FileName); 
    // Store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
// Open file dialog   
OpenFileDialog open = new OpenFileDialog();
// Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // Display image in PictureBox
    pictureBox1.Image = new Bitmap(open.FileName); 
    // Store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
' Open file dialog   
Dim open As New OpenFileDialog()
' Image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"
If open.ShowDialog() = DialogResult.OK Then
	' Display image in PictureBox
	pictureBox1.Image = New Bitmap(open.FileName)
	' Store image file path in class data member. Initialize it as string ImageFileName;
	ImageFileName = open.FileName
End If
$vbLabelText   $csharpLabel

"tarama kodu" butonunun kodu:

// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
' Read the barcode from the image file path
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
' Display the decoded text in TextBox
textBox1.Text = Result.Text
$vbLabelText   $csharpLabel

Barkod tarayıcı, barkod verilerini metin kutusunda aşağıdaki gibi gösterir:

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 2: C# ile Taratılacak Barkod Görüntüsü C# ile Tarancak Barkod Resmi

QR Kod Tarayıcı

Bu bölümde, IronBarcode Kütüphanesi eğik QR kodları içeren gerçek dünya durumlarını etkili bir şekilde ele alır. Eğik açıdan olan QR kodu, Read metodu tarafından işlenip okunabilse de, yine de çözülmesi daha uzun sürebilir. IronBarcode kütüphanesi, böyle bir görüntü girdisi ile başa çıkmak için BarcodeReaderOptions'yi ek bir parametre olarak kullanmanın özelleştirilmiş bir yolunu sağlar. Kod şöyle devam ediyor:

// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
    ImageFilters = filtersToApply,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};

// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
    ImageFilters = filtersToApply,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};

// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
' Define a collection of image filters to apply
Dim filtersToApply = New ImageFilterCollection() From {
	New SharpenFilter(),
	New InvertFilter(),
	New ContrastFilter(),
	New BrightnessFilter(),
	New AdaptiveThresholdFilter(),
	New BinaryThresholdFilter()
}

' Configure barcode reader options with specified filters
Dim myOptionsExample As New BarcodeReaderOptions() With {
	.ImageFilters = filtersToApply,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}

' Read the barcode/QR code with custom options and display result
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName, myOptionsExample)
textBox1.Text = Result.Text
$vbLabelText   $csharpLabel

Eğimli QR kodu görüntüsünü açtıktan sonra çıktısı şu şekilde olacak:

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 4: Eğik QR Kod Görüntüsü Eğimli QR Kod Resmi

Tek Bir Tarama ile Birden Fazla Barkod Okuma

PDF Belgeleri

Barkod görüntüleri bir PDF dosyasından taranabilir ve her sonuç istenildiği şekilde uygun şekilde gösterilebilir. Aşağıdaki örnek kod, bir PDF dosyasından birden fazla barkod okumanıza olanak tanır.

// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results found
foreach (var PageResult in PDFResults) { 
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results found
foreach (var PageResult in PDFResults) { 
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
' Scan for multiple barcodes within a PDF document
Dim PDFResults() As BarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")

' Work with the results found
For Each PageResult In PDFResults
	Dim Value As String = PageResult.Value
	Dim PageNum As Integer = PageResult.PageNumber
	Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
	Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
	Dim Binary() As Byte = PageResult.BinaryValue
	Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResult
$vbLabelText   $csharpLabel

PDF dosyalarında bulunan barkod ve QR kodu:

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 3: PDF'den Barkod Okuma Sonuçları C# - PDF'den Barkod Okuma Sonuçları

Kusurlu Görüntülerden Barkod Okuma

Gerçek dünyadaki kullanım durumlarında, barkodlar genellikle görüntülerde, taramalarda, küçük resimlerde veya fotoğraflarda kusurlarla bulunur ve dijital gürültü içerebilir veya eğik olabilir. Bu bölüm, küçük resimlerden barkod verilerini okumanın nasıl olduğunu göstermektedir.

Küçük Resimler

IronBarcode Kütüphanesi, C# Barkod Üreticisi kullanır ve hatta bir barkodun bozulmuş küçük resmini okuyabilir.

C# Windows Uygulamasında Barkod Tarayıcıları Nasıl Kullanılır, Şekil 5: Otomatik barkod küçük resim boyutu düzeltmesi. IronBarcode kullanarak C# ile okunabilir dosya Otomatik barkod küçük resim boyutu düzeltmesi. IronBarcode kullanarak C# ile okunabilir dosya

Gerçek bir barkod temsil etmek için çok küçük olan barkod görüntülerini otomatik olarak algılar ve ardından küçük resimleme ile ilişkili tüm dijital sesi yükseltip temizler, böylece bunlar tekrar okunabilir hale gelir.

// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")
$vbLabelText   $csharpLabel

Özet

IronBarcode, çeşitli barkod görüntü formatlarını taramak ve okumak için uygun bir ağ geçidi sağlayan çok yönlü .NET yazılım kütüphanesidir ve bu barkodlar mükemmel ekran görüntüleri veya aslında fotoğraflar, taramalar veya diğer mükemmel olmayan gerçek dünya görüntüleri bile olsa yapabilir. Ayrıca, IronBarcode, kesme bölgeleri veya çoklu iş parçacığı ve ML modelinin doğruluğu gibi barkod okuma hızını artırmak için geniş bir özelleştirme seçenekleri sunar. IronBarcode hakkında daha fazla bilgi için resmi belgeler sayfasını ziyaret edin.

Şu anda, tam Iron Suite'i satın alırsanız, yalnızca iki kütüphane fiyatına beş kütüphane elde edebilirsiniz.

Sıkça Sorulan Sorular

C# uygulamalarında barkod tarayıcı nedir?

Bir barkod tarayıcı, yazılı barkodları okuyan, bilgileri çözen ve bir bilgisayara gönderen bir cihazdır. C# uygulamalarında bu özellik, IronBarcode gibi kütüphaneler kullanılarak gerçekleştirilebilir.

C# kullanarak barkod taraması için bir Windows Forms Uygulaması nasıl oluşturabilirim?

C#'ta barkod taraması için bir Windows Forms Uygulaması oluşturmak için, Visual Studio'yu açın, 'Windows Forms Uygulama Şablonu' kullanılarak yeni bir proje oluşturun, hedef .NET Framework'ünüzü yapılandırın ve formu tasarlamak için PictureBox, Label, TextBox ve Button kontrollerini kullanın.

C# projesine barkod kütüphanesi yüklemenin önerilen yöntemi nedir?

Bir barkod kütüphanesi olan IronBarcode, Install-Package IronBarCode komutuyla C# projesine Paket Yöneticisi Konsolu aracılığıyla, NuGet Paket Yöneticisi üzerinden veya DLL dosyasını indirip referans olarak ekleyerek yükleyebilirsiniz.

Bir C# kütüphanesi kullanarak tek bir taramada birden fazla barkod okuyabilir miyim?

Evet, IronBarcode kullanarak, PDF belgelerinden bile BarcodeReader.ReadPdf metodu ile tek bir taramada birden fazla barkod okuyabilirsiniz.

Kütüphane, düşük kaliteli görüntülerden barkodları nasıl okumayı başarıyor?

IronBarcode, görüntü filtreleri ve yükseltme teknikleri uygulayarak dijital gürültüyü azaltan ve doğru okuma sağlayan düşük kaliteli görüntülerden barkodları yorumlayabilir.

C# kütüphaneleri tarafından desteklenen barkod formatları nelerdir?

IronBarcode, QR kodları ve Code128 dahil olmak üzere geniş bir barkod formatları yelpazesini destekler. Bu formatları görüntüler kusurlu veya kamerayla çekilmiş olsa bile okuyabilir.

Bir .NET uygulamasında barkod okuma işlemi nasıl uygulanır?

Barkod okumayı uygulamak için, bir resim dosyasını PictureBox'a yükleyin, 'kod tarama' eylemini tetikleyin ve IronBarcode'u kullanarak çözümlenen metni bir TextBox'a yazdırın.

IronBarcode, eğik veya yatık QR kodlarını etkili bir şekilde kullanabilir mi?

Evet, IronBarcode, gerekli görüntü filtrelerini ve ayarlarını uygulayarak, BarcodeReaderOptions kullanarak başarılı bir şekilde eğik QR kodlarını okuyabilir.

IronBarcode, barkod okuma için hangi özelleştirme özelliklerini sunuyor?

IronBarcode, barkod okuma hızını ve doğruluğunu artırmak için alan kırpma, çoklu iş parçacığı ve parametre ayarlamaları gibi özellikler sunar.

C#'ta barkod kütüphanelerini kullanma konusunda daha ayrıntılı bilgiyi nerede bulabilirim?

C#'ta barkod kütüphaneleri kullanma konusunda daha ayrıntılı bilgi için, Iron Software web sitesindeki resmi dokümantasyon sayfasını ziyaret edebilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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