Ответ 1
Поддержка печати всеми браузерами очень плохо поддерживается ужасающими ошибками во многих популярных браузерах, которые уже давно не используются.
Короткий ответ заключается в том, чтобы избежать печати HTML/CSS, если вам нужно обеспечить конкретный макет. Используйте PDF, возможно, динамически генерируемый по требованию. Существуют различные API-интерфейсы PDF файлов, такие как iTextSharp. Это возможно для печати из Flash, но только если Flash установлен и работает (то есть нет Flashblock, iOS).
Печать HTML/CSS должна быть ограничена простыми макетами. Печать формы - это кошмар с поддержкой fieldset
и legend
, особенно проблемной (особенно в Firefox). Интересная поддержка печати лучше всего у интернет-исследователей.
Спецификация поддержки печати CSS3 не была завершена и занимает некоторое время.
Общие принципы:
-
Фоновые или фоновые изображения CSS не поддерживаются (по умолчанию пользователи могут изменять свои настройки браузера для приложения интрасети). Печать только переднего плана.
-
Ширины должны быть текучими, поскольку размеры страниц изменяются по всей планете. Формат букв в США короче и шире формата A4
-
Все браузеры поддерживают печать по-разному. Ошибки - легион.
-
Проверка с использованием предварительного просмотра.