2012-05-09 38 views
0

我已经开始尝试使用codeigniter和pdfs。我正在使用两者的最新版本。出于某种原因,我越来越想渲染PDF文件时,这个错误:使用使用dompdf和codeigniter的问题

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> 

任何suggesti项?我不是那种在PHP中经验丰富,我很困惑。我只是重新下载了库,我试着通过剥离我的代码中的额外内容来保持它非常简单。似乎没有任何工作。任何帮助将是伟大的:)

回答

5

这是一个类的自动加载器问题。你使用哪种版本的DOMPDF?我认为dompdf 0.5在集成到像CI这样的框架中时有问题。 的0.6版本没有此probleme了,如果问题仍然存在,在dompdf_config.custom.inc.php

define("DOMPDF_AUTOLOAD_PREPEND", true) 

+0

似乎修复了DOMPDF 0.6.0 beta 3。感谢Fabien提供了一款出色的软件。 – keithics

0

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

write_file('name', $data); 

下面一行是不够的:

pdf_create($html, $filename); 
+0

一切正常!我所做的是,我实际上用dompdf 6.0 beta代替了它,而不是那个5.2,尽管它是一个干净的网站副本,并没有为一些奇怪的原因工作。当我找不到丢失的文件时,我觉得有些腥意。尽管如此,非常感谢帮助:) – MaxQ

0

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

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

该文件的路径不正确。

C:\用户\曼弗雷德\ Dropbox的\网络\ Alodu \程序\佣工\ DOMPDF /包括/ ci_exceptions.cls.php

您可以使用DIRECTORY_SEPARATOR