使用 Docker 在 Lumen(几乎与 Laravel 相同)上使用 Snappy 时,我遇到了同样的问题。我必须尝试几件事才能让它最终为我工作。
就我而言,在文件中config/snappy.php
我输入了以下代码:
'pdf' => [
'enabled' => true,
'binary' => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf'),
'timeout' => false,
'options' => [
'enable-local-file-access' => true,
'keep-relative-links' => true,
],
'env' => [],
],
设置enable-local-files-access
变量是正确读取和加载 CSS/JS/IMG 文件的关键。(wkhtmltopdf 文档)
然后在 HTML 文件中定义文件(CSS/JS/IMG)的路径,我使用了方法file:///var/www/html/public/<file-path>
(在我的例子中,文件在公共文件夹中),例如:
<link rel="stylesheet" href="file:///var/www/html/public/html/css/icons/app.css" type="text/css"/>
<script src="file:///var/www/html/public/html/js/js_file.js"></script>
<img src="file:///var/www/html/public/html/css/img/icon.png"/>
它对我来说很好,没有任何问题。您可以定制路线以使其适合您。
希望它对您有所帮助(尽管多年来)并帮助另一个必须与 Snappy 打交道的可怜的程序员。