Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> корректная печать документа, вывод на принтер 
:(
    Опции темы
Sukhof
Дата 29.12.2004, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 18.4.2004
Где: Тюмень

Репутация: нет
Всего: 2



Извиняйте народ, может этот вопрос и не сюда, есть множество html таблиц которые генерируются с помощью php, данные выводятся из БД, все эти таблицы надо корректно распечатать на принтере, чтобы за поля не выходили, не обрезались внизу когда страница заканчивается, чтобы было окуратно на каждом листе по таблице или по две но чтобы входило. Как это сделать не знаю подскажите плиз. Может есть размеры для А4, т.е. установить высоту и ширину таблицы. Но как сделать что бы из двух больших таблиц одна в оккурат вошла на первый лист вторая, со всеми отступами с верху на второй лист бумаги.
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы.
PM MAIL   Вверх
Black
Дата 29.12.2004, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 15
Всего: 45





Word всех победит....
====================================

page-break-after - устанавливает, будет ли после текущего элемента при печати Web-страницы производиться прогон листа.
page-break-after: auto|always|empty string;
page-break-after: auto; - передает управление размещением информации на листе операционной системе (значение по умолчанию);
page-break-after: always; - заставляет принтер прогнать лист после печати текущего элемента страницы;
page-break-after: empty string; - запрещает принтеру делать это в любом случае.
Поддерживается IE начиная с 4.0

page-break-before - устанавливает, будет ли перед текущего элемента при печати Web-страницы производиться прогон листа.
page-break-before: auto|always|empty string;
page-break-before: auto; - передает управление размещением информации на листе операционной системе (значение по умолчанию);
page-break-before: always; - заставляет принтер прогнать лист перед печатью текущего элемента страницы;
page-break-before: empty string; - запрещает принтеру делать это в любом случае.
Поддерживается IE начиная с 4.0

========================================

2.12.2. Директива @page

Директива @page предназначена для задания свойств страниц. Она имеет следующий вид:

@page [селектор-страницы] {
правило;
...
правило;
}

Селектор-страницы — это либо имя страницы, либо один из следующих псевдоклассов:
:first Первая страница документа
:left Левая страница (для двусторонней печати)
:right Правая страница (для двусторонней печати)

Правила, указанные в директивы @page с селектором :left или :right, перекрывают правила директивы @page без селекторов. Правила, указанные в директивы @page с селектором :first, перекрывают правила директивы @page с селектором :left или :right (это зависит от направления вывода текста). Наконец, правила, указанные в директивы @page с именем страницы, перекрывают правила остальных директив @page.

Поддержка: Internet Explorer Синтаксически соответствует стандарту, но поддерживается только
шаблонами печати MSHTML (5.5+)
Netscape Navigator Не поддерживается

2.12.2.1. Задание границ страницы

Для задания границ прямоугольника страницы используются свойства margin-left, margin-right, margin-top, margin-bottom и margin. Пример:

@page { margin: 2cm } /* Все границы равны 2 см */

2.12.2.2. Размер страницы: свойство size

Синтаксис: size: <размер>{1,2} | auto | portait | landscape | inherit
Начально: auto
Применимо: к страницам
Наследуемо: не определено
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

Свойство size задает размер и ориентацию прямоугольника страницы. Размеры страницы могут быть либо абсолютными, либо относительными. Абсолютные размеры задаются одним или двумя значениями типа <размер>. Если задано одно значение, то оно определяет размер страницы и по вертикали, и по горизонтали. Если заданы два значения, то первое определяет ширину страницы, а второе — ее высоту.

Относительные размеры задаются одним из следующих ключевых слов:
auto Прямоугольник страницы совпадает с реальным листом по размеру и ориентации.
portrait Прямоугольник страницы совпадает с реальным листом по размеру; ориентация книжная.
landscape Прямоугольник страницы совпадает с реальным листом по размеру; ориентация альбомная.

Примеры:

@page { size: 8.5in 11in }
@page { size: portrait; margin: 10% }

2.12.2.3. Пометки: свойство marks

Синтаксис: marks: [crop || cross] | none | inherit
Начально: none
Применимо: к страницам
Наследуемо: не определено
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

В высокой печати часто используются специальные пометки на полях страницы. Свойство marks позволяет задать тип пометок на странице. Оно может принимать следующие значения:
none Не печатать пометки.
crop Пометки, указывающие место обреза страницы.
cross Пометки, используемые для выравнивания страниц.

Пример:

@page { marks: crop cross } /* Печатать оба типа пометок */

2.12.3. Имена страниц: свойство page

Синтаксис: page: <идентификатор> | auto
Начально: auto
Применимо: к блочным элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

Свойство page позволяет присвоить элементу имя страницы с тем, чтобы использовать свойства директивы @page, селектором которой является данное имя. Например, следующие правила указывают, что все таблицы документа необходимо печатать в альбомной ориентации:

@page rotated { size: landscape }
TABLE { page: rotated; ... }

По умолчанию это свойство имеет значение auto, поэтому к элементам, не имеющих имен страниц, применяются правила директивы @page без именного селектора.
2.12.4. Управление разрывами страниц
2.12.4.1. Разрыв страницы перед элементом: свойство page-break-before

Синтаксис: page-break-before: auto | always | avoid | left | right | inherit
Начально: auto
Применимо: к блочным элементам
Наследуемо: нет
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Поддерживаются auto, always и "" вместо avoid (4.0+)
Netscape Navigator Не поддерживается

Свойство page-break-before управляет разрывом страницы перед печатью данного элемента. Оно может принимать следующие значения:
auto Разрыв страницы производится обычным образом, после заполнения страницы.
always Всегда начинать печать данного элемента с новой страницы.
avoid Никогда не делать разрыва страницы перед данным элементом.
left Один или два разрыва страницы, чтобы данный элемент всегда печатался на левой странице.
right Один или два разрыва страницы, чтобы данный элемент всегда печатался на правой странице.

Пример:

H1 { page-break-before: always }

2.12.4.2. Разрыв страницы после элемента: свойство page-break-after

Синтаксис: page-break-after: auto | always | avoid | left | right | inherit
Начально: auto
Применимо: к блочным элементам
Наследуемо: нет
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Поддерживаются auto, always и "" вместо avoid (4.0+)
Netscape Navigator Не поддерживается

Свойство page-break-after управляет разрывом страницы после печати данного элемента. Оно может принимать следующие значения:
auto Разрыв страницы производится обычным образом, после заполнения страницы.
always Всегда начинать печать следующего элемента с новой страницы.
avoid Никогда не делать разрыва страницы после данного элемента.
left Один или два разрыва страницы, чтобы следующий элемент всегда печатался на левой странице.
right Один или два разрыва страницы, чтобы следующий элемент всегда печатался на правой странице.

Пример:

H1 { page-break-after: avoid }

2.12.4.3. Разрыв страницы внутри элемента: свойство page-break-inside

Синтаксис: page-break-inside: auto | avoid | inherit
Начально: auto
Применимо: к блочным элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

Свойство page-break-inside управляет разрывами страницы при печати данного элемента. Оно может принимать следующие значения:
auto Разрыв страницы производится обычным образом, после заполнения страницы.
avoid Никогда не делать разрыва страницы внутри данного элемента.

Пример:

H1 { page-break-after: avoid }

2.12.4.4. Количество строк в конце страницы: свойство orphans

Синтаксис: orphans: <целое> | inherit
Начально: 2
Применимо: к блочным элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

Свойство orphans задает минимальное количество строк абзаца, которое должно остаться в конце страницы при печати данного элемента. Пример:

P { orphans: 3 }

2.12.4.5. Количество строк в начале страницы: свойство widows

Синтаксис: widows: <целое> | inherit
Начально: 2
Применимо: к блочным элементам
Наследуемо: да
Проценты: не используются
Устройства: визуальные страничные

Поддержка: Internet Explorer Не поддерживается
Netscape Navigator Не поддерживается

Свойство widows задает минимальное количество строк абзаца, которое должно остаться в начале страницы при печати данного элемента. Пример:

P { widows: 3 }





--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Sukhof
Дата 29.12.2004, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 18.4.2004
Где: Тюмень

Репутация: нет
Всего: 2



да уш, спасибочки, признаюсь приятно, теперь полдня читать smile, и еще весь новый год разбираться. А правильно ли я понял что это css?
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы.
PM MAIL   Вверх
Sardar
Дата 29.12.2004, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 6
Всего: 317



Sukhof да правильно. Еще есть @media print {} где можно задать стили в момент печати. Всегда так пользуюсь, убираю меню, картинки и т.п., что бы страница выглядела аккуратно.

А вообще лучше скачай учебник от sunclouds, ссылка у нас в закреплённой теме.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Black
Дата 31.12.2004, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 15
Всего: 45



Почитай здесь про @media: http://www.htmlbook.ru/content/231.html


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
noff
Дата 6.5.2006, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Спасибо. Накопытил в спецификации CSS
http://loc.stack.ru/projects/CSS2/page.html#page-box

Кто-нибудь пользовался @page?
Пишу в style.css:

@page {
    margin: 1cm;
    size: landscape;
}

а реакции никакой. Ни в IE6 ни в FireFox. 
PM MAIL   Вверх
Sardar
Дата 6.5.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 6
Всего: 317



Печать дело тонкое, особенно под линухом. Лиса 1.5 должна (хоть и бета) всё поддерживать.


M
Sardar
Перенёс в раздел вёрстки.
 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
noff
Дата 6.5.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Дык 
@page {
    margin: 1cm;
    size: landscape;
}
испольую под винду в IE и  в FireFoxe - результата никакого.

Добавлено @ 16:33 
Его точно нужно просто в CSS файл вставлять напрямую? Или нужно в какой-то контейнер загонять, типа @media print{...} Хотя и так тоже пробовал - не получается 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.