Freemarker,PDF,页眉/页脚和分页符

时间:2013-05-21 13:02:24

标签: java header footer freemarker

Freemarker的一个常见用途是生成PDF。

不幸的是,我必须生成一个包含大量页面的pdf,并且“他们”要求我添加一些包含一些信息的页眉和一些包含“第2/60页”等内容的页脚...

在网上搜索我发现了如何创建宏模板,但它只共享一些常见的标签(如css),但它没有告诉freemarker如何管理多页PDF。

除此之外,有时我在ftl中有一个“分页符css类”,所以我无法确定创建新页面的时间和地点。

我在Java上使用Freemakrer 2.3

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用CSS指定页眉和页脚(包括页码)。 如果用于将XHTML转换为PDF字节数组的工具支持分页媒体指令,则此方法将起作用。

在CSS中:

@page { 
    @top-center {content: element(header)}      /* Header */
    @bottom-center {content: element(footer)}   /* Enpied */
}
#header {position: running(header);}
#footer {position: running(footer);}
#pagenumber:before {content: counter(page);}
#pagecount:before {content: counter(pages);}

在HTML中:

<div id="header">YOUR HEADER HERE</div>
<div id="footer">Page <span id="pagenumber" /> / <span id="pagecount" /></div>