Comment créer une application BarCode de bureau (scanner/générateur) avec .NET MAUI

This article was translated from English: Does it need improvement?
Translated
View the article in English

Pour une solution logicielle complète, il ne s'agit pas seulement d'accessibilité mobile. La capacité de déploiement natif sur les systèmes d'exploitation de bureau, tels que Windows et macOS, est tout aussi essentielle. Cette approche multiplateforme permet aux entreprises d'exploiter toute la puissance des postes de travail pour des tâches à fort volume telles que le suivi et l'administration des actifs.

Sans une assistance bureautique appropriée, les flux de travail sont interrompus ou, pire, contraints d'utiliser des appareils moins performants. Ceci est particulièrement important dans la gestion des stocks, où le personnel de bureau doit générer des lots de codes ou vérifier des scans rapidement sans quitter leur bureau.

IronBarcode fournit les outils nécessaires à la mise en œuvre de ces fonctionnalités, garantissant ainsi la fiabilité des performances de votre application .NET MAUI sur n'importe quel ordinateur.

Dans cet article, nous expliquerons comment intégrer IronBarcode pour construire à la fois un Lecteur de codes-barres de bureau et un Générateur de codes-barres de bureau.



Application de bureau .NET MAUI

L'intégration d'IronBarcode for .NET dans une application MAUI .NET est simple, car la bibliothèque fonctionne nativement avec la plateforme de bureau dès sa sortie de l'emballage. Dans cet exemple, nous allons créer à la fois un lecteur de codes-barres et un générateur de codes-barres en utilisant IronBarcode séparément.

Commençons tout d'abord par le lecteur de codes-barres.

Interface du scanner de BarCode XAML

Pour l'interface .NET MAUI, une interface simple est mise en œuvre pour permettre aux utilisateurs de télécharger des images de codes-barres via un bouton de soumission. Le fichier MainPage.xaml du projet doit être remplacé par le contenu ci-dessous.

<?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="MauiApp1.MainPage"
             BackgroundColor="{DynamicResource PageBackgroundColor}">

    <ScrollView>
        <VerticalStackLayout Spacing="25" Padding="30" VerticalOptions="Center">

            <Label Text="Desktop Barcode Scanner"
                   FontSize="32"
                   HorizontalOptions="Center" />

            <Image x:Name="ScannerImage"
                   HeightRequest="300"
                   WidthRequest="400"
                   BackgroundColor="#F0F0F0"
                   Aspect="AspectFit"
                   HorizontalOptions="Center" />

            <Button Text="Select Image to Scan"
                    Clicked="OnScanButtonClicked"
                    HorizontalOptions="Center" 
                    WidthRequest="200"/>

            <Label x:Name="ResultLabel"
                   Text="Result will appear here..."
                   FontSize="20"
                   HorizontalOptions="Center"
                   HorizontalTextAlignment="Center" />

        </VerticalStackLayout>
    </ScrollView>

</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="MauiApp1.MainPage"
             BackgroundColor="{DynamicResource PageBackgroundColor}">

    <ScrollView>
        <VerticalStackLayout Spacing="25" Padding="30" VerticalOptions="Center">

            <Label Text="Desktop Barcode Scanner"
                   FontSize="32"
                   HorizontalOptions="Center" />

            <Image x:Name="ScannerImage"
                   HeightRequest="300"
                   WidthRequest="400"
                   BackgroundColor="#F0F0F0"
                   Aspect="AspectFit"
                   HorizontalOptions="Center" />

            <Button Text="Select Image to Scan"
                    Clicked="OnScanButtonClicked"
                    HorizontalOptions="Center" 
                    WidthRequest="200"/>

            <Label x:Name="ResultLabel"
                   Text="Result will appear here..."
                   FontSize="20"
                   HorizontalOptions="Center"
                   HorizontalTextAlignment="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Lecteur de codes-barres de bureau Logic CS

Ensuite, la logique permettant à l'utilisateur de cliquer sur le bouton est mise en œuvre. Un gestionnaire d'événements OnScanButtonClicked est attaché au bouton de numérisation dans l'interface utilisateur.

PickPhotoAsync est d'abord utilisé pour permettre aux utilisateurs de choisir le BarCode à télécharger, suivi de OpenReadAsync pour accéder au flux de fichiers. Les données de l'image sont immédiatement copiées dans un MemoryStream à l'aide de CopyToAsync. Les données peuvent ainsi être utilisées simultanément pour afficher l'image à l'écran et pour que la méthode Read scanne le code-barres.

Enfin, la valeur du code-barres est affichée dans l'interface utilisateur si un code-barres valide est détecté, sinon un message rouge s'affiche indiquant qu'aucun code-barres n'a été trouvé dans l'image.

Veuillez noter Remplacez la clé de licence par la vôtre avant de tester l'application.

using IronBarCode;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            // Your license key is set here
            IronBarCode.License.LicenseKey = "YOUR_KEY"
        }

        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            try
            {
                var fileResult = await MediaPicker.Default.PickPhotoAsync();

                if (fileResult != null)
                {
                    // 1. Copy the file content into a byte array or MemoryStream immediately
                    // This ensures we have the data in memory before the file closes
                    byte[] imageBytes;
                    using (var stream = await fileResult.OpenReadAsync())
                    using (var memoryStream = new MemoryStream())
                    {
                        await stream.CopyToAsync(memoryStream);
                        imageBytes = memoryStream.ToArray();
                    }

                    // 2. Set the Image Source for the UI
                    // We give the UI a FRESH stream from the bytes we just saved
                    ScannerImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes));

                    // 3. Process the Barcode
                    // We give IronBarcode its OWN fresh stream from the same bytes
                    using (var processingStream = new MemoryStream(imageBytes))
                    {
                        // 4. Read the barcode with Read
                        var results = BarcodeReader.Read(processingStream);

                        // 5. Display barcode results
                        if (results != null && results.Count > 0)
                        {

                            // Successfully found barcode value
                            ResultLabel.Text = $"Success: {results[0].Value}";
                            ResultLabel.TextColor = Colors.Green;
                        }
                        else
                        {
                            // Image uploaded has no barcode or barcode value is not found
                            ResultLabel.Text = "No barcode detected.";
                            ResultLabel.TextColor = Colors.Red;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // Display any exception thrown in runtime
                ResultLabel.Text = $"Error: {ex.Message}";
                ResultLabel.TextColor = Colors.Red;
            }
        }
    }
}
using IronBarCode;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            // Your license key is set here
            IronBarCode.License.LicenseKey = "YOUR_KEY"
        }

        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            try
            {
                var fileResult = await MediaPicker.Default.PickPhotoAsync();

                if (fileResult != null)
                {
                    // 1. Copy the file content into a byte array or MemoryStream immediately
                    // This ensures we have the data in memory before the file closes
                    byte[] imageBytes;
                    using (var stream = await fileResult.OpenReadAsync())
                    using (var memoryStream = new MemoryStream())
                    {
                        await stream.CopyToAsync(memoryStream);
                        imageBytes = memoryStream.ToArray();
                    }

                    // 2. Set the Image Source for the UI
                    // We give the UI a FRESH stream from the bytes we just saved
                    ScannerImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes));

                    // 3. Process the Barcode
                    // We give IronBarcode its OWN fresh stream from the same bytes
                    using (var processingStream = new MemoryStream(imageBytes))
                    {
                        // 4. Read the barcode with Read
                        var results = BarcodeReader.Read(processingStream);

                        // 5. Display barcode results
                        if (results != null && results.Count > 0)
                        {

                            // Successfully found barcode value
                            ResultLabel.Text = $"Success: {results[0].Value}";
                            ResultLabel.TextColor = Colors.Green;
                        }
                        else
                        {
                            // Image uploaded has no barcode or barcode value is not found
                            ResultLabel.Text = "No barcode detected.";
                            ResultLabel.TextColor = Colors.Red;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // Display any exception thrown in runtime
                ResultLabel.Text = $"Error: {ex.Message}";
                ResultLabel.TextColor = Colors.Red;
            }
        }
    }
}
Imports IronBarCode

Namespace MauiApp1
    Partial Public Class MainPage
        Inherits ContentPage

        Public Sub New()
            InitializeComponent()
            ' Your license key is set here
            IronBarCode.License.LicenseKey = "YOUR_KEY"
        End Sub

        Private Async Sub OnScanButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
            Try
                Dim fileResult = Await MediaPicker.Default.PickPhotoAsync()

                If fileResult IsNot Nothing Then
                    ' 1. Copy the file content into a byte array or MemoryStream immediately
                    ' This ensures we have the data in memory before the file closes
                    Dim imageBytes As Byte()
                    Using stream = Await fileResult.OpenReadAsync(), memoryStream = New MemoryStream()
                        Await stream.CopyToAsync(memoryStream)
                        imageBytes = memoryStream.ToArray()
                    End Using

                    ' 2. Set the Image Source for the UI
                    ' We give the UI a FRESH stream from the bytes we just saved
                    ScannerImage.Source = ImageSource.FromStream(Function() New MemoryStream(imageBytes))

                    ' 3. Process the Barcode
                    ' We give IronBarcode its OWN fresh stream from the same bytes
                    Using processingStream = New MemoryStream(imageBytes)
                        ' 4. Read the barcode with Read
                        Dim results = BarcodeReader.Read(processingStream)

                        ' 5. Display barcode results
                        If results IsNot Nothing AndAlso results.Count > 0 Then
                            ' Successfully found barcode value
                            ResultLabel.Text = $"Success: {results(0).Value}"
                            ResultLabel.TextColor = Colors.Green
                        Else
                            ' Image uploaded has no barcode or barcode value is not found
                            ResultLabel.Text = "No barcode detected."
                            ResultLabel.TextColor = Colors.Red
                        End If
                    End Using
                End If
            Catch ex As Exception
                ' Display any exception thrown in runtime
                ResultLabel.Text = $"Error: {ex.Message}"
                ResultLabel.TextColor = Colors.Red
            End Try
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

Sortie avec valeur de BarCode trouvée

BarCodes trouvés en sortie

Comme vous pouvez le voir, l'application affiche le résultat du code-barres et l'image du code-barres téléchargée.

Sortie sans valeur de BarCode trouvée

Aucun BarCode n'a été trouvé en sortie

Comme vous pouvez le voir, lorsqu'un utilisateur télécharge une image qui ne contient pas de BarCode, il affiche un message rouge indiquant "Aucun code-barres trouvé."

Générateur de BarCodes pour le bureau

La partie suivante s'appuie sur le même concept en intégrant IronBarcode dans MAUI pour créer un générateur de codes-barres.

Interface XAML du générateur de BarCode

Pour l'interface du générateur, un formulaire simple est mis en œuvre pour permettre la saisie de texte et la sélection du type de code-barres via un menu déroulant. Un bouton est inclus pour déclencher le processus de génération et d'enregistrement, ainsi qu'une vue d'image pour afficher le résultat. Le fichier MainPage.xaml doit être remplacé par le contenu ci-dessous.

Veuillez consulter here pour la liste complète des codes-barres 1D et here pour les codes-barres 2D.

<?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="MauiApp1.MainPage"
             BackgroundColor="{DynamicResource PageBackgroundColor}">

    <ScrollView>
        <VerticalStackLayout Spacing="20" Padding="30" VerticalOptions="Center">

            <Label Text="Barcode Generator"
                   FontSize="32"
                   HorizontalOptions="Center" />

            <Entry x:Name="BarcodeEntry"
                   Placeholder="Enter value (e.g. 12345 or https://ironsoftware.com)"
                   WidthRequest="300" />

            <Picker x:Name="BarcodeTypePicker"
                    Title="Select Barcode Type"
                    WidthRequest="300">
                <Picker.ItemsSource>
                    <x:Array Type="{x:Type x:String}">
                        <x:String>QRCode</x:String>
                        <x:String>Code128</x:String>
                        <x:String>EAN13</x:String>
                        <x:String>Code39</x:String>
                        <x:String>PDF417</x:String>
                    </x:Array>
                </Picker.ItemsSource>
            </Picker>

            <Button Text="Generate &amp; Save"
                    Clicked="OnGenerateButtonClicked"
                    HorizontalOptions="Center"
                    WidthRequest="200" />

            <Image x:Name="GeneratedImage"
                   HeightRequest="200"
                   WidthRequest="300"
                   BackgroundColor="#F0F0F0"
                   Aspect="AspectFit" />

            <Label x:Name="StatusLabel"
                   FontSize="16"
                   HorizontalOptions="Center"
                   HorizontalTextAlignment="Center" />

        </VerticalStackLayout>
    </ScrollView>

</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="MauiApp1.MainPage"
             BackgroundColor="{DynamicResource PageBackgroundColor}">

    <ScrollView>
        <VerticalStackLayout Spacing="20" Padding="30" VerticalOptions="Center">

            <Label Text="Barcode Generator"
                   FontSize="32"
                   HorizontalOptions="Center" />

            <Entry x:Name="BarcodeEntry"
                   Placeholder="Enter value (e.g. 12345 or https://ironsoftware.com)"
                   WidthRequest="300" />

            <Picker x:Name="BarcodeTypePicker"
                    Title="Select Barcode Type"
                    WidthRequest="300">
                <Picker.ItemsSource>
                    <x:Array Type="{x:Type x:String}">
                        <x:String>QRCode</x:String>
                        <x:String>Code128</x:String>
                        <x:String>EAN13</x:String>
                        <x:String>Code39</x:String>
                        <x:String>PDF417</x:String>
                    </x:Array>
                </Picker.ItemsSource>
            </Picker>

            <Button Text="Generate &amp; Save"
                    Clicked="OnGenerateButtonClicked"
                    HorizontalOptions="Center"
                    WidthRequest="200" />

            <Image x:Name="GeneratedImage"
                   HeightRequest="200"
                   WidthRequest="300"
                   BackgroundColor="#F0F0F0"
                   Aspect="AspectFit" />

            <Label x:Name="StatusLabel"
                   FontSize="16"
                   HorizontalOptions="Center"
                   HorizontalTextAlignment="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Générateur de BarCode de bureau Logic CS

Ensuite, la logique de l'événement de clic sur le bouton est mise en œuvre. Un gestionnaire d'événements OnGenerateButtonClicked est attaché au bouton generate dans l'interface utilisateur.

La saisie de l'utilisateur est validée pour s'assurer que le texte est présent et qu'un type est sélectionné, après quoi la sélection est mise en correspondance avec le BarcodeEncoding correct. BarcodeWriter.CreateBarcode est utilisé pour générer l'image, la redimensionner et la convertir en données binaires JPEG. L'image est ensuite affichée à l'écran à l'aide d'un MemoryStream.

Enfin, le fichier BarCode généré est enregistré directement sur le Bureau de l'utilisateur à l'aide de File.WriteAllBytes, et l'étiquette d'état est mise à jour pour confirmer l'emplacement d'enregistrement.

Veuillez noter Remplacez la clé de licence par la vôtre avant de tester l'application.

using IronBarCode;
using System.IO; // Required for saving files

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            IronBarCode.License.LicenseKey = "YOUR-KEY";

            // Set default selection
            BarcodeTypePicker.SelectedIndex = 0;
        }

        private void OnGenerateButtonClicked(object sender, EventArgs e)
        {
            try
            {
                // 1. Get and Validate Input
                string text = BarcodeEntry.Text;

                if (string.IsNullOrWhiteSpace(text))
                {
                    StatusLabel.Text = "Error: Please enter text.";
                    StatusLabel.TextColor = Colors.Red;
                    return;
                }

                if (BarcodeTypePicker.SelectedIndex == -1)
                {
                    StatusLabel.Text = "Error: Please select a type.";
                    StatusLabel.TextColor = Colors.Red;
                    return;
                }

                // 2. Determine Encoding Type
                string selectedType = BarcodeTypePicker.SelectedItem.ToString();
                BarcodeEncoding encoding = BarcodeEncoding.QRCode;

                switch (selectedType)
                {
                    case "QRCode": encoding = BarcodeEncoding.QRCode; break;
                    case "Code128": encoding = BarcodeEncoding.Code128; break;
                    case "EAN13": encoding = BarcodeEncoding.EAN13; break;
                    case "Code39": encoding = BarcodeEncoding.Code39; break;
                    case "PDF417": encoding = BarcodeEncoding.PDF417; break;
                }

                // 3. Generate Barcode
                var barcode = BarcodeWriter.CreateBarcode(text, encoding);
                barcode.ResizeTo(400, 200); // Optional resizing

                // 4. Convert to Bytes (JPEG)
                var bytes = barcode.ToJpegBinaryData();

                // 5. Update UI
                GeneratedImage.Source = ImageSource.FromStream(() => new MemoryStream(bytes));

                // 6. Save to Desktop automatically
                string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                string fileName = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.jpg";
                string fullPath = Path.Combine(desktopPath, fileName);

                File.WriteAllBytes(fullPath, bytes);

                // 7. Show Success Message
                StatusLabel.Text = $"Saved to Desktop:\n{fileName}";
                StatusLabel.TextColor = Colors.Green;
            }
            catch (Exception ex)
            {
                StatusLabel.Text = $"Error: {ex.Message}";
                StatusLabel.TextColor = Colors.Red;
            }
        }
    }
}
using IronBarCode;
using System.IO; // Required for saving files

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            IronBarCode.License.LicenseKey = "YOUR-KEY";

            // Set default selection
            BarcodeTypePicker.SelectedIndex = 0;
        }

        private void OnGenerateButtonClicked(object sender, EventArgs e)
        {
            try
            {
                // 1. Get and Validate Input
                string text = BarcodeEntry.Text;

                if (string.IsNullOrWhiteSpace(text))
                {
                    StatusLabel.Text = "Error: Please enter text.";
                    StatusLabel.TextColor = Colors.Red;
                    return;
                }

                if (BarcodeTypePicker.SelectedIndex == -1)
                {
                    StatusLabel.Text = "Error: Please select a type.";
                    StatusLabel.TextColor = Colors.Red;
                    return;
                }

                // 2. Determine Encoding Type
                string selectedType = BarcodeTypePicker.SelectedItem.ToString();
                BarcodeEncoding encoding = BarcodeEncoding.QRCode;

                switch (selectedType)
                {
                    case "QRCode": encoding = BarcodeEncoding.QRCode; break;
                    case "Code128": encoding = BarcodeEncoding.Code128; break;
                    case "EAN13": encoding = BarcodeEncoding.EAN13; break;
                    case "Code39": encoding = BarcodeEncoding.Code39; break;
                    case "PDF417": encoding = BarcodeEncoding.PDF417; break;
                }

                // 3. Generate Barcode
                var barcode = BarcodeWriter.CreateBarcode(text, encoding);
                barcode.ResizeTo(400, 200); // Optional resizing

                // 4. Convert to Bytes (JPEG)
                var bytes = barcode.ToJpegBinaryData();

                // 5. Update UI
                GeneratedImage.Source = ImageSource.FromStream(() => new MemoryStream(bytes));

                // 6. Save to Desktop automatically
                string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                string fileName = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.jpg";
                string fullPath = Path.Combine(desktopPath, fileName);

                File.WriteAllBytes(fullPath, bytes);

                // 7. Show Success Message
                StatusLabel.Text = $"Saved to Desktop:\n{fileName}";
                StatusLabel.TextColor = Colors.Green;
            }
            catch (Exception ex)
            {
                StatusLabel.Text = $"Error: {ex.Message}";
                StatusLabel.TextColor = Colors.Red;
            }
        }
    }
}
Imports IronBarCode
Imports System.IO ' Required for saving files

Namespace MauiApp1
    Public Partial Class MainPage
        Inherits ContentPage

        Public Sub New()
            InitializeComponent()
            IronBarCode.License.LicenseKey = "YOUR-KEY"

            ' Set default selection
            BarcodeTypePicker.SelectedIndex = 0
        End Sub

        Private Sub OnGenerateButtonClicked(sender As Object, e As EventArgs)
            Try
                ' 1. Get and Validate Input
                Dim text As String = BarcodeEntry.Text

                If String.IsNullOrWhiteSpace(text) Then
                    StatusLabel.Text = "Error: Please enter text."
                    StatusLabel.TextColor = Colors.Red
                    Return
                End If

                If BarcodeTypePicker.SelectedIndex = -1 Then
                    StatusLabel.Text = "Error: Please select a type."
                    StatusLabel.TextColor = Colors.Red
                    Return
                End If

                ' 2. Determine Encoding Type
                Dim selectedType As String = BarcodeTypePicker.SelectedItem.ToString()
                Dim encoding As BarcodeEncoding = BarcodeEncoding.QRCode

                Select Case selectedType
                    Case "QRCode"
                        encoding = BarcodeEncoding.QRCode
                    Case "Code128"
                        encoding = BarcodeEncoding.Code128
                    Case "EAN13"
                        encoding = BarcodeEncoding.EAN13
                    Case "Code39"
                        encoding = BarcodeEncoding.Code39
                    Case "PDF417"
                        encoding = BarcodeEncoding.PDF417
                End Select

                ' 3. Generate Barcode
                Dim barcode = BarcodeWriter.CreateBarcode(text, encoding)
                barcode.ResizeTo(400, 200) ' Optional resizing

                ' 4. Convert to Bytes (JPEG)
                Dim bytes = barcode.ToJpegBinaryData()

                ' 5. Update UI
                GeneratedImage.Source = ImageSource.FromStream(Function() New MemoryStream(bytes))

                ' 6. Save to Desktop automatically
                Dim desktopPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
                Dim fileName As String = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.jpg"
                Dim fullPath As String = Path.Combine(desktopPath, fileName)

                File.WriteAllBytes(fullPath, bytes)

                ' 7. Show Success Message
                StatusLabel.Text = $"Saved to Desktop:{Environment.NewLine}{fileName}"
                StatusLabel.TextColor = Colors.Green
            Catch ex As Exception
                StatusLabel.Text = $"Error: {ex.Message}"
                StatusLabel.TextColor = Colors.Red
            End Try
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

Sortie avec le BarCode généré

Générer un BarCode Succès

Comme vous pouvez le voir, l'application affiche le BarCode généré et l'enregistre sur le bureau de l'utilisateur.

Echec de sortie

Générer un BarCode Échec

Certains types de BarCode ont des restrictions et des exigences de format pour la valeur d'entrée. Lorsque le code-barres ne parvient pas à se générer, l'application affiche l'exception IronBarcode, comme illustré ci-dessus. Veuillez vous référer aux documents détaillés respectifs1D et 2D pour la mise en forme de chaque type de code-barres.

Pour tester les exemples ci-dessus (Desktop Barcode Scanner et le Desktop Barcode Generator), veuillez télécharger ce projet d'exemple.

Questions Fréquemment Posées

Qu'est-ce que .NET MAUI ?

.NET MAUI est un framework multiplateforme pour la création d'applications mobiles et de bureau natives avec C# et XAML. Il permet aux développeurs de créer des applications pour Android, iOS, macOS et Windows à l'aide d'une base de code unique.

Comment IronBarcode peut-il être utilisé dans une application .NET MAUI ?

IronBarcode peut être intégré dans une application .NET MAUI pour permettre la génération et la lecture de codes-barres. Il offre un moyen simple de créer et de lire des codes-barres sur plusieurs plateformes de bureau.

Quels types de codes-barres IronBarcode peut-il générer ?

IronBarcode prend en charge la génération d'une grande variété de formats de codes-barres, notamment les codes QR, le Code 128, le Code 39, l'UPC, l'EAN et bien d'autres, ce qui le rend polyvalent pour tous les besoins en matière d'applications de bureau.

Est-il possible de scanner des codes-barres à l'aide d'une application de bureau construite avec IronBarcode ?

Oui, IronBarcode peut être utilisé pour scanner des codes-barres dans des applications de bureau, ce qui permet aux utilisateurs de décoder rapidement et efficacement les informations des codes-barres via l'interface de l'application.

Quels sont les avantages de l'utilisation d'IronBarcode pour les applications de codes-barres ?

IronBarcode offre une grande précision, une grande rapidité et une grande facilité d'utilisation. Il s'intègre de manière transparente à .NET MAUI, offrant une prise en charge complète de la génération et de la numérisation de codes-barres dans les applications de bureau.

IronBarcode peut-il gérer de grands volumes de données de codes-barres ?

Oui, IronBarcode est conçu pour traiter efficacement de grands volumes de données de codes-barres, ce qui le rend adapté aux applications qui nécessitent de traiter des tâches de codes-barres étendues.

Ai-je besoin d'une bibliothèque distincte pour la numérisation et la génération de codes-barres ?

Non, IronBarcode offre à la fois des fonctionnalités de lecture et de génération de codes-barres au sein d'une seule et même bibliothèque, simplifiant ainsi le processus de développement d'applications de bureau.

Quelle est la configuration requise pour utiliser IronBarcode avec .NET MAUI ?

IronBarcode nécessite un environnement .NET compatible avec .NET MAUI. Il prend en charge Windows, macOS et d'autres plateformes sur lesquelles les applications .NET MAUI peuvent être exécutées.

Comment IronBarcode s'assure-t-il de la précision des codes-barres ?

IronBarcode utilise des algorithmes avancés pour garantir une grande précision à la fois dans la génération et la numérisation des codes-barres, réduisant ainsi la probabilité d'erreurs dans l'encodage ou le décodage des données des codes-barres.

IronBarcode peut-il être utilisé pour des projets commerciaux et personnels ?

Oui, IronBarcode peut être utilisé pour des projets commerciaux et personnels, offrant des options de licence flexibles pour s'adapter aux différentes exigences du projet.

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

Lire la suite
Prêt à commencer?
Nuget Téléchargements 2,070,733 | Version : 2026.2 vient de sortir