我需要什么
使用此测试内容生成有效的GS1 DataMatrix:
(240)1234567890(10)AA12345(11)123456(21)1(96)1234567
步骤
我已经从这里下载了nuget包:
和
我已经创建了一个使用此代码的控制台应用:
private static void DoGs1DataMatrixStuff()
{
var writer = new BarcodeWriter
{
Format = BarcodeFormat.DATA_MATRIX
};
writer
.Write("(240)1234567890(10)AA12345(11)123456(21)1(96)1234567")
.Save(@"C:\Temp\barcode.png");
}
我没有明显特定的GS1_DataMatrix格式......
给了我
如果我的智能手机上的扫描仪应用程序读取,则会提供我最初提供的文字内容,而不是我期望的GS1格式的FNC1格式:
(240)1234567890(10)AA12345(11)123456(21)1(96)1234567
虽然它应该
2401234567890 10AA12345 11123456211 961234567
从另一个来源(不是我可以使用的来源)我得到了这个条形码:
使用我的智能手机应用程序,可以读取正确的数据。
问题
如何使用ZXing.Net重新创建这个有效的GS1数据矩阵?
另见
这link,克里斯·巴恩斯提出了同样的担忧,但他的要求没有得到有效的答案。
答案 0 :(得分:1)
您必须使用带有ASCII字符29(GS - 组分隔符)的格式化字符串:
< GS> 2401234567890< GS> 10AA12345< GS> 11123456211< 11123456211 GS> 961234567
(替换"< GS>"用ASCII 29)
ZXing.Net从版本0.15开始支持使用ASCII编码器的GS符号。它在生成的数据矩阵图像中用FNC1代码字(232)替换ASCII 29值。
这只是一个低级别的支持。没有内置类或类似的东西可以理解具有固定或可变长度的AI(应用程序标识符)(类似于vCards,vEvent,ISBN等的结果解析器类)。