С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
 Аватар для resource2008
111 / 112 / 18
Регистрация: 11.03.2011
Сообщений: 421

Подготовка html к печати

31.10.2013, 19:09. Показов 6355. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, проблема избитая - печать страниц на стороне клиента.

Задача отпечатать некий html контент с колонтитулами, в которых должна быть всунута дата, копирайты и бог знает что еще.

Сразу оговорюсь, что размер контента 5-10 страниц А4.
Печатать через промежуточные документы (например сгенерировать pdf) - не вариант, заказчика он не устраивает.
Остается заранее разбить html страницу (с помощью page-break-after в CSS, например) на участки определенного размера, которые впишуться в страничку формата А4 и добавить к ним "колонтитутлы".

Затея это мерзопакостная.

у какого какие есть идеи по дроблению html документа на страницы?
если кто-то сталкивался с похожими задачами - как решали?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2013, 19:09
Ответы с готовыми решениями:

Форматирование документа. Подготовка к печати. Убрать рамку
mathcad делает рамку вокруг документа, соответствующую полям документа. Как убрать рамку? вариант убрать поля совсем не то

Подготовка изображения с низким разрешением к печати на метровом плакате
Привет всем, понадобилось сделать плакат метр на метр но проблема, есть кратинки которые я могу перерисовтаь к примеру, а есть фото...

Запрет сохранения html страницы при ее печати
Подскажите пожалуйста какое то решение. Задачи состоит в том , что нужно распечатать несколько билетов через браузер, один раз....

8
ищите меня в нирване
 Аватар для your_tremor
36 / 36 / 5
Регистрация: 23.10.2013
Сообщений: 198
31.10.2013, 19:32
при вводе документа обычно об этом думают. а так, средняя цена $50+($0.01 за страницу). Алгоритм уж больно непростой, ибо получить параметры принтера, размер страницы, расчитать размер печатной области узнать размеры всех шрифтов и картинок достоверно -нереально. На настольных приложениях это делают. Сохраняйте в pdf..
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
31.10.2013, 23:40
Цитата Сообщение от resource2008 Посмотреть сообщение
Задача отпечатать некий html контент с колонтитулами, в которых должна быть всунута дата, копирайты и бог знает что еще.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
 
<head>
    <meta charset=utf-8 />
    <title>Print&nbsp;page</title>
    <style>
        @media screen {
            div.divFooter, div.divHeader {
                display: none;
            }
        }
        @media print {
            div.divHeader {
                position: fixed;
                top: 0;
            }
            div.divFooter {
                position: fixed;
                bottom: 0;
                margin: auto;
            }
        }
    </style>
</head>
 
<body>
    <div class="divHeader"> Header: дата, копирайты и бог знает что еще</div>
    <div class="divFooter"> Footer: дата, копирайты и бог знает что еще</div>
</body>
 
<button onclick="window.print()">Печать</button>
 
</html>
0
 Аватар для resource2008
111 / 112 / 18
Регистрация: 11.03.2011
Сообщений: 421
01.11.2013, 05:12  [ТС]
Цитата Сообщение от your_tremor Посмотреть сообщение
при вводе документа обычно об этом думают. а так, средняя цена $50+($0.01 за страницу). Алгоритм уж больно непростой, ибо получить параметры принтера, размер страницы, расчитать размер печатной области узнать размеры всех шрифтов и картинок достоверно -нереально. На настольных приложениях это делают. Сохраняйте в pdf..
вся соль в том, что содержимое динамическое и вводить его будут криворукие рядовые пользователи.
получить параметры принтера и т.д. из браузера в принципе можно, но тут тоже много нюансов.
pdf - это первое что я предложил и что мне зарпетили делать

вообще меня немного возмущает, что за много лет так для печати и не добавили никакой малины.

Добавлено через 2 минуты
Цитата Сообщение от Padimanskas Посмотреть сообщение
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
 
<head>
    <meta charset=utf-8 />
    <title>Print&nbsp;page</title>
    <style>
        @media screen {
            div.divFooter, div.divHeader {
                display: none;
            }
        }
        @media print {
            div.divHeader {
                position: fixed;
                top: 0;
            }
            div.divFooter {
                position: fixed;
                bottom: 0;
                margin: auto;
            }
        }
    </style>
</head>
 
<body>
    <div class="divHeader"> Header: дата, копирайты и бог знает что еще</div>
    <div class="divFooter"> Footer: дата, копирайты и бог знает что еще</div>
</body>
 
<button onclick="window.print()">Печать</button>
 
</html>
а в каких браузерах это работает?
в смысле страниц много, и в хроме и ие10 футер появляется только внизу последней страницы, а требуют на каждой.
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
01.11.2013, 13:53
Если вы хотите найти какое-нибудь решение, а не очередной вопрос, то должны на время забыть русский язык.
При первом же запросе, вроде "css print colontitle in every page" Google изрыгнул столько материала, что глаза разбегаются.
0
 Аватар для resource2008
111 / 112 / 18
Регистрация: 11.03.2011
Сообщений: 421
01.11.2013, 14:46  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
Если вы хотите найти какое-нибудь решение, а не очередной вопрос, то должны на время забыть русский язык.
При первом же запросе, вроде "css print colontitle in every page" Google изрыгнул столько материала, что глаза разбегаются.
а вы их читали? там такие же советы с position: fixed; и pdf
в любом случае спасибо
0
ищите меня в нирване
 Аватар для your_tremor
36 / 36 / 5
Регистрация: 23.10.2013
Сообщений: 198
01.11.2013, 20:25
Цитата Сообщение от Padimanskas Посмотреть сообщение
css print colontitle in every page
как я понял задача стоит разбить на страницы, а не прилипить колонтитулы к существующим страницам
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
01.11.2013, 22:24
Цитата Сообщение от your_tremor Посмотреть сообщение
как я понял задача стоит разбить на страницы, а не прилипить колонтитулы к существующим страницам
Можно и на страницы:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!DOCTYPE html>
<html>
 
<head>
    <meta charset=utf-8 />
    <title>Print&nbsp;page</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: #FAFAFA;
            font: 12pt "Tahoma";
        }
        * {
            box-sizing: border-box;
            -moz-box-sizing: border-box;
        }
        .page {
            width: 21cm;
            min-height: 29.7cm;
            padding: 2cm;
            margin: 1cm auto;
            border: 1px #D3D3D3 solid;
            border-radius: 5px;
            background: white;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
        }
        .subpage {
            padding: 1cm;
            border: 5px red solid;
            height: 237mm;
            outline: 2cm #FFEAEA solid;
        }
        
        @page {
            size: A4;
            margin: 0;
        }
        @media print {
            .page {
                margin: 0;
                border: initial;
                border-radius: initial;
                width: initial;
                min-height: initial;
                box-shadow: initial;
                background: initial;
                page-break-after: always;
            }
        }
    </style>
</head>
 
<body>
    <button onclick="window.print()" style="position:absolute;">Печать</button>
    <div class="book">
        <div class="page">
            <div class="subpage">Page 1/2</div>
        </div>
        <div class="page">
            <div class="subpage">Page 2/2</div>
        </div>
    </div>
</body>
 
</html>
1
 Аватар для resource2008
111 / 112 / 18
Регистрация: 11.03.2011
Сообщений: 421
02.11.2013, 01:27  [ТС]
спасибо, по такому пути и иду

Добавлено через 37 минут
Цитата Сообщение от your_tremor Посмотреть сообщение
как я понял задача стоит разбить на страницы, а не прилипить колонтитулы к существующим страницам
первоначальная задача колонтитулы, но они ведь должны отображаться на каждой печатной странице.
и средствами web-а вариант только вручную быть на "страницы" и тулить к каждой такой "странице" шапку с подвалом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2013, 01:27
Помогаю со студенческими работами здесь

разбинение на страницы при печати HTML Документа
Вопрос конечно не то что бы из области ASP просто проект на нем :) Вообщем есть некий многостраничный репорт. Надо чтобы Header и...

Как отключить служебную информацию при печати HTML страницы?
как отключить служебную информацию при печати HTML страницы, тобишь ссылку внизу страницы, заголовок страницы локально в IE и лучше...

Подскажите пожалуйста, где можно найти OCX для печати HTML or XML?
Задача в принципе проста. На ASP-странице отображаются данные из БД через объект типа Grid. Изюминка в том, чтобы вывести на принтер не ...

Обрезание текста и отключение границ при печати(ошибка во время печати)
Есть несколько excel документов с заголовками и таблицей. Есть 2 проблемы, при переходе в режим предварительного просмотра он просто...

Контроль печати: время печати, количество распечатанных страниц, название файла
Здравствуйте. К компьютеру на Windows XP подключено 2 принтера (хотя драйверов стоит на 4 принтера, 2 из них уже не активны, но в списке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 07.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru