0

要打印文档,我创建了单独的 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();
}

当我调用打印应用程序时,使用“WebBrowser”控件加载文档并使用“wb.ShowPrintDialog();”显示打印对话框。在“打印”对话框中,当我单击“打印”或“取消”时,我收到了 PrintTemplateTeardown 事件,我要求应用程序退出(关闭应用程序)。

现在我想从我的打印应用程序中删除“SHDocVw”依赖项,因为在通过 Internet 安装在客户端机器上时存在一些安全问题。

如果我删除“SHDocVw”,是否有任何替代事件或解决方案可以让我知道 PrintDialog 已关闭?

4

0 回答 0