从Web链接启动IOS条形码扫描仪



我正在将Code39条形码扫描功能添加到C#asp.net web应用程序中。此功能必须适用于iphone、ipad、安卓手机和安卓平板电脑。我需要将扫描的条形码值传回我的网络应用程序。

到目前为止,我已经能够用这种方法在安卓手机和安卓平板电脑上使用ZXing条形码扫描仪进行这项工作。不幸的是,应用商店中当前版本的ZXing(1.1版)目前无法扫描1D条形码类型。通过我的大部分研究,我已经看到1D条形码扫描已经移植到后来的IOS ZXing版本,但我不是IOS开发人员,不确定如何安装或启用它

我还探索了使用pic2shop的网络解决方案的可能性,但这只适用于UPC和其他商业代码,并且根据我的客户要求,条形码必须是code 39。

我在全国各地都有客户,所以我不能亲自在现场为每一个客户服务,所以我需要所有的复杂性都集中在我的代码中,而不是最终用户身上。我意识到IOS解决方案可能与droid不同,但我需要它让最终用户感觉尽可能接近,因为我的一些客户将使用多个设备,我需要尽量减少混乱。

我意识到我有一个很高的要求,有很多限制,但任何想法都将不胜感激。

我最终为IOS设备使用了CNS条形码。CNS是一个很好的解决方案,它可以满足我的所有需求,但它不是一个理想的解决方案有两个原因:

  1. 它不是免费的。我对支付应用程序的费用没有问题,我认为开发者应该得到每一分钱。但就我而言,这给我的客户带来了不便。考虑到新功能的好处,小成本是无关紧要的,但很难将产品卖给客户,然后告诉他们要让它发挥作用,你需要购买其他产品。

  2. CNS不会将结果返回到调用窗口/选项卡,而是打开一个新的选项卡。在我的情况下,这是一个问题,因为条形码扫描仪用于扫描身份证以打卡或下班员工,可能会扫描50次,即打开50个选项卡。

我能够通过在新选项卡上创建一个本地键值存储实例以及在旧选项卡上创建键值更改侦听器来创建第二个解决方案:

window.addEventListener("storage", onStorageChanged, false);
function onStorageChanged(e)
{
    if(/*check for appropriate key-value*/)
    {
         window.Close();       
    }
}

注意:可能需要修改此解决方案,以便将本地键值存储实例中的实际条形码结果传递回原始选项卡并使用窗口。Close()关闭新的选项卡,如果原始选项卡不是通过javascript打开的,这种情况可能更常见,因为window。Close()不适用于自然浏览的窗口(不是用javascript打开的)。

由于1号问题只是一个不便,而2号问题是可以解决的,我将把它标记为已解决。

这是我发现的另一个地方。http://codecanyon.net/item/mobile-upc-scanner-with-web-proxy-api/10193177

最新更新