next up previous contents index
Next: Contenu du dispositif d'impression Up: Installer une nouvelle imprimante Previous: Un exemple simple de

         
Filtres d'impression

  Ghostscript permet d'afficher et d'imprimer des fichiers PostScript entre autre. Pour l'appeller, il faut taper gs, puis entrer help ou une des commandes possibles dans le mode interactif :

Aladdin Ghostscript 4.03 (1996-9-23)
Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA.
All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS>

Pour avoir la liste des périphériques que Ghostscript reconnaît, taper :

devicenames ==

La liste s'affiche alors :

[/tiffg4 /pnmraw /oce9050 /la50 /ap3250 /ljet3d /pjxl /miff24
/png16m /mgrgray4 /tiffg3 /pgnmraw /m8510 /lips3 /bjc600 /ljet2p
/pj /t4693d8 /png16 /mgrmono /faxg4 /pgmraw /imagen /bjc800 /bj200
/hpdj /dnj650c /cdj550 /pngmono /bitrgb /faxg3 /pbmraw /cp50 /t4693d2
/lp2563 /iwlo /djet500 /cgm24 /pcx256 /psmono /dfaxhigh /xes /lj250
/cdjmono /pdfwrite /lj4dith /cdj850 /cgmmono /pcxgray /tifflzw /pkm
/r4081 /la75plus /cdeskjet /st800 /eps9high /appledmp /bmp256 /mgr8
/tiff12nc /ppm /oki182 /la70 /epson /ljet4 /x11cmyk /x11 /bmpmono
/mgrgray8 /tiffg32d /pnm /necp6 /declj250 /tek4696 /ljet3 /pjetxl
/png256 /mgrgray2 /tiffcrle /pgnm /jetp3852 /nullpage /lbp8 /laserjet
/paintjet /t4693d4 /pnggray /bitcmyk /faxg32d /pgm /ibmpro /iwlq /bj10e
/djet500c /cif /pcx24b /bit /dfaxlow /pbm /ccr /cdj500 /ljetplus /iwhi
/deskjet /cgm8 /pcx16 /tiffpack /pkmraw /sj48 /ln03 /cdjcolor /epsonc
/x11mono /bmp16m /pcxmono /tiff24nc /ppmraw /okiibm /la75 /stcolor
/eps9mid /pjxl300 /x11alpha /bmp16 /mgr4]

et pour quitter :

GS>quit

Pour imprimer en utilisant le péripherique epson, par exemple, appeller Ghostscript comme suit :

gs -sDEVICE=epson

  ou initialiser la variable d'environnement $GS_DEVICE :

export GS_DEVICE=epson

Plusieurs filtres peuvent être utilisés pour imprimer (nenscript, APSfilters...). Voici un exemple de filtrage (pour HP-500, 510, 520,...).

#!/bin/sh
# Script d'impression pour imprimante HP-500 Noir et Blanc
#
# Eric.Dumas@freenix.org
#
# Version 2.0
#
# 5/01/95   (ED) : Ajout du format dvi ;
# 27/10/95  (ED) : Conversion des fichiers textes en fichier PostScript ;
# 01/11/95  (ED) : Un peu de ménage ;
# 12/08/96  (ED) : modification pour gs
# 04/12/96  (ED) : quelques corrections et ajouts.

TmpDir=/tmp
TmpFile=$TmpDir/deskjet.$$

# Utilisateur à prevenir en cas d'erreur
NOTIFY=lp-owner

# Programmes
CAT=/bin/cat
DVIPS=/usr/TeX/bin/dvips
PGS=/usr/bin/gs
AIIPS=/usr/local/bin/a2ps

# Chemins d'accès pour GS
GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:\
        /usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts

# C'est parti
$CAT - > $TmpFile

echo -ne '\033E'

set -- `file $TmpFile`

shift

FileType=$*

# Transformation du PostScript en format Deskjet500
# résolution à 300x300 - format a4
GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE\
-sOutputFile=- - /usr/lib/ghostscript/quit.ps  || echo -ne '\033&10H'"

case $FileType in

       *DVI*) # Fichier DVI
         $DVIPS -t a4 $TmpFile \
           -f | $GS
        ;;

       *PostScript*)    # Impression de fichiers Postscript
         $CAT $TmpFile | $GS
        ;;

        *text*|*script*)
         $CAT $TmpFile | $AIIPS -nP -r -8 | $GS
        ;;

        *data*)
          echo -ne '\033&;k0G'  # C'est un et commercial sans ; !
          /bin/cat $TmpFile
         ;;

        *)
          echo "Deskjet: Unknow filetype $FileType" >> /dev/console
          echo "Deskjet: $TmpFile Unknow filetype $FileType" | mail $NOTIFY
        ;;

       *DVI*) # Fichier DVI
         $DVIPS -t a4 $TmpFile \
           -f | $GS
        ;;

       *PostScript*)    # Impression de fichiers Postscript
         $CAT $TmpFile | $GS
        ;;

        *text*|*script*)
         $CAT $TmpFile | $AIIPS -nP -r -8 | $GS
        ;;

        *data*)
          echo -ne '\033&;k0G'  # C'est un et commercial sans ; !
          /bin/cat $TmpFile
         ;;

        *)
          echo "Deskjet: Unknow filetype $FileType" >> /dev/console
          echo "Deskjet: $TmpFile Unknow filetype $FileType" | mail $NOTIFY
        ;;
esac

/bin/rm -f $TmpFile
echo -ne '\033E'

  Le filtre joint au paquet de gestion d'impression se nomme /usr/sbin/lpf. Il est peu pratique, mais d'autres filtres sont sûrement disponibles sur le système. Pour en avoir la liste, taper :

man -k filter

Pour spécifier un filtre, il faut modifier la valeur de la variable if dans le fichier de configuration /etc/printcap, puis relancer lpd :

lpc restart all

Il existe deux filtres fréquemment utilisés car très puissants :

Dans tous les cas, un filtre général comme présenté plus haut pourra invoquer ou non suivant les cas différents filtres comme gs ou nenscript.


next up previous contents index
Next: Contenu du dispositif d'impression Up: Installer une nouvelle imprimante Previous: Un exemple simple de
MATHIEU DECORE
1999-11-03
Merci de me dire ce que pensez de ce document.