JsScanner-API-睿真扫描仪SDK对接文档

1 Common

1.1 GetDataSources

GetDataSources(callback, paramObj)
获取当前环境连接的扫描仪产品的名字(可获得多个)

参数:

参数 是否必须 类型 长度 描述
callback Function http请求完成以后调用的函数
paramObj Any 调用时传给callback的附加参数

callback示例:

  1. function (json, paramObj) {
  2. // json为http返回值, Object类型
  3. // paramObj为调用时传入的参数
  4. }

函数返回值:

undefined

HTTP返回值:

一串json string,格式如下:

  1. {
  2. Command:”GetSources”,
  3. ErrorType:”1 -------1代表JsonCommandError2代表TwainScanError3代表HttpError
  4. ErrorCode:”0
  5. ErrorDescription:”Success
  6. Sources:[“Scanner_1”, Scanner_2”, Scanner_3”] -------扫描仪名称列表
  7. }

可能会得到的错误:

JsonCommandError:0,3,4
TwainScanError: 0,1,8
HttpError: 1,2

1.2 GetProductInfo

GetProductInfo(productName, callback, paramObj)
获取指定扫描仪设备可配置参数的信息

参数:

参数 是否必须 类型 长度 描述
productName String 扫描仪名称,由GetSource接口获取
callback Function http请求完成以后调用的函数
paramObj Any 调用时传给callback的附加参数

callback示例:

  1. function (json, paramObj) {
  2. // json为http返回值, Object类型
  3. // paramObj为调用时传入的参数
  4. }

函数返回值:

undefined

HTTP返回值:

一串json string,格式如下:

  1. {
  2. "SupportedColor": [
  3. "BlackWhite",
  4. "Gray",
  5. "RGB"
  6. ], -------string数组,表示该扫面仪支持的color选项
  7. "SupportedResolution": [
  8. "75",
  9. "100",
  10. "150",
  11. "200",
  12. "300",
  13. "600",
  14. "1200"
  15. ], -------string数组,表示该扫描仪支持的resolution选项
  16. "SupportedFormat": [
  17. "bmp",
  18. "jpg",
  19. "png",
  20. "tif"
  21. ], -------string数组,表示该扫描仪支持的format选项
  22. "IsSupportDuplex": true, -------bool,表示该扫描仪是否支持设置duplex
  23. "IsSupportDiscardBlank": true, -------bool,表示该扫描仪是否支持设置DiscardBlank
  24. "ErrorCode": 0,
  25. "ErrorType": 1, -------1代表JsonCommandError2代表TwainScanError3代表HttpError
  26. "ErrorDescription": "Success",
  27. "Command": "ProductInfo"
  28. }

可能会得到的错误:

JsonCommandError:0,1,2,3,4
HttpError: 1,2

1.3 GetProductVersion

GetProductVersion()
获取当前安装在本地的产品的版本

参数:

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

  1. {
  2. Command:” GetProductVersion”,
  3. ErrorType:”2 -------1代表JsonCommandError2代表TwainScanError3代表HttpError
  4. ErrorCode:”0
  5. ErrorDescription:”Success
  6. Major:”1 -------------major version
  7. Minor:”0 -------------minor version
  8. }

可能会得到的错误:

JsonCommandError:0,3,4
HttpError: 1,2

2 Sync

2.1 AcquireSync

AcquireSync (productName, duplex, color, resolution, format, blank, callback, paramObj)
根据提供的参数进行同步扫描

参数:

参数 是否必须 类型 长度 描述
productName String 选择使用的扫描仪设备的名称
duplex String/Bool 单双页,1/true为双页,0/false为单页
color String 黑白,灰度或彩色, 2为彩色,1为灰度,0为黑白
resolution String 分辨率,根据设备获取
format String 设置扫描结果保存成文件的格式,目前本地service接受的格式有五种:bmp, jpg, tiff, png, pdf
blank String 是否过滤空白页,1为过滤,0为不过滤
callback String http请求完成以后调用的函数
paramObj String 调用时传给callback的附加参数

callback示例:

  1. function (json, paramObj) {
  2. // json为http返回值,Object类型
  3. // paramObj为调用时传入的参数
  4. }

函数返回值:

undefined

HTTP返回值:

一串json string,格式如下:

  1. {
  2. Command:” Acquire”,
  3. ErrorType:”2 -------1代表JsonCommandError2代表TwainScanError3代表HttpError
  4. ErrorCode:”0
  5. ErrorDescription:”Success
  6. Paths:[“C:\\Windows\\Temp\\1.bmp”, C:\\Windows\\Temp\\2.bmp”] ---返回扫描生成文件的全路径列表
  7. }

可能会得到的错误:

JsonCommandError:0,1,2,3,4
TwainScanError: 0,1,2,3,4,5,6,7,9,10
HttpError: 1,2

2.2 GetFileSync

GetFileSync(filepath, callback, paramObj)
根据文件的全路径将本地的文件作为一串base64的string返回给js(会在成功调用后将本地文件删除. 此方法需要配合AcquireSync(同步获取)方法使用

参数:

参数 是否必须 类型 长度 描述
filepath String 本地文件全路径
callback Function http请求完成以后调用的函数
paramObj Any 调用时传给callback的附加参数

callback示例:

  1. function (json, paramObj) {
  2. // json为http返回值, Object类型
  3. // paramObj为调用时传入的参数
  4. }

函数返回值:

undefined

HTTP返回值:

一串json string,格式如下:

  1. {
  2. Command:” GetFile”,
  3. ErrorType:”2 -------1代表JsonCommandError2代表TwainScanError3代表HttpError
  4. ErrorCode:”0
  5. ErrorDescription:”Success
  6. Base64String:” aGVsbG8gd29ybGQ=” ------------Base64 string,代表一个文件
  7. }

可能会得到的错误:

JsonCommandError:0,1,2,3,4
HttpError: 1,2

3 Async

3.1 AcquireAsync

AcquireAsync (productName, duplex, color, resolution, format, blank)
根据提供的参数进行异步扫描

参数:

参数 是否必须 类型 长度 描述
productName String 选择使用的扫描仪设备的名称
duplex String/Bool 单双页,1/true为双页,0/false为单页
color String 黑白,灰度或彩色, 2为彩色,1为灰度,0为黑白
resolution String 分辨率,根据设备获取
format String 设置扫描结果保存成文件的格式,目前本地service接受的格式有五种:bmp, jpg, tiff, png, pdf
blank Bool 是否过滤空白页,1为过滤,0为不过滤

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

{
  Command:” AcquireAsync”,
  ErrorType:”2”    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
  ErrorCode:”0”
  ErrorDescription:”Success”
  Guid: "C6306307-D7CA-40B5-8857-40D78F200AF0"  ----此次Acquire的GUID
}

可能会得到的错误:

JsonCommandError:0,1,2,3,4
HttpError: 1,2

3.2 QueryResult

QueryResult(guid)
根据Acquire的GUID返回当前已经扫描出的结果,此方法需要配合AcquireAsync(异步获取)方法使用

参数:

参数 是否必须 类型 长度 描述
guid String 某次AcquireAsync生成的guid

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

{
  Command:"QueryResult",
  Status:”Finished”,   ------异步采集状态  Start, Acquiring, Finished
  Format:”png”,    ------图片输出格式
  Files:[ “C:\\Windows\\Temp\\1.bmp”, “C:\\Windows\\Temp\\2.bmp”],------- 返回当前扫描生成文件的路径列表, Status = Acquiring时可获取
  Data: {
    Command:” Acquire”,
    ErrorType:”2”    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
    ErrorCode:”0”
    ErrorDescription:”Success”
    Paths:[“C:\\Windows\\Temp\\1.bmp”, “C:\\Windows\\Temp\\2.bmp”]  ----返回扫描生成文件的全路径列表,只有Status = Finished时才返回
  }, -------该对象表示Acquire的状态,各参数含义可参考AcquireSync的说明
  ErrorCode: 0,
  ErrorDescription: “Success”,
  ErrorType: 1    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
}

可能会得到的错误:

  1. Data中的错误:

JsonCommandError:0,1,2,3,4
TwainScanError: 0,1,2,3,4,5,6,7,9,10
HttpError: 1,2

  1. 本接口的错误

JsonCommandError:0,1,2,3,4
HttpError: 1,2

3.3 GetFileAsyncByPath

GetFileAsyncByPath (guid, filePath)
根据Aquire的GUID以及filePath将本地的文件作为一串base64的string返回给js. 此方法需要配合AcquireAsync(异步获取)方法使用

参数:

参数 是否必须 类型 长度 描述
guid String 某次AcquireAsync生成的guid
filePath String 本地文件的绝对路径,由QueryResult返回

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

{
  Command:” GetFileAsyncByPath”,
  ErrorType:”2”    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
  ErrorCode:”0”
  ErrorDescription:”Success”
  Base64String:” aGVsbG8gd29ybGQ=”  ------Base64 string,代表一个文件
}

可能会得到的错误:

JsonCommandError:0,1,2,3,4
HttpError: 1,2

3.4 GetFileAsyncByIndex

GetFileAsyncByIndex (guid, index)
根据Aquire的GUID以及index将本地的文件作为一串base64的string返回给js. 此方法需要配合AcquireAsync(异步获取)方法使用

参数:

参数 是否必须 类型 长度 描述
guid String 某次AcquireAsync生成的guid
index String 本次Acquire的第index个文件

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

{
  Command: ”GetFileAsyncByIndex”,
  ErrorType:”2”    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
  ErrorCode:”0”
  ErrorDescription:”Success”
  Base64String:” aGVsbG8gd29ybGQ=”   ------------Base64 string,代表一个文件
}

可能会得到的错误:

JsonCommandError:0,1,2,3,4
HttpError: 1,2

3.5 DeleteAcquireFiles

DeleteAcquireFiles(guid)
删除AquireAsync产生的临时文件, 因为通过异步方式获取会产生很多的临时文件, 所以建议异步获取完成以后调用此方法去删除临时文件. 此方法需要配合AcquireAsync(异步获取)方法使用

参数:

参数 是否必须 类型 长度 描述
guid String 某次AcquireAsync生成的guid

函数返回值:

http返回的json对象,Object类型

HTTP返回值:

一串json string,格式如下:

{
  Command:” DeleteAcquireFiles”,
  ErrorType:”2”    -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError
  ErrorCode:”0”
  ErrorDescription:”Success”
}

可能会得到的错误:

JsonCommandError:0,1
HttpError: 1,2

4 错误代码说明

参数 返回值 描述 说明
JsonCommandError 0 Success 成功
1 ParameterLess 参数缺失
2 ParameterError 参数错误
3 JsonParseError Json解析失败
4 UnknownCommand 未知的命令
参数 返回值 描述 说明
TwainScanError 0 Success 成功
1 DSMOpenError DSM无法打开
2 SetDuplexError 设置双面扫描错误
3 SetColorError 设置像素类型错误
4 SetResolutionError 设置分辨率错误
5 SetFileFormatError 设置文件格式错误
6 DataSourceUnavailable 扫描仪驱动异常
7 DataSourceOpenError 扫描仪无法连接或未打开
8 NoDataSource 当前环境没有扫描仪驱动
9 NoOriginal 扫描时缺纸
10 ScanShutDown 扫描进程异常退出
11 OtherError 其它错误,会返回Twain提供的Condition code
12 ConnectPipeError 进程管道创建错误
13 PaperJam 卡纸错误
14 CheckDeviceOnline 扫描过程中扫描仪未连接或断电
15 Bummer 扫描仪发生严重错误
16 HelperMissing JsScannerHelper.exe缺失,遇到这种情况请提示用户重新安装并添加360白名单
参数 返回值 描述 说明
HttpError 1 UnknownHttpError http连接失败
2 HttpStandardError http成功返回但状态码非2XX