5       图像采集(扫描仪扫描、照像机拍照控制)

在证照系统中,经常需要对身份证、照片、单证进行扫描,或者拍照,再上传服务器,便于日后查证。

 

在基于B/S实现的证照系统中,由于无法用jsjavascript)来控制扫描仪,打印/扫描一体机,照相机,使得用户在预览、扫描、查看、上传等工作时,往往需要在扫描软件、浏览器中来往切换,频繁操作,非常不便。针对这个问题,JCP 开发了图像采集功能,使得你可以用js来控制扫描仪和照相机,方便用户一键采集图像,一键上传等。

 

5.1   取可用图像采集设备

取可用图像采集设备

系统可以安装多个图像采集设备,所以,采集前需要知道,有哪些图像采集设备(或称为采集源),然后,再选择用哪一台设置进行采集,下面获取图像采集源:

1.  getJCP().getCaptureSources(function(sources) {  

2.              for (var i = 0; i < sources.size(); i++) {  

3.                  console.log(sources[i]);  

4.              }  

5.          })  

 

getCaptureSources 方法,可以获取图像采集源,回调返回的是一个数组,表示系统中已经安装的图像设备列表。

 

5.2   采集图像

采集图像

1.  var source = "HP LaserJet M1005 MFP";// HP 扫描打印一体机  

2.  getJCP().capture(source, function(result) {  

3.              if (result) {  

4.                  // window.open(result); // 弹出一个窗口显示图片  

5.                  myImg.src = result; // myImg 是一个 <img> 对像  

6.              }  

7.          })  

 

capture 方法,可以采集到某个图像采集设备中的图片,回调方法的唯一参数result,表示你采集到的图像。

 

result是一个 URL 字符串,其值的典型形式如下:

http://127.0.0.1:31227/api?type=temp&content=image/gif&id=41d5a71e90fe3fa82f914e90b491a96e

 

所以你可以将该值设置到一个 <img> src 属性中,也可以用 window.open 方法打开。

 

以下是采集扫描图像的典型界面:

 

提示:

JCP在采集到图像后,把它保存到系统临时目录中,又通过 JCP 本地HTTP服务来访问该文件。