Dynamic Web TWAIN SDK是一款帮助实现网页文档扫描的SDK,使用它可以轻易地通过几行HTML/JavaScript代码来实现一个可以直接连接扫描仪扫描的网页。
但是在实际开发和应用过程中,有很多程序员或者终端用户会迷惑于Dynamic Web TWAIN SDK、Dynamsoft Service、扫描仪TWAIN驱动之间的区别。本文将简述其用途及区别(从版本13开始)。
Dynamic Web TWAIN SDK
是这款SDK的名称。同时,程序员可以在原厂商Dynamsoft官网或者杭州大名软件官网下载30天免费试用版。【下载链接1;下载链接2】
下载到本地的是一个EXE文件(以最新试用版本为例):DynamicWebTWAIN15.0Trial.exe
双击安装后,将在本地C:\Program Files (x86)\Dynamsoft路径下生成一个Dynamic Web TWAIN SDK 15.0 Trial文件夹。
内含开发所需的文档Documents,资源文件夹Resources,一些简单示例Samples以及一个集成了Samples和Documents的HTML文件。
由此可以看出DynamicWebTWAIN15.0Trial.exe 是为程序员准备的SDK开发包(安装在Windows操作系统的开发机上)。在本地安装之后,可以得到集成该SDK的所需的资源文件。
Dynamsoft Service
很多程序员使用Dynamic Web TWAIN SDK开发集成过程中,特别是集成之后即将在客户端进行测试时通常会有一个疑问:要在客户端使用Dynamic Web TWAIN,是否需要在客户端安装什么东西?
答案是肯定的。但是安装什么呢?是DynamicWebTWAIN15.0Trial.exe吗?
通过我们刚刚对DynamicWebTWAIN15.0Trial.exe的介绍,这个EXE仅需要在开发机安装,用于程序员对产品的开发集成。
其实在客户端,我们需要安装的是Dynamsoft Service,它用于浏览器和扫描仪驱动之间的通信,是客户端必不可少的且为一次性安装的,即,使用同样的版本只需要在客户端计算机上安装一次即可永久使用。那么在哪可以找到它的安装包呢?
通常,当程序员部署好网页扫描的项目,即将整个项目包含整个Resources文件夹部署到服务器上,通过一个从未访问过其他任何集成了Dynamic Web TWAIN网页的客户端访问部署的扫描网页,网页会自动弹出一个窗口。
点击Download按钮,即可下载到Dynamsoft Service的安装包:
DynamsoftServiceSetupTrial.msi - 客户端Windows系统;
DynamsoftServiceSetupTrial.pkg - 客户端macOS系统;
DynamsoftServiceSetupTrial.deb/DynamsoftServiceSetupTrial.rpm - 客户端Linux系统。
双击安装后,刷新浏览器页面,即可正常访问扫描页面。
程序员们在此刻肯定又有疑惑,这些安装包从何下载而来?事实上,当打开Resources的文件夹后,可以看到,这几个文件位于\Resources\dist下。即当您部署了整个项目(包含Resources),这些文件将会从部署至服务器项目中的\Resources\dist路径中下载。
同样的,如果程序员不希望在访问时弹出下载的窗口,那么就可以直接从\Resources\dist中拿到相应客户端系统的安装包,提前为客户端安装。安装之后再访问扫描页面就不会再有弹窗出现。
值得一提的是,当程序员在开发机上安装了DynamicWebTWAIN15.0Trial.exe开发包之后,Dynamsoft Service也会随之一起安装在开发机上,不需要另外安装。所以当使用安装好开发包的开发机去访问扫描页面时,并不会再出现提醒下载Dynamsoft Service的弹窗。
扫描仪TWAIN驱动
当在客户端安装好Dynamsoft Service之后,通常就可以在网页中调用扫描仪进行扫描了。但是有时也会发现扫描页面还是无法调用到扫描仪,在扫描仪列表中没有扫描仪出现(有时只出现扫描仪WIA的驱动,请参考>>WIA和TWAIN驱动的区别)。最大的可能性是因为扫描仪的TWAIN驱动没有在客户端本地安装。
扫描仪的TWAIN驱动,既不是Dynamic Web TWAIN SDK也不是Dynamsoft Service,这个驱动是由扫描仪厂家提供的。一般来说,支持TWAIN驱动的扫描仪附带的驱动安装光盘上会有TWAIN驱动的安装包,或者可以去扫描仪官网搜索该扫描仪型号,看看是否可以下载到相应的TWAIN驱动。(富士通ScanSnap系列不支持TWAIN驱动。)
另外,值得注意的是,
TWAIN协议在Windows上运行良好,但在macOS上运行效果不佳。 因此,Dynamsoft的SDK在macOS上也支持用Image Capture Architecture(简称为ICA)。
在Linux上,TWAIN不可用,因此使用了SANE。如官方介绍页面所述,SANE 代表“Scanner Access Now Easy”,是一个提供了标准化访问任何光栅图像扫描仪硬件(平板扫描仪,手持扫描仪,视频和静止摄像机,抓帧器等)的应用程序编程接口(API)。
总体来说,
最后,希望本文能为使用Dynamic Web TWAIN的程序员以及终端用户解惑,如果仍有疑问,欢迎留言讨论。