如何使用wkhtmltopdf修复Laravel中的“出口状态代码'-1073741819'”,以下载pdf?

时间:2019-07-15 05:51:19

标签: laravel-5 wkhtmltopdf

我正在尝试创建一个导出按钮,该按钮将HTML页面转换为PDF,然后下载。

我正在使用Windows 10,XAMPP,Laravel 5.8,wkhtmltopdf。

这是错误屏幕截图: enter image description here

Snappy Config:

'pdf' => [
    'enabled' => true,
    'binary'  => '"F:\wkhtmltopdf\bin\wkhtmltopdf.exe"',   
    'timeout' => false,
    'options' => [],
    'env'     => [],
],
'image' => [
    'enabled' => true,
    'binary'  => '"F:\wkhtmltopdf\bin\wkhtmltoimage.exe"',
    'timeout' => false,
    'options' => [],
    'env'     => [],
],

导出代码

    $export_data = $this->exportData($checklist, $request);

    $pdf_content = view('checklist.pdf.content')->with($export_data);

    $pdf = PDF::loadHTML($pdf_content);
    $pdf->setPaper('letter');

    if ($checklist->weekly_monthly) {
        $pdf->setOrientation('landscape');
    }

    $pdf->setOption('header-spacing', 30);
    $pdf->setOption('header-html', view('checklist.pdf.header')->with($export_data));
    $pdf->setOption('footer-html', view('report.pdf.footer'));

    return $pdf->download($save_path);

1 个答案:

答案 0 :(得分:1)

检查您的视图checklist.pdf.content。根据我使用wkhtmltopdf的经验,有99%的时间是视图问题。

请确保如果您在视图中使用任何图像或外部样式表,则它们的路径均已正确定义。如果不是这样,您的HTML将在您的浏览器中正常工作,但将其用于wkhtmltopdf则会引发此类错误。

为了提供图像和外部样式表的路径,请使用以下格式:

<head>
    <link href="{{public_path()}}/css/app.css" rel="stylesheet">
</head>
<body>
    <img src="{{public_path()}}/images/test.png" />
</body>

当然,确切的路径可能会根据您的文件夹配置而有所不同,但是它们必须是可公开访问的,并且应该使用远程路径进行访问。

我希望对您有帮助