[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] Vous causez de postscript, alors voila une autre question:-)



http://icps.u-strasbg.fr/~giersch/printers.html

pstops (dans psutils) ne fait pas cela ? 

Voici un script aussi qui donne une bonne piste, mais il semble que 
certains paramètres postscript viennent suivant l'imprimante pour le 
recto verso :

#!/bin/sh
# PsToBroch shell script. Par Félix Hauri <felix@f-hauri.ch> oct 2000.
# Ce script utilise la commande 'pstops' du package 'psutils'.

# Découper un A4 en deux fichiers (1 recto, 1 verso)
# avec un comptage inversé des pages pour création de brochures A5.

# Syntaxe:
#    $0 file.ps
#               --> Création de 'file_4a.ps' et 'file_4b.ps'
#                   dans le répertoire courrant:
#                       $ cd /tmp;pstobroch.sh ~/fichier.ps
#                   va créer /tmp/fichier_4[ab].ps

# Sur ma jet d'encre, il me suffit d'imprimer le paquet 'a' puis le 
retourner,
# pour imprimer le paquet 'B', planter deux agraffes et plier. les pages
# s'organisent systématiquement juste.

# En cas d'inversion (dépendant de l'imprimante), il conviendra d'inverser
# l'ordre des pages, voir des paquets...

# Sur une imprimante recto-verso, il faudra ne faire qu'un fichier, en 
incluant
# au début du fichier (entre begin et end prolog, ou avant le fichier), 
# la séquence d'initialisation 'recto-verso', qui est mentionné dans le
# fichier de description de l'imprimante (PPD File).
pages=$(
    pstops '1:0' "$1" 2>&1 >/dev/null|\
    awk '/Wrote/ {
        n=0
        while ($n != "Wrote") {n++}
        n++
        print $n
        }'
    )

if [ $pages -lt 4 ] ; then
    echo "Fonction inutile avec moins de 4 pages"
    exit 0
    fi

ofile=${1##*/}
orep=${1%/*}
[ "$orep" = "$1" ] && orep="."
ofile=${ofile%.*}

# Le rapport A5/A4, c'est 1/sqrt(2).
gauche="L@.7071(21.02cm,0cm)"
droite="L@.7071(21.02cm,14.87cm)"
fpages=$(($pages/4))
[ $(($fpages*4)) -lt $pages ] && fpages=$(($fpages+1))

echo "$orep/$ofile ($pages) -> ${ofile}_4.ps: $fpages pages"

string="$(($fpages*4)):"
lpos=$(($fpages*4-1))
maxr=$(($lpos/2+1))
rpos=0
while [ $rpos -lt $maxr ] ;do
    string="$string$lpos$gauche+$rpos$droite,"
    lpos=$(($lpos-2))
    rpos=$(($rpos+2))
    done
string="${string%,}"
pstops "$string" $1 >${ofile}_4a.ps

string="$(($fpages*4)):"
lpos=1
rpos=$(($fpages*4-2))
while [ $lpos -lt $maxr ] ;do
    string="$string$lpos$gauche+$rpos$droite,"
    lpos=$(($lpos+2))
    rpos=$(($rpos-2))
    done
string="${string%,}"
pstops "$string" $1 >${ofile}_4b.ps




-- 
Alexandre Dulaunoy		http://www.foo.be/
AD993-RIPE			http://www.ael.be/
"People who fight may lose.  People who do not fight have already lost."
  - Bertolt Brecht


On Mon, 20 May 2002, Pablo Saratxaga wrote:

> Bondjoû,
> 
> Tiens j'ai aussi une question postscript.
> 
> J'ai un fichier postscript d'a peu près 400 pages; et à côté de chez moi
> un imprimeur ki pourait les imprimer pour pas cher, mais pour ça
> il me faudrait que le fichier soit en duplex (recto-verso), mais
> si on fait un deplacer-lacher sur l' icône de l'imprimante (le
> système de l'imprimeur marche sous MacOS) ça n'imprime que sur une face.
> 
> Pourtant, si le fichier postscript indique que c'est du duplex printing 
> ça marche (j'ai pu le tester en faisant un essai sur la machine macintosh,
> sauver sur fichier puis envoyer le ficheir ps sur l'imprimante).
> 
> Donc ma question est: existe-t-il un utilitaire permettant de
> modifier un fichier ps pour qu'il indique à une imprimate
> postscript professionelle qu'elle doit imprimer en recot-verso ?
> 
> Merci
> 
> 

_______________________________________________
Linux Mailing List
LCP - 11 Mai - http://www.unixtech.be/lcp.php
Archives: http://www.unixtech.be/mailman/listinfo/linux