Filtros de impresi�n con Ghostscript
A. Gustavo Gonz�lez
[email protected]
26 de Septiembre 1999
En este art�culo se introducen los fundamentos para componer filtros
de impresi�n 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. Resoluci�n de la impresi�n
3.4. Salida a un fichero
3.5. Escogiendo el tama�o de papel
3.6. Otras opciones a considerar
4. �Qu� es un filtro de impresi�n y c�mo se construye?
5. Filtros m�gicos
5.1. Magicfilter
5.2. Apsfilter
5.3. Filtros de impresi�n Red Hat
6. El controlador uniprint
7. Impresi�n remota
8. Cr�ditos
9. Anexo: El INSFLUG
______________________________________________________________________
1. �Por qu� este documento?
Hace tiempo le� un mini-C�mo sobre filtros de impresi�n maquetado por
nuestro admirado compa�ero Ismael Olea
[email protected], extra�do de la
red Fidonet, y me dej� con la miel en los labios, pues era muy corto.
En este documento, cuyo car�cter es fundamentalmente did�ctico --
pensado para usuarios noveles de linux que ya conocen el
funcionamiento de la impresi�n por spooling -- intento presentar de
modo breve y resumido qu� es Ghostcript y c�mo usarlo para elaborar
filtros de impresi�n.
2. en linux? Lo primero es lo primero: �Por qu� necesito Ghostscript
para imprimir
Pues porque el formato est�ndar 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 int�rprete por excelencia de documentos en formato
PS (y tambi�n PDF). Ghostscript permite presentar datos PS y PDF en la
pantalla y adem�s traducirlos de manera que puedan ser impresos en una
impresora con capacidad gr�fica mediante el uso del controlador de
dicha impresora. Como afortunadamente, adem�s, 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 dise�ar filtros de impresi�n combinando el conversor de formato
con el programa Ghostscript mediante tuber�as (�pipes�, |).
Aladdin Enterprises mantiene las nuevas versiones de Ghostscript hasta
que alcanzan una cierta �edad�, y luego las libera a la Fundaci�n 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 versi�n
Ghostscript 5.1 es de las �ltimas liberadas y funciona de perlas para
la creaci�n de filtros de impresi�n.
3. La orden gs y sus opciones
El programa Ghostcript se ejecuta a trav�s de la orden gs con
diferentes opciones
3.1. Entradas a gs
Adem�s de las opciones a considerar, gs act�a sobre un fichero de
entrada en formato PS:
gs [opciones] fichero.ps
Donde fichero.ps es el fichero de entrada, pero uno tambi�n puede
conectar una entrada por tuber�a (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 l�nea de �rdenes indica
a Ghostscript que lea la entrada est�ndar (STDIN) desde un fichero o
tuber�a en lugar de desde el teclado. Es la opci�n de recibo cuando se
dise�a un filtro de entrada para imprimir en PS.
El fichero �-� presenta las siguientes caracter�sticas:
� Cuando Ghostscript termina de leer la tuber�a, deja de estar en
modo interactivo. Por ello, �-� es �til �nicamente como �ltimo
argumento de la l�nea de �rdenes.
� �-� no puede usarse para conectar con una entrada PDF en tuber�a.
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 informaci�n sobre nuestra versi�n 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
[email protected]; 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. Resoluci�n de la impresi�n
Algunas impresoras pueden imprimir a diferentes resoluciones (siendo
la menor la que se toma por defecto). Para seleccionar la resoluci�n
horizontal (num1) y vertical (num2) en pixels por pulgada, se utiliza
la opci�n
-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
tambi�n permite controlar a d�nde env�a el dispositivo su salida. En
el sistema DOS, la salida se dirige normalmente a a la impresora
(PRN); en UNIX, generalmente se env�a a un fichero temporal para su
impresi�n en cola. Para dirigir la salida a un fichero (fichero.out),
se utiliza la opci�n
-sOutputFile=fichero.out
Pero en UNIX, tambi�n podemos usar esta opci�n para enviar la salida a
una conexi�n por tuber�a, por ejemplo al servidor de impresi�n,
mediante la orden lpr
-sOutputFile=\|lpr
o enviarlo a la salida est�ndar (sOutputFile=-) para que, por ejemplo,
el demonio lpd tome esos datos de la salida est�ndar y los entregue a
la impresora. Esta es una de las opciones usadas en la construcci�n de
filtros de impresi�n.
gs [opciones] -sOutputFile=- -q |...
En este caso es necesario emplear la opci�n -q (quiet) que evita que
el programa Ghostscript escriba mensajes en la salida est�ndar y se
mezclen con la corriente de salida del dispositivo de impresi�n.
3.5. Escogiendo el tama�o de papel
Ghostscript se distribuye configurado para usar papel �US letter�, que
es el tama�o de p�gina por defecto, pero existen otros tama�os que se
configuran empleando la instrucci�n -sPAPERSIZE=opci�n, como por
ejemplo
-sPAPERSIZE=a4
-sPAPERSIZE=legal
3.6. Otras opciones a considerar
En el caso de construcci�n de filtros de entrada, hay otras opciones
interesantes:
� -dSAFER: Evita que act�en los operadores de borrado o renombrado de
ficheros, as� como la posibilidad de abrir ficheros en cualquier
otro modo que no sea de s�lo lectura. Esto es fundamental para el
mecanismo de spooling del demonio de impresi�n.
� -dNOPAUSE: Deshabilita el prompt y la pausa al final de cada
p�gina. Se utiliza para producir salidas de impresi�n o para
controlar gs desde otro programa.
� @fichero: Hace que gs lea el fichero y trate su contenido como si
fueran l�neas de �rdenes. Las instrucciones dentro del fichero
pueden estar separadas por al menos un espacio en blanco.
4. �Qu� es un filtro de impresi�n y c�mo se construye?
Antes que nada es necesario recordar el mecanismo de spooling t�pico
de los servidores de impresi�n 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 impresi�n, par�metros pasados en l�nea de
�rdenes, etc. Luego, el demonio de impresi�n (lpd) comprueba
peri�dicamente si hay ficheros de control en el directorio spool, y si
es as�, realiza las siguientes tareas:
� Imprime la p�gina de �banner� si no se ha suprimido (con la
instrucci�n sh en el fichero /etc/printcap) y la pasa a trav�s del
filtro de salida si lo hay (instrucci�n of del fichero
/etc/printcap)
� Si no se indic� al servidor de impresi�n que empleara alg�n filtro
de impresi�n en concreto, entonces se utilizar� el filtro de
entrada, cuya ruta indica el par�metro if del fichero
/etc/printcap.
� Al ejecutarse el filtro de entrada, se redirecciona su entrada
est�ndar al fichero de control y su salida est�ndar a:
� la entrada est�ndar del filtro de salida (of) cuando lo haya, y la
salida de dicho filtro al dispositivo de impresi�n asociado a la
impresora (entrada lp del fichero /etc/printcap)
� al dispositivo de impresi�n indicado en /etc/printcap
Por lo tanto un filtro de entrada de impresi�n no es m�s que un
programa (generalmente un gui�n) que teniendo en su entrada est�ndar
(STDIN) un fichero en un formato determinado , p. ej., ps
(postscript), escribe en su salida est�ndar (STDOUT) los c�digos
necesarios para que la impresora imprima dicho fichero.
Consideremos que disponemos de una impresora HP Laserjet Plus y vamos
a escribir algunos filtros. La resoluci�n 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 impresi�n lpr; se ejecuta el filtro y la opci�n
-sOutputFile=- env�a la salida a STDOUT. El demonio lpd tomar� los
datos que se encuentren en STDOUT y los enviar� a la cola de
impresi�n.
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, emplear�amos 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 opci�n -g para la orden grops permite generar documentos en
formato letter o a4)
Como puede verse el concepto de filtro ser�a 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 servir�an para hacer filtros
con posibilidad de imprimir gr�ficos; 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 m�gicos
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 m�gico�
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 env�a a ghostcript, cuando es JPEG,
lo manda a otro filtro adecuado para la impresi�n correcta, etc. Los
filtros m�gicos m�s conocidos son magicfilter, apsfilter y los filtros
de impresi�n de RedHat.
5.1. Magicfilter
Magicfilter es un programa escrito por H. Peter Anvin
[email protected] que puede encontrarse en cualquier espejo de
sunsite, en el directorio
/mirror/linux/sunsite/system/printing/magicfilter-1.2.tar.gz
y tambi�n existe como paquete .deb y .rpm. Es el filtro m�gico
recomendado en la distribuci�n 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 c�moda configuraci�n 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 m�s 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
cu�l 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 informaci�n 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 gr�ficos (GIF, JPEG, TIFF, BMP...), ficheros PS, PDF, DVI,
p�ginas 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 compresi�n (compress, gzip, freeze).
apsfilter ha sido desarrollado por Andreas Klemm
[email protected]
y es el paquete incluido en el YaST de SuSE para la configuraci�n 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 impresi�n para
una computadora local:
� lp: Cola est�ndar 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 espec�fico de
la impresora y por lo tanto no hay ning�n tipo de conversi�n.
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 ###
Despu�s de instalar el paquete apsfilter, la configuraci�n de la
impresora se lleva a cabo f�cilmente ejecutando el script SETUP que
encontraremos en el directorio /var/lib/apsfilter o
/usr/lib/apsfilter. SETUP nos ir� mostrando men�s de opciones que
seleccionaremos convenientemente, y al final nos escribir� el fichero
/etc/printcap como arriba aparece. Existe un fichero de configuraci�n
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
p�ginas ASCII en una p�gina 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 l�nea y a�adir 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 conversi�n de ASCII a PS, e imprimir
directamente en el modo ASCII de la impresora, se debe quitar el
s�mbolo de comentario (#) al comienzo de la orden
USE_RECODE_NOT_AP2S=yes, y por supuesto haber instalado el programa
recode.
5.3. Filtros de impresi�n Red Hat
Red Hat cuenta con su propio sistema de configuraci�n de impresora
(printtool) y su propio sistema de filtros de impresi�n
(/usr/lib/rhs/rhs-printfilters), que incluye una herramienta de
configuraci�n visual y un administrador gr�fico de trabajos de
impresi�n. La configuraci�n 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 m�s al de magicfilter que al de
apsfilter porque genera s�lo una cola de impresi�n para una impresora
�nica lp.
6. El controlador uniprint
A partir de la versi�n 5.0 de Ghostscript, ha aparecido un nuevo
controlador param�trico -- the uniprint driver-- desarrollado por
Gunther Hess
[email protected], que se adapta a impresoras Canon BJC 610,
HP Deskjet 550c, Prinwriter 2X y todas las Epson Stylus Color mediante
un fichero de par�metros 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 m�s que 360x360 dpi de resoluci�n, puede usarse el
fichero stcany.upp que sirve para cualquier impresora Stylus Color.
Este fichero contiene las siguientes l�neas:
-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 impresi�n de un fichero PS usando la
orden gs, escribir�amos (para la Epson Stylus Color) en un filtro para
ficheros PS la l�nea
/usr/bin/gs @stcany.upp -sOutputFile=--
en lugar de
/usr/bin/gs -sDEVICE=stcolor -r360 -q -dSAFER - dNOPAUSE -sOutputFile=- -
obteniendo el mismo resultado.
7. Impresi�n remota
En la impresi�n remota, los filtros se emplean de manera diferente
seg�n se trate de imprimir en una m�quina remota unix o windows. En
el primer caso, el administrador de la m�quina remota debe incluir la
nuestra en su /etc/hosts.equiv o, mejor, en /etc/hosts.lpd, o
permitirle la impresi�n solamente a ciertos usuarios empleando el
atributo rs (ver la p�gina man de lpd). Para imprimir en la m�quina
remota, a�adiremos una nueva entrada a nuestro /etc/printcap.
Supongamos que la impresora de la m�quina remota (hercules.us.es) es
una Epson EPL 5700 y la cola de impresi�n por defecto (lp) es la que
queremos usar. La entrada ser�a:
#Remote unix printer
epl5700|Remote unix printer
:sd=/var/spool/lpd/epl5700:\
:rm=hercules.us.es:\ #nombre de la m�quina remota (rm: remote machine)
:rp=lp:\ #nombre de la cola de impresi�n en la m�quina remota (rp: remote printer)
:mx#0:\
:lp=/dev/null:\
:sh:\
Es necesario tener un directorio spool en la m�quina 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 m�quina remota Windows, debemos
usar el paquete SaMBa. Es posible establecer una cola de impresi�n
mediante el programa smbclient (parte de samba) por el protocolo
TCP/IP mediante el servicio de impresi�n SMB. Samba incluye un gui�n
para realizar esto, llamado smbprint. En pocas palabras, se a�ade una
entrada nueva al /etc/printcap de la m�quina local para la impresora
remota incluyendo en la entrada if el script smbprint. Si la impresora
remota es, por ejemplo, una HP Laserjet, podr�amos 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 gui�n smbprint
:sh:\
Para mayor informaci�n acerca de la impresi�n remota, consultar el
C�mo correspondiente a la configuraci�n de impresi�n.
8. Cr�ditos
David Espada Garc�a
[email protected] escribi� un
interesante art�culo �Configuraci�n de la impresora� en el n�4 de la
revista S�lo Programadores LINUX. Tambi�n me han sido muy �tiles el
�Ghostscript User Manual� de Thomas Merz
[email protected], el �Linux Printing
Howto� de Grant Taylor
[email protected] y el Manual de SuSE
Linux 6.2, cap�tulo 12.
9. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos,
as� como de la producci�n de documentos originales en aquellos casos
en los que no existe an�logo en ingl�s, centr�ndose, preferentemente,
en documentos breves, como los COMOs y PUFs (Preguntas de Uso
Frecuente, las FAQs. :) ), etc.
Dir�jase a la sede del Insflug para m�s informaci�n al respecto.
En ella encontrar� siempre las �ltimas versiones de las traducciones
�oficiales�: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Adem�s, cuenta con un sistema interactivo de gesti�n de fe de erratas
y sugerencias en l�nea, motor de b�squeda espec�fico, y m�s servicios
en los que estamos trabajando incesantemente.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
En
http://www.insflug.org/insflug/creditos.php3 cuenta con una
detallada relaci�n de las personas que hacen posible tanto esto como
las traducciones.
�Dir�jase a
http://www.insflug.org/colaboracion/index.php3 si desea
unirse a nosotros!.
�Cartel� Insflug,
[email protected].