Itext 仅在最后一页显示页脚

Itext 仅在最后一页显示页脚,itext,flying-saucer,Itext,Flying Saucer,我正在使用FlyingSacer 9.1.1和itext 2.17生成pdf文件 如何仅在最后一页上显示页脚(可以是div、表或img元素),而不在其他页上显示页脚?不幸的是,CSS定义了伪元素,但没有定义page:last 你仍然可以利用飞碟的一个特性,这使得页脚只有在声明后才会出现。因此,如果将页脚div放在HTML的末尾,它将只出现在最后一页上 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style

我正在使用FlyingSacer 9.1.1和itext 2.17生成pdf文件


如何仅在最后一页上显示页脚(可以是div、表或img元素),而不在其他页上显示页脚?

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

你仍然可以利用飞碟的一个特性,这使得页脚只有在声明后才会出现。因此,如果将页脚
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>

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

你仍然可以利用飞碟的一个特性,这使得页脚只有在声明后才会出现。因此,如果将页脚
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>

iText 2.1.7是我曾经编写过的一个API。你不应该再使用它的原因之一是它的年龄。iText 2.1.7的日期为2009年。你也在使用飞碟。这是一个旧的第三方库,写在旧的iText版本之上。你应该考虑使用。浏览本教程,您会注意到中对CSS的支持更多。至于您的问题,如果您决定做正确的事情并升级到iText 7,您可以使用
IEventHandler
创建一个显示自定义行为的页脚。提供了如何创建自定义页眉或页脚的示例。您可能还想阅读iText2.1.7,它是我曾经编写的一个API。你不应该再使用它的原因之一是它的年龄。iText 2.1.7的日期为2009年。你也在使用飞碟。这是一个旧的第三方库,写在旧的iText版本之上。你应该考虑使用。浏览本教程,您会注意到中对CSS的支持更多。至于您的问题,如果您决定做正确的事情并升级到iText 7,您可以使用
IEventHandler
创建一个显示自定义行为的页脚。提供了如何创建自定义页眉或页脚的示例。你可能还想读书