Печать фоновых цветов из WPF WebBrowser - PullRequest
0 голосов
/ 19 мая 2011

В настоящее время я печатаю содержимое веб-браузера WPF примерно так:

mshtml.IHTMLDocument2 doc = WebBrowser.Document as mshtml.IHTMLDocument2;
doc.execCommand("Print", true, null);

У моего HTML-контента есть таблицы с фоновыми цветами. В настоящее время, когда я печатаю содержимое, цвета фона не печатаются - все сплошное белое. Есть ли способ заставить WebBrowser печатать также цвета фона?

Кроме того, это по-прежнему вызывает всплывающее диалоговое окно печати. Кто-нибудь знает, что команда печатать содержимое без диалогов?

Большое спасибо!

1 Ответ

1 голос
/ 19 мая 2011

Предполагая, что вы используете 'SHDocVw.WebBrowser', вы можете использовать команду ExecWB.Для печати без диалогового окна используйте константу OLECMDEXECOPT_PROMPTUSER (1).Вы также можете передать шаблон печати IE (просто HTML-файл) для большего контроля над отображением страницы.

Это что-то вроде этого (взято из этого вопроса MSDN)

browser.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT,
               SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, 
               "print_template.html", ref nullObject);

Что касается фона, он представляется одним из параметров, которые можно указать в шаблоне печати LayoutRect.Все настройки диалогового окна печати хранятся в реестре , но шаблон печати предпочтительнее, поскольку он не изменяет общесистемные настройки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...