IRONSOFTWAREHOME
COMPARAR CON OTROS COMPONENTES

SDK de Scanbot vs IronBarcode: Tubo de cámara vs Procesamiento de archivos

Curtis Chau
Curtis Chau
Updated: 26 de abril de 2026

El SDK de Scanbot abre una vista de escaneo de códigos de barras a pantalla completa utilizando la cámara del dispositivo. No hay método BarcodeScanner.Read(imagePath). El escáner es la interfaz de usuario de la cámara. Si su código de barras se encuentra en una factura en formato PDF alojada en un servidor, Scanbot no podrá ayudarle. Esto no es una crítica, sino una descripción de la arquitectura del sistema. SDK de Scanbot es un control de cámara que envuelve las API de escaneo nativas de iOS, Android y UWP/WinUI 3 en un componente de visor. ScanbotSDKMain.Barcode.StartScannerAsync(configuration) transfiere el control a una experiencia de cámara en pantalla completa, el usuario apunta el dispositivo a un código de barras, el SDK lo detecta en la transmisión de video en vivo y el resultado regresa a tu aplicación. La comparación es importante porque el nombre del paquete de NuGet — ScanbotBarcodeSDK.MAUI — y la categoría del producto — "SDK de códigos de barras" — pueden llevar a los desarrolladores a evaluarlo para procesamiento de documentos en el lado del servidor, aplicaciones de escritorio WPF o API de ASP.NET Core. Este artículo explica la diferencia arquitectónica entre las dos herramientas y para qué está diseñada cada una.

Comprensión del SDK de Scanbot

Scanbot SDK es un SDK comercial de escaneo de códigos de barras desarrollado por doo GmbH. Su oferta principal para .NET es ScanbotBarcodeSDK.MAUI (v8.0.0), un paquete que tiene como objetivo net9.0-android y net9.0-ios. Un paquete separado, Scanbot.BarcodeSDK.Windows (v7.0.0), cubre aplicaciones de escritorio UWP y WinUI 3 en Windows 10 1809+ (x64) con una cámara autofoco. Todos los objetivos soportados están vinculados a la cámara: el SDK no se resolverá contra una aplicación de consola, una biblioteca de clases, un proyecto ASP.NET Coreo una aplicación MAUI dirigida a macOS.

Scanbot está diseñado como un producto que prioriza la cámara. Toda su interfaz de programación de aplicaciones (API) está orientada a la experiencia del visor en tiempo real: los objetos de configuración controlan el aspecto de la interfaz de usuario de la cámara, los formatos que monitoriza el sistema de vídeo en directo y cómo se proporciona información al usuario. La biblioteca proporciona un componente de escaneo para aplicaciones iOS, Android y Windows (UWP/WinUI 3) tanto para consumidores como para empresas.

  • Plataforma principal destino: iOS y Android a través de .NET MAUI, además de UWP/WinUI 3 en Windows 10 1809+ a través del paquete separado Scanbot.BarcodeSDK.Windows; Los objetivos MAUI para macOS no son compatibles
  • Modelo de entrada: Transmisión de video en vivo de la cámara del dispositivo exclusivamente; no existen sobrecargas de ruta de archivo, flujo o matriz de bytes.
  • Diseño de API: ScanbotSDKMain.Barcode.StartScannerAsync(configuration) transfiere el control a una experiencia de cámara en pantalla completa y devuelve un resultado con IsSuccess y una colección de Value.Items
  • Características de la interfaz de usuario de la cámara: Visor en tiempo real con superposición de la región de escaneo, control de la linterna, configuración de la relación de aspecto, retroalimentación háptica y de audio, y bloqueo de orientación.
  • Formatos compatibles: Más de 20 formatos unidimensionales (Code 128, EAN-13, UPC y otros) y varios formatos bidimensionales (QR, DataMatrix, PDF417, Aztec).
  • Sin procesamiento de archivos: No existe ningún mecanismo para leer un código de barras desde un archivo de imagen guardado, una secuencia de datos o un documento PDF.
  • Sin generación de códigos de barras: El SDK lee códigos de barras; no las produce
  • Modelo de licencia: Tarifa plana anual; el coste anual es fijo independientemente del volumen de escaneado
  • Alcance del tipo de proyecto: Los paquetes NuGet compatibles tienen como objetivo tiempos de ejecución vinculados a la cámara (MAUI iOS/Android y UWP/WinUI 3); consola, biblioteca de clases, ASP.NET Core, WPF, WinForms, Funciones de Azure y hosts de servidor Docker están fuera de ese conjunto de objetivos

Arquitectura del flujo de trabajo de la cámara

La arquitectura de Scanbot requiere una inicialización al iniciar la aplicación, seguida de una llamada de escaneo controlada por la cámara. El método del escáner requiere un BarcodeScannerScreenConfiguration porque toda la operación depende de la cámara:

using ScanbotSDK.MAUI;
using ScanbotSDK.MAUI.Barcode;

// In MauiProgram.cs — initialization required before any scan
// ScanbotSDKMain.Initialize(new SdkConfiguration {
//     LicenseKey = "YOUR-SCANBOT-LICENSE-KEY",
//     LoggingEnabled = false
// }, builder);

// Configure scanner appearance and behavior
var configuration = new BarcodeScannerScreenConfiguration
{
    UseCase = new SingleScanningMode()
};

// Open full-screen camera scanner — UI takes over the entire screen
var result = await ScanbotSDKMain.Barcode.StartScannerAsync(configuration);

if (result.IsSuccess)
{
    foreach (var item in result.Value.Items)
        Console.WriteLine($"{item.Barcode.Format}: {item.Barcode.Text}");
}

El SDK procesa los fotogramas de vídeo en directo en tiempo real, resalta los códigos de barras detectados en el visor y regresa cuando se confirma un código de barras o el usuario cancela la operación. El objeto de configuración controla la apariencia de la interfaz de usuario de la cámara, no el comportamiento de procesamiento. Ese es el modelo completo.

Entendiendo IronBarcode

IronBarcode es una biblioteca comercial .NET para la lectura y generación de códigos de barras, desarrollada por Iron Software. Funciona según un modelo de procesamiento de archivos: las fuentes de entrada son rutas de archivo, flujos de datos, matrices de bytes y documentos PDF. No hay interfaz de usuario para la cámara ni se requiere hardware móvil. La biblioteca funciona en cualquier tipo de proyecto .NET .

El método estático BarcodeReader.Read() de IronBarcode acepta cualquier fuente que proporcione el código llamante, independientemente de cómo se haya producido esa fuente. Un archivo subido a través de HTTP, un PDF en disco, una imagen desde almacenamiento binario o una matriz de bytes decodificada a partir de una cadena base64 son todos datos de entrada equivalentes. La biblioteca devuelve una colección de resultados decodificados, cada uno de los cuales incluye el valor del código de barras, el formato y el número de página, cuando corresponda.

  • Fuentes de entrada: Rutas de archivo, flujos de datos, matrices de bytes y documentos PDF (análisis nativo de PDF, no extracción de imágenes).
  • Tipos de proyectos compatibles: Aplicaciones de consola, ASP.NET Core, WPF, WinForms, Blazor Server, Azure Functions, AWS Lambda, Docker, Windows Services, .NET MAUI (todos los destinos, incluidos Windows y macOS) y .NET Framework 4.6.2+
  • Generación de códigos de barras: Produce códigos de barras como imágenes o incrustados en documentos HTML y PDF.
  • Cobertura de formatos: más de 30 formatos unidimensionales y cinco formatos bidimensionales, incluidos QR, DataMatrix, PDF417, Aztecy MaxiCode.
  • Mejoras en la lectura: Corrección de errores basada en aprendizaje automático y recuperación de códigos de barras dañados para imágenes difíciles del mundo real.
  • Objeto de configuración: BarcodeReaderOptions controla el comportamiento del procesamiento (velocidad, detección de múltiples códigos de barras) en lugar de la apariencia de la interfaz de usuario de la cámara
  • Modelo de licencia: Compra única y perpetua en cuatro niveles (Lite $999, Plus $1,499, Professional $2,399, Unlimited $4,799); no se requiere renovación anual

Comparación de características

La siguiente tabla destaca las diferencias fundamentales entre SDK de Scanbot e IronBarcode:

CaracterísticaSDK de ScanbotIronBarcode
Caso de uso principalEscaneo de códigos de barras con cámara en directo desde el móvilLectura y generación de códigos de barras de archivos y documentos
Modelo de entradaSolo la señal de la cámara del dispositivoRuta de archivo, flujo, matriz de bytes, PDF
Soporte de PlataformaMAUI iOS/Android y UWP/WinUI 3 (vinculado a la cámara)Todas las plataformas y tipos de proyectos .NET
Generación de códigos de barrasNo
Extracción de códigos de barras PDFNo
Modelo de licenciaTarifa plana anualPerpetuo de una sola vez
Interfaz de usuario de la cámara en directoSí, componente del visor pulidoNo (utiliza MediaPicker para capturar fotos)

Comparación detallada de características

CaracterísticaSDK de ScanbotIronBarcode
Lectura
Entrada desde la ruta del archivoNo
Entrada desde el flujoNo
Entrada desde una matriz de bytesNo
Extracción de códigos de barras PDFNo
Visor de la cámara en directoNo
Escaneo de fotogramas en tiempo realNo
Detección de formato automático
Corrección de errores de aprendizaje automáticoNo
Recuperación de códigos de barras dañadosNo
Recuento de formato 1DMás de 20 años30+
Recuento de formato 2DQR, DataMatrix, PDF417, AztecQR, DataMatrix, PDF417, Aztec, MaxiCode
Generación
Generación de códigos de barrasNo
Plataforma
iOS MAUI
Android MAUI
MAUI de WindowsNo
macOS MAUINo
UWP / WinUI 3 (con cámara)Sí (paquete separado para Windows)
Aplicación de consolaNo
ASP.NET CoreNo
Servidor BlazorNo
Aplicación WPFNo
Aplicación WinFormsNo
Azure FunctionsNo
AWS LambdaNo
Docker / LinuxNo
Servicio de WindowsNo
.NET Framework 4.6.2 o superiorNo
Licencias
Modelo de licenciaTarifa plana anualPerpetuo de una sola vez
Precios publicadosContacto de ventasSí (entre 749 y 5999 dólares)
Precios por volumenNo disponible (tarifa fija)No aplica (niveles perpetuos)

Arquitectura: Procesamiento de la cámara frente al procesamiento de archivos

La diferencia más significativa entre SDK de Scanbot e IronBarcode no radica en la falta de funcionalidades, sino en una diferencia arquitectónica fundamental en la forma en que cada biblioteca conceptualiza su entrada.

Enfoque del SDK de Scanbot

La arquitectura de Scanbot está construida en torno a un pipeline de cámara nativa. Cuando se llama a ScanbotSDKMain.Barcode.StartScannerAsync(configuration), la biblioteca transfiere el control a una experiencia de cámara en pantalla completa impulsada por las APIs de cámara nativas del dispositivo en iOS, Android o Windows. La biblioteca procesa continuamente los fotogramas de vídeo en directo, aplica la detección de códigos de barras a cada fotograma y devuelve el control a la aplicación que la llamó cuando se confirma un código de barras o el usuario desactiva el escáner. En el modelo de Scanbot no existe el concepto de imagen estática: la entrada es siempre una secuencia de fotogramas de vídeo en directo procedentes de la cámara del dispositivo.

Este diseño produce una experiencia de escaneo con códigos de barras en tiempo real destacados en el visor, región de escaneo configurable con control de relación de aspecto, interruptor de linterna, retroalimentación de audio y háptica, y bloqueo de orientación. Estas son características de UI construidas para el caso de uso de la cámara. La desventaja es que la biblioteca es inseparable del hardware de la cámara y del sistema operativo que la impulsa.

Enfoque IronBarcode

IronBarcode acepta cualquier representación binaria de una imagen que contenga un código de barras y devuelve los resultados decodificados mediante el mismo método estático, independientemente de cómo se haya obtenido la imagen:

// Install: dotnet add package BarCode
using IronBarCode;

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

// From a file path — works in any project type
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
    Console.WriteLine($"{result.Value} ({result.Format})");

// From a PDF — reads all barcodes on all pages
var pdfResults = BarcodeReader.Read("invoice.pdf");
foreach (var result in pdfResults)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");

// From a stream — useful for HTTP file uploads
using var stream = File.OpenRead("document.pdf");
var streamResults = BarcodeReader.Read(stream);

// With processing options
var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Balanced };
var configuredResults = BarcodeReader.Read("image.png", options);

La misma llamada se ejecuta en una aplicación de consola, un controlador ASP.NET Core, una función de Azure, un formulario WPF o una página MAUI. IronBarcode lee los códigos de barras de los archivos PDF de forma nativa , no como imágenes extraídas de los PDF, sino analizando directamente la estructura del PDF y buscando los códigos de barras en cada página.

Cobertura de plataforma e implementación

El ámbito de la plataforma del SDK de Scanbot está determinado por los destinos que admite su paquete NuGet . El ámbito de IronBarcode coincide con el del propio entorno de ejecución de .NET .

Enfoque del SDK de Scanbot

El paquete MAUI de Scanbot tiene como objetivo net9.0-android y net9.0-ios. Un proyecto .NET MAUI Application que declare solo esos dos objetivos se construirá con éxito. Sin embargo, cuando se añade net9.0-maccatalyst o un objetivo MAUI de Windowsa TargetFrameworks, la referencia del paquete MAUI de Scanbot no se resuelve en esos objetivos. Esto no es un problema de configuración: el paquete MAUI no proporciona ensamblajes para MAUI Windows o macOS. El escritorio de Windows está cubierto por el paquete separado Scanbot.BarcodeSDK.Windows para aplicaciones UWP/WinUI 3 con una cámara autofoco.

El resultado es que el conjunto de paquetes .NET de Scanbot tiene como objetivo móviles MAUI y escritorios UWP/WinUI 3, en lugar de tipos de proyecto del lado del servidor o de escritorio sin cámara.

Enfoque IronBarcode

IronBarcode se distribuye como un único paquete NuGet que se resuelve correctamente en todos los tipos de proyectos .NET y marcos de destino:

# Same package, same API — works in ASP.NET Core, WPF, console, MAUI, Azure Functions
dotnet add package BarCode
SHELL

Para las aplicaciones MAUI que también están dirigidas a Windows o macOS , IronBarcode admite las cuatro plataformas MAUI desde una única referencia de paquete sin necesidad de configuración condicional por plataforma. Los equipos que están construyendo un proyecto MAUI que tiene como objetivo iOS, Android y Windows pueden añadir IronBarcode una vez y usar BarcodeReader.Read() en las tres plataformas sin modificaciones.

Patrones de integración de MAUI

Ambas bibliotecas se pueden usar en proyectos .NET MAUI , pero el patrón de integración difiere significativamente según el modelo de entrada de cada biblioteca.

Enfoque del SDK de Scanbot

En un proyecto MAUI dirigido a iOS y Android, Scanbot proporciona un visor de cámara nativo integrado en el flujo de navegación de la aplicación. La llamada ScanbotSDKMain.Barcode.StartScannerAsync() presenta el escáner de pantalla completa, y el resultado regresa a la página llamante cuando el usuario completa o descarta el escaneo. Esta integración le da a la aplicación móvil una interfaz de usuario de escaneo que se siente nativa a la plataforma.

La limitación aparece cuando el proyecto se expande. Agregar un objetivo macOS o un objetivo MAUI de Windowsrompe la construcción en esas plataformas (el escritorio de Windows se maneja en su lugar por el paquete separado Scanbot.BarcodeSDK.Windows para aplicaciones UWP/WinUI 3). Agregar un componente del lado del servidor sin cabeza que necesite procesamiento de códigos de barras requiere una biblioteca separada: la dependencia de Scanbot no puede seguir el proyecto en ASP.NET Core, Funciones de Azure o Docker.

Enfoque IronBarcode

En un proyecto MAUI, IronBarcode trabaja con el MediaPicker de la plataforma para capturar fotos y leer códigos de barras de las imágenes resultantes. El flujo de trabajo de escaneo utiliza la cámara del sistema en lugar de un visor personalizado:

// Works on iOS, Android, Windows, and macOS MAUItargets
// NuGet: dotnet add package BarCode
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());
    foreach (var result in results)
        await DisplayAlert("Scanned", $"{result.Format}: {result.Value}", "OK");
}
C#

La ventaja es la superposición en tiempo real del visor. El usuario ve la interfaz de usuario de la cámara del sistema en lugar de una región de escaneo personalizada, lo cual es adecuado para aplicaciones comerciales donde basta con apuntar y capturar. El tutorial del escáner de códigos de barras .NET MAUI cubre el patrón de integración completo de MAUI para dispositivos iOS y Android , incluyendo la gestión de permisos y la configuración del proyecto.

Modelo de licenciamiento

Scanbot SDK e IronBarcode utilizan estructuras de licencias comerciales fundamentalmente diferentes.

Enfoque de Scanbot

Scanbot funciona con un modelo de tarifa plana anual. El costo anual de la licencia no se mide por volumen de escaneo. Esto proporciona una presupuestación anual predecible para equipos con implementaciones estables exclusivamente móviles. Para conocer el precio exacto, póngase en contacto con el equipo de ventas de Scanbot. Las cifras publicadas no están disponibles. La obligación de renovación anual implica que la licencia supone un coste operativo continuo.

Enfoque IronBarcode

IronBarcode se vende como una compra única y perpetua en cuatro niveles: Lite por $999, Plus por $1,499, Professional por $2,399 e Unlimited por $4,799. No se requiere renovación anual para seguir utilizando la versión adquirida. Las actualizaciones de software dentro del período de licencia están incluidas. Los precios se publican en el sitio web de Iron Software sin necesidad de una conversación de ventas.

Referencia de mapeo de API

Los equipos que evalúen la diferencia arquitectónica entre las dos bibliotecas encontrarán útil este mapeo para comprender las equivalencias de conceptos:

SDK de ScanbotIronBarcode
ScanbotSDKMain.Initialize(new SdkConfiguration { LicenseKey = "..." }, builder)IronBarCode.License.LicenseKey = "key"
new BarcodeScannerScreenConfiguration { UseCase = new SingleScanningMode() }new BarcodeReaderOptions()
ScanbotSDKMain.Barcode.StartScannerAsync(configuration)BarcodeReader.Read(path / stream / bytes)
result.IsSuccessConsulta results.Any() o results.FirstOrDefault() != null
result.Value.ItemsValor de retorno de BarcodeReader.Read()
item.Barcode.Formatresult.Format (IronBarCode.BarcodeEncoding)
item.Barcode.Textresult.Value
BarcodeFormat.Code128BarcodeEncoding.Code128
BarcodeFormat.QrCodeBarcodeEncoding.QRCode
BarcodeFormat.Ean13BarcodeEncoding.EAN13
Configuración de la región de escaneo / relación de aspecto de la cámaraNo existe un equivalente: el encuadre de la imagen lo gestiona MediaPicker.
Configuración de flash / linterna de la cámaraNo existe un equivalente; utilice las opciones de MediaPicker.
Entrada solo para cámaraRuta de archivo, flujo, matriz de bytes o PDF
MAUI iOS/Android y UWP/WinUI 3Todas las plataformas .NET

Cuando los equipos consideran migrar del SDK de Scanbot a IronBarcode

Es común que existan diversas situaciones que lleven a los equipos de desarrollo a evaluar IronBarcode como un sustituto o un complemento del SDK de Scanbot.

Procesamiento del lado del servidor y del backend

Una aplicación móvil desarrollada con Scanbot suele coexistir con un componente del lado del servidor que gestiona la carga de documentos, los trabajos por lotes o los puntos finales de la API. Cuando ese componente del servidor necesita procesar códigos de barras (extraer códigos de barras de archivos PDF cargados, validar valores de códigos de barras en documentos entrantes o procesar datos de códigos de barras de archivos adjuntos de imagen), Scanbot no está disponible. El paquete no se compila en ASP.NET Core, Azure Functions, aplicaciones de consola ni en ningún proyecto que no sea MAUI. Los equipos que se encuentran en esta situación deben mantener una dependencia de códigos de barras para dispositivos móviles junto con una solución de códigos de barras independiente para servidores, o bien, evaluar si IronBarcode puede cubrir ambas funciones con un solo paquete.

Requisitos de la aplicación de escritorio

La propuesta de valor de MAUI suele ser la compatibilidad multiplataforma: un único código base que sirve para iOS, Android y Windows. Cuando el objetivo MAUI de Windowsentra en la hoja de ruta — ya sea desde los requisitos iniciales o como una adición posterior — el paquete ScanbotBarcodeSDK.MAUI no se resuelve en ese objetivo, porque Scanbot cubre Windows a través de un paquete separado UWP/WinUI 3 (Scanbot.BarcodeSDK.Windows) en lugar de a través de MAUI Windows. Los equipos que desean una única ruta de compilación de Windows dentro de un proyecto MAUI de múltiples objetivos, o que necesitan un componente de Windows sin cabeza (como un servicio de Windows), no lo obtendrán del conjunto de paquetes de Scanbot. IronBarcode proporciona un único paquete que se resuelve en el objetivo MAUI de Windows y también se ejecuta en contextos de escritorio sin cabeza y servidor.

Flujos de trabajo de PDF y documentos

Las aplicaciones que pasan del escaneo en tiempo real a la automatización de documentos se topan con una limitación de capacidades en Scanbot. Leer códigos de barras de una factura PDF, extraer códigos de rastreo de una imagen de etiqueta de envío escaneada o procesar datos de códigos de barras de un documento archivado se encuentran fuera del modelo de entrada de Scanbot, que está construido alrededor de una transmisión en vivo de la cámara. IronBarcode gestiona de forma nativa todas estas entradas basadas en archivos. El mismo paquete que se ejecuta en la aplicación móvil MAUI puede extraer códigos de barras de documentos PDF mediante un procesamiento en segundo plano, sin dependencias adicionales.

Costes de licencia predecibles

Los costes de renovación anuales invitan a una reevaluación en cada ciclo de renovación. Los equipos que comenzaron con Scanbot en una implementación móvil a pequeña escala y se expandieron a una implementación más amplia con más usuarios o plataformas pueden encontrar que la tarifa anual es menos favorable a medida que aumenta el alcance. El modelo perpetuo de pago único de IronBarcode elimina la obligación de renovación. Los equipos que realizan evaluaciones de renovación de licencias a menudo consideran si una compra única se ajusta mejor a su planificación de costos a largo plazo, especialmente cuando el alcance ampliado del proyecto incluye plataformas de servidor o de escritorio que, de todos modos, quedan fuera de la cobertura de Scanbot.

Consideraciones comunes sobre la migración

Los equipos que migren del SDK de Scanbot a IronBarcode deben prepararse para varias diferencias técnicas que surgen durante la transición.

No tiene equivalente a un visor en directo.

El visor de cámara en tiempo real de Scanbot, con la superposición de la región de escaneo, la detección continua y la retroalimentación háptica, no tiene un equivalente directo en IronBarcode. El patrón de reemplazo utiliza el MediaPicker.CapturePhotoAsync() de MAUI para abrir la cámara del sistema, capturar una foto y devolver la imagen para su procesamiento. La experiencia del usuario consiste en un proceso de captura de fotos, en lugar de un proceso de escaneo continuo. En las aplicaciones empresariales (inventario, logística, procesamiento de documentos), esta distinción rara vez es significativa. En el caso de las aplicaciones de consumo donde la superposición en tiempo real es fundamental para la experiencia del producto, esta es una diferencia real en la experiencia del usuario que debe evaluarse antes de comprometerse con la migración.

Patrón de devolución de llamada de evento para retorno directo

El ScanbotSDKMain.Barcode.StartScannerAsync() de Scanbot es asíncrono y devuelve un resultado con una bandera IsSuccess y una colección Value.Items. El BarcodeReader.Read() de IronBarcode devuelve una colección directamente, no hay un objeto contenedor con un campo de estado. La verificación de éxito cambia de result.IsSuccess a results.Any() o una verificación de nulo en results.FirstOrDefault().

Cambio de espacio de nombres de enumeración de formato

El enum BarcodeFormat de Scanbot (por ejemplo, BarcodeFormat.Code128) y el enum BarcodeEncoding de IronBarcode (por ejemplo, BarcodeEncoding.Code128) contienen miembros similares pero son tipos diferentes en diferentes espacios de nombres. El código que almacena o compara valores de formato por tipo de enumeración requiere que se actualice la referencia de tipo. Las comparaciones de cadenas basadas en la salida .ToString() son generalmente compatibles ya que los nombres de los miembros son similares, pero las comparaciones explícitas de tipos de enum requieren actualización a los valores BarcodeEncoding.

Complementos de compilación de Windows

Si el paquete Scanbot estaba causando fallos en la compilación de MAUI de Windowsantes de la migración, eliminarlo resuelve esos fallos. Tras añadir IronBarcode, verifique que las funcionalidades específicas de Windows (cuadros de selección de archivos, rutas de archivos locales, permisos de Windows) se gestionen correctamente en el código de la aplicación MAUI, ya que difieren de los patrones de acceso a archivos de iOS y Android.

Funcionalidades adicionales de IronBarcode

Más allá de los escenarios principales que se abordan en esta comparación, IronBarcode ofrece funcionalidades que cobran relevancia a medida que los proyectos se expanden:

  • Generación de códigos de barras: Genera códigos de barras en todos los principales formatos unidimensionales y bidimensionales como archivos de imagen, flujos de datos o contenido incrustado en documentos HTML y PDF.
  • Procesamiento de documentos con múltiples códigos de barras: Lee todos los códigos de barras de todas las páginas de un PDF de varias páginas en una sola llamada, y cada resultado lleva el número de página donde se encontró.
  • Corrección de errores mediante aprendizaje automático: Recupera códigos de barras de imágenes dañadas, parcialmente ocultas o de bajo contraste que los algoritmos de detección estándar no pueden decodificar.
  • Procesamiento de imágenes por lotes: Procese conjuntos de rutas o secuencias de imágenes en una sola operación para flujos de trabajo de documentos de alto rendimiento.
  • Ajuste de BarcodeReaderOptions: Controle la velocidad de lectura, la detección de múltiples códigos de barras, el filtrado de formato y el preprocesamiento de imágenes para equilibrar el rendimiento y la precisión para casos de uso específicos.
  • Integración con iOS MAUI : Compatibilidad total con la lectura de códigos de barras en aplicaciones iOS MAUImediante el patrón MediaPicker.
  • Integración con Android MAUI : Compatibilidad total con la lectura de códigos de barras en aplicaciones Android MAUIcon la misma API que iOS.

Compatibilidad con .NET y preparación para el futuro

IronBarcode es compatible con .NET 6, .NET 7, .NET 8 y .NET 9, así como con .NET Framework 4.6.2 y versiones posteriores. La biblioteca recibe actualizaciones periódicas que se ajustan al ritmo de lanzamiento de .NET , lo que garantiza la compatibilidad con .NET 10, previsto para finales de 2026, y con futuras versiones. Dado que IronBarcode es una biblioteca de procesamiento de archivos y no un SDK de cámara específico para una plataforma, no depende de las API del sistema operativo móvil ni de las capacidades de hardware, lo que significa que su superficie de compatibilidad crece con el ecosistema .NET en lugar de estar limitada por los ciclos de soporte de la plataforma móvil.

Conclusión

Scanbot SDK e IronBarcode ocupan diferentes categorías de productos que comparten la etiqueta 'SDK de código de barras'. Scanbot es un componente de escaneo de cámara que ofrece una experiencia de visor en vivo para iOS y Android (a través de MAUI) y Windows (a través de UWP/WinUI 3). IronBarcode es una biblioteca de procesamiento de archivos y documentos que lee y genera códigos de barras en toda la gama de tipos de proyectos .NET y destinos de implementación. La comparación se centra en el alcance y la arquitectura, no en la calidad dentro del ámbito previsto de cada biblioteca.

Scanbot SDK es fuerte dentro de su ámbito definido. Para aplicaciones donde el usuario apunta directamente una cámara del dispositivo a un código de barras físico y espera una retroalimentación visual en tiempo real — retail, emisión de boletos, búsqueda en almacén — la canalización de cámara de Scanbot y el componente de visor están construidos específicamente para ese modelo de interacción. Si el despliegue está limitado a objetivos vinculados a la cámara (iOS, Android y UWP/WinUI 3 en Windows), la experiencia de escaneo en vivo es central al producto, y la tarifa plana anual se ajusta al presupuesto, Scanbot es una elección razonable para ese caso de uso.

IronBarcode es apropiado cuando el requisito de procesamiento de códigos de barras va más allá del escenario de la cámara en directo. El procesamiento de documentos del lado del servidor, los puntos finales de ASP.NET Coreque aceptan cargas de archivos, las aplicaciones de escritorio en Windows o macOS, las Azure Functionsactivadas por el almacenamiento de blobs, los proyectos MAUI de múltiples objetivos que incluyen plataformas de escritorio y los trabajos de procesamiento de PDF por lotes se encuentran dentro del ámbito nativo de IronBarcode. El paquete único se instala sin configuración condicional de plataforma y proporciona la misma llamada BarcodeReader.Read() independientemente de si el código se ejecuta en un dispositivo móvil, un servidor o un escritorio.

Para los equipos cuyos requisitos abarcan tanto el escaneo en tiempo real con cámaras móviles como el procesamiento de archivos o servidores, la solución arquitectónicamente más limpia es usar Scanbot para la interfaz de usuario de la cámara móvil e IronBarcode para todo lo demás. El coste de ese enfoque reside en dos dependencias de códigos de barras y dos acuerdos de licencia. Para los equipos que prefieran usar la cámara del sistema en lugar de un visor personalizado para la interacción de escaneo móvil, IronBarcode por sí solo puede cubrir todo el alcance del proyecto, desde la aplicación móvil MAUI hasta la API del servidor y la aplicación complementaria para escritorio de Windows, con un solo paquete y una sola licencia.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta