Как создать веб-страницу для печати, чтобы она не распадалась на страницы? - PullRequest
7 голосов
/ 03 октября 2008

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

Ответы [ 5 ]

8 голосов
/ 03 октября 2008

У нас есть система, которая распечатывает счета для выбранных заказов, которая размещает

<br style="page-break-before:always;">

между каждым счетом. Это означает, что каждый счет отправляется на новую страницу.

Также рекомендуется использовать таблицу стилей печати

<link rel="stylesheet" href="print.css" type="text/css" media="print" />

, который может скрывать / отображать соответствующие области страницы. Нет смысла печатать оставленные ссылки и т. Д., Когда кто-то хочет получить фактическое содержимое страницы.

2 голосов
/ 03 октября 2008

Я обычно избегаю одновременной печати веб-страниц (HTML). Если требуется форматированная печать, я создаю форматы PDF или CSV / Spreadsheet, чтобы мои клиенты могли печатать любым удобным для них способом.

Я обычно создаю печать для глобального использования, что означает, что все типы настроек отличаются (например, размер бумаги: Legal, Letter, A4 и т. Д.) От рабочего места к рабочему месту. Я считаю, что это слишком большая задача, чтобы гарантировать эстетический результат везде.

1 голос
/ 03 октября 2008

Существует свойство css, которое пытается обеспечить положение разрывов страниц. Вы можете дать элементу правило page-break-before: always или page-break-after: always`, чтобы указать, должен ли быть разрыв до или после элемента. Это имеет довольно слабую поддержку во всех браузерах, и я бы не стал на это полагаться. Подробнее см. http://www.w3schools.com/CSS/pr_print_pageba.asp.

0 голосов
/ 03 октября 2008

Либо с помощью CSS page-break-before/after

Другие способы:

  • используйте JasperReports и загружайте данные в отчет вместо HTML-страницы
  • используйте Apache FOP с XSL для перевода вашего HTML (или необработанных данных) в FOP и позже в PDF

Оба метода довольно обширны, поэтому, если вы не хотите тратить некоторые усилия, лучше сразу перейти к другому ответу ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...