使用ZXing.Net生成GS1 DataMatrix

我需要的

是使用此测试内容生成有效的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数据矩阵?

也看到了

在这个链接中 ,克里斯·巴恩斯提出了同样的担忧,但他的要求没有得到有效的答案。

您必须使用ASCII字符29(GS – 组分隔符)的格式化字符串:

2401234567890 10AA12345 11123456211 961234567

(用ASCII替换“”29)

自版本0.15起,ZXing.Net支持带ASCII编码器的GS符号。 它在结果数据矩阵图像中用FNC1代码字(232)替换ASCII 29值。

这只是一个低级别的支持。 没有内置类或类似的东西可以理解具有固定或可变长度的AI(应用程序标识符)(类似于vCards,vEvent,ISBN等的结果解析器类)。