Я пишу программу для работы с сетевым сканером через 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.