C#'ta Code 128 barkod nasıl üretilir?
Barkodlar, envanter yönetiminden ürün etiketleme ve taşımacılığa kadar modern işletme operasyonlarında hayati öneme sahiptir. Code 128, çeşitli barkod kod setleri arasında çok yönlülüğü ve yaygın kullanımıyla öne çıkar. Bu makalede, IronBarcode kütüphanesini kullanarak C# dilinde bir Code 128 barkod oluşturucu nasıl oluşturulacağını keşfedeceğiz.
How to Generate Code 128 Barcode in C
- IronBarcode kütüphanesini yükleyin
- Code 128 kodlamasını kullanarak bir barkod oluşturun
- Barkodu yeniden boyutlandırın
- Arka plan ve barkod rengini değiştirerek barkodu stilize edin
- Oluşturulan barkodu okuyun
Code 128 Barkodlarına Giriş
Code 128 kod seti, alfanümerik verileri ve özel karakterleri kodlayabilen yüksek yoğunluklu, değişken uzunluklu bir doğrusal barkoddur. Veri doğruluğunu sağlamak için kontrol rakamı içeren kendi kendini kontrol eden bir yapıya sahiptir. Kod 128 kodlama şeması üç kontrol karakterini destekler:
- Karakter Set A: Büyük harfler, rakamlar ve özel karakterler içerir.
- Karakter Set B: Büyük harfler, küçük harfler, rakamlar ve ek özel karakterleri içerir.
- Karakter Set C: Çift sayı çiftlerini kodlar (00'dan 99'a kadar).
Neden IronBarcode?
IronBarcode, barkod oluşturma, çözme ve özelleştirme konusunda kolaylık sağlayan güçlü bir .NET kütüphanesidir. Code 128, Code 39, Code 93, Code EAN 13, EAN 8, QR kodları ve diğerleri gibi çeşitli Barkod Kodlaması için destek sunar. İçerik, boyut ve görünüm düzenlemeleri için sezgisel bir API sunar. Çözme yetenekleri, otomatik kontrol rakamı hesaplanması ve görüntü ihracı yetenekleri, geliştiriciler için envanter yönetimi ve ötesinde değerli bir araç sağlar. Kütüphanenin özellikler, kenar boşlukları, yazı tipleri ve renkler için özelleştirme seçenekleri, barkodla ilgili görevlerde çok yönlülüğüne katkıda bulunur.
Creating Code 128 Barcode Generator in C
Şimdi, C# dilinde bir Code 128 barkod görüntüsü oluşturmak için kod yazacağız. İlk adım, projemizde IronBarcode kütüphanesini yüklemektir. Proje, Windows Formları, web formları, MAUI, Xamarin, ASP.NET MVC, Razor veya Blazor projeleri gibi herhangi bir türden olabilir.
IronBarcode Kütüphanesi Yükleme
Visual Studio'da Paket Yöneticisi Konsolu kullanarak IronBarcode NuGet paketini yüklemek için aşağıdaki adımları izleyebilirsiniz:
- Visual Studio'yu açın.
- Üst menüden "Görünüm" > "Diğer Pencereler" > "Paket Yöneticisi Konsolu"na giderek Paket Yöneticisi Konsolu'nu açın.
-
Paket Yöneticisi Konsolu'nda, IronBarcode paketini kurmak için
Install-Packagekomutunu kullanabilirsiniz. Aşağıdaki komutu yazın ve Enter'a basın:Install-Package BarCodeInstall-Package BarCodeSHELL - Bu komut, IronBarcode NuGet paketinin ve bağımlılıklarının en son sürümünü projenize indirir ve yükler.
Projenizde barkod kütüphanesini kullanmak için aşağıdaki namespace'i ekleyin.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Code 128 Barkod Görüntüsü Oluşturma
Aşağıdaki kod bir Code 128 barkod üretecek.
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
Bu kod, giriş dizgisinden bir barkod oluşturur ve "myBarcode.Jpeg" adlı JPEG görüntü dosyası olarak kaydeder. Kullanılan özel kodlama, alfanümerik karakterleri temsil edebilen Code 128'dir.
Açıklama
Kodun ilk satırı, myBarcode adlı yeni bir değişken oluşturur. Girdi dizesi "12345ABC12345"'e dayalı bir barkod oluşturmak için BarcodeWriter.CreateBarcode yöntemini kullanır.
İkinci argüman, BarcodeWriterEncoding.Code128, barkod için kodlama türünü belirtir. Bu durumda, alfanümerik veri için yaygın olarak kullanılan Code 128 kodlaması kullanılıyor. Oluşan barkod myBarcode değişkeninde saklanır.
İkinci satır, oluşturulan barkodu bir JPEG görüntü dosyası olarak kaydeder. Kaydedilen görüntü için dosya adı "myBarcode.Jpeg"tir. Kaydedilen görüntünün formatı JPEG'dir (Joint Photographic Experts Group).
Çıktı
Oluşturulan barkod şu şekildedir:

Bu kod artık bir barkod okuma cihazı kullanılarak okunabilir.
Şimdi, barkodumuzu yeniden boyutlandıralım.
Barkod Yeniden Boyutlandırma
Aşağıdaki kod, verilen boyuta göre barkodumuzu yeniden boyutlandıracaktır.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Barkod oluşturma ve kaydetme kodu aynı kalır. Sadece barkodu yeniden boyutlandırmak için ek bir satır ekleyin.
ResizeTo() yöntemi, myBarcode değişkeninde saklanan barkod görüntüsünün boyutunu değiştirir. ResizeTo yöntemi myBarcode nesnesi üzerinde çağrılır. ResizeTo'e geçen iki argüman, genişlik ve yüksekliktir. Bu durumda, genişlik 800 piksel ve yükseklik 300 piksel olarak ayarlanmıştır.
Bu şekilde minimum genişlik ve çubuk modülü yüksekliği ayarlayabiliriz. Yeniden boyutlandırma sonrasında elde edilecek barkod görüntüsü aşağıdaki boyutlarda olacaktır.
Barkod Görüntüsü

Şimdi, barkodumuzu stilize edelim.
Code 128 Barkodunu Stilize Etme
Şimdi, arka plan rengini ve barkod rengini değiştirerek barkodumuzu stilize edelim.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
' Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
' Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Barkod oluşturma ve kaydetme kodu aynıdır. Sadece arka plan ve barkod rengini değiştirmek için iki ek satır ekledim. Açıklama şu şekildedir:
-
ChangeBackgroundColor:
ChangeBackgroundColoryöntemimyBarcodenesnesi üzerinde çağrılır. Bu yöntem, barkod görüntüsünün arka plan rengini değiştirir.ChangeBackgroundColor'e geçen argümanIronSoftware.Drawing.Color.Cornsilkolup, istenilen arka plan rengini belirtir. Bu durumda, arka plan rengi soluk sarı bir renk olan Cornsilk olarak ayarlanmıştır. - ChangeBarCodeColor:
ChangeBarCodeColoryöntemimyBarcodenesnesi üzerinde çağrılır. Bu yöntem, barkod çubuklarının rengini değiştirir.ChangeBarCodeColor'e geçen argümanIronSoftware.Drawing.Color.Brownolup, istenilen barkod rengini belirtir. Bu durumda, barkod rengi Kahverengi olarak ayarlanmıştır.
Çıktı
Stilize edilmiş barkodumuz şu şekildedir:

Code 128 Barkod Okuma
Code 128 barkod nasıl oluşturulacağını öğrendik. Barkodu okumak için kod yazalım:
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
' Read barcodes from the specified image file
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
' Loop through each barcode value read from the image
For Each barcodeValue In resultFromBarcode
' Print each barcode value to the console
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
Yukarıdaki kod, "myBarcode.Jpeg" görüntü dosyasından barkodları okur ve değerlerini konsola yazdırır. BarcodeReader sınıfı, görüntüden barkod verilerini çözmekten sorumludur. Kodun açıklaması şu şekildedir:
Kodun Açıklaması
-
İlk satır
resultFromBarcodeadlı bir değişken oluşturur. "myBarcode.Jpeg" adlı görüntü dosyasından barkodları okumak içinBarcodeReader.Readyöntemini çağırır. Bu işlemin sonucuresultFromBarcodedeğişkeninde saklanır. -
İkinci satır,
resultFromBarcodekoleksiyonundaki her bir barkod değeri üzerinde yineleyen bir döngüyü başlatır.foreachdöngüsü, her bir barkod değerini birer birer işlememizi sağlar. - Döngünün içinde, bu satır barkod değerlerinin her birini konsola yazdırır.
barcodeValue, görüntüden okunan bir barkodun içeriğini temsil eder.
Barkod değeri, konsolda aşağıda gösterildiği gibi yazdırılacaktır.
Çıktı

Code 128 Kodlama Segmentlerini Analiz Etme
Daha önce belirtildiği gibi, Code 128, verileri verimli bir şekilde kodlamak için üç karakter seti — A, B ve C — kullanır ve aralarında geçiş yapar. IronBarcode, verilen bir giriş dizisi için hangi karakter setlerinin kullanıldığını analiz etmek için Code128GS1Parser.GetEncodingInfo yöntemini sağlar.
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
Imports System
' Analyze Code 128 encoding segments
Dim result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF")
Console.WriteLine(result.CharacterSetSummary) ' "B → C → B"
Console.WriteLine(result.TotalSymbols) ' 14
Console.WriteLine(result.IsGS1) ' False
For Each segment In result.Segments
Console.WriteLine($"{segment.CharacterSetName}: ""{segment.Data}"" ({segment.SymbolCount} symbols)")
Next
' Output:
' Code B: "ABC" (3 symbols)
' Code C: "123456" (3 symbols)
' Code B: "DEF" (3 symbols)
Yöntem, kodlama segmentlerinin ayrıntılarını içeren bir Code128EncodingInfo nesnesi döndürür. Bu örnekte, kodlayıcı harfler için Kod B'den, sayısal çiftler için Kod C'ye (sayılar için en kompakt kodlama) ve geriye kalan harfler için tekrar Kod B'ye geçiş yapar. TotalSymbols sayısı başlangıç sembolü, veri sembolleri, kod anahtarları, kontrol rakamı ve bitiş sembolünü içerir.
Sonuç
Sonuç olarak, bu makalede, IronBarcode kütüphanesini kullanarak C# dilinde bir Code 128 barkod oluşturucu nasıl oluşturulacağı gösterilmiştir. IronBarcode'un özelliklerinden yararlanarak, geliştiriciler çeşitli uygulamalar, envanter yönetimi, ürün etiketleme ve sevkiyat için Code 128 barkodlarını kolayca oluşturabilir, özelleştir ve stilize edebilir. Bu öğretici kılavuzu izleyerek, geliştiriciler C# projelerine güçlü barkod işlevselliğini entegre edebilir, barkod oluşturma ve çözme ile ilgili görevlerde verimliliği artırır. IronBarcode'un çok yönlülüğü ve sezgisel API'si, barkod uygulamasını içeren uygulamalar üzerinde çalışan geliştiriciler için değerli bir araçtır.
IronBarcode kütüphanesi ile Code 128 barkodları oluşturma sürecinde, geliştiriciler ASCII değerleri değişen verilerin en uygun şekilde kodlanmasını sağlamak için kod seti seçim karakterlerini özelleştirme esnekliğine sahiptir. Görüntü formatlarına uyarlanmış kod, geliştiricilere barkodları JPEG veya diğer formatlarda kaydetme seçeneği sunar. Ek olarak, bir durdurma karakterinin dahil edilmesi, oluşturulan barkodlar içinde kodlanmış bilgilerin doğru şekilde sonlandırılmasını sağlar.
IronBarcode, geliştirme ihtiyaçları için kütüphanenin tam potansiyelini açmak için ücretsiz deneme sunar. Bu yaklaşım, geliştiricilerin ticari lisansa taahhüt etmeden önce IronBarcode'ın yeteneklerini değerlendirmelerini sağlar.
Sıkça Sorulan Sorular
C# ile bir Code 128 barkod nasıl oluşturabilirim?
C# içinde bir Code 128 barkod oluşturmak için, IronBarcode kütüphanesinden BarcodeWriter.CreateBarcode metodunu kullanarak arzu ettiğiniz girdi dizgesi ve Code 128'i kodlama türü olarak belirtin. Daha sonra üretilen barkod görseli, SaveAsJpeg gibi yöntemler kullanılarak dışa aktarılabilir.
Code 128 ne için kullanılır?
Code 128 alfanümerik veri ve özel karakterlerin kompakt bir barkod formatında kodlanması için kullanılır. Envanter yönetimi, ürün etiketleme ve gönderim uygulamaları için ideal olup, yüksek veri yoğunluğu ve çok yönlülüğü nedeniyle tercih edilir.
IronBarcode kullanarak bir barkodun görünümünü özelleştirebilir miyim?
Evet, IronBarcode kullanarak bir barkodun görünümünü ChangeBackgroundColor ve ChangeBarCodeColor gibi renk değiştirme, ResizeTo metodunu kullanarak yeniden boyutlandırma seçenekleriyle özelleştirebilirsiniz.
C# içinde bir barkodu nasıl okuyabilirim?
C#`ta bir barkodu okumak için, IronBarcode kütüphanesinden BarcodeReader.Read yöntemini kullanın. Bu yöntem, barkodu içeren resim dosyasını işler ve daha ileri işlem için çözülen değerleri geri döndürür.
Barkod oluşturma için IronBarcode kütüphanesini kullanmanın avantajları nelerdir?
IronBarcode kütüphanesi, kullanıcı dostu bir API sunar, çeşitli barkod kodlamalarını destekler, otomatik kontrol toplamı hesaplaması sağlar ve çoklu formatlarda resim dışa aktarma olanakları sunarak barkod oluşturma ve özelleştirme için esnek ve etkili bir araç yapar.
IronBarcode hangi resim formatlarına dışa aktarabilir?
IronBarcode, barkod görsellerini JPEG dahil olmak üzere çeşitli formatlara dışa aktarabilir ve bu, barkod görüntülerinin farklı uygulamalara entegrasyonunda esneklik sağlar.
IronBarcode'u satın almadan önce denemek mümkün mü?
Evet, IronBarcode'un ücretsiz deneme sürümünü kullanarak tam potansiyelini ve yeteneklerini keşfedebilir, ticari bir lisansa geçmeden önce C# projelerinize barkod işlevselliğini etkili bir şekilde entegre edebileceğinizden emin olabilirsiniz.




