Настройка 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.

В некоторых случаях сканер ожидает установки колпачков в определенном порядке. Наверху, возможно, вам нужно изменить скорость сканирования на "медленную" (я просто догадываюсь).

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