Могу ли я заставить HTML-документ иметь длину одной страницы? - PullRequest
7 голосов
/ 21 января 2009

Я создаю документ из HTML. Есть ли способ заставить страницу HTML отображаться как одна напечатанная страница?

Я сделал большую часть страницы с тегами <table> и <div>.

Ответы [ 7 ]

9 голосов
/ 21 января 2009

Не совсем, но вы можете использовать таблицу стилей печати:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

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

При печати вам не нужно особо беспокоиться о настройках размера шрифта или настройках dpi, но вы все равно не можете контролировать поля, используемые браузером, или фактический размер страницы (US Letter меньше A4), поэтому оставьте достаточно места для маневра и тестирования на основных браузерах.

7 голосов
/ 21 января 2009

Нет. Вы не можете управлять уровнем масштабирования пользователя, настройками принтера, размером бумаги (использует ли он бумагу А4 в Европе или законно в США?) И всеми другими вещами, которые влияют на вывод принтера с использованием HTML. Лучшее, что вы можете сделать с HTML, - это сделать очень простую страницу, удобную для печати, и сделать содержание коротким. В качестве альтернативы вы можете создать PDF-файл, который позволит вам контролировать способ его печати. ​​

2 голосов
/ 21 января 2009

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

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

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

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

2 голосов
/ 21 января 2009

Используйте PDF. Вы можете принудительно настроить многие параметры, такие как размер шрифта, тип шрифта и многие другие параметры, но любой браузер может решить, что им все равно, и использовать все, что ему захочется, и таким образом нарушить ваши предварительные требования или решения. HTML не является (повторите за мной: НЕ) языком представления.

Во многих случаях это в основном работает, но ничего не ясно.

2 голосов
/ 21 января 2009

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

1 голос
/ 21 января 2009

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

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

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

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

...