IRONSOFTWAREHOME
VIDEOS

Migrating from Código de barras de HERRAMIENTAS DE PLOMO to IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 de agosto de 2026

Esta guía abarca la migración completa de Código de barras de HERRAMIENTAS DE PLOMO a IronBarcode para desarrolladores .NET . Se aborda la eliminación de los paquetes NuGet de HERRAMIENTAS DE PLOMO y una dependencia de tiempo de ejecución nativa, el reemplazo de la secuencia de inicialización de licencia de HERRAMIENTAS DE PLOMO basada en archivos con una clave de cadena, y la traducción de patrones de lectura y escritura de HERRAMIENTAS DE PLOMO en la API fluida estática de IronBarcode. Se proporcionan ejemplos de código para cada escenario de migración principal, junto con una tabla de asignación de API, una lista de verificación estructurada y orientación sobre los problemas que surjan durante la transición.

¿Por qué migrar desde HERRAMIENTAS DE PLOMO Barcode?

Implementación de licencia basada en archivos: La licencia de HERRAMIENTAS DE PLOMO requiere que un archivo .LIC esté físicamente presente en disco en una ruta conocida en cada máquina donde se ejecute la aplicación. Las estaciones de trabajo de los desarrolladores, los agentes de compilación de CI, los servidores de pruebas y los contenedores de producción requieren que el archivo se aprovisione antes de que la aplicación se inicialice. Este es un modelo operativo fundamentalmente diferente al de los secretos basados ​​en cadenas, que se integran perfectamente en las variables de entorno, los gestores de secretos y la configuración de la canalización de CI/CD. Cada nuevo entorno que se añade a una topología de despliegue (una nueva región en la nube, un nuevo grupo de nodos de Kubernetes, una nueva incorporación de desarrolladores) requiere un paso de aprovisionamiento de archivos que las licencias basadas en cadenas de texto no requieren.

Huella del SDK: La instalación de código de barras de HERRAMIENTAS DE PLOMO requiere el paquete Leadtools.Barcode de NuGet (que incluye Leadtools, Leadtools.Codecs, y dependencias relacionadas). La extracción de códigos de barras PDF añade Leadtools.Pdf. En Windows, el entorno de ejecución de MSVC++ 2017 es una dependencia nativa independiente. El tamaño de salida publicado de una aplicación de códigos de barras HERRAMIENTAS DE PLOMO es de aproximadamente 148 MB. Las aplicaciones que solo necesitan leer o generar códigos de barras soportan todo el peso de una plataforma de procesamiento de imágenes integral (infraestructura OCR, arquitectura de códec de formato y capacidades de visualización de documentos), independientemente de si se utilizan o no esas funciones.

Diseño de API heredada: Las operaciones con códigos de barras de HERRAMIENTAS DE PLOMO requieren la construcción de múltiples objetos en una secuencia específica antes de que se pueda realizar cualquier trabajo. Leer un código de barras requiere una instancia de RasterCodecs para cargar la imagen y una instancia de BarcodeEngine para escanearla, con un array explícito BarcodeSymbology declarando qué formatos buscar. Generar un código de barras requiere construir un objeto BarcodeData, crear un RasterImage en blanco con parámetros explícitos de píxeles, llenarlo con un color de fondo usando FillCommand, escribir el código de barras sobre él y guardar con RasterCodecs. Esa API refleja los patrones de diseño de su época. IronBarcode realiza las mismas operaciones mediante llamadas a métodos estáticos que aceptan rutas de archivo directamente.

Transparencia de Precios: Las licencias de despliegue de HERRAMIENTAS DE PLOMO para servidores de producción se cotizan por separado a través de las ventas de HERRAMIENTAS DE PLOMO y no se publican en su sitio web. Los equipos que necesitan un cuadro de costos completo antes de comenzar el desarrollo deben comprometerse con las ventas antes de confirmar que HERRAMIENTAS DE PLOMO se ajusta a su presupuesto. IronBarcode ofrece una licencia perpetua de una sola vez que cubre el desarrollo y el despliegue juntos, sin necesidad de una licencia de producción separada.

El problema fundamental

La secuencia de inicialización de HERRAMIENTAS DE PLOMO requiere más de 20 líneas y cuatro pasos de verificación antes de que se pueda crear un BarcodeEngine. IronBarcode reemplaza toda la secuencia con una sola asignación:

// LEADTOOLS: file path, expiry check, three feature lock checks, engine creation
using Leadtools;
using Leadtools.Barcode;

RasterSupport.SetLicense(
    @"C:\LEADTOOLS23\Support\Common\License\LEADTOOLS.LIC",
    "your-developer-key-here");

if (RasterSupport.KernelExpired)
    throw new InvalidOperationException("LEADTOOLS license has expired");

if (RasterSupport.IsLocked(RasterSupportType.Barcode1DRead))
    throw new InvalidOperationException("1D barcode reading is locked");

if (RasterSupport.IsLocked(RasterSupportType.Barcode2DRead))
    throw new InvalidOperationException("2D barcode reading is locked");

if (RasterSupport.IsLocked(RasterSupportType.BarcodeWrite))
    throw new InvalidOperationException("Barcode writing is locked");

var engine = new BarcodeEngine();
// IronBarcode: one line, no file required
using IronBarCode;

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

Comparación de características entre IronBarcode y HERRAMIENTAS DE PLOMO Barcode

CaracterísticaCódigo de barras de HERRAMIENTAS DE PLOMOIronBarcode
Modelo de licenciaArchivo + clave de desarrolladorSolo clave de cadena
Se requieren paquetes NuGet5+1
dependencia de tiempo de ejecución nativaMSVC++ 2017 (Windows)None
Tamaño de salida publicado~148 MB~39 MB
Simbologías totales admitidasMás de 40 añosMás de 50
Formato de código de barras de detección automáticaLimitado
Extracción de códigos de barras PDFSe requiere un paquete aparteIncorporado en
Corrección de errores de aprendizaje automáticoNo
Logotipo de código QR para la marcaNo
Despliegue de DockerSe requiere montar el archivoVariable de entorno
Código de inicializaciónMás de 20 líneas1 línea
Estilo APIGrafo de objetos heredadoFlujo estático
Plataforma cruzadaParcial (dependencias nativas)Completo (.NET Standard)
Precios de licencias de implementaciónContactar con el departamento de ventas (información no publicada)Incluido en la compra perpetua

Inicio rápido: Migración de códigos de barras de HERRAMIENTAS DE PLOMO a IronBarcode

Paso 1: Eliminar los paquetes de LEADTOOLS

Elimine todos los paquetes HERRAMIENTAS DE PLOMO del proyecto:

dotnet remove package Leadtools.Barcode
dotnet remove package Leadtools
dotnet remove package Leadtools.Codecs
dotnet remove package Leadtools.Codecs.Png
dotnet remove package Leadtools.Codecs.Jpeg
SHELL

Si se agregó el códec PDF para la extracción de códigos de barras de archivos PDF:

dotnet remove package Leadtools.Pdf
SHELL

En las implementaciones de Windows Server, el entorno de ejecución MSVC++ 2017 se puede eliminar de los scripts de aprovisionamiento una vez finalizada la migración. IronBarcode no tiene dependencias de tiempo de ejecución nativas en ninguna plataforma.

Paso 2: Instalar IronBarcode

dotnet add package IronBarcode
SHELL

Este paquete único incluye compatibilidad con todos los formatos de imagen, extracción nativa de códigos de barras PDF, corrección de errores mediante aprendizaje automático y las más de 50 simbologías compatibles. No se requieren paquetes de códecs adicionales.

Paso 3: Inicializar la licencia

Reemplace todo el bloque de inicialización de HERRAMIENTAS DE PLOMO con una sola línea. Localice cada llamada a RasterSupport.SetLicense en la base de código — típicamente habrá exactamente una, al inicio de la aplicación — y reemplace toda la secuencia de inicialización circundante:

// Before: entire HERRAMIENTAS DE PLOMO initialization block (20+ lines)
// After:
using IronBarCode;

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

La clave de licencia puede obtenerse de cualquier mecanismo de configuración con capacidad de cadena: una variable de entorno, appsettings.json, Azure Key Vault, AWS Secrets Manager, o un secreto de Kubernetes. Para obtener información sobre la configuración de licencias basada en el entorno, los patrones de implementación de Docker y todos los enfoques de configuración compatibles, consulte la documentación de configuración de la clave de licencia .

Ejemplos de migración de código

Lectura de códigos de barras a partir de imágenes

LEADTOOLS separa la carga de imágenes del escaneo de códigos de barras en dos capas de objetos distintas. Una instancia de RasterCodecs carga el archivo de imagen en un RasterImage, y una instancia de BarcodeEngine lo escanea. El llamante también debe proporcionar un array explícito de valores BarcodeSymbology; Los formatos que no figuren en la lista no serán detectados.

Enfoque de LEADTOOLS:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

using var codecs = new RasterCodecs();
using var image = codecs.Load("scan.png");

var engine = new BarcodeEngine();

var symbologies = new[]
{
    BarcodeSymbology.Code128,
    BarcodeSymbology.Code39,
    BarcodeSymbology.QR,
    BarcodeSymbology.DataMatrix,
    BarcodeSymbology.EAN13,
    BarcodeSymbology.UPCA
};

var barcodes = engine.Reader.ReadBarcodes(
    image,
    LogicalRectangle.Empty,
    0,
    symbologies);

foreach (var barcode in barcodes)
    Console.WriteLine($"{barcode.Symbology}: {barcode.Value}");

Enfoque de IronBarcode :

using IronBarCode;

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

foreach (var result in results)
    Console.WriteLine($"{result.Format}: {result.Value}");

IronBarcode acepta la ruta del archivo directamente, carga la imagen internamente y detecta automáticamente los formatos en las más de 50 simbologías compatibles sin necesidad de que el usuario enumere los tipos esperados. Para una configuración avanzada (ajuste de la velocidad de lectura, detección de múltiples códigos de barras y manejo de imágenes de baja calidad), consulte la guía de lectura de códigos de barras a partir de imágenes .

Generación de un código de barras Code 128

La generación de HERRAMIENTAS DE PLOMO requiere construir un objeto BarcodeData, asignar un RasterImage en blanco con flags de memoria explícitos, profundidad de píxeles y orden de bytes, llenar la imagen con un color de fondo, escribir el código de barras sobre él, y luego guardar con RasterCodecs. IronBarcode realiza todos esos pasos a través de una única cadena de métodos fluidos.

Enfoque de LEADTOOLS:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

var engine = new BarcodeEngine();

var barcodeData = new BarcodeData()
{
    Symbology = BarcodeSymbology.Code128,
    Value = "ITEM-98765",
    Bounds = new LeadRect(0, 0, 500, 120)
};

using var image = new RasterImage(
    RasterMemoryFlags.Conventional,
    500, 120, 24,
    RasterByteOrder.Bgr,
    RasterViewPerspective.TopLeft,
    null, IntPtr.Zero, 0);

new FillCommand(RasterColor.White).Run(image);
engine.Writer.WriteBarcode(image, barcodeData, null);

using var codecs = new RasterCodecs();
codecs.Save(image, "item-barcode.png", RasterImageFormat.Png, 0);

Enfoque de IronBarcode :

using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-98765", BarcodeEncoding.Code128)
    .ResizeTo(500, 120)
    .SaveAsPng("item-barcode.png");

Para obtener una guía completa sobre el tamaño, el estilo, el control de márgenes y los formatos de salida compatibles, consulte la sección sobre cómo crear imágenes de códigos de barras .

Generación de un código QR con logotipo personalizado

La generación de códigos QR en HERRAMIENTAS DE PLOMO sigue el mismo patrón de construcción RasterImage de varios pasos que otros tipos de códigos de barras. IronBarcode proporciona QRCodeWriter con un método AddBrandLogo dedicado para incrustar un logotipo en el centro de un código QR.

Enfoque de LEADTOOLS:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

var engine = new BarcodeEngine();

var qrData = new BarcodeData()
{
    Symbology = BarcodeSymbology.QR,
    Value = "https://example.com/product/12345",
    Bounds = new LeadRect(0, 0, 400, 400)
};

using var image = new RasterImage(
    RasterMemoryFlags.Conventional,
    400, 400, 24,
    RasterByteOrder.Bgr,
    RasterViewPerspective.TopLeft,
    null, IntPtr.Zero, 0);

new FillCommand(RasterColor.White).Run(image);
engine.Writer.WriteBarcode(image, qrData, null);

using var codecs = new RasterCodecs();
codecs.Save(image, "product-qr.png", RasterImageFormat.Png, 0);

Enfoque de IronBarcode :

using IronBarCode;

QRCodeWriter.CreateQrCode("https://example.com/product/12345", 400, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("brand-logo.png")
    .SaveAsPng("product-qr.png");

Extracción de códigos de barras de documentos PDF

La extracción de códigos de barras PDF en HERRAMIENTAS DE PLOMO requiere el paquete Leadtools.Pdf por separado, configuración de carga de PDF explícita, una consulta manual de conteo de páginas y un bucle sobre cada página. Cada página debe cargarse individualmente como un RasterImage antes de escanear. IronBarcode incluye compatibilidad con PDF en el paquete base y gestiona internamente la iteración de páginas.

Enfoque de LEADTOOLS:

using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;

// Requires: dotnet add package Leadtools.Pdf
using var codecs = new RasterCodecs();
codecs.Options.Pdf.Load.Resolution = 300;
codecs.Options.Pdf.Load.DisplayDepth = 24;

var engine = new BarcodeEngine();
var results = new List<string>();
int pageCount = codecs.GetTotalPages("shipment.pdf");

for (int page = 1; page <= pageCount; page++)
{
    using var image = codecs.Load(
        "shipment.pdf", 0,
        CodecsLoadByteOrder.BgrOrGray,
        page, page);

    var barcodes = engine.Reader.ReadBarcodes(
        image, LogicalRectangle.Empty, 0, null);

    foreach (var barcode in barcodes)
        results.Add($"Page {page}: {barcode.Value}");
}

Enfoque de IronBarcode :

using IronBarCode;

var results = BarcodeReader.Read("shipment.pdf");

foreach (var result in results)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");

Despliegue de Docker

El requisito de gestión de archivos que define cada implementación de HERRAMIENTAS DE PLOMO en Docker se elimina por completo al migrar a IronBarcode.

Enfoque de LEADTOOLS:

FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /app
COPY publish/ .

# License file must be physically present in the container image
COPY LEADTOOLS.LIC /app/license/LEADTOOLS.LIC

ENV LEADTOOLS_LICENSE_PATH=/app/license/LEADTOOLS.LIC
ENV LEADTOOLS_DEVELOPER_KEY=your-developer-key

ENTRYPOINT ["dotnet", "YourApp.dll"]
Text

Enfoque de IronBarcode :

FROM mcr.microsoft.com/dotnet/aspnet:8.0

WORKDIR /app
COPY publish/ .

ENV IRONBARCODE_LICENSE=your-license-key

ENTRYPOINT ["dotnet", "YourApp.dll"]
Text

La clave de licencia se inyecta en tiempo de ejecución del contenedor a través de secretos de Docker, secretos de Kubernetes o cualquier mecanismo de variable de entorno. No se requiere ningún paso de aprovisionamiento de archivos. La guía de implementación de Docker y Linux abarca imágenes base de Alpine y Debian, compilaciones de varias etapas y patrones de implementación de Kubernetes.

Referencia de mapeo de la API de códigos de barras de HERRAMIENTAS DE PLOMO a IronBarcode

HERRAMIENTAS DE PLOMOIronBarcodeNotas
RasterSupport.SetLicense(path, key)IronBarCode.License.LicenseKey = "key"Solo la clave; no se necesita archivo.
RasterSupport.KernelExpired(removed)No se necesita comprobar la fecha de caducidad.
RasterSupport.IsLocked(RasterSupportType.Barcode1DRead)(removed)Todas las funciones incluidas
RasterSupport.IsLocked(RasterSupportType.Barcode2DRead)(removed)Todas las funciones incluidas
RasterSupport.IsLocked(RasterSupportType.BarcodeWrite)(removed)Todas las funciones incluidas
new BarcodeEngine()Estático: ninguna instanciaBarcodeReader, BarcodeWriter son estáticos
new RasterCodecs()(removed)Pasar la ruta del archivo directamente
codecs.Load(imagePath)(removed)Pasar la ruta del archivo directamente
engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, symbologies)BarcodeReader.Read(imagePath)Detecta automáticamente las simbologías.
BarcodeData.Valueresult.ValueMismo nombre de propiedad
BarcodeData.Symbologyresult.FormatPropiedad renombrada
new BarcodeData() { Symbology = BarcodeSymbology.Code128 }BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)Creación fluida
BarcodeSymbology.Code128BarcodeEncoding.Code128Cambio de espacio de nombres
BarcodeSymbology.QRBarcodeEncoding.QRCodeCambio de nombre
BarcodeSymbology.DataMatrixBarcodeEncoding.DataMatrixEl mismo nombre
BarcodeSymbology.PDF417BarcodeEncoding.PDF417El mismo nombre
BarcodeSymbology.EAN13BarcodeEncoding.EAN13El mismo nombre
BarcodeSymbology.UPCABarcodeEncoding.UPCAEl mismo nombre
BarcodeSymbology.Interleaved2of5BarcodeEncoding.Interleaved2of5El mismo nombre
BarcodeSymbology.CodabarBarcodeEncoding.CodabarEl mismo nombre
engine.Writer.WriteBarcode(image, data, null) + codecs.Save(...).SaveAsPng(path)Una cadena de métodos
new RasterImage(...) + new FillCommand(RasterColor.White).Run(image)(removed)Interno a IronBarcode

Problemas comunes de migración y soluciones

Problema 1: Referencias a archivos .LIC en CI/CD

LEADTOOLS: Los pipelines CI/CD que construyen o despliegan aplicaciones HERRAMIENTAS DE PLOMO deben aprovisionar el archivo .LIC — ya sea registrándolo en el control de código fuente, decodificándolo de un secreto base64, o montándolo como un artefacto de volumen. Cada etapa del proceso que ejecuta la aplicación necesita tener acceso al archivo.

Solución: Quite todo el manejo de archivos .LIC del pipeline. Reemplace con un secreto de cadena:

# Example: GitHub Actions environment variable
env:
  IRONBARCODE_LICENSE: ${{secrets.IRONBARCODE_LICENSE}}
Text

El valor de cadena se almacena en el almacén de secretos de CI/CD junto con otras credenciales de valor de cadena. No se requiere decodificación de archivos, aprovisionamiento de artefactos ni configuración de volumen.

Problema 2: Dependencia del entorno de ejecución de MSVC++ en Windows

LEADTOOLS: Las implementaciones de Windows Server requieren que el entorno de ejecución MSVC++ 2017 esté instalado en el host. Los scripts de aprovisionamiento, las imágenes base de contenedores y las AMI de Windows utilizadas para las implementaciones de HERRAMIENTAS DE PLOMO suelen incluir un paso para instalar este entorno de ejecución.

Solución: Elimine el paso de instalación de MSVC++ 2017 Runtime de todos los scripts de aprovisionamiento de Windows y las imágenes de contenedor. IronBarcode no tiene dependencias de tiempo de ejecución nativas. La imagen base dotnet/aspnet es suficiente sin paquetes adicionales de tiempo de ejecución.

Problema 3: Comprobaciones de bloqueo de características de RasterSupportType

LEADTOOLS: La secuencia de inicialización incluye controles de RasterSupport.IsLocked() para cada característica de código de barras — Barcodes1D, Barcodes2D, y BarcodeWrite. Estas comprobaciones son código de seguridad requerido por la arquitectura de HERRAMIENTAS DE PLOMO para verificar que el archivo de licencia cubra todas las funcionalidades necesarias.

Solución: Elimine todas las llamadas a RasterSupport.IsLocked(). IronBarcode incluye todas las funciones de lectura y escritura en una sola licencia. No existen estados de bloqueo por función y no se requiere ningún paso de verificación de funciones:

// Remove these lines entirely:
// if (RasterSupport.IsLocked(RasterSupportType.Barcode1DRead)) ...
// if (RasterSupport.IsLocked(RasterSupportType.Barcode2DRead)) ...
// if (RasterSupport.IsLocked(RasterSupportType.BarcodeWrite)) ...

Problema 4: Eliminación de la matriz de simbología de códigos de barras

LEADTOOLS: Cada llamada a engine.Reader.ReadBarcodes() requiere un parámetro explícito BarcodeSymbology[]. Los códigos de barras cuya simbología no esté incluida en la lista no serán detectados, lo que puede provocar lecturas fallidas silenciosas cuando se introduce un nuevo tipo de código de barras en un documento de entrada.

Solución: Eliminar la matriz de simbología. BarcodeReader.Read() detecta automáticamente todos los formatos compatibles. Si se necesita ajuste de rendimiento para un conjunto de formatos conocido, BarcodeReaderOptions proporciona sugerencias opcionales sin requerir enumeración exhaustiva:

// Optional: hint the reader for performance in format-known scenarios
var options = new BarcodeReaderOptions
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128 | BarcodeEncoding.QRCode
};
var results = BarcodeReader.Read("scan.png", options);

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

Tareas previas a la migración

Antes de realizar cualquier cambio, revise todo el uso de HERRAMIENTAS DE PLOMO en el código fuente:

grep -r "using Leadtools" --include="*.cs" .
grep -r "RasterSupport\|BarcodeEngine\|RasterCodecs" --include="*.cs" .
grep -r "BarcodeSymbology\|BarcodeData\|RasterImage" --include="*.cs" .
grep -r "LEADTOOLS.LIC\|SetLicense\|KernelExpired" --include="*.cs" .
grep -r "COPY LEADTOOLS.LIC\|LEADTOOLS_LICENSE_PATH" --include="*.dockerfile" --include="Dockerfile" .
SHELL

Documente la cantidad y la ubicación de los bloques de inicialización, los puntos de llamada de lectura, los puntos de llamada de escritura y las referencias al Dockerfile antes de comenzar a modificar el código.

Tareas de actualización de código

  1. Elimine los cinco paquetes NuGet de HERRAMIENTAS DE PLOMO (y el códec PDF, si está presente).
  2. Instale IronBarcode a través de dotnet add package IronBarcode
  3. Reemplace todas las importaciones de nombres de espacio using Leadtools.* con using IronBarCode
  4. Reemplace todo el bloque de inicialización RasterSupport.SetLicense con IronBarCode.License.LicenseKey = "key"
  5. Quite todos los controles RasterSupport.KernelExpired
  6. Quite todos los controles RasterSupport.IsLocked(RasterSupportType.*)
  7. Quite todas las instancias de new BarcodeEngine()
  8. Quite todas las instancias de new RasterCodecs() de las rutas de código de barras
  9. Replique codecs.Load(path) + engine.Reader.ReadBarcodes(image, ...) con BarcodeReader.Read(path)
  10. Reemplace new BarcodeData(...) + new RasterImage(...) + FillCommand + WriteBarcode + codecs.Save() con BarcodeWriter.CreateBarcode(...).SaveAsPng(path)
  11. Reemplace las referencias de enumeración BarcodeSymbology.* con BarcodeEncoding.* (nota: QR se convierte en QRCode)
  12. Elimine las líneas COPY LEADTOOLS.LIC de todos los Dockerfiles
  13. Elimine las declaraciones de variables de entorno LEADTOOLS_LICENSE_PATH y LEADTOOLS_DEVELOPER_KEY de Dockerfiles y configuración de despliegue
  14. Añada la variable de entorno IRONBARCODE_LICENSE a Dockerfiles y configuración de secretos
  15. Elimine la instalación de MSVC++ 2017 Runtime de los scripts de aprovisionamiento de Windows.

Pruebas posteriores a la migración

  • Verifique que todas las operaciones de lectura de códigos de barras devuelvan valores esperados en todos los tipos de simbología previamente cubiertos por el array BarcodeSymbology[]
  • Verifique que el código 128, el código QR y cualquier otro tipo de código de barras generado produzcan una salida válida y escaneable.
  • Confirme que la extracción de códigos de barras PDF funcione correctamente sin Leadtools.Pdf
  • Construya e inicie la imagen del contenedor sin montar ningún archivo .LIC y confirme que la aplicación se inicialice correctamente
  • Ejecute el pipeline CI/CD sin el paso de aprovisionamiento del archivo .LIC y confirme que todas las etapas se completen exitosamente
  • Verificar que el tamaño de salida publicado y el tiempo de descarga de la imagen del contenedor hayan mejorado.

Principales ventajas de migrar a IronBarcode

Arquitectura de despliegue simplificada: tras la migración, cada entorno (desarrollo, integración continua, pruebas, producción) recibe la licencia mediante el mismo mecanismo de secretos con valores de cadena que se utiliza para las claves de API, las contraseñas de bases de datos y otras credenciales. No se requiere aprovisionamiento de archivos, gestión de artefactos ni montaje de volúmenes. Agregar un nuevo entorno de despliegue es la misma operación que agregar cualquier otro secreto.

Superficie de dependencia reducida: un paquete NuGet reemplaza a cinco, y se elimina el requisito de MSVC++ 2017 Runtime. El tamaño de salida publicado por un servicio de códigos de barras se reduce de aproximadamente 148 MB a aproximadamente 39 MB. Las imágenes más pequeñas implican descargas de contenedores más rápidas, menores costes de almacenamiento en los registros de contenedores y tiempos de arranque en frío reducidos en entornos sin servidor y de escalado automático.

Inicio de la aplicación optimizado: La secuencia de inicialización de HERRAMIENTAS DE PLOMO de 20 líneas (resolución de la ruta del archivo, verificación de caducidad y tres comprobaciones de bloqueo por función) se reemplaza por una sola línea. El inicio de la aplicación es más rápido y la ruta del código de inicialización no tiene dependencias del sistema de archivos que puedan fallar en un nuevo entorno.

Detección integral de formatos: IronBarcode lee las más de 50 simbologías compatibles sin necesidad de que el usuario especifique los formatos esperados. El riesgo de lecturas silenciosas fallidas — causado por omitir una simbología de la matriz BarcodeSymbology[] de HERRAMIENTAS DE PLOMO — se elimina. Cuando aparece un nuevo tipo de código de barras en un documento de entrada, IronBarcode lo detecta sin necesidad de modificar el código.

Coste total predecible: La compra de una única licencia perpetua cubre el desarrollo, las pruebas y las implementaciones de producción ilimitadas, sin seguimiento de las implementaciones, sin necesidad de renovación anual y sin tener que obtener una licencia de producción por separado. Los equipos pueden confirmar el coste total de la biblioteca antes de comenzar el desarrollo, sin necesidad de una conversación de ventas.

Diseño moderno de la API: BarcodeReader.Read() y BarcodeWriter.CreateBarcode() son puntos de entrada estáticos que aceptan rutas de archivo directamente. La construcción de objetos multicapa que HERRAMIENTAS DE PLOMO requiere para leer y escribir (instancias de códec, instancias de motor, asignación de imágenes, relleno de fondo) se gestiona internamente. El código que lee y genera códigos de barras es más corto, más fácil de revisar y más fácil de probar.

Por favor nota: LEADTOOLS es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado por, ni patrocinado por LEAD Technologies. 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