CSS: Starten Sie die Nummerierung Seiten mit 2 statt 1
Frage
In CSS, mit:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
Ich kann ganz oben auf jeder Seite angezeigt Seitenzahl hat, wenn die Seite gedruckt wird. Dies funktioniert gut. Aber jetzt, wie kann ich es so machen die Seitenzahl mit 2 beginnt statt 1? Kann ich das durch die CSS-Regel zu modifizieren oben?
Lösung
Wenn Sie Flying Saucer verwenden (was mein Fall war), verwenden Sie die folgende CSS:
table {-fs-table-Paginieren: Paginieren; }
Es funktioniert wie ein Charme. Und Flying Saucer Felsen :). Wirklich sehr zu empfehlen.
Andere Tipps
Versuchen:
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
mit page 1
wird den Ausgangspunkt des Zählers zurückgesetzt. Sie können eine beliebige ganze Zahl verwenden, um von beginnen zu zählen. Der Standardwert ist 0
.
mit Flying Saucer ein bisschen nach dem Spielen, ich denke, es gibt keine Möglichkeit, dies mit CSS zu tun (oder es ist sehr kompliziert), als „Seite“ / „Seiten“ scheinen interne CSS Variablen zu sein. Vielleicht wird es besser mit CSS 3, scheint es eine calc () Funktion zu sein, also Zähler (ber (Seite + 1)) kann vielleicht Arbeit ...
Aber es gibt einen anderen Weg, um die PDF zu bekommen ab Seite 2. Sie können durch das Hinzufügen dieser Zeile in die xhtml-Datei eine leere ersten Seite zur PDF hinzufügen:
<h1 style="page-break-before:always"></h1>
Dann können Sie entweder drucken nur die Seiten 2 -... des PDF, wenn ein Drucker oder entfernen Sie die erste Seite des PDF mit einigen PDF-Editor.
Haben Sie die CSS-Dokumentation über Zähler gesehen? sehen hier Es scheint mir, dass Sie den Zähler-Reset aufrufen . Standardmäßig Zähler werden auf 0 gesetzt Wenn in Ihrem Körper-Tag Sie haben „content-Reset: Seite 1“; dann sollte es die erste Seite zwingen, auf 2 statt 1 zu starten.
Sie wissen nicht, ob das funktioniert, aber warum Sie nicht versuchen counter(page+1)
?