0

To print document I have created separate WindowsApplication and each time I want to print any document I call that application with path as parameter and Print application have below code:

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();
}

When I call Print aaplication, using "WebBrowser" control it loads document and show Print Dialog using "wb.ShowPrintDialog();". On Print Dialog when I click Print or Cancel I got PrintTemplateTeardown event where I asks Application to Exit (To close application).

Now I want to remove "SHDocVw" dependency from my Print Application due to some security issue while installing on client's machine through Internet.

If I remove "SHDocVw", is there any alternate event or solution available that achknowledge me that PrintDialog is closed?

  • In sample I have put two button, first button has written above montioned code. Due to SHDocVw we can convert WebBrowser.ActiveXInstance object to SHDocVw.WebBrowser which provides us PrintTemplateTeardown callback event which will notify us if user will either click on Print or Cancel button (ultimately ShowPrintDialog() close event). Now due to some requirement I want to remove dependency of SHDocVw from my project, so looking for alternate of SHDocVw which will provide me ShowPrintDialog()'s close event. – Bharatkumar Leel Jun 24 '17 at 11:35
  • You can download and try this --> [SamlePrintDialog.zip](http://www.c-sharpcorner.com/forums/uploadfile/ca0575/06242017071302AM/SamlePrintDialog.zip) – Bharatkumar Leel Jun 24 '17 at 11:38

0 Answers0