I'm using mpdf to generate a pdf from an HTML page but the stylesheet isn't working. Here is my HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="http://swiftdigital.ltd.uk/pdf.css">
</head>
<!-- END HEAD -->
<body id="the_pdf">
<div id="wrapper">
<img src="http://via.placeholder.com/350x150" alt="Logo" id="logo">
</div>
</body>
</html>
If you scroll to the bottom of the CSS you will see a few styles that should be applied, for example wrapper should have a red border around it and so should the logo but none of these are being applied.
I am generating the PDF like so:
$mpdf = new Mpdf;
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html, 0);
$mpdf->Output(pdf.pdf','F');
Anyone know what the problem is?
mPDF does not support id
on body
element. Remove body#the_pdf
and body#the_pdf
from your css selectors and your styles will be applied.
Other Bootstrap styles (specifically font-family
) from your stylesheet are being applied correctly when I add eg. a heading and a paragraph to your example code.
See a page on supported HTML attributes in the mPDF online manual.