  Filtros de impresin con Ghostscript
  A. Gustavo Gonzlez agonzale@cica.es
  26 de Septiembre 1999

  En este artculo se introducen los fundamentos para componer filtros
  de impresin mediante el programa Ghostscript.
  ______________________________________________________________________

  ndice General:

  1.      Por qu este documento?

  2.      Lo primero es lo primero: Por qu necesito Ghostscript para
  imprimir en linux?

  3.      La orden gs y sus opciones

  3.1.    Entradas a gs

  3.2.    Dispositivo de salida

  3.3.    Resolucin de la impresin

  3.4.    Salida a un fichero

  3.5.    Escogiendo el tamao de papel

  3.6.    Otras opciones a considerar

  4.      Qu es un filtro de impresin y cmo se construye?

  5.      Filtros mgicos

  5.1.    Magicfilter

  5.2.    Apsfilter

  5.3.    Filtros de impresin Red Hat

  6.      El controlador uniprint

  7.      Impresin remota

  8.      Crditos

  9.      Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Por qu este documento?

  Hace tiempo le un mini-Cmo sobre filtros de impresin maquetado por
  nuestro admirado compaero Ismael Olea olea@iname.com, extrado de la
  red Fidonet, y me dej con la miel en los labios, pues era muy corto.
  En este documento, cuyo carcter es fundamentalmente didctico --
  pensado para usuarios noveles de linux que ya conocen el
  funcionamiento de la impresin por spooling -- intento presentar de
  modo breve y resumido qu es Ghostcript y cmo usarlo para elaborar
  filtros de impresin.

  2.  en linux?  Lo primero es lo primero: Por qu necesito Ghostscript
  para imprimir

  Pues porque el formato estndar de los ficheros imprimibles en UNIX es
  PostScript (PS), pero no todo el mundo tiene una impresora PS.
  Ghostscript, escrito por Peter Deutsch, fundador de Aladdin
  Enterprises, es el intrprete por excelencia de documentos en formato
  PS (y tambin PDF). Ghostscript permite presentar datos PS y PDF en la
  pantalla y adems traducirlos de manera que puedan ser impresos en una
  impresora con capacidad grfica mediante el uso del controlador de
  dicha impresora. Como afortunadamente, adems, disponemos de
  herramientas para convertir otros formatos, tanto de documentos (como
  TEX, HTML, etc.) como de figuras (como GIF, TIFF, etc.) en PS, basta
  con disear filtros de impresin combinando el conversor de formato
  con el programa Ghostscript mediante tuberas (pipes, |).

  Aladdin Enterprises mantiene las nuevas versiones de Ghostscript hasta
  que alcanzan una cierta edad, y luego las libera a la Fundacin de
  Software libre (FSF, Free Software Foundation) para que se distribuya
  como GNU Ghostscript. Estas versiones son las que se distribuyen
  libres de cargo en las distribuciones de Linux. La versin
  Ghostscript 5.1 es de las ltimas liberadas y funciona de perlas para
  la creacin de filtros de impresin.

  3.  La orden gs y sus opciones

  El programa Ghostcript se ejecuta a travs de la orden gs con
  diferentes opciones

  3.1.  Entradas a gs

  Adems de las opciones a considerar, gs acta sobre un fichero de
  entrada en formato PS:

       gs [opciones] fichero.ps

  Donde fichero.ps es el fichero de entrada, pero uno tambin puede
  conectar una entrada por tubera (en el sentido de to pipe) en
  Ghostscript utilizando el nombre de fichero especial -, como por
  ejemplo

       {programa convertidor a formato PS} | gs [opciones] -

  La presencia del argumento - al final de la lnea de rdenes indica
  a Ghostscript que lea la entrada estndar (STDIN) desde un fichero o
  tubera en lugar de desde el teclado. Es la opcin de recibo cuando se
  disea un filtro de entrada para imprimir en PS.

  El fichero - presenta las siguientes caractersticas:

    Cuando Ghostscript termina de leer la tubera, deja de estar en
     modo interactivo. Por ello, - es til nicamente como ltimo
     argumento de la lnea de rdenes.

    - no puede usarse para conectar con una entrada PDF en tubera.

  3.2.  Dispositivo de salida

  Ghostscript dispone de una serie de dispositivos controladores para
  diversos tipos de impresora. Si invocamos gs -h, nos aparecer gran
  cantidad de informacin sobre nuestra versin instalada de
  Ghostscript, entre la que encontraremos los dispositivos
  controladores.  He aqu el listado correspondiente a dicha orden:

       GNU Ghostscript 5.10 (1998-12-17)
       Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA.  All rights reserved.
       Usage: gs [switches] [file1.ps file2.ps ...]
       Most frequently used switches: (you can use # in place of =)
       -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
       -g<width>x<height>  page size in pixels   | -r<res> pixels/inch resolution
       -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
       -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                                embed %d or %ld for page #
       Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF
       Available devices:
          x11 x11alpha x11cmyk x11gray2 x11mono lvga256 vgalib t4693d2 t4693d4
          t4693d8 tek4696 appledmp ccr lp2563 lbp8 lips3 m8510 necp6 cp50 oce9050
          oki182 okiibm r4081 sj48 xes ln03 la50 la70 la75 la75plus sxlcrt deskjet
          djet500 laserjet ljetplus ljet2p ljet3 ljet4 declj250 paintjet pjetxl
          cdeskjet cdjcolor cdjmono cdj550 cdj500 djet500c dnj650c pj pjxl pjxl300
          hpdj uniprint epson eps9mid eps9high epsonc lq850 lp8000 st800 stcolor
          ap3250 ibmpro bj10e bj200 bjc600 bjc800 ljet3d lj4dith lj5mono lj5gray
          lj250 faxg3 faxg32d faxg4 dfaxhigh dfaxlow pcxmono pcxgray pcx16 pcx256
          pcx24b pcxcmyk pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw
          pkm pkmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack cif bmpmono
          bmp16 bmp256 bmp16m tiff12nc tiff24nc psmono psgray bit bitrgb bitcmyk
          sgirgb pngmono pnggray png16 png256 png16m cgmmono cgm8 cgm24 jpeg
          jpeggray miff24 mgrmono mgrgray2 mgrgray4 mgrgray8 mgr4 mgr8 pdfwrite
          pswrite epswrite pxlmono pxlcolor nullpage
       Search path:
          . : /usr/lib/ghostscript/common : /usr/lib/ghostscript/5.10 :
          /usr/lib/ghostscript/fonts
       For more information, see /usr/doc/gs/use.txt.
       Report bugs to ghost@aladdin.com; use the form in bug-form.txt.

  As, si disponemos de una impresora HP Deskjet 550C y vamos a imprimir
  el fichero.ps, haremos:

       gs -sDEVICE=cdj550 fichero.ps

  3.3.  Resolucin de la impresin

  Algunas impresoras pueden imprimir a diferentes resoluciones (siendo
  la menor la que se toma por defecto). Para seleccionar la resolucin
  horizontal (num1) y vertical (num2) en pixels por pulgada, se utiliza
  la opcin
       -rnum1xnum2
       -rnum es equivalente a -rnumxnum (cuando num1=num2=num)

  3.4.  Salida a un fichero

  Si seleccionamos una impresora como dispositivo de salida, Ghostscript
  tambin permite controlar a dnde enva el dispositivo su salida. En
  el sistema DOS, la salida se dirige normalmente a a la impresora
  (PRN); en UNIX, generalmente se enva a un fichero temporal para su
  impresin en cola. Para dirigir la salida a un fichero (fichero.out),
  se utiliza la opcin

       -sOutputFile=fichero.out

  Pero en UNIX, tambin podemos usar esta opcin para enviar la salida a
  una conexin por tubera, por ejemplo al servidor de impresin,
  mediante la orden lpr

       -sOutputFile=\|lpr

  o enviarlo a la salida estndar (sOutputFile=-) para que, por ejemplo,
  el demonio lpd tome esos datos de la salida estndar y los entregue a
  la impresora. Esta es una de las opciones usadas en la construccin de
  filtros de impresin.

       gs [opciones] -sOutputFile=- -q |...

  En este caso es necesario emplear la opcin -q (quiet) que evita que
  el programa Ghostscript escriba mensajes en la salida estndar y se
  mezclen con la corriente de salida del dispositivo de impresin.

  3.5.  Escogiendo el tamao de papel

  Ghostscript se distribuye configurado para usar papel US letter, que
  es el tamao de pgina por defecto, pero existen otros tamaos que se
  configuran empleando la instruccin -sPAPERSIZE=opcin, como por
  ejemplo

       -sPAPERSIZE=a4
       -sPAPERSIZE=legal

  3.6.  Otras opciones a considerar

  En el caso de construccin de filtros de entrada, hay otras opciones
  interesantes:

    -dSAFER: Evita que acten los operadores de borrado o renombrado de
     ficheros, as como la posibilidad de abrir ficheros en cualquier
     otro modo que no sea de slo lectura. Esto es fundamental para el
     mecanismo de spooling del demonio de impresin.

    -dNOPAUSE: Deshabilita el prompt y la pausa al final de cada
     pgina. Se utiliza para producir salidas de impresin o para
     controlar gs desde otro programa.

    @fichero: Hace que gs lea el fichero y trate su contenido como si
     fueran lneas de rdenes. Las instrucciones dentro del fichero
     pueden estar separadas por al menos un espacio en blanco.

  4.  Qu es un filtro de impresin y cmo se construye?

  Antes que nada es necesario recordar el mecanismo de spooling tpico
  de los servidores de impresin en linux. En primer lugar el servidor
  lpr/lprng copia el fichero a imprimir en el directorio de spool (sd)
  indicado en el fichero /etc/printcap, creando en dicho directorio un
  fichero de control indicando el trabajo a imprimir, el usuario que
  solicita el servicio de impresin, parmetros pasados en lnea de
  rdenes, etc. Luego, el demonio de impresin (lpd) comprueba
  peridicamente si hay ficheros de control en el directorio spool, y si
  es as, realiza las siguientes tareas:

    Imprime la pgina de banner si no se ha suprimido (con la
     instruccin sh en el fichero /etc/printcap) y la pasa a travs del
     filtro de salida si lo hay (instruccin of del fichero
     /etc/printcap)

    Si no se indic al servidor de impresin que empleara algn filtro
     de impresin en concreto, entonces se utilizar el filtro de
     entrada, cuya ruta indica el parmetro if del fichero
     /etc/printcap.

    Al ejecutarse el filtro de entrada, se redirecciona su entrada
     estndar al fichero de control y su salida estndar a:

    la entrada estndar del filtro de salida (of) cuando lo haya, y la
     salida de dicho filtro al dispositivo de impresin asociado a la
     impresora (entrada lp del fichero /etc/printcap)

    al dispositivo de impresin indicado en /etc/printcap

  Por lo tanto un filtro de entrada de impresin no es ms que un
  programa (generalmente un guin) que teniendo en su entrada estndar
  (STDIN) un fichero en un formato determinado , p. ej., ps
  (postscript), escribe en su salida estndar (STDOUT) los cdigos
  necesarios para que la impresora imprima dicho fichero.

  Consideremos que disponemos de una impresora HP Laserjet Plus y vamos
  a escribir algunos filtros. La resolucin ser de 300x300; el formato
  de papel, A4; y el controlador de dispositivo es ljetplus.

  Vamos a escribir el filtro para ficheros PS como un shell script:

       #!/bin/bash/
       #Filtro de ficheros postscript
       /usr/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=ljetplus -r300 -sPAPERSIZE=a4 -sOutputFile=- -

  Como podemos ver, gs lee la STDIN desde el fichero de control que ha
  creado el servidor de impresin lpr; se ejecuta el filtro y la opcin
  -sOutputFile=- enva la salida a STDOUT. El demonio lpd tomar los
  datos que se encuentren en STDOUT y los enviar a la cola de
  impresin.

  Para procesar un fichero PDF aprovechando la utilidad pdf2ps (shell
  script que convierte un fichero PDF a PS), escribiremos el filtro:

       #!/bin/bash/
       #Filtro de ficheros pdf
       /usr/bin/pdf2ps | /usr/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=ljetplus -r300 -sPAPERSIZE=a4\
       -sOutputFile=- -

  Para un texto en formato troff, emplearamos este otro

       #!/bin/bash/
       #Filtro de ficheros troff
       /usr/bin/grops -g | /usr/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=ljetplus -r300 -sPAPERSIZE=a4\
       -sOutputFile=- -

  (la opcin -g para la orden grops permite generar documentos en
  formato letter o a4)

  Como puede verse el concepto de filtro sera un shell script con los
  siguientes campos:

       #!/bin/bash
       #Comentario 'filtro para ficheros XYZ'
       /usr/bin/XYZps | /usr/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=ljetplus -r300 -sPAPERSIZE=a4\
       -sOutputFile=- -

  Donde XYZps es un programa (con opciones) que convierte el formato XYZ
  a PS. Hay una gran cantidad de ellos que serviran para hacer filtros
  con posibilidad de imprimir grficos; as el formato TIFF se pasa
  directamente con la utilidad tiff2ps, mientras que los GIF y JPEG se
  pasan a formato PNM mediante los programas giftopnm y djpeg,
  respectivamente. Una vez en este formato, se traduce a PS con la
  utilidad pnmtops.
  5.  Filtros mgicos

  Un filtro puede ser tan sencillo como los que hemos visto, o
  complicarse substancialmente, llegando a ser capaz de reconocer el
  tipo de fichero que queremos imprimir y realizar las operaciones
  necesarias para que obtengamos una salida correcta. Un filtro mgico
  analiza la entrada que recibe y, de acuerdo con los datos que le
  llegan, manda el trabajo a otro filtro secundario. As, cuando le
  llega un fichero en formato PS, lo enva a ghostcript, cuando es JPEG,
  lo manda a otro filtro adecuado para la impresin correcta, etc. Los
  filtros mgicos ms conocidos son magicfilter, apsfilter y los filtros
  de impresin de RedHat.

  5.1.  Magicfilter

  Magicfilter es un programa escrito por H. Peter Anvin
  Peter.Anvin@linux.org que puede encontrarse en cualquier espejo de
  sunsite, en el directorio

       /mirror/linux/sunsite/system/printing/magicfilter-1.2.tar.gz

  y tambin existe como paquete .deb y .rpm. Es el filtro mgico
  recomendado en la distribucin Debian. Para configurar una impresora
  en este sistema, primero han de instalarse los paquetes magicfilter y
  recode.  El programa magicfilterconfig se crea al instalar el paquete
  magicfilter y permite una cmoda configuracin de la impresora,
  escribiendo el fichero /etc/printcap a partir de las respuestas a una
  serie de preguntas que nos hace interactivamente. Nos pregunta por el
  puerto del dispositivo (/dev/lp1 o /dev/lp0), as como los nombres que
  daremos a nuestra impresora: uno largo y descriptivo y otro ms corto
  que se usar como nombre para el directorio spool y luego muestra una
  serie de filtros disponibles para elegir. Lo mejor es mirar, antes de
  ejecutar magicfilterconfig, en el directorio /etc/magicfilter para ver
  cul es el filtro que mejor viene a nuestra impresora. Los filtros son
  archivos de texto en cuyo cabecera se indica la impresora que lo puede
  utilizar. magicfilterconfig genera el fichero /etc/printcap con toda
  la informacin que le hemos dado. Para el caso de mi Epson Stylus
  Color 600, el fichero /etc/printcap generado por magicfilterconfig es
  (En Debian 2.1 kernel 2.0.36):

  #
  # Copyright (c) 1983 Regents of the University of California.
  # All rights reserved.
  #
  # Redistribution and use in source and binary forms are permitted
  # provided that this notice is preserved and that due credit is given
  # to the University of California at Berkeley. The name of the University
  # may not be used to endorse or promote products derived from this
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
  #       @(#)etc.printcap        5.2 (Berkeley) 5/5/88
  #
  # This file was generated by /usr/sbin/magicfilterconfig.
  #
  lp|eps|ESC600:\
          :lp=/dev/lp1:sd=/var/spool/lpd/eps:\
          :sh:pw#80:pl#72:px#1440:mx#0:\
          :if=/etc/magicfilter/stylus_color_360dpi-filter:\
          :af=/var/log/lp-acct:lf=/var/log/lp-errs:

  Una vez instalado, magicfilter permite que el sistema reconozca e
  imprima grficos (GIF, JPEG, TIFF, BMP...), ficheros PS, PDF, DVI,
  pginas de manual, ficheros ASCII con acentos y , e incluso cualquier
  tipo de fichero comprimido con gzip.

  5.2.  Apsfilter

  apsfilter es otro programa que permite configurar la impresora y
  escribir un fichero /etc/printcap con los filtros adecuados para
  muchos formatos de fichero (ASCII, DVI, PS, PDF, GIF, TIFF, BMP,
  BITMAP...) y diversos tipos de compresin (compress, gzip, freeze).
  apsfilter ha sido desarrollado por Andreas Klemm andreas@knobel.gun.de
  y es el paquete incluido en el YaST de SuSE para la configuracin de
  la impresora, as como el que recomienda Pat Volkerding en su mensaje
  de bienvenida a Slackware. Puede obtenerse de

       http://www.freebsd.org/~andreas/

  El programa apsfilter ofrece las siguientes colas de impresin para
  una computadora local:

    lp: Cola estndar para todos los formatos de fichero.

    lp-mono: Se genera para las impresoras de color cuando ha de
     imprimirse en blanco y negro. Procesa cualquier formato de fichero.

    ascii: Para imprimir ficheros de texto ASCII.

    raw: Para imprimir ficheros que ya tienen el formato especfico de
     la impresora y por lo tanto no hay ningn tipo de conversin.

  El fichero /etc/printcap correspondiente a mi Epson Stylus Color 600,
  obtenido con apsfilter, es el siguiente (En SuSE 6.2 kernel 2.2.10):

       ### BEGIN apsfilter: ### stcany.upp a4 color 360 ###
       #   Warning: Configured for apsfilter, do not edit the labels!
       #            apsfilter setup Thu Oct 14 01:30:42 CEST 1999
       #
       ascii|lp1|stcany.upp-a4-ascii-mono-360|stcany.upp a4 ascii mono 360:\
               :lp=/dev/lp0:\
               :sd=/var/spool/lpd/stcany.upp-a4-ascii-mono-360:\
               :lf=/var/spool/lpd/stcany.upp-a4-ascii-mono-360/log:\
               :af=/var/spool/lpd/stcany.upp-a4-ascii-mono-360/acct:\
               :if=/var/lib/apsfilter/bin/stcany.upp-a4-ascii-mono-360:\
               :la@:mx#0:\
               :tr=:cl:sh:
       #
       lp|lp2|stcany.upp-a4-auto-color-360|stcany.upp a4 auto color 360:\
               :lp=/dev/lp0:\
               :sd=/var/spool/lpd/stcany.upp-a4-auto-color-360:\
               :lf=/var/spool/lpd/stcany.upp-a4-auto-color-360/log:\
               :af=/var/spool/lpd/stcany.upp-a4-auto-color-360/acct:\
               :if=/var/lib/apsfilter/bin/stcany.upp-a4-auto-color-360:\
               :la@:mx#0:\
               :tr=:cl:sh:
       #
       lp-mono|lp3|stcany.upp-a4-auto-mono-360|stcany.upp a4 auto mono 360:\
               :lp=/dev/lp0:\
               :sd=/var/spool/lpd/stcany.upp-a4-auto-mono-360:\
               :lf=/var/spool/lpd/stcany.upp-a4-auto-mono-360/log:\
               :af=/var/spool/lpd/stcany.upp-a4-auto-mono-360/acct:\
               :if=/var/lib/apsfilter/bin/stcany.upp-a4-auto-mono-360:\
               :la@:mx#0:\
               :tr=:cl:sh:
       #
       raw|lp4|stcany.upp-a4-raw|stcany.upp a4 raw:\
               :lp=/dev/lp0:\
               :sd=/var/spool/lpd/stcany.upp-a4-raw:\
               :lf=/var/spool/lpd/stcany.upp-a4-raw/log:\
               :af=/var/spool/lpd/stcany.upp-a4-raw/acct:\
               :if=/var/lib/apsfilter/bin/stcany.upp-a4-raw:\
               :la@:mx#0:\
               :tr=:cl:sh:
       #
       ### END   apsfilter: ### stcany.upp a4 color 360 ###

  Despus de instalar el paquete apsfilter, la configuracin de la
  impresora se lleva a cabo fcilmente ejecutando el script SETUP que
  encontraremos en el directorio /var/lib/apsfilter o
  /usr/lib/apsfilter. SETUP nos ir mostrando mens de opciones que
  seleccionaremos convenientemente, y al final nos escribir el fichero
  /etc/printcap como arriba aparece. Existe un fichero de configuracin
  de apsfilter llamado /etc/apsfilterrc que permite un mayor control del
  trabajo de los scripts de apsfilter en el shell. Por ejemplo,
  apsfilter imprime los ficheros ASCII del siguiente modo:

  1. Convierte el fichero ASCII a PS mediante a2ps

  2. El comportamiento de a2ps por defecto es imprimir el contenido de 2
     pginas ASCII en una pgina apaisada

  Esto no gusta a muchos usuarios que prefieren una salida normal.
  Para cambiar esto editaremos el fichero /etc/apsfilterrc y
  observaremos que la variable FEATURE toma por defecto el valor 2n (To
  print two pages on one sheet without a header). Debemos comentar (o
  borrar) esa lnea y aadir esta otra:
       FEATURE=1n

  como se observa en este fragmento de mi fichero

       ##############################################################################
       # Description
       # -----------
       # FEATURE=1       tell a2ps to print 1 page  on one sheet with    header
       # FEATURE=2       tell a2ps to print 2 pages on one sheet with    header
       # FEATURE=1n      tell a2ps to print 1 page  on one sheet without header
       # FEATURE=2n      tell a2ps to print 2 pages on one sheet without header
       # FEATURE=1l      tell a2ps to print 1 pages in landscape with    header
       # FEATURE=1ln     tell a2ps to print 1 pages in landscape without header
       #
       # This is the default I use now(the original default option was FEATURE=2n)
       FEATURE=1n

  Para suprimir por completo la conversin de ASCII a PS, e imprimir
  directamente en el modo ASCII de la impresora, se debe quitar el
  smbolo de comentario (#) al comienzo de la orden
  USE_RECODE_NOT_AP2S=yes, y por supuesto haber instalado el programa
  recode.

  5.3.  Filtros de impresin Red Hat

  Red Hat cuenta con su propio sistema de configuracin de impresora
  (printtool) y su propio sistema de filtros de impresin
  (/usr/lib/rhs/rhs-printfilters), que incluye una herramienta de
  configuracin visual y un administrador grfico de trabajos de
  impresin.  La configuracin de una impresora mediante printtool es
  muy sencilla y puede hacerse sin muchos conocimientos sobre el
  sistema. El fichero /etc/printcap para mi Epson Stylus Color 600
  obtenido con printtool es (En RedHat 6.0 kernel 2.2.7):

       #
       # Please don't edit this file directly unless you know what you are doing!
       # Be warned that the control-panel printtool requires a very strict format!
       # Look at the printcap(5) man page for more info.
       #
       # This file can be edited with the printtool in the control-panel.
       ##PRINTTOOL3## LOCAL uniprint NAxNA a4 {} U_EpsonStylusColor stcany 0
       lp:\
               :sd=/var/spool/lpd/lp:\
               :mx#0:\
               :sh:\
               :lp=/dev/lp0:\
               :if=/var/spool/lpd/lp/filter:

  El filtro de RedHat se parece ms al de magicfilter que al de
  apsfilter porque genera slo una cola de impresin para una impresora
  nica lp.
  6.  El controlador uniprint

  A partir de la versin 5.0 de Ghostscript, ha aparecido un nuevo
  controlador paramtrico -- the uniprint driver-- desarrollado por
  Gunther Hess ghess@elmos.de, que se adapta a impresoras Canon BJC 610,
  HP Deskjet 550c, Prinwriter 2X y todas las Epson Stylus Color mediante
  un fichero de parmetros especificos. Por ejemplo, para la Epson
  Stylus Color 600 hay tres ficheros:

    stc600ih.upp: Para 1440x720dpi, inkjet paper

    stc600p.upp: Para 720x720dpi, plain paper

    stc600pl.upp: Para 360x360dpi, plain paper

  Si no deseamos ms que 360x360 dpi de resolucin, puede usarse el
  fichero stcany.upp que sirve para cualquier impresora Stylus Color.
  Este fichero contiene las siguientes lneas:

       -supModel="Any Epson Stylus Color, 360x360DpI"
       -sDEVICE=uniprint
       -dNOPAUSE
       -dSAFER
       -dupColorModel=/DeviceCMYKgenerate
       -dupRendering=/ErrorDiffusion
       -dupOutputFormat=/EscP2
       -r360x360
       -dupMargins="{ 9.0 39.96 9.0 9.0}"
       -dupComponentBits="{1 1 1 1}"
       -dupBeginPageCommand="<
          1b40   1b40
          1b2847 0100 01
          1b2869 0100 01
          1b2855 0100 0A
          1b5500
          1b2843 0200 0000
          1b2863 0400 0000 0000
       >"
       -dupAdjustPageLengthCommand
       -dupAdjustTopMarginCommand
       -dupAdjustBottomMarginCommand
       -dupEndPageCommand="(\033@\014)"
       -dupAbortCommand="(\033@\15\12\12\12\12    Printout-Aborted\15\014)"

  y por lo tanto, para realizar impresin de un fichero PS usando la
  orden gs, escribiramos (para la Epson Stylus Color) en un filtro para
  ficheros PS la lnea

       /usr/bin/gs @stcany.upp -sOutputFile=--

  en lugar de

  /usr/bin/gs -sDEVICE=stcolor -r360 -q -dSAFER - dNOPAUSE -sOutputFile=- -

  obteniendo el mismo resultado.

  7.  Impresin remota

  En la impresin remota, los filtros se emplean de manera diferente
  segn se trate de imprimir en una mquina remota unix o windows.  En
  el primer caso, el administrador de la mquina remota debe incluir la
  nuestra en su /etc/hosts.equiv o, mejor, en /etc/hosts.lpd, o
  permitirle la impresin solamente a ciertos usuarios empleando el
  atributo rs (ver la pgina man de lpd). Para imprimir en la mquina
  remota, aadiremos una nueva entrada a nuestro /etc/printcap.
  Supongamos que la impresora de la mquina remota (hercules.us.es) es
  una Epson EPL 5700 y la cola de impresin por defecto (lp) es la que
  queremos usar. La entrada sera:

       #Remote unix printer
       epl5700|Remote unix printer
               :sd=/var/spool/lpd/epl5700:\
               :rm=hercules.us.es:\ #nombre de la mquina remota (rm: remote machine)
               :rp=lp:\ #nombre de la cola de impresin en la mquina remota (rp: remote printer)
               :mx#0:\
               :lp=/dev/null:\
               :sh:\

  Es necesario tener un directorio spool en la mquina local, porque si
  la remota est ocupada o desconectada, el trabajo a imprimir esperar
  en dicho directorio hasta que sea enviado.

  Cuando se trata de imprimir en una mquina remota Windows, debemos
  usar el paquete SaMBa. Es posible establecer una cola de impresin
  mediante el programa smbclient (parte de samba) por el protocolo
  TCP/IP mediante el servicio de impresin SMB. Samba incluye un guin
  para realizar esto, llamado smbprint. En pocas palabras, se aade una
  entrada nueva al /etc/printcap de la mquina local para la impresora
  remota incluyendo en la entrada if el script smbprint. Si la impresora
  remota es, por ejemplo, una HP Laserjet, podramos poner:

       #Remote samba printer
       HPlaserjet|Remote samba printer
               :sd=/var/spool/lpd/HPlaserjet:\
               :mx#0:\
               :lp=/dev/null:\
               :if=/usr/local/sbin/smbprint #Ruta del guin smbprint
               :sh:\

  Para mayor informacin acerca de la impresin remota, consultar el
  Cmo correspondiente a la configuracin de impresin.

  8.  Crditos

  David Espada Garca bombadil@santandersupernet.com escribi un
  interesante artculo Configuracin de la impresora en el n4 de la
  revista Slo Programadores LINUX. Tambin me han sido muy tiles el
  Ghostscript User Manual de Thomas Merz tm@muc.de, el Linux Printing
  Howto de Grant Taylor gtaylor+pht@picante.com y el Manual de SuSE
  Linux 6.2, captulo 12.

  9.  Anexo: El INSFLUG

  El INSFLUG forma parte del grupo internacional Linux Documentation
  Project, encargndose de las traducciones al castellano de los Howtos,
  as como de la produccin de documentos originales en aquellos casos
  en los que no existe anlogo en ingls, centrndose, preferentemente,
  en documentos breves, como los COMOs y PUFs (Preguntas de Uso
  Frecuente, las FAQs. :) ), etc.

  Dirjase a la sede del Insflug para ms informacin al respecto.

  En ella encontrar siempre las ltimas versiones de las traducciones
  oficiales:  www.insflug.org. Asegrese de comprobar cul es la
  ltima versin disponible en el Insflug antes de bajar un documento de
  un servidor rplica.

  Adems, cuenta con un sistema interactivo de gestin de fe de erratas
  y sugerencias en lnea, motor de bsqueda especfico, y ms servicios
  en los que estamos trabajando incesantemente.

  Se proporciona tambin una lista de los servidores rplica (mirror)
  del Insflug ms cercanos a Vd., e informacin relativa a otros
  recursos en castellano.

  En http://www.insflug.org/insflug/creditos.php3 cuenta con una
  detallada relacin de las personas que hacen posible tanto esto como
  las traducciones.

  Dirjase a http://www.insflug.org/colaboracion/index.php3 si desea
  unirse a nosotros!.

  Cartel Insflug, cartel@insflug.org.

