1
votes

I am writing a program to work with a network scanner through WIA. Everything works fine when scanning only one page. When I turn on the feeder:

foreach (WIA.Property deviceProperty in wia.Properties)
{
    if (deviceProperty.Name == "Document Handling Select")
    {
        int value = duplex ? 0x004 : 0x001;
        deviceProperty.set_Value(value);
    }
}

the program receives a scan, the signal that there are still documents in the feeder and falls off with com error (scanner continues to scan). Here's the code check the pages in the feeder:

//determine if there are any more pages waiting
Property documentHandlingSelect = null;
Property documentHandlingStatus = null;

foreach (Property prop in wia.Properties)
{
    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_SELECT)
        documentHandlingSelect = prop;
    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_STATUS)
        documentHandlingStatus = prop;
}

if ((Convert.ToUInt32(documentHandlingSelect.get_Value()) & 0x00000001) != 0)
{
    return ((Convert.ToUInt32(documentHandlingStatus.get_Value()) & 0x00000001) != 0);
}

return false;

Getting the picture code:

imgFile = (ImageFile)WiaCommonDialog.ShowTransfer(item, wiaFormatJPEG, false);

Unfortunately could not find an example of using WIA WSD. Perhaps there are some settings to get multiple images through WSD.

1
I also had the same issue which I resolved by installing the manufacturer's driver.Zev Spitz

1 Answers

0
votes

I had almost the same problem using WIA 2.0 with vba to control a Brother MFC-5895CW Multi-Function Scanner. When I transferred scans from the ADF I was not capable to catch more than 2 pictures to image-objects (and I tried probably every existing option and worked days and hours on that problem!) The only solution I found with that scanner was to use the ShowAcquisitionWizard-method of the WIA.CommonDialog-Object to batch-transfer all scanned files to a specified folder. It was more a workaround than a satisfying solution for me because the postprocessing would have become more complicated.

Surprise surprise, I tried the same procedure on the neat-scanner of my client... ShowAcquisitionWizard delivered only one scanned page to the specified folder, the other pages disappeared. To my second surprise with the 'CommonDialog.ShowTransfer'-method I was able to transfer all scanned documents picture by picture into image-objects in my application.