我正在使用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.html
和rasterize-UNIQUEID.pdf
。 html文件包含正确的输出。
在/bundles/padam87rasterize/temp/
中创建html文件后,脚本的第二部分通过网址调用here打开此文件。
不幸的是,实际呈现的页面是一个symfony错误页面,说:
找不到
的路线GET /bundles/padam87rasterize/temp/rasterize-UNIQUEID.html
我需要设置什么才能呈现html文件?
答案 0 :(得分:0)
我认为你实际上必须创建一个分离路线来渲染html。据我所知,rasterize
函数从临时html文件生成pdf(关键词是临时的)。