Я оцениваю VintaSoft .net control и Atalasoft DotTwain Image Capture. И я очень, но очень запутался в большинстве определений и ключевых слов.
Я спрашиваю об этом, потому что думаю, что нахожусь в стране Лала. Можно ли прослушать или заставить сканер сообщить моему приложению, что есть отсканированное изображение, и я могу его обработать?
Идея состоит в том, чтобы иметь службу winservice, которая ждет, пока сканер что-то просканирует, и когда это произойдет, обработает изображение.





[edit - если бы это был я, я бы посмотрел на ответ adzm ;-p]
Насколько я понимаю, штатный TWAIN - это "тяга", а не "толчок" со сканера. Я вполне мог ошибаться ...
Я ожидаю, что такие интерфейсы действительно существуют для высокопроизводительных сканеров большого объема (вы знаете, тех, которые размером с бильярдный стол), но не (AFAIK) для обычных потребительских сканеров.
Для использования с .NET (а до этого с COM) я всегда справлялся с ImageMan.
Я работал только с собственными интерфейсами TWAIN и WIA, поэтому я не могу поручиться за эти другие слои поверх них. Однако, что касается TWAIN, существуют некоторые механизмы, которые позволяют уведомлять приложение о захвате данных. Я считаю, что это делается с помощью STI.dll, более старой библиотеки, доступной в Windows 2000+. Посмотрите StiCreateInstance для получения дополнительной информации.
Если вы выберете маршрут WIA, это будет намного проще. Вы можете зарегистрироваться для получения событий, таких как кнопка «сканирование» или событие «создание изображения». Затем все, что вам нужно сделать, это обработать эти события, чтобы получить изображение. Самая сложная часть этого - найти оборудование, которое реализует нужные вам функции.
У Microsoft есть библиотека автоматизации WIA, которая значительно упрощает многие из этих задач. Его можно использовать в языках сценариев.
Недавно мы включили TWAIN в одно из наших приложений. Мы посмотрели на WIA, но в итоге TWAIN намного более гибкий и может подключаться к таким приложениям, как VRS (Virtual ReScan). В конце концов, это «тяга», вы запрашиваете сканирование и ждете сканера. Одна из приятных вещей с VRS заключается в том, что это программное обеспечение между нашими TWAIN-вызовами и устройством, как таковое, оно заботится о нескольких вещах, одна из которых заключается в том, что он может практически вечно ждать, пока бумага будет помещена в загрузочный лоток. для сканирования. Это позволяет «запустить» задание сканирования, а затем ждать бумаги, а также позволяет добавлять в устройство дополнительные страницы.
Если вы ищете что-то более ориентированное на «push», обратите внимание на сканер или многофункциональное устройство, поддерживающее ftp / smb / электронную почту и т. д., И позвольте ему сканировать, и вы можете просто отслеживать папку или почтовый ящик POP3 для работы.
Вы также можете обратить внимание на МФУ, которые включают (иногда за дополнительную плату) вспомогательные инструменты, такие как Xerox's Template, Lexmark LDSS, HP DSS.
Вот ссылка на код .NET TWAIN, на котором мы основали интеграцию нашего сканера: http://www.codeproject.com/KB/dotnet/twaindotnet.aspx
Возможно, сканер сообщит вашему приложению, что есть отсканированное изображение. Я не знаком с VintaSoft .net control и Atalasoft DotTwain Image Capture, но с некоторыми двумя SDK есть событие OnPostTransfer / OnPostAllTransfer, которое запускается после каждого сканирования, чтобы вы могли «уведомить» свой winservice