Цитата:
|
Сообщение от RaZEr
1. Оставить только контент и отобразить адреса ссылок.
2. window.print();
|
Немного расширю ответ. Самый удобный ход ИМХО - это использовать скриптовые страницы. Пусть это будет PHP - page.php. Тогда нам не нужно 2 раза формировать один и тот же контент страницы. Итак, у нас в УРЛе передается какой-то список параметров, определяющий, что за страницу нам надо выводить (id=...) и параметр, определяющий, надо ли нам выводить версию для печати (t=p) или обычную страницу (t=r)
У нас неизменным в обоих версиях остается главный контент. Можешь изменить стили, то есть убрать цвета в шрифтах, оставив черно-белый вариант и т.д. Имей в виду, что на печате лучше читаются темные буквы на белом фоне, чем наоборот, не говоря уже о затрате порошка/чернил принтера.
Все остальные части страницы мы меняем в зависимости от параметра t с помощью конструкции switch, if-else и т.д. В версии обычной страницы мы в любом удобном месте вставляем конструкцию типа
Код HTML:
<a href="page.php?id=...&t=p" onclick="window.open('page.php?id=...&t=p','prnwin','width=560,height=460,scrollbars=yes,status=no,toolbar=no,location=no,menubar=yes,resizable=no,screenX=200,screenY=100,minimize=no;maximize=yes;minimize=0;maximize=0');return false;">Версия для печати..></a>
В версию для печати, чтобы можно было печатать не только через стандартное меню, но и по клику, надо добавить ссылку вида:
Код HTML:
<a href="javascript:window.print();"><b>РАСПЕЧАТАТЬ</b></a>
Я еще в заголовки всех открываемых с помощью window.open окон добавляю следующий java-script
Код HTML:
<SCRIPT LANGUAGE="JavaScript">
<!--
window.focus();
// -->
</SCRIPT>
Тогда каждый раз после загрузки новой страницы это окно становится активным и выводится поверх остальных, и человек не теряется в догадках, а где же у него открылась страница для печати.