WIA + сетевой сканер с adf = 1 страницей

Я пишу программу для работы со сканером сети через WIA. Все отлично работает при сканировании только одной страницы. Когда я включаю фидер:

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

программа получает отсканированный сигнал о том, что в устройстве подачи еще есть документы, и выдает сообщение об ошибке (сканер продолжает сканирование). Вот код проверки страниц в фидере:

//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;

Получение кода изображения:

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

К сожалению, не удалось найти пример использования WIA WSD. Возможно, есть некоторые настройки для получения нескольких изображений через WSD.

1 ответ

У меня была почти такая же проблема при использовании WIA 2.0 с vba для управления многофункциональным сканером Brother MFC-5895CW. Когда я передавал отсканированные документы из АПД, я был не в состоянии захватить более 2 изображений на объекты изображения (и я, вероятно, пробовал все существующие варианты и работал над этой проблемой дни и часы!) Единственное решение, которое я нашел с этим сканером, заключалось в использовании ShowAcquisitionWizard-метод WIA.CommonDialog-Object для пакетной передачи всех отсканированных файлов в указанную папку. Для меня это был скорее обходной путь, чем удовлетворительное решение, потому что постобработка стала бы более сложной.

Сюрприз, я попробовал ту же процедуру на аккуратном сканере моего клиента... ShowAcquisitionWizard доставил только одну отсканированную страницу в указанную папку, остальные страницы исчезли. К моему второму удивлению с помощью метода CommonDialog.ShowTransfer, я смог перенести все отсканированные документы картинка за картинкой в ​​графические объекты в моем приложении.

Другие вопросы по тегам