从WebBrowser控件在横向模式下打印?
System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser(); wb.DocumentStream = new FileStream("C:\a.html", FileMode.Open, FileAccess.Read); while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } wb.Print();
我知道如何从PrinterDocument对象设置页面方向,但不知道如何从WebBrowser对象设置页面方向。 有什么办法吗? 谢谢!
首先,我建议您使用异步事件模型:
wb.DocumentCompleted += wb_DocumentCompleted; private void wb_DocumentCompleted (object sender, WebBrowserDocumentCompletedEventArgs e) { ((WebBrowser)sender).Print(); }
要打印(添加对Microsoft.mshtml.dll
的引用):
mshtml.IHTMLDocument2 doc = wb.Document.DomDocument as mshtml.IHTMLDocument2; doc.execCommand("print", showUI, templatePath);
请参阅IHTMLDocument2.execCommand , MSDN论坛问题和链接。