【问题标题】:KnpSnappyBundle and Symfony 3.4 : images and/or css cause timeoutKnpSnappyBundle 和 Symfony 3.4:图像和/或 css 导致超时
【发布时间】:2018-10-14 01:33:51
【问题描述】:

我已经在一个现有的 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.

捆绑包有什么问题?我使用的是 i7 笔记本电脑,8Gb RAM (ubuntu 16.04),我认为这不是机器配置的问题。

更新:我已经从命令行测试了 wkhtmltopdf,它确实转换了我的树枝:

wkhtmltopdf http://127.0.0.1:8000/eshop/admin/order/print/2 out.pdf

所以 wkhtmltopdf 对 localhost 上的绝对 URL 没有问题!

谢谢

【问题讨论】:

    标签: symfony pdf timeout wkhtmltopdf knp-snappy


    【解决方案1】:

    在这里找到解决方案:https://github.com/KnpLabs/KnpSnappyBundle/issues/82

    似乎 wk 在从包中调用时无法使用绝对 URL 找到资产(因此在 shell 中执行时),您必须指定绝对路径。创建一个 twig 全局变量:

    twig:
     globals:
      pathToWeb: "%kernel.root_dir%/../web"
    

    然后在树枝中使用新变量而不是asset():

    <link ... href="{{ pathToWeb }}/css/bootstrap.min.css"/>
    <img ... src="{{ pathToWeb }}/images/logo.png"/>
    

    像魅力一样工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-12
      • 2016-06-20
      • 2019-09-14
      • 2018-05-27
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      相关资源
      最近更新 更多