1

dompdf を使用して PDF レポートを作成しようとしています。レポートには、最初のページの上部に会社のロゴを配置し、すべてのページにヘッダーとフッターを配置する必要があります。stackoverflowの他の場所 、ヘッダーとフッターを dompdf ドキュメントに追加するための解決策を見つけました。私が直面している問題は、会社のロゴが最初のページのページ ヘッダーの上にある必要があり、他のページには表示されないことです。

このようなもの

Company Logo
 - header
 - content here
 - footer
 ------
 - header
 - content here 
 - footer

dompdf を使用してこれを行う方法はありますか?

4

1 に答える 1

5

これは面倒ですが、うまくいきます。基本的に、固定配置を使用して通常のヘッダーを作成し、絶対配置を使用して特別なページ 1 ヘッダーを作成することで、さまざまなヘッダーを偽装できます。正しい順序で設定すると、ページ 1 ヘッダーが標準ヘッダーの上に表示され、それが見えなくなります。

<html>
  <head>
    <style>
      @page {
        margin: 0px;
      }
      @page :first {
        margin-top: 100px;
      }
      body {
        margin: 100px 20px 50px 20px;
      }
      #headerA {
        position: fixed;
        left: 0px; right: 0px; top: 0px;
        text-align: center;
        background-color: orange;
        height: 90px;
      }
      #headerB {
        position: absolute;
        left: -20px; right: -20px; top: -200px;
        text-align: center;
        background-color: orange;
        height: 190px;
      }
      #footer {
        position: fixed;
        left: 0px; right: 0px; bottom: 0px;
        text-align: center;
        background-color: orange;
        height: 40px;
      }
    </style>
  </head>
  <body>
    <div id="headerA">
      <h1>Widgets Express</h1>
    </div>
    <div id="headerB">
      <img class="logo" src="http://eclecticgeek.com/images/macro/ants.jpg" height="100" width="500">
      <h1>Widgets Express</h1>
    </div>

    <div id="footer">
      <p>Copyright, all rights reserved, yadda yadda</p>
    </div>

    <div id="content">
      ...
    </div>
  </body>
</html>
于 2013-01-11T04:45:43.553 に答える