Могу ли я заставить HTML-документ иметь длину в одну страницу?

StackOverflow https://stackoverflow.com/questions/465398

  •  19-08-2019
  •  | 
  •  

Вопрос

Я создаю документ из 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, чтобы стилизовать страницу и установить для нее определенную высоту / ширину ... Есть хороший учебник .

Нет, но вы можете сделать просмотр печати намного более плавным, используя выделенный файл CSS для печатных СМИ, как предложено выше.

Тогда вы могли бы, например, по крайней мере предотвратить охват таблицы более 2 страниц, используя " разрыв страницы перед: всегда; Quot &; .

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

Хотя никаких гарантий.

Конечно.У вас есть несколько возможностей:

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

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

Мое единственное предложение — настроить свойства принтера так, чтобы содержимое соответствовало одной странице во время печати.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top