Что такое код CSS для разрывов страниц для печати веб-страниц?

Что такое код CSS для разрыва страницы при печати? Или еще лучше, есть ли какая-то печатная CSS-структура, такая как JQuery, для манипуляции с DOM-страницей страницы? Мне нужно печатать веб-страницы с контролем, например Adobe PDF, но без использования стороннего плагина. Распечатки должны быть точными, например, контролировать, какие пиксели попадают в верхнюю часть каждой страницы (если мы хотим разместить наш логотип в каждом заголовке страницы, например.

Любые идеи?

Ответ 1

page-break-before: always;

page-break-after: always;

Ответ 2

Вы можете попытаться принудительно выполнить разрыв страницы, используя перерыв страницы или перерыв страницы свойства.

Пиксел-идеальный контроль печати будет очень и очень трудно достигнуть. Например, каждый браузер добавляет раздел нижнего колонтитула и заголовка, на который вы не можете влиять, и только пользователь может отключиться. Браузеры игнорируют фоновые изображения и имеют тенденцию устанавливать поля по своему усмотрению.

Для краткого изложения стиля HTML для печати эта статья Smashing Magazine может содержать некоторые указатели: Печать веб-страниц: решения и методы

Ответ 3

Поддержка браузера для печати очень слаба, в лучшем случае. Например, получение чего-то вроде изображения заголовка страницы для работы будет довольно грубым; Я не знаю ни одного браузера, который даже поддерживает объявление "@page" CSS, не говоря уже о функциях содержимого CSS3.

Инструментарий FlyingSaucer PDF для Java, с другой стороны, делает замечательную работу по преобразованию XHTML в PDF файлы (особенно с учетом того, что он бесплатный). Мы используем его с Freemarker для шаблона "страницы", но он обрабатывает изображения, загорается текст заголовка/нижнего колонтитула, даже ссылки внутри документа.

Ответ 4

Я не уверен, какой серверный язык вы используете, но я имел большой успех с wkhtmltopdf и wicked_pdf для Ruby on Rails.

Ответ 5

У w3schools.com есть удобный Справочник CSS. Поскольку большинство из нас не помнит много необычных свойств css, надеюсь, что это вам полезно.

Ответ 6

Вы не можете получить точность печати на уровне пикселей из браузера. Ваш единственный вариант - формат PDF или аналогичный сторонний формат документа. Тем не менее, если вы просто хотите, чтобы логотип находился в верхней части страницы, а в нижней части следующего, вы можете использовать свойства "разрыв страницы перед тем, страницы"