mpdf无法从链接样式表

时间:2017-07-24 16:44:51

标签: php mpdf

我使用mpdf从HTML页面生成pdf,但样式表不起作用。这是我的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>

如果你滚动到CSS的底部,你会看到一些应该应用的样式,例如包装器周围应该有一个红色边框,因此徽标也应该被应用。

我正在生成PDF:

$mpdf = new Mpdf;
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html, 0);
$mpdf->Output(pdf.pdf','F');

任何人都知道问题是什么?

2 个答案:

答案 0 :(得分:1)

mPDF不支持id元素上的body。从您的css选择器中删除body#the_pdfbody#the_pdf,您的样式将会应用。

当我添加例如时,正确应用样式表中的其他Bootstrap样式(特别是font-family)。标题和示例代码的段落。

请参阅mPDF在线手册中的supported HTML attributes页面。

答案 1 :(得分:-2)

您可以像这样通过WriteHtml()加载样式表:

$ stylesheet = file_get_contents('style.css');

$ mpdf-> WriteHTML($ stylesheet,\ Mpdf \ HTMLParserMode :: HEADER_CSS); $ mpdf-> WriteHTML($ html,\ Mpdf \ HTMLParserMode :: HTML_BODY);