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

Google ML Kit Barkod Taraması vs IronBarcode: C# Barkod Kütüphanesi Karşılaştırması

Google ML Kit Barkod Scanning ve IronBarcode: .NET Geliştiricilerinin Bilmesi Gerekenler

Google ML Kit'in Android'deki barkod taraması gerçekten etkileyicidir. Google Lens'i çalıştırır, hasarlı ve kısmen kapatılmış kodları işler, hiçbir ağ çağrısı olmaksızın cihaz üzerinde çalışır ve geniş bir 1D ve 2D format yelpazesini destekler. .NET geliştiricileri bir barkod kütüphanesi karşılaştırmasında bunu karşılaştığında, bu gerçekler doğrudur. Karşılaştırma makaleleri genellikle ML Kit'in bir .NET SDK'sı, bir NuGet paketi ve bir C# API'si olmadığı gerçeğini içermez. Bu makale, bir listede ML Kit bulan ve aslında bir .NET projesinde ML Kit kullanmayı ve yönetilen-kod eşdeğerinin nasıl göründüğünü anlaması gereken geliştiriciler içindir.

Google ML Kit Barkod Scanning Nedir

Google ML Kit Barcode Scanning, yerel bir mobil kütüphanedir. Bu çalışılmak zorunda olan bir sınırlama değildir; ürünün tasarımıdır. ML Kit iki türde piyasaya sürülür:

  • Android: Google Maven üzerinden com.google.mlkit:barcode-scanning (Kotlin/Java) olarak dağıtılır. Hedef cihazda Google Play Hizmetleri gerektirir. Kamera çerçevelerinden, dosya URI'larından veya bitmaplerden oluşturulan InputImage nesnelerini işler.
  • iOS: CocoaPods üzerinden GoogleMLKit/BarcodeScanning olarak dağıtılır. Swift veya Objective-C kullanır.

dotnet add package google-mlkit-barcode yok. using Google.MLKit.BarcodeScanning; yok. Google, ML Kit için bir .NET bağlama yayınlamıyor.

Topluluk tarafından desteklenen Xamarin ve MAUI bağlamaları (örneğin, BarcodeScanning.Native.Maui veya Xamarin.GooglePlayServices.MLKit.BarcodeScanning) çeşitli noktalarda var olmuştur, ancak hepsi ortak bir zorlukla karşılaşır: ML Kit, Android ve iOS SDK'larını sık sık günceller ve bireyler veya küçük ekipler tarafından sürdürülen bağlama projeleri geride kalabilir veya API değiştiğinde çalışmayabilir. ML Kit barkod tarayıcısı için ilk taraf Google .NET NuGet paketi yoktur.

ML Kit'in İyi Yaptıkları

ML Kit'in barkod karşılaştırmalarına neden dahil olduğunu anlamak faydalı bir bağlamdır. Yerel Android üzerinde:

  • Cihaz üzerinde çıkarım: Sunucu turu gerektirmez. ML Kit'in modeli Google Play Hizmetlerini kullanarak yerel olarak çalışır, bu da düşük gecikme ve tarama esnasında ağ bağımlılığı olmadığını ifade eder.
  • Hasar toleransı: ML modeli, birçok eşik tabanlı kod çözücüden daha iyi bir şekilde hasar görmüş, kısmen görmeyen veya düşük çözünürlüklü barkodları işler. Bu, gerçek dünyadaki kodları tarayan tüketiciye yönelik uygulamalar için gerçek bir ayırt edicidir.
  • Google Lens entegrasyonu: ML Kit'in tarayıcısı, Google Lens barkod algılamasını yöneten aynı yığın. Bu güçlü bir kalite sinyalidir.
  • Mobilde format genişliği: QR Kodu, EAN-13, EAN-8, Code 128, Code 39, Code 93, Codabar, ITF, PDF417, Data Matrix,Aztekve UPC-A/UPC-E hepsi yerel olarak desteklenmektedir.
  • Sıfır yapılandırma: Üç satırlık Kotlin kodu, eşikleri ayarlama veya bir kod çözme stratejisi seçme gerektirmeden çalışır bir tarayıcı üretebilir.

Bunlar meşru güçlü yanlardır. .NET geliştiricileri için sorun ML Kit'in kötü olması değil — ML Kit'in onlara önemli bir çaba göstermeden sunulmasıdır.

.NET Geliştirme Gerçekliği

Bir .NET geliştirici barkodları taramak istediğinde, ML Kit yolu pratikte böyle görünür:

Async/await C# API'si yok. ML Kit, Android'in Task API'sini addOnSuccessListener ve addOnFailureListener geri çağrıları ile kullanır. Bunlar, .NET'in Task<t> ve await'iyle eşleşmez. Herhangi bir bağlama katmanı, geri çağrı tabanlı Android eş zamansız ve .NET'in TPL'si arasında uyum sağlamak zorundadır — bu, topluluk bağlamalarının tutarsız bir şekilde ele aldığı zor bir tercümedir.

.NET bağımlılık enjeksiyonu entegrasyonu yok. BarcodeScanning.getClient(options), bir Android BarcodeScanner nesnesi döndüren statik bir fabrika çağrısıdır. Kayıt edilecek bir .NET arayüzü yok, IServiceCollection.AddBarcodeScanner() yok, bunu ASP.NET Core ara katmanına veya Azure Functions'a enjekte etmenin bir yolu yok.

ASP.NET Core veya Azure İşlev desteği yok. ML Kit, Android veya iOS çalışma zamanı bağlamı gerektirir. Linux üzerindeki bir web API işleminde, bir Azure İşlevinde, Windows Server veya bir Docker konteynerinde çalışamaz. Kullanım amacınız sunucu tarafı barkod işleme ise — bir görüntü kabul eden ve barkod verilerini döndüren bir REST uç noktası, bir belge işleme hattı, bir toplu iş — ML Kit, herhangi bir bağlamanın mevcut olmasına bakılmaksızın mimari olarak uyumsuzdur.

Kamera veya çerçeve girişi yalnızca — dosya yok, PDF yok. ML Kit'in InputImage, bir Bitmap, bir ByteBuffer veya Android dosya sisteminde bir dosya URI'si üzerinden oluşturulabilir. Bir PDF belgesini işleme, sayfaları yineleme veya çok sayfalı bir TIFF ile uğraşma kavramı yoktur. Sunucu tarafı belge işleme tamamen ürünün kapsamı dışındadır.

Google Play Hizmetleri bağımlılığı (paketsiz model). Paketlenmemiş ML modeli varyantı (com.google.android.gms:play-services-mlkit-barcode-scanning), Google Play Hizmetleri aracılığıyla çalışır. Play Hizmetleri olmayan cihazlar — özel Android yapıları, bazı kurumsal cihazlar, Amazon Fire tabletler — o varyantı kullanamaz. Paketlenmiş model seçeneği (com.google.mlkit:barcode-scanning), Play Hizmetleri olmadan çalışır ancak APK boyutuna yaklaşık 2,4 MB ekler.

Android ML Kit Kodunu .NET'e Taşımak

Mevcut bir Android uygulamanızda ML Kit barkod taraması varsa ve bunu .NET MAUI veya .NET 9'a taşıyorsanız, burada çeviri yapılır. Kotlin kodu ML Kit'in geri çağrı modelini kullanır; C# kodu IronBarcode'un eşzamanlı API'sini kullanır.

// Android Kotlin: ML Kit
val options = BarcodeScannerOptions.Builder()
    .setBarcodeFormats(Barcode.FORMAT_QR_CODE, Barcode.FORMAT_CODE_128)
    .build()
val scanner = BarcodeScanning.getClient(options)
val inputImage = InputImage.fromFilePath(context, uri)
scanner.process(inputImage)
    .addOnSuccessListener { barcodes ->
        for (barcode in barcodes) {
            val rawValue = barcode.rawValue
            val format = barcode.format
        }
    }
    .addOnFailureListener { e -> Log.e("MLKit", e.message ?: "") }
// .NET C#: IronBarcode
// NuGet: dotnet add package BarCode
using IronBarCode;

var results = BarcodeReader.Read("captured-image.jpg");
foreach (var barcode in results)
{
    Console.WriteLine($"{barcode.Format}: {barcode.Value}");
}
// .NET C#: IronBarcode
// NuGet: dotnet add package BarCode
using IronBarCode;

var results = BarcodeReader.Read("captured-image.jpg");
foreach (var barcode in results)
{
    Console.WriteLine($"{barcode.Format}: {barcode.Value}");
}
Imports IronBarCode

Dim results = BarcodeReader.Read("captured-image.jpg")
For Each barcode In results
    Console.WriteLine($"{barcode.Format}: {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Yapısal fark, sözdiziminden daha fazladır. ML Kit sürümü bir tarayıcı nesnesi kurar, bir InputImage oluşturur, scanner.process() çağırır ve başarı ve başarısızlık geri çağrılarını kaydeder. İlerlemeden önce sonucu almanız gerekiyorsa, geri çağrı yürütmenin geri kalan mantığınızla koordine edilmesi gerekir - genellikle Java'da CountDownLatch veya Kotlin'de korutinler aracılığıyla.

IronBarcode'un BarcodeReader.Read() sonucu senkron olarak bir koleksiyon döndürür. Hemen yineleme yaparsınız. Geri çağrı kaydetme, iş parçacığı senkronizasyonu, yönetilecek ayrı bir tarayıcı nesnesi yoktur.

Android kodunu taşıyan ekipler için, çoklu barkod senaryoları için desen çevirisi şöyle görünür:

// .NET C#:IronBarcode— reading multiple barcodes with options
using IronBarCode;

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128
};

var results = BarcodeReader.Read("image.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.Format}, Value: {barcode.Value}");
}
// .NET C#:IronBarcode— reading multiple barcodes with options
using IronBarCode;

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128
};

var results = BarcodeReader.Read("image.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.Format}, Value: {barcode.Value}");
}
Imports IronBarCode

Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Balanced,
    .ExpectMultipleBarcodes = True,
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}

Dim results = BarcodeReader.Read("image.jpg", options)
For Each barcode In results
    Console.WriteLine($"Format: {barcode.Format}, Value: {barcode.Value}")
Next
$vbLabelText   $csharpLabel

ExpectBarcodeTypes bayrağı, ML Kit'in setBarcodeFormats() eşdeğeridir. Bunu ayarlamak aramayı daraltır ve performansı artırır, ancak ML Kit'ten farklı olarak, ayarlanmamış olarak bırakmak okumanın bozulmasına neden olmaz —IronBarcode tüm desteklenen formatları deneyecektir.

BiçimKapsama Karşılaştırması

Her iki araç da ana akım 2D ve 1D formatları kapsar. Kapsama çakışması önemlidir.

Biçim ML Kit (Android) IronBarcode
QR Kodu Evet Evet
EAN-13 Evet Evet
EAN-8 Evet Evet
UPC-A Evet Evet
UPC-E Evet Evet
Code 128 Evet Evet
Code 39 Evet Evet
Code 93 Evet Evet
Codabar Evet Evet
ITF Evet Evet
PDF417 Evet Evet
Data Matrix Evet Evet
Aztek Evet Evet
Code 11 Hayır Evet
MSI Plessey Hayır Evet
Pharmacode Hayır Evet
Interleaved 2 of 5 Via ITF Evet
RSS-14 / GS1 Databar Hayır Evet
Mikro QR Hayır Evet
MaxiCode Hayır Evet

IronBarcode, okuma ve üretim için 50'den fazla sembolojiyi destekler. ML Kit'in format listesi, Google'ın modelle birlikte gönderdiği şeylerle sınırlıdır — özel sembolojiler ekleyemezsiniz.

IronBarcode'un Ekledikleri

Okumanın ötesinde, IronBarcode, tam bir barkod iş akışını kapsar:

Üretim. ML Kit'in hiçbir üretim API'si yoktur — barkodları okuyup yaratmaz. IronBarcode, desteklenen herhangi bir formatı PNG, JPEG, SVG, HTML veya ikili verilere dönüştürür.

// Generate aCode 128barcode to file
BarcodeWriter.CreateBarcode("SHIP-7834", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");
// Generate aCode 128barcode to file
BarcodeWriter.CreateBarcode("SHIP-7834", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");
' Generate a Code 128 barcode to file
BarcodeWriter.CreateBarcode("SHIP-7834", BarcodeEncoding.Code128) _
    .SaveAsPng("shipping-label.png")
$vbLabelText   $csharpLabel

QR kodu özelleştirme. QRCodeWriter logo yerleştirme, renk değişiklikleri ve hata düzeltme seviyelerini destekler — ML Kit, hiçbir şey üretmediğinden, bu özelliklerin ML Kit eşdeğeri yoktur.

// QR code with embedded logo and custom color
QRCodeWriter.CreateQrCode("https://example.com/product/4821", 500)
    .AddBrandLogo("company-logo.png")
    .ChangeBarCodeColor(System.Drawing.Color.DarkBlue)
    .SaveAsPng("product-qr.png");
// QR code with embedded logo and custom color
QRCodeWriter.CreateQrCode("https://example.com/product/4821", 500)
    .AddBrandLogo("company-logo.png")
    .ChangeBarCodeColor(System.Drawing.Color.DarkBlue)
    .SaveAsPng("product-qr.png");
' QR code with embedded logo and custom color
QRCodeWriter.CreateQrCode("https://example.com/product/4821", 500) _
    .AddBrandLogo("company-logo.png") _
    .ChangeBarCodeColor(System.Drawing.Color.DarkBlue) _
    .SaveAsPng("product-qr.png")
$vbLabelText   $csharpLabel

PDF işleme. BarcodeReader.Read("document.pdf"), bir PDF'in her sayfasından yerel olarak barkod okur. Hiçbir görüntü çıkarma adımı, ayrı bir PDF kütüphanesi ile sayfa bazlı bir döngü yok — PDF'leri doğrudan işler.

// Read all barcodes from every page of a PDF
var results = BarcodeReader.Read("invoice-batch.pdf");
foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Value}");
}
// Read all barcodes from every page of a PDF
var results = BarcodeReader.Read("invoice-batch.pdf");
foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Value}");
}
Imports System

' Read all barcodes from every page of a PDF
Dim results = BarcodeReader.Read("invoice-batch.pdf")
For Each barcode In results
    Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Sunucu tarafı ve bulut. IronBarcode, Windows, Linux, macOS, Docker, Azure İşlevleri ve AWS Lambda'da çalışır. Google Play Hizmetleri gereksinimi, kamera, mobil çalışma zamanı yoktur.

İkili çıktı. .ToPngBinaryData(), doğrudan bir byte[] döndürür — diske yazmadan HTTP yanıtları olarak barkod görüntüleri döndüren API'ler için faydalıdır.

// Generate barcode and return as byte array (e.g., in a web API)
byte[] barcodeBytes = BarcodeWriter.CreateBarcode("ORDER-8821", BarcodeEncoding.QRCode)
    .ToPngBinaryData();
// Generate barcode and return as byte array (e.g., in a web API)
byte[] barcodeBytes = BarcodeWriter.CreateBarcode("ORDER-8821", BarcodeEncoding.QRCode)
    .ToPngBinaryData();
' Generate barcode and return as byte array (e.g., in a web API)
Dim barcodeBytes As Byte() = BarcodeWriter.CreateBarcode("ORDER-8821", BarcodeEncoding.QRCode) _
    .ToPngBinaryData()
$vbLabelText   $csharpLabel

Özellik Karşılaştırması

Özellik Google ML Kit Barkod IronBarcode
.NET / C# API Yok (NuGet paketi yok) Evet — using IronBarCode;
NuGet paketi None BarCode
Barkod okuma Evet (sadece Android/iOS) Evet (tüm platformlar)
Barkod oluşturma Hayır Evet (50+ format)
QR kod üretimi Hayır Evet
QR logo yerleştirme Hayır Evet
PDF girişi desteği Hayır Evet (yerel)
Dosya girişi (PNG/JPEG) Evet (InputImage URI üzerinden) Evet
Kamera / çerçeve girişi Evet (birincil kullanım durumu) Görüntü dosyası üzerinden
Sunucu tarafı işleme Hayır Evet
ASP.NET Çekirdek desteği Hayır Evet
Azure Functions Hayır Evet
Docker / Linux Hayır Evet
Windows uygulama desteği Hayır (sadece Android/iOS) Evet
Google Play Hizmetleri bağımlılığı Evet (dağılmamış model) Hayır
Firebase bağımlılığı Hayır (2020'den beri bağımsız) Hayır
Asenkron/await C# API Hayır Senkron
Bir görüntüde çoklu barkod Evet Evet
Topluluk .NET bağı Topluluk tarafından sürdürülen, ilk taraf değil Uygulanamaz (yerel .NET)
Fiyatlandırma Ücretsiz (cihaz üzerinde API) $749'dan .oneqislmeşuhperüd

API Kavram Haritası

Resmi bir .NET ML Kit API olmadığı için, bu haritalama kavramsaldır — her ML Kit işleminin amacını ve IronBarcode eşdeğerini gösterir.

ML Kit (Kotlin/Java kavramı) IronBarcode (.NET C#)
BarcodeScannerOptions.Builder() new BarcodeReaderOptions { }
.setBarcodeFormats(FORMAT_QR_CODE) ExpectBarcodeTypes = BarcodeEncoding.QRCode
BarcodeScanning.getClient(options) Statik — tarayıcı nesnesi gerekli değil
InputImage.fromFilePath(context, uri) Dosya yolu dizesi BarcodeReader.Read()'a geçti
InputImage.fromBitmap(bitmap, rotation) BarcodeReader.Read(stream) veya bayt dizisi aşırı yüklemesi
scanner.process(inputImage) BarcodeReader.Read(path, options)
.addOnSuccessListener { barcodes -> } Read() dönüş değeri — doğrudan yineleme yapın
.addOnFailureListener { e -> } Standart try/catch
barcode.rawValue barcode.Value
barcode.format barcode.Format
barcode.boundingBox Sonuç nesnesi üzerindeki bölge verileri
Barcode.FORMAT_QR_CODE BarcodeEncoding.QRCode
Barcode.FORMAT_CODE_128 BarcodeEncoding.Code128
Üretim API'si yok BarcodeWriter.CreateBarcode()
Üretim API'si yok QRCodeWriter.CreateQrCode()
Speed / model seçimi ReadingSpeed.Balanced / .Faster / .Detailed

Ne Zaman IronBarcode Düşünülmeli

Bir Android uygulamasını .NET MAUI veya .NET 9'a taşımak. Eğer Android uygulamanızda ML Kit barkod taramayı kullanıyorsa ve bir .NET eşdeğeri oluşturuyorsanız,IronBarcode doğal hedeftir. Kavram çeviri basittir — bir dosyayı okuyun, bir sonuç alın, değerleri yineleyin.

Sunucu tarafı barkod işleme. Bar kodları tarayan bir HTTP uç noktayı içeren herhangi bir senaryo, yüklenen görüntüleri işleyen bir arka plan işi veya PDF'lerden kod çıkaran bir belge iş akışı. ML Kit'in hiçbiri mümkündür.

Windows masaüstü uygulamaları. WinForms, WPF veya Windows üzerinde .NET MAUI. ML Kit Windows'ta hiç çalışmaz.

Google Play Hizmetleri olmayan ortamlar. Android dağıtımınıza Google Play Hizmetleri olmayan cihazlar dahiliyorsa —kurumsal donanım, özel AOSP yapıları, Amazon Fire cihazları— dağılmamış ML Kit modeli kullanılabilir değildir ve yalnızca daha büyük demet varyantı kalır. IronBarcode'un böyle bir bağımlılığı yoktur.

Okuma ile birlikte üretim. Hem barkod üretmeniz hem de okumanız gerekiyorsa — örneğin, gönderi etiketlerini yazdırman ve taramaları doğrulamanız gerekiyorsa —IronBarcode ikisini de aynı kütüphanede ele alır. ML Kit ne üretimi ne de sunucu tarafı okuma yapmaz.

Azure veya AWS dağıtımı. Azure İşlevleri, Linux üzerinde Azure Uygulama Hizmeti, AWS Lambda — hiçbiri ML Kit barındıramaz.IronBarcode hepsini hedefler.

Lisanslama ve Fiyatlandırma

Google ML Kit Barcode Scanning'in cihaz üzerindeki API'si Android ve iOS uygulamaları için ücretsizdir. Tarama başına ücret yoktur ve ticari lisans gerekmez. Bu fiyatlandırma modeli, amacına uygun bağlam — Maven ve CocoaPods aracılığıyla dağıtılan yerel bir mobil kitaplık.

IronBarcode, süresiz lisanslar sunan ticari bir .NET kütüphanesidir:

  • Lite: $749 — 1 geliştirici, 1 proje konumu
  • Plus: $1,499 — 3 geliştiriciye kadar
  • Professional: $2,999 — 10 geliştiriciye kadar
  • Unlimited: $5,999 — sınırsız geliştirici

Ücretsiz deneme mevcuttur; deneme, oluşturulan barkodları su damgası ile işaretler. Halihazırda belgeleri işlemek için sunucu altyapısını çalıştıran ekipler için lisans maliyeti, genellikle resmi olmayan bir ML Kit bağlamasını sürdürmek için gereken mühendislik çabasının küçük bir kısmıdır.

Sonuç

Google ML Kit Barkod Tarama, tam olarak ne yapması için tasarlandığıdır: Android ve iOS cihazlarda barkodları hızlı ve doğru bir şekilde tarayan iyi bir mühendislikle yapılmış bir kütüphanedir.IronBarcode ile karşılaştırma, daha çok hangi kütüphanenin ihtiyaç duyduğunuz bağlamda var olduğu daha azdır ki, hangi kütüphanenin daha iyi olduğu daha azdır.

Kotlin yazıyor ve bir kameradan Android için tarıyor iseniz, ML Kit mükemmel bir seçenektir. .NET için C# yazıyorsanız — ister web API'si, ister bir belge işleme hizmeti, bir Windows uygulaması, bir bulut işlevi veya platformlar arası bir MAUI uygulaması olsun — Google ML Kit sizin için hiçbir teklif yoktur. "NuGet paketi yok, C# API'si yok ve yönetilen kodda kullanıma yönelik Google destekli bir yol yok." IronBarcode, .NET Destekleyen her platformda okuma ve üretim yapan yerel bir .NET kütüphanesidir.

Sıkça Sorulan Sorular

Google ML Kit Barcode Taraması nedir?

Google ML Kit Barcode Taraması, C# uygulamalarında barkod oluşturma ve okuma için bir .NET barkod kütüphanesidir. .NET projeleri için bir barkod çözümü seçerken geliştiricilerin değerlendirdiği birkaç alternatiften biridir.

Google ML Kit Barcode Taraması ve IronBarcode arasındaki temel farklar nelerdir?

IronBarcode, örnek yönetimi gerektirmeyen statik, durumsuz bir API kullanırken, Google ML Kit Barcode Taraması genellikle kullanım öncesi örnek oluşturma ve yapılandırma gerektirir. IronBarcode ayrıca yerel PDF desteği, otomatik format tanıma ve tüm ortamlarda tek anahtarlı lisanslama sunar.

IronBarcode, Google ML Kit Barcode Taraması'ndan daha mı kolay lisanslanır?

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, Google ML Kit Barcode Taraması'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, toplu işlem konusunda Google ML Kit Barcode Taraması'na kıyasla nasıl bir performans sergiliyor?

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.

Google ML Kit'in aksine IronBarcode'u satın almadan önce değerlendirebilir miyim?

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.

Google ML Kit Barcode Taraması ile 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.

Google ML Kit Barcode Taraması'ndan IronBarcode'a geçiş kolay mı?

Google ML Kit Barcode Taraması'ndan IronBarcode'a geçiş, esas olarak örnek tabanlı API çağrılarını IronBarcode'un statik metotları ile değiştirmeyi, lisanslama şablonunu kaldırmayı ve sonuç özelliği adlarını güncellemeyi içerir. Çoğu geçiş, kod eklemek yerine kodu azaltmayı 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