1

我正在使用 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();
?>
4

2 回答 2

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 可能不知道字体 calibri。


编辑

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

于 2012-09-20T16:15:49.460 回答
0

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

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

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

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

基本上,如果 DOM PDF 认为一个 html 字符串被破坏,它会在没有警告的情况下退出。

于 2021-03-10T15:13:19.933 回答