Задать вопрос
@pqgg7nwkd4

Как правильно изменять страницу перед печатью в Chrome?

Добрый день.

Возникла необходимость изменять страницу перед печатью. Для начала, это вставка заголовков таблицы на каждой странице. В дальнейшем планируются более сложные трансформации (с помощью только CSS невозможные).

Для этого написал скрипт на основе
window.matchMedia('print').addListener(...).

Изолированный пример тут https://advanty.ru/print/index.html . В примере, при изменении носителя, вся страница разбивается на части (<div class="page"></div>). Каждая часть - это одна страница.

Добавление заголовков увеличивают длину всего документа. Иногда настолько, что количество страниц увеличивается. И тут возникла проблема с браузером Chrome (Chromium) - он не печатает эти добавленные страницы и даже не выводит их в предпросмотре.

В FireFox - все отлично отрабатывает и показывается.

Вопрос: как сделать так, чтобы хром добавлял необходимые страницы при печати?
  • Вопрос задан
  • 539 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Veneomin
@Veneomin
Как бы там не было я решал такую задачу так:
1. Создавал кнопку "Печать"
2. При нажатии прятал все на экране кроме блока с печатью
3. Формировал печатный блок
4. Вызывал window.print()
5. Возобновлял исходный вид страницы (например window.location.reload())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы