我正在尝试使用spatie/browsershot和laravel-browsershot 包装器在 Laravel 应用程序中生成包含视图内容的 PDF ;我使用 svg 作为我的信头背景,并希望将视图的内容放置在每个页面上 SVG 的特定区域内。不幸的是,边距->margins(40, 20, 40, 30)
使我的#watermark
div 随边距移动 - 它不再处于固定的 0,0 位置。你能帮我正确设置水印div吗?所以它不受页边距的影响
在控制器中
return PDF::loadView('pdf.letter', compact('letter'))
->showBackground()
->waitUntilNetworkIdle()
->margins(40, 20, 40, 30)
->format('A4')
->inline();
在我的刀片中,我设置了以下 css
#watermark {
position: fixed;
top: 0px;
left: 0px;
width: 21cm;
height: 29.7cm;
z-index: -1000;
}
<body>
<div id="watermark">
<img src="{{ asset('/img/a4.svg') }}" height="100%" width="100%" />
</div>
<div>
<!-- The content of PDF here -->
</div>
</body>
我取得的最好成绩是这个
其中虚线矩形是 SVG 文件中我希望视图的所有内容流过所有页面的区域,尊重设置的边距
我通过删除->margins(....)
php 并向<body>
标签
添加样式来实现它
body {
margin-top: 4cm;
margin-right: 2cm;
margin-bottom: 4cm;
margin-left: 3cm;
}
如您所见,第一页底部和下一页顶部的页面边距似乎为 0