Nesse artigo você ira aprender a gerar, de uma forma rápida, um PDF a partir de um documento HTML, em um projeto Angular.
1. Criar um novo projeto Angular
ng new pdf-generator
ng g c pdf-page
ng g c pdf-creator
2. Instalar as bibliotecas necessárias
Bibliotecas necessárias:
https://www.npmjs.com/package/html2pdf.js/v/0.9.0
npm install html2pdf.js
Outras libs (opcional):
https://material.angular.io/
ng add @angular/material
Vamos adicionar o Angular Material para facilitar nossa vida com a criação de um botão e uma lista com check-boxes.
3. Criação da tela de gerar PDF
Ainda nessa tela, falta criar a lógica de gerar o PDF. É necessario criar uma instância do componente com o html do pdf pdf-creator (linhas 60 e 61) e passar os valores dos atributos (linhas 63 e 64). Por fim é preciso esperar uma resposta do emitter, criado no pdf-page certificando que a criação a instância foi finalizada. Após isso, é chamado o método print, que vai usar essa instancia criada pra gerar o PDF. Toda essa lógica é feita a partir do clique do botão ‘gerar pdf!’, que por conseguinte, chama o método selectItems.
Existem configurações que podem ser utilizadas no PDF. Essas configurações estão exemplificadas na constante config (linha 67). Outras configurações podem ser adicionadas, e para mais informações acessar a documentação da biblioteca aqui.
Agora vamos partir para o componente do PDF propriamente dito:
4. Criar componente do PDF
Para acessar o código completo e funcionando, do exemplo desse artigo, é só acessar o github.