Gravity PDF


Gravity PDF is the ultimate solution for generating digital PDF documents using Gravity Forms and WordPress.

The plugin ships with four highly-customisable PDF templates perfectly suited for displaying your user’s data. Within seconds you can personalise the documents with your company logo, change the font, size, color and the paper size. If the templates don’t suit, have one tailor made just for you or roll your own.

Digital document management with WordPress and Gravity Forms just became a breeze!


  • There’s no third-party APIs needed when generating your PDFs. That means no chance of third-party data breaches, no monthly fees or rate limits. You control the software and the documents it generates.
  • We support all languages, including complex symbol-based languages like Chinese and Japanese, as well as Right to Left (RTL) written languages such as Arabic and Hebrew.
  • Automatically email your PDF when a user completes a form. Have it emailed to people in your organisation, the user, or both. You can also conditionally generate and email the PDF.
  • Using Gravity Forms developer-licensed payment add-ons – like PayPal, or Stripe – you can restrict access to the PDF until after a payment is captured.
  • Protecting your user’s sensitive information is at the heart of Gravity PDF. The plugin’s security settings give you granular control over who has access to the PDFs generated.
  • Our JavaScript-powered font manager allows you to install and use your favorite fonts. Now you can keep in line with your corporate style guide, or create beautiful PDF typography.
  • The documentation has everything from basic install instructions to advanced developer how-to guides. Our friendly team is also on hand to provide FREE general support.
  • PHP, HTML and CSS come easy? You’ll find creating your own PDF templates a breeze. If not, we offer PDF design services tailored just for you. We can even auto-fill existing PDFs!

Premium Extensions and Templates

Unlock more features for Gravity PDF with one of our premium extensions. If one of the free PDF templates aren’t working for you, try a premium template instead. All purchases have a 7-day 100% money back guarantee.


Gravity PDF can be run on most shared web hosting without any issues. It requires PHP 5.6+ (PHP 7.0+ recommended) and at least 64MB of WP Memory (128MB+ recommended). You’ll also need to be running WordPress 4.8+ and have Gravity Forms 2.3.1+ (affiliate link).

If you aren’t sure Gravity PDF will meet your needs (and haven’t got a Gravity Forms license yet) you can try out the software via our demo site.

Documentation & Support

We have extensive documentation on using Gravity PDF, and our friendly support team provides FREE basic support via our website (we also check the forums but submitting a ticket via will get a faster response).

Custom PDF Integration

We offer comprehensive PDF integration services and do all the PDF development and integration into Gravity Forms for you. You tell us what you want and our friendly and experienced developers will design, develop and install custom PDF templates tailor specifically for you. We can even auto-fill your existing PDF documents. Find out more at


All development for Gravity PDF is handled via GitHub. Opening new issues and submitting pull requests are welcome.

Our public roadmap is available on Trello. We’d love it if you vote and comment on your favorite ideas.

You can also keep up to date with Gravity PDF by subscribing to our newsletter, following us on Twitter or liking us on Facebook.

Also, if you enjoy using the software we’d love it if you could give us a review!

Note: When Gravity Forms isn’t installed and you activate Gravity PDF we display a notice that includes an affiliate link to their website.


  • Our on-boarding experience will have you up and running in 5 minutes flat.
  • Set up the global PDF settings then head straight to configuring your first PDF.
  • Control the default paper size, PDF template and font/size/color.
  • Advanced security options give you granular control of PDF access.
  • Tools like the font manager and custom PDF installer are readily accessible.
  • Our JavaScript-powered font manager will make using custom fonts a breeze.
  • A snapshot of your form’s PDF setup.
  • When adding a new PDF all the important settings are up front in the “General” tab.
  • Override the default appearance settings on a per-PDF basis.
  • Each template has its own PDF settings for greater control of the look and feel of your document.
  • Header and Footer support is built-in.
  • Advanced format and security settings can be applied to individual PDFs.
  • PDFs can be accessed from the Gravity Forms entry list page.
  • They also appear on the individual entry pages for easy access.
  • Zadani is a minimalist business-style template that will generate a well-spaced document great for printing.
  • Rubix uses stylish containers to create an aesthetically pleasing design.
  • Focus Gravity providing a classic layout which epitomises Gravity Forms Print Preview. It’s the familiar layout you’ve come to love.
  • Blank Slate provides a print-friendly template focusing solely on the user-submitted data.


مارس 30, 2021
We have found the Gravity PDF to be an excellent add-on. With it, we can not only take in info from a form, but send out a pdf of recommendations to the client that is tailored, base on how they answered the form questions. I love that we can control what answers appear on the pdf, and what appears on the computer screen. Not only is this plugin great, but there tech support is top notch. They responded to my questions within 24 hours (often sooner). I am not very technical, but their answers were clear enough that even I could understand and implement to move forward with various features of their plugin. Highly recommended.
دجنبر 30, 2020
The tutorials are maddening. Every tutorial has another tutorial that must be read to fully understand and integrate the lessons of the tutorial being reviewed. The end result is a squirrel chasing its tail. Many of the tutorials are based upon prior versions of the plugin and provide examples which may or may not apply depending upon your eventual setup of the global settings. Incredibly frustrating. Their basic tutorial on creating your "First Custom PDF" is not workable. The very Form and very template given to upload do not properly work and display. Everywhere throughout this website one has to fill in gaps to figure out the product and how it works. Luckily, I have plenty of Snickers bars.
أكتوبر 27, 2020
An absolutely INDISPENSABLE Plugin for any WordPress site!!! And their SUPPORT is TOP! I wish PREMIUM Plugins would all have this kind of support, just TOO GOOD to be free. See, I needed some custom work and their support, Jake in my case, helped me out above and beyond. And the great thing is that is free but... if you need something even better, they have you covered with Premium complementary products and Templates... wow, really, I still cant believe how awesome this is! This is one Plugin that every webmaster SHOULD have in their core of plugins. Nowadays, which web does not have a FORM? Well, with Gravity PDF your web-work will be MUCH EASIER!!! Thanks, thanks, thanks for a Fantastic Plugin!
أكتوبر 21, 2020
So, first of all, this does pretty much exactly what I needed it to do. It would be even better if it included a template that makes use of the custom rich editor field so that the user could make pdf's entirely from the UI. I think mainly it is geared towards devs because setting up custom PDFs does take a bit of coding. But the docs are thorough and Jake provided me with fantastic support when I ran into a caching issue. All in all, I give it 5 stars for doing what I need, being FREE and the fantastic support. Thanks Jake!
Read all 280 reviews

Contributors & Developers

“Gravity PDF” is open source software. The following people have contributed to this plugin.


“Gravity PDF” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Gravity PDF” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Security: Resolve XSS issue on PDF List page
  • Security: Resolve authenticated arbitrary PHP file Deletion when using the PDF Template Manager (by default, this affects Administrator accounts only)
  • Housekeeping: Add gfpdf_container_class_map filter
  • Housekeeping: Update Monolog to v1.26
  • Housekeeping: Fix PHP8 deprecation notices
  • Housekeeping: Remove jQuery deprecation notices
  • Housekeeping: Downgrade error to a notice when a not-yet supported field is being processed by the PDF
  • Housekeeping: Bump WordPress Tested To value to 5.7
  • Bug: Fix Media Library inserter on PDF pages when Gravity Forms No Conflict Mode enabled
  • Bug: Fix PHP fatal error when logging is enable and the log file cannot be written to
  • Bug: Fix double spinner randomly showing up when installing and selecting a new PDF template


  • Bug: Fix PHP notice when no valid form or entry passed when processing merge tags
  • Bug: Make PDF generation background processing task unrecoverable so rest of the queue isn’t executed
  • Bug: always parse Core Font payload as JSON
  • Bug: fix a PHP 8 notice (note: the plugin is not guaranteed to be 100% PHP 8-compatible at this time)
  • Housekeeping: adjust log level to ‘notice’ for optional template configuration file not found
  • Housekeeping: replace most deprecated jQuery code with new recommendations
  • Housekeeping: update EDD licensing class to v1.8 for premium add-ons
  • Housekeeping: update composer-managed dependencies
  • Housekeeping: Make API error messages translatable


  • Bug: Fix Media Manager so it shows all file types on Gravity PDF pages
  • Bug: Fix Security PDF settings JS toggle when using translated text
  • Dev: Update EDD software licensing class to 1.7.1


  • Bug/Dev: Prevent composer package Monolog version conflict with other plugins by moving to namespace GFPDF\Vendor\Monolog


  • Feature: Add support for Gravity Perk Populate Anything plugin
  • Feature: Add support for Gravity Plus Multi-Currency Selector plugin
  • Feature: Add allow_url_fopen PHP setting check to Gravity Forms and Gravity PDF System Statuses

  • Bug: Decode special characters for processed mergetags used in PDF Password or Master Password settings

  • Bug: Fix issue uploading TTF files via the Font Manager
  • Bug: Fix PHP Notices when processing [gravitypdf] shortcode under specific conditions
  • Bug: Fix validation issue with signed PDF URLs on sub-directory multisites
  • Bug: Fix problem displaying PDF Template Upload dropzone for Super Admins on multsite installations

  • Dev: Add gfpdf_pre_uninstall_plugin and gfpdf_post_uninstall_plugin actions

  • Dev: Add gfpdf_field_container_class filter to swap out the Helper_Field_Container class with your own
  • Dev: Add gfpdf_unfiltered_template_list, gfpdf_fallback_template_path_by_id, gfpdf_template_config_paths, and gfpdf_template_image_paths filters
  • Dev: Rewrite Monolog timezone logic to support both v1 and v2, which places nice with other plugins that use this library


  • Bug: Add additional error handling to Background Processing when a form / entry is deleted
  • Bug: Adjust logging code to adhere to PSR-3 (forward compatibility with Monolog v2)
  • Bug: Add fixed width to first column in Chained Select output for Core / Universal PDFs
  • Bug: Add nofollow attribute to PDF Download Link to prevent attempted indexing
  • Bug: Disable UI for PDF Template Installer when user doesn’t have appropriate capabilities
  • Bug: Fix font upload issues to Media Library

  • Dev: Add additional logging when license activation failure occurs

  • Dev: Update dependencies: Monolog 1.25.1 -> 1.25.3, Mpdf 8.0.3 -> 8.0.5


  • Bug: Fix PHP Notice when using Quiz Add-on without a correct answer selected
  • Bug: Fix image display issues in PDF when URL has a redirect
  • Bug: Allow HTML in Consent field label (those supported in wp_kses_post)


  • Bug: Prevent Fatal Error on PHP7.2 when using Category field type set to Checkboxes in Core PDFs
  • Bug: Resolve conflict with SiteGround HTML Minifier when generating PDFs in browser [GH#897] [GH#951]
  • Bug: Strip PDF page breaks from Header and Footer Rich Text Editor fields [GH#898]
  • Bug: Conditionally register WP rewrite tags to prevent third party plugin conflicts [GH#892]
  • Bug: Move noindex,nofollow header to beginning of PDF endpoint processing to prevent PDF errors getting indexed [GH#956]
  • Bug: Prevent gfpdf_post_pdf_save action getting triggered twice during form submission [GH#948]
  • Bug: Resolve issue with Global PDF Settings not getting updated on the initial save
  • Bug: Resolve issue displaying Category field in PDF when a category has a commas in the label/value [GH#966]
  • Bug: Add field fallback support in Core PDFs for third-party custom fields that contain subfields
  • Bug: Resolve JS error when using Redirect Confirmation with [gravitypdf] shortcode and submitting an AJAX-enabled form [GH#989]
  • Bug: Adhere to the Description placement setting when displaying the Consent Field in Core PDFs [GH#998]
  • Bug: Resolve issue setting the PDF image DPI
  • Bug: Fix display issue on Gravity PDF Getting Started Page [GH#1000]

  • Dev: Add End to End Tests for greater quality control [GH#949]

  • Dev: Rewrite Help Search in ReactJS [GH#882]
  • Dev: Add WordPress Linting Standard to Codebase [GH#887]
  • Dev: Add gfpdf_mpdf_post_init_class action to be run after the mPDF object is fully initialised [GH#890]
  • Dev: Add gfpdf_mpdf_class_config filter to allow the mPDF initialization array to be modified
  • Dev: Update JS Dependencies [#884]
  • Dev: Remove ImmutableJS dependency
  • Dev: Upgrade mPDF from 7.0.9 to 8.0.3 and add backwards compat to prevent breaking changes
  • Dev: Optimize transient usage [GH#889]
  • Dev: Move non-React JS from Gulp to Webpack bundle [GH#918]
  • Dev: Split all non-React JS into components [GH#976]
  • Dev: Add gfpdf_pre_pdf_generation_output action run prior to the PDF being output in the browser
  • Dev: Add gfpdf_pre_pdf_generation_initilise action run prior to the PDF object creation
  • Dev: Add gfpdf_pre_pdf_list_shortcode_column and gfpdf_post_pdf_list_shortcode_column actions run before and after read-only shortcode on PDF List page
  • Dev: Use WP_Rewrite index property instead of root property when registering PDF permalinks
  • Dev: Add pre and post actions for Entry Detail PDF mark-up
  • Dev: Include settings, entry_id and form_id to Model_PDF::get_pdf_display_list()
  • Dev: Convert PHP loose comparisons == to strict comparisons === [GH#928]
  • Dev: Convert plugin directory names to be PSR-4 compliant for simplier autoloading [#929]
  • Dev: Refractor class internals for [gravitypdf] shortcode for easier code reusability [#930]
  • Dev: Remove final from Helper_Abstract_Addon::get_short_name()
  • Dev: Speed up PDF generation time by converting O(n2) loop to O(n) loop [GH#934]
  • Dev: Add React Sagas for all ReactJS side effects (eg. API/AJAX calls) [GH#975]
  • Dev: Add Lazy Load ReactJS components for improved loading times on Gravity PDF admin pages [GH#938]
  • Dev: Add better error logging for Background Processing tasks
  • Dev: Refractor Core Font ReactJS code [GH#981]


  • Housekeeping: Add filter gfpdf_mpdf_post_init_class to interact with mPDF right after the initial Gravity PDF object setup [GH#890]
  • Bug: Fix URL rewrite issue with plugins that use action GET super global [GH#892]
  • Bug: Fix conflict with the SG Optimizer plugin’s Minify HTML option [GH#897]
  • Bug: Strip Page Breaks from Headers and Footers to prevent Fatal PHP Error [GH#898]


  • Housekeeping: Upgrade Mpdf from 7.1.8 to 7.1.9…v7.1.9
  • Bug: Ensure correct permissions are set on mPDF tmp directory [GH#874]
  • Bug: Fix up mPDF tmp directory writable warning [GH#873]
  • Bug: Add missing core mPDF v7 fonts to Font Selector [GH#877]
  • Bug: Fix up v3 legacy template notices [GH#875]
  • Bug: Fix up v3 legacy endpoint entry error [GH#876]


  • Housekeeping: Upgrade Mpdf from 7.1.7 to 7.1.8…v7.1.8
  • Housekeeping: Revert Mpdf tmp path back to Gravity PDF tmp directory (introduced 5.0.2) as Mpdf 7.1.8 resolves font cache issue
  • Bug: Use WordPress’ ca-bundle.crt when making cURL requests with Mpdf to prevent HTTPS issues [GH#861]
  • Bug: Add exclude class support to Nested Form fields [GH#862]


  • Upgrade Mpdf from 7.1.6 to 7.1.7…v7.1.7
  • Allow Debug messages to be logged in Gravity PDF log file
  • Add log file message when the PDF Temporary Directory check fails
  • Ensure backwards compatibility with legacy templates who access Mpdf properties directly
  • When sending notifications, ensure PDF settings go through same filters as when viewing / downloading PDFs


  • Bug: Process Merge Tags when displaying Nested Forms in Core / Universal PDFs [GH#849]
  • Bug: Don’t strip <pagebreak />, <barcode />, <table autosize="1">, and page-break-* CSS when displaying Rich Text Editor fields in PDF [GH#852]
  • Bug: Try convert the Background Image URL to a Path for better relability [GH#853]
  • Bug: Fix Rich Text Editor display issue in PDF Settings when Elementor plugin enabled [GH#854]
  • Bug: Don’t strip <a> tag when direct parent of <img /> in the Core/Universal PDFs Header and Footer Rich Text Editor [GH#855]


  • Feature: Add support for Gravity Forms Repeater Fields in PDFs [GH#833]
  • Feature: Add support for Gravity Wiz’s Nested Forms Perk in PDFs
  • Feature: Add support for Gravity Forms Consent Field in PDFs [GH#832]
  • Feature: Add signed-URL authentication to [gravitypdf] shortcode using new “signed” and “expires” attributes [GH#841]
  • Feature: Add new “raw” attribute to the [gravitypdf] shortcode which will display the raw PDF URL [GH#841]
  • Feature: Added “Debug Mode” Global PDF Setting which replaces “Shortcode Debug Message”, WP_DEBUG settings, and caches the template headers [GH#823]

  • Dev Feature: Add gfpdf_disable_global_addon_data filter to disable aggregate Survey / Poll / Quiz data in $form_data array (for performance)

  • Dev Feature: Add gfpdf_disable_product_table filter to disable Product table in PDF [GH#827]
  • Dev Feature: Pass additional parameters to the gfpdf_show_field_value filter
  • Dev Feature: Trigger gfpdf_template_loaded JS event after loading new PDF Template settings dynamically
  • Dev Feature: Add gfpdf_field_product_value filter to change Product table HTML mark-up in PDF

  • Bug: Enable Image Watermarks in PDF

  • Bug: Prevent HTML fields getting passed through wpautop() [GH#834]
  • Bug: Test for writability in the mPDF tmp directory and fallback to the Gravity PDF tmp directory if failed [GH#837]
  • Bug: Fix scheduled licensing status check and display better error if license deactivation fails [GH#838]
  • Bug: Correctly display the values for multiple Option fields assigned to a single Product when Product Table is ungrouped in PDF [GH#839]
  • Bug: Disable IP-based authentication when the entry IP matches the server IP [GH#840]


  • Bug: Resolve fatal error on WP Engine due to security in place that prevented mPDF font cache from being saved.


  • Bug: Ensure the mPDF temporary directory is set to the PDF Working Directory tmp folder [GH#817]
  • Bug: Refine the Background Processing description and tooltip text [GH#818]


  • Breaking Change: Bump minimum version of Gravity Forms from 1.9 to 2.3.1+
  • Breaking Change: Bump WordPress minimum version from 4.4 to 4.8+
  • Breaking Change: Bump the PHP minimum version from 5.4 to 5.6+
  • Breaking Change: Decouple the fonts from the plugin.

  • Feature: Option to enable background Process PDFs during form submission and while resending notifications. Requires background tasks are enabled [GH#713]

  • Feature: Include a Core Font Downloader in the PDF Tools to install all core PDF fonts during the initial installation [GH#709]
  • Feature: Updated ReactJS to v16 which uses MIT license [GH#701]
  • Feature: Add PHP7.2 Support [GH#716]
  • Feature: Polyfill older browsers to support our modern Javascript [GH#729]
  • Feature: Remove “Common Problems” link from PDF Help page and include “Common Questions” [GH#752]

  • Dev: Update all Packagist-managed JS files to the latest version [GH#701]

  • Dev: Upgrade Mpdf to version 7.1 (accessed directly via \Mpdf\Mpdf)
  • Dev: Conditionally run Model_PDF::maybe_save_pdf() when Background Processing disabled [GH#713]
  • Dev: Use wp_enqueue_editor() to load up the WP Editor assets [GH#754]
  • Dev: Include file/line number when PDF error is thrown [GH#803]
  • Dev: Remove the legacy /resources/ directory

  • Bug: Fix Chosen Drop Down display issue when WordPress using RTL display [GH#698]

  • Bug: Fix PHP Notice when Post Image field is blank [GH#805]
  • Bug: Correct A5 Label so it correctly references 148 x 210mm [GH#811]
  • Bug: Correct default en_US localization strings [GH#815] (credit Garrett Hyder)

See CHANGELOG.txt for v4 and v3 changelog history.