Печать контейнера DIV без потери стилей CSS - PullRequest
3 голосов
/ 11 ноября 2010

После прочтения нескольких статей, форумов и т. Д., Доходит до того, что я прихожу и ищу вашу помощь.

Я пытаюсь добавить кнопку «Печать» на страницу, которая при нажатии распечатывает таблицу. Я пробовал jqprint (пока лучшее решение), но это все еще не правильно:

Макет страницы представляет собой вкладку с аккордеоном. Внутри этого аккордеона находится таблица с несколькими рядами. Внутри каждого ряда есть скрытые элементы.

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

В FireFox: Когда я печатаю в PDF (чтобы сэкономить бумагу и хорошо относиться к матери-природе), печатаются только первые несколько строк таблицы. По сути, PDF будет содержать много страниц, но я получу только первую и ничего больше после этого.

в Chrome: Не работает вообще PDF пуст.

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

Jonathan

Ответы [ 3 ]

3 голосов
/ 11 ноября 2010

Стиль HTML для печати обычно достигается с помощью другой таблицы стилей, например, в элементе head:

<head>
    ...

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

</head>

Таблица стилей style.css используется для стилизации вашего HTML на экране, а print.cssиспользуется для оформления вашего HTML для печати.Предоставляя соответствующий стиль в файле print.css, вы можете легко отображать или скрывать html-элементы для достижения нужного результата.

0 голосов
/ 24 февраля 2014

Попробуйте использовать printThis плагин.

передайте идентификатор элемента для печати. ​​

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

$('#table_id').printThis({ pageTitle: $('#report_title').text()});

надеюсь, это поможет вам

0 голосов
/ 11 ноября 2010

Вы можете использовать другой файл css для печати, то есть print.css и сделать видимыми все элементы div, которые хотите распечатать.

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