在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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top