4

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

不幸的是,我必须生成一个包含很多页面的 pdf,并且“他们”要求我放置一个带有一些信息的页眉和一个带有“第 2/60 页”等内容的页脚......

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

除此之外,有时我在 ftl 内部有一个“分页 css 类”,所以我无法确定何时何地创建新页面。

我在 Java 上使用 Freemakrer 2.3

谢谢你的帮助。

4

1 回答 1

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>
于 2013-05-21T14:24:52.563 回答