Shell crear PDF de archivo xml

Magento2 Woocommerce Python, Unix, NodeJS

Shell crear PDF de archivo xml

mayo 19, 2020 programador-freelance 0
Compartelo con tus amigos

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  sergio.romo@mojomexico.com.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 yo@hcmx.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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This will close in 45 seconds

PROGRAMACION POR OBJETOS - TESTER NIVEL INTERMEDIO:

CONSUMO DE RECURSOS API DESDE UN ERP:

Instrucciones:

Revisa y corrige y completa del siguiente Objeto las lineas y sentencias con error para poder  consumir de forma correcta los recursos API del Proveedor X MAYORISTA en el cual nos proporciona como medio de acceso-peticion

LA URL-ERP asi:  "../API/CATALOGO/ID.."

En cada PETICION HTTP-POST deberás incluir en EL TOKEN-AUTORIZACION en formato JSON previamente EMPACADO con seguridad de 64bits, quedando tu funcion asi dentro de una CLASE (OBJETO) LLAMADO:

class APIMayoristaX {

return function _get_Token_API () {

(incluir function del alogirtmo Hass)($data_arreglo[

"user" => USERKEY,

"paswd" => PASSKEY

};

public function _get_API_Productos() {

$filto = [

"sku" => valor,

Nombre => valor,

Precio => valor

existencias => valor

];

$token = _get_Token_API ();

return $this->get_CatalogoAPI_Inventario($token, $filtro);

}

}

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER NIVEL FRAMEWORK:

CONSUMO DE RECURSOS EN CODEIGNITER:

Instrucciones:

1.- Asumimos que deseas APLICAR LOS REGURSOS (desdeController) en donde vas a consumir :

: LIBRERIAS (LIBRERY y UNA BASE DE DATOS (DATABASE) tanto de Config como de Model

HAZ AQUI UN OBJETO llamado CLASS PRODUCTOS para demostrar la llamada y uso de recursos.

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER NODEJS OOP:

This will close in 0 seconds

Instrucciones:
Suponemos que tienes un OBJETO CLASE "A", en el cual al ejecutarse en automático integra los valores INIT de su respectiva funcion asi:
class A (padre) {
private $this;
public function __construct() {
$this->init();
}public function init() {
$this->clave = json_decode($this->catalogo->sku["SKU-A", TRUE];
$this->nombre = json_decode($this->catalogo->nombre["NOMBRE", TRUE];
$this->precio = json_decode($this->catalogo->precio["PRECIO", TRUE];
$this->stock = json_decode($this->catalogo->stock["STOCK", TRUE];
}
} //end parent class AEn el espacio disponible, crea EL OBJETO HIJO (puede ser llamado CLASS B) del MISMO PADRE de tal forma que puedas LLAMAR Y REUTILIZAR los valores existentes y actuales en una FUTURA FUNCION llamala "Funcion verValores(variables)" o algo similar, de la base de datos que son:
SKU, NOMBRE, PRECIO Y STOCK

para Finalizar envia tu respuesta con el formulario aqui presente

Al enviar tu respuesta, evaluaremos y te daremos tu calificacion por tu mail.

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER MAGENTO2

 

This will close in 0 seconds

Chat aqui
Por aqui te respondemos