Protected Sub convertToPdfButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    ' Save variables in Session object
    Session("firstName") = firstNameTextBox.Text
    Session("lastName") = lastNameTextBox.Text
    Session("gender") = If(maleRadioButton.Checked, "Male", "Female")
    Session("haveCar") = haveCarCheckBox.Checked
    Session("carType") = carTypeDropDownList.SelectedValue
    Session("comments") = commentsTextBox.Text

    ' Execute the Display_Session_Variables.aspx page and get the HTML string 
    ' rendered by this page
    Dim outTextWriter As TextWriter = New StringWriter()
    Server.Execute("Display_Session_Variables.aspx", outTextWriter)

    Dim htmlStringToConvert As String = outTextWriter.ToString()

    ' Create a HTML to PDF converter object with default settings
    Dim htmlToPdfConverter As New HtmlToPdfConverter()

    ' Set license key received after purchase to use the converter in licensed mode
    ' Leave it not set to use the converter in demo mode
    htmlToPdfConverter.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og="

    ' Use the current page URL as base URL
    Dim baseUrl As String = HttpContext.Current.Request.Url.AbsoluteUri

    ' Convert the page HTML string to a PDF document in a memory buffer
    Dim outPdfBuffer() As Byte = htmlToPdfConverter.ConvertHtml(htmlStringToConvert, baseUrl)

    ' Send the PDF as response to browser

    ' Set response content type
    Response.AddHeader("Content-Type", "application/pdf")

    ' Instruct the browser to open the PDF file as an attachment or inline
    Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Convert_Page_in_Same_Session.pdf; size={0}", outPdfBuffer.Length.ToString()))

    ' Write the PDF document buffer to HTTP response
    Response.BinaryWrite(outPdfBuffer)

    ' End the HTTP response and stop the current page processing
    Response.End()
End Sub


Display Session Variables in Converted HTML Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    If Not IsPostBack Then
        firstNameLabel.Text = If(Session("firstName") IsNot Nothing, CType(Session("firstName"), String), String.Empty)
        lastNameLabel.Text = If(Session("lastName") IsNot Nothing, CType(Session("lastName"), String), String.Empty)
        genderLabel.Text = If(Session("gender") IsNot Nothing, CType(Session("gender"), String), String.Empty)

        Dim iHaveCar As Boolean = If(Session("haveCar") IsNot Nothing, CBool(Session("haveCar")), False)
        haveCarLabel.Text = If(iHaveCar, "Yes", "No")
        carTypePanel.Visible = iHaveCar
        carTypeLabel.Text = If(iHaveCar AndAlso Session("carType") IsNot Nothing, CType(Session("carType"), String), String.Empty)

        commentsLabel.Text = If(Session("comments") IsNot Nothing, CType(Session("comments"), String), String.Empty)
    End If
End Sub