我正在尝试使用dompdf生成从html到pdf的表格,但是当我在foxit reader或adobe reader上打开它时,我收到文件损坏的错误,Sumatra可以打开dompdf生成的文件没有问题
<table border="1">
<tr>
<th>Name</th>
<th>Course</th>
</tr>
<?php
foreach($select as $s){
?>
<tr>
<td><?php echo $s->strName; ?></td>
<td><?php echo $s->strCourse; ?></td>
</tr>
<?php } ?>
</table>
这是生成pdf的文件。上面代码的输出只存储在会话中,而这个文件只提取其内容:
require_once('../classes/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$data = $_SESSION['view'];
ob_start();
?>
<!--css-->
<?php
$subj = $_SESSION['view']['bi'];
echo $subj.'<hr/>';
foreach($data as $d){
echo $d.'<br/>';
}
$print = ob_get_contents();
ob_end_flush();
$tym = date('g:i s');
$filename = 'print '.$subj. $tym;
$dompdf->load_html($print);
$dompdf->render();
$dompdf->stream($filename. ".pdf", array("Attachment" => 0));
如何确定此错误。
答案 0 :(得分:2)
我有同样的问题。我提出的解决方案是简单地升级到DOMPDF 0.6.0 beta 2。我在Windows上再次使用Evince(Linux),Acrobat Reader以及本机查看器(Mac)和Adobe Reader测试生成的PDF。一切都很好。
升级非常简单,但对我来说(因为我的配置选项与默认配置相同),我在dompdf_config.custom.inc.php
中注释了所有内容,并将其保留为默认值,这适用于大多数情况。