题
在CSS中,使用:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
打印页面时,我可以在每页的顶部显示页码。这非常有效。但是现在,我该如何制作,以便页码以2而不是1开头?我可以通过修改上面的CSS规则来做到这一点吗?
解决方案
如果您正在使用Flying Saucer(我的情况),请使用以下CSS:
table {-fs-table-paginate:paginate; }
它就像一个魅力。和飞碟岩石:)。非常值得推荐。
其他提示
尝试:
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
使用 page 1
将重置计数器的起始点。您可以使用任何整数开始计数。默认值为 0
。
在玩了一点飞碟之后,我想用CSS(或者它是一个非常复杂的)没有办法做到这一点,因为“页面”/“页面”和似乎是内部CSS变量。也许它在CSS 3中变得更好,似乎有一个calc()函数,所以counter(calc(page + 1))可能也许工作......
但还有另一种方法可以从第2页开始获取PDF。您可以通过将此行添加到xhtml文件中来向PDF添加空白的第一页:
<h1 style="page-break-before:always"></h1>
然后,您可以在使用打印机时仅打印PDF的2 -...页面,或者使用PDF编辑器从PDF中删除第一页。
您是否看过有关计数器的CSS文档? 看到这里在我看来,你可以调用反复位。默认情况下,计数器设置为0.如果在Body标签中,您执行了“content-reset:page 1;”;那么它应该强制第一页从2开始而不是1。
不知道这是否有效,但为什么不尝试 counter(page + 1)
?
不隶属于 StackOverflow