CSS:Начните нумерацию страниц с 2 вместо 1
Вопрос
В CSS, с:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
Я могу сделать так, чтобы номера страниц отображались в верхней части каждой страницы при печати страницы.Это отлично работает.Но теперь, как я могу сделать так, чтобы номер страницы начинался с 2 вместо 1?Могу ли я сделать это, изменив приведенное выше правило CSS?
Решение
Если вы используете «Летающую тарелку» (в моем случае), используйте следующий 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
.
Немного поиграв с Flying Saucer, я думаю, что нет способа сделать это с помощью CSS (или очень сложного), как " page " / quot; pages " кажется, внутренние переменные CSS. Возможно, это станет лучше с CSS 3, кажется, есть функция calc (), поэтому counter (calc (page + 1)) может возможно работать ...
Но есть и другой способ получить PDF, начиная со страницы 2. Вы можете добавить пустую первую страницу в PDF, добавив эту строку в файл xhtml:
<h1 style="page-break-before:always"></h1>
Тогда вы можете либо распечатать только страницы 2 -... PDF при использовании принтера, либо удалить первую страницу из PDF с помощью некоторого редактора PDF.
Вы видели документацию CSS о счетчиках? см. здесь Мне кажется, что вы можете вызвать встречную перезагрузку , По умолчанию счетчики установлены на 0. Если в своем теге Body вы выполнили " сброс содержимого: страница 1; " тогда первая страница должна начинаться с 2, а не с 1.
Не знаю, работает ли это, но почему бы вам не попробовать counter (page + 1)
?