Saturday, June 5, 2010

Kako odštampati booklet i sačuvati papir, toner a Bogami i prirodu

Primjer i upustvo odnose se na konverziju iz A4 u A5 format, što je i najčešće slučaj na ovim prostorima.

Dakle, za ovaj eksperiment nam treba psutils. Ako ga nema, onda ga treba instalirati
(Ups! Command prompt.):

sudo apt-get install psutils

Opširnjije o ovom alatu na http://www.tardis.ed.ac.uk/~ajcd/psutils/

Prvo treba pretvoriti .pdf u .ps file:

pdftops -paper match originalni-fajl.pdf faza1.ps

Slijedeći je sortirati stranice tako da spojimo prvu i posljednju, drugu i pretposljednju itd:

psbook -sN faza1.ps faza2.ps

Eh, ovdje je istaknuto N. N je broj stranica novog dokumenta, jednak ili veći od broja stranica originalnog dokumenta, tako da je djeljiv sa 4.
Npr. ako originalni dokument ima 16 stranica, onda će i izlazni dokument imati 16 stranica, odnosno N=16, pa će komanda izgledati:

psbook -s16 faza1.ps faza2.p

Međutim, ako originalni dokument ima 18 stranica, N će biti prvi veći broj djeljiv sa 4, odnosno 20, pa će komanda izgledati:

psbook -s20 faza1.ps faza2.p

Sada mijenjamo veličinu stranica dokumenta sa A4 na A5:

psresize -pA5 -PA4 faza2.ps faza3.ps

A zatim spajamo po dvije stranice A5 formata u jednu A4:

psnup -2 -PA5 faza3.ps faza4.ps

Još je preostalo pretvoriti posljednji .ps fajl u .pdf:

ps2pdf faza4.ps booklet-fajl.pdf

Pospremimo svo smeće koje sam napravio:

rm *.ps

Sad ovaj fajl treba i odštampati.
Prvo štampamo neparne stranice dobivenog dokumenta, okrenemo papir i vratimo u štampač.
Zatim štampamo parne stranice, ali u inverznom redoslijedu.
Ili je obrnuto? :/

S malo sreće, i uz metodu pokušaja i pogrešaka, na kraju savijem papire i dobijem A5 knjižicu.

Ovo ne mora biti najlakša ili najpametnija metoda; - jednostavno je jedina koju ja znam. :/


UPDATE:

Evo skripte koja relativno automatizira čitav proces:

#!/bin/bash
INPUTFILE=$1
OUTPUTFILE=${INPUTFILE%.pdf}-booklet.pdf
pdftops -paper A4 -expand $INPUTFILE tmp1.ps
NUMBEROFPAGES=`grep -c showpage tmp1.ps`
if [ $(($NUMBEROFPAGES%4)) -ne 0 ]; then
NUMBEROFPAGES=$(($NUMBEROFPAGES/4*4+4))
fi
psbook -s$NUMBEROFPAGES tmp1.ps tmp2.ps
psresize -pA5 -PA4 tmp2.ps tmp3.ps
psnup -2 -PA5 tmp3.ps tmp4.ps
ps2pdf tmp4.ps $OUTPUTFILE
rm *.ps


Upotreba: ./ime-skripte.sh ime-fajla.pdf
Rezultat: ime-fajla-booklet.pdf

No comments:

Post a Comment