Как распечатать только части страницы? - PullRequest
14 голосов
/ 22 октября 2008

Я пытаюсь скрыть некоторые элементы div, прежде чем пользователь напечатает эту гигантскую форму, а затем снова отобразить элементы div. Поэтому я хочу игнорировать остальную часть страницы и печатать только саму форму.

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


Изменить: мой предыдущий вопрос не отражал то, что я искал. Поэтому я изменил его на текущий.

Также спасибо всем, что предложили window.onbeforeprint и window.onafterprint. Это относится к моему отредактированному вопросу.

Ответы [ 4 ]

25 голосов
/ 22 октября 2008

Во-первых, The Ok Way:

Взгляните на window.onbeforeprint и window.onafterprint (мне кажется, первоначальный вопрос о том, как это сделать программно).

Теперь лучший путь:

Лучший способ сделать это с помощью стиля, специально предназначенного для печати. Другими словами, ваш div может выглядеть так:

<div class="someClass noPrint">My Info</div>

После этого вы получите это в своей таблице стилей:

.someClass {font-family:arial;}
@media print {
    .noPrint { display: none; }
} 

Другой вариант

Вы также можете поместить это в отдельную таблицу стилей, если хотите, чтобы вам не приходилось смешивать стили:

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

Ваша таблица стилей экрана может иметь ".someClass", определенный одним способом, и тогда ваша таблица стилей печати может иметь его совершенно другим способом.

16 голосов
/ 22 октября 2008

IE поддерживает onbeforeprint и onafterprint, но вам действительно нужна таблица стилей печати. ​​

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

Смотри также: этот ответ

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

Вы должны действительно реализовать это как CSS media = стили печати. Атрибут media элемента link можно использовать для выбора того, к какому мультимедиа применяется таблица стилей. Отметьте эту статью

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

Возможно, вы захотите создать таблицу стилей специально для печати, используя media = "print"

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