加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF WebBrowser:以编程方式更改IE打印对话框属性

发布时间:2020-12-15 08:06:49 所属栏目:百科 来源:网络整理
导读:我正在使用 WPF WebBrowser控件编写应用程序.它的来源是来自数据库的xml / xslt sourse的结果. 在包含WebBrowser的窗口中,有一个用于使用处理程序打印的按钮: mshtml.IHTMLDocument2 doc = WBrowser.Document as mshtml.IHTMLDocument2;doc.execCommand("Pr
我正在使用 WPF WebBrowser控件编写应用程序.它的来源是来自数据库的xml / xslt sourse的结果.

在包含WebBrowser的窗口中,有一个用于使用处理程序打印的按钮:

mshtml.IHTMLDocument2 doc = WBrowser.Document as mshtml.IHTMLDocument2;
doc.execCommand("Print",true,0);

但在这种情况下,打印文档中没有背景.我已经研究过这个问题,在Internet Explorer页面设置对话框中遇到属性问题 – 允许打印背景颜色和图像.

我试图通过这段代码改变这个:

RegistryKey regKey = Registry.CurrentUser
        .OpenSubKey("Software",true)
        .OpenSubKey("Microsoft",true)
        .OpenSubKey("Internet Explorer",true)
        .OpenSubKey("PageSetup",true);

var defaultValue = regKey.GetValue("Print_Background");
regKey.SetValue("Print_Background","yes");

但这是糟糕的代码.我不想为一个简单的bool参数更改注册表值.

所以,我的问题是:如何在没有注册表修改的情况下通过代码隐藏以编程方式更改此参数?

谢谢!

解决方法

在不修改注册表的情况下修改打印设置的唯一方法是通过 Print Templates,似乎没有人真正在.NET Web浏览器控件中使用它们.

但是,this answer还有关于打印模板及其在C / win32中的使用的其他资源.

如果您打开使用ActiveX打印页面,可以使用SHDocVw.WebBrowser,然后您可以访问指定打印模板的功能,如this answer所述

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读