domPDF CSS问题

时间:2011-07-29 11:35:08

标签: php dompdf

以下代码段显示“使用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");

?>

4 个答案:

答案 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");
        ?>