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

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

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

  1. cialis 5 mg yeterli mi generic cialis pharmacy cheap viagra cialis levitra

  2. When will cialis patent expire http://cialisee.com/ generic cialis by
    mastercard

  3. cialis 5 ipb cialis price uk price of cialis in bangkok

  4. instructions on cialis cheap generic cialis online cialis preise usa

  5. Hi i'm Vikram Rathi welcome to my world well start off as an engineer went and completed my MBA finance and today I am a fashion designer This jeanury hasn't been easy but always interesting fashion conducted or choreographed you could say 4 fashion shows in my engineering college every time well I think that shows where the seed is shown for fashion in my life and today I am probably one of the designers that finish and also and run this company along with my sister who is also an engineer or cuisine architect by education and having fun !

  6. can you give klonopin to cats klonopin withdrawal valium klonopin dosage for stage fright

  7. how to prevent klonopin withdrawal 1mg klonopin and drinking how many klonopin is dangerous

  8. lorazepam vs klonopin strength buspar mixed with klonopin klonopin adderall and weed

  9. child took klonopin what klonopin does will klonopin make me hungry

  10. clonidine klonopin together klonopin cant focus klonopin and lamictal used together

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

*

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

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

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

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