Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

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

  1. IronBarcode kütüphanesini yükleyin
  2. Code 128 Kodlaması kullanarak bir barkod oluşturun
  3. Barkodu yeniden boyutlandırın
  4. Arkaplan ve barkod rengini değiştirerek barkodu stilize edin
  5. 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:

  1. Karakter Seti A: Büyük harfler, rakamlar ve özel karakterleri içerir.
  2. Karakter Seti B: Büyük harfler, küçük harfler, rakamlar ve ek özel karakterleri içerir.
  3. 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:

  1. Visual Studio'yu açın.
  2. Üst menüde, 'Görünüm' > 'Diğer Windows' > 'Package Manager Console' seçeneklerine giderek Paket Yöneticisi Konsolu'nu açın.
  3. Paket Yöneticisi Konsolu'nda, IronBarcode paketini yüklemek için Install-Package komutunu kullanabilirsiniz. Aşağıdaki komutu yazın ve Enter'a basın:

    Install-Package BarCode
    Install-Package BarCode
    SHELL
  4. 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
$vbLabelText   $csharpLabel

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

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:

C#'ta Code 128 barkod nasıl oluşturulur: Şekil 1 - Önceki koddan çıktısı alınmış barkod

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

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ü

C#'ta Code 128 barkod nasıl oluşturulur: Şekil 2 - Önceki koddan yeniden boyutlandırılmış barkod

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

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: ChangeBackgroundColor yöntemi, myBarcode nesnesinde ç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üman IronSoftware.Drawing.Color.Cornsilk olup, istenen arka plan rengi belirtir. Bu durumda, arka plan rengi Cornsilk olarak ayarlanır; bu açık sarı bir renktir.

  • ChangeBarCodeColor: ChangeBarCodeColor yöntemi, myBarcode nesnesinde çağrılır. Bu yöntem, barkod çubuklarının rengini değiştirir. ChangeBarCodeColor'ya geçirilen argüman IronSoftware.Drawing.Color.Brown olup, istenen barkod rengini belirtir. Bu durumda, barkod rengi Kahverengi olarak ayarlanır.

Çıktı

Stil verilen barkodumuz şu şekildedir:

C#'ta Code 128 barkod nasıl oluşturulur: Şekil 3 - Önceki koddan çıktısı alınmış stilize barkod

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

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, resultFromBarcode adında bir değişken oluşturur. "myBarcode.Jpeg" isimli görüntü dosyasından barkodları okumak için BarcodeReader.Read yöntemini çağırır. Bu işlemin sonucu, resultFromBarcode değişkeninde saklanır.

  • İkinci satır, resultFromBarcode koleksiyonundaki her barkod değerini yineleyen bir döngü başlatır. foreach dö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ı

C#'ta Code 128 barkod nasıl oluşturulur: Şekil 4 - Okunan barkodun konsol çıktısı

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

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.

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