execCommand没有禁用IE8 / 9中的“Shrink To Fit” - 横向

时间:2013-11-27 21:18:02

标签: css printing resize internet-explorer-9 landscape

我的网站上有一个打印页面存在此问题,当我使用IE8或9打印页面时,浏览器会将页面调整为更小的版本。

我意识到如果我在页面布局首选项中禁用“缩小到适合”,我就不再有这个问题了。我在网上发现了这个代码,其他人已经使用JS来禁用Shrink To Fit:

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 {size:landscape}可以工作......所以现在我要求用户在警报窗口中手动切换到横向...

1 个答案:

答案 0 :(得分:0)

打印时将html页面重新调整为较小的版本是由于页面中元素的宽度以及最终html元素的宽度所致。浏览器会考虑页面的整个宽度,而不仅仅是可打印/可见。 为了在打印时强制所需的页面大小,请在media = print CSS文件中添加以下内容:

html{width:1024px;}

您希望将 1024px 替换为页面中最大的打印元素的宽度。