我们有一位客户需要打印网站上的几页内容。大多数情况下,它都能正常工作。但是,有时,即使选择了“所有页面”,Internet Explorer 8 也只会打印第一页。同样,大多数情况下,它都能正常工作——大概 90% 或更多的时间都是如此。其他浏览器也能正常工作。生成的 HTML 是相同的。
我们在自己的机器上也偶尔会遇到这种情况。在这种情况下,只需重新打印(按 Ctrl+P 重新打开打印对话框)有时就可以解决问题。有时我们必须关闭弹出窗口(是的,该页面是用 window.open() 调用的)并重新打开它,然后重新打印。
它发生在各种不同的打印机和打印机驱动程序上。是的,IE8 已完全修补。我们只在 Windows XP 上尝试过这个问题——不确定其他人是否有这个问题,但我们现在只关心 Windows XP。不确定 WinXP 客户端的版本是什么,但我们在这里运行的是 SP3。
我从事 IT 行业这么多年,从来没有遇到过这种情况。有什么建议吗?
答案1
我的表单有 7 页长,但在 Internet Explorer 中只能打印 1 页。我通过删除样式解决了此问题“位置:绝对”来自我的一个 DIV 标签。我认为这个问题与 HTML 页面中元素的绝对定位有关。
我做出更改后,页面打印正确。
我希望这有帮助!
答案2
我不确定这是否能帮到你,因为你说你试过多台打印机,但最近我的一个客户在使用 HP all-on-one 时也遇到了同样的问题。在 HP 网站上搜索后,找到了一个专门针对“如果你的打印机偶尔只打印第一页,或者有时打印空白页,请应用此补丁”的特定补丁。我们应用了该补丁,一切正常。
但是,既然您说这种情况发生在多台打印机上,我的想法是简单地降级到 IE 7。根据我的经验,IE8 经常会在 Windows XP 中引发各种随机问题,我还没有看到降级到 IE 7 无法解决问题的情况。
答案3
在打印 SalesForce.com 的多页 (6) 报告时,发现了同样的问题,无法提供解决方案,只能提供变通方法。打印到 HP 3005Pdn 和 Kyocera KFC-3225e 时,结果相同 - 仅打印了第 1 页。但是,将所有页面打印为 PDF 有效(使用 CutePDF)!将 PDF 文件打印到纸上没有问题。
答案4
我最近也遇到了这个问题。令人沮丧的是,IE 也没有打印预览模拟器来处理文档的 CSS。
我发现问题出在 css 中的overflow: hidden;
或position: absolute
。你的情况也很可能如此。我建议对overflow
和position
值进行项目范围的搜索,并更改所有值(或者,如果你知道的话,只更改可能影响打印屏幕的值),然后检查打印预览,看看现在所有页面是否都在那里。如果在那里,你现在就知道这是一个overflow
或position
问题。
旁注:我强烈建议制作一个“_print.css”样式页面。这样你就不必真正改变你的应用程序样式就能成功打印,你只需在“_print.css”中覆盖给你带来麻烦的样式即可。
祝你好运。