Luego de realizar algunas investigaciones me encontré con unos comandos de linux que nos ayudarían a realizar la mencionada tarea, el primero de ellos es "enscript", un programa utilizado para convertir archivos de texto a otros formatos, tales como Postscript (por defecto), HTML, RTF y algunos más;
y el segundo es "ps2pdf" cuya función es convertir archivos de formato Postscript a PDF.
En nuestro caso en particular el software los escribimos en Java, pero esto es perfectamente utilizable con el código fuente de cualquier lenguaje.
A continuación quiero compartir con ustedes el pequeño script que escribí, talvez le ahorre a alguien algo de tiempo.
#########################################################
echo "Obteniendo los nombres de los archivos con extension java..."
find . -name '*.java' > ./filenames-to-print
echo "Obteniendo los nombres de los archivos con extension css..." find . -name '*.css' >> ./filenames-to-print
echo "Obteniendo los nombres de los archivos con extension html..." find . -name '*.html' >> ./filenames-to-print
echo "Obteniendo los nombres de los archivos con extension xml..." find . -name '*.xml' >> ./filenames-to-print
echo "Obteniendo los nombres de los archivos con extension js..." find . -name '*.js' >> ./filenames-to-print
echo "Generando archivo pdf..."
enscript -r -2 -E --margin=48:30:25:25 --color --line-numbers -o - `cat ./filenames-to-print` | ps2pdf - printable-src.pdf
#########################################################Lo primero que hace es recopilar en un archivo de texto los nombres de todos los archivos en los que estabamos interesados que sean impresos, luego le pasamos a enscript esta lista de nombres y nos retorna un único archivo Postscript cuyo contenido es a la vez el contenido de cada uno de los archivos especificados, uno tras otro. Con las opciones especificadas arriba resulta un archivo con páginas en forma horizontal, a dos columnas de texto y márgenes indicados, además de mostrar números de líneas y texto en color.
Seguidamente, pasamos el archivo postscript como argumento al comando ps2pdf para tenerlo en formato PDF, y por último, directo a la impresora.
Muy muy bueno!!!
ResponderEliminarGracias Doglas, es bueno saber que le ha interesado a alguien.
ResponderEliminarInteresante aporte Arnaldo..
ResponderEliminarGroso! Me salvaste!!!
ResponderEliminar