6

我在让页脚在 Pisa 文档的第一页上显示为一个框架时遇到了一些麻烦,并且在每隔一页上显示为另一个框架。我试图从这里调整 lastPage 的想法,但没有运气。

是否有可能做到这一点?<pdf:nextpage />这里似乎不是正确的事情,因为该文档有一个可能(或可能不会)流过多个页面的长表。<pdf:nextframe />加上仅首页的框架看起来很有希望,尽管我不确定如何准确使用它。

目前我有(为简洁起见):

<style type="text/css">
  @page {
    margin: 1cm;
    margin-bottom: 2.5cm;
    @frame footer {
      -pdf-frame-content: footerFirst;
      -pdf-frame-border: 1;
      bottom: 2cm;
      margin-left: 1cm;
      margin-right: 1cm;
      height: 1cm;
   }
   @frame footer {
      -pdf-frame-content: footerOther;
      bottom: 2cm;
      margin-left: 1cm;
      margin-right: 1cm;
      height: 1cm;
}
</style>
<body>
  <table repeat="1">
    <!-- extra long table here -->
  </table>
  <div id="footerContent">This is a footer</div>
  <!-- what goes here to switch frames after the first page? -->
  <div id="footerOther"></div>
</body>

这会在每一页上放置相同的页脚。我需要在每个连续页面上留下相同的空间,但框架中没有内容。

4

1 回答 1

7

您可以按名称定义其他布局,然后使用 nexttemplate 标记告诉 xhtml2pdf 显式切换到它们。我最近这样做是为了在我的第一页上没有标题,而是在所有后续页面上显示它。

您应该将 @page 定义更改为两个不同的页面,可能是这样的:

<style type="text/css">
  @page {
    margin: 1cm;
    margin-bottom: 2.5cm;
    @frame footer {
      -pdf-frame-content: footerFirst;
      -pdf-frame-border: 1;
      bottom: 2cm;
      margin-left: 1cm;
      margin-right: 1cm;
      height: 1cm;
   }
 }

 @page innerpages {
   margin: 1cm;
   margin-bottom: 2.5cm;
   @frame footer {
      -pdf-frame-content: footerOther;
      bottom: 2cm;
      margin-left: 1cm;
      margin-right: 1cm;
      height: 1cm;
   }
 }
</style>

然后,在要切换到不同布局的 html 中,使用如下标签:

<pdf:nexttemplate name="innerpages"/>

下一页(以及在您再次更改模板之前的后续页面)将使用带有“其他”页脚的内页布局。

于 2012-03-19T21:29:37.790 回答