/** * Instantiate a new renderer of the configured type within this container class * * @param PHPExcel $phpExcel PHPExcel object * @throws Exception when PDF library is not configured */ public function __construct(PHPExcel $phpExcel) { $pdfLibraryName = \PHPExcel\Settings::getPdfRendererName(); if (is_null($pdfLibraryName)) { throw new Exception("PDF Rendering library has not been defined."); } $pdfLibraryPath = \PHPExcel\Settings::getPdfRendererPath(); if (is_null($pdfLibraryName)) { throw new 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 = 'PDF\\' . $pdfLibraryName; $this->renderer = new $rendererName($phpExcel); }