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

Реферальная программа Мегаплана

Партнерская программа Kredov

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

#1 battrack

battrack
  • Пользователь
  • 7 сообщений
  • Репутация: 0
0

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

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

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

??

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Скрипт печати страницы без окна управления печатью
  2. Помогите вставить фон в элемент страницы
  3. Вместо страницы - flash элемент.
  4. Автоматическая перелинковка внутренних страниц — важный элемент продвижения
  5. В каком элементе на странице сайта надо вставлять код

#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 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 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 файл просто распечатать ручками, он уже будет отформатирован по нуждам!
  • 0

#6 KURT [197BD]

KURT [197BD]
  • Пользователь
  • 31 сообщений
  • Репутация: 0

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

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


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