Skip to content
/ pydf Public
forked from tutorcruncher/pydf

PDF generation in python using wkhtmltopdf suitable for heroku

License

Notifications You must be signed in to change notification settings

ilvar/pydf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pydf

PDF generation in python using wkhtmltopdf suitable for Heroku.

Based on pywkher but significantly extended.

The repo is pretty large (currently 116mb) because it contains two binary version of wkhtmltopdf, one for use on Heroku (Ubuntu 10.04) and one for use on Ubuntu 14.04. See this discussion for an explanation.

Basic Usage

import pydf
pdf = pydf.generate_pdf('<h1>this is html</h1>')
open('test_doc.pdf', 'w').write(pdf)

pdf = pydf.generate_pdf('www.google.com')
open('google.pdf', 'w').write(pdf)

API

generate_pdf(source, [**kwrags])

Generate a pdf from either a url or a html string.

After the html and url arguments all other arguments are passed straight to wkhtmltopdf

For details on extra arguments see the output of get_help() and get_extended_help()

All arguments whether specified or caught with extra_kwargs are converted to command line args with "'--' + original_name.replace('_', '-')"

Arguments which are True are passed with no value eg. just --quiet, False and None arguments are missed, everything else is passed with str(value).

Arguments:

  • source: html string to generate pdf from or url to get
  • quiet: bool
  • grayscale: bool
  • lowquality: bool
  • margin_bottom: string eg. 10mm
  • margin_left: string eg. 10mm
  • margin_right: string eg. 10mm
  • margin_top: string eg. 10mm
  • orientation: Portrait or Landscape
  • page_height: string eg. 10mm
  • page_width: string eg. 10mm
  • page_size: string: A4, Letter, etc.
  • image_dpi: int default 600
  • image_quality: int default 94
  • extra_kwargs: any exotic extra options for wkhtmltopdf

Returns string representing pdf

get_version()

Get version of pydf and wkhtmltopdf binary

get_help()

get help string from wkhtmltopdf binary uses -h command line option

get_extended_help()

get extended help string from wkhtmltopdf binary uses -H command line option

execute_wk(*args)

Low level function to call wkhtmltopdf, arguments are added to wkhtmltopdf binary and passed to subprocess with not processing.

About

PDF generation in python using wkhtmltopdf suitable for heroku

Resources

License

Stars

Watchers

Forks

Packages

No packages published