IRONSOFTWAREHOME
FILMY

Migracja zeScanbot SDKdo IronBarcode

Curtis Chau
Curtis Chau
Updated: 8 czerwca 2026

Niniejszy przewodnik jest przeznaczony dla zespołów programistów .NET, które przenoszą przetwarzanie kodów kreskowych zScanbot SDKdo IronBarcode for .NET w scenariuszach po stronie serwera, na komputerach stacjonarnych lub w rozszerzonych scenariuszach opartych na plikach. Nie jest to zamiana "jeden do jednego":Scanbot SDKto komponent do skanowania za pomocą aparatu w telefonie, a biblioteka IronBarcode to biblioteka do przetwarzania plików i dokumentów. Migracja jest zmianą zakresu spowodowaną wymaganiami, których model oparty wyłącznie na kamerze nie jest w stanie spełnić. Zespoły, które chcą zastąpić działający interfejs użytkownika do skanowania za pomocą kamery w telefonie komórkowym bez dodawania innych wymagań, powinny przed przystąpieniem do działania ocenić, czy migracja jest właściwym rozwiązaniem.

Dla zespołów, które rozpoczęły pracę z Scanbotem w aplikacji mobilnej MAUI, a obecnie potrzebują przetwarzania BarCode w .NET Core, wersji desktopowej lub potoku dokumentów, migracja jest prosta. Główna zmiana polega na zastąpieniu ScanbotSDKMain.Barcode.StartScannerAsync(configuration) przez BarcodeReader.Read(source), gdzie source jest ścieżką pliku, strumieniem, tablicą bajtów lub PDF-em.

Dlaczego warto przejść z Scanbot SDK

**Wymagania dotyczące przetwarzania po stronie serwera:**Scanbot SDKnie kompiluje się w .NET Core, aplikacjach konsolowych, Azure Functions ani żadnym projekcie innym niż MAUI. Gdy aplikacja mobilna wymaga serwerowego uzupełnienia, które również przetwarza kody kreskowe — wyodrębniając je z przesłanych plików PDF lub weryfikując wartości kodów kreskowych w przychodzących dokumentach — Scanbot nie może przekroczyć tej granicy.IronBarcode działa we wszystkich tych kontekstach z tym samym BarcodeReader.Read() API.

Obsługa Desktop MAUI: Pakiet Scanbota jest przeznaczony dla net10.0-android i net10.0-ios. Projekt MAUI, który dodaje net10.0-windows lub net10.0-maccatalyst do swojego TargetFrameworks, nie zbuduje celów desktopowych, ponieważ pakiet Scanbota nie dostarcza zestawów dla tych platform.IronBarcodeobsługuje systemy Windows i macOS MAUI, a także iOS i Android, co oznacza, że ten sam pakiet działa w projekcie MAUI z wieloma celami bez wykluczeń specyficznych dla platformy lub odniesień warunkowych.

Przepływy pracy z dokumentami PDF: W Scanbocie nie ma BarcodeScanner.Read(filePath). Gdy proces pracy ewoluuje i obejmuje odczytywanie kodów kreskowych z przesłanych dokumentów, archiwów zeskanowanych obrazów lub faktur w formacie PDF, architektura Scanbota nie jest w stanie tego obsłużyć.IronBarcode odczytuje pliki PDF i obrazy bezpośrednio, a każdy wynik zawiera numer strony, na której znaleziono BarCode.

Przewidywalność modelu cenowego: Scanbot stosuje roczną opłatę ryczałtową. Dla niektórych organizacji coroczna odnowienie jest sygnałem do oceny alternatyw — szczególnie gdy zakres projektu rozrósł się do uwzględnienia celów serwerowych lub desktopowych, które wykraczają poza zasięg Scanbot.IronBarcode to jednorazowy zakup na czas nieokreślony, co eliminuje obowiązek corocznego odnawiania.

Podstawowy problem

Scanbot SDK wymaga podglądu na żywo z kamery. Gdy wymagania wykraczają poza urządzenia mobilne, nie ma odpowiednika w istniejących zależnościach:

// Scanbot SDK: camera-only — no file or server equivalent exists
var configuration = new BarcodeScannerScreenConfiguration
{
    BarcodeFormats = new[] { BarcodeFormat.Code128, BarcodeFormat.QrCode }
};

// This call requires iOS or Android hardware and a MAUI camera UI
// It cannot be redirected to a file path, stream, or server context
var result = await ScanbotSDKMain.Barcode.StartScannerAsync(configuration);

IronBarcode akceptuje te same typy źródeł — plik, strumień, tablicę bajtów lub PDF — w dowolnym kontekście projektu:

// IronBarcode: the same call works in MAUI, ASP.NET Core, console, WPF, Azure Functions
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

// From a file — works on any platform
var results = BarcodeReader.Read("invoice.pdf");
foreach (var result in results)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value} ({result.BarcodeType})");

##IronBarcode a Scanbot SDK: porównanie funkcji

FunkcjaScanbot SDKIronBarcode
Dane wejściowe ze ścieżki plikuNieTak
Dane wejściowe ze strumieniaNieTak
Dane wejściowe z tablicy bajtówNieTak
Pobieranie kodów kreskowych z plików PDFNieTak
Podgląd na żywo z kameryTakNie (użyj MediaPicker)
Generowanie BarCodeNieTak
iOS MAUITakTak
Android MAUITakTak
Windows MAUINieTak
macOS MAUINieTak
ASP.NET CoreNieTak
Konsola / SerwerNieTak
Azure / Lambda / DockerNieTak
.NET Framework 4.6.2+NieTak
Korekta błędów MLNieTak
Odzyskiwanie uszkodzonych kodów kreskowychNieTak
Automatyczne wykrywanie formatowaniaTakTak
Formaty 1D20+30+
Formaty 2DQR, DataMatrix, PDF417, AztecQR, DataMatrix, PDF417, Aztec, MaxiCode
Model licencjiRoczna opłata ryczałtowaJednorazowa, wieczysta
Opublikowane cenySkontaktuj się z działem sprzedażyTak ($999–5 999 $)

Szybki start: Migracja zScanbot SDKdo IronBarcode

Krok 1: Zastąp pakiet NuGet

Usuń pakiet Scanbot:

dotnet remove package ScanbotBarcodeSDK.MAUI
SHELL

Jeśli projekt używa warunkowych odniesień do pakietów w pliku .csproj, usuń te wpisy również:

<!-- Remove any Scanbot-related package references -->
<PackageReference Include="ScanbotBarcodeSDK.MAUI" Version="8.0.0" />
XML

Zainstaluj IronBarcode:

dotnet add package IronBarcode
SHELL

IronBarcode jest dostępny w serwisie NuGet i obsługuje platformy .NET 6, 7, 8, 9 oraz .NET Framework 4.6.2+. Dla wielocelowego projektu MAUI, jeden dotnet add package działa na wszystkich celach — nie są potrzebne odniesienia do pakietów warunkowe dla platformy.

Krok 2: Aktualizacja przestrzeni nazw

Zastąp przestrzenie nazw Scanbot przestrzenią nazw IronBarcode:

// Remove
using ScanbotSDK.MAUI;

// Add
using IronBarCode;

Krok 3: Inicjalizacja licencji

Usuń blok inicjalizacji Scanbot i zastąp go kluczem licencyjnym IronBarcode. Dodaj inicjalizację licencji przy uruchamianiu aplikacji w MauiProgram.cs, App.xaml.cs lub Program.cs w zależności od typu projektu:

// Remove this
ScanbotSDKMain.Initialize(new SdkConfiguration
{
    LicenseKey = "YOUR-SCANBOT-LICENSE-KEY",
    LoggingEnabled = false
});

// Add this — one line, placed once at startup
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Przykłady migracji kodu

Zarejestruj zdjęcie MAUI

Wywołanie funkcji skanowania w aplikacji Scanbot otwiera interfejs aparatu na pełnym ekranie i kończy działanie, gdy użytkownik zeskanuje BARCODE lub anuluje operację.IronBarcode nie udostępnia interfejsu użytkownika kamery; zamiana używa MediaPicker MAUI do wywołania aparatu systemowego, zrobienia zdjęcia i przekazania bajtów obrazu do BarcodeReader.Read().

Podejście Scanbot SDK:

using ScanbotSDK.MAUI;

private async void ScanButton_Clicked(object sender, EventArgs e)
{
    var configuration = new BarcodeScannerScreenConfiguration
    {
        BarcodeFormats = new[]
        {
            BarcodeFormat.Code128,
            BarcodeFormat.QrCode,
            BarcodeFormat.Ean13
        },
        FinderAspectRatio = new AspectRatio(1, 1),
        TopBarBackgroundColor = Colors.DarkBlue
    };

    var result = await ScanbotSDKMain.Barcode.StartScannerAsync(configuration);

    if (result.Status == OperationResult.Ok)
    {
        foreach (var barcode in result.Barcodes)
            ResultLabel.Text = $"{barcode.Format}: {barcode.Text}";
    }
}

Podejście IronBarcode:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

private async void ScanButton_Clicked(object sender, EventArgs e)
{
    var photo = await MediaPicker.CapturePhotoAsync();
    if (photo == null) return;

    using var stream = await photo.OpenReadAsync();
    using var ms = new MemoryStream();
    await stream.CopyToAsync(ms);

    var results = BarcodeReader.Read(ms.ToArray());
    var first = results.FirstOrDefault();
    ResultLabel.Text = first != null
        ? $"{first.BarcodeType}: {first.Value}"
        : "No barcode found";
}

Zmiana w interfejsie użytkownika polega na tym, że użytkownik widzi ekran aparatu systemowego zamiast wbudowanego wizjera Scanbota z nakładką obszaru skanowania. W przypadku zastosowań biznesowych — zapasów, logistyki, obiegu dokumentów — wystarczy aparat systemowy. Samouczek dotyczący skanera BARCODE .NET MAUI obejmuje pełny wzorzec integracji zarówno dla platform iOS, jak i Android, w tym obsługę uprawnień.

Opcje skanowania i konfiguracja

BarcodeScannerScreenConfiguration Scanbota kontroluje, które formaty akceptuje skaner i jak wygląda interfejs kamery. BarcodeReaderOptionsIronBarcode kontroluje, jak obraz jest analizowany — szybkość przetwarzania, wykrywanie mnogich kodów kreskowych i podobne parametry. Koncepcje konfiguracji odnoszą się do różnych zagadnień, ponieważ podstawowe operacje są różne.

Podejście Scanbot SDK:

var configuration = new BarcodeScannerScreenConfiguration
{
    BarcodeFormats = new[] { BarcodeFormat.Code128, BarcodeFormat.QrCode },
    FinderAspectRatio = new AspectRatio(1, 1),
    FlashEnabled = false,
    OrientationLockMode = OrientationLockMode.Portrait
};

var result = await ScanbotSDKMain.Barcode.StartScannerAsync(configuration);

if (result.Status == OperationResult.Ok)
{
    foreach (var barcode in result.Barcodes)
        Console.WriteLine($"{barcode.Format}: {barcode.Text}");
}

Podejście IronBarcode:

using IronBarCode;

// Format detection is automatic — BarcodeReaderOptions controls processing behavior
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = false
};

// Combined with the MediaPicker capture pattern
var photo = await MediaPicker.CapturePhotoAsync();
if (photo == null) return;

using var photoStream = await photo.OpenReadAsync();
using var ms = new MemoryStream();
await photoStream.CopyToAsync(ms);

var results = BarcodeReader.Read(ms.ToArray(), options);
foreach (var result in results)
    Console.WriteLine($"{result.BarcodeType}: {result.Value}");

Specyfikacja formatu nie jest wymagana —IronBarcode automatycznie wykrywa wszystkie obsługiwane formaty. Parametry BarcodeReaderOptions, które najbardziej bezpośrednio odpowiadają konfiguracji Scanbot, to Speed (kontroluje szczegółowość przetwarzania w stosunku do wydajności) i ExpectMultipleBarcodes (kontynuuje skanowanie po pierwszym dopasowaniu).

Przetwarzanie plików PDF po stronie serwera

Ten scenariusz nie ma odpowiednika w Scanbot. Dzięki IronBarcode ten sam pakiet zainstalowany dla aplikacji mobilnej MAUI może wyodrębniać kody kreskowe z plików PDF w punkcie końcowym ASP.NET Core po stronie serwera, zapewniając zespołom jedną zależność dotyczącą kodów kreskowych, która działa w obu kontekstach wdrożenia.

Podejście Scanbot SDK:

//Scanbot SDKcannot be used here — the package does not compile
// in ASP.NET Core, Azure Functions, console apps, or any non-MAUI project.
// There is no server-side Scanbot equivalent for this endpoint.
C#

Podejście IronBarcode:

// NuGet: dotnet add package IronBarcode
// Works in ASP.NET Core, console apps, Azure Functions, Docker — the same package as MAUI
using IronBarCode;

[HttpPost("extract-barcodes")]
public async Task<IActionResult> ExtractBarcodes(IFormFile file)
{
    using var ms = new MemoryStream();
    await file.CopyToAsync(ms);

    // Reads all barcodes from all pages of the uploaded PDF
    var results = BarcodeReader.Read(ms.ToArray());
    var values = results.Select(r => new
    {
        r.Value,
        Format = r.Format.ToString(),
        r.PageNumber
    });

    return Ok(values);
}

IronBarcode natywnie obsługuje wielostronicowe PDF-y — każdy wynik posiada właściwość PageNumber wskazującą stronę, na której znaleziono kod kreskowy. Przewodnik po wyodrębnianiu BARCODE-ów z plików PDF obejmuje pełen zakres opcji odczytu plików PDF, w tym wybór zakresu stron i optymalizację wydajności w przypadku dużych partii dokumentów.

Przetwarzanie w tle w .NET Core

W przypadku przepływów pracy wsadowych, takich jak Azure Functions lub Worker Services przetwarzające zarchiwizowane dokumenty PDF,IronBarcode udostępnia ten sam interfejs API, który jest używany w aplikacji MAUI i kontrolerze ASP.NET Core.

Podejście Scanbot SDK:

//Scanbot SDKdoes not support this deployment context.
// The package will not compile in Azure Functions or Worker Services.
C#

Podejście IronBarcode:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Azure Function or Worker Service batch processing
public void ProcessInvoiceBatch(IEnumerable<string> filePaths)
{
    foreach (var filePath in filePaths)
    {
        var results = BarcodeReader.Read(filePath);
        foreach (var result in results)
            Console.WriteLine($"File: {filePath} | Page {result.PageNumber}: {result.Value} ({result.BarcodeType})");
    }
}

Dokumentacja APIScanbot SDKdo IronBarcode

Scanbot SDKIronBarcode
ScanbotSDKMain.Initialize(new SdkConfiguration { LicenseKey = "..." })IronBarCode.License.LicenseKey = "key"
new BarcodeScannerScreenConfiguration()new BarcodeReaderOptions()
ScanbotSDKMain.Barcode.StartScannerAsync(configuration)BarcodeReader.Read(path / stream / bytes)
result.Status == OperationResult.Okresults.Any() lub results.FirstOrDefault() != null
result.BarcodesWartość zwracana przez BarcodeReader.Read()
barcode.Formatresult.BarcodeType (IronBarCode.BarcodeEncoding)
barcode.Textresult.Value
BarcodeFormat.Code128BarcodeEncoding.Code128
BarcodeFormat.QrCodeBarcodeEncoding.QRCode
BarcodeFormat.Ean13BarcodeEncoding.EAN13
BarcodeScannerScreenConfiguration.FinderAspectRatioBrak odpowiednika — kadrowanie obrazu obsługiwane przez MediaPicker
BarcodeScannerScreenConfiguration.FlashEnabledBrak odpowiednika — użyj opcji MediaPicker
Wymagane wprowadzenie za pomocą kameryŚcieżka pliku, strumień, tablica bajtów lub plik PDF
Tylko iOS i Android MAUIWszystkie platformy .NET i typy projektów

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

Problem 1: Brak odpowiednika podglądu na żywo

Scanbot SDK: Zapewnia wbudowany w proces skanowania podgląd z kamery w czasie rzeczywistym, z nakładką obszaru skanowania, haptycznym sprzężeniem zwrotnym oraz ciągłym wykrywaniem BARCODE-ów w strumieniu wideo na żywo.

Rozwiązanie: Użyj MediaPicker.CapturePhotoAsync() MAUI, aby otworzyć aparat systemowy i zrobić zdjęcie statyczne do przetworzenia:

var photo = await MediaPicker.CapturePhotoAsync();
if (photo == null) return;

using var stream = await photo.OpenReadAsync();
using var ms = new MemoryStream();
await stream.CopyToAsync(ms);

var results = BarcodeReader.Read(ms.ToArray());

W przypadku zastosowań biznesowych wystarczająca jest kamera systemowa. W przypadku aplikacji konsumenckich, w których nakładka na żywo ma kluczowe znaczenie dla wrażeń użytkownika, przed podjęciem decyzji o migracji należy ocenić, czy ta zmiana w zakresie UX jest akceptowalna.

Problem 2: Różnice w uprawnieniach aparatu

Scanbot SDK: Pakiet Scanbot obsługiwał żądania uprawnień do kamery w ramach swojego interfejsu użytkownika, więc uprawnienia do kamery były zarządzane w sposób domyślny podczas inicjalizacji SDK i uruchamiania skanera.

Rozwiązanie: Z MediaPicker MAUI obsługuje uprawnienia za pomocą standardowego mechanizmu. Zweryfikuj, że AndroidManifest.xml zawiera deklarację uprawnień do aparatu i że Info.plist zawiera klucz NSCameraUsageDescription. Wpisy te zazwyczaj występują w gotowych szablonach projektów MAUI. Jeśli aplikacja korzystała wcześniej wyłącznie z Scanbot w celu uzyskania dostępu do aparatu, przed rozpoczęciem testów należy sprawdzić, czy w pliku manifestu znajdują się następujące wpisy:

<!-- Android: AndroidManifest.xml -->
<uses-permission android:name="android.permission.CAMERA" />

<!-- iOS: Info.plist -->
<key>NSCameraUsageDescription</key>
<string>This app uses the camera to scan barcodes.</string>
XML

Problem 3: Usunięto błędy kompilacji w systemie Windows

Scanbot SDK: Pakiet ScanbotBarcodeSDK.MAUI jest przeznaczony tylko dla net10.0-android i net10.0-ios, co powoduje problemy z kompilacją, gdy net10.0-windows jest obecny w TargetFrameworks.

Rozwiązanie: Usunięcie odwołania do pakietu Scanbot rozwiązuje problem niepowodzenia kompilacji w systemie Windows.IronBarcode działa poprawnie na wszystkich platformach docelowych MAUI bez konieczności konfiguracji zależnej od platformy:

# Verify the build succeeds on all targets after removing Scanbot and adding IronBarcode
dotnet build -f net10.0-windows10.0.19041.0
dotnet build -f net10.0-ios
dotnet build -f net10.0-android
SHELL

Problem 4: Zmiana przestrzeni nazw Format Enum

Scanbot SDK: Używa wartości wyliczeniowych BarcodeFormat, takich jak BarcodeFormat.Code128 z przestrzeni nazw ScanbotBarcodeSDK.MAUI.

**Rozwiązanie:**IronBarcode używa wyliczenia BarcodeEncoding w przestrzeni nazw IronBarCode. Zaktualizuj wszystkie odniesienia do formatów oraz wszelki kod, który przechowuje, porównuje lub przełącza wartości wyliczeniowe formatów:

// Before (Scanbot)
BarcodeFormat.Code128
BarcodeFormat.QrCode
BarcodeFormat.Ean13

// After (IronBarcode)
BarcodeEncoding.Code128
BarcodeEncoding.QRCode
BarcodeEncoding.EAN13

Należy zauważyć, że IronBarcode automatycznie wykrywa wszystkie obsługiwane formaty domyślnie — jawne filtrowanie formatów za pomocą BarcodeReaderOptions jest potrzebne tylko do optymalizacji wydajności, gdy oczekiwany format jest znany z góry.

Lista kontrolna migracji Scanbot SDK

Zadania przed migracją

Przeprowadź audyt kodu źródłowego w celu zidentyfikowania wszystkich przypadków użycia Scanbot SDK:

grep -rn "ScanbotSDK.Initialize" --include="*.cs" .
grep -rn "BarcodeScannerScreenConfiguration" --include="*.cs" .
grep -rn "ScanbotSDKMain.Barcode.StartScannerAsync" --include="*.cs" .
grep -rn "result\.Barcodes" --include="*.cs" .
grep -rn "barcode\.Format" --include="*.cs" .
grep -rn "barcode\.Text" --include="*.cs" .
grep -rn "OperationResult\.Ok" --include="*.cs" .
grep -rn "using ScanbotBarcodeSDK" --include="*.cs" .
grep -rn "BarcodeFormat\." --include="*.cs" .
SHELL
  • Udokumentuj wszystkie miejsca wywołań skanowania i zaznacz, czy znajdują się one w kodzie współdzielonym, kodzie specyficznym dla platformy, czy w procedurach obsługi zdarzeń interfejsu użytkownika
  • Sprawdź, czy któreś strony lub przepływy opierają się na podglądzie w czasie rzeczywistym Scanbota jako głównym elemencie interakcji z użytkownikiem
  • Potwierdź, że wpisy zezwolenia na aparat istnieją w AndroidManifest.xml i Info.plist
  • Przejrzyj .csproj dla jakichkolwiek warunkowych odniesień do pakietów związanych ze Scanbot

Zadania związane z aktualizacją kodu

  1. Usuń pakiet NuGet ScanbotSDK.MAUI
  2. Usuń wszelkie warunkowe wpisy <PackageReference> dla Scanbot z .csproj
  3. Zainstaluj pakiet NuGet IronBarcode
  4. Zamień using ScanbotSDK.MAUI; na using IronBarCode; we wszystkich plikach
  5. Zamień ScanbotSDK.Initialize(...) na IronBarCode.License.LicenseKey = "key" przy uruchamianiu aplikacji
  6. Zamień ScanbotSDKMain.Barcode.StartScannerAsync(configuration) na MediaPicker.CapturePhotoAsync(), a następnie skopiuj strumień i BarcodeReader.Read(bytes) w przepływach pracy kamery MAUI
  7. Zamień ScanbotSDKMain.Barcode.StartScannerAsync(configuration) na BarcodeReader.Read(filePath) lub BarcodeReader.Read(stream) w kontekstach przetwarzania po stronie serwera i plików
  8. Zamień kontrole result.Status == OperationResult.Ok na results.Any() lub results.FirstOrDefault() != null
  9. Zamień odniesienia kolekcji result.Barcodes na wartość zwracaną przez BarcodeReader.Read()
  10. Zamień dostęp do właściwości barcode.Text na result.Value
  11. Zamień wartości wyliczeń BarcodeFormat.* na odpowiedniki BarcodeEncoding.*
  12. Zamień new BarcodeScannerScreenConfiguration() na new BarcodeReaderOptions() tam, gdzie są potrzebne opcje przetwarzania

Testy po migracji

  • Sprawdź, czy kompilacja przebiega pomyślnie na wszystkich docelowych platformach MAUI, w tym na systemach Windows i macOS, jeśli są dostępne
  • Przetestuj przepływ MediaPicker.CapturePhotoAsync() na fizycznym urządzeniu iOS i fizycznym urządzeniu z Androidem
  • Sprawdź, czy wartości BarCodes zdekodowane przez IronBarcodesą zgodne z wartościami wcześniej zdekodowanymi przez Scanbot dla tych samych fizycznych BarCodes
  • Przetestuj ekstrakcję wielostronicowych plików PDF, jeśli projekt obejmuje procesy przetwarzania dokumentów
  • Zweryfikuj, czy wykrywanie formatu obejmuje wszystkie wcześniej skonfigurowane typy kodów kreskowych w BarcodeScannerScreenConfiguration.BarcodeFormats
  • Sprawdź, czy punkty końcowe po stronie serwera lub zadania w tle dają poprawne wyniki na tych samych przykładowych dokumentach
  • Sprawdź, czy monity o uprawnienia do kamery wyświetlają się poprawnie przy pierwszym uruchomieniu na iOS i Androidzie

Kluczowe korzyści wynikające z migracji do IronBarcode

**Ujednolicony pakiet dla wszystkich środowisk docelowych:**IronBarcode instaluje się jednokrotnie i działa w środowiskach MAUI mobile, MAUI desktop, ASP.NET Core, Azure Functions, aplikacjach konsolowych oraz aplikacjach desktopowych dla systemu Windows. Zespoły nie potrzebują już oddzielnych zależności od BarCodes dla różnych części tego samego systemu.

**Przetwarzanie plików PDF i dokumentów:**IronBarcode natywnie odczytuje kody kreskowe z plików PDF, a każdy wynik zawiera numer strony, na której został znaleziony. Przepływy pracy z dokumentami, które wcześniej były niemożliwe w modelu Scanbot, stają się prostymi operacjami z BarcodeReader.Read("document.pdf").

Obsługa MAUI na komputerach stacjonarnych z systemem Windows i macOS: Projekty MAUI z wieloma celami, które obejmują kompilację dla systemu Windows lub macOS, kompilują się bez błędów po usunięciu Scanbota.IronBarcode zapewnia ten sam interfejs API do odczytu kodów kreskowych na wszystkich czterech platformach docelowych MAUI, eliminując zarządzanie zależnościami warunkowymi od platformy, które było wymagane w przypadku Scanbota.

Licencja wieczysta: Model jednorazowego zakupu eliminuje obowiązek corocznego odnawiania. Po uzyskaniu licencji IronBarcode może być używany bezterminowo na zakupionym poziomie bez ponoszenia powtarzających się opłat. Zespoły, których zakres projektu wykracza poza zasięg mobilny Scanbota, uważają, że model wieczny lepiej wpisuje się w długoterminowe planowanie kosztów.

**Generowanie BARCODE:**IronBarcode może generować BARCODE we wszystkich obsługiwanych formatach jako pliki graficzne, strumienie lub treści osadzone. Projekty wymagające zarówno odczytu, jak i generowania danych nie wymagają już drugiej biblioteki obok Scanbot.

**Odczyt wspomagany uczeniem maszynowym:**IronBarcode stosuje opartą na uczeniu maszynowym korekcję błędów i odzyskiwanie uszkodzonych kodów kreskowych w przypadku trudnych obrazów z rzeczywistego świata — o niskim kontraście, częściowo uszkodzonych, o słabej jakości druku — których standardowe algorytmy wykrywania nie są w stanie odczytać. Ta funkcja jest szczególnie przydatna w procesach przetwarzania dokumentów, w których jakość obrazu jest zmienna.

Zwróć uwagę: Scanbot SDK jest zarejestrowanym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z, wspierana ani sponsorowana przez Scanbot SDK. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
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