Спуск полос в одну строчку

Feb 04, 2013 16:25


В одной строке кода shell-сценария больше духа UNIX,
чем в десяти тысячах строк кода на С!
Мастер Фу

Если нужно по-быстрому сделать спуск полос в PDF-файле, то можно воспользоваться следующим простым скриптом.

Допустим, ваша будущая книжка будет содержать 40 страниц (или любое другое число, которое делится нацело на четыре) и будет иметь формат A5, сделанный из страниц исходного формата A4.

0. У вас в системе должны быть установлены пакеты ghostscript и psutils.
1. Создаём файл, скажем, makebook.sh со следующим содержимым:
#!/bin/bash
pdftops $1 - | psbook -s 40 | psnup -P a4 -p a4 -m 0 -b 1 -2 | ps2pdf - `echo $1 | sed -e "s/\.\(\w*\)/_imposed.\1/g"`;

2. Запускаем его в командной строке, подавая аргументом нужный PDF-файл:
$ ./makebook.sh foo.pdf

3. На выходе получаем файл foo_imposed.pdf, в котором рядом с первой страницей напечатана 40-я, рядом со второй - 39-я и т.д.
4. Если нужно сделать книжки другого размера, то можно поиграться с параметрами psnup. Я делал таким образом A4 → A5, A5 → A5, A4 → A6. Причём это работает со всеми PDF-файлами независимо от происхождения. Даже с теми, которые сделаны, например, не к столу будет сказано, в MS-Word.

linux

Previous post Next post
Up