
Скрипт для печати книг в Linux
Данная статья написана как руководство по созданию книг в Linux(Линукс). Всё будет происходить через консоль. Мы напишем скрипт для bash который будет автоматически производить спуск полос и выдаст готовый pdf файл. Также добавлена пара скриптов для создания и корректировки контраста pdf.
Установка необходимых программ
impose+ - Инструменты для печати книг
sam2p - преобразование картинки в pdf
pdftk - объединение кучи pdf файлов в один
$ sudo aptitude install impose+ sam2p pdftk netpbm
Сборка pdf из Jpeg файлов
Раздел для тех кому нужно создать pdf из набота картинок. У меня был набор jpeg фалов следовательно и скрипт я делал для jpeg. Также мой скрипт обесцвечивает картинки.
Я создал файл merge_jpegs.sh (или еще подобный для tiff tiff_merge_to_pdf.sh) со следующим содержимым:
#!/bin/bash for i in *.jpg do echo "./$i" jpegtopnm "./$i" | sam2p - PDF: `echo $i | tr -d "scan " | tr -d ".jpg"`_.pdf done pdftk *_.pdf output welding_controller.pdf rm *_.pdf
Настройка контраста
Данный раздел используется в том случае если у вас pdf состоит из тусклых картинок
Скрипт для выравнивание контраста
Создаем файл contrast_correct.sh со следующим содержимым:
#!/bin/bash pdftoppm $1 "" for i in *.ppm do ppmnorm -wpercent $2 ./$i | sam2p - PDF: ./`echo $i | tr -d '-' | tr -d .pgm`_.pdf rm ./$i done pdftk *_.pdf output `echo $1 | tr -d '-' | tr -d .pgm`_contrast.pdf rm *_.pdf
Описание синтаксиса скрипта
./contrast_correct.sh <исходный.pdf> <параметр>
Параметр подбираем экспериментально, я ставил 85 (это в процентах). На выходе получаем pdf файл с префиксом _contrast
Спуск полос
Написание скрипта для спуска полос
Создаем файл make_book.sh со следующим содержимым:
#!/bin/bash pdftops $1 - | psbook -s $3 | impose -scale $2 -v | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_book./g"` pdftops `echo $1 | sed -e "s/\.\(w*\)/_book./g"` temp.ps psselect -o temp.ps | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_odd.1/g"` psselect -e temp.ps | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_even./g"` rm temp.ps
Описание синтаксиса скрипта
./make_book.sh <входящий_pdf_файл> <масштаб> <колличество страниц в тетрадке>
Все параметры обязательны
Порядок печати
Сначала печатаем файл с префиксом _odd (нечетные страницы), затем переворачиваем и печатаем в обратном порядке файл с префиксом _even (четные страницы).
книга готова!!!
Печатаем книгу сами! Спуск полос в домашних условиях
Использование psutils - пакета для работы с PostScript файлами
Сшивание книги