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

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

Barkoder SDK vs IronBarcode: Mobil Kamera Tarama vs Tam .NET Barkod Kapsamı

Barkoder SDK, her "en iyi barkod SDK 2026" derlemesinde, ZXing, Dynamsoft, Scandit ve IronBarcode ile karşılaştırma matrislerinde listelenmiştir. .NET projeleri için barkod çözümleri değerlendiren geliştiriciler, araştırmalarının başında buna rastlarlar — MatrixSight, DeBlur modu, çoklu barkod algılama ve DPM desteği hakkında okurlar ve bunu gerçekten etkileyici bulurlar. NuGet üzerinde, Barkoder iki resmi .NET paketini yayınlar: Plugin.Maui.Barkoder ve Barkoder.Xamarin. Her ikisi de mobil MAUI ve Xamarin uygulamaları için kamera tarama bileşenleridir. Barkoder'in sunmadığı şey, genel amaçlı bir .NET kütüphanesidir: ASP.NET Core, konsol, masaüstü, sunucu veya PDF yüzeyi yoktur. Bu karşılaştırma, Barkoder'in ne olduğunu, doğal alanında neyi güçlü kıldığını ve IronBarcode'un tipik olarak .NET geliştiricilerinin sahip olduğu daha geniş gereklilikleri nasıl karşıladığını açıklar.

Barkoder SDK'yı Anlamak

Barkoder, bir C/C++ işleme çekirdeği etrafında inşa edilmiş ve iOS için yerel SDK'larla sarılmış ticari bir barkod tarama SDK'sıdır. Gerçek zamanlı kamera taraması gerektiren mobil geliştiricileri hedefler — bir depo çalışanının bir telefonda veya bir saha teknikerinin bir tablette yaptığı türde bir tarama. Dağıtım modeli bu hedefi tamamen yansıtır.

SDK, iOS için CocoaPods aracılığıyla Swift ve Objective-C API'larıyla, Android için Maven aracılığıyla Kotlin ve Java API'larıyla ve React Native, Flutter, Cordova ve Capacitor için resmi eklentilerle hibrit mobil cihazlarla dağıtılır. Barkoder, .NET üzerinde, MAUI ve Xamarin mobil uygulamaları için kameradan tarama kontrolünü ortaya çıkaran ve yerel iOS ve Android SDK'larını saran iki resmi NuGet paketi — Plugin.Maui.Barkoder ve Barkoder.Xamarin — yayınlar.

MAUI ve Xamarin dışında .NET üzerinde Barkoder seçeneği yoktur. Genel amaçlı Barkoder.NET paketi, ASP.NET Core, Azure Functions, AWS Lambda, Docker veya Linux sunucu hedefi, konsol, işçi hizmeti, WPF, WinForms, Avalonia veya Blazor hedefi, dosya veya akış giriş modu, PDF okuma ve barkod üretimi yoktur. Bir MAUI veya Xamarin mobil uygulama başı dışında kalan .NET işleri için Barkoder kapsamda değil.

Barkoder SDK'nın ana mimari özellikleri:

  • Mobil-Öncelikli Mimari: iOS ve Android kamera hatları için tasarlandı; tüm işlemler cihaz üzerinde bir C/C++ çekirdeği aracılığıyla gerçekleştirilir
  • .NET Yüzey MAUI / Xamarin ile Sınırlı: Resmi Plugin.Maui.Barkoder ve Barkoder.Xamarin paketleri kamera tarama kontrolünü ortaya çıkarır; genel amaçlı bir .NET kütüphanesi yok
  • Barkod Oluşturma Yok: Barkoder yalnızca okuma SDK'sıdır; barkod üretme veya kodlama kapasitesi yok
  • PDF veya Dosya Girişi Yok: SDK'nın PDF belgelerinden barkod okuma, dosya sistemlerinden görüntüler veya sunucu tarafı belge iş akışları kavramı yok
  • Sunucu Dağıtımı Yok: SDK, ASP.NET Core, Azure Functions, Docker konteynerları, veya herhangi bir sunucu tarafı .NET yürütme ortamında çalışmaz
  • Sadece Kamera-Çerçeve Girişi: Giriş her zaman canlı bir kamera çerçevesidir; dosya yolu, akış veya bayt dizisi aşırı yüklemesi yok

Barkoder Mimari Nasıl Görünür

SDK'nın C/C++ çekirdeği görüntü işleme işlemlerini yürütür. iOS ve Android sarmalayıcıları bu çekirdeği platforma özgü API'ler aracılığıyla ortaya çıkarır. .NET üzerinde, MAUI ve Xamarin eklentileri aynı yerel SDK'ları sarar ve BarkoderView kontrolünü ortaya çıkarır:

// dotnet add package Plugin.Maui.Barkoder
// XAML hosts a BarkoderView; this is the code-behind callback.
using Barkoder.Maui;

public partial class ScanPage : ContentPage, IBarkoderDelegate
{
    public ScanPage()
    {
        InitializeComponent();
        BarkoderView.SetFlashEnabled(false);
        BarkoderView.SetZoomFactor(1.5f);
        BarkoderView.StartScanning(this);
    }

    public void DidFinishScanning(BarcodeResult[] result)
    {
        foreach (var r in result)
        {
            Console.WriteLine($"Type: {r.BarcodeTypeName}");
            Console.WriteLine($"Value: {r.TextualData}");
        }
    }
}
// dotnet add package Plugin.Maui.Barkoder
// XAML hosts a BarkoderView; this is the code-behind callback.
using Barkoder.Maui;

public partial class ScanPage : ContentPage, IBarkoderDelegate
{
    public ScanPage()
    {
        InitializeComponent();
        BarkoderView.SetFlashEnabled(false);
        BarkoderView.SetZoomFactor(1.5f);
        BarkoderView.StartScanning(this);
    }

    public void DidFinishScanning(BarcodeResult[] result)
    {
        foreach (var r in result)
        {
            Console.WriteLine($"Type: {r.BarcodeTypeName}");
            Console.WriteLine($"Value: {r.TextualData}");
        }
    }
}
Imports Barkoder.Maui

Public Partial Class ScanPage
    Inherits ContentPage
    Implements IBarkoderDelegate

    Public Sub New()
        InitializeComponent()
        BarkoderView.SetFlashEnabled(False)
        BarkoderView.SetZoomFactor(1.5F)
        BarkoderView.StartScanning(Me)
    End Sub

    Public Sub DidFinishScanning(result As BarcodeResult()) Implements IBarkoderDelegate.DidFinishScanning
        For Each r In result
            Console.WriteLine($"Type: {r.BarcodeTypeName}")
            Console.WriteLine($"Value: {r.TextualData}")
        Next
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu, bir MAUI mobil uygulama içinde canlı kameraya karşı çalışır. Dosya aşırı yüklemesi yok, akış aşırı yüklemesi yok, PDF aşırı yüklemesi yok ve ASP.NET Core, konsol veya masaüstü projeler için eşdeğer bir yüzey yok. Yerel iOS ve Android kod yolu aynı bileşen modeli ile Swift, Objective-C, Kotlin veya Java kullanır.

Barkoder'e incelemeler arasında yer kazandıran özellikler gerçek yeteneklerdir. MatrixSight ve DeBlur Modu, fiziksel olarak zarar görmüş, kötü basılmış veya zayıf ışık altında yakalanmış barkodları okuyan tescilli hasar kurtarma teknolojisi sağlar. Çoklu-Barkod Algılama, aynı anda bir kamera çerçevesinde birden fazla barkodu çözümler, bu sayede depo çalışanları bir rafın tamamını bir kerede tarayabilir. DPM (Doğrudan Parça Markalama) Taraması, lazer kazınmış ve noktalamalı konfigürasyonlarda çoğu genel amaçlı kütüphanenin iyi işler çıkarmadığı DataMatrix ve diğer formatları destekler. Yüksek Yoğunluklu Biçim Desteği, PDF417,Aztekve diğer 2D formatları mobil kamerada güçlü doğrulukla içerir.

IronBarcode Anlama

IronBarcode, her .NET ortamında - okuma ve oluşturma - tüm barkod iş akışını kapsayan yerel bir .NET kütüphanesidir. Bu, .NET platformu için Barkoder'in yeteneklerinin işlevsel bir eşdeğeridir, sunucu ve masaüstü bağlamlarında yalnızca mantıklı olan ek özelliklerle birlikte.

IronBarcode, NuGet aracılığıyla yüklenir ve tamamen yerel olarak çalışır. Barkod işlemleri sırasında herhangi bir ağ çağrısı yapılmaz. İzole ortamlarda, Azure Functions'da, Docker konteynerlerinde, AWS Lambda'da ve .NET Framework 4.6.2'den .NET 9'a kadar tüm .NET çalışma zamanlarında çalışır. Statik API modeli, yönetilecek tarayıcı örneği, takip edilecek yaşam döngüsü olmadığını ve eşzamanlı çağrılardan kaynaklanan iş parçacığı güvenliği sorunlarının olmadığını ifade eder.

IronBarcode'un ana özellikleri:

  • Tam .NET Kapsamı: .NET Framework 4.6.2+, .NET 6, 7, 8 ve 9'u destekler; Windows, Linux, macOS, Docker, Azure ve AWS üzerinde çalışır
  • Okuma ve Oluşturma: Dosyalardan, yaylardan ve PDF'lerden barkod okuma ve 50+ formatta barkod oluşturma işlemini kapsar
  • Statik API Tasarımı: BarcodeReader.Read() ve BarcodeWriter.CreateBarcode() yönetilecek durumsal örnek olmadan statik aramalar yapar
  • ML Destekli Hata Düzeltme: Makine öğrenimi tabanlı görüntü ön işleme hattı, hasarlı, bozuk ve düşük kaliteli barkodları işler
  • Yerel PDF Desteği: Ara aşama görüntü çıkarmadan PDF belgelerinden doğrudan barkod okur
  • Tam .NET Ekosistem Entegrasyonu: ASP.NET Core bağımlılık enjeksiyonu, async/await, ara yazılım ve barındırma desenleri ile uyumludur

Özellik Karşılaştırması

Aşağıdaki tablo,Barkoder SDKve IronBarcode arasındaki temel farkları vurgular:

Özellik Barkoder SDK IronBarcode
.NET / C# Desteği MAUI / Xamarin kamera UI sadece Tam — tüm .NET çalışma zamanları
NuGet Paketi Plugin.Maui.Barkoder, Barkoder.Xamarin IronBarcode
Barkod Okuma Evet — mobil kamera Evet — dosyalar, yaylar, PDF'ler
Barkod Üretimi None Tam — 50+ format
PDF İşleme None Yerel
Sunucu Tarafı Dağıtım None Tam — ASP.NET Core, Azure, Lambda, Docker
Fiyatlandırma Mobil SDK lisanslama Süresiz lisans mevcut

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

Özellik Barkoder SDK IronBarcode
Okuma
Hasarlı barkod kurtarma MatrixSight / DeBlur ML hata düzeltme, ReadingSpeed.ExtremeDetail
Çoklu barkod algılama Evet — kamera çerçevesi ExpectMultipleBarcodes = true
DataMatrix / DPM desteği Evet Evet — BarcodeEncoding.DataMatrix
QR Kodu okuma Evet Evet
PDF417 Evet Evet
Aztek Evet Evet
Code128, Code39, EAN Evet Evet — 50+ format
Otomatik format algılama Evet Evet
Üretim
Barkod oluşturma None Tam — tüm formatlar
QR Kod oluşturma None QRCodeWriter.CreateQrCode()
QR'de logo/markalama None AddBrandLogo()
Platform
.NET / C# MAUI / Xamarin kamera UI sadece 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 Functions None Tam
AWS Lambda None Tam
İzole / çevrimdışı Evet (cihaz üzerinde) Evet (tamamen yerel)
API Tasarımı
Async/await desteği Yok Tam
Bağımlılık enjeksiyonu None Tam .NET DI entegrasyonu
PDF belge girdisi None BarcodeReader.Read("doc.pdf")
Lisanslama
Lisans modeli Mobil SDK lisanslama Süresiz, tek seferlik satın alma
Fiyat (giriş) Satışla iletişime geçin See ironsoftware.com/csharp/barcode/licensing

.NET Dağıtım Modeli

Barkoder SDK ve IronBarcode arasındaki en temel fark kapsamdır. Barkoder'in .NET yüzeyi MAUI ve Xamarin kamera UI ile sınırlıdır; IronBarcode, .NET ekosisteminin geri kalanını kapsar.

Barkoder SDK Yaklaşımı

Barkoder's published platform list is iOSYerel(Swift / Objective-C), AndroidYerel(Kotlin / Java), React Native, Flutter, Cordova, Capacitor, .NET MAUI, Xamarin, and Web (WASM). .NET üzerinde, bu Plugin.Maui.Barkoder ve Barkoder.Xamarin ile eşleşir. ASP.NET Core, Azure Functions, AWS Lambda, Docker, Linux sunucular, WPF, WinForms, Avalonia, ve Blazor mevcuttur. SDK'nın mimarisi, bir mobil cihazda canlı kamera boru hattı etrafında inşa edilmiştir. Dosya tabanlı giriş modu, yay API'si, toplu işleme yolu ve sunucu tarafı yürütme modeli yoktur.

MAUI veya Xamarin mobil uygulama dışında bir .NET işi için — bir arka uç API, bir çalışan hizmeti, bir masaüstü aracı, bir PDF belge hattı — Barkoder bir yol sunmaz. Sunucu kullanımı için bir async API yüzeyi yok, bağımlılık enjeksiyonu entegrasyonu yok, Azure veyaAWS Lambdadesteği yok, ve PDF işleme kapasitesi yok.

IronBarcode Yaklaşımı

IronBarcode, NuGet aracılığıyla tek bir komut ile yüklenir ve başlangıçta bir lisans anahtarı ile başlatılır:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-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-LICENSE-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-LICENSE-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ı yok, veri aktarımı yok, harici bağımlılıklar yok. ASP.NET Core bağımlılık enjeksiyonu ile entegre olur, async/await'i destekler ve Docker,Azure Functionsve AWS Lambda'ya modifikasyon yapmadan dağıtılır. Üretim düzeyinde ASP.NET Core entegrasyonu için IronBarcode belgelerine bakın.

Hasarlı Barkod Kurtarma

Hasarlı barkod kurtarma, çoğu zaman geliştiricilerin ilk etapta Barkoder'i araştırmalarına yol açan yetenektir. Barkoder'in MatrixSight ve DeBlur modu, fiziksel etiketlerin aşındığı, ısladığı veya kısmen örtüldüğü lojistik ve üretim senaryoları için tanıtılır.

Barkoder SDK Yaklaşımı

Barkoder'in DeBlur modu, kodu çözümlemeden önce görüntü ön işleme — kontrast artırma, keskinleştirme, döndürme düzeltme — uygular. Bu yalnızca mobil kamera hattı içinde çalışır. Mod, tarama başlamadan önce SDK düzeyinde yapılandırılır ve kamera beslemesi sürekli işlenir. Daha fazla dosya tabanlı bir yol yoktur.

// dotnet add package Plugin.Maui.Barkoder
// Configured against the BarkoderView in a MAUI ContentPage
BarkoderView.DeblurEnabled = true;
BarkoderView.SetEnabledBarcodeTypes(new[] { BarcodeType.Code128 });
BarkoderView.StartScanning(this);
// dotnet add package Plugin.Maui.Barkoder
// Configured against the BarkoderView in a MAUI ContentPage
BarkoderView.DeblurEnabled = true;
BarkoderView.SetEnabledBarcodeTypes(new[] { BarcodeType.Code128 });
BarkoderView.StartScanning(this);
$vbLabelText   $csharpLabel

IronBarcode Yaklaşımı

IronBarcode aynı sorunu ReadingSpeed.ExtremeDetail üzerinden ele alır ve decode işlemine başlamadan önce ML tabanlı hasar kurtarma, kontrast artırma, keskinleştirme ve döndürme düzeltme uygulayarak çok geçişli görüntü analiz hattını etkinleştirir. Bu, herhangi bir dosya, yay veya bayt dizisi girdisinde çalışır:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-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-LICENSE-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-LICENSE-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 hasarlı barkodları işler ve daha hızlıdır. ExtremeDetail rezerv edin, bir durumda Balanced başarısız olduğunda — bu kapsamlıdır ancak önemli ölçüde daha yavaştır. Zor barkodları okumayla ilgili daha fazla rehberlik için IronBarcode okuma belgelerine bakın.

Çoklu-Barkod Algılama

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

Barkoder SDK Yaklaşımı

Barkoder'in çoklu-barkod modu, tek bir kamera karesinden birden fazla barkodu eşzamanlı olarak algılar ve çözümler. Bir depo bağlamında, bir işçi telefonu bir rafa tutar ve tüm barkod değerlerini bir kerede alır. Bu, tarama başlamadan önce SDK düzeyinde yapılandırılır:

// Plugin.Maui.Barkoder — multi-scan mode in a MAUI ContentPage
BarkoderView.MulticodeCachingEnabled = true;
BarkoderView.StartScanning(this);

// IBarkoderDelegate callback delivers all decoded codes per frame
public void DidFinishScanning(BarcodeResult[] results)
{
    foreach (var r in results)
        Console.WriteLine($"{r.BarcodeTypeName}: {r.TextualData}");
}
// Plugin.Maui.Barkoder — multi-scan mode in a MAUI ContentPage
BarkoderView.MulticodeCachingEnabled = true;
BarkoderView.StartScanning(this);

// IBarkoderDelegate callback delivers all decoded codes per frame
public void DidFinishScanning(BarcodeResult[] results)
{
    foreach (var r in results)
        Console.WriteLine($"{r.BarcodeTypeName}: {r.TextualData}");
}
' Plugin.Maui.Barkoder — multi-scan mode in a MAUI ContentPage
BarkoderView.MulticodeCachingEnabled = True
BarkoderView.StartScanning(Me)

' IBarkoderDelegate callback delivers all decoded codes per frame
Public Sub DidFinishScanning(results As BarcodeResult())
    For Each r In results
        Console.WriteLine($"{r.BarcodeTypeName}: {r.TextualData}")
    Next
End Sub
$vbLabelText   $csharpLabel

IronBarcode Yaklaşımı

.NET sunucu tarafı uygulamalarında, çoklu barkod senaryosu tipik olarak bir belgeyi kapsar — bir gönderi takip barkodu ve ürün barkodu içeren bir fatura veya sayfa başına birden fazla öğe bulunan bir sevk irsaliyesi.IronBarcode bunu ExpectMultipleBarcodes = true ile işler ve aynı seçenek hem görüntülerde hem de PDF'lerde aynen çalışır:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-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-LICENSE-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-LICENSE-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, çoklu istek, barkod başına ağ yükü yok. PDF, tek bir çağrıda yerel olarak okunur. Çoklu barkod ve PDF okuma hakkında daha fazla bilgi için IronBarcode belgelerine bakın.

DataMatrix ve Yüksek Yoğunluklu Biçim Desteği

DataMatrix, endüstriyel ve DPM kullanım durumları için merkezi bir rol oynar — Barkoder'in imalât, sağlık hizmetleri ve otomotiv sektörleri için vurguladığı formatlar.

Barkoder SDK Yaklaşımı

Barkoder, lazer kazınmış ve noktalamalı işaretler için DPM konfigürasyonları ile DataMatrix okumayı destekler. SDK, mobil kameralarda güçlü doğrulukla PDF417,Aztekve diğer yüksek yoğunluklu 2D formatları da destekler. Tüm bunlar iOS veya Android üzerinde kamera hattı içerisinde çalışır:

// Plugin.Maui.Barkoder — DataMatrix scanning in a MAUI ContentPage
BarkoderView.SetEnabledBarcodeTypes(new[] { BarcodeType.DataMatrix });
BarkoderView.StartScanning(this);
// Plugin.Maui.Barkoder — DataMatrix scanning in a MAUI ContentPage
BarkoderView.SetEnabledBarcodeTypes(new[] { BarcodeType.DataMatrix });
BarkoderView.StartScanning(this);
' Plugin.Maui.Barkoder — DataMatrix scanning in a MAUI ContentPage
BarkoderView.SetEnabledBarcodeTypes(New BarcodeType() { BarcodeType.DataMatrix })
BarkoderView.StartScanning(Me)
$vbLabelText   $csharpLabel

Barkoder, DataMatrix veya başka bir barkod formatı üretmez. Okuma-only bir SDK'dır.

IronBarcode Yaklaşımı

IronBarcode, DataMatrix'i yerel olarak okur ve üretir. Okuma tarafında, ReadingSpeed.ExtremeDetail lazer kazıma DPM işaretlerine özgü düşük kontrast ve kaba kenarları işler. Üretim tarafında, BarcodeWriter.CreateBarcode() parça etiketi oluşturmak için DataMatrix üretir:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-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-LICENSE-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-LICENSE-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 oluşturma kılavuzuna bakın.

API Eşleme Başvurusu

Bu tablo, Barkoder'in MAUI kamera tarama API'si ile dosya, akış veya PDF girişi için herhangi bir .NET projesinde aynı sonucu nasıl sağladığı arasında kavramsal eşdeğerlikleri belirtir:

Barkoder Kavramı IronBarcode Eşdeğeri
Lisans anahtarı ile SDK başlatma IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
BarkoderView.DeblurEnabled = true Speed = ReadingSpeed.ExtremeDetail
BarkoderView.MulticodeCachingEnabled = true ExpectMultipleBarcodes = true
SetEnabledBarcodeTypes(BarcodeType.DataMatrix) BarcodeEncoding.DataMatrix (okuma üzerine otomatik olarak algılanır)
BarkoderView.StartScanning(this) BarcodeReader.Read("image.png") — eşzamanlı sonuç
BarcodeResult.TextualData result.Value
BarcodeResult.BarcodeTypeName result.Format
MatrixSight hasar kurtarma ML ön işleme ile ReadingSpeed.ExtremeDetail
Kamera karesi analizi Dosya / yay / bayt dizisi girişi
Cihaz üzerinde işleme Tamamen yerel — ağ aramaları yok
Oluşturma 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

Ekipler Barkoder SDK'dan IronBarcode'a Geçmeyi Düşündüğünde

.NET Proje Gereklilikleri MAUI Dışında

En yaygın senaryolar oldukça basittir: bir geliştirici veya ekip, bir .NET uygulaması oluşturuyordur — ASP.NET Core, bir Windows hizmeti, bir konsol aracı, bir masaüstü uygulaması — ve araştırma sırasında Barkoder ile karşılaşır. MatrixSight, DeBlur ve çoklu barkod tespitini okurlar, özellikleri cazip bulurlar ve ardından .NET yüzeyinin Plugin.Maui.Barkoder ve Barkoder.Xamarin olduğunu keşfederler - her ikisi de sadece mobil kamera kullanıcı arayüzü için. Bu durumda olan ekipler, Barkoder'dan uzaklaşmıyorlar; başlangıçtan itibaren platformları için doğru aracı belirliyorlar. IronBarcode, Barkoder'in mobilde ele aldığı gereksinimlere yönelik .NET yanıtıdır.

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

Bazı ekipler başlangıçta bir mobil tarama uygulaması — Barkoder veya başka bir mobil SDK — kullanarak barkod işleme iş akışını prototipler ve daha sonra bu iş akışını sunucu tarafında çoğaltma veya genişletme ihtiyacı duyarlar. Yaygın örnekler, bir API uç noktası aracılığıyla yüklenen barkod görüntülerini işleme, bir belge yönetim sisteminde PDF belgelerinden barkod okuma veya taranmış etiket arşivlerini toplu işleme içerir. Bu iş akışlarının hiçbiri Barkoder ile mümkün değildir, çünkü sunucu tarafı dağıtım modeli yoktur. IronBarcode, tümünü ASP.NET Core, Azure Functions, Docker veAWS Lambdaüzerinde aynı statik API ile işler.

Barkod Oluşturma Gereksinimleri

Lojistik, envanter veya uyum için .NET uygulamaları geliştiren ekipler sıkça, barkod okumak iş akışının yalnızca yarısı olduğunu keşfederler. Barkod oluşturmak — etiket yazdırmak, belgelerde QR kodları yerleştirmek, sevk irsaliyeleri üretmek — eşit derecede önemlidir. Barkoder, tasarım gereği yalnızca okumadır; herhangi bir üretim yeteneği yoktur. Bir proje kapsamı saf okuma aşamasının ötesine genişlediğinde, iş akışının her iki tarafını kapsayan bir kütüphane, ikinci bir bağımlılığı entegre etme ihtiyacını ortadan kaldırır. IronBarcode, tutarlı bir API aracılığıyla 50+ formatta hem okuma hem de üretim sağlar.

PDF Belge İşleme

.NET kurumsal uygulamalarında, barkodlar sıklıkla PDF belgelerine — faturalar, sevk irsaliyeleri, tıbbi kayıtlar, uyum belgeleri — gömülüdür. Barkoder'in böyle bir iş akışının kavramı yoktur; mobil bir cihazda kamera girişi için tasarlanmıştır. Gelen PDF belgelerinden barkod okuması, barkod verilerini iş mantığına çıkarması veya belge arşivleri boyunca barkod varlığını doğrulaması gereken ekipler yerel PDF desteği olan bir kütüphaneye ihtiyaç duyar. IronBarcode, arada görüntü çıkarımı yapmadan doğrudan PDF'lerden barkod okur.

Fiyatlandırma ve Dağıtım Tahmin Edilebilirliği

Barkoder'in mobil SDK fiyatlandırması, mobil uygulama ve dağıtım modeli etrafında yapılandırılmıştır — mobil dağıtım ile bağlantılı abonelik, uygulama başına ve cihaz başına seviyeler. Ekibin .NET çalışması MAUI veya Xamarin dışında olduğunda, o fiyatlandırma modeli geçerli değildir çünkü SDK orada çalışmaz.IronBarcode uygun araç olduğunda fiyatlandırma modeli basittir: hiçbir istek başına ücret, işlenen barkod sayısında hacim limitleri olmadan süresiz bir lisans.

Genel Geçiş Dikkat Edilmesi Gereken Hususlar

Mobil Kamera Girişinden Dosya Tabanlı Girişe

Barkoder tabanlı mobil tarama prototipini uygulamış ve aynı yeteneği .NET'te çoğaltması gereken ekipler, giriş modelinin kamera çerçevelerinden dosya, akış veya byte dizisine değiştiğini görecek.IronBarcode aynı veriyi bir dosya yolu dizgesi, bir Stream, bir byte[] veya bir System.Drawing.Image gibi birden çok formda kabul eder. Barkod işleme mantığı aksi takdirde 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 ve Doğruluk Değiş-tokuşu

Barkoder'in DeBlur modu yapılandırıldığında her zaman aktiftir ve mobil kamera döngüsü içinde çalışır. IronBarcode, ReadingSpeed üzerinden doğruluk ve hız ticari takasını açıkça ortaya koyar. Çoğu dosya için, ReadingSpeed.Balanced uygundur. Balanced'un decode edemediği, bozuk veya kötüleşmiş girdiler için, ReadingSpeed.ExtremeDetail tam çok geçişli ML hattını uygular. Standart olarak Balanced kullanılarak ve yalnızca başarısızlıklarda ExtremeDetail ile geriye dönerek grup işleme yapılandırmak, performansa duyarlı iş akışları için önerilen yaklaşımdır.

ASP.NET Core'da Asenkron Entegrasyon

IronBarcode'ın BarcodeReader.Read() yöntemi eşzamanlıdır. Eşzamanlı istekleri işleyen ASP.NET Core uç noktalarında, isteği engellemekten kaçınmak için Task.Run() içinde çağrıyı 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 İçin Biçim Özelleştirmesi

IronBarcode varsayılan olarak barkod biçimlerini otomatik algılar. Beklenen biçimin bilindiği yüksek verimli senaryolarda, biçimi belirtmek, eşleşmeyecek biçim testlerini ortadan kaldırarak işlem süresini azaltır. Format önceden bilindiğinde aramayı sınırlamak için BarcodeReaderOptions.ExpectBarcodeTypes kullanın.

Ek IronBarcode Yetenekleri

Barkoder'in mobil özelliklerinin doğrudan eşdeğerlerinin ötesinde,IronBarcode özellikle .NET sunucu ve masaüstü bağlamlarında ilgili yetenekler sağlar:

  • QR Kod Logosu Gömme: QRCodeWriter.CreateQrCode().AddBrandLogo(), bir üretilen QR kodunun merkezine bir marka resmi ekler — pazarlama ve ambalaj iş akışları için sık karşılaşılan bir gerekliliktir
  • PDF Barkod Okuma: Yerel PDF girişi, arada görüntü çıkarımı gerektirmez; Çok sayfalı PDF'ler tek bir çağrıda taranır
  • PDF'lere Barkod Damgalama: IronBarcode, barkodlar oluşturabilir ve bunları mevcut PDF belgelerine damgalayarak otomatik etiket ve belge iş akışlarını etkinleştirebilir
  • Toplu Görüntü Okuma: BarcodeReader.ReadBulk() yüksek verimli toplu işlemler için birden çok görüntüyü eşzamanlı olarak işler
  • Stilize QR Kod Oluşturma: QR kodları için özel renkler, kenar boşlukları ve hata düzeltme seviyeleri
  • GS1 ve HIBC Biçimleri: Sağlık ve tedarik zinciri barkod standartlarını, standart 1D ve 2D biçimlerinin ötesinde destekler

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

IronBarcode, .NET Framework 4.6.2 ve modern tüm .NET sürümlerini .NET 9'a kadar destekler, aktif geliştirme, .NET 10 sürüm döngüsünü takip eder. Kütüphane, Windows, Linux ve macOS üzerinde çalışır ve Docker,Azure FunctionsveAWS Lambdadağıtım hedeflerine karşı test edilmiştir. .NET ekosistemi çapraz platforma ve bulut yerel modellere doğru evrildikçe, IronBarcode'un tamamen yerel yürütme modeli — bulut bağımlılığı olmadan, API anahtarı yönetimi olmadan ve ağ gecikmesi olmadan — modern .NET uygulama mimarisinin yönüyle uyum içerisindedir.

Sonuç

Barkoder SDK ve IronBarcode büyük ölçüde farklı alanlarda çalışır. Barkoder, iOS ve Android için oluşturulmuş bir mobil kamera tarayıcı SDK'sıdır, bir C/C++ işleme çekirdeği, hibrit mobil dağıtım ve MAUI ve Xamarin kamera UI için NuGet üzerinde Plugin.Maui.Barkoder ve Barkoder.Xamarin ile birlikte gelir. IronBarcode, sunucu, masaüstü, MAUI programatik işlem ve bulut dağıtımları için geliştirilmiş bir yerel .NET kütüphanesidir, NuGet aracılığıyla dağıtılır ve standart desenler aracılığıyla .NET ekosistemine entegre edilir. İki kütüphane dar bir şekilde çakışır — sadece MAUI ve Xamarin ve sadece kamera UI kullanım durumu için.

Barkoder, bir MAUI, Xamarin, React Native, Flutter, Cordova veya Capacitor mobil uygulaması içinde bir kamera tarama UI'sı oluştururken doğru tercihtir. MatrixSight ve DeBlur yetenekleri, görüntü kalitesinin kontrol edilemeyeceği alan tarama senaryoları için gerçekten güçlüdür. Çoklu barkod tespiti ve DPM desteği, üretim ve lojistik mobil iş akışları için uygundur. Ekibiniz fiziksel öğeleri bir cihaz kamerası ile tarayan bir mobil ön yüz geliştiriyorsa, Barkoder değerlendirmede yer alır.

IronBarcode, .NET uygulamaları geliştirirken — ASP.NET Core API'ler, Windows servisleri, belge işleme boru hatları, masaüstü araçları veya bulut işlevleri — barkod okuma, barkod oluşturma veya ikisine birden ihtiyaç duyduğunuzda doğru seçimdir. Tek bir NuGet paketi üzerinden tam barkod iş akışını kapsar, ağ bağımlılığı olmaksızın tamamen yerel olarak çalışır ve bağımlılık enjeksiyonu, async/await ve bulut barındırma gibi standart .NET kalıplarıyla entegre olur. Kıyaslama derlemelerinden Barkoder'e yönlendirilen .NET geliştirici için, IronBarcode, dosya, akış ve PDF girişi çapında aynı temel yetenekleri sağlar — hasara-tolerant okuma, çoklu barkod algılama, DataMatrix ve yüksek yoğunluklu format desteği.

Pratik sonuç basittir: kullanım durumuna göre seçim yapın. Bir MAUI kamera UI Barkoder'e temiz bir şekilde eşlenir; dosya, akış, PDF, üretim veya herhangi bir MAUI dışı .NET yüzeyi IronBarcode'a. Birçok üretim sistemi her ikisini de çalıştırır — mobil istemci üzerinde Barkoder ve sunucu üzerinde IronBarcode— ve iki entegrasyon doğal olarak hibrit olarak entegre olur.

Sıkça Sorulan Sorular

Barkoder SDK nedir?

Barkoder SDK, C# uygulamalarında barkod oluşturma ve okuma için bir .NET barkod kütüphanesidir. Geliştiricilerin .NET projeleri için barkod çözümü seçerken değerlendirdiği birkaç alternatiftir.

Barkoder SDK ile IronBarcode arasındaki temel farklar nelerdir?

IronBarcode, örnek yönetimi gerektirmeyen statik, durumsuz bir API kullanırken, Barkoder SDK genellikle kullanım öncesi örnek oluşturma ve yapılandırmayı gerektirir. IronBarcode ayrıca tüm ortamlarda yerel PDF desteği, otomatik format algılama ve tek anahtar lisans sunar.

IronBarcode, Barkoder SDK'ya göre lisanslanması daha kolay mı?

IronBarcode hem geliştirme hem de üretim dağıtımlarını kapsayan tek bir lisans anahtarı kullanır. Bu, SDK anahtarlarını çalışma zamanı anahtarlarından ayıran lisanslama sistemlerine kıyasla CI/CD hatlarını ve Docker yapılandırmalarını basitleştirir.

IronBarcode, Barkoder SDK'nın desteklediği tüm barkod formatlarını destekliyor mu?

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

IronBarcode doğal PDF barkod okuma desteği sunuyor mu?

Evet. IronBarcode, ayrı bir PDF render kütüphanesi gerektirmeden, BarcodeReader.Read('document.pdf') kullanarak PDF dosyalarından doğrudan barkod okur. Sayfa bazında sonuçlar sayfa numarası, barkod formatı, değeri ve güven puanını içerir.

IronBarcode, Barkoder SDK'ya kıyasla toplu işlemi nasıl ele alır?

IronBarcode'un statik yöntemleri durum terkibesizdir ve doğal olarak thread-safe'dir, bu da thread başına örnek yönetimi olmadan Parallel.ForEach'in doğrudan kullanımına olanak tanır. Herhangi bir fiyatlandırma seviyesinde bir throughput tavanı 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 paketinde destekler. Platform hedefleri arasında Windows x64/x86, Linux x64 ve macOS x64/ARM bulunur.

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

IronBarcode'u NuGet üzerinden kurun: Paket Yöneticisi Konsolunda 'Install-Package IronBarCode' komutunu veya CLI'da 'dotnet add package IronBarCode' komutunu çalıştırın. Ek bir SDK yükleyicisi veya çalışma zamanı dosyası gerekmez.

IronBarcode'u satın almadan önce değerlendirebilir miyim, Barkoder yerine?

Evet. IronBarcode'un deneme modu, yalnızca oluşturulan çıktı görüntülerine bir filigran ekleyerek, barkod değerlerini tam olarak döndürür. Satın almadan önce, kendi belgelerinizde okuma doğruluğunu kıyaslayabilirsiniz.

Barkoder SDK ve IronBarcode arasındaki fiyat farkı nedir?

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

Barkoder SDK'dan IronBarcode'a geçiş yapmak kolay mı?

Barkoder SDK'dan IronBarcode'a geçiş esas olarak, örnek tabanlı API çağrılarını IronBarcode'un statik yöntemleriyle değiştirmeyi, lisans gerekliliklerini kaldırmayı ve sonuç özelliği adlarını güncellemeyi içerir. Çoğu geçiş, kodun azaltılmasını içerir.

IronBarcode, logolu QR kodları üretebiliyor mu?

Evet. QRCodeWriter.CreateQrCode().AddBrandLogo('logo.png'), konfigüre edilebilir hata düzeltme ile QR koduna yerel olarak bir marka görüntüsü yerleştirir. Renkli QR kodları, ChangeBarCodeColor() ile de desteklenir.

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