学无先后达者为师!
不忘初心,砥砺前行。

.NET 使用 ZXing.Net 生成带有识别符的 EAN-13 条码

根据百度百科,EAN-13 商品条码的标准尺寸是 37.29mm x 26.26 mm ,按照 300 DPI 换算像素大小是 440 x 310 。

如果想在 Windows 平台生成符合上述要求的 EAN-13 条码可以使用组件:ZXing.Net.Bindings.Windows.Compatibility ,其 NuGet 地址为:

https://www.nuget.org/packages/ZXing.Net.Bindings.Windows.Compatibility/

如果按照实例代码,使用 ZXing.Windows.Compatibility.BitmapRenderer 渲染图片,就会发现生成的结果不包含识别符:

未包含识别符的条形码
EAN-13 条码格式介绍

即上图中的 lead , separater 和 trailer 。

如果要生成带识别分隔符的 EAN-13 条码,可以使用另一个渲染器:AlternateBitmapRenderer 。同时,默认的字体设置让条码上的文字看上去很小,所以可以使用稍大一些的字体:

var w = new EAN13Writer();
var render = new AlternateBitmapRenderer();
render.TextFont = new Font("Segoe UI",25);
var ean = "1234567890128";
var data = w.encode(ean);
var m = w.encode(ean, ZXing.BarcodeFormat.EAN_13, 440, 310);
//渲染得到的图片
var bmp = render.Render(m, ZXing.BarcodeFormat.EAN_13, ean, new EncodingOptions {  Width = 440 ,Height = 310});

需要引入以下命名空间:

using System.Drawing;
using ZXing.Common;
using ZXing.OneD;
using ZXing.Rendering;
using ZXing.Windows.Compatibility;

渲染结果如下:

赞(8) 打赏
未经允许不得转载:码农很忙 » .NET 使用 ZXing.Net 生成带有识别符的 EAN-13 条码

评论 3

  1. #2

    我生成了svg格式,问题生成出来的EAN-13 矢量图的起始符,中间分割符,终止符的竖线没有偏长,但是生成的是普通图片格式的,那几条线会偏长。 svg 不能支持那种效果吗?

    hi1个月前 (04-24)
  2. 可以生成 svg 格式。

    Soar、毅1个月前 (04-22)
  3. #1

    这个生成的图不是矢量图,有办法生成矢量图吗?

    hi1个月前 (04-22)

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册