C#'ta Code 128 çizgikodu Nasıl Üretilir
Barkodlar, envanter yönetiminden ürün etiketlemeye ve nakliyeye kadar modern iş operasyonları için kritiktir. Code 128, çeşitli barkod kod setleri arasında çok yönlü ve yaygın olarak kullanılan bir seçenek olarak öne çıkar. Bu makalede, IronBarcode kütüphanesini kullanarak C# dilinde bir Code 128 barkod oluşturucu nasıl inşa edileceğini keşfedeceğiz.
How to Generate Code 128 Barcode in C
- IronBarcode kütüphanesini yükleyin
- Code 128 Kodlaması kullanarak bir barkod oluşturun
- Barkodu yeniden boyutlandırın
- Arkaplan ve barkod rengini değiştirerek barkodu stilize edin
- Oluşturulan barkodu okuyun
Code 128 Barkodlara Giriş
Code 128 kod seti, alfanümerik veri ve özel karakterleri kodlayabilen yüksek yoğunluklu, değişken uzunlukta bir lineer barkoddur. Kendi kendini kontrol eder, veri doğruluğunu sağlamak için bir toplam kontrol rakamı içerir. Code 128 kodlama şeması üç kontrol karakterini destekler:
- Karakter Seti A: Büyük harfler, rakamlar ve özel karakterleri içerir.
- Karakter Seti B: Büyük harfler, küçük harfler, rakamlar ve ek özel karakterleri içerir.
- Karakter Seti C: Rakam çiftlerini (00'den 99'a kadar) kodlar.
Neden IronBarcode?
IronBarcode, barkod oluşturma, kod çözme ve özelleştirme sağlayan sağlam 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 ile. İçerik, boyut ve görünüm ayarlamaları için sezgisel bir API sunar. Dekodlama yetenekleri, otomatik toplam kontrol hesaplaması ve görüntü ihracı ile envanter yönetimi ve ötesindeki geliştiriciler için değerli bir araçtır. 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üğünü artırır.
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. Yapılması gereken ilk adım, projemize IronBarcode kütüphanesini yüklemektir. Proje, Windows Forms, web formları, MAUI, Xamarin, ASP.NET MVC, Razor veya Blazor projeleri gibi herhangi bir türde olabilir.
IronBarcode Kütüphanesini Yükleme
IronBarcode NuGet paketini Visual Studio'daki Paket Yöneticisi Konsolu'nu kullanarak yüklemek için bu adımları takip edebilirsiniz:
- Visual Studio'yu açın.
- Üst menüde, 'Görünüm' > 'Diğer Windows' > 'Package Manager Console' seçeneklerine giderek Paket Yöneticisi Konsolu'nu açın.
-
Paket Yöneticisi Konsolu'nda, IronBarcode paketini yüklemek 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 en son sürümünü ve bağımlılıklarını projenize indirip yükleyecektir.
Projenizde barkod kütüphanesini kullanmak için aşağıdaki ad alanını ekleyin.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Code 128 Barkod Görüntüsü Oluşturun
Aşağıdaki kod, bir Code 128 barkod oluşturacak.
// 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ş dizesinden bir barkod oluşturur ve "myBarcode.Jpeg" adında bir JPEG görüntü dosyası olarak kaydeder. Kullanılan özel kodlama Code 128 olup, alfanümerik karakterleri temsil edebilir.
Açıklama
İlk kod satırı, myBarcode adında yeni bir değişken oluşturur. Girdi dizgisine dayalı bir barkod oluşturmak için BarcodeWriter.CreateBarcode yöntemini kullanır "12345ABC12345".
İ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ıdır. Ortaya çıkan barkod, myBarcode değişkeninde saklanır.
İkinci satır, oluşturulan barkodu JPEG görüntü dosyası olarak kaydeder. Kaydedilen görüntü için dosya adı "myBarcode.Jpeg" olarak belirlenmiştir. Kaydedilen görüntünün formatı JPEG'dir (Joint Photographic Experts Group).
Çıktı
Oluşan barkod şu şekildedir:

Bu kod şimdi bir barkod okuma cihazı kullanılarak okunabilir.
Şimdi, barkodumuzu yeniden boyutlandıralım.
Barkod Yeniden Boyutlama
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 için kod aynı kalır. Sadece barkodu yeniden boyutlandırma için ek satırı ekleyin.
ResizeTo() yöntemi, myBarcode değişkeninde saklanan barkod görüntüsünü yeniden boyutlandırır. ResizeTo yöntemi, myBarcode nesnesinde çağrılır. ResizeTo yöntemine geçirilen iki argüman genişlik ve yüksekliktir. Bu durumda, genişlik 800 piksele ve yükseklik 300 piksele ayarlanmıştır.
Bu şekilde, minimum genişlik ve çubuk modülü yüksekliğini belirleyebiliriz. Sonuçta ortaya çıkan barkod görüntüsü, aşağıda gösterildiği gibi bu boyutlara sahip olacaktır.
Barkod Görüntüsü

Şimdi, barkodumuzu stilize edelim.
Stil Kod 128 Barkodu
Şimdi, arka plan rengini ve barkod rengini değiştirerek barkodumuzu stillendirelim.
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
Barkodları oluşturma ve kaydetme kodu aynıdır. Arka plan ve barkod rengini değiştirmek için sadece iki ek satır ekledim. Açıklama aşağıdaki gibidir:
-
ChangeBackgroundColor:
ChangeBackgroundColoryöntemi,myBarcodenesnesinde çağrılır. Bu yöntem, barkod görüntüsünün arka plan rengini değiştirir.ChangeBackgroundColor'ya geçirilen argümanIronSoftware.Drawing.Color.Cornsilkolup, istenen arka plan rengi belirtir. Bu durumda, arka plan rengi Cornsilk olarak ayarlanır; bu açık sarı bir renktir. - ChangeBarCodeColor:
ChangeBarCodeColoryöntemi,myBarcodenesnesinde çağrılır. Bu yöntem, barkod çubuklarının rengini değiştirir.ChangeBarCodeColor'ya geçirilen argümanIronSoftware.Drawing.Color.Brownolup, istenen barkod rengini belirtir. Bu durumda, barkod rengi Kahverengi olarak ayarlanır.
Çıktı
Stil verilen barkodumuz şu şekildedir:

Kod 128 Barkodunu Okuma
Bir Kod 128 barkodu oluşturmayı öğ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" adındaki görüntü dosyasından barkodları okur ve değerlerini konsola yazdırır. BarcodeReader sınıfı, görüntüden barkod verilerini çözmekle görevlidir. Kodun açıklaması aşağıdaki gibidir:
Kod Açıklaması
-
İlk satır,
resultFromBarcodeadında bir değişken oluşturur. "myBarcode.Jpeg" isimli görüntü dosyasından barkodları okumak içinBarcodeReader.Readyöntemini çağırır. Bu işlemin sonucu,resultFromBarcodedeğişkeninde saklanır. -
İkinci satır,
resultFromBarcodekoleksiyonundaki her barkod değerini yineleyen bir döngü başlatır.foreachdöngüsü, her bir barkod değerini tek tek işlememize olanak tanır. - Döngü içinde, bu satır her barkod değerini konsola yazdırır.
barcodeValue, bir barkodun görüntüden okunmuş içeriğini temsil eder.
Barkod değeri, Konsolda aşağıda gösterildiği gibi yazdırılacaktır.
Çıktı

Kod 128 Kodlama Segmentlerini Analiz Etme
Daha önce belirtildiği gibi, Kod 128 üç karakter seti—A, B ve C—kullanır ve verileri verimli bir şekilde kodlamak için bunlar arasında geçiş yapar. IronBarcode, belirli bir girdi dizgisinin 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 dökümü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 (rakamlar için en kompakt kodlama) ve kalan harfler için tekrar Kod B'ye geçer. TotalSymbols sayısı, başlangıç sembolü, veri sembolleri, kod geçişleri, kontrol basamağı ve durdurma sembolünü içerir.
Sonuç
Sonuç olarak, bu makale, C# kullanarak IronBarcode kütüphanesi ile nasıl bir Kod 128 barkod oluşturucu oluşturulacağını göstermiştir. IronBarcode'un yeteneklerinden yararlanarak, geliştiriciler envanter yönetimi, ürün etiketleme ve nakliye dahil olmak üzere çeşitli uygulamalar için kolayca oluşturulmuş, özelleştirilebilir ve stil verilmiş Kod 128 barkodları oluşturabilirler. Bu eğitim kılavuzunu takip ederek, geliştiriciler, C# projelerine sağlam barkod işlevselliği entegre edebilir, barkod oluşturma ve kod çözümleme ile ilgili görevleri daha verimli hale getirir. IronBarcode'un çok yönlülüğü ve sezgisel API'si, barkod uygulaması içeren uygulamalar üzerinde çalışan geliştiriciler için değerli bir araç haline getirir.
IronBarcode kütüphanesi ile Kod 128 barkodları oluşturma sürecinde, geliştiriciler, değişken ASCII değerlerine sahip verilerin optimum şekilde kodlanmasını sağlamak için kod seti seçim karakterlerini özelleştirme esnekliğine sahiptir. Render kodu, tercih edilen resim formatlarına sorunsuz bir şekilde uyum sağlar ve geliştiricilere barkodları JPEG veya diğer formatlarda kaydetme seçeneği sunar. Ek olarak, bir sonlandırma karakterinin eklenmesi, oluşturulan barkodlar içindeki kodlanmış bilginin doğru bir şekilde sonlandırılmasını sağlar.
IronBarcode, geliştiricilerin geliştirme gereksinimlerinde kütüphanenin tam potansiyelini açığa çıkarmak için ücretsiz deneme sunar. Bu yaklaşım, geliştiricilerin ticari lisans taahhüdünde bulunmadan önce IronBarcode'un yeteneklerini değerlendirmelerine olanak tanır.
Sıkça Sorulan Sorular
C#'ta Code 128 barkodunu nasıl oluşturabilirim?
C#'ta Code 128 barkodunu oluşturmak için, IronBarcode kütüphanesinden BarcodeWriter.CreateBarcode yöntemini kullanarak istediğiniz girdiyi verin ve kodlama türü olarak Code 128'i belirtin. Ardından SaveAsJpeg gibi yöntemler kullanarak oluşturulan barkod görüntüsünü dışa aktarabilirsiniz.
Code 128 ne için kullanılır?
Code 128, alfanümerik verileri ve özel karakterleri kompakt bir barkod formatında kodlamak için kullanılır. Envanter yönetimi, ürün etiketleme ve gönderi uygulamaları için ideal olup yüksek veri yoğunluğu ve çok yönlülüğü ile öne çıkar.
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 ile renklerini değiştirerek ve ResizeTo yöntemiyle yeniden boyutlandırarak özelleştirebilirsiniz.
C#'ta bir barkod nasıl okunur?
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 fazla işlem için çözümlenmiş değerleri döndürür.
IronBarcode kütüphanesini barkod oluşturma için kullanmanın avantajları nelerdir?
IronBarcode kütüphanesi kullanıcı dostu bir API sunar, çeşitli barkod kodlamalarını destekler, otomatik çek kontrol hesaplaması sağlar ve görüntüyü birden fazla formatta dışa aktarmaya izin verir, bu da onu barkod oluşturma ve özelleştirme için esnek ve etkili bir araç yapar.
IronBarcode hangi resim formatlarına barkodları dışa aktarabilir?
IronBarcode, JPEG dahil olmak üzere çeşitli formatlarda barkod görüntülerini dışa aktarabilir, bu da barkod görüntülerini farklı uygulamalara entegre etme ve ele alma konusunda esneklik sağlar.
IronBarcode'u satın almadan önce denemek mümkün mü?
Evet, IronBarcode'un ücretsiz deneme sürümünü deneyerek, ticari bir lisansa taahhüt etmeden önce, tam potansiyelini ve yeteneklerini keşfedebilir, C# projelerinize barkod işlevselliğini etkili bir şekilde entegre edebilirsiniz.




