В Linux приложение командной строки scanimage с успехом используется для быстрой и надёжной отправки команд сканера при выполнении ряда полезных функций.
Приложение входит в состав пакета Scanner Access Now Easy (SANE), используемого для управления сканерами и камерами.
Содержание
Установка
Устанавливается весь пакет SANE.
Установка в Arch Linux
oleg@mobile:~:$ yay -S sane
Sync Explicit (1): sane-1.3.1-2
предупреждение: sane-1.3.1-2 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...
Пакеты (1) sane-1.3.1-2
Будет установлено: 18,57 MiB
Изменение размера: 0,00 MiB
:: Приступить к установке? [Y/n] n
-> error installing repo packages
oleg@mobile:~:$Переустанавливать SANE, конечно же, нет необходимости.
Установка в Ubuntu
oleg@mobile:~:$ sudo apt install saneСинтаксис
$ scanimage [OPTION]...Запустить получение изображения на сканирующем устройстве и записать данные изображения на стандартный вывод.
Параметры
Параметры разделяются пробелом для односимвольных опций (например, -d epson) и знаком = для многосимвольных опций (например, --device-name=epson).
-d, --device-name=DEVICE
Использовать указанное сканирующее устройство (например,
hp:/dev/scanner)--format=pnm|tiff|png|jpeg|pdf
Формат выходного файла
-i, --icc-profile=PROFILE
Включить этот профиль ICC в файл TIFF
-L, --list-devices
Показать доступные сканирующие устройства
-f, --formatted-device-list=FORMAT
Аналогично
-L, но можно указать ФОРМАТ вывода:%d(имя устройства),%v(производитель),%m(модель),%t(тип),%i(индексный номер) и%n(перевод строки)-b, --batch[=FORMAT]
При работе в пакетном режиме ФОРМАТ по умолчанию -
out%d.pnmout%d.tifout%d.pngилиout%d.jpgв зависимости от--formatЭта опция несовместима с--output-file.--batch-start=#номер страницы, с которой следует начинать именование файлов--batch-count=#
Количество страниц, сканируемых в пакетном режиме
--batch-increment=#
Увеличить номер страницы в имени файла на
#--batch-double
Увеличить номер страницы на два, то же самое, что и
--batch-increment=2--batch-print
Вывести имена файлов изображений на стандартный вывод
--batch-prompt
Спрашивать о нажатии клавишы перед сканированием страницы
--accept-md5-only
Ппринимать только запросы на авторизацию с использованием
md5-p, --progress
Сообщения о ходе печати
-o, --output-file=PATH
Сохранить вывод в указанный файл вместо
stdout. Эта опция несовместима с--batch-n, --dont-scan
Задать только параметры, не сканировать
-T, --test
Тщательно протестировать бэкэнд
-A, --all-options
Список всех доступных вариантов бэкэнда
-h, --help
Отобразить это справочное сообщение и выйти
-v, --verbose
Выводить ещё больше статусных сообщений
-B, --buffer-size=#
Изменить размер входного буфера (в кБ, по умолчанию 32)
-V, --version
Вывод информации о версии
Использование приложения scanimage в Linux
Простейшая команда сканирования
В данном случае не указываются никакие опции, а вывод перенаправляется в файл scan_out:
$ scanimage > scan_outФорматом изображения по умолчанию является PNM, а режим по умолчанию (например, строка, монохром или цвет) определяется сканером.
Если сканер не обнаружен, то будет получен следующий (или аналогичный) вывод:
$ scanimage: no SANE devices foundБудет также поучено информационное сообщение о том, что выходной формат не установлен, так как форматом изображения по умолчанию является PNM:
$ Output format is not set, using pnm as a default.Выходной формат можно заменить на TIFF, PNG или JPEG.
Указание выходного файла
Стандартный вывод можно перенаправить в файл с помощью параметра -o, указав имя и полный путь к выходному файлу с определённым форматом:
$ scanimage -o scan_out.pngУказание выходного формата
Выходной формат может быть задан явно следующим образом:
$ scanimage --format=tiff -o scan_out.tiffили так:
$ scanimage --format=tiff > scan_out.tiffВ данном случае будет выведен формат TIFF.
Листинг
При запуске команды с параметром -L будут перечислены все обнаруженные устройства:
$ oleg@mobile:~:$ scanimage -L
device `v4l:/dev/video0' is a Noname WebCam SC-0311139N virtual device
oleg@mobile:~:$Если одно из устройств имеет подключение LAN и USB-соединение, то утилита будет перечислять их на отдельных линиях В этом случае любую из строк можно использовать в качестве адреса для отправки или получения данных.
Каждый сканер имеет свой собственный определённый набор возможных параметров, поэтому следует обязательно экспериментировать с ними, чтобы уточнить команды, которые надо отправлять для получения наилучших результатов.
Заключение
В Linux приложение scanimage позволяет весьма быстро и качественно выполнять сканирование большого количества документов.