Можно ли слушать двойной (может быть, WIA) сканер?

StackOverflow https://stackoverflow.com/questions/263588

Вопрос

Я оцениваю контроль VintaSoft .net и захват изображений Atalasoft DotTwain. И я очень, но очень потерян с большинством определений и ключевых слов.

Итак, я спрашиваю об этом, потому что я думаю, что я нахожусь в стране Лала. Можно ли прослушать или заставить сканер сообщить моему приложению, что есть отсканированное изображение, и я могу его обработать?

Идея состоит в том, чтобы использовать службу winservice, которая ожидает, когда сканер что-то сканирует, и когда это происходит, обрабатывает изображение.

Это было полезно?

Решение

Я работал только с собственными интерфейсами для TWAIN и WIA, поэтому я не могу поручиться за эти другие слои поверх них. Однако, что касается TWAIN, существуют некоторые механизмы, которые позволяют уведомлять приложение для сбора данных. Я считаю, что это решается с помощью STI.dll, более старой библиотеки, которая доступна в Windows 2000+. Посмотрите StiCreateInstance для получения дополнительной информации.

Если вы решите пойти по маршруту WIA, это будет намного проще. Вы можете зарегистрироваться для получения событий, таких как кнопка «Сканирование» или «Созданное изображение». Тогда все, что вам нужно сделать, это обработать эти события, чтобы получить изображение. Самое сложное - найти оборудование, которое реализует нужные вам функции.

Microsoft имеет библиотеку автоматизации WIA, которая значительно упрощает многие из этих задач. Может использоваться языками сценариев.

Другие советы

Недавно мы включили TWAIN в одно из наших приложений. Мы рассмотрели WIA, но в итоге TWAIN стал гораздо более гибким и может подключаться к таким приложениям, как VRS (Virtual ReScan). В конце концов, это «тянуть», вы запрашиваете сканирование, а затем ждете сканера. Одна из приятных особенностей VRS заключается в том, что это программное обеспечение между нашими вызовами TWAIN и устройством, поэтому оно заботится о нескольких вещах, одна из которых заключается в том, что он может ждать практически вечно, пока бумага не будет помещена в загрузочный лоток. для сканирования. Это позволяет «запускать» задание на сканирование и затем ждать бумагу, а также добавлять дополнительные страницы в устройство.

Если вы ищете что-то более ориентированное на push, посмотрите на сканер или многофункциональное устройство, поддерживающее ftp / smb / email и т. д., и дайте ему возможность сканировать, и вы можете просто отслеживать папку или почтовый ящик POP3 для этой работы.

Вы также можете обратиться к устройствам MFP, которые включают (иногда за дополнительную плату) такие инструменты, как шаблон Xerox, Lexmark LDSS, HP DSS.

Вот ссылка на код .NET TWAIN, с которым мы основали интеграцию нашего сканера: http://www.codeproject.com/KB/dotnet/twaindotnet.aspx

[править - если бы это был я, я бы посмотрел на ответ adzm ;-p]

Насколько я понимаю, обычный TWAIN - это "тянуть", а не "толкать" со сканера. Я вполне могу ошибаться ...

Я ожидаю, что такие интерфейсы существуют для высокопроизводительных сканеров большого объема (вы знаете, те, что размером с бильярдный стол) - но не (AFAIK) для обычных потребительских сканеров.

Для использования с .NET (а до этого COM) я всегда справлялся с ImageMan .

Сканер может сообщить вашему приложению о наличии отсканированного изображения. Я не знаком с элементом управления VintaSoft .net и Atalasoft DotTwain Image Capture, но с некоторыми двойными SDK существует событие OnPostTransfer / OnPostAllTransfer, которое запускается после каждого сканирования, так что вы можете «уведомлять». ваш винсервис

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top