Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.

zucchetti-pos/page-to-pdf

 
 

Repository files navigation

Page To PDF

Função simples e grosseira para gerar PDF a partir de uma página web. 😄

Estrutura

O projeto é gerenciado pelo Serverless Framework, usando Python, pelos seguintes motivos:

  • Serverless não nos deixa presos à AWS;
  • Utiliza AWS Lambda, permitindo uma escala gigantesca;
  • Python é a linguagem com melhor performance na plataforma Lamda;

A lib pdfkit é utilizada (ainda que não mais mantida) por ser compatível com a lib de mesmo nome para Ruby, sendo assim, não ficamos presos nem ao Python.

Instalação de dependências

Serverless

Será necessário instalar o Serverless Framework, pelo link acima.

Node

Na raiz do projeto, execute:

npm install

Python

Tradicional

Com o python e pip instalados:

pip install -r requirements.txt

Com pipenv

Para instalar todas as dependências, instale o pipenv, seguindo as instruções para seu sistema operacional, depois, na pasta do projeto, rode um pipenv install e estará pronto!

Desenvolvimento local

Após instalar as dependências, utilizar o comando sls offline com a porta 3000 livre e utilizar curl ou semelhante:

curl http://localhost:3000/production/pdf

Rodar testes

Instale o pytest com o comando pip install -U pytest (caso use pipenv, só usar um pipenv install).

Utilize o comando pytest na raiz do projeto para rodar os testes.

Fazer deploy

Na raiz do projeto, execute o comando make ou make deploy e pronto.

Fazer deploy em novo ambiente

Basta editar o serverless.yml conforme necessário, baixar as dependências.

Caso queira mudar o nome do serviço, ou domínio, execute:

sls create_domain

Dúvidas? Bugs? Raiva? Feedback?

[email protected]

About

Páginas web para PDF

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 91.7%
  • Shell 4.9%
  • Makefile 3.4%