1

我正在向 C# asp.net Web 应用程序添加 Code 39 条码扫描功能。此功能必须适用于 iphone、ipad、android 手机和 android 平板电脑。我需要将扫描的条形码值传递回我的网络应用程序。

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

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

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

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

4

2 回答 2

0

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

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

  2. CNS 不会将结果返回到调用窗口/选项卡,它会打开一个新选项卡。就我而言,这是一个问题,因为条形码扫描仪被用来扫描身份证以打卡或打卡员工,并且可能会完成 50 次,这意味着打开了 50 个标签。

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

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

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

由于第 1 个问题只是一种不便,第 2 个问题是可以解决的,我将其标记为已解决。

于 2012-10-10T15:09:42.183 回答
0

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

于 2015-01-30T17:50:59.073 回答