有没有办法在DOMPDF页面中添加水印图像,或者只能通过HTML完成?

时间:2017-07-26 14:51:13

标签: laravel dompdf

在我的laravel项目中,我想为使用DOMPDF生成的pdf页面添加图像水印。我可以采用的一种方法是通过html添加背景图像,但DOMPDF是否提供了直接的方法呢?

我使用的Dompdf版本是 0.7.0
PHP版本 7.0.18

1 个答案:

答案 0 :(得分:1)

Dompdf针对HTML呈现进行了优化,但如果由于某种原因不可行,您还可以使用canvas对象直接向PDF添加图像。

目前可用的版本(最新版本为0.8.0),您应该能够使用以下代码片段执行此操作:

$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->render();
$canvas = $dompdf->getCanvas();
$canvas->page_script('
  $pdf->set_opacity(.5);
  $pdf->image("/path/to/image.png", {x}, {y}, {w}, {h});
');

其中:

  • 图像位于本地文件系统
  • {x} =左上角的水平(X)位置
  • {y} =左上角的垂直(Y)位置
  • {w} =图片宽度
  • {h} =图片高度
  • 不透明度是从0(透明)到1(不透明)
  • 的十进制值