TWAIN/WIA implementation for JAVA [closed]
Asked Answered
R

1

7

I am working on an application(Java Applet) that interacts with scanner. I understand I need a Twain library or WIA library to make it work in windows. But I am not sure what are the differences of two? I am trying to use this library:

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

JAR file link is broken so I got it from here. http://rsbweb.nih.gov/ij/plugins/twain-scan.html

And DLLs from here: http://sourceforge.net/projects/twain-dsm/?source=dlp

But, it does not detect the source. Here is the error log:

http://pastebin.com/cB9gL0ip

I am on 64bit machine. Anybody had any success?

TWAIN specification is too long to follow and I haven't found any resources on WIA implementation.

Any help/pointers/resources is greatly appreciated.

Redwood answered 9/4, 2013 at 3:59 Comment(4)
You might like to check out Morena 7. I've used the Twain API in the past and it was very nice. I've seen the WIA implementation working (beta) and it seemed to work just fineConfessor
I am looking for a free solution. My question was edited to remove that line.Redwood
Personally, I've never found a free twain solution that worked well and I've never seen a WIA solution at all, but that's meConfessor
mmsc library works great for SANE, it is just the twain that is not working for me. I haven't seen WIA solution either. I found another post complaining the same issue: #14089736Redwood
T
9

Use the same bit mode

For twain device control in java, all components need to be in the same mode. i.e. the JRE, Twain DSM (Source Manager), and the Twain driver (Scanner driver) all need to be 32-bit or all 64-bit. No mixing.

The default installation of 64-bit Windows contains the 32-bit mode of Twain DSM. And you say you've downloaded the 64-bit DSM. It's likely that the scanner's driver is 32-bit and that is why it cannot be found.

You have 2 options:

Keep it all 64-bit.

  • Use the 64-bit TWAINDSM.DLL.
  • Make sure your JRE/JDK is 64-bit.
  • Make sure your scanner has a 64-bit driver.

My scanner doesn't have a 64-bit driver available, but I tested a 64-bit configuration using a 64-bit "virtual scanner" and it worked.

Keep it all 32-bit (recommended)

  • Use the 32-bit TWAINDSM.DLL.
  • Make sure your JRE/JDK is 32-bit.
  • Use the scanner's 32-bit driver (probably default).

You can download 32 and 64 bit twain virtual scanners here.

Note: I mention the JDK because if you're running the code from an IDE it may be pointing to a different JRE to to the system default. True story, happened to me.

Teflon answered 13/4, 2013 at 21:16 Comment(1)
Jonathan, it was bit mode issue. I took me two days to understand the issue. I just had to change my IDE point to 32bit JRE. Thank you!!Redwood

© 2022 - 2024 — McMap. All rights reserved.