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