3

我正在尝试使用https://github.com/simongh/barcodes中的 netbarcodewriter 生成 code128 条形码。生成的条形码只能由某些智能手机应用程序扫描,而不能由我们拥有的任何 USB 扫描仪或坚固耐用的 windows mobile 6 扫描仪扫描。

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

来自网络条形码编写器

来自拉科

来自 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灰色矩形做什么?

任何帮助将不胜感激。

4

1 回答 1

3

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

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

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

于 2013-11-24T00:10:02.320 回答