/** * @return array */ public function exampleAction() { $pdf = new PdfTransfer(); $content = new PdfTemplateTransfer(); $content->setPath('@pdf/content.twig'); $content->setType(PdfConfig::TEMPLATE_TYPE_TWIG); $content->setParameter(['entity' => ['items' => [['name' => 'Item 1', 'price' => 1299], ['name' => 'Item 2', 'price' => 1599]], 'total' => 2898]]); $header = new PdfTemplateTransfer(); $header->setPath('@pdf/header.twig'); $header->setType(PdfConfig::TEMPLATE_TYPE_TWIG); $header->setParameter([]); $footer = new PdfTemplateTransfer(); $footer->setPath('@pdf/footer.twig'); $footer->setType(PdfConfig::TEMPLATE_TYPE_TWIG); $footer->setParameter([]); $pdf->setName('test'); $pdf->setContent($content); $pdf->setHeader($header); $pdf->setFooter($footer); $pdf->setOptions(['Margin' => '1.5cm', 'HeaderHeight' => '5cm', 'FooterHeight' => '5cm']); $output = $this->getFacade()->outputPdfFile($pdf); return $this->streamedResponse(function () use($output) { echo $output; }, 200, ['Content-Type' => 'application/pdf']); }
/** * @param \Generated\Shared\Transfer\InvoiceTransfer $invoiceTransfer * @param \Generated\Shared\Transfer\PdfTransfer $pdfTransfer * * @return \Generated\Shared\Transfer\PdfTransfer */ public function convertInvoiceDocument(InvoiceTransfer $invoiceTransfer, PdfTransfer $pdfTransfer) { $invoiceTransfer = $this->addTemplateVersion($invoiceTransfer); $parameter = ['invoiceTransfer' => $invoiceTransfer]; $headerTemplate = $this->createHeaderTemplate($invoiceTransfer, $parameter); $contentTemplate = $this->createContentTemplate($invoiceTransfer, $parameter); $footerTemplate = $this->createFooterTemplate($invoiceTransfer, $parameter); $pdfTransfer->setHeader($headerTemplate); $pdfTransfer->setContent($contentTemplate); $pdfTransfer->setFooter($footerTemplate); $pdfTransfer->setOptions($this->getOptions()); return $pdfTransfer; }