On 20 Mar 2003, Jean-Bruno Luginbühl wrote:

> Bonjour à tous,
> 
> je bute sur une petite chose. Nous utilisons OpenOffice.org pour notre
> bureautique, sous Linux. Maintenant mon problème c'est que nous avons
> une imprimante avec deux bacs. Aucun problème pour imprimer sur l'un ou
> l'autre bac, simplement dans un bac j'ai des feuilles avec entêtes et
> sur l'autre j'ai des pages blanches. Lorsqu'une lettre contient deux ou
> plus de pages, je voudrai que la première soit imprimée sur le bac 2 et
> que les suivantes s'impriment sur le bac 3. Quel est la commande LPR ou
> autre pour y parvernir?
Le faire en deux étapes:
Imprimer de la page 1 à la page 1 sur le bac 2, puis
imprimer de la page 2 à la fin, sur le bac 3.
...
Tu peux, si vraiement créer une imprimante virtuelle qui utilisera
les outils du paquet ``pstools'' pour rediriger la première page sur
l'imprimante réelle et sur le bac deux puis rediriger les pages suivantes
sur l'imprimante réelle et sur le bac trois...
...
Ou utiliser un script pour imprimer plutot que la commande lpr...
(Le script utilisant les méthodes décrites précédement;)

Un truc du style: ...

#!/bin/sh
# script pondu ``in live'' dans mon mailer
# Not tested!
# Sous réserves: Devrait fonctionner, mais pas essayé:-b 
#
#export LPFIRST="lpr -P monimprimantebac2"
#export LPLAST="lpr -P monimprimantebac3"
# ou
#export LPFIRST="cat pbacdeux.head - | lpr -P monimprimante"
#export LPLAST="cat pbactrois.head - | lpr -P monimprimante"
# mais en attendant:
export LPFIRST="cat >/dev/null;echo print bac1"
export LPLAST="cat >/dev/null;echo print bac2"

export TEMPFILE=$(date +/tmp/print_entete_%d-%m-%y_%T_)$$
cat >$TEMPFILE || exit 1
trap "rm $TEMPFILE;exit" 0 1 2 3 6 9 15

NPAGES=$(
    pstops '1:0' "$TEMPFILE" 2>&1 >/dev/null |\
    awk '/Wrote/ {
        n=0
        while ($n != "Wrote") {n++}
        n++
        print $n
        }'
    )

if [ $NPAGES -lt 2 ] ; then
    echo "cat $TEMPFILE | $LPFIRST" | sh
else
    # Enlever le param ``-q'' pour debug 
    echo "psselect -q -p1 $TEMPFILE  | $LPFIRST" | sh
    echo "psselect -q -p2- $TEMPFILE | $LPLAST" | sh
fi

--
 Félix Hauri  -  <[EMAIL PROTECTED]>  -  http://www.f-hauri.ch


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.

Répondre à