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

时间:2012-08-02 13:23:26

标签: c# iphone asp.net barcode code39

我正在将Code 39条形码扫描功能添加到C#asp.net网络应用程序中。此功能必须与iPhone,iPad,Android手机和Android平板电脑一起使用。我需要将扫描的条形码值传回我的网络应用程序。

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

我还探讨了使用pic2shop的web solution 的可能性,但这仅适用于UPC和其他商业代码,条形码必须是基于我的客户要求的Code 39。

我在全国各地都有客户,所以我不能在每个人的网站上,所以我需要在我的代码中使用所有的复杂性而不是最终用户。我意识到IOS解决方案可能与机器人不一样,但我需要让它感觉尽可能接近最终用户,因为我的一些客户将使用多个设备,我需要尽量减少混淆。

我意识到我的订单很多,但有很多限制,但任何想法都会受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

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

  1. 这不是免费的。我支付应用程序没有问题,我认为开发人员应该得到每一分钱。在我看来,虽然这给我的客户带来了不便。当考虑到新功能的好处时,小成本是无关紧要的,但很难将产品销售给客户,然后告诉他们使其工作,您将需要购买其他产品。

  2. CNS不会将结果返回到调用窗口/选项卡,它会打开一个新选项卡。在我的情况下,这是一个问题,因为条形码扫描仪用于扫描id徽章以计入或退出员工,可能会完成50次,意味着打开了50个标签。

  3. 我能够通过在新选项卡上创建local key-value storage 实例以及旧选项卡上的键值更改侦听器来创建第二个解决方案:

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

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

    由于1号关注只是一个不便之处,2号问题是可以解决的,我会将其标记为已解决。

答案 1 :(得分:0)