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.
## Comment imprimer des fichiers de codes-barres en C#
Imprimez la page web contenant l'image du code-barres à l'aide d'une imprimante ou d'un logiciel d'impression au format PDF
Créer un projet MVC
Ouvrez Microsoft Visual Studio. Cliquez sur Créer un nouveau projet > Sélectionnez ASP.NET Web Application dans les 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 de la souris sur le dossier Models > Add > Class....
Naviguer vers la boîte de dialogue d'ajout de 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 la part 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 Vue et un Modèle 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, cliquez avec le bouton droit de la souris sur le dossier Controllers > Add > Controller. Une nouvelle fenêtre apparaît. Sélectionnez MVC 5 Controller Empty. Cliquez sur le bouton Ajouter. Une nouvelle boîte apparaît.
Dialogue d'ajout de contrôleur
Inscrivez 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. Il est gratuit pour le développement et offre de nombreuses fonctionnalités pour personnaliser les codes-barres, telles que l'ajout deun logo sur une image de code-barresen ajoutant une valeur au-dessous ou au-dessus du code-barres,ajouter des annotations au-dessous ou au-dessus du code-barresle code-barres peut être modifié, redimensionné, sauvegardé enplusieurs formats d'imageetc. Pour plus de détails, cliquez ici.
Allez dans la console du gestionnaire de paquets. 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 rattraper toute exception d'exécution.
La fonction CreateBarcode fournie par le programmeBarcodeWriter 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 définir le chemin où les images de codes-barres générées seront sauvegardées. La méthode Path.Combine combine le chemin et le nom de l'image du code-barres.
LesAddBarcodeValueTextAboveBarcode ajoutera la valeur du code-barres. IronBarcode fournit d'autres paramètres de code-barres tels que max-height, max-width, barcode, color, et ainsi de suite. Vous pouvez explorer et utiliser les différents paramètres.
La méthode Directory.GetFile récupère l'image du code-barres nouvellement générée.
ViewBag.FileName est utilisé pour envoyer le chemin de l'image du code-barres à la vue pour 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".
Naviguer vers l'ajout d'un dialogue de visualisation
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 un dialogue de vue
Nommez votre vue et cliquez sur le bouton Add. 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 l'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 :
Insérez le contenu de votre code-barres
Cliquez sur le bouton Créer. 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 égalementgé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 deux seulement en achetant la Suite Iron complète. Visitez le sitenotre page sur les 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. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier