Skip to main content

PDF generation in python using wkhtmltopdf suitable for heroku

Project description

Build Status codecov.io PyPI Status license

PDF generation in python using wkhtmltopdf.

Wkhtmltopdf binaries are precompiled and included in the package making pydf easier to use, in particular this means pydf works on heroku.

Currently using wkhtmltopdf 0.12.4 (with patched qt).

Install

pip install python-pdf

(pydf was taken, but I guess python-pdf is a clearer name anyway.)

Basic Usage

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

pdf = pydf.generate_pdf('www.google.com')
with open('google.pdf', 'w') as f:
    f.write(pdf)

API

generate_pdf(source, [**kwargs])

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.

Changelog

0.3

  • uprev wkhtmltopdf from 0.12.2 (beta) to 0.12.4.

  • code cleanup

0.21

  • correct permissions on wkhtmltopdf binary.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-pdf-0.3.tar.gz (15.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_pdf-0.3-py2.py3-none-any.whl (15.3 MB view details)

Uploaded Python 2Python 3

File details

Details for the file python-pdf-0.3.tar.gz.

File metadata

  • Download URL: python-pdf-0.3.tar.gz
  • Upload date:
  • Size: 15.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-pdf-0.3.tar.gz
Algorithm Hash digest
SHA256 0257850b08a663586af31e79a5078d5db947403247b3a687ef5058915390291c
MD5 164c6bf315890d64e3bb430a304fd238
BLAKE2b-256 83698eb18bd2ce48cef171ca8273e0612851623164ec0b9ccc63fa98439a012a

See more details on using hashes here.

File details

Details for the file python_pdf-0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for python_pdf-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 01433b2e9c06173f43a7c0976b65f767c203c8095873914bc8f0ea9cbc42e6ee
MD5 5d4b2fb0401f20dd7b89c2f00f09069f
BLAKE2b-256 0700121bf37a358f797779541342e6f77ac133bfcaf8efa65001edcdd3a69e26

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page