Вставить разрыв страницы

 
0
 
JavaScript
ava
yngwie19 | 10.11.2009, 19:16
Здравствуйте. У меня печатается большая таблица, которая при печати занимает около 5 листов А4. Возможно ли вставить в определенном месте разрыв станицы ? Моя таблица может иметь строки разной высоты, поэтому скорее всего нужно отсчитывать от нижнего края листа, как Вы считаете как лучше сделать подобную задачу?
Ответы (8)
ava
youri | 11.11.2009, 04:03 #
вставить разрыв страницы при печати?
ava
yngwie19 | 11.11.2009, 08:06 #
youri, да именно при печати.
ava
Любитель | 11.11.2009, 08:19 #
Несовсем понятно, причём тут яваскрипт - разрывы лучше "пометить" на этапе создания (вручную или генерации - неважно) хтмл. В CSS есть свойство page-break-before. Ставите класс page-break на часть строк таблицы (вопрос "на какие" - это уже другой вопрос) и прописываете:

@media print
{
.page-break { page-break-before: always }
}
ava
bars80080 | 11.11.2009, 10:40 #
Цитата (Любитель @ 11.11.2009, 07:19 findReferencedText)
(вопрос "на какие" - это уже другой вопрос)

именно, исходя из этого вопроса топикстартер и был перенаправлен из раздела серверного языка.

где легче отследить высоту полученной таблицы? на сервере или на клиенте?
при условии, что высоты строк разные
ava
Любитель | 11.11.2009, 12:10 #
Просто тут два вопроса:
1. Как сказать браузеру, что сделать разрыв. Это вопрос вёрстки, вопрос css.
2. Как разбить таблицу на страницы. Это (в 99% случаев) вопрос алгоритма, реилзуемого на server-side.
К JS ни то, ни то отношения не имеет (иногда имеет 2-е, но это оч редкие случаи).
ava
bars80080 | 11.11.2009, 15:15 #
в данном случае вопрос касается
Цитата (yngwie19 @ 11.11.2009, 07:06 findReferencedText)
да именно при печати

как расчитать на сервере высоту таблицы, при учёте стилей - не знаю. тут даже посчёт символом не поможет, будут заданы слишком большие отступы, поля или шрифт и всё. это именно вопрос клиентской стороны

тут ведь можно взять offsetHeight и тому подобное
ava
youri | 11.11.2009, 18:47 #
Цитата (yngwie19 @ 10.11.2009, 19:16 findReferencedText)
Возможно ли вставить в определенном месте разрыв станицы ?

по какому принципу и зачем нужно вставлять разрывы страницы?
ava
yngwie19 | 11.11.2009, 19:04 #
youri, у меня печатается большая таблица, все строки этой таблицы соответственно не помещаются на одну страницу - поэтому происходит переход на следующую. Проблема заключается в том что браузер при печати не различает строки таблицы, а просто переносит на следующую. Следовательно если строка имеет определенную ширину, то она прерывается и ее оставшаяся часть печатается на другой. Выглядит это не очень красиво. Поэтому нужно отслеживать если вся строка целиком не помещается - то часть не надо ее часть печатать на этой странице, а нужно перенести всю строку целиком на следующую.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить