Часто становится необходимо распечатать интернет страницу. Причин может быть много: предпочтение в чтении с бумаги, а не с экрана монитора, передача информации другому лицу при встрече в местах без доступа к сети интернет или же вы распечатали одну из услуг/товаров фирмы и с этой распечаткой пришли к ним в офис. Конечно, посетитель может сделать скриншот страницы и распечатать её, но это крайне не удобно и понижает юзабилити сайта.
Описание и установка модуля Printer
Эту проблему можно решить при помощи модуля Printer, e-mail and PDF versions, который автоматически создаёт версию для отправки на принтер, на электронную почту или создаст файл в формате PDF. Однако благодаря гибкости настроек данного модуля, можно выключить ту или иную функцию, а также по разному каждую из них настроить.
Страницы, создаваемые данным модулем, доступны по следующим адресам:
- Для страницы печати http://ваш-домен/print/NID
- Для страницы отправки письма http://ваш-домен/printpdf/NID
- Для ПДФ файла http://ваш-домен/printmail/NID
«NID» это уникальный Id каждой страницы.
Качаем и устанавливаем модуль, а для тех кто не знает как правильно устанавливать и удалять модуля на drupal, советую прочитать советующею статью у нас на блоге. Для генерации PDF версии нам понадобится вспомогательные библиотеки, а список этих библиотек представлен на странице с модулем.
В своём случая я воспользуюсь библиотекой TCPDF. Её можно скачать воспользовавшись данной ссылкой, после скачивания её необходимо будет распаковать в директорию sites/all/modules/print/lib.
Теперь пришло время активировать наш модуль и его составляющие. Для этого переходим в вкладку модуль на административной панели и в фильтрах находим наш модуль.
И в нём активируем Printer-friendly pages (print), PDF version (print_pdf), Send by email (print_mail) — модуля для генерации соответсвующих страниц, Printer-friendly pages UI (print_ui) удобный интерфейс настройки модуля и TCPDF library handler (print_pdf_tcpdf) для генерации PDF файла.
И нажимаем «Сохранить»
Настройки
После того как мы активировали модуль, у нас в разделе «Конфигурация» «Интерфейс пользователя» появилась новая вкладка Printer, e-mail and PDF в которой находятся настройки этого модуля
В окне которое откроется есть пять вкладок:
- Web Page — настройка версии для печати
- Email – настройка версии для отправки электронным письмом
- PDF –настройка PDF версии
- Ссылки – настройка ссылок для 3х версий
- Настройки – общие настройки
Начнём с общих настроек
Настройки
Custom stylesheet — в текстовом поле можно задать путь к файлу стилей. Данный модуль несёт в себе собственный файл с стандартными стилями. Но при желании можно подключить свой файл css, просто вписав путь к файлу в этом окне. Также можно использовать шаблоны %b который начнёт отчёт от начальной директивы, и %t — ведущий сразу в тему. Если поле оставить не заполненным то по умолчанию будет использован стандартный файл стилей.
Keep the current theme CSS — вне зависимости от подключенного файла css, если активно будут задействованы стандартные стили.
Printer-friendly URLs list — если активно то ссылка будет добавлена в список в сгенерируемой версии.
Include named anchors in printer-friendly URLs list — добавляет внизу страницы автора материала.
Include comments in printer-friendly version — включает в версию для печати комментарии.
New window method — способ открытия окна. С использованием HTML target или при помощи Javascript.
Logo option — настройка вывода логотипа.
None (Disabled) – логотип в версии для печати выводится, не будет
Current theme's logo — будет выводиться логотип, который установлен в теме.
User-specified — выводить логотип добавленный администратором. Логотипы можно добавить в поле Logo URL или Upload logo
Footer option –настройка нижней колонки(footer).
None (Disabled) — не выводить нижнюю колонку.
Site's footer - выводить футер сайта.
User-specified — если активно, то будет выводиться текст, вписанный ниже в текстовое поле
Source url — выводит URL адрес под футером.
Display source URL — если не активно, то URL адрес выводится не будет
Add current time/date to the source URL — добавляет к адресу время и дату публикации материала
Force use of node ID in source URL — если активно то будет выведен текущий URL , а не материала.
На этом общие настройки окончены и переходим в настройки версии для печати
Версия для печати
Open the printer-friendly version in a new window — если активировать данную настройку то сгенерированное окно будет открываться не на том же окне а в соседней вкладке.
Send to printer — браузер сам отправит страницу на принтер.
Close window after sending to printer — автоматически закроет окно после того как печать закончится
Robots meta tags — добавляет выбранный параметр
CUSTOM LINK TEXT — в данной группе настроек можно включить использование стандартного текста, поставив галочку на Enable custom link text, а также можно задать свой текст в текстовом поле, предварительно сняв галочку с Enable custom link text.
Настройка версии для отправки по почте
Hourly threshold — в выплывающем списке даёт возможность выбрать лимит писем отправленных в час.
Use Reply-To header — если активно то в письмах будет также использован адрес который установлен в разделе Информация о сайте. Это даст гарантию того, что письмо случайно не окажется в спаме.
Enable user list recipients — если выбрать, то получатель письма будет включён в список возможных претендентов на рассылку.
Enable teaser/full mode choice — добавляет переключатель отправки полного письма или только тизера.
Default email sending format — позволяет выбрать формат письма по умолчанию
Send emails using queue — если активно то письма будут отправляться с каждым обновлением крона, до того как он обновиться они будут находиться в очереди. Если оставить неактивным, то письма будут отправляться сразу.
Custom link text — задаётся своё название ссылки
Настройка PDF версии
Для генерации PDF мы используем библиотеку TCPDF Поэтому при переходе на вкладку настройки PDF у нас есть возможность настройки библиотеки.
Тут мы можем выбрать Шрифт, который будет использоваться в пдф файле, размер шрифта, а также если поставить галочку на «Enable font subsetting» то система автоматически подчистит файл убрав ненужные символы, с целью уменьшения его размера, однако это может увеличить время обработки страницы.
Теперь вернёмся к основным настройкам PDF версии.
PDF generation tool – выбрать дополнительный модуль/библиотеку, при помощи которой, будет генерироваться PDF файл
Open PDF in — настройки метода открытия файла, можно выбрать в текущем окне, в новом окне или сразу скачать.
Paper size — в выезжающем списке можно выбрать размер листа из стандартной таблицы
Page orientation — выставляется ориентация страницы
Enable caching of generated PDFs — включение/выключения кеширования генератора PDF
Cache Lifetime — время жизни кэша
Access images via local file access — настройка доступа к изображениям. Использование этой опции не рекомендовано в сочетании с модулями, которые генерируют изображения, однако это может быть крайне полезно на слабых хостах.
Auto-configure the PDF tool settings — если активно то настройки для PDF фалов будут выбраны автоматически, если же эта галочка не стоит то настройки необходимо будет задать самому в соответствующем файле, для библиотеки TCPDF он находится по адресу tcpdf/config/tcpdf_config.php file.
PDF filename — генерирует название файла. В названии можно использовать подстановочные шаблоны.
Custom link text – можно выставить название ссылки.
Настройка ссылок
Link location — можно выставить местоположение ссылки.
Мы можем её расположить в виде блока, поставив галочку на разделе Блок, а местоположение блока выставляем в разделе admin/structure/block.
Links area– ссылка будет расположена в месте вывода системных ссылок Drupal.
Content corner – перед контентной областью
Display link in teaser — если активны, то ссылки будут отображены в выводе тизера страницы.
Link style — внешний вид ссылки.
Класс ссылки — в текстовом поле моно задать специфический класс, для более удобного оформления ссылки.
Show link in system (non-content) pages — выставить ограничение на отображения ссылок:
- Show on every page except the listed pages — если отметить ограничение и вписать страницы в окне внизу, то на этих страницах наши версии выводится не будут.
- Show on only the listed pages. — ссылки при этом ограничении будут видны только на тех страницах, которые вы отметите в текстовом окне.
- Show if the following PHP code returns TRUE (PHP-mode, experts only). — данный вид ограничения рекомендуется использовать только тем кто знает как пользоваться PHP, и может сам вывести ссылки, при помощи кода PHP.
Link in book hierarchy nodes — отображение ссылок на странице книг, тут можно выбрать 1 из 3х вариантов, Нет ссылки, ссылка на текущей странице и сложенных, и только на текущей странице.
Вывод ссылки
После всех настроек модуля выведем его на странице. Для этого нам необходимо перейти в раздел «Структура->Тип материала->”ваш тип”»
Пролистать вниз странице и нажать на блок с названием модуля, в открывшимся окне поставить галочки на Show link для необходимых для нас страницах
После чего на всех материалах выбранного типа будут три ссылки: печать, почта, PDF.
Не забываем сохранить.
Проверка
Заходим на материал, для которого мы выставили ссылки
Печать
В настройках ссылки я вывел её в виде блока, который потом выставил в шапке, а в внешнем виде ссылки оставил только текст
А сама версия выглядит следующим образом:
Её можно настроить при помощи css, но главное не переусердствовать с цветами, а в лучшем случае оставить её чернобелой.
Эту ссылку я вывел в контентной зоне, а в отображении выбрал иконка плюс текст.
Внешний вид сгенерируемого PDF файла:
Отправка по почте
Для этой ссылки я выставил вывод в зоне ссылок, а в настройках отображения поставил только значок.
Перейдя по ней, мы попадём на страницу отправки письма.
Для анонимных пользователей поле «Your email» будет активно, а для авторизованных будет заполнено автоматически, тем адресом, который они оставили в своём личном кабинете.
Права доступа
Заключительным этапом настройки модуля является настройка прав доступа.
Для этого необходимо перейти в вкладку на административной панели «Пользователи» и в ней выбрать «Права доступа»
В открывшимся окне, для полей Access the PDF version, Access the printer-friendly page и Access the Send by email functionality выставить необходимый доступ.