css - execCommand 未在 IE8/9 中禁用 'Shrink To Fit' - 横向

标签 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( ) ; 
}

此代码确实为我打开了打印对话框,但“缩小以适合”仍处于启用状态,并且页面仍然打印得太小。

我在网上看到一些其他人说他们在将打印布局切换为横向时使用此修复程序时遇到问题,这是我要求用户在打印前执行的操作。

有谁知道我可以在将页面方向设置为横向的同时使此代码正常工作的方法吗?

目前我正在通过简单地使用打印 窗口.print() 和一个 media=print css 文件。

我的页面大小在 Chrome 和 Firefox(结果证明是 IE10)中没有问题...

此外,我根本没有让 {@page {size: landscape} 正常工作...所以现在我要求用户在警报窗口中手动切换到横向...

最佳答案

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

html{width:1024px;}

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

关于css - execCommand 未在 IE8/9 中禁用 'Shrink To Fit' - 横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20253254/

相关文章:

Python打印功能问题

c# - 通过 ESC/P 命令将位图写入 Epson TM88IV (Write To NVRam)

java - 在初始化期间我可以添加一个 ComponentListener 以便它不会触发 componentResized 吗?

css - 更改图标的颜色以及 div 内链接的颜色?

CSS 文本空白扩展到填充

html - 仅换行的一部分(全高列旁边)

c# - 打印 <div> 标签内的图表

php - 在 PHP 中调整 PNG 图像的大小

javascript - ResizeSensor具体如何使用?

css - 优化 css 以减少代码