在CSS中,使用:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
打印页面时,我可以在每页的顶部显示页码。这非常有效。但现在,我怎么能这样做,所以页码以2而不是1开头?我可以通过修改上面的CSS规则来做到这一点吗?
答案 0 :(得分:3)
如果您正在使用Flying Saucer(我的情况),请使用以下CSS:
table {-fs-table-paginate:paginate; }
它就像一个魅力。和飞碟岩石:)。非常值得推荐。
答案 1 :(得分:3)
尝试:
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
使用page 1
将重置计数器的起点。您可以使用任何整数开始计数。默认值为0
。
答案 2 :(得分:2)
稍微玩飞碟后,我猜有没有办法用CSS(或者它是一个非常复杂的),因为“页面”/“页面”似乎是内部CSS变量。也许它在CSS 3中变得更好,似乎有一个calc()函数,所以counter(calc(page + 1))可能也许工作......
但还有另一种方法可以从第2页开始获取PDF。您可以通过将此行添加到xhtml文件中来向PDF添加空白的第一页:
<h1 style="page-break-before:always"></h1>
然后,您可以在使用打印机时仅打印PDF的2 -...页面,或者使用PDF编辑器从PDF中删除第一页。
答案 3 :(得分:2)
您是否看过有关计数器的CSS文档? see here在我看来,你可以调用反重置。默认情况下,计数器设置为0.如果在Body标签中执行了“内容重置:第1页”;那么它应该强制第一页从2开始而不是1。
答案 4 :(得分:0)
将其发布给其他正在查看此页面的人。您还可以查看下面提供的另一个stackoverflow帖子。这对我有用。
flying saucer - page count with css
new ProcessBuilder().command("cmd.exe", "/c",
"timeout /t 2 \r\n" + "move /Y " + "location1 " + "location2").start();
System.exit(0);
答案 5 :(得分:-1)
不知道这是否有效,但为什么不尝试counter(page+1)
?