DOMPDF 0.8.1固定的页眉和页脚未显示在首页上

时间:2019-01-29 17:43:43

标签: html css pdf pdf-generation dompdf

我正在为DOMPDF创建HTML模板,该模板需要支持多个页面,但是当我有多个页面时,页眉和页脚不会显示在第一页上。

此刻;

  • 当我有多个页面时,除第一页外,所有页面都正确地具有页眉和页脚(第一页仅显示内容,页面2,3并显示带有页眉和页脚的内容)。
  • 当我只有一页时,这些页面可以正确显示页眉和页脚。

<style>

      * {
        background:transparent;
      }
      @page {
          margin: 0cm 0cm;
          background:#000;
          margin-top: 190px;
          margin-left: 75px;
          margin-right: 75px;
          margin-bottom: 115px;
          position: reletive;

      }

      header {
          position: fixed;
          top: -190px;
          left: -13px;
          z-index:0;
          right: 0cm;
      }

      footer {
          position: fixed;
          bottom: -115px;
          right: 0cm;
          left:39px;
          z-index:0;
          height: 215px;
      }

      div.content {
          float: left;
          width: 100%;
      }

      div {
        z-index:10;
        background:transparent;
      }
  </style>

  <div class="content">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean pharetra leo bibendum mi fermentum euismod. Aenean ut augue mauris. Vivamus ultricies euismod malesuada. Praesent mollis eros vel elit ullamcorper, nec viverra justo ultrices. Sed sagittis nisi sit amet convallis placerat. Nam sed dui quis lacus auctor eleifend. Nulla in imperdiet magna, eget dignissim tellus. Quisque placerat nisl a orci tincidunt, sit amet porta nibh dapibus. Vestibulum tortor neque, consequat nec nibh ornare, convallis sagittis ligula. Integer a ex at sapien porttitor volutpat ut in elit.</p>

    <p>Fusce nunc orci, posuere sed varius ac, ornare eu orci. Donec consequat pulvinar eleifend. Donec rutrum fringilla dignissim. In consectetur ligula nec pulvinar placerat. Duis interdum accumsan congue. Nulla iaculis magna laoreet dolor tempor, vitae eleifend lectus accumsan. Suspendisse vulputate euismod ante, at blandit tellus auctor a. Sed aliquam lacus eget mi fermentum, vitae maximus elit rhoncus. Nunc vel sagittis orci.v

    <p>Quisque fermentum augue in metus laoreet placerat. Nam eget nisi congue, luctus augue quis, ullamcorper est. Nullam eu augue sed dui imperdiet ornare ac interdum lacus. Mauris in viverra lorem. Duis cursus mi quis pellentesque condimentum. Vivamus ut nisl lacus. Phasellus condimentum eros non massa porta rutrum. Proin lacinia ultrices dui ut iaculis. Praesent ut placerat tellus, ac hendrerit mi.</p>

    <p>Suspendisse vitae velit maximus, convallis ipsum vel, ornare sem. Curabitur et viverra ligula. Phasellus facilisis neque eu nunc interdum tempor. Mauris tellus lacus, vestibulum sed posuere eu, porttitor non orci. Proin sollicitudin et nisl eget mattis. Donec euismod ipsum quis interdum dictum. Duis facilisis accumsan ultricies. Praesent sollicitudin urna nunc, at auctor odio blandit nec. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean consequat, magna a molestie commodo, mauris lacus congue nisi, quis pellentesque nunc quam in metus. Duis volutpat neque in justo sodales, eget ultricies libero pellentesque.</p>

    <p>Curabitur euismod velit turpis, consectetur ornare erat aliquam a. Nulla sagittis commodo varius. Pellentesque tempor, nibh a hendrerit tristique, turpis leo lacinia elit, vitae scelerisque dolor ex ac lectus. Maecenas vulputate dictum erat, quis posuere nisl pellentesque vitae. Nulla auctor volutpat lacus, sed sodales mi porta at. In ut purus augue. Fusce nec nulla non leo finibus pharetra. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras viverra id ante sed porttitor. Nam et dolor congue, malesuada enim facilisis, rutrum justo. Etiam quis lectus a tellus mollis placerat. Maecenas interdum tortor faucibus metus tincidunt euismod. Vestibulum laoreet velit quis lobortis interdum. Duis urna quam, vehicula sed ultricies ut, volutpat accumsan libero.</p>

    <p>Morbi pulvinar tristique augue, vel pellentesque nisl porta eget. Quisque eu lacinia leo. Nullam ac lacus pretium, suscipit risus quis, volutpat ligula. Morbi vel nisl orci. Suspendisse pharetra tellus euismod ligula tristique, sit amet lacinia nisl ultrices. Curabitur finibus turpis nec metus tempus, non suscipit leo pulvinar. Pellentesque fringilla faucibus massa. Suspendisse commodo egestas tristique. Phasellus tristique vehicula nisl ut consectetur. Aliquam hendrerit augue eu posuere fermentum. Nulla a neque quis ex finibus congue. Vestibulum id condimentum augue. Nulla pretium imperdiet turpis, sit amet cursus urna maximus quis. Praesent dictum, leo nec ultricies fermentum, eros leo maximus felis, in aliquam lectus ligula at mauris. Etiam non ipsum at dui fringilla ullamcorper. Donec sapien lorem, aliquam in lacus at, lacinia pretium velit.</p>

    <p>Nulla ultrices rhoncus massa, eu dignissim purus scelerisque ut. Aenean id odio molestie neque tincidunt porttitor. Vivamus eget ultrices lacus. Etiam vitae sagittis orci. Etiam sed ullamcorper eros. Nulla consequat dignissim pretium. Morbi volutpat, quam nec vehicula venenatis, mauris ipsum egestas lacus, nec gravida augue dolor scelerisque enim. Aenean ac pretium ligula. Sed eget dui mi. Morbi et scelerisque diam, ac laoreet tortor. In lobortis, neque vel interdum convallis, elit mauris porta erat, id vestibulum dui nunc porttitor urna. Nulla elementum varius est, a varius mauris hendrerit non. Praesent malesuada ex nisi, sit amet imperdiet mauris vestibulum vel.</p>

    <p>Duis at augue ultricies, cursus felis quis, laoreet odio. Ut eget diam neque. Sed a condimentum ex. Donec quis erat eget sem feugiat iaculis ac id dolor. Morbi sit amet convallis neque, mattis egestas nunc. Vestibulum sed laoreet nunc, id viverra nisl. Sed quis ornare erat, vel malesuada sem. Suspendisse vitae hendrerit erat, non maximus metus. Phasellus eget erat ac ipsum placerat vehicula. Aenean in metus pulvinar, posuere enim vitae, imperdiet enim. Aliquam erat volutpat. Donec luctus sapien in malesuada auctor. Donec ullamcorper leo ac sapien vehicula, non iaculis magna pulvinar. Sed tincidunt porta ex sed euismod. Pellentesque consequat tortor lacus, non blandit ex viverra vel. Nam non libero at libero interdum eleifend.</p>

    <p>Phasellus in est at nunc cursus luctus eget at ipsum. Vivamus massa sem, auctor quis velit eget, pellentesque pellentesque sapien. Nulla id maximus mauris. Pellentesque consequat tempor mattis. Fusce nec cursus nulla. Fusce vestibulum mauris in erat porttitor vehicula. Nullam pellentesque metus eget ornare auctor. Fusce facilisis risus vitae arcu accumsan efficitur. Vivamus porttitor augue risus, nec venenatis dui imperdiet quis.</p>

    <p>Sed et arcu a tellus vulputate dignissim. Pellentesque egestas arcu vel quam auctor sollicitudin. Vestibulum at lacus eu sapien lacinia consequat. Vivamus sed turpis in eros consequat tempor sit amet non purus. Phasellus elementum lacinia metus vel varius. Morbi ut velit augue. Suspendisse rutrum vehicula metus, id faucibus magna. Curabitur magna metus, tempus consequat ex quis, dignissim sollicitudin nibh.</p>

    <p>Nulla ultrices rhoncus massa, eu dignissim purus scelerisque ut. Aenean id odio molestie neque tincidunt porttitor. Vivamus eget ultrices lacus. Etiam vitae sagittis orci. Etiam sed ullamcorper eros. Nulla consequat dignissim pretium. Morbi volutpat, quam nec vehicula venenatis, mauris ipsum egestas lacus, nec gravida augue dolor scelerisque enim. Aenean ac pretium ligula. Sed eget dui mi. Morbi et scelerisque diam, ac laoreet tortor. In lobortis, neque vel interdum convallis, elit mauris porta erat, id vestibulum dui nunc porttitor urna. Nulla elementum varius est, a varius mauris hendrerit non. Praesent malesuada ex nisi, sit amet imperdiet mauris vestibulum vel.</p>

    <p>Duis at augue ultricies, cursus felis quis, laoreet odio. Ut eget diam neque. Sed a condimentum ex. Donec quis erat eget sem feugiat iaculis ac id dolor. Morbi sit amet convallis neque, mattis egestas nunc. Vestibulum sed laoreet nunc, id viverra nisl. Sed quis ornare erat, vel malesuada sem. Suspendisse vitae hendrerit erat, non maximus metus. Phasellus eget erat ac ipsum placerat vehicula. Aenean in metus pulvinar, posuere enim vitae, imperdiet enim. Aliquam erat volutpat. Donec luctus sapien in malesuada auctor. Donec ullamcorper leo ac sapien vehicula, non iaculis magna pulvinar. Sed tincidunt porta ex sed euismod. Pellentesque consequat tortor lacus, non blandit ex viverra vel. Nam non libero at libero interdum eleifend.</p>

    <p>Phasellus in est at nunc cursus luctus eget at ipsum. Vivamus massa sem, auctor quis velit eget, pellentesque pellentesque sapien. Nulla id maximus mauris. Pellentesque consequat tempor mattis. Fusce nec cursus nulla. Fusce vestibulum mauris in erat porttitor vehicula. Nullam pellentesque metus eget ornare auctor. Fusce facilisis risus vitae arcu accumsan efficitur. Vivamus porttitor augue risus, nec venenatis dui imperdiet quis.</p>

    <p>Sed et arcu a tellus vulputate dignissim. Pellentesque egestas arcu vel quam auctor sollicitudin. Vestibulum at lacus eu sapien lacinia consequat. Vivamus sed turpis in eros consequat tempor sit amet non purus. Phasellus elementum lacinia metus vel varius. Morbi ut velit augue. Suspendisse rutrum vehicula metus, id faucibus magna. Curabitur magna metus, tempus consequat ex quis, dignissim sollicitudin nibh.</p>

    <p>Nulla ultrices rhoncus massa, eu dignissim purus scelerisque ut. Aenean id odio molestie neque tincidunt porttitor. Vivamus eget ultrices lacus. Etiam vitae sagittis orci. Etiam sed ullamcorper eros. Nulla consequat dignissim pretium. Morbi volutpat, quam nec vehicula venenatis, mauris ipsum egestas lacus, nec gravida augue dolor scelerisque enim. Aenean ac pretium ligula. Sed eget dui mi. Morbi et scelerisque diam, ac laoreet tortor. In lobortis, neque vel interdum convallis, elit mauris porta erat, id vestibulum dui nunc porttitor urna. Nulla elementum varius est, a varius mauris hendrerit non. Praesent malesuada ex nisi, sit amet imperdiet mauris vestibulum vel.</p>

    <p>Duis at augue ultricies, cursus felis quis, laoreet odio. Ut eget diam neque. Sed a condimentum ex. Donec quis erat eget sem feugiat iaculis ac id dolor. Morbi sit amet convallis neque, mattis egestas nunc. Vestibulum sed laoreet nunc, id viverra nisl. Sed quis ornare erat, vel malesuada sem. Suspendisse vitae hendrerit erat, non maximus metus. Phasellus eget erat ac ipsum placerat vehicula. Aenean in metus pulvinar, posuere enim vitae, imperdiet enim. Aliquam erat volutpat. Donec luctus sapien in malesuada auctor. Donec ullamcorper leo ac sapien vehicula, non iaculis magna pulvinar. Sed tincidunt porta ex sed euismod. Pellentesque consequat tortor lacus, non blandit ex viverra vel. Nam non libero at libero interdum eleifend.</p>

    <p>Phasellus in est at nunc cursus luctus eget at ipsum. Vivamus massa sem, auctor quis velit eget, pellentesque pellentesque sapien. Nulla id maximus mauris. Pellentesque consequat tempor mattis. Fusce nec cursus nulla. Fusce vestibulum mauris in erat porttitor vehicula. Nullam pellentesque metus eget ornare auctor. Fusce facilisis risus vitae arcu accumsan efficitur. Vivamus porttitor augue risus, nec venenatis dui imperdiet quis.</p>

    <p>Sed et arcu a tellus vulputate dignissim. Pellentesque egestas arcu vel quam auctor sollicitudin. Vestibulum at lacus eu sapien lacinia consequat. Vivamus sed turpis in eros consequat tempor sit amet non purus. Phasellus elementum lacinia metus vel varius. Morbi ut velit augue. Suspendisse rutrum vehicula metus, id faucibus magna. Curabitur magna metus, tempus consequat ex quis, dignissim sollicitudin nibh.</p>

  </div>
  <footer>
      <img src="'.__DIR__.'/bottom.png" alt="" style="width:680px;"/>
  </footer>

  <header>
      <img src="'.__DIR__.'/top.png"  alt="" style="margin: 0px 0px 0px 0px; width:732px;"/>
  </header>

1 个答案:

答案 0 :(得分:1)

在dompdf(截至并包括版本0.8.3,当前发布的最新版本)中,(通常而言)元素是从其首次出现的页面开始渲染的。因此,您需要将所有页眉/页脚内容放在文档顶部。

这里有一个与此古怪有关的问题:https://github.com/dompdf/dompdf/issues/491