You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MVC中使用Zen Barcode生成条码,如何添加条码数字到条码下方

解决Zen Barcode生成条码时不显示下方数字的问题

嗨,我来帮你搞定这个问题!其实Zen Barcode框架本身就支持在条码下方显示对应的数字文本,只是默认没有开启这个功能而已,咱们只需要在配置metrics的时候加几行设置就行。

具体修改步骤:

  1. 开启文本显示:在你获取的metrics对象里,设置DisplayText = true,这是让文本显示的核心开关。
  2. 优化文本样式(可选):你还可以自定义文本的字体、大小、和条码的间距,让显示效果更美观。

完整的修改后代码示例:

[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

火山引擎 最新活动