/**
  * @param \Generated\Shared\Transfer\PdfTemplateTransfer $pdfTemplate
  *
  * @return string
  */
 public function render(PdfTemplateTransfer $pdfTemplate)
 {
     $loader = new Filesystem($this->config->getTwigTemplatePaths());
     $twig = new Twig_Environment($loader);
     $twig->setExtensions($this->extensions);
     $this->addFilters($twig);
     $this->addFunctions($twig);
     $path = $pdfTemplate->getPath();
     $parameter = $pdfTemplate->getParameter();
     if ($parameter === null) {
         $parameter = [];
     }
     return $twig->render($path, $parameter);
 }
Beispiel #2
0
 /**
  * @param \Generated\Shared\Transfer\PdfTransfer $pdf
  * @throws \Pav\Zed\Pdf\Business\Exception\TemplateRendererNotFoundException
  *
  * @return void
  */
 protected function setHeaderAndFooter(PdfTransfer $pdf)
 {
     $header = $pdf->getHeader();
     $footer = $pdf->getFooter();
     if ($pdf->getUseDefaultLayout()) {
         $header = $this->config->getDefaultHeader();
         $footer = $this->config->getDefaultFooter();
     }
     if ($header !== null) {
         $headerString = $this->renderTemplate($header);
         $this->pdfGenerator->setHeaderHtml($headerString);
     }
     if ($footer !== null) {
         $footerString = $this->renderTemplate($footer);
         $this->pdfGenerator->setFooterHtml($footerString);
     }
 }
 /**
  * @return \PhantomPdf\PdfGenerator
  */
 protected function createPdfGenerator()
 {
     $phantomJsBinaryPath = $this->config->getPhantomJsBinaryPath();
     return new PdfGenerator($phantomJsBinaryPath);
 }