cubiccat 02.05.2011 20:42

СкриптыСкрипт-генератор брошюр из простого документа

На самом деле скрипт с документом никак не взаимодействует. Он только создает списки страниц, а вы их распечатываете.

Проще показать на примере.
Допустим мне нужно распечатать некую книгу размером в 73 страницы брошюрами по 20 страниц (это 5 листов A4 по 2 страницы документа на 1 сторону листа).

Делаем так:
1
prb2 73 5


И получаем:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
20,1,18,3,16,5,14,7,12,9		- 
2,19,4,17,6,15,8,13,10,11 -

40,21,38,23,36,25,34,27,32,29 -
22,39,24,37,26,35,28,33,30,31 -

60,41,58,43,56,45,54,47,52,49 -
42,59,44,57,46,55,48,53,50,51 -

OFF,61,OFF,63,72,65,70,67 -
62,OFF,64,73,66,71,68,69 -

WARN!!! В последней брошюре - 3 страниц пустых и 13 с текстом.
WARN!!! Для последней брошюры нужно 4 листа.



Теперь открывает документ для просмотра (я использую evince) и печатаем (не забываем выбрать режим по 2 страницы на сторону) сначала список страниц 20,1,18,3,16,5,14,7,12,9. Затем получившуюся стопку нужно перевернуть вверх ногами (не перемешивая листы) (для некоторых принтеров переворачивать не нужно) и печатаем 2,19,4,17,6,15,8,13,10,11. Складываем стопку пополам и получаем первую брошюру. И т. д.

Так как в документе 73 страницы, то на последнюю брошюру остается 13 страниц и делать брошюру из 5 листов нет смысла - поэтому в данном случае генерируется брошюра на 4 листа (о чем говорится в последней строке вывода скрипта).
Но тем не менее и для 4 листов 13 страниц маловато и 3 страницы чем-то нужно заполнить (о чем говорится в пред-последней строке вывода скрипта). Такие страницы помечены словом «OFF».

Поэтому, если есть возможность отредактировать документ, нужно добавить еще 3 пустых страницы (Для postscript можно использовать psbook). Если такой возможности нет - то вместо «OFF» вписываем номера любых страниц (если в документе уже есть пустая страница ее и вписать).

Так как я редко распечатываю весь документ за раз, то я завел себе отдельную папку, куда для каждого такого документа кладу файл с выводом скрипта и «+» отмечаю то, что уже распечатал. Именно для этого в конце каждого списка добавлен знак «-».

СКАЧАТЬ


Тэги: cups perl
+ 8 -
Похожие Поделиться

Abaza 02.05.2011 23:54 #
Полезный скрипт, спасибо. Буду применять для печати djvu файлов. Для текстовых использую Writer.
dr_magnus 03.05.2011 00:03 #
в целом интересно, но вот только не совсем понятно, как определить эти самые 73 страницы брошюрами по 20 страниц. и еще не очень ясно, что именно нужно скармливать скрипту - обыкновенный текстовый файл или он и что-нить еще слопает?
в целом - нормально, но вот только нормального описания немного не хватает.
Abaza 03.05.2011 00:12 #
Да вроде ничего ему скармливать не надо. Во входящих параметрах указываешь сколько всего листов и по сколько листов хочешь разбить книгу.
dr_magnus 03.05.2011 00:16 #
опс.. спасибо..
я почему-то подумал, что ему нужно файлик скормить, а он его распечатает. а как оказалось, скрипт просто формирует правильную формулу для печати.

ну это я для тех, кто в танке написал :-)
cubiccat 03.05.2011 01:04 #
Все правильно. Именно так.
All4DK 03.05.2011 00:13 #
Я до конца не понял что имеется ввиду под брошюрой? Это такие небольшие блоки, которые потом сшиваются вместе и получается книга?
All4DK 03.05.2011 00:21 #
Да, так и есть - перечитал и удостоверился.
Abaza 03.05.2011 00:28 #
Я, кстати, так и не научился их сшивать, поэтому пользуюсь брошюратором =)
Kraplax 03.05.2011 05:14 #
Интересный скрипт. Вот к нему бы еще параметров допилить - мол, нужны брошюры по 16 страниц, всего страниц 91 - пусть сам высчитывает по сколько страниц там на листе да сколько листов - мне удобнее ведь указывать в количестве страниц в брошюре. Ну и хэлп по --help был бы очень кстати ;-)
А так очень даже удобно :)
cubiccat 03.05.2011 11:27 #
Про help как-то упустил (. Может потом доделаю.

нужны брошюры по 16 страниц,

prb2 91 4

мне удобнее ведь указывать в количестве страниц в брошюре

А мне почему-то удобнее в листах :)
Но если вам в страницах удобнее, то ВОТ.

Хотя, если честно, я тот еще лентяй... Ну вы поняли )
nikitines 07.05.2011 13:05 #
Спасибо за скрипт.
Я, правда, использую такой скрипт для печати pdf-файлов:
pdf2book
Помещаю это добро в ~/.gnome2/nautilus-scripts/
cubiccat 07.05.2011 13:26 #
Спасибо, пощупаем