我使用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');
任何人都知道问题是什么?
答案 0 :(得分:1)
mPDF不支持id
元素上的body
。从您的css选择器中删除body#the_pdf
和body#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);