在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
本文将演示如何在 ASP.NET Web 应用程序中使用 C# 打印条形码图像。 本例将使用 MVC Framework,但您也可以根据需要使用 ASP.NET Web Forms、Windows Forms 或 Web API。
掌握 ASP.NET MVC Framework 的基本知识可以让您更好地理解本文。
创建条形码
在 C# 中创建条形码的方法打开 Microsoft Visual Studio。 点击创建新项目 > 从模板中选择 ASP.NET Web 应用程序 > 按下一步 > 给项目命名 > 按下一步 > 选择 MVC > 点击创建按钮。 项目创建如下所示。
创建一个新的 ASP.NET 项目
右键单击 "模型 "文件夹 > 添加 > 类...。
导航至添加类对话框
一个新窗口将会出现。 将您的类命名为 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
文件名 "将用于从用户处获取条形码图像名称。 BarCodeContent` 用于获取条形码的内容。
接下来,项目中将添加一个 "控制器"。 它将使用 MVC 模型与 "视图 "和 "模型 "进行通信。 生成 BarCode 的代码只有两三行。 因此,没有必要单独开班; 在翻译过程中,我们会在 Controller 中添加代码。
要添加控制器,请右键单击控制器文件夹 > 添加 > 控制器。 一个新窗口将会出现。 选择 MVC 5 Controller Empty。 单击添加按钮。 将出现一个新框。
添加控制器对话框
写出您的控制器名称,例如 BarcodeController
。 单击添加按钮。 将生成一个新的控制器。
下一步是安装 BarCode 库。
推荐使用 IronBarcode 库作为生成条形码的第三方库。 它可免费用于开发,并提供多种自定义 BarCode 的功能,如添加为条形码图像添加徽标在条形码下方或上方添加值、在条形码下方或上方添加注释调整条形码大小,将条形码保存在多种图像格式等。更多详情,请点击此处。
转到软件包管理器控制台。 键入以下命令并按 Enter。
Install-Package BarCode
该命令将在项目中安装 IronBarcode 库。
接下来,在控制器中添加以下示例代码。
[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
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 应用程序添加一个新的视图,从而提供客户端。 右键单击控制器方法的名称,然后单击 "添加视图 "按钮。
导航添加查看对话框
一个新窗口将会出现。 选择 MVC 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
接下来,右键单击视图,然后单击 "运行到浏览器 "按钮。
运行网络应用程序以显示创建表格
如下所示,输入您的条形码图像名称和条形码内容:
输入您的 BarCode 内容
点击创建按钮。 条形码图像将生成并显示在屏幕上,如下图所示。
从 URL 生成 BarCode
本教程演示了如何使用 C# 中的 ASP.NET 并结合 MVC Framework 生成条形码。 Microsoft Visual Studio 被用作集成开发环境。IronPDF 是一个第三方库,可免费用于开发,兼容所有版本的 .NET Framework,包括最新发布的版本。 IronBarcode 运行速度快,提供多种处理条形码的功能。 还可以生成二维码通过指定不同的类型。
还有其他许多有用的库,如处理 PDF 文档的 IronPDF、处理 Excel 文档的 IronXL 和处理 OCR 的 IronOCR。 目前,您只需购买完整的 Iron Suite,就能以两个库的价格获得全部五个库。访问我们的许可页面了解更多详情。