Create Contact Form 7 forms from PDF forms. Get PDF forms filled automatically and attached to email messages upon form submission on your website.
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 Pdf.Ninja Terms of Use and Pdf.Ninja Privacy Policy.
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.
* 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
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.
ChangeLog
2.2.6
2.2.5
-
Release date: October 10, 2025
-
Fixed a bug with CF7 v6+: inserting a tag via the tag generator doesn’t reload CF7 fields
- Minor optimization
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.10
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
2.1.6
2.1.5
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
2.1.2
2.1.1
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
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
2.0.6
2.0.5
2.0.4
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
2.0.1
2.0.0
1.3.23
1.3.22
1.3.21
1.3.20
1.3.19
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
1.3.16
1.3.15
1.3.14
1.3.13
1.3.12
1.3.11
1.3.10
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
1.3.7
1.3.6
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
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
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
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
1.0.1
1.0.0