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

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

MESCIUSComponentOne C1BarCodevs IronBarcode

MESCIUSEnformer ComponentOne'ın barkod kontrolü (önceden GrapeCity, 2023'te yeniden markalanmıştır) Windows Forms, WPF, WinUI, Blazor ve ASP.NET Core MVC uygulamaları 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ığı şeylerin kapsamı dardır. Barkod okuyamaz. WinForms ve WPF sürümleri yalnızca Windows hedef çerçeve üzerinde çalışır. Ve bağımsız bir ürün değil — ComponentOne Studio Enterprise'ın bir parçası olarak gönderilir, 1.299 $/geliştirici/yıl abonelik ile 100'den fazla UI kontrolü içerir. .NET projesi için barkod seçeneklerini değerlendiriyorsanız ve Bir karşılaştırma listesinde ComponentOne bulduysanız, bu makale bu kapsamın pratikte ne anlama geldiği hakkındadır.

C1BarCode'u Anlamak

C1BarCode, görsel bir kontroldür. Üretim iş akışı bir örnek oluşturur, özelliklerini ayarlar ve bir System.Drawing.Image almak için GetImage() çağrısı yapar:

// ComponentOne C1BarCode
using C1.Win.Barcode;
using C1.BarCode;
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.Barcode;
using C1.BarCode;
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.Barcode
Imports C1.BarCode
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
$vbLabelText   $csharpLabel

Özellik-yazıcı API'si WinForms geliştiricilerine tanıdık gelir — çünkü doğrudan tasarımcı yüzeyine eşlenir. CodeType, BarHeight, ModuleSize, ShowText ve CaptionPosition hepsi kodda aynı şekilde çalışan, tasarımcıya görünebilir özelliklerdir.

C1BarCode, ana hat 1D ve 2D formatlarını kapsayan 38 sembolojiyi destekler: Code 39, Code 128, EAN-8, EAN-13, UPC-A, UPC-E, ITF, QR Code, PDF417 ve DataMatrix ve diğerleri. Barkod üretimi için yaygın kullanım durumlarını kapsar.

Okuma API'si Yok

Bu, bir yapılandırma seçeneğiyle dolacak bir boşluk değildir. C1BarCodeReader sınıfı yok. C1BarCode üzerinde Decode() yöntemi yok. ComponentOne'un barkod kontrolü tasarımla sadece üretim içindir.

Uygulamanızın yüklenen görüntülerden barkodlar taraması, basılı etiketleri doğrulaması, gömülü kodlarla belgeleri işlemesi veya bir web API'sinde QR kodlarından veri çıkarması gerekiyor ise — bunların hiçbiri C1BarCode ile mümkün değildir. Okuma için ayrı bir kütüphane gerekir, bu da aynı zamanda 100'den fazla kontrol içeren bir kurumsal pakette bir barkod üretim bileşeni için neden ödeme yapacağınızı sorusunu gündeme getirir — hem okuma hem de yazma işlemlerini kapsayan bağımsız barkod kütüphaneleri varken neden bir kontrol paketi için ödeme yapasınız?

Okuma API'sinin yokluğu, baskı çıktısı için tasarlanmış WinForms barkod kontrolleri için sıradışı değil. Bir karar noktası haline getiren şey, gereksinimlerin genişlemesi — ve barkod gereksinimleri neredeyse her zaman genişler.

Sadece Windows Kısıtlaması

WinForms ve WPF sürümleri, Windows'a özgü bir hedef çerçeve yapılandırması gerektirir:


<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>

<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
XML

net8.0-windows hedef çerçeve takma adı ve UseWindowsForms isteğe bağlı tercihler değildir. C1.Win.BarCode, yalnızca Windows'ta var olan System.Windows.Forms türlerine — UserControl, PaintEventArgs, Graphics — bağlıdır. net8.0-windows kaldırılması, derlemeyi bozacaktır. ComponentOne, çapraz platform TFMar'ları hedefleyen Blazor ve ASP.NET Core MVC barkod kontrol sürümlerini gönderir, ancak WinForms ve WPF paketleri Windows'a bağımlıdır.

Buna karşılık,IronBarcode platform kısıtlamaları olmaksızın net8.0 (veya desteklenen herhangi bir TFM) hedefler:


<TargetFramework>net8.0</TargetFramework>

<TargetFramework>net8.0</TargetFramework>
XML

Bu, çeşitli pratik senaryolar içinde önemlidir:

  • Linux üzerinde Azure Uygulama Hizmeti: Yeni Uygulama Hizmeti kurulumları için varsayılan plan. net8.0-windows onu hedefleyemez.
  • Docker konteynerları: Linux konteynerları standarttır. Windows konteyneri daha büyüktür, daha pahalıya mal olur ve birçok bulut katmanında mevcut değildir.
  • ASP.NET Core Web API: Sadece Windows'a dağıtılabilen bir barcode üretimi uç noktası, ekip sonunda kaldırmak zorunda kalacaktır.
  • Azure İşlevleri: Tüketim planı Linux'ta çalışır. Bir net8.0-windows hedefi olan bir barkod üreten İşlev, Tüketim planına dağıtılamaz.
  • macOS geliştirme: macOS üzerindeki geliştiriciler, oluşturma mantığını test etmek için bile yerel olarak bir net8.0-windows projesini çalıştıramaz.

Platform kısıtlaması, uygulamanız sadece Windows üzerinde çalışacak olan bir WinForms masaüstü aracıysa bir problem değildir. Linux veya bulut ortamını içeren herhangi bir dağıtım gereksinimi olan an bir problem haline geliyor.

Süit Paketlemesi

C1BarCode kontrolü, WinForms, WPF, Blazor ve ASP.NET için tam ComponentOne kontrol paketini içeren ComponentOne Studio Enterprise'ın bir parçası olarak satılmaktadır. ComponentOne Studio Enterprise fiyatlandırması, geliştirici başına yılda 1.299 dolar (abonelik); Tek platformlu sürümler (WinForms veya WPF) geliştirici başına yılda 799 dolardır.

Bu paket 100'den fazla bileşen içerir: ağlar, grafikler, zamanlayıcılar, giriş kontrolleri, rapor tasarımcıları, harita kontrolleri, göstergeler ve daha fazlası. Eğer veri yoğun bir uygulama oluşturuyorsanız ve bu kontrollerden birçoğuna ihtiyacınız varsa, paket fiyatlandırması mantıklı olabilir. Eğer barkod üretimine ihtiyacınız varsa ve buna rastgele geldiyseniz ve ComponentOne, arama sırasında ortaya çıktıysa, esas olarak bir kontrol için kurumsal bir UI paketi satın alıyorsunuz demektir.

NuGet paketi WinForms (C1.WPF.BarCode, C1.WinUI.BarCode ve diğer platformlar için C1.Blazor.BarCode ile) için C1.Win.BarCode olarak ve ComponentOne Studio aboneliği aracılığıyla lisanslanmıştır. Tüm paketin yanı sıra yalnızca barkod işlevselliği isteyen geliştiriciler için karışık bir barkod lisansi yoktur.

IronBarcode'un fiyat yapısı farklıdır: 749 $'dan başlayan süresiz lisanslamalı tek bir geliştirici (Lite), üç (Plus) için 1.499 $, on için (Professional) 2.999 $, sınırsız geliştirici (Team) için 5.999 $ olan bir bağımsız barkod kütüphanesindeki yerlerini buluyorlar. Hiçbir ağ kontrolü, hiçbir grafik kütüphanesi, hiçbir rapor tasarımcısı yoktur — sadece aradığınız barkod işlevi vardır.

QR Kod Özelleştirme

Her iki kütüphane de özelleştirme seçenekleriyle QR kod oluşturmayı destekler. API stili ö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.Barcode;
using C1.BarCode;
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.Barcode;
using C1.BarCode;
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.Barcode
Imports C1.BarCode
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
$vbLabelText   $csharpLabel

IronBarcode akıcı 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")
$vbLabelText   $csharpLabel

ComponentOne yaklaşımı, bir C1BarCode nesnesi oluşturmayı ve GetImage() çağrılmadan önce bir dizi özelliği ayarlamayı gerektirir. IronBarcode'un QRCodeWriter bir akıcı zincir kullanır — her işlem barkod nesnesini döndürür ve sonunda .SaveAsPng() çağrısını yaparsınız. Yönetilecek bir örnek yoktur.

IronBarcode ayrıca QR kodlarına logo gömme işlemini destekler, C1BarCode ise 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")
$vbLabelText   $csharpLabel

IronBarcode Anlama

IronBarcode, üretim ve okuma işlemlerini kapsayan bağımsız bir .NET barkod kütüphanesidir. NuGet'den (dotnet add package IronBarcode) yüklenir, platform kısıtlamaları olmadan herhangi bir desteklenen .NET TFM hedefler ve Windows, Linux, macOS, Docker, Azure ve AWS Lambda üzerinde çalışır.

Okuma tarafı, PDF belgelerini yerel 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
$vbLabelText   $csharpLabel

Yüksek verimli senaryolar için, BarcodeReaderOptions hız ve doğruluk takasını ve çoklu barkod algılamayı kontrol eder.

// Multi-barcode read with performance options
using IronBarCode;

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = 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,
    ExpectBarcodeTypes = 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,
    .ExpectBarcodeTypes = BarcodeEncoding.Code128 Or BarcodeEncoding.QRCode
}

Dim results = BarcodeReader.Read("warehouse-manifest.jpg", options)
$vbLabelText   $csharpLabel

Üretim, tutarlı statik bir API ile standart formatları kapsar:

// Code 128 generation to file
BarcodeWriter.CreateBarcode("SHIP-20240312-7834", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");

//QR kod üretimito 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 üretimito byte array (for HTTP response)
byte[] qrBytes = QRCodeWriter.CreateQrCode("https://example.com/order/7734", 400)
    .ToPngBinaryData();
Imports System

' 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()
$vbLabelText   $csharpLabel

Desteklenen platformlar: Windows, Linux, macOS, Docker, Azure (App Service ve Fonksiyonlar), AWS Lambda. Desteklenen .NET sürümleri: .NET Framework 4.6.2+, .NET Core 3.1+, ve .NET 5/6/7/8.

Özellik Karşılaştırması

Özellik MESCIUSComponentOne C1BarCode IronBarcode
Barkod oluşturma Evet Evet
Barkod okuma Hayır Evet
QR kod üretimi Evet Evet
QR logo yerleştirme Hayır Evet
Okuma için PDF girişi Geçerli değil (okuma yok) Evet (yerel)
.NET platform hedefi (WinForms/WPF sürümleri) net8.0-windows Herhangi bir TFM (net8.0 vb.)
UseWindowsForms gerekli (WinForms sürümü) Evet Hayır
Linux / Docker dağıtımı Sadece Blazor/ASP.NET MVC sürümleri Evet
macOS dağıtımı Sadece Blazor/ASP.NET MVC sürümleri Evet
Azure Fonksiyonları (Linux) Sadece Blazor/ASP.NET MVC sürümleri Evet
ASP.NET Core sunucu tarafı ASP.NET Core MVC sürümü Evet
Bağımsız NuGet paketi Paketler lisanslı Evet
Bağımsız fiyatlandırma Yok $749'dan başlayan süresiz (Lite)
Paket fiyatlandırması 1.299 $/geliştirici/yıl Enterprise; 799 $/geliştirici/yıl tek platform Yok
Akıcı ü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+ (WinForms/WPF için Windows) .NET Framework 4.6.2+, .NET Core 3.1+, .NET 5–8
Süresiz lisans seçeneği Hayır (abonelik) Evet

API Eşleme Başvurusu

C1BarCode'dan IronBarcode'a geçiş yapan takımlar için bu doğrudan eşitlikler geçerlidir:

ComponentOne C1BarCode IronBarcode
C1.C1License.Key = "..." IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
new C1BarCode() Statik — örnek gerekmez
barcode.CodeType = CodeType.Code128 BarcodeEncoding.Code128 (parametre olarak geçildi)
barcode.Text = "data" BarcodeWriter.CreateBarcode() ilk argümanı
barcode.BarHeight = 100 Barkod yazıcısı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 enum
barcode.QRCodeVersion Otomatik (veya sürüm parametresi)
Okuma API'si yok BarcodeReader.Read(path)
net8.0-windows gerekli net8.0 (veya herhangi bir TFM)
UseWindowsForms = true gerekli Gerekli değil

Takımlar Geçiş Yaptığında

Okuma gereksinimi ortaya çıkar. Bu en yaygın tetikleyicidir. Bir ekip C1BarCode ile barkod etiketi üretimi yapar, ardından taramaları doğrulama, gelen sevkiyat belgelerini işleme veya yüklenen resimlerden QR kodlarını çözme gereksinimi ortaya çıkar. C1BarCode bu konuda yardımcı olamaz. Seçenekler, okuma için ikinci bir barkod kütüphanesi eklemek veya C1BarCode'u her ikisini de idare eden bir kütüphane ile değiştirmektir.

Linux veya Docker dağıtımı. Windows masaüstlerine gönderi yapan bir WinForms masaüstü uygulaması bu kısıtla karşılaşmaz. Barkod görüntüleri oluşturan bir ASP.NET Core API'si bunu yapar — özellikle Linux kabında çalışması veya Linux üzerindeki Azure App Service'e dağıtılması gerekiyorsa. net8.0-windows hedef çerçeve bu dağıtım seçeneklerini hemen engeller.

Mikro Hizmet veya sunucusuz mimari. Azure Fonksiyonları, AWS Lambda ve kapsayıcı mikro hizmetleri öncelikle Linux tabanlıdır. Linux'a dağıtılamayan bir barkod oluşturma hizmeti, geçerli bir mikro hizmet olamaz.

Paket abonelik maliyeti vs. gereksinim kapsamı. ComponentOne Studio Enterprise için ödeme yapan ve zaten ağlarını, grafiklerini ve diğer kontrollerini kullanan ekipler zaten aboneliklerini gerekçelendirmişlerdir. Yalnızca veya tamamen barkod üretimi amacıyla abone olan ekipler, kullanmadıkları 100'den fazla kontrol için ödeme yapıyorlar. Geliştirici başına düşen abonelik maliyeti, ekip büyüklüğü ile birleşir.

Süresiz lisans tercihi. ComponentOne Studio yalnızca aboneliktir. Süresiz lisans seçeneği yoktur. Yazılımı kendileri teslim etmeyi tercih eden ekipler için — özellikle uyumluluk veya uzun vadeli bakım nedenleriyle — IronBarcode'un süresiz lisanslaması (Lite 749 $'dan başlıyor) yapısal olarak farklıdır.

Sonuç

C1BarCode, WinForms bağlamında temiz bir şekilde barkod üretir. Gerçekten de bunu iyi yapar ve sadece Windows'ta etiket üretimine ihtiyaç duyan bir WinForms masaüstü uygulaması için ComponentOne paketinde işlevsel bir seçenektir.

Kapsam burada sona erer. Okuma yok, yalnızca Windows dağıtımı, bağımsız paket yok, abonelik lisanslaması. Bir projenin gereksinimleri Windows üzerinde WinForms üretiminin ötesine geçtiğinde — bir okuma gereksinimi, bir Linux dağıtım hedefi, bir web API, bir Docker konteyneri, bir bulut işlevi — C1BarCode bunları kapsayamaz. IronBarcode, üretim ve okumayı kapsar, .NET'in desteklediği herhangi bir platformda çalışır ve 100 kontrol içeren kurumsal pakete abone olmadan bağımsız bir paket olarak mevcuttur.

Sıkça Sorulan Sorular

GrapeCity Barcode nedir?

GrapeCity Barcode, 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.

GrapeCity Barcode ve IronBarcode arasındaki temel farklar nelerdir?

IronBarcode, örnek yönetimi gerektirmeyen statik, durumsuz bir API kullanırken, GrapeCity Barcode 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, GrapeCity Barcode'den 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, GrapeCity Barcode'un 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 GrapeCity Barcode'a 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.

GrapeCity'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.

GrapeCity Barcode 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.

GrapeCity Barcode'dan IronBarcode'a geçiş kolay mı?

GrapeCity Barcode'dan 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