예제 #1
0
 /**
  * Constructor
  *
  * @param CakePdf $Pdf CakePdf instance
  */
 public function __construct(CakePdf $Pdf)
 {
     parent::__construct($Pdf);
     if (!defined('DOMPDF_FONT_CACHE')) {
         define('DOMPDF_FONT_CACHE', TMP);
     }
     if (!defined('DOMPDF_TEMP_DIR')) {
         define('DOMPDF_TEMP_DIR', TMP);
     }
 }
예제 #2
0
 /**
  * Load PdfEngine
  *
  * @param string $name Classname of pdf engine without `Engine` suffix. For example `CakePdf.DomPdf`
  * @throws \Cake\Core\Exception\Exception
  * @return \CakePdf\Pdf\Engine\AbstractPdfEngine
  */
 public function engine($name = null)
 {
     if (!$name) {
         return $this->_engineClass;
     }
     $config = [];
     if (is_array($name)) {
         $config = $name;
         $name = $name['className'];
     }
     $engineClassName = App::className($name, 'Pdf/Engine', 'Engine');
     if (!class_exists($engineClassName)) {
         throw new Exception(__d('cake_pdf', sprintf('Pdf engine "%s" not found', $name)));
     }
     if (!is_subclass_of($engineClassName, 'CakePdf\\Pdf\\Engine\\AbstractPdfEngine')) {
         debug(get_parent_class($engineClassName));
         throw new Exception(__d('cake_pdf', 'Pdf engines must extend "AbstractPdfEngine"'));
     }
     $this->_engineClass = new $engineClassName($this);
     $this->_engineClass->config($config);
     return $this->_engineClass;
 }
예제 #3
0
 /**
  * Constructor
  *
  * @param CakePdf $Pdf CakePdf instance
  */
 public function __construct(CakePdf $Pdf)
 {
     parent::__construct($Pdf);
 }
예제 #4
0
 /**
  * Constructor
  *
  * @param \CakePdf\Pdf\CakePdf $Pdf CakePdf instance
  */
 public function __construct(CakePdf $Pdf)
 {
     parent::__construct($Pdf);
     $this->_defaultConfig['options']['output-directory'] = TMP . 'pdf';
 }