Сканируем в многостраничный PDF из командной строки
Я не описывал, как у меня сделано многостраничное сканирование, но это, на самом деле, один простенький скрипт. Всю работу делает scanimage
, которая, надо сказать, отлично справляется; скрипт, собственно, нужен в основном для для того, чтоб передать ей параметры…
scanimage
не умеет в PDF, зато отлично умеет в многостраничное сканирование. У меня старенький Canon LiDE 20, и то, что есть возможность ожидать нажатия кнопки перед сканированием новой страницы, оказывается очень удобно, без автоподатчика-то.
|
|
Что тут происходит? Сначала проверка, существуют ли в текущей директории файлы с именами scanned.page-*.jpg
и scan.pdf
, и выход с ошибкой, если они есть (иначе скрипт их перезаписал бы). В 12-й строке утилита из комплекта sane
находит, где именно на шине USB сегодня висит сканер (он представляется как «CanoScan»); последние 7 символов в этой строчке — как раз адрес на шине вида «xxx:xxx». Драйвер и шина известны (строка 13), можно запускать scanimage
в режим многостраничного сканирования с подтверждением каждой страницы. Собственно, 15-я строка это и делает; размеры страницы — A4 (сканирую я обычно именно их), а контраст подобран экспериментально для моего конкретного сканера. Ну а дальше convert
из пакета ImageMagick
собирает полученные JPEG’и в PDF.
Написав (довольно давно уже) этот скрипт, я дал себе слово, что, буде возникнет необходимость, добавлю возможность указывать опциями командной строки имя файла или, например, размер бумаги и другие параметры. Пока необходимость не возникла…
Реакции
фронтендер по скидке