html - 如何在从包含多个分页前/后的 html 文档转换而来的 pdf 的每一页上重复水印图片?

标签 html css pdf background page-break

最近,我从 html/CSS 生成了一个很大的 pdf,其中包括几十页。在每个页面上都需要一个 wartermark 图片作为背景,如下所示: watermark picture

我的代码如下:

  • html

<!DOCTYPE html>

<html>

<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <title>Paginated HTML</title>
  <style type="text/css" media="all">
    body {
      background: #fff repeat url("watermark.png");
      background-size: 100%;
    }
    
    div.page {
      page-break-after: always;
      page-break-inside: avoid;
    }
  </style>
</head>

<body>
  <div class="page">
    <h1>This is Page 1</h1>
  </div>
  <div class="page">
    <h1>This is Page 2</h1>
  </div>
  <div class="page">
    <h1>This is Page 3</h1>
  </div>
</body>

</html>

当我使用 Chrome(66.0.3359.139) 将 html 打印为 pdf 时,我得到的 pdf 只有第一页,包括背景中的水印图片: pdf printed by Chrome

当我使用 FireFox(60) 将 html 打印为 pdf 时,我得到了一个没有包含水印图片的页面的 pdf: pdf printed by Firefox

有谁知道如何将水印图片作为背景扩展到从 html/css 生成的 pdf 的每一页?任何帮助将不胜感激!

最佳答案

最后我用一个div把body的内容全部包裹起来,并在这个div上绘制了背景水印图片。它似乎有点缺陷,水印图片没有延伸到最后一页的底部(结果 pdf 图片中的红色圆圈)。任何消除此缺陷的帮助将不胜感激!附加代码如下:

-CSS:

.watermark
  {
    background: #fff url("watermark.png");
        background-size: 100%;
  }

-HTML:

<div class="watermark">
  <div class="page">
    <h1>This is Page 1</h1>
  </div>
  <div class="page">
    <h1>This is Page 2</h1>
  </div>
  <div class="page">
    <h1>This is Page 3</h1>
  </div>
</div>

结果pdf: enter image description here

关于html - 如何在从包含多个分页前/后的 html 文档转换而来的 pdf 的每一页上重复水印图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50366481/

相关文章:

html - 重复 css 图像作为内容

javascript - 如何在 html 或 javascript 中将 ID 更改为类

pdf - GraphicsMagick 无法识别 PDF 的背景透明度

javascript - 将 HTML 插入用户字符串并在 React 中渲染(并避免 XSS 威胁)

html - 如何水平居中 svg 分组圆(两条路径)?

javascript - 当在 div 外部单击时,过渡恰好关闭了 div

java - 如何在 ICEpdf 上删除 pdf 页面周围的薄背框?

pdf - 如何生成powerbi嵌入式报告的PDF输出

html - 居中固定宽度的 div 在左侧和右侧有流动的 div?

javascript - jquery .Change 和图片展示