Опишу здесь "щадящий" метод сканирования книг и документов, не требующий расшивания и даже механического контакта со страницами.
Пару месяцев назад мне в руки попали пара документов исторической ценности: описание архитектуры советской ЭВМ СВС-1. Папки довольно толстые и негибкие: прижать их к стеклу традиционного сканера нереально. Расшивать папки было бы варварством: всё-таки музейный экспонат. Я обзвонил фирмы, предлагающий коммерческий сервис по сканированию, но остались сомнения как в качестве результата, так и в сохранности документов. Решил городить свой огород.
Приобрёл сканер, не требующий физического контакта с объектом: CZUR ET16 Plus. Фактически это умная 16-мегапиксельная фотокамера с подсветкой и лазерной наводкой на резкость. Притом софт работает на Маке, что для меня критично. Особенность: подключать к компьютеру надо родным USB-кабелем, иначе будут глюки.

Шаг 1: сканируем, причём для экономии сразу в чёрно-белом режиме. Титульную страницу можно в цвете. Каждая страница в максимальном разрешении образует отдельный файл типа image01234.jpg размером один-два мегабайта. Если непосредственно запихнуть их в PDF, документ в 172 страницы займёт 240 мегабайт. Это слишком расточительно, будем мудрить.
Шаг 2: преобразуем страницы в формат PNG, попутно уменьшая разрешение в два раза. Используем для этого редактор GIMP в пакетном режиме. Создаём файл ~/.gimp-2.8/scripts/batch-to-png.scm со следующим содержимым:
Можно бы ещё сэкономить, если умудриться убрать с изображения лишний шум. Я пытался задействовать фильтр Гаусса:
Шаг 3: Преобразуем страницы в PDF.
Для сравнения, вот версия с гауссом на втором шаге, но без уменьшения разрешения: view (40 мегабайт)
Пару месяцев назад мне в руки попали пара документов исторической ценности: описание архитектуры советской ЭВМ СВС-1. Папки довольно толстые и негибкие: прижать их к стеклу традиционного сканера нереально. Расшивать папки было бы варварством: всё-таки музейный экспонат. Я обзвонил фирмы, предлагающий коммерческий сервис по сканированию, но остались сомнения как в качестве результата, так и в сохранности документов. Решил городить свой огород.
Приобрёл сканер, не требующий физического контакта с объектом: CZUR ET16 Plus. Фактически это умная 16-мегапиксельная фотокамера с подсветкой и лазерной наводкой на резкость. Притом софт работает на Маке, что для меня критично. Особенность: подключать к компьютеру надо родным USB-кабелем, иначе будут глюки.

Шаг 1: сканируем, причём для экономии сразу в чёрно-белом режиме. Титульную страницу можно в цвете. Каждая страница в максимальном разрешении образует отдельный файл типа image01234.jpg размером один-два мегабайта. Если непосредственно запихнуть их в PDF, документ в 172 страницы займёт 240 мегабайт. Это слишком расточительно, будем мудрить.
Шаг 2: преобразуем страницы в формат PNG, попутно уменьшая разрешение в два раза. Используем для этого редактор GIMP в пакетном режиме. Создаём файл ~/.gimp-2.8/scripts/batch-to-png.scm со следующим содержимым:
(define (batch-to-png infile outfile ratio)
(let* (
(image (car (gimp-file-load RUN-NONINTERACTIVE infile infile)))
(drawable (car (gimp-image-get-active-layer image)))
(cur-width (car (gimp-image-width image)))
(cur-height (car (gimp-image-height image)))
(width (* ratio cur-width))
(height (* ratio cur-height))
)
(gimp-image-scale image width height)
(gimp-convert-indexed image NO-DITHER WEB-PALETTE 256 0 0 "")
(file-png-save 1 image drawable outfile outfile 1 9 1 1 1 1 1)
(gimp-image-delete image)
)
)После этого выполняем скрипт:for infile in image*.jpg
do
outfile=`basename $infile .jpg`.png
gimp -i -b '(batch-to-png "'$infile'" "'$outfile'" 0.5)' -b '(gimp-quit 0)'
doneПолучаем набор файлов image*.png размером примерно в 14 раз меньше исходного. Уже хороший выигрыш.Можно бы ещё сэкономить, если умудриться убрать с изображения лишний шум. Я пытался задействовать фильтр Гаусса:
(plug-in-sel-gauss RUN-NONINTERACTIVE image drawable 5.0 178)Не могу сказать, что доволен результатом. Хорошо бы подобрать другой фильтр, способный отфильтровать ненужные точки и штрихи, но не нарушающий качество букв текста.
Шаг 3: Преобразуем страницы в PDF.
for infile in image*.png
do
outfile=`basename $infile .png`.pdf
convert $infile $outfile
doneШаг 4: Объединяем файлы страниц в единый PDF.pdftk image*.pdf output document.pdfРезультат вы можете видеть здесь: СВС-система-команд.pdf (23 мегабайта)
Для сравнения, вот версия с гауссом на втором шаге, но без уменьшения разрешения: view (40 мегабайт)

no subject
Date: 2019-02-21 07:50 (UTC)