要打印文档,我创建了单独的WindowsApplication,每次我要打印任何文档时,我将该路径作为参数调用该应用程序,而打印应用程序的代码如下:
public static void Print(string path)
{
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
wb.Navigate(path);
}
public static void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = (WebBrowser)sender;
if (wb.ReadyState.Equals(WebBrowserReadyState.Complete))
{
((SHDocVw.WebBrowser)wb.ActiveXInstance).PrintTemplateTeardown += Print_PrintTemplateTeardown;
wb.ShowPrintDialog();
}
}
void Print_PrintTemplateTeardown(object pDisp)
{
_Application.Exit();
}
当我调用Print aaplication时,使用" WebBrowser"控制它加载文档并使用" wb.ShowPrintDialog();"显示打印对话框。 单击打印或取消时打印对话框我收到PrintTemplateTeardown事件,我要求应用程序退出(关闭应用程序)。
现在我要删除" SHDocVw"由于在通过Internet在客户端计算机上安装时出现一些安全问题,我的打印应用程序的依赖性。
如果我删除" SHDocVw",是否有任何备用事件或解决方案可以让我知道PrintDialog已关闭?