/** * Instantiate a new renderer of the configured type within this container class * * @param PHPExcel $phpExcel PHPExcel object * @throws PHPExcel_Writer_Exception when PDF library is not configured */ public function __construct(PHPExcel $phpExcel) { $pdfLibraryName = PHPExcel_Settings::getPdfRendererName(); if (is_null($pdfLibraryName)) { throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined."); } $pdfLibraryPath = PHPExcel_Settings::getPdfRendererPath(); if (is_null($pdfLibraryName)) { throw new PHPExcel_Writer_Exception("PDF Rendering library path has not been defined."); } $includePath = str_replace('\\', '/', get_include_path()); $rendererPath = str_replace('\\', '/', $pdfLibraryPath); if (strpos($rendererPath, $includePath) === false) { set_include_path(get_include_path() . PATH_SEPARATOR . $pdfLibraryPath); } $rendererName = 'PHPExcel_Writer_PDF_' . $pdfLibraryName; $this->_renderer = new $rendererName($phpExcel); }