我在knpSnappyBundle上有这个错误,我试图生成一个pdf,然后通过电子邮件发送。
我的配置看起来像这样:
knp_snappy:
pdf:
enabled: true
binary: \vendor\h4cc\bin\wkhtmltopdf-amd64\bin\wkhtmltopdf-amd64
options: []
字符串
然后我的控制器:
$html = $this->render('AppUserBundle:Emails:envoi-export.html.twig', [
'pointagesList' => $pointagesList,
'user' => $user,
'date' => new \DateTime()
]);
$filename = sprintf('test-%s.pdf', date('Y-m-d'));
return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html),
200,
[
'Content-Type' => 'application/pdf',
'Content-Disposition' => sprintf('attachment; filename="%s"', $filename),
]
);
型
完整错误消息:
退出状态代码“127”表示出现错误:stderr:“sh:1:/usr/local/bin/wkhtmltopdf:not found“stdout:“”命令:/usr/local/bin/wkhtmltopdf --lowquality“/tmp/knp_snappy57970542debe22.97700913.html”"/tmp/knp_snappy57970542dec563.25042325.pdf“。
5条答案
按热度按时间kmpatx3s1#
我解决了问题,它的发生是因为系统没有安装
wkhtmltopdf
插件.请按照链接安装此插件:-https://formulae.brew.sh/cask/wkhtmltopdf
sudo ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
个https://computingforgeeks.com/install-wkhtmltopdf-on-ubuntu-debian-linux/的
sudo ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
个希望这有助于未来的努力。
lbsnaicq2#
“二进制”链是你的计算机的静态路径,你在那里安装了wkhtmltopdf。如果你通过命令行安装它,它应该是:
字符串
如果您将其安装在供应商存储库中,它应该在那里:
型
mm5n2pyu3#
我找到了一个可行的解决方案。
我希望它能帮助一些人
ubby3x7f4#
在试图解决同样的问题时,我注意到在另一个关于这个主题的post中,根目录需要在二进制位置中指定。添加
%kernel.root_dir%
为我解决了这个错误。试试这个:字符串
ubbxdtey5#
我替换了官方readme中给出的命令
字符串
随着一
型