2009-04-28 2 views
2

В настоящее время мы используем элемент управления winforms WebBrowser в нашем приложении в WindowsFormsHost и печатаем, вызывая «WebBrowser.ShowPrintDialog()». У нас есть проблема с этим в том, что диалог не выглядит модальным, и родительское окно может быть отклонено вызывая проблемы, если печать будет предпринята позже.Как распечатать с веб-браузера wpf, доступного в .net 3.5 SP1?

Я смотрел на новый элемент управления WPF WebBrowser в надежде, что они будут иметь фиксированный этот вопрос, делая подобную вещь самостоятельно, но не может найти способ печати из него ..

Я нашел кого-то онлайн-разговор сделать это:

 PrintDialog printDialog = new PrintDialog(); 
     printDialog.PrintDocument(((IDocumentPaginatorSource)webBrowser.Document).DocumentPaginator, "My App"); 

, но это бросает исключение, как WebBrowser.Document не поддерживает интерфейс IDocumentPaginatorSource.

Можно ли каким-либо образом печатать с веб-браузера wpf?

благодаря

ответ

4

Я использую это, и она работает:

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

спасибо, что работал. К сожалению, у меня все еще есть проблема, когда я могу взаимодействовать с (и увольнять) пользовательский интерфейс, который инициирует печать, даже несмотря на то, что диалог печати все еще существует. У вас есть эта проблема? Любые идеи о том, как получить событие, когда диалог печати закрыт? – Trev

+0

Я не знаю, но я уверен, что диалог печати инициируется из неуправляемого кода, так что ему может понадобиться еще одна работа для прослушивания подобных событий. – Botz3000

+0

Я ненавижу вас обоих, где используются операторы, как вы создаете свой веб-браузер? –

 Смежные вопросы

  • Нет связанных вопросов^_^