Могу ли я заставить HTML-документ иметь длину в одну страницу?
Вопрос
Я создаю документ из HTML.Есть ли способ заставить HTML-страницу отображаться как одна печатная страница?
Я сделал большую часть страницы с <table>
и <div>
теги.
Решение
Не совсем, но вы можете использовать таблицу стилей печати:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
Для установки размеров шрифта, отступов и т. д. в физических единицах, таких как 'pt' (которые никогда не должны использоваться в таблице стилей экрана!), чтобы в конечном итоге она была более или менее страницей А4 при визуализации в типичной браузер, с типичными шрифтами, со следующим ветром. Ничто не гарантировано, но вы можете оптимизировать для общего случая.
При печати вам не нужно особо беспокоиться о настройках размера шрифта или настройках dpi, но вы по-прежнему не можете контролировать поля, используемые браузером, или фактический размер страницы (US Letter меньше A4), поэтому оставьте достаточно места для маневра и тестирования на основных браузерах.
Другие советы
Нет.Вы не можете контролировать уровень масштабирования пользователя, настройки принтера, размер бумаги (использует ли он бумагу формата A4 в Европе или легально в США?) и все другие параметры, влияющие на вывод на принтер, с помощью HTML.
Лучшее, что вы можете сделать с помощью HTML, — это создать очень простую страницу, удобную для печати, и сделать ее содержимое коротким.Альтернативно вы можете создать PDF-файл, который позволит вам контролировать его печать.
Используйте PDF. Вы можете принудительно настроить многие параметры, такие как размер шрифта, тип шрифта и многие другие параметры, но любой браузер может решить, что им все равно, и использовать все, что ему захочется, и таким образом нарушить ваши предварительные требования или решения. HTML не является (повторюсь после: НЕ) языком представления.
Во многих случаях это в основном будет работать, но ничего не ясно.
Нет, но вы можете сделать просмотр печати намного более плавным, используя выделенный файл CSS для печатных СМИ, как предложено выше.
Тогда вы могли бы, например, по крайней мере предотвратить охват таблицы более 2 страниц, используя " разрыв страницы перед: всегда; Quot &; .
И, наконец, вы также можете использовать " отображение: нет; " об элементах, которые не нужны, таких как реклама, навигационные панели и т. д., чтобы сделать страницу самой короче (надеюсь, достаточно короткой для одной страницы).
Хотя никаких гарантий.
Конечно.У вас есть несколько возможностей:
- Преобразуйте свою страницу в большое изображение.
- Преобразуйте страницу в PDF.
- Раздражайте всех своих пользователей страницей с фиксированными размерами, которая прокручивается влево и вправо, потому что она слишком широка и чрезвычайно затрудняет транспортировку информации.
Нет, способа нет, поскольку вы не можете знать тип принтера или размер бумаги во время рендеринга HTML.
Мое единственное предложение — настроить свойства принтера так, чтобы содержимое соответствовало одной странице во время печати.