IRONSOFTWAREHOME
VIDEOS

Migrating from Código de barras Syncfusion to IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 de agosto de 2026

Esta guía proporciona un camino de migración completo desde los controles de código de barras de Syncfusion — SfBarcode para WinForms y WPF, SfBarcodeGenerator para Blazor y MAUI — a IronBarcode. Cubre las razones estructurales por las que los equipos realizan esta transición, una guía rápida paso a paso para reemplazar los paquetes NuGet y la configuración de licencias, ejemplos de código completos de antes y después para cada escenario común y una lista de verificación de migración para auditar una base de código existente. Si el proyecto también utiliza otros componentes de Syncfusion (cuadrículas, gráficos, planificadores), esos paquetes y sus registros no se verán afectados; solo cambiará el código específico del código de barras.

¿Por qué migrar desde Syncfusion Barcode?

Brecha de lectura: SfBarcode y SfBarcodeGenerator son controles de generación sin capacidad de lectura. No hay método .Read() o .Scan() en ninguna de las clases. Cuando un proyecto requiere leer códigos de barras de imágenes cargadas, documentos escaneados o archivos PDF, el control de códigos de barras de Syncfusion no ofrece ninguna solución. La documentación de Syncfusion recomienda a los equipos utilizar el lector de códigos de barras OPX como solución, que es un producto comercial independiente que debe adquirirse, licenciarse y mantenerse por separado.

OPX como envoltorio de pago para software libre: el lector de códigos de barras OPX utiliza internamente ZXing .NET , una biblioteca de lectura de códigos de barras de código abierto publicada bajo la licencia Apache 2.0. Apache 2.0 es una licencia permisiva; cualquier desarrollador .NET puede instalar ZXing.Net directamente con dotnet add package ZXing.Net y usarlo en aplicaciones comerciales sin costo. Un flujo de trabajo completo de lectura y generación de Syncfusion requiere dos productos de Syncfusion separados, dos acuerdos de licencia y dos superficies de API, mientras que la capacidad de lectura podría haberse obtenido directamente de la biblioteca gratuita que OPX envuelve.

Requisitos para la Licencia Comunitaria: La Licencia Comunitaria de Syncfusion exige que se cumplan cuatro condiciones de forma simultánea y continua: ingresos brutos anuales inferiores a 1.000.000 $, cinco o menos desarrolladores, diez o menos empleados en total y capital externo total recaudado inferior a 3.000.000 $. Las organizaciones gubernamentales no son elegibles, independientemente de su tamaño. El incumplimiento de cualquiera de estas condiciones genera una obligación inmediata de obtener una licencia comercial. Una ronda de financiación Serie A suele elevar el capital recaudado por encima de los 3.000.000 de dólares el día de su cierre, lo que activa una tasa de licencia independientemente del tamaño del equipo o de los ingresos. La transición comercial va de $0 a una suscripción anual por desarrollador a Essential Studio — y esa suscripción cubre toda la suite, no solo el componente de código de barras. La ruta publicada por Syncfusion es una cotización personalizada de ventas.

Rotación de claves específica de la versión: Las claves de licencia de Syncfusion están vinculadas a rangos de versiones específicos de Essential Studio. La actualización de la versión 24.x a la 25.x requiere obtener una nueva clave del portal de la cuenta, actualizar esa clave en el almacén de secretos de cada entorno de implementación y volver a implementar para evitar que aparezcan marcas de agua de prueba en los resultados de producción. Para los equipos con ciclos de lanzamiento frecuentes o múltiples objetivos de implementación, esta rotación se convierte en una carga operativa recurrente desproporcionada con respecto al requisito subyacente de generar una imagen de código de barras.

El problema fundamental

La arquitectura de control de Syncfusion hace que la generación programática de archivos sea indirecta. La producción de un archivo de código de barras con SfBarcode requiere preasignar un Bitmap, llamar a DrawToBitmap y luego guardar el mapa de bits, un patrón de renderizado de WinForms que lleva el tiempo de ejecución de Windows Forms como dependencia:

// Syncfusion SfBarcode: indirect file output through DrawToBitmap
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");

var barcode = new SfBarcode();
barcode.Text = "SHIP-2024-001";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.Width = 400;
barcode.Height = 150;

using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("shipping-label.png", ImageFormat.Png);
// Reading: not possible — requires separate OPX purchase

IronBarcode genera archivos directamente y los lee con el mismo paquete:

// IronBarcode: direct generation and reading in one package
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

// Generate
BarcodeWriter.CreateBarcode("SHIP-2024-001", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .SaveAsPng("shipping-label.png");

// Read — same package, no additional product required
var results = BarcodeReader.Read("shipping-label.png");
foreach (var result in results)
    Console.WriteLine($"{result.Format}: {result.Value}");

IronBarcode vs Syncfusion Barcode: Comparación de características

CaracterísticaCódigo de barras SyncfusionIronBarcode
Generación de códigos de barrasSí — Control de interfaz de usuario (WinForms, WPF, Blazor, MAUI)Sí, API estática, todos los entornos
Lectura de códigos de barrasNo, se requiere un lector de códigos de barras OPX independiente.Sí, el mismo paquete.
OPX utiliza envoltorios de lectura de productos ZXing .NET (Apache 2.0).N/A
Salida de código de barras PDFNo, requiere Syncfusion.Pdf adicionalmenteSí — SaveAsPdf() incorporado
Lectura de códigos de barras PDFNoSí, nativo
Generación del lado del servidor / sin interfaz gráficaRequiere tiempo de ejecución de WinForms (DrawToBitmap)Nativo: sin dependencia de interfaz de usuario.
Implementación en Docker/LinuxLimitadoSoporte completo
API mínima de ASP.NET CoreNo cuenta con soporte directo.Soporte completo
Código QR con logotipo integradoNoSí — .AddBrandLogo()
Detección automática de formato en lecturaN/A
Comunidad / nivel gratuitoLicencia comunitaria (cuatro condiciones simultáneas)Prueba gratuita de 30 días (solo con marca de agua)
Modelo de licencia comercialSuscripción anual (Estudio Esencial)Perpetua (única vez, ver ironsoftware.com/csharp/barcode/licensing)
Alcance de la clave de licenciaDepende de la versión y se actualiza con las principales actualizaciones de NuGet.Versión estable dentro de la versión principal
Pasos para registrarse en la plataforma3-4 pasos (Registrar licencia + Agregar SyncfusionBlazor + Configurar SyncfusionCore + importaciones de Razor )Una línea, todas las plataformas
Gama de formatos 1DCódigo 128, Código 39, EAN, UPC, Codabar y otros.Todos los formatos de Syncfusion , Plus de PDF417, Aztec, MaxiCode, GS1, USPS IMb y más de 50.
Gama de formatos 2DCódigo QR, DataMatrixCódigo QR, DataMatrix, PDF417, Micro PDF417, Aztec, MaxiCode

Inicio rápido

Paso 1: Sustituir paquetes NuGet

Retire el paquete de códigos de barras de Syncfusion para la plataforma que esté utilizando. Si el proyecto está dirigido a varias plataformas, ejecute la eliminación para cada una:

# Blazor
dotnet remove package Syncfusion.Blazor.BarcodeGenerator

# WinForms
dotnet remove package Syncfusion.SfBarcode.Windows

# WPF
dotnet remove package Syncfusion.SfBarcode.WPF

# MAUI
dotnet remove package Syncfusion.Maui.Barcode
SHELL

Si no quedan otros paquetes de Syncfusion en el proyecto después de eliminar el paquete de códigos de barras, elimine también el paquete de licencias:

dotnet remove package Syncfusion.Licensing
SHELL

Instala IronBarcode : un único paquete para todas las plataformas.

dotnet add package IronBarcode
SHELL

Paso 2: Actualizar los espacios de nombres

Elimine los espacios de nombres de códigos de barras de Syncfusion y agregue el espacio de nombres de IronBarcode :

// Remove these (barcode-specific; leave others if non-barcode Syncfusion controls remain)
using Syncfusion.Windows.Forms.Barcode;
using Syncfusion.Licensing;
// @using Syncfusion.Blazor.BarcodeGenerator  (in _Imports.razor)

// Add this
using IronBarCode;

Paso 3: Inicializar licencia

Elimine el registro de licencia de Syncfusion y la configuración de la plataforma del inicio de la aplicación. Luego, agregue una única línea de licencia de IronBarcode en la misma ubicación de inicio:

// Remove from Program.cs / App.xaml.cs / MauiProgram.cs:
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
builder.Services.AddSyncfusionBlazor();         // Blazor only — remove if no other Syncfusion controls
builder.ConfigureSyncfusionCore();              // MAUI only — remove if no other Syncfusion controls

// Add at the same startup point:
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Para pipelines de CI/CD y contenedores Docker, almacene la clave en una variable de entorno:

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

Ejemplos de migración de código

Conversión de SfBarcode a BarcodeWriter en WinForms

La migración de WinForms elimina la indirectación DrawToBitmap y la reemplaza con una cadena de salida de archivo directa. El patrón de Syncfusion requiere preasignar un Bitmap de dimensiones conocidas; IronBarcode calcula las dimensiones como parte de la llamada de generación.

Enfoque de Syncfusion :

using Syncfusion.Windows.Forms.Barcode;
using System.Drawing;
using System.Drawing.Imaging;

Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");

var barcode = new SfBarcode();
barcode.Text = "ORD-20240315-001";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.BarHeight = 100;
barcode.NarrowBarWidth = 1;
barcode.ShowText = true;
barcode.Width = 400;
barcode.Height = 150;

using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("order-label.png", ImageFormat.Png);

Enfoque de IronBarcode :

using IronBarCode;

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

BarcodeWriter.CreateBarcode("ORD-20240315-001", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .AddBarcodeText()
    .SaveAsPng("order-label.png");

BarcodeSymbolType.Code128A se asigna a BarcodeEncoding.Code128. La secuencia DrawToBitmap + Bitmap.Save se colapsa en .SaveAsPng(). Si el código de barras debe mostrarse dentro de un PictureBox de WinForms en lugar de guardarse en el disco, use .ToPngBinaryData() para cargar la imagen en el control. La gama completa de formatos de código de barras 1D en IronBarcode va mucho más allá de la lista de formatos compatibles con el control Syncfusion .

Generador de códigos de barras Blazor a punto final de API mínimo

La migración de Blazor es un cambio estructural, más que una sustitución línea por línea. SfBarcodeGenerator es un componente Razor que se renderiza en el navegador a través de la capa de JavaScript de Syncfusion. IronBarcode no tiene ningún componente Razor ; Es una biblioteca del lado del servidor. El patrón de reemplazo consiste en un punto final de API mínimo en el servidor que devuelve bytes de código de barras, a los que se hace referencia en la página Razor como origen de la imagen.

Enfoque de Syncfusion :

@page "/fulfillment"
@using Syncfusion.Blazor.BarcodeGenerator

<SfBarcodeGenerator
    Width="300px"
    Height="150px"
    Type="BarcodeType.Code128"
    Value="@orderNumber">
    <BarcodeGeneratorDisplayText Visibility="true"></BarcodeGeneratorDisplayText>
</SfBarcodeGenerator>

@code {
    private string orderNumber = "ORD-20240315-001";
}
Text

Enfoque de IronBarcode :

Agregue un punto de generación en Program.cs:

using IronBarCode;

app.MapGet("/barcode/{value}", (string value) =>
{
    var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
        .ResizeTo(300, 150)
        .AddBarcodeText()
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});

Haga referencia al punto final en el componente Razor :

@page "/fulfillment"

<img src="/barcode/@orderNumber" alt="Order barcode: @orderNumber" />

@code {
    private string orderNumber = "ORD-20240315-001";
}
Text

Este punto final se puede probar de forma independiente, es reutilizable desde cualquier cliente HTTP y es compatible con Blazor Server, Blazor WebAssembly con un backend de API alojado y cualquier otro frontend web.

Generación de códigos QR

El componente QR de Syncfusion también se renderiza en el navegador sin ninguna ruta de salida del lado del servidor. IronBarcode genera códigos QR en el servidor con salida directa a archivos.

Enfoque de Syncfusion :

@using Syncfusion.Blazor.BarcodeGenerator

<SfQRCodeGenerator
    Width="300px"
    Height="300px"
    Value="https://example.com/product/ABC-123">
    <QRCodeGeneratorDisplayText Visibility="false">
    </QRCodeGeneratorDisplayText>
</SfQRCodeGenerator>
Text

Enfoque de IronBarcode :

using IronBarCode;

// Standard QR code
QRCodeWriter.CreateQrCode("https://example.com/product/ABC-123", 300,
    QRCodeWriter.QrErrorCorrectionLevel.High)
    .SaveAsPng("product-qr.png");

// QR code with embedded brand logo — not available in Syncfusion
QRCodeWriter.CreateQrCode("https://example.com/product/ABC-123", 500,
    QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("product-qr-branded.png");

Reemplazo de lectura OPX

Si el proyecto utilizó Barcode Reader OPX, o si pospuso un requisito de lectura para una futura compra de OPX, IronBarcode reemplaza esa dependencia con el paquete que ya está instalado. Sin producto secundario, sin segunda licencia.

Enfoque Syncfusion (lector de código de barras OPX):

// Requires separate Código de barras Syncfusion Reader OPX purchase
// OPX wraps ZXing.Net internally (Apache 2.0 — free to use directly)
using Syncfusion.BarcodeReader;

var reader = new BarcodeReader();
var results = reader.ReadBarcodes("warehouse-scan.png");
foreach (var result in results)
    Console.WriteLine($"Value: {result.Value}");
C#

Enfoque de IronBarcode :

using IronBarCode;

// Included in the same NuGet package as generation — no second product required
var results = BarcodeReader.Read("warehouse-scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
}

La documentación sobre lectura de códigos de barras abarca la lectura de matrices de bytes para controladores de carga, el ajuste de velocidad frente a precisión y la detección de múltiples códigos de barras.

Generación de códigos de barras PDF

Los controles de código de barras de Syncfusion no tienen ruta de salida a PDF. IronBarcode trata el formato PDF como un formato de salida de primera clase.

Enfoque de Syncfusion :

// No direct path — requires combining Syncfusion.Barcode.WinForms and Syncfusion.Pdf
// Step 1: Generate to Bitmap via DrawToBitmap
// Step 2: Load Syncfusion PDF document
// Step 3: Insert bitmap as image element
// Two packages, two APIs, two license obligations

Enfoque de IronBarcode :

using IronBarCode;

// Generate directly to PDF — no secondary library required
BarcodeWriter.CreateBarcode("PALLET-2024-0891", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .SaveAsPdf("pallet-label.pdf");

// Read barcodes from an existing PDF
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");

La guía para la generación de PDF con códigos de barras abarca la creación de archivos PDF de varias páginas y la inserción de códigos de barras junto con el resto del contenido del documento.

Referencia de mapeo de la API de códigos de barras de Syncfusion a IronBarcode

SyncfusionIronBarcode
SyncfusionLicenseProvider.RegisterLicense("KEY")IronBarCode.License.LicenseKey = "key"
builder.Services.AddSyncfusionBlazor()No es necesario
builder.ConfigureSyncfusionCore()No es necesario
new SfBarcode()BarcodeWriter.CreateBarcode() (estático)
barcode.Text = "value"Primer parámetro de CreateBarcode()
barcode.Symbology = BarcodeSymbolType.Code128ABarcodeEncoding.Code128
barcode.Symbology = BarcodeSymbolType.QRBarcodeQRCodeWriter.CreateQrCode()
barcode.BarHeight = 100.ResizeTo(width, 100)
barcode.ShowText = true.AddBarcodeText()
barcode.DrawToBitmap(bitmap, rect).SaveAsPng(path)
Manual BitmapMemoryStream.ToPngBinaryData()
<SfBarcodeGenerator Type="BarcodeType.Code128" Value="...">BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128) en el endpoint de API
<SfQRCodeGenerator Value="...">QRCodeWriter.CreateQrCode(value, size) en el endpoint de API
BarcodeType.Code128 (enum Blazor)BarcodeEncoding.Code128
Lector de códigos de barras OPX (producto independiente, compatible con ZXing .NET)BarcodeReader.Read(path) — nativo, mismo paquete
No hay API de lectura en el controlBarcodeReader.Read(path)
No hay salida PDF en el control.SaveAsPdf(path)
No se permite la lectura de archivos PDF.BarcodeReader.Read("document.pdf")

Problemas comunes de migración y soluciones

Problema 1: Marcas de agua de prueba después de la actualización de NuGet

Syncfusion: La actualización de Essential Studio 24.x a 25.x invalida la clave de licencia existente. Cualquier resultado generado antes de actualizar el almacén de secretos mostrará una marca de agua de prueba. Se trata de un fallo silencioso: la aplicación sigue funcionando, pero produce resultados que no cumplen con los requisitos.

Solución: Tras actualizar el paquete NuGet de IronBarcode , la clave de licencia no cambia dentro de una versión principal. No es necesario actualizar ni redistribuir los secretos para las versiones menores o de parches. Al actualizar a una nueva versión principal, actualice la clave una sola vez en el punto de entrada de la aplicación:

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

Problema 2: DrawToBitmap falla en entornos sin interfaz gráfica.

Syncfusion: SfBarcode.DrawToBitmap depende de la canalización de renderizado de Windows Forms. En un proceso ASP.NET Core, Azure Function o contenedor Docker de Linux, llamar a DrawToBitmap lanzará InvalidOperationException o producirá un mapa de bits en blanco porque no hay un bucle de mensajes de Windows Forms presente.

Solución: Reemplace con BarcodeWriter.CreateBarcode(). IronBarcode realiza la generación en código administrado sin ninguna dependencia de tiempo de ejecución de la interfaz de usuario:

// Works in ASP.NET Core, Azure Functions, Docker on Linux, console apps
var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .ToPngBinaryData();

Problema 3: SfBarcodeGenerator no tiene salida en el servidor.

Syncfusion: SfBarcodeGenerator es un componente Razor sin superficie de API del lado del servidor. Los intentos de utilizarlo en una acción de controlador o en un servicio en segundo plano no encontrarán ningún método aplicable para generar bytes de código de barras.

Solución: Crear un punto final de API mínimo que genere el código de barras en el servidor y lo devuelva como respuesta HTTP. Referencie el endpoint desde el componente Razor a través de una etiqueta <img src="...">:

app.MapGet("/barcode/{value}", (string value) =>
{
    var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
        .ResizeTo(300, 150)
        .ToPngBinaryData();
    return Results.File(bytes, "image/png");
});

Problema 4: Falta de capacidad de lectura (OPX no adquirido)

Syncfusion: Los proyectos que aplazaron la lectura de códigos de barras porque aún no se había adquirido OPX no tienen código de lectura para migrar. Agregar la capacidad de lectura desde cero requiere la adquisición de OPX, su integración y un nuevo acuerdo de licencia.

Solución: La lectura de IronBarcode está incluida en el mismo paquete. No se requiere adquisición ni licencia adicional. Agregue BarcodeReader.Read(path) donde se requiera lectura:

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

Problema 5: Caducidad de la licencia comunitaria durante la migración

Syncfusion: Un equipo que utilice la Licencia Comunitaria y supere cualquier umbral de elegibilidad durante el período de migración, incluido el cierre de una ronda de financiación, puede encontrarse con que los controles de Syncfusion dejan de producir resultados válidos antes de que finalice la migración.

Solución: La prueba gratuita de 30 días de IronBarcode permite una evaluación completa sin condiciones de ingresos, plantilla o capital. La marca de agua de prueba aparece en la salida generada; Al activar una clave de licencia comprada, esta se elimina. El modelo de licencias de IronBarcode no establece umbrales de tamaño para las organizaciones.

Lista de verificación para la migración de códigos de barras de Syncfusion

Tareas previas a la migración

Audite el código fuente para localizar todos los archivos que hacen referencia al código de barras de Syncfusion :

grep -r "SyncfusionLicenseProvider.RegisterLicense\|AddSyncfusionBlazor\|ConfigureSyncfusionCore" --include="*.cs" .
grep -r "new SfBarcode\(\)\|SfBarcodeGenerator\|SfQRCodeGenerator" --include="*.cs" --include="*.razor" .
grep -r "BarcodeSymbolType\.\|BarcodeType\." --include="*.cs" --include="*.razor" .
grep -r "DrawToBitmap\|barcode\.Text\s*=" --include="*.cs" .
grep -r "Syncfusion\.Barcode\|Syncfusion\.Blazor\.BarcodeGenerator" --include="*.csproj" .
SHELL

Documente lo siguiente antes de escribir cualquier código de migración:

  • Liste cada archivo que llame a SyncfusionLicenseProvider.RegisterLicense
  • Liste cada instanciación de SfBarcode y sus asignaciones de propiedades
  • Liste cada uso del componente Razor <SfBarcodeGenerator> y <SfQRCodeGenerator>
  • Liste cada llamada DrawToBitmap y la ruta de guardado o visualización posterior
  • Confirme si el lector de códigos de barras OPX está instalado; Si es así, enumere todas las llamadas de lectura.

Tareas de actualización de código

  1. Elimine el/los paquete(s) NuGet de código de barras de Syncfusion para cada plataforma en el proyecto.
  2. Eliminar el paquete NuGet Syncfusion.Licensing si no quedan otros controles de Syncfusion
  3. Instalar el paquete NuGet IronBarcode
  4. Reemplace SyncfusionLicenseProvider.RegisterLicense("KEY") con IronBarCode.License.LicenseKey = "KEY" en el punto de entrada de la aplicación
  5. Eliminar builder.Services.AddSyncfusionBlazor() si no quedan otros controles de Syncfusion
  6. Eliminar builder.ConfigureSyncfusionCore() si no quedan otros controles de Syncfusion
  7. Eliminar @using Syncfusion.Blazor y @using Syncfusion.Blazor.BarcodeGenerator de _Imports.razor si es aplicable
  8. Reemplazar using Syncfusion.Windows.Forms.Barcode y using Syncfusion.Licensing con using IronBarCode
  9. Reemplazar cada bloque new SfBarcode() + asignaciones de propiedades + DrawToBitmap con BarcodeWriter.CreateBarcode(value, BarcodeEncoding.X).ResizeTo(w, h).SaveAsPng(path)
  10. Reemplazar BarcodeSymbolType.Code128A (y equivalentes) con BarcodeEncoding.Code128
  11. Reemplazar BarcodeType.Code128 (enum Blazor) con BarcodeEncoding.Code128
  12. Reemplazar cada componente Razor <SfBarcodeGenerator> con un endpoint de API mínimo y una referencia <img src="..."> en el componente
  13. Reemplazar cada componente Razor <SfQRCodeGenerator> con un endpoint QRCodeWriter.CreateQrCode() y una referencia <img src="...">
  14. Reemplace todas las llamadas de lectura de OPX del lector de códigos de barras con BarcodeReader.Read(path)
  15. Agregue BarcodeReader.Read(path) donde previamente no había capacidad de lectura debido a que OPX no fue adquirido

Pruebas posteriores a la migración

  • Verifique que las imágenes de códigos de barras generadas sean válidas para el escaneo utilizando un escáner de hardware o una aplicación de lector de referencia.
  • Verifique que no aparezcan marcas de agua de prueba en la salida generada después de la activación de la clave de licencia.
  • Confirmar que BarcodeReader.Read() devuelve el valor y formato esperado para cada tipo de código de barras en uso
  • Probar la salida PDF con .SaveAsPdf() para confirmar que las dimensiones de la página y del código de barras coinciden con los requisitos de diseño
  • Pruebe el endpoint de la API mínima de Blazor directamente (a través del navegador o cliente HTTP) antes de probarlo dentro del componente Razor.
  • Confirmar que la implementación de Docker y Linux produce resultados idénticos a los de las máquinas de desarrollo de Windows.
  • Ejecutar una auditoría final grep para confirmar que no quedan referencias a SfBarcode, SfBarcodeGenerator, DrawToBitmap, BarcodeSymbolType o SyncfusionLicenseProvider

Principales ventajas de migrar a IronBarcode

Generación y lectura unificadas: tras la migración, tanto la generación como la lectura funcionan a través de un único paquete NuGet bajo una sola licencia. No hay ningún producto secundario que comprar, ninguna otra interfaz API que aprender, ni ninguna dependencia del envoltorio ZXing .NET que consuma un presupuesto de licencia que podría destinarse a la biblioteca de código abierto directa.

Eliminación de la rotación de claves específica de la versión: las claves de licencia de IronBarcode siguen siendo válidas para las actualizaciones menores y los parches dentro de una versión principal. Se elimina por completo la sobrecarga operativa que supone obtener una nueva clave, actualizar los secretos en cada entorno de implementación y volver a implementar para eliminar las marcas de agua de prueba en cada actualización importante de la versión de NuGet .

Implementación independiente de la plataforma: el mismo paquete IronBarcode y la misma API de generación funcionan en aplicaciones de escritorio WinForms, servicios ASP.NET Core , Azure Functions, aplicaciones de consola y contenedores Docker de Linux. La dependencia del tiempo de ejecución de Windows Forms introducida por DrawToBitmap se elimina, y las implementaciones de Blazor pasan de componentes renderizados en el navegador a endpoints de API del lado del servidor que son independientemente comprobables y agnósticos al cliente.

Compatibilidad nativa con PDF: Tanto la generación como la lectura se extienden al formato PDF de forma nativa. Generar un PDF con código de barras ya no requiere coordinar dos productos de Syncfusion ; La lectura de códigos de barras a partir de manifiestos y documentos de envío en formato PDF ya no requiere un paso de extracción de PDF por separado.

Economía de licencias predecible: el modelo de licencia perpetua de IronBarcode no impone umbrales de ingresos, plantilla, número de empleados ni capital. Los equipos que han superado los requisitos de elegibilidad para la Licencia Comunitaria de Syncfusion , o que prevén hacerlo, pasan a un modelo de licenciamiento en el que el crecimiento organizacional no genera un evento de cumplimiento.

Por favor nota: Syncfusion y ZXing.NET son marcas registradas de sus respectivos propietarios. Este sitio no está afiliado, respaldado ni patrocinado por Syncfusion o ZXing.NET. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.
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