【问题标题】:DOMPDF not working, giving errorDOMPDF 不工作,报错
【发布时间】:2016-04-01 13:27:09
【问题描述】:

我有从 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()

我不明白为什么会这样。我查看了thisthisthis,但未能解决。

【问题讨论】:

  • file_get_contents() 返回一个文件内容,它不会执行你的 PHP 文件!!!
  • @HalayemAnis 那我该怎么办??
  • 分离内容:业务和演示.. 也停止使用 mysql_* 使用 mysqli_* 或 PDO 代替

标签: php dompdf


【解决方案1】:

dompdf 0.6.1 之前的版本将支持在呈现为 PDF 之前处理 PHP。出于安全原因,已将其删除,因此您现在应该在将文档中的任何 PHP 提供给 dompdf 之前对其进行全面处理。

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));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 2019-10-28
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    相关资源
    最近更新 更多