Keep up to date with Gravity PDF

  • This field is for validation purposes and should be left unchanged.
This is the legacy Gravity PDF v4 documentation which is NOT supported. Go to the latest documentation.
Jump To Section

Description #description

This filter allows you to manipulate the raw PDF template HTML before it’s sent to mPDF for rendering. This is a quick and dirty way to modify the PDF HTML dynamically. If you are instead looking to modify a field’s mark-up there are better filters for the job.

If you do use this filter we recommend making your changes using a DOM parser. Gravity PDF includes the QueryPath library, which is specifically designed to make it simple to manipulate HTML.

Parameters #parameters

$html | string
The PDF template HTML in string format
$form | array
The current Gravity Form array
$entry | array
The raw Gravity Form Entry array.
$settings | array
The current PDF configuration array.
$Helper_PDF | object
The initialised GFPDFHelperHelper_PDF class

Usage #usage

This snippet uses the GFPDF\\Helper\\Helper_QueryPath class to load, manipulate and return our HTML. In this sample we’re making the colour of all our v4 template labels red.

add_filter( 'gfpdf_pdf_html_output', function( $html, $form, $entry, $settings, $Helper_PDF ) {

    /* Initialise like this */
    $qp = new GFPDF\\Helper\\Helper_QueryPath();
    $wrapper = $qp->html5( $html );

    $label = $wrapper->find( '.label strong' );

   /* Make all our field labels red */
    $label->css( 'color', 'red' );

    return $wrapper->top( 'html' )->innerHTML5();

}, 10, 5 );

You might also like to use this filter to insert new mark-up between certain fields. This snippet inserts a <hr /> tag every three rows – but you could change that to a page break or any other HTML tag:

add_filter( 'gfpdf_pdf_html_output', function( $html, $form, $entry, $settings, $Helper_PDF ) {

    $qp = new GFPDF\\Helper\\Helper_QueryPath();
    $wrapper = $qp->html5( $html );

    /* Insert a <hr> tag every three rows */
    $separator = $wrapper->find( '.row-separator:nth-of-type(3n)' );
    $separator->append( '<hr />' );

    return $wrapper->top( 'html' )->innerHTML5();

}, 10, 5 );

As you can see the Query Path library is very powerful and we strongly recommend you use it for manipulating HTML.

If you need to, you also have the option to specifically target PDF templates assigned to individual Gravity Forms:

/* Only run this filter on Gravity Form #5 */
add_filter( 'gfpdf_pdf_html_output_5', function( $html, $form, $entry, $settings, $Helper_PDF ) { }, 10, 5 )

Source Code #source-code

This filter is located in the Helper_PDF::render_html() method of /src/helper/Helper_PDF.php.

Signup for the latest Gravity PDF news, tips and updates

  • This field is for validation purposes and should be left unchanged.
Gravity PDF 40K Active Installs Celebration! Take 20% off any products with coupon 40KMILESTONE (this week only)Visit Store
+ +
Scroll To Top

Choose your currency:

Converted prices are for reference only - all orders are charged in $ Australian Dollars ($) AUD.
  • AUDAustralian Dollars ($)
  • USDUS Dollars ($)
  • CADCanadian Dollars ($)
  • EUREuros (€)
  • GBPPound Sterling (£)
  • NZDNew Zealand Dollar ($)
  • JPYJapanese Yen (¥)