Проблема такая:
Всем известно, что при необходимости спомощью java script можно распечатать содержимое страницы. Но вот беда в том, что печатает он еще и некоторые "лишние" элементы. Сверху выводит содержимое тега title, адресную строку, снизу номер страницы и дату. Возможно ли избавиться от этого. Просто разрабатываю систему для офисного пользования, где будет необходимость распечатывать некоторые отчеты. А они естественно не должны содержать ничего лишнего.
??
Печать страницы без лишних элементов
#2
KURT [197BD]
KURT [197BD]
-
- Неактивные
- 31 сообщений
Репутация: 0
Отправлено 23 Декабрь 2008 - 15:51
в этом тебе должен должны помочь CSS. а конкретнее правило media.
Правило @media позволяет указать тип носителя, для которого будет применяться указанный стиль.
Например,
+ настройки печати в браузере...
Правило @media позволяет указать тип носителя, для которого будет применяться указанный стиль.
Например,
@media screen { /* Стиль для отображения в браузере */ BODY { font-family: Arial, Verdana, sans-serif; /* Рубленый шрифт */ font-size: 90%; /* Размер шрифта */ color: #000080; /* Цвет текста */ } #div_a{ background: #faf0e6; /* Цвет фона под текстом */ border: 2px dashed #800000; /* Рамка вокруг заголовка */ color: #a0522d; /* Цвет текста */ padding: 7px; /* Поля вокруг текста */ } } @media print { /* Стиль для печати */ BODY { font-family: Times, 'Times New Roman', serif; /* Шрифт с засечками */ } #div_a { display:none; /* Не выводится на печать*/ } }
+ настройки печати в браузере...
- 0
#3
ZiTosS
ZiTosS
-
- Неактивные
- 5 148 сообщений
Репутация: 8
Отправлено 23 Декабрь 2008 - 23:27
Хех отвечал вчера на эото вопрос и забыл отправить... Вообщем с помощью PHP или JavaScript вы этого не сделаете.
JavaScript - клиентский (работает на стороне пользователя) язык программирования. Вызывается в работе с браузером, и функции печати с настройками принтера ему не доступны. Т.к. печать это уже работа ОС, то JS только может послать информацию, которую нужно напечатать, а точнее это будет картинка(screen). Сами же настройки печати осуществляются в операционной системе, а не потребностями того или иного браузера.
Вообщем JS не имеет возможности работать с печатью web-страниц, он может только отправить запрос на печать.
PHP - серверный язык программирования. ему не доступны функции программной оболочки чужого компьютера. Хотя если очень постараться можно помудрить что-нить с функцией exec(); Но это очень небезопасно. Да и там такие дебри...
Есть один выход... Настраивать всё ручками для печати.
Я тоже задавался таким же вопросом, когда нужно было сделать проект, который выводил на печать документ без лишних данных. Ничего другого как работа руками я не нашёл увы...
Вот средства ASP.NET позволяют форматировать печать ив интернете по данному запросу много что написано. Но это уже совсем другая технология и язык.
KURT [197BD], с помощью настроек CSS не убрать колонтитулы адресат... Так как это не относится непосредственно к веб-странице, а формируется параметрами принтера.
JavaScript - клиентский (работает на стороне пользователя) язык программирования. Вызывается в работе с браузером, и функции печати с настройками принтера ему не доступны. Т.к. печать это уже работа ОС, то JS только может послать информацию, которую нужно напечатать, а точнее это будет картинка(screen). Сами же настройки печати осуществляются в операционной системе, а не потребностями того или иного браузера.
Вообщем JS не имеет возможности работать с печатью web-страниц, он может только отправить запрос на печать.
PHP - серверный язык программирования. ему не доступны функции программной оболочки чужого компьютера. Хотя если очень постараться можно помудрить что-нить с функцией exec(); Но это очень небезопасно. Да и там такие дебри...
Есть один выход... Настраивать всё ручками для печати.
Я тоже задавался таким же вопросом, когда нужно было сделать проект, который выводил на печать документ без лишних данных. Ничего другого как работа руками я не нашёл увы...
Вот средства ASP.NET позволяют форматировать печать ив интернете по данному запросу много что написано. Но это уже совсем другая технология и язык.
KURT [197BD], с помощью настроек CSS не убрать колонтитулы адресат... Так как это не относится непосредственно к веб-странице, а формируется параметрами принтера.
- 0
#4
KURT [197BD]
KURT [197BD]
-
- Неактивные
- 31 сообщений
Репутация: 0
Отправлено 24 Декабрь 2008 - 10:36
Смотрите в настройках браузера "Параметры печати" секция "колонтитулы".
Там все регулируется... По крайней мере в Опере и ФайерФоксе точно есть такая возможность..., как ни странно даже в Ослике нашел =)
Там все регулируется... По крайней мере в Опере и ФайерФоксе точно есть такая возможность..., как ни странно даже в Ослике нашел =)
- 0
#5
ZiTosS
ZiTosS
-
- Неактивные
- 5 148 сообщений
Репутация: 8
Отправлено 24 Декабрь 2008 - 16:34
Параметры то есть. Но с помощью JavaScript их не изменить, а ТС нужна автоматика
Иначе отдаст он скрипт заказчику. Заказчик наймет неквалифицированного работника в данной области. При распечатке у неё будут выводиться лишние данные, она будет грешить на программу, тогда заказчик потребует объяснений от разработчика.
Вот в этом и проблема, на JS автоматику не сделать.
Я вот думал можно написать класс на PHP, который будет сохранять информацию в doc файл(Кстати подобные классы уже встроены в PHP и преставляют собой API). А потом doc файл просто распечатать ручками, он уже будет отформатирован по нуждам!

Вот в этом и проблема, на JS автоматику не сделать.
Я вот думал можно написать класс на PHP, который будет сохранять информацию в doc файл(Кстати подобные классы уже встроены в PHP и преставляют собой API). А потом doc файл просто распечатать ручками, он уже будет отформатирован по нуждам!
- 0
#6
KURT [197BD]
KURT [197BD]
-
- Неактивные
- 31 сообщений
Репутация: 0
Отправлено 24 Декабрь 2008 - 16:39
можно и в PDF

- 0
Ответить цитируемым сообщениям Очистить