【问题标题】:Can one listen a twain (Maybe WIA) scanner?可以听一个双胞胎(也许是 WIA)扫描仪吗?
【发布时间】:2010-09-20 18:51:47
【问题描述】:
我正在评估 VintaSoft .net 控件和 Atalasoft DotTwain Image Capture。对于大多数定义和关键字,我非常但非常迷茫。
所以我问这个是因为我想我在拉拉的土地上。是否可以听取或让扫描仪告诉我的应用有扫描的图像并且我可以处理它?
这个想法是让一个 winservice 等待扫描仪扫描某些东西,并在发生这种情况时处理图像。
【问题讨论】:
标签:
.net
vb.net
twain
image-scanner
【解决方案1】:
我只使用过 TWAIN 和 WIA 的本机接口,所以我不能保证它们之上的这些其他层。但是,对于 TWAIN,确实存在一些允许通知应用程序捕获数据的机制。我相信这是用 STI.dll 处理的,这是一个在 Windows 2000+ 上可用的旧库。查看 StiCreateInstance 了解更多信息。
如果你选择走WIA路线,那就简单多了。您可以注册以接收事件,例如“扫描”按钮或“图像创建”事件。然后您需要做的就是处理这些事件以获取图像。其中最困难的部分是找到实现所需功能的硬件。
Microsoft 有一个 WIA 自动化库,可以让许多此类任务变得更加简单。它可以被脚本语言使用。
【解决方案2】:
我们最近将 TWAIN 整合到了我们的一款应用中。我们查看了 WIA,但最终 TWAIN 更加灵活,可以连接到 VRS(Virtual ReScan)等应用程序。最后它是“拉”,您请求扫描,然后等待扫描仪。 VRS 的一大优点是它是我们的 TWAIN 调用和设备之间的软件,因此,它会处理一些事情,其中之一是它可以几乎永远等待纸张放入纸盒用于扫描。这允许“开始”扫描作业然后等待纸张,它还允许将其他页面添加到单元中。
如果您正在寻找更“推送”的东西,那么请寻找支持 ftp/smb/email 等的扫描仪或 MFP 并让它扫描,您可以简单地监控文件夹或 POP3 邮箱以完成这项工作。
您还可以查看 MFP 设备,其中包括(有时需要额外付费)工具来提供帮助,例如 Xerox 的 Template、Lexmark 的 LDSS、HP 的 DSS。
以下是我们基于扫描仪集成的 .NET TWAIN 代码的链接:
http://www.codeproject.com/KB/dotnet/twaindotnet.aspx
【解决方案3】:
[编辑 - 如果是我,我会看看 adzm 的回答;-p]
据我了解,常规 TWAIN 是扫描仪的“拉”,而不是“推”。我很可能是错的......
我希望这样的接口确实存在于高端、大容量的扫描仪(你知道,台球桌大小的那些)——但对于普通的消费级扫描仪来说(AFAIK)不存在。
为了与 .NET(以及在此之前的 COM)一起使用,我一直使用 ImageMan 进行管理。
【解决方案4】:
可以让扫描仪告诉您的应用有扫描的图像。我不熟悉 VintaSoft .net 控件和 Atalasoft DotTwain Image Capture,但是对于一些 twain sdks,每次扫描后都会触发 OnPostTransfer/OnPostAllTransfer 事件,以便您可以“通知”您的 winservice