我管理一个为招聘人员提供简历管理服务的网站。
我们有一个功能,允许最终用户打印一批简历。这是通过呈现一个网页来实现的,该网页包含一系列指向他们之前选择的所有简历的链接。该页面特意由非常简单的 HTML 组成。
他们被指示(在 Internet Explorer 中)单击链接以打开标准打印对话框。
在打印对话框中,他们点击“选项”选项卡,然后选中“打印所有链接文档”复选框。您可以想象,当他们点击“打印”时,最终结果是该页面链接的所有简历都会被打印出来。
此功能自 Internet Explorer 7 发布以来就一直存在并且一直运行良好。
该功能也不常用。我们刚刚收到一位客户的投诉,称当他们尝试打印一批 25 份简历时,只打印了“少数”份简历。他们刚刚升级到 Internet Explorer 11。以前他们打印时没有问题。
我能够在自己的机器和我们办公室的其他几个工作站上复制此行为。用“少量”简历来描述这种情况是最准确的:似乎会打印任意数量的链接文档(通常少于 12 个,但绝不会打印全部 25 个)。
在一些故意过时的具有 IE 7、8、9 和 10 的开发图像上,我能够按预期从与失败案例相同的网页打印所有文档。
观察 Fiddler 中的 HTTP 流量可以发现,单击“打印”按钮后,会立即从服务器请求所有 25 个文档,并且所有响应都包含 200 个状态代码和正确的内容。
此外,在 Internet Explorer 11 中,我可以手动点击每个链接并打印 25 份简历,没有任何问题。因此,它似乎不会因无法打印的文档而停止运行。
将我们的网站添加到“兼容性视图”网站列表中不会改变行为。
我可以在其他几个任意选择的网站上使用 IE 11 重现失败的情况。
我无法在其他地方找到有关此问题的任何信息。 有人知道这是否是一个已知问题和/或是否有修复方法吗?
如果你想亲自尝试一下,这里有一个简单的测试用例:
http://s.co.tt/misc/test_print_linked_docs/test_25_links.html
谢谢你的时间!
答案1
首先,需要“Low”文件夹作为从 IE 生成和打印的 HTML 页面的临时工作文件夹。
首先调出命令提示符(run -> cmd
),确保您没有以提升的权限运行(否则它将为您的本地管理员帐户执行此操作,这对您没有帮助)。
在命令提示符下,运行以下命令:
mkdir %userprofile%\AppData\Local\Temp\Low
这将在正确的位置创建必要的 Low 文件夹,否则该文件夹几乎肯定不存在。
我读过的其他帖子都说这样就足够了,但事实并非如此。新创建的“低”文件夹将无法工作,除非您运行另一个命令来设置此文件夹的完整性级别,以便 IE 可以使用它(IE7 引入了新的保护模式,您可以在此处阅读更多信息)。
因此,在同一个提示符下,运行以下命令:
icacls %userprofile%\AppData\Local\Temp\Low /setintegritylevel low
完成此操作后,重新启动 IE,您应该会发现打印预览和打印本身现在可以正常工作了:)现在我只需要纠正已经设置的 10 个系统中存在的这个小问题。
祝你好运! :)