/** * Erzeugt ein PDF auf Basis der übergebenen Funktion. * @param $module * @param $action * @param $param * @param null $filename falls kein Dateiname angegeben wird, wird das PDF direkt im Browser ausgegeben * @throws \Exception */ public static function generate($module, $action, $param, $filename = null, $template = true, $margin = 0) { $druckinhalt = new WrapperControl(null, 'druck'); $druckinhalt->setModule($module)->setAction($action)->addParams($param); $pdf = new \mPDF('de-DE', 'A4'); $pdf->SetDisplayMode('fullpage'); // Zeigt eine ganze Seite an, wenn das PDF in Acrobat geöffnet wird if ($margin > 0) { $pdf->SetTopMargin($margin); } $pdf->SetFooter('Seite {PAGENO} / {nb}'); //file_get_contents('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css') . $stylesheet = file_get_contents('templates/print/css/default.css'); $pdf->WriteHTML($stylesheet, 1); if ($template && file_exists('site/Print.template.html')) { $vars = ['heading' => Application::getCurrentResponse()->getMetadata()->getHeading()]; $header = Parser::parse(null, null, $vars, file_get_contents('site/Print.template.html')); $pdf->WriteHTML($header, 2); } $pdf->WriteHTML($druckinhalt->toHtml(), 2); if ($filename === null) { $pdf->Output($module . $action . '.pdf', 'I'); } else { //$filename = Files::validateFilename($filename); $pdf->Output($filename, 'F'); } unset($pdf); }
/** * @param Carne $carne * @return \mPDF */ public function gerar(Carne $carne) { $mpdf = new \mPDF("", 'A4'); $mpdf->DeflMargin = 3; $mpdf->DefrMargin = 3; $mpdf->SetTopMargin(3); $mpdf->AddPage(); /** * @var $boleto Boleto */ foreach ($carne->getBoletos() as $boleto) { $codigoBarras = $this->geradorCodigoBarras->getBarcode($boleto->getLinha(), BarcodeGeneratorSVG::TYPE_INTERLEAVED_2_5, 1, 40); $html = $this->twig->render($carne->getBanco()->getLayoutCarne(), ['boleto' => $boleto, 'codigoBarras' => base64_encode($codigoBarras), 'logoBanco' => base64_encode(file_get_contents(GeradorCarne::getDirImages() . 'logocaixa.jpg'))]); $mpdf->WriteHTML($html); $mpdf->Ln(2); } return $mpdf; }