我试图导出一个PDF格式的网页与。我有所有的CSS页面,它工作很好,看上去很棒,但是当我试图导出它时,我的页面是以pdf格式下载的,但没有任何CSS。下面是代码和我已经尝试过的内容:
控制器:
$pdf = PDF::loadView('admin.userReport');
$pdf->setOption('enable-javascript', true);
$pdf->download('myFileName.pdf');头部:
<link href="{{ asset('/css/app.css') }}" rel="stylesheet"/>PS:我尝试将绝对路径放置到CSS文件,但它也不起作用。
发布于 2021-09-21 20:38:49
我在Lumen (几乎和Laravel)使用Docker时遇到了同样的问题。我不得不尝试几件事才能让它最终对我起作用。
在我的例子中,在文件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 docs)
然后,为了定义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"/>对我来说没什么问题。你可以为你量身定做这条路。
希望它能帮助你(尽管这么多年了),并帮助另一个可怜的程序员,谁必须处理快速。
https://stackoverflow.com/questions/54884971
复制相似问题