Cakephp 2.6.1,PHPExcel“;无法加载PDF呈现库“;
在同一个项目中,我使用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呈现库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
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');