在使用KnpSnappyBundle时,我收到错误(白页),其中包含以下步骤:
我在composer.json "knplabs/knp-snappy-bundle": "dev-master"
中创建了这一行,我使用这个命令来安装这个包composer require knplabs/knp-snappy-bundle "dev-master"
,除了我在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: []
我在我的控制器中创建了一个方法:
public function pdfhtmlAction()
{
$em = $this->getDoctrine()->getManager();
$user = $this->get('security.context')->getToken()->getUser();
$html = $this->renderView('PdfHtmlBundle:Default:index.html.twig', array(
'user' => $user
));
return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html),
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="file.pdf"'
)
);
}
在我的树枝上我说:
<table class="table">
<tbody>
<tr>
<td class="text-muted" style="width: 50%;">Email</td>
<td>{{ user.email }}</td>
</tr>
<tr>
<td class="text-muted" style="width: 50%;">{% trans %}PhoneNumber{% endtrans %}</td>
<td>{{ user.phoneNumber }}</td>
</tr>
</tbody>
</table>
在我的路线中我说:
pdf_spfhtml:
pattern: /pdfhtml
defaults: { _controller: "PdfHtmlBundle:Default:pdfhtml" }
当我在控制器中创建我的方法时,它成功运行:
public function pdfhtmlAction()
{
$em = $this->getDoctrine()->getManager();
$user = $this->get('security.context')->getToken()->getUser();
return $this->render('PdfHtmlBundle:Default:index.html.twig', array(
'user' => $user
));
}
这确实意味着当我尝试将html渲染为pdf时,错误出现在我的方法控制器中,有人可以帮助我修复它并且我在symfony2中首次亮相。