DanNode:
Estoy haciendo un proyecto web y necesito generar un PDF con los datos de MySQL, tengo la conexión y el canal una Res.Render ( '', Myview.ejs de datos: Datos) puedo ver los datos, pero yo quiero una pdf con los datos.
Cuando me dieron la base de datos Conexión y consultas SQL
var mysql = require('mysql');
exports.proyectosHome = (req, res) => {
// Parámetros de conexión a la base de datos.
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database : 'tasker'
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
con.query("select * from proyectos", function (err, result) {
if (err) throw err;
res.render('index.ejs',
{
datos :result
});
})
});
}
Y myView donde me dieron una etiqueta <a>
que cuando pulso, quiero crear un pdf con la select * from proyectos
información
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<% for( let i = 0; i < datos.length; i++ ) { %>
<%- datos[i].nombre %>
<% } %>
<a href="#">Create PDF</a>
</body>
</html>
cviller:
Es necesario formatear un motor para hacer un buen aspecto PDF para su descarga. Se puede utilizar por ejemplo reaccionar-pdf a https://react-pdf.org/ para generar archivos PDF. Si está familiarizado con reaccionar, es bastante sencillo, pero hay que diseñar la página utilizando vistas, similares a div.