В 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.pnm
out%d.tif
out%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
позволяет весьма быстро и качественно выполнять сканирование большого количества документов.