Shell crear PDF de archivo xml
Como ya lo hemos visto en otros ejemplos de otros codigos, ahora voy a mostrar la forma fácil que puedes obtener un archivo PDF en unas cuantas lineas de código Shell (B-shell) y con el apoyo de librerias como “wkhtmltopdf” o puedes usar la de tu preferencia verificando que está instalada en tu sistema NIX.
Siguiendo el proposito de este curso, aqui te presento el codigo que puedes insertar en tu codigo ( python, composer, nodejs, php etc):
/bin/bash
* Mojomexico / Sromo (2020) soluciones Linux Debian, Fedora, Ubuntu, RedHat, Caldera, SELinux, Suse rel.2.4 y 2.6 Kernel***/
# aplicacion: facturacion electronica sat para sistemas Linux y Unix sco, aix, hp9000 y sun microsystems. ****/
# autor:SROMO /Mojomexico.com.mx desarrollos y soluciones Shell
szAnswer=$(zenity --width 600 --entry --title "Convertir a PDF" --text "Pega la URL que quieres convertir a PDF:" --entry-text "http://"); echo $szAnswer
direccionURL=${szAnswer}
if [ -z $direccionURL ];
then
exit;
fi
szSavePath=$(zenity --file-selection --title "Nombre del fichero PDF a generar:" --save --confirm-overwrite);echo $szSavePath
filepdf=${szSavePath}
if [ -z "$filepdf" ];
then
exit;
fi
wkhtmltopdf "${direccionURL}" "${filepdf}"
Asi de sencillo, ahora vamos a revisar la forma de crear el PDF y ENVIAR POR MAIL a varios destinatarios con copia a todos, en el mismo proceso de creación del pdf lo que te permitirá automatizar tus procesos desde tu APP o Tienda Web como Magento2, Woocommerce, Prestashop, Joomla, PHP.
/bin/bash
# Mojomexico(2020) soluciones Linux Debian, Fedora, Ubuntu, RedHat, Caldera, SELinux, Suse rel.2.4 y 2.6 Kernel
#aplicacion: facturacion electronica sat para sistemas Linux y Unix sco, aix, hp9000 y sun microsystems.
#autor:Mojomexico.com.mx desarrollos y soluciones
se*********@mo********.mx
export DISPLAY=:0.0
xhost +
Xvfb -br -screen 0 1024x768x24 -dpi 96 -nolisten tcp
sudo {-u userautorizado} wkhtmltopdf -B 9 -L 8 -R 8 -T 15 $1 $1.pdf;
chmod 777 $1.pdf;
#servicio MUTT de envio de mails por default en la mayoria de los sistemas #NIX( debian, ubuntu, readhat, Aix, Solaris, etc; puedes cambiar por #sendmail o el de tu preferencia
mutt -s “Factura Electronica LA EMPRESA, SA DE C.V.” -a tmpA/.xml -a $1.pdf -b
**@hc**.com
.xml tmpA/*.html;
exit 0;
//fin
De esta forma podemos entregar la Factura Fiscal T3 Generada previamente usando solo los recursos de BASH SHELL como : awk, sed, grep, etc. Sino sabes como o quieres aprender más te invito a que te Suscribas a mi Canal Mojomexico de Cursos para Programar Fácil en PHP, Python3, NodeJs, Eclipse, Composer, que estoy publicando cada semana.
Espero que te sea util.