MVC中使用Zen Barcode生成条码,如何添加条码数字到条码下方
解决Zen Barcode生成条码时不显示下方数字的问题
嗨,我来帮你搞定这个问题!其实Zen Barcode框架本身就支持在条码下方显示对应的数字文本,只是默认没有开启这个功能而已,咱们只需要在配置metrics的时候加几行设置就行。
具体修改步骤:
- 开启文本显示:在你获取的
metrics对象里,设置DisplayText = true,这是让文本显示的核心开关。 - 优化文本样式(可选):你还可以自定义文本的字体、大小、和条码的间距,让显示效果更美观。
完整的修改后代码示例:
[HttpPost] public ActionResult Index(string barcode) { BarcodeSymbology symbology = BarcodeSymbology.Code39C; BarcodeDraw drawObject = BarcodeDrawFactory.GetSymbology(symbology); var metrics = drawObject.GetDefaultMetrics(60); metrics.Scale = 1; // 关键:开启条码下方的文本显示 metrics.DisplayText = true; // 可选:自定义文本样式,比如字体、大小、间距 metrics.TextFont = new Font("Arial", 10, FontStyle.Regular); metrics.TextMargin = 5; // 文本和条码之间的间距(单位:像素) // 生成条码图片 Image barcodeImage = drawObject.Draw(barcode, metrics); // 将图片转为流返回给前端 using (var ms = new MemoryStream()) { barcodeImage.Save(ms, ImageFormat.Png); ms.Position = 0; return File(ms, "image/png"); } }
代码说明:
metrics.DisplayText = true:强制框架在条码下方渲染对应的数字文本。TextFont:设置文本的字体、大小和样式,你可以根据自己的需求调整,比如换成微软雅黑或者更大的字号。TextMargin:控制文本和条码底部的距离,避免文本和条码贴得太近影响可读性。
这样修改之后,生成的条码图片下方就会自动显示对应的条码数字啦!
内容的提问来源于stack exchange,提问作者Krishan




