如何使用 Dynamic Web TWAIN 构建文档云扫描解决方案
在本文中,我们分享了一个基于 TWAIN Direct 规范和 Dynamic Web TWAIN 的文档云扫描解决方案。
作为 TWAIN 工作组的成员,Dynamsoft 始终紧跟最新的 TWAIN 技术。在过去的几年里,TWAIN 工作组一直在开发一种新的标准协议——TWAIN Direct,旨在加速访问扫描仪的应用程序的开发。有了 TWAIN Direct,开发人员在构建文档扫描应用程序时,无需花费时间在供应商特定的驱动程序上。
在本文中,我们分享了一个基于 TWAIN Direct 规范和 Dynamic Web TWAIN 的文档云扫描解决方案。
跨平台文档扫描 SDK
Dynamic Web TWAIN 是唯一支持 Windows、Linux、macOS 和 Raspberry Pi 的 JavaScript 文档扫描 SDK。Dynamic Web TWAIN (DWT) 的底层技术是 Dynamsoft Service,它促进了扫描仪驱动程序和 JavaScript 之间的通信。基于 Dynamic Web TWAIN 的跨平台特性,我们可以通过结合 JSON 对象格式的 TWAIN Direct 协议来构想一个云扫描解决方案。
从本地到云端
以下是 Dynamsoft 提供的解决方案。
在上面的工作流程中,Dynamsoft Service 由 DWT Cloud Client 隔离。来自 Web 浏览器的任何命令将首先由 TWAIN Cloud Server(Web 服务器)处理,然后通过 MQTT 服务器转发到 DWT Cloud Client。MQTT 是一个消息管理服务器,用于发送和接收 TWAIN-Direct 格式的消息。应用此解决方案后,您可以从任何平台的任何 Web 浏览器访问已注册的扫描仪。
该文档云扫描解决方案适用于企业内部使用。例如,如果您想从智能手机扫描文档,可以打开浏览器并登录您的帐户,列出您办公室中可用的扫描仪,找到离您最近的扫描仪,并使用您的手机进行扫描操作。
文档云扫描解决方案
现在,我们将向您展示如何设置测试环境并使解决方案正常工作。
下载和安装
- Dynamic Web TWAIN(Windows、Linux、macOS 和 Raspberry Pi)
- Eclipse
- ActiveMQ Artemis
- Visual Studio
源代码
获取 源代码
git clone https://github.com/dynamsoft-dwt/document-cloud-scan.git
配置
许可证
从 Dynamsoft 网站获取免费试用许可证。
Visual Studio(Web 服务器)
打开 Server\TwainCloudServer\App_Start\AccountInitializer.cs 来创建一个默认帐户
var resources = new List<DbUser> { new DbUser { name = "dynamsoft", password="1" ,email="support@dynamsoft.com"}, };
将帐户保存在 web.config 文件中定义的数据库文件中
<add name="AccountContext" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\dwt.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
ActiveMQ Artemis for Windows
通过命令行工具创建一个代理
artemis create --allow-anonymous localhost
通过执行以下命令启动代理
apache-artemis-2.10.1\bin\localhost\bin\artemis run
如果您想在后台运行它,您必须以管理员身份启动 cmd.exe
apache-artemis-2.10.1\bin\localhost\bin\artemis-service.exe install apache-artemis-2.10.1\bin\localhost\bin\artemis-service.exe start
停止 Windows 服务
apache-artemis-2.10.1\bin\localhost\bin\artemis-service.exe stop
卸载 Windows 服务
apache-artemis-2.10.1\bin\localhost\bin\artemis-service.exe uninstall
Eclipse(客户端)
在 JavaClient\src\com\dynamsoft\dwt\Common.java 中设置产品密钥
public static final String DWT_ProductKey = "LICENSE-KEY";
部署
按 F5 键在 Visual Studio 中运行 Web 服务器项目。
打开 https://:14032/index.html 查看主页。
运行 Artemis
artemis run
在 Eclipse 中启动 Java 客户端。您可以将扫描仪信息注册到云服务器
在您的 Web 浏览器中,单击“刷新”以检查可用的网络扫描仪。按“扫描”按钮获取文档图像。
在 Visual Studio 中运行项目时,IIS Express 托管网站。如果您想从其他计算机访问 IP 地址,请将绑定信息添加到 Server\.vs\config\applicationhost.config。如果 IP 地址不可访问,您可能还需要在 Windows 防火墙中启用 14032 端口
<bindings> <binding protocol="http" bindingInformation="*:14032:localhost" /> <binding protocol="http" bindingInformation="*:14032:192.168.8.85" /> </bindings>
以管理员权限重新启动 IIS Express。现在您可以从任何平台扫描文档,例如 macOS
如果该解决方案对您有吸引力,请随时尝试 源代码。
相关文章
技术支持
如果您对 Dynamic Web TWAIN SDK 有任何疑问,请联系 support@dynamsoft.com。
发布历史
V15.2, 2019/09/19
新内容
- [HTML5] 增加了为图像添加标签的功能。然后可以使用这些标签来过滤图像。新的 API 是
TagImages
、ClearImageTags
、SetDefaultTag
和FilterImagesByTag
。
已改进
- [HTML5] 清理了 Dynamsoft Service 安装程序,删除了冗余文件。
- [HTML5] 统一了 Windows、macOS 和 Linux 上 JPEG 和 PNG 的图像解码功能。
- [HTML5] 通过一次性加载文件而不是逐页加载文件,提高了 PDF 解码速度。
- [HTML5 | Win] 改进了 Windows 缓冲区管理,使其容量仅受机器磁盘空间大小的限制。
- [HTML5 | macOS] 改进了 macOS 安装程序,以获得更好的用户体验。
- [ActiveX | Win] 对 ActiveX 中的 PDF 光栅器进行了对齐,使其与 HTML5 版本具有相同的功能集。
已修复
- [HTML5] 修复了 API CreateTextFont 的一个 bug,该 bug 导致文本在旋转 90 度时占用额外的空间。
- [HTML5] 修复了一个 bug,该 bug 导致在 Firefox 或 IE11 中打印时出现不必要的额外空白页。
- [HTML5] 修复了一个 bug,该 bug 导致上传失败,因为缺少文件名参数。
- [HTML5 | Win] 修复了一个 bug,该 bug 导致在使用条形码阅读器附加组件时,库会尝试下载不正确的安装程序。
- [HTML5 | Win] 修复了 API
GenerateURLForUploadData
的一个 bug,使其返回的 URL 显示正确的 SDK 版本。 - [All] 修复了一个 bug,该 bug 导致 8 位图像数据无法压缩为 JPEG-TIFF。
- [All] 修复了
OnTopImageInTheViewChanged
事件的一个 bug,该 bug 在图像被获取到空缓冲区时不会触发。