我在winforms中使用webbrowser控件,并且发现我在CSS中应用的背景图像未包含在打印输出中.
是否有办法使Web浏览器也打印显示的文档的背景?
编辑:
由于我想以编程方式执行此操作,因此选择了以下解决方案:
using Microsoft.Win32;
...
RegistryKey regKey = Registry.CurrentUser
.OpenSubKey("Software")
.OpenSubKey("Microsoft")
.OpenSubKey("Internet Explorer")
.OpenSubKey("Main");
//Get the current setting so that we can revert it after printjob
var defaultValue = regKey.GetValue("Print_Background");
regKey.SetValue("Print_Background", "yes");
//Do the printing
//Revert the registry key to the original value
regKey.SetValue("Print_Background", defaultValue);
处理此问题的另一种方法可能是只读取该值,并在打印之前通知用户自己调整此值.我必须同意这样调整注册表不是一个好习惯,因此我愿意提出任何建议.
感谢您的所有反馈
解决方法:
如果要更改重要的系统设置,请确保先阅读当前设置并在完成后将其还原.
首先,我认为这是一种非常不好的做法,但是如果您必须这样做,那就好些.
Registry.LocalMachine
另外,尝试更改LocalUser而不是LocalMachine-这样,如果您的应用程序崩溃了(并且会崩溃),那么您只会使用户感到困惑,而不是每个使用计算机的人都感到困惑.