Я пытаюсь использовать CSS ( в @media print
) и JavaScript, чтобы напечатать одностраничный документ с заданным фрагментом текста, сделанным как можно большим, при этом вписываясь в заданную ширину. Длина текста заранее неизвестна, поэтому просто использовать шрифт фиксированной ширины нельзя.
Другими словами, я ищу правильное изменение размера, чтобы, например, «IIIII» получился бы с гораздо большим размером шрифта, чем «WWWWW», потому что «I» намного тоньше, чем «W» шрифтом переменной ширины.
Самое близкое, что мне удалось получить, - это использование JavaScript, чтобы попробовать шрифты различных размеров, пока clientWidth
не станет достаточно маленьким. Это достаточно хорошо для экранных носителей, но когда вы переключаетесь на печатные носители , есть ли гарантия того, что 90 DPI, как мне кажется, попадают в мою систему (т. Е. Я выставляю поля на 0,5 с обеих сторон и для текста, измененного таким образом, чтобы он вписывался только в это, я получаю около 675 для clientWidth
) будет то же самое где-нибудь еще? Как браузер решает, какой DPI использовать при преобразовании из измерений в пикселях? Могу ли я получить доступ к этой информации с помощью JavaScript?
Мне бы понравилось, если бы это была просто функция CSS3 (font-size:max-for-width(7.5in)
), но если это так, я не смог бы ее найти.