IRONSOFTWAREHOME
VÍDEOS

Migrando deTelerik RadBarcodepara IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 de agosto de 2026

Este guia fornece um caminho de migração completo doTelerik RadBarcodepara o IronBarcode para desenvolvedores .NET que atingiram os limites do que RadBarcode e RadBarcodeReader podem fazer. Abrange a substituição de pacotes, atualizações de namespace, inicialização de licenças, exemplos de migração em nível de código, uma referência de mapeamento de API e uma lista de verificação para garantir que a migração esteja completa. Os exemplos se concentram nos cenários mais comuns encontrados durante as migrações de código de barras da Telerik: substituição de controles XAML, expansão do formato de leitura, implantação no servidor e processamento de PDF.

Por que migrar do Telerik RadBarcode?

As migrações doTelerik RadBarcodesão motivadas por requisitos técnicos concretos que os componentes existentes não conseguem satisfazer. Os motivos abaixo representam as condições mais comumente relatadas por equipes que concluíram ou estão avaliando essa transição.

Limite de Leitura de 2D: O componente RadBarcodeReader no WPF e o componente RadBarcodeReader no WinForms compartilham o mesmo mecanismo de leitura, que é delimitado pelo enum DecodeType. Essa enumeração contém entradas para formatos lineares 1D — Code128, Code39, EAN13, EAN8, UPCA, UPCE, Codabar, ITF — e nada mais. Não existe nenhuma entrada para QR Code, DataMatrix, PDF417 ou Aztec. Quando um novo requisito chega para processar códigos QR de entrada ou ler etiquetas DataMatrix de documentos digitalizados, a restrição DecodeType se torna um bloqueio rígido sem solução alternativa disponível dentro da família de produtos Telerik.

Fragmentação de Código de Plataforma: A leitura com Telerik requer dependências do framework de UI: RadBarcodeReader usa tipos WPF (BitmapImage) e RadBarcodeReader usa tipos WinForms (System.Drawing.Image). Esses tipos não podem ser referenciados em uma biblioteca .NET compartilhada, um aplicativo de console, um projeto ASP.NET Core ou um servidor Blazor . Uma equipe que deseja centralizar a lógica de leitura de código de barras em uma camada de serviço compartilhada não pode fazê-lo com os tipos da Telerik — as implementações de leitores estão permanentemente vinculadas às suas respectivas estruturas de interface do usuário.

Lacuna no processamento de PDFs: Muitos fluxos de trabalho de código de barras operam em documentos em vez de arquivos de imagem. O leitor de código de barras RadBarcodeReader da Telerik aceita apenas imagens bitmap. A leitura de um código de barras incorporado em uma página PDF exige a conversão da página em uma imagem usando uma biblioteca separada e, em seguida, o envio dessa imagem para o leitor Telerik — adicionando uma dependência e ainda recebendo apenas resultados unidimensionais. Para equipes cujos documentos são principalmente PDFs, essa solução alternativa adiciona atrito em todos os pontos do fluxo de trabalho.

Licenciamento por assinatura: a funcionalidade de código de barras da Telerik não é vendida como um pacote independente. O acesso a RadBarcode e RadBarcodeReader está incluído em assinaturas de suíte de UI específicas de plataforma — as assinaturas de UI Telerik por plataforma começam em US$749 por desenvolvedor por ano (nível Lite) e DevCraft UI custa US$1.149 por desenvolvedor por ano para todas as plataformas combinadas, conforme a precificação publicada pela Telerik para 2026. Equipes cuja principal necessidade é a funcionalidade de código de barras, e que não utilizam outros controles da Telerik UI, absorvem o custo total do Suite por um componente que representa uma pequena fração do que é adquirido.

O problema fundamental

A expressão mais clara da limitação de leitura da Telerik é que o componente que gera um formato não pode enviá-lo de ida e volta através do leitor:

// 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

O IronBarcode resolve essa lacuna. A geração e a leitura utilizam o mesmo pacote, e o mecanismo de leitura detecta automaticamente códigos QR, DataMatrix, PDF417 e todos os outros 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: Comparação de Recursos

RecursoTelerik RadBarcodeIronBarcode
Geração de código de barras 1DSim (todas as plataformas)Sim
Geração de código de barras 2DSim (todas as plataformas)Sim
Leitura de código de barras 1DSomente WPF + WinFormsSim (todas as plataformas)
leitura de código QRSomente WPFSim (todas as plataformas)
Leitura de DataMatrixSomente WPFSim (todas as plataformas)
Leitura PDF417Somente WPFSim (todas as plataformas)
Leitura astecaNão disponívelSim
leitura de arquivos PDFNão disponívelSim (nativo)
Detecção automática de formatoNão — DecodeType obrigatórioSim
Leitura de ASP.NET CoreNão disponívelSim
Blazor lendoNão disponívelSim
Docker / Leitura LinuxNão disponívelSim
Biblioteca de serviços compartilhadosNão é possível (tipos de plataforma)Sim
API de leitura estáticaNão (requer instância)Sim
Pacote NuGet independenteNão — é necessário um Suite de interface de usuário.Sim
Licença perpétuaTier perpétua disponível junto com assinaturaSim — a partir de $999 (Lite)

Início rápido

Passo 1: Substitua o pacote NuGet

Remova o pacote Telerik UI para a plataforma ou plataformas do seu projeto:

# 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

Se o seu projeto também utiliza outros controles Telerik do mesmo pacote, mantenha o pacote instalado e prossiga para o passo 2. Você removerá as chamadas de API específicas para código de barras sem remover o pacote compartilhado.

Instale o IronBarcode:

dotnet add package IronBarcode
SHELL

Um único pacote abrange WPF, WinForms, ASP.NET Core, Blazor Server, aplicativos de console, Docker, Azure Functions e AWS Lambda. O documento completo com os detalhes de compatibilidade da plataforma especifica as versões exatas do .NET e os sistemas operacionais suportados.

Etapa 2: Atualizar Namespaces

Remova as importações do namespace de código de barras da Telerik e substitua-as pelo namespace do 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;

Etapa 3: Inicializar a licença

Substitua a inicialização da licença Telerik pela atribuição da chave IronBarcode na inicialização do aplicativo:

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

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

A atribuição da chave é feita apenas uma vez no ponto de entrada do aplicativo. Não há arquivo de licença para implantar, nenhum caminho de inicialização por plataforma e nenhuma configuração separada para WPF versus ASP.NET Core.

Exemplos de migração de código

Geração de um código de barras: Controle XAML para API baseada em código

A geração da Telerik no WPF é declarativa — o elemento XAML RadBarcode renderiza diretamente na árvore de UI.IronBarcode gera códigos de barras em código e retorna um objeto GeneratedBarcode que pode ser salvo como um arquivo ou convertido em um BitmapSource para exibição no WPF.

Abordagem da 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

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

O enum BarcodeEncoding cobre as mesmas simbologias que o enum Symbology da Telerik. A mudança para a geração de código QR altera apenas o argumento enum. Para conhecer todas as opções de geração de códigos de barras 2D , incluindo os níveis de correção de erros QR e as dimensões DataMatrix, a documentação do IronBarcode fornece exemplos completos.

Leitura de códigos de barras em aplicativos de computador

A Telerik fornece duas classes leitoras separadas para plataformas desktop — RadBarcodeReader para WPF e RadBarcodeReader para WinForms — com nomes de classes diferentes, nomes de propriedades diferentes e tipos de entrada diferentes.IronBarcode substitui ambos com uma única chamada estática que funciona de forma idêntica em qualquer tipo de projeto.

Abordagem WPF da Telerik:

A leitura no WPF requer uma instância de RadBarcodeReader, configuração explícita de DecodeType, um objeto BitmapImage carregado a partir de um URI e uma chamada para reader.Decode(). A propriedade de resultado é .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";
}

Abordagem Telerik WinForms:

A classe RadBarcodeReader no WinForms usa um nome diferente, um nome de propriedade diferente (DecodeType singular em vez de DecodeTypes plural) e aceita um System.Drawing.Image em vez de um 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";
}

Abordagem do 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() é um método estático — nenhuma instância de leitor é necessária. Aceita diretamente uma string de caminho de arquivo sem exigir um carregamento de BitmapImage ou System.Drawing.Image. A detecção de formato é automática em todos os mais de 50 tipos suportados. A propriedade de resultado é .Value em vez de .Text. Essa mesma chamada funciona sem modificações tanto em aplicações WPF quanto em aplicações WinForms — não existe uma variante específica para cada plataforma. Ele também lê códigos QR, DataMatrix e qualquer outro formato presente na imagem, ao contrário dos leitores da Telerik, que são restritos a formatos 1D.

Leitura de códigos QR: algo antes impossível com a Telerik

Se a sua base de código contém um comentário ou uma NotSupportedException documentando que a leitura de QR não está disponível, esta é a sua substituição. Não existe nenhum caminho de configuração no Telerik que habilite a leitura de QR Code — este cenário não tem equivalente no Telerik.

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

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

A mesma chamada BarcodeReader.Read() que lê códigos de barras EAN-13 lê códigos QR. Não existe uma configuração separada para formatos 2D. Para obter uma lista completa dos formatos de código de barras suportados para leitura e geração, a documentação do IronBarcode abrange todas as mais de 50 entradas com notas específicas para cada formato.

Leitura de códigos de barras em um endpoint ASP.NET Core

A Telerik não fornece nenhum componente de leitura de código de barras para ASP.NET Core ou Blazor. Se um aplicativo existente encaminhava imagens carregadas para um serviço de desktop para leitura porque a camada web não possuía um leitor Telerik, essa solução alternativa é substituída pela leitura direta na camada web.

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

Abordagem do 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() aceita um Stream diretamente, então o stream de arquivo carregado é passado sem escrever no disco. Este controlador pode ser implantado em Linux, Docker ou no Serviço de Aplicativos do Azure sem necessidade de modificações.

Leitura de códigos de barras em arquivos PDF

A Telerik não possui capacidade de leitura de código de barras em PDF. Adicionar a leitura de PDF a uma base de código existente baseada em Telerik requer uma biblioteca de renderização de PDF para converter páginas em imagens antes de passá-las para RadBarcodeReader. O IronBarcode lê arquivos PDF diretamente.

Abordagem da 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;
}

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

Não é necessária nenhuma biblioteca PDF separada. Sem etapa de extração de página. Sem conversão de imagem. Informe o caminho do PDF e o IronBarcode processará todas as páginas, retornando todos os códigos de barras com o número da página. São detectados códigos de barras 1D e 2D em páginas PDF.

Referência de mapeamento da API RadBarcode da Telerik para o IronBarcode

Telerik RadBarcodeIronBarcode
TelerikLicenseManager.InstallLicense("key")IronBarCode.License.LicenseKey = "key"
<telerik:RadBarcode Value="..." Symbology="Code128" />BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
<TelerikBarcode Type="@BarcodeType.Code128" />Geração no lado do servidor retornando ToPngBinaryData()
Symbology.Code128BarcodeEncoding.Code128
Symbology.QRCodeBarcodeEncoding.QRCode
new RadBarcodeReader() (WPF)Classe estática — não é necessária nenhuma instância.
new RadBarcodeReader() (WinForms)Classe estática — não é necessária nenhuma instância.
reader.DecodeTypes = new DecodeType[] { ... } (WPF)Detecção automática — nenhuma especificação necessária
reader.DecodeType = new DecodeType[] { ... } (WinForms)Detecção automática — nenhuma especificação necessária
reader.Decode(bitmapImage) (WPF)BarcodeReader.Read(imagePath)
reader.Read(drawingImage) (WinForms)BarcodeReader.Read(imagePath)
result.Textresult.Value
result.Symbologyresult.BarcodeType
BitmapImage necessário como entrada (WPF)Caminho de arquivo, Stream ou array de bytes aceitos
System.Drawing.Image necessário como entrada (WinForms)Caminho de arquivo, Stream ou array de bytes aceitos
Formatos 1D apenas para leituraMais de 50 formatos, incluindo todos os tipos 2D.
WPF e WinForms somente leituraTodas as plataformas .NET
Sem suporte para leitura de PDFBarcodeReader.Read("file.pdf") — nativo

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

Problema 1: Substituição do controle de código de barras XAML

Telerik: <telerik:RadBarcode> é um controle visual que renderiza diretamente na árvore de elementos de UI do WPF. Não pode ser substituído por um elemento Image sem alterações no código-behind.

Solução: Substituir o elemento <telerik:RadBarcode> por um controle <Image> e gerar o código de barras no código-behind. Vincule o Image.Source a um BitmapSource gerado pelo IronBarcode:

// In code-behind or ViewModel
using IronBarCode;

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

Para Blazor, substitua <TelerikBarcode> por um elemento <img> cujo atributo src recebe um PNG codificado em base64 gerado no lado do servidor.

Problema 2: Efeitos colaterais da remoção do DecodeType

Telerik: A propriedade DecodeTypes (WPF) ou DecodeType (WinForms) filtra quais formatos o leitor tenta detectar. Remover esse filtro em uma migração do IronBarcode significa que o IronBarcode agora retornará resultados para todos os formatos presentes na imagem, incluindo formatos que foram previamente excluídos pelo filtro.

Solução: Remover completamente o bloco de atribuição DecodeType. Se os formatos adicionais detectados causarem resultados inesperados na lógica subsequente — por exemplo, se o código assumir que apenas um formato de código de barras seria retornado — adicione filtragem opcional usando BarcodeReaderOptions:

using IronBarCode;

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

Isso é opcional. O comportamento padrão (detectar todos os formatos) é correto para a maioria dos casos de uso e produz resultados que a implementação anterior da Telerik não conseguia.

Problema 3: Limpeza do TelerikLicenseManager

Telerik: Chamadas Telerik.WinControls.TelerikLicenseManager.InstallLicense(key) aparecem na inicialização do aplicativo, tipicamente em Program.cs (WinForms) ou App.xaml.cs (WPF). A chave geralmente é armazenada nas configurações do aplicativo, em um arquivo de configuração ou está codificada no método de inicialização.

Solução: Remover a chamada TelerikLicenseManager.InstallLicense(). Substitua-o pela atribuição de chave IronBarcode no mesmo local de inicialização:

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

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

Se o pacote Telerik permanecer instalado (porque outros controles Telerik não relacionados a códigos de barras ainda estão em uso), a chamada TelerikLicenseManager para esses controles deve ser preservada. Só remova a chamada se os pacotes Telerik estiverem sendo completamente removidos.

Lista de verificação para migração do Telerik RadBarcode

Tarefas pré-migração

Antes de fazer alterações no código, verifique se há alguma menção ao uso de códigos de barras da 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

Documente cada partida. Observe quais arquivos contêm controles XAML, quais contêm código de leitura e a qual plataforma cada arquivo pertence.

Tarefas de atualização de código

  1. Remova os pacotes NuGet de código de barras da Telerik (ou mantenha-os, se necessários para outros controles).
  2. Instale o pacote NuGet IronBarcode em cada projeto que necessitar de funcionalidade de código de barras
  3. Adicione IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY" em cada ponto de entrada de inicialização do aplicativo
  4. Remova as importações de namespace Telerik e adicione using IronBarCode
  5. Substitua os elementos XAML <telerik:RadBarcode> por controles <Image>
  6. Gere imagens de código de barras no código-behind usando BarcodeWriter.CreateBarcode(...).ToBitmapSource()
  7. Substitua os componentes Razor <TelerikBarcode> por fontes base64 <img> geradas no lado do servidor
  8. Substitua as instâncias new RadBarcodeReader() por chamadas estáticas BarcodeReader.Read(path)
  9. Substitua as instâncias new RadBarcodeReader() por chamadas estáticas BarcodeReader.Read(path)
  10. Exclua todos os reader.DecodeTypes = new DecodeType[] { ... } and reader.DecodeType = new DecodeType[] { ... } blocos
  11. Substitua as chamadas reader.Decode(bitmapImage) por BarcodeReader.Read(imagePath)
  12. Substitua as chamadas reader.Read(drawingImage) por BarcodeReader.Read(imagePath)
  13. Renomeie result.Text para result.Value em todos os pontos de acesso a resultados de leitura
  14. Renomeie result.Symbology para result.BarcodeType em todos os pontos de verificação de formato
  15. Substitua Symbology.Code128 e valores similares de enum de geração por BarcodeEncoding.Code128
  16. Remova as chamadas TelerikLicenseManager.InstallLicense() onde os pacotes Telerik estão totalmente removidos

Testes pós-migração

  • Verifique se todos os códigos de barras 1D lidos anteriormente (Code128, EAN13, etc.) continuam retornando valores corretos.
  • Confirme se os códigos QR nas imagens de teste agora são lidos com sucesso, enquanto anteriormente retornavam valor nulo.
  • Testar se os códigos de barras gerados (salvos como PNG ou fornecidos como bytes) são exibidos corretamente e lidos de forma adequada.
  • Verifique se os endpoints do ASP.NET Core ou Blazor que anteriormente não conseguiam realizar leituras agora funcionam corretamente.
  • Caso a leitura de PDF tenha sido adicionada, confirme se os códigos de barras em cada página do PDF são detectados com os números de página corretos. Execute os comandos grep audit da seção Pré-Migração para confirmar que não há referências restantes à API de código de barras da Telerik.
  • Confirme que IronBarCode.License.LicenseKey está configurado antes da primeira chamada BarcodeReader.Read() ou BarcodeWriter.CreateBarcode()

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

Suporte completo a formatos 2D: Após a migração, os formatos QR Code, DataMatrix, PDF417 e Aztec podem ser lidos pela mesma chamada de API que já lia Code128 e EAN13. Nenhuma configuração adicional é necessária e nenhuma biblioteca separada é requerida para formatos 2D. O mecanismo de leitura realiza a identificação do formato automaticamente.

API Unificada Multiplataforma: As mesmas chamadas BarcodeReader.Read() e BarcodeWriter.CreateBarcode() compilam e executam de forma idêntica no WPF, WinForms, ASP.NET Core, Blazor, aplicações de console e contêineres Docker. A lógica de código de barras, escrita uma única vez em uma biblioteca de serviços compartilhada, funciona em todos os tipos de projeto da solução sem necessidade de modificações.

Processamento nativo de arquivos PDF: o IronBarcode lê códigos de barras diretamente de arquivos PDF, processando todas as páginas e retornando os resultados com metadados de número de página. Fluxos de trabalho que antes exigiam uma biblioteca de renderização de PDF e uma etapa de leitura da Telerik foram consolidados em uma única chamada de método, eliminando a dependência de terceiros e a etapa intermediária de conversão de imagem.

Eliminação da dependência de assinatura para acesso a códigos de barras: após a migração, a funcionalidade de código de barras estará disponível por meio do modelo de licenciamento perpétuo da IronBarcode. O acesso contínuo não requer renovação anual. As equipes cujo uso principal do Suite Telerik estava relacionado a códigos de barras reduzem seus custos recorrentes de licenciamento a um custo único.

Base de Código Simplificada: O bloco de configuração DecodeType, a etapa de carregamento BitmapImage, a seleção da classe de leitor específica da plataforma e a cadeia de propriedades result.Text são todos substituídos por uma única chamada de método estático com uma coleção de resultados de detecção automática. O código que antes exigia implementações diferentes para leitura em WPF e WinForms agora é consolidado em uma única implementação compartilhada.

Observe: Telerik é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pela Progress Software. 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.