miércoles, 26 de octubre de 2016

Otra opción: a2ps

El programa a2ps es interesante. Como podemos suponer por su nombre, es un programa de conversión de formatos, pero también es algo más. Su nombre originalmente significa "ASCII to PostScript - ASCII a PostScript" y se usaba para preparar archivos de texto para imprimir en impresoras PostScript. A lo largo de los años, sin embargo, las capacidades del programa han crecido, y ahora su nombre significa "Cualquier cosa a PostScript". Aunque su nombre nos sugiere un programa de conversión de formatos, es realmente un programa de impresión. Manda su salida por defecto a la impresora predeterminada del sistema en lugar de a la salida estándar. El comportamiento del programa por defecto es como el de una "impresora bonita", lo que significa que mejora la apariencia de la salida. Si usamos el programa para crear un archivo PostScript en nuestro escritorio:

[me@linuxbox ~]$ ls /usr/bin | pr -3 -t | a2ps -o ~/Desktop/ls.ps -L 66
[stdin (plain): 11 pages on 6 sheets]
[Total: 11 pages on 6 sheets] saved into the file `/home/me/Desktop/ls.ps'

Aquí filtramos la secuencia con pr, usando la opción -t (que omite encabezados y pies de página) y luego con a2ps, especificamos un archivo de salida (opción -o) y 66 líneas por página (opción -L) para que coincida con la paginación de salida de pr. Si vemos el archivo resultante con un visor de archivos adecuado, veremos esto:
Figura 6: Viendo la salida de a2ps

Como podemos ver, la plantilla de salida por defecto es en formato de dos páginas por hoja. Esto provoca que el contenido de dos pagínas se impriman en cada hoja de papel. a2ps también aplica bonitos encabezados y pies de página.

a2ps tiene muchas opciones. Aquí tenemos un resumen:

Tabla 22-4: Opciones de a2ps
Opción Descripción
--center-title texto Establece el título del centro de la página a texto.
--columns número Ordena páginas en número columnas. La opción por defecto 2.
--footer texto Establece el pie de página a texto.
--guess Muestra los tipos de archivos dados como argumentos. Como a2ps trata de convertir y formatear todos los tipos de datos, esta opción puede ser útil para predecir qué hará a2ps cuando se le dé un archivo en particular.
--left-footer texto Establece el pie de página izquierdo a texto.
--left-title texto Establece el título izquierdo de la página a texto.
--line-numbers=intervalo Numera las líneas de salida cada intervalo de líneas.
--list=defaults Muestra la configuración por defecto.
--list=tema Muestra las configuraciónes de tema, donde tema es uno de los siguientes: delegaciones (programas externos que se usarán para convertir datos), codificación, características, variables, medios (tamaño de papel y similares), ppd (descripciones de impresora PostScript), impresoras, prólogos (porciones de código que están prefijados a la salida normal), hojas de estilo y opciones de usuario.
--pages rango Imprime páginas incluidas en rango.
--right-footer texto Establece el pie de página derecho a texto.
--right-title texto Establece el título derecho de la página a texto.
--rows número Ordena páginas en número filas. Por defecto es una.
-B Sin encabezados de página.
-b texto Establece el encabezado de página a texto.
-f tamaño Usa fuente de tamaño puntos.
-l número Establece los caracteres por línea a número. Esta y la opción -L (a continuación) pueden usarse para hacer que archivos paginados con otros programas, como pr, encajen correctamente en la página.
-L número Establece las líneas por página a número.
-M nombre Usa el medio nombre. Por ejemplo, "A4"
-n número Imprime número de copias de cada página.
-o archivo Envía la salida a archivo. Si archivo se especifica como "-", usa la salida estándar.
-P impresora Usa impresora. Si no se especifica la impresora, se usa la impresora por defecto del sistema.
-R Orientación vertical.
-r Orientación horizontal.
-T número Establece el tamaño del tabulador a número caracteres.
-u texto Imprime texto (marca de agua) una capa por debajo de la página.

Esto es sólo un resumen. a2ps tiene varias opciones más.

Nota: a2ps está todavía en desarrollo activo. Durante mi prueba, he notado comportamientos diferentes en varias distribuciones. En CentOS 4, la salida siempre va a la salida estándar por defecto. En CentOS 4 y Fedora 10, la salida va por defecto a un medio A4, a pesar de que el programa esté configurado para usar medios de tamaño carta por defecto. Podría superar estos problemas especificando explícitamente la opción deseada. En Ubuntu 8.04, a2ps se comporta como está documentado.

Ten en cuenta también que hay otro formateador de salida útil para convertir texto a PostScript. Se llama enscript, puede realizar muchos de los mismos tipos de trucos de formateo e impresión, pero al contrario que a2ps, sólo acepta entrada de texto.

1 comentario: