/** * Renders values as a PDF * * @param string|ModelInterface|PdfModel $nameOrModel * @param null|array|\ArrayAccess Values to use during rendering * @return string The script output. */ public function render($nameOrModel, $values = null) { $pdfOptions = $nameOrModel->getPdfOptions(); $paperSize = explode(',', $pdfOptions->getPaperSize()); $paperOrientation = $pdfOptions->getPaperOrientation(); $basePath = $pdfOptions->getBasePath(); $paperSize = count($paperSize) === 1 ? $paperSize[0] : $paperSize; $pdf = $this->getEngine(); $pdf->setPaper($paperSize, $paperOrientation); $pdf->setBasePath($basePath); $html = $this->getHtmlRenderer()->render($nameOrModel, $values); $pdf->loadHtml($html); $pdf->render(); $pdf = $this->processHeader($pdf, $pdfOptions); $pdf = $this->processFooter($pdf, $pdfOptions); return $pdf->output(); }