【问题标题】:Symfony2 - Generate PDF with KNP Snappy from controller gives 404Symfony2 - 使用 KNP Snappy 从控制器生成 PDF 给出 404
【发布时间】:2013-11-22 03:09:20
【问题描述】:

我正在使用 KNP Snappy 和 Symfony2。 当我使用来自控制器的响应时,我得到以下响应:

The exit status code '2' says something went wrong:
stderr: "Loading pages (1/6)
[> ] 0%
[======> ] 10%
[============================> ] 48%
[============================================================] 100%
Counting pages (2/6) 
[============================================================] Object 1 of 1
Resolving links (4/6) 
[============================================================] Object 1 of 1
Loading headers and footers (5/6) 
Printing pages (6/6)
[> ] Preparing
[===================> ] Page 1 of 3
[=======================================> ] Page 2 of 3
[============================================================] Page 3 of 3
Done 
Exit with code 2 due to http error: 404 Page not found
"
stdout: ""
command: /usr/bin/wkhtmltopdf --lowquality --no-outline      '/tmp/knp_snappy527f3354ad21d2.78976975.html' '/tmp/knp_snappy527f3354ad6e37.45993260.pdf'.

部分控制器如下所示:

    $html = $this->renderView('MyBundle:Visit:print.html.twig', array(
        'visit'  => $visit,
        'themes' => $themes
    ));

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

文件已生成,看起来不错。但响应高于错误。

有人知道问题出在哪里吗?

【问题讨论】:

  • 尝试在不创建 pdf 的情况下返回渲染的模板并检查是否有任何错误 - 缺少变量、语法错误……

标签: symfony pdf-generation wkhtmltopdf


【解决方案1】:

这是一个已知问题,通常在资源丢失时发生,即使页面本身被找到并返回 200。据报道here - 最可怕的是它并不总是 /em> 当某事为 404 时返回 2。这就是为什么我(我也经常看到其他人)将退出代码 2 和 0 视为相同的原因。

我还启动了an issue 来记录退出代码,但 Antialize 和其他人真的没有时间更新项目。 (虽然有分叉和 0.12 的传闻,但还没有真正实质性。)

所以,我要检查的第一件事是页面中是否有任何可能导致 404(或实际上不是 2xx)的内容。诸如缺少 CSS、JavaScript 或图像文件之类的东西。

【讨论】:

  • 是的,确实是这样!伟大的!问题是样式表没有加载,因为我设置了它的路径错误。感谢您的帮助。
猜你喜欢
  • 2014-03-28
  • 2015-05-15
  • 2014-09-29
  • 2019-06-30
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2015-07-29
  • 1970-01-01
相关资源
最近更新 更多