0

我的 AngularJS 应用程序中有一个新要求。当一个新客户(在我的情况下是病人)第一次来医疗中心时,我必须有可能扫描他/她的身份证,这样可以加快入院过程,因为每一个数据包含在身份证中的可以自动读入其对应的表格字段。如何从计算机(而不是移动设备)执行此操作?

这个想法是有这种可能性的,所以表单会自动完成到我的 Angular JS 表单中。我想每个读取字段都应该加载到一个 JSON 结构中(整个表单的一个 JSON 结构)。如果所有数据都正确,它会像往常一样发送到我的 Node JS 后端。

有可能以任何方式做到这一点吗?非常感谢。

4

2 回答 2

0

假设您使用的是 USB 扫描仪,您可以尝试以下操作:

 var chars = []
 $document.on('keydown', function (e) {
        if (e.which === 13) {          
            //broadcast event 
            var scannerValue = chars.join("");            
            console.log('broadcast cpScannerEvent: ' + scannerValue );
            $rootScope.$broadcast('cpScannerEvent', { scanner: scannerValue });
            //clean buffer 
            chars = [];
        } else {
            chars.push(String.fromCharCode(e.which));
        }

    });
于 2016-10-06T08:18:09.340 回答
0

根据您的评论,我假设您将扫描仪连接到 Windows 台式计算机。通常,这些类型的扫描仪有一个 TWAIN 驱动程序来从计算机控制扫描仪。TWAIN 是基于消息的系统,需要 Windows 句柄。话虽如此,没有直接的方法可以从浏览器应用程序中访问 TWAIN 设备。但是,您可以创建一个服务代理来解决这个问题。

有一份白皮书描述了如何使用 LEADTOOLS,一个 3rd 方 SDK 开发这种类型的代理: LEADTOOLS HTML5 扫描白皮书

LEADTOOLS 可以帮助您从任何驾驶执照或身份证中查找和提取文本、数字和日期信息,包括以下字段:

  • 姓名
  • 身份证号
  • 地址
  • 性别
  • 种族
  • 器官捐献者选举
  • 签名
  • 出生日期
  • 发行日期
  • 截止日期

我可能会在桌面上的扫描代理中处理和提取,因为您已经拥有图像,并且您可能希望将提取的数据作为 JSON 返回。有关更多信息,请查看LEADTOOLS 驾照识别和处理 SDK页面。

如果你想试试这些东西,你可以免费。技术支持也是免费的,可以帮助指导您完成项目的这一部分。

免责声明:我为 LEAD Technologies 工作。

于 2016-11-10T16:07:26.497 回答