【问题标题】:ITF barcode zxing scanner issueITF条码zxing扫描仪问题
【发布时间】:2015-09-30 04:32:00
【问题描述】:

我将 zxing 与 App Inventor 2 一起使用。如果我将 6 位数字编码为 ITF 条形码,则 zxing android 扫描仪可以正常工作。但是,如果我从 2 位或 4 位数字创建 ITF 条码,则条码会更短且无法扫描。 对于我的应用程序,我更喜欢条形码尽可能短。 请帮忙 谢谢 大卫

【问题讨论】:

    标签: android barcode zxing


    【解决方案1】:

    ITF 没有必需的校验和,因此允许它扫描非常短的 ITF 代码是有问题的。它很可能将它们视为非条形码图像中的幻读。可接受的最小 ITF 长度为 6 个字符。您可以覆盖它,但如果这样做,您需要使用校验和并在您的代码中验证它。这可能不是一个很好的格式选择。

    【讨论】:

    • 感谢您的回复,我想我将不得不深入研究源代码,这是我没有经验的(我与应用程序发明者一起工作)但我会尝试解决它跨度>
    【解决方案2】:

    正如 Sean 已经回答的那样,ITF 格式没有校验和,因此 ZXing 的作者决定支持最少 6 个字符的条形码,以避免高“误报”率,即在较长的条形码中检测到较短的条形码的情况。

    您可以从ZXing source code 清楚地看到这一点。允许的最小长度为 6。

    作者还建议您在 ITF 条码中添加校验和字符,以便对获得的结果更有信心。

    这是适合您情况的最佳解决方案:在生成条形码的一侧,添加额外的 2 个字符作为校验位,以获得 6 位值。生成校验位的最佳方法是使用MOD-97-10 ISO 7064 standard,它通常用于保护IBAN numbers。 ZXing 的 ITF 扫描仪可以很好地处理 6 个字符的条码,并且您还可以验证获得的校验位,以增加对结果的信心。

    如果这不适用于您的情况,您可以编辑上面链接的 ZXing 源代码,添加扫描长度为 2 和 4 的 ITF 条形码的功能,并将此自定义构建集成到您的应用中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2014-12-11
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多