mPDF Manual

mPDF

mPDF is a PHP library which generates PDF files from UTF-8 encoded HTML.

It is based on FPDF and HTML2FPDF with a number of enhancements.

The original author, Ian Back, wrote mPDF to output PDF files ‘on-the-fly’ from his website, handling different languages. It is slower than the original scripts e.g. HTML2FPDF and produces larger files when using Unicode fonts, but support for CSS styles etc. and has been much enhanced – see the features.

Support

Consider supporting development of mPDF with a donation of any value.

About CSS support and development state

mPDF as a whole is a quite dated software. Nowadays, better alternatives are available, albeit not written in PHP.

Use mPDF if you cannot use non-PHP approach to generate PDF files or if you want to leverage some of the benefits of mPDF over browser approach – color handling, pre-print, barcodes support, headers and footers, page numbering, TOCs, etc. But beware that a HTML/CSS template tailored for mPDF might be necessary.

If you are looking for state of the art CSS support, mirroring existing HTML pages to PDF, use headless Chrome.

mPDF will still be updated to enhance some internal capabilities and to support newer versions of PHP, but better and/or newer CSS support will most likely not be implemented.

Useful manual pages

Development

Troubleshooting

Please use https://stackoverflow.com/questions/tagged/mpdf for all your general questions or troubleshooting!

Contributions are welcome :-) For contributing with a bug report, feature request or pull request, please see the guideline at GitHub. Please provide a nice small example case or unit test. That will be really helpful for everybody. Thanks!

Acronyms

These are the most used acronyms throughout this manual.

  • CJK - Chinese-Japanese-Korean languages
  • HTML - Hypertext Markup Language (code used to display Internet pages)
  • IE - Internet Explorer (Microsoft)
  • LTR - Left-to-Right document, used for most langauges
  • PDF - Portable Document Format
  • PHP - PHP: Hypertext Preprocessor
  • RTL - Right-to-Left document, used for Hebrew and Arabic languages
  • ToC - Table of Contents
Fork me on GitHub