【问题标题】:Problems using dompdf and codeigniter使用 dompdf 和 codeigniter 的问题
【发布时间】:2012-05-09 18:28:33
【问题描述】:

我已经开始尝试使用 codeigniter 和 pdf。我正在使用两者的最新版本。出于某种原因,我在尝试渲染 pdf 时遇到此错误:

Warning: require_once(C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf/include/ci_exceptions.cls.php) [function.require-once]: failed to open stream: No such file or directory in C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf\dompdf_config.inc.php on line 208

Fatal error: require_once() [function.require]: Failed opening required 'C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf/include/ci_exceptions.cls.php' (include_path='.;C:\php\pear') in C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf\dompdf_config.inc.php on line 208

使用的代码是:

function pdf()
    {
         $this->load->helper(array('dompdf', 'file'));
         // page info here, db calls, etc.     

         /*
         $data=array(
         "$title"=>"Hello!",
         "$test_questions"=>"1,2,3,4",
         );
         */

        $data['test_questions']= "hello";


         $html = $this->load->view('pdf/test_ibdp', $data, true);

         $filename="Test".$data['test_questions'];

         pdf_create($html, $filename);
         write_file('name', $data);

    }   

还有助手:

<?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->load_html($html);
    $dompdf->set_paper("a4", "portrait" );
    $dompdf->render();
    $dompdf->stream($filename . ".pdf");
}
?>  

和视图(纯 HTML)

<html>
<head>
<title>Hello!</title>
</head>
<body>
    <h1>HelloAgain</h1>
</body>
</html>

有什么建议吗?我在 PHP 方面没有那么有经验,我很困惑。我刚刚重新下载了该库,我尝试通过删除代码中的额外内容来保持它非常简单。似乎没有任何效果。任何帮助都会很棒:)

【问题讨论】:

    标签: php codeigniter dompdf


    【解决方案1】:

    这是一个类自动加载器问题。您使用哪个版本的 DOMPDF?我认为 dompdf 0.5 在集成到 CI 之类的框架中时会出现问题。 0.6版本就没有这个问题了,如果问题依旧,写

    define("DOMPDF_AUTOLOAD_PREPEND", true)
    

    dompdf_config.custom.inc.php.

    【讨论】:

    • 似乎已在 DOMPDF 0.6.0 beta 3 中修复。感谢 Fabien 提供了一个很棒的软件。
    【解决方案2】:

    错误是说下面的路径不正确。重新检查路径

    require_once("dompdf/dompdf_config.inc.php");
    

    【讨论】:

      【解决方案3】:

      文件路径不正确。

      C:\Users\Manfred\Dropbox\Web\Alodu\application\helpers\dompdf/include/ci_exceptions.cls.php

      您可以使用DIRECTORY_SEPARATOR

      【讨论】:

        【解决方案4】:

        更正 dompdf 文件路径。同时删除这行代码:

        write_file('name', $data);
        

        下面一行就足够了:

        pdf_create($html, $filename);
        

        【讨论】:

        • 一切正常!我所做的是我实际上用 dompdf 6.0 beta 而不是 5.2 替换了它,尽管它是网站的干净副本,但由于某种奇怪的原因无法正常工作。当我找不到丢失的文件时,我认为有些东西很可疑。非常感谢您的帮助:)
        猜你喜欢
        • 2020-06-15
        • 2018-07-25
        • 1970-01-01
        • 2018-04-04
        • 1970-01-01
        • 1970-01-01
        • 2013-06-23
        • 2016-10-17
        • 2010-11-07
        相关资源
        最近更新 更多