IRONBARCODE VERWENDEN

Wie drucke ich einen Barcode in ASP.NET in C#

Aktualisiert 20. Januar 2024
Teilen Sie:

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.


Ein MVC-Projekt erstellen

Öffnen Sie Microsoft Visual Studio. Klicken Sie auf Neues Projekt erstellen > Wählen Sie ASP.NET Web Application aus den Vorlagen aus > Drücken Sie Weiter > Benennen Sie Ihr Projekt > Drücken Sie Weiter > Wählen Sie MVC aus > Klicken Sie auf die Schaltfläche Erstellen. Das Projekt wird wie unten dargestellt erstellt.

How to Print Barcode in ASP.NET in C#, Abbildung 1: Erstellen eines neuen ASP.NET-Projekts

Erstellen Sie ein neues ASP.NET-Projekt

Modell hinzufügen

Klicken Sie mit der rechten Maustaste auf den Ordner Modelle > Hinzufügen > Klasse....

How to Print Barcode in ASP.NET in C#, Abbildung 2: Navigate to add Class Dialog

Navigieren Sie zum Dialog Klasse hinzufügen

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
VB   C#

Der "Dateiname" wird verwendet, um den Namen des Barcode-Bildes vom Benutzer zu erhalten. Der BarcodeContent wird verwendet, um den Inhalt des Barcodes aufzunehmen.

Controller hinzufügen

Als nächstes wird dem Projekt ein "Controller" hinzugefügt. Sie kommuniziert mit einem "View" und einem "Model" unter Verwendung des MVC-Modells. 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 "Controller" > 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.

How to Print Barcode in ASP.NET in C#, Abbildung 3: Add Controller Dialog

Dialog "Controller hinzufügen "

Schreiben Sie den Namen Ihres Controllers, 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 zahlreiche Funktionen zum Anpassen von Barcodes, wie zum Beispiel das Hinzufügen von ein Logo zu einem Barcode-Bild, indem Sie einen Wert unterhalb oder oberhalb des Strichcodes hinzufügen, hinzufügen von Anmerkungen unterhalb oder oberhalb des Barcodes, Größenänderung des Barcodes, Speichern des Barcodes in mehrere Bildformateusw. Für weitere Details, klicken Sie bitte hier.

Rufen Sie die Package Manager-Konsole auf. 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 ActionResult CreateBarcode(BarcodeModel model)
{
    try
    {
        var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
        string path = Server.MapPath("~/Files/");
        string filepath = Path.Combine(path, model.FileName);
        MyBarCode.AddBarcodeValueTextAboveBarcode();
        MyBarCode.SaveAsJpeg(filepath);
        string image = Directory.GetFiles(path).FirstOrDefault();
        ViewBag.fileName = image;
        return View();
    }
    catch
    {
        return View();
    }
}
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
    try
    {
        var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
        string path = Server.MapPath("~/Files/");
        string filepath = Path.Combine(path, model.FileName);
        MyBarCode.AddBarcodeValueTextAboveBarcode();
        MyBarCode.SaveAsJpeg(filepath);
        string image = Directory.GetFiles(path).FirstOrDefault();
        ViewBag.fileName = image;
        return View();
    }
    catch
    {
        return View();
    }
}
<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
VB   C#

try-catch wird verwendet, um jede Laufzeitausnahme abzufangen.

Die Funktion CreateBarcode, die von der barcodeSchreiber klasse 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 zu bestimmen, in dem die erzeugten Barcode-Bilder gespeichert werden sollen. Die Methode Path.Combine kombiniert den Pfad und den Namen des Barcode-Bildes.

Die barcodeWertTextOberhalbBarcode" hinzufügen wird der Barcodewert hinzugefügt. IronBarcode bietet weitere Barcode-Einstellungen wie max-height, max-width, barcode, color, und so weiter. Sie können die verschiedenen Parameter erkunden und nutzen.

Die saveAsJpeg funktion nimmt den Pfad als Argument und speichert die erzeugten Barcodes in diesem bestimmten Pfad.

Die Methode Directory.GetFile holt das neu erzeugte Barcode-Bild.

viewBag.FileName" wird verwendet, um den Pfad des Barcode-Bildes an die Ansicht zu senden, in der das erzeugte Barcode-Bild angezeigt wird.

QR-Codes können auch auf die gleiche Weise erzeugt werden, indem man das Kodierungsschema von "Code128" in QRCode.

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

How to Print Barcode in ASP.NET in C#, Abbildung 4: Navigieren Sie zu Ansicht hinzufügen Dialog

Navigieren Sie zu Ansicht hinzufügen Dialog

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.

How to Print Barcode in ASP.NET in C#, Abbildung 5: Add View Dialog

Dialog Ansicht hinzufügen

Benennen Sie Ihre Ansicht und klicken Sie auf die Schaltfläche Hinzufügen. Es wird eine neue .cshtml-Datei erstellt.

Fügen Sie den folgenden Code in Ihre neu erstellte Ansicht ein.

@model GenerateBarcodeMVC.Models.BarcodeModel

@{
ViewBag.DisplayBarcode = false;
}

<h2>Create</h2>

@using (Html.BeginForm())
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>GenerateBarcode</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
        @Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @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>
}

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
@model GenerateBarcodeMVC.Models.BarcodeModel

@{
ViewBag.DisplayBarcode = false;
}

<h2>Create</h2>

@using (Html.BeginForm())
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>GenerateBarcode</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
        @Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @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>
}

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
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
VB   C#

Klicken Sie dann mit der rechten Maustaste in die Ansicht und klicken Sie auf die Schaltfläche In Browser ausführen.

Ausgabe

How to Print Barcode in ASP.NET in C#, Abbildung 6: Webanwendung ausführen, um Formular erstellen anzuzeigen

Webanwendung ausführen, um Formular erstellen anzuzeigen

Geben Sie den Namen des Barcode-Bildes und den Barcode-Inhalt wie unten gezeigt ein:

How to Print Barcode in ASP.NET in C#, Abbildung 7: Geben Sie Ihren Barcode-Inhalt ein

Eingabe des Barcodeinhalts

Klicken Sie auf die Schaltfläche Erstellen. Das Barcode-Bild wird generiert und auf dem Bildschirm angezeigt, wie unten dargestellt.

How to Print Barcode in ASP.NET in C#, Abbildung 8: Erzeugen eines Barcodes aus einer URL

Barcode aus einer URL generieren

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. Sie kann auch qR-Codes erzeugen durch Angabe verschiedener Typen.

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 erhalten, wenn Sie die komplette Iron Suite kaufen. Besuchen Sie unsere Lizenzierungsseite für weitere Einzelheiten.

< PREVIOUS
QR-Code in C# Windows-Anwendungen generieren
NÄCHSTES >
Barcode Generator .NET Tutorial

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,246,703 Lizenzen anzeigen >