以下代码段显示“使用DOMPDF呈现PDF”。在这里,我有两个问题:
1.在哪里添加CSS代码?
2.如何在单个代码之外制作 HTML代码(请参阅 $ html 变量)?
提前致谢,非常感谢您的帮助。
<?php
require_once("dompdf_config.inc.php");
$html =
'<html><body>'.
'<p>Hello World!</p>'.
'</body></html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("hello_world.pdf");
?>
答案 0 :(得分:3)
DOMPDF就像Web浏览器一样读取HTML。因此,如果您想在上面的代码示例中添加一些样式,您可以创建一个头部分:
$html =
'<html><head>' .
'<style>body { font-family: sans-serif; font-size: 150%; }</style>' .
'</head><body>'.
'<p>Hello World!</p>'.
'</body></html>';
文件中的或内联:
$html =
'<html><body style="font-family: sans-serif; font-size: 150%;">'.
'<p>Hello World!</p>'.
'</body></html>';
答案 1 :(得分:0)
您可以使用模板引擎(Smarty)或其他方式动态生成HTML文件。如果使用Smarty,则 $ smarty-&gt; fetch(模板文件名)将生成html代码,这可用于创建pdf。使用CSS要小心,因为页面中必须提到所有的CSS。
答案 2 :(得分:0)
Hai你可以用下面的样式css制作html变量并用来生成pdf
<?php
$html = <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head>
<style>
body,html{
margin: 0px;
padding: 0px;
color:#272727;
font-size:14px;
}
body,html
{
font-family: 'dejavu sans';
line-height:0.9;!important
font-size:14px;
}
</head>
<body>
<div>
</div>
</body></html>
EOF;
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("filename.pdf");
?>
答案 3 :(得分:0)
嗨,如下所示,您可以在pdf中使用样式css制作html变量
<?php
$html = <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head>
<style>
body,html{
color:#272727;
font-size:14px;
font-family: 'dejavu sans';
line-height:0.9;!important
font-size:14px;
}
</head>
<body>
<div>
This is testing content
</div>
</body></html>
EOF;
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("filename.pdf");
?>