Joku tietenkin kertoo, että olisihan sen nyt jollain ohjelmalla ja vivullakin toteuttanut.
No en ole löytänyt sellaista, joten tein siihen scriptin.
Tässä tarvitaan impose-pakettia, jolla varsinainen sivut vierekkäin liimaaminen on tehty.
Lisäksi tässä tarvitaan kaksipuoleista tulostinta, ja tulostin kannattaa laittaa tulostamaan kaksipuoleisia lyhyen sivun mukaan, jotta tulee järkevä vihko.
Tulostaa siis A4 portrate postscript-tulosteesta vihon, kun tulostetaan kaksipuoleisia tulostavalla kirjoittimella.
Yksipuoleisia tulostavalle tulostimelle voi kokin tehdä oman version. Jos kysyntää on, jota ei todennäköisesti ole, voin tehdä yksipuoleisia tulostavalle tulostimelle version. Siinä tulisi tulosteena 2 kpl ps-tiedostoja, kun tässä versiossa tulee vain yksi tiedosto aputiedostojen lisäksi.
#!/bin/bash
declare -i max
declare -i lkm
declare -i alku
declare -i loppu
declare -i nalku
declare -i nloppu
gs -dNOPAUSE -dBATCH -q -sOutputFile=_bkexp%d.ps -r300 -sPAPERSIZE=a4 -sDEVICE=pswrite ${1}
lkm="1";
while [ -e _bkexp${lkm}.ps ]
do
lkm="$lkm+1"
done
max="$lkm + 2"
max="$max / 4"
max="$max * 4"
echo "lkm=$lkm"
echo "max=$max"
if [ "$lkm" -lt "$max" ]
then
alku="0";
else
alku="1";
fi
loppu="$alku + $max-1"
echo "alku=$alku"
echo "loppu=$loppu"
ss="";
while [ "$alku" -lt "$loppu" ]
do
nalku="$alku + 1";
nloppu="$loppu - 1";
eka="empty.ps"
toka="empty.ps"
kolmas="empty.ps"
neljas="empty.ps"
s="_bkexp${loppu}.ps"
if [ -e "$s" ]
then
eka="$s"
fi
s="_bkexp${alku}.ps"
if [ -e "$s" ]
then
toka="$s"
fi
s="_bkexp${nalku}.ps"
if [ -e "$s" ]
then
kolmas="$s"
fi
s="_bkexp${nloppu}.ps"
if [ -e "$s" ]
then
neljas="$s"
fi
ss="$ss $eka $toka $kolmas $neljas"
alku="$nalku + 1";
loppu="$nloppu - 1";
done
psmerge $ss >output.ps
reppa=`grep "%%BoundingBox:" "${1}" | head -n 1`
fromr=`grep "%%BoundingBox:" "output.ps" | head -n 1`
sed -e "s/$fromr/$reppa/" output.ps >koutput.ps
rm _bkexp*
impose koutput.ps
Lisäksi tarvitaan tyhjän sivun tuloste postcriptinä.
Tämä scripti kannattaa laittaa omalle hakemistolleen, johon myös empty.ps (tyhjän sivun postScript tiedosto) tulee laittaa.
http://peran.kapsi.fi/empty.ps