如何通过dompdf为pdf提供背景?

时间:2011-08-09 10:03:20

标签: php html pdf-generation dompdf

我使用Dompdf将Html页面转换为PDF。客户要求pdf应在文件背景上有水印图像。我已经尝试了许多编码方式,也有不同的CSS风格,但它没有帮助。有人对此有任何想法吗?请帮帮我。

3 个答案:

答案 0 :(得分:6)

哪个版本的DOMPDF?使用0.6.0版本,您可以使用固定位置元素作为水印。这是一个文档shell:

<html>
  <head>
    <style>
      #watermark { position: fixed; bottom: 0px; right: 0px; width: 200px; height: 200px; opacity: .1; }
    </style>
  </head>
  <body>
    <div id="watermark"><img src="http://code.google.com/p/dompdf/logo" height="100%" width="100%"></div>
  </body>
</html>

请在此处查看示例:http://eclecticgeek.com/dompdf/debug.php?identifier=f14b0c995add4b6c1ee1d14c0c6a987e

在0.5.1上,您可以在主体上使用背景图像样式声明。您对样式的控制较少,因此您需要确保图像的格式与文档中应显示的格式完全相同,特别是与大小和不透明度相关。还有其他问题,但这确实有效。这是一个文档shell:

<html>
  <head>
    <style>
      body { background-image: url(http://www.wolfsrainfans.com/wp-content/uploads/2011/04/Wolfs_Rain__Taboe_by_Nizira_Hathor.png); background-position: bottom right; background-repeat: no-repeat; }
    </style>
  </head>
  <body>
  </body>
</html>

请在此处查看示例:http://eclecticgeek.com/dompdf/debug.php?identifier=a05af7b814031ac5460860560a581183

答案 1 :(得分:5)

这是我在使用DomPDF渲染文档时遇到的常见问题。解决这个问题我base64编码我试图用作CSS背景图像的任何图像,然后像这样添加

url('data:image/jpeg;base64,{base64encodedimage}')

我希望这有帮助!

答案 2 :(得分:0)

背景图片必须具有绝对路径 body { background-image: url(https://www.google.cl/images/branding/googlelogo/2x/googlelogo_light_color_272x92dp.png); }