| En el día de hoy aprenderemos a crear un archivo PDF con Node.js para ello vamos hacer uso del modulo pdfkit https://www.npmjs.com/package/pdfkit crearemos un servidor usando el framework express.js |
NODE.js
Empezaremos creando una carpeta en nuestro escritorio node-pdf-maker/ y activando la consola de nuestro editor de código favorito, e instalaremos las siguientes dependencias:
npm init --yes
npm i express pdfkit
Crearemos una carpeta llamada public/ y dentro dos carpetas llamadas pdf/ images/ en la carpeta images colocaremos una imagen .png para luego ser usada en el pdf.
index.js
const express = require("express");
const pdf = require("pdfkit");
const fs = require("fs");
const path = require("path");
const app = express();
app.get("/", (req, res) => {
const P = new Promise((resolve, reject) => {
const ruta = path.join(__dirname, "public/pdf/file.pdf");
const doc = new pdf();
const file = fs.createWriteStream(ruta);
doc.pipe(file);
doc
.fontSize(45)
.text("Tutorial - Aprende a crear un archivo pdf con Node.js!", 100, 100);
doc
.addPage() // Agrega otra pagina
.fontSize(25)
.text("Esto es un triangulo", 100, 100);
// Dibujando un triangulo
doc.moveTo(100, 150).lineTo(100, 250).lineTo(200, 250).fill("#FF3300");
// Agregando una Imagen
doc.addPage().image(__dirname + "/public/images/nodejs.png", {
fit: [250, 300],
align: "center",
valign: "center",
});
// Anadiendo texto con colores
doc
.addPage()
.fillColor("blue")
.text("Mi link Jfdesousa7 Hive!", 100, 100)
.underline(100, 100, 260, 27, { color: "#72c02c" })
.link(100, 100, 260, 27, "https://hive.blog/@jfdesousa7");
doc.end();
file.on("finish", () => {
resolve('success');
});
file.on("error", reject);
});
P.then((msg) => {console.log(msg);res.redirect("pdf/file.pdf")}).catch((e) => console.log(e));
});
app.use(express.static(path.join(__dirname, "public")));
app.listen(process.env.PORT || 4000, () => console.log("Server on port 4000"));
Ejecutamos nuestro ejemplo con:
node src/index.js
Y voilà ....
Podemos ver nuestro ejemplo en vivo aquí https://node-pdf-maker-test.herokuapp.com/
Y con esa amigos llegamos al final del tutorial, espero que lo hayan disfrutado y hasta la próxima! |
¡Felicitaciones!
Estás participando para optar a la mención especial que se efectuará el domingo 21 de febrero del 2021 a las 8:00 pm (hora de Venezuela), gracias a la cual el autor del artículo seleccionado recibirá la cantidad de 1 HIVE transferida a su cuenta.
¡También has recibido 1 ENTROKEN! El token del PROYECTO ENTROPÍA impulsado por la plataforma Steem-Engine.
1. Invierte en el PROYECTO ENTROPÍA y recibe ganancias semanalmente. Entra aquí para más información.
2. Contáctanos en Discord: https://discord.gg/hkCjFeb
3. Suscríbete a nuestra COMUNIDAD y apoya al trail de @Entropia y así podrás ganar recompensas de curación de forma automática. Entra aquí para más información sobre nuestro trail.
4. Creación de cuentas nuevas de Hive aquí.
5. Visita nuestro canal de Youtube.
Atentamente
El equipo de curación del PROYECTO ENTROPÍA