Resumen
El Formato de Documento Portátil (PDF) es uno de los formatos de documento más comunes utilizados para documentos electrónicos en empresas debido a su naturaleza de solo lectura, tener estilos de formato ricos y ser compacto en tamaño, etc. A menudo, una aplicación empresarial necesita generar documentos PDF basados en datos empresariales e imágenes (como recibos, certificados, etc.). Esta publicación de blog muestra ejemplos de cómo generar un documento PDF en aplicaciones empresariales utilizando Node.js.
La Plataforma Tecnológica Empresarial de SAP (BTP) proporciona una forma rápida y fácil de crear, ejecutar, administrar y escalar aplicaciones empresariales en la nube. Una aplicación empresarial en BTP típicamente incluye una interfaz de usuario, microservicios que contienen lógica empresarial y operaciones técnicas. También hay sistemas backend como Planificación de Recursos Empresariales (ERP), Gestión de la Cadena de Suministro, red Blockchain, etc. que almacenan los datos empresariales.
Aplicación Empresarial Típica
La biblioteca de generación de documentos PDF en JavaScript para Node.js utilizada en este ejemplo es
PDFKit
(
https://www.npmjs.com/package/pdfkit
). La documentación se puede encontrar en el sitio web de
PDFKit.org
(
https://pdfkit.org/
).
Otras bibliotecas utilizadas en este ejemplo son
Request
(
https://www.npmjs.com/package/request
) y
axios
(
https://www.npmjs.com/package/axios
). Durante la implementación, solo necesitas usar
Request
o
axios
para solicitudes/respuestas. Sin embargo, con fines de demostración, este artículo muestra cómo se pueden usar estas dos bibliotecas para cargar una imagen desde una URL web y mostrarla en el documento PDF.
El código de muestra mostrado en este artículo se basa en parte en otro artículo
Generación de un PDF en Node.js
(
https://levelup.gitconnected.com/generating-pdf-in-nodejs-201e8d9fa3d8
).
Código de Muestra Utilizando la Biblioteca PDFKit
Desde la línea de comandos o terminal, agrega las bibliotecas de dependencia después de la inicialización del proyecto.
npm init
npm install pdfkit
npm install request
npm install axios
Crea un módulo de Node (RequestUtil.js) para manejar las solicitudes. La función doRequest devuelve un objeto Promise que eventualmente devolverá un estado resuelto o un estado rechazado. En el código de muestra de este artículo, se llama a la función doRequest para obtener el contenido de un archivo de imagen desde una URL web.
"use strict";
const _REQUEST = require("request");
module.exports =
{
doRequest: doRequest
}
async function doRequest(requestPayload)
{
return new Promise(function(resolve, reject)
{