Я могу вынудить документ HTML быть одна страница длиной?

Это, вероятно, https://en.wikipedia.org/wiki/XY_problem

Вы можете просто подписаться на изменения формы управления и выполнить там функцию:

[114 ] this.form.get('answers').valueChanges.subscribe(val => { // check the condition and execute the function });

7
задан Joe Morgan 21 January 2009 в 13:55
поделиться

7 ответов

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

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

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

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

9
ответ дан 6 December 2019 в 07:52
поделиться

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

Лучшее, которое можно сделать с HTML, делают очень простую "благоприятную для принтера" страницу и сохраняют содержание коротким. Кроме того, можно создать PDF, который разработан, чтобы позволить Вам управлять, как он печатается.

7
ответ дан 6 December 2019 в 07:52
поделиться

Можно использовать CSS, чтобы разработать страницу и установить его на определенную высоту / ширина... Здесь существует хорошее учебное руководство.

2
ответ дан 6 December 2019 в 07:52
поделиться

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

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

2
ответ дан 6 December 2019 в 07:52
поделиться

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

Затем Вы могли, например, по крайней мере, препятствовать тому, чтобы таблица охватила более чем 2 страницы при помощи "page-break-before: всегда";.

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

Никакие гарантии, все же.

2
ответ дан 6 December 2019 в 07:52
поделиться

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

  • Преобразуйте свою страницу в большое изображение.
  • Преобразуйте свою страницу в PDF.
  • Раздражайте всех своих пользователей из-за страницы с фиксированными размерами, которая прокручивает левый и правый, потому что это слишком широко и делает его чрезвычайно трудно для переноса информации.
1
ответ дан 6 December 2019 в 07:52
поделиться

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

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

0
ответ дан 6 December 2019 в 07:52
поделиться
Другие вопросы по тегам:

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