我已经运送了一段时间的应用程序,使用AVFoundation Framwork读取驱动程序的许可证上的PDF417条形码以捕获数据。与许多不同的州司机的执照很好地合作。但是,我一直无法从马里兰州读取任何许可证。我的应用程序还可以使用霍尼韦尔的可选附件或使用激光扫描仪读取条形码的无限外设。这些附件能够轻松阅读相同的马里兰条形码。AVMetadataObjectTypePDF417Code无法读取马里兰州驾驶执照
发生的事情是回调到:
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
但在美国马里兰州执照扫描条形码时不会发生回调。它适用于我迄今尝试的任何其他州牌照。我还没有任何其他州颁发的许可证的问题,但我还没有尝试过。
有其他人看过这个问题吗?
更新:这不是一个关于如何使用AVFoundation框架来读取条形码的问题。我在应用商店中有多种产品,包括PDF417代码。而有关条形码绝对是PDF417条形码,因为美国要求所有50个州和波多黎各在其许可证上放置PDF417条形码。
最终状态: 我能够扫描MD许可证。事实证明,它们包含的数据比我一直在使用的其他许可证格式要多得多。因此,使用相机扫描它们需要更好的照明和比其他密度较低的条码更稳定的手。它可以完成并且工作。我决定留下这个问题,以便任何有此问题的人都可以看到下面发布的解决方案,并且可以理解这是可能的。
MD dl/id的有效样本在哪里? – 2015-03-16 00:19:42
@BradBrighton我从某人的实际许可中获得条形码。我无法分享,原因很明显。我想我只是问是否有其他人看过这个问题,以及他们是否以及如何能够克服它。我的产品能够识别许多不同州许可证上的条形码,但OP中提到的API并不能识别我尝试过的马里兰州许可证上的条形码。 – 2015-03-16 03:43:39
当然,你不能分享真正的许可证。但是,如果有正式的样本,您可以确定是否是许可证或州标准给您带来问题。我也有多种状态的代码,但是MD还不是我所知道的,并且相关的标准对于兼容性非常明确。 – 2015-03-16 03:46:06