2013-11-27 1 views
1

У меня была эта проблема с страницей печати на моем сайте, где при печати страницы с использованием IE8 или 9 браузер меняет размер страницы на гораздо меньшая версия.execCommand не отключает «Shrink To Fit» в IE8/9 - ландшафтная ориентация

Я понял, что если я отключу «Сжатие в соответствии» в настройках макета страницы, у меня больше не будет этой проблемы. Я нашел этот код в Интернете, что другие используют для отключения Shrink To Fit с помощью JS:

if(navigator.appVersion.indexOf("MSIE 9") != -1) { 
document.execCommand('print', false, null) ; 
} else { 
print() ; 
} 

Этот код действительно открывает диалоговое окно печати для меня, но «Shrink To Fit» по-прежнему включен, а на странице печатает слишком маленький.

Я читал онлайн некоторые другие люди, говорящие, что у них были проблемы с использованием этого исправления, когда они переключали макет печати на пейзаж, и это то, что я прошу пользователя сделать перед печатью.

Кто-нибудь знает способ, которым я могу заставить этот код работать, а также настроить ориентацию страницы на пейзаж?

В настоящее время я печатаю, используя window.print() и файл media = print css.

Мой размер страницы штраф в Chrome и Firefox (и IE10, как это получается) ...

Кроме того, у меня не было никакой удачи, получая {@page {размер: пейзаж} работать на всех .. .so на данный момент я прошу пользователя вручную переключиться на пейзаж в окне предупреждения ...

+0

В настоящее время я использую еще одно предупреждение, если приложение обнаруживает <= IE9 ..., чтобы попросить пользователя убрать «Сжатие на посадку» ... не так здорово, но может быть достаточно для этого. имеет лучшую идею, я все уши! – JasonBK

ответ

0

Изменение размера страницы html на меньшую версию при печати в соответствии с шириной элементов в вашем страницы и, в конечном счете, ширину вашего элемента html. Браузер учитывает всю ширину страницы, а не только печатную/видимую. Для того, чтобы заставить нужный размер страницы при печати добавить следующее в мультимедийном = печать файла CSS:

html{width:1024px;} 

, где вы хотите заменить 1024px с шириной вашего большого печатного элемента страницы.