我想要的是使用bwip-js API并传入FNC1来生成GS1数据矩阵。
我通过邮递员尝试了他们网站(Online Barcode API documentation)中提供的示例,该示例返回了正确的值(即扫描结果中没有FNC1字符)。
他们的示例请求(正确解析FNC1)
http://bwipjs-api.metafloor.com/?bcid=code128&text=%5EFNC1011234567890&parsefnc&alttext=%2801%291234567890
但是,当我将示例用于具有FNC1值的GS1数据矩阵时,会在扫描结果中获得FNC1。因此,它无法正确解析FNC1值。
我的请求(无法正确解析FNC1):
http://bwipjs-api.metafloor.com/?bcid=gs1datamatrix&text=%5EFNC1(01)03453120000011(17)120508(10)ABCD1234(410)9501101020917&parsefnc&alttext=%2801%291234567890
我已经阅读了所有有关其生成器和FNC1字符的文档和文章,但没有提供任何线索。
我在这里做错什么了吗?
更新:
BWIP-JS的输入:
(01)99312650999998(91)111JD507496002000960300(420)2164(8008)181102113732
生成的图像:
答案 0 :(得分:2)
bwip-js中的代码是PostScript,我不是该语言的专家。但是,请尝试从您的请求中删除“ FNC1”,看看是否可行。
我认为它正在尝试在看到AI时将FNC1自动添加到任何GS1 Datamatrix(请参阅第23903行的开始部分),而对于Data Matrix,则必须明确请求它。
答案 1 :(得分:0)
FNC1字符对于控制台是不可见的,因此很难看到它,但是我设法使用以下命令将其从原始字符串中解析出来:
var decoded = decodedString.split(decodeURI("%1D"));
如果您在括号中得到FNC代码,则可以使用REGEX删除它们。