IRONSOFTWAREHOME
DIĞER BILEŞENLERLE KARŞILAŞTIRIN

NetBarcode vs IronBarcode: Yalnızca 1D Oluşturma Karşısında Tüm Bir Barkod Araç Setini Karşılaştırma

Curtis Chau
Curtis Chau
Updated: 21 Nisan 2026

NetBarcode'un Type enumunda QR Kod girdisi yok. Üçüncü ayda bir nakliye etiketi projesi QR kodu gereksinimi eklediğinde, geliştiriciler ikinci kütüphane için ulaşır. Bu ikinci kütüphane kendi API yüzeyini, kendi sürüm takvimini ve sürümü, NetBarcode'un zaten ihtiyaç duyduğu sürümle hizalamak için sapabilecek SixLabors.ImageSharp bağımlılığını getirir. Bu karşılaştırma, NetBarcode'un ne olduğunu, nereye iyi uyduğunu ve IronBarcode'nin ekstra ikinci veya üçüncü bir pakete ihtiyacının olmadan bu boşlukları nasıl kapattığını inceler.

NetBarcode'u Anlama

NetBarcode,MITlisansı altında yayınlanan açık kaynak bir .NET barkod üretim kütüphanesidir. String verilerden lineer barkod görüntüleri üretmek için oluşturulmuştur ve bu amacı temiz bir şekilde yerine getirmektedir. Kütüphane, Code128, EAN-13, Code39 ve diğer birkaç 1D formatı hedefler — tümü basit bir yapıcı ve küçük bir çıktı yöntemleri kümesi aracılığıyla sunulur. SixLabors.ImageSharp bağımlılığı, görüntü oluşturma katmanını sağlar ve sürüm 1.8'den itibaren bu bağımlılık, Image<Rgba32> dönüş tipi aracılığıyla GetImage() üzerinde genel API'de yansıtılır.

NetBarcode, genel amaçlı bir barkod araç kiti olmayı denemez. Okuma yeteneği yoktur ve 2D format desteği yoktur. Bunlar bilinçli kapsam kararlarıdır. Kütüphane sadece 1D barkodlara ihtiyaç duyan ve başka bir şeye ihtiyaç duymayan uygulamalar için çok uygundur veMITlisansı açık kaynak bağlamlarında benimsemeyi kolaylaştırır.

Ana mimari özellikler:

  • MIT Lisansı: Kütüphanenin kendisiMITlisanslıdır, ancak SixLabors.ImageSharp bağımlılığı, gelir eşiğinde bir gelirde ticari bir lisansın uygulandığı bir bölünmüş ticari lisans taşır.
  • Yalnızca 1D Tasarım: Type enumu, 8 lineer semboloji ailesi arasında 11 değer tanımlar; 2D girişleri veya UPC-A, UPC-E, ITF veya MSI girişleri de bulunmamaktadır
  • SixLabors.ImageSharp Bağımlılığı: Görüntü oluşturma, ImageSharp'a devredilmiştir ve v1.8'den itibaren GetImage() yöntemi Image<Rgba32> döndürür, ImageSharp'ın tipini doğrudan genel API'de açığa çıkarır
  • Yapıcı Tabanlı API: Barkodlar new Barcode(data, Type.X) ile oluşturulur ve SaveImageFile() veya GetImage() ile kaydedilir veya alınır
  • **Okuma API'si Yok:**NetBarcodeyalnızca jenerasyon içindir; Barkod görüntülerini çözmek için herhangi bir yöntem veya sınıf bulunmamaktadır.
  • Toplu İşlem Yok: Her barkod bağımsız bir kurucu çağrısıdır; no built-in enumeration or batch pipeline

Tür Enum Tasarım Sınırı

Type enumu, NetBarcode'un üretebileceği resmi listedir. İncelendiğinde kütüphanenin kapsamını ortaya çıkarır:

//NetBarcodeType enum — complete list as of v1.8
public enum Type
{
    Codabar,
    Code11,
    Code128,
    Code128A,
    Code128B,
    Code128C,
    Code39,
    Code39E,
    Code93,
    EAN13,
    EAN8
}

// These entries do not exist — attempting to use them produces a CS0117 compile error:
// Type.QRCode      — does not exist
// Type.DataMatrix  — does not exist
// Type.PDF417      — does not exist
// Type.Aztec       — does not exist
// Type.UPCA        — does not exist
// Type.UPCE        — does not exist
// Type.ITF         — does not exist
// Type.MSI         — does not exist
C#

Enum, sekiz lineer simgoloji ailesi arasında on bir girdiye sahiptir ve bu, kütüphanenin hedeflediği kapsamı yansıtır. QR kodları, DataMatrix, PDF417, Aztek, UPC-A, UPC-E, ITF veya MSI gerektiren herhangi bir uygulama için bu formatları sağlayacak ayrı bir paket edinilmelidir.

IronBarcode Anlama

IronBarcode bir ticari .NET barkod kütüphanesidir ve hem oluşturma hem de okuma tek bir pakette kapsanır. Iron Software tarafından geliştirilmekte ve düzenli güncellemelerle mevcut .NET sürümlerini hedeflemektedir. Kütüphanenin statik API yüzeyi, bir barkod formatından diğerine geçerken sadece tek bir sabiti değiştirerek çalışacak şekilde tasarlanmıştır — Code128'i üreten aynı BarcodeWriter.CreateBarcode çağrısı aynı zamanda QR kodları, DataMatrix,PDF417ve Aztek'i üretir.

IronBarcode, barkod okuma işlemini BarcodeReader sınıfı aracılığıyla gerçekleştirir, bu sınıf, görüntü dosyalarını ve PDF belgelerini kabul eder ve format tanımla dekode edilmiş sonuçları döndürür. Bu, üretim ve okumanın paylaştığı tek bağımlılık, tek lisans ve izlemeye değer tek bir sürüm notu olduğu anlamına gelir.

Anahtar özellikler:

  • Birleşik Üretim ve Okuma: Hem BarcodeWriter hem de BarcodeReader tek bir NuGet paketine dahil edilmiştir
  • 50+ Desteklenen Format: 1D format, tümNetBarcodeeşdeğerlerini içerir; 2D formatlar arasında QR Code, DataMatrix, PDF417,Aztekve diğerleri bulunur.
  • Akıcı Zincir API: BarcodeWriter.CreateBarcode(data, encoding), GeneratedBarcode nesnesini döndürür ve çıkış yöntemleri arasında SaveAsPng(), SaveAsJpeg(), ToPngBinaryData() ve akış tabanlı aşırı yüklemeler içerir
  • ImageSharp Bağımlılığı Yok: IronBarcode'un görüntü işleme kendi içinde doğası gereği bağımsızdır; Hiçbir SixLabors geçişli bağımlılık tanıtılmaz.
  • PDF Desteği: Okuma API'si, görüntü formatlarının yanı sıra doğrudan .pdf dosyalarını kabul eder
  • Ticari Lisans: Bir lisans anahtarı gereklidir; deneme modu mevcuttur ve satın alma işlemi tamamlandığında filigranları kaldırır

Özellik Karşılaştırması

ÖzellikNetBarcodeIronBarcode
1D barkod oluşturmaEvetEvet
2D barkod oluşturmaHayırEvet
Barkod okumaHayırEvet
PDF desteğiHayırEvet
Toplam sembolojiler11 enum değeri / 8 aile50+
ImageSharp bağımlılığıEvet (bölünmüş lisans)Hayır
Lisans modeliMIT (+ ImageSharp koşulları)Ticari

Ayrıntılı Özellik Karşılaştırması

ÖzellikNetBarcodeIronBarcode
Üretim
Code128 (artı 128A/B/C), Code39, Code39 Genişletilmiş, Code93, Code11EvetEvet
EAN-13, EAN-8, CodabarEvetEvet
UPC-A, UPC-E, ITF, MSIHayırEvet
QR KoduHayırEvet
DataMatrixHayırEvet
PDF417HayırEvet
AztekHayırEvet
GS1-128, GS1 DataBarHayırEvet
Posta formatları (Akıllı Posta, Kraliyet Posta)HayırEvet
SVG çıktısıHayırEvet
Okuma
Barkod görüntülerini çözHayırEvet
PDF belgelerden okuHayırEvet
Çoklu barkod algılamaHayırEvet
Otomatik format algılamaHayırEvet
API Tasarımı
Kurucu-tabanlı oluşturmaEvetHayır (statik yöntem)
Akıcı çıktı zinciriHayırEvet
Toplu işlem desteğiYönergeYerleşik
Lisanslama ve Bağımlılıklar
Kütüphane lisansıMITTicari
ImageSharp bağımlılığıEvetHayır
Ticari destekToplulukProfesyonel

Format Kapsamı

NetBarcode Yaklaşımı

NetBarcode, Type enumu aracılığıyla 8 semboloji ailesi arasında 11 lineer barkod enum değeri sağlar. Bu kapsam içinde format seçimi basittir — uygun enum üyesini kurucuya iletin. Sınır da aynı şekilde nettir: enum dışındaki bir formatın kullanılmaya çalışılması derleme hatasına neden olur.

//NetBarcode— formats that compile and produce output
using NetBarcode;

var code128 = new Barcode("12345678901234", Type.Code128);
code128.SaveImageFile("shipping.png");

var ean13 = new Barcode("5901234123457", Type.EAN13);
ean13.SaveImageFile("product.png");

//NetBarcode— formats that produce CS0117 compile errors
// var qr     = new Barcode("data", Type.QRCode);     // error CS0117
// var dm     = new Barcode("data", Type.DataMatrix);  // error CS0117
// var p417   = new Barcode("data", Type.PDF417);      // error CS0117
// var aztec  = new Barcode("data", Type.Aztec);       // error CS0117
// var upca   = new Barcode("data", Type.UPCA);        // error CS0117
// var itf    = new Barcode("data", Type.ITF);         // error CS0117
C#

Bu sınırın bir kısıt haline geldiği endüstriler arasında farmasötik izleme (FDA 2D barkod zorunlulukları gereği DataMatrix), havayolu biniş kartları (Aztec), lojistik manifestolar (PDF417) ve mobil pazarlama (QR Kod) bulunmaktadır. Bu gerekliliklerin her biri, NetBarcode'u bağımsız bir çözüm olarak devre dışı bırakır.

IronBarcode Yaklaşımı

IronBarcode, tüm desteklenen formatları aynı BarcodeWriter.CreateBarcode yöntemi aracılığıyla açığa çıkarır. 1D formatından 2D formatına geçerken API yüzeyi değişmez — sadece BarcodeEncoding sabiti farklılık gösterir.

using IronBarCode;

// 1D formats — identical API to the 2D examples below
BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128)
    .SaveAsPng("shipping.png");

BarcodeWriter.CreateBarcode("5901234123457", BarcodeEncoding.EAN13)
    .SaveAsPng("product.png");

// 2D formats — same method, different encoding constant
BarcodeWriter.CreateBarcode("https://example.com", BarcodeEncoding.QRCode)
    .SaveAsPng("qr.png");

BarcodeWriter.CreateBarcode("01034531200000111719112510ABCD1234", BarcodeEncoding.DataMatrix)
    .SaveAsPng("pharma-label.png");

BarcodeWriter.CreateBarcode("M1DOE/JOHN MR ABC123 JFKLHR 0012 123Y015A0001 100", BarcodeEncoding.Aztec)
    .SaveAsPng("boarding-pass.png");

Desteklenen sabitlerin tam listesi, tüm 2D barkod üretim formatlarıyla birlikte tam 1D setini kapsayan desteklenen barkod formatları referansında mevcuttur.

Oluşturma API Tasarımı

NetBarcode Yaklaşımı

NetBarcode'un üretim modeli kurucu-tabandadır. Barcode nesnesi, veri dizesi ve Type enum değeriyle örneklenir. Çıktı ya doğrudan SaveImageFile() ile kaydedilir ya da GetImage() yoluyla Image<Rgba32> olarak alınır. Sürüm 1.8'den itibaren, GetImage() dönüş tipi SixLabors.ImageSharp tipi haline gelmiştir, bu da demektir ki dönüş değerini depolayan veya işleyen herhangi bir kod, ImageSharp API'sini içe aktarıp çalışmalıdır.

using NetBarcode;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;

// Constructor-based creation
var barcode = new Barcode("12345678901234", Type.Code128);

// Save to file — straightforward
barcode.SaveImageFile("code128.png");

// GetImage() returns Image<Rgba32> — ImageSharp import required
Image<Rgba32> image = barcode.GetImage();

// Further processing requires familiarity with the ImageSharp API
using var stream = new MemoryStream();
image.SaveAsPng(stream);
byte[] bytes = stream.ToArray();

GetImage() metodunun dönüş tipi, alt akış kodunu ImageSharp kütüphanesine bağlar. Sonucu kabul eden veya depolayan herhangi bir yöntem, bunu Image<Rgba32> olarak beyan etmeli, çağırma koduna geçişli bir bağımlılık eklemelidir.

IronBarcode Yaklaşımı

IronBarcode bir akış zinciri kullanır. BarcodeWriter.CreateBarcode, birden fazla çıktı yöntemi taşıyan bir GeneratedBarcode nesnesi döndürür. Görüntü işleme içseldir — çağrı koduna herhangi bir ImageSharp türü açık edilmez.

using IronBarCode;

// Fluent generation — save directly to file
BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128)
    .SaveAsPng("code128.png");

// Multiple output options on the same GeneratedBarcode object
var barcode = BarcodeWriter.CreateBarcode("12345678901234", BarcodeEncoding.Code128);
barcode.SaveAsPng("code128.png");
barcode.SaveAsJpeg("code128.jpg");
byte[] bytes = barcode.ToPngBinaryData();

using var stream = new MemoryStream();
barcode.SaveAsPng(stream);

Genişlik, yükseklik ve etiket yapılandırmasını da kapsayan 1D barkod üretimi için detaylı seçenekler IronBarcode belgelerinde kapsanmıştır.

Okuma Yeteneği

NetBarcode Yaklaşımı

NetBarcode'un bir okuma API'si yoktur. Geri yeniden veri stringine dekodlanan bir barkod görüntüsünü çözen bir metod, sınıf veya yapılandırma mevcut değildir. Bu, bir yayın bekleyen bir eksiklik değil, bilinçli bir kapsam sınırıdır.Net/Barcodeile barkod üreten ve sonrasında bunları okumaya ihtiyaç duyan — bir basılı etiketi doğrulamak, iade gönderimi taramak veya bir tedarikçi faturasından değerleri almak için — bir proje, bu amaçla ayrı bir kütüphane tanıtmak zorundadır.

//NetBarcode— no reading method exists
// The following does not compile because the method does not exist:
// var result = barcode.Read("image.png");  // method does not exist

// The typical workaround requires ZXing.Net as a third-party dependency

ZXing.Net kütüphanesi,NetBarcodeile birlikte okuma için en yaygın ekleme olup,NetBarcodeve QR kodları için zaten eklenmiş olan herhangi bir 2D kütüphane ile birlikte, sürüm yönetimini sağlamak için üçüncü bir API yüzeyini ve üçüncü bir paketi getirir.

IronBarcode Yaklaşımı

IronBarcode, BarcodeWriter ile aynı pakette BarcodeReader içerir. Okuma API görsel dosyalara ve PDF belgelerine kabul eder ve bir PDF'den okunduğunda barkod değeri, format türü ve sayfa numarası her biriyle birlikte çözülmüş sonuçların koleksiyonunu döndürür.

using IronBarCode;

// Read barcodes from an image file
var imageResults = BarcodeReader.Read("shipping-label.png");
foreach (var r in imageResults)
{
    Console.WriteLine($"{r.Format}: {r.Value}");
}

// Read barcodes from a PDF document — no additional library required
var pdfResults = BarcodeReader.Read("invoice.pdf");
foreach (var r in pdfResults)
{
    Console.WriteLine($"Page {r.PageNumber}: {r.Value}");
}

resimlerden barkod okuyun kılavuzu, okuma API'de mevcut hız ayarlama, çoklu barkod algılama ve görüntü düzeltme seçeneklerini kapsar.

Bağımlılık ve Lisanslama Düşünceleri

NetBarcode ve ImageSharp

NetBarcodeMITlisansına sahiptir. Bağlı olduğu SixLabors.ImageSharp kütüphanesi, farklı bir modeli kullanır: açık kaynak projeler ve belirli bir eşiğin altında yıllık brüt gelire sahip şirketler için ücretsiz, ancak bu eşik üzerinde ticari bir lisans gereklidir. Bu ayrım, ImageSharp'ın bir projenin .csproj dosyasında açıkça listelenip listelenmemesi ya daNetBarcodearacılığıyla geçişli olarak gelmesinden bağımsız olarak geçerlidir.

<!-- This single reference pulls in SixLabors.ImageSharp and SixLabors.Fonts
     under their respective split licences. NuGet does not surface the
     commercial licence condition during package installation. -->
<PackageReference Include="NetBarcode" Version="1.8.3" />
XML

NetBarcode'un hedef aldığı birincil kullanım durumu olan barkodları ölçek üzerinde işleyen bir perakende veya lojistik şirketi için, yıllık gelir genellikle ImageSharp ticari lisansının geçerli olduğu eşik üzerinde olmaktadır. Bir uyumluluk denetimi, bu yükümlülüğün paket ağacına gömülü olduğunu ortaya çıkarabilir.

V1.8 sürümü, ImageSharp bağımlılığının ek bir sonucunu tanıttı: GetImage() dönüş tipi, dahili temsilden SixLabors.ImageSharp.Image<Rgba32> olarak değiştirildi. Açık bir tipi olmadan GetImage() çağıran mevcut kod, derleme sırasında bozuldu ve SixLabors.ImageSharp ve SixLabors.ImageSharp.PixelFormats için yeni using direktifleri zorunlu hale geldi. ImageSharp'un kendi API'si gelecek sürümlerde geliştiğinde, NetBarcode'un kamuya açık API yüzeyi de etkilenir.

IronBarcode

IronBarcode'un SixLabors.ImageSharp bağımlılığı yoktur. Lisanslama şartları, hiçbir bölünme eşiği veya geçişli ticari yükümlülük olmadan doğrudan IronBarcode lisanslama sayfasında belirtilmiştir. Değerlendirme için bir deneme anahtarı mevcuttur; Satın alınan lisanslar, oluşturulan çıktılardan deneme filigranını kaldırır.

API Eşleme Başvurusu

NetBarcodeIronBarcodeNotlar
new Barcode(data, Type.Code128)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)Kurucu → statik yöntem
new Barcode(data, Type.Code128A/B/C)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)IronBarcode, alt kümesini otomatik olarak seçer
new Barcode(data, Type.EAN13)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN13)Doğrudan eşleme
new Barcode(data, Type.EAN8)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.EAN8)Doğrudan eşleme
new Barcode(data, Type.Code39)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code39)Doğrudan eşleme
new Barcode(data, Type.Code39E)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code39Extended)Doğrudan eşleme
new Barcode(data, Type.Code93)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code93)Doğrudan eşleme
new Barcode(data, Type.Code11)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code11)Doğrudan eşleme
new Barcode(data, Type.Codabar)BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Codabar)Doğrudan eşleme
barcode.SaveImageFile("x.png").SaveAsPng("x.png")Yöntem adı değiştirme
barcode.SaveImageFile("x.jpg").SaveAsJpeg("x.jpg")Yöntem adı değiştirme
barcode.GetImage()Image<Rgba32>.ToPngBinaryData() veya .SaveAsPng()GörüntüSharp türü açığa çıkmadı
Hayır Type.UPCA / UPCE / ITF / MSIBarcodeEncoding.UPCA / UPCE / ITF / MSIYeni özellik
Hayır Type.QRCodeBarcodeEncoding.QRCodeYeni özellik
Hayır Type.DataMatrixBarcodeEncoding.DataMatrixYeni özellik
Hayır Type.PDF417BarcodeEncoding.PDF417Yeni özellik
Hayır Type.AztecBarcodeEncoding.AztecYeni özellik
Okuma API'si yokBarcodeReader.Read(path)Yeni özellik
using NetBarcode;using IronBarCode;Ad alanı değişikliği
using SixLabors.ImageSharp;KaldırArtık gerekli değil

Tam format referansı desteklenen barkod formatları belgelerinde mevcuttur.

Takımlar NetBarcode'dan IronBarcode'a Geçmeyi Düşündüğünde

QR Kod ve 2D Format Gereksinimleri

NetBarcode'a alternatif değerlendirme için en sık tetikleyici QR kodları için yeni bir gereksinimdir. Perakende etiketleri veya gönderim manifestoları için 1D barkod üretimi ile başlayan uygulamalar, genellikle QR kodları için takip eden bir gereksinim alır — temassız bağlantılar, mobil uygulama derin bağlantıları, pazarlama kampanyaları. Type enumunda QR girişi olmadığı için bu gereklilikNetBarcodeiçinde karşılanamaz. Bu açığı kapatmak için ayrı bir QR kütüphanesi ekleyen takımlar, eczacılık entegrasyonu içinDataMatrixveya gönderim etiketlerinde zorunlu kılındığı için bir lojistik taşıyıcı içinPDF417gerektiğinde ikinci bir değerlendirme ile karşılaşır.

Barkod Okuma Gerekliliği Olur

Bazı projeler saf üretimle başlar ve daha sonra doğrulama veya belge işleme gereksinimi ekler: basılı bir barkodun kaynak verileriyle eşleştiğini doğrulama, gelen tedarikçi faturalarından barkod değerlerini çıkarma veya geri gönderim etiketlerini okuma.Net/Barcodebu konuda bir yol sunmaz. ZXing.Net veya benzer bir okuma kütüphanesi eklenmesi,NetBarcodeve bir QR kütüphanesini zaten barındıran aynı kod tabanında öğrenme ve bakım yükünü arttıran üçüncü bir API tanıtır. Okuma gereksinimlerini gelecekte bir aşamada bile bekleyen projeler, başından beri her iki konuda da işlem yapan bir kütüphane seçmenin daha verimli olduğunu sıklıkla bulur.

ImageSharp Ticari Lisans Denetimi

Üçüncü taraf bağımlılıklarının yasal ve uyumluluk incelemeleri ara sıraNetBarcodepaket ağacına gömülü olan SixLabors.ImageSharp ticari lisans koşulunu ortaya çıkarır. Yıllık brüt geliri eşiği aşan şirketler için, SixLabors.ImageSharp kasten seçilmiş olsun ya da geçişli olarakNetBarcodearacılığıyla gelmiş olsun yükümlülük geçerlidir. Bu sorunu bir denetim sırasında keşfeden ekipler — benimsemeden önce değil — planlanan bir geçiş yerine geriye dönük bir düzeltme ile karşılaşır. Bir projeye başlamadan önce bağımlılık lisansını değerlendirmek daha temiz bir yol.

Çoklu Kütüphane Karmaşıklığını Azaltma

1D üretimi için NetBarcode, 2D çıkış için QR özel bir kütüphane ve okumak için ZXing.Net toplayan ekipler kendilerini üç ayrı paket arasında sürüm uyumluluğunu sürdürüyor olarak bulurlar. Her bir yükseltme döngüsü, üç kütüphanenin ortak ImageSharp sürümünde anlaştığını kontrol etmeyi gerektirir. Projeye katılan her yeni geliştirici, kavramsal olarak tek bir konu için üç farklı API ile karşılaşır. Tek bir barkod kütüphanesine konsolidasyon, yeni başlayanlar için eğitimi basitleştirir, sürüm çatışması yüzeyini azaltır ve bakım işlemlerini tek bir sürüm döngüsüne yoğunlaştırır.

Genel Geçiş Dikkat Edilmesi Gereken Hususlar

Paket Değiştirme ve Geçişli Bağımlılık Temizleme

NetBarcode'u dotnet remove package NetBarcode ile kaldırmak ilk adımdır. Projelerdeki diğer paketler de geçişli olarak çekiyorsa SixLabors.ImageSharp paketi bağımlılık ağacında tekrar görünebilir. Kaldırıldıktan sonra, ImageSharp'ın hala mevcut olup olmadığını ve ticari lisans koşulunun hala geçerli olup olmadığını onaylamak için dotnet list package --include-transitive ile geri yüklenen paket listesini inceleyin.

GetImage() Dönüş Türü Değiştirme

GetImage() sonucunu Image<Rgba32> olarak depolayan herhangi bir kod güncellenmelidir. ImageSharp türü IronBarcode içinde doğrudan eşdeğer yoktur; değişim, görüntünün aşağı akışta nasıl kullanıldığına bağlıdır. Görüntüyü bir akışa kaydeden kod, doğrudan GeneratedBarcode nesnesi üzerinde .SaveAsPng(stream) ile değiştirilebilir. Ham baytları alan kod, .ToPngBinaryData() kullanabilir. Dönen görüntü üzerinde daha fazla ImageSharp manipülasyonu yapan kodlar, bu işlemleri bireysel olarak değerlendirmeye ihtiyaç duyacaktır.

Namespace Güncellemesi

using NetBarcode;, using SixLabors.ImageSharp;, using SixLabors.ImageSharp.PixelFormats; veya using SixLabors.Fonts; içe aktaran dosyalar, bu direktiflerin using IronBarCode; ile değiştirilmesi gerektirir. Bu using deyimlerini proje genelinde arama yaparak, derleme denemesi öncesinde dikkat gerektiren her dosya belirlenir.

Ek IronBarcode Yetenekleri

Bu karşılaştırmada kapsanan temel oluşturma ve okuma özelliklerinin ötesinde,IronBarcode aşağıdakileri sağlar:

  • SVG Barkod Çıkışı: Yazdırma iş akışları ve ölçeklenebilir etiket tasarımları için uygun vektör formatında barkod görüntüleri oluşturma
  • Barkod Şekillendirme: Oluşturulan barkodlarda çubuk rengi, arka plan rengi, açıklama fontu, kenar boşluğu ve döndürmeyi yapılandırma
  • GS1-128 ve GS1 DataBar: Perakende ve tedarik zinciri uyumluluğu için uygulama tanımlayıcısı yapılı barkodlar
  • Posta Formatları: Posta uygulamaları için Intelligent Mail, Royal Mail ve diğer posta sembolojileri
  • PDF Barkod Çıkartımı: Ayrı bir PDF kütüphanesi olmadan çok sayfalı PDF belgelerden doğrudan barkodları okuma
  • Toplu Üretim: Tek bir kanalda barkod verileri topluluklarını verimli bir şekilde işleme
  • MAUI ve Mobil Hedefler: IronBarcode, çapraz platform mobil ve masaüstü barkod iş akışları için .NET MAUI uygulamalarını destekler

.NET Uyumluluğu ve Geleceğe Hazırlık

IronBarcode, modern .NET'e henüz geçmemiş projeler için mevcut .NET sürümlerini hedefler ve .NET Standard ile uyumluluğu korur. Iron Software'ın düzenli yayın ritmi, her büyük .NET sürümüyle uyumluluk güncellemelerine uygun hale getirir.NetBarcode.NET Standard 2.0'ı hedefler ve bu uyumluluk katmanı boyunca mevcut çalışma zamanlarında işlevseldir, ancak kütüphanenin güncelleme sıklığı ve 2D format seti tasarım kapsamı tarafından belirlenmiştir.

Sonuç

NetBarcode ve IronBarcode, barkod kütüphanesi kapsamı spektrumunda farklı pozisyonları temsil eder. NetBarcode, 1D barkod üretiminin odaklı ve temiz bir uygulamasıdır: sekiz lineer simgoloji ailesinde on bir enum değeri, basit bir yapıcı API ve ImageSharp gelir eşiği içinde açık kaynak projeleri için benimsemeyi sürtünmesiz kılanMITlisansı ile. IronBarcode, 50'den fazla formatta üretimi, görüntülerden ve PDF'lerden okuma işlemlerini kapsayan ve 1D ve 2D formatları aynı şekilde ele alan akıcı bir API sunan daha geniş bir araç takımıdır.

Gereksinimlerin desteklenen set içindeki lineer barkod üretimi ile sınırlı olduğu projeler için — Avrupalı perakende tarayıcılar için EAN-13 kodları üreten bir satış noktası sistemi veya sabit ve kısa ömürlü iç bir araç — NetBarcode, ticari bağımlılık eklemeden gerekeni sağlar. Kütüphane, kendi kapsamı içinde iyi bir şekilde inşa edilmiştir ve bu kapsam, Type enumuna ilk bakışta açıktır.

Kapsamın genişleyebileceği, sonunda okuma gerekecek veya ImageSharp geçişli bağımlılık uyumluluk incelemesinin bir endişe olduğu projeler için,IronBarcode tüm bu üç ihtiyacı tek bir paketle ele alır. 1D üretimi içinNetBarcodeile başlamış ve daha sonra 2D için QRCoder ve okuma için ZXing.Net ekleyen ekipler üç ayrı kütüphane bakım yükümlülüğü biriktirir;IronBarcode bunları bir araya toplar.

Seçim doğrudan projenin gereksinimlerinden çıkar. NetBarcode'un sekiz simgoloji ailesindeki on bir 1D enum değeri ve okuma yeteneğinin olmaması spesifikasyonla tam olarak eşleşiyorsa,NetBarcodeteknik olarak sesli bir seçenektir. Eğer spesifikasyon herhangi bir 2D format içeriyorsa, herhangi bir okuma iş akışı ya da ImageSharp lisans koşulu hakkında herhangi bir endişe içeriyorsa,IronBarcode daha eksiksiz bir cevaptır.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez