在同一个项目中,我正在使用phpExcel生成excel文件。
PHPExcel文件位置:
C:\ wamp \ www \ circulo \ app \ Vendor \ PHPExcel \(此文件夹包含PHPExcel.php以及PHPExcel文件夹)
同样在同一个项目中,我单独使用dompdf生成pdf文件就好了(不是通过PHPExcel)。我很喜欢PHPExcel如何允许excel文件构建,所以我也想通过PHPExcel创建pdfs。
dompdf文件位置:
C:\瓦帕\ WWW \ circulo \应用\卖方\ DOMPDF \
通过debugger =>路径似乎是正确的C:\瓦帕\ WWW \ circulo \应用\卖方\ DOMPDF \ dompdf.php
这是我获取pdf文件的代码: 我收到错误: [PHPExcel_Writer_Exception]无法加载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");
尝试将他们的演示21pdf.php改为相同的结果。
你能帮忙吗?非常感谢!!答案 0 :(得分:0)
当我将错误打印到日志时,我意识到它正在尝试从无效位置加载dompdf_config.inc.php。见下文。
C:\瓦帕\ WWW \ MyApp的\应用\卖方\ DOMPDF \ dompdf.php / dompdf_config.inc.php \ n
不是更改PHPExcel的类文件,而是更改视图中的配置。在$ rendererLibraryPath中完全忽略$ rendererLibrary修复了我的问题。我认为PHPExcel知道如何选择dompdf.php文件。尝试以下代码,如果它不起作用,请告诉我们。
你也提供了错误的渲染常量,将PDF_RENDERER_MPDF更改为PDF_RENDERER_DOMPDF。
$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF;
$rendererLibrary = 'dompdf.php';
$rendererLibraryPath = APP . 'Vendor' . DS . 'dompdf';
对于创建编写器对象,我尝试了
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');