如何使用每页上的动态内容更新页脚?

时间:2013-12-03 15:44:45

标签: php css princexml

在PrinceXML pdf中的每个页面中,我们需要页脚中的内容根据php动态变量进行更改。

有没有办法更新每个页面的页脚内容?

(下面是css代码和div)

的CSS:

@page{ 
    size: US-letter portrait;
    margin: 1in .5in;
    @top{
      content: flow(header);
    }
    @bottom{
      content: flow(footer);
    }
    @bottom-right{
      content: '';
    }
  }
  @page rotated{
    size: US-letter landscape;
  }

  .rotated-page{
    page:rotated;
  }
  /*pagebreaks*/
.page-break{
    page-break-before: always;
  }
.page-break-after{
    page-break-after: always;
  }

/* page_header*/
#header{
    width: 100%;
    flow: static(header,start);
}
.logo-line{
    width:90%;
    margin: 0 auto;
    text-align: center;
}
.page-title{
    font-size: 20px;
    font-family: arial;
    font-weight: bold;
    text-align: center;
    margin: 0;
    padding: 0;
}

/* page_footer*/
#footer{
  width: 100%;
  padding:0;
  border-top: 3px solid #5D1F22;
  flow: static(footer,start);
}

footer div:

<div id="footer">
    <div class='footer-left'>Revision for <?= $this->manual_nm; ?> in <?= $this->revision_cycle; ?> <br>Submission Document printed on <?= $this->generated_date; ?></div>
    <div class='footer-right'></div>
</div>

1 个答案:

答案 0 :(得分:1)

您可以从页面中提取文字以实现页眉和页脚。

例如,如果我希望最新的h2标记出现在页脚中,我可以使用以下CSS从标题中提取它。

h2 {
    string-set: title content();
}

名称title是您提供的名称 - 例如,您可以将其称为heading

然后,您可以在页脚中使用此字符串:

@page {
    @bottom-left {
        content: string(title);
    }
}

示例改编自Using CSS Paged Media to Add Dynamic Headers