Página siguiente Página anterior Índice general

7. La impresora

La impresora es uno de los asuntos escabrosos de Linux: Es algo que tienes que configurar. Normalmente no te lo hace sólo, y no es algo que salte a la vista cómo hacerlo.

La impresora, como cualquier otra cosa, es un fichero en UNIX. Pero nosotros no lo vamos a utilizar directamente (el fichero), sino mediante la orden lpr (o imprimiendo desde un programa que tenga opción de imprimir, claro).

7.1 Filtros mágicos

En UNIX, las impresoras suelen manejarse con algo que llaman filtros mágicos. Estos filtros, haciendo gala de su nombre, reciben un fichero, adivinan de qué tipo es (qué formato tiene, por decir así), y lo imprimen automágicamente. Todo esto si entienden el formato; si no, simplemente no imprimen a lo bestia (como si lo abrieras con el bloc de notas o el Word y lo mandaras a imprimir, para entendernos).

El que yo utilizo, que parece ser el más extendido, es el magicfilter. Entiende muchos formatos comunes, como PostScript, GIF, texto normal (obviamente), etc. Se configura con el programa magicfilterconfig. Él te hace algunas preguntas (necesarias, como el modelo de tu impresora, y esas cosas; si no entiendes la pregunta, contesta el valor por defecto y listo), y él sólo se configura.

7.2 printtool

Si utilizas RedHat (y probablemente cualquier otra distribución que soporte formato de paquetes rpm), tienes a tu disposición un sencillo programa en X para configurar la impresora, y alguna cosa más. Simplemente llámale, desde X, y él te configurará la impresora con sólo preguntarte el modelo (te da a elegir de una lista, como en Windows).

7.3 PostScript

El formato PostScript, de Adobe, es el formato más extendido para liarse con la impresora. Esto quiere decir que muchas utilidades que generan gráficos, los generan en PostScript (utilidades para generar calendarios, y cosas así); también quiere decir, probablemente, que cualquier utilidad de impresora que se precie entenderá este formato. Y también quiere decir que si tienes algún formato que quieres imprimir, pero que el filtro mágico no entiende, puedes intentar convertirlo a PostScript, y darle esta segunda versión a la impresora.

7.4 Correcciones posteriores

Que tengas tu impresora funcionando no significa que todo esté a tu gusto. Por ejemplo, a mí siempre me ha pasado (tengo una HP DeskJet 690c, y utilizo el controlador de dj550c) que pienso que mi impresora expulsa demasiada tinta. Esto tiene dos desventajas: gastas más tinta de la necesaria, y encima el texto queda borroso, porque hay demasiada tinta en las esquinas. Buscando en los COMOs encontré una forma de arreglarlo.

Consiste en procesar un pequeño archivo en formato PostScript justo antes de imprimir. Como imprimir a mano es un rollo, lo que hice (dado que utilizo un filtro mágico, el magicfilter) fue decirle que lo hiciera automágicamente por mí (para eso están los ordenadores: para hacer el trabajo pesado que nosotros no queremos hacer). ¿Que cómo? Muy fácil. Le dije que cada vez que fuera a imprimir un archivo PostScript (al final todos los formatos los termina convirtiendo a PostScript antes de imprimirlos), con la orden gs, imprimiera antes el archivo de corrección (que no imprime nada en papel; simplemente corrige la situación ``anómala''). Al archivo lo llamé gamma.ps (porque creo que la corrección es cuestión es llama ``corrección gamma''), y lo puse en el directorio /home/zoso/.datos.

El fichero en cuestión que tuve que modificar fue el /etc/magicfilter/dj550c-filter (que quizás en tu sistema esté en /sbin/dj550-filter o en algún otro sitio). Las primeras líenas de la versión original son éstas:

# PostScript
0       %!              filter  /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        -sDEVICE=cdj550 -sOutputFile=\|"cat 1>&3" - 3>&1 1>&2 
0       \004%!          filter  /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        --DEVICE=cdj550 -sOutputFile=\|"cat 1>&3" - 3>&1 1>&2 

# PDF
0       %PDF            fpipe   /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        -sDEVICE=cdj550 -sOutputFile=\|"cat 1>&3" $FILE 3>&1 1>&2 

donde las barras invertidas al final indican que la línea en realidad sigue debajo (simplemente no cabe en el papel si se pone seguida). La versión después de hacer la modificación fue:

# PostScript
0       %!              filter  /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        -sDEVICE=cdj550 -sOutputFile=\|"cat 1>&3" /home/zoso/.datos/gamma.ps \
        - 3>&1 1>&2 
0       \004%!          filter  /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        --DEVICE=cdj550 -sOutputFile=\|"cat 1>&3" /home/zoso/.datos/gamma.ps \
        - 3>&1 1>&2 

# PDF
0       %PDF            fpipe   /usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 \
        -sDEVICE=cdj550 -sOutputFile=\|"cat 1>&3" /home/zoso/.datos/gamma.ps \
        $FILE 3>&1 1>&2 

La modificación no era excesivamente difícil de imaginar si sabías que por lo general se le llama - al fichero que respresenta a la entrada estándar.

Impresoras Hewlett-Packard

Para los que tenemos impresoras Hewlett-Packard modelo DeskJet (estamos de suerte) existen unas herramientas especiales. Hay dos programas independientes, escritos por personas diferentes, que hacen aproximadamente las mismas funciones: Los programas se llaman hpset y djscript. En Debian vienen los dos en el paquete djtools. También existe un paquete en la distribución Debian que mejora el uso de las impresoras LaserJet. El nombre del paquete es cti-ifhp.

El programa hpset es más genérico que djscript, porque sirve para mandar órdenes de configuración a la impresora. Puedes imprimir páginas de prueba, cambiar entre los modos econofast (hpset econo), normal y calidad óptima (hpset nice), cambiar el tipo de letra, y algunas cosas más.

djscript simplemente formatea texto para que salga de determinada manera en la salida (cambia el tipo de letra, distribuye en columnas, etc.). Ambos programas están bastante bien documentados. Para mirar la ayuda, puedes utilizar man hpset y man djscript, o ir al directorio /usr/doc/djtools para leer los documentos correspondientes.


Página siguiente Página anterior Índice general