2

我想要的是使用传入 FNC1 的 bwip-js API 生成 GS1 数据矩阵。

我已经通过Postman尝试了他们网站(在线条形码 API 文档)中提供的示例,它返回了正确的值(即扫描结果中没有 FNC1 字符)。

他们的示例请求(正确解析 FNC1)

http://bwipjs-api.metafloor.com/?bcid=code128&text=%5EFNC1011234567890&parsefnc&alttext=%2801%291234567890

但是,当我将我的示例用于 GS1 数据矩阵时,使用 FNC1 值,我在扫描结果中得到了 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

生成的图像:

在此处输入图像描述

4

2 回答 2

2

bwip-js中的代码是 PostScript,我不是那种语言的专家。但是请尝试从您的请求中删除“FNC1”,看看是否有效。

我认为它在看到 AI 时会尝试将 FNC1 自动添加到任何 GS1 Datamatrix(请参阅第 23903 行开始的部分),而对于 Data Matrix,它必须被明确请求。

于 2018-10-24T12:39:03.867 回答
0

FNC1 字符对控制台是不可见的,因此可能很难看到,但我已经设法使用以下方法将其从原始字符串中解析出来:

var decoded = decodedString.split(decodeURI("%1D"));

如果您在括号中获得 FNC 代码,您可以使用正则表达式来删除它们。

于 2020-05-13T15:11:54.277 回答