【发布时间】:2016-08-05 10:54:31
【问题描述】:
我正在处理一个需要读取 GS1 128 等条形码的项目,我想将它们分成应用程序标识符 (AI)。我正在使用一个名为 Bark.js 的库。
它适用于某些条形码,使用 01、02、15、17、10 等 AI;但现在我发现条形码如下:
(02) 98428844551697 (37) 0100 (3103) 022700 (15) 180205 (10) 05165
好的,我们不考虑括号,因为它们只出现在人类可读的部分。
我假设您知道某些 AI 具有可变长度,在这种情况下,(37) 和 (10) 分别具有 2-8 和 2-20 位数字。我对 (10) 没意见,因为它几乎在所有情况下都结束了。但是 (37) 可以出现在中间或末尾。
我已经修补了 Bark.js 库,但我没有得到这种可变长度的控制。
我正在搜索一个星期,我只找到生成条形码或读取图像的库,但他们没有读取条形码并处理它以分离所有 AI。
了解了这一切,还有没有其他的 Javascript/Jquery 或 PHP 库来控制所有这些情况??
PS:对不起我的英语,我很乐意回答任何问题。
【问题讨论】:
-
Bark.js 显然不支持不可打印的 FNCx 代码。我的理解是可变长度的 AI 必须以 FNC1 代码结尾。如果这些代码没有出现在您的输入中,那么您就会陷入困境。 This question(及其接受的答案)可能包含相关信息。
-
您的输入是来自真正的条形码阅读器还是手动输入?最重要的是:是否可以在其中包含不可打印的 FNCx 代码?
-
@Arnauld 我使用集成在平板电脑中的条码阅读器来写入我的输入类型文本。通常条形码不是手动输入的。而且我不知道是否可以包含 FNCx 代码。我应该使用其他方式吗?谢谢
-
平板电脑的文档可能提供了一种输出 FNCx 代码的方法。如果不可能,我能想到的最佳解决方案是列出所有可能的有效解码结果,给定输入字符串和其中可能遇到的 AI 定义列表。如果幸运的话,大多数时候可能只有一种结果。
-
@Arnauld 平板电脑使用“BarcodScanWizard”插件进行阅读,它非常简单,没有文档,无法用它做任何事情。正如你所说,我将继续对 Bark.js 进行修补以获取几个案例。谢谢你的建议:)
标签: javascript php jquery barcode