Версия для печати без использования отдельной страницы

Данные решения не являются универсальными и для каждого сайта и/или страницы должны быть своими.

В данной теме рассмотрены два варианта создания версий для печати на примере страницы этого блога.

Для начала создадим кнопку, например такую:

Вариант с открытием всплывающего окна

В этом варианте мы создаем новый документ на основе текущего, открываем его в попапе и выдаем на печать.

Для этого смотрим HTML код нашей страницы и определяем элементы, которые нам нужно подать в это окно и далее на печать.

Для данной страницы, это:

  • Заголовок с классом subbanner
  • Краткое описание темы с классом entry-summary
  • Полное описание темы с классом entry-content
  • Подвал с копирайтом с ID footer

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

А результатом будет это:

Похожим способом можно выдавать на печать несколько разных элементов сайта, например, тарифов, контактов и т.д..

Про это будет позже в другой теме.

Вариант с изменением самого документа

Тут мы будем по клику добавлять к тегу body класс print, включая тем самым версию для печати. Выключаться она будет по нажатию на клавишу Esc

Этот вариант хорош тем, что можно изменить документ не только для печати, но и для сохранения.

Как и в первом смотрим HTML код нашей страницы, но определяем элементы, которые нам нужно убрать (шапка, подвал, боковая панель, рекламные блоки и т.д.) или изменить (ширину центрального блока и т.д.).

Код для этой будет такой:

А результат:

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

Выглядит так:


По хорошему, в оба варианта стоило добавить изменения для вкладок (чтобы они шли друг под другом), изменить вывод кода (чтобы он был виден полностью) и еще другие мелочи, но я не стал так глубоко углубляться, так как тема является тестовой и для каждого сайта все равно будет уникальной.

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

Добавить комментарий:

Ваш комментарий отправлен!