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.