Cakephp 2.6.1,PHPExcel“;无法加载PDF呈现库“;

Cakephp 2.6.1,PHPExcel“;无法加载PDF呈现库“;,cakephp,pdf,phpexcel,Cakephp,Pdf,Phpexcel,在同一个项目中,我使用phpExcel生成excel文件 PHPExcel文件位置: C:\wamp\www\circulo\app\Vendor\PHPExcel\(此文件夹包含PHPExcel.php和PHPExcel files文件夹) 同样在同一个项目中,我单独使用dompdf来生成pdf文件(不是通过PHPExcel)。我非常喜欢PHPExcel如何允许excel文件构建,所以我也希望通过PHPExcel创建PDF dompdf文件位置: C:\wamp\www\circulo\app

在同一个项目中,我使用phpExcel生成excel文件

PHPExcel文件位置:

C:\wamp\www\circulo\app\Vendor\PHPExcel\(此文件夹包含PHPExcel.php和PHPExcel files文件夹)

同样在同一个项目中,我单独使用dompdf来生成pdf文件(不是通过PHPExcel)。我非常喜欢PHPExcel如何允许excel文件构建,所以我也希望通过PHPExcel创建PDF

dompdf文件位置:

C:\wamp\www\circulo\app\Vendor\dompd\

通过debugger=>C:\wamp\www\circulo\app\Vendor\dompd\dompd.php,路径似乎是正确的

这是我获取pdf文件的代码: 我得到一个错误: [PHPExcel\u Writer\u异常]无法加载PDF呈现库

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

require_once APP . DS . 'Vendor' . DS . 'PHPExcel' . DS . 'PHPExcel.php';

$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; 
$rendererLibrary = 'dompdf.php'; 
$rendererLibraryPath = APP . 'Vendor' . DS . 'dompdf' . DS  .$rendererLibrary;
Debugger::log($rendererLibraryPath);

if (!PHPExcel_Settings::setPdfRenderer(   $rendererName,   $rendererLibraryPath  )) {  die(   'Please set the $rendererName and $rendererLibraryPath values' .   PHP_EOL .   ' as appropriate for your directory structure' . $rendererLibraryPath  ); } 

$objPHPExcel = new PHPExcel;
$objWriter = new PHPExcel_Writer_PDF($objPHPExcel); 
//$objWriter->save("emptyPdfJustYet.pdf"); 
错误报告(E_ALL);
ini设置(“显示错误”,真);
ini设置(“显示启动错误”,TRUE);
定义('EOL',(PHP_SAPI=='cli')?PHP_EOL:'
'); 需要一次应用程序。D卖方'。DPHPExcel’。Dphp'; $rendererName=PHPExcel\u设置::PDF\u RENDERER\u MPDF; $renderLibrary='dompdf.php'; $renderLibraryPath=APP'卖方'。DDOMPF’。DS.$rendererLibrary; 调试器::log($renderLibraryPath); 如果(!PHPExcel_Settings::setPdfRenderer($rendername,$renderlibrarypath)){die('请根据您的目录结构设置$rendername和$renderlibrarypath值'.PHP_EOL.'。‘$renderlibrarypath);} $objPHPExcel=新的PHPExcel; $objWriter=newphpexcel\u Writer\u PDF($objPHPExcel); //$objWriter->save(“emptyPdfJustYet.pdf”);
尝试了他们的演示21pdf.php以获得相同的结果


你能帮忙吗?非常感谢

当我将错误打印到日志时,我意识到它试图从无效位置加载dompdf_config.inc.php。见下文

C:\wamp\www\myapp\app\Vendor\dompd\dompd.php/dompd\u config.inc.php\n

与其更改PHPExcel的类文件,不如在视图中更改配置。在$renderLibraryPath中完全忽略$renderLibrary修复了我的问题。我认为PHPExcel知道如何选择dompdf.php文件。尝试下面的代码,让我们知道如果它不工作

而且您也提供了错误的渲染常量,将PDF_RENDERER_MPDF更改为PDF_RENDERER_DOMPDF

$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; 
$rendererLibrary = 'dompdf.php'; 
$rendererLibraryPath = APP . 'Vendor' . DS . 'dompdf';
对于createwriter对象,我尝试了

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');