Domanda

In CSS, con:

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

Posso visualizzare i numeri di pagina nella parte superiore di ogni pagina quando la pagina viene stampata. Funziona benissimo. Ma ora, come posso farlo in modo che il numero di pagina inizi con 2 anziché 1? Posso farlo modificando la regola CSS sopra?

È stato utile?

Soluzione

Se stai usando Flying Saucer (che era il mio caso), usa il seguente CSS:

  

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

Funziona come un fascino. E le rocce del disco volante :). Altamente raccomandato.

Altri suggerimenti

Prova:

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

usando pagina 1 reimposterà il punto iniziale del contatore. È possibile utilizzare qualsiasi numero intero da cui iniziare il conteggio. L'impostazione predefinita è 0 .

Dopo aver giocato un po 'con Flying Saucer, credo che non ci sia modo di farlo con i CSS (o è molto complicato), dato che " page " / " pagine " sembrano essere variabili CSS interne. Forse migliora con CSS 3, sembra che ci sia una funzione calc (), quindi counter (calc (pagina + 1)) potrebbe forse funzionare ...

Ma c'è un altro modo per far partire il PDF con la pagina 2. Puoi aggiungere una prima pagina vuota al PDF aggiungendo questa riga al file xhtml:

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

Quindi puoi stampare solo le pagine 2 -... del PDF quando usi una stampante o rimuovere la prima pagina dal PDF con qualche editor PDF.

Hai visto la documentazione CSS sui contatori? vedi qui Mi sembra che puoi chiamare il counter-reset . Per impostazione predefinita, i contatori sono impostati su 0. Se nel tag Body hai eseguito un "reset contenuto: pagina 1;" quindi dovrebbe forzare la prima pagina a partire da 2 anziché 1.

Non so se funziona, ma perché non provi counter (page + 1) ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top