2012-08-02 31 views
1

我将Code 39条码扫描功能添加到C#asp.net网络应用程序。此功能必须适用于iPhone,iPad,Android手机和Android平板电脑。我需要将扫描的条形码值传回我的网络应用程序。从网站链接启动IOS条码扫描器

到目前为止,我已经能够使使用斑马线条形码扫描器Android手机和Android平板电脑在这工作, this方法。不幸的是,App Store中的ZXing版本(版本1.1)目前无法扫描一维条码类型。通过我的大部分研究,我已经看到一维条码扫描已被移植到后来的IOS ZXing版本,但我不是IOS开发人员,并且不确定如何安装或启用它。

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

我有客户遍布全国,所以我不能在物理上网站每个人,所以我需要的所有复杂的是对我在我的代码不是最终用户。我意识到IOS解决方案可能与droid不一样,但我需要它尽可能地接近最终用户,因为我的一些客户将使用多个设备,并且我需要将混淆最小化。

我意识到,我有很多的限制,一个艰巨的任务,但任何想法将不胜感激。

+0

据我所知,从类似问题的工作中,你必须使用像pic2shops的解决方案,从应用程序中的链接打开应用程序。不幸的是,摄像头无法访问Web应用程序。 – Dervall 2012-08-02 14:21:44

+0

这就是我所害怕的。你知道像pic2shop这样的应用程序能够读取代码39吗?谢谢你快速的回复。 – 2012-08-02 14:43:16

回答

0

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

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

  2. CNS不会将结果返回给调用窗口/标签,它会打开一个新的标签。在我的情况下,这是一个问题,因为条形码扫描器正在用于扫描ID徽章以记录或锁定员工,可能会执行50次,即打开50个选项卡。

我能够与旧标签上的一个键 - 值变化监听一起创建新的选项卡上local key-value storage实例来创建两个数的解决方案:

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

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

由于1号值得关注的是只有一个不便和2号值得关注的是可以解决的,我将标志着这是解决。