Sign inSign up

labela/wkhtmltopdf-aas

By labela

Updated over 8 years ago

Image
0

849

labela/wkhtmltopdf-aas repository overview

wkhtmltopdf-aas

wkhtmltopdf in a docker container as a web service. Fork from https://hub.docker.com/r/openlabs/docker-wkhtmltopdf-aas/

This image is based on the wkhtmltopdf container.

Running the service

Run the container with docker run and binding the ports to the host. The web service is exposed on port 80 in the container.

docker run -d -P openlabs/docker-wkhtmltopdf-aas

The container now runs as a daemon.

Find the port that the container is bound to:

docker port 071599a1373e 80

where 071599a1373e is the container SHA that docker assigned when docker run was executed in the previous command.

Take a note of the public port number where docker binds to.

Using the webservice

There are multiple ways to generate a PDF of HTML using the service.

Uploading a HTML file

This is a convenient way to use the service from command line utilities like curl.

curl -X POST -vv -F 'file=@path/to/local/file.html' http://<docker-host>:<port>/ -o path/to/output/file.pdf

where:

docker-host is the hostname or address of the docker host running the container port is the public port to which the container is bound to.

JSON API

If you are planning on using this service in your application, it might be more convenient to use the JSON API that the service uses.

Here is an example using python requests:

import json
import requests

url = 'http://<docker_host>:<port>/'
data = {
    'contents': open('/file/to/convert.html').read().encode('base64'),
}
headers = {
    'Content-Type': 'application/json',    # This is important
}
response = requests.post(url, data=json.dumps(data), headers=headers)

# Save the response contents to a file
with open('/path/to/local/file.pdf', 'wb') as f:
    f.write(response.content)

Authors and Contributors

This image was built at Openlabs.

Tag summary

Content type

Image

Digest

Size

305.3 MB

Last updated

over 8 years ago

docker pull labela/wkhtmltopdf-aas