Ответ 1
page-break-before: always;
page-break-after: always;
Что такое код CSS для разрыва страницы при печати? Или еще лучше, есть ли какая-то печатная CSS-структура, такая как JQuery, для манипуляции с DOM-страницей страницы? Мне нужно печатать веб-страницы с контролем, например Adobe PDF, но без использования стороннего плагина. Распечатки должны быть точными, например, контролировать, какие пиксели попадают в верхнюю часть каждой страницы (если мы хотим разместить наш логотип в каждом заголовке страницы, например.
Любые идеи?
page-break-before: always;
page-break-after: always;
Вы можете попытаться принудительно выполнить разрыв страницы, используя перерыв страницы или перерыв страницы свойства.
Пиксел-идеальный контроль печати будет очень и очень трудно достигнуть. Например, каждый браузер добавляет раздел нижнего колонтитула и заголовка, на который вы не можете влиять, и только пользователь может отключиться. Браузеры игнорируют фоновые изображения и имеют тенденцию устанавливать поля по своему усмотрению.
Для краткого изложения стиля HTML для печати эта статья Smashing Magazine может содержать некоторые указатели: Печать веб-страниц: решения и методы
Поддержка браузера для печати очень слаба, в лучшем случае. Например, получение чего-то вроде изображения заголовка страницы для работы будет довольно грубым; Я не знаю ни одного браузера, который даже поддерживает объявление "@page" CSS, не говоря уже о функциях содержимого CSS3.
Инструментарий FlyingSaucer PDF для Java, с другой стороны, делает замечательную работу по преобразованию XHTML в PDF файлы (особенно с учетом того, что он бесплатный). Мы используем его с Freemarker для шаблона "страницы", но он обрабатывает изображения, загорается текст заголовка/нижнего колонтитула, даже ссылки внутри документа.
Я не уверен, какой серверный язык вы используете, но я имел большой успех с wkhtmltopdf и wicked_pdf для Ruby on Rails.
У w3schools.com есть удобный Справочник CSS. Поскольку большинство из нас не помнит много необычных свойств css, надеюсь, что это вам полезно.
Вы не можете получить точность печати на уровне пикселей из браузера. Ваш единственный вариант - формат PDF или аналогичный сторонний формат документа. Тем не менее, если вы просто хотите, чтобы логотип находился в верхней части страницы, а в нижней части следующего, вы можете использовать свойства "разрыв страницы перед тем, страницы"