Freemarker的一个常见用途是生成PDF。
不幸的是,我必须生成一个包含大量页面的pdf,并且“他们”要求我添加一些包含一些信息的页眉和一些包含“第2/60页”等内容的页脚...
在网上搜索我发现了如何创建宏模板,但它只共享一些常见的标签(如css),但它没有告诉freemarker如何管理多页PDF。
除此之外,有时我在ftl中有一个“分页符css类”,所以我无法确定创建新页面的时间和地点。
我在Java上使用Freemakrer 2.3
感谢您的帮助。
答案 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>