Сканирование документов по сети

Сканирование документов по сети с одной стороны вроде бы есть, но с другой стороны не стало общепринятой практикой, в отличие от сетевой печати. Администраторы по-прежнему ставят драйвера, а настройка удаленного сканирования индивидуальная для каждой модели сканера. Какие же технологии есть на данный момент, и есть ли у такого сценария будущее.

Устанавливаемый драйвер или прямой доступ


В настоящее время распространены четыре типа драйверов: TWAIN, ISIS, SANE и WIA. По сути, эти драйвера выполняют роль интерфейса между приложением и низкоуровневой библиотекой от производителя, которая связывается с конкретной моделью.

последовательность соединения со сканером


Упрощенная архитектура соединения со сканером

Обычно подразумевается, что сканер подключен напрямую к компьютеру. Однако, никто не ограничивает протокол между низкоуровневой библиотекой и устройством. Это может быть и TCP/IP. Таким образом сейчас работает большинство сетевых МФУ: сканер виден как локальный, но соединение идет через сеть.

Плюс у такого решения в том, что приложению все равно как именно сделано подключение, главное видеть знакомый TWAIN, ISIS или другой интерфейс. Не нужно реализовывать специальную поддержку.

Но и минусы очевидны. Решение завязано на декстопную ОС. Мобильные устройства сразу выпадают из поддержки. Второй минус, драйверы могут работать нестабильно на сложных инфраструктурах, например, на терминальные серверах с тонкими клиентами.

Выходом из положения будет поддержка прямого подключения к сканеру по HTTP/RESTful протоколу.

TWAIN Direct


TWAIN Direct был предложен консорциумом TWAIN Working Group как вариант бездрайверного доступа.

twain direct


TWAIN Direct

Основная идея в том, что вся логика переносится на сторону сканера. А сканер предоставляет доступ по REST API. Дополнительно спецификация содержит описание публикации устройства (autodiscovery). Выглядит хорошо. Для администратора это избавление от возможных проблем с драйверами. Поддержка всех устройств, главное, чтобы было совместимое приложение. Для разработчика тоже есть плюсы, в первую очередь знакомый интерфейс взаимодействия. Сканер выступает веб-сервисом.

Если рассмотреть реальные сценарии использования, то минусы также найдутся. Первый — ситуация дедлока. На рынке нет устройств с TWAIN Direct и разработчикам нет смысла поддерживать эту технологию, и обратно. Второй — безопасность, спецификация не предъявляет требований к управлению пользователями, частоте обновлений для закрытия возможных дыр. Также непонятно, как администраторам контролировать апдейты и доступ. На компьютере есть антивирусное ПО. А в прошивке сканера, в которой очевидно будет веб-сервер, этого может и не быть. Или быть, но не то, что требует политика безопасности компании. Согласитесь, иметь зловреда, который будет отправлять налево все отсканированные документы не очень хорошо. То есть при внедрении данного стандарта задачи, которые решались настройками сторонних приложений перекладываются на производителей устройств.

Третий минус — возможная потеря функциональности. Драйвера могут иметь дополнительную пост-обработку. Распознавание штрихкодов, удаление фона. Некоторые сканеры имеют т.н. импринтер — функцию, которая позволяет сканеру печатать на обработанном документе. Этого нет в TWAIN Direct. Спецификация допускает расширение API, но это приведет к появлению множеств собственных реализаций.

И еще один минус в сценариях работы со сканером.

Сканирование из приложения, или сканирование от устройства


Давайте рассмотрим, как происходит обычное сканирование из приложения. Я кладу документ. Затем открываю приложение и сканирую. Затем забираю документ. Три шага. Теперь представьте, что сетевой сканер стоит в другом помещении. Нужно сделать как минимум 2 подхода к нему. Это менее удобно, чем сетевая печать.

5iykozzsobypm1x79f0lewzf3rg.png


Другое дело, когда сканер сам умеет отправлять документ. Например, на почту. Я кладу документ. Затем сканирую. Документ сразу летит в целевую систему.

qtq1tnqhmbqdz5derf_g4qt7z9q.png


В этом и есть основное отличие. Если устройство подключено к сети, то удобнее сканировать сразу в целевое хранилище: папку, почту или ECM систему. В этой схеме нет места драйверу.

Если посмотреть со стороны, мы используем сетевое сканирование, не меняя существующих технологий. Причем как из десктопных приложений через драйвер, так и прямо с устройства. Но удаленное сканирование с компьютера не стало настолько массовым, как сетевая печать, из-за различий в сценариях работы. Более востребованным становится сканирование сразу в нужное хранилище.

Поддержка сканерами TWAIN Direct как замена драйверам очень правильный шаг. Но стандарт немного запоздал. Пользователи хотят сканировать прямо с сетевого устройства, отправляя документы по назначению. Существующим приложениям нет необходимости поддерживать новый стандарт, так как и сейчас все работает прекрасно, а производителям сканеров нет нужды его реализовывать, так как нет приложений.

И в заключение. Общий тренд показывает, что простое сканирование одной — двух страничек будет замещаться камерами на телефонах. Останется промышленное сканирование, где важны скорость, поддержка функций постобработки, которые TWAIN Direct не может обеспечить, и где будет оставаться важной тесная интеграция с ПО.

© Habrahabr.ru