Как распечатать страницу вместе со всем форматированием CSS - PullRequest
2 голосов
/ 06 января 2012

Я делаю функцию печати. Проблема, которую я получаю, состоит в том, что страница, которая печатается, не сохраняет свое форматирование CSS. Я получаю простой текст на печать без CSS. Кто-нибудь знает, как распечатать страницу со всем ее неизменным форматированием CSS.

Ответы [ 2 ]

3 голосов
/ 06 января 2012

Скорее всего, сайт, который вы пытаетесь распечатать, имеет собственную таблицу стилей для печати.Эта таблица стилей часто упрощается и помещается на печатную страницу.Я не думаю, что с этим можно многое сделать, если у вас нет возможности изменить или удалить файл CSS для печати. ​​

Введение в печать таблиц стилей .

Пример разметки для одного.

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

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

2 голосов
/ 01 июня 2013

Проще говоря, для тех, кто все еще интересуется, у вас может быть таблица стилей CSS, которая имеет «media =« screen »» в разметке ссылки следующим образом:

<link id="Link1" href="../Styles/MainStyleSheet.css" rel="Stylesheet" type="text/css" runat="server" media="screen" />

это будет стилизовать то, что виднона экране браузера.

У вас также может быть другая таблица стилей CSS, которая имеет 'media = "print"' в разметке ссылки следующим образом:

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

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

Если вы добавили что-то вроде:

.inprintdisabled
{
 display: none;
}

в файл print_voucher.css.Везде в вашем HTML-коде, где есть

<div class="inprintdisabled">

, он будет отображать содержимое этого div в окне браузера, но НЕ будет распечатывать / показывать его в окне предварительного просмотра.

Аналогично, если вы поместите

.inprintOnly
{
 display:none;
}

в свой MainStyleSheet и

<div class="inprintOnly">

в своем HTML-коде, у вас могут быть объекты (текст, изображения и т. Д.), Которые не появляются на вашемЭкран браузера, но появится при предварительном просмотре / распечатке.

Надеюсь, это поможет.

...