Symfony& Phantom JS Bundle - 路由错误

时间:2015-12-07 09:19:10

标签: php html symfony phantomjs rasterize

我正在使用this Bundle将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.htmlrasterize-UNIQUEID.pdf。 html文件包含正确的输出。 在/bundles/padam87rasterize/temp/中创建html文件后,脚本的第二部分通过网址调用here打开此文件。 不幸的是,实际呈现的页面是一个symfony错误页面,说:

  

找不到GET /bundles/padam87rasterize/temp/rasterize-UNIQUEID.html

的路线

我需要设置什么才能呈现html文件?

1 个答案:

答案 0 :(得分:0)

我认为你实际上必须创建一个分离路线来渲染html。据我所知,rasterize函数从临时html文件生成pdf(关键词是临时的)。