Symfony2 Knp-snappy从包含图像的树枝视图生成PDF

时间:2015-05-12 14:07:54

标签: php symfony pdf pdf-generation wkhtmltopdf

我想从包含图像的树枝视图生成PDF文件。 这是我的控制器:动作:

public function generatePdfAction(Request $request)
    {
       // initialize the $emp variable
        $html = $this->renderView('PFEEmployeesBundle:Employee:view.html.twig',
            array('employee'=> $employee)
        );

        return new Response(
            $this->get('knp_snappy.pdf')->getOutputFromHtml($html),
            200,
            array(
                'Content-Type'          => 'application/pdf',
                'Content-Disposition'   => 'attachment; filename="file.pdf"'
            )
        );
    }

这是config.yml中的配置:

knp_snappy:
    pdf:
        enabled:    true
        binary:     "\"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe\""
        options:    []
    image:
        enabled:    true
        binary:     "\"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltoimage.exe\""
        options:    []

代码生成包含CSS的pdf文件。 我有两个问题,第一个是pdf文件中没有显示的图像。 第二个是如何渲染不是整个视图,而只是渲染树枝视图的一个块(视图扩展另一个)。

2 个答案:

答案 0 :(得分:1)

  

我有两个问题,第一个是pdf文件中没有显示的图像

必须以绝对URL调用所有资产:

 <img src="{{ asset('images/logo.png', absolute=true) }}" alt="Symfony!" />

答案 1 :(得分:0)

试试这个。

<img src="{{ app.request.scheme ~'://'~ src="{{ asset('images/logo.png', absolute=true) }}" alt="Symfony!" />