/** * @Route("/contrat/{id}/pdf", name="contrat_pdf") * @ParamConverter("contrat", class="AppBundle:Contrat") */ public function pdfAction(Request $request, Contrat $contrat) { $dm = $this->get('doctrine_mongodb')->getManager(); $contrat->setMarkdown($this->renderView('contrat/contrat.markdown.twig', array('contrat' => $contrat))); $dm->persist($contrat); $dm->flush(); $header = $this->renderView('contrat/pdf-header.html.twig', array('contrat' => $contrat)); $footer = $this->renderView('contrat/pdf-footer.html.twig', array('contrat' => $contrat)); $html = $this->renderView('contrat/pdf.html.twig', array('contrat' => $contrat)); if ($request->get('output') == 'html') { return new Response($html, 200); } return new Response($this->get('knp_snappy.pdf')->getOutputFromHtml($html, array('footer-html' => $footer, 'header-html' => $header, 'margin-right' => 0, 'margin-left' => 0, 'margin-top' => 38, 'margin-bottom' => 38, 'page-size' => "A4")), 200, array('Content-Type' => 'application/pdf', 'Content-Disposition' => 'attachment; filename="contrat-' . $contrat->getNumeroArchive() . '.pdf"')); }