Что выбрать при сканировании: TWAIN или WIA драйвер
В каждом человеке есть хотя бы капелька садистских наклонностей. Разница только в их количественном содержании и качественном проявлении. Вот я, например, люблю задавать людям вопросы на темы, в которых они ничего не понимают, и смотреть, как они мучаются, пытаясь угадать правильный ответ. Оказывается, точно такую же пытку любит проводить любой специалист в своей области. Иначе как объяснить, к примеру, тот факт, что практически любая компьютерная программа, работающая со сканером изображений, при первом использовании обязательно задаст вопрос, типа: «А какой драйвер вы хотите использовать при сканировании: TWAIN или WIA? А, может, вы хотите воспользоваться нашим собственным драйвером? Или вы предпочитаете драйвера ISIS?»
Любой нормальный пользователь компьютера, после такого вопроса пойдёт и повесится, чувствуя свою полную беспомощность в этой жизни. Или по крайней мере уйдёт в запой на неделю.
Дорогие мои, не надо! Я вас спасу! По крайней мере от этого конкретного вопроса. Давайте вместе решим, какой же именно драйвер нам желательно использовать в обычном российском офисе при сканировании обычных российских документов на обычном российском китайском американском сканере.
Ответ
Если ваше устройство поддерживает драйвер ISIS, то, очевидно, эта статья не для вас. Эти драйвера предназначены для промышленного обрудования, имеют массу возможностей и подразумевают, что пользоваться ими будут специалисты, глубоко погружённые в существо вопроса. В общем, для обычных людей ISIS — не вариант.
Резюме
При работе со сканером используйте по возможности интерфейс TWAIN.
При работе с фотокамерой или любым другим устройством, не требующим особых настроек при передаче изображений, удобнее использовать стадндарт WIA.
Одно замечание. Если программа, с которой в работаете, имеет свой собственный интерфейс для работы со сканером, то на мой взгляд им пользоваться предпочтительнее. Могу объяснить это тем, что, во-первых, интерфейс этот не меняется при использовании различных сканеров, а во-вторых, в нём присутствуют только те настройки, которые важны для данной конкретной программы. Примером может служить программа FineReader:
Тем не менее, даже при использовании интерфейса FineReader вы всё равно не избавляете себя от выбора подходящего драйвера устройства (TWAIN или WIA), так что информация из статьи остётся актуальной и в этом случае.
Сканирование документов по сети
Устанавливаемый драйвер или прямой доступ
В настоящее время распространены четыре типа драйверов: TWAIN, ISIS, SANE и WIA. По сути, эти драйвера выполняют роль интерфейса между приложением и низкоуровневой библиотекой от производителя, которая связывается с конкретной моделью.
Упрощенная архитектура соединения со сканером
Обычно подразумевается, что сканер подключен напрямую к компьютеру. Однако, никто не ограничивает протокол между низкоуровневой библиотекой и устройством. Это может быть и TCP/IP. Таким образом сейчас работает большинство сетевых МФУ: сканер виден как локальный, но соединение идет через сеть.
Плюс у такого решения в том, что приложению все равно как именно сделано подключение, главное видеть знакомый TWAIN, ISIS или другой интерфейс. Не нужно реализовывать специальную поддержку.
Но и минусы очевидны. Решение завязано на декстопную ОС. Мобильные устройства сразу выпадают из поддержки. Второй минус, драйверы могут работать нестабильно на сложных инфраструктурах, например, на терминальные серверах с тонкими клиентами.
Выходом из положения будет поддержка прямого подключения к сканеру по HTTP/RESTful протоколу.
TWAIN Direct
TWAIN Direct был предложен консорциумом TWAIN Working Group как вариант бездрайверного доступа.
Основная идея в том, что вся логика переносится на сторону сканера. А сканер предоставляет доступ по REST API. Дополнительно спецификация содержит описание публикации устройства (autodiscovery). Выглядит хорошо. Для администратора это избавление от возможных проблем с драйверами. Поддержка всех устройств, главное, чтобы было совместимое приложение. Для разработчика тоже есть плюсы, в первую очередь знакомый интерфейс взаимодействия. Сканер выступает веб-сервисом.
Если рассмотреть реальные сценарии использования, то минусы также найдутся. Первый — ситуация дедлока. На рынке нет устройств с TWAIN Direct и разработчикам нет смысла поддерживать эту технологию, и обратно. Второй — безопасность, спецификация не предъявляет требований к управлению пользователями, частоте обновлений для закрытия возможных дыр. Также непонятно, как администраторам контролировать апдейты и доступ. На компьютере есть антивирусное ПО. А в прошивке сканера, в которой очевидно будет веб-сервер, этого может и не быть. Или быть, но не то, что требует политика безопасности компании. Согласитесь, иметь зловреда, который будет отправлять налево все отсканированные документы не очень хорошо. То есть при внедрении данного стандарта задачи, которые решались настройками сторонних приложений перекладываются на производителей устройств.
Третий минус — возможная потеря функциональности. Драйвера могут иметь дополнительную пост-обработку. Распознавание штрихкодов, удаление фона. Некоторые сканеры имеют т.н. импринтер — функцию, которая позволяет сканеру печатать на обработанном документе. Этого нет в TWAIN Direct. Спецификация допускает расширение API, но это приведет к появлению множеств собственных реализаций.
И еще один минус в сценариях работы со сканером.
Сканирование из приложения, или сканирование от устройства
Давайте рассмотрим, как происходит обычное сканирование из приложения. Я кладу документ. Затем открываю приложение и сканирую. Затем забираю документ. Три шага. Теперь представьте, что сетевой сканер стоит в другом помещении. Нужно сделать как минимум 2 подхода к нему. Это менее удобно, чем сетевая печать.
Другое дело, когда сканер сам умеет отправлять документ. Например, на почту. Я кладу документ. Затем сканирую. Документ сразу летит в целевую систему.
В этом и есть основное отличие. Если устройство подключено к сети, то удобнее сканировать сразу в целевое хранилище: папку, почту или ECM систему. В этой схеме нет места драйверу.
Если посмотреть со стороны, мы используем сетевое сканирование, не меняя существующих технологий. Причем как из десктопных приложений через драйвер, так и прямо с устройства. Но удаленное сканирование с компьютера не стало настолько массовым, как сетевая печать, из-за различий в сценариях работы. Более востребованным становится сканирование сразу в нужное хранилище.
Поддержка сканерами TWAIN Direct как замена драйверам очень правильный шаг. Но стандарт немного запоздал. Пользователи хотят сканировать прямо с сетевого устройства, отправляя документы по назначению. Существующим приложениям нет необходимости поддерживать новый стандарт, так как и сейчас все работает прекрасно, а производителям сканеров нет нужды его реализовывать, так как нет приложений.
И в заключение. Общий тренд показывает, что простое сканирование одной — двух страничек будет замещаться камерами на телефонах. Останется промышленное сканирование, где важны скорость, поддержка функций постобработки, которые TWAIN Direct не может обеспечить, и где будет оставаться важной тесная интеграция с ПО.
Isis что это драйвер

TWAIN
На самом деле, TWAIN – это не аббревиатура, а слово, которое в переводе с английского означает «пара» или «двойка». Под «парой» здесь подразумевается тандем компьютер – сканер. Другими словами, TWAIN-совместимый драйвер необходим для того, чтобы операционная система компьютера могла взаимодействовать с устройствами создания и обработки изображений, в том числе и со сканерами. TWAIN драйвер сканера обычно выполнен в виде программного приложения с интуитивным пользовательским интерфейсом. Основная его функция – это передача информации от сканера к компьютерному приложению, через которое выполняются команды сканирования. Именно с его помощью производятся такие действия как предпросмотр изображений, предварительное сканирование, корректировка параметров (цвет, насыщенность и.т.д.). И именно благодаря наличию TWAIN-драйвера, вы можете осуществлять сканирование из любой программы, где есть команда Scan.
Поскольку WIA расшифровывается как Windows Imaging Architecture, несложно догадаться, что этот стандарт создан специально для ОС Windows, и разработан он был компанией Microsoft. Он предназначен для более удобного управления сканером посредством стандартных и привычных для пользователей инструментов Windows. Например, именно благодаря драйверу WIA сканер отображается в диспетчере устройств компьютера при подключении, а мы можем привычным способом просмотреть его свойства и содержимое. Такой компонент драйвера как Scanner Wizard позволяет работать с изображениями с помощью стандартного интерфейса в виде окон. Данный интерфейс предлагает ряд возможностей для управления изображениями – предпросмотр, настройка разрешения, яркости, цвета, масштабирование и прочие. Таким образом, независимо от модели сканера пользователь может пользоваться привычными и понятными инструментами при работе с документами и изображениями.
ISIS
Интерфейс ISIS (Image and Scanner Interface Specification), так же, как и Twain создан для взаимодействия сканера и компьютера, но способен выполнять более сложные задачи. Он представляет собой совокупность модулей, каждый из которых выполняет определенную функцию (сканирование, конвертация, компрессия). Эти модули могут объединяться, образуя конвейеры для выполнения сложных, многоэтапных задач. ISIS предлагает разработчикам ПО надежный и стабильный интерфейс для интеграции задач, связанных со сканированием, в приложения. Поскольку ISIS является промышленным стандартом, пользователь сканера с ISIS-драйвером может быть уверен, что купленный им аппарат совместим со всеми приложениями операционной системы, разработанными с учетом данного стандарта.
Универсальный драйвер, твой выход из сумрака
Вот есть же на свете люди, которые в одиночку пилят свои гениальные долгострои, бросают, снова продолжают… А об их проектах никто не знает. Alter, автор драйвера UniATA, один из них.
Подготавливая очередной топик с новостями из жизни команды ReactOS, я с изумлением осознал факт, что такая гениальная разработка как UniATA не только ни разу не упоминалась на хабре, но так и пользуется незаслуженным забвением в интернете. UniATA — это универсальный во всех смыслах этого слова драйвер ATA-устройств, разрабатываемый с 2002 года. Ключевой особенностью является то, что драйвер не требует переустановки OS при смене IDE контроллера или мaтеринской платы.
UniATA на данный момент обеспечивает поддержку:
Зачем и кому нужен такой драйвер? Рассказываю: UniATA имеет смысл поставить, если к новой материнской плате не прилагаются драйвера для вашей старой операционки. Или наоборот — есть старая плата, на которую нужно водрузить новую винду. Конечно, есть стандартные встроенные драйвера, которые наверняка это железо опознают и будут с ним работать. Но как… В PIO режиме, т.е. 0.5-3 Мб/сек. А UniATA будет работать в DMA или UltraDMA режиме, что существенно (иногда даже в 10 раз) быстрее. А вот еще одна проблема — новые винты объемом больше 128 Гб (LBA-48 или BigLba). В старых операционках их поддержка не предусмотрена вообще, а новые требуют последних Service Pack’ов. Поддержка таких винтов в UniATA встроена. И наконец — ситуация смены материнской платы. Обычно это нетривиальная задача. Если просто сделать замену, драйвера от предыдущей платы не опознают новый IDE контроллер и система не загрузится. Придется возвращать плату назад, принудительно менять драйвера на стандартные, снова менять плату и устанавливать новые. О том, чтобы ходить со своим загрузочным винчестеров к друзьям в гости (или на работу) можно забыть (либо довольствоваться скоростью 0.5-3 Мб/сек). Поскольку UniATA поддерживает большой список контроллеров и в дополнение к списку понимает почти любые стандартные (обычные onboard primary/secondary), такая проблема тоже оказывается решенной. UniATA также понимает новые SATA и AHCI контроллеры. Ниже можно почитать более подробный (и более технический) список полезностей.
Kyocera — приложения и инструменты
В продолжение цикла популярных статей о Kyocera предлагаю материал о программах, с помощью которых можно управлять, настраивать и обслуживать офисные устройства Kyocera.
Каждое отдельное приложение достойно специальной статьи, и, может быть, в будущем так и получится, но пока — только общий краткий обзор, с ориентацией на пользователей, которые только начинают знакомиться с продукцией нашей компании и нуждаются в легком пособии для быстрого ориентирования среди многообразия фирменных названий. Первая часть посвящена сугубо пользователям: я рассматриваю в ней программы, которые касаются «потребления» возможностей техники Kyocera, а все, что касается обслуживания и настройки — пойдет во второй части статьи.
(Керамические ножи на картинке к программам управления принтерами-сканерами отношения не имеют, но зато красивые и напоминают об исторической сути компании — производство керамики)
Основой для работы со всей продуктовой линейкой печатающих устройств является Printer Driver:
Управление сосредоточено в стандартной панели печати Windows:
Сопутствующие программы, которые расширяют и облегчают возможности работы с драйвером:
KYOnet for clients — маленькое приложение для пользователей, которое показывает статус принтера и вашего задания на печать. В чем-то заменяет стандартный статус-монитор windows. Вы просто будете знать, что происходит с принтером и с вашей задачей на печать.
KYOnet for Direct Printing — печать PDF-документов без установки Acrobat reader.
Prescribe printer language — штука для дотошных. Буквально — редактор, в котором с помощью языка программирования Prescribe (от Kyocera) можно выполнять (или автоматизировать) задачи для принтера, которые не могут быть выполнены в других приложениях. Язык довольно простой, и после чтения руководства с примерами командовать принтером сможет любой читатель Хабра.
С основой — Printer Driver и тем, что рядом с ним, разобрались, перехожу к сканированию.
Для дополнительных удобств:
File Management Utility (FMU) — приложение для распределения файлов отсканированных документов по сети.
Вы можете указывать условия, при которых файлы будут отправляться в ту или иную сетевую папку, и, конечно, делать это для нескольких МФУ Kyocera. Условие — устройство должно иметь опцию HyPAS. Принцип работы утилиты — следить за появлением файлов в определенной указанной папке, и перекладывать их в соответствии с указанными вами правилами.
PANELPLUS — это приложение гораздо ближе к «железу» (а точнее — внутри него) и представляет собой решение на базе HyPAS для операционных панелей устройств. Позволяет использовать кнопки запуска задач по сканированию собственного изготовления.
Внешне выглядит так:
Если вы часто выполняете какие-то однотипные задачи, то удобно настроить кнопку, которая позволит запускать их в одно нажатие, а не набирать каждый раз повторяющиеся параметры.
Для «изготовления» кнопок используется приложение Panel Plus Designer:
Panel Plus Designer — как программа устанавливается на компьютере, в нем, с удобствами, вы создаете нужную вам задачу в виде наглядного workflow. Получившийся в итоге «design.xpp», импортируете на МФУ (с USB-флешки) и видите необходимую кнопку на панели устройства.
(Для работы с PPD нужна java, JRE 6.0 или свежее)
KYOcapture — полное управление процессом сканирования, десктопное приложение, суть которого лучше всего выражается вот этим скриншотом:
С помощью программы можно настроить любые процессы сканирования и последовательности работы со сканами — сканировать бумажные или электронные документы, именовать их по нужным правилам, пересылать одновременно в несколько хранилищ, выполнять операции совместно с HyPAS и т.д.
Пример захвата документов из Outlook (как иллюстрация простоты работы с приложением):
Для наглядности у меня есть рекламная диаграмма, демонстрирующая принцип KYOcapture — берем откуда угодно, обрабатываем и отправляем куда угодно:
С пользовательскими приложениями — пока все. (В список можно добавить мобильное клиентское приложение под Android, которое удостоилось отдельной статьи на Хабре)
В следующем материале обещаю сделать такое же быстрое описание утилит, которые будут полезны администраторам сетей, включающих в себя офисные устройства Kyocera.







