En este artículo, veremos cómo generar documentos PDF en NodeJS.
requisitos previos:
- Conocimientos básicos de Node.js.
- Node.js instalado (versión 12+) .
- npm instalado (versión 6+).
Paso 1: Instale el módulo PDF. El PDFkit : es un módulo incorporado para generar documentos PDF en NodeJS de una manera muy simple y fácil en la que podemos hacer gráficos, cargar imágenes y también proporcionar un enlace del sitio web.
- Para instalarlo en el proyecto, escriba el siguiente comando en la terminal o en el símbolo del sistema.
npm install pdfkit
Sintaxis:
const PDFDocument = require('pdfkit'); const doc = new PDFDocument;
- Para agregar una nueva página en el PDF.
doc.addPage()
- Para guardar documentos PDF en el directorio raíz.
doc.pipe(fs.createWriteStream('PDF Name'));
Paso 2: Instalación del módulo para configurar el entorno NodeJS. También necesitamos configurar el archivo package.json.
npm install express
Nombre de archivo: paquete.json
Javascript
{ "name": "node_func", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node app.js", "dev": "nodemon app.js" }, "author": "", "license": "ISC", "dependencies": { "fs": "^0.0.1-security", "pdfkit": "^0.11.0" } }
Estructura de carpetas: podemos ver que el archivo PDF se crea en el directorio raíz.
Ejemplo: aquí está el código JavaScript que debe escribirse en app.js, que es para NodeJS.
Nombre de archivo: index.js
index.js
// Importing modules import PDFDocument from 'pdfkit' import fs from 'fs' // Create a document const doc = new PDFDocument(); // Saving the pdf file in root directory. doc.pipe(fs.createWriteStream('example.pdf')); // Adding functionality doc .fontSize(27) .text('This the article for GeeksforGeeks', 100, 100); // Adding an image in the pdf. doc.image('download3.jpg', { fit: [300, 300], align: 'center', valign: 'center' }); doc .addPage() .fontSize(15) .text('Generating PDF with the help of pdfkit', 100, 100); // Apply some transforms and render an SVG path with the // 'even-odd' fill rule doc .scale(0.6) .translate(470, -380) .path('M 250,75 L 323,301 131,161 369,161 177,301 z') .fill('red', 'even-odd') .restore(); // Add some text with annotations doc .addPage() .fillColor('blue') .text('The link for GeeksforGeeks website', 100, 100) .link(100, 100, 160, 27, 'https://www.geeksforgeeks.org/'); // Finalize PDF file doc.end();
Salida: El archivo PDF creado se verá así.
Publicación traducida automáticamente
Artículo escrito por _sh_pallavi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA