我已经在现有的 Symfony 3.4 项目上安装了 KnpSnappyBundle。我已经用 HTML 树枝测试了 PDF 生成器,仅包含文本,没有图像,没有 css,没有 js:它工作正常。
然后我使用绝对 URL 添加(到树枝)图像和 Bootstrap.Css 文件(我正在本地主机上工作):PDF 生成器显示一个丑陋的错误:
The process "wkhtmltopdf --lowquality '/tmp/knp_snappy5aeb39ad71e767.56551505.html' '/tmp/knp_snappy5aeb39ad71ebf0.62787578.pdf'" exceeded the timeout of 60 seconds.
捆绑包出了什么问题?我使用的是带有 8Gb RAM 的 i7 笔记本电脑(ubuntu 16.04),我不认为这是机器配置的问题。
UPDATE:我已经从命令行测试了 wkhtmltopdf ,它确实转换了我的树枝:
wkhtmltopdf http://127.0.0.1:8000/eshop/admin/order/print/2 out.pdf
所以 wkhtmltopdf 在本地主机上的绝对 URL 没有问题!
Thanks
在这里找到了解决方案:https://github.com/KnpLabs/KnpSnappyBundle/issues/82 https://github.com/KnpLabs/KnpSnappyBundle/issues/82
当从包中调用时,wk 似乎无法使用绝对 URL 来查找资源(因此在 shell 中执行时),您必须指定绝对路径。创建一个树枝全局变量:
twig:
globals:
pathToWeb: "%kernel.root_dir%/../web"
然后在树枝中使用新变量而不是 asset() :
<link ... href="{{ pathToWeb }}/css/bootstrap.min.css"/>
<img ... src="{{ pathToWeb }}/images/logo.png"/>
奇迹般有效
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)