When using mPDF to generate a PDF from a template it renders one or more tables and the fonts within them smaller than what they are in the template.
Cause
Look at the code below:
<!-- Invoice details --> <td valign="top" align="right" width="200"> <table border="0" cellpadding="3" cellspacing="0" style="border-collapse: collapse;"> <tr> <td valign="top" width="90%" align="right"></td> <td align="top" class="olotd5" width="200"> <table width="180" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"> <tr> <td> <b>{t}Invoice ID{/t} - </b>{$invoice_details.invoice_id}<br> <b>{t}Status{/t} - </b>{$workorder_details.status}<br> <b>{t}Date{/t} - </b>{$invoice_details.date|date_format:$date_format} <br> <b>{t}Due Date{/t} - </b>{$invoice_details.due_date|date_format:$date_format}<br> <b>{t}Work Order{/t} - </b>{$invoice_details.workorder_id}<br> <b>{t}Technician{/t} - </b>{$employee_details.display_name}<br> <b>{t}Credit Terms{/t} - </b>{$customer_details.credit_terms}<br> </td> </tr> </table> </td> </tr> </table> </td>
and you can see this line.
<td valign="top" width="90%" align="right"></td>
mPDF cannot handle this empty cells with sizing statements.
Solution
I removed this line and then the template was rendered correctly.