我在symfony 2.3中搜索过创建pdf文件,但没有成功。我有2个捆绑
我的任务是点击下载pdf文件。为此,我在html.twig中给出了链接,如
<a href="{{path('route name')}}">Download file</a>
在pdf操作中,我正在生成PDF文件
在knp snapy bundle中我正在做:
$html = $this->renderView('MyBundle:Foo:bar.html.twig', array(
'some' => $vars
));
return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html),
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="file.pdf"'
)
);
得到错误
退出状态代码'1'表示出错了:stderr:“The 系统找不到指定的路径。
如果是,则安装需要wkpdftohtml
,那么如何在基于共享的托管上安装。
在psliwa / PHPdf中,我已经阅读了以下示例:
得到了
无法找到twig文件
如果我将$format = $this->get('request')->get('_format');
更改为$format='pdf';
,则会显示简单的html文件
无法理解我应该怎样做才能完成任务...
答案 0 :(得分:1)
是。对于Knp Snappy Bundle,需要wkhtmltopdf,你需要在config.yml中正确配置
knp_snappy:
pdf:
enabled: true
binary: /usr/local/bin/wkhtmltopdf #path to wkhtmltopdf binary
options: []
答案 1 :(得分:0)
这是使用psliwa / PHPPdf从实时共享主机环境中的控制器中摘录的:
$facade = $this->get('ps_pdf.facade');
$response = new Response();
$this->render('ManaClientBundle:Contact:roster.html.twig', array(
'date' => $found['latestDate'],
'center' => $location,
'roster' => $found['contactSet'],
), $response);
$date = new \DateTime($found['latestDate']);
$filename = str_replace(' ', '', $location) . date_format($date, '_Ymd') . '.pdf';
$xml = $response->getContent();
$stylesheet = $this->renderView('ManaClientBundle:Contact:contact.xml.twig', array());
$content = $facade->render($xml, $stylesheet);
return new Response($content, 200, array
('content-type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename=' . $filename
));