Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

C#'ta Metinden Barkod Oluşturun: IronBarcode ile Tam Eğitim

Dize verilerini barkod görüntülerine kodlamak, envanter sistemleri, perakende uygulamaları ve belge yönetimi için temel bir gereksinimdir. Bu eğitici makale, IronBarcode kullanarak C#'da dize değerlerinden barkodlar oluşturmayı gösterir -- kurulumdan çoklu formatlarda barkod görüntülerini kaydetmeye, üretim kullanımı için stil vermeye ve veritabanı verilerinden büyük partileri işlemeye kadar her şeyi kapsar.

IronBarcode, Windows uygulamaları, web hizmetleri ve bulut barındırılan API'ler geliştiren .NET geliştiricileri için barkod oluşturma ve okuma sürecini basitleştiren Iron Software tarafından geliştirilen bir .NET kütüphanesidir. Aşağıdaki kod örnekleriyle devam etmek için ücretsiz denemenize başlayın.

IronBarcode'u .NET Projesine Nasıl Yükleriz?

IronBarcode'un yüklenmesi, Visual Studio içindeki .NET CLI veya NuGet Paket Yöneticisi kullanılarak birkaç saniye sürer.

Seçenek 1 -- .NET CLI (NET 10 için önerilen):

dotnet add package Barcode
dotnet add package Barcode
SHELL

Seçenek 2 -- Visual Studio'daki NuGet Paket Yöneticisi Konsolunda:

Install-Package BarCode

Alternatif olarak, NuGet Paket Yöneticisi GUI'sinde "IronBarcode" arayın ve resmi paketi yükleyin. Kütüphane, .NET Framework 4.6.2+ ve .NET 5'ten .NET 10'a kadar olan modern .NET iş yükleriyle uyumluluğu garanti eder.

Kurulumdan sonra, çubuk kodları oluşturan veya okuyan her dosyanın en üstüne tek bir using yönergesi ekleyin:

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

Bu yönerge, BarcodeWriter, BarcodeReader, BarcodeEncoding ve bu kılavuzda ele alınan diğer genel türleri açığa çıkarır.

C#'da Basit Bir Barkod Nasıl Oluşturulur?

BarcodeWriter.CreateBarcode yöntemi, çubuk kodu üretimi için giriş noktasıdır. Kodlamak istediğiniz dizeyi ve bir BarcodeEncoding değerini iletin, böylece kaydetmeye veya daha fazla işlemeye hazır bir GeneratedBarcode nesnesi geri alırsınız.

using IronBarCode;

// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
using IronBarCode;

// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
Imports IronBarCode

' Generate a Code 128 barcode from a product SKU string
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128)
barcode.SaveAsPng("product_barcode.png")
$vbLabelText   $csharpLabel

Barkod Oluşturma Çıktısı

C# Dizeden Çubuk Kodu Oluşturma: IronBarcode ile Tam Kılavuz: Görsel 1 - Örnek çıktı çubuk kodu

Bu, ürün dizisinden Code128 çubuk kodu görüntüsü oluşturur ve bunu bir PNG dosyası olarak kaydeder. CreateBarcode yöntemi tüm kodlama karmaşıklığını ele alır, böylece minimal kodla bir çubuk kodu görüntüsü üretilebilir. IronBarcode, PNG, JPEG, GIF, TIFF, BMP ve SVG formatlarına kaydetmeyi destekler.

Yöntem ayrıca, hedef ortamda doğru tarama kalitesini sağlamak için çıkış boyutlarını kontrol etmek için isteğe bağlı genişlik ve yükseklik parametrelerini kabul eder:

using IronBarCode;

// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
using IronBarCode;

// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
Imports IronBarCode

' Specify width and height in pixels for the barcode image
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120)
barcode.SaveAsPng("product_barcode_sized.png")
$vbLabelText   $csharpLabel

Etiket stokuna tam olarak uyması gereken termal etiket yazıcıları için etiketler oluşturan durumlarda, kesin boyutların ayarlanması özellikle kullanışlıdır.

IronBarcode Hangi Barkod Biçimlarını Destekler?

IronBarcode, farklı kullanım durumları için 20'den fazla barkod türünü destekler. Doğru formatın seçilmesi, uygun tarama ve uygulama için yeterli veri kapasitesi sağlar.

using IronBarCode;

string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";

// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
    .SaveAsPng("qrcode.png");

// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
    .SaveAsPng("upc_barcode.png");

// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
    .SaveAsJpeg("pdf417_barcode.jpeg");
using IronBarCode;

string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";

// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
    .SaveAsPng("qrcode.png");

// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
    .SaveAsPng("upc_barcode.png");

// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
    .SaveAsJpeg("pdf417_barcode.jpeg");
Imports IronBarCode

Dim url As String = "https://ironsoftware.com/csharp/barcode/"
Dim numericId As String = "0123456789012"

' QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode) _
    .SaveAsPng("qrcode.png")

' UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA) _
    .SaveAsPng("upc_barcode.png")

' PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417) _
    .SaveAsJpeg("pdf417_barcode.jpeg")
$vbLabelText   $csharpLabel

Barkod Görüntü Çıkışları

C# Dizeden Çubuk Kodu Oluşturma: IronBarcode ile Tam Kılavuz: Görsel 2 - Üretilen Çubuk Kodları

Aşağıdaki tablo, her büyük formatın ne zaman kullanılacağını özetler:

IronBarcode destekli barkod formatları kullanım durumuna göre
BiçimEn İyi İçinKarakter Kümesi
QRCodeURL'ler, metin, mobil taramaASCII + Unicode
Code128Alfasayısal ürün kodları, nakliye etiketleriTam ASCII
UPCA / EAN13Perakende satış noktası sistemleriYalnızca sayısal
PDF417Kimlik kartları, biniş kartları, belgelerİkili veri
DataMatrixKüçük etiketler, elektronikASCII + İkili
AztecTaşıma biletleri, mobil binişASCII + Unicode

Desteklenen kodlama türlerinin tam listesi için IronBarcode barkod türleri referansını ziyaret edin.

C#'da Barkod Görüntülerini Özelleştirme ve Stil Verme Nasıl Yapılır?

Temel barkod oluşturmanın ötesinde, IronBarcode, dış bir görüntü işleme kütüphanesine ihtiyaç duymadan renkleri ayarlamak, açıklamalar eklemek ve barkod görüntülerini yeniden boyutlandırmak için akıcı bir stil API'ı sunar.

using IronBarCode;
using IronSoftware.Drawing;

string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);

// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);

// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);

// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
using IronBarCode;
using IronSoftware.Drawing;

string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);

// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);

// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);

// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Dim orderNumber As String = "ORD-2024-00542"
Dim styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128)

' Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue)
styledBarcode.ChangeBackgroundColor(Color.White)

' Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", New Font("Arial", 12), Color.Black, 5)
styledBarcode.AddBarcodeValueTextBelowBarcode(New Font("Arial", 10), Color.Gray, 5)

' Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150)
styledBarcode.SaveAsPng("styled_order_barcode.png")
$vbLabelText   $csharpLabel

Stil Verilmiş Barkod Çıkışı

C# Dizeden Çubuk Kodu Oluşturma: IronBarcode ile Tam Kılavuz: Görsel 3 - stilize edilmiş çubuk kodu

Hangi Stil Özellikleri Mevcut?

GeneratedBarcode sınıfı, çeşitli stil yöntem kategorilerini açığa çıkarır:

  • Renk kontrolü -- ChangeBarCodeColor, ChangeBackgroundColor, Color içinden herhangi birini kabul eder IronSoftware.Drawing
  • Metin açıklamaları -- özelleştirilmiş yazı tipi, boyutu ve rengini ile barkodun üstüne veya altına metin ekleyin
  • Kenarlık kontrolü -- karışık etiketlerde tarayıcı performansını iyileştirmek için barkod etrafında dolgu belirleyin
  • Dönüş -- portre yönü gerektiren etiket düzenleri için barkod görüntüsünü yan veya çapraz döndürme
  • Yeniden boyutlandırma -- kodlanan verileri bozmadan genişlik ve yükseklik piksel olarak sabitleyin

Stil yöntemleri doğal olarak zincirlenir, kodun okunabilirliğini korurken uygulamanın görsel tasarımına uygun barkod görüntüleri üretir. Daha derinlemesine bir kılavuz için barkod stili nasıl yapılır kılavuzuna bakın.

Veritabanı Verilerinden Birden Çok Barkod Nasıl Oluşturulur?

Gerçek dünya uygulamaları, ürün katalogları, stok yenileme çalışmaları veya sipariş sevkiyat iş akışları gibi öğe koleksiyonları için sık sık barkod oluşturma gerektirir. IronBarcode, ek yapılandırma gerektirmeyen toplu işlem yapar.

using IronBarCode;

// Data sourced from a database query result
List<string> productIds =
[
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
];

// Generate one barcode image per product ID
foreach (string productId in productIds)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
    barcode.SaveAsPng($"barcodes/{productId}.png");
}
using IronBarCode;

// Data sourced from a database query result
List<string> productIds =
[
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
];

// Generate one barcode image per product ID
foreach (string productId in productIds)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
    barcode.SaveAsPng($"barcodes/{productId}.png");
}
Imports IronBarCode

' Data sourced from a database query result
Dim productIds As New List(Of String) From {
    "PROD-001-X",
    "PROD-002-Y",
    "PROD-003-Z",
    "PROD-004-W"
}

' Generate one barcode image per product ID
For Each productId As String In productIds
    Dim barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100)
    barcode.SaveAsPng($"barcodes/{productId}.png")
Next
$vbLabelText   $csharpLabel

Çıktı Barkodları

C# Dizeden Çubuk Kodu Oluşturma: IronBarcode ile Tam Kılavuz: Görsel 4 - birden çok üretilmiş çubuk kodu

Yüksek Hacimlere Ölçeklenme

Yukarıdaki döngü deseni, herhangi bir modifikasyon yapılmadan binlerce kayda ölçeklenir. Yüksek hacimli barkod oluşturma için, IronBarcode, çok çekirdekli sunucularda verimi en üst düzeye çıkarmak için asykron ve çok enerjili işlemleri destekler.

Üretilen barkod görüntüleri, PDF raporlarına gömülebilir, etiketlerde yazdırılabilir veya bir belge yönetim sisteminde saklanabilir. Her görüntü, barkod tarayıcılarının metne geri çözdüğü ikili bir desende orijinal dizeyi kodlar.

Üretim toplu işler için, her çağrı, @@--CODE-5764--@@, döngü başlamadan önce IronBarcode motorunu önceden ısıtmayı düşünün. CreateBarcode ilk çağrısı, dahili kodlama önbelleklerini başlatır; aynı süreç içindeki ardışık çağrılar bu yüzden daha hızlı tamamlanır. Tüm partiyi tek bir zamanlanmış yöntem içinde sararak akümülatif istatistikleri -- toplam oluşturulan barkodlar, herhangi bir kodlama hatası ve geçen süre -- kaydetmek kolaylaşır, parti sona ermeden önce. Bu desen, Hangfire veya .NET'in yerleşik IHostedService gibi arka plan iş çerçeveleriyle temiz bir şekilde entegre olur.

Barkodları Farklı Dosya Biçimlarında Nasıl Kaydeder ve Dışa Aktarırsınız?

GeneratedBarcode, iş uygulamalarında kullanılan en yaygın görüntü formatlarını kapsayan bir dizi kaydetme yöntemi sunar:

using IronBarCode;

string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);

// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png");       // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg");      // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif");       // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff");     // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp");       // Uncompressed bitmap

// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
using IronBarCode;

string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);

// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png");       // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg");      // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif");       // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff");     // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp");       // Uncompressed bitmap

// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
Imports IronBarCode

Dim value As String = "EXPORT-TEST-001"
Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)

' Save to disk in multiple formats
barcode.SaveAsPng("barcode.png")       ' Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg")      ' Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif")       ' Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff")     ' Multi-page archival format
barcode.SaveAsBmp("barcode.bmp")       ' Uncompressed bitmap

' Export as a byte array for in-memory operations (API responses, database storage)
Dim pngBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
$vbLabelText   $csharpLabel

Doğru formatı seçmek, aşağı akış tüketicisine bağlıdır. PNG, baskıya hazır etiketler ve belgeler için iyi çalışır. JPEG, depolama boyutunun bir kısıt olduğu uygulamalar için uygundur. Barkodları doğrudan PDF belgelerine gömme için, IronBarcode, barkod görüntülerini programlı olarak damgalamak veya eklemek için IronPDF ile entegre olur.

ToStream aşırı yüklemesi, diske yazmanın istenmediği web API'leri ve bulut işlevlerinde özellikle değerlidir. Bayt dizisi, bir veri tabanı BLOB sütununda saklanabilir, bulut depolama alanına yüklenebilir veya herhangi bir ara dosya olmadan doğrudan bir HTTP yanıtına aktarılabilir.

Veriyi Kodlamadan Önce Nasıl Doğrularsınız?

Her dize, her barkod formatı için geçerli değildir. UPC-A tam olarak 12 adet sayısal rakam gerektirir, EAN-13 ise 13 gerektirir ve bazı 1D formatları sınırlı bir ASCII dizisinin dışındaki karakterleri reddeder. Geçersiz veriyi CreateBarcode göndermek bir IronBarCodeEncodingException oluşturur. Çağrıyı bir try/catch bloğunda sararak ve girdileri önceden doğrulayarak üretimde işlenmemiş istisnaları önler:

using IronBarCode;

bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
    if (string.IsNullOrWhiteSpace(value))
    {
        Console.WriteLine("Value must not be empty.");
        return false;
    }

    try
    {
        var barcode = BarcodeWriter.CreateBarcode(value, encoding);
        barcode.SaveAsPng(outputPath);
        return true;
    }
    catch (IronBarCodeEncodingException ex)
    {
        Console.WriteLine($"Encoding failed: {ex.Message}");
        return false;
    }
}

// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png");   // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png");  // encoding exception
using IronBarCode;

bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
    if (string.IsNullOrWhiteSpace(value))
    {
        Console.WriteLine("Value must not be empty.");
        return false;
    }

    try
    {
        var barcode = BarcodeWriter.CreateBarcode(value, encoding);
        barcode.SaveAsPng(outputPath);
        return true;
    }
    catch (IronBarCodeEncodingException ex)
    {
        Console.WriteLine($"Encoding failed: {ex.Message}");
        return false;
    }
}

// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png");   // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png");  // encoding exception
Imports IronBarCode

Function TryCreateBarcode(value As String, encoding As BarcodeEncoding, outputPath As String) As Boolean
    If String.IsNullOrWhiteSpace(value) Then
        Console.WriteLine("Value must not be empty.")
        Return False
    End If

    Try
        Dim barcode = BarcodeWriter.CreateBarcode(value, encoding)
        barcode.SaveAsPng(outputPath)
        Return True
    Catch ex As IronBarCodeEncodingException
        Console.WriteLine($"Encoding failed: {ex.Message}")
        Return False
    End Try
End Function

' Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png")   ' succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png")  ' encoding exception
$vbLabelText   $csharpLabel

Girdi Verileri İçin Doğru Biçimı Seçme

Barkod formatı çalıştırma zamanında yapılandırılabilir olduğunda, içerik türünü uygun kodlamaya eşleyen bir yardımcı gizli hataları önler:

  • Dizgede URL'ler, e-posta adresleri veya çok baytlı Unicode karakterleri varsa BarcodeEncoding.QRCode kullanın.
  • Yaklaşık 80 karaktere kadar genel alfanumerik dize için BarcodeEncoding.Code128 kullanın.
  • Veri tamamen sayısal ve uzunluk sabitse yalnızca BarcodeEncoding.EAN13 veya BarcodeEncoding.UPCA kullanın. Kontrol rakamı IronBarcode tarafından otomatik olarak hesaplanır.
  • Fiziksel olarak küçük bir etikete uyması gereken çok kısa alfanumerik dizeler için BarcodeEncoding.DataMatrix kullanın.

CreateBarcode çağrılmadan önce biçim doğrulaması eklemek, hata mesajlarını uygulama günlüklerindeki çözülemeyen yığın izleri yerine kullanıcıya yönelik tutar.

Bir Dizgi Değerinden Barkodu Geri Nasıl Okursunuz?

Birçok sistemde barkod oluşturmak, iş akışının sadece yarısıdır. çubuk kod okuma API'si, bir görüntüyü orijinal dizgeye geri çözmek için BarcodeReader.Read kullanır.

using IronBarCode;

// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");

foreach (var result in results)
{
    // Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Biçim detected: {result.BarcodeType}");
}
using IronBarCode;

// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");

foreach (var result in results)
{
    // Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Biçim detected: {result.BarcodeType}");
}
Imports IronBarCode

' Read all barcodes from an image file
Dim results = BarcodeReader.Read("product_barcode.png")

For Each result In results
    ' Output the decoded string value
    Console.WriteLine($"Decoded value: {result.Value}")
    Console.WriteLine($"Biçim detected: {result.BarcodeType}")
Next
$vbLabelText   $csharpLabel

Bu, yuvarlak-trip barkod iş akışlarını -- bir ürün kaydından barkod oluşturma, disk veya bir etiket yazıcı kuyruğuna kaydetme, daha sonra fiziksel etiketi tarama ve kaydı görmek için değeri kod çözme -- oluşturmayı kolaylaştırır. PDF dosyalarından barkodları okuma veya canlı kamera akımlarında, IronBarcode, aynı basit API ile özel yöntemler sunar.

IronBarcode ASP.NET Core Web API'lerinde Nasıl Kullanılır?

IronBarcode, ASP.NET Core kontrolcülerinde ve minimal API işleyicilerde çalışır. En yaygın desen, tarayıcıda renderlama için bir dosya sonucu veya base64 kodlu veri URI olarak bir barkod görüntüsü döndürür.

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
    var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
    byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
    return Results.File(imageBytes, "image/png");
});

app.Run();
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
    var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
    byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
    return Results.File(imageBytes, "image/png");
});

app.Run();
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()

' Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", Function(value As String)
                                   Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)
                                   Dim imageBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
                                   Return Results.File(imageBytes, "image/png")
                               End Function)

app.Run()
$vbLabelText   $csharpLabel

Uç nokta, URL yolunda geçirilen herhangi bir değer için talebe bağlı bir barkod oluşturur. Üretim dağıtımları için, aynı barkod değerine yönelik tekrarlayan isteklerin görüntüyü yeniden oluşturmamasını sağlamak için önbellekleme ekleyin. Bağımlılık enjeksiyonu ve yanıt önbellekleme dahil olmak üzere daha ayrıntılı bir adım adım kılavuz için tam ASP.NET barkod oluşturma öğreticisine bakın.

Sonraki Adımlarınız Neler?

C# dilinde string verilerden barkod oluşturmak IronBarcode ile kolaydır. Akıcı API, barkod kodlamasının karmaşıklığını yönetirken özelleştirme ve toplu işleme için esneklik sağlar. Hedefiniz envanter için basit Code 128 barkodları veya mobil uygulamalar için QR kodları olsun, IronBarcode, .NET uygulamaları için güvenilir barkod işlevselliği sunar.

Daha ileri gitmek için:

Şimdi IronBarcode ile başlayın.
green arrow pointer

Sıkça Sorulan Sorular

C#'da barkod üretimi için IronBarcode'u nasıl kurarsınız?

.NET CLI'den 'dotnet add package Barcode' komutunu çalıştırın veya Visual Studio'da NuGet Paket Yöneticisi'ni açarak 'IronBarCode' arayın ve resmi paketi yükleyin.

IronBarcode ile string'ten hangi barkod formatları üretilebilir?

IronBarcode, QR Kod, Kod 128, UPC-A, EAN-13, PDF417, Veri Matrisi, Aztec dahil olmak üzere 20'den fazla formatı destekler. Format BarcodeEncoding numarası ile belirtilir.

IronBarcode ile üretilen barkodların görünümü özelleştirilebilir mi?

Evet. IronBarcode, barkod rengini değiştirme, arka plan rengini değiştirme, barkod üzerinde veya altında metin açıklamaları ekleme, kenar boşlukları ayarlama, yeniden boyutlandırma ve çıkış görüntüsünü döndürme yöntemlerini sunar.

IronBarcode toplu barkod üretimini destekliyor mu?

Evet. Bir liste veya veritabanı sonuç kümesi üzerinden tekrarlayarak her değer için BarcodeWriter.CreateBarcode çağırın. Çok yüksek hacimler için, IronBarcode ayrıca asenkron ve çok iş parçacıklı işlemleri destekler.

IronBarcode barkodları hangi görüntü formatlarına kaydedebilir?

IronBarcode, barkodları PNG, JPEG, GIF, TIFF, BMP ve SVG olarak kaydedebilir. ToStream yöntemi, diske yazmadan bellek kullanımı için bir bayt dizisi döndürür.

IronBarcode kullanarak bir dizgeyi barkoda nasıl kodlarsınız?

value bir dizge ve BarcodeEncoding formatı belirtir nerede BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128) çağırın. Daha sonra SaveAsPng veya döndürülen GeneratedBarcode nesnesinde başka bir kaydetme yöntemi çağırın.

IronBarcode hangi .NET sürümlerini destekliyor?

IronBarcode, hem eski hem de modern .NET iş yüklerini kapsayan .NET Framework 4.6.2 ve sonraki sürümleri, artı .NET 5 ila .NET 10'u destekler.

IronBarcode ASP.NET Core web uygulamalarında kullanılabilir mi?

Evet. IronBarcode, denetleyiciler ve minimal API işleyicileri içinde çalışır. Yaygın bir desen, CreateBarcode'u çağırmak, sonucu ToStream ile bir bayt dizisine dönüştürmek ve uç noktadan bir dosya sonucu olarak geri döndürmektir.

Bir barkodu orijinal dizesine C#'da nasıl geri okursunuz?

Bir görüntüyü kodunu çözmek için BarcodeReader.Read(filePath) kullanın. Yöntem, her biri kodlanmış Değer dizesi ve tespit edilen Barkod Tipi içeren bir BarcodeResult nesneleri koleksiyonu döndürür.

IronBarcode için ücretsiz bir deneme var mı?

Evet. IronBarcode, üretim dağıtımı için ücretli bir lisans taahhüt etmeden önce tüm özelliklerin tam olarak değerlendirilmesine olanak tanıyan ücretsiz bir deneme lisansı sunar.

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