In vb.net I need to print the contents showing in a browser control to printer.
I have used Gecko web-browser control in winform application and there is no direct way to print the page's contents.
Either way to print direct using InnerHtml or converting that html to pdf and then printing the pdf document.
currently I am using a third party library `ItextSharpe' but it gives errors.
public byte[] GetPDF(string pHTML) {
    byte[] bPDF = null;
    MemoryStream ms = new MemoryStream();
    TextReader txtReader = new StringReader(pHTML);
    // 1: create object of a itextsharp document class
    Document doc = new Document(PageSize.A4, 25, 25, 25, 25);
    // 2: we create a itextsharp pdfwriter that listens to the document and directs a XML-stream to a file
    PdfWriter oPdfWriter = PdfWriter.GetInstance(doc, ms);
    // 3: we create a worker parse the document
    HTMLWorker htmlWorker = new HTMLWorker(doc);
    // 4: we open document and start the worker on the document
    doc.Open();
    htmlWorker.StartDocument();
    // 5: parse the html into the document
    htmlWorker.Parse(txtReader);
    // 6: close the document and the worker
    htmlWorker.EndDocument();
    htmlWorker.Close();
    doc.Close();
    bPDF = ms.ToArray();
    return bPDF;
}
Byte[] bytes;
            bytes = GetPDF(browse.Document.Body.InnerHtml);
            var testFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "test.pdf");
            System.IO.File.WriteAllBytes(testFile, bytes);
but throws errors while parsing.
Unable to cast object of type 'iTextSharp.text.html.simpleparser.CellWrapper' to type 'iTextSharp.text.Paragraph'.
I have seen different examples over web but this is totally different, the examples or duplicate answer is about to export panels or grids but this is dynamic HTML and i need to convert it to PDF or print directly the client area.


 
    