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
In diesem Artikel wird gezeigt, wie man Barcode-Bilder in ASP.NET-Webanwendungen mit C# drucken kann. Für dieses Beispiel wird das MVC-Framework verwendet, aber Sie können auch ASP.NET Web Forms, Windows Forms oder Web API je nach Ihren Bedürfnissen verwenden.
Grundlegende Kenntnisse über das ASP.NET MVC-Framework helfen Ihnen, diesen Artikel besser zu verstehen.
Print the web page containing the barcode image using a printer or print-to-PDF software
Ein MVC-Projekt erstellen
Öffnen Sie Microsoft Visual Studio. Klicken Sie auf Neues Projekt erstellen > Wählen Sie ASP.NET-Webanwendung aus den Vorlagen aus > Drücken Sie Weiter > Benennen Sie Ihr Projekt > Drücken Sie Weiter > Wählen Sie MVC > Klicken Sie auf die Schaltfläche Erstellen. Das Projekt wird wie unten dargestellt erstellt.
Erstellen Sie ein neues ASP.NET-Projekt
Modell hinzufügen
Klicken Sie mit der rechten Maustaste auf den Ordner Models > Hinzufügen > Klasse....
Zum Klassendialog hinzufügen navigieren
Es erscheint ein neues Fenster. Nennen Sie Ihre Klasse BarcodeModel.
Schreiben Sie den folgenden Code in die Modellklasse.
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
Der FileName wird verwendet, um den Namen des Barcode-Bildes vom Benutzer zu erhalten. Der BarcodeContent wird verwendet, um den Inhalt für den Barcode zu übernehmen.
Controller hinzufügen
Als Nächstes wird dem Projekt ein Controller hinzugefügt. Es wird mit einer View und einem Model unter Verwendung des MVC-Modells kommunizieren. Der Code zur Erzeugung von Strichcodes besteht aus nur zwei oder drei Zeilen. Daher ist eine separate Klasse nicht erforderlich; stattdessen wird der Code innerhalb des Controllers hinzugefügt.
Um den Controller hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Ordner Controllers > Hinzufügen > Controller. Es erscheint ein neues Fenster. Wählen Sie MVC 5 Controller Empty. Klicken Sie auf die Schaltfläche Hinzufügen. Es erscheint ein neues Feld.
Controller hinzufügen Dialog
Geben Sie den Namen Ihres Controllers ein, zum Beispiel BarcodeController. Klicken Sie auf die Schaltfläche Hinzufügen. Es wird ein neuer Controller erstellt.
Der nächste Schritt ist die Installation der Barcode-Bibliothek.
Installieren Sie die Barcode-Bibliothek
Die IronBarcode-Bibliothek wird als Bibliothek eines Drittanbieters für die Erzeugung von Strichcodes empfohlen. Es ist kostenlos für die Entwicklung und bietet mehrere Funktionen zur Anpassung von Barcodes, wie zum Beispiel das Hinzufügen eines Logos zu einem Barcode-Bild, das Hinzufügen von Werten unterhalb oder oberhalb des Barcodes, das Hinzufügen von Anmerkungen unterhalb oder oberhalb des Barcodes, das Ändern der Größe des Barcodes, das Speichern des Barcodes in mehreren Bildformaten usw. Für weitere Details klicken Sie bitte hier.
Gehen Sie zur Paket-Manager-Konsole. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste.
Install-Package BarCode
Mit diesem Befehl wird die IronBarcode-Bibliothek im Projekt installiert.
Erzeugen Sie den Barcode
Fügen Sie anschließend den folgenden Beispielcode zum Controller hinzu.
<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 wird verwendet, um jede Laufzeitausnahme abzufangen.
Die CreateBarcode-Funktion, die von der BarcodeWriter-Klasse bereitgestellt wird, benötigt zwei Argumente: den Barcode-Inhalt und das Kodierungsschema. Darüber hinaus werden 11 weitere optionale Argumente akzeptiert, darunter maximale Höhe, maximale Breite usw.
Die Funktion Server.MapPath wird verwendet, um den Pfad zuzuordnen, an dem die generierten Barcode-Bilder gespeichert werden. Die Methode Path.Combine wird den Pfad und den Barcode-Bildnamen kombinieren.
Die Funktion AddBarcodeValueTextAboveBarcode wird den Barcode-Wert hinzufügen. IronBarcode bietet weitere Barcode-Einstellungen wie max-height, max-width, barcode, color usw. Sie können die verschiedenen Parameter erkunden und nutzen.
Die SaveAsJpeg-Funktion nimmt den Pfad als Argument und speichert die generierten Barcodes an diesem bestimmten Pfad.
Die Methode Directory.GetFile wird das neu generierte Barcode-Bild erhalten.
ViewBag.FileName wird verwendet, um den Pfad des Barcode-Bildes an die Ansicht zu übermitteln, um das generierte Barcode-Bild anzuzeigen.
QR-Codes können auch auf die gleiche Weise generiert werden, indem das Kodierungsschema von Code128 zu QRCode geändert wird.
Ansicht hinzufügen
Der nächste Schritt besteht darin, die Client-Seite für diese ASP.NET-Webanwendung bereitzustellen, indem eine neue Ansicht hinzugefügt wird. Klicken Sie mit der rechten Maustaste auf den Namen der Controller-Methode und klicken Sie auf die Schaltfläche "Ansicht hinzufügen".
Navigieren Sie zu Ansicht-Dialog hinzufügen
Es erscheint ein neues Fenster. Wählen Sie die MVC 5-Ansicht aus, und klicken Sie auf die Schaltfläche Hinzufügen.
Es erscheint eine neue Eingabeaufforderung wie unten dargestellt.
Ansicht hinzufügen Dialog
Benenne deine Ansicht und klicke auf die Schaltfläche Hinzufügen. Eine neue .cshtml-Datei wird erstellt.
Fügen Sie den folgenden Code in Ihre neu erstellte Ansicht ein.
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
Klicken Sie dann mit der rechten Maustaste in die Ansicht und klicken Sie auf die Schaltfläche In Browser ausführen.
Ausgabe
Führen Sie die Webanwendung aus, um das Erstellungsformular anzuzeigen
Geben Sie den Namen des Barcode-Bildes und den Barcode-Inhalt wie unten gezeigt ein:
Geben Sie Ihren Barcode-Inhalt ein
Klicken Sie auf die Schaltfläche Erstellen. Das Barcode-Bild wird generiert und auf dem Bildschirm angezeigt, wie unten dargestellt.
Generieren Sie einen Barcode aus einer URL
Zusammenfassung
In diesem Tutorial wurde gezeigt, wie man Barcodes mit ASP.NET in C# in Kombination mit dem MVC-Framework generiert. Als IDE wird Microsoft Visual Studio verwendet. IronPDF ist eine Bibliothek eines Drittanbieters, die für die Entwicklung kostenlos ist und mit allen Versionen des .NET-Frameworks, einschließlich der neu veröffentlichten Version, kompatibel ist. IronBarcode ist schnell und bietet zahlreiche Funktionen für die Arbeit mit Barcodes. Es kann auch QR-Codes generieren, indem verschiedene Typen angegeben werden.
Es gibt noch viele andere nützliche Bibliotheken wie IronPDF für die Arbeit mit PDF-Dokumenten, IronXL für die Arbeit mit Excel-Dokumenten und IronOCR für die Arbeit mit OCR. Derzeit können Sie alle fünf Bibliotheken zum Preis von nur zwei erwerben, indem Sie die komplette Iron Suite kaufen. Besuchen Sie unsere Lizenzierungsseite für weitere Details.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS QR-Code in C# Windows-Anwendungen generieren