This module is maintained even though the latest official 7.x-1.x release was a while ago. Drupal 7 co-maintainer(s) wanted! I want to have tests before I make another release because I have broken the module before. See #1393056: [Meta] Write tests. The -dev versions are pretty stable, although 7.x-2.x-dev only works with FillPDF Service so far.

What does this module do?

Most PDF modules generate PDFs from scratch; FillPDF is not one of those modules. Instead, it lets you fill in existing editable PDFs with data from your Drupal site. Editable PDFs are those forms that let you type into them. Read more.

7.x-2.x is the development release series

Current roadmap: #1883256: 7.x-2.x roadmap (still open for comments)

Make sure to add your feature requests! We aren't worried about breaking backwards-compatibility, so now's as good a time as any!

Digital signature integration is being figured out! Please comment if you need this feature: #1705740: Integrate with digital signature service or technology (comments wanted)

7.x-1.x is the latest stable release series

New features will be developed in 7.x-2.x. Once it is ready for an alpha release, we will start working on an upgrade path.

7.x-1.x will continue to receive maintenance fixes, and it might receive some backports from 7.x-2.x. Patches containing these will certainly be welcome.

Note about FillPDF 7.x-1.x series versions later than 1.9 (including 7.x-1.x-dev): If you upgrade to Webform Tokens 7.x-1.3, you can now use Webform Rules without a conflict. However, you will need to use webform-tokens: tokens instead of webform: tokens.

If you don't use Webform Rules, then you shouldn't have to think about this. Open an issue and report a bug if you don't use Webform Rules and your tokens are affected when you update the module (but note that webform: tokens, while they work in 7.x-2.x, are not shown and will not be shown. If you're on the bleeding edge, update your Webform Tokens too :)

Main features

  • Rules integration: This allows you to, for example, send a filled PDF form upon submission of a node. Add Webform Rules for Webform compatibility. Use the default Rule that it creates and tweak it to your own needs (default rule requires Webform Rules, Webform, Mime Mail). Add your Rules tricks to the documentation to benefit others. Report issues in the issue queue or at #1266174: Rules integration.
  • Fill PDFs with node, Webform, and (D7) Ubercart tokens (includes CCK (D6)/field (D7) tokens and any tokens that appear with the 'node' token type). You can also set up prefix and suffix text that is only shown if the main token has a value and can use tokens itself
  • Stamp images (signatures, for example) on to PDFs: See the documentation for the limitations (namely, you must use FillPDF Service or the JavaBridge fill method).
  • Export and import field mappings - useful when a PDF has changed and been re-uploaded
  • Update the PDF after first uploading - carries over your setup to the fields that still exist in the new PDF
  • Save a PDF to a file path (supports tokens) instead of issuing a download to the user's browser. Or do both.
  • Name the PDF (supports tokens)
  • Leave PDF form fields editable after filling them - they are flattened by default
  • Transform field values: Replace field values after the tokens have been changed into real values. For example, replace 1 with Yes to cause a checkbox to be checked in the PDF, which may need a different value for this than the CCK field/field provides. Useful if you don't want to change the CCK field/field values just to satisfy the PDF. These replacements can be made at the PDF and field levels, with field-level replacements having higher priority.

Demo

Try the module out.

Dependencies

Recommended

Documentation

Support

  • Issue queue: The most reliable way to get help is the issue queue. This lets other people see your questions and benefit as well. Keep in mind that response time varies. Sometimes you'll get a reply the same day, and other times it may take weeks. You may need or want to seek paid support or a FillPDF Service subscription (as below) if you need urgent help.
  • #drupal-fillpdf IRC channel: Ask your question, and someone will answer when they are available.
  • IRC/drupal.org contact form: If you can catch me (wizonesolutions) on IRC, I might have time to answer a quick question. I usually don't. Same goes for the contact form. SPECIAL NOTE TO IRC USERS: Please mention in #drupal-fillpdf (e.g. wizonesolutions: time for a question?) I ignore unexpected private messages.
  • FillPDF Service subscription: As mentioned on the site, paying subscribers get better support. So that's an option, but remember, this module doesn't need FillPDF Service to work.
  • Contributing to @wizonesolutions on Gittip also frees up time to provide better support.

Paid consulting and support is also an option. Inquire for details.

F.E.M. helps maintain the Drupal 6 branch. Thanks!

Who uses FillPDF?

Please get in touch if you'd like to be added to this list.

  • University of Waterloo
  • FillPDF Service (of course!)
  • Many other unnamed souls (see installation count below)

Sponsors

Help fund development

Contribute a little bit to the developer: wizonesolutions on Gittip.

You can also flattr this module: Click to flattr FillPDF. Thanks!

Hiring the module developer and paying for new features that you want or need is also an option (subject to availability, of course).

Roadmap

Digital signing integration! This will enable the use of digital signatures via that service. #1705740: Integrate with digital signature service or technology (comments wanted)

Possible future features:

  1. Bulk population of the same PDF file with data from a set of content items or webforms
  2. Figuring something out so we can populate form fields with more data, like Ubercart info, webform data, entire views, etc. (This is likely to be done via entity support in Drupal 7.)
  3. Providing easier and/or pure PHP PDF fill methods (see #1167946: Research if PHP solution for filling forms exists yet)

Project Information

Downloads