DOMPDF生成空白pdf

时间:2012-09-20 16:10:50

标签: php html pdf-generation dompdf

我使用DOMPDF库0.6.0 beta 3使用PHP生成pdf文件。我的一些html可以正确处理为PDF而有些则不能。下面是一个不能的例子。我通过w3c html验证器验证了我的html。我该怎么做才能解决这个问题?

<?php
  require_once("dompdf/dompdf_config.inc.php");
    $html = "<!DOCTYPE html>
            <html>
              <head>
              <title></title>
                      <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
              </head>
             <body>
                 <p>Algarve Bird Watching Festival About to Begin</p>
                 <p><span style='font-family:calibri;font-size:11pt'>&nbsp;</span></p>
                 <p>Test Title</p>
                 <p>Lorem ipsum sit dolor amet<sup>th</sup> Lorem ipsum sit dolor amet </p>
                 <p>Lorem ipsum sit dolor amet</p>
                 <p>Lorem ipsum sit dolor amet </p>
                 <p>Lorem ipsum sit dolor amet <a href='http://www.test.com'>test</a>
                  Lorem ipsum sit dolor amet &nbsp; 
                  </p>
    <p><span style='font-family:calibri;font-size:11pt'>&nbsp;</span></p>
             </body>
             </html>";

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper("a4", "portrait");
    $dompdf->render();
    $dompdf->stream();
?>

2 个答案:

答案 0 :(得分:0)

检查双引号:

$html = '<!DOCTYPE html>
        <html>
          <head>
          <title></title>
                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
          </head>
         <body>
             <p>Algarve Bird Watching Festival About to Begin</p>
             <p><span style="font-family:calibri;font-size:11pt">&nbsp;</span></p>
             <p>Test Title</p>
             <p>Lorem ipsum sit dolor amet<sup>th</sup> Lorem ipsum sit dolor amet </p>
             <p>Lorem ipsum sit dolor amet</p>
             <p>Lorem ipsum sit dolor amet </p>
             <p>Lorem ipsum sit dolor amet <a href="http://www.test.com">test</a>
              Lorem ipsum sit dolor amet &nbsp; 
              </p>
<p><span style="font-family:calibri;font-size:11pt">&nbsp;</span></p>
         </body>
         </html>';

修改

此外,DOMPDF可能不知道字体校准。


修改

您没有<title>标记内容。这可能是原因吗?

答案 1 :(得分:0)

不能在传递给 DOM PDF 的 html 字符串中传递单引号。

您的 html 字符串需要有双引号。

如果您使用表格,则不要使用 thead 或 tbody。

这是我遇到的另一个问题。

基本上,如果 DOM PDF 认为一串 html 已损坏,它会在没有警告的情况下崩溃。