【问题标题】:symfony + knp_snappy : gtk-WARNING cannot open displaysymfony + knp_snappy : gtk-WARNING 无法打开显示
【发布时间】:2015-11-12 19:34:38
【问题描述】:

在 symfony 应用程序中,我使用 knp_snappy 生成 PDF:

return new Response(
         $this->get('knp_snappy.pdf')->getOutput($url),
         200,
         array(
                 'Content-Type'          => 'application/pdf',
                'Content-Disposition'   => 'attachment; filename="file.pdf"'
                )
        );

但我收到此错误:

The exit status code '1' says something went wrong:
stderr: "Loading pages (1/6)java version "1.7.0_79"

[more here ... cut for clarity]

OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

(wkhtmltopdf:12934): Gtk-WARNING **: cannot open display:
"
stdout: ""
command: wkhtmltopdf --lowquality 'http://symfony.dev/app_dev.php/application/reporter/674/inventory' '/tmp/knp_snappy5643248854b563.21161953.pdf'. 

请注意:

  • 给定的$url 确实有效,并且是一个绝对 URL(因为它包含指向 CSS 的链接)。
  • 如果我使用 $this->get('knp_snappy.pdf')->getOutputFromHtml($html) 而不是 $this->get('knp_snappy.pdf')->getOutput($url) 一切正常,但我无法加载 css(这是正常行为)

【问题讨论】:

    标签: symfony gtk pdf-generation


    【解决方案1】:

    关键是请求的 URL 位于防火墙后面,因此 wkhtmltopdf 收到 302 拒绝访问。

    对于面临同样问题的knp_snappy用户,解决方案真的很好解释herehere

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-10
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 2020-02-09
      • 2016-04-04
      • 1970-01-01
      相关资源
      最近更新 更多