Generar un PDF a partir de una plantilla html en la que substituimos una serie de datos usando minijinja. Esos datos pueden ser obtenidos de una API.
Debido a que usamos la libreria wkhtmltopdf para crear el pdf tenemos que tener instalado en nuestro equipo el programa wkhtmltopdf. Se puede descargar desde su web
Crear un archivo .env con el contenido del archivo example.env
Para iniciar el proyecto hay que ejecutar el siguiente comando:
cargo run
- En la carpeta /plantillas es donde se guardan las plantillas html que se usaran para crear el pdf.
- En la carpeta /pdf es donde se guardará el pdf.
- En la carpeta /src se encuentran los siguientes archivos:
- main.rs: se obtinenen los datos que vamos a substituir en el pdf de la api de dummyjson.
- ejemploSencillo.rs: se obtienen los datos que vamos a substituir los definimos nosotros. Para ejecutar este archivo hay que descomentar la linea # path = "src/ejemploSencillo.rs" que está en el archivo Cargo.toml.
- ejemploProducto.rs: se obtienen los datos que vamos a substituir los definimos nosotros. Para ejecutar este archivo hay que descomentar la linea # path = "src/ejemploProducto.rs" que está en el archivo Cargo.toml.Este ejemplo fue realizado para probar el bucle for.
En el archivo html debemos de poner entre "{{}}" los valores que queramos substituir. Por ejemplo:
<p>Nombre: {{nombre}}</p>
<p>Apellidos: {{apellidos}}</p>
<p>Edad:{{edad}}</p>
Para crear comentarios:
{#Comentario#}
Ejemplo de como se usaría un if/else:
{% if nombre == 'Zacarias' %}
<p>Se llama Zacarias</p>
{% else %}
<p>No se llama Zacarias</p>
{% endif %}
Ejemplo de como se haría un bucle:
{% for imagen in imagenes %}
{{ imagen }}
<br>
{% endfor %}