Plugin info

Total downloads: 50,396
Active installs: 1,000
Total reviews: 18
Average rating: 4.8
Support threads opened: 0
Support threads resolved: 0 (0%)
Available in: 1 language(s)
Contributors: 1
Last updated: 9/21/2025 (101 days ago)
Added to WordPress: 6/29/2009 (16 years old)
Minimum WordPress version: 4.0
Tested up to WordPress version: 6.8.3
Minimum PHP version: f

Maintenance & Compatibility

Maintenance score

Maintained • Last updated 101 days ago • 18 reviews

54/100

Is wp-mpdf abandoned?

Likely maintained (last update 101 days ago).

Compatibility

Requires WordPress: 4.0
Tested up to: 6.8.3
Requires PHP: f

Languages

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

No similar plugins found yet.

Description

Print WordPress posts as PDF. Optional with Geshi highlighting. It also has support for password protected posts and only logged in users can print post as pdf support.

Note: You can find the development repository at Github: https://github.com/fkrauthan/wp-mpdf

License

This file is part of wp-mpdf.

wp-mpdf is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

wp-mpdf is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with wp-mpdf. If not, see http://www.gnu.org/licenses/.

Installation

  1. Upload the whole plugin folder to your /wp-content/plugins/ folder.
  2. Set write permission (777) to the plugin dir folder => /wp-content/plugins/wp-mpdf/cache
  3. Go to the plugins page and activate the plugin.
  4. Add to your template
    php
    if( function_exists( 'mpdf_pdfbutton' ) ) {
    mpdf_pdfbutton();
    }

    or as a small button
    php
    if( function_exists( 'mpdf_pdfbutton' ) ) {
    mpdf_pdfbutton( false, 'my link', 'my login text' );
    }

    The second text specifies the text which should displayed if you have checked “needs login” and a user isn’t logged in. (if you wish to open the pdf print in a new tab you may pass “true” for the first parameter)
  5. You can adjust some options: in your admin interface, click on plugins and then on wp-mpdf. For allowing or disabling pdf export you can use the checkbox when creating/editing a post or a page.
  6. Place your templates into /wp-content/wp-mpdf-themes

The mpdf_pdfbutton function signature:
php
function mpdf_pdfbutton( $opennewtab = false, $buttontext = '', $logintext = 'Login!', $print_button = true, $nofollow = false, $options = array() )

The options array supports
php
'pdf_lock_image' => '/my/image/path/relative/to/wordpress/route'

and
php
'pdf_image' => '/my/image/path/relative/to/wordpress/route'

to overwrite which icon should be used.

Frequently Asked Questions

No FAQ available

Review feed

No reviews available

Screenshots

No screenshots available

Changelog

3.9.2

  • Added input sanitation for the mpdfbutton shortcode (thanks to Muhammad Yudha – DJ for reporting)
  • Updated mpdf version to 8.2.6

3.9.1

  • Updated mpdf version to 8.2.5

3.9

  • Added mpdfbutton shortcode to print the PDF button
  • Fixed a php warning

3.8.3

  • Fixed deployment of 3.8.2

3.8.2

  • Downgraded psr/log to hopefully fix some runtime errors

3.8.1

  • Fixed deployment of 3.8

3.8

  • Updated mpdf version
  • Removed a file from geshi that could be abused

3.7.1

  • Added missing files to plugin

3.7

  • Updated mpdf to version 8
  • Added mpdf_adjust_settings filter to allow overwriting any mpdf settings

3.6.1

  • Fixed release tag to prevent install issues

3.6

  • Removed manual cron job and used wp-cron instead for cache population (as per wordpress guidelines)
  • Removed PHP 4 support (don’t think anyone is running that anymore)

Earlier versions

For the changelog of earlier versions, please refer to the separate changelog.txt file.