Скрипт для печати книг в 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 файлами
Сшивание книги

Теги: , ,

Дата: 30 марта 2012

Автор: andreykyz

Комментарии: 0

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>