Создание страниц для печати с помощью модуля Printer
Подключил для создания печатной версии страниц модуль Printer.
Но автозапуск печати не заработал. Здесь предложили два варианта:
1. заменить в файле \sites\all\modules\print\print.pages.inc строку
<?php
$print['sendtoprinter'] = $print_html_sendtoprinter ? "<script type='text/javascript'>Drupal.behaviors.print = function(context) {window.print();$window_close}</script>" : '';
?>
на
<?php
$print['sendtoprinter'] = $print_html_sendtoprinter ? "Drupal.behaviors.print = function(context) {setTimeout(\"window.print();$window_close\",1000);}" : '';
?>
но это не помогло.
2. Вбить яваскрипт, который будет запускать печать, после загрузки страницы:
помогло) Но лучше эту замену делать не в боди, а там, где это делается в первом варианте.
И еще, если установить закрытие страницы после печати, то страница закрывается не успев послать команду на печать.
Для того чтобы это исправить, вызывать закрытие стоит после того, как страница получит фокус (отобранный диалоговым окном для распечатки).
Т.е. в результате в файле \sites\all\modules\print\print.pages.inc нужно заменить строку
<?php?>