我使用flyingsaucer 9.1.1和itext 2.17来生成pdf文件。
如何才能在最后一页显示页脚(可能是div,表格或img元素)而不显示其他页面?
答案 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>