Altbilgi içeriğine atla
DIğER BILEşENLERLE KARşıLAşTıRıN

Barkoder SDK ve IronBarcode: C# Barkod Kütüphanesi Karşılaştırması

Barkoder SDK, neredeyse her "en iyi barkod SDK 2026" listesinin yanında ZXing, Dynamsoft, Scandit veIronBarcodeile karşılaştırma matrislerinde yer alır. .NET projeleri için barkod çözümleri değerlendiren geliştiriciler, araştırmalarının başında onunla karşılaşır — MatrixSight, DeBlur modu, çoklu barkod algılama ve DPM desteği hakkında okurlar ve onu gerçekten çekici bulurlar. Ardından NuGet'i ararlar. Sıfır sonuç. Barkoder SDK'nın .NET paketi, C# API'si ve .NET projesine resmi bir yolu yoktur. Bu karşılaştırma Barkoder'un gerçekte ne olduğunu, kendi yerel alanında neyi güçlü kıldığını ve IronBarcode'un .NET geliştiricileri için aynı gereksinimleri nasıl karşıladığını açıklar.

Barkoder SDK'yı Anlama

Barkoder, bir C/C++ işleme çekirdeği etrafında inşa edilmiş ticari bir barkod tarama SDK'sıdır ve iOS ve Android için yerel SDK'larla sarmalanmıştır. Cep telefonunda tarama yapan bir ambar çalışanı ya da tablette tarama yapan bir saha teknisyeni türünde gerçek zamanlı kamera taraması gerektiren mobil geliştiricileri hedefler. Dağıtım modeli bu hedefi tamamen yansıtır.

SDK, iOS için CocoaPods üzerinden Swift ve Objective-C API'leri ile, Android için Maven üzerinden Kotlin ve Java API'leri ile ve hibrit mobil için React Native, Flutter, Cordova ve Capacitor'a resmi eklentiler ile dağıtılır. NuGet paketi yok. C# bağları yok. .NET projesine desteklenen bir yolu yok.

Şirket, topluluk tarafından sürdürülen Xamarin ve MAUI bağlama projeleri sunar, ancak bunlar resmi ürünler değildir, Barkoder tarafından üretim düzeyinde desteklenmemektedir ve ana SDK ile birlikte güncellenmemektedir. Üretim düzeyinde bir .NET uygulamasında kritik bir barkod iş akışı için topluluk bağlamasına güvenmek, önemli bir teknik risk temsil eder. Herhangi bir ciddi .NET dağıtımı için, onlar gerçekçi bir seçenek değildir.

Barkoder SDK'nın temel mimari özellikleri:

  • Mobil-Öncelikli Mimari: Yalnızca iOS ve Android kamera boru hatları için tasarlanmıştır; tüm işleme, bir C/C++ çekirdeği aracılığıyla cihazda gerçekleşir
  • .NET SDK Yok: NuGet paketi mevcut değildir; NuGet.org'da "barkoder" aramak sıfır sonuç döndürür
  • Barkod Üretme Yok: Barkoder yalnızca okuma tabanlı bir SDK'dır; it has no capability to produce or encode barcodes
  • PDF İşleme Yok: SDK, PDF belgelerinden barkod okuma, dosya sistemlerinden görüntü alma veya sunucu tarafı belge iş akışları kavramına sahip değildir
  • Sunucu Dağıtımı Yok: SDK, ASP.NET Core, Azure Functions, Docker kapsayıcıları veya herhangi bir sunucu tarafı .NET çalışma ortamında çalışamaz
  • Yalnızca Topluluk .NET Bağlama: MAUI bağlama projesi deneysel olup, SDK'nın sadece bir alt kümesini açığa çıkarır ve üretim düzeyinde desteklenmez

Barkoder Mimarisinin Görünümü

SDK'nın C/C++ çekirdeği görüntü işlemeyi yönetir. iOS ve Android wrapper'ları, bu çekirdeği platform-yerli API'lar aracılığıyla açığa çıkarır. Aşağıdaki hiçbirisi bir .NET bağlamında çalışmaz — herhangi bir C# projesinde using Barkoder; ifadesi yoktur:

// iOS — Swift only, no C# equivalent
let barkoderView = BarkoderView(frame: frame)
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.decoderType = .code128
    config.decoder.deblurEnabled = true
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}
// Android — Kotlin only, no C# equivalent
val barkoderView = BarkoderView(context)
barkoderView.config = BarkoderConfig("LICENSE_KEY")
barkoderView.config.decoder.decoderType = DecoderType.Code128
barkoderView.config.decoder.deblurEnabled = true
barkoderView.startScanning { result ->
    println(result.textualData)
}

Barkoder üzerinden tamamen geçmeden önce, onun yaptığı şeyleri iyi yaptığı kabul edilmeye değerdir. Onu listelere sokan özellikler gerçek yeteneklerdir. MatrixSight ve DeBlur Modu, kötü basılmış, fiziksel olarak hasarlı veya kötü aydınlatma altında yakalanmış barkodları okuyan özel hasar kurtarma teknolojisi sağlar. Çoklu Barkod Algılama, bir ambar çalışanının bir kerede tüm rafları taramasına olanak tanıyan, tek bir kamera çerçevesinde aynı anda birden fazla barkodu çözümler. DPM (Doğrudan Parça İşaretleme) Tarama, çoğu genel amaçlı kütüphane tarafından iyi işlenmeyen lazerle işlenmiş ve noktalanmış konfigürasyonlarda DataMatrix ve diğer formatları destekler. Yüksek Yoğunluk Biçim Desteği, mobil kameralarla güçlü doğrulukla PDF417,Aztekve diğer 2D formatları içerir.

IronBarcode'u Anlamak

IronBarcode, .NET ortamlarının tamamında barkod iş akışını — okuma ve üretme — kapsayan yerel bir .NET kütüphanesidir. .NET platformu için Barkoder'in yeterliliklerinin işlevsel eşdeğeridir ve yalnızca sunucu ve masaüstü bağlamlarında anlam kazanan ek özellikler içerir.

IronBarcode, NuGet aracılığıyla kurulur ve tamamen yerel olarak çalışır. Barkod işlemleri sırasında ağ çağrıları yapılmaz. Hava bağlantısı kesildiğinde, Azure Functions, Docker kapları,AWS Lambdave .NET Framework 4.6.2'den .NET 9'a kadar her .NET çalışma zamanında çalışır, aynı zamanda statik API modeli, yönetilecek hiçbir tarayıcı örneği olmadan, izlenecek bir yaşam döngüsü veya eş zamanlı çağrılardan kaynaklanan bir iş parçacığı güvenliği endişesi bulunmaz.

IronBarcode'un ana özellikleri:

  • Tam .NET Kapsaması: .NET Framework 4.6.2+, .NET 6, 7, 8 ve 9'u destekler; Windows, Linux, macOS, Docker, Azure ve AWS'de çalışır
  • Okuma ve Üretme: Dosyalardan, akışlardan ve PDF'lerden barkod okuma ve 50'den fazla formatta barkod üretmeyi kapsar
  • Statik API Tasarımı: BarcodeReader.Read() ve BarcodeWriter.CreateBarcode(), yönetilecek durumsal bir örnek olmadan yapılan statik çağrılardır
  • ML-Powered Hata Düzeltme: Makine öğrenme tabanlı görüntü ön işleme hattı, hasarlı, bozulmuş ve düşük kaliteli barkodları işler
  • Doğal PDF Desteği: Ara görüntü çıkarma olmadan PDF belgelerinden doğrudan barkodları okur
  • Tam .NET Ekosistem Entegrasyonu: ASP.NET Core bağımlılık enjeksiyonu, async/await, ara katman ve barındırma desenleri ile uyumludur

Özellik Karşılaştırması

Aşağıdaki tablo,Barkoder SDKveIronBarcodearasındaki temel farkları vurgulamaktadır:

Özellik Barkoder SDK IronBarcode
.NET / C# Desteği None Tam — tüm .NET çalışma zamanları
NuGet Paketi None Evet — IronBarcode
Barkod Okuma Evet — mobil kamera Evet — dosyalar, akışlar, PDF'ler
Barkod Üretimi None Tam — 50+ formatlar
PDF İşleme None Yerel
Sunucu Tarafı Dağıtım None Tam - ASP.NET Core, Azure, Lambda, Docker
Fiyatlandırma Mobil SDK lisanslama Tek seferlik $749'dan başlayan süresiz

Detayli Özellik Karsilastirmasi

Özellik Barkoder SDK IronBarcode
Okuma
Hasarlı barkod kurtarma MatrixSight / DeBlur ML hata düzeltme, ReadingSpeed.ExtremeDetail
Çoklu barkod algılama Evet — kamera karesi ExpectMultipleBarcodes = true
DataMatrix / DPM desteği Evet Evet — BarcodeEncoding.DataMatrix
QR Kod okuma Evet Evet
PDF417 Evet Evet
Aztek Evet Evet
Code128, Code39, EAN Evet Evet — 50+ format
Otomatik format algılama Evet Evet
Uretim
Barkod üretimi None Tam — tüm formatlar
QR Kodu oluşturma None QRCodeWriter.CreateQrCode()
QR üzerindeki logo/markalama None AddBrandLogo()
Platform
.NET / C# None Tam
iOS (yerel) Evet (birincil) .NET MAUI aracılığıyla
Android (yerel) Evet (birincil) .NET MAUI aracılığıyla
Windows / Linux / macOS None Tam
Docker / konteynerler None Tam
Azure İşlevleri None Tam
AWS Lambda None Tam
İzole / çevrimdışı Evet (cihaz üzerinde) Evet (tamamıyla yerel)
API Tasarımı
Async/await desteği N/A Tam
Bağımlılık enjeksiyonu None Tam .NET DI entegrasyonu
PDF belge girişi None BarcodeReader.Read("doc.pdf")
Lisanslama
Lisans modeli Mobil SDK lisanslama Sürekli, bir defalık satın alma
Fiyat (giriş seviyesi) Satış ile iletişime geçin $749 (Lite) başlangıç fiyatı

.NET Dağıtım Modeli

Barkoder SDK veIronBarcodearasındaki en temel fark bir özellik değildir; erişilebilirliktir. Barkoder SDK, .NET ekosisteminde yoktur.

Barkoder SDK Yaklaşımı

Barkoder platform listesi açıktır: iOS Yerel (Swift / Objective-C), Android Yerel (Kotlin / Java), React Native, Flutter, Cordova, Capacitor. .NET, C#, .NET MAUI, Xamarin, Windows, Linux ve ASP.NET Core yoktur. SDK'nın mimarisi, mobil cihaz üzerinde canlı kamera hattı etrafında inşa edilmiştir. Dosya tabanlı giriş modu, akış API'si, toplu işleme yolu veya sunucu tarafı yürütme modeli yoktur.

.NET SDK eksikliği küçük bir rahatsızlık değil, tam bir engelleyicidir. Kurulacak bir NuGet paketi yoktur, asenkron API yüzeyi yoktur, bağımlılık enjeksiyon entegrasyonu yoktur, Azure veyaAWS Lambdadesteği yoktur ve PDF işleme yeteneği yoktur. Topluluk MAUI bağlaması, SDK'nın yalnızca bir alt kümesini açığa çıkarır ve üretimde desteklenmez.

IronBarcode Yaklaşımı

IronBarcode, tek bir komutla NuGet'ten kurulur ve başlatmada bir lisans anahtarı ile başlatılır:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Read a barcode from an image
var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
// NuGet: dotnet add package IronBarcode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Read a barcode from an image
var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

' Read a barcode from an image
Dim results = BarcodeReader.Read("scan.png")
For Each result In results
    Console.WriteLine($"Format: {result.Format}")
    Console.WriteLine($"Value: {result.Value}")
Next
$vbLabelText   $csharpLabel

Kütüphane tamamen yerel olarak çalışır; ağ çağrıları, veri iletimi veya harici bağımlılıklar yoktur. ASP.NET Core bağımlılık enjeksiyonuyla entegre olur, async/await'i destekler ve Docker, Azure İşlevleri ve AWS Lambda'ya değişiklik yapmadan dağıtılır. Üretim seviyesinde ASP.NET Core entegrasyonu için IronBarcode dokümantasyonuna bakın.

Hasarlı Barkod Kurtarma

Hasarlı barkod kurtarma, geliştiricilerin Barkoder'i ilk başta araştırmaya yönelmesinin en yaygın nedenidir. Barkoder'in MatrixSight ve DeBlur modu, fiziksel etiketlerin aşındığı, ıslandığı veya kısmen gizlendiği lojistik ve üretim senaryoları için tanıtılmaktadır.

Barkoder SDK Yaklaşımı

Barkoder'in DeBlur modu, çözme girişiminden önce görüntü ön işleme — kontrast artırma, keskinleştirme, döndürme düzeltmesi — uygular. Bu, yalnızca mobil kamera hattı içinde çalışır. Mod, taramaya başlamadan önce SDK düzeyinde yapılandırılır ve kamera beslemesi sürekli işlenir. Eşdeğer bir dosya tabanlı yol yoktur.

// iOS Swift — not usable from C#
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.deblurEnabled = true
    config.decoder.decoderType = .code128
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}

IronBarcode Yaklaşımı

IronBarcode, aynı sorunu ReadingSpeed.ExtremeDetail üzerinden ele alır, bu, kod çözmeye çalışmadan önce ML tabanlı hasar kurtarma, kontrast geliştirme, keskinleştirme ve döndürme düzeltmesi uygulayan çok geçişli bir görüntü analiz boru hattını etkinleştirir. Bu, herhangi bir dosya, akış veya bayt dizisi girişinde çalışır:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.ExtremeDetail,
    .ExpectMultipleBarcodes = False
}

Dim results = BarcodeReader.Read("worn-shipping-label.png", options)

If results.Any() Then
    Console.WriteLine($"Recovered: {results.First().Value}")
Else
    Console.WriteLine("Could not decode — image quality too low")
End If
$vbLabelText   $csharpLabel

ReadingSpeed.Balanced çoğu temiz veya hafif zarar görmüş barkodu işler ve daha hızlıdır. ExtremeDetail rezerve edin, çünkü Balanced başarısız olduğunda — detaylıdır ancak önemli ölçüde daha yavaştır. Zor barkodların okunması konusunda daha fazla rehberlik için IronBarcode okuma dokümantasyonuna bakın.

Çoklu Barkod Algılama

Çoklu barkod algılama, iki platform arasında doğrudan bir harita oluşturur: Barkoder, bir kamera karesinde birden fazla kodu işler; IronBarcode, bir belge veya görüntü dosyasında birden fazla kodu işler.

Barkoder SDK Yaklaşımı

Barkoder'in çoklu barkod modu, tek bir kamera karesinden aynı anda birkaç barkodu algılar ve çözümünü yapar. Bir depo bağlamında, bir çalışan bir telefonu bir rafın üzerinden tutar ve tüm barkod değerlerini bir kerede alır. Bu, taramaya başlamadan önce SDK düzeyinde yapılandırılır:

// Android Kotlin — not usable from C#
barkoderView.config.decoder.multicodingEnabled = true
barkoderView.startScanning { results ->
    results.forEach { result ->
        println("${result.barcodeType}: ${result.textualData}")
    }
}

IronBarcode Yaklaşımı

.NET sunucu tarafı uygulamalarında, çoklu barkod senaryosu tipik olarak bir belge içerir — bir gönderi takip barkodu ve bir ürün barkodu içeren bir fatura veya sayfa başına birden fazla öğe içeren bir sevkiyat manifestosu. IronBarcode, bunu ExpectMultipleBarcodes = true ile ele alır ve aynı seçenek resimlerde ve PDF'lerde aynı şekilde çalışır:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works on images and PDFs — single method call
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works on images and PDFs — single method call
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Balanced,
    .ExpectMultipleBarcodes = True
}

' Works on images and PDFs — single method call
Dim results = BarcodeReader.Read("shipping-manifest.pdf", options)

For Each barcode In results
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Sayfa çıkarma yok, birden fazla istek yok, barkod başına ağ yükü yok. PDF yerel olarak tek bir çağrıda okunur. Çoklu barkod ve PDF okuma hakkında daha fazla bilgi için IronBarcode dokümantasyonuna bakın.

DataMatrix ve Yüksek Yoğunluklu Format Desteği

DataMatrix, endüstriyel ve DPM kullanım durumlarının merkezindedir — Barkoder, üretim, sağlık ve otomotiv dikeyleri için vurgular.

Barkoder SDK Yaklaşımı

Barkoder, DataMatrix okuma için lazer işaretli ve nokta perdahlı işaretler için DPM yapılandırmaları ile destekler. SDK, ayrıca, güçlü doğrulukla mobil kameralarda PDF417, Aztek ve diğer yüksek yoğunluklu 2D formatları destekler. Tüm bunlar, iOS veya Android'de kamera hattı içinde çalışır:

// iOS Swift — not usable from C#
barkoderView.config = BarkoderConfig(licenseKey: "LICENSE_KEY") { config in
    config.decoder.decoderType = .dataMatrix
}
barkoderView.startScanning { result in
    print(result.textualData ?? "No result")
}

Barkoder, DataMatrix veya başka bir barkod formatı üretmez. Bu, yalnızca okuma yapmakta olan bir SDK'dır.

IronBarcode Yaklaşımı

IronBarcode, DataMatrix'i yerel olarak okur ve üretir. Okuma tarafında, lazerle işlenmiş DPM işaretlerinin tipik düşük kontrastını ve pürüzlü kenarlarını ReadingSpeed.ExtremeDetail işler. Üretim tarafında, BarcodeWriter.CreateBarcode() parça etiket oluşturması için DataMatrix üretir:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

// Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
var results = BarcodeReader.Read("etched-part.png");
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-KEY";

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

// Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
var results = BarcodeReader.Read("etched-part.png");
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-KEY"

' Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-ID-20240315-A42", BarcodeEncoding.DataMatrix) _
    .SaveAsPng("part-label.png")

' Generate a QR code with brand logo
QRCodeWriter.CreateQrCode("https://parts.example.com/A42", 500) _
    .AddBrandLogo("company-logo.png") _
    .SaveAsPng("branded-qr.png")

' Read auto-detects format — DataMatrix, QR, Code128, PDF417, etc.
Dim results = BarcodeReader.Read("etched-part.png")
$vbLabelText   $csharpLabel

Desteklenen formatların ve üretim seçeneklerinin tam listesi için IronBarcode barkod üretim kılavuzuna bakın.

API Eslestirme Referansi

Barkoder C# kodunu haritalayacak bir şey yokken, bu tablo Barkoder'in mobilde neler yaptığı ile .NET'teki IronBarcode'un aynı sonucu nasıl elde ettiği arasındaki kavramsal eşdeğerlikleri çerçeveliyor:

Barkoder Kavramı IronBarcode Eşdeğeri
Lisans anahtarı ile SDK başlatma IronBarCode.License.LicenseKey = "YOUR-KEY"
DeblurEnabled = true Speed = ReadingSpeed.ExtremeDetail
MultipleScanningEnabled = true ExpectMultipleBarcodes = true
DecoderType = .dataMatrix BarcodeEncoding.DataMatrix (okuma sırasında otomatik olarak algılanır)
startScanning(callback) BarcodeReader.Read("image.png") — eşzamanlı sonuç
result.textualData result.Value
result.symbology result.Format
MatrixSight hasar kurtarma ML ön işleme ile ReadingSpeed.ExtremeDetail
Kamera karesi analizi Dosya / akış / bayt dizisi girişi
Cihaz üstünde işleme Tamamen yerel — ağ çağrıları yok
Üretim desteği yok BarcodeWriter.CreateBarcode() / QRCodeWriter.CreateQrCode()
PDF desteği yok BarcodeReader.Read("document.pdf") — yerli
Sunucu dağıtımı yok ASP.NET Core, Docker, Azure Functions, Lambda'da çalışır

Takımlar Barkoder SDK'dan IronBarcode'a Geçişi Değerlendirdiğinde

.NET Proje Gereksinimleri

.NET uygulaması geliştiren bir geliştirici veya takımın en yaygın senaryosu basittir — ASP.NET Core, Windows servisi, konsol aracı, masaüstü uygulaması — ve araştırma sırasında Barkoder ile karşılaşır. MatrixSight, DeBlur ve çoklu barkod algılama hakkında okurlar, özellikleri ilgi çekici bulurlar ve sonra bunun C#'dan erişilemez olduğunu keşfederler. Değerlendirme NuGet'te sona erer. Bu durumdaki takımlar Barkoder'dan göç etmiyorlar; doğru aracı platformları için baştan belirliyorlar. IronBarcode, Barkoder'ın mobilde ele aldığı gereksinimlere .NET yanıtıdır.

Sunucu Tarafı Barkod İşleme İş Akışları

Bazı takımlar başlangıçta bir mobil tarama uygulaması kullanarak — Barkoder veya başka bir mobil SDK — bir barkod işleme iş akışı prototipi hazırlar ve daha sonra bu iş akışını sunucu tarafında tekrarlama veya genişletme ihtiyaçı duyar. Yaygın örnekler, bir API uç noktası üzerinden yüklenen barkod görüntülerini işlemek, bir belge yönetim sisteminde PDF belgelerinden barkodları okumak veya taranmış etiket arşivlerini toplu işlemek gibi durumlardır. Barkoder ile bu iş akışlarından hiçbiri mümkün değil, çünkü sunucu tarafı bir dağıtım modeli yoktur. IronBarcode, ASP.NET Core, Azure Functions, Docker ve AWS Lambda'da aynı statik API ile tümünü ele alır.

Barkod Üretim Gereksinimleri

.NET uygulamaları geliştiren ve lojistik, envanter veya uyumluluk için barkod okuma işlemini keşfeden takımlar, bunun yalnızca iş akışının yarısı olduğunu sıkça fark eder. Barkod üretimi — etiketleri yazdırmak, belgelerde QR kodları yerleştirmek, sevkiyat bildirimlerini üretmek — eşit derecede önemlidir. Barkoder tasarım itibariyle yalnızca okuyucudur; üretim yeteneği yoktur. Bir proje kapsamı salt okumadan öteye genişlediğinde, iş akışının her iki tarafını da kapsayan bir kütüphane, ikinci bir bağımlılığı entegre etme ihtiyaçını ortadan kaldırır. IronBarcode, 50'den fazla formatta okuma ve üretimi tutarlı bir API ile sağlar.

PDF Belge İşleme

.NET kuruluş uygulamalarında, barkodlar sıklıkla fatura, sevkiyat bildirimleri, tıbbi kayıtlar, uyum belgeleri gibi PDF belgelerde gömülü olarak bulunur. Barkoder'ın bu iş akışı konusunda bir kavramı yoktur; mobil cihazlarda kamera girişi için tasarlanmıştır. Gelen PDF belgelerinden barkodları okuma, iş mantığı için barkod verilerini çıkarma veya belge arşivleri boyunca barkod varlığını doğrulama ihtiyaçını taşıyan takımlar, yerel PDF desteği olan bir kütüphane gerektirir. IronBarcode, barkodları PDF'lerden doğrudan ara görüntü çıkarmadan okur.

Fiyatlandırma ve Dağıtım Öngörülebilirliği

Barkoder'ın mobil SDK fiyatlandırılması, mobil uygulama ve dağıtım modeli etrafında yapılandırılmıştır. .NET ortamı için araçları değerlendiren takımlar için bu fiyatlandırma modeli alakasızdır — çünkü SDK, .NET'te hiç çalışmaz. Takımlar, platformları için IronBarcode'u doğru araç olarak belirlediklerinde, fiyatlandırma modeli basittir: isteğe bağlı bir talep başına ücret yoktur ve işlenen barkod sayısı sınırsız sabit süreli bir lisans.

Genel Geçiş Dusunceleri

Mobil Kamera Girişinden Dosya Tabanlı Girişe

Bir Barkoder tabanlı mobil tarama prototipi geliştiren ve aynı yeteneği .NET'te tekrar uygulamayı arzulayan takımlar, giriş modelinin kamera karelerinden dosya, akış veya bayt dizisine dönüşümünü bulacaktır.IronBarcodeaynı veriyi birden çok formda kabul eder — bir dosya yolu dizesi, ένα Stream, ένα byte[] veya ένα System.Drawing.Image. Barkod işleme mantığı ise aksi halde aynıdır:

// All of these call the same underlying pipeline
var results1 = BarcodeReader.Read("scan.png");
var results2 = BarcodeReader.Read(imageStream);
var results3 = BarcodeReader.Read(imageBytes);
// All of these call the same underlying pipeline
var results1 = BarcodeReader.Read("scan.png");
var results2 = BarcodeReader.Read(imageStream);
var results3 = BarcodeReader.Read(imageBytes);
' All of these call the same underlying pipeline
Dim results1 = BarcodeReader.Read("scan.png")
Dim results2 = BarcodeReader.Read(imageStream)
Dim results3 = BarcodeReader.Read(imageBytes)
$vbLabelText   $csharpLabel

Hız vs. Doğruluk Takası

Barkoder'in DeBlur modu, yapılandırıldığında her zaman aktiftir ve mobil kamera döngüsünde çalışır. IronBarcode, doğruluk-hız takasını ReadingSpeed aracılığıyla açıkça ortaya koyar. Çoğu dosya için ReadingSpeed.Balanced uygundur. Çözülmesi başarısız olan hasarlı veya bozulmuş girişler için Balanced, tam çok geçişli ML boru hattını uygular. Toplu işlemeyi yapılandırmanın önerilen yaklaşımı, performansa duyarlı iş akışları için varsayılan olarak Balanced kullanmak ve yalnızca başarısızlıklarda ExtremeDetail'e başvurmaktır.

ASP.NET Core'da Asenkron Entegrasyon

IronBarcode'un BarcodeReader.Read() yöntemi eşzamanlıdır. Eşzamanlı istekleri işleyen ASP.NET Core uç noktalarında, Task.Run() çağrısını istek iş parçacığını engellemekten kaçınmak için sarın:

var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));
var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));
Dim results = Await Task.Run(Function() BarcodeReader.Read(imageBytes, options))
$vbLabelText   $csharpLabel

Performans için Format Belirlemesi

IronBarcode, varsayılan olarak barkod formatlarını otomatik olarak algılar. Beklenen formatın bilindiği yüksek verimli senaryolar için formatı belirlemek, test edilmeyecek format testlerini ortadan kaldırarak işleme süresini azaltır. Formatın önceden bilindiği durumlarda aramaya sınırlama getirmek için BarcodeReaderOptions.ExpectedBarcodeFormats kullanın.

EkIronBarcodeIlkeler

Barkoder'ın mobil özelliklerinin doğrudan eşdeğerlerinin ötesinde,IronBarcodeözel olarak .NET sunucu ve masaüstü bağlamlarına ilişkin yetenekler sağlar:

  • QR Kod Logosu Gömme: QRCodeWriter.CreateQrCode().AddBrandLogo(), bir oluşturulmuş QR kodunun ortasına bir marka resmi ekler — bu, pazarlama ve ambalaj iş akışları için yaygın bir gereksinimdir
  • PDF Barkod Okuma: Yerel PDF girişi ara görüntü çıkarımı olmadan; çok sayfalı PDF'ler tek bir çağrıda taranır
  • PDF'lere Barkod Damgalama: IronBarcode, barkodlar oluşturup mevcut PDF belgelerine damgalayabilir, otomatik etiket ve belge iş akışlarını sağlar
  • Toplu Görüntü Okuma: BarcodeReader.ReadBulk(), yüksek verimli toplu işlemler için birden fazla görüntüyü aynı anda işler
  • Özelleştirilmiş QR Kod Oluşturma: QR kodları için özel renkler, kenar boşlukları ve hata düzeltme seviyeleri
  • GS1 ve HIBC Formatları: Standart 1D ve 2D formatların ötesinde sağlık ve tedarik zinciri barkod standartları için destek

.NET Uyumlulugu ve Gelecek Hazirikligi

IronBarcode, .NET Framework 4.6.2 ve modern .NET versiyonlarına .NET 9'a kadar destek verir ve .NET 10 uyumluluğu sağlanırken aktif geliştirme beklenmektedir. Kütüphane Windows, Linux ve macOS üzerinde çalışır ve Docker,Azure İşlevleriveAWS Lambdadağıtım hedeflerine göre test edilmiştir. .NET ekosistemi, çapraz platform ve bulut tabanlı kalıplara doğru evrilmeye devam ederken, IronBarcode'un tamamen yerel çalışma modeli — bulut bağımlılığı olmadan, API anahtar yönetimi gerektirmeden ve ağ gecikmesi olmadan — modern .NET uygulama mimarisinin yönüyle uyumludur.

Sonuç

Barkoder SDK ve IronBarcode, temelde farklı alanlarda çalışır. Barkoder, iOS ve Android için geliştirilmiş bir mobil kamera tarama SDK'sıdır ve bir C/C++ işleme çekirdeğine ve CocoaPods, Maven ve hibrit mobil çerçeveler aracılığıyla dağıtıma sahiptir.IronBarcodeise sunucu, masaüstü ve bulut dağıtımları için yerel bir .NET kütüphanesidir, NuGet aracılığıyla dağıtılır ve standart kalıplar aracılığıyla .NET ekosistemine entegre edilmiştir. Bu iki kütüphane aynı platformda rekabet etmez — tamamen farklı çalışma ortamlarında aynı barkod işleme gereksinimlerini karşılar.

Barkoder, iOS veya Android için gerçek zamanlı kamera taraması gerektiren mobil uygulamalar geliştirdiğinizde doğru seçimdir. MatrisGörüş ve DeBlur yetenekleri, görüntü kalitesinin kontrol edilemeyeceği arazi tarama senaryoları için gerçekten güçlüdür. Çoklu barkod algılama ve DPM desteği, üretim ve lojistik mobil iş akışlarına uygun. Takımınız, bir cihaz kamerayla fiziksel öğeleri tarayan mobil işçiler için ReactYerelveya Flutter ile uygulama geliştiriyorsa, Barkoder değerlendirmenin bir parçası olmalıdır.

IronBarcode, .NET uygulamaları geliştirdiğinizde doğru seçimdir — ASP.NET Core API'leri, Windows hizmetleri, belge işleme hatları, masaüstü araçlar veya bulut işlevleri — barkod okuma, barkod üretimi veya her ikisini birden gerektirir. Tek bir NuGet paketi ile tüm barkod iş akışını kapsar, tamamen yerel çalışır, ağ bağımlılığı olmadan ve standart .NET kalıplarıyla entegredir, dahil olmak üzere bağımlılık enjeksiyonu, asenkron/await ve bulut barındırma. Karşılaştırma derlemeleri yoluyla Barkoder'a yönlendirilen .NET geliştiricileri için, IronBarcode, aynı temel yetenekleri — hasara dayanıklı okuma, çoklu barkod algılama, DataMatrix ve yüksek yoğunluklu format desteği — .NET platformu için yerel olarak uygular.

Pratik sonuç basittir: C# yazıyorsanız, Barkoder hiçbir zaman bir seçenek değildi. Özellik listesine harcanan değerlendirme süresi faydalıdır — hangi yeteneklere ihtiyaçınız olduğunu netleştirir — ve IronBarcode, uygulamanızın aslında çalıştığı ortamda tümünü kapsar.

Sıkça Sorulan Sorular

Barkoder SDK nedir?

Barkoder SDK, C# uygulamalarinda barkodlar oluşturmak ve okumak için bir .NET barkod kütüphanesidir. Geliştiriciler .NET projeleri için bir barkod çözümunu degerlendirirken birkac alternatifi arasinda degerlendirirler.

Barkoder SDK ile IronBarcode arasindaki temel farklar nelerdir?

IronBarcode, örnek yönetimi gerektirmeyen statik, durumsuz bir API kullanirken, Barkoder SDK genellikle kullanım oncesi örnek oluşturma ve konfigürasyon gerektirir. IronBarcode ayrica yerel PDF desteği, otomatik format algilama ve tüm ortamlarda tek anahtar lisanslama sunar.

IronBarcode, Barkoder SDK'den daha kolay mi lisanslanir?

IronBarcode, hem geliştirme hem de üretim dağıtımlarını kapsayan tek bir lisans anahtarı kullanır. Bu durum, CI/CD hatları ve Docker yapılandırmalarını, SDK anahtarlarını çalıştırma anahtarlarından ayıran lisanslama sistemleriyle karşılaştırıldığında basitleştirir.

IronBarcode, Barkoder SDK'nin destekledigi tüm barkod formatlarini destekliyor mu?

IronBarcode, QR Code, Code 128, Code 39, DataMatrix, PDF417, Aztec, EAN-13, UPC-A, GS1 ve daha fazlası dahil 30'dan fazla barkod sembolojisini destekler. Format otomatik algılama, açık format sayımı gerektirmez.

IronBarcode yerel PDF barkod okuma desteği veriyor mu?

Evet. IronBarcode, BarcodeReader.Read('document.pdf') kullanarak PDF dosyalarından barkodları doğrudan okur, ayrı bir PDF işleme kütüphanesi gerektirmez. Sayfa başına sonuçlar, sayfa numarası, barkod formatı, değeri ve güven skoru içerir.

IronBarcode, Barkoder SDK'ye karsi toplu işlem işleme nasil ele alir?

IronBarcode'un statik yöntemleri durumsuz ve doğal olarak iş parçacığı güvenlidir, Parallel.ForEach'in doğrudan kullanımını sağlar ve iş parçacığı başı örnek yönetimi gerektirmez. Hiçbir fiyatlandırma seviyesi için bant genişliği sınırı yoktur.

IronBarcode hangi .NET sürümlerini destekliyor?

IronBarcode, .NET Framework 4.6.2+, .NET Core 3.1 ve .NET 5, 6, 7, 8 ve 9'u tek bir NuGet paketi içinde destekler. Platform hedefleri arasında Windows x64/x86, Linux x64 ve macOS x64/ARM bulunuyor.

.NET projesine IronBarcode'u nasıl kurarım?

NuGet aracılığıyla IronBarcode'u kurun: 'Install-Package IronBarCode' komutunu Paket Yöneticisi Konsolunda veya CLI'de 'dotnet add package IronBarCode' komutunu çalıştırın. Ek bir SDK yükleyici veya çalışma zamanı dosyaları gerekli değildir.

IronBarcode'u Barkoder'in aksine satın almadan önce degerlendirebilir miyim?

Evet. IronBarcode'ın deneme modu, yalnızca oluşturulan çıktı görüntülerine bir filigran ekleyerek tam çözümlenmiş barkod değerlerini verir. Satın almadan önce kendi belgelerinizde okuma doğruluğunu test edebilirsiniz.

Barkoder SDK ile IronBarcode arasindaki fiyat farki nedir?

IronBarcode, geliştirme ve üretimi kapsayan tek bir geliştirici lisansı için $749'dan başlar. Fiyatlandırma detayları ve hacim seçenekleri, IronBarcode lisanslama sayfasında mevcuttur. Ayrı bir çalışma zamanı lisansı gereksinimi yoktur.

Barkoder SDK'den IronBarcode'a geçiş açık mi?

Barkoder SDK'den IronBarcode'a geçiş esas itibariyla örnek tabanli API cagri yerine IronBarcode'un statik metodlarini kullanmayi, lisans şablonlarini kaldırmayı ve sonuc özellik adlarini güncellemeyi icerir. Cogu geçiş, kodda azalma icerir.

IronBarcode, logolu QR kodları üretiyor mu?

Evet. QRCodeWriter.CreateQrCode().AddBrandLogo('logo.png') kullanarak bir QR koduna yerel logolu bir marka resmi ekleyin, yapılandırılabilir hata düzeltme ile. ChangeBarCodeColor() üzerinden renkli QR kodları da desteklenir.

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