Могу ли я изменить макет страницы при использовании window.print ()? - PullRequest
11 голосов
/ 27 октября 2008

В нашем приложении мы даем возможность пользователям печатать страницы. Мы делаем это, предоставляя кнопку, которая при нажатии вызывает функцию window.print ().
Некоторые страницы выглядели бы лучше, если бы они печатались в альбомной ориентации, а не в портретной ориентации. Есть ли способ управления макетом страницы из JavaScript?

Обновление: следуя приведенному здесь совету, я поискал "css landscape" в google и нашел следующую статью , в которой показаны способы определения css-ly ландшафта:

Ответы [ 4 ]

8 голосов
/ 27 октября 2008

Вы должны использовать таблицу стилей печати. ​​

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

Подробнее ...

Как напечатать только части страницы?

Редактировать: для принудительной альбомной ориентации, по-видимому, стандартом является size: landscape, но я понятия не имею, насколько хорошо это поддерживается во всех браузерах.

2 голосов
/ 27 октября 2008

Я думаю, что ваш вопрос не столько в использовании CSS для определения стилей печати, сколько в том, чтобы заставить принт рисовать как пейзаж, а не как портрет?

CSS 2 определил «размер», но я не думаю, что это поддерживается в простом виде: http://www.w3schools.com/css/css_ref_print.asp

CSS 3 имеет лучшее управление печатью, но опять же не поддерживается в простом виде.

2 голосов
/ 27 октября 2008

Сделайте это с помощью CSS, включив таким образом таблицу стилей печати:

<style type="text/css" media="print">@import url("/inc/web.print.css");</style>
1 голос
/ 27 октября 2008

К сожалению, это все еще не возможно кросс-браузер. Для Internet Explorer существует элемент управления ActiveX , который это делает.

В противном случае лучше всего предложить вариант для печати в формате PDF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...