我使用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'> </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
</p>
<p><span style='font-family:calibri;font-size:11pt'> </span></p>
</body>
</html>";
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "portrait");
$dompdf->render();
$dompdf->stream();
?>
答案 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"> </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
</p>
<p><span style="font-family:calibri;font-size:11pt"> </span></p>
</body>
</html>';
此外,DOMPDF可能不知道字体校准。
您没有<title>
标记内容。这可能是原因吗?
答案 1 :(得分:0)
不能在传递给 DOM PDF 的 html 字符串中传递单引号。
您的 html 字符串需要有双引号。
如果您使用表格,则不要使用 thead 或 tbody。
这是我遇到的另一个问题。
基本上,如果 DOM PDF 认为一串 html 已损坏,它会在没有警告的情况下崩溃。