Skip to main content

Plone package to send current page as PDf (or download it as pdf)

Project description

Introduction
============

collective.sendaspdf is an open source product for Plone that
allows downloading the page seen by the user as a PDF file. It also
provide a form to send the page by e-mail (a screenshot of the current
page in a PDF format being joined to the e-mail).

It relies on two products to generate the PDF files:
- xhtml2pdf: http://www.xhtml2pdf.com/
- wkhtmltopdf: http://code.google.com/p/wkhtmltopdf/

The site manager can easily chose which solution he prefers for
the generation.

Installing
==========

To install the package, you can simply add 'collective.sendaspdf'
to the eggs list in your buildout.
Then install it using Zope's quick installer or Plone's add-on
products manager.

To install xhtml2pdf, add the following to your buildout eggs
directory:
pisa
pyPdf
html5lib
reportlab

collective.sendaspdf has been tested with development versions of
pisa and html5lib. With the last releases (when writing this README
- html5lib 0.9 and pisa 3.0.33) some pages could not be rendered.

To install wkhtmltopdf, go to the projects page and download an
executable version for your OS. Install it so the command
'wkhtmltopdf' is in the PATH.
You can also update your buildout to automatically download
wkhtmltopdf and have if use by your instance using the following
recipes:

[buildout]
parts =
...
wkhtmltopdf
wkhtmltopdf_executable

[instance]
...
environment-vars =
...
WKHTMLTOPDF_PATH ${wkhtmltopdf:location}/wkhtmltopdf

[wkhtmltopdf]
recipe = hexagonit.recipe.download
url = http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2

[wkhtmltopdf_executable]
recipe = collective.recipe.cmd
on_install = true
on_update = true
cmds =
cd ${buildout:directory}/parts/wkhtmltopdf
mv wkhtmltopdf-amd64 wkhtmltopdf
chmod +x wkhtmltopdf

You might have some changes to do depending on the architecture you
are using (this example is for the amd64 architecture)

Configuring
===========

Go to the Plone control panel. You will find a 'Send as PDF' link that
sends you to the products configuration page.

This page proposes a few settings:
- the tool used to render the PDF files.
- the directory where the PDF files are stored.
- the sentence used as salt when hashing the user's emails
(this hash is used to know which files a user can access)
- the name used in the mail for the PDF file.
- a default title/body for the mails.

For wkhtmltopdf user, two extra options are available:
- always use the print CSS to render the PDF.
- use the print CSS for a given set of objects.

xhtml2pdf always use the print CSS.

TODO
====

- a buildout recipe to install wkhtmltopdf
- an Ajax version of the send by mail form

Changelog
=========

1.0 (2010-07-21)
----------------

- added Dutch and French translations [vincent+mark]

- added view to send by mail and download the page. [vincent]

- added document actions to send the page by mail and download as
pdf. [vincent]

- Added sendaspdf tool to manage preferences. [vincent]

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

collective.sendaspdf-1.0.zip (47.0 kB view details)

Uploaded Source

File details

Details for the file collective.sendaspdf-1.0.zip.

File metadata

File hashes

Hashes for collective.sendaspdf-1.0.zip
Algorithm Hash digest
SHA256 628f1e1c89759c54908354b60e2f4e41530e75d0d09e852f88893ea1d0d76be0
MD5 ad42715a03a688186cc379543fed4c15
BLAKE2b-256 98a9156c4dcff8ebfd4aa962621ac3b9ef7de8df9dfdf7fde8e080c1e4e29f4b

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