4

我正在为我的 iOS 条码扫描应用程序使用 Zbar,但问题是它没有检测到 pdf-417 类型的条码。我已经为 iPhone 安装了 ZBAR 应用程序,它也无法检测到 pdf417。但是在 zbar 符号结构中添加了 pdf 417。我还尝试通过这行代码显式启用 pdf-417,但没有运气。

     [scanner setSymbology: ZBAR_PDF417 config: ZBAR_CFG_ENABLE to: 1];

有什么帮助吗?

4

2 回答 2

4

Zbar 扫描仪仅支持某些特定的条码类型。

它支持条形码格式,例如我们的 AN-13/UPC-A、UPC-E、EAN-8、Code 128、Code 39、Interleaved 2 of 5 和 QR Code。

参考本站:http: //zbar.sourceforge.net/

对于PDF-417 条码,似乎有一些单独的 SDK 可用。它将支持诸如Pdf417、QrCode、LicenseInfo、Code128、Code39、EAN13、EAN8、ITF、UPC 和 UPCE 等条码。

https://github.com/PDF417/pdf417-ios

使用配置类型自定义这个:

[scanner setSymbology: ZBAR_PDF417 config: ZBAR_CFG_ENABLE to: 1];

只需尝试所有配置类型并检查。

typedef enum zbar_config_e {
    ZBAR_CFG_ENABLE = 0,        /**< enable symbology/feature */
    ZBAR_CFG_ADD_CHECK,         /**< enable check digit when optional */
    ZBAR_CFG_EMIT_CHECK,        /**< return check digit when present */
    ZBAR_CFG_ASCII,             /**< enable full ASCII character set */
    ZBAR_CFG_NUM,               /**< number of boolean decoder configs */

    ZBAR_CFG_MIN_LEN = 0x20,    /**< minimum data length for valid decode */
    ZBAR_CFG_MAX_LEN,           /**< maximum data length for valid decode */

    ZBAR_CFG_UNCERTAINTY = 0x40,/**< required video consistency frames */

    ZBAR_CFG_POSITION = 0x80,   /**< enable scanner to collect position data */

    ZBAR_CFG_X_DENSITY = 0x100, /**< image scanner vertical scan density */
    ZBAR_CFG_Y_DENSITY,         /**< image scanner horizontal scan density */
} zbar_config_t;
于 2013-11-28T05:29:07.713 回答
2

如果你使用的是 iOS7 或以上版本,则不必依赖 ZBar 之类的第三方库。AVFoundation内置支持使用设备摄像头检测一维和二维条码,包括 PDF417 和二维码。AVMetadataMachineReadableCodeObject可以解决问题。

您可以在此处此处找到工作示例。

于 2015-05-14T17:24:34.410 回答