Tutorial - Aprende a crear un archivo .PDF con Node.js

in Develop Spanish5 years ago


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!


Visita mi sitio web oficial para presupuestos y mucho más

TupaginaOnline.net

Sort:  

¡Felicitaciones!


Has sido votado por @entropia

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