post('/', function(Application $app) { $printer = new RecordHelper\Printer($app, $app['request']); return $app['twig']->render('prod/actions/printer_default.html.twig', array('printer' => $printer, 'message' => '')); } ); $controllers->post('/print.pdf', function(Application $app) { $printer = new RecordHelper\Printer($app, $app['request']); $request = $app['request']; $layout = $request->request->get('lay'); foreach ($printer->get_elements() as $record) { $app['phraseanet.logger']($record->get_databox()) ->log($record, \Session_Logger::EVENT_PRINT, $layout, ''); } $PDF = new PDFExport($app, $printer->get_elements(), $layout); /** * * Header "Pragma: public" SHOULD be present. * In case it is not present, download on IE 8 and previous over HTTPS * will fail. * * @todo : merge this shitty fix with Response object. * */ if (!headers_sent()) { header("Pragma: public"); } return new Response($PDF->render(), 200, array('Content-Type' => 'application/pdf')); }); return $controllers; } }