Barryvdh\DomPDF\Facade\Pdf 不加载 css 和图像

问题描述 投票:0回答:1

在本地一切正常,但一旦我去检查部署,它就完全失败了。如果我将其转换为视图而不是像我的代码那样的 pdf,就可以按照我的意图检查 pdf 文件

我能做什么?它完全忽略了 CSS 和图像。

use Barryvdh\DomPDF\Facade\Pdf;

class TrainingController extends Controller
{
public function createpdf($tmxt, $tmet)
    {
        $data = Training::where('tmet_id',$tmet)->first();
        
        $pdf = Pdf::loadView('main.training.pdf', compact(
            'data',
        ))->setPaper('letter', 'landscape');

        return $pdf->stream('train_pdf.pdf');
    }
}

我已经:

  • 清理缓存
  • 检查文件/css的路径
  • 更新了库
  • 已检查权限
  • 检查了DomPdf的配置

我希望 pdf 加载与视图中一样

laravel pdf dompdf laravel-dompdf
1个回答
0
投票

我猜您对 css 和图像的绝对路径有疑问。 你可能会做这样的事情来加载你的CSS和图像

<link rel="stylesheet" href="{{ asset('css/style.css') }}">
<img src="{{ asset('images/someimage.png') }}" alt="someimage">

请检查 asset() 函数,以便能够在您的部署环境中解析正确的公共路径

如果没有那么你需要配置 config/app.php 文件

'url' => env('APP_URL', 'https://yourdomain.com'),

请将 https://yourdomain.com 更改为您当前的部署网址

再想一想,您还可以检查您的网络服务器是否有访问 CSS 和图像文件的权限。

© www.soinside.com 2019 - 2024. All rights reserved.