Anterior Siguiente Indice

5. ┐CÓMO SE IMPRIME ... ?

Ya sabemos con qué imprimimos bajo Linux. Ahora haremos una visita a los programas más normales para generar el texto a imprimir usualmente disponibles. Advierta que la mayor parte de los programas de impresión bajo otros UNIX pueden ser muy fácilmente adaptados a Linux.

5.1 Texto Llano

Bajo Linux, (como cualquier otro U*X), lo más fácil es imprimir texto llano. Cualquier editor estándar de UNIX (vi, emacs), o alguno más sofisticado (nedit, jed, .. ) le producirán tantas arrobas de letras como desee.

Además, la mayor parte de los programas que a continuación se describen son capaces de generar documentos en texto llano, con las órdenes adecuadas.

pr

La mayoría de los ficheros de texto llano en U*X tienen tendencia a ser un mar de caracteres, sin saltos de página ni nada que permita un documento mínimamente presentable.

pr surgió para obviar este inconveniente. Procesando el documento a través de pr, se le añaden cabeceras y/o pies, números de página, márgenes superior e inferior... Como cualquier otra utilidad UNIX, pr tiene dos o tres millones de opciones, debidamente reseñadas en la página del manual.

5.2 PostScript

Si no tiene que imprimir texto llano, es muy probable que tenga que imprimir PostScript. Si su impresora lo interpreta, sus problemas terminan aquí; si está en el caso contrario, situación normal para casi todos, la cosa se complica un poco, pues necesitará un programa que lea PS y lo traduzca al lenguaje de su impresora.

Ghostscript

El modo normal de interpretar ps bajo Linux es usar ghostscript, que , como casi todas la utilidades, procede del proyecto GNU. Herramienta versátil donde las haya, gs traduce PostScript a formato X Window, impresoras IBM, Epson, HP, Canon ..., fax, y casi para cualquier dispositivo que se le ocurra. Los dispositivos soportados en cada versión de ghostscript están debidamente relacionados en la documentación del programa; puede obtenerse una relación con la orden 'gs -help'.

gs se ha convertido en utilidad estándar en la mayoría de las distribuciones de Linux, que la incluyen completa. Advierta que los ejecutables binarios pueden necesitar 'libX.so.???' tal como vienen en el controlador de pantalla X Window.

La distribución "oficial" en forma de ficheros fuente, que deben ser compilados en su sistema puede encontrarse en:

ftp://prep.ai.mit.edu/pub/gnu/ghostscript-*.tar.gz

ftp://prep.ai.mit.edu/pub/gnu/ghostscript-fonts-*.tar.gz

La instalación mínima de los binarios de gs y algunos otros programas necesarios para imprimir la documentación de Linux está disponible en

ftp://sunsite.unc.edu/pub/Linux/apps/tex/texmin/texmin-*.tar.z

Esta distribución no contiene ningún tipo de letra PostScript (ni las necesitará para imprimir ficheros .dvi).

La documentación principal de ghostscript se encuentra en el fichero use.doc, en el directorio de fuentes, o en /usr/lib/ghostscript/doc/ si no tiene los fuentes.

Para imprimir ps determine primero el nombre de su dispositivo con la orden 'gs -help', que lista los dispositivos instalados. Si el suyo no está en la lista, deberá recompilar gs (No se asuste, siga las instrucciones que figuran en make.doc. Necesitará libres 5 o 6 Mb de espacio en disco). Con la orden:

# gs -dNOPAUSE - sDEVICE=???? -sOutputFile=/dev/???? fichero.ps 

el documento aparecerá (eso esperamos) en su impresora sin problemas. Como podrá imaginar, a mayor versión, más dispositivos soportados. En la documentación incorporada se describe el procedimiento para desarrollar nuevos dispositivos si fuera necesario.

gs puede imprimir en la mayoría de las resoluciones soportadas por su impresora; '-r300' '-r150', '-r360x180' son ejemplos de las opciones para su control. Las impresoras matriciales necesitan que se fije esta opción, al no soportar normalmente la resolución por defecto de 300x300.

5.3 Mi impresora sólo trabaja con PostScript

Si su impresora sólo trabaja con PostScript, o quiere ahorrarse andar configurando el dispositivo cada vez que tiene que cambiar el tipo de documento a imprimir, hay toda una familia de programas que transforman el texto llano a PostScript.

mpage

Transforma texto llano a PostScript y/o imprime más de una página en cada hoja de papel a partir de PostScript o texto. Puede encontrarlo en

ftp://wuarchive.wustl.edu/pub/mirrors/unix-c/PostScript/mpage-tar-z

el sufijo -z equivale a .Z (compress). La orden

man -t <orden> | mpage

enviará una copia de la página en formato PostScript a lpr.

a2ps, enscript, nenscript

A partir de un texto ascii llano, a2ps produce una página debidamente formateada, con cabeceras, pies, números de página ... Se encuentra en el mismo lugar que mpage.

enscript y nenscript hacen lo mismo que a2ps. Puede encontrar nenscript en:

ftp://sunsite.unc.edu/pub/Linux/system/Printing/nenscript* Nota del Traductor:
Ojo; Aquí podemos tener problemas con los caracteres extendidos; por ejemplo: a2ps (la versión que tengo, al menos) genera un fichero ps que no tiene acentos, eñes .., al no definir una tabla tipográfica para ellos. En cambio, nenscript si lo hace.

gslp

Incluida en la distribución de ghostscript, gslp transforma un fichero texto a PostScript. Úselo con la orden:

# gs -q -sDEVICE=???? -dNOPAUSE -- gslp.ps fich.text 

(el programa es gslp.ps, escrito en PostScript, que, en muchos aspectos, es un lenguaje de programación, más que un conjunto de órdenes de impresión). Hay un ejecutable en la distribución que evita dar estos rodeos.

Utilidades para PostScript

Existen cientos de pequeños programas que permiten modificar ficheros ps. Puede encontrarlos en

5.4 TeX, LaTeX

Si hay algo cierto en el mundo de UNIX, especialmente a nivel académico, es que antes o después uno se acaba topando con Él. TeX es un sistema de formateado de textos Nota del revisor:
Más bien un Procesador de Documentos
. Funciona de modo análogo a un compilador: El código fuente corre a través del programa tex, y obtenemos un fichero .dvi, independiente del dispositivo, que normalmente debe ser procesado de nuevo para obtener un documento impreso. La altísima calidad del producto obtenido justifica la complejidad del proceso.

El trabajo con TeX, no obstante, se ve gratamente suavizado mediante el uso de procesadores de texto, como LyX, con el que ha sido reelaborado este documento.

Remitimos al lector al libro "LaTeX, a document preparation system" de Leslie Lamport (ed. Addison Wesley) 2¬ edición, que analiza en detalle la versión más popular de este extraordinario sistema de tratamiento de textos.

dvips

Convierte el fichero dvi generado a partir de un documento TeX en un fichero PostScript, que puede imprimir a través de gs, o directamente en la máquina adecuada. La mayoría de las distribuciones de Linux incluyen este paquete.

La orden

dvips -f1 fich.dvi | lpr

es típica. dvips responde tanto a los argumentos de la línea de comandos como al fichero de configuración "config.ps", donde puede organizar las cosas para que la salida vaya directamente a la impresora, por ejemplo. Así, bastará escribir dvips fichero.dvi para obtener el documento final.

dvips tiene unas cuantas opciones interesantes; por ejemplo dvips -r1 fich.dvi imprimirá el documento en orden inverso. Los propietarios de impresoras HP apreciarán esta característica.

eps, dvilj, dvi500

Transforman los ficheros dvi en los lenguajes de impresoras Epson y HP LaserJet y DeskJet respectivamente. Suelen estar incluidos en la mayor parte de las distribuciones, y, por supuesto, en ftp://sunsite.unc.edu

5.5 texinfo

Es el formato nativo del proyecto GNU. emacs puede ser forzado a producir un fichero de información desde TeXinfo, y TeX producirá un excelente resultado a partir de este mismo fichero. Realmente, el documento está en formato TeX, y necesita que el fichero de macros texinfo.tex esté instalado en su sistema. Simplemente ejecute 'tex fichero' dos veces (con el fin de generar índices), y obtendrá un fichero dvi que podrá imprimir o visualizar a su placer.

Con emacs puede teclear además 'M-x texinfo-format-buffer' para convertir el fichero texinfo en un fichero info legible con emacs 'M-x info', u otro visor de su elección.

Hay otros programas que leen y formatean info desde un fichero texinfo. Están disponibles en ftp://prep.ai.mit.edu/pub/gnu/

5.6 *roff; páginas man

Si hay un generador de documentos virtualmente universal es troff, y sus primos cercanos, debido a que las páginas de manual se escriben para ellos. Las órdenes de formato de documentos serán ┐sorprendentemente? familiares para los (no se si aún queda alguno vivo) forofos de las versiones más populares de Wordstar.

La orden para imprimir las páginas de manual es

man -t <comando> | lpr

groff traduce la página a PostScript, que se procesa sin mayores problemas, como ya sabemos. Obtendremos así una página impresa muy aparente. Esto, sin embargo, depende mucho del programa 'man' que viene con su sistema. Si el suyo no lo permite, consiga la versión escrita en perl, en: ftp://sunsite.unc.edu/pub/Linux/system/Manual-pagers/.

Está íntegramente escrito en perl, y es por tanto muy personalizable.

Otro camino consiste en encontrar el fichero fuente de nroff de la página en los directorios de man, e imprimirlo con la orden:

groff -fichman -Ttipo orden.1 | lpr 

donde tipo puede ser 'ascii', 'dvi' 'ps' 'X100', 'X75', 'latin8'

5.7 Adobe Acrobat. Ficheros PDF

Estándar emergente donde los haya, los papás de PostScript han desarrollado un formato de documentación que permite (al menos eso venden) absoluta independencia del sistema operativo. Un fichero PDF se imprimirá igual de bien en un ordenador con MS-Windows, un Mac*, un CojoSuperOrdenador Cray, o un PC con Linux.

Los documentos PDF se traducen justo a la hora de imprimirlos al formato que cada sistema operativo requiera; en UNIX, a PostScript.

Puede obtenerse una copia del lector de Adobe en http://www.adobe.com.

Si prefiere algo menos "comercial", Xpdf será de su agrado. La última versión está en

http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html

5.8 Tipos

(Esta sección contiene información no específica a los dispositivos). La información pertinente al dispositivo X11 de gs (y ghostview) se incluye en el apartado de visualización.

Todas las versiones de gs vienen provistas de un surtido de tipos de dominio público, muchas de ellas generadas a partir de mapas de bit, con baja calidad. Sin embargo, gs puede usar cualquier tipo PostScript clase 1 o 3 que tenga a mano. Por ejemplo, Adobe Type Manager (que no sea de Mac) incluye tipos utilizables. Sitúelos (normalmente *.pc?) en lib/ghostscript/fonts/, y añada al fichero [...]/ghostscript/Fontmap' líneas del estilo

/Courier            (com_______.pfb) ;

En el servidor de correo de impresión puede encontrar el fichero fontmap.atm, que contiene un fontmap de los tipos normalmente incluidos en Adobe Type Manager.

Puede encontrar tipos Adobe Type 1 en:

ftp://ftp.cica.indiana.edu/pub/pc/win3/fonts

ftp://archive.umich.edu/msdos/mswindows/fonts

En el fichero comp.fonts FAQ, en ftp://rftm.mit.edu, puede encontrar información útil acerca de tipos de impresión.

La conversión entre familias de tipos es delicada. gs incluye herramientas para generar tipos escalables a partir de mapas de bits (cuanto más grandes, mejor).

groff tiene también herramientas para usar tipos Tfm/mf (TeX) y pfb (type 1) en documentos *roff. X11R5 incluye herramientas procedentes de IBM para presentar tipos type 1, con sus correspondientes páginas de manual. Eche un ojo también al logical fontutils en ftp://prep.ai.mit.edu/pub/gnu/.

5.9 Documentos para fax.

Aunque no parezca el lugar más adecuado para su reseña, ┐qué hacemos al enviar un fax más que imprimir un fichero en un terminal remoto?. Mediante fax, puede transmitir documentos originalmente en PostScript, dvi, texto llano....

Para enviar un fax, el documento original debe ser transformado en una imagen TIFF del grupo III que será transmitida por el fax-módem. Todos los programas mencionados contienen utilidades que permiten transformar las distintas clases de documentos al formato necesario. Además, gs (también aquí) tiene dispositivos adecuados para ello (-sDEVICE=tiffg3).

Tenga en cuenta que hay dos juegos de órdenes que un fax puede soportar: Clase 1 y Clase 2. En el primer caso, hoy ya casi extintos, gran parte de la gestión de transmisión de datos debe hacerla el ordenador anfitrión vía el programa de fax. Esto hace que en condiciones de sincronización crítica, el control se vuelve casi imposible. Los fax de clase 2 son más caros, pero mucho menos propensos a dar guerra. No confunda la 'clase' y el 'grupo'. Deberá tener, por supuesto, un fax-módem de grupo III.

FLEXFAX

FlexFax está escrito en C++ (necesita instalar g++ para compilarlo), y soporta fax de clase 1 y 2. Utiliza ghostview (o cualquier otro visor de ps) . Puede ejecutarse en lugar de getty, y decide, según el tipo de llamada, si activar el fax, o presentar un login. Permite la emisión de faxes a través de una red, y tiene un zurillón de utilidades. Se configura vía 'configure', y para un ordenador aislado es un tanto mastodóntico. La versión actual (4.0 beta 018, según escribo ) puede encontrarse en: http://www.vix.com/hylafax/

mgetty+sendfax

mgetty+sendfax controla sólo fax de clase 2, y puede también actuar como contestador automático, si el módem lo soporta. Al igual que FlexFax, se instala en lugar de getty, controlando qué entra y sale. Muy adecuado si no necesitas trabajar sobre red. Un excelente conjunto de programas disponible en

ftp://sunsite.unc.edu/pub/Linux/system/Serial/mgetty+sendfax*.tar.gz

ftp://tsx-11.mit.edu/pub/Linux/sources/sbin/mgetty+sendfax*

ftp://ftp.leo.org/pub/comp/networking/communication/modem/mgetty/

EFAX

Controla fax de clase 1 y 2; no discrimina entre una conexión de datos y un fax, tiene su fuerte en su facilidad de uso. Necesita el paquete NetPBM (ftp.x.org). Utiliza xv para ver los fax recibidos. Lo encontrará en:

ftp://sunsite.unc.edu/pub/Linux/apps/comm/efax*


Anterior Siguiente Indice