DOMPDF不工作,出现错误



我有一个从mysql表中获取数据的form.php文件。form.php

<?php
 if(mysql_num_rows($sql)==0){
?>
<table>
    <tr>
        <td>1.</td>
        <td>America</td>
    <tr>
</table>
<a href="pdf.php" target="_blank">Export as PDF</a>
<?php
 } else {
?>
<table>
    <tr>
        <td>1.</td>
        <td>India</td>
    <tr>
</table>
<a href="pdf.php" target="_blank">Export as PDF</a>
<?php
 }
?>

pdf.php

require_once("dompdf/dompdf_config.inc.php");
ob_start();
$html = file_get_contents('form.php');
$dompdf = new DOMPDF();
date_default_timezone_set('Asia/Kolkata');
$tym = date('g:i s');
$filename = 'FAA-8130_3_'.$tym;
$dompdf->load_html($html);
ob_end_flush();
$dompdf->render();
$dompdf->stream($filename. ".pdf", array("Attachment" => 0));

当我试图将其导出为PDF文件时,它给出了错误。。。

致命错误:在第231行的C:\wamp\www\path\to\dompdf\include\frame_tree.cls.php中的非对象上调用成员函数prepend_child()

我不明白为什么会发生这种事。我看了这个、这个、这个,但没能解决。

0.6.1之前的dompdf将支持在渲染为PDF之前处理PHP。出于安全原因,它被删除了,所以在将文档提供给dompdf之前,您现在应该完全处理文档中的任何PHP。

pdf.php中的代码很接近,但并不完全正确。下面的应该工作(为了可读性,我也重新组织了)。

date_default_timezone_set('Asia/Kolkata');
require_once("dompdf/dompdf_config.inc.php");
$tym = date('g:i s');
$filename = 'FAA-8130_3_'.$tym;
ob_start();
require_once 'form.php';
$html = ob_get_clean();
ob_end_clean();
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream($filename. ".pdf", array("Attachment" => 0));

相关内容

最新更新