mPDF 8.1.x

New features


mPDF 8.0.x

mPDF 8.0.0


mPDF 7.1.x

mPDF 7.0.x

mPDF 7.0.0


Backward incompatible changes

Removed features

Fixes and code enhancements

New features

Git repository enhancements

mPDF 6.1.0


mPDF 6.0


New features / Improvements

Added CSS support

mPDF 5.7.4


Bug Fixes & Minor Additions

NB Spec. for embedded SVG images:
as per
Attributes supported:

Note: all attribute names and values are case-sensitive
width and height cannot be assigned by CSS - must be attributes

mPDF 5.7.3


Bug Fixes & Minor Additions

mPDF 5.7.2


Bug Fixes

New CSS support

SVG Images

mPDF 5.7.1


  1. FILES: mpdf.php

Bug fix; Dollar sign enclosed by <pre> tag causing error.
Test e.g.: <pre>Test $1.00 Test</pre> <pre>Test $2.00 Test</pre> <pre>Test $3.00 Test</pre> <pre>Test $4.00 Test</pre>

  1. FILES: includes/functions.php AND mpdf.php

Changes to preg_replace with /e modifier to use preg_replace_callback
(/e depracated from PHP 5.5)

  1. FILES: classes/barcode.php

Small change to function barcode_c128() which allows ASCII 0 - 31 to be used in C128A e.g. chr(13) in:
<barcode code="5432&#013;1068" type="C128A" />

  1. FILES: mpdf.php

Using $use_kwt (“keep-[heading]-with-table”) if <h4></h4> before table is on 2 lines and pagebreak occurs after first line
the first line is displayed at the bottom of the 2nd page.
Edited so that $use_kwt only works if the HEADING is only one line. Else ignores (but prints correctly)

  1. FILES: mpdf.php

Clearing old temporary files from _MPDF_TEMP_PATH will now ignore “hidden” files e.g. starting with a “..htaccess, .gitignore etc.
and also leave dummy.txt alone

mPDF 5.7


Files changed

Updated Example Files in /examples/



Backwards compatability

Changes in mPDF 5.7 may cause some changes to the way your documents appear. There are two main differences:

  1. Hyphenation. To retain appearance compatible with earlier versions, set the CSS property “hyphens: auto” whenever
    you previously used $mpdf->hyphenate=true;
  2. Table of Contents - appearance can now be controlled with CSS styles. By default, in mPDF 5.7, no styling is applied so you will get:

New features / Improvements

Added CSS support

The HTML elements <dottab> and <textcircle> can now have CSS properties applied to them.

Bug fixes

mPDF 5.6


Files changed

config.php changes

New features / Improvements

CSS support added for for min-height, min-width, max-height and max-width in <img>

Images embedded in CSS

HTML5 tags supported


» ’ ‚ „ are now included in “orphan”-management at the end of lines

Improved CJK line wrapping (if CJK character at end of line, breaks there rather than previous wordspace)

NB mPDF 5.5 added support for <fieldset> and <legend> (omitted from ChangeLog)

Bug fixes

mPDF 5.5


Files changed

Files added


config.php changes

To avoid just the border/background-color of the (empty) end of a block being moved on to next page (</div></div>)

$this->margBuffer = 0; // Allow an (empty) end of block to extend beyond the bottom margin by this amount (mm)

config_fonts.php changes

Added to (arabic) fonts to allow “use non-mapped Arabic Glyphs” e.g. for Pashto
‘unAGlyphs’ => true,

Arabic text

Arabic text (RTL) rewritten with improved support for Pashto/Sindhi/Urdu/Kurdish
Presentation forms added:
U+0649, U+0681, U+0682, U+0685, U+069A-U+069E, U+06A0, U+06A2, U+06A3, U+06A5, U+06AB-U+06AE,
U+06B0-U+06B4, U+06B5-U+06B9, U+06BB, U+06BC, U+06BE, U+06BF, U+06C0, U+06CD, U+06CE, U+06D1, U+06D3, U+0678
Joining improved:
U+0672, U+0675, U+0676, U+0677, U+0679-U+067D, U+067F, U+0680, U+0683, U+0684, U+0687, U+0687, U+0688-U+0692,
U+0694, U+0695, U+0697, U+0699, U+068F, U+06A1, U+06A4, U+06A6, U+06A7, U+06A8, U+06AA, U+06BA, U+06C2-U+06CB, U+06CF

Note - Some characters in Pashto/Sindhi/Urdu/Kurdish do not have Unicode values for the final/initial/medial forms of the characters.
However, some fonts include these characters “un-mapped” to Unicode (including XB Zar and XB Riyaz, which are bundled with mPDF).
'unAGlyphs' => true, added to the config_fonts.php file for appropriate fonts will

This requires the font file to include a Format 2.0 POST table which references the glyphs as e.g. or uni067C.medi:
e.g. XB Riyaz, XB Zar, Arabic Typesetting (MS), Arial (MS)

NB If you want to know if a font file is suitable, you can open a .ttf file in a text editor and search for “” - if it exists, it may work!
Using “unAGlyphs” forces subsetting of fonts, and will not work with SIP/SMP fonts (using characters beyond the Unicode BMP Plane).

mPDF maps these characters to part of the Private Use Area allocated by Unicode U+F500-F7FF. This could interfere with correct use
if the font already utilises these codes (unlikely).

mPDF now deletes U+200C,U+200D,U+200E,U+200F zero-widthjoiner/non-joiner, LTR and RTL marks so they will not appear
even though some fonts contain glyphs for these characters.

Other New features / Improvements

Avoid just the border/background-color of the (empty) end of a block being moved on to next page (</div></div>)
using configurable variable: $this->margBuffer;

The TTFontsUni class contained a long function (extractcoreinfo) which is not used routinely in mPDF

This has been moved to a new file: classes/ttfontsuni_analysis.php.

The 3 utility scripts have been updated to use the new extended class:

Bug fixes

Older changes can be seen on the documentation site.