|
 |
Путь: >
Готовые решения
Готовые решения
Автор: - Yurik
Дата публикации - 21.5.2005
Просмотров: - 3621
Распечатка страницы на принтере
[quote]В корпоративном сайте часто возникает необходимость распечатать некоторую страницу
или отчет. Распечатывать рабочую страницу явно бессмысленно, т.к. она содержит
кучу лишнего оформления. Поэтому нужно специально создать <b>Print View</b>
страницу, на которой будут исключительно данные для распечатки.[/quote]
Очень желательно
использовать броузер IE4.0 или выше (только он имеет нормальное абсолютное позиционирование)
и на каждом рабочем месте предварительно настроить "Файл -> Параматры
страницы" для броузера. Нужно убрать все колонтитулы и выставить все поля
по 0. Стили текста на странице должны быть заданы в абсолютных величинах - размеры шрифтов
в pt, а расстояния в px. Чтобы сразу вызвать окно подтверждения
печати, ставим <body onLoad="window.print();">.
[nb]Программно никакие настройки печати из броузера не настраиваются<br>
Обойти подтверждение печати по window.print() тоже никак нельзя.[/nb]
Для печати на стандартных бланках (счета, бланки отчетности) можно использовать
абсолютное позиционирование IE. Для этого нужно тщательно исследовать бланк,
разбить его на поля и линейкой отмерять расстояния в миллиметрах от верхнего
левого угла страницы и поля для каждого поля в отдельности. Часто при печати
на бланках лучшие результаты получаются при использовании monospace шрифтов.
Для каждого поля создаём свой слой:
[code]<div id="Layer1" class="fields"
style="position:absolute; left:80mm; top:200mm; width:50mm; height:10mm;
z-index:1">
<?php echo $field1;?>
</div>[/code]
Распечатать таким образом на бланке намного проще чем из оффисных программ
или из специально написанной Desktop программы.
Второй способ распечатать - создать файл в любом другом, понятном клиенту формате,
который он распечатает соответствующей программой, для этой цели отлично подходит PDF формат.
Обсудить в ФОРУМе - комментариев ()
Путь: >
Готовые решения
Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
|
|