WPF WebBrowser: изменение свойств диалогового окна печати IE программно
Я пишу приложение с 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.
Итак, мой вопрос: как я могу изменить этот параметр программно с помощью кода без изменения реестра?
спасибо!
2 ответов
единственный способ изменить настройки печати, без изменения реестра через Шаблоны Для Печати и кажется, что никто не использовал их из элемента управления веб-браузера .NET.
однако, ответ имеет дополнительные ресурсы, касающиеся шаблонов печати и их использования из C++/win32.
Если вы открыты для использования ActiveX для печати страницы, вы можете использовать SHDocVw.WebBrowser
, который затем дает вам доступ к возможности указать шаблон печати, как отмечено в ответ