суббота, 16 июня 2012 г.

Печатаем Вэб

При путешествии в интернете бывает, что нет времени прочитать статью именно сейчас или не хочется читать её с экрана монитора. В этом случае было бы неплохо распечатать или сохранить её в PDF.

Есть у меня привычка - сохранять в закладки статьи, которые хочется прочесть. Но времени прочесть так и не находится. И накопилось уже таких закладок немало.

У меня давно появилась идея - распечатать эти статьи в PDF документы, а уж потом прочитать в ридере. Ну, или просто распечатать. И, казалось бы, что проще - в любом браузере есть пункт Файл > Печать..., но зачастую на странице помимо нужной информации есть и куча ненужных элементов - боковые панели, рекламные блоки, комментарии и т.п.

На помощь приходит CSS правило @media , которое позволяет задать стиль для определённого типа носителя: screen (экрана монитора), print (листа бумаги) и других. Например, с помощью стилей можно скрыть определённые элементы на странице.

Применить пользовательские стили к странице можно с помощью дополнения Stylish (Firefox, Chrome, Safari). В Opera есть встроенная поддержка пользовательских стилей.

Приведу пример использования Stylish в Firefox'е. Возьмём какую-нибудь статью и просто вызовем Файл > Печать.... Получилось вот как. Не очень здорово. Видимо никаких специальных стилей для печати нет.

Теперь добавим стиль для домена habrahabr.ru:

@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document domain("habrahabr.ru") {
    @media print {
        #header,
        #footer,
        .sidebar_right .block,
        .infopanel,
        .for_users_only_msg,
        .rotated_posts,
        #comments { display: none }
        .content_left { width: 100% !important }
    }
}

Распечатаем и получим это. Намного лучше, не правда ли?

Это хороший и довольно гибкий приём, хотя и вынуждает внедряться в стили сайта.

Есть более простой путь убрать не нужные элементы со страницы - дополнение Print Edit и ему подобные. Вот что получилось с использованием Print Edit.

Для печати в PDF есть много способов. Мне подошла программа Bullzip PDF Printer. Есть и другие аналогичные программы. Такие программы создают в системе виртуальный принтер. Остаётся только выбрать его при печати.

Вот и всё! Приятного чтения.

Нет комментариев.
Отправить комментарий