| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Вставить разрыв страницы |
| Автор: yngwie19 10.11.2009, 19:16 |
| Здравствуйте. У меня печатается большая таблица, которая при печати занимает около 5 листов А4. Возможно ли вставить в определенном месте разрыв станицы ? Моя таблица может иметь строки разной высоты, поэтому скорее всего нужно отсчитывать от нижнего края листа, как Вы считаете как лучше сделать подобную задачу? |
| Автор: youri 11.11.2009, 04:03 |
| вставить разрыв страницы при печати? |
| Автор: yngwie19 11.11.2009, 08:06 |
| youri, да именно при печати. |
| Автор: Любитель 11.11.2009, 08:19 | ||
Несовсем понятно, причём тут яваскрипт - разрывы лучше "пометить" на этапе создания (вручную или генерации - неважно) хтмл. В CSS есть свойство page-break-before. Ставите класс page-break на часть строк таблицы (вопрос "на какие" - это уже другой вопрос) и прописываете:
|
| Автор: bars80080 11.11.2009, 10:40 |
именно, исходя из этого вопроса топикстартер и был перенаправлен из раздела серверного языка. где легче отследить высоту полученной таблицы? на сервере или на клиенте? при условии, что высоты строк разные |
| Автор: Любитель 11.11.2009, 12:10 |
| Просто тут два вопроса: 1. Как сказать браузеру, что сделать разрыв. Это вопрос вёрстки, вопрос css. 2. Как разбить таблицу на страницы. Это (в 99% случаев) вопрос алгоритма, реилзуемого на server-side. К JS ни то, ни то отношения не имеет (иногда имеет 2-е, но это оч редкие случаи). |
| Автор: bars80080 11.11.2009, 15:15 |
| в данном случае вопрос касается как расчитать на сервере высоту таблицы, при учёте стилей - не знаю. тут даже посчёт символом не поможет, будут заданы слишком большие отступы, поля или шрифт и всё. это именно вопрос клиентской стороны тут ведь можно взять offsetHeight и тому подобное |
| Автор: youri 11.11.2009, 18:47 |
по какому принципу и зачем нужно вставлять разрывы страницы? |
| Автор: yngwie19 11.11.2009, 19:04 |
| youri, у меня печатается большая таблица, все строки этой таблицы соответственно не помещаются на одну страницу - поэтому происходит переход на следующую. Проблема заключается в том что браузер при печати не различает строки таблицы, а просто переносит на следующую. Следовательно если строка имеет определенную ширину, то она прерывается и ее оставшаяся часть печатается на другой. Выглядит это не очень красиво. Поэтому нужно отслеживать если вся строка целиком не помещается - то часть не надо ее часть печатать на этой странице, а нужно перенести всю строку целиком на следующую. |