IRONSOFTWAREHOME
FILMY

Migracja z SDK barKoder do IronBarcode

Curtis Chau
Curtis Chau
Updated: 20 czerwca 2026

Barkoder dostarcza oficjalne pakiety .NET — Plugin.Maui.Barkoder i Barkoder.Xamarin — jednak oba są ściśle mobilnymi komponentami do skanowania kamerą. Jeśli oceniałeś barKoder dla jego algorytmu MatrixSight, trybu DeBlur, wykrywania wielu kodów kreskowych lub wsparcia DPM, a następnie odkryłeś, że potrzebujesz wejścia plikowego, przetwarzania PDF, wdrożenia serwerowego lub generowania kodów kreskowych, żaden z nich nie jest dostępny w barKoder na .NET. Niniejszy przewodnik pokazuje, jak IronBarcode pokrywa każdy z tych wymagań, dostarczając działający kod dla każdego scenariusza.

Dlaczego migrować z SDK barKoder

Zespoły, które przechodzą z oceny barKoder na IronBarcode, konsekwentnie zgłaszają te same źródła motywacji:

Tylko powierzchnia aparatu mobilnego: Obszar .NET Barkoder to Plugin.Maui.Barkoder (v1.6.8, marzec 2026) i Barkoder.Xamarin (v1.3.0). Oba obejmują natywne SDK dla iOS / Androida i udostępniają kontrolkę kamerą BarkoderView. Brak jest uniwersalnej biblioteki Barkoder.NET, brak wsparcia dla ASP.NET Core, nie obsługują także celów konsolowych / roboczych / desktopowych oraz serwerów Linux.

Architektura tylko do odczytu: Barkoder to zestaw SDK przeznaczony wyłącznie do skanowania. Jeśli Twoja aplikacja wymaga generowania kodów kreskowych — drukowania etykiet wysyłkowych, tworzenia kodów QR na opakowaniach, osadzania kodów w dokumentach — Barkoder nie oferuje żadnych rozwiązań. Zespoły, które w trakcie projektu odkrywają potrzebę generowania kodu, potrzebują biblioteki, która obejmuje obie strony procesu.

Brak przetwarzania plików PDF: W aplikacjach Enterprise .NET BarCodes często pojawiają się w dokumentach PDF — fakturach, listach przewozowych, dokumentacji medycznej, dokumentach dotyczących zgodności. Barkoder nie ma pojęcia o tym przepływie pracy. Jest przeznaczony do obsługi obrazu z kamery na żywo na urządzeniu mobilnym i nie obsługuje plików PDF.

Brak wdrażania po stronie serwera: Model przetwarzania Barkoder opiera się na skanowaniu mobilnym na urządzeniu. Nie może działać w ASP.NET Core, Azure Functions, kontenerach Docker ani AWS Lambda. Zespoły tworzące serwerowe interfejsy API BarCode, potoki przetwarzania dokumentów lub funkcje w chmurze nie mają możliwości wdrożenia Barkoder.

Brak plikowego / strumieniowego wejścia: Nawet wewnątrz aplikacji MAUI, BarkoderView przetwarza jedynie klatki z kamery na żywo. Brak opcji ścieżki do pliku, tablicy bajtów lub przeciążenia Stream, więc przetwarzanie przesłanego obrazu lub zdjęcia z galerii wymaga innej biblioteki.

Podstawowa granica

Powierzchnia MAUI Barkodera jest związana z kamerą. Deweloper .NET używający Plugin.Maui.Barkoder pisze kod wyglądający następująco:

// dotnet add package Plugin.Maui.Barkoder
using Barkoder.Maui;

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

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

IronBarcode zapewnia API pliku/strumienia/PDF dla tych samych danych:

// dotnet add package BarCode
using IronBarCode;

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

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("scanned-label.png", options);
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format} | Value: {result.Value}");
}

Porównanie funkcji: SDK IronBarcode vs barKoder

FunkcjaSDK barKoderIronBarcode
.NET / C# APIMAUI / Xamarin UI kamery tylkoPełna powierzchnia .NET
Pakiet NuGetPlugin.Maui.Barkoder, Barkoder.XamarinBarCode
Odzyskiwanie uszkodzonych kodów BarCodeMatrixSight / DeBlurReadingSpeed.ExtremeDetail + ML
Wykrywanie wielu BarCodesTakExpectMultipleBarcodes = true
DataMatrix / DPMTak (tylko do odczytu)Tak — przeczytaj i wygeneruj
Kod QRTak (tylko do odczytu)Tak — przeczytaj i wygeneruj
PDF417TakTak
AztecTakTak
Code128, Code39, EANTakTak — ponad 50 formatów
Generowanie kodów kreskowychNonePełna wersja — wszystkie formaty
Przetwarzanie plików PDFNoneJęzyk ojczysty
Wejście pliku/strumienia/tablicy bajtówBrak — tylko ramki kameryTak
ASP.NET CoreNonePełna
Docker / LinuxNonePełna
Azure FunctionsNonePełna
AWS LambdaNonePełna
Tryb offline / Air-GappedNa urządzeniuW pełni zlokalizowane
Async / AwaitOparte na wywołaniach zwrotnychPełna
Wstrzykiwanie zależnościNonePełna DI .NET
iOS poprzez MAUIPlugin.Maui.Barkoder (interfejs użytkownika kamery)Programatyczne (plik/strumień)
Android poprzez MAUIPlugin.Maui.Barkoder (interfejs użytkownika kamery)Programatyczne (plik/strumień)
CenyRoczna subskrypcjaOd 749 USD (licencja wieczysta)

Szybki start: migracja z SDK barKoder do IronBarcode

Krok 1: Zastąp pakiet NuGet

Zainstaluj IronBarcode:

dotnet add package BarCode

Jeśli twój projekt używa Plugin.Maui.Barkoder lub Barkoder.Xamarin tylko dla przepływów bez kamery (lub przechodzisz całkowicie na przetwarzanie plików / PDF), usuń go:

dotnet remove package Plugin.Maui.Barkoder
SHELL

Jeśli aplikacja nadal potrzebuje interfejsu użytkownika kamery na żywo, zachowaj Plugin.Maui.Barkoder i dodaj IronBarcode w celu pracy z plikami / PDF / generowaniem.

Krok 2: Aktualizacja przestrzeni nazw

Usuń przestrzeń nazw barKoder tam, gdzie nie jest już potrzebna, i dodaj przestrzeń nazw IronBarcode:

// Remove (if no longer needed)
// using Barkoder.Maui;

// Add
using IronBarCode;

Krok 3: Inicjalizacja licencji

Dodaj inicjalizację licencji podczas uruchamiania aplikacji — w Program.cs dla ASP.NET Core, lub przed każdym działaniem na kodach kreskowych w aplikacjach konsolowych lub desktopowych:

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

Przykłady migracji kodu

Odczytywanie BarCodes z obrazów

Podstawowy scenariusz odczytu mapuje się z ramek kamery barKoder na API IronBarcode pliku/strumienia/tablicy bajtów.

Podejście barKoder MAUI:

// dotnet add package Plugin.Maui.Barkoder
using Barkoder.Maui;

public partial class ScanPage : ContentPage, IBarkoderDelegate
{
    public ScanPage()
    {
        InitializeComponent();
        BarkoderView.StartScanning(this);
    }

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

Podejście IronBarcode:

// dotnet add package BarCode
using IronBarCode;

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

var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}

Funkcja BarcodeReader.Read()IronBarcode automatycznie rozpoznaje format kodu kreskowego bez konieczności wcześniejszego jego określania. To samo wywołanie działa w przypadku obrazów przechwyconych przez urządzenie mobilne i przesłanych na serwer, obrazów załadowanych z systemu plików lub obrazów otrzymanych jako tablice bajtów ze strumienia. Aby uzyskać wyczerpujące informacje na temat odczytu, zapoznaj się z przewodnikiem odczytu IronBarcode.

Odzyskiwanie uszkodzonych BarCodes (odpowiednik trybu DeBlur)

Tryb DeBlur aplikacji Barkoder jest jedną z jej najczęściej wymienianych funkcji.IronBarcode zapewnia ekwiwalent dla wejścia plikowego przez ReadingSpeed.ExtremeDetail.

Podejście barKoder MAUI:

// Live camera scanning with DeBlur enabled via configuration
using Barkoder.Maui;

BarkoderView.SetEnabledBarcodeTypes(/* configure formats */);
BarkoderView.StartScanning(this);

public void DidFinishScanning(BarcodeResult[] result)
{
    foreach (var r in result)
        Console.WriteLine($"Recovered: {r.TextualData}");
}

Podejście IronBarcode:

using IronBarCode;

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

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered barcode: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}

ReadingSpeed.ExtremeDetail uruchamia opartą na ML linię analizy obrazu z wieloma porządkami, stosując korekcję kontrastu, wyostrzanie, korekcję rotacji i odzyskiwanie uszkodzeń przed próbą dekodowania. Dla przepływów wsadowych używaj ReadingSpeed.Balanced jako domyślnego i przejdź na ExtremeDetail tylko dla obrazów, których Balanced nie uda się dekodować.

Wykrywanie wielu BarCodes

Skanowanie wielu kodów kreskowych na klatkę przez Barkoder odpowiada opcji ExpectMultipleBarcodes w IronBarcode, która działa zarówno na obrazach, jak i na plikach PDF.

Podejście barKoder MAUI:

// Live camera frame returns BarcodeResult[]; multi-scan configured on the view
using Barkoder.Maui;

BarkoderView.StartScanning(this);

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

Podejście IronBarcode:

using IronBarCode;

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

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works identically on images and PDFs
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}

Jest to pojedyncze wywołanie metody. Brak wyodrębniania stron, brak wielokrotnych żądań, brak obciążenia związanego z przetwarzaniem poszczególnych BarCode'ów. Plik PDF jest odczytywany natywnie.

Generowanie i odczytywanie kodów DataMatrix

Barkoder odczytuje kody DataMatrix, ale nie może ich generować.IronBarcode obejmuje obie strony procesu, co jest powszechnym wymogiem w przemysłowych systemach śledzenia.

Podejście barKoder MAUI:

// Camera-only DataMatrix scanning; no generation available
using Barkoder.Maui;

BarkoderView.StartScanning(this);

public void DidFinishScanning(BarcodeResult[] result)
{
    foreach (var r in result)
        Console.WriteLine($"Part ID: {r.TextualData}");
}

Podejście IronBarcode:

using IronBarCode;

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

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-SN-20240315-A42291", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Read DataMatrix from a scanned industrial part image
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("etched-part-photo.png", options);
foreach (var result in results)
{
    Console.WriteLine($"Part Serial: {result.Value}");
    Console.WriteLine($"Barcode Type: {result.Format}");
}

Pełna lista obsługiwanych formatów kodowania i opcji generowania znajduje się w dokumentacji dotyczącej generowania BarCode.

Generowanie kodów QR z brandingiem

Barkoder nie generuje barcode'ów.IronBarcode generuje kody QR z osadzonymi logo, co jest powszechnym wymaganiem w procesach marketingowych, pakowania i identyfikacji produktów.

Podejście barKoder MAUI:

Not available — Plugin.Maui.Barkoder is a reader-only SDK with no
generation API on any platform.
Text

Podejście IronBarcode:

using IronBarCode;

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

// QR code with brand logo embedded at centre
QRCodeWriter.CreateQrCode("https://parts.example.com/product/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

Punkt końcowy API BarCode ASP.NET Core

Barkoder nie posiada modelu wdrożenia po stronie serwera. Odpowiednik mobilnego punktu końcowego do skanowania i przesyłania danych — odbierającego obraz z dowolnego klienta i zwracającego dane BARCODE — wymaga biblioteki .NET.

Podejście barKoder:

Not available — Plugin.Maui.Barkoder runs only inside a MAUI app head
against a live camera. There is no ASP.NET Core integration and no
server-side execution model.
Text

Podejście IronBarcode:

// In Program.cs
using IronBarCode;

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

app.MapPost("/api/scan", async (IFormFile file) =>
{
    using var stream = file.OpenReadStream();
    var imageBytes = new byte[stream.Length];
    await stream.ReadAsync(imageBytes);

    var options = new BarcodeReaderOptions
    {
        Speed = ReadingSpeed.Balanced,
        ExpectMultipleBarcodes = true,
    };

    var results = BarcodeReader.Read(imageBytes, options);

    return Results.Ok(results.Select(r => new
    {
        Value = r.Value,
        Format = r.Format.ToString(),
    }));
});

Odnośnik mapowania API SDK barKoder do IronBarcode

Ta tabela mapuje powierzchnię MAUI/Xamarin Barkodera na odpowiednie wywołanie IronBarcode:

API barKoderOdpowiednik IronBarcode
Ustawienie licencji poprzez portal/kokpit barKoderIronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
Konfiguracja DeBlur na BarkoderViewSpeed = ReadingSpeed.ExtremeDetail
Konfiguracja wielokrotnego skanowania na BarkoderViewExpectMultipleBarcodes = true
SetEnabledBarcodeTypes(...)BarcodeEncoding.<Format> (automatycznie wykrywana podczas odczytu)
BarkoderView.StartScanning(IBarkoderDelegate)BarcodeReader.Read("image.png") — synchroniczne
BarcodeResult.TextualDataresult.Value
BarcodeResult.BarcodeTypeNameresult.Format
MatrixSight – odzyskiwanie danych po awariiReadingSpeed.ExtremeDetail z wstępną obróbką ML
Wejście z ramki kamery na żywoŚcieżka do pliku / Stream / wejście byte[]
Przetwarzanie na urządzeniuW pełni lokalne — bez połączeń sieciowych
Brak obsługi generacjiBarcodeWriter.CreateBarcode() / QRCodeWriter.CreateQrCode()
Brak obsługi plików PDFBarcodeReader.Read("document.pdf") — natywne
Brak wdrożenia na serwerzeDziała w ASP.NET Core, Docker, Azure Functions, Lambda
Brak indeksu strony (nie dotyczy)result.PageNumber — dostępne przy odczycie PDF

Typowe problemy związane z migracją i ich rozwiązania

Kwestia 1: Nazwy pakietów NuGet

barKoder SDK: Oficjalne pakiety .NET to Plugin.Maui.Barkoder i Barkoder.Xamarin. Żaden z nich nie obejmuje scenariuszy niemożliwających użycia na mobile.

Rozwiązanie: Zainstaluj IronBarcode:

dotnet add package BarCode

Jeśli Plugin.Maui.Barkoder nie jest już potrzebny (przechodzisz całkowicie na przetwarzanie plików / PDF / serwerowe), usuń go:

dotnet remove package Plugin.Maui.Barkoder
dotnet add package BarCode
SHELL

Kwestia 2: Wejście z ramki kamery kontra wejście plikowe

SDK barKoder: Wszystkie wejścia są dostarczane jako ramki kamery na żywo — ciągła transmisja wideo przetwarzana na urządzeniu. Nie ma trybu wejścia ścieżki pliku.

**Rozwiązanie:**IronBarcode akceptuje pliki, strumienie, tablice bajtów oraz obiekty System.Drawing.Image. W przypadku obrazów przesłanych z klienta mobilnego należy odczytać strumień żądania bezpośrednio:

using var stream = file.OpenReadStream();
var imageBytes = new byte[stream.Length];
await stream.ReadAsync(imageBytes);
var results = BarcodeReader.Read(imageBytes, options);

Problem 3: API oparte na wywołaniach zwrotnych a wyniki synchroniczne

barKoder SDK: BarkoderView.StartScanning(IBarkoderDelegate) używa wzorca delegata / wywołania zwrotnego — DidFinishScanning(BarcodeResult[]) wywoływane jest asynchronicznie, gdy kody kreskowe są wykrywane w strumieniu z kamery.

Rozwiązanie: BarcodeReader.Read()IronBarcode jest synchroniczne i zwraca bezpośrednio IEnumerable<BarcodeResult>. W kontekstach ASP.NET Core, gdzie wymagane jest użycie async, owiń w Task.Run():

var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));

Problem 4: Konfiguracja trybu DeBlur

barKoder SDK: DeBlur jest włączony w konfiguracji BarkoderView przed rozpoczęciem skanowania i ma zastosowanie do wszystkich kolejnych skanów.

Rozwiązanie: W IronBarcode, ekwiwalentem jest ReadingSpeed.ExtremeDetail ustawione dla każdego odczytu przez BarcodeReaderOptions. Utwórz obiekt opcji raz i wykorzystuj go ponownie:

var deepOptions = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

// Reuse across multiple reads
var results = BarcodeReader.Read("image.png", deepOptions);

Problem 5: Brak możliwości generowania

SDK barKoder: Barkoder jest trybem tylko do odczytu. Nie ma API do generowania kodów kreskowych ani kodów QR.

**Rozwiązanie:**IronBarcode obsługuje zarówno odczyt, jak i generowanie. Używaj BarcodeWriter dla standardowych formatów i QRCodeWriter dla kodów QR:

// Standard barcode generation
BarcodeWriter.CreateBarcode("SHIP-20240315-00428", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");

// QR code generation
QRCodeWriter.CreateQrCode("https://example.com/product/A42", 500)
    .SaveAsPng("product-qr.png");

// Get as bytes for embedding in API response or PDF
byte[] barcodeBytes = BarcodeWriter.CreateBarcode("INV-100291", BarcodeEncoding.Code128)
    .ToPngBinaryData();

Lista kontrolna migracji SDK barKoder

Zadania przed migracją

Przeglądnij swoją bazę kodu pod kątem referencji barKoder:

grep -r "Barkoder\|BarkoderView\|IBarkoderDelegate\|BarcodeResult" --include="*.cs" .
grep -r "Plugin.Maui.Barkoder\|Barkoder.Xamarin" --include="*.csproj" .
grep -r "Barkoder" --include="*.xaml" .
SHELL

Opisz obecnie wdrożone lub planowane scenariusze wykorzystania BarCode'ów:

  • Jakie formaty BARCODE-ów muszą być odczytywane (Code128, DataMatrix, QR, PDF417 itp.)
  • Czy wymagane jest odzyskiwanie uszkodzonego kodu kreskowego (ReadingSpeed.ExtremeDetail)
  • Czy wymagane jest wykrywanie wielu kodów kreskowych (ExpectMultipleBarcodes = true)
  • Czy wymagane jest generowanie kodów kreskowych (BarcodeWriter, QRCodeWriter)
  • Czy wymagane jest przetwarzanie PDF (BarcodeReader.Read("doc.pdf"))
  • Środowiska docelowe (.NET Core, Azure Functions, Docker, Lambda, komputery stacjonarne, MAUI)

Zadania związane z aktualizacją kodu

  1. Usuń Plugin.Maui.Barkoder lub Barkoder.Xamarin z .csproj tam, gdzie nie jest już potrzebne
  2. Zainstaluj pakiet NuGet BarCode
  3. Usuń using Barkoder.Maui; (lub odpowiednik Xamarin) tam, gdzie nie jest już potrzebne
  4. Dodaj using IronBarCode; do wszystkich plików przetwarzania kodów kreskowych
  5. Dodaj IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; przy uruchamianiu aplikacji
  6. Zastąp wywołania zwrotne BarkoderView.StartScanning / DidFinishScanning z BarcodeReader.Read(filePath, options)
  7. Mapuj BarcodeResult.TextualData do result.Value
  8. Mapuj BarcodeResult.BarcodeTypeName do result.Format
  9. Mapuj konfigurację DeBlur do Speed = ReadingSpeed.ExtremeDetail w BarcodeReaderOptions
  10. Mapuj konfigurację wielokrotnego skanowania do ExpectMultipleBarcodes = true w BarcodeReaderOptions
  11. Dodaj wywołania BarcodeWriter.CreateBarcode() dla wszelkich wymagań generowania
  12. Dodaj wywołania QRCodeWriter.CreateQrCode() dla wymagań generowania kodów QR
  13. Zastąp jakikolwiek kod wstępnego przetwarzania PDF BarcodeReader.Read("document.pdf")
  14. Owiń synchroniczne wywołania BarcodeReader.Read() w Task.Run() dla asynchronicznych punktów końcowych ASP.NET Core

Testy po migracji

Po zakończeniu aktualizacji kodu sprawdź, czy:

  • Potwierdź, że BarcodeReader.Read() zwraca wyniki dla wszystkich używanych formatów obrazów (PNG, JPEG, TIFF, BMP)
  • Zweryfikuj, że ReadingSpeed.ExtremeDetail odzyskuje kody kreskowe z próbek najniższej jakości w twoim zestawie testowym
  • Potwierdź, że ExpectMultipleBarcodes = true zwraca poprawną liczbę kodów kreskowych z dokumentów z wieloma kodami kreskowymi
  • Przetestuj odczyt plików PDF w odniesieniu do wszystkich wersji PDF używanych w produkcyjnych procesach dokumentacyjnych
  • Zweryfikuj, że wynik BarcodeWriter.CreateBarcode() jest skanowalny przez twoje docelowe skanery
  • Zweryfikuj, że wynik QRCodeWriter.CreateQrCode() jest skanowalny przez mobilne czytniki kodów QR
  • Przetestuj punkt końcowy .NET Core (jeśli dotyczy) przy użyciu przesyłania plików z klientów mobilnych
  • Potwierdź prawidłowe działanie w środowiskach wdrożeniowych Docker, Azure lub Lambda
  • Przeprowadź testy end-to-end obejmujące pełny cykl odczytu-przetwarzania-generowania, tam gdzie to możliwe

Kluczowe korzyści wynikające z migracji do IronBarcode

**Platforma obejmująca .NET bez kamery:**IronBarcode instaluje się z NuGet i działa w dowolnym projekcie .NET — ASP.NET Core, Azure Functions, Lambda, Docker, konsola, pracownik, WPF, WinForms, Avalonia, Blazor, MAUI. Plugin.Maui.Barkoder Barkoder obejmuje tylko interfejs użytkownika kamery wewnątrz głowy aplikacji mobilnej MAUI;IronBarcode obejmuje wszystko inne.

Odczyt odporny na uszkodzenia bez kamery: Zdolności, które uczyniły Barkoder atrakcyjnym — DeBlur, MatrixSight, odzyskiwanie uszkodzeń — są obecne w IronBarcode przez ReadingSpeed.ExtremeDetail i oparte na ML wstępne przetwarzanie obrazu.IronBarcode zapewnia taką samą poprawę dokładności, jaką Barkoder osiąga w przypadku obrazu z kamery na żywo, w odniesieniu do plików, zeskanowanych dokumentów i przesłanych obrazów.

Kompletny proces odczytu i generowania: Barkoder jest tylko do odczytu.IronBarcode obsługuje zarówno odczyt, jak i generowanie kodów kreskowych w ponad 50 formatach w ramach jednego pakietu. Zespoły, które muszą generować etykiety wysyłkowe, tworzyć kody QR na opakowania lub osadzać BarCodes w dokumentach, nie potrzebują drugiej biblioteki.

Wbudowana obsługa plików PDF: Odczytywanie kodów kreskowych z dokumentów PDF — faktur, listów przewozowych, dokumentacji medycznej, dokumentów zgodności — to jedna z najważniejszych funkcji IronBarcode. Bez pośredniego wyodrębniania obrazów, bez wywołań API dla każdej strony i bez dodatkowych zależności. Wielostronicowy plik PDF jest przetwarzany w pojedynczym wywołaniu BarcodeReader.Read().

**Pełne wdrożenie po stronie serwera:**IronBarcode działa w środowisku ASP.NET Core, Azure Functions, AWS Lambda, kontenerach Docker oraz w każdym innym środowisku hostingowym .NET. Przetwarza BARCODES lokalnie, bez połączeń sieciowych, bez konieczności zarządzania kluczami API i bez opóźnień spowodowanych przez usługę zdalną. Przetworzenie jednego BARCODE'a lub miliona kosztuje tyle samo — nie ma opłat za żądanie.

**Przewidywalna cena licencji wieczystej:**IronBarcode jest dostępny w ramach jednorazowej licencji wieczystej w cenie od 749 USD dla pojedynczego programisty, bez opłat za żądania, bez limitów ilościowych i bez konieczności odnawiania subskrypcji. Dla zespołów tworzących aplikacje produkcyjne przetwarzające BarCodes na dużą skalę model kosztowy jest prosty i przewidywalny.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta