JAVA的TWAIN / WIA实施

我正在研究与扫描仪交互的应用程序(Java Applet)。 我知道我需要一个Twain库或WIA库才能在Windows中运行它。 但我不确定两者的区别是什么? 我想使用这个库:

http://thorntonzone.com/manuals/Compression/Fax,%20IBM%20MMR/MMSC/mmsc/uk/co/mmscomputing/device/twain/index.html

JAR文件链接坏了所以我从这里得到它。 http://rsbweb.nih.gov/ij/plugins/twain-scan.html

和DLL来自这里: http : //sourceforge.net/projects/twain-dsm/? source = dlp

但是,它没有检测到来源。 这是错误日志:

http://pastebin.com/cB9gL0ip

我在64位机器上。 有人有成功吗?

TWAIN规范太长,无法遵循,我没有找到任何有关WIA实施的资源。

非常感谢任何帮助/指针/资源。

使用相同的位模式

对于java中的twain设备控制, 所有组件都需要处于相同的模式。 即JRE,Twain DSM(源管理器)和Twain驱动程序(扫描仪驱动程序) 都需要是32位或全部64位。 没有混合。

64位Windows的默认安装包含Twain DSM的32位模式。 而且你说你已经下载了64位DSM。 扫描仪的驱动程序可能是32位,这就是无法找到它的原因。

你有2个选择:

保持全部64位。

  • 使用64位TWAINDSM.DLL。
  • 确保您的JRE / JDK是64位。
  • 确保您的扫描仪具有64位驱动程序。

我的扫描仪没有可用的64位驱动程序,但我使用64位“虚拟扫描仪”测试了64位配置,并且它运行正常。

保持全部32位(推荐)

  • 使用32位TWAINDSM.DLL。
  • 确保您的JRE / JDK是32位。
  • 使用扫描仪的32位驱动程序(可能是默认驱动程序)。

您可以在此处下载32位和64位twain虚拟扫描仪 。

注意:我提到了JDK,因为如果您从IDE运行代码,它可能指向与系统默认值不同的JRE。 真实的故事发生在我身上。