IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Как подготовить на печать (https://www.imho.ws/showthread.php?t=84114)

UnOuter 19.04.2005 14:04

Как подготовить на печать
 
1. Как лучше всего оптимизировать HTML страницу для печати?
2. Как вызвать стандартное окно WindOws использя JavaSсript чтобы распечатать документ?

RaZEr 19.04.2005 21:25

1. Оставить только контент и отобразить адреса ссылок.
2. window.print();
3. Для подобных вопросов - раздел "веб-программирование". Перенесено.

Al-x 19.04.2005 21:52

ИМХО если хочется, чтобы по разному выглядело на экране и бумаге лучше использовать CSS:
@media screen{...} - для экрана
@media print {...} - для бумаги

Goryn 27.04.2005 20:40

Цитата:

Сообщение от 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;">Версия для печати..&gt;</a>
В версию для печати, чтобы можно было печатать не только через стандартное меню, но и по клику, надо добавить ссылку вида:

Код HTML:

<a href="javascript:window.print();"><b>РАСПЕЧАТАТЬ</b></a>
Я еще в заголовки всех открываемых с помощью window.open окон добавляю следующий java-script

Код HTML:

<SCRIPT LANGUAGE="JavaScript">
<!--
window.focus();
// -->

</SCRIPT>

Тогда каждый раз после загрузки новой страницы это окно становится активным и выводится поверх остальных, и человек не теряется в догадках, а где же у него открылась страница для печати.


Часовой пояс GMT +4, время: 14:48.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.