Este projeto tem como finalidade mostar uma forma simples e prática de gerar PDF a partir de templates HTML.
Estrutura do projeto:
.
├── app.js
├── banner.jpg
├── exemplo.pdf
├── package.json
├── public
│ ├── base.html
│ ├── css
│ │ ├── base.css
│ │ ├── post.css
│ │ └── user.css
│ ├── images
│ │ └── photo.jpg
│ └── index.html
└── readme.md
Antes de começar, verifique se você atendeu aos seguintes requisitos:
Como saber se está tudo certo ?
Ao executar os comandos abaixo você deve receber um resultado similar.
$ node -v
v17.4.0
$ npm -v
8.3.1
$ git clone https://github.com/herlanassis/gerando-pdf-com-node gerando-pdf
$ cd gerando-pdf
$ npm install
OU Adicione as seguintes dependências ao seu projeto:
npm i nunjucks html-pdf --save
Utilize o comando abaixo para executar a versão de desenvolvimento.
$ npm run watch
Pronto, se tudo deu certo até aqui nosso projeto deve estar rodando no endereço http://localhost:3000/.
Para testar utilize o Postman
ou ferramenta similiar para acessar o endpoint http://localhost:3000/generate-pdf
no verbo POST.
- Problemas na utilização de flex layout: Issue #419;
- Problemas na utilização de arquivos externos: Issue #13 e Issue #641;
- Erro durante a geração do pdf no ambiente de produção (container docker com a imagem alpine node): Issue #35;