IRONSOFTWAREHOME
VIDEOLAR

LEADTOOLS Barkod'dan IronBarcode'a Geçiş

Curtis Chau
Curtis Chau
Updated: 1 Ağustos 2026

Bu kılavuz, IronBarcode'a göçün tüm safhalarını kapsar ve .NET geliştiricileri içinLEADTOOLSBarcode'dan nasıl geçileceğini detaylandırır.LEADTOOLSNuGet paketlerinin ve bir yerel çalıştırma bağımlılığının kaldırılmasını, dosya tabanlıLEADTOOLSlisans başlatma dizisinin bir dize anahtarıyla değiştirilmesini veLEADTOOLSokuma ve yazma desenlerinin IronBarcode'un statik akıcı API'sine çevrilmesini ele alır. Her ana geçiş senaryosu için kod örnekleri, bir API eşleme tablosu, yapılandırılmış bir kontrol listesi ve geçiş sırasında ortaya çıkan sorunlara rehberlik içerir.

LEADTOOLS Barcode'dan Niçin Geçilmeli

**Dosya Tabanlı Lisans Dağıtımı:**LEADTOOLSlisanslama, uygulamanın çalıştığı her makinede belirli bir yolda diskte fiziksel olarak bulunması gereken bir .LIC dosyasını gerektirir. Geliştirici iş istasyonları, CI oluşturma ajanları, aşama sunucuları ve üretim konteynerleri, uygulamanın başlatılması için dosyanın sağlanmasını gerektirir. Bu, ortam değişkenlerine, gizli yöneticilere ve CI/CD boru hattı yapılandırmasına sorunsuz uyum sağlayan dize tabanlı sırların operasyonel modelinden temel olarak farklıdır. Bir dağıtım topolojisine eklenen her yeni ortam - yeni bir bulut bölgesi, yeni bir Kubernetes düğüm havuzu, yeni geliştirici katılımı - dize tabanlı lisanslamanın gerektirmediği bir dosya sağlama adımı gerektirir.

**SDK Yükü:**LEADTOOLSbarkod kurulumu, Leadtools, Leadtools.Codecs ve ilgili bağımlılıkları getiren Leadtools.Barcode NuGet paketini gerektirir. PDF barkod çıkarımı Leadtools.Pdf ekler. Windows'ta, MSVC++ 2017 Runtime ayrı bir yerel bağımlılıktır.LEADTOOLSbarkod uygulamasının yayımlanmış çıktısı yaklaşık 148 MB'dir. Sadece barkod okuma veya üretime ihtiyaç duyan uygulamalar, bu özellikler kullanılsın veya kullanılmasın, kapsamlı bir görüntüleme platformunun - OCR altyapısı, format codec mimarisi ve belge görüntüleme yetenekleri - tam ağırlığını taşır.

**Eski API Tasarımı:**LEADTOOLSbarkod işlemleri, herhangi bir iş yapılabilmesi öncesinde belirli bir sırayla birden çok nesne oluşturulmasını gerektirir. Bir barkod okumak için görüntüyü yüklemek için bir RasterCodecs örneği ve taramak için bir BarcodeEngine örneği gerekir, aranacak formatları belirten bir BarcodeSymbology dizisi ile birlikte. Bir barkod oluşturmak için bir BarcodeData nesnesi oluşturmak, belirli piksel parametreleri ile boş bir RasterImage oluşturmak, arka plan rengini FillCommand kullanarak doldurmak, barkodu ona yazmak ve RasterCodecs ile kaydetmek gerekir. Bu API, döneminin tasarım kalıplarını yansıtır.IronBarcode aynı işlemleri, dosya yollarını doğrudan kabul eden statik yöntem çağrılarıyla gerçekleştirmektedir.

Fiyatlandırma Şeffaflığı: Üretim sunucuları içinLEADTOOLSdağıtım lisansları,LEADTOOLSsatışı üzerinden ayrı olarak fiyatlandırılır ve web sitelerinde yayımlanmaz. Geliştirmeye başlamadan önce tam bir maliyet resmi gerektiren ekipler, LEADTOOLS'un bütçelerine uygun olup olmadığını onaylamadan önce satışla görüşmek zorundadır. IronBarcode, geliştirme ve dağıtımı birlikte kapsayan süresiz bir tek seferlik lisans sunar; ayrı bir üretim lisansı gerektirmez.

Temel Sorun

LEADTOOLS başlatma dizisi bir BarcodeEngine oluşturulmadan önce 20+ satır ve dört doğrulama adımı gerektirir. IronBarcode, tüm diziyi tek bir atama ile değiştirir:

// LEADTOOLS: file path, expiry check, three feature lock checks, engine creation
using Leadtools;
using Leadtools.Barcode;

RasterSupport.SetLicense(
    @"C:\LEADTOOLS23\Support\Common\License\LEADTOOLS.LIC",
    "your-developer-key-here");

if (RasterSupport.KernelExpired)
    throw new InvalidOperationException("LEADTOOLS license has expired");

if (RasterSupport.IsLocked(RasterSupportType.Barcode1DRead))
    throw new InvalidOperationException("1D barcode reading is locked");

if (RasterSupport.IsLocked(RasterSupportType.Barcode2DRead))
    throw new InvalidOperationException("2D barcode reading is locked");

if (RasterSupport.IsLocked(RasterSupportType.BarcodeWrite))
    throw new InvalidOperationException("Barcode writing is locked");

var engine = new BarcodeEngine();
// IronBarcode: one line, no file required
using IronBarCode;

IronBarCode.License.LicenseKey = Environment.GetEnvironmentVariable("IRONBARCODE_LICENSE");

IronBarcode vs LEADTOOLS Barcode: Özellik Karşılaştırması

ÖzellikLEADTOOLS BarkodIronBarcode
Lisans modeliDosya + geliştirici anahtarıSadece dize anahtarı
NuGet paketleri gerekli5+1
Yerel çalışma zamanı bağımlılığıMSVC++ 2017 (Windows)None
Yayınlanmış çıktı boyutu~148 MB~39 MB
Toplam desteklenen semboji sayısı40+50+
Barkod formatını otomatik algılamaSınırlıEvet
PDF barkod çıkarımıAyrı paket gerekliYerleşik
ML hata düzeltmesiHayırEvet
QR kodu logo markalamaHayırEvet
Docker dağıtımıDosya montajı gerekliÇevre değişkeni
Başlatma kodu20+ satır1 satır
API stiliEski nesne grafiğiStatik akışkan
Çapraz platformKısmi (yerel bağımlılıklar)Tam (.NET Standard)
Dağıtım lisansı fiyatlandırmasıSatışla iletişim (yayımlanmamıştır)Süresiz satın alıma dahildir

Hızlı Başlangıç:LEADTOOLSBarkoddan IronBarcode'a Geçiş

Adım 1:LEADTOOLSPaketlerini Kaldırın

Projeden tümLEADTOOLSpaketlerini kaldırın:

dotnet remove package Leadtools.Barcode
dotnet remove package Leadtools
dotnet remove package Leadtools.Codecs
dotnet remove package Leadtools.Codecs.Png
dotnet remove package Leadtools.Codecs.Jpeg
SHELL

Barkod çıkarımı için PDF codec eklendiyse:

dotnet remove package Leadtools.Pdf
SHELL

Windows Server dağıtımlarında, geçiş tamamlandıktan sonra MSVC++ 2017 Runtime sağlama betiklerinden kaldırılabilir.IronBarcode herhangi bir platformda yerel çalışma zamanı bağımlılığı gerektirmez.

2. Adım: IronBarcode'u Kurun

dotnet add package IronBarcode
SHELL

Bu tek paket, tüm görüntü formatı desteği, yerel PDF barkod çıkarımı, ML hata düzeltmesi ve desteklenen50+semboji içerir. Ek codec paketleri gerekli değildir.

3. Adım: Lisansı Başlatma

LEADTOOLS başlatma bloğunu tek bir satırla değiştirin. Kod tabanında RasterSupport.SetLicense'e yapılan her çağrıyı bulun — tipik olarak uygulama başlangıcında tam olarak bir tane olacaktır — ve çevresindeki tüm başlatma dizisini değiştirin:

// Before: entireLEADTOOLSinitialization block (20+ lines)
// After:
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";
C#

Lisans anahtarı, herhangi bir dizgi yeteneğine sahip yapılandırma mekanizmasından elde edilebilir: bir ortam değişkeni, appsettings.json, Azure Key Vault, AWS Secrets Manager veya bir Kubernetes sırrı. Ortam tabanlı lisans yapılandırması, Docker dağıtım desenleri ve desteklenen tüm yapılandırma yaklaşımları için, lisans anahtar kurulumu dokümantasyonuna bakın.

Kod Göç Örnekleri

Görüntülerden Barcode Okuma

LEADTOOLS, görüntü yüklemeyi barkod taramadan iki ayrı obje katmanına ayırır. Bir RasterCodecs örneği görüntü dosyasını RasterImage içine yükler ve bir BarcodeEngine örneği onu tarar. Arayan kişi ayrıca BarcodeSymbology değerlerinin açık bir dizisini sağlamak zorundadır. dizide listelenmeyen formatlar algılanmayacaktır.

LEADTOOLS Yaklaşımı:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

using var codecs = new RasterCodecs();
using var image = codecs.Load("scan.png");

var engine = new BarcodeEngine();

var symbologies = new[]
{
    BarcodeSymbology.Code128,
    BarcodeSymbology.Code39,
    BarcodeSymbology.QR,
    BarcodeSymbology.DataMatrix,
    BarcodeSymbology.EAN13,
    BarcodeSymbology.UPCA
};

var barcodes = engine.Reader.ReadBarcodes(
    image,
    LogicalRectangle.Empty,
    0,
    symbologies);

foreach (var barcode in barcodes)
    Console.WriteLine($"{barcode.Symbology}: {barcode.Value}");

IronBarcode Yaklaşımı:

using IronBarCode;

var results = BarcodeReader.Read("scan.png");

foreach (var result in results)
    Console.WriteLine($"{result.Format}: {result.Value}");

IronBarcode, dosya yolunu doğrudan kabul eder, görüntüyü dahili olarak yükler ve çağrı yapanın beklenen türleri belirlemesini gerektirmeden, desteklenen tüm50+sembolojilerde formatları otomatik algılar. Gelişmiş yapılandırma için — okuma hızını ayarlama, çoklu barkod algılama ve düşük kaliteli görüntü işleme — görüntülerden barkod okuma kılavuzuna bakın.

Bir Code 128 Barkodu Oluşturma

LEADTOOLS üretimi bir BarcodeData nesnesi oluşturmayı, belirli bellek bayrakları, piksel derinliği ve bayt sırasıyla boş bir RasterImage ayırmayı, görüntüyü bir arka plan rengiyle doldurmayı, barkodu ona yazmayı ve ardından RasterCodecs ile kaydetmeyi gerektirir. IronBarcode, bu adımların tümünü tek bir akıcı yöntem zinciriyle gerçekleştirir.

LEADTOOLS Yaklaşımı:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

var engine = new BarcodeEngine();

var barcodeData = new BarcodeData()
{
    Symbology = BarcodeSymbology.Code128,
    Value = "ITEM-98765",
    Bounds = new LeadRect(0, 0, 500, 120)
};

using var image = new RasterImage(
    RasterMemoryFlags.Conventional,
    500, 120, 24,
    RasterByteOrder.Bgr,
    RasterViewPerspective.TopLeft,
    null, IntPtr.Zero, 0);

new FillCommand(RasterColor.White).Run(image);
engine.Writer.WriteBarcode(image, barcodeData, null);

using var codecs = new RasterCodecs();
codecs.Save(image, "item-barcode.png", RasterImageFormat.Png, 0);

IronBarcode Yaklaşımı:

using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-98765", BarcodeEncoding.Code128)
    .ResizeTo(500, 120)
    .SaveAsPng("item-barcode.png");

Boyutlandırma, stil ayarlama, kenar boşluğu kontrolü ve desteklenen çıktı formatlarıyla ilgili tam bir geçiş için barkod görüntüleri oluşturma kılavuzuna başvurun.

Logo Markası ile QR Kodu Oluşturma

LEADTOOLS QR kodu oluşturma, diğer barkod türleri gibi aynı çok adımlı RasterImage oluşturma modelini izler. IronBarcode, bir QR kodunun merkezine logo yerleştirmek için özel bir AddBrandLogo yöntemi ile QRCodeWriter sağlar.

LEADTOOLS Yaklaşımı:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

var engine = new BarcodeEngine();

var qrData = new BarcodeData()
{
    Symbology = BarcodeSymbology.QR,
    Value = "https://example.com/product/12345",
    Bounds = new LeadRect(0, 0, 400, 400)
};

using var image = new RasterImage(
    RasterMemoryFlags.Conventional,
    400, 400, 24,
    RasterByteOrder.Bgr,
    RasterViewPerspective.TopLeft,
    null, IntPtr.Zero, 0);

new FillCommand(RasterColor.White).Run(image);
engine.Writer.WriteBarcode(image, qrData, null);

using var codecs = new RasterCodecs();
codecs.Save(image, "product-qr.png", RasterImageFormat.Png, 0);

IronBarcode Yaklaşımı:

using IronBarCode;

QRCodeWriter.CreateQrCode("https://example.com/product/12345", 400, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("brand-logo.png")
    .SaveAsPng("product-qr.png");

PDF Belgelerinden Barkod Çıkarma

LEADTOOLS PDF barkod çıkarma, ayrı bir Leadtools.Pdf paketi, açık PDF yükleme yapılandırması, manuel bir sayfa sayısı sorgusu ve her sayfa üzerinde bir döngü gerektirir. Her sayfa tarama öncesi bireysel olarak bir RasterImage olarak yüklenmelidir. IronBarcode, temel paket içinde PDF desteği sunar ve sayfa yinelemesini dahili olarak ele alır.

LEADTOOLS Yaklaşımı:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

// Requires: dotnet add package Leadtools.Pdf
using var codecs = new RasterCodecs();
codecs.Options.Pdf.Load.Resolution = 300;
codecs.Options.Pdf.Load.DisplayDepth = 24;

var engine = new BarcodeEngine();
var results = new List<string>();
int pageCount = codecs.GetTotalPages("shipment.pdf");

for (int page = 1; page <= pageCount; page++)
{
    using var image = codecs.Load(
        "shipment.pdf", 0,
        CodecsLoadByteOrder.BgrOrGray,
        page, page);

    var barcodes = engine.Reader.ReadBarcodes(
        image, LogicalRectangle.Empty, 0, null);

    foreach (var barcode in barcodes)
        results.Add($"Page {page}: {barcode.Value}");
}

IronBarcode Yaklaşımı:

using IronBarCode;

var results = BarcodeReader.Read("shipment.pdf");

foreach (var result in results)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");

Docker Dağıtımı

LEADTOOLS Docker dağıtımını tanımlayan dosya yönetimi gereksinimi, IronBarcode'a geçiş yapıldığında tamamen ortadan kalkar.

LEADTOOLS Yaklaşımı:

FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /app
COPY publish/ .

# License file must be physically present in the container image
COPY LEADTOOLS.LIC /app/license/LEADTOOLS.LIC

ENV LEADTOOLS_LICENSE_PATH=/app/license/LEADTOOLS.LIC
ENV LEADTOOLS_DEVELOPER_KEY=your-developer-key

ENTRYPOINT ["dotnet", "YourApp.dll"]
Text

IronBarcode Yaklaşımı:

FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /app
COPY publish/ .

ENV IRONBARCODE_LICENSE=your-license-key

ENTRYPOINT ["dotnet", "YourApp.dll"]
Text

Lisans anahtarı, Docker sırları, Kubernetes sırları veya herhangi bir ortam değişkeni mekanizması aracılığıyla konteyner çalışma zamanında enjekte edilir. Herhangi bir dosya sağlama adımı gerekli değildir. Docker ve Linux dağıtım kılavuzu, Alpine ve Debian tabanlı görüntüler, çok aşamalı derlemeler ve Kubernetes dağıtım desenlerini kapsar.

LEADTOOLS Barkod API'den IronBarcode Haritalama Referansı

LEADTOOLSIronBarcodeNotlar
RasterSupport.SetLicense(path, key)IronBarCode.License.LicenseKey = "key"Sadece anahtar - dosya yok
RasterSupport.KernelExpired(removed)Sona erme kontrolü gerekmez
RasterSupport.IsLocked(RasterSupportType.Barcode1DRead)(removed)Tüm özellikler dahildir
RasterSupport.IsLocked(RasterSupportType.Barcode2DRead)(removed)Tüm özellikler dahildir
RasterSupport.IsLocked(RasterSupportType.BarcodeWrite)(removed)Tüm özellikler dahildir
new BarcodeEngine()Statik — örnek yokBarcodeReader, BarcodeWriter statiktir
new RasterCodecs()(removed)Dosya yolunu doğrudan geçir
codecs.Load(imagePath)(removed)Dosya yolunu doğrudan geçir
engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, symbologies)BarcodeReader.Read(imagePath)Sembolojileri otomatik algılar
BarcodeData.Valueresult.ValueAynı özellik adı
BarcodeData.Symbologyresult.FormatÖzellik yeniden adlandırıldı
new BarcodeData() { Symbology = BarcodeSymbology.Code128 }BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)Akıcı oluşturma
BarcodeSymbology.Code128BarcodeEncoding.Code128Namespace değişikliği
BarcodeSymbology.QRBarcodeEncoding.QRCodeAd değişikliği
BarcodeSymbology.DataMatrixBarcodeEncoding.DataMatrixAynı ad
BarcodeSymbology.PDF417BarcodeEncoding.PDF417Aynı ad
BarcodeSymbology.EAN13BarcodeEncoding.EAN13Aynı ad
BarcodeSymbology.UPCABarcodeEncoding.UPCAAynı ad
BarcodeSymbology.Interleaved2of5BarcodeEncoding.Interleaved2of5Aynı ad
BarcodeSymbology.CodabarBarcodeEncoding.CodabarAynı ad
engine.Writer.WriteBarcode(image, data, null) + codecs.Save(...).SaveAsPng(path)Bir yöntem zinciri
new RasterImage(...) + new FillCommand(RasterColor.White).Run(image)(removed)IronBarcode içinde dahili

Yaygın Göç Sorunları ve Çözümleri

Sorun 1: .LIC Dosyası Referansları CI/CD'de

**LEADTOOLS:**LEADTOOLSuygulamalarını derleyen veya dağıtan CI/CD boru hatları, .LIC dosyasını sağlamalıdır — kaynak kontrole ekleyerek, bir base64 sırrından kod çözerek veya bir hacim eseri olarak monte ederek. Uygulamayı çalıştıran her bir hat aşaması dosyaya erişilebilir olmalıdır.

Çözüm: Tüm .LIC dosya işlemlerini boru hattından çıkartın. Bir dizgi sırrı ile değiştirin:

# Example: GitHub Actions environment variable
env:
  IRONBARCODE_LICENSE: ${{secrets.IRONBARCODE_LICENSE}}
Text

Dize değeri, CI/CD sır deposunda diğer dize değerli kimlik bilgileriyle birlikte depolanır. Herhangi bir dosya çözümleme, yapıt sağlama veya hacim yapılandırması gerekli değildir.

Sorun 2: Windows'ta MSVC++ Çalışma Zamanı Bağımlılığı

LEADTOOLS: Windows Server dağıtımları, ana bilgisayarda MSVC++ 2017 Runtime kurulumunu gerektirir.LEADTOOLSdağıtımları için kullanılan sağlama betikleri, konteyner tabanlı görüntüler ve Windows AMI'leri genellikle bu çalışma zamanını yüklemek için bir adım içermektedir.

Çözüm: Tüm Windows sağlama betiklerinden ve konteyner görüntülerinden MSVC++ 2017 Runtime kurulum adımını kaldırın. IronBarcode'un yerel çalışma zamanı bağımlılığı yoktur. dotnet/aspnet taban görüntüsü, ek çalışma zamanında paketlere gerek olmadan yeterlidir.

Sorun 3: RasterSupportType Özellik Kilidi Kontrolleri

LEADTOOLS: Başlatma dizisi, her barkod özelliği için Barcodes1D, Barcodes2D ve BarcodeWrite gibi RasterSupport.IsLocked() kontrollerini içerir. Bu kontroller, lisans dosyasının her gerektiğinde kapsayıcılığı doğrulamak içinLEADTOOLSmimarisi tarafından zorunlu savunma kodudur.

Çözüm: Tüm RasterSupport.IsLocked() çağrılarını kaldırın. IronBarcode, tüm okuma ve yazma kabiliyetlerini tek bir lisans içinde içerir. Herhangi bir özellik kilidi durumu bulunmamaktadır ve herhangi bir özellik doğrulama adımı gerekmez:

// Remove these lines entirely:
// if (RasterSupport.IsLocked(RasterSupportType.Barcode1DRead)) ...
// if (RasterSupport.IsLocked(RasterSupportType.Barcode2DRead)) ...
// if (RasterSupport.IsLocked(RasterSupportType.BarcodeWrite)) ...

Sorun 4: BarcodeSymbology Dizisi Kaldırma

LEADTOOLS: engine.Reader.ReadBarcodes()'e yapılan her çağrı açık bir BarcodeSymbology[] parametresi gerektirir. Semboji dizisinde listelenmeyen barkodlar algılanmayacaktır, bu da yeni bir barkod türü bir giriş belgesinde tanıtıldığında sessiz başarısız okumayla sonuçlanabilir.

Çözüm: Semboji dizisini kaldırın. BarcodeReader.Read(), desteklenen tüm formatları otomatik olarak algılar. Bilinen bir format seti için performans ayarlaması gerekiyorsa, BarcodeReaderOptions, kapsamlı bir listeleme gerektirmeden isteğe bağlı ipuçları sunar:

// Optional: hint the reader for performance in format-known scenarios
var options = new BarcodeReaderOptions
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128 | BarcodeEncoding.QRCode
};
var results = BarcodeReader.Read("scan.png", options);

LEADTOOLS Barkod Geçiş Kontrol Listesi

Geçiş Öncesi Görevler

Herhangi bir değişiklik yapmadan önce tümLEADTOOLSkullanımını kod tabanında denetleyin:

grep -r "using Leadtools" --include="*.cs" .
grep -r "RasterSupport\|BarcodeEngine\|RasterCodecs" --include="*.cs" .
grep -r "BarcodeSymbology\|BarcodeData\|RasterImage" --include="*.cs" .
grep -r "LEADTOOLS.LIC\|SetLicense\|KernelExpired" --include="*.cs" .
grep -r "COPY LEADTOOLS.LIC\|LEADTOOLS_LICENSE_PATH" --include="*.dockerfile" --include="Dockerfile" .
SHELL

Başlatma bloklarının, okuma çağrı noktalarının, yazma çağrı noktalarının ve Dockerfile referanslarının sayısını ve konumunu belgelemeden kod değişikliklerine başlamayın.

Kod Güncelleme Görevleri

  1. Tüm beşLEADTOOLSNuGet paketini (ve varsa PDF codec'ini) kaldırın
  2. IronBarcode'i dotnet add package IronBarcode aracılığıyla yükleyin
  3. Tüm using Leadtools.* ad alanı içe aktarımlarını using IronBarCode ile değiştirin
  4. Tüm RasterSupport.SetLicense başlatma bloğunu IronBarCode.License.LicenseKey = "key" ile değiştirin
  5. Tüm RasterSupport.KernelExpired kontrollerini kaldırın
  6. Tüm RasterSupport.IsLocked(RasterSupportType.*) kontrollerini kaldırın
  7. Tüm new BarcodeEngine() örneklemelerini kaldırın
  8. Barkod kod yollarındaki tüm new RasterCodecs() örneklemelerini kaldırın
  9. codecs.Load(path) + engine.Reader.ReadBarcodes(image, ...)'yi BarcodeReader.Read(path) ile değiştirin
  10. new BarcodeData(...) + new RasterImage(...) + FillCommand + WriteBarcode + codecs.Save()'yi BarcodeWriter.CreateBarcode(...).SaveAsPng(path) ile değiştirin
  11. BarcodeSymbology.* numaralandırma referanslarını BarcodeEncoding.* ile değiştirin (not: QR, QRCode olur)
  12. Tüm Dockerfile'lardan COPY LEADTOOLS.LIC satırlarını kaldırın
  13. Dockerfile'lardan ve dağıtım yapılandırmasından LEADTOOLS_LICENSE_PATH ve LEADTOOLS_DEVELOPER_KEY ortam değişkeni beyanlarını kaldırın
  14. Dockerfile'lara ve sır yapılandırmasına IRONBARCODE_LICENSE ortam değişkeni ekleyin
  15. Windows sağlama betiklerinden MSVC++ 2017 Runtime kurulumunu kaldırın

Geçiş Sonrası Testler

  • Tüm daha önce BarcodeSymbology[] dizisi tarafından kapsanan semboloji türlerinde barkod okuma işlemlerinin beklenen değerler döndüğünü doğrulayın
  • Kod 128, QR kodu ve diğer üretilen barkod türlerinin geçerli, taranabilir çıktılar ürettiğini doğrulayın
  • Leadtools.Pdf olmadan PDF barkod çıkarımının doğru çalıştığını doğrulayın
  • Herhangi bir .LIC dosyası monte edilmeden kapsayıcı görüntüsünü oluşturun ve başlatın ve uygulamanın doğru şekilde başlatıldığını doğrulayın
  • .LIC dosya sağlama adımı olmadan CI/CD boru hattını çalıştırın ve tüm aşamaların başarıyla tamamlandığını doğrulayın
  • Yayımlanmış çıktı boyutunun ve konteyner görüntüsü çekme süresinin iyileştiğini doğrulayın

IronBarcode'a Geçmenin Temel Faydaları

Basitleştirilmiş Dağıtım Mimarisi: Geçişten sonra, her ortam — geliştirme, CI, aşama, üretim — API anahtarları, veritabanı şifreleri ve diğer kimlik bilgileri için kullanılan aynı dize değerli sır mekanizması ile lisansı alır. Herhangi bir dosya sağlama, yapıt yönetimi veya hacim montajı gerekli değildir. Yeni bir dağıtım ortamı eklemek, başka bir sır eklemekle aynı işlemdir.

Azaltılmış Bağımlılık Yüzeyi: Bir NuGet paketi beşini ve MSVC++ 2017 Runtime gereksinimi ortadan kaldırılır. Bir barkod hizmetinin yayımlanmış çıktısı yaklaşık 148 MB'den yaklaşık 39 MB'ye düşer. Daha küçük görüntüler, daha hızlı konteyner çekimlerini, konteyner kayıt defterlerinde daha düşük depolama maliyetlerini ve sunucusuz ve otomatik ölçeklendirme ortamlarında soğuk başlatma sürelerinin azalmasını sağlar.

**Basit Uygulama Başlangıcı:**LEADTOOLSbaşlatma dizisi — dosya yolu çözünürlüğü, süresi dolmuş doğrulama ve üç özellik kilidi kontrolü — tek bir çizgi ile değiştirilir. Uygulama başlangıcı daha hızlı olur ve başlatma kod yolu, yeni bir ortamda başarısız olabilecek dosya sistemi bağımlılığına sahip değildir.

Kapsamlı Format Algılama: IronBarcode, beklenen formatları arayanın belirtmesini gerektirmeden, desteklenen tüm50+sembolojilerde okur.LEADTOOLSBarcodeSymbology[] dizisinden bir sembolojinin atlanması nedeniyle sessizce kaçırılan okumalar riskini ortadan kaldırır. Bir giriş belgesinde yeni bir barkod türü göründüğünde,IronBarcode bunu kod değişikliği gerektirmeden algılar.

Öngörülebilir Toplam Maliyet: Tek bir süresiz lisans satın alımı, geliştirme, test etme ve sınırsız üretim dağıtımı için herhangi bir dağıtım takibi, yıllık yenileme gereksinimi ve ayrı bir üretim lisansı edinebileceği gerektirmeden kapsar. Takımlar, bir satış görüşmesi yapmadan, kitaplığın tam maliyetini geliştirmeye başlamadan önce doğrulayabilir.

Modern API Tasarımı: BarcodeReader.Read() ve BarcodeWriter.CreateBarcode(), dosya yollarını doğrudan kabul eden statik giriş noktalarıdır. LEADTOOLS'un okuma ve yazma gerektirdiği çok katmanlı nesne oluşturma — codec örnekleri, motor örnekleri, görüntü ayırma, arka plan doldurma — dahili olarak ele alınır. Barkod okuma ve oluşturma kodu daha kısa, daha kolay gözden geçirilebilir ve daha kolay test edilebilir.

Lütfen dikkate alın: LEADTOOLS ilgili sahibinin tescilli markasıdır. Bu site, LEAD Technologies ile bağlantılı veya sponsorluğu altında değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez