Resumo
O Formato de Documento Portátil (PDF) é um dos formatos de documento mais comuns usados para documentos eletrônicos em empresas devido à sua natureza de apenas leitura, estilos de formatação ricos e tamanho compacto, etc. Muitas vezes, um aplicativo empresarial precisa gerar documentos PDF com base em dados empresariais e imagens (como recibos, certificados, etc.). Esta postagem no blog mostra exemplos de como gerar um documento PDF em aplicativos empresariais usando Node.js.
A Plataforma Tecnológica Empresarial da SAP (BTP) fornece uma maneira rápida e fácil de criar, executar, gerenciar e escalar aplicativos empresariais na nuvem. Um aplicativo empresarial no BTP geralmente inclui uma interface do usuário, microsserviços que contêm lógica empresarial e operações técnicas. Também existem sistemas backend como Planejamento de Recursos Empresariais (ERP), Gerenciamento da Cadeia de Suprimentos, rede Blockchain, etc., que armazenam os dados empresariais.
Aplicativo Empresarial Típico
A biblioteca JavaScript de geração de documentos PDF para Node.js usada neste exemplo é
PDFKit
(
https://www.npmjs.com/package/pdfkit
). A documentação pode ser encontrada no site
PDFKit.org
(
https://pdfkit.org/
).
Outras bibliotecas usadas neste exemplo são
Request
(
https://www.npmjs.com/package/request
) e
axios
(
https://www.npmjs.com/package/axios
). Durante a implementação, você só precisa usar
Request
ou
axios
para solicitações/respostas. No entanto, para fins de demonstração, este artigo mostra como essas duas bibliotecas podem ser usadas para carregar uma imagem de uma URL da web e exibi-la no documento PDF.
O código de exemplo mostrado neste artigo é baseado em parte em outro artigo
Geração de um PDF em Node.js
(
https://levelup.gitconnected.com/generating-pdf-in-nodejs-201e8d9fa3d8
).
Código de Exemplo Usando a Biblioteca PDFKit
Da linha de comando ou terminal, adicione as bibliotecas de dependência após a inicialização do projeto.
npm init
npm install pdfkit
npm install request
npm install axios
Crie um módulo Node (RequestUtil.js) para lidar com as solicitações. A função doRequest retorna um objeto Promise que eventualmente retornará um estado resolvido ou um estado rejeitado. No código de exemplo deste artigo, a função doRequest é chamada para obter o conteúdo de um arquivo de imagem de uma URL da web.
"use strict";
const _REQUEST = require("request");
module.exports =
{
doRequest: doRequest
}
async function doRequest(requestPayload)
{
return new Promise(function(resolve, reject)
{