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()