如何在打印时在 IE 中以编程方式删除页眉和页脚,而不是使用 IE 页面设置?
微软的答复:
用户可以通过 Internet Explorer 用户界面轻松更改页边距、页眉和页脚设置以及默认的 Internet Explorer 打印机。但是,Internet Explorer 或 WebBrowser 控件下没有方法可以通过编程方式更改这些设置。
无法使用 ExecWB 命令设置页边距以及页眉或页脚。这些值存储在注册表中。
可能需要以编程方式更改 Internet Explorer 或 WebBrowser 控件的打印设置。唯一可以更改的设置是页边距以及页眉和页脚信息。不支持更改页面方向或打印机等其他设置的方法。
重要此部分、方法或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当,可能会出现严重问题。因此,请确保您认真执行这些步骤。为了增强保护,请在修改注册表之前对其进行备份。然后,如果出现问题,您可以恢复注册表。有关如何备份和还原注册表的详细信息,请单击以下文章编号以查看 Microsoft 知识库中相应的文章: 322756 如何在 Windows 中备份和恢复注册表
这是 Microsoft Internet Explorer 访问打印设置的方式:
对于页边距,Microsoft Internet Explorer 首先尝试从此注册表项获取值: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup 如果没有这样的密钥,Internet Explorer 将通过复制以下值来创建此密钥: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\PageSetup 如果没有这样的键,则提供默认值。
对于页眉和页脚,值从以下内容中选取: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup 如果没有这样的键,则提供默认值。
边距默认为 0.75,
对于 Internet Explorer 默认打印机,默认值由以下位置提供: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\printer 开发人员可以相应地更改上述打印设置的注册表项。
请注意,这些值是系统范围的,会影响当前用户的 WebBrowser 控件和 Internet Explorer 的所有实例。
所以: 我认为您可以为用户提供运行您的 .reg 文件。 (传奇 IE 的明智决定)
关于之前的答案,作为参考,我想添加以下具体示例(因为我缺少示例):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\PageSetup]
"header"="&bPage &p of &P"
"footer"="&b&d"
"font"=""
"margin_top"="0.196850"
"margin_bottom"="0.196850"
"margin_left"="0.196850"
"margin_right"="0.196850"
"Print_Background"="no"
"Shrink_To_Fit"="yes"
因此,为了回答这个问题,我将
header
和 footer
都设置为 ""
并将 margin
字段更改为 "0"
、"0.0"
或类似 "0.001"
的内容。 (我还没有测试过什么有效。)
我需要更改边距和页脚/页眉文本,但由于 Internet Explorer 在 Windows 10 系统上无法再启动(在每种情况下都会自动打开 Edge),因此无法再访问页面布局设置。
上面的示例是从我们系统之一的注册表中按原样导出的。
题外话:
对于那些想知道在什么情况下需要更改这些设置而无法首先运行 IE 的人,请考虑遵循这些设置的嵌入式 IE ActiveX 组件。是的,遗留系统 FTW。