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

На многих сайтах присутствует версия страниц для печати, доступная по отдельному адресу, в некоторых CMS'ках функционал генерации таких страниц даже присутствует 'из коробки' (только не в drupal, к нему, впрочем, есть какие-то модули на данную тему). Хотя чтобы страничка адекватно распечаталась, достаточно добавить немного css-правил, и совсем не обязательно мудрить с отдельными версиями страниц.

Таблицу стилей для печати можно подключить как отдельным файлом:

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

так и добавив правила в основной файл:

@media print {
  h1 {
    fon-size: 24pt;
  }
  p {
    font-size: 12pt;
  }
  ... остальные правила ...
}

Приведу пример правил, которые с некоторыми адаптациями можно использовать на любом сайте:

/* устанавливаем белый цвет фона и черный цвет текста для всех элементов */
* {
  color: #000 !important;
  background: #fff;
}

/* Устанавливаем размер шрифтов, результат будет более предсказуем, если их указать в пунктах (pt) */
h1 {
  font-size: 30pt !important;
}
h2 {
  font-size: 16pt !important;
  font-weight: bold !important;
}
h3 {
  font-size: 14pt !important;
  font-weight: bold !important;
}
p {
  font-size: 12pt !important;
}

/* Удаляем лишние поля и отступы */
.content {
  width: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
}

/* рядом с ссылками будет напечатан их url */
a:after {
  content: " (" attr(href) ") ";
}

/* скрываем ненужные элементы: хеадер, боковые колонки, подвал и т.д. */
#header,
#sidebar-first,
#sidebar-second,
.footer {
  display:none;
}

Подключение в друпале: кидаем файл в папку с темой, и в *.info добавляем строчку:

stylesheets[print][] = print.css

чистим кеш.

Глянуть на результат можно в браузере, выбрав в меню 'Предварительный просмотр'.

Хинт: для удобства отладки стиля измените media="print" на media="speech". Это позволит рассматривать страницу в браузере в том виде, в каком она будет при печати. При этом можно смотреть и менять свойства css с помощью firebug и подобныx средств. Когда с отладкой будет закончено, вновь поменяйте "speech" на "print".

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.