【发布时间】: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
-
我应该说没有图片它工作得更快