什么会导致netbarcodewriter库生成的Code128条形码不扫描?

时间:2013-11-18 10:07:24

标签: c# barcode code128

我正在尝试使用https://github.com/simongh/barcodes中的netbarcodewriter来生成code128条形码。生成的条形码只能由某些智能手机应用程序扫描,但不能从我们拥有的任何USB扫描仪或加固型Windows Mobile扫描仪扫描。

例如,附加图像显示“502337700000000198”编码自不同来源,只有1(ios)智能手机应用程序 - Zbarcode可以扫描netbarcodewriter 1生成的条形码,其他(attscanner)则不能。 usb扫描仪或加固的windows windows终端都没有扫描它。

from netbarcodewriter

from raco

from itextsharp

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灰色矩形是做什么的吗?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这是一种错误。当您创建新的Code128类时,它会设置它的默认设置。对于Code 128,这意味着将模块填充(编码数字之间的空格)设置为0。

在您上面的代码中,您传入了一个新的设置对象。这会将填充设置为默认值2,因此需要额外的间距。

您还要设置WideWidth。 Code128中没有使用它 - 它只使用NarrowWidth这些是条形图的宽度。默认为2。