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

The main goal of this product is to allow PDF into ImageFields in
Plone. It uses code written by David Brenneman for
collective.pdfpeek.

Install
=======

Just add the following lines in your buildout::

  collective.pdfpeek
  collective.pdftransform

You must install pdftransform with the quick installer (no need to
install pdfpeek, but it must be in the buildout as we use its methods)


Using pdftransform in your site
===============================

collective.pdftransform adds a ``pdf_to_image`` transform in Plone
portal_transform.
As transforms can not be used with FileField (or at least I did not
find how ...) it also provides a method in utils called update_form.
You can use it in the ``post_validate`` method of your Archetype
objects.

Here is an example (from Products.plonehrm, the Employee Archetype
object)::

  ...
  from collective.pdftransform.utils import update_form
  ...
  class Employee(BaseFolder):
      ...

      security.declarePrivate('post_validate')
      def post_validate(self, REQUEST, errors):
          update_form(self, REQUEST)

      ...

With this, all files submitted in the edit form, if they are PDF, are
transformed into jpg files.
You can specify an extra argument in update_form which is the list of
fields, for example, if we had written this::

      security.declarePrivate('post_validate')
      def post_validate(self, REQUEST, errors):
          update_form(self, REQUEST,
                      ['portrait_file', 'idScan_file'])

only the files submitted in the portrait and idScan fields would have
been transformed.

You can also use the validator called ``isValidImageOrPDF`` in your
Image fields.
