2015-12-07 2 views
2

Я использую this Пакет для преобразования HTML в файлы PDF.Symfony & Phantom JS Bundle - Ошибка маршрутизации

Фактическое преобразование работает, но у меня есть проблема с пониманием маршрутизации.

Вот мой код:

/** 
* @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-адреса here. К сожалению, текущая страница визуализации страницы ошибок Symfony, говоря:

Нет маршрута найдено GET /bundles/padam87rasterize/temp/rasterize-UNIQUEID.html

Что я должен установить для того, чтобы сделать файл HTML?

ответ

0

Я думаю, вам действительно нужно создать разделительный маршрут для рендеринга html. Насколько я могу судить, функция rasterize генерирует pdf-файл из временного html-файла (ключевое слово является временным).