Перейти к содержимому



Печать страницы без лишних элементов

#1

Поделиться сообщением #1



battrack

battrack
  • Неактивные
  • 7 сообщений
  • Репутация: 0
0

Отправлено 22 Декабрь 2008 - 10:08

Проблема такая:

Всем известно, что при необходимости спомощью java script можно распечатать содержимое страницы. Но вот беда в том, что печатает он еще и некоторые "лишние" элементы. Сверху выводит содержимое тега title, адресную строку, снизу номер страницы и дату. Возможно ли избавиться от этого. Просто разрабатываю систему для офисного пользования, где будет необходимость распечатывать некоторые отчеты. А они естественно не должны содержать ничего лишнего.

??

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Скрипт печати страницы без окна управления печатью
  2. Как подгружать содержимое на страницу без перезагрузки
  3. Скрипт работает только на одном блоке
  4. 10 способов украсить сайт
  5. Куда всунуть кнопку "печать контактов"?

#2

Поделиться сообщением #2



KURT [197BD]

KURT [197BD]
  • Неактивные
  • 31 сообщений
  • Репутация: 0

Отправлено 23 Декабрь 2008 - 15:51

в этом тебе должен должны помочь CSS. а конкретнее правило 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

Поделиться сообщением #3



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Декабрь 2008 - 23:27

Хех отвечал вчера на эото вопрос и забыл отправить... Вообщем с помощью PHP или JavaScript вы этого не сделаете.
JavaScript - клиентский (работает на стороне пользователя) язык программирования. Вызывается в работе с браузером, и функции печати с настройками принтера ему не доступны. Т.к. печать это уже работа ОС, то JS только может послать информацию, которую нужно напечатать, а точнее это будет картинка(screen). Сами же настройки печати осуществляются в операционной системе, а не потребностями того или иного браузера.
Вообщем JS не имеет возможности работать с печатью web-страниц, он может только отправить запрос на печать.

PHP - серверный язык программирования. ему не доступны функции программной оболочки чужого компьютера. Хотя если очень постараться можно помудрить что-нить с функцией exec(); Но это очень небезопасно. Да и там такие дебри...

Есть один выход... Настраивать всё ручками для печати.
Я тоже задавался таким же вопросом, когда нужно было сделать проект, который выводил на печать документ без лишних данных. Ничего другого как работа руками я не нашёл увы...

Вот средства ASP.NET позволяют форматировать печать ив интернете по данному запросу много что написано. Но это уже совсем другая технология и язык.

KURT [197BD], с помощью настроек CSS не убрать колонтитулы адресат... Так как это не относится непосредственно к веб-странице, а формируется параметрами принтера.
  • 0

#4

Поделиться сообщением #4



KURT [197BD]

KURT [197BD]
  • Неактивные
  • 31 сообщений
  • Репутация: 0

Отправлено 24 Декабрь 2008 - 10:36

Смотрите в настройках браузера "Параметры печати" секция "колонтитулы".

Там все регулируется... По крайней мере в Опере и ФайерФоксе точно есть такая возможность..., как ни странно даже в Ослике нашел =)
  • 0

#5

Поделиться сообщением #5



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 24 Декабрь 2008 - 16:34

Параметры то есть. Но с помощью JavaScript их не изменить, а ТС нужна автоматика ;) Иначе отдаст он скрипт заказчику. Заказчик наймет неквалифицированного работника в данной области. При распечатке у неё будут выводиться лишние данные, она будет грешить на программу, тогда заказчик потребует объяснений от разработчика.
Вот в этом и проблема, на JS автоматику не сделать.
Я вот думал можно написать класс на PHP, который будет сохранять информацию в doc файл(Кстати подобные классы уже встроены в PHP и преставляют собой API). А потом doc файл просто распечатать ручками, он уже будет отформатирован по нуждам!
  • 0

#6

Поделиться сообщением #6



KURT [197BD]

KURT [197BD]
  • Неактивные
  • 31 сообщений
  • Репутация: 0

Отправлено 24 Декабрь 2008 - 16:39

можно и в PDF ;)
  • 0


Оформление форума – IPBSkins.ru