PDF Forms Filler for CF7

Description

This plugin allows Contact Form 7 users to add PDF attachments filled with form submission data to email messages and responses of Contact Form 7.

If the PDF attachment has a PDF form, the plugin allows users to add fields to the Contact Form 7 form and/or link them to fields in the PDF. The plugin also allows the attached PDF files to be embedded with images supplied by Contact Form 7 form fields. The filled PDF files can be saved on the web server.

When your website visitor submits your Contact Form 7 form, the form in the PDF file is filled with CF7 form data, images are embedded and the resulting PDF file is attached to the Contact Form 7 email message. The resulting PDF file can also be downloaded by your website visitors if this option is enabled in your form’s options. It is possible to save the resulting PDF file to your server’s wp-content/uploads directory.

What makes this plugin special is its approach to preparing PDF files. It is not generating PDF documents from scratch. It modifies the original PDF document that was prepared using third party software and supplied to the plugin. This allows users the freedom to design exactly what they need and use their pre-existing documents.

An external web API (https://pdf.ninja) is used for filling PDF forms (free usage has limitations). The “Enterprise Extension” plugin is available for purchase that enables the processing all PDF operations locally on your web server and disables the use of the external web API.

Please see the tutorial video and the documentation for detailed information.

Requirements:
* PHP 5.2 or newer
* WordPress 4.8 or newer
* Contact Form 7 5.0 or newer
* IE 11 (or equivalent) or newer

Known problems:
* Some third party plugins may break the functionality of this plugin (see a list below). Try troubleshooting the problem by disabling likely plugins that may cause issues, such as plugins that modify WordPress or Contact Form 7 in radical ways.
* Some image optimization plugins optimize PDFs and strip PDF forms from PDF files. This may cause your existing forms to break at a random point in the future (when PDF file cache times out at the API).
* If you are still using the old version of the API (v1) or the old version of Enterprise Extension (v1), please note that resulting PDFs may not render properly in some PDF readers and with some UTF-8 (non-latin) characters, checkboxes and radio buttons.

Known incompatible plugins:
* Post SMTP (breaks PDF attachment to email messages)
* Imagify (strips forms from PDF files)
* ShortPixel Image Optimizer (strips forms from PDF files)
* Live Preview for Contact Form 7
* Open external links in a new window
* WordPress Multilingual Plugin
* Contact Form 7 Skins

Special thanks to the following sponsors of this plugin:
* BrowserStack
* Momentum3
* G-FITTINGS GmbH

Screenshots

  • PDF Form button is available to access PDF attachments interface
  • Form-tag Generator interface that allows users to attach PDF files and generate tags
  • Filled PDF file

Installation

  1. Install the Contact Form 7 plugin.
  2. Upload this plugin’s folder to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.
  3. Activate the plugin through the ‘Plugins’ screen in WordPress.
  4. Start using the ‘PDF Form’ button in the CF7 form editor.

FAQ

I get an error: “There was an error trying to send your message. Please try again later.”

Please check your server’s email configuration. Please check to make sure your SPAM mitigation technique is not causing the problem (reCaptcha/Akismet/etc).

Does this plugin allow my website users to edit PDF files?

No. This plugin adds features to the Contact Form 7 interface in the WordPress Admin Panel only.

Does this plugin require special software installation on the web server?

No. The plugin uses core WordPress and CF7 features only. No special software or PHP extensions are needed. Working with PDF files is done through Pdf.Ninja API. It is recommended to have a working SSL/TLS certificate validation with cURL. Enterprise Extension is available if your business requirements prevent the use of a third party API.

How are CF7 form fields mapped to PDF form fields?

The field mapper tool allows you to map fields individually and, when needed, generate new CF7 fields on the fly. CF7 fields can be mapped to multiple PDF fields. Mappings can be associated with a specific PDF attachment or all PDF attachments. Field value mappings can also be created, allowing filled PDF fields to be filled with data that differs from the originally filled values.

My fields are not getting filled, what is wrong?

Make sure the mapping exists in the list of mappings and the field names match.

If you attached an updated PDF file and your mappings were associated with the old attachment ID then those mappings will be deleted and you will need to recreate them.

Sometimes PDF form fields have validation scripts which prevent value with an incorrect format to be filled in. Date PDF fields must be formatted with the format mail-tag.

How do I update the attached PDF file without attaching a new version and losing attachment ID associated mappings and embeds?

Try using the Enable Media Replace plugin to replace the PDF file in-place in the Media Library.

My checkboxes and/or radio buttons are not getting filled, what is wrong?

Make sure your PDF checkbox/radio field’s exported value matches the value of the CF7 form’s checkbox tag. Usually, it is “On” or “Yes”. If you need to display a different value in the CF7 form, you will need to create a value mapping or use pipes.

CF7 allows you to have multiselect checkboxes, however, PDFs can’t have multiple values with checkbox fields. You either need to switch to using a listbox in your PDF or rename your checkboxes such that each has a unique name and then map them appropriately.

Some PDF viewers don’t render checkboxes correctly in some PDF files. You may be able to solve this issue by recreating the PDF in a different PDF editor. If you are still using Pdf.Ninja API v1, switching to v2 may resolve your issue.

How do I remove the watermark in the filled PDF files?

Please see the Pdf.Ninja API website and the Enterprise Extension plugin page.

How do I set up PDF form filling on my local web server?

Please see the Enterprise Extension plugin page.

Reviews

18 May 2023
been using this plugin to complete a very complex PDF form filling on a website we developed. After a couple of years we found an issue with an infinite spinning wheel when a user submitted the form. Their support team came in and got it fixed right away and was incredibly supportive. Best support I've ever received from a plugin developer. Highly Recommend!
6 June 2021 4 replies
Thanks for the great plugin, it works perfectly, just a small bug I found about the success notification after submitting the form, besides that it's all good
10 June 2020
This plugin made the project I thought would take days instead take only minutes to complete. Wow. that you for this.
1 May 2020
This plugin is ideal for automatically filling pdfs based on data entered by users. It is a good complement for CF7. You can even add a handwritten signature to your pdf form thanks to its compatibility with the "Contact Form 7 Signature Addon" plugin. So yes you will probably need the PRO version to remove the watermark but it is a good investment. And then the FREE version allows you to test all the features of this plugin. I just have a suggestion for a better compatibility with the "CF7 Conditional Fields PRO" plugin by Jules Colle. For this I will open a support topic.
4 April 2020
If you need to use contact form 7 with PDF this is the best plugin out there. After numerous tries with all kinds of free and premium plugins, this is the far the best of them. The integration is perfect with API and contact form 7. Thanks for the plugin!
25 March 2020 3 replies
After extensive comparison I ended up selecting this plugin (PRO version without watermark at 49 USD/year) in order to get a PDF file from a Contact Form 7 form. The good points of this plugin are: - you are allowed to make all the testing you want before deciding if buying the PRO version without watermark (the free version is for unlimited testing only) - the linking between Contact Form 7's fields and the fields in the PDF is easy - you can upload different PDF files and have them filled at once (one field's data can go to several places in the same PDF or, should be, in different PDFs) - I could create the PDF file and its fillable fields from the free LibreOffice Writer (it's similar to Microsoft Word) - You can decide if the created PDF is still fillable or not ("flattened") - I can add that you can have only certain fields still fillable if you make some of them "read only" while creating the PDF (in LibreOffice Writer) and set the whole PDF created by this plugin "not flattened") Some important missing features are: - It is not possible to "trigger" a specific PDF file based on a specific answer in the form (the only option is not to have a PDF at all if all the fields are empty) - that would be a very important feature in order to get only the PDFs you actually need based on your selection - While a Contact Form 7 field data can go to different places in a PDF, the opposite is not possible (it means that a PDF field can receive a data only from one specific Contact Form 7 field) - multiple selections do not work - you have to create several "multiple" selection (one on top of the other) where you really have only one selection for each one
Read all 12 reviews

Contributors and Developers

“PDF Forms Filler for CF7” is open source software. The following people have contributed to this plugin.

Contributors

Change Log

2.1.10

  • Release date: March 5, 2024

  • Ensured support for CF7 v5.9

2.1.9

  • Release date: January 15, 2024

  • Fixed possible issues with API communication caused by non-alphanumeric characters in request boundary

  • Other minor fixes and improvements

2.1.8

  • Release date: November 8, 2023

  • Fixed a bug with a default file name when there are multiple PDF attachments

2.1.7

  • Release date: November 3, 2023

  • Auto-resize mail-tags textarea

  • Fixed a possible JS error related to UTF-8 base64 decoding
  • Fixed icon file
  • Improved remote attachment support
  • Fixed issues in page snapshot code
  • Other minor improvements

2.1.6

  • Release date: August 15, 2023

  • Ensured support for WP v6.3

  • Ensured support for CF7 v5.8
  • Added a few minor fixes

2.1.5

  • Release date: July 10, 2023

  • Added a workaround support for Conditional Fields plugin’s groups

  • Minor corrections

2.1.4

  • Release date: May 17, 2023

  • Added a workaround for GLOB_BRACE flag not being available on some non GNU systems

2.1.3

  • Release date: May 5, 2023

  • Minor fixes and improvements

2.1.2

  • Release date: December 14, 2022

  • Ensured support for CF7 v5.7

2.1.1

  • Release date: November 29, 2022

  • Fixed bugs with frontend CF7 response

2.1.0

  • Release date: November 23, 2022

  • Some fixes were applied that affect the filling process logic. Please check your forms after the update to make sure everything is working as expected if you think they might be affected!

  • Fixed an issue with PDF fields not being cleared with empty CF7 field values (affects prefilled fields in the original PDF file)

  • Fixed an issue: value mappings get applied recursively (affects field value mappings that have matching CF7/PDF values)
  • Bug fix: value mapping fail to work with null values
  • Improved labeling of empty value mapping options
  • Improved PDF attachment affecting action detection
  • Fixed German translation
  • Updated Spanish translation
  • Updated Italian translation
  • Updated other language files
  • Other minor improvements

2.0.9

  • Release date: October 27, 2022

  • Fixed issues on CF7 Integration page

2.0.8

  • Release date: September 20, 2022

  • Add duplicate CF7 value mappings to multiple unique PDF values support to multiselect feature

  • Improved value mappings processing code
  • Fixed German translation
  • Added code to remove no longer relevant embeds
  • Improved temporary file management
  • Other improvements

2.0.7

  • Release date: July 25, 2022

  • Assuming support for all CF7 v5.6.* revisions

  • Minor cleanup and improvements

2.0.6

  • Release date: July 3, 2022

  • Added automatic value mapping

  • Removed pipes in form tag hints
  • Added support for data URIs in the image embedding feature
  • Other bug fixes and improvements

2.0.5

  • Release date: May 24, 2022

  • Ensured support for WP v6.0

  • Ensured support for CF7 v5.6
  • Changed value mapping feature to be case-insensitive when matching values
  • Switched to an i18n friendly version of basename() to fix possible issues with non-latin characters in file names
  • Other minor improvements

2.0.4

  • Release date: February 23, 2022

  • Ensured support for CF7 v5.5.6

  • Fixed an issue with backend image embed tool scroll code
  • Hid unhelpful PHP warnings

2.0.3

  • Release date: February 18, 2022

  • Fixed value mapping feature’s handling of ‘free_text’ checkbox and radio option

  • Fixed value mapping feature’s handling of CF7 fields’ piped options
  • Fixed CF7 field multiselectability detection
  • Other minor changes

2.0.2

  • Release date: February 14, 2022

  • Ensured support for CF7 v5.5.5

  • Added a workaround for a corrupted cookie
  • Other minor improvements

2.0.1

  • Release date: February 2, 2022

  • Fixed a bug with value mapping feature

2.0.0

  • Release date: February 1, 2022

  • Added multi-select field support

  • Switched to select2 dropdowns
  • Added value mapping feature
  • Fixed the scroll effect when adding an image embed
  • Switched to using WPCF7_Submission::add_extra_attachments() for CF7 v5.4.1+
  • Other bug fixes and improvements

1.3.23

  • Release date: January 25, 2022

  • Ensured support for CF7 v5.5.4

  • Ensured support for WordPress v5.9
  • Switched to using a less problematic PDF field name sanitization when generating form-tags

1.3.22

  • Release date: December 5, 2021

  • Ensured support up to CF7 v5.5.3

  • Added remote media support, refactored Pdf.Ninja API integration code, improved error handling
  • Hid wp-admin notices from users that don’t have capabilities to act on them
  • Other minor improvements and fixes

1.3.21

  • Release date: October 29, 2021

  • Ensured support up to CF7 v5.5.2

  • Fixed issues with tag generator code when unavailable tag names are used
  • Other minor improvements

1.3.20

  • Release date: October 14, 2021

  • Ensured support up to CF7 v5.5.1

  • Added dismissible notices
  • Minor refactor of API communication code
  • Added a confirmation box when attaching a PDF file with no fields
  • Other minor improvements

1.3.19

  • Release date: September 21, 2021

  • Crash fix

1.3.18

  • Release date: September 18, 2021

  • Added a user-provided email address field for requesting a new key from the API

  • Fixed a minor error reporting bug when requesting a new key from the API fails
  • Fixed an issue caused by direct modification of fileId post meta in the database
  • Fixed a bug introduced recently that was causing the (deprecated) tag generator to not work
  • Fixed typo

1.3.17

  • Release date: August 11, 2021

  • Fixed a bug that caused cron schedules issues with other plugins

  • Bumped tested up to WP version

1.3.16

  • Release date: August 2, 2021

  • Switched the Pdf.Ninja API version setting default from v1 to v2

1.3.15

  • Release date: July 14, 2021

  • Renamed plugin

  • Added CF7 v5.4.2 support
  • Improved API response decoding error checks
  • Small improvement in tag generator for radio/select/checkbox fields

1.3.14

  • Release date: July 3, 2021

  • Added the default tag option to radio/select/checkbox tag generator

  • Fixed an issue with radio/select/checkbox tag generation with v2
  • Improved tag generator to better escape tag names and values
  • Fixed an issue with CF7 fields lists in tag generator thickbox not getting refreshed when necessary
  • Fixed padding issue in tag generator thickbox
  • Added confirmation box for the delete all mappings button
  • Fixed an issue with localization not working properly
  • Improved Enterprise Extension support messages

1.3.13

  • Release date: June 1, 2021

  • Added API version configuration option

  • Improved plugin activation and deactivation hooks
  • Improved and enabled the database migration scripts
  • Added 1.3.13 database migration script
  • Other bug fixes and improvements

1.3.12

  • Release date: May 5, 2021

  • Certified CF7 v5.4.1 as a supported version

  • Improved admin notices
  • Improved frontend JS
  • Improved Enterprise Extension support checking code

1.3.11

  • Release date: April 12, 2021

  • Fixed and improved cron code

  • Changed the default download links timeout from 1 day to 1 hour
  • Fixed a crash
  • Improved frontend JS slightly
  • Added minimum kernel version check to enterprise extension support checking code

1.3.10

  • Release date: April 4, 2021

  • Fixed a bug that broke CF7 JS response

  • Minor filter correction
  • Fixed PHP warning

1.3.9

  • Release date: April 2, 2021

  • Fixed an issue with the download link feature and the latest version of CF7

1.3.8

  • Release date: April 2, 2021

  • Fixed and improved download link feature support in CF7 v5.4

  • Fixed old version support
  • Hid CF7 insert box to prevent it from getting in the way of the tag generator UI
  • Fixed other minor issues

1.3.7

  • Release date: March 10, 2021

  • Fixed old PHP version support

  • Decreased order of execution for wpcf7_before_send_mail action to allow other plugins to finish first

1.3.6

  • Release date: March 7, 2021

  • Added CF7 v5.4 compatibility: WPCF7_Submission::add_uploaded_file()

  • Enabled CF7 v5.4 support
  • Readme update

1.3.5

  • Release date: March 1, 2021

  • Fixed an accidental bug that was causing PDFs not to be attached to email messages

1.3.4

  • Release date: March 1, 2021

  • CF7 v5.4 is still unsupported, however, error mitigation measures were added

  • Added CF7 v5.4 compatibility: WPCF7_Submission::uploaded_files()
  • Added CF7 plugin version support checking feature
  • Added crash prevention check to CF7’s add_uploaded_file call
  • Updated readme
  • Other minor fixes

1.3.3

  • Release date: December 9, 2020

  • Bug fix: Removed unnecessary front-end Font Awesome CSS left in by mistake

  • Added WebP image format support
  • Improved Enterprise Extension support checking code
  • Other minor fixes

1.3.2

  • Release date: September 4, 2020

  • Bug fix: Skip when empty feature no longer works

1.3.1

  • Release date: August 20, 2020

  • Fixed image embed MIME type checking issue that occurs when PHP fileinfo functions are not working

1.3.0

  • Release date: August 8, 2020

  • WARNING: this update introduces some changes in plugin operation, these changes should not break anything for existing users, however, testing after an update is encouraged

  • Added mail-tags feature
  • Improved general error handling during PDF filling
  • WARNING: should any errors occur with the PDF filling process, they will now be displayed to users when they submit forms on the front-end (instead of being attached along with user input in a .txt file)
  • Added file MIME type validation for image embeds
  • WARNING: image embedding is now limited to the following MIME types: image/jpeg, image/png, image/gif, image/tiff, image/bmp, image/x-ms-bmp, image/svg+xml
  • Switched to using mail-tags replacement function wpcf7_mail_replace_tags() for filling CF7 fields input (to improve third party plugin support)
  • Hidden tag generator tool by default
  • Other minor bug fixes and improvements

1.2.4

  • Release date: May 15, 2020

  • Bug fixes

  • Code optimizations and improvements
  • Added CF7 form duplication support

1.2.3

  • Release date: March 4, 2020

  • Fixed an issue that causes the removal of attachments from other posts when attaching them to CF7 forms

  • Fixed a bug that caused HTML code to show up in response messages for filled PDF download links in some cases
  • Fixed a bug with filled PDF saving/downloading when handling errors
  • Refactored file save/download handling code

1.2.2

  • Release date: January 8, 2020

  • Bug fixes

  • Readme updates

1.2.1

  • Release date: October 27, 2019

  • Fixed an issue with ajax form submission not always receiving HTML download response message

  • Fixed an issue which caused the plugin to deactivate when updating from pre-1.2 versions to 1.2.0 and later versions due to main plugin php file rename

1.2.0

  • Release date: September 27, 2019

  • Added a number of optimizations, bug fixes and improvements

  • Updated the lists of conflicting plugins and sponsors
  • Added an option for saving the filled PDF on the server
  • Added an option for allowing users to download the filled PDFs
  • Added integration with WP media library
  • Added code to add pipe to CF7 tags to prevent user confusion with singular options
  • Fixed CF7 tag generation code’s field value escape issue
  • Renamed text domain and plugin filename/slug to the published plugin slug (plugin needs to be reactivated after update due to a change in plugin filename)

1.0.2

  • Release date: February 12, 2019

  • Added filename option with mail-tags feature

  • Minor fixes and improvements

1.0.1

  • Release date: January 15, 2019

  • Bug fixes and improvements

1.0.0

  • Release date: April 6, 2018

  • Major plugin refactoring

  • Added image embedding tool
  • Added help boxes
  • A large number of bug fixes, optimizations and UX improvements
  • Added Enterprise Extension support checking