2

我正在使用这个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 文件后,通过此处的 url 调用打开此文件。不幸的是,实际呈现的页面是一个 symfony 错误页面,上面写着:

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

为了呈现 html 文件,我必须设置什么?

4

1 回答 1

0

我认为您实际上必须创建一个单独的路由来呈现 html。据我所知,该rasterize函数从临时 html 文件(关键字是临时的)生成一个 pdf。

于 2015-12-07T23:10:12.787 回答