我正在尝试使用https://github.com/simongh/barcodes的netbarcodewriter生成code128条形码.生成的条形码只能通过某些智能手机应用程序进行扫描,而不能通过我们拥有的任何USB扫描仪或加固的Windows Mobile 6扫描仪进行扫描.
例如,所附图像显示了从不同来源进行编码的“ 502337700000000198”,只有1个(ios)智能手机应用程序-Zbarcode可以扫描netbarcodewriter 1生成的条形码,而其他(attscanner)则不能. USB扫描仪或加固的Windows CE终端都无法对其进行扫描.
string huid = "502337700000000198";
short w = 251;
short h = 100;
short x = 28;
Code128 code = new Code128();
var b2mp = code.Generate(huid, new BarcodeSettings { BarHeight = 65, WideWidth = w - 2 * x });
b2mp.Save(string.Format(@"c:\temp\{0}.png", huid), ImageFormat.Png);
当由itextsharp 3或在racoindustries.com/barcodegenerator/1d/code-128.aspx 2之类的网站上生成时,所有扫描仪都可以工作. iTextSharp的条形码太小,无法设置BarcodeSize属性.
有人与这个图书馆合作吗?另外,有人知道这些#MARKER灰色矩形有什么作用吗?
任何帮助将不胜感激.
解决方法:
这是一种错误.创建新的Code128类时,它将设置其默认设置.对于代码128,这意味着将模块填充(编码数字之间的间隔)设置为0.
在上面的代码中,您传入了一个新的设置对象.这会将填充重新设置为默认值2,从而增加了间距.
您还要设置WideWidth.这在Code128中不使用-它仅使用NarrowWidth这是条形图的宽度.默认为2.