GrapeCity Barkod ve IronBarcode: C# Barkod Kütüphanesi Karşılaştırması
ComponentOne'un barkod kontrolü, bir Windows Forms uygulaması içinde barkodlar oluşturur. Bunu iyi yapar — API temizdir, çıktı kalitesi sağlamdır ve WinForms tasarımcısı ile doğal olarak bütünleşir. Ancak yaptığı şeyin kapsamı dar. Barkodları okuyamaz. Bir Windows bağlamı dışında çalışamaz. Ve bağımsız bir ürün değildir — ComponentOne Studio Enterprise'ın bir parçası olarak piyasaya sürülür, WinForms, WPF, Blazor ve ASP.NET için 100'den fazla UI kontrolü içeren bir ~1,473 $/geliştirici/yıl aboneliği. .NET projesi için barkod seçeneklerini değerlendiriyorsanız ve karşılaştırma listesinde ComponentOne'u bulduysanız, bu makale, o kapsamın pratikte ne anlama geldiğiyle ilgilidir.
C1BarCode'yi Anlama
C1BarCode bir WinForms görsel kontrolüdür. Kuşak iş akışı, bir örnek oluşturur, özellikler ayarlar ve bir System.Drawing.Image almak için GetImage() çağırır:
// ComponentOne C1BarCode
using C1.Win.C1BarCode;
using System.Drawing;
// License must be set before first use
C1.C1License.Key = "YOUR-COMPONENTONE-KEY";
var barcode = new C1BarCode();
barcode.CodeType = CodeType.Code128;
barcode.Text = "ITEM-12345";
barcode.BarHeight = 100;
barcode.ModuleSize = 2;
barcode.ShowText = true;
barcode.CaptionPosition = CaptionPosition.Below;
using var image = barcode.GetImage();
image.Save("barcode.png", System.Drawing.Imaging.ImageFormat.Png);
// ComponentOne C1BarCode
using C1.Win.C1BarCode;
using System.Drawing;
// License must be set before first use
C1.C1License.Key = "YOUR-COMPONENTONE-KEY";
var barcode = new C1BarCode();
barcode.CodeType = CodeType.Code128;
barcode.Text = "ITEM-12345";
barcode.BarHeight = 100;
barcode.ModuleSize = 2;
barcode.ShowText = true;
barcode.CaptionPosition = CaptionPosition.Below;
using var image = barcode.GetImage();
image.Save("barcode.png", System.Drawing.Imaging.ImageFormat.Png);
Imports C1.Win.C1BarCode
Imports System.Drawing
Imports System.Drawing.Imaging
' License must be set before first use
C1.C1License.Key = "YOUR-COMPONENTONE-KEY"
Dim barcode As New C1BarCode()
barcode.CodeType = CodeType.Code128
barcode.Text = "ITEM-12345"
barcode.BarHeight = 100
barcode.ModuleSize = 2
barcode.ShowText = True
barcode.CaptionPosition = CaptionPosition.Below
Using image As Image = barcode.GetImage()
image.Save("barcode.png", ImageFormat.Png)
End Using
Özellik ayarlayıcı API, WinForms geliştiricilerine aşinadır — doğrudan tasarımcı yüzeyiyle eşleşir. CodeType, BarHeight, ModuleSize, ShowText ve CaptionPosition hepsi kodda aynı şekilde çalışan tasarımcıya görünür özelliklerdir.
C1BarCode, ana akım 1D ve 2D formatlarını destekler: Code 39, Code 128, EAN-8, EAN-13, UPC-A, UPC-E, ITF, QR Code ve PDF417 diğerleri arasında. WinForms oluşturması için yaygın kullanım durumlarını kapsar.
Okuma API'si Yok
Bu, bir yapılandırma seçeneğiyle doldurulacak bir boşluk değildir. C1BarCodeReader sınıfı yoktur. C1BarCode üzerinde Decode() metodu yoktur. ComponentOne'un barkod kontrolü, tasarım gereği sadece üretim sağlar.
Uygulamanız, yüklenen görüntülerden barkod taraması yapması, basılı etiketleri doğrulaması, gömülü kodlarla belgeleri işlemesi veya bir web API üzerinden QR kodlarından veri çıkarması gerekiyorsa - bunların hiçbiri C1BarCode ile mümkün değildir. Okuma için ayrı bir kütüphane gerekir, bu da neden 100'den fazla kontrol içeren bir kurumsal suite içinde sadece barkod üretimi yapan bir kontrol için ödeme yapacağınızı sorgulamanıza neden olurken, bağımsız barkod kütüphaneleri her iki işlemi de kapsar.
WinForms barkod kontrollerinde baskı çıktısı için tasarlanmış bir okuma API'sinin olmaması alışılmadık bir durum değildir. Bu, gereksinimlerin genişlediği durumlarda bir karar noktası haline gelir — ve barkod gereksinimleri neredeyse her zaman genişler.
Sadece Windows Kısıtlaması
C1BarCode, Windows'a özgü bir hedef framework yapılandırması gerektirir:
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
net8.0-windows hedef framework monikeri ve UseWindowsForms isteğe bağlı tercihleri değildir. C1.Win.C1BarCode, sadece Windows'ta var olan System.Windows.Forms türlerine — UserControl, PaintEventArgs, Graphics — bağlıdır. net8.0-windows kaldırılması yapıyı bozar.
Buna karşılık,IronBarcodeplatform sınırlamaları olmaksızın net8.0 (veya desteklenen herhangi bir TFM) hedefler:
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
Bu birçok pratik senaryoda önemlidir:
- Linux üzerinde Azure Uygulama Hizmeti: Yeni Uygulama Hizmeti dağıtımları için varsayılan plandır.
net8.0-windowsonu hedefleyemez. - Docker konteynerleri: Linux konteynerleri standarttır. Bir Windows konteyneri daha büyük, daha maliyetli ve birçok bulut katmanında mevcut değildir.
- ASP.NET Core Web API: Sadece Windows'a dağıtılabilecek bir barkod üretim uç noktası, ekibin sonunda çözmesi gereken bir dağıtım kısıtlamasıdır.
- Azure Functions: Tüketim planı Linux'ta çalışır.
net8.0-windowshedefi ile bir barkod oluşturucu Fonksiyon Tüketim planına dağıtılamaz.- macOS geliştirimi: macOS üzerindeki geliştiriciler, test üretim mantığı için bile olsa
net8.0-windowsprojesini yerel olarak çalıştıramazlar.
- macOS geliştirimi: macOS üzerindeki geliştiriciler, test üretim mantığı için bile olsa
Uygulamanız sadece Windows üzerinde çalışacak bir WinForms masaüstü aracı ise platform kısıtlaması sorun değildir. Dağıtım gereksinimleri herhangi bir Linux veya bulut ortamını içerdiği an bir sorun haline gelir.
Suite Paketleme
C1BarCode, bağımsız bir NuGet paketi olarak bulunmaz. ComponentOne Studio Enterprise'nin bir parçasıdır ve WinForms, WPF, Blazor ve ASP.NET için tam ComponentOne kontrol paketini içerir. ComponentOne Studio Enterprise'nin fiyatlandırması, geliştirici başına yıllık yaklaşık 1.473 dolar (abonelik) kadardır.
Bu suite, 100'den fazla bileşen içerir: ızgaralar, grafikler, zamanlayıcılar, giriş kontrolleri, rapor tasarımcıları, harita kontrolleri, göstergeler ve daha fazlası. Veri ağırlıklı bir WinForms uygulaması oluşturuyorsanız ve bu kontrollerin çoğuna ihtiyaçınız varsa, suite fiyatlandırması mantıklı olabilir. Barkod üretimine ihtiyaçınız varsa ve ComponentOne'u bir arama sırasında bulduysanız, büyük bir kurumsal UI paketini esas olarak bir kontrol için satın alıyorsunuz.
Bağımsız bir C1BarCode paketi yoktur. dotnet add package C1.Win.C1BarCode mevcut değildir — paket GrapeCity.Documents lisanslamasının bir parçası olarak veya ComponentOne Studio yükleyicisi olarak C1.Win.C1BarCode edilir. Tam suite olmadan barkod işlevselliği isteyen geliştiriciler için kısmi satın alma seçeneği yoktur.
IronBarcode'un fiyatlandırma yapısı farklıdır: Bu, tek bir geliştirici için 749 dolardan başlayan süresiz lisanslama ile bağımsız bir barkod kütüphanesidir. Izgara kontrolü, grafik kütüphanesi, rapor tasarımcısı yok — sadece aradığınız barkod işlevselliği var.
QR Kod Özelleştirme
Her iki kütüphanede de özelleştirme seçenekleri ile QR kod üretimi desteklenmektedir. API tarzı önemli ölçüde farklılık gösterir.
ComponentOne özellik ayarlayıcı yaklaşımı:
// ComponentOne — QR code with error correction and color
using C1.Win.C1BarCode;
using System.Drawing;
C1.C1License.Key = "YOUR-COMPONENTONE-KEY";
var barcode = new C1BarCode();
barcode.CodeType = CodeType.QRCode;
barcode.Text = "https://example.com/product/4821";
barcode.QRCodeVersion = QRCodeVersion.Version5;
barcode.QRCodeErrorCorrectionLevel = QRCodeErrorCorrectionLevel.High;
barcode.QRCodeModel = QRCodeModel.Model2;
barcode.ForeColor = Color.DarkBlue;
barcode.BackColor = Color.White;
barcode.ModuleSize = 4;
using var image = barcode.GetImage();
image.Save("product-qr.png", System.Drawing.Imaging.ImageFormat.Png);
// ComponentOne — QR code with error correction and color
using C1.Win.C1BarCode;
using System.Drawing;
C1.C1License.Key = "YOUR-COMPONENTONE-KEY";
var barcode = new C1BarCode();
barcode.CodeType = CodeType.QRCode;
barcode.Text = "https://example.com/product/4821";
barcode.QRCodeVersion = QRCodeVersion.Version5;
barcode.QRCodeErrorCorrectionLevel = QRCodeErrorCorrectionLevel.High;
barcode.QRCodeModel = QRCodeModel.Model2;
barcode.ForeColor = Color.DarkBlue;
barcode.BackColor = Color.White;
barcode.ModuleSize = 4;
using var image = barcode.GetImage();
image.Save("product-qr.png", System.Drawing.Imaging.ImageFormat.Png);
Imports C1.Win.C1BarCode
Imports System.Drawing
Imports System.Drawing.Imaging
C1.C1License.Key = "YOUR-COMPONENTONE-KEY"
Dim barcode As New C1BarCode()
barcode.CodeType = CodeType.QRCode
barcode.Text = "https://example.com/product/4821"
barcode.QRCodeVersion = QRCodeVersion.Version5
barcode.QRCodeErrorCorrectionLevel = QRCodeErrorCorrectionLevel.High
barcode.QRCodeModel = QRCodeModel.Model2
barcode.ForeColor = Color.DarkBlue
barcode.BackColor = Color.White
barcode.ModuleSize = 4
Using image As Image = barcode.GetImage()
image.Save("product-qr.png", ImageFormat.Png)
End Using
IronBarcode sıvı zincir:
//IronBarcode— QR code with error correction and color
// NuGet: dotnet add package IronBarcode
using IronBarCode;
using System.Drawing;
QRCodeWriter.CreateQrCode(
"https://example.com/product/4821",
300,
QRCodeWriter.QrErrorCorrectionLevel.Highest)
.ChangeBarCodeColor(Color.DarkBlue)
.SaveAsPng("product-qr.png");
//IronBarcode— QR code with error correction and color
// NuGet: dotnet add package IronBarcode
using IronBarCode;
using System.Drawing;
QRCodeWriter.CreateQrCode(
"https://example.com/product/4821",
300,
QRCodeWriter.QrErrorCorrectionLevel.Highest)
.ChangeBarCodeColor(Color.DarkBlue)
.SaveAsPng("product-qr.png");
Imports IronBarCode
Imports System.Drawing
QRCodeWriter.CreateQrCode( _
"https://example.com/product/4821", _
300, _
QRCodeWriter.QrErrorCorrectionLevel.Highest) _
.ChangeBarCodeColor(Color.DarkBlue) _
.SaveAsPng("product-qr.png")
ComponentOne yaklaşımı, bir C1BarCode nesnesi başlatmayı ve GetImage() çağrılmadan önce birden fazla özellik ayarlamayı gerektirir. IronBarcode'un QRCodeWriter, her işlem barkod nesnesini döndüren akıcı bir zincir kullanır ve sonunda .SaveAsPng() çağırırsınız. Yönetilecek bir örnek yoktur.
IronBarcode ayrıca QR kodlarında logo yerleştirmeyi destekler, ancak C1BarCode desteklemez:
// QR code with embedded brand logo
QRCodeWriter.CreateQrCode("https://example.com/track/8821", 500)
.AddBrandLogo("company-logo.png")
.ChangeBarCodeColor(Color.DarkBlue)
.SaveAsPng("branded-qr.png");
// QR code with embedded brand logo
QRCodeWriter.CreateQrCode("https://example.com/track/8821", 500)
.AddBrandLogo("company-logo.png")
.ChangeBarCodeColor(Color.DarkBlue)
.SaveAsPng("branded-qr.png");
' QR code with embedded brand logo
QRCodeWriter.CreateQrCode("https://example.com/track/8821", 500) _
.AddBrandLogo("company-logo.png") _
.ChangeBarCodeColor(Color.DarkBlue) _
.SaveAsPng("branded-qr.png")
IronBarcode'u Anlamak
IronBarcode, üretim ve okumayı kapsayan bağımsız bir .NET barkod kütüphanesidir. NuGet (dotnet add package IronBarcode) üzerinden kurulur, platform sınırlamaları olmadan desteklenen herhangi bir .NET TFM hedefler ve Windows, Linux, macOS, Docker, Azure ve AWS Lambda'da çalışır.
Okuma tarafı PDF belgeleri doğal olarak kapsar:
// Read barcodes from a PDF — no image extraction needed
using IronBarCode;
var results = BarcodeReader.Read("invoice.pdf");
foreach (var barcode in results)
{
Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Format} — {barcode.Value}");
}
// Read barcodes from a PDF — no image extraction needed
using IronBarCode;
var results = BarcodeReader.Read("invoice.pdf");
foreach (var barcode in results)
{
Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Format} — {barcode.Value}");
}
Imports IronBarCode
' Read barcodes from a PDF — no image extraction needed
Dim results = BarcodeReader.Read("invoice.pdf")
For Each barcode In results
Console.WriteLine($"Page {barcode.PageNumber}: {barcode.Format} — {barcode.Value}")
Next
Yüksek verimli senaryolar için BarcodeReaderOptions, hız ve doğruluk takası ile çoklu barkod algılamasını kontrol eder:
// Multi-barcode read with performance options
using IronBarCode;
var options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = true,
ExpectedBarcodeTypes = BarcodeEncoding.Code128 | BarcodeEncoding.QRCode
};
var results = BarcodeReader.Read("warehouse-manifest.jpg", options);
// Multi-barcode read with performance options
using IronBarCode;
var options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Balanced,
ExpectMultipleBarcodes = true,
ExpectedBarcodeTypes = BarcodeEncoding.Code128 | BarcodeEncoding.QRCode
};
var results = BarcodeReader.Read("warehouse-manifest.jpg", options);
Imports IronBarCode
' Multi-barcode read with performance options
Dim options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Balanced,
.ExpectMultipleBarcodes = True,
.ExpectedBarcodeTypes = BarcodeEncoding.Code128 Or BarcodeEncoding.QRCode
}
Dim results = BarcodeReader.Read("warehouse-manifest.jpg", options)
Üretim, istikrarlı bir statik API ile standart formatları kapsar:
// Code 128 generation to file
BarcodeWriter.CreateBarcode("SHIP-20240312-7834", BarcodeEncoding.Code128)
.SaveAsPng("shipping-label.png");
//QR kod uretimito byte array (for HTTP response)
byte[] qrBytes = QRCodeWriter.CreateQrCode("https://example.com/order/7734", 400)
.ToPngBinaryData();
// Code 128 generation to file
BarcodeWriter.CreateBarcode("SHIP-20240312-7834", BarcodeEncoding.Code128)
.SaveAsPng("shipping-label.png");
//QR kod uretimito byte array (for HTTP response)
byte[] qrBytes = QRCodeWriter.CreateQrCode("https://example.com/order/7734", 400)
.ToPngBinaryData();
' Code 128 generation to file
BarcodeWriter.CreateBarcode("SHIP-20240312-7834", BarcodeEncoding.Code128) _
.SaveAsPng("shipping-label.png")
' QR code generation to byte array (for HTTP response)
Dim qrBytes As Byte() = QRCodeWriter.CreateQrCode("https://example.com/order/7734", 400) _
.ToPngBinaryData()
Desteklenen platformlar: Windows, Linux, macOS, Docker, Azure (App Service ve Fonksiyonlar), AWS Lambda. Desteklenen .NET sürümleri: .NET 4.6.2'den .NET 9'a kadar.
Özellik Karşılaştırması
| Özellik | GrapeCity C1BarCode | IronBarcode |
|---|---|---|
| Barkod üretimi | Evet | Evet |
| Barkod okuma | Hayır | Evet |
| QR kod uretimi | Evet | Evet |
| QR logo yerleştirme | Hayır | Evet |
| Okuma için PDF girişi | N/A (okuma yok) | Evet (yerel) |
| .NET platform hedefi | net8.0-windows yalnızca |
Herhangi bir TFM (net8.0, vb.) |
| UseWindowsForms gereklidir | Evet | Hayır |
| Linux / Docker dağıtımı | Hayır | Evet |
| macOS dağıtımı | Hayır | Evet |
| Azure Functions (Linux) | Hayır | Evet |
| ASP.NET Core sunucu tarafı | Sınırlı (sadece Windows) | Evet |
| Bağımsız NuGet paketi | Hayır (sadece paket) | Evet |
| Bağımsız fiyatlandırma | N/A | $749 ile süresiz |
| Paket fiyatlandırması | ~1.473$/geliştirici/yıl (abonelik) | N/A |
| Sıvı üretim API'si | Hayır (özellik ayarlayıcı) | Evet |
BarcodeReader.Read() |
Hayır | Evet |
BarcodeWriter.CreateBarcode() |
Hayır | Evet |
QRCodeWriter.CreateQrCode() |
Hayır | Evet |
| Desteklenen .NET sürümleri | .NET 6+ (Windows) | .NET 4.6.2 ile .NET 9 arasında |
| Süresiz lisans seçeneği | Hayır (abonelik) | Evet |
API Eslestirme Referansi
C1BarCode'dan IronBarcode'a geçiş yapan ekipler için bu doğrudan eşdeğerler geçerlidir:
| ComponentOne C1BarCode | IronBarcode |
|---|---|
C1.C1License.Key = "..." |
IronBarCode.License.LicenseKey = "key" |
new C1BarCode() |
Statik — örneğe gerek yok |
barcode.CodeType = CodeType.Code128 |
Parametre olarak geçen BarcodeEncoding.Code128 |
barcode.Text = "data" |
BarcodeWriter.CreateBarcode() ilk argümanı |
barcode.BarHeight = 100 |
Barkod yazarında .ResizeTo(width, 100) |
barcode.ModuleSize = 2 |
.ResizeTo() piksellerde boyutlandırmayı kontrol eder |
barcode.ForeColor = Color.DarkBlue |
.ChangeBarCodeColor(Color.DarkBlue) |
barcode.BackColor = Color.White |
.ChangeBackgroundColor(Color.White) |
barcode.GetImage() |
.SaveAsPng() / .ToPngBinaryData() |
barcode.QRCodeErrorCorrectionLevel |
QRCodeWriter.QrErrorCorrectionLevel numarası |
barcode.QRCodeVersion |
Otomatik (veya sürüm parametresi) |
| Okuma API'si yok | BarcodeReader.Read(path) |
net8.0-windows gereklidir |
net8.0 (veya herhangi bir TFM) |
UseWindowsForms = true gereklidir |
Gerekli değil |
Takımlar Ne Zaman Geçiş Yapar
Okuma gereksinimi ortaya çıkıyor. Bu, en yaygın tetikleyicidir. Bir ekip, C1BarCode ile barkod etiket üretimi yapar, ardından taramaları doğrulama, gelen gönderi belgelerini işleme veya yüklenen görüntülerden QR kodu çözme gereksinimi alır. C1BarCode yardımcı olamaz. Seçenekler: okuma için ikinci bir barkod kütüphanesi eklemek veya her ikisine de hitap eden bir kütüphane ile C1BarCode'u değiştirmektir.
Linux veya Docker dağıtımı. Windows masaüstlerine gönderilen bir WinForms masaüstü uygulaması bu kısıtlamayla karşılaşmaz. Bir Linux konteynerinde çalıştırılması veya Linux üzerinde Azure Uygulama Hizmeti'ne dağıtılması gereken ASP.NET Core API'si barkod görüntüleri üretir — özellikle bu gereksinim varsa. net8.0-windows hedef çerçeve, bu dağıtım seçeneklerini hemen engeller.
Mikro hizmet veya sunucusuz mimari. Azure Functions, AWS Lambda ve konteynerleştirilmiş mikro hizmetler Linux öncelikli. Linux'a dağıtılamayan bir barkod üretim hizmeti, uygun bir mikro hizmet değildir.
Suite abonelik maliyeti vs. gereksinim kapsamı. ComponentOne Studio Enterprise için ödeme yapan ve zaten ağlarını, grafiklerini ve diğer kontrollerini kullanan ekipler aboneliği zaten gerekçelendirmiştir. Çoğunlukla veya tamamen barkod üretimi için abone olan ekipler, kullanmadıkları 100'den fazla kontrol için ödeme yapmaktadır. Geliştirici başına abonelik maliyeti ekip boyutuyla birleşir.
Süresiz lisans tercihi. ComponentOne Studio sadece aboneliktir. Süresiz lisans seçeneği yoktur. Özellikle uyum veya uzun vadeli bakım nedenleriyle gönderdiği yazılıma sahip olmayı tercih eden ekipler için, IronBarcode'un 749 dolardan başlayan süresiz lisanslaması yapısal olarak farklıdır.
Sonuç
C1BarCode, WinForms bağlamında barkodları temiz bir şekilde üretir. Bu, aslında iyi yaptığı şeydir ve yalnızca Windows'ta etiket oluşturma ihtiyaçı duyan bir WinForms masaüstü uygulaması için, ComponentOne paketi içinde işlevsel bir seçimdir.
Kapsam burada sona eriyor. Okuma yok, yalnızca Windows'a dağıtım, bağımsız paket yok, abonelik lisanslaması. Bir projenin gereksinimleri Windows'ta WinForms oluşturmanın ötesine geçtiğinde — bir okuma gereksinimi, bir Linux dağıtım hedefi, bir web API'si, bir Docker konteyneri, bir bulut fonksiyonu — C1BarCode onları kapsamak için yeterli değildir. IronBarcode, oluşturma ve okuma işlemlerini kapsar, .NET'i destekleyen herhangi bir platformda çalışır ve 100 denetimli bir kurumsal abonelik paketi olmadan bağımsız bir paket olarak mevcuttur.
Sıkça Sorulan Sorular
GrapeCity Barcode nedir?
GrapeCity Barcode, C# uygulamalarinda barkod oluşturmak ve okuma için .NET bir barkod kütüphanesidir. .NET projeleri için bir barkod çözümu secen geliştiricilerin degerlendirdigi birkac alternatiftir.
GrapeCity Barcode ve IronBarcode arasindaki temel farklar nelerdir?
IronBarcode, statik, durumsuz bir API kullanir ve örnek yönetimi gerektirmezken, GrapeCity Barcode tipik olarak kullanmadan önce örnek oluşturma ve konfigure etme gerektirir. IronBarcode, ayrica tüm ortamlarda yerel PDF desteği, otomatik format tanima ve tek anahtarla lisanslama sunar.
IronBarcode, GrapeCity Barcode'dan daha kolay mi lisanslaniyor?
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, GrapeCity Barcode'un desteği olan 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, GrapeCity Barcode'a kiyasla toplu işleme nasil yaklasir?
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.
GrapeCity'a kiyasla IronBarcode'u 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.
GrapeCity Barcode ve 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.
GrapeCity Barcode'dan IronBarcode'a geçiş yapmak kolay mi?
GrapeCity Barcode'dan IronBarcode'a geçiş yaptiginizda, temel olarak örnek tabanli API cagri'larini IronBarcode'un statik metodlari ile değiştirmek, lisanslamakla ilgili gereklilikleri kaldirir ve sonuc özellik adlarini guncellersiniz. Cogu geçiş, kod eklemekten ziyade azaltilmasi için yapılır.
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.

