Настройка dpi сканера с помощью TWAINDotNet: настройка dpi >1200 не удалась
Я пытаюсь использовать API TWAINDotNet для управления сканером Epson. У меня почти все работает, но я не могу правильно установить dpi.
Если я установлю API на 300, 600 или даже 1199 точек на дюйм, сканер работает как положено. К сожалению, когда я пытаюсь установить dpi равным 1200 или выше, я получаю исключение TWAINException, указывающее "TwainDotNet.TwainNative.ConditionCode.CapabilitySequenceError". Сканер, безусловно, способен работать с разрешением 1200pi (и даже с высокими значениями dpi).
Я использую TWAINDotNet от VB.Net 2010
Я ценю любые комментарии.
2 ответа
Работая с Epson, я смог решить проблему. На сканере V550 максимальное разрешение - это область сканируемой области. Для полной страницы 8.5 дюймов x11 дюймов максимальное разрешение составляет 1184 точек на дюйм.
Чтобы установить разрешение выше 1200 т / д, необходимо настроить область сканирования на меньшую область.
Чтобы исправить проблему, в datasource.cs все, что вам нужно сделать, это переместить
if (settings.Area != null)
{
NegotiateArea(settings);
}
до
if (settings.Resolution != null)
{
NegotiateColour(settings);
NegotiateResolution(settings);
}
"CapabilitySequenceError" Твейна означает "возможность зависит от других возможностей". Это будет зависеть от вашего конкретного сканера, что еще вам нужно установить, прежде чем установить dpi на 1200.
В некоторых случаях сканер ожидает установки колпачков в определенном порядке. Наверху, возможно, вам нужно изменить скорость сканирования на "медленную" (я просто догадываюсь).