Я разрабатываю приложение на C # для использования библиотеки WIA 2.0. На данный момент я могу использовать большинство функций, таких как АПД (автоподатчик документов), фильтры и многое другое.
Теперь мне нужно использовать дуплексер моего сканера (fujitsu).
Я пытаюсь установить для свойства сканера WIA_DPS_DOCUMENT_HANDLING_SELECT значение DUPLEX. Смотрите код ниже:
try
{
bool hasMorePages = false;
//determine if there are any more pages waiting
Property documentHandlingSelect = null;
Property documentHandlingStatus = null;
foreach (Property prop in WiaDev.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;
}
object obj = new object();
obj = (WIA_DPS_DOCUMENT_HANDLING_SELECT.DUPLEX);
documentHandlingSelect.set_Value(ref obj);
if (documentHandlingSelect != null) //may not exist on flatbed scanner but required for feeder
{
//check for document feeder
if ((Convert.ToUInt32(documentHandlingSelect.get_Value()) & WIA_DPS_DOCUMENT_HANDLING_SELECT.FEEDER) != 0)
{
hasMorePages = ((Convert.ToUInt32(documentHandlingStatus.get_Value()) & WIA_DPS_DOCUMENT_HANDLING_STATUS.FEED_READY) != 0);
if (hasMorePages)
{
// set the property to use FEEDER and DUPLEX (this result in the value of 5 in the property)
object obj = new object();
obj = (WIA_DPS_DOCUMENT_HANDLING_SELECT.FEEDER | WIA_DPS_DOCUMENT_HANDLING_SELECT.DUPLEX);
documentHandlingSelect.set_Value(ref obj);
}
}
}
return hasMorePages;
Этот код компилируется нормально, но я не могу получить два изображения при выполнении этой строки. Извлекает только фронт:
imgFile = (ImageFile)wiaCommonDialog.ShowTransfer(item, format.Guid.ToString("B")/* wiaFormatJPEG*/, false);
Я прочитал во многих темах, а также в документации, что можно получить дочерние объекты из элемента на сканере, но в этой коллекции только один элемент.
Пожалуйста, кто-нибудь, помогите мне!
Спасибо