Recently we used pdfcrowd to print pdfs from several of our applications running on the Google App Engine.
Integration is very straight forward – we use the web2py python framework to run on top of GAE – so these steps reflect that. Also in our example we want our python function to return the content as a pdf file.
- Register at pdfcrowd
- Download their python client library
- Copy the source of the client library to the module directory of your web2py application directory
- Use the code snippet example below to initialize and call the pdfcrowd library
def print_observation_formpdfcrowd():
out = StringIO.StringIO()
pdfcrowd = local_import('pdfcrowd')
client = pdfcrowd.Client("username", "apikey")
# our html to convert
html='<head></head><body>My HTML Layout</body>'
client.convertHtml(html, out)
# prepare PDF to download:
response.headers['Content-Type']='application/pdf'
pdf_file_name = 'evaluation.pdf'
response.headers['content-disposition']='attachment;
filename='+pdf_file_name
return out.getvalue()