Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Comment créer une application SDK de lecteur de codes-barres .NET MAUI

.NET MAUI tient sa promesse d'une base de code unique ciblant Android, iOS et Windows. La difficulté survient lorsqu'il faut intégrer des fonctionnalités matérielles natives telles que la lecture de codes-barres. L'interfaçage manuel des API de caméra implique des configurations spécifiques à chaque plateforme, des directives de compilation conditionnelles et des heures de débogage. Il existe un chemin plus rapide.

Ce tutoriel vous montre comment créer un lecteur de codes-barres multiplateforme fonctionnel en .NET MAUI à l'aide IronBarcode . Vous mettrez en place le projet, configurerez les autorisations de la plateforme, scannerez les codes-barres à partir de fichiers image, lirez les codes-barres à partir de documents PDF et gérerez plusieurs symbologies avec des options de numérisation, le tout avec un code que vous pourrez exécuter sur n'importe quelle cible prise en charge.

Démarrez votre essai gratuit et suivez les étapes ci-dessous.

NuGet Installer avec NuGet

PM >  Install-Package BarCode

Consultez IronBarcode sur NuGet pour une installation rapide. Avec plus de 10 millions de téléchargements, il transforme le développement PDF avec C#. Vous pouvez également télécharger le DLL.

Comment configurer un lecteur de BarCode SDK dans .NET MAUI?

La mise en place d'un SDK de lecteur de codes-barres .NET MAUI nécessite la création d'un nouveau projet, l'installation du package NuGet et la configuration des autorisations de plateforme. L'ensemble du processus de configuration prend quelques minutes dans Visual Studio.

Créer le projet .NET MAUI

Ouvrez Visual Studio et créez un nouveau projet .NET MAUI App. Nommez le projet de manière descriptive, par exemple " Scanner de codes-barres ", et sélectionnez .NET 8 ou une version ultérieure comme framework cible. Visual Studio génère la structure de projet par défaut avec des dossiers spécifiques à la plateforme pour Android et iOS.

Si vous ciblez .NET 10, le même modèle de projet s'applique. Mettez à jour la propriété <TargetFrameworks> dans votre fichier .csproj pour inclure net10.0-android, net10.0-ios et net10.0-windows10.0.19041.0 selon les besoins. Consultez la documentation relative aux plateformes prises en charge par .NET MAUI pour obtenir la liste complète des noms de frameworks cibles et les exigences minimales en matière de version du système d'exploitation.

Installer IronBarcode

Installez le package NuGet IronBarcode à l'aide de la console du gestionnaire de packages :

Install-Package BarCode

Cette commande télécharge et installe le kit de développement logiciel (SDK) du lecteur de codes-barres ainsi que toutes les dépendances requises pour l'application .NET MAUI .

Configurer les autorisations de la plateforme

Même lors de la numérisation à partir de fichiers image plutôt que d'un flux vidéo en direct, il est recommandé de configurer les autorisations suivantes pour l'application de lecture de codes-barres .NET MAUI .

Pour Android, ajoutez ce qui suit à Platforms/Android/AndroidManifest.xml :

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
XML

Pour iOS, ajoutez ces entrées à Platforms/iOS/Info.plist :

<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
XML

Initialiser le SDK

Définissez votre clé de licence dès le début du cycle de vie de l'application afin de garantir IronBarcode soit entièrement activé avant tout appel de numérisation. Placez l'activation dans MauiProgram.cs:

using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
$vbLabelText   $csharpLabel

IronBarcode propose une licence d'essai gratuite pour le développement et les tests. Définissez la clé une seule fois au démarrage ; tous les appels suivants à BarcodeReader et BarcodeWriter au sein du même processus utilisent la licence activée.

Comment lire les codes-barres à partir de fichiers image ?

La fonction principale de tout lecteur de codes-barres MAUI est la lecture des codes-barres à partir d'images sélectionnées. La méthode BarcodeReader.Read() accepte un chemin de fichier et renvoie une collection d'objets BarcodeResult, un par code-barres détecté.

Conception de l'interface utilisateur

Créez une interface claire dans MainPage.xaml qui permette aux utilisateurs de sélectionner un fichier image et d'afficher les données du code-barres scanné :

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
XML

Mettre en œuvre la lecture de codes-barres

Ajoutez la logique de balayage à MainPage.xaml.cs. Ce code gère la sélection d'images via l'API MAUI FilePicker et transmet le chemin du fichier choisi à IronBarcode:

using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
$vbLabelText   $csharpLabel

Sortie

Kit de développement logiciel (SDK) de scanner de codes-barres .NET MAUI : Créez un scanner multiplateforme en quelques minutes : Image 1 - Sortie du code-barres scanné.

La méthode BarcodeReader.Read() analyse l'image sélectionnée et renvoie tous les codes-barres détectés. IronBarcode reconnaît automatiquement plusieurs symbologies de codes-barres, notamment les codes QR, le Code 128, le Code 39, l'EAN-13 et de nombreux autres formats pris en charge . La collection de résultats expose des propriétés telles que BarcodeType, Value, PageNumber, et les coordonnées de la boîte englobante pour chaque code détecté.

Comment numériser des BarCodes à partir de documents PDF?

L'une des fonctionnalités qui distingue IronBarcode de nombreuses alternatives est la lecture directe des codes-barres à partir de fichiers PDF. Ceci est essentiel pour les applications .NET MAUI qui gèrent les flux de documents : les manifestes d'expédition, les bons de commande, les dossiers médicaux et autres cas d'utilisation similaires reposent tous sur des codes-barres intégrés aux PDF.

La méthode BarcodeReader.ReadPdf() accepte un chemin de fichier et renvoie la même collection BarcodeResult que le lecteur d'images, avec une propriété supplémentaire PageNumber qui identifie la page PDF d'où provient chaque code-barres :

using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
$vbLabelText   $csharpLabel

Sortie

Kit de développement logiciel (SDK) de scanner de codes-barres .NET MAUI : Créez un scanner multiplateforme en quelques minutes : Image 2 - Résultat de la numérisation d'un PDF contenant des codes QR.

La méthode ReadPdf() scanne toutes les pages d'un PDF et renvoie les données du code-barres ainsi que les numéros de page, ce qui simplifie le traitement des documents contenant plusieurs codes-barres. Si le PDF s'étend sur des dizaines de pages, envisagez de passer un objet BarcodeReaderOptions avec PageNumbers défini sur une plage spécifique pour limiter la numérisation aux pages pertinentes et réduire le temps de traitement.

Comment gérer plusieurs BarCodes et QR Codes?

Les applications de production doivent souvent détecter plusieurs codes-barres à partir d'une seule image ou filtrer les résultats par type de code-barres. La classe BarcodeReaderOptions expose les propriétés de configuration qui contrôlent le comportement de détection. L'affectation de ExpectMultipleBarcodes à true indique au lecteur de poursuivre la recherche après la première correspondance plutôt que de s'arrêter prématurément :

using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
$vbLabelText   $csharpLabel

La propriété Speed contrôle le compromis entre le temps de numérisation et la précision. ReadingSpeed.Faster privilégie le débit, ce qui convient aux applications qui numérisent des images de haute qualité en grande quantité. ReadingSpeed.ExtraSlow applique des corrections d'image plus poussées pour les entrées difficiles : faible contraste, angles obliques ou codes partiellement occultés. ReadingSpeed.Balanced est le bon point de départ pour la plupart des applications.

L'énumération BarcodeEncoding prend en charge les combinaisons binaires, vous pouvez donc limiter l'analyse aux symbologies pertinentes pour le cas d'utilisation sans pénaliser les performances avec des vérifications inutiles.

Comment lire les codes-barres à partir de flux de mémoire ?

Les chemins de fichiers fonctionnent bien dans la plupart des cas, mais certains flux de travail .NET MAUI font transiter les données d'image par la mémoire : images capturées à partir d'un aperçu de caméra, octets téléchargés à partir d'une API REST ou données d'image générées en cours de traitement. IronBarcode prend en charge les entrées System.IO.Stream directement sur la surcharge BarcodeReader.Read() :

using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
$vbLabelText   $csharpLabel

La surcharge de flux accepte toute sous-classe Stream, y compris MemoryStream, FileStream et les flux réseau. La bibliothèque gère la détection du format en interne, vous n'avez donc pas besoin de spécifier le type d'image avant d'appeler Read().

Comment générer des codes-barres dans une application MAUI ?

IronBarcode gère à la fois la génération et la lecture des codes-barres. La classe BarcodeWriter produit des codes-barres sous forme de fichiers image, d'objets Bitmap ou d'instances Stream que vous pouvez afficher en ligne dans une vue MAUI. Ceci est utile pour les applications de gestion des stocks qui ont besoin d'imprimer ou de partager des codes-barres en plus de la fonction de numérisation :

using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
$vbLabelText   $csharpLabel

La classe QRCodeWriter prend en charge les quatre niveaux de correction d'erreur QR (faible, moyen, quartile, élevé), les options de dimensionnement et de style personnalisées, y compris le contrôle de la couleur de premier plan/arrière-plan. Pour les symbologies non-QR, utilisez BarcodeWriter.CreateBarcode() avec la valeur appropriée BarcodeEncoding. La documentation de référence de l'API de génération de codes-barres répertorie tous les formats de sortie pris en charge.

Quelles sont les principales fonctionnalités de cette bibliothèque de lecture de codes-barres ?

IronBarcode offre plusieurs avantages pour les projets de lecture de codes-barres .NET MAUI qui le distinguent des alternatives open source comme ZXing .NET.MAUI :

Fonctionnalités IronBarcode pour le développement .NET MAUI
CapacitéDétail
Support multiplateformeCible Android, iOS et Windows à partir d'un seul package NuGet
Sources d'entrée multiplesNumériser à partir de chemins de fichiers, de flux de mémoire et de documents PDF
Couverture du formatDécode plus de 30 symbologies 1D et 2D, dont QR, Data Matrix et PDF417
Génération de codes-barresGénère des codes QR et des codes-barres 1D aux formats PNG, bitmap ou flux de sortie.
correction d'imageGère automatiquement les entrées pivotées, inclinées et à faible contraste.
Aucune dépendance au SDK natifBibliothèque .NET pure, sans liaisons natives spécifiques à la plateforme requises

Le point " aucune dépendance au SDK natif " est important dans les projets .NET MAUI car les bibliothèques natives spécifiques à la plateforme nécessitent des étapes de liaison distinctes pour chaque cible. IronBarcode évite complètement cette complexité, ce qui signifie que la même référence NuGet produit des binaires fonctionnels pour les trois plateformes prises en charge sans configuration supplémentaire.

Pour obtenir la liste complète des formats de codes-barres pris en charge, consultez la documentation sur les formats pris en charge par IronBarcode . Pour connaître les tarifs et les conditions de licence pour le déploiement en production, consultez la page de licence IronBarcode .

Quelles sont les meilleures pratiques pour la lecture des codes-barres en production ?

Le déploiement d'un lecteur de codes-barres en production nécessite de prêter attention à quelques aspects au-delà de la simple opération de lecture. Les directives suivantes traitent des points de défaillance les plus courants dans les applications de codes-barres .NET MAUI .

Choisissez la vitesse de lecture appropriée. ReadingSpeed.Balanced gère correctement la plupart des images réelles. Réservez ReadingSpeed.ExtraSlow pour les numérisations de documents imprimés ou d'images que les utilisateurs ne peuvent pas recapturer. Évitez ReadingSpeed.ExtraSlow pour les flux de travail à volume élevé, car chaque analyse prend beaucoup plus de temps.

Filtrer par types attendus. Si l'application ne traite que les codes QR, indiquez ExpectBarcodeTypes = BarcodeEncoding.QRCode. La restriction de l'espace de recherche réduit le temps de traitement et élimine les faux positifs dus à d'autres symbologies présentes dans les graphiques d'arrière-plan.

Utilisez ExpectMultipleBarcodes uniquement lorsque cela est nécessaire. Le fait de le définir sur true oblige toujours le lecteur à effectuer des passages supplémentaires. Pour les entrées de code-barres unique, laissez la valeur par défaut (false) afin que la numérisation retourne dès que le premier code valide est trouvé.

Gérer élégamment les résultats vides. BarcodeReader.Read() renvoie un tableau vide au lieu de lever une exception lorsqu'aucun code-barres n'est détecté. Vérifiez .Any() avant d'accéder à First() et présentez un message clair à l'utilisateur. Un message invitant à réessayer, accompagné de conseils (" assurez-vous que le code-barres est bien éclairé et centré "), améliore davantage l'expérience utilisateur qu'un message d'erreur générique.

Mettre en cache l'objet d'options. La création d'une instance BarcodeReaderOptions à chaque analyse ajoute des allocations. Définissez les options une seule fois au niveau de la classe et réutilisez-les lors des différents appels.

Consultez le guide de dépannage IronBarcode et le tutoriel du lecteur de codes-barres pour obtenir des conseils supplémentaires sur le diagnostic des échecs de numérisation et l'optimisation des performances.

Quelles sont vos prochaines étapes ?

La création d'un lecteur de codes-barres .NET MAUI avec IronBarcode nécessite l'installation d'un seul package NuGet , la configuration des autorisations de la plateforme et l'appel de BarcodeReader.Read() avec un chemin de fichier ou un flux. La même API cible Android, iOS et Windows sans branches de code spécifiques à chaque plateforme.

Pour étendre davantage l'application, consultez les ressources suivantes :

Démarrez votre essai gratuit pour obtenir une clé de licence de développement, ou explorez les options de licence pour un déploiement en production.

Questions Fréquemment Posées

Qu'est-ce que .NET MAUI et pourquoi l'intégration de la lecture de codes-barres est-elle complexe ?

.NET MAUI est un framework d'interface utilisateur multiplateforme qui cible Android, iOS et Windows à partir d'une seule base de code. La lecture de codes-barres est complexe car chaque plateforme expose des API de caméra et de stockage différentes. IronBarcode fournit une API .NET unifiée qui gère ces différences.

Quels formats de codes-barres IronBarcode prend-il en charge dans les applications .NET MAUI ?

IronBarcode prend en charge plus de 30 symbologies de codes-barres, notamment QR Code, Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, Data Matrix, PDF417, Aztec et ITF. Utilisez l'énumération BarcodeEncoding pour filtrer par format spécifique.

IronBarcode peut-il lire les codes-barres des fichiers PDF dans une application .NET MAUI ?

Oui. La méthode BarcodeReader.ReadPdf() analyse toutes les pages d'un document PDF et renvoie une collection BarcodeResult. Chaque résultat comprend la valeur du code-barres, son type et le numéro de page.

IronBarcode fonctionne-t-il sur toutes les plateformes cibles .NET MAUI ?

IronBarcode prend en charge les plateformes Android, iOS et Windows dans un projet .NET MAUI grâce à un seul package NuGet . Aucune liaison SDK native spécifique à la plateforme n'est requise.

Comment scanner plusieurs codes-barres à partir d'une seule image ?

Définissez ExpectMultipleBarcodes = true dans BarcodeReaderOptions et transmettez l'objet d'options à BarcodeReader.Read(). Le lecteur effectuera des passages de lecture supplémentaires pour détecter tous les codes-barres présents dans l'image.

Quelle est la différence entre ReadingSpeed.Faster et ReadingSpeed.ExtraSlow ?

Le mode de lecture « Plus rapide » privilégie le débit et convient parfaitement aux images de haute qualité. Le mode « Très lent » applique une correction d'image plus poussée et est adapté aux entrées difficiles telles que les codes-barres à faible contraste, pivotés ou partiellement masqués.

IronBarcode peut-il lire les codes-barres à partir d'un MemoryStream ?

Oui. La méthode BarcodeReader.Read() accepte un paramètre System.IO.Stream, qui inclut les flux MemoryStream, FileStream et les flux réseau. Cela permet de scanner des données d'image en mémoire sans les écrire sur le disque.

Comment générer un code QR dans une application .NET MAUI avec IronBarcode?

Utilisez la méthode QRCodeWriter.CreateQrCode() en spécifiant la valeur cible, la taille et le niveau de correction d'erreur. Enregistrez le résultat au format PNG avec SaveAsPng() et affichez-le dans un contrôle Image MAUI à l'aide de ImageSource.FromFile().

Quelles autorisations sont nécessaires pour la lecture de codes-barres dans une application Android .NET MAUI ?

Ajoutez les autorisations android.permission.READ_EXTERNAL_STORAGE et android.permission.CAMERA au fichier AndroidManifest.xml. Pour iOS, ajoutez les clés NSPhotoLibraryUsageDescription et NSCameraUsageDescription au fichier Info.plist.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi