Настройка сканера dpi с помощью TWAINDotNet: установка dpi >1200 не удалась

Я пытаюсь использовать TWAINDotNet API для управления сканером Epson. У меня почти все работает, но я не могу правильно настроить dpi.

Если я установлю API на 300, 600 или даже 1199 dpi, сканер будет работать как положено. К сожалению, когда я пытаюсь установить dpi на 1200 или выше, я получаю исключение TWAINException, указывающее «TwainDotNet.TwainNative.ConditionCode.CapabilitySequenceError». Сканер, безусловно, способен на 1200pi (а также даже на высокие значения dpi).

Я использую TWAINDotNet из VB.Net 2010.

Я ценю любые комментарии.


person Ian Journeaux    schedule 22.09.2014    source источник
comment
Что если показать пользовательский интерфейс сканера и установить оттуда dpi на 1200? Можете ли вы выполнить сканирование успешно?   -  person Rachel    schedule 23.09.2014
comment
Да Если я выберу 1200 в пользовательском интерфейсе сканера, он сканирует правильно. Моя проблема в том, что мне нужно полностью автоматизировать процесс. Я также пробовал SaraffTwain, но в нем указано 1184 различных разрешения от 1 до 1184 точек на дюйм.   -  person Ian Journeaux    schedule 23.09.2014
comment
Пожалуйста, также попробуйте Twack и посмотрите, сможете ли вы успешно сканировать. Если возникает та же проблема, проверьте журнал ошибок, чтобы получить дополнительную информацию. twain.org/scannerdriverdevelopers/specification-and-tools.html   -  person Rachel    schedule 24.09.2014
comment
Рэйчел Установил и попробовал сканировать с помощью Twack. Если я использую пользовательский интерфейс, он работает, но если я отключу пользовательский интерфейс и попытаюсь настроить сканер, я получу ошибку TWAIN: Cannot Enable Source. CAP_ENABLEDSUIONLY не поддерживается.   -  person Ian Journeaux    schedule 24.09.2014
comment
Ян, согласно сообщению об ошибке, причина проблемы в том, что драйвер TWAIN вашего сканера не поддерживает функцию CAP_ENABLEDSUIONLY.   -  person Rachel    schedule 29.09.2014
comment
Я копался в этом еще немного. Вызов Twain для получения возможных разрешений dpi возвращает список длиной 1134 от 50 до 1184. 1200 dpi не входит в этот список, как и другие разрешения, на которые, как я знаю, способен этот сканер (2400, 3600, 12800 и т. д.). Поскольку 1200 не входит в список, вызов установки разрешения завершается ошибкой. Так почему же 1200 нет в списке, возвращаемом вызовом для получения возможности?   -  person Ian Journeaux    schedule 03.10.2014
comment
Приятно знать, что. Вы можете обратиться в службу поддержки Epson и узнать, есть ли у них более новая версия драйвера TWAIN, которая поддерживает функцию CAP_ENABLEDSUIONLY.   -  person Rachel    schedule 09.10.2014
comment
Судя по комментариям от Epson, кажется, что если вы не установите для области сканирования значение меньше 8,5x11, максимальное значение dpi составит 1184. Они рекомендовали установить для области сканирования значение, например, 4x6. Это должно позволить более высокое разрешение. То, как настроен TwainDotNet, устанавливает область для сканирования после попытки установить разрешение, поэтому невозможно установить DPI на 1200. Я внес изменения в TwainDotNet, но не смогу проверить до следующей недели. .   -  person Ian Journeaux    schedule 21.10.2014
comment
Приятно знать, какого прогресса вы добились. Ждем результатов испытаний!   -  person Rachel    schedule 22.10.2014


Ответы (2)


Работая с Epson, я смог решить проблему. На сканере V550 максимальное разрешение зависит от сканируемой области. Для полной страницы размером 8,5 x 11 дюймов максимальное разрешение составляет 1184 dpi.

Чтобы установить разрешение выше 1200 точек на дюйм, вам необходимо установить область сканирования на меньшую область.

Чтобы исправить эту проблему, в datasource.cs все, что вам нужно сделать, это переместить

if (settings.Area != null)
{
    NegotiateArea(settings);
}

до

if (settings.Resolution != null)
{
    NegotiateColour(settings);
    NegotiateResolution(settings);
}
person Ian Journeaux    schedule 27.10.2014

«CapabilitySequenceError» Твена означает «Возможность зависит от другой возможности». Это будет зависеть от вашего конкретного сканера, что еще вам нужно установить перед установкой dpi на 1200.

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

person hometoast    schedule 22.09.2014
comment
Это дает мне куда-то еще смотреть. Глядя на апплет Epson Scan, не было очевидно, что еще нужно настроить, прежде чем установить разрешение 1200 dpi. Скорость сканера была хорошим предположением, но, похоже, это не настраиваемый параметр сканера. Кажется, он регулирует скорость по мере необходимости. - person Ian Journeaux; 23.09.2014