IRONSOFTWAREHOME
VIDEOS

Migrating from Telerik RadBarcodeto IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 de agosto de 2026

Esta guía proporciona un camino completo de migración de Telerik RadBarcodea IronBarcode para los desarrolladores de .NET que han alcanzado los límites de lo que RadBarcode y RadBarcodeReader pueden hacer. Abarca la sustitución de paquetes, las actualizaciones de espacios de nombres, la inicialización de licencias, ejemplos de migración a nivel de código, una referencia de asignación de API y una lista de verificación para comprobar que la migración se ha completado. Los ejemplos se centran en los escenarios más comunes que se presentan durante las migraciones de códigos de barras de Telerik: reemplazo de controles XAML, expansión del formato de lectura, implementación en el servidor y procesamiento de PDF.

¿Por qué migrar desde Telerik RadBarcode?

Las migraciones de Telerik RadBarcodese desencadenan por requisitos técnicos concretos que los componentes existentes no pueden satisfacer. Las razones que se exponen a continuación representan las condiciones más comúnmente reportadas por los equipos que han completado o están evaluando esta transición.

Límite de Lectura 2D: El componente RadBarcodeReader en WPF y el componente RadBarcodeReader en WinForms comparten el mismo motor de lectura, que está limitado por el enum DecodeType. Esa enumeración contiene entradas para formatos lineales 1D — Code128, Code39, EAN13, EAN8, UPCA, UPCE, Codabar, ITF — y nada más. No existe ninguna entrada para Código QR, DataMatrix, PDF417 o Aztec. Cuando llega un nuevo requerimiento para procesar códigos QR entrantes o leer etiquetas DataMatrix de documentos escaneados, la restricción DecodeType se convierte en un obstáculo sin solución posible dentro de la familia de productos Telerik.

Fragmentación de Código de Plataforma: Leer con Telerik requiere dependencias del marco de UI: RadBarcodeReader utiliza tipos WPF (BitmapImage) y RadBarcodeReader utiliza tipos WinForms (System.Drawing.Image). Estos tipos no pueden ser referenciados en una biblioteca .NET compartida, una aplicación de consola, un proyecto ASP.NET Core o un servidor Blazor . Un equipo que quiera centralizar la lógica de lectura de códigos de barras en una capa de servicio compartido no puede hacerlo con los tipos de Telerik, ya que las implementaciones de los lectores están vinculadas permanentemente a sus respectivos marcos de interfaz de usuario.

Brecha en el procesamiento de PDF: Muchos flujos de trabajo de códigos de barras operan sobre documentos en lugar de archivos de imagen. Telerik RadBarcodeReader solo acepta imágenes de mapa de bits. Para leer un código de barras incrustado en una página PDF, es necesario convertir la página en una imagen utilizando una biblioteca independiente y, a continuación, introducir esa imagen en el lector Telerik, lo que añade una dependencia y sigue obteniendo solo resultados unidimensionales. Para los equipos cuyos documentos son principalmente archivos PDF, esta solución alternativa añade fricción en cada punto del flujo de trabajo.

Licencias por suscripción: La funcionalidad de códigos de barras de Telerik no se vende como un paquete independiente. El acceso a RadBarcode y RadBarcodeReader está incluido en suscripciones específicas de la suite de UI por plataforma; las suscripciones de UI de Telerik comienzan en $749 por desarrollador por año (nivel Lite) y DevCraft UI es $1,149 por desarrollador por año para todas las plataformas combinadas, según los precios publicados por Telerik para 2026. Los equipos cuyo requisito principal es la funcionalidad de código de barras, y que no utilizan otros controles de la interfaz de usuario de Telerik, asumen el coste total del Suite por un componente que representa una pequeña fracción de lo que se compra.

El problema fundamental

La expresión más clara de la limitación de lectura de Telerik es que el componente que genera un formato no puede procesarlo de ida y vuelta a través del lector:

// Telerik — generates a QR code, then cannot read it back
var qrBarcode = new RadBarcode();
qrBarcode.Value = "https://example.com/order/4821";
qrBarcode.Symbology = new QRCode { ErrorCorrectionLevel = ErrorCorrectionLevel.H };
// Save to file...

// Attempt to read the same QR code:
var reader = new RadBarcodeReader();
// DecodeType.QR does not exist — QR cannot be added to this list
reader.DecodeTypes = new[] { DecodeType.Code128, DecodeType.EAN13 };
var bitmap = new BitmapImage(new Uri("qr-output.png", UriKind.Absolute));
var result = reader.Decode(bitmap);
// result == null — always, for any QR code image

IronBarcode soluciona este problema. La generación y la lectura utilizan el mismo paquete, y el motor de lectura detecta automáticamente códigos QR, DataMatrix, PDF417 y todos los demás formatos:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

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

// Generate a QR code
BarcodeWriter.CreateBarcode("https://example.com/order/4821", BarcodeEncoding.QRCode)
             .SaveAsPng("qr-output.png");

// Read that same QR code back — no format specification needed
var results = BarcodeReader.Read("qr-output.png");
Console.WriteLine(results.First().Value);
// Output: https://example.com/order/4821

IronBarcode vs Telerik RadBarcode: Comparación de características

CaracterísticaTelerik RadBarcodeIronBarcode
Generación de códigos de barras 1DSí (todas las plataformas)
Generación de códigos de barras 2DSí (todas las plataformas)
Lectura de códigos de barras 1DSolo WPF + WinFormsSí (todas las plataformas)
Lectura de código QRSolo WPFSí (todas las plataformas)
Lectura de DataMatrixSolo WPFSí (todas las plataformas)
Lectura del PDF417Solo WPFSí (todas las plataformas)
Lectura aztecaNo disponible
Lectura de archivos PDFNo disponibleSí (nativo)
Detección de formato automáticoNo — Se requiere DecodeType
Lectura ASP.NET CoreNo disponible
Lectura de BlazorNo disponible
Lectura sobre Docker/LinuxNo disponible
Biblioteca de servicios compartidosNo es posible (tipos de plataforma)
API de lectura estáticaNo (requiere instancia)
Paquete NuGet independienteNo — Se requiere Suite de interfaz de usuario
Licencia perpetuaNivel perpetuo disponible junto con la suscripciónSí — desde $999 (Lite)

Inicio rápido

Paso 1: Sustituir el paquete NuGet

Elimine el paquete Telerik UI para la plataforma o plataformas de su proyecto:

# WPF
dotnet remove package Telerik.UI.for.Wpf.60.Xaml

# WinForms
dotnet remove package Telerik.UI.for.WinForms.Common
dotnet remove package Telerik.UI.for.WinForms.Barcode

# Blazor
dotnet remove package Telerik.UI.for.Blazor
SHELL

Si su proyecto también utiliza otros controles de Telerik del mismo paquete, deje el paquete en su lugar y continúe con el paso 2. Eliminará las llamadas a la API específicas para códigos de barras sin eliminar el paquete compartido.

Instalar IronBarcode:

dotnet add package IronBarcode
SHELL

Un único paquete abarca WPF, WinForms, ASP.NET Core, Blazor Server, aplicaciones de consola, Docker, Azure Functions y AWS Lambda. La documentación completa sobre la compatibilidad de la plataforma detalla las versiones exactas de .NET y los sistemas operativos compatibles.

Paso 2: Actualizar los espacios de nombres

Elimine las importaciones del espacio de nombres de códigos de barras de Telerik y reemplácelas con el espacio de nombres de IronBarcode :

// Remove these namespace imports:
// using Telerik.Windows.Controls.Barcode;      // WPF reader and generator
// using Telerik.Windows.Controls;              // WPF general
// using Telerik.WinControls.UI;               // WinForms
// using Telerik.WinControls.UI.Barcode;        // WinForms barcode reader

// Add this:
using IronBarCode;

Paso 3: Inicializar licencia

Sustituya la inicialización de la licencia de Telerik por la asignación de clave de IronBarcode al iniciar la aplicación:

// Remove:
// Telerik.WinControls.TelerikLicenseManager.InstallLicense("key");

// Add at application startup (Program.cs, App.xaml.cs, or composition root):
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

La asignación clave se realiza una sola vez en el punto de entrada de la aplicación. No hay ningún archivo de licencia que implementar, ni ruta de inicialización por plataforma, ni configuración separada para WPF frente a ASP.NET Core.

Ejemplos de migración de código

Generación de un código de barras: del control XAML a una API basada en código.

La generación de Telerik en WPF es declarativa — el elemento XAML RadBarcode se renderiza directamente en el árbol de UI. IronBarcode genera códigos de barras en código y devuelve un objeto GeneratedBarcode que se puede guardar como archivo o convertir en un BitmapSource para mostrar en WPF.

Enfoque de Telerik:

<!-- WPF XAML — RadBarcode renders inline in the UI -->
<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
    <telerik:RadBarcode Value="PROD-2026-00184" Symbology="Code128" />
</Window>
XML
@* Blazor — TelerikBarcode renders as a Razor component *@
<TelerikBarcode Value="PROD-2026-00184" Type="@BarcodeType.Code128" />
Text

Enfoque de IronBarcode :

// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Save to file — replaces XAML generation + manual export
BarcodeWriter.CreateBarcode("PROD-2026-00184", BarcodeEncoding.Code128)
             .ResizeTo(400, 100)
             .SaveAsPng("barcode.png");

// Display in WPF — assign to an Image control's Source property
var bitmapSource = BarcodeWriter.CreateBarcode("PROD-2026-00184", BarcodeEncoding.Code128)
                                .ToBitmapSource();
barcodeImageControl.Source = bitmapSource;

// Serve in Blazor or ASP.NET Core — return as base64 src attribute
byte[] bytes = BarcodeWriter.CreateBarcode("PROD-2026-00184", BarcodeEncoding.Code128)
                            .ResizeTo(400, 100)
                            .ToPngBinaryData();
string imgSrc = $"data:image/png;base64,{Convert.ToBase64String(bytes)}";

El enum BarcodeEncoding cubre las mismas simbologías que el enum Symbology de Telerik. Cambiar a la generación de códigos QR solo modifica el argumento de enumeración. Para conocer todas las opciones de generación de códigos de barras 2D , incluidos los niveles de corrección de errores QR y las dimensiones DataMatrix, la documentación de IronBarcode proporciona ejemplos completos.

Lectura de códigos de barras desde aplicaciones de escritorio

Telerik proporciona dos clases de lector separadas para plataformas de escritorio — RadBarcodeReader para WPF y RadBarcodeReader para WinForms — con diferentes nombres de clase, diferentes nombres de propiedad y diferentes tipos de entrada. IronBarcode las reemplaza con una única llamada estática que funciona de manera idéntica en cualquier tipo de proyecto.

Enfoque de Telerik WPF:

La lectura en WPF requiere una instancia RadBarcodeReader, configuración explícita de DecodeType, un objeto BitmapImage cargado desde un URI, y una llamada a reader.Decode(). La propiedad de resultado es .Text.

using Telerik.Windows.Controls.Barcode;
using System.Windows.Media.Imaging;

public string ReadProductBarcode(string imagePath)
{
    var reader = new RadBarcodeReader();
    reader.DecodeTypes = new DecodeType[]
    {
        DecodeType.Code128,
        DecodeType.Code39,
        DecodeType.EAN13,
        DecodeType.EAN8,
        DecodeType.UPCA,
        DecodeType.UPCE,
        DecodeType.Codabar,
        DecodeType.ITF
    };

    var bitmap = new BitmapImage(new Uri(imagePath, UriKind.Absolute));
    var result = reader.Decode(bitmap);

    return result?.Text ?? "No barcode found";
}

Enfoque de Telerik WinForms:

La clase RadBarcodeReader de WinForms usa un nombre diferente, un nombre de propiedad diferente (DecodeType singular en lugar de DecodeTypes plural), y toma un System.Drawing.Image en lugar de un BitmapImage.

using Telerik.WinControls.UI.Barcode;
using System.Drawing;

public string ReadShippingLabel(string imagePath)
{
    var reader = new RadBarcodeReader();
    reader.DecodeType = new DecodeType[]
    {
        DecodeType.Code128,
        DecodeType.ITF,
        DecodeType.EAN13
    };

    using var image = Image.FromFile(imagePath);
    var result = reader.Read(image);

    return result?.Text ?? "No barcode found";
}

Enfoque de IronBarcode :

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public string ReadProductBarcode(string imagePath)
{
    var results = BarcodeReader.Read(imagePath);
    return results.FirstOrDefault()?.Value ?? "No barcode found";
}

BarcodeReader.Read() es un método estático — no se necesita instancia de lector. Acepta una cadena de ruta de archivo directamente sin requerir una carga de BitmapImage o System.Drawing.Image. La detección de formato es automática en los más de 50 tipos soportados. La propiedad de resultado es .Value en lugar de .Text. Esta misma llamada funciona sin modificaciones tanto en aplicaciones WPF como WinForms; no existe ninguna variante específica de la plataforma. Además, lee códigos QR, DataMatrix y cualquier otro formato presente en la imagen, a diferencia de los lectores Telerik, que están restringidos a formatos 1D.

Lectura de códigos QR: Antes imposible con Telerik

Si su base de código contiene un comentario o un NotSupportedException documentando que la lectura de códigos QR no está disponible, esto es su reemplazo. En Telerik no existe ninguna ruta de configuración que permita la lectura de códigos QR; este escenario no tiene equivalente en Telerik.

Enfoque de Telerik:

// RadBarcodeReader does not support QR codes.
// DecodeType.QR does not exist in the Telerik enum.
public string ReadQrCode(string imagePath)
{
    throw new NotSupportedException(
        "Telerik RadBarcodeReader cannot read QR codes. " +
        "DecodeType.QR is not a valid enum value.");
}

Enfoque de IronBarcode :

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public string ReadQrCode(string imagePath)
{
    // QR codes, DataMatrix, PDF417, and Aztec are all detected automatically
    var results = BarcodeReader.Read(imagePath);
    return results.FirstOrDefault()?.Value ?? "No QR code found";
}

La misma llamada BarcodeReader.Read() que lee códigos de barras EAN-13 lee códigos QR. No existe una configuración independiente para formatos 2D. Para obtener una lista completa de los formatos de código de barras compatibles, tanto para lectura como para generación, la documentación de IronBarcode cubre las más de 50 entradas con notas específicas para cada formato.

Lectura de códigos de barras en un endpoint de ASP.NET Core

Telerik no proporciona ningún componente de lectura de códigos de barras para ASP.NET Core o Blazor. Si una aplicación existente redirige las imágenes cargadas a un servicio de escritorio para su lectura porque la capa web no dispone de un lector Telerik, esa solución alternativa se sustituye por la lectura directa en la capa web.

Enfoque de Telerik:

// No Telerik reading API available in ASP.NET Core.
// Workaround: forward uploaded file to a WPF or WinForms service
// that can reference Telerik.Windows.Controls.Barcode.
[HttpPost("read")]
public async Task<IActionResult> ReadBarcode(IFormFile imageFile)
{
    // Must proxy to desktop service — no Telerik reader available here
    var bytes = await ReadAllBytesAsync(imageFile);
    var result = await _desktopBridgeService.ReadAsync(bytes);
    return Ok(result);
}

Enfoque de IronBarcode :

// NuGet: dotnet add package IronBarcode
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    [HttpPost("read")]
    public IActionResult ReadBarcode(IFormFile imageFile)
    {
        using var stream = imageFile.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        return Ok(results.Select(r => new
        {
            Format = r.BarcodeType.ToString(),
            Value = r.Value
        }));
    }

    [HttpGet("generate")]
    public IActionResult GenerateBarcode([FromQuery] string data)
    {
        var bytes = BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
                                 .ResizeTo(400, 100)
                                 .ToPngBinaryData();
        return File(bytes, "image/png");
    }
}

BarcodeReader.Read() acepta un Stream directamente, por lo que el flujo de archivos cargado se pasa sin escribirlo en disco. Este controlador se implementa en Linux, Docker o Azure App Service sin necesidad de modificaciones.

Lectura de códigos de barras en archivos PDF

Telerik no tiene capacidad para leer códigos de barras PDF. Agregar lectura de PDF a una base de código existente basada en Telerik requiere una biblioteca de renderización de PDF para convertir páginas en imágenes antes de pasarlas a RadBarcodeReader. IronBarcode lee archivos PDF directamente.

Enfoque de Telerik:

// No direct PDF reading support in RadBarcodeReader.
// Workaround: use a separate PDF library to extract page images
using SomePdfLibrary; // third-party dependency
using Telerik.Windows.Controls.Barcode;

public List<string> ReadBarcodesFromPdf(string pdfPath)
{
    var results = new List<string>();
    var pages = PdfRenderer.ExtractPages(pdfPath); // third-party call

    foreach (var pageImage in pages)
    {
        var reader = new RadBarcodeReader();
        reader.DecodeTypes = new[] { DecodeType.Code128, DecodeType.EAN13 };
        var bitmap = ConvertToBitmapImage(pageImage); // conversion required
        var result = reader.Decode(bitmap);
        if (result != null)
            results.Add(result.Text); // 1D only — QR codes on PDF pages are missed
    }
    return results;
}

Enfoque de IronBarcode :

// NuGet: dotnet add package IronBarcode
using IronBarCode;

public List<string> ReadBarcodesFromPdf(string pdfPath)
{
    var results = BarcodeReader.Read(pdfPath);
    return results.Select(r =>
        $"Page {r.PageNumber}: {r.BarcodeType}{r.Value}").ToList();
}

No se necesita una biblioteca de PDF aparte. Sin paso de extracción de página. Sin conversión de imagen. Indique la ruta del PDF e IronBarcode procesará todas las páginas, devolviendo todos los códigos de barras con el número de página correspondiente. Se detectan tanto los códigos de barras 1D como los 2D en las páginas PDF.

Referencia de mapeo de la API de Telerik RadBarcodea IronBarcode

Telerik RadBarcodeIronBarcode
TelerikLicenseManager.InstallLicense("key")IronBarCode.License.LicenseKey = "key"
<telerik:RadBarcode Value="..." Symbology="Code128" />BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
<TelerikBarcode Type="@BarcodeType.Code128" />Generación del lado del servidor devolviendo ToPngBinaryData()
Symbology.Code128BarcodeEncoding.Code128
Symbology.QRCodeBarcodeEncoding.QRCode
new RadBarcodeReader() (WPF)Clase estática: no se necesita instancia.
new RadBarcodeReader() (WinForms)Clase estática: no se necesita instancia.
reader.DecodeTypes = new DecodeType[] { ... } (WPF)Detección automática: no se requiere ninguna especificación.
reader.DecodeType = new DecodeType[] { ... } (WinForms)Detección automática: no se requiere ninguna especificación.
reader.Decode(bitmapImage) (WPF)BarcodeReader.Read(imagePath)
reader.Read(drawingImage) (WinForms)BarcodeReader.Read(imagePath)
result.Textresult.Value
result.Symbologyresult.BarcodeType
Se requiere BitmapImage como entrada (WPF)Se acepta ruta de archivo, Stream o arreglo de bytes
Se requiere System.Drawing.Image como entrada (WinForms)Se acepta ruta de archivo, Stream o arreglo de bytes
Formatos 1D solo en lecturaMás de 50 formatos, incluyendo todos los tipos 2D.
WPF y WinForms solo lecturaTodas las plataformas .NET
No admite la lectura de archivos PDF.BarcodeReader.Read("file.pdf") — nativo

Problemas comunes de migración y soluciones

Problema 1: Reemplazo del control de código de barras XAML

Telerik: <telerik:RadBarcode> es un control visual que se renderiza directamente en el árbol de elementos UI de WPF. No puede ser reemplazado con un elemento Image sin cambios en el código detrás.

Solución: Reemplace el elemento <telerik:RadBarcode> con un control <Image> y genere el código de barras en el código detrás. Vincule el Image.Source a un BitmapSource generado por IronBarcode:

// In code-behind or ViewModel
using IronBarCode;

var generated = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeEncoding.Code128)
                             .ResizeTo(400, 100);
BarcodeImage.Source = generated.ToBitmapSource();

Para Blazor, reemplace <TelerikBarcode> con un elemento <img> cuyo atributo src reciba un PNG codificado en base64 generado del lado del servidor.

Problema 2: Efectos secundarios de la eliminación de DecodeType

Telerik: La propiedad DecodeTypes (WPF) o DecodeType (WinForms) filtra qué formatos intenta detectar el lector. Eliminar este filtro en una migración de IronBarcode significa que IronBarcode ahora devolverá resultados para todos los formatos presentes en la imagen, incluidos los formatos que anteriormente estaban excluidos por el filtro.

Solución: Elimine el bloque de asignación DecodeType por completo. Si los formatos adicionales detectados causan resultados inesperados en la lógica posterior, por ejemplo, si el código asumió que solo un formato de código de barras sería devuelto siempre, agregue filtro opcional usando BarcodeReaderOptions:

using IronBarCode;

var options = new BarcodeReaderOptions
{
    ExpectedBarcodeTypes = BarcodeEncoding.Code128 | BarcodeEncoding.EAN13
};
var results = BarcodeReader.Read(imagePath, options);

Esto es opcional. El comportamiento predeterminado (detectar todos los formatos) es correcto para la mayoría de los casos de uso y produce resultados que la implementación anterior de Telerik no podía ofrecer.

Problema 3: Limpieza de TelerikLicenseManager

Telerik: Las llamadas Telerik.WinControls.TelerikLicenseManager.InstallLicense(key) aparecen al iniciar la aplicación, generalmente en Program.cs (WinForms) o App.xaml.cs (WPF). La clave suele estar almacenada en la configuración de la aplicación, en un archivo de configuración o codificada directamente en el método de inicio.

Solución: Elimine la llamada TelerikLicenseManager.InstallLicense(). Reemplácelo con la asignación de clave de IronBarcode en la misma ubicación de inicio:

// Remove:
// Telerik.WinControls.TelerikLicenseManager.InstallLicense("TELERIK-KEY");

// Add:
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Si el paquete Telerik sigue instalado (porque otros controles de Telerik que no son de códigos de barras todavía se están utilizando), la llamada TelerikLicenseManager para esos controles debe mantenerse. Solo elimine la llamada si se van a eliminar por completo los paquetes de Telerik.

Lista de verificación para la migración de Telerik RadBarcode

Tareas previas a la migración

Antes de realizar cambios en el código, revise el código fuente para detectar cualquier uso de códigos de barras de Telerik:

# License initialization
grep -r "TelerikLicenseManager.InstallLicense" --include="*.cs" .

# XAML generation controls
grep -r "RadBarcode" --include="*.xaml" .
grep -r "TelerikBarcode" --include="*.razor" .

# Code-behind generation references
grep -r "RadBarcode" --include="*.cs" .
grep -r "Symbology\." --include="*.cs" .

# Reading API — WPF
grep -r "RadBarcodeReader" --include="*.cs" .
grep -r "DecodeTypes\." --include="*.cs" .
grep -r "reader\.Decode(" --include="*.cs" .

# Reading API — WinForms
grep -r "BarCodeReader" --include="*.cs" .
grep -r "DecodeType\." --include="*.cs" .
grep -r "reader\.Read(" --include="*.cs" .

# Result property access
grep -r "result\.Text" --include="*.cs" .
grep -r "result\.Symbology" --include="*.cs" .
SHELL

Documenta cada partido. Indique qué archivos contienen controles XAML, cuáles contienen código de lectura y a qué plataforma pertenece cada archivo.

Tareas de actualización de código

  1. Elimine los paquetes NuGet de códigos de barras de Telerik (o consérvelos si son necesarios para otros controles).
  2. Instale el paquete NuGet IronBarcode en cada proyecto que requiera funcionalidad de códigos de barras
  3. Agregue IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY" en cada punto de entrada al inicio de la aplicación
  4. Elimine las importaciones de espacio de nombres de Telerik y agregue using IronBarCode
  5. Reemplace los elementos XAML <telerik:RadBarcode> con controles <Image>
  6. Genere imágenes de códigos de barras en el código detrás usando BarcodeWriter.CreateBarcode(...).ToBitmapSource()
  7. Reemplace los componentes Razor <TelerikBarcode> con fuentes base64 de <img> generadas del lado del servidor
  8. Reemplace instancias new RadBarcodeReader() con llamadas estáticas BarcodeReader.Read(path)
  9. Reemplace instancias new RadBarcodeReader() con llamadas estáticas BarcodeReader.Read(path)
  10. Eliminar todos los reader.DecodeTypes = new DecodeType[] { ... } and reader.DecodeType = new DecodeType[] { ... } bloques
  11. Reemplace llamadas reader.Decode(bitmapImage) con BarcodeReader.Read(imagePath)
  12. Reemplace llamadas reader.Read(drawingImage) con BarcodeReader.Read(imagePath)
  13. Renombre result.Text a result.Value en todos los puntos de acceso al resultado de lectura
  14. Renombre result.Symbology a result.BarcodeType en todos los puntos de verificación de formato
  15. Reemplace enum de generación Symbology.Code128 y valores similares con BarcodeEncoding.Code128
  16. Elimine llamadas TelerikLicenseManager.InstallLicense() donde los paquetes de Telerik se eliminan por completo

Pruebas posteriores a la migración

  • Verificar que todos los códigos de barras 1D leídos previamente (Code128, EAN13, etc.) sigan devolviendo valores correctos.
  • Confirme que los códigos QR en las imágenes de prueba ahora se leen correctamente donde anteriormente devolvían un valor nulo.
  • Comprobar que los códigos de barras generados (guardados como PNG o servidos como bytes) se visualizan correctamente y se escanean sin problemas.
  • Verificar que los puntos finales de ASP.NET Core o Blazor que anteriormente no podían realizar lecturas ahora funcionen correctamente.
  • Si se agregó la lectura de PDF, confirme que los códigos de barras en cada página del PDF se detectan con los números de página correctos.
  • Ejecute los comandos grep audit de la sección Pre-Migración para confirmar que no queden referencias a la API de códigos de barras de Telerik.
  • Confirme que IronBarCode.License.LicenseKey esté configurado antes de la primera llamada a BarcodeReader.Read() o BarcodeWriter.CreateBarcode()

Principales ventajas de migrar a IronBarcode

Compatibilidad total con formatos 2D: Tras la migración, los formatos QR Code, DataMatrix, PDF417 y Aztec se pueden leer mediante la misma llamada a la API que ya leía Code128 y EAN13. No se requiere ninguna configuración adicional ni ninguna biblioteca independiente para los formatos 2D. El motor de lectura se encarga automáticamente de la identificación del formato.

API Unificada Multiplataforma: Las mismas llamadas BarcodeReader.Read() y BarcodeWriter.CreateBarcode() se compilan y ejecutan de manera idéntica en WPF, WinForms, ASP.NET Core, Blazor, aplicaciones de consola y contenedores Docker. La lógica del código de barras, escrita una sola vez en una biblioteca de servicios compartidos, funciona en todos los tipos de proyectos de la solución sin necesidad de modificaciones.

Procesamiento nativo de archivos PDF: IronBarcode lee los códigos de barras directamente de los archivos PDF, procesa todas las páginas y devuelve los resultados con metadatos que incluyen el número de página. Los flujos de trabajo que antes requerían una biblioteca de renderizado de PDF más un paso de lectura de Telerik se consolidan en una única llamada a un método, eliminando la dependencia de terceros y el paso intermedio de conversión de imágenes.

Eliminada la dependencia de suscripción para el acceso a códigos de barras: tras la migración, la funcionalidad de códigos de barras está disponible a través del modelo de licencia perpetua de IronBarcode. El acceso continuado no requiere renovación anual. Los equipos cuyo uso principal del Suite Telerik está relacionado con códigos de barras reducen sus gastos recurrentes de licencias a un coste único.

Base de Código Simplificada: El bloque de configuración DecodeType, el paso de carga BitmapImage, la selección de la clase de lector específica de la plataforma, y la cadena de propiedades result.Text son todos reemplazados por una única llamada a método estático con una colección de resultados que se autodeduce. El código que antes requería implementaciones diferentes para la lectura en WPF y WinForms ahora se simplifica a una única implementación compartida.

Por favor nota: Telerik es una marca registrada de su respectivo propietario. Este sitio no está afiliado, avalado ni patrocinado por Progress Software. 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