Command pdfsvc is a small wrapper around WeasyPrint command to expose it as
a http service.
Service accepts POST requests expecting html bodies and proper Content-Type: text/html header. If html is not utf8, either set proper encoding in
Content-Type header or directly in html. If html is successfully converted,
reply would have code 200 OK and Content-Type: application/pdf, the body
would be a pdf document.
If pdfsvc is started with TOKEN environment variable or -token=value flag,
only requests having Authorization: Bearer token header are allowed.
You can build ready-to-use docker image using Dockerfile from this repository
(Docker 17.05 or later is required):
docker build -t pdfsvc:latest .
Then run it:
docker run -p 8080:8080 --rm pdfsvc
You can use ADDR environment variable to change address service listens at
and TOKEN to enable request authentication.
Example of calling service listening on localhost:8080 with curl:
curl -sD- -o output.pdf -T input.html \
-X POST -H "Content-Type: text/html" http://localhost:8080/