Imprimir de manera agradable tu código y/o documentos (además de ahorrar papel)

… 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

8 Responses to “Imprimir de manera agradable tu código y/o documentos (además de ahorrar papel)”


  1. 1 superpiwi septiembre 24, 2010 de 9:19 pm

    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.”

  2. 2 TempWin septiembre 25, 2010 de 1:34 pm

    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.

  3. 3 ascalotoru septiembre 26, 2010 de 10:24 am

    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.

  4. 6 linugux agosto 10, 2012 de 7:18 pm

    Esta bueno !!!


  1. 1 Imprimir de manera agradable tu código y/o documentos (además de ahorrar papel) | Ayuda Linux Trackback en septiembre 24, 2010 de 10:20 pm
  2. 2 Imprimir de manera agradable tu código y/o documentos « Bitacora Gnu/Linux de Juaramir Trackback en septiembre 28, 2010 de 4:10 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map

Archivos

septiembre 2010
L M X J V S D
 12345
6789101112
13141516171819
20212223242526
27282930  

Blog Stats

  • 31.018.720 hits

A %d blogueros les gusta esto: