using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
Cet article explique comment imprimer des images de codes-barres dans les applications Web ASP.NET à l'aide de C#. Le Framework MVC sera utilisé pour cet exemple, mais vous pouvez également utiliser ASP.NET Web Forms, Windows Forms ou Web API selon vos besoins.
Une connaissance de base du Framework .NET MVC vous permettra de mieux comprendre cet article.
Print the web page containing the barcode image using a printer or print-to-PDF software
Créer un projet MVC
Ouvrez Microsoft Visual Studio. Cliquez sur Créer un nouveau projet > Sélectionnez Application Web ASP.NET à partir des modèles > Appuyez sur Suivant > Nommez votre projet > Appuyez sur Suivant > Sélectionnez MVC > Cliquez sur le bouton Créer. Le projet sera créé comme indiqué ci-dessous.
Créer un nouveau projet ASP.NET
Ajouter un modèle
Cliquez avec le bouton droit sur le dossier Models > Ajouter > Classe....
Accéder à la boîte de dialogue pour ajouter une classe
Une nouvelle fenêtre apparaît. Nommez votre classe BarcodeModel.
Ecrivez le code suivant dans la classe de modèle.
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
Public Class BarcodeModel
<Display(Name :="Barcode File Name")>
Public Property FileName() As String
<Display(Name := "Barcode Content")>
Public Property BarcodeContent() As String
End Class
$vbLabelText $csharpLabel
Le FileName sera utilisé pour obtenir le nom de l'image du code-barres de l'utilisateur. Le BarcodeContent est utilisé pour prendre le contenu du code-barres.
Ajouter un contrôleur
Ensuite, un Controller est ajouté au projet. Il communiquera avec une View et un Model en utilisant le modèle MVC. Le code permettant de générer des codes-barres ne comporte que deux ou trois lignes. Il n'est donc pas nécessaire de créer une classe distincte ; au lieu de cela, le code est ajouté à l'intérieur du contrôleur.
Pour ajouter le contrôleur, faites un clic droit sur le dossier Controllers > Ajouter > Contrôleur. Une nouvelle fenêtre apparaît. Sélectionnez MVC 5 Controller Empty. Cliquez sur le bouton Ajouter. Une nouvelle boîte apparaît.
Ajouter une boîte de dialogue de contrôleur
Écrivez le nom de votre contrôleur, par exemple BarcodeController. Cliquez sur le bouton Ajouter. Un nouveau contrôleur sera généré.
L'étape suivante consiste à installer la bibliothèque de codes-barres.
Installer la bibliothèque de codes-barres
La bibliothèque IronBarcode est recommandée comme bibliothèque tierce pour générer des codes-barres. C'est gratuit pour le développement et offre de nombreuses fonctionnalités pour personnaliser les codes-barres, telles que l'ajout d'un logo à une image de code-barres, l'ajout de valeur en dessous ou au-dessus du code-barres, l'ajout d'annotations en dessous ou au-dessus du code-barres, le redimensionnement du code-barres, la sauvegarde du code-barres dans de multiples formats d'image, etc. Pour plus de détails, veuillez cliquer ici.
Allez dans la console du gestionnaire de packages. Tapez la commande suivante et appuyez sur Entrée.
Install-Package BarCode
Cette commande installera la bibliothèque IronBarcode dans le projet.
Générer le code-barres
Ensuite, ajoutez l'exemple de code suivant au contrôleur.
<HttpPost>
Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
Try
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)
Dim path As String = Server.MapPath("~/Files/")
Dim filepath As String = System.IO.Path.Combine(path, model.FileName)
MyBarCode.AddBarcodeValueTextAboveBarcode()
MyBarCode.SaveAsJpeg(filepath)
Dim image As String = Directory.GetFiles(path).FirstOrDefault()
ViewBag.fileName = image
Return View()
Catch
Return View()
End Try
End Function
$vbLabelText $csharpLabel
try-catch est utilisé pour intercepter toute exception d'exécution.
La fonction CreateBarcode fournie par la classe BarcodeWriter prend deux arguments : le contenu du code-barres et le schéma d'encodage. En outre, il accepte également 11 autres arguments facultatifs, dont la hauteur maximale, la largeur maximale, etc.
La fonction Server.MapPath est utilisée pour mapper le chemin où les images de codes-barres générées seront enregistrées. La méthode Path.Combine combinera le chemin et le nom de l'image du code-barres.
La fonction AddBarcodeValueTextAboveBarcode ajoutera la valeur du code-barres. IronBarcode propose d'autres paramètres de code-barres tels que max-height, max-width, barcode, color, etc. Vous pouvez explorer et utiliser les différents paramètres.
La fonction SaveAsJpeg prend le chemin comme argument et enregistre les codes-barres générés dans ce chemin spécifique.
La méthode Directory.GetFile récupérera la nouvelle image de code-barres générée.
ViewBag.FileName est utilisé pour envoyer le chemin de l'image du code-barres à la vue afin d'afficher l'image du code-barres générée.
Les codes QR peuvent également être générés de la même manière en changeant le schéma d'encodage de Code128 à QRCode.
Ajouter un point de vue
L'étape suivante consiste à fournir le côté client de cette application Web ASP.NET en ajoutant une nouvelle vue. Cliquez avec le bouton droit de la souris sur le nom de la méthode du contrôleur et cliquez sur le bouton "Ajouter une vue".
Accéder à la boîte de dialogue Ajouter une vue
Une nouvelle fenêtre apparaît. Sélectionnez MVC 5 View et cliquez sur le bouton Add.
Une nouvelle invite apparaît, comme indiqué ci-dessous.
Ajouter la boîte de dialogue de vue
Donnez un nom à votre vue et cliquez sur le bouton Ajouter. Un nouveau fichier .cshtml sera créé.
Ajoutez le code suivant dans la vue nouvellement générée.
model ReadOnly Property () As GenerateBarcodeMVC.Models.BarcodeModel
ViewBag.DisplayBarcode = False
End Property
'INSTANT VB TODO TASK: The following line could not be converted:
(Of h2) Create</h2> [using](Html.BeginForm())
If True Then
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Html.AntiForgeryToken() <div class="form-horizontal"> (Of h4) GenerateBarcode</h4> <hr /> Html.ValidationSummary(True, "", New With {Key .class = "text-danger"}) <div class="form-group"> Html.LabelFor(Function(model) model.FileName, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.FileName, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.FileName, "", New With {Key .class = "text-danger"}) </div> </div> <div class="form-group"> Html.LabelFor(Function(model) model.BarcodeContent, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.BarcodeContent, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.BarcodeContent, "", New With {Key .class = "text-danger"}) </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" /> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="Create" class="btn btn-default" /> </div> </div> </div>
End If
Dim Scripts As section
If True Then
Scripts.Render("~/bundles/jqueryval")
End If
$vbLabelText $csharpLabel
Ensuite, cliquez avec le bouton droit de la souris dans la vue et cliquez sur le bouton Exécuter dans le navigateur.
Sortie
Exécuter une application web pour afficher le formulaire de création
Saisissez le nom de l'image du code-barres et le contenu du code-barres comme indiqué ci-dessous :
Saisissez le contenu de votre code-barres
Cliquez sur le bouton Create. L'image du code-barres sera générée et affichée à l'écran comme indiqué ci-dessous.
Générer un code-barres à partir d'une URL
Résumé
Ce tutoriel a démontré comment générer des codes-barres en utilisant ASP.NET en C#, combiné avec le Framework MVC. Microsoft Visual Studio est utilisé comme IDE. IronPDF est une bibliothèque tierce, gratuite pour le développement et compatible avec toutes les versions du Framework .NET, y compris la nouvelle version. IronBarcode est rapide et offre de nombreuses fonctionnalités pour travailler avec des codes-barres. Il peut également générer des codes QR en spécifiant différents types.
Il existe d'autres bibliothèques utiles telles que IronPDF pour travailler avec des documents PDF, IronXL pour travailler avec des documents Excel et IronOCR pour travailler avec l'OCR. Actuellement, vous pouvez obtenir les cinq bibliothèques pour le prix de seulement deux en achetant l'ensemble complet Iron Suite. Visitez notre page de licences pour plus de détails.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment générer un code QR dans les applications Windows C#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier