使用IRONBARCODE

如何在ASP.NET中使用C#打印条形码

更新 2024年一月20日
分享:

本文将演示如何在 ASP.NET Web 应用程序中使用 C# 打印条形码图像。 本例将使用 MVC Framework,但您也可以根据需要使用 ASP.NET Web Forms、Windows Forms 或 Web API。

掌握 ASP.NET MVC Framework 的基本知识可以让您更好地理解本文。


创建 MVC 项目

打开 Microsoft Visual Studio。 点击创建新项目 > 从模板中选择 ASP.NET Web 应用程序 > 按下一步 > 给项目命名 > 按下一步 > 选择 MVC > 点击创建按钮。 项目创建如下所示。

如何在 ASP.NET 中用 C# 打印条形码,图 1:创建一个新的 ASP.NET 项目

创建一个新的 ASP.NET 项目

添加模型

右键单击 "模型 "文件夹 > 添加 > 类...

如何在 ASP.NET 中用 C# 打印条形码,图 2:导航至添加类对话框

导航至添加类对话框

一个新窗口将会出现。 将您的类命名为 BarcodeModel

在模型类中编写以下代码。

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#

文件名 "将用于从用户处获取条形码图像名称。 BarCodeContent` 用于获取条形码的内容。

添加控制器

接下来,项目中将添加一个 "控制器"。 它将使用 MVC 模型与 "视图 "和 "模型 "进行通信。 生成 BarCode 的代码只有两三行。 因此,没有必要单独开班; 在翻译过程中,我们会在 Controller 中添加代码。

要添加控制器,请右键单击控制器文件夹 > 添加 > 控制器。 一个新窗口将会出现。 选择 MVC 5 Controller Empty。 单击添加按钮。 将出现一个新框。

如何在 ASP.NET 中用 C# 打印条形码,图 3:添加控制器对话框

添加控制器对话框

写出您的控制器名称,例如 BarcodeController。 单击添加按钮。 将生成一个新的控制器。

下一步是安装 BarCode 库。

安装 BarCode 库

推荐使用 IronBarcode 库作为生成条形码的第三方库。 它可免费用于开发,并提供多种自定义 BarCode 的功能,如添加为条形码图像添加徽标在条形码下方或上方添加值、在条形码下方或上方添加注释调整条形码大小,将条形码保存在多种图像格式等。更多详情,请点击此处。

转到软件包管理器控制台。 键入以下命令并按 Enter。

Install-Package BarCode

该命令将在项目中安装 IronBarcode 库。

生成 BarCode

接下来,在控制器中添加以下示例代码。

[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 "用于捕获任何运行时异常。

创建条形码 "功能由条码写入器class 接收两个参数:Barcode 内容和编码方案。 此外,它还接受 11 个其他可选参数,包括最大高度、最大宽度等。

Server.MapPath "函数用于映射生成的条形码图像的保存路径。 Path.Combine "方法将合并路径和 BarCode 图像名称。

"(《世界人权宣言》)添加高于条码的条码值文本函数将添加 BarCode 值。 IronBarcode 还提供其他条码设置,如 "最大高度"、"最大宽度"、"条码"、"颜色 "等。 您可以探索并使用各种参数。

"(《世界人权宣言》)保存为 Jpeg该函数将路径作为参数,并将生成的 BarCode 保存在该特定路径中。

Directory.GetFile` 方法将获取新生成的 BarCode 图像。

ViewBag.FileName 用于向视图发送条形码图像的路径,以显示生成的条形码图像。

将编码方案从 "Code128 "改为 "Code128",也可以用同样的方法生成 QR 码。QRCode.

添加查看

下一步是为这个 ASP.NET Web 应用程序添加一个新的视图,从而提供客户端。 右键单击控制器方法的名称,然后单击 "添加视图 "按钮。

如何在 ASP.NET 中用 C# 打印条形码,图 4:导航至添加视图对话框

导航添加查看对话框

一个新窗口将会出现。 选择 MVC 5 视图,然后单击添加按钮。

将出现如下所示的新提示。

如何在 ASP.NET 中用 C# 打印条形码,图 5:添加视图对话框

添加视图对话框

为您的视图命名,然后单击添加按钮。 将创建一个新的 .cshtml 文件。

在新生成的视图中添加以下代码。

@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#

接下来,右键单击视图,然后单击 "运行到浏览器 "按钮。

输出

如何在 ASP.NET 中用 C# 打印条形码,图 6:运行 Web 应用程序以显示创建表格

运行网络应用程序以显示创建表格

如下所示,输入您的条形码图像名称和条形码内容:

如何在 ASP.NET 中用 C# 打印条形码,图 7:输入您的条形码内容

输入您的 BarCode 内容

点击创建按钮。 条形码图像将生成并显示在屏幕上,如下图所示。

如何在 ASP.NET 中用 C# 打印条形码,图 8:从 URL 生成条形码

从 URL 生成 BarCode

摘要

本教程演示了如何使用 C# 中的 ASP.NET 并结合 MVC Framework 生成条形码。 Microsoft Visual Studio 被用作集成开发环境。IronPDF 是一个第三方库,可免费用于开发,兼容所有版本的 .NET Framework,包括最新发布的版本。 IronBarcode 运行速度快,提供多种处理条形码的功能。 还可以生成二维码通过指定不同的类型。

还有其他许多有用的库,如处理 PDF 文档的 IronPDF、处理 Excel 文档的 IronXL 和处理 OCR 的 IronOCR。 目前,您只需购买完整的 Iron Suite,就能以两个库的价格获得全部五个库。访问我们的许可页面了解更多详情。

< 前一页
如何在C# Windows应用程序中生成二维码
下一步 >
条形码生成器 .NET 教程

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,290,353 查看许可证 >