mpdf 不呈现链接样式表中的样式
mpdf not rendering styles from linked stylesheet
我正在使用 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 的底部,您会看到一些应该应用的样式,例如包装纸周围应该有红色边框,徽标也应该如此,但 none这些正在应用中。
我正在这样生成 PDF:
$mpdf = new Mpdf;
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html, 0);
$mpdf->Output(pdf.pdf','F');
有人知道问题出在哪里吗?
mPDF 不支持 body
元素上的 id
。从 css 选择器中删除 body#the_pdf
和 body#the_pdf
,您的样式将被应用。
当我添加例如时,您的样式表中的其他 Bootstrap 样式(特别是 font-family
)被正确应用。示例代码的标题和段落。
参见 mPDF 联机手册中 supported HTML attributes 的页面。
您可以像这样使用 WriteHtml() 加载样式 sheet:
$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet,\Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html,\Mpdf\HTMLParserMode::HTML_BODY);
我正在使用 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 的底部,您会看到一些应该应用的样式,例如包装纸周围应该有红色边框,徽标也应该如此,但 none这些正在应用中。
我正在这样生成 PDF:
$mpdf = new Mpdf;
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html, 0);
$mpdf->Output(pdf.pdf','F');
有人知道问题出在哪里吗?
mPDF 不支持 body
元素上的 id
。从 css 选择器中删除 body#the_pdf
和 body#the_pdf
,您的样式将被应用。
当我添加例如时,您的样式表中的其他 Bootstrap 样式(特别是 font-family
)被正确应用。示例代码的标题和段落。
参见 mPDF 联机手册中 supported HTML attributes 的页面。
您可以像这样使用 WriteHtml() 加载样式 sheet:
$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet,\Mpdf\HTMLParserMode::HEADER_CSS); $mpdf->WriteHTML($html,\Mpdf\HTMLParserMode::HTML_BODY);