【问题标题】:PHP - DOMPDF 1 function works, another does notPHP - DOMPDF 1 函数有效,另一个无效
【发布时间】:2012-02-05 20:18:15
【问题描述】:

我目前正在使用 DOMPDF,我试图找出我的 PDF 没有正确创建的原因。

当我运行以下代码时,

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']);
    $dompdf->output_html();
    //$dompdf->load_html($html);
    //$dompdf->set_paper("a4", "portrait" );
    //$dompdf->render();
    //$dompdf->stream($filename . ".pdf");
}
?>

在我的浏览器中,我看到了我希望生成的 PDF 内容,但是如果我运行此代码,

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']);
    //$dompdf->output_html();
    $dompdf->load_html($html);
    $dompdf->set_paper("a4", "portrait" );
    $dompdf->render();
    $dompdf->stream($filename . ".pdf");
}
?>

我没有得到任何回复,我希望在那里获得一个下载窗口。这是有原因的吗,我想知道格式不好的HTML是否会出现问题?

【问题讨论】:

  • 这里有问题。如果您没有先调用$dompdf-&gt;load_html($html),$dompdf-&gt;output_html() 将不会返回任何内容。所以也许你的内容被传递给你的视图而不是pdf_create 方法?另外,如果你什么也没得到,那么很可能引发了错误,你应该检查你的 PHP 或应用程序错误日志。

标签: php pdf pdf-generation dompdf html-generation


【解决方案1】:

您的 CI 插件代码应该可以在 1.7.x 上运行。以下是供您参考的想法:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

function pdf_create($html, $filename, $stream=true) {
        require_once("dompdf/dompdf_config.inc.php");
        spl_autoload_register('DOMPDF_autoload');
        $dompdf = new DOMPDF();
        $dompdf->load_html($html);
        $dompdf->render();
        if ($stream) {
                $dompdf->stream($filename);
        } else {
                $CI =& get_instance();
                $CI->load->helper('file');
                write_file($filename, $dompdf->output());
        }
}

【讨论】:

  • 更多信息:我已更改为 mpdf,因为我无法使用 dompdf 生成多语言 PDF。我现在使用的是 CI 2.0.2,我会尽快推进最新版本。
猜你喜欢
  • 2023-03-31
  • 2019-01-03
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 2020-07-28
  • 2019-11-05
  • 1970-01-01
  • 2020-02-29
相关资源
最近更新 更多