Question

En CSS, avec:

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

Je peux avoir les numéros de page affichés en haut de chaque page lors de l'impression de la page. Cela fonctionne très bien. Mais maintenant, comment puis-je faire en sorte que le numéro de page commence par 2 au lieu de 1? Puis-je le faire en modifiant la règle CSS ci-dessus?

Était-ce utile?

La solution

Si vous utilisez Flying Saucer (ce qui était mon cas), utilisez le code CSS suivant:

  

table {-fs-table-paginate: paginate; }

Cela fonctionne comme un charme. Et la soucoupe volante est géniale :). Vraiment fortement recommandé.

Autres conseils

Essayez:

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

utiliser page 1 réinitialisera le point de départ du compteur. Vous pouvez utiliser n'importe quel entier pour commencer à compter. La valeur par défaut est 0 .

Après avoir un peu joué avec Flying Saucer, je suppose qu'il est impossible de le faire avec CSS (ou que c'est très compliqué), car "page" / "pages". semblent être des variables CSS internes. C’est peut-être mieux avec CSS 3, il semble y avoir une fonction calc (), donc counter (calc (page + 1)) pourrait peut-être fonctionner ...

Mais il existe un autre moyen de démarrer le PDF à partir de la page 2. Vous pouvez ajouter une première page vierge au PDF en ajoutant cette ligne au fichier xhtml:

<h1 style="page-break-before:always"></h1>

Vous pouvez ensuite n'imprimer que les pages 2 à ... du PDF lorsque vous utilisez une imprimante ou supprimer la première page du PDF avec un éditeur de PDF.

Avez-vous vu la documentation CSS sur les compteurs? voir ici Il me semble que vous pouvez appeler le compteur de réinitialisation . Par défaut, les compteurs sont réglés sur 0. Si dans votre balise Body, vous avez effectué un "content-reset: page 1; " alors il devrait forcer la première page à commencer à 2 au lieu de 1.

Je ne sais pas si cela fonctionne, mais pourquoi ne pas essayer counter (page + 1) ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top