CSS:以2而不是1开始编号页面

时间:2008-11-05 09:35:49

标签: css counter

在CSS中,使用:

@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }

打印页面时,我可以在每页的顶部显示页码。这非常有效。但现在,我怎么能这样做,所以页码以2而不是1开头?我可以通过修改上面的CSS规则来做到这一点吗?

6 个答案:

答案 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)