я использую этот Пакет для преобразования HTML в PDF файлы.
Фактическое преобразование работает, но у меня есть проблема с пониманием маршрутизации.
Вот мой код:
/**
* @Route("/formulare/selbstauskunft/{keycode}", name="saPrint")
*/
public function saPrintAction(Request $request, $keycode)
{
$em = $this->getDoctrine()->getManager();
$sa = $em->getRepository('AppBundle:Selfinfo')->findOneBy(array(
'keycode' => $keycode,
));
if(count($sa) > 0){
$response = new Response(
$this->get('padam87_rasterize.rasterizer')->rasterize(
$this->renderView('default/formSAPrint.html.twig', array(
'selfinfo' => $sa,
))
),
200, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="my.pdf"'
]
);
return $response;
}else{
return new Response("fail");
}
}
Пакет создает 2 файла, rasterize-UNIQUEID.html
а также rasterize-UNIQUEID.pdf
, HTML-файл содержит правильный вывод.
После создания HTML-файла в /bundles/padam87rasterize/temp/
вторая часть скрипта открывает этот файл с помощью URL-вызова Вот.
К сожалению, фактически отображаемая страница является страницей с ошибкой Symfony, говоря:
Не найдено ни одного маршрута
GET /bundles/padam87rasterize/temp/rasterize-UNIQUEID.html
Что я должен установить, чтобы отобразить HTML-файл?
Я думаю, что вы на самом деле должны создать отдельный маршрут для рендеринга HTML. Насколько я могу сказать rasterize
Функция генерирует PDF из временного HTML-файла (ключевое слово является временным).
Других решений пока нет …