IRONSOFTWAREHOME
VIDÉOS

Migrer de Code-barres Syncfusion vers IronBarcode

Curtis Chau
Curtis Chau
Updated: 1 août 2026

Ce guide fournit un chemin de migration complet des contrôles de code-barres de Syncfusion — SfBarcode pour WinForms et WPF, SfBarcodeGenerator pour Blazor et MAUI — vers IronBarcode. Il aborde les raisons structurelles qui poussent les équipes à effectuer cette transition, un guide de démarrage rapide étape par étape pour le remplacement des packages NuGet et la configuration des licences, des exemples de code complets avant et après pour chaque scénario courant, et une liste de contrôle de migration pour l'audit d'une base de code existante. Si le projet utilise également d'autres composants Syncfusion (grilles, graphiques, planificateurs), ces packages et leurs enregistrements ne sont pas affectés ; seul le code spécifique au code-barres change.

Pourquoi migrer depuis Syncfusion Barcode

Lacune de lecture : SfBarcode et SfBarcodeGenerator sont des contrôles de génération sans capacité de lecture. Il n'y a pas de méthode .Read() ou .Scan() dans l'une ou l'autre classe. Lorsqu'un projet nécessite la lecture de codes-barres à partir d'images téléchargées, de documents numérisés ou de fichiers PDF, le contrôle des codes-barres Syncfusion n'offre aucune solution. La documentation de Syncfusion oriente les équipes vers Barcode Reader OPX comme solution, un produit commercial distinct qui doit être acheté, sous licence et maintenu indépendamment.

OPX comme surcouche payante d'un logiciel libre : le lecteur de codes-barres OPX utilise en interne ZXing .NET , une bibliothèque de lecture de codes-barres open source publiée sous la licence Apache 2.0. Apache 2.0 est une licence permissive ; Tout développeur .NET peut installer ZXing.Net directement avec dotnet add package ZXing.Net et l'utiliser dans des applications commerciales sans frais. Un flux de travail complet de lecture et de génération Syncfusion nécessite deux produits Syncfusion distincts, deux accords de licence et deux surfaces d'API — alors que la capacité de lecture pourrait avoir été obtenue directement à partir de la bibliothèque gratuite qu'OPX encapsule.

Conditions d'obtention de la licence communautaire : La licence communautaire de Syncfusion exige que quatre conditions soient remplies simultanément et sans interruption : un chiffre d'affaires annuel brut inférieur à 1 000 000 $, cinq développeurs ou moins, dix employés ou moins au total et un total de capitaux externes levés inférieur à 3 000 000 $. Les organismes gouvernementaux ne sont pas admissibles, quelle que soit leur taille. Le non-respect d'une seule de ces conditions entraîne l'obligation immédiate d'obtenir une licence commerciale. Un tour de table de série A permet généralement de lever plus de 3 000 000 $ de capitaux le jour de sa clôture, déclenchant ainsi des frais de licence indépendamment de la taille de l'équipe ou de ses revenus. La transition commerciale passe de 0 $ à un abonnement annuel Essential Studio par développeur — et cet abonnement couvre l'ensemble de la suite, pas seulement le composant de code-barres. Le chemin publié de Syncfusion est un devis personnalisé du service commercial.

Rotation des clés spécifique à la version : les clés de licence Syncfusion sont liées à des plages de versions spécifiques d'Essential Studio. La mise à niveau de la version 24.x à la version 25.x nécessite l'obtention d'une nouvelle clé à partir du portail de compte, la mise à jour de cette clé dans le magasin de secrets de chaque environnement de déploiement et le redéploiement pour empêcher l'apparition de filigranes d'essai dans les sorties de production. Pour les équipes ayant des cadences de publication fréquentes ou plusieurs cibles de déploiement, cette rotation devient une charge opérationnelle récurrente disproportionnée par rapport à l'exigence sous-jacente de génération d'une image de code-barres.

Le problème fondamental

L'architecture de contrôle de Syncfusion rend la génération de fichiers par programmation indirecte. Produire un fichier de code-barres avec SfBarcode nécessite de pré-allouer un Bitmap, d'appeler DrawToBitmap, puis de sauvegarder le bitmap — un motif de rendu WinForms qui entraîne la dépendance du runtime Windows Forms :

// Syncfusion SfBarcode: indirect file output through DrawToBitmap
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");

var barcode = new SfBarcode();
barcode.Text = "SHIP-2024-001";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.Width = 400;
barcode.Height = 150;

using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("shipping-label.png", ImageFormat.Png);
// Reading: not possible — requires separate OPX purchase

IronBarcode génère directement les fichiers et les lit avec le même package :

// IronBarcode: direct generation and reading in one package
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

// Generate
BarcodeWriter.CreateBarcode("SHIP-2024-001", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .SaveAsPng("shipping-label.png");

// Read — same package, no additional product required
var results = BarcodeReader.Read("shipping-label.png");
foreach (var result in results)
    Console.WriteLine($"{result.Format}: {result.Value}");

Comparaison des fonctionnalités des codes-barres Code-barres IronBarcode et Syncfusion

FonctionCode-barres SyncfusionCode-barres IronBarcode
génération de codes-barresOui — Contrôle d'interface utilisateur (WinForms, WPF, Blazor, MAUI)Oui — API statique, tous environnements
Lecture de codes-barresNon — lecteur de codes-barres OPX séparé requisOui, même forfait
OPX lit les encapsulations de produit ZXing .NET (Apache 2.0)OuiN/A
Sortie de code-barres PDFNon — nécessite également Syncfusion.PDFOui — SaveAsPdf() intégré
lecture de codes-barres PDFNonOui — natif
Génération côté serveur / sans interface graphiqueNécessite le runtime WinForms (DrawToBitmap)Natif — aucune dépendance à l'interface utilisateur
Déploiement Docker / LinuxLimitéPrise en charge complète
API minimale ASP.NET CoreNon directement pris en chargePrise en charge complète
Code QR avec logo intégréNonOui — .AddBrandLogo()
Détection automatique du format à la lectureN/AOui
Communauté / niveau gratuitLicence communautaire (quatre conditions simultanées)Essai gratuit de 30 jours (filigrane uniquement)
modèle de licence commercialeAbonnement annuel (Essential Studio)Perpétuel (une seule fois, voir ironsoftware.com/csharp/barcode/licensing)
Étendue de la clé de licenceSpécifique à une version, change en fonction des mises à jour majeures de NuGetVersion stable au sein de la version majeure
Étapes d'inscription à la plateforme3 à 4 étapes (RegisterLicense + AddSyncfusionBlazor + ConfigureSyncfusionCore + importations Razor )Une seule ligne, toutes les plateformes
Gamme de formats 1DCode 128, Code 39, EAN, UPC, Codabar et autresTous les formats Syncfusion, Plus PDF417, Aztec, MaxiCode, GS1, USPS IMb et plus de 50 autres.
Gamme de formats 2DCode QR, DataMatrixCode QR, DataMatrix, PDF417, Micro PDF417, Aztec, MaxiCode

Démarrage rapide

Étape 1 : Remplacer les paquets NuGet

Supprimez le package de codes-barres Syncfusion pour la plateforme utilisée. Si le projet cible plusieurs plateformes, exécutez la suppression pour chacune d'elles :

# Blazor
dotnet remove package Syncfusion.Blazor.BarcodeGenerator

# WinForms
dotnet remove package Syncfusion.SfBarcode.Windows

# WPF
dotnet remove package Syncfusion.SfBarcode.WPF

# MAUI
dotnet remove package Syncfusion.Maui.Barcode
SHELL

S'il ne reste aucun autre package Syncfusion dans le projet après la suppression du package de code-barres, supprimez également le package de licence :

dotnet remove package Syncfusion.Licensing
SHELL

Installez Code-barres IronBarcode — un seul package pour toutes les plateformes :

dotnet add package IronBarcode
SHELL

Étape 2 : Mise à jour des espaces de noms

Supprimez les espaces de noms de codes-barres Syncfusion et ajoutez l'espace de noms IronBarcode :

// Remove these (barcode-specific; leave others if non-barcode Syncfusion controls remain)
using Syncfusion.Windows.Forms.Barcode;
using Syncfusion.Licensing;
// @using Syncfusion.Blazor.BarcodeGenerator  (in _Imports.razor)

// Add this
using IronBarCode;

Étape 3 : initialisation de la licence

Supprimez l'enregistrement de la licence Syncfusion et la configuration de la plateforme du démarrage de l'application. Ajoutez ensuite une seule ligne de licence Code-barres IronBarcode au même emplacement de démarrage :

// Remove from Program.cs / App.xaml.cs / MauiProgram.cs:
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");
builder.Services.AddSyncfusionBlazor();         // Blazor only — remove if no other Syncfusion controls
builder.ConfigureSyncfusionCore();              // MAUI only — remove if no other Syncfusion controls

// Add at the same startup point:
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Pour les pipelines CI/CD et les conteneurs Docker, stockez la clé dans une variable d'environnement :

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

Exemples de migration de code

WinForms SfBarcode vers BarcodeWriter

La migration WinForms élimine l'indirection DrawToBitmap et la remplace par une chaîne de sortie de fichier directe. Le modèle Syncfusion nécessite la pré-allocation d'un Bitmap de dimensions connues ; Code-barres IronBarcode calcule les dimensions dans le cadre de l'appel de génération.

Approche de Syncfusion :

using Syncfusion.Windows.Forms.Barcode;
using System.Drawing;
using System.Drawing.Imaging;

Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-VERSION-SPECIFIC-KEY");

var barcode = new SfBarcode();
barcode.Text = "ORD-20240315-001";
barcode.Symbology = BarcodeSymbolType.Code128A;
barcode.BarHeight = 100;
barcode.NarrowBarWidth = 1;
barcode.ShowText = true;
barcode.Width = 400;
barcode.Height = 150;

using var bitmap = new Bitmap(barcode.Width, barcode.Height);
barcode.DrawToBitmap(bitmap, barcode.ClientRectangle);
bitmap.Save("order-label.png", ImageFormat.Png);

Approche IronBarcode :

using IronBarCode;

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

BarcodeWriter.CreateBarcode("ORD-20240315-001", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .AddBarcodeText()
    .SaveAsPng("order-label.png");

BarcodeSymbolType.Code128A se mappe sur BarcodeEncoding.Code128. La séquence DrawToBitmap + Bitmap.Save s'effondre dans .SaveAsPng(). Si le code-barres doit être affiché à l'intérieur d'un PictureBox WinForms plutôt que sauvegardé sur disque, utilisez .ToPngBinaryData() pour charger l'image dans le contrôle. La gamme complète des formats de codes-barres 1D dans Code-barres IronBarcode s'étend bien au-delà de la liste prise en charge par le contrôle Syncfusion .

Blazor SfBarcodeGenerator vers point de terminaison API minimal

La migration Blazor est un changement structurel plutôt qu'une substitution ligne par ligne. SfBarcodeGenerator est un composant Razor qui se rend dans le navigateur via la couche JavaScript de Syncfusion. Code-barres IronBarcode ne comporte aucun composant Razor ; Il s'agit d'une bibliothèque côté serveur. Le modèle de remplacement est un point de terminaison API minimal sur le serveur qui renvoie des octets de code-barres, référencé dans la page Razor comme source d'image.

Approche de Syncfusion :

@page "/fulfillment"
@using Syncfusion.Blazor.BarcodeGenerator

<SfBarcodeGenerator
    Width="300px"
    Height="150px"
    Type="BarcodeType.Code128"
    Value="@orderNumber">
    <BarcodeGeneratorDisplayText Visibility="true"></BarcodeGeneratorDisplayText>
</SfBarcodeGenerator>

@code {
    private string orderNumber = "ORD-20240315-001";
}
Text

Approche IronBarcode :

Ajoutez un point de terminaison de génération dans Program.cs :

using IronBarCode;

app.MapGet("/barcode/{value}", (string value) =>
{
    var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
        .ResizeTo(300, 150)
        .AddBarcodeText()
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});

Référencez le point de terminaison dans le composant Razor :

@page "/fulfillment"

<img src="/barcode/@orderNumber" alt="Order barcode: @orderNumber" />

@code {
    private string orderNumber = "ORD-20240315-001";
}
Text

Ce point de terminaison est testable indépendamment, réutilisable depuis n'importe quel client HTTP et compatible avec Blazor Server, Blazor WebAssembly avec un backend API hébergé et tout autre frontend web.

Génération de codes QR

Le composant QR de Syncfusion est également rendu côté navigateur, sans chemin de sortie côté serveur. Code-barres IronBarcode génère des codes QR côté serveur avec une sortie fichier directe.

Approche de Syncfusion :

@using Syncfusion.Blazor.BarcodeGenerator

<SfQRCodeGenerator
    Width="300px"
    Height="300px"
    Value="https://example.com/product/ABC-123">
    <QRCodeGeneratorDisplayText Visibility="false">
    </QRCodeGeneratorDisplayText>
</SfQRCodeGenerator>
Text

Approche IronBarcode :

using IronBarCode;

// Standard QR code
QRCodeWriter.CreateQrCode("https://example.com/product/ABC-123", 300,
    QRCodeWriter.QrErrorCorrectionLevel.High)
    .SaveAsPng("product-qr.png");

// QR code with embedded brand logo — not available in Syncfusion
QRCodeWriter.CreateQrCode("https://example.com/product/ABC-123", 500,
    QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("product-qr-branded.png");

Remplacement de lecture OPX

Si le projet utilisait Barcode Reader OPX — ou reportait une exigence de lecture à un achat OPX ultérieur — Code-barres IronBarcode remplace cette dépendance par le package déjà installé. Pas de produit secondaire, pas de deuxième licence.

Approche Syncfusion (lecteur de codes-barres OPX) :

// Requires separate Code-barres Syncfusion Reader OPX purchase
// OPX wraps ZXing.Net internally (Apache 2.0 — free to use directly)
using Syncfusion.BarcodeReader;

var reader = new BarcodeReader();
var results = reader.ReadBarcodes("warehouse-scan.png");
foreach (var result in results)
    Console.WriteLine($"Value: {result.Value}");
C#

Approche IronBarcode :

using IronBarCode;

// Included in the same NuGet package as generation — no second product required
var results = BarcodeReader.Read("warehouse-scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
}

La documentation sur la lecture des codes-barres couvre la lecture à partir de tableaux d'octets pour les gestionnaires de téléchargement, le réglage de la vitesse par rapport à la précision et la détection de plusieurs codes-barres.

Génération de codes-barres PDF

Les contrôles de codes-barres Syncfusion ne disposent pas de chemin de sortie PDF. Code-barres IronBarcode considère le format PDF comme un format de sortie de premier ordre.

Approche de Syncfusion :

// Non direct path — requires combining Syncfusion.Barcode.WinForms and Syncfusion.Pdf
// Step 1: Generate to Bitmap via DrawToBitmap
// Step 2: Load Syncfusion PDF document
// Step 3: Insert bitmap as image element
// Two packages, two APIs, two license obligations
C#

Approche IronBarcode :

using IronBarCode;

// Generate directly to PDF — no secondary library required
BarcodeWriter.CreateBarcode("PALLET-2024-0891", BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .SaveAsPdf("pallet-label.pdf");

// Read barcodes from an existing PDF
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
    Console.WriteLine($"Page {result.PageNumber}: {result.Value}");

Le guide de génération de PDF avec codes-barres couvre les sorties PDF multipages et l'intégration de codes-barres au sein d'autres contenus de documents.

Référence de mappage de l'API de codes-barres Syncfusion vers IronBarcode

SyncfusionCode-barres IronBarcode
SyncfusionLicenseProvider.RegisterLicense("KEY")IronBarCode.License.LicenseKey = "key"
builder.Services.AddSyncfusionBlazor()Non requis
builder.ConfigureSyncfusionCore()Non requis
new SfBarcode()BarcodeWriter.CreateBarcode() (statique)
barcode.Text = "value"Premier paramètre de CreateBarcode()
barcode.Symbology = BarcodeSymbolType.Code128ABarcodeEncoding.Code128
barcode.Symbology = BarcodeSymbolType.QRBarcodeQRCodeWriter.CreateQrCode()
barcode.BarHeight = 100.ResizeTo(width, 100)
barcode.ShowText = true.AddBarcodeText()
barcode.DrawToBitmap(bitmap, rect).SaveAsPng(path)
Manuel BitmapMemoryStream.ToPngBinaryData()
<SfBarcodeGenerator Type="BarcodeType.Code128" Value="...">BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128) dans le point de terminaison de l'API
<SfQRCodeGenerator Value="...">QRCodeWriter.CreateQrCode(value, size) dans le point de terminaison de l'API
BarcodeType.Code128 (énum Blazor)BarcodeEncoding.Code128
Lecteur de codes-barres OPX (produit séparé, encapsule ZXing .NET)BarcodeReader.Read(path) — natif, même paquet
Aucune API de lecture en contrôleBarcodeReader.Read(path)
Aucune sortie PDF dans le contrôle.SaveAsPdf(path)
Lecture de PDF impossibleBarcodeReader.Read("document.pdf")

Problèmes de migration courants et solutions

Problème n° 1 : Filigranes d'essai après la mise à jour de NuGet

Syncfusion: La mise à niveau d'Essential Studio 24.x vers la version 25.x invalide la clé de licence existante. Toute sortie générée avant la mise à jour du magasin de secrets affichera un filigrane d'essai. Il s'agit d'une défaillance silencieuse : l'application continue de fonctionner, mais produit une sortie non conforme.

Solution : Après la mise à jour du package NuGet Code-barres IronBarcode , la clé de licence ne change pas au sein d'une même version majeure. Aucune mise à jour ou redéploiement de secrets n'est nécessaire pour les versions mineures ou les correctifs. Lors de la mise à niveau vers une nouvelle version majeure, mettez à jour la clé une seule fois au point d'entrée de l'application :

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

Problème n° 2 : La fonction DrawToBitmap ne fonctionne pas dans les environnements sans interface graphique.

Syncfusion : SfBarcode.DrawToBitmap dépend du pipeline de rendu Windows Forms. Dans un processus ASP.NET Core, une fonction Azure ou un conteneur Docker Linux, appeler DrawToBitmap renverra InvalidOperationException ou produira un bitmap vide car aucune boucle de messages Windows Forms n'est présente.

Solution: Replace with BarcodeWriter.CreateBarcode(). Code-barres IronBarcode effectue la génération en code managé sans aucune dépendance à l'environnement d'exécution de l'interface utilisateur :

// Works in ASP.NET Core, Azure Functions, Docker on Linux, console apps
var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
    .ResizeTo(400, 150)
    .ToPngBinaryData();

Problème 3 : SfBarcodeGenerator ne génère aucune sortie côté serveur

Syncfusion : SfBarcodeGenerator est un composant Razor sans surface d'API côté serveur. Toute tentative d'utilisation dans une action de contrôleur ou un service en arrière-plan ne trouvera aucune méthode applicable pour générer des octets de code-barres.

Solution : Créer un point de terminaison API minimal qui génère le code-barres côté serveur et le renvoie sous forme de réponse HTTP. Référencez le point de terminaison depuis le composant Razor via un tag <img src="..."> :

app.MapGet("/barcode/{value}", (string value) =>
{
    var bytes = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128)
        .ResizeTo(300, 150)
        .ToPngBinaryData();
    return Results.File(bytes, "image/png");
});

Problème n° 4 : Capacité de lecture manquante (OPX non acheté)

Syncfusion: Les projets qui ont reporté la lecture des codes-barres parce qu'OPX n'avait pas encore été acheté n'ont pas de code de lecture à migrer. L'ajout d'une fonctionnalité de lecture à partir de zéro nécessite l'acquisition d'un produit OPX, son intégration et un nouvel accord de licence.

Solution : La lecture des Code-barres IronBarcode est incluse dans le même package. Aucune procédure d'acquisition ni deuxième licence n'est nécessaire. Ajoutez BarcodeReader.Read(path) partout où la lecture est requise :

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

Problème n° 5 : Expiration de la licence communautaire pendant la migration

Syncfusion: Une équipe utilisant la licence communautaire qui franchit un seuil d'éligibilité quelconque pendant la période de migration (y compris la clôture d'un cycle de financement) peut constater que les contrôles Syncfusion cessent de produire une sortie valide avant la fin de la migration.

Solution : L'essai gratuit de 30 jours d'IronBarcode permet une évaluation complète sans aucune condition de chiffre d'affaires, d'effectif ou de capital. Le filigrane d'essai apparaît sur le document généré ; L'activation d'une clé de licence achetée la supprime. Le modèle de licence Code-barres IronBarcode ne comporte aucun seuil de taille d'organisation.

Liste de contrôle de migration des codes-barres Syncfusion

Tâches préalables à la migration

Analysez le code source pour localiser tous les fichiers qui font référence au code-barres Syncfusion :

grep -r "SyncfusionLicenseProvider.RegisterLicense\|AddSyncfusionBlazor\|ConfigureSyncfusionCore" --include="*.cs" .
grep -r "new SfBarcode\(\)\|SfBarcodeGenerator\|SfQRCodeGenerator" --include="*.cs" --include="*.razor" .
grep -r "BarcodeSymbolType\.\|BarcodeType\." --include="*.cs" --include="*.razor" .
grep -r "DrawToBitmap\|barcode\.Text\s*=" --include="*.cs" .
grep -r "Syncfusion\.Barcode\|Syncfusion\.Blazor\.BarcodeGenerator" --include="*.csproj" .
SHELL

Documentez les éléments suivants avant d'écrire tout code de migration :

  • Listez chaque fichier qui appelle SyncfusionLicenseProvider.RegisterLicense
  • Listez chaque instanciation de SfBarcode et ses affectations de propriétés
  • Listez chaque utilisation de composant Razor <SfBarcodeGenerator> et <SfQRCodeGenerator>
  • Listez chaque appel de DrawToBitmap et le chemin de sauvegarde ou d'affichage en aval
  • Vérifiez si le lecteur de codes-barres OPX est installé ; Si oui, veuillez énumérer chaque appel de lecture

Tâches de mise à jour du code

  1. Supprimez les packages NuGet de code-barres Syncfusion pour chaque plateforme du projet.
  2. Retirez le paquet NuGet Syncfusion.Licensing si aucun autre contrôle Syncfusion ne reste
  3. Installez le paquet NuGet IronBarcode
  4. Remplacez SyncfusionLicenseProvider.RegisterLicense("KEY") par IronBarCode.License.LicenseKey = "KEY" au point d'entrée de l'application
  5. Retirez builder.Services.AddSyncfusionBlazor() si aucun autre contrôle Syncfusion ne reste
  6. Retirez builder.ConfigureSyncfusionCore() si aucun autre contrôle Syncfusion ne reste
  7. Retirez @using Syncfusion.Blazor et @using Syncfusion.Blazor.BarcodeGenerator de _Imports.razor si applicable
  8. Remplacez using Syncfusion.Windows.Forms.Barcode et using Syncfusion.Licensing par using IronBarCode
  9. Remplacez chaque bloc new SfBarcode() + affectations de propriétés + DrawToBitmap par BarcodeWriter.CreateBarcode(value, BarcodeEncoding.X).ResizeTo(w, h).SaveAsPng(path)
  10. Remplacez BarcodeSymbolType.Code128A (et équivalent) par BarcodeEncoding.Code128
  11. Remplacez BarcodeType.Code128 (enum Blazor) par BarcodeEncoding.Code128
  12. Remplacez chaque composant Razor <SfBarcodeGenerator> par un point de terminaison d'API minimal et une référence <img src="..."> dans le composant
  13. Remplacez chaque composant Razor <SfQRCodeGenerator> par un point de terminaison QRCodeWriter.CreateQrCode() et une référence <img src="...">
  14. Remplacez tous les appels de lecture Barcode Reader OPX par BarcodeReader.Read(path)
  15. Ajoutez BarcodeReader.Read(path) partout où la capacité de lecture était précédemment absente à cause du non-acquisition d'OPX

Test de post-migration

  • Vérifiez que les images de codes-barres générées sont valides pour la lecture à l'aide d'un lecteur matériel ou d'une application de lecture de référence.
  • Vérifiez qu'aucun filigrane d'essai n'apparaît sur les fichiers générés après l'activation de la clé de licence.
  • Confirmez que BarcodeReader.Read() renvoie la valeur et le format attendus pour chaque type de code-barres utilisé
  • Testez la sortie PDF avec .SaveAsPdf() pour confirmer que les dimensions des pages et des codes-barres correspondent aux exigences de conception
  • Testez directement le point de terminaison de l'API minimale Blazor (via un navigateur ou un client HTTP) avant de le tester dans le composant Razor.
  • Vérifier que le déploiement de Docker et Linux produit un résultat identique à celui des machines de développement Windows.
  • Effectuez une vérification finale grep pour confirmer qu'il n'y a pas de références restantes à SfBarcode, SfBarcodeGenerator, DrawToBitmap, BarcodeSymbolType, ou SyncfusionLicenseProvider

Principaux avantages de la migration vers IronBarcode

Génération et lecture unifiées : après la migration, la génération et la lecture fonctionnent toutes deux via un seul package NuGet sous une seule licence. Il n'y a pas de produit secondaire à acheter, pas de deuxième interface API à apprendre, et aucune dépendance à un wrapper ZXing .NET consommant un budget de licence qui pourrait être alloué directement à la bibliothèque open source.

Suppression de la rotation des clés spécifique à la version : les clés de licence Code-barres IronBarcode restent valides pour les mises à jour mineures et les correctifs au sein d'une version majeure. Les frais généraux liés à l'obtention d'une nouvelle clé, à la mise à jour des secrets dans chaque environnement de déploiement et au redéploiement pour effacer les filigranes d'essai à chaque mise à jour majeure de la version NuGet sont entièrement éliminés.

Déploiement indépendant de la plateforme : le même package Code-barres IronBarcode et la même API de génération fonctionnent sur les applications de bureau WinForms, les services ASP.NET Core , les Azure Functions, les applications console et les conteneurs Docker Linux. La dépendance du runtime Windows Forms introduite par DrawToBitmap est supprimée, et les déploiements Blazor passent de composants rendus par le navigateur à des points de terminaison d'API côté serveur qui sont testables indépendamment et agnostiques du client.

Prise en charge native du format PDF : La génération et la lecture s'étendent toutes deux nativement au format PDF. La production d'un PDF de code-barres ne nécessite plus la coordination de deux produits Syncfusion ; La lecture des codes-barres à partir des manifestes PDF et des documents d'expédition ne nécessite plus d'étape d'extraction PDF distincte.

Économie des licences prévisible : le modèle de licence perpétuelle d'IronBarcode n'impose aucun seuil de revenus, d'effectifs, de nombre d'employés ou de capital. Les équipes qui ont dépassé les conditions d'éligibilité à la licence communautaire Syncfusion — ou qui prévoient de le faire — passent à un modèle de licence où la croissance organisationnelle ne crée pas d'événement de conformité.

Veuillez noter: Syncfusion et ZXing.NET sont des marques déposées de leurs propriétaires respectifs. Ce site n'est pas affilié ni approuvé par Syncfusion ou ZXing.NET. 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