【问题标题】:Dompdf generating pdf very slow when I use it with laravel当我将它与 laravel 一起使用时,Dompdf 生成 pdf 非常慢
【发布时间】:2022-03-21 04:39:54
【问题描述】:

我有一个 html 文件。当我使用 dompdf “standalone”(那里没有 laravel)(我的意思是只通过 composer 安装 dompdf)时,它会尽可能快地工作(生成 50kb html + 大量图像,仅持续 5 秒)。但是当我在我的 laravel 应用程序上安装 dompdf 并将我的 html 调整为刀片模板时,它的工作速度要慢得多(相同的 html 渲染了 40-50 秒!!!)。这取决于图像,当我的 html 模板中没有图像时,它可以正常工作。

使用刀片和路径渲染图像,如下所示:{{public_path('pdf/img/12345.jpg')}}。我应该怎么做才能避免这个问题?

我的控制器代码是:

public function create(Request $request) {
    $pdf = new Dompdf();
    $html = View::make('pdf.template')->render();        
    $pdf->loadHtml($html, 'UTF-8');
    $pdf->setPaper('A4', 'portrait');
    $pdf->render();
    $filename = "Hi!";
    return $pdf->stream($filename, ["Attachment" => false]);
}

但是dd($html) 工作得非常快,我不明白为什么图像在 laravel 应用程序上渲染如此缓慢,但在独立应用程序上却可以正常工作。

【问题讨论】:

  • 您是否有机会进行任何数据库查询?显示视图代码。
  • @Kyslik 不,我没有,但很快就会添加数据库查询。视图代码太长过不去提问,发到jsfiddle上jsfiddle.net/v8q2t3dj
  • 我应该说没有图片它工作得更快

标签: php laravel dompdf


【解决方案1】:

Bootstrap 是造成这种情况的原因,或者与许多 css 类类似。

更多详情,以及原因,可以在这里找到: Slow PDF generation with PHP+DomPDF

【讨论】:

  • 当它是问题的答案时,请不要链接到另一个 Stack Overflow 答案。相反,请投票以重复关闭问题。
猜你喜欢
  • 1970-01-01
  • 2020-12-30
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 2012-06-06
  • 2018-08-20
相关资源
最近更新 更多