… que los buenos árboles se lo merecen.
Si tienes documentación que imprimir seria interesante imprimir varias páginas por folio, el siguiente script que os dejo permite convertir un fichero de texto a plano a fichero .ps de postscript y despues este se convierte a PDF manteniendo el formato creado.
El código del script no lo paso, total está en la imágen que además me sirve como ejemplo para ilustrar la explicación.
Pero basicamente consiste en crear este alias:
alias a2ps='a2ps -v --line-numbers=1 --font-size=9 --copies=1 --sides=2 --landscape --chars-per-line=120 --truncate-lines=1 --highlight-level=normal -E --media=A4 -2 --printer=printer'
Tener instalado «a2ps»
a2ps - a2ps de GNU, conversor de «cualquier cosa a PostScript» y crea impresiones agradables
que podemos instalar con:
$ sudo aptitude install a2ps
y por ultimo generar un fichero .ps desde el fichero .txt o en formato de texto plano con el comando:
$ a2ps -o output.ps fichero_entrada
Ejemplo:
a2ps -o comandos.ps comandos.txt
Luego para convertir de ps a pdf ejecutamos:
ps2pdf comandos.ps comandos.pdf
Visto en | Linux.dsplabs
Cuidado con las comillas simples y dobles, aqui va:
#!/bin/bash
#=================================================================
# IMPRIMIR TEXTO A PDF
#=================================================================
#
# Script Bash para imprimir de forma bonita y con ahorro de papel
# nuestros ficheros de texto (especialmente ficheros de codigo).
#
# @author Piwi – Ubuntulife – 24 Septiembre 2010
#
# Guarda este script como «ImprimeAPDF.sh» o algun nombre similar
#
# Despues dale permisos de ejecucion con:
# $ chmod +x ImprimeAPDF.sh
#
# y ya podras ejecutarlo con:
#
# $ ./ImprimeAPDF.sh «Fichero_de_texto_a_convertir»
#
# Seria una buena opción tenerlo como Script Nautilus.
#
#================================================================
# Info: http://linux.dsplabs.com.au/a2ps-options-printing-files-from-linux-bash-shell-to-postscript-ps-printer-p46/
#—————————————————————-
# Lo primero que hacemos es leer el fichero que se pasa como
# parametro
FICHERO=»$1″
# Si no se pasa ningun parametro, salimos
if [ -z $FICHERO ];
then
echo «No has indicado ningun fichero.»
exit;
fi;
# En otro caso…
file=$FICHERO
# Extraemos elnombre y la extension del fichero
NOMBRE=${file%%.*}
EXTENSION=${file#*.}
echo «»
echo «================================»
echo » Convertir fichero a PDF »
echo «================================»
echo «»
echo «Fichero es [$file], nombre=[$NOMBRE], extension=[$EXTENSION]»
# El truco esta en usar «a2ps» para convertir ese fichero de texto
# a postscript
# Creamos el siguiente alias, deberia existir, pero asi nos aseguramos
#
# El alias nos permite configurar las opciones principales de a2ps para
# imprimir 2 folios por cara, usar tipo de folio A4, etc
alias a2ps=’a2ps -v –line-numbers=1 –font-size=9 –copies=1 –sides=2 –landscape –chars-per-line=120 –truncate-lines=1 –highlight-level=normal -E –media=A4 -2 –printer=printer’
# Ahora ejecutamos ap2ps y creamos el fichero .ps a partir
# del nombre de fichero indicado
a2ps -o «${NOMBRE}.ps» «$FICHERO»
echo «»
echo «Fichero ${NOMBRE}.ps Generado.»
echo «»
# Ahora generamos imagenes png por cada pagina del fichero .ps
convert -density 300×300 -resize 670×1000 «${NOMBRE}.ps» «${NOMBRE}.png»
# Y finalmente unimos todos las imagenes .png generadas para construir
# el fichero PDF
convert «${NOMBRE}*.png» «${NOMBRE}.pdf»
#echo «»
#echo «Fichero ${NOMBRE}*.png Generado.»
#echo «»
# Y finalmente borramos los ficheros temporales .png generados a partir
# del .ps
rm «${NOMBRE}»*.png
# Al final a partir del fichero de texto plano se queda un .ps y .pdf
echo «${0} Finalizado. Gracias por usar este script.»
Continuando con aplicaciones en línea de comandos, en el caso de tener ya un documento PDF y querer generar otro con tantas páginas por página como queramos, es muy cómodo el uso de la herramienta pdfnup, incluido en el paquete PDFjam. Su uso es muy sencillo:
$ pdfnup --nup 2x1 input.pdf
Generará un fichero llamado input-2×1.pdf con dos páginas por página (como en la captura de pantalla puesta por superwipi). Las combinaciones son bastantes, basta mirar su documentación.
Hola. He copiado tu script y después de corregir las comillas y las x de 300×300 y 670×1000, el archivo .ps lo veo bien pero el archivo .pdf lo veo apaisado y con bastante menos calidad. Dejo una captura:
Gracias y un saludo.
Es por la resolucion de las imagenes, demasiado baja, extrae imagenes del ps y luego las une para generar el pdf.
Cambia la ultima parte del script para utilizar mejor ps2pdf, una tool que te permite pasar de ps a pdf, su sintaxis es:
ps2pdf fichero.ps fichero.pdf
Solucionado. Gracias.
Esta bueno !!!