/wkhtmltopdf-flask-aas

Wkhtmltopdf Flask As a Service

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

PDF Generator Flask microservice

Travis Docker Pulls License

This is a microservice which handles pdfkit (which uses wkhtmltopdf) to make PDF generation from HTML a piece of cake.

Docker hub installation

docker run -d --name wkhtmltopdf-aas -p <hostport>:80 ciricihq/wkhtmltopdf-aas

Builds are automatically generated from github.

Manual installation

pip install -r requeriments.txt

Starting server

python app.py

Build Docker container

docker build -t ciricihq/wkhtmltopdf-aas .

Starting Docker container

docker run -d --name wkhtmltopdf-aas -p <hostport>:80 ciricihq/wkhtmltopdf-aas

Testing the microservice

Testing providing url to render:

curl -F "url=http://cirici.com" 'http://localhost:5000/pdf' > youramazingfile.pdf

Testing uploading contents:

curl -F "content=@test.html" 'http://localhost:5000/pdf' > youramazingfile.pdf

Testing passing html as string:

curl -F "html=<html><head> <meta charset%3D\"utf8\"> </head><body>Hello world</body></html>" 'http://localhost:5000/pdf' > youramazingfile.pdf

Passing options

You can use all the wkhtmltopdf options passing in a options array as following example (if option should not receive value just send the option without value):

curl -F "url=http://cirici.com" -F "options[orientation]=Landscape" -F "options[grayscale]" 'http://localhost:5000/pdf' > youramazingfile.pdf

You want to generate images? No problem, just change the pdf endpoint to jpg.