Laravel dompdf不显示为视图

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

我正在尝试生成书的封面,在我的刀片视图中看起来还可以,但是当我生成PDF时,它看起来不像预览

Book front preview

PDF Generated

我的刀片视图:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="css/style.css">
    <title>Cover</title>
</head>
<body class="bg-cover-blue">
    <div>
        <h1 style="margin-left: 880px;margin-top: 290px;"> {{ $title }}</h1>
        <p style="margin-left: 980px;"> {{ $owner }}</p>
    </div>
</body>
</html>

我的CSS:

.bg-cover-blue{
    background-image: url(../img/covers/blue.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
$data = ['title' => $title, 'owner' => $owner, 'color' => $covercolor,]; $pdf = PDF::loadView('pdf.covertest', $data) ->save(storage_path('../public/pdf/cover/') . 'cover'.$id.'.pdf');
php laravel pdf dompdf
1个回答
0
投票

嗨Ramiro,这可能无法真正解决您的问题,但可以肯定会帮助您了解发生了什么。

根据https://github.com/barryvdh/laravel-dompdf,我想您可能应该将pdf方向更改为其他方向以捕获更多屏幕。

我发现很难理解为什么图书馆拒绝捕获整个屏幕而不管其方向如何,就像它瞄准了特定的视口,还是因为它是图像?好吧,这在文档中没有详细说明。

下面是我能够实现的目标,它非常接近您想要的目标,出于时间考虑,您可能会喜欢它。

enter image description here

刀片示例代码:

<!DOCTYPE html>
<html style="margin: 0; padding: 0">
<head>
    <title>Cover</title>
</head>
<body class="bg-cover-blue" style="margin: -15%; background-size: cover; background: url('https://i.stack.imgur.com/UWJtU.jpg') no-repeat center;">
<div>
    <h1 style="margin-left: 880px; margin-top: 350px;"> {{ $title }}</h1>
    <p style="margin-left: 980px;"> {{ $owner }}</p>
</div>
</body>
</html>

Php示例代码:

function returnView(){

        $data = [
            'owner'=>"Ramiro",
            'title'=>"StackOverflow"
        ];

        $path = "/qrcodes/"."stackoverflow.pdf";

       $pdf = PDF::loadView('email.sample', $data)->setPaper('letter', 'landscape')->save(public_path($path));

        return $pdf->stream("Halloa.pdf");

       //return view('email.sample', $data);
    }

注意:负边距实际上并不重要,没有它,看起来仍然很好。

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