仅在最后一页显示页脚

时间:2017-09-15 13:34:16

标签: itext flying-saucer

我使用flyingsaucer 9.1.1和itext 2.17来生成pdf文件。

如何才能在最后一页显示页脚(可能是div,表格或img元素)而不显示其他页面?

1 个答案:

答案 0 :(得分:3)

不幸的是,CSS定义了page:first伪元素,但没有定义page:last

你仍然有可能利用bug飞碟,这使得页脚只在声明后出现。因此,如果您将页脚div放在HTML的末尾,它将只显示在最后一页上。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <style type="text/css">
    .newpage{page-break-before:always}

    @page{@bottom-center {content: element(footer)}}
    #footer {position: running(footer);}    
}
 </style>
</head>
    <body>
        <div>Page 1 content</div>
        <div class="newpage">Page 2 content</div>
        <div class="newpage">Page 3 content</div>
        <div id="footer">Footer on last page</div>
    </body>
</html>

如果您想在每个页面上使用页脚,并且最后一页的内容不同,也可以使用它。您只需在HTML中定义页脚div两次。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <style type="text/css">
    .newpage{page-break-before:always}

    @page{
      @bottom-center {content: element(footer)}}
      #footer {position: running(footer);}    
    }
 </style>
</head>
    <body>
        <div id="footer">Footer for all pages except last</div>
        <div>Page 1 content</div>
        <div class="newpage">Page 2 content</div>
        <div class="newpage">Page 3 content</div>
        <div id="footer">Footer on last page</div>
    </body>
</html>