我在laravel中使用niklasravnsborg/laravel-pdf
包来生成pdf。在此代码中,我添加了水印,但该水印仅出现在最后一页,尽管我希望该水印可以出现在每页中。
$pdf = PDFm::loadHtml($result->document);
$pdf->mpdf->SetWatermarkText('DRAFT');
$pdf->mpdf->showWatermarkText = true;
return $pdf->download('hdtuto.pdf');
答案 0 :(得分:0)
从文档中可以正常运行。但是,您可以尝试以下吗?
$config = ['instanceConfigurator' => function($mpdf) {
$mpdf->SetWatermarkText('DRAFT');
$mpdf->showWatermarkText = true;
}]
PDF::loadHtml($result->document, $config)->download('hdtuto.pdf');
在这种情况下,我们将使用正确的配置实例来初始化PDF
实例,而不是在加载HTML之后执行此操作。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果有人尝试使用刀片文件代替直接的html文档,则可以使用视图函数,该函数会将html内容返回到loadHtml方法。
$config = ['instanceConfigurator' => function($mpdf) {
$mpdf->SetWatermarkText('DRAFT');
$mpdf->showWatermarkText = true;
}]
$pdf = PDF::loadHtml(view('path.to.blade_file', $blade_data), $config);
return $pdf->stream('DocumentName.pdf');
如果要将图像用作水印
$config = ['instanceConfigurator' => function ($mpdf) {
$mpdf->SetWatermarkImage(asset('path/to/image_file'));
$mpdf->showWatermarkImage = true;
// $mpdf->watermarkImageAlpha = 0.2; // image opacity
// dd($mpdf) // show all attributes
}];
$pdf = PDF::loadHtml(view('path.to.blade_file', $blade_data), $config);
return $pdf->stream('DocumentName.pdf');