Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't WIA see my scanner?

Tags:

I'm trying to use WIA (Microsoft Windows Image Acquisition Library v2.0) to build a C# 3.5 WinForms app in VS2008 running on a Vista rig to aquire images from a scanner.

I know there are plenty of SDKs out there that do this (Accusoft, ByteScout, Knowledge Lake, etc) but we wanted some control over the UI (or lack of) and the ability to customize the processing and handling of the images, which is why we're trying the WIA angle.

However, I have been unable to get WIA to 'see' my scanner.

The 'Microsoft Windows Image Acquisition Library v2.0' dll has been referenced in the VS project and I have included 'using WIA;' at the top of the page.

Here is the section of code:

//Choose Scanner CommonDialogClass class1 = new CommonDialogClass(); Device d = class1.ShowSelectDevice(WiaDeviceType.UnspecifiedDeviceType, true, false); if (d != null) {     this.DeviceID = d.DeviceID; } else {     //no scanner chosen     return; } 

Complies fine but line 2 (Device d = ...) kicks the following error when run:
Exception from HRESULT: 0x80210015

From what I can tell, this usually means your device is unplugged/not turned on or the device is not WIA compatible.
But the scanner in question shows up in Control Panel/Scanners and Cameras (means it's WIA compatible) and works when accessed via Photoshop (means it's turned on).

I have plugged in other devices (Digital SLR) and the above code can 'see' them, so the code is working.

Does anyone have any suggestions as to what is going wrong and how to fix it?

Update 1:
I have tried a couple of different scanners (Canon 5000F, Benq 5250C), but same problem.

Update 2:
I have been unable to find definitive proof of this, but I'm thinking that the scanners I have been testing with, or maybe most scanners :( , are not WIA compatible/supported. I'm am now looking into using TWAIN, but would still love to hear of anyone who has had some success with WIA.

Update 3: Ended up ditching WIA and using a .NET Twain SDK (EZTwain). All sorted now. Thanks to everyone for thier input.

like image 948
Dhaust Avatar asked Mar 10 '10 01:03

Dhaust


People also ask

Why is my scanner not detected?

When a computer does not recognize an otherwise functioning scanner that is connected to it via its USB, serial or parallel port, the problem is usually caused by outdated, corrupted or incompatible device drivers. This is usually easily remedied by obtaining and installing new drivers.

How do I enable WIA?

To enable WIA for the Track-It!On the header bar, expand the hamburger menu and select Configuration. Click Application Settings > User Authentication > Windows Authentication.


1 Answers

I think your scanner doesn't support WIA. I recommend to use TWAIN which is supported by most vendors.

I recommend to use NTWAIN library:

Nuget Pakcage: https://www.nuget.org/packages/NTwain/

Source Code: https://bitbucket.org/soukoku/ntwain

like image 194
Ali Bahrami Avatar answered Sep 23 '22 12:09

Ali Bahrami