Артем Носов поделился опытом обработки PostScript файлов используя комплект утилит psutils.
Например:
Печать четных страниц
psbook example.ps | psnup -l -pa4 -2 | pstops "2:0(1in,0in)" | lpr
переворачиваем пачки и печатаем нечетные:
psbook example.ps | psnup -l -pa4 -2 | pspstops "2:-1(1in,0in)" | lpr
Выборочная печать страниц:
psselect -p1-12,103,23-28,3 example.ps output.psURL: http://linuxshop.ru/unix4all/?cid=&id=426
Новость: http://www.opennet.me/opennews/art.shtml?num=3323
Вот каким скриптом я пользуюсь для той же цели (с разбивкой на тетради)
Недостаток - последняя тетрадь дополняется пустыми страницами до полной.
-----------------------------------------------
#!/bin/bashSRCNAME=$1
TEMPNAME=/tmp/ps1temp
SHEETS=${2:-7}
let "PAGES_IN_SHEET=$SHEETS * 4"
NAMEONLY=`basename ${SRCNAME} .ps`if [ -z $SRCNAME ]
then
echo "USAGE: make_book <source_file>.ps [ <sheets in booklet>"
echo " Default to use 7 sheets (28 pages) in booklet"
exit
fiecho Processing file $SRCNAME, pages on sheet: $PAGES_IN_SHEET ...
TEMPNAME=${NAMEONLY}
psbook -s${PAGES_IN_SHEET} ${TEMPNAME}.ps | psnup -q -2 > ${TEMPNAME}_pr.ps
psselect -o ${TEMPNAME}_pr.ps ${NAMEONLY}.odd.ps
psselect -e -r ${TEMPNAME}_pr.ps ${NAMEONLY}.even.psrm -f ${TEMPNAME}_pr.ps
echo ODD SIDE \: ${NAMEONLY}.odd.ps
echo EVEN SIDE \: ${NAMEONLY}.even.psecho Press a key when ready to print FIRST side
pause
lpr prep2pr_odd.psecho Press a key when ready to print SECOND side
pause
lpr prep2pr_even.ps------------------------------------------------
поправка - последние 6 строк надо заменить на :echo Press a key when ready to print FIRST side
pause
lpr ${NAMEONLY}.odd.psecho Press a key when ready to print SECOND side
pause
lpr ${NAMEONLY}.even.ps