IRONSOFTWAREHOME
VIDÉOS

Migrer de Code-barres Telerik Rad vers IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 août 2026

Ce guide fournit un chemin de migration complet de Code-barres Telerik Rad vers Code-barres IronBarcode pour les développeurs .NET qui ont atteint les limites de ce que RadBarcode et RadBarcodeReader peuvent faire. Il couvre le remplacement des paquets, les mises à jour des espaces de noms, l'initialisation des licences, des exemples de migration au niveau du code, une référence de mappage d'API et une liste de contrôle pour vérifier que la migration est complète. Les exemples se concentrent sur les scénarios les plus fréquemment rencontrés lors des migrations de codes-barres Telerik : remplacement des contrôles XAML, extension du format de lecture, déploiement côté serveur et traitement PDF.

Pourquoi migrer depuis Telerik RadBarcode

Les migrations Code-barres Telerik Rad sont déclenchées par des exigences techniques concrètes que les composants existants ne peuvent pas satisfaire. Les raisons ci-dessous représentent les conditions les plus fréquemment signalées par les équipes qui ont achevé ou qui sont en train d'évaluer cette transition.

Limite de lecture 2D : Le composant RadBarcodeReader dans WPF et le composant RadBarcodeReader dans WinForms partagent le même moteur de lecture, qui est délimité par l'énumération DecodeType. Cette énumération contient des entrées pour les formats linéaires 1D — Code128, Code39, EAN13, EAN8, UPCA, UPCE, Codabar, ITF — et rien d'autre. Aucune entrée n'existe pour les codes QR, DataMatrix, PDF417 ou Aztec. Lorsqu'une nouvelle exigence arrive pour traiter les codes QR entrants ou lire des étiquettes DataMatrix à partir de documents numérisés, la contrainte DecodeType devient un obstacle majeur sans solution de contournement disponible dans la famille de produits Telerik.

Fragmentation du code de la plateforme : La lecture avec Telerik nécessite des dépendances de cadre UI : RadBarcodeReader utilise des types WPF (BitmapImage) et RadBarcodeReader utilise des types WinForms (System.Drawing.Image). Ces types ne peuvent pas être référencés dans une bibliothèque .NET partagée, une application console, un projet ASP.NET Core ou un serveur Blazor . Une équipe qui souhaite centraliser la logique de lecture des codes-barres dans une couche de services partagée ne peut pas le faire avec les types Telerik — les implémentations de lecteurs sont liées de manière permanente à leurs frameworks d'interface utilisateur respectifs.

Lacune en matière de traitement des PDF : de nombreux flux de travail de codes-barres fonctionnent sur des documents plutôt que sur des fichiers image. Le lecteur de codes-barres Telerik RadBarcodeReader n'accepte que les images bitmap. La lecture d'un code-barres intégré dans une page PDF nécessite la conversion de la page en image à l'aide d'une bibliothèque distincte, puis l'envoi de cette image au lecteur Telerik — ajoutant ainsi une dépendance et ne recevant toujours que des résultats unidimensionnels. Pour les équipes dont les documents sont principalement des PDF, cette solution de contournement ajoute des frictions à chaque étape du flux de travail.

Licence par abonnement : la fonctionnalité de code-barres Telerik n'est pas vendue sous forme de package autonome. L'accès à RadBarcode et RadBarcodeReader est regroupé avec des abonnements à la suite UI spécifique à la plateforme — les abonnements UI Telerik par plateforme commencent à partir de 749 $ par développeur et par an (niveau Lite) et DevCraft UI est à 1 149 $ par développeur et par an pour toutes les plateformes combinées, selon les prix publiés de Telerik pour 2026. Les équipes dont le besoin principal est la fonctionnalité de code-barres, et qui n'utilisent pas d'autres contrôles d'interface utilisateur Telerik, supportent le coût total de la Suite pour un composant qui ne représente qu'une petite fraction de ce qui est acheté.

Le problème fondamental

La limitation de lecture de Telerik se manifeste le plus clairement par le fait que le composant qui génère un format ne peut pas le faire transiter par le lecteur :

// 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 comble cette lacune. La génération et la lecture utilisent le même package, et le moteur de lecture détecte automatiquement les codes QR, DataMatrix, PDF417 et tous les autres formats :

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

Comparaison des fonctionnalités Code-barres IronBarcode et de Telerik RadBarcode

FonctionCode-barres Telerik RadCode-barres IronBarcode
génération de codes-barres 1DOui (toutes les plateformes)Oui
génération de codes-barres 2DOui (toutes les plateformes)Oui
Lecture de codes-barres 1DWPF + WinForms uniquementOui (toutes les plateformes)
lecture de code QRWPF seulementOui (toutes les plateformes)
Lecture DataMatrixWPF seulementOui (toutes les plateformes)
Lecture PDF417WPF seulementOui (toutes les plateformes)
lecture aztèqueNon disponibleOui
lecture de fichiers PDFNon disponibleOui (natif)
Détection automatique du formatNon — DecodeType requisOui
Lecture ASP.NET CoreNon disponibleOui
lecture de BlazorNon disponibleOui
Lecture sur Docker/LinuxNon disponibleOui
Bibliothèque de services partagésImpossible (types de plateformes)Oui
API de lecture statiqueNon (nécessite une instance)Oui
package NuGet autonomeNon — Suite d'interface utilisateur requiseOui
Licence perpétuelleNiveau perpétuel disponible à côté de l'abonnementOui — à partir de $999 (Lite)

Démarrage rapide

Étape 1 : Remplacer le package NuGet

Supprimez le package Telerik UI pour la ou les plateformes de votre projet :

# 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 votre projet utilise également d'autres contrôles Telerik provenant du même package, laissez ce dernier en place et passez à l'étape 2. Vous supprimerez les appels API spécifiques aux codes-barres sans supprimer le package partagé.

Installer IronBarcode:

dotnet add package IronBarcode
SHELL

Un seul package couvre WPF, WinForms, ASP.NET Core, Blazor Server, les applications console, Docker, Azure Functions et AWS Lambda. La documentation complète relative à la compatibilité de la plateforme détaille les versions exactes de .NET et les systèmes d'exploitation cibles pris en charge.

Étape 2 : Mise à jour des espaces de noms

Supprimez les importations de l'espace de noms Telerik Barcode et remplacez-les par l'espace de noms 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;

Étape 3 : initialisation de la licence

Remplacez l'initialisation de la licence Telerik par l'attribution de la clé Code-barres IronBarcode au démarrage de l'application :

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

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

L'attribution de la clé se fait une seule fois au point d'entrée de l'application. Il n'y a pas de fichier de licence à déployer, pas de chemin d'initialisation par plateforme et pas de configuration distincte pour WPF par rapport à ASP.NET Core.

Exemples de migration de code

Génération d'un code-barres : Contrôle XAML vers API basée sur le code

La génération de Telerik dans WPF est déclarative — l'élément XAML RadBarcode est rendu directement dans l'arborescence UI. Code-barres IronBarcode génère des codes-barres dans le code et renvoie un objet GeneratedBarcode qui peut être enregistré en tant que fichier ou converti en BitmapSource pour affichage dans WPF.

Approche 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

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

L'énumération BarcodeEncoding couvre les mêmes symbologies que l'énumération Symbology de Telerik. Le passage à la génération de code QR ne modifie que l'argument enum. Pour connaître l'ensemble des options de génération de codes-barres 2D , y compris les niveaux de correction d'erreurs QR et les dimensions DataMatrix, la documentation Code-barres IronBarcode fournit des exemples complets.

Lecture des codes-barres depuis des applications de bureau

Telerik fournit deux classes de lecture distinctes pour les plateformes de bureau — RadBarcodeReader pour WPF et RadBarcodeReader pour WinForms — avec des noms de classe différents, des noms de propriété différents, et des types d'entrée différents. Code-barres IronBarcode remplace les deux avec un seul appel statique qui fonctionne de manière identique dans les deux types de projet.

Approche Telerik WPF :

La lecture WPF nécessite une instance RadBarcodeReader, une configuration explicite DecodeType, un objet BitmapImage chargé à partir d'un URI, et un appel à reader.Decode(). La propriété de résultat est .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";
}

Approche Telerik WinForms :

La classe RadBarcodeReader de WinForms utilise un nom différent, un nom de propriété différent (DecodeType au singulier plutôt que DecodeTypes au pluriel), et prend un System.Drawing.Image plutôt qu'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";
}

Approche 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() est une méthode statique — aucune instance de lecteur n'est nécessaire. Elle accepte directement une chaîne de chemin de fichier sans nécessiter un chargement BitmapImage ou System.Drawing.Image. La détection automatique du format fonctionne pour plus de 50 types pris en charge. La propriété de résultat est .Value plutôt que .Text. Ce même appel fonctionne sans modification dans les applications WPF et WinForms ; il n'existe pas de variante spécifique à une plateforme. Il lit également les codes QR, les DataMatrix et tout autre format présent dans l'image, contrairement aux lecteurs Telerik qui sont limités aux formats 1D.

Lire les codes QR : une fonctionnalité auparavant impossible avec Telerik

Si votre code contient un commentaire ou un NotSupportedException documentant que la lecture QR n'est pas disponible, voici son remplacement. Il n'existe aucune voie de configuration dans Telerik permettant la lecture des QR codes — ce scénario n'a pas d'équivalent chez Telerik.

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

Approche 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";
}

Le même appel BarcodeReader.Read() qui lit les codes-barres EAN-13 lit les codes QR. Il n'existe pas de configuration distincte pour les formats 2D. Pour obtenir la liste complète des formats de codes-barres pris en charge en lecture et en génération, la documentation Code-barres IronBarcode couvre plus de 50 entrées avec des notes spécifiques à chaque format.

Lecture des codes-barres dans un point de terminaison ASP.NET Core

Telerik ne fournit aucun composant de lecture de codes-barres pour ASP.NET Core ou Blazor. Si une application existante acheminait les images téléchargées vers un service de bureau pour lecture parce que la couche web ne disposait pas de lecteur Telerik, cette solution de contournement est remplacée par une lecture directe dans la couche web.

Approche 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);
}

Approche 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() accepte directement un Stream, donc le flux de fichier téléchargé est passé sans écriture sur le disque. Ce contrôleur se déploie sur Linux, Docker ou Azure App Service sans modification.

Lecture des codes-barres dans les fichiers PDF

Telerik ne possède pas de fonctionnalité de lecture des codes-barres PDF. Ajouter la lecture de PDF à une base de code existante basée sur Telerik nécessite une bibliothèque de rendu PDF pour convertir les pages en images avant de les transmettre à RadBarcodeReader. Code-barres IronBarcode lit directement les fichiers PDF.

Approche 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;
}

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

Aucune bibliothèque PDF séparée n'est nécessaire. Aucune étape d'extraction de page. Aucune conversion d'image. Indiquez le chemin d'accès au PDF et Code-barres IronBarcode traitera toutes les pages, renvoyant tous les codes-barres avec suivi des numéros de page. Les codes-barres 1D et 2D présents sur les pages PDF sont détectés.

Référence de correspondance entre l'API Code-barres Telerik Rad et IronBarcode

Code-barres Telerik RadCode-barres IronBarcode
TelerikLicenseManager.InstallLicense("key")IronBarCode.License.LicenseKey = "key"
<telerik:RadBarcode Value="..." Symbology="Code128" />BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128)
<TelerikBarcode Type="@BarcodeType.Code128" />Génération côté serveur renvoyant ToPngBinaryData()
Symbology.Code128BarcodeEncoding.Code128
Symbology.QRCodeBarcodeEncoding.QRCode
new RadBarcodeReader() (WPF)Classe statique — aucune instance nécessaire
new RadBarcodeReader() (WinForms)Classe statique — aucune instance nécessaire
reader.DecodeTypes = new DecodeType[] { ... } (WPF)Détection automatique — aucune spécification requise
reader.DecodeType = new DecodeType[] { ... } (WinForms)Détection automatique — aucune spécification requise
reader.Decode(bitmapImage) (WPF)BarcodeReader.Read(imagePath)
reader.Read(drawingImage) (WinForms)BarcodeReader.Read(imagePath)
result.Textresult.Value
result.Symbologyresult.BarcodeType
BitmapImage requis comme entrée (WPF)Chemin de fichier, Stream, ou tableau d'octets accepté
System.Drawing.Image requis comme entrée (WinForms)Chemin de fichier, Stream, ou tableau d'octets accepté
Formats 1D uniquement en lecturePlus de 50 formats, y compris tous les types 2D
Lecture seule pour WPF et WinFormsToutes les plateformes .NET
Aucune prise en charge de la lecture des fichiers PDFBarcodeReader.Read("file.pdf") — natif

Problèmes de migration courants et solutions

Problème 1 : Remplacement du contrôle de code-barres XAML

Telerik : <telerik:RadBarcode> est un contrôle visuel qui se rend directement dans l'arborescence des éléments UI WPF. Il ne peut pas être remplacé par un élément Image sans modifications du code-behind.

Solution : Remplacer l'élément <telerik:RadBarcode> par un contrôle <Image> et générer le code-barres dans le code-behind. Lier le Image.Source à un BitmapSource généré par Code-barres IronBarcode :

// In code-behind or ViewModel
using IronBarCode;

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

Pour Blazor, remplacer <TelerikBarcode> par un élément <img> dont l'attribut src reçoit un PNG encodé en base64 généré côté serveur.

Problème n° 2 : Effets secondaires de la suppression de DecodeType

Telerik : La propriété DecodeTypes (WPF) ou DecodeType (WinForms) filtre les formats que le lecteur tente de détecter. La suppression de ce filtre lors d'une migration Code-barres IronBarcode signifie Code-barres IronBarcode renverra désormais des résultats pour tous les formats présents dans l'image, y compris les formats qui étaient auparavant exclus par le filtre.

Solution : Supprimer complètement le bloc d'assignation DecodeType. Si les formats supplémentaires détectés entraînent des résultats inattendus dans la logique en aval — par exemple, si le code supposait qu'un seul format de code-barres serait jamais renvoyé — ajouter un filtrage optionnel en utilisant BarcodeReaderOptions :

using IronBarCode;

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

Ceci est facultatif. Le comportement par défaut (détection de tous les formats) convient à la plupart des cas d'utilisation et produit des résultats que l'implémentation précédente de Telerik ne pouvait pas fournir.

Problème 3 : Nettoyage de TelerikLicenseManager

Telerik : Les appels Telerik.WinControls.TelerikLicenseManager.InstallLicense(key) apparaissent au démarrage de l'application, généralement dans Program.cs (WinForms) ou App.xaml.cs (WPF). La clé est souvent stockée dans les paramètres de l'application, dans un fichier de configuration ou est codée en dur dans la méthode de démarrage.

Solution : Supprimer l'appel TelerikLicenseManager.InstallLicense(). Remplacez-la par l'affectation de clé Code-barres IronBarcode au même emplacement de démarrage :

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

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

Si le package Telerik reste installé (car d'autres contrôles Telerik non-barcode sont encore utilisés), l'appel TelerikLicenseManager pour ces contrôles doit être conservé. Ne supprimez l'appel que si les packages Telerik eux-mêmes sont complètement supprimés.

Liste de contrôle de migration des codes-barres Telerik RadBarcode

Tâches préalables à la migration

Avant d'apporter des modifications au code, vérifiez la base de code pour toute utilisation des codes-barres 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

Documentez chaque match. Notez quels fichiers contiennent des contrôles XAML, lesquels contiennent du code de lecture et à quelle plateforme chaque fichier appartient.

Tâches de mise à jour du code

  1. Supprimez les packages NuGet de codes-barres Telerik (ou conservez-les si nécessaire pour d'autres contrôles).
  2. Installer le package NuGet IronBarcode dans chaque projet nécessitant des fonctionnalités de code-barres
  3. Ajouter IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY" à chaque point d'entrée de démarrage de l'application
  4. Supprimer les importations de namespaces Telerik et ajouter using IronBarCode
  5. Remplacer les éléments XAML <telerik:RadBarcode> par des contrôles <Image>
  6. Générer des images de code-barres dans le code-behind en utilisant BarcodeWriter.CreateBarcode(...).ToBitmapSource()
  7. Remplacer les composants Razor <TelerikBarcode> par des sources base64 <img> générées côté serveur
  8. Remplacer les instances new RadBarcodeReader() par des appels statiques BarcodeReader.Read(path)
  9. Remplacer les instances new RadBarcodeReader() par des appels statiques BarcodeReader.Read(path)
  10. Supprimez tous les reader.DecodeTypes = new DecodeType[] { ... } and reader.DecodeType = new DecodeType[] { ... } blocs
  11. Remplacer les appels reader.Decode(bitmapImage) par BarcodeReader.Read(imagePath)
  12. Remplacer les appels reader.Read(drawingImage) par BarcodeReader.Read(imagePath)
  13. Renommer result.Text en result.Value à tous les points d'accès aux résultats de lecture
  14. Renommer result.Symbology en result.BarcodeType à tous les points de vérification de format
  15. Remplacer les valeurs d'énumération de génération Symbology.Code128 et similaires par BarcodeEncoding.Code128
  16. Supprimer les appels TelerikLicenseManager.InstallLicense() où les packages Telerik sont entièrement supprimés

Test de post-migration

  • Vérifiez que tous les codes-barres 1D précédemment lus (Code128, EAN13, etc.) continuent de renvoyer des valeurs correctes.
  • Vérifiez que les codes QR dans les images de test sont désormais correctement lus, alors qu'ils renvoyaient auparavant une valeur nulle.
  • Vérifier que les codes-barres générés (enregistrés au format PNG ou servis sous forme d'octets) s'affichent correctement et sont scannables.
  • Vérifiez que les points de terminaison ASP.NET Core ou Blazor qui ne pouvaient pas effectuer de lecture auparavant fonctionnent désormais correctement.
  • Si la lecture de PDF a été ajoutée, vérifiez que les codes-barres sur chaque page PDF sont détectés avec les numéros de page corrects.
  • Exécutez les commandes d'audit grep de la section Pré-migration pour confirmer l'absence de références restantes à l'API de codes-barres Telerik.
  • Confirmer que IronBarCode.License.LicenseKey est défini avant le premier appel BarcodeReader.Read() ou BarcodeWriter.CreateBarcode()

Principaux avantages de la migration vers IronBarcode

Prise en charge complète des formats 2D : après la migration, les formats QR Code, DataMatrix, PDF417 et Aztec sont lisibles par le même appel API qui lisait déjà les formats Code128 et EAN13. Aucune configuration supplémentaire ni bibliothèque distincte n'est requise pour les formats 2D. Le moteur de lecture gère automatiquement l'identification du format.

API multiplateforme unifiée : Les appels BarcodeReader.Read() et BarcodeWriter.CreateBarcode() se compilent et s'exécutent identiquement dans WPF, WinForms, ASP.NET Core, Blazor, les applications console et les conteneurs Docker. La logique des codes-barres, écrite une seule fois dans une bibliothèque de services partagés, fonctionne sur tous les types de projets de la solution sans modification.

Traitement natif des fichiers PDF : Code-barres IronBarcode lit directement les codes-barres des fichiers PDF, traite toutes les pages et renvoie les résultats avec les métadonnées de numéro de page. Les flux de travail qui nécessitaient auparavant une bibliothèque de rendu PDF et une étape de lecture Telerik sont désormais regroupés en un seul appel de méthode, supprimant ainsi la dépendance à un tiers et l'étape intermédiaire de conversion d'image.

Suppression de la dépendance à un abonnement pour l'accès aux codes-barres : après la migration, la fonctionnalité de code-barres est disponible via le modèle de licence perpétuelle d'IronBarcode. L'accès continu ne nécessite pas de renouvellement annuel. Les équipes dont l'utilisation principale de la Suite Telerik était liée aux codes-barres réduisent leurs frais de licence récurrents à un coût unique.

Base de code simplifiée : Le bloc de configuration DecodeType, l'étape de chargement BitmapImage, la sélection de la classe de lecteur spécifique à la plateforme, et la chaîne de propriété result.Text sont tous remplacés par un unique appel de méthode statique avec une collection de résultats auto-détectante. Le code qui nécessitait auparavant des implémentations différentes pour la lecture WPF et WinForms se réduit désormais à une seule implémentation partagée.

Veuillez noter: Telerik est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou sponsorisé par Progress Software. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise