【问题标题】:Laravel pdf generation display (snappy library) returning ERR_INVALID_RESPONSELaravel pdf 生成显示(snappy 库)返回 ERR_INVALID_RESPONSE
【发布时间】:2016-10-27 13:13:25
【问题描述】:

我在尝试 snappy 库的示例时遇到了一些麻烦。当我尝试使用 getOutput 函数显示时,浏览器返回 ERR_INVALID_RESPONSE。我尝试了发布here 的解决方案,但它对我不起作用。

这是我的函数代码:

    // Display the resulting pdf in the browser
    // by setting the Content-type header to pdf
    $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
    header('Content-Type: application/pdf',true,200);
    header('Content-Disposition: attachment; filename="file.pdf"');
    echo $snappy->getOutput('http://www.github.com');

我们将非常感谢您的帮助/建议/建议。提前谢谢!

【问题讨论】:

    标签: php laravel pdf laravel-snappy


    【解决方案1】:

    尝试先将 pdf 保存在本地存储中,然后返回响应。

    它看起来像这样:

    $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
    $snappy->save('path/to/your/storage');
    $response = Response::make(Storage::get('path/to/your/storage'), 200);
    $response->header("Content-Type", 'application/pdf');
    $response->header("Content-Disposition", 'attachment; filename=file.pdf');
    return $response;
    

    由于你使用的是 Laravel,我建议你使用 Laravel 包装器来实现 snappy

    Snappy PDF/Image Wrapper for Laravel 5 and Lumen 5.1

    【讨论】:

      【解决方案2】:

      我猜 wkhtmltopdf 的二进制文件丢失了。 你可以通过在你的 Laravel 项目所在的文件夹中执行这个命令来安装它:

      $ composer require h4cc/wkhtmltopdf-i386 0.12.x
      

      或者对于 64 位系统:

      $ composer require h4cc/wkhtmltopdf-amd64 0.12.x
      

      那么你需要在你的函数中改变这一行:

      $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
      

      $snappy = new Pdf(base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'));
      

      来源:Wkhtmltopdf binary installation as composer dependency

      【讨论】:

      • 感谢@pnsh 的回复.. 我修复了错误:) 但是当我在我的应用程序中有这条线时我需要另一个帮助 echo $snappy->getOutput('myapp.com/generatepdf');我生成pdf很好,但它显示登录页面而不是我想在pdf上转换的页面。你能给我一些建议吗?提前谢谢你
      • @ShadrachBaldon pdf 的输出取决于您在“geneartepdf”页面上呈现的内容(getOutput 方法的参数)。我的猜测是这条路线在身份验证中间件下,这就是它在登录页面上重定向你的原因。由于我的回答解决了您最初的问题,请考虑关闭此问题。
      猜你喜欢
      • 2015-07-27
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      相关资源
      最近更新 更多