IRONSOFTWAREHOME
VÍDEOS

Migrando de Código de barras FERRAMENTAS DE CHAVE para IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 de agosto de 2026

Este guia abrange a migração completa do Código de barras FERRAMENTAS DE CHAVE para o IronBarcode para desenvolvedores .NET . Aborda a remoção dos pacotes NuGet do FERRAMENTAS DE CHAVE e uma dependência do tempo de execução nativa, a substituição da sequência de inicialização da licença FERRAMENTAS DE CHAVE baseada em arquivo por uma chave string e a tradução dos padrões de leitura e escrita do FERRAMENTAS DE CHAVE para a API fluente estática do IronBarcode. São fornecidos exemplos de código para cada cenário principal de migração, juntamente com uma tabela de mapeamento de API, uma lista de verificação estruturada e orientações sobre problemas que surgem durante a transição.

Por que migrar do código de barras LEADTOOLS?

Implantação de Licença Baseada em Arquivo: O licenciamento do FERRAMENTAS DE CHAVE requer que um arquivo .LIC esteja fisicamente presente em disco em um caminho conhecido em cada máquina onde a aplicação é executada. Estações de trabalho de desenvolvedores, agentes de compilação de CI, servidores de teste e contêineres de produção exigem que o arquivo seja provisionado antes que o aplicativo seja inicializado. Este é um modelo operacional fundamentalmente diferente dos segredos baseados em strings, que se integram perfeitamente a variáveis ​​de ambiente, gerenciadores de segredos e configuração de pipelines de CI/CD. Cada novo ambiente adicionado a uma topologia de implantação — uma nova região de nuvem, um novo pool de nós do Kubernetes, uma nova integração de desenvolvedores — requer uma etapa de provisionamento de arquivos que o licenciamento baseado em strings não exige.

Impressão Digital do SDK: A instalação de código de barras do FERRAMENTAS DE CHAVE requer o pacote NuGet Leadtools.Barcode (que inclui Leadtools, Leadtools.Codecs, e dependências relacionadas). A extração de código de barras PDF adiciona Leadtools.Pdf. Não Windows, o MSVC++ 2017 Runtime é uma dependência nativa separada. O arquivo de saída publicado de um aplicativo de código de barras FERRAMENTAS DE CHAVE tem aproximadamente 148 MB. Aplicações que necessitam apenas de leitura ou geração de códigos de barras carregam todo o peso de uma plataforma de imagem abrangente — infraestrutura de OCR, arquitetura de codecs de formato e recursos de visualização de documentos — independentemente de esses recursos serem usados ​​ou não.

Design da API legada: As operações de código de barras do FERRAMENTAS DE CHAVE exigem a construção de múltiplos objetos em uma sequência específica antes que qualquer operação possa ser realizada. Ler um código de barras requer uma instância RasterCodecs para carregar a imagem e uma instância BarcodeEngine para escaneá-la, com um array BarcodeSymbology explícito declarando quais formatos procurar. Gerar um código de barras requer construir um objeto BarcodeData, criar um RasterImage em branco com parâmetros de pixel explícitos, preenchê-lo com uma cor de fundo usando FillCommand, escrever o código de barras sobre ele, e salvar com RasterCodecs. Essa API reflete os padrões de design da sua época. O IronBarcode executa as mesmas operações por meio de chamadas de métodos estáticos que aceitam caminhos de arquivo diretamente.

Transparência de preços: As licenças de implantação do FERRAMENTAS DE CHAVE para servidores de produção são cotadas separadamente pela equipe de vendas do FERRAMENTAS DE CHAVE e não são publicadas em seu site. Equipes que precisam de uma visão completa do custo antes de iniciar o desenvolvimento devem entrar em contato com as vendas antes de poderem confirmar que o FERRAMENTAS DE CHAVE se adequa ao orçamento.IronBarcode oferece uma licença perpétua única que cobre desenvolvimento e implantação juntos, sem necessidade de licença de produção separada.

O problema fundamental

A sequência de inicialização do FERRAMENTAS DE CHAVE requer mais de 20 linhas e quatro etapas de verificação antes que um BarcodeEngine possa ser criado.IronBarcode substitui toda a sequência por uma única atribuição:

// 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");

##IronBarcode vs. FERRAMENTAS DE CHAVE Barcode: Comparação de Recursos

RecursoCódigo de barras FERRAMENTAS DE CHAVEIronBarcode
Modelo de licençaArquivo + chave de desenvolvedorSomente a chave de string
Pacotes NuGet necessários5+1
Dependência de tempo de execução nativaMSVC++ 2017 (Windows)None
Tamanho de saída publicado~148 MB~39 MB
Simbologias totais suportadas40+50+
Detecção automática do formato do código de barrasLimitadoSim
Extração de código de barras PDFÉ necessário um pacote separado.Embutido
Correção de erros de aprendizado de máquinaNãoSim
Logotipo de código QRNãoSim
Implantação em DockerMontagem de arquivo necessáriaVariável de ambiente
Código de inicializaçãoMais de 20 linhas1 linha
Estilo APIGráfico de objetos legadosEstático fluente
MultiplataformaParcial (dependências nativas)Completo (.NET Standard)
Preços das licenças de implantaçãoContatar o departamento de vendas (não publicado)Incluído na compra perpétua

Guia de Início Rápido: Migração de código de barras FERRAMENTAS DE CHAVE para IronBarcode

Passo 1: Remova os pacotes LEADTOOLS

Remova todos os pacotes FERRAMENTAS DE CHAVE do projeto:

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

Caso o codec PDF tenha sido adicionado para extração de código de barras de arquivos PDF:

dotnet remove package Leadtools.Pdf
SHELL

Em implantações do Windows Server, o MSVC++ 2017 Runtime pode ser removido dos scripts de provisionamento após a conclusão da migração.IronBarcode não possui dependências de tempo de execução nativas em nenhuma plataforma.

Passo 2: Instale o IronBarcode

dotnet add package IronBarcode
SHELL

Este pacote único inclui suporte para todos os formatos de imagem, extração nativa de código de barras em PDF, correção de erros por aprendizado de máquina e todas as mais de 50 simbologias suportadas. Não são necessários pacotes de codecs adicionais.

Etapa 3: Inicializar a licença

Substitua todo o bloco de inicialização do FERRAMENTAS DE CHAVE por uma única linha. Localize cada chamada para RasterSupport.SetLicense no código — geralmente haverá exatamente uma, na inicialização do aplicativo — e substitua toda a sequência de inicialização ao redor:

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

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

A chave de licença pode ser obtida de qualquer mecanismo de configuração capaz de strings: uma variável de ambiente, appsettings.json, Azure Key Vault, AWS Secrets Manager, ou um segredo do Kubernetes. Para obter informações sobre configuração de licenças baseadas em ambiente, padrões de implantação do Docker e todas as abordagens de configuração suportadas, consulte a documentação de configuração da chave de licença .

Exemplos de migração de código

Lendo Códigos de Barras de Imagens

O FERRAMENTAS DE CHAVE separa o carregamento de imagens da leitura de código de barras em duas camadas de objetos distintas. Uma instância RasterCodecs carrega o arquivo de imagem em um RasterImage, e uma instância BarcodeEngine o escaneia. O chamador também deve fornecer um array explícito de valores BarcodeSymbology; Os formatos não listados na matriz não serão detectados.

Abordagem 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}");

Abordagem do IronBarcode:

using IronBarCode;

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

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

O IronBarcode aceita o caminho do arquivo diretamente, carrega a imagem internamente e detecta automaticamente os formatos em todas as mais de 50 simbologias suportadas, sem exigir que o usuário enumere os tipos esperados. Para configurações avançadas — ajuste da velocidade de leitura, detecção de múltiplos códigos de barras e tratamento de imagens de baixa qualidade — consulte o guia de leitura de códigos de barras a partir de imagens .

Gerando um código de barras Code 128

A geração FERRAMENTAS DE CHAVE requer a construção de um objeto BarcodeData, alocar um RasterImage em branco com flags de memória explícitos, profundidade de pixel e ordem de bytes, preencher a imagem com uma cor de fundo, escrever o código de barras sobre ela, e então salvar com RasterCodecs. O IronBarcode executa todas essas etapas por meio de uma única cadeia de métodos fluente.

Abordagem 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);

Abordagem do IronBarcode:

using IronBarCode;

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

Para obter um passo a passo completo sobre dimensionamento, estilo, controle de margens e formatos de saída compatíveis, consulte Criação de imagens de código de barras .

Geração de um código QR com personalização de logotipo

A geração de código QR do FERRAMENTAS DE CHAVE segue o mesmo padrão de construção RasterImage em várias etapas que outros tipos de código de barras. O IronBarcode fornece QRCodeWriter com um método dedicado AddBrandLogo para embutir um logotipo no centro de um código QR.

Abordagem 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);

Abordagem do IronBarcode:

using IronBarCode;

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

Extraindo códigos de barras de documentos PDF

A extração de código de barras PDF do FERRAMENTAS DE CHAVE requer o pacote separado Leadtools.Pdf, configuração explícita de carregamento de PDF, uma consulta manual de contagem de páginas e um loop sobre cada página. Cada página deve ser carregada individualmente como um RasterImage antes da digitalização. O IronBarcode inclui suporte a PDF no pacote básico e lida com a iteração de páginas internamente.

Abordagem 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}");
}

Abordagem do IronBarcode:

using IronBarCode;

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

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

Implantação do Docker

A necessidade de gerenciamento de arquivos que define cada implantação do Docker do FERRAMENTAS DE CHAVE é completamente eliminada ao migrar para o IronBarcode.

Abordagem 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

Abordagem do IronBarcode:

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

WORKDIR /app
COPY publish/ .

ENV IRONBARCODE_LICENSE=your-license-key

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

A chave de licença é injetada no tempo de execução do contêiner por meio de segredos do Docker, segredos do Kubernetes ou qualquer mecanismo de variável de ambiente. Não é necessário provisionar nenhum arquivo. O guia de implantação do Docker e do Linux aborda imagens base Alpine e Debian, compilações em várias etapas e padrões de implantação do Kubernetes.

Referência de mapeamento da API de código de barras FERRAMENTAS DE CHAVE para o IronBarcode

FERRAMENTAS DE CHAVEIronBarcodeNotas
RasterSupport.SetLicense(path, key)IronBarCode.License.LicenseKey = "key"Somente a chave — nenhum arquivo
RasterSupport.KernelExpired(removed)Não é necessário verificar a data de validade.
RasterSupport.IsLocked(RasterSupportType.Barcode1DRead)(removed)Todas as funcionalidades incluídas
RasterSupport.IsLocked(RasterSupportType.Barcode2DRead)(removed)Todas as funcionalidades incluídas
RasterSupport.IsLocked(RasterSupportType.BarcodeWrite)(removed)Todas as funcionalidades incluídas
new BarcodeEngine()Estático — nenhuma instânciaBarcodeReader, BarcodeWriter são estáticos
new RasterCodecs()(removed)Passe o caminho do arquivo diretamente
codecs.Load(imagePath)(removed)Passe o caminho do arquivo diretamente
engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, symbologies)BarcodeReader.Read(imagePath)Detecta simbologias automaticamente
BarcodeData.Valueresult.ValueMesmo nome de propriedade
BarcodeData.Symbologyresult.FormatPropriedade renomeada
new BarcodeData() { Symbology = BarcodeSymbology.Code128 }BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)Criação fluente
BarcodeSymbology.Code128BarcodeEncoding.Code128Alteração de namespace
BarcodeSymbology.QRBarcodeEncoding.QRCodeMudança de nome
BarcodeSymbology.DataMatrixBarcodeEncoding.DataMatrixMesmo nome
BarcodeSymbology.PDF417BarcodeEncoding.PDF417Mesmo nome
BarcodeSymbology.EAN13BarcodeEncoding.EAN13Mesmo nome
BarcodeSymbology.UPCABarcodeEncoding.UPCAMesmo nome
BarcodeSymbology.Interleaved2of5BarcodeEncoding.Interleaved2of5Mesmo nome
BarcodeSymbology.CodabarBarcodeEncoding.CodabarMesmo nome
engine.Writer.WriteBarcode(image, data, null) + codecs.Save(...).SaveAsPng(path)Uma cadeia de métodos
new RasterImage(...) + new FillCommand(RasterColor.White).Run(image)(removed)Interno ao IronBarcode

Problemas e soluções comuns em migrações

Problema 1: Referências a arquivos .LIC em CI/CD

LEADTOOLS: Pipelines de CI/CD que constroem ou implantam aplicações FERRAMENTAS DE CHAVE devem provisionar o arquivo .LIC — seja checando-o no controle de versão, decodificando-o de um segredo base64, ou montando-o como um artefato de volume. Cada etapa do pipeline que executa a aplicação precisa ter o arquivo acessível.

Solução: Remova todo o manuseio de arquivo .LIC do pipeline. Substitua por um string secreto:

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

O valor da string é armazenado no repositório de segredos de CI/CD juntamente com outras credenciais que também são strings. Não é necessário decodificar arquivos, provisionar artefatos ou configurar volumes.

Problema 2: Dependência do runtime do MSVC++ no Windows

LEADTOOLS: As implementações do Windows Server exigem que o MSVC++ 2017 Runtime esteja instalado no host. Os scripts de provisionamento, as imagens base de contêiner e as AMIs do Windows usadas para implementações do FERRAMENTAS DE CHAVE geralmente incluem uma etapa para instalar esse runtime.

Solução: Remova a etapa de instalação do MSVC++ 2017 Runtime de todos os scripts de provisionamento do Windows e imagens de contêiner.IronBarcode não possui dependências de tempo de execução nativas. A imagem base dotnet/aspnet é suficiente sem pacotes de tempo de execução adicionais.

Problema 3: Verificações de bloqueio de recursos do tipo de suporte raster

LEADTOOLS: A sequência de inicialização inclui verificações RasterSupport.IsLocked() para cada recurso de código de barras — Barcodes1D, Barcodes2D, e BarcodeWrite. Essas verificações são códigos de segurança exigidos pela arquitetura FERRAMENTAS DE CHAVE para garantir que o arquivo de licença cubra todas as funcionalidades necessárias.

Solução: Remova todas as chamadas RasterSupport.IsLocked(). O IronBarcode inclui todas as funcionalidades de leitura e gravação em uma única licença. Não existem estados de bloqueio por funcionalidade e nenhuma etapa de verificação de funcionalidade é necessária:

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

Problema 4: Remoção da matriz de simbologia de código de barras

LEADTOOLS: Cada chamada para engine.Reader.ReadBarcodes() requer um parâmetro BarcodeSymbology[] explícito. Códigos de barras cuja simbologia não esteja listada na matriz não serão detectados, o que pode causar falhas silenciosas de leitura quando um novo tipo de código de barras for introduzido em um documento de entrada.

Solução: Remova a matriz de simbologia. BarcodeReader.Read() detecta automaticamente todos os formatos suportados. Se for necessário ajuste de desempenho para um conjunto de formatos conhecido, BarcodeReaderOptions fornece dicas opcionais sem exigir enumeração exaustiva:

// 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 verificação para migração de código de barras LEADTOOLS

Tarefas pré-migração

Antes de fazer qualquer alteração, verifique toda a utilização do FERRAMENTAS DE CHAVE no código-fonte:

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 a quantidade e a localização dos blocos de inicialização, dos pontos de chamada de leitura, dos pontos de chamada de escrita e das referências do Dockerfile antes de iniciar as alterações no código.

Tarefas de atualização de código

  1. Remova todos os cinco pacotes NuGet do FERRAMENTAS DE CHAVE (e o codec PDF, se presente).
  2. Instale IronBarcode via dotnet add package IronBarcode
  3. Substitua todas as importações de namespace using Leadtools.* por using IronBarCode
  4. Substitua todo o bloco de inicialização RasterSupport.SetLicense por IronBarCode.License.LicenseKey = "key"
  5. Remova todas as verificações RasterSupport.KernelExpired
  6. Remova todas as verificações RasterSupport.IsLocked(RasterSupportType.*)
  7. Remova todas as instâncias new BarcodeEngine()
  8. Remova todas as instâncias new RasterCodecs() dos caminhos de código de barras
  9. Substitua codecs.Load(path) + engine.Reader.ReadBarcodes(image, ...) por BarcodeReader.Read(path)
  10. Substitua new BarcodeData(...) + new RasterImage(...) + FillCommand + WriteBarcode + codecs.Save() por BarcodeWriter.CreateBarcode(...).SaveAsPng(path)
  11. Substitua referências de enum BarcodeSymbology.* por BarcodeEncoding.* (note: QR se torna QRCode)
  12. Remova linhas COPY LEADTOOLS.LIC de todos os Dockerfiles
  13. Remova as declarações de variáveis de ambiente LEADTOOLS_LICENSE_PATH e LEADTOOLS_DEVELOPER_KEY dos Dockerfiles e configurações de implantação
  14. Adicione a variável de ambiente IRONBARCODE_LICENSE aos Dockerfiles e configurações de segredos
  15. Remover a instalação do MSVC++ 2017 Runtime dos scripts de provisionamento do Windows

Testes pós-migração

  • Verifique se todas as operações de leitura de código de barras retornam valores esperados em todos os tipos de simbologia anteriormente cobertos pelo array BarcodeSymbology[]
  • Verificar se o Código 128, o código QR e quaisquer outros tipos de código de barras gerados produzem uma saída válida e legível por scanner.
  • Confirme se a extração de código de barras PDF funciona corretamente sem Leadtools.Pdf
  • Construa e inicie a imagem do container sem montar nenhum arquivo .LIC e confirme se a aplicação inicializa corretamente
  • Execute o pipeline de CI/CD sem a etapa de provisionamento de arquivo .LIC e confirme se todas as etapas são concluídas com sucesso
  • Verifique se o tamanho da saída publicada e o tempo de obtenção da imagem do contêiner foram aprimorados.

Principais benefícios da migração para o IronBarcode

Arquitetura de Implantação Simplificada: Após a migração, todos os ambientes — desenvolvimento, CI, teste e produção — recebem a licença por meio do mesmo mecanismo de segredos com valores de string usado para chaves de API, senhas de banco de dados e outras credenciais. Não é necessário provisionamento de arquivos, manipulação de artefatos ou montagem de volumes. Adicionar um novo ambiente de implantação é a mesma operação que adicionar qualquer outro segredo.

Superfície de Dependência Reduzida: Um pacote NuGet substitui cinco, e o requisito do MSVC++ 2017 Runtime é eliminado. O tamanho do arquivo de saída publicado por um serviço de código de barras cai de aproximadamente 148 MB para aproximadamente 39 MB. Imagens menores significam downloads de contêineres mais rápidos, custos de armazenamento mais baixos em registros de contêineres e tempos de inicialização a frio reduzidos em ambientes sem servidor e de escalonamento automático.

Inicialização simplificada do aplicativo: a sequência de inicialização do FERRAMENTAS DE CHAVE de 20 linhas — resolução de caminho de arquivo, verificação de expiração e três verificações de bloqueio por recurso — é substituída por uma única linha. A inicialização do aplicativo é mais rápida e o caminho do código de inicialização não possui dependência do sistema de arquivos que possa falhar em um novo ambiente.

Detecção abrangente de formatos: o IronBarcode lê todas as mais de 50 simbologias suportadas sem exigir que o usuário especifique os formatos esperados. O risco de leituras silenciosas perdidas — causadas por omitir uma simbologia do array BarcodeSymbology[] do FERRAMENTAS DE CHAVE — é eliminado. Quando um novo tipo de código de barras aparece em um documento de entrada, o IronBarcode o detecta sem exigir uma alteração no código.

Custo Total Previsível: Uma única compra de licença perpétua cobre desenvolvimento, testes e implantações ilimitadas em produção, sem necessidade de rastreamento de implantação, renovação anual ou obtenção de uma licença de produção separada. As equipes podem confirmar o custo total da biblioteca antes de iniciar o desenvolvimento, sem a necessidade de uma conversa com o vendedor.

Design Moderno de API: BarcodeReader.Read() e BarcodeWriter.CreateBarcode() são pontos de entrada estáticos que aceitam caminhos de arquivo diretamente. A construção de objetos em múltiplas camadas que a leitura e a gravação do FERRAMENTAS DE CHAVE exigem — instâncias de codec, instâncias de mecanismo, alocação de imagem, preenchimento de fundo — é tratada internamente. O código que lê e gera códigos de barras é mais curto, mais fácil de revisar e mais fácil de testar.

Observe: LEADTOOLS é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pela LEAD Technologies. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.