1 Common
1.1 GetDataSources
GetDataSources(callback, paramObj)
获取当前环境连接的扫描仪产品的名字(可获得多个)
参数:
| 参数 | 是否必须 | 类型 | 长度 | 描述 |
|---|---|---|---|---|
| callback | 是 | Function | http请求完成以后调用的函数 | |
| paramObj | 否 | Any | 调用时传给callback的附加参数 |
callback示例:
function (json, paramObj) {// json为http返回值, Object类型// paramObj为调用时传入的参数}
函数返回值:
HTTP返回值:
一串json string,格式如下:
{Command:”GetSources”,ErrorType:”1” -------1代表JsonCommandError,2代表TwainScanError,3代表HttpErrorErrorCode:”0”ErrorDescription:”Success”Sources:[“Scanner_1”, “Scanner_2”, “Scanner_3”] -------扫描仪名称列表}
可能会得到的错误:
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示例:
function (json, paramObj) {// json为http返回值, Object类型// paramObj为调用时传入的参数}
函数返回值:
HTTP返回值:
一串json string,格式如下:
{"SupportedColor": ["BlackWhite","Gray","RGB"], -------string数组,表示该扫面仪支持的color选项"SupportedResolution": ["75","100","150","200","300","600","1200"], -------string数组,表示该扫描仪支持的resolution选项"SupportedFormat": ["bmp","jpg","png","tif"], -------string数组,表示该扫描仪支持的format选项"IsSupportDuplex": true, -------bool,表示该扫描仪是否支持设置duplex"IsSupportDiscardBlank": true, -------bool,表示该扫描仪是否支持设置DiscardBlank"ErrorCode": 0,"ErrorType": 1, -------1代表JsonCommandError,2代表TwainScanError,3代表HttpError"ErrorDescription": "Success","Command": "ProductInfo"}
可能会得到的错误:
JsonCommandError:0,1,2,3,4
HttpError: 1,2
1.3 GetProductVersion
GetProductVersion()
获取当前安装在本地的产品的版本
参数:
函数返回值:
HTTP返回值:
一串json string,格式如下:
{Command:” GetProductVersion”,ErrorType:”2” -------1代表JsonCommandError,2代表TwainScanError,3代表HttpErrorErrorCode:”0”ErrorDescription:”Success”Major:”1” -------------major versionMinor:”0” -------------minor version}
可能会得到的错误:
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示例:
function (json, paramObj) {// json为http返回值,Object类型// paramObj为调用时传入的参数}
函数返回值:
HTTP返回值:
一串json string,格式如下:
{Command:” Acquire”,ErrorType:”2” -------1代表JsonCommandError,2代表TwainScanError,3代表HttpErrorErrorCode:”0”ErrorDescription:”Success”Paths:[“C:\\Windows\\Temp\\1.bmp”, “C:\\Windows\\Temp\\2.bmp”] ---返回扫描生成文件的全路径列表}
可能会得到的错误:
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示例:
function (json, paramObj) {// json为http返回值, Object类型// paramObj为调用时传入的参数}
函数返回值:
HTTP返回值:
一串json string,格式如下:
{Command:” GetFile”,ErrorType:”2” -------1代表JsonCommandError,2代表TwainScanError,3代表HttpErrorErrorCode:”0”ErrorDescription:”Success”Base64String:” aGVsbG8gd29ybGQ=” ------------Base64 string,代表一个文件}
可能会得到的错误:
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 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 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
}
可能会得到的错误:
- Data中的错误:
JsonCommandError:0,1,2,3,4
TwainScanError: 0,1,2,3,4,5,6,7,9,10
HttpError: 1,2
- 本接口的错误
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 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 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 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 |
